From 4307b2e4f64be0607cb84d3820a78a5525e3c6b4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 14:59:22 +0000 Subject: [PATCH 001/474] fixed not being able to craft new pills --- kubejs/server_scripts/gregtech/recipes.js | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index d5ffa3ccb..90f5c6cef 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -368,8 +368,6 @@ const registerGTCEURecipes = (event) => { event.replaceInput({ output: 'gtceu:nano_saber' }, 'gtceu:ruridit_plate', '#forge:plates/ostrum_iodide') - event.replaceOutput({ id: 'gtceu:canner/pack_paracetamol' }, 'gtceu:paracetamol_pill', 'tfg:paracetamol_pill') - event.replaceOutput({ id: 'gtceu:canner/pack_rad_away' }, 'gtceu:rad_away_pill', 'tfg:rad_away_pill') // Intentionally long to encourage reuse instead of mindlessly creating and distilling event.recipes.gtceu.mixer('tfg:diluted_hcl_acid') @@ -393,4 +391,22 @@ const registerGTCEURecipes = (event) => { .circuit(7) .duration(40) .EUt(4) + + // Pills + event.remove({ id: 'gtceu:canner/pack_paracetamol' }) + event.remove({ id: 'gtceu:canner/pack_rad_away' }) + + event.recipes.gtceu.forming_press('tfg:pack_rad_away') + .itemInputs('16x #forge:dusts/rad_away') + .notConsumable('gtceu:pill_casting_mold') + .itemOutputs('tfg:rad_away_pill') + .duration(3 * 20) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.forming_press('gtceu:pack_paracetamol') + .itemInputs('16x #forge:dusts/paracetamol') + .notConsumable('gtceu:pill_casting_mold') + .itemOutputs('tfg:paracetamol_pill') + .duration(3 * 20) + .EUt(GTValues.VA[GTValues.LV]) } From fd6632ae7d1137e161be671bc03e3783b0a7fa02 Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Mon, 5 Jan 2026 08:50:37 -0700 Subject: [PATCH 002/474] Update recipes.js (#2631) Signed-off-by: thederpysockdude123 --- kubejs/server_scripts/railways/recipes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/railways/recipes.js b/kubejs/server_scripts/railways/recipes.js index 866d4be89..c78d2453d 100644 --- a/kubejs/server_scripts/railways/recipes.js +++ b/kubejs/server_scripts/railways/recipes.js @@ -319,7 +319,7 @@ const registerRailWaysRecipes = (event) => { }).id('tfg:railways/shaped/smokestack_oilburner') event.recipes.gtceu.assembler('tfg:railways/smokestack_oilburner') - .itemInputs('#forge:storage_blocks/charcoal', '6x #forge:plates/iron') + .itemInputs('#forge:storage_blocks/charcoal', '4x #forge:plates/iron') .circuit(7) .itemOutputs('railways:smokestack_oilburner') .duration(200) From 5109a620f8374fc112b955d9c71a7c805572eaf3 Mon Sep 17 00:00:00 2001 From: Inceitious <124896643+Inceitious@users.noreply.github.com> Date: Tue, 6 Jan 2026 02:32:18 +0800 Subject: [PATCH 003/474] Fixed duplicate create bars (#2633) --- kubejs/server_scripts/create/recipes.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index ed6d00b93..7e3072ae9 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -2295,7 +2295,6 @@ const registerCreateRecipes = (event) => { event.stonecutting('2x create:andesite_table_cloth', '#forge:ingots/tin_alloy') event.stonecutting('2x create:andesite_scaffolding', '#forge:ingots/tin_alloy') event.stonecutting('2x create:andesite_ladder', '#forge:ingots/tin_alloy') - event.stonecutting('2x create:andesite_bars', '#forge:ingots/tin_alloy') // Industrial Iron stuff @@ -2378,7 +2377,9 @@ const registerCreateRecipes = (event) => { .EUt(GTValues.VA[GTValues.LV]) // Bars - + event.remove({ type: 'minecraft:stonecutting', output: 'create:andesite_bars' }) + event.remove({ type: 'minecraft:stonecutting', output: 'create:brass_bars' }) + event.remove({ type: 'minecraft:stonecutting', output: 'create:copper_bars' }) 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') From d0c8bc4f615145903635c45d82a63ced23d6c22e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 6 Jan 2026 10:20:11 +0000 Subject: [PATCH 004/474] buff crucible to 32 ingots instead of 28, standardize tooltip of small vessel #2634, langs --- CHANGELOG.md | 2 ++ defaultconfigs/tfc-server.toml | 2 +- kubejs/assets/tfg/lang/en_us.json | 3 +-- kubejs/assets/tfg/lang/fr_fr.json | 3 +-- kubejs/assets/tfg/lang/ja_jp.json | 3 +-- kubejs/assets/tfg/lang/pt_br.json | 3 +-- kubejs/assets/tfg/lang/ru_ru.json | 3 +-- kubejs/assets/tfg/lang/tr_tr.json | 2 +- kubejs/assets/tfg/lang/uk_ua.json | 3 +-- kubejs/assets/tfg/lang/zh_cn.json | 9 ++++----- kubejs/client_scripts/tooltips.js | 11 ++++------- 11 files changed, 18 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d615ecd43..8a0fcf368 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,10 @@ ## Unreleased ### Changes +- The crucible now holds 4608mB (32 ingots) instead of 4032mB (28 ingots) (#2634) @Pyritie ### Bug fixes ### Translation updates +- Chinese (simplified) @jmecn ## [0.11.16] - 05-01-2026 ### Changes diff --git a/defaultconfigs/tfc-server.toml b/defaultconfigs/tfc-server.toml index 23e0a04d4..d658a835a 100644 --- a/defaultconfigs/tfc-server.toml +++ b/defaultconfigs/tfc-server.toml @@ -167,7 +167,7 @@ familiarityDecayLimit = 0.3 # # Tank capacity of a crucible (in mB). #Range: 0 ~ 2147483645 - crucibleCapacity = 4032 + crucibleCapacity = 4608 # # A modifier for how fast fluid containers empty into crucibles. Containers will empty 1 mB every (this) number of ticks. #Range: > 1 diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 81e83566a..87e99106c 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1573,7 +1573,6 @@ "tfg.tooltip.support.tier1": "§79 x 5 x 9", "tfg.tooltip.support.tier2": "§717 x 9 x 17", "tfg.tooltip.support.tier3": "§733 x 13 x 33", - "tfg.tooltip.vessels": "§cMax: 3024mB", "tfg.tooltip.solar_panel.single": "Produces §6128 FE/t§r (32 EU/t) on the §6moon§r during the §6day§r", "tfg.tooltip.solar_panel.large_tier1": "Massive structure producing from §61024 to 4096 EU/t§r on the §6moon§r during the §6day§r", "tfg.tooltip.solar_panel.large_tier2": "Massive structure producing from §64096 to 16384 EU/t§r on the §6moon§r during the §6day§r", @@ -3356,7 +3355,7 @@ "quests.metal_age.fire_clay_products.desc": "Just like regular Clay, Fire Clay can be Knapped to create things that you'll then need to fire. Most importantly, Fire Clay is used to create the Crucible and Fire Clay Bricks, both of which are required for the Blast Furnace.\n\nYou'll also be able to create a Mold Table and Casting Channels, which lets you cast your metal from the crucible into multiple molds at once.\n\nLastly, there's Fire Ingot Molds, which only have a 1 percent chance of breaking instead of regular clay's 10 percent.", "quests.metal_age.crucible.title": "Crucible", "quests.metal_age.crucible.subtitle": "Melt metals like a pro", - "quests.metal_age.crucible.desc": "The Crucible is placed on top of a Forge. It comes with 9 inventory slots and has a capacity for 4032mB of fluid, including an interface to check your alloying ratios. They also retain their contents when broken. They can also collect Pig Iron when placed below a Blast Furnace.\n\nKeep in mind that the crucible WILL try to alloy everything inside it - it does not keep metals separate like a TC Smeltery - so it's a good idea to keep it clean when you aren't using it.", + "quests.metal_age.crucible.desc": "The Crucible is placed on top of a Forge. It comes with 9 inventory slots and has a capacity for 4608mB of fluid, including an interface to check your alloying ratios. They also retain their contents when broken. They can also collect Pig Iron when placed below a Blast Furnace.\n\nKeep in mind that the crucible WILL try to alloy everything inside it - it does not keep metals separate like a TC Smeltery - so it's a good idea to keep it clean when you aren't using it.", "quests.metal_age.fire_bricks.title": "Fire Bricks", "quests.metal_age.fire_bricks.subtitle": "For the Blast Furnace", "quests.metal_age.fire_bricks.desc": "Fire Bricks are used in the construction of the Blast Furnace, you need at the very least 4 Bricks to make the furnace.\n\nThe Bricks will require insulation to make sure the process of making steel is effective, you can either place 3 Wrought Iron Plates around the Fire Bricks, or use Blast Furnace Insulation", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 134f632d3..e36f3779b 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -1293,7 +1293,6 @@ "tfg.tooltip.support.tier1": "§79 x 5 x 9", "tfg.tooltip.support.tier2": "§717 x 9 x 17", "tfg.tooltip.support.tier3": "§733 x 13 x 33", - "tfg.tooltip.vessels": "§cMax: 3024mB", "tfg.tooltip.solar_panel.single": "Produces §6128 FE/t§r (32 EU/t) on the §6moon§r during the §6day§r", "tfg.tooltip.solar_panel.large_tier1": "Massive structure producing from §61024 to 4096 EU/t§r on the §6moon§r during the §6day§r", "tfg.tooltip.solar_panel.large_tier2": "Massive structure producing from §64096 to 16384 EU/t§r on the §6moon§r during the §6day§r", @@ -2612,7 +2611,7 @@ "quests.metal_age.fire_clay_products.desc": "Just like regular Clay, Fire Clay can be Knapped to create things that you'll then need to fire. Most importantly, Fire Clay is used to create the Crucible and Fire Clay Bricks, both of which are required for the Blast Furnace.\n\nYou'll also be able to create a Mold Table and Casting Channels, which lets you cast your metal from the crucible into multiple molds at once.\n\nLastly, there's Fire Ingot Molds, which only have a 1 percent chance of breaking instead of regular clay's 10 percent.", "quests.metal_age.crucible.title": "Crucible", "quests.metal_age.crucible.subtitle": "Melt metals like a pro", - "quests.metal_age.crucible.desc": "The Crucible is placed on top of a Forge. It comes with 9 inventory slots and has a capacity for 4032mB of fluid, including an interface to check your alloying ratios. They also retain their contents when broken. They can also collect Pig Iron when placed below a Blast Furnace.\n\nKeep in mind that the crucible WILL try to alloy everything inside it - it does not keep metals separate like a TC Smeltery - so it's a good idea to keep it clean when you aren't using it.", + "quests.metal_age.crucible.desc": "The Crucible is placed on top of a Forge. It comes with 9 inventory slots and has a capacity for 4608mB of fluid, including an interface to check your alloying ratios. They also retain their contents when broken. They can also collect Pig Iron when placed below a Blast Furnace.\n\nKeep in mind that the crucible WILL try to alloy everything inside it - it does not keep metals separate like a TC Smeltery - so it's a good idea to keep it clean when you aren't using it.", "quests.metal_age.fire_bricks.title": "Fire Bricks", "quests.metal_age.fire_bricks.subtitle": "For the Blast Furnace", "quests.metal_age.fire_bricks.desc": "Fire Bricks are used in the construction of the Blast Furnace, you need at the very least 4 Bricks to make the furnace.\n\nThe Bricks will require insulation to make sure the process of making steel is effective, you can either place 3 Wrought Iron Plates around the Fire Bricks, or use Blast Furnace Insulation", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index 9833c29f1..17087f62f 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -1506,7 +1506,6 @@ "tfg.tooltip.support.tier1": "§79 x 5 x 9", "tfg.tooltip.support.tier2": "§717 x 9 x 17", "tfg.tooltip.support.tier3": "§733 x 13 x 33", - "tfg.tooltip.vessels": "§cMax: 3024mB", "tfg.tooltip.solar_panel.single": "Produces §6128 FE/t§r (32 EU/t) on the §6moon§r during the §6day§r", "tfg.tooltip.solar_panel.large_tier1": "Massive structure producing from §61024 to 4096 EU/t§r on the §6moon§r during the §6day§r", "tfg.tooltip.solar_panel.large_tier2": "Massive structure producing from §64096 to 16384 EU/t§r on the §6moon§r during the §6day§r", @@ -3189,7 +3188,7 @@ "quests.metal_age.fire_clay_products.desc": "通常の粘土と同様に、耐火粘土も手で成形できます。最も重要な使い道は、るつぼと耐火レンガです。どちらも高炉に必要です。\n\nまた、鋳型台と鋳造樋を作成することもできます。これにより、るつぼから複数の型に一度に金属を鋳造できるようになります。\n\n最後に、耐火のインゴットの型があります。通常の粘土で作った型は10%で破損しますが、これは1%の確率で破損します。", "quests.metal_age.crucible.title": "るつぼ", "quests.metal_age.crucible.subtitle": "これであなたも金属を溶かすプロですね", - "quests.metal_age.crucible.desc": "るつぼは炉の上に設置します。9つのスロットと合金比率を確認するためのインターフェースがあり、液体容量は4032mBです。\nまた、壊したときに内容物を保持してくれます。そして、高炉の下に置くと、銑鉄が溜まっていきます。\n\nるつぼは内部のすべてを混ぜ合わせて合金化しようとするので注意してください。TiCの乾式製錬炉のように金属を分離してくれませんよ!\n使用していないときは中身を空にしておくことをお勧めします。", + "quests.metal_age.crucible.desc": "るつぼは炉の上に設置します。9つのスロットと合金比率を確認するためのインターフェースがあり、液体容量は4608mBです。\nまた、壊したときに内容物を保持してくれます。そして、高炉の下に置くと、銑鉄が溜まっていきます。\n\nるつぼは内部のすべてを混ぜ合わせて合金化しようとするので注意してください。TiCの乾式製錬炉のように金属を分離してくれませんよ!\n使用していないときは中身を空にしておくことをお勧めします。", "quests.metal_age.fire_bricks.title": "耐火レンガ", "quests.metal_age.fire_bricks.subtitle": "高炉のために", "quests.metal_age.fire_bricks.desc": "耐火レンガは高炉の建設に使用されます。炉を作るには少なくとも4つの耐火レンガブロックが必要です。\n\n耐火レンガは、製鉄のために用いる場合、断熱材を必要とします。耐火レンガの周りに3つの錬鉄プレートを張り付けるか、高炉断熱材を使用しましょう", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index bd8332acf..efca66379 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -1043,7 +1043,6 @@ "tfg.tooltip.support.tier1": "§79 x 5 x 9", "tfg.tooltip.support.tier2": "§717 x 9 x 17", "tfg.tooltip.support.tier3": "§733 x 13 x 33", - "tfg.tooltip.vessels": "§cMáx: 3024mB", "tfg.tooltip.solar_panel.single": "Produz §6128 FE/t§r (32 EU/t) na §6lua§r durante o §6dia§r", "tfg.tooltip.solar_panel.large_tier1": "Estutura massiva produzindo de §61024 até 4096 EU/t§r na §6lua§r durante o §6dia§r", "tfg.tooltip.solar_panel.large_tier2": "Estutura massiva produzindo de §64096 até 16384 EU/t§r na §6lua§r durante o §6dia§r", @@ -1644,7 +1643,7 @@ "quests.metal_age.fire_clay_products.desc": "Assim como com a Argila comum, Argila Refratária pode ser Moldada para criar coisas que você depois terá que queimar. Mais importante, a Argila Refratária é utilizada para criar Tijolos de Argila Refratária e o Cadinho, ambos os quais são necessários para o Alto-Forno.\n\nVocê também vai poder criar uma Mesa de Molde e Canais de Fundição, que permitem a você guiar o metal derretido do Cadinho direto pra múltiplos moldes de uma só vez.\n\nPor fim, existem os Moldes Refratários de Lingote, que só tem 1% de chance de quebrar no uso, diferente dos moldes de lingote de argila comum, que têm 10%.", "quests.metal_age.crucible.title": "Cadinho", "quests.metal_age.crucible.subtitle": "Derretendo mais um 'cadinho'", - "quests.metal_age.crucible.desc": "O Cadinho é colocado no topo de uma Forja. Ele possui 9 espaços de inventário e tem a capacidade pra aguentar 4032mB de fluido, incluindo uma inteface para mostrar as proporções das ligas dentro dele. Ele também retém seus conteúdos quando quebrado. Além disso, ele pode coletar Ferro Gusa quando colocado debaixo de um Alto-Forno.\n\nTenha em mente que o Cadinho VAI tentar fazer ligas de tudo que for colocado dentro dele - ele não mantém os metais separados como uma Fundição (Smeltery) do Tinker's - então é uma boa ideia deixá-lo limpo quando você não for usá-lo.", + "quests.metal_age.crucible.desc": "O Cadinho é colocado no topo de uma Forja. Ele possui 9 espaços de inventário e tem a capacidade pra aguentar 4608mB de fluido, incluindo uma inteface para mostrar as proporções das ligas dentro dele. Ele também retém seus conteúdos quando quebrado. Além disso, ele pode coletar Ferro Gusa quando colocado debaixo de um Alto-Forno.\n\nTenha em mente que o Cadinho VAI tentar fazer ligas de tudo que for colocado dentro dele - ele não mantém os metais separados como uma Fundição (Smeltery) do Tinker's - então é uma boa ideia deixá-lo limpo quando você não for usá-lo.", "quests.metal_age.fire_bricks.title": "Tijolos Refratários", "quests.metal_age.fire_bricks.subtitle": "Para o Alto-Forno", "quests.metal_age.fire_bricks.desc": "Tijolos Refratários são usados na construção do Alto-Forno, você vai precisar de no mínimo 4 Tijolos para fazê-lo.\n\nOs Tijolos vão precisar de isolamento pra garantir que o processo de fabricação do aço seja efetivo. Você pode ou colocar 3 Chapas de Ferro Forjado ao redor dos Tijolos Refratários, ou usar o Isolante de Alto-Forno.", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index b336939e2..6836a66aa 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1491,7 +1491,6 @@ "tfg.tooltip.support.tier1": "§79 x 5 x 9", "tfg.tooltip.support.tier2": "§717 x 9 x 17", "tfg.tooltip.support.tier3": "§733 x 13 x 33", - "tfg.tooltip.vessels": "§cMax: 3024mB", "tfg.tooltip.solar_panel.single": "Produces §6128 FE/t§r (32 EU/t) on the §6moon§r during the §6day§r", "tfg.tooltip.solar_panel.large_tier1": "Massive structure producing from §61024 to 4096 EU/t§r on the §6moon§r during the §6day§r", "tfg.tooltip.solar_panel.large_tier2": "Massive structure producing from §64096 to 16384 EU/t§r on the §6moon§r during the §6day§r", @@ -3139,7 +3138,7 @@ "quests.metal_age.fire_clay_products.desc": "Как и обычная глина, огнеупорная глина может быть высечена для создания предметов, которые затем необходимо обжечь. Наиболее важно то, что огнеупорная глина используется для создания тигля и огнеупорных кирпичей, которые необходимы для доменной печи (сыродутной).\n\nВы также сможете создать форму для литья и литейные каналы, которые позволят вам отливать металл из тигля сразу в несколько форм.\n\nНаконец, есть формы для литья слитков, которые имеют только 1 процент вероятности поломки вместо целых 10 процентов у обычной глины.", "quests.metal_age.crucible.title": "Тигель", "quests.metal_age.crucible.subtitle": "Плавьте металлы как профессионал", - "quests.metal_age.crucible.desc": "Тигель устанавливается сверху кузницы. Он имеет 9 ячеек инвентаря и вмещает 4032 mB жидкости, а также оснащен интерфейсом для проверки соотношения сплавов. При разрушении он сохраняет свое содержимое. Он также может собирать белый чугун, если размещен под доменной печью.\n\nИмейте в виду, что тигель БУДЕТ пытаться сплавить все, что находится внутри него — он не разделяет металлы, как плавильня TC, — поэтому рекомендуется держать его в чистоте, когда вы его не используете.", + "quests.metal_age.crucible.desc": "Тигель устанавливается сверху кузницы. Он имеет 9 ячеек инвентаря и вмещает 4608 mB жидкости, а также оснащен интерфейсом для проверки соотношения сплавов. При разрушении он сохраняет свое содержимое. Он также может собирать белый чугун, если размещен под доменной печью.\n\nИмейте в виду, что тигель БУДЕТ пытаться сплавить все, что находится внутри него — он не разделяет металлы, как плавильня TC, — поэтому рекомендуется держать его в чистоте, когда вы его не используете.", "quests.metal_age.fire_bricks.title": "Огнеупорные кирпичи", "quests.metal_age.fire_bricks.subtitle": "Для доменной печи", "quests.metal_age.fire_bricks.desc": "Огнеупорные кирпичи используются при строительстве доменной печи. Для изготовления печи потребуется как минимум 4 блока кирпича.\n\nКирпичи необходимо изолировать, чтобы процесс выплавки Стали был эффективным. Вы можете либо разместить 3 пластины кованого железа вокруг каждого огнеупорного кирпича, либо использовать изоляцию для доменной печи.", diff --git a/kubejs/assets/tfg/lang/tr_tr.json b/kubejs/assets/tfg/lang/tr_tr.json index 81b81f008..4d7a00d27 100644 --- a/kubejs/assets/tfg/lang/tr_tr.json +++ b/kubejs/assets/tfg/lang/tr_tr.json @@ -68,7 +68,7 @@ "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.crucible.desc": "pota demirci ocağının üstüne koyulan bir eşyadır. 9 envanteri ve 4608mB 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", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index 6c647a693..24581bc08 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -1553,7 +1553,6 @@ "tfg.tooltip.support.tier1": "§79 x 5 x 9", "tfg.tooltip.support.tier2": "§717 x 9 x 17", "tfg.tooltip.support.tier3": "§733 x 13 x 33", - "tfg.tooltip.vessels": "§cМакс: 3024mB", "tfg.tooltip.solar_panel.single": "Виробляє §6128 FE/т§r (32 EU/т) на §6Місяці§r протягом §6дня§r", "tfg.tooltip.solar_panel.large_tier1": "Гігантська структура, що виробляє від §61024 до 4096 EU/t§r на §6Місяці§r протягом §6дня§r", "tfg.tooltip.solar_panel.large_tier2": "Гігантська структура, що виробляє від §64096 до 16384 EU/t§r на §6Місяці§r протягом §6дня§r", @@ -3316,7 +3315,7 @@ "quests.metal_age.fire_clay_products.desc": "Як і звичайна глина, вогнетривку глину можна розбивати для створення предметів, які потім потрібно випалювати. Найважливіше, що вогнетривка глина використовується для створення тигля та вогнетривких цеглин, які необхідні для доменної печі.\n\nВи також зможете створити стіл для форм і ливарні канали, що дозволяють відливати метал із тигля в кілька форм одночасно.\n\nНарешті, існують форми для вогнетривких злитків, які мають лише 1 відсоток ймовірності зламатися, порівняно з 10 відсотків для звичайної глини.", "quests.metal_age.crucible.title": "Тигель", "quests.metal_age.crucible.subtitle": "Плавлення металів як професіонал", - "quests.metal_age.crucible.desc": "Тигель встановлюється на горно. Він має 9 слотів інвентаря та місткість для 4032mB рідини, включаючи інтерфейс для перевірки співвідношення сплавів. Тигель зберігає свій вміст при руйнуванні. Також він може збирати сирий чавун, якщо його розмістити під доменною піччю.\n\nВарто пам’ятати, що тигель БУДЕ намагатися створювати сплав із усього, що є всередині — він не розділяє метали, як плавильня з Tinkers’ Construct, тому краще тримати його чистим, коли ви ним не користуєтеся.", + "quests.metal_age.crucible.desc": "Тигель встановлюється на горно. Він має 9 слотів інвентаря та місткість для 4608mB рідини, включаючи інтерфейс для перевірки співвідношення сплавів. Тигель зберігає свій вміст при руйнуванні. Також він може збирати сирий чавун, якщо його розмістити під доменною піччю.\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 ковані залізні пластини навколо вогнетривких цеглин, або використати ізоляцію доменної печі", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index cc9f187a1..d771e6475 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1658,7 +1658,6 @@ "tfg.tooltip.support.tier1": "§79 x 5 x 9", "tfg.tooltip.support.tier2": "§717 x 9 x 17", "tfg.tooltip.support.tier3": "§733 x 13 x 33", - "tfg.tooltip.vessels": "§c最大值:3024mB", "tfg.tooltip.solar_panel.single": "在§6月球§r的§6白天§r期间产生§6128 FE/t§r(32 EU/t)", "tfg.tooltip.solar_panel.large_tier1": "§6月球§r上的巨型结构,在§6白天§r可产生 §61024 至 4096 EU/t§r", "tfg.tooltip.solar_panel.large_tier2": "§6月球§r上的巨型结构,在§6白天§r可产生 §64096 至 16386 EU/t§r", @@ -1973,7 +1972,7 @@ "quests.ae2.extended_import_export.desc": "这些比它们的常规对应物快八倍。尽情享受吧!", "quests.ae2.extended_import_export.task": "部件或升级均可", "quests.ae2.extended_io_port.desc": "此升级将让你&a更快地传输&r,同时如果需要还提供&6更多升级槽位&r。", - "quests.ae2.extended_molecular_assembler.desc": "&b分子装配室&r的升级版。\n\n它可以同时运行&68个合成任务&r,并且速度&6快2倍&r。\n\n尽管你只能将其与普通&b样板供应器&r一起使用,但在你稍后获得&d矩阵多方块结构&r之前,这将是一个&a很好的升级&r。", + "quests.ae2.extended_molecular_assembler.desc": "&b分子装配室&r的升级版。\n\n它可以同时运行&68个合成任务&r,并且速度&6快2倍&r。\n\n在你稍后获得&d矩阵多方块结构&r之前,这将是一个&a很好的升级&r。", "quests.ae2.wireless.desc": "如果你不想铺设大量的&bME电缆&r,&aME无线连接器&r是你的首选。它们实际上就像短距离量子通道,但范围有限且不能跨维度工作。那也太简单了,对吧?\n\n别忘了使用&eG&r键查看游戏内指南,了解它们的工作原理和限制。", "quests.ae2.mega_cell_housing.desc": "这些&b元件外壳&r的工作方式与基础版本相同,但你需要它们来制作&dMEGA&r模组的大号磁盘。", "quests.ae2.cell_component_64k.desc": "现在你有了&1IV&r电路,你可以制作这个巨大的&5存储组件&r。你很高兴建立了月球基地吧?", @@ -2500,7 +2499,7 @@ "quests.gregtech_energy.lgt.title": "大型燃气涡轮", "quests.gregtech_energy.lgt.subtitle": "粉丝最爱", "quests.gregtech_energy.lgt.desc.1": "&6大型燃气涡轮机&r——也称为&dLGT&r——是本整合包中两大主力发电机之一。你可以在&5EV&r阶段使用不锈钢制造第一台。它能从&5EV&r阶段开始,一直为你服务到&dLuV&r阶段,直至你准备好升级到大型等离子涡轮机。\n\n话虽如此,只要你能建立强大的基础设施来满足高阶LGT的燃气消耗,许多玩家仅依靠这些涡轮机就足以通关TerraFirmaGreg。\n\n要建造LGT,你需要常规的&b维护仓&r和&b输入仓&r。这种涡轮机需要&b消声仓&r,但&c不&r需要输出仓。", - "quests.gregtech_energy.lgt.desc.2": "LGT的默认输出为&e4096EU/t&r。当转子支架的等级在&5EV&r之上每提升一级,其能量输出便会&c翻倍&r。例如,一台使用IV级转子支架(×2)和高速钢-E涡轮转子(280%%功率)的LGT,其输出为:\n4096×2×2.8=&e22,937.6EU/t&r——这大约是&a2.8A的IV&r级电流。\n\n为充分利用此能量,你至少需要一个IV级4A的动力仓,因为标准动力仓仅能处理2A电流。\n\n此外,涡轮转子的&6效率&r属性会延长燃料配方的处理时间,这意味着每mB燃料能产生更多的能量。\n\n最后,如果动力仓已满,LGT将自动减速并暂停消耗燃料,转子转速会逐渐降低直至恢复运行。因此在电力积压期间,你不会损失任何燃料。", + "quests.gregtech_energy.lgt.desc.2": "LGT的默认输出为&e4096EU/t&r。当转子支架的等级在&5EV&r之上每提升一级,其能量输出便会&c翻倍&r。例如,一台使用IV级转子支架(×2)和高速钢-E涡轮转子(280%%功率)的LGT,其输出为:\n4096×2×2.8=&e22,937.6EU/t&r——这大约是&a2.8A的IV&r级电流。\n\n为充分利用此能量,你至少需要一个IV级4A的动力仓,因为标准动力仓仅能处理2A电流。\n\n此外,涡轮转子的&6效率&r属性会延长燃料配方的处理时间,这意味着每mB燃料能产生更多的能量。\n\n最后,如果动力仓已满,LGT将开始销毁多余的能量。因此,当你的电池箱或变电站即将充满时,最好通过高级能量检测覆盖板和机器控制覆盖板来关闭它。", "quests.gregtech_energy.lst.title": "大型蒸汽涡轮", "quests.gregtech_energy.lst.subtitle": "它...确实存在", "quests.gregtech_energy.lst.desc.1": "&6大型蒸汽涡轮&r——或称&dLST&r——在标准格雷科技中或许并非最常见的大型发电机,但由于它在&6HV&r阶段即可解锁,且TerraFirmaGreg整合包中大型锅炉得到了强化,该设备绝对拥有一席之地。\n\n要使其运转,你需要配置蒸汽输入仓、蒸馏水输出仓,当然还需要维护舱。这就是全部需求!\n\n与所有大型涡轮机相同,你需要在一侧安装转子支架,另一侧配置动力仓以输出电力。LST的转子支架必须达到&6HV等级&r。每升级一次转子支架都会&c翻倍&r输出功率并略微提升效率。", @@ -3408,7 +3407,7 @@ "quests.metal_age.coke_oven.desc.2": "焦炉可以通过安装焦炉仓来实现完全自动化。焦炉仓放置在焦炉侧面,可作为物品和液体的输入输出接口。\n\n你可以轻松搭建一个简单的单向自动化焦炉:用板条箱作为输入容器,箱子作为输出容器,再配备一个桶、木桶或大型木质储罐来收集木焦油。与普通箱子不同,板条箱能够存储原木等大型物品。此外,手持扳手潜行右键点击格雷科技的管道可将其设置为单向传输模式。", "quests.metal_age.wrought_iron_goodies.title": "锻铁级机械动力", "quests.metal_age.wrought_iron_goodies.subtitle": "你说的这个“安山合金”是什么?", - "quests.metal_age.wrought_iron_goodies.desc": "有了锻铁,你已解锁了对金属外壳的访问,这是机械动力中许多机械方块(如齿轮箱)的基础。更高级的一些将需要钢,但此时建造一个全自动的树场和农场是可行的。\n\n杂酚油用于制造防腐木板,这些木板可以制成水轮和风车,这是对动物动力的显著改进。", + "quests.metal_age.wrought_iron_goodies.desc": "有了锻铁,你已解锁了对金属外壳的访问,这是机械动力中许多机械方块(如齿轮箱)的基础。更高级的一些将需要钢,但此时建造一个半自动的树场和农场是可行的。\n\n杂酚油用于制造防腐木板,这些木板可以制成水轮和风车,这是对动物动力的显著改进。", "quests.metal_age.fire_clay_ingredients.title": "耐火黏土原料", "quests.metal_age.fire_clay_ingredients.subtitle": "群峦传说的成人礼。", "quests.metal_age.fire_clay_ingredients.desc": "耐火黏土是一种由高岭土、石墨和普通黏土制成的特殊黏土,特别耐高温。它的两个主要用途是坩埚(作为用于金属熔炼和合金化的容器的改进版本)和高炉(这是制作下一级砧和金属等级——钢——所必需的)。\n\n你可能需要长途跋涉,远离你的基地才能获得石墨和高岭土,所以准备是关键!", @@ -3441,7 +3440,7 @@ "quests.metal_age.fire_clay_products.desc": "就像普通黏土一样,耐火黏土可以通过捏制来制造你需要烧制的东西。最重要的是,耐火黏土用于制造坩埚和耐火砖,这两者都是高炉所必需的。\n\n你还将能够创建一个铸模台和浇注道,让你可以一次将金属从坩埚铸入多个模具。\n\n最后,还有耐火锭模具,它只有1%%的几率破裂,而不是普通黏土的10%%。", "quests.metal_age.crucible.title": "坩埚", "quests.metal_age.crucible.subtitle": "像专业人士一样熔化金属", - "quests.metal_age.crucible.desc": "将坩埚放置在木炭炉上方。它带有9个物品栏槽位,可容纳4032mB的流体,包括一个检查你合金化比例的界面。它们在破碎时也会保留其内容物。当放置在高炉下方时,它们也可以收集生铁。\n\n请记住,坩埚会尝试合金化里面的所有东西——它不像匠魂冶炼炉那样将金属分开保存——所以当你不使用它时,保持清洁是一个好主意。", + "quests.metal_age.crucible.desc": "将坩埚放置在木炭炉上方。它带有9个物品栏槽位,可容纳4608mB的流体,包括一个检查你合金化比例的界面。它们在破碎时也会保留其内容物。当放置在高炉下方时,它们也可以收集生铁。\n\n请记住,坩埚会尝试合金化里面的所有东西——它不像匠魂冶炼炉那样将金属分开保存——所以当你不使用它时,保持清洁是一个好主意。", "quests.metal_age.fire_bricks.title": "耐火砖", "quests.metal_age.fire_bricks.subtitle": "用于高炉", "quests.metal_age.fire_bricks.desc": "耐火砖用于建造高炉,你至少需要4块砖来制作炉子。\n\n这些砖需要隔热以确保炼钢过程有效,你可以在耐火砖周围放置3块锻铁板,或者使用高炉隔热板。", diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 2a72f591c..a15aee3b7 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -196,12 +196,6 @@ const registerTooltips = (event) => { }) }) - // Vessels - event.addAdvanced(['#tfc:fired_vessels'], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.vessels')) - - }) - // Solar Panel event.addAdvanced(['ad_astra:solar_panel'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.solar_panel.single')) @@ -285,7 +279,10 @@ const registerTooltips = (event) => { text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "10,000")) }) event.addAdvanced(['tfc:crucible'], (item, advanced, text) => { - text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "4,032")) + text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "4,608")) + }) + event.addAdvanced(['#tfc:fired_vessels'], (item, advanced, text) => { + text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "3,024")) }) event.addAdvanced(['waterflasks:iron_flask', 'waterflasks:red_steel_flask'], (item, advanced, text) => { text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "2,000")) From 5a459f38c8446f8842bcb6aff912bd71edeb1ced Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 6 Jan 2026 12:08:13 +0000 Subject: [PATCH 005/474] water wheels spin properly in rivers #2450 Related Work Items: #24 --- config/createpickywheels-common.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/createpickywheels-common.toml b/config/createpickywheels-common.toml index f8513e29d..94202323a 100644 --- a/config/createpickywheels-common.toml +++ b/config/createpickywheels-common.toml @@ -17,6 +17,8 @@ #The maximum distance a waterwheel can consider fluid blocks from. #Range: > 1 waterwheelRange = 2 + #When enabled waterwheels require correct flow (like in TerraFirmaCraft's water river) + waterwheelsRequiresFlow = true ##Windmill requirements [windmills] From fd663208f51f651a6a783e60be3248b11ea729a5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 6 Jan 2026 12:08:30 +0000 Subject: [PATCH 006/474] improve tfg casting mold tags --- .../tfg/primitive/tags.primitive.js | 37 ++++++++----------- .../tfg/primitive/items.primitive.js | 2 +- 2 files changed, 17 insertions(+), 22 deletions(-) diff --git a/kubejs/server_scripts/tfg/primitive/tags.primitive.js b/kubejs/server_scripts/tfg/primitive/tags.primitive.js index 22246eba6..092078b9c 100644 --- a/kubejs/server_scripts/tfg/primitive/tags.primitive.js +++ b/kubejs/server_scripts/tfg/primitive/tags.primitive.js @@ -88,26 +88,21 @@ function registerTFGPrimitiveBlockTags(event) { } function registerTFGPrimitiveFluidTags(event) { - event.add('tfg:usable_in_small_gear_mold', 'gtceu:copper') - event.add('tfg:usable_in_small_gear_mold', 'gtceu:tin') - event.add('tfg:usable_in_small_gear_mold', 'gtceu:sterling_silver') - event.add('tfg:usable_in_small_gear_mold', 'gtceu:bismuth_bronze') - event.add('tfg:usable_in_small_gear_mold', 'gtceu:bronze') - event.add('tfg:usable_in_small_gear_mold', 'gtceu:zinc') - event.add('tfg:usable_in_small_gear_mold', 'gtceu:silver') - event.add('tfg:usable_in_small_gear_mold', 'gtceu:potin') - event.add('tfg:usable_in_small_gear_mold', 'gtceu:bismuth') - event.add('tfg:usable_in_small_gear_mold', 'gtceu:lead') - event.add('tfg:usable_in_small_gear_mold', 'gtceu:nickel') - event.add('tfg:usable_in_small_gear_mold', 'gtceu:brass') - event.add('tfg:usable_in_small_gear_mold', 'gtceu:gold') - event.add('tfg:usable_in_small_gear_mold', 'gtceu:red_alloy') - event.add('tfg:usable_in_small_gear_mold', 'gtceu:black_bronze') - event.add('tfg:usable_in_small_gear_mold', 'gtceu:rose_gold') + forEachMaterial(material => { + let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + if (tfcProperty === null || !material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) + return; - event.add('tfg:usable_in_rod_mold', 'gtceu:red_alloy') - event.add('tfg:usable_in_rod_mold', 'gtceu:bronze') - event.add('tfg:usable_in_rod_mold', 'gtceu:bismuth_bronze') - event.add('tfg:usable_in_rod_mold', 'gtceu:black_bronze') - event.add('tfg:usable_in_rod_mold', 'gtceu:brass') + if (!ChemicalHelper.get(TagPrefix.gearSmall, material, 1).isEmpty()) { + event.add('tfg:usable_in_small_gear_mold', material.getFluid().getFluidType().toString()) + } + + if (!ChemicalHelper.get(TagPrefix.rod, material, 1).isEmpty()) { + event.add('tfg:usable_in_rod_mold', material.getFluid().getFluidType().toString()) + } + + if (!ChemicalHelper.get(TagPrefix.nugget, material, 1).isEmpty()) { + event.add('tfg:usable_in_nugget_mold', material.getFluid().getFluidType().toString()) + } + }) } \ 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 210b42f18..1e5da063f 100644 --- a/kubejs/startup_scripts/tfg/primitive/items.primitive.js +++ b/kubejs/startup_scripts/tfg/primitive/items.primitive.js @@ -192,7 +192,7 @@ function registerTFGPrimitiveItems(event) { .texture("fluid", "tfg:item/mold/fired/nugget_mold_overlay") .tag('tfc:fired_molds') .tag('tfc:molds') - .fluidTagAccept('tfc:usable_in_ingot_mold') + .fluidTagAccept('tfg:usable_in_nugget_mold') .tfcccAllowedInMoldTable([ "XXXXXXXXXXXXXX", "XXXXXXXXXXXXXX", From 781c4775cbb5ba972fbf9c7138003570b470c9cb Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 6 Jan 2026 12:08:41 +0000 Subject: [PATCH 007/474] pakku --- pakku-lock.json | 60 ++++++++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index f6747ac0d..60abd76d6 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -3973,27 +3973,27 @@ "files": [ { "type": "curseforge", - "file_name": "createpickywheels-forge-1.20.1-6.0.6-2.jar", + "file_name": "createpickywheels-forge-1.20.1-6.0.8-1.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", - "forge" + "forge", + "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6932/328/createpickywheels-forge-1.20.1-6.0.6-2.jar", - "id": "6932328", + "url": "https://edge.forgecdn.net/files/7422/427/createpickywheels-forge-1.20.1-6.0.8-1.jar", + "id": "7422427", "parent_id": "866839", "hashes": { - "sha1": "698050b3f98b8fd9390b810741cf0eb08fee25ed", - "md5": "b6a3882bd66d4f26b987c95305f11046" + "sha1": "7e27a5376e3382c60823869f34087fcf43ac5514", + "md5": "69ae2235b460d4136d8d10bc80d7e5cf" }, "required_dependencies": [ "328085" ], - "size": 208401, - "date_published": "2025-08-26T23:06:50.557Z" + "size": 209163, + "date_published": "2026-01-05T20:05:25.063Z" } ] }, @@ -4909,7 +4909,7 @@ "files": [ { "type": "curseforge", - "file_name": "domum_ornamentum-1.20.1-1.0.294-snapshot-universal.jar", + "file_name": "domum_ornamentum-1.20.1-1.0.295-snapshot-universal.jar", "mc_versions": [ "1.20.1" ], @@ -4917,16 +4917,16 @@ "forge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7418/104/domum_ornamentum-1.20.1-1.0.294-snapshot-universal.jar", - "id": "7418104", + "url": "https://edge.forgecdn.net/files/7421/161/domum_ornamentum-1.20.1-1.0.295-snapshot-universal.jar", + "id": "7421161", "parent_id": "527361", "hashes": { - "sha1": "e93b78cd1c036730dfa355248a31c3fef3f812a5", - "md5": "d48152d1459568771e9f40f262e0f424" + "sha1": "f5fc47a7006445e4f999611d1cc95bda55c70b1f", + "md5": "e85e022d42829065eb6f3d804abeb9d0" }, "required_dependencies": [], - "size": 1141311, - "date_published": "2026-01-04T19:54:08.390Z" + "size": 1141562, + "date_published": "2026-01-05T14:36:53.033Z" } ] }, @@ -7199,7 +7199,7 @@ "files": [ { "type": "modrinth", - "file_name": "gtceu-1.20.1-7.4.0.jar", + "file_name": "gtceu-1.20.1-7.4.1.jar", "mc_versions": [ "1.20.1" ], @@ -7207,20 +7207,20 @@ "forge" ], "release_type": "beta", - "url": "https://cdn.modrinth.com/data/7tG215v7/versions/Wt20eol8/gtceu-1.20.1-7.4.0.jar", - "id": "Wt20eol8", + "url": "https://cdn.modrinth.com/data/7tG215v7/versions/pJ2sF7rk/gtceu-1.20.1-7.4.1.jar", + "id": "pJ2sF7rk", "parent_id": "7tG215v7", "hashes": { - "sha512": "2e850a957f6f5cdb350f07cfea64906d6731a74ec7655263c4588dd7b16ee582d6479dbd73733ffcb5388df3cf4d60a91285d7fb065c9021c6e02a22c4c59cf1", - "sha1": "19c638cb4913b0581da1e518771f41965f96932f" + "sha512": "558246262657eaf0a50e141157fec63c5264c81da54d292ddc8e6a0681e8711cdcf13293420fe64982f7d56e5876da8043309299c69afa3eab743e957b3b7a51", + "sha1": "50ae5df1cc5213aa429a976b6393e0bd4e22238e" }, "required_dependencies": [], - "size": 18054871, - "date_published": "2025-11-25T20:33:56.058299Z" + "size": 18064288, + "date_published": "2026-01-06T09:56:51.537718Z" }, { "type": "curseforge", - "file_name": "gtceu-1.20.1-7.4.0.jar", + "file_name": "gtceu-1.20.1-7.4.1.jar", "mc_versions": [ "1.20.1" ], @@ -7228,16 +7228,16 @@ "forge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7262/157/gtceu-1.20.1-7.4.0.jar", - "id": "7262157", + "url": "https://edge.forgecdn.net/files/7424/649/gtceu-1.20.1-7.4.1.jar", + "id": "7424649", "parent_id": "890405", "hashes": { - "sha1": "19c638cb4913b0581da1e518771f41965f96932f", - "md5": "a5e09409a38ef3ee43702b1aad20da9d" + "sha1": "50ae5df1cc5213aa429a976b6393e0bd4e22238e", + "md5": "3542378274c484966f416415f9a7ec6b" }, "required_dependencies": [], - "size": 18054871, - "date_published": "2025-11-25T20:33:46.053Z" + "size": 18064288, + "date_published": "2026-01-06T09:56:46.180Z" } ] }, From db3428c20b7afb022e798a0aea6eabd7656c6233 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 6 Jan 2026 12:08:56 +0000 Subject: [PATCH 008/474] add way to craft large gears in an anvil --- CHANGELOG.md | 3 +++ .../server_scripts/tfc/recipes.materials.js | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a0fcf368..ae7a6046a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,10 @@ ## Unreleased ### Changes - The crucible now holds 4608mB (32 ingots) instead of 4032mB (28 ingots) (#2634) @Pyritie +- Large gears can now be crafted in an anvil / mechanical press @Pyritie ### Bug fixes +- Fixed not being able to craft Paracetamol or Rad-Away @Pyritie +- Water wheels now spin the correct direction in rivers (#2450) @zehmaria ### Translation updates - Chinese (simplified) @jmecn diff --git a/kubejs/server_scripts/tfc/recipes.materials.js b/kubejs/server_scripts/tfc/recipes.materials.js index c89a439d6..013f35221 100644 --- a/kubejs/server_scripts/tfc/recipes.materials.js +++ b/kubejs/server_scripts/tfc/recipes.materials.js @@ -654,6 +654,25 @@ function registerTFCMaterialsRecipes(event) { } } + // Large Gears + let largeGearItem = ChemicalHelper.get(TagPrefix.gear, material, 1) + if (!largeGearItem.isEmpty()) { + event.recipes.tfc.heating(largeGearItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144 * 4)) + .id(`tfc:heating/large_${material.getName()}_gear`) + + let doublePlateItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) + if (!doublePlateItem.isEmpty()) { + event.recipes.tfc.welding(largeGearItem, doublePlateItem, doublePlateItem, tfcProperty.getTier()) + .id(`tfc:welding/${material.getName()}_large_gear`) + + event.recipes.greate.compacting(largeGearItem, [doublePlateItem, doublePlateItem, 'tfc:powder/flux']) + .heated() + .recipeTier(tfcProperty.getTier() < 4 ? 0 : 1) + .id(`greate:compacting/${material.getName()}_large gear`) + } + } + // Tools (From Ingot) if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL) || material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) { From 8c77b7236962f2c3276faa8a74982ee8271711b3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 6 Jan 2026 14:17:50 +0000 Subject: [PATCH 009/474] add some invisible blockstates to flax, rapeseed, and sunflowers, so they render properly in the EGH --- kubejs/assets/tfg/blockstates/flax.json | 20 ++++++++++++++++---- kubejs/assets/tfg/blockstates/rapeseed.json | 15 ++++++++++++--- kubejs/assets/tfg/blockstates/sunflower.json | 20 ++++++++++++++++---- 3 files changed, 44 insertions(+), 11 deletions(-) diff --git a/kubejs/assets/tfg/blockstates/flax.json b/kubejs/assets/tfg/blockstates/flax.json index 0b8a1e705..999a1b07a 100644 --- a/kubejs/assets/tfg/blockstates/flax.json +++ b/kubejs/assets/tfg/blockstates/flax.json @@ -1,15 +1,15 @@ { "variants": { - "age=0": { + "age=0,part=bottom": { "model": "tfg:block/crop/flax_age_0" }, - "age=1": { + "age=1,part=bottom": { "model": "tfg:block/crop/flax_age_1" }, - "age=2": { + "age=2,part=bottom": { "model": "tfg:block/crop/flax_age_2" }, - "age=3": { + "age=3,part=bottom": { "model": "tfg:block/crop/flax_age_3" }, "age=4,part=bottom": { @@ -21,6 +21,18 @@ "age=6,part=bottom": { "model": "tfg:block/crop/flax_age_6_bottom" }, + "age=0,part=top": { + "model": "minecraft:block/air" + }, + "age=1,part=top": { + "model": "minecraft:block/air" + }, + "age=2,part=top": { + "model": "minecraft:block/air" + }, + "age=3,part=top": { + "model": "minecraft:block/air" + }, "age=4,part=top": { "model": "tfg:block/crop/flax_age_4_top" }, diff --git a/kubejs/assets/tfg/blockstates/rapeseed.json b/kubejs/assets/tfg/blockstates/rapeseed.json index 45d32774b..99d88b2f5 100644 --- a/kubejs/assets/tfg/blockstates/rapeseed.json +++ b/kubejs/assets/tfg/blockstates/rapeseed.json @@ -1,12 +1,12 @@ { "variants": { - "age=0": { + "age=0,part=bottom": { "model": "tfg:block/crop/rapeseed_age_0" }, - "age=1": { + "age=1,part=bottom": { "model": "tfg:block/crop/rapeseed_age_1" }, - "age=2": { + "age=2,part=bottom": { "model": "tfg:block/crop/rapeseed_age_2" }, "age=3,part=bottom": { @@ -21,6 +21,15 @@ "age=6,part=bottom": { "model": "tfg:block/crop/rapeseed_age_5_bottom" }, + "age=0,part=top": { + "model": "minecraft:block/air" + }, + "age=1,part=top": { + "model": "minecraft:block/air" + }, + "age=2,part=top": { + "model": "minecraft:block/air" + }, "age=3,part=top": { "model": "tfg:block/crop/rapeseed_age_3_top" }, diff --git a/kubejs/assets/tfg/blockstates/sunflower.json b/kubejs/assets/tfg/blockstates/sunflower.json index 8708a43c7..220544400 100644 --- a/kubejs/assets/tfg/blockstates/sunflower.json +++ b/kubejs/assets/tfg/blockstates/sunflower.json @@ -1,15 +1,15 @@ { "variants": { - "age=0": { + "age=0,part=bottom": { "model": "tfg:block/crop/sunflower_age_0" }, - "age=1": { + "age=1,part=bottom": { "model": "tfg:block/crop/sunflower_age_1" }, - "age=2": { + "age=2,part=bottom": { "model": "tfg:block/crop/sunflower_age_2" }, - "age=3": { + "age=3,part=bottom": { "model": "tfg:block/crop/sunflower_age_3" }, "age=4,part=bottom": { @@ -21,6 +21,18 @@ "age=6,part=bottom": { "model": "tfg:block/crop/sunflower_age_5_bottom" }, + "age=0,part=top": { + "model": "minecraft:block/air" + }, + "age=1,part=top": { + "model": "minecraft:block/air" + }, + "age=2,part=top": { + "model": "minecraft:block/air" + }, + "age=3,part=top": { + "model": "minecraft:block/air" + }, "age=4,part=top": { "model": "tfg:block/crop/sunflower_age_4_top" }, From 0eb939f09d851af961e52eff40b812097ada7097 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 6 Jan 2026 15:17:59 +0000 Subject: [PATCH 010/474] some tiny changes --- kubejs/server_scripts/firmalife/recipes.js | 2 +- .../server_scripts/tfg/mars/recipes.mars.js | 24 +++++++++++-------- kubejs/server_scripts/tfg/tags.js | 7 ++++++ 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 868eb0a84..b90d4b006 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -160,7 +160,7 @@ const registerFirmaLifeRecipes = (event) => { .EUt(GTValues.VA[GTValues.ULV]) .category(GTRecipeCategories.INGOT_MOLDING) - event.recipes.gtceu.assembler('firmalife:cork') + event.recipes.gtceu.chemical_bath('firmalife:cork') .itemInputs('firmalife:treated_lumber') .inputFluids(Fluid.of('tfc:limewater', 1000)) .itemOutputs('8x firmalife:cork') diff --git a/kubejs/server_scripts/tfg/mars/recipes.mars.js b/kubejs/server_scripts/tfg/mars/recipes.mars.js index 3b4149e2e..d8b5ee7d9 100644 --- a/kubejs/server_scripts/tfg/mars/recipes.mars.js +++ b/kubejs/server_scripts/tfg/mars/recipes.mars.js @@ -45,13 +45,25 @@ function registerTFGMarsRecipes(event) { .outputFluids(Fluid.of('tfg:semiheavy_water', 500)) .itemOutputs('2x #forge:tiny_dusts/ammonium_chloride') .duration(20*9) - .EUt(GTValues.VA[GTValues.MV]) + .EUt(GTValues.VHA[GTValues.ULV]) + + event.recipes.vintageimprovements.centrifugation([Fluid.of('tfg:semiheavy_water', 500), '2x #forge:tiny_dusts/ammonium_chloride'], Fluid.of('tfg:semiheavy_ammoniacal_water', 1000)) + .processingTime(200 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/centrifuge_mars_semiheavy_water') event.recipes.gtceu.distillery('mars_semiheavy_water') .inputFluids(Fluid.of('tfg:semiheavy_ammoniacal_water', 1000)) .outputFluids(Fluid.of('minecraft:water', 250)) .duration(20*5) - .EUt(GTValues.VA[GTValues.MV]) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.vintageimprovements.vacuumizing( + [Fluid.of('minecraft:water', 250), Fluid.of('gtceu:ammonia', 250)], + Fluid.of('tfg:semiheavy_ammoniacal_water', 1000)) + .secondaryFluidOutput(1) + .processingTime(300) + .heated() + .id('tfg:vacummizing/mars_water') // Mars plants @@ -263,12 +275,4 @@ function registerTFGMarsRecipes(event) { .processingTime(1000) .heated() .id('tfg:vacuumizing/mars_latex') - - event.recipes.vintageimprovements.vacuumizing( - [Fluid.of('minecraft:water', 250), Fluid.of('gtceu:ammonia', 250)], - Fluid.of('tfg:semiheavy_ammoniacal_water', 1000)) - .secondaryFluidOutput(1) - .processingTime(300) - .heated() - .id('tfg:vacummizing/mars_water') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 3a474fde3..a4e67a663 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -152,6 +152,13 @@ const registerTFGFluidTags = (event) => { event.add('tfc:any_drinkables', 'tfg:semiheavy_ammoniacal_water') event.add('tfc:ingredients', 'tfg:semiheavy_ammoniacal_water') event.add('minecraft:water', 'tfg:semiheavy_ammoniacal_water') + + event.add('tfc:any_water', 'tfg:semiheavy_water') + event.add('tfc:hydrating', 'tfg:semiheavy_water') + event.add('tfc:drinkables', 'tfg:semiheavy_water') + event.add('tfc:any_drinkables', 'tfg:semiheavy_water') + event.add('tfc:ingredients', 'tfg:semiheavy_water') + event.add('minecraft:water', 'tfg:semiheavy_water') event.add('tfc:drinkables', 'tfg:proto_growth_medium') event.add('tfc:any_drinkables', 'tfg:proto_growth_medium') From e3baa02dcab46872931faa4196d92d1e09a77002 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 6 Jan 2026 15:25:03 +0000 Subject: [PATCH 011/474] whoops --- kubejs/server_scripts/ad_astra/tags.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/ad_astra/tags.js b/kubejs/server_scripts/ad_astra/tags.js index 681fe511a..cc3574c82 100644 --- a/kubejs/server_scripts/ad_astra/tags.js +++ b/kubejs/server_scripts/ad_astra/tags.js @@ -48,7 +48,7 @@ const registerAdAstraItemTags = (event) => { event.add('c:hidden_from_recipe_viewers', item) }) - event.add('c:hidden_from_recipe_viewers', 'ad_astra:alphacene_mushroom') + event.add('c:hidden_from_recipe_viewers', 'ad_astra:aeronos_mushroom') event.add('c:hidden_from_recipe_viewers', 'ad_astra:strophar_mushroom') // Deco blocks From a283ca7b9a00958a75a90948e48e15db0beab44c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 6 Jan 2026 15:28:14 +0000 Subject: [PATCH 012/474] why are blaze cakes here --- kubejs/server_scripts/gregtech/recipes.removes.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index 3cf084f57..d180a6450 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -800,9 +800,14 @@ function removeGTCEURecipes(event) { // Replace by the Heat Exchanger recipe for Mars event.remove({ id: 'gtceu:fluid_heater/formamide' }) - // Remove lava bucket from boilers + // Remove from boilers event.remove({ id: 'gtceu:steam_boiler/minecraft_lava_bucket' }) event.remove({ id: 'gtceu:large_boiler/minecraft_lava_bucket' }) + event.remove({ id: 'gtceu:steam_boiler/create_blaze_cake' }) + event.remove({ id: 'gtceu:large_boiler/create_blaze_cake' }) + event.remove({ id: 'gtceu:steam_boiler/create_creative_blaze_cake' }) + event.remove({ id: 'gtceu:large_boiler/create_creative_blaze_cake' }) + // Snow Stuffs From 48dff7e414ec8ab15c3054ce76b90931fa418bd5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 6 Jan 2026 16:06:22 +0000 Subject: [PATCH 013/474] fix blockstate texture of steam fuser --- kubejs/assets/tfg/models/block/machines/steam_fuser.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kubejs/assets/tfg/models/block/machines/steam_fuser.json b/kubejs/assets/tfg/models/block/machines/steam_fuser.json index 07f9b8670..f5156e8d6 100644 --- a/kubejs/assets/tfg/models/block/machines/steam_fuser.json +++ b/kubejs/assets/tfg/models/block/machines/steam_fuser.json @@ -41,8 +41,8 @@ "parent": "gtceu:block/machine/template/cube_all/sided", "textures": { "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", - "overlay_front": "gtceu:block/machines/alloy_smelter/overlay_front_paused", - "overlay_front_emissive": "gtceu:block/machines/alloy_smelter/overlay_front_paused_emissive" + "overlay_front": "gtceu:block/machines/alloy_smelter/overlay_front", + "overlay_front_emissive": "gtceu:block/machines/alloy_smelter/overlay_front_emissive" } } }, @@ -81,8 +81,8 @@ "parent": "gtceu:block/machine/template/cube_all/sided", "textures": { "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", - "overlay_front": "gtceu:block/machines/alloy_smelter/overlay_front_paused", - "overlay_front_emissive": "gtceu:block/machines/alloy_smelter/overlay_front_paused_emissive" + "overlay_front": "gtceu:block/machines/alloy_smelter/overlay_front", + "overlay_front_emissive": "gtceu:block/machines/alloy_smelter/overlay_front_emissive" } } }, From b3a5b1ddefc1a778b788ded0f4f880120651148c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 6 Jan 2026 16:06:34 +0000 Subject: [PATCH 014/474] steam boilers for mars --- kubejs/server_scripts/ad_astra/tags.js | 10 +++++----- kubejs/server_scripts/tfg/mars/recipes.mars.js | 12 ++++++++++++ 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/kubejs/server_scripts/ad_astra/tags.js b/kubejs/server_scripts/ad_astra/tags.js index cc3574c82..51505ec41 100644 --- a/kubejs/server_scripts/ad_astra/tags.js +++ b/kubejs/server_scripts/ad_astra/tags.js @@ -117,11 +117,11 @@ const registerAdAstraBlockTags = (event) => { event.add(`tfg:ad_astra_${block}_block`, `ad_astra:encased_${block}_block`) }) - event.add('tfg:ad_astra_etrium_block', 'ad_astra:etrium_factory_block') - event.add('tfg:ad_astra_etrium_block', 'ad_astra:encased_etrium_block') - event.add('tfg:ad_astra_etrium_block', 'ad_astra:etrium_plateblock') - event.add('tfg:ad_astra_etrium_block', 'ad_astra:etrium_panel') - event.add('tfg:ad_astra_etrium_block', 'ad_astra:etrium_block') + event.add('tfg:ad_astra_etrium_block', 'ad_astra:etrium_factory_block') + event.add('tfg:ad_astra_etrium_block', 'ad_astra:encased_etrium_block') + event.add('tfg:ad_astra_etrium_block', 'ad_astra:etrium_plateblock') + event.add('tfg:ad_astra_etrium_block', 'ad_astra:etrium_panel') + event.add('tfg:ad_astra_etrium_block', 'ad_astra:etrium_block') } const registerAdAstraBiomeTags = (event) => { diff --git a/kubejs/server_scripts/tfg/mars/recipes.mars.js b/kubejs/server_scripts/tfg/mars/recipes.mars.js index d8b5ee7d9..ac9fa0bc2 100644 --- a/kubejs/server_scripts/tfg/mars/recipes.mars.js +++ b/kubejs/server_scripts/tfg/mars/recipes.mars.js @@ -65,6 +65,18 @@ function registerTFGMarsRecipes(event) { .heated() .id('tfg:vacummizing/mars_water') + event.recipes.gtceu.fluid_heater('heat_mars_water_to_steam') + .inputFluids('tfg:semiheavy_ammoniacal_water 6') + .outputFluids('gtceu:steam 960') + .duration(30) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.fluid_heater('heat_semiheavy_water_to_steam') + .inputFluids('tfg:semiheavy_water 6') + .outputFluids('gtceu:steam 960') + .duration(30) + .EUt(GTValues.VA[GTValues.LV]) + // Mars plants event.recipes.gtceu.mixer('tfg:bio_glowstone') From bff84d8dd371541fcfa7ed6c24d94f5b5cbb7a03 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 6 Jan 2026 16:06:46 +0000 Subject: [PATCH 015/474] why does only this propellor need red alloy? --- kubejs/server_scripts/immersive_aircraft/recipes.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/kubejs/server_scripts/immersive_aircraft/recipes.js b/kubejs/server_scripts/immersive_aircraft/recipes.js index e66a4cf66..5a43cf333 100644 --- a/kubejs/server_scripts/immersive_aircraft/recipes.js +++ b/kubejs/server_scripts/immersive_aircraft/recipes.js @@ -251,13 +251,12 @@ function registerImmersiveAircraftRecipes(event) { createRecyclingRecipeArgs('tfg:black_steel_plated_airplane_propeller', [GTMaterials.BlackSteel], [createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3)])) event.shaped('tfg:redblu_steel_plated_airplane_propeller', [ - 'ABC', + 'AB ', 'DED', - 'CBF' + ' BF' ], { A: '#forge:tools/hammers', B: 'gtceu:red_steel_plate', - C: 'gtceu:red_alloy_dust', D: 'gtceu:blue_steel_plate', E: '#forge:rotors', F: '#forge:tools/wrenches' @@ -266,10 +265,8 @@ function registerImmersiveAircraftRecipes(event) { generateRecyclingRecipe('tfg:recycling/redblu_steel_plated_airplane_propeller', createRecyclingRecipeArgs('tfg:redblu_steel_plated_airplane_propeller', [ GTMaterials.RedSteel, - GTMaterials.BlueSteel, - GTMaterials.RedAlloy + GTMaterials.BlueSteel ], [ - createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1) ]) From 930c06c8476b4779898a31b3de4d020723d26262 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Tue, 6 Jan 2026 10:51:47 -0600 Subject: [PATCH 016/474] basic pie charts for the ores (#2640) * mini fixes * pie charts for all the ores --- kubejs/assets/greate/alloys/rose_quartz.json | 3 +++ kubejs/assets/gtceu/alloys/almandine.json | 3 +++ kubejs/assets/gtceu/alloys/alunite.json | 3 +++ kubejs/assets/gtceu/alloys/amethyst.json | 3 +++ kubejs/assets/gtceu/alloys/apatite.json | 3 +++ kubejs/assets/gtceu/alloys/armalcolite.json | 3 +++ kubejs/assets/gtceu/alloys/asbestos.json | 3 +++ .../assets/gtceu/alloys/basaltic_mineral_sand.json | 3 +++ kubejs/assets/gtceu/alloys/bastnasite.json | 3 +++ kubejs/assets/gtceu/alloys/bauxite.json | 3 +++ kubejs/assets/gtceu/alloys/bentonite.json | 3 +++ kubejs/assets/gtceu/alloys/blue_topaz.json | 3 +++ kubejs/assets/gtceu/alloys/borax.json | 3 +++ kubejs/assets/gtceu/alloys/bornite.json | 3 +++ kubejs/assets/gtceu/alloys/cassiterite.json | 3 +++ kubejs/assets/gtceu/alloys/cassiterite_sand.json | 3 +++ kubejs/assets/gtceu/alloys/chalcocite.json | 3 +++ kubejs/assets/gtceu/alloys/chalcopyrite.json | 3 +++ kubejs/assets/gtceu/alloys/chromite.json | 3 +++ kubejs/assets/gtceu/alloys/cinnabar.json | 3 +++ kubejs/assets/gtceu/alloys/cobaltite.json | 3 +++ kubejs/assets/gtceu/alloys/cooperite.json | 3 +++ kubejs/assets/gtceu/alloys/diatomite.json | 3 +++ kubejs/assets/gtceu/alloys/electrotine.json | 3 +++ kubejs/assets/gtceu/alloys/emerald.json | 3 +++ kubejs/assets/gtceu/alloys/fullers_earth.json | 3 +++ kubejs/assets/gtceu/alloys/galena.json | 3 +++ kubejs/assets/gtceu/alloys/garnet_sand.json | 3 +++ kubejs/assets/gtceu/alloys/garnierite.json | 3 +++ kubejs/assets/gtceu/alloys/glauconite_sand.json | 3 +++ kubejs/assets/gtceu/alloys/goethite.json | 3 +++ .../assets/gtceu/alloys/granitic_mineral_sand.json | 3 +++ kubejs/assets/gtceu/alloys/green_sapphire.json | 3 +++ kubejs/assets/gtceu/alloys/grossular.json | 3 +++ kubejs/assets/gtceu/alloys/gypsum.json | 3 +++ kubejs/assets/gtceu/alloys/hematite.json | 3 +++ kubejs/assets/gtceu/alloys/ilmenite.json | 3 +++ kubejs/assets/gtceu/alloys/kyanite.json | 3 +++ kubejs/assets/gtceu/alloys/lapis.json | 3 +++ kubejs/assets/gtceu/alloys/lazurite.json | 3 +++ kubejs/assets/gtceu/alloys/lepidolite.json | 3 +++ kubejs/assets/gtceu/alloys/magnetite.json | 3 +++ kubejs/assets/gtceu/alloys/malachite.json | 3 +++ kubejs/assets/gtceu/alloys/mica.json | 3 +++ kubejs/assets/gtceu/alloys/molybdenite.json | 3 +++ kubejs/assets/gtceu/alloys/olivine.json | 3 +++ kubejs/assets/gtceu/alloys/pentlandite.json | 3 +++ kubejs/assets/gtceu/alloys/pitchblende.json | 3 +++ kubejs/assets/gtceu/alloys/pollucite.json | 3 +++ kubejs/assets/gtceu/alloys/powellite.json | 3 +++ kubejs/assets/gtceu/alloys/pyrite.json | 3 +++ kubejs/assets/gtceu/alloys/pyrochlore.json | 3 +++ kubejs/assets/gtceu/alloys/pyrolusite.json | 3 +++ kubejs/assets/gtceu/alloys/pyrope.json | 3 +++ kubejs/assets/gtceu/alloys/realgar.json | 3 +++ kubejs/assets/gtceu/alloys/red_garnet.json | 3 +++ kubejs/assets/gtceu/alloys/redstone.json | 3 +++ kubejs/assets/gtceu/alloys/ruby.json | 3 +++ kubejs/assets/gtceu/alloys/sapphire.json | 3 +++ kubejs/assets/gtceu/alloys/soapstone.json | 3 +++ kubejs/assets/gtceu/alloys/sodalite.json | 3 +++ kubejs/assets/gtceu/alloys/spessartine.json | 3 +++ kubejs/assets/gtceu/alloys/sphalerite.json | 3 +++ kubejs/assets/gtceu/alloys/spodumene.json | 3 +++ kubejs/assets/gtceu/alloys/steel.json | 12 ++++++++++++ kubejs/assets/gtceu/alloys/stibnite.json | 3 +++ kubejs/assets/gtceu/alloys/talc.json | 3 +++ kubejs/assets/gtceu/alloys/tantalite.json | 3 +++ kubejs/assets/gtceu/alloys/tarkianite.json | 3 +++ kubejs/assets/gtceu/alloys/tetrahedrite.json | 3 +++ kubejs/assets/gtceu/alloys/topaz.json | 3 +++ kubejs/assets/gtceu/alloys/tricalcium_phosphate.json | 3 +++ kubejs/assets/gtceu/alloys/trona.json | 3 +++ kubejs/assets/gtceu/alloys/vanadium_magnetite.json | 3 +++ kubejs/assets/gtceu/alloys/wulfenite.json | 3 +++ kubejs/assets/gtceu/alloys/yellow_garnet.json | 3 +++ kubejs/assets/gtceu/alloys/yellow_limonite.json | 3 +++ kubejs/assets/gtceu/alloys/zeolite.json | 3 +++ 78 files changed, 243 insertions(+) create mode 100644 kubejs/assets/greate/alloys/rose_quartz.json create mode 100644 kubejs/assets/gtceu/alloys/almandine.json create mode 100644 kubejs/assets/gtceu/alloys/alunite.json create mode 100644 kubejs/assets/gtceu/alloys/amethyst.json create mode 100644 kubejs/assets/gtceu/alloys/apatite.json create mode 100644 kubejs/assets/gtceu/alloys/armalcolite.json create mode 100644 kubejs/assets/gtceu/alloys/asbestos.json create mode 100644 kubejs/assets/gtceu/alloys/basaltic_mineral_sand.json create mode 100644 kubejs/assets/gtceu/alloys/bastnasite.json create mode 100644 kubejs/assets/gtceu/alloys/bauxite.json create mode 100644 kubejs/assets/gtceu/alloys/bentonite.json create mode 100644 kubejs/assets/gtceu/alloys/blue_topaz.json create mode 100644 kubejs/assets/gtceu/alloys/borax.json create mode 100644 kubejs/assets/gtceu/alloys/bornite.json create mode 100644 kubejs/assets/gtceu/alloys/cassiterite.json create mode 100644 kubejs/assets/gtceu/alloys/cassiterite_sand.json create mode 100644 kubejs/assets/gtceu/alloys/chalcocite.json create mode 100644 kubejs/assets/gtceu/alloys/chalcopyrite.json create mode 100644 kubejs/assets/gtceu/alloys/chromite.json create mode 100644 kubejs/assets/gtceu/alloys/cinnabar.json create mode 100644 kubejs/assets/gtceu/alloys/cobaltite.json create mode 100644 kubejs/assets/gtceu/alloys/cooperite.json create mode 100644 kubejs/assets/gtceu/alloys/diatomite.json create mode 100644 kubejs/assets/gtceu/alloys/electrotine.json create mode 100644 kubejs/assets/gtceu/alloys/emerald.json create mode 100644 kubejs/assets/gtceu/alloys/fullers_earth.json create mode 100644 kubejs/assets/gtceu/alloys/galena.json create mode 100644 kubejs/assets/gtceu/alloys/garnet_sand.json create mode 100644 kubejs/assets/gtceu/alloys/garnierite.json create mode 100644 kubejs/assets/gtceu/alloys/glauconite_sand.json create mode 100644 kubejs/assets/gtceu/alloys/goethite.json create mode 100644 kubejs/assets/gtceu/alloys/granitic_mineral_sand.json create mode 100644 kubejs/assets/gtceu/alloys/green_sapphire.json create mode 100644 kubejs/assets/gtceu/alloys/grossular.json create mode 100644 kubejs/assets/gtceu/alloys/gypsum.json create mode 100644 kubejs/assets/gtceu/alloys/hematite.json create mode 100644 kubejs/assets/gtceu/alloys/ilmenite.json create mode 100644 kubejs/assets/gtceu/alloys/kyanite.json create mode 100644 kubejs/assets/gtceu/alloys/lapis.json create mode 100644 kubejs/assets/gtceu/alloys/lazurite.json create mode 100644 kubejs/assets/gtceu/alloys/lepidolite.json create mode 100644 kubejs/assets/gtceu/alloys/magnetite.json create mode 100644 kubejs/assets/gtceu/alloys/malachite.json create mode 100644 kubejs/assets/gtceu/alloys/mica.json create mode 100644 kubejs/assets/gtceu/alloys/molybdenite.json create mode 100644 kubejs/assets/gtceu/alloys/olivine.json create mode 100644 kubejs/assets/gtceu/alloys/pentlandite.json create mode 100644 kubejs/assets/gtceu/alloys/pitchblende.json create mode 100644 kubejs/assets/gtceu/alloys/pollucite.json create mode 100644 kubejs/assets/gtceu/alloys/powellite.json create mode 100644 kubejs/assets/gtceu/alloys/pyrite.json create mode 100644 kubejs/assets/gtceu/alloys/pyrochlore.json create mode 100644 kubejs/assets/gtceu/alloys/pyrolusite.json create mode 100644 kubejs/assets/gtceu/alloys/pyrope.json create mode 100644 kubejs/assets/gtceu/alloys/realgar.json create mode 100644 kubejs/assets/gtceu/alloys/red_garnet.json create mode 100644 kubejs/assets/gtceu/alloys/redstone.json create mode 100644 kubejs/assets/gtceu/alloys/ruby.json create mode 100644 kubejs/assets/gtceu/alloys/sapphire.json create mode 100644 kubejs/assets/gtceu/alloys/soapstone.json create mode 100644 kubejs/assets/gtceu/alloys/sodalite.json create mode 100644 kubejs/assets/gtceu/alloys/spessartine.json create mode 100644 kubejs/assets/gtceu/alloys/sphalerite.json create mode 100644 kubejs/assets/gtceu/alloys/spodumene.json create mode 100644 kubejs/assets/gtceu/alloys/steel.json create mode 100644 kubejs/assets/gtceu/alloys/stibnite.json create mode 100644 kubejs/assets/gtceu/alloys/talc.json create mode 100644 kubejs/assets/gtceu/alloys/tantalite.json create mode 100644 kubejs/assets/gtceu/alloys/tarkianite.json create mode 100644 kubejs/assets/gtceu/alloys/tetrahedrite.json create mode 100644 kubejs/assets/gtceu/alloys/topaz.json create mode 100644 kubejs/assets/gtceu/alloys/tricalcium_phosphate.json create mode 100644 kubejs/assets/gtceu/alloys/trona.json create mode 100644 kubejs/assets/gtceu/alloys/vanadium_magnetite.json create mode 100644 kubejs/assets/gtceu/alloys/wulfenite.json create mode 100644 kubejs/assets/gtceu/alloys/yellow_garnet.json create mode 100644 kubejs/assets/gtceu/alloys/yellow_limonite.json create mode 100644 kubejs/assets/gtceu/alloys/zeolite.json diff --git a/kubejs/assets/greate/alloys/rose_quartz.json b/kubejs/assets/greate/alloys/rose_quartz.json new file mode 100644 index 000000000..b8fe3822b --- /dev/null +++ b/kubejs/assets/greate/alloys/rose_quartz.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/almandine.json b/kubejs/assets/gtceu/alloys/almandine.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/almandine.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/alunite.json b/kubejs/assets/gtceu/alloys/alunite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/alunite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/amethyst.json b/kubejs/assets/gtceu/alloys/amethyst.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/amethyst.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/apatite.json b/kubejs/assets/gtceu/alloys/apatite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/apatite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/armalcolite.json b/kubejs/assets/gtceu/alloys/armalcolite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/armalcolite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/asbestos.json b/kubejs/assets/gtceu/alloys/asbestos.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/asbestos.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/basaltic_mineral_sand.json b/kubejs/assets/gtceu/alloys/basaltic_mineral_sand.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/basaltic_mineral_sand.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/bastnasite.json b/kubejs/assets/gtceu/alloys/bastnasite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/bastnasite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/bauxite.json b/kubejs/assets/gtceu/alloys/bauxite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/bauxite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/bentonite.json b/kubejs/assets/gtceu/alloys/bentonite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/bentonite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/blue_topaz.json b/kubejs/assets/gtceu/alloys/blue_topaz.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/blue_topaz.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/borax.json b/kubejs/assets/gtceu/alloys/borax.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/borax.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/bornite.json b/kubejs/assets/gtceu/alloys/bornite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/bornite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/cassiterite.json b/kubejs/assets/gtceu/alloys/cassiterite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/cassiterite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/cassiterite_sand.json b/kubejs/assets/gtceu/alloys/cassiterite_sand.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/cassiterite_sand.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/chalcocite.json b/kubejs/assets/gtceu/alloys/chalcocite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/chalcocite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/chalcopyrite.json b/kubejs/assets/gtceu/alloys/chalcopyrite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/chalcopyrite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/chromite.json b/kubejs/assets/gtceu/alloys/chromite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/chromite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/cinnabar.json b/kubejs/assets/gtceu/alloys/cinnabar.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/cinnabar.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/cobaltite.json b/kubejs/assets/gtceu/alloys/cobaltite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/cobaltite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/cooperite.json b/kubejs/assets/gtceu/alloys/cooperite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/cooperite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/diatomite.json b/kubejs/assets/gtceu/alloys/diatomite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/diatomite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/electrotine.json b/kubejs/assets/gtceu/alloys/electrotine.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/electrotine.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/emerald.json b/kubejs/assets/gtceu/alloys/emerald.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/emerald.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/fullers_earth.json b/kubejs/assets/gtceu/alloys/fullers_earth.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/fullers_earth.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/galena.json b/kubejs/assets/gtceu/alloys/galena.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/galena.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/garnet_sand.json b/kubejs/assets/gtceu/alloys/garnet_sand.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/garnet_sand.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/garnierite.json b/kubejs/assets/gtceu/alloys/garnierite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/garnierite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/glauconite_sand.json b/kubejs/assets/gtceu/alloys/glauconite_sand.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/glauconite_sand.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/goethite.json b/kubejs/assets/gtceu/alloys/goethite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/goethite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/granitic_mineral_sand.json b/kubejs/assets/gtceu/alloys/granitic_mineral_sand.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/granitic_mineral_sand.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/green_sapphire.json b/kubejs/assets/gtceu/alloys/green_sapphire.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/green_sapphire.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/grossular.json b/kubejs/assets/gtceu/alloys/grossular.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/grossular.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/gypsum.json b/kubejs/assets/gtceu/alloys/gypsum.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/gypsum.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/hematite.json b/kubejs/assets/gtceu/alloys/hematite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/hematite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/ilmenite.json b/kubejs/assets/gtceu/alloys/ilmenite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/ilmenite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/kyanite.json b/kubejs/assets/gtceu/alloys/kyanite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/kyanite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/lapis.json b/kubejs/assets/gtceu/alloys/lapis.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/lapis.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/lazurite.json b/kubejs/assets/gtceu/alloys/lazurite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/lazurite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/lepidolite.json b/kubejs/assets/gtceu/alloys/lepidolite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/lepidolite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/magnetite.json b/kubejs/assets/gtceu/alloys/magnetite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/magnetite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/malachite.json b/kubejs/assets/gtceu/alloys/malachite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/malachite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/mica.json b/kubejs/assets/gtceu/alloys/mica.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/mica.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/molybdenite.json b/kubejs/assets/gtceu/alloys/molybdenite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/molybdenite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/olivine.json b/kubejs/assets/gtceu/alloys/olivine.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/olivine.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/pentlandite.json b/kubejs/assets/gtceu/alloys/pentlandite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/pentlandite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/pitchblende.json b/kubejs/assets/gtceu/alloys/pitchblende.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/pitchblende.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/pollucite.json b/kubejs/assets/gtceu/alloys/pollucite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/pollucite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/powellite.json b/kubejs/assets/gtceu/alloys/powellite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/powellite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/pyrite.json b/kubejs/assets/gtceu/alloys/pyrite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/pyrite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/pyrochlore.json b/kubejs/assets/gtceu/alloys/pyrochlore.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/pyrochlore.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/pyrolusite.json b/kubejs/assets/gtceu/alloys/pyrolusite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/pyrolusite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/pyrope.json b/kubejs/assets/gtceu/alloys/pyrope.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/pyrope.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/realgar.json b/kubejs/assets/gtceu/alloys/realgar.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/realgar.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/red_garnet.json b/kubejs/assets/gtceu/alloys/red_garnet.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/red_garnet.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/redstone.json b/kubejs/assets/gtceu/alloys/redstone.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/redstone.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/ruby.json b/kubejs/assets/gtceu/alloys/ruby.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/ruby.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/sapphire.json b/kubejs/assets/gtceu/alloys/sapphire.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/sapphire.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/soapstone.json b/kubejs/assets/gtceu/alloys/soapstone.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/soapstone.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/sodalite.json b/kubejs/assets/gtceu/alloys/sodalite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/sodalite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/spessartine.json b/kubejs/assets/gtceu/alloys/spessartine.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/spessartine.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/sphalerite.json b/kubejs/assets/gtceu/alloys/sphalerite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/sphalerite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/spodumene.json b/kubejs/assets/gtceu/alloys/spodumene.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/spodumene.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/steel.json b/kubejs/assets/gtceu/alloys/steel.json new file mode 100644 index 000000000..78d07d23b --- /dev/null +++ b/kubejs/assets/gtceu/alloys/steel.json @@ -0,0 +1,12 @@ +{ + "components": [ + [ + "gtceu:iron", + 95.5 + ], + [ + "gtceu:carbon", + 4.5 + ] + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/stibnite.json b/kubejs/assets/gtceu/alloys/stibnite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/stibnite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/talc.json b/kubejs/assets/gtceu/alloys/talc.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/talc.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/tantalite.json b/kubejs/assets/gtceu/alloys/tantalite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/tantalite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/tarkianite.json b/kubejs/assets/gtceu/alloys/tarkianite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/tarkianite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/tetrahedrite.json b/kubejs/assets/gtceu/alloys/tetrahedrite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/tetrahedrite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/topaz.json b/kubejs/assets/gtceu/alloys/topaz.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/topaz.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/tricalcium_phosphate.json b/kubejs/assets/gtceu/alloys/tricalcium_phosphate.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/tricalcium_phosphate.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/trona.json b/kubejs/assets/gtceu/alloys/trona.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/trona.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/vanadium_magnetite.json b/kubejs/assets/gtceu/alloys/vanadium_magnetite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/vanadium_magnetite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/wulfenite.json b/kubejs/assets/gtceu/alloys/wulfenite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/wulfenite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/yellow_garnet.json b/kubejs/assets/gtceu/alloys/yellow_garnet.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/yellow_garnet.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/yellow_limonite.json b/kubejs/assets/gtceu/alloys/yellow_limonite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/yellow_limonite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/alloys/zeolite.json b/kubejs/assets/gtceu/alloys/zeolite.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/gtceu/alloys/zeolite.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file From 5eaa31d14fb283b3c14d47c9d5058e7772dafb26 Mon Sep 17 00:00:00 2001 From: Jeuv <73312791+Jeuvke@users.noreply.github.com> Date: Tue, 6 Jan 2026 14:14:29 -0300 Subject: [PATCH 017/474] Add Tree Indices to the TFC Guidebook (#2638) * Added Earth Trees Index Signed-off-by: Jeuv <73312791+Jeuvke@users.noreply.github.com> * Added Mars Tree Index Signed-off-by: Jeuv <73312791+Jeuvke@users.noreply.github.com> * Fix corkscrew willow name Signed-off-by: Jeuv <73312791+Jeuvke@users.noreply.github.com> --------- Signed-off-by: Jeuv <73312791+Jeuvke@users.noreply.github.com> --- .../arborfirmacraft/earth_tree_index.json | 205 ++++++++++++++++++ .../entries/tfg_tips/mars_tree_index.json | 48 ++++ 2 files changed, 253 insertions(+) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/earth_tree_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/mars_tree_index.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/earth_tree_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/earth_tree_index.json new file mode 100644 index 000000000..c2b52dc00 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/earth_tree_index.json @@ -0,0 +1,205 @@ +{ + "name": "Earth Tree Index", + "category": "tfc:arborfirmacraft", + "icon": "afc:wood/sapling/flame_of_the_forest", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "This is a list of every tree in the world, and what climates they grow in.$(br2)Looking for particular wood type to decorate your base? This should help you find it. The list is sorted alphabetically by wood type.$(br2)Also check out the $(l:tfc:tfg_tips/mars_tree_index)Mars Mushroom Index$()." + }, + { + "type": "patchouli:spotlight", + "title": "Acacia, Gum Arabic", + "item": "tag:tfc:acacia_logs", + "text": "$(bold)Umbrella Thorn Acacia$()$(br)$(thing)Rainfall$(): 90 — 275mm$(br)$(thing)Temperature$(): 13.4 — 40°C$(br2)$(bold)Acacia Koa$()$(br)$(thing)Rainfall$(): 350 — 500mm$(br)$(thing)Temperature$(): 15.3 — 24.4°C$(br2)$(bold)Gum Arabic$()$(br)$(thing)Rainfall$(): 90 — 275mm$(br)$(thing)Temperature$(): 11.6 — 40°C" + }, + { + "type": "patchouli:spotlight", + "title": "Ash", + "item": "tag:tfc:ash_logs", + "text": "$(bold)White Ash$()$(br)$(thing)Rainfall$(): 60 — 240mm$(br)$(thing)Temperature$(): -13.9 — 0.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "Aspen, Poplar", + "item": "tag:tfc:aspen_logs", + "text": "$(bold)Quaking Aspen$()$(br)$(thing)Rainfall$(): 350 — 500mm$(br)$(thing)Temperature$(): -15.7 — -1.1°C$(br2)$(bold)Poplar$()$(br)$(thing)Rainfall$(): 170 — 310mm$(br)$(thing)Temperature$(): -15.7 — -6.6°C" + }, + { + "type": "patchouli:spotlight", + "title": "Baobab", + "item": "tag:afc:baobab_logs", + "text": "$(bold)Baobab$()$(br)$(thing)Rainfall$(): 30 — 190mm$(br)$(thing)Temperature$(): 15.3 — 26.2°C" + }, + { + "type": "patchouli:spotlight", + "title": "Birch", + "item": "tag:tfc:birch_logs", + "text": "$(bold)Birch$()$(br)$(thing)Rainfall$(): 125 — 310mm$(br)$(thing)Temperature$(): -13.9 — 2.5°C" + }, + { + "type": "patchouli:spotlight", + "title": "Blackwood", + "item": "tag:tfc:blackwood_logs", + "text": "$(bold)Mpingo Blackwood$()$(br)$(thing)Rainfall$(): 85 — 285mm$(br)$(thing)Temperature$(): 13.4 — 22.5°C$(br2)$(bold)Mulga Blackwood$()$(br)$(thing)Rainfall$(): 35 — 150mm$(br)$(thing)Temperature$(): 9.8 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "Cedar", + "item": "tag:tfc:white_cedar_logs", + "text": "$(bold)White Cedar$()$(br)$(thing)Rainfall$(): 100 — 220mm$(br)$(thing)Temperature$(): -13.9 — 4.3°C$(br2)$(bold)Atlas Cedar$()$(br)$(thing)Rainfall$(): 165 — 500mm$(br)$(thing)Temperature$(): 8.0 — 13.4°C" + }, + { + "type": "patchouli:spotlight", + "title": "Chestnut", + "item": "tag:tfc:chestnut_logs", + "text": "$(bold)Chestnut$()$(br)$(thing)Rainfall$(): 150 — 300mm$(br)$(thing)Temperature$(): -6.6 — 11.6°C" + }, + { + "type": "patchouli:spotlight", + "title": "Cypress, Redcedar", + "item": "tag:afc:cypress_logs", + "text": "$(bold)Slender Cypress$()$(br)$(thing)Rainfall$(): 100 — 260mm$(br)$(thing)Temperature$(): 2.5 — 15.3°C$(br2)$(bold)Bald Cypress$()$(br)$(thing)Rainfall$(): 360 — 500mm$(br)$(thing)Temperature$(): -1.1 — 15.3°C$(br2)$(bold)Weeping Cypress$()$(br)$(thing)Rainfall$(): 290 — 415mm$(br)$(thing)Temperature$(): -8.4 — 4.3°C" + }, + { + "type": "patchouli:text", + "text": "$(bold)Redcedar$()$(br)$(thing)Rainfall$(): 410 — 500mm$(br)$(thing)Temperature$(): -4.8 — 9.8°C" + }, + { + "type": "patchouli:spotlight", + "title": "(Rainbow) Eucalyptus", + "item": "tag:afc:eucalyptus_logs", + "text": "$(bold)Blue Gum$()$(br)$(thing)Rainfall$(): 170 — 325mm$(br)$(thing)Temperature$(): 8.0 — 18.9°C$(br2)$(bold)Mountain Ash$()$(br)$(thing)Rainfall$(): 390 — 500mm$(br)$(thing)Temperature$(): 9.8 — 18.9°C$(br2)$(bold)Rainbow Eucalyptus$()$(br)$(thing)Rainfall$(): 300 — 450mm$(br)$(thing)Temperature$(): 15.3 — 24.4°C" + }, + { + "type": "patchouli:spotlight", + "title": "Fig, Rubber Fig", + "item": "tag:afc:fig_logs", + "text": "$(bold)Rusty Fig$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 18.9 — 26.2°C$(br2)$(bold)Rubber Fig$()$(br)$(thing)Rainfall$(): 290 — 400mm$(br)$(thing)Temperature$(): 9.8 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "Fir", + "item": "tag:tfc:douglas_fir_logs", + "text": "$(bold)Douglas Fir$()$(br)$(thing)Rainfall$(): 305 — 500mm$(br)$(thing)Temperature$(): -10.3 — 6.1°C$(br2)$(bold)Mountain Fir$()$(br)$(thing)Rainfall$(): 220 — 345mm$(br)$(thing)Temperature$(): -1.1 — 11.6°C$(br2)$(bold)Balsam Fir$()$(br)$(thing)Rainfall$(): 210 — 500mm$(br)$(thing)Temperature$(): -13.9 — -1.1°C" + }, + { + "type": "patchouli:spotlight", + "title": "Hevea", + "item": "tag:afc:hevea_logs", + "text": "$(bold)Hevea$()$(br)$(thing)Rainfall$(): 390 — 500mm$(br)$(thing)Temperature$(): 17.1 — 26.2°C" + }, + { + "type": "patchouli:spotlight", + "title": "Hickory", + "item": "tag:tfc:hickory_logs", + "text": "$(bold)Bitternut Hickory$()$(br)$(thing)Rainfall$(): 210 — 400mm$(br)$(thing)Temperature$(): -6.6 — 11.6°C$(br2)$(bold)Scrub Hickory$()$(br)$(thing)Rainfall$(): 400 — 475mm$(br)$(thing)Temperature$(): 11.6 — 17.1°C" + }, + { + "type": "patchouli:spotlight", + "title": "Ipe", + "item": "tag:afc:ipe_logs", + "text": "$(bold)Yellow Ipe$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 11.6 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "Ironwood", + "item": "tag:afc:ironwood_logs", + "text": "$(bold)King Ironwood$()$(br)$(thing)Rainfall$(): 320 — 430mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C$(br2)$(bold)Lebombo Ironwood$()$(br)$(thing)Rainfall$(): 150 — 230mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C$(br2)$(bold)Horsetail Ironwood$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 9.8 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "Kapok", + "item": "tag:tfc:kapok_logs", + "text": "$(bold)Kapok$()$(br)$(thing)Rainfall$(): 360 — 500mm$(br)$(thing)Temperature$(): 13.4 — 24.4°C$(br2)$(bold)Red Silk Cotton$()$(br)$(thing)Rainfall$(): 250 — 350mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C" + }, + { + "type": "patchouli:spotlight", + "title": "Mahogany", + "item": "tag:afc:mahogany_logs", + "text": "$(bold)Mahogany$()$(br)$(thing)Rainfall$(): 300 — 430mm$(br)$(thing)Temperature$(): 15.3 — 26.2°C$(br2)$(bold)Small Leaf Mahogany$()$(br)$(thing)Rainfall$(): 320 — 500mm$(br)$(thing)Temperature$(): 11.6 — 18.9°C$(br2)$(bold)Sapele Mahogany$()$(br)$(thing)Rainfall$(): 330 — 500mm$(br)$(thing)Temperature$(): 13.4 — 26.2°C" + }, + { + "type": "patchouli:spotlight", + "title": "Mangrove", + "item": "tag:tfc:mangrove_logs", + "text": "$(bold)Mangrove$()$(br)$(thing)Rainfall$(): 220mm+$(br)$(thing)Temperature$(): 18.0°C+$(br)Note: only spawns in Salt Marsh biomes" + }, + { + "type": "patchouli:spotlight", + "title": "Maple", + "item": "tag:tfc:maple_logs", + "text": "$(bold)Sugar Maple$()$(br)$(thing)Rainfall$(): 260 — 360mm$(br)$(thing)Temperature$(): -8.4 — 8.0°C$(br2)$(bold)Bigleaf Maple$()$(br)$(thing)Rainfall$(): 405 — 500mm$(br)$(thing)Temperature$(): -4.8 — 11.6°C$(br2)$(bold)Weeping Maple$()$(br)$(thing)Rainfall$(): 240 — 320mm$(br)$(thing)Temperature$(): 0.7 — 4.3°C" + }, + { + "type": "patchouli:spotlight", + "title": "Oak, Black Oak", + "item": "tag:tfc:oak_logs", + "text": "$(bold)Pin Oak$()$(br)$(thing)Rainfall$(): 210 — 320mm$(br)$(thing)Temperature$(): -8.4 — 6.1°C$(br2)$(bold)Live Oak$()$(br)$(thing)Rainfall$(): 390 — 500mm$(br)$(thing)Temperature$(): 0.7 — 13.4°C$(br2)$(bold)Black Oak$()$(br)$(thing)Rainfall$(): 150 — 330mm$(br)$(thing)Temperature$(): 11.6 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "Palm", + "item": "tag:tfc:palm_logs", + "text": "$(bold)Palm$()$(br)$(thing)Rainfall$(): 0 — 250mm$(br)$(thing)Temperature$(): 17.1 — 40.0°C$(br2)$(bold)Jaggery Palm$()$(br)$(thing)Rainfall$(): 400 — 500mm$(br)$(thing)Temperature$(): 20.7 — 26.2°C" + }, + { + "type": "patchouli:spotlight", + "title": "Pine", + "item": "tag:tfc:pine_logs", + "text": "$(bold)Boreal Pine$()$(br)$(thing)Rainfall$(): 60 — 270mm$(br)$(thing)Temperature$(): -19.4 — -3.0°C$(br2)$(bold)Stone Pine$()$(br)$(thing)Rainfall$(): 140 — 290mm$(br)$(thing)Temperature$(): 2.5 — 18.9°C$(br2)$(bold)Red Pine$()$(br)$(thing)Rainfall$(): 185 — 320mm$(br)$(thing)Temperature$(): -8.4 — 4.3°C" + }, + { + "type": "patchouli:text", + "text": "$(bold)Tamarack$()$(br)$(thing)Rainfall$(): 150 — 500mm$(br)$(thing)Temperature$(): -17.5 — -1.1°C" + }, + { + "type": "patchouli:spotlight", + "title": "Rosewood", + "item": "tag:tfc:rosewood_logs", + "text": "$(bold)Shisham Rosewood$()$(br)$(thing)Rainfall$(): 245 — 360mm$(br)$(thing)Temperature$(): 15.3 — 24.4°C$(br2)$(bold)Giant Rosewood$()$(br)$(thing)Rainfall$(): 340 — 440mm$(br)$(thing)Temperature$(): 15.3 — 22.5°C" + }, + { + "type": "patchouli:spotlight", + "title": "Sequoia", + "item": "tag:tfc:sequoia_logs", + "text": "$(bold)Sequoia$()$(br)$(thing)Rainfall$(): 320 — 500mm$(br)$(thing)Temperature$(): 0.7 — 8.0°C$(br2)$(bold)Coast Redwood$()$(br)$(thing)Rainfall$(): 320 — 500mm$(br)$(thing)Temperature$(): 4.3 — 9.8°C" + }, + { + "type": "patchouli:spotlight", + "title": "Spruce", + "item": "tag:tfc:spruce_logs", + "text": "$(bold)Blue Spruce$()$(br)$(thing)Rainfall$(): 330 — 500mm$(br)$(thing)Temperature$(): -19.4 — 2.5°C$(br2)$(bold)Coast Spruce$()$(br)$(thing)Rainfall$(): 320 — 390mm$(br)$(thing)Temperature$(): -12.1 — 6.1°C$(br2)$(bold)Sitka Spruce$()$(br)$(thing)Rainfall$(): 370 — 500mm$(br)$(thing)Temperature$(): 2.5 — 8.0°C" + }, + { + "type": "patchouli:text", + "text": "$(bold)Black Spruce$()$(br)$(thing)Rainfall$(): 220 — 360mm$(br)$(thing)Temperature$(): -17.5 — -1.1°C" + }, + { + "type": "patchouli:spotlight", + "title": "Sycamore", + "item": "tag:tfc:sycamore_logs", + "text": "$(bold)Sycamore$()$(br)$(thing)Rainfall$(): 330 — 480mm$(br)$(thing)Temperature$(): -6.6 — 11.6°C" + }, + { + "type": "patchouli:spotlight", + "title": "Teak", + "item": "tag:afc:teak_logs", + "text": "$(bold)True Teak$()$(br)$(thing)Rainfall$(): 215 — 330mm$(br)$(thing)Temperature$(): 13.4 — 26.2°C$(br2)$(bold)Iroko Teak$()$(br)$(thing)Rainfall$(): 210 — 320mm$(br)$(thing)Temperature$(): 17.1 — 40.0°C$(br2)$(bold)Flame of the Forest$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 13.4 — 24.4°C" + }, + { + "type": "patchouli:spotlight", + "title": "Tualang", + "item": "tag:afc:tualang_logs", + "text": "$(bold)Tualang$()$(br)$(thing)Rainfall$(): 360 — 500mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C" + }, + { + "type": "patchouli:spotlight", + "title": "Willow", + "item": "tag:tfc:willow_logs", + "text": "$(bold)Corkscrew Willow$()$(br)$(thing)Rainfall$(): 330 — 500mm$(br)$(thing)Temperature$(): -6.6 — 9.8°C$(br2)$(bold)Weeping Willow$()$(br)$(thing)Rainfall$(): 355 — 500mm$(br)$(thing)Temperature$(): 9.8 — 17.1°C" + } + ] + +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/mars_tree_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/mars_tree_index.json new file mode 100644 index 000000000..88ea256b8 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/mars_tree_index.json @@ -0,0 +1,48 @@ +{ + "name": "Mars Mushroom Index", + "category": "tfc:arborfirmacraft", + "icon": "tfg:saplings/aeronos", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "This is a list of every huge mushroom on Mars, and what climates they grow in.$(br2)Looking for particular type of mushroom stem to decorate your base? This should help you find it. The list is sorted alphabetically by stem type.$(br2)Also check out the $(l:tfc:arborfirmacraft/earth_tree_index)Earth Tree Index$()." + }, + { + "type": "patchouli:spotlight", + "title": "Aeronos", + "item": "ad_astra:aeronos_stem", + "text": "$(bold)Aeronos Mushroom$()$(br)$(thing)Temperature$(): -100°C and above$(br)Appears more often to the East." + }, + { + "type": "patchouli:spotlight", + "title": "Alphacene", + "item": "species:alphacene_mushroom_block", + "text": "$(bold)Alphacene Mushroom$()$(br)$(thing)Temperature$(): -85°C and above$(br)Appears both to the East and West." + }, + { + "type": "patchouli:spotlight", + "title": "Crimson", + "item": "beneath:wood/log/crimson", + "text": "$(bold)Crimson Mushroom$()$(br)$(thing)Temperature$(): -109 — -13°C$(br)Appears more often to the East." + }, + { + "type": "patchouli:spotlight", + "title": "Glacian", + "item": "ad_astra:glacian_log", + "text": "$(bold)Glacian Mushroom$()$(br)$(thing)Temperature$(): -107°C and below$(br)Appears both to the East and West." + }, + { + "type": "patchouli:spotlight", + "title": "Strophar", + "item": "ad_astra:strophar_stem", + "text": "$(bold)Strophar Mushroom$()$(br)$(thing)Temperature$(): -100°C and above$(br)Appears more often to the West." + }, + { + "type": "patchouli:spotlight", + "title": "Warped", + "item": "beneath:wood/log/warped", + "text": "$(bold)Warped Mushroom$()$(br)$(thing)Temperature$(): -109 — -13°C$(br)Appears more often to the West." + } + ] +} \ No newline at end of file From 7e9957c0001bb992e3b34e52e62840d14535be1d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 6 Jan 2026 17:21:30 +0000 Subject: [PATCH 018/474] langs --- kubejs/assets/ae2/lang/ja_jp.json | 23 + .../assets/endermanoverhaul/lang/ja_jp.json | 8 +- kubejs/assets/greate/lang/ja_jp.json | 6 +- kubejs/assets/gtceu/lang/en_us.json | 3 +- kubejs/assets/gtceu/lang/ja_jp.json | 16 +- kubejs/assets/gtceu/lang/uk_ua.json | 2 +- kubejs/assets/gtceu/lang/zh_cn.json | 2 +- kubejs/assets/minecraft/lang/ja_jp.json | 2 +- kubejs/assets/tfg/lang/ja_jp.json | 403 +++++++++++++----- .../assets/wan_ancient_beasts/lang/ja_jp.json | 7 + 10 files changed, 348 insertions(+), 124 deletions(-) create mode 100644 kubejs/assets/ae2/lang/ja_jp.json create mode 100644 kubejs/assets/wan_ancient_beasts/lang/ja_jp.json diff --git a/kubejs/assets/ae2/lang/ja_jp.json b/kubejs/assets/ae2/lang/ja_jp.json new file mode 100644 index 000000000..5dde0094d --- /dev/null +++ b/kubejs/assets/ae2/lang/ja_jp.json @@ -0,0 +1,23 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "gui.ae2.inWorldCraftingPresses": "Crafting Presses are obtained by breaking a Mysterious Cube. Mysterious Cubes are in the center of meteorites which can be found on the moon.", + "gui.advanced_ae.AdvPatternProvider": "", + "gui.expandedae.exp_pattern_provider": "", + "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/endermanoverhaul/lang/ja_jp.json b/kubejs/assets/endermanoverhaul/lang/ja_jp.json index 9f8aee6e7..e9b45fcc9 100644 --- a/kubejs/assets/endermanoverhaul/lang/ja_jp.json +++ b/kubejs/assets/endermanoverhaul/lang/ja_jp.json @@ -1,6 +1,6 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "entity.endermanoverhaul.nether_wastes_enderman": "Deep Cave Enderman", + "entity.endermanoverhaul.nether_wastes_enderman": "Fiery Enderman", "entity.endermanoverhaul.dark_oak_enderman": "Ashen Enderman", "entity.endermanoverhaul.mushroom_fields_enderman": "Mushroom Enderman", "entity.endermanoverhaul.swamp_enderman": "Mossy Enderman", @@ -10,7 +10,9 @@ "entity.endermanoverhaul.end_enderman": "Baritone Choral Enderman", "entity.endermanoverhaul.end_islands_enderman": "Soprano Choral Enderman", "entity.endermanoverhaul.spirit": "Comet", - "item.endermanoverhaul.nether_wastes_enderman_spawn_egg": "Deep Cave Enderman Spawn Egg", + "entity.endermanoverhaul.desert_enderman": "Lost Enderman", + "entity.endermanoverhaul.savanna_enderman": "Sandy Enderman", + "item.endermanoverhaul.nether_wastes_enderman_spawn_egg": "Fiery Enderman Spawn Egg", "item.endermanoverhaul.dark_oak_enderman_spawn_egg": "Ashen Enderman Spawn Egg", "item.endermanoverhaul.mushroom_fields_enderman_spawn_egg": "Mushroom Enderman Spawn Egg", "item.endermanoverhaul.swamp_enderman_spawn_egg": "Mossy Enderman Spawn Egg", @@ -20,6 +22,8 @@ "item.endermanoverhaul.end_enderman_spawn_egg": "Baritone Choral Enderman Spawn Egg", "item.endermanoverhaul.end_islands_enderman_spawn_egg": "Soprano Choral Enderman Spawn Egg", "item.endermanoverhaul.spirit_spawn_egg": "Comet Spawn Egg", + "item.endermanoverhaul.desert_enderman_spawn_egg": "Lost Enderman Spawn Egg", + "item.endermanoverhaul.savanna_enderman_spawn_egg": "Sandy Enderman Spawn Egg", "subtitles.endermanoverhaul.entity.cave_enderman.ambient": "Deep Cave Enderman vwoops", "subtitles.endermanoverhaul.entity.cave_enderman.hurt": "Deep Cave Enderman hurts", "subtitles.endermanoverhaul.entity.dark_oak_enderman.ambient": "Ashen Enderman vwoops", diff --git a/kubejs/assets/greate/lang/ja_jp.json b/kubejs/assets/greate/lang/ja_jp.json index 1a922e2fa..fb082b655 100644 --- a/kubejs/assets/greate/lang/ja_jp.json +++ b/kubejs/assets/greate/lang/ja_jp.json @@ -221,10 +221,10 @@ "block.greate.large_andesite_alloy_cogwheel": "大きな基本型歯車", "block.greate.metal_girder_encased_andesite_alloy_shaft": "鉄骨入り基本型シャフト", "block.greate.powered_andesite_alloy_shaft": "基本型動力シャフト", + "item.greate.andesite_alloy_belt_connector": "板材ベルト", + "item.greate.stone_belt_connector": "革製ベルト", "item.greate.rubber_belt_connector": "ゴムベルト", "item.greate.silicone_rubber_belt_connector": "シリコンゴムベルト", - "block.greate.polyethylene_belt_titanium": "スチレンブタジエンゴムベルト", - "block.greate.polyethylene_belt_tungsten_steel": "スチレンブタジエンゴムベルト", - "item.greate.polyethylene_belt_connector": "スチレンブタジエンゴムベルト", + "item.greate.styrene_butadiene_rubber_belt_connector": "スチレンブタジエンゴムベルト", "item.greate.andesite_alloy_vertical_gearbox": "基本型垂直ギアボックス" } \ No newline at end of file diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 85a0c37d7..f8d1e8a7a 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -220,7 +220,8 @@ "gtceu.recipe.category.ingot_molding": "Material Molding", "block.gtceu.wire_coil.tooltip_pyro": "§8Pyrolyse Oven, Liquefaction Tower and Nuclear Fuel Factory:§r", "block.gtceu.wire_coil.tooltip_cracking": "§8Cracking Unit, Moon and Ostrum Harvesters:§r", - "tooltip.moldraw.shift_view": "§7§oHold (Shift) for Molecular Structure§r", + "tooltip.moldraw.shift_view_molecule": "§7§oHold (Shift) for Molecular Structure§r", + "tooltip.moldraw.shift_view_alloy": "§7§oHold (Shift) for Alloy Composition§r", "tagprefix.sword_head": "%s Sword Head", "tagprefix.pickaxe_head": "%s Pickaxe Head", "tagprefix.shovel_head": "%s Shovel Head", diff --git a/kubejs/assets/gtceu/lang/ja_jp.json b/kubejs/assets/gtceu/lang/ja_jp.json index 426e38373..a8dabe166 100644 --- a/kubejs/assets/gtceu/lang/ja_jp.json +++ b/kubejs/assets/gtceu/lang/ja_jp.json @@ -3,6 +3,10 @@ "block.bud_indicator": "%s Surface Bud", "block.gtceu.greenhouse": "電気温室", "block.tfg.steam_bloomery": "蒸気式塊鉄炉", + "block.tfg.steam_thermal_centrifuge": "蒸気式熱遠心分離機", + "block.tfg.steam_fuser": "蒸気式合成炉", + "block.tfg.steam_squasher": "蒸気式圧迫機", + "block.tfg.steam_presser": "蒸気式プレス機", "block.gtceu.large_solar_panel": "§9大型ソーラーアレイMK I", "block.gtceu.large_solar_panel_tier2": "§b大型ソーラーアレイMK II", "block.gtceu.large_solar_panel_tier3": "§c大型ソーラーアレイMK III", @@ -63,10 +67,10 @@ "gtceu.tooltip.machine.heat_exchanger_2": "§7Transfers heat from one fluid to another.§r", "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7Producing extra spicy Rods§r", "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7Processes raw radioactive material into fissile fuel.§r", - "gtceu.tooltip.machine.steam_bloomery_1": "§7Upgrade your Bloomery with the power of Steam!§r", - "gtceu.tooltip.machine.steam_bloomery_2": "§7Processes Iron-bearing Dusts or Ingots into Raw Iron Blooms.§r", - "gtceu.tooltip.machine.steam_bloomery_3": "§7Fueling it with Coke or Anthracite will double the output.§r", - "gtceu.tooltip.machine.steam_parallel": "§7Can process up to 8 recipes at once, which changes how much Steam is required.§r", + "gtceu.tooltip.machine.steam_bloomery_1": "§7塊鉄炉を蒸気の力でアップグレードしよう!§r", + "gtceu.tooltip.machine.steam_bloomery_2": "§7鉄系の粉もしくはインゴットを塊鉄に加工します。§r", + "gtceu.tooltip.machine.steam_bloomery_3": "§7コークスか無煙炭を燃料にすると生産速度が2倍になります。§r", + "gtceu.tooltip.machine.steam_parallel": "§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", "item.gtceu.tiny_wood_dust": "極小の木のパルプ", @@ -133,7 +137,7 @@ "item.gtceu.flawless_salt_gem": "傷のない塩の結晶", "item.gtceu.flawless_rock_salt_gem": "傷のない岩塩の結晶", "material.gtceu.ice": "氷泥", - "material.gtceu.damascus_steel": "Swine-steel", + "material.gtceu.damascus_steel": "豚鋼", "material.gtceu.air": "空気", "material.gtceu.liquid_air": "液体空気", "material.gtceu.cooperite": "クーパー鉱", @@ -143,6 +147,7 @@ "material.tfg.calorite": "カロライト", "material.tfg.etrium": "エトリウム", "material.gtceu.tarkianite": "タキアン鉱", + "material.gtceu.thorium": "トリアナイト", "material.gtceu.aluminium_silicate": "ケイ酸アルミニウム", "material.gtceu.rocket_alloy_t1": "R-AS ロケット合金", "material.gtceu.rocket_alloy_t2": "ASM-4914 チタニウムロケット合金", @@ -215,6 +220,7 @@ "gtceu.recipe.category.ingot_molding": "Material Molding", "block.gtceu.wire_coil.tooltip_pyro": "§8Pyrolyse Oven and Nuclear Fuel Factory:§r", "block.gtceu.wire_coil.tooltip_cracking": "§8Cracking Unit, Coal Liquefaction Tower, Moon and Ostrum Harvesters:§r", + "tooltip.moldraw.shift_view_molecule": "§7§oHold (Shift) for Molecular Structure§r", "tagprefix.sword_head": "%s製剣身", "tagprefix.pickaxe_head": "%s製ピッケルの頭", "tagprefix.shovel_head": "%s製シャベルの頭", diff --git a/kubejs/assets/gtceu/lang/uk_ua.json b/kubejs/assets/gtceu/lang/uk_ua.json index 6f4bb6bd3..3c45a3c75 100644 --- a/kubejs/assets/gtceu/lang/uk_ua.json +++ b/kubejs/assets/gtceu/lang/uk_ua.json @@ -205,7 +205,7 @@ "gtceu.recipe.category.ingot_molding": "Формування матеріалів", "block.gtceu.wire_coil.tooltip_pyro": "§8Піролізна піч, вежа зрідження та фабрика ядерного пального:§r", "block.gtceu.wire_coil.tooltip_cracking": "§8Установка крекінгу, місячний та острумний збирачі:§r", - "tooltip.moldraw.shift_view": "§7§oУтримуйте (Shift), щоб побачити молекулярну структуру§r", + "tooltip.moldraw.shift_view_molecule": "§7§oУтримуйте (Shift), щоб побачити молекулярну структуру§r", "tagprefix.sword_head": "%s Лезо меча", "tagprefix.pickaxe_head": "%s Лезо кайла", "tagprefix.shovel_head": "%s Лезо лопати", diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index b56445918..f38a5b92d 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -220,7 +220,7 @@ "gtceu.recipe.category.ingot_molding": "压模", "block.gtceu.wire_coil.tooltip_pyro": "§8热解炉,液化塔与核燃料工厂:§r", "block.gtceu.wire_coil.tooltip_cracking": "§8裂化机,月壤和紫金采集器:§r", - "tooltip.moldraw.shift_view": "§7§o按住(Shift)查看分子结构§r", + "tooltip.moldraw.shift_view_molecule": "§7§o按住(Shift)查看分子结构§r", "tagprefix.sword_head": "%s剑身", "tagprefix.pickaxe_head": "%s镐头", "tagprefix.shovel_head": "%s铲头", diff --git a/kubejs/assets/minecraft/lang/ja_jp.json b/kubejs/assets/minecraft/lang/ja_jp.json index 6ce5806fd..691ddc99b 100644 --- a/kubejs/assets/minecraft/lang/ja_jp.json +++ b/kubejs/assets/minecraft/lang/ja_jp.json @@ -30,7 +30,7 @@ "block.minecraft.cobbled_deepslate_stairs": "混成岩の丸石の階段", "block.minecraft.cobbled_deepslate_wall": "混成岩の丸石の塀", "block.minecraft.cracked_deepslate_bricks": "ひび割れた混成岩のレンガ", - "block.minecraft.cracked_deepslate_tiles": "ひび割れた混成岩タイルs", + "block.minecraft.cracked_deepslate_tiles": "ひび割れた混成岩タイル", "block.minecraft.deepslate": "混成岩", "block.minecraft.deepslate_brick_slab": "混成岩のレンガのハーフブロック", "block.minecraft.deepslate_brick_stairs": "混成岩のレンガの階段", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index 17087f62f..7dc6d2731 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -35,6 +35,15 @@ "biome.tfg.mars/sangnum_edge": "Sangnum Edge", "biome.tfg.mars/sangnum_plains": "Sangnum Prairie", "biome.tfg.mars/sangnum_hills": "Sangnum Moorland", + "biome.tfg.venus/arachnoids": "Venusian Arachnoids", + "biome.tfg.venus/fractured_pools": "Fractured Pools", + "biome.tfg.venus/fumaroles": "Gaseous Fumaroles", + "biome.tfg.venus/geysers": "Scalding Geysers", + "biome.tfg.venus/jagged_tablelands": "Jagged Tablelands", + "biome.tfg.venus/salt_flats": "Salt Flats", + "biome.tfg.venus/stromatolite_beach": "Stromatolite Beach", + "biome.tfg.venus/sulfuric_ravine": "Sulfuric Ravine", + "biome.tfg.venus/scorching_volcanoes": "Scorching Volcanoes", "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": "斜長岩の丸石の塀", "block.tfg.rock.mossy_cobble_moon": "斜長岩の苔むした丸石", "block.tfg.rock.mossy_cobble_moon_stairs": "斜長岩の苔むした丸石の階段", "block.tfg.rock.mossy_cobble_moon_slab": "斜長岩の苔むした丸石のハーフブロック", "block.tfg.rock.mossy_cobble_moon_wall": "斜長岩の苔むした丸石の塀", - "block.tfg.rock.mossy_bricks_moon_stone": "苔むした斜長岩のレンガ", - "block.tfg.rock.mossy_bricks_moon_stone_stairs": "苔むした斜長岩のレンガの階段", - "block.tfg.rock.mossy_bricks_moon_stone_slab": "苔むした斜長岩のレンガのハーフブロック", - "block.tfg.rock.mossy_bricks_moon_stone_wall": "苔むした斜長岩のレンガの塀", + "block.tfg.rock.mossy_bricks_moon": "苔むした斜長岩のレンガ", + "block.tfg.rock.mossy_bricks_moon_stairs": "苔むした斜長岩のレンガの階段", + "block.tfg.rock.mossy_bricks_moon_slab": "苔むした斜長岩のレンガのハーフブロック", + "block.tfg.rock.mossy_bricks_moon_wall": "苔むした斜長岩のレンガの塀", "block.tfg.rock.chiseled_bricks_moon_wall": "模様入りの斜長岩の塀", "block.tfg.rock.gravel_moon": "斜長岩の砂利", "block.tfg.spike.moon_stone_spike": "斜長岩のつらら石", "block.tfg.loose.moon_stone": "斜長岩の小石", "block.tfg.rock.aqueduct_moon_stone": "斜長岩の用水路", + "block.tfg.rock.polished_moon_wall": "磨かれた斜長岩の塀", + "block.tfg.rock.cracked_bricks_moon_stairs": "ひび割れた斜長岩のレンガ", + "block.tfg.rock.cracked_bricks_moon_slab": "ひび割れた斜長岩のレンガのハーフブロック", + "block.tfg.rock.cracked_bricks_moon_wall": "ひび割れた斜長岩のレンガの塀", "block.tfg.rock.hardened_moon_deepslate": "硬いノーライト", "block.tfg.rock.moon_deepslate_stairs": "ノーライトの階段", "block.tfg.rock.moon_deepslate_slab": "ノーライトのハーフブロック", @@ -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": "苔むしたノーライトのレンガ", + "block.tfg.rock.mossy_bricks_moon_deepslate_stairs": "苔むしたノーライトのレンガの階段", + "block.tfg.rock.mossy_bricks_moon_deepslate_slab": "苔むしたノーライトのレンガのハーフブロック", + "block.tfg.rock.mossy_bricks_moon_deepslate_wall": "苔むしたノーライトのレンガの塀", "block.tfg.rock.hardened_mars_stone": "硬い粘土質岩の", "block.tfg.rock.mars_stone_wall": "粘土質岩の塀", - "block.tfg.rock.cobble_mars_stone_wall": "粘土質岩の丸石の塀", + "block.tfg.rock.cobble_mars_wall": "粘土質岩の丸石の塀", "block.tfg.rock.mossy_cobble_mars": "粘土質岩の苔むした丸石", "block.tfg.rock.mossy_cobble_mars_stairs": "粘土質岩の苔むした丸石の階段", "block.tfg.rock.mossy_cobble_mars_slab": "粘土質岩の苔むした丸石のハーフブロック", "block.tfg.rock.mossy_cobble_mars_wall": "粘土質岩の苔むした丸石の塀", "block.tfg.rock.polished_mars_wall": "磨かれた粘土質岩の塀", - "block.tfg.rock.mossy_bricks_mars_stone": "苔むした粘土質岩のレンガ", - "block.tfg.rock.mossy_bricks_mars_stone_stairs": "苔むした粘土質岩のレンガの階段", - "block.tfg.rock.mossy_bricks_mars_stone_slab": "苔むした粘土質岩のレンガのハーフブロック", - "block.tfg.rock.mossy_bricks_mars_stone_wall": "苔むした粘土質岩のレンガの塀", - "block.tfg.rock.cracked_bricks_mars_stone_wall": "ひび割れた粘土質岩のレンガの塀", + "block.tfg.rock.mossy_bricks_mars": "苔むした粘土質岩のレンガ", + "block.tfg.rock.mossy_bricks_mars_stairs": "苔むした粘土質岩のレンガの階段", + "block.tfg.rock.mossy_bricks_mars_slab": "苔むした粘土質岩のレンガのハーフブロック", + "block.tfg.rock.mossy_bricks_mars_wall": "苔むした粘土質岩のレンガの塀", + "block.tfg.rock.cracked_bricks_mars_stairs": "ひび割れた粘土質岩のレンガの階段", + "block.tfg.rock.cracked_bricks_mars_slab": "ひび割れた粘土質岩のレンガのハーフブロック", + "block.tfg.rock.cracked_bricks_mars_wall": "ひび割れた粘土質岩のレンガの塀", "block.tfg.rock.chiseled_bricks_mars_wall": "模様入りの粘土質岩の塀", "block.tfg.rock.gravel_mars": "粘土質岩の砂利", "block.tfg.spike.mars_stone_spike": "粘土質岩のつらら石", @@ -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": "粗面岩の丸石の塀", "block.tfg.rock.mossy_cobble_venus": "粗面岩の苔むした丸石", "block.tfg.rock.mossy_cobble_venus_stairs": "粗面岩の苔むした丸石の階段", "block.tfg.rock.mossy_cobble_venus_slab": "粗面岩の苔むした丸石のハーフブロック", "block.tfg.rock.mossy_cobble_venus_wall": "粗面岩の苔むした丸石の塀", "block.tfg.rock.polished_venus_wall": "磨かれた粗面岩の塀", - "block.tfg.rock.mossy_bricks_venus_stone": "苔むした粗面岩のレンガ", - "block.tfg.rock.mossy_bricks_venus_stone_stairs": "苔むした粗面岩のレンガの階段", - "block.tfg.rock.mossy_bricks_venus_stone_slab": "苔むした粗面岩のレンガのハーフブロック", - "block.tfg.rock.mossy_bricks_venus_stone_wall": "苔むした粗面岩のレンガの塀", - "block.tfg.rock.cracked_bricks_venus_stone_wall": "ひび割れた粗面岩のレンガの塀", + "block.tfg.rock.mossy_bricks_venus": "苔むした粗面岩のレンガ", + "block.tfg.rock.mossy_bricks_venus_stairs": "苔むした粗面岩のレンガの階段", + "block.tfg.rock.mossy_bricks_venus_slab": "苔むした粗面岩のレンガのハーフブロック", + "block.tfg.rock.mossy_bricks_venus_wall": "苔むした粗面岩のレンガの塀", + "block.tfg.rock.cracked_bricks_venus_stairs": "ひび割れた粗面岩のレンガの階段", + "block.tfg.rock.cracked_bricks_venus_slab": "ひび割れた粗面岩のレンガのハーフブロック", + "block.tfg.rock.cracked_bricks_venus_wall": "ひび割れた粗面岩のレンガの塀", "block.tfg.rock.chiseled_bricks_venus_wall": "模様入りの粗面岩の塀", "block.tfg.rock.gravel_venus": "粗面岩の砂利", "block.tfg.spike.venus_stone_spike": "粗面岩のつらら石", @@ -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": "コマチアイトの丸石の塀", "block.tfg.rock.mossy_cobble_mercury": "コマチアイトの苔むした丸石", "block.tfg.rock.mossy_cobble_mercury_stairs": "コマチアイトの苔むした丸石の階段", "block.tfg.rock.mossy_cobble_mercury_slab": "コマチアイトの苔むした丸石のハーフブロック", "block.tfg.rock.mossy_cobble_mercury_wall": "コマチアイトの苔むした丸石の塀", "block.tfg.rock.polished_mercury_wall": "磨かれたコマチアイトの塀", - "block.tfg.rock.mossy_bricks_mercury_stone": "苔むしたコマチアイトのレンガ", - "block.tfg.rock.mossy_bricks_mercury_stone_stairs": "苔むしたコマチアイトのレンガの階段", - "block.tfg.rock.mossy_bricks_mercury_stone_slab": "苔むしたコマチアイトのレンガのハーフブロック", - "block.tfg.rock.mossy_bricks_mercury_stone_wall": "苔むしたコマチアイトのレンガの塀", - "block.tfg.rock.cracked_bricks_mercury_stone_wall": "ひび割れたコマチアイトのレンガの塀", + "block.tfg.rock.mossy_bricks_mercury": "苔むしたコマチアイトのレンガ", + "block.tfg.rock.mossy_bricks_mercury_stairs": "苔むしたコマチアイトのレンガの階段", + "block.tfg.rock.mossy_bricks_mercury_slab": "苔むしたコマチアイトのレンガのハーフブロック", + "block.tfg.rock.mossy_bricks_mercury_wall": "苔むしたコマチアイトのレンガの塀", + "block.tfg.rock.cracked_bricks_mercury_stairs": "ひび割れたコマチアイトのレンガの階段", + "block.tfg.rock.cracked_bricks_mercury_slab": "ひび割れたコマチアイトのレンガのハーフブロック", + "block.tfg.rock.cracked_bricks_mercury_wall": "ひび割れたコマチアイトのレンガの塀", "block.tfg.rock.chiseled_bricks_mercury_wall": "模様入りのコマチアイトの塀", "block.tfg.rock.gravel_mercury": "コマチアイトの砂利", "block.tfg.spike.mercury_stone_spike": "コマチアイトのつらら石", @@ -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": "響岩の丸石の塀", "block.tfg.rock.mossy_cobble_glacio": "響岩の苔むした丸石", "block.tfg.rock.mossy_cobble_glacio_stairs": "響岩の苔むした丸石の階段", "block.tfg.rock.mossy_cobble_glacio_slab": "響岩の苔むした丸石のハーフブロック", "block.tfg.rock.mossy_cobble_glacio_wall": "響岩の苔むした丸石の塀", "block.tfg.rock.polished_glacio_wall": "磨かれた響岩の塀", - "block.tfg.rock.mossy_bricks_glacio_stone": "苔むした響岩のレンガ", - "block.tfg.rock.mossy_bricks_glacio_stone_stairs": "苔むした響岩のレンガの階段", - "block.tfg.rock.mossy_bricks_glacio_stone_slab": "苔むした響岩のレンガのハーフブロック", - "block.tfg.rock.mossy_bricks_glacio_stone_wall": "苔むした響岩のレンガの塀", - "block.tfg.rock.cracked_bricks_glacio_stone_wall": "ひび割れた響岩のレンガの塀", + "block.tfg.rock.mossy_bricks_glacio": "苔むした響岩のレンガ", + "block.tfg.rock.mossy_bricks_glacio_stairs": "苔むした響岩のレンガの階段", + "block.tfg.rock.mossy_bricks_glacio_slab": "苔むした響岩のレンガのハーフブロック", + "block.tfg.rock.mossy_bricks_glacio_wall": "苔むした響岩のレンガの塀", + "block.tfg.rock.cracked_bricks_glacio_stairs": "ひび割れた響岩のレンガの階段", + "block.tfg.rock.cracked_bricks_glacio_slab": "ひび割れた響岩のレンガのハーフブロック", + "block.tfg.rock.cracked_bricks_glacio_wall": "ひび割れた響岩のレンガの塀", "block.tfg.rock.chiseled_bricks_glacio_wall": "模様入りの響岩の塀", "block.tfg.rock.gravel_glacio": "響岩の砂利", "block.tfg.spike.glacio_stone_spike": "響岩のつらら石", @@ -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": "苔むした永久凍土の丸石", + "block.tfg.rock.mossy_cobble_permafrost_stairs": "苔むした永久凍土の丸石の階段", + "block.tfg.rock.mossy_cobble_permafrost_slab": "苔むした永久凍土の丸石のハーフブロック", + "block.tfg.rock.mossy_cobble_permafrost_wall": "苔むした永久凍土の丸石の塀", "block.tfg.rock.polished_permafrost_wall": "磨かれた永久凍土の塀", "block.tfg.rock.mossy_bricks_permafrost": "苔むした永久凍土のレンガ", "block.tfg.rock.mossy_bricks_permafrost_stairs": "苔むした永久凍土のレンガの階段", "block.tfg.rock.mossy_bricks_permafrost_slab": "苔むした永久凍土のレンガのハーフブロック", "block.tfg.rock.mossy_bricks_permafrost_wall": "苔むした永久凍土のレンガの塀", - "block.tfg.rock.cracked_bricks_permafrost_stone_wall": "ひび割れた永久凍土のレンガの塀", + "block.tfg.rock.cracked_bricks_permafrost_stairs": "ひび割れた永久凍土のレンガの階段", + "block.tfg.rock.cracked_bricks_permafrost_slab": "ひび割れた永久凍土のレンガのハーフブロック", + "block.tfg.rock.cracked_bricks_permafrost_wall": "ひび割れた永久凍土のレンガの塀", + "block.tfg.rock.chiseled_bricks_permafrost_wall": "模様入りの永久凍土の塀", "block.tfg.rock.gravel_permafrost": "永久凍土の砂利", "block.tfg.spike.permafrost_spike": "永久凍土のつらら石", "block.tfg.loose.permafrost": "永久凍土の小石", @@ -416,17 +445,29 @@ "block.tfg.rock.cracked_bricks_stone_wall": "ひび割れた石のレンガの塀", "block.tfg.rock.aqueduct_stone": "石レンガの用水路", "block.tfg.rock.smooth_red_sandstone_wall": "滑らかな赤鉄質の砂岩の塀", + "block.tfg.rock.cut_red_sandstone_stairs": "研がれた赤鉄質の砂岩の階段", "block.tfg.rock.cut_red_sandstone_wall": "研がれた赤鉄質の砂岩の塀", + "block.tfg.rock.bricks_venus_sandstone_wall": "粗面岩の砂岩のレンガの塀", + "block.tfg.rock.cracked_bricks_venus_sandstone_stairs": "ひび割れた粗面岩の砂岩のレンガの階段", + "block.tfg.rock.cracked_bricks_venus_sandstone_slab": "ひび割れた粗面岩の砂岩のレンガのハーフブロック", + "block.tfg.rock.cracked_bricks_venus_sandstone_wall": "ひび割れた粗面岩の砂岩のレンガの塀", + "block.tfg.rock.quartz_wall": "クォーツの塀", + "block.tfg.rock.smooth_quartz_wall": "滑らかなクォーツの塀", "block.tfg.rock.raw.stromatolite": "ストロマトライト", "block.tfg.rock.spike.stromatolite": "ストロマトライトのつらら石", "block.tfg.stromatolite_cluster_small": "小さいストロマトライトの塊", "block.tfg.stromatolite_cluster_medium": "大きいストロマトライトの塊", "block.tfg.rock.raw.geyserite": "ガイザライト", "block.tfg.rock.spike.geyserite": "ガイザライトのつらら石", + "block.tfg.geyser_source_small": "小さな間欠泉", + "block.tfg.geyser_source": "間欠泉", + "block.tfg.smoker_source": "噴煙口", + "block.tfg.lava_source": "溶岩噴出口", + "block.tfg.rock.halite": "岩塩", "block.tfg.mushroom_roots": "キノコの根", "block.tfg.mushroom_sprouts": "キノコの芽", "block.tfg.charred_log": "焦げた丸太", - "block.tfg.ash_pile": "積もった灰", + "block.tfg.ash_pile": "灰", "block.tfg.pile.white_sand": "白い砂", "block.tfg.pile.black_sand": "黒い砂", "block.tfg.pile.brown_sand": "茶色い砂", @@ -441,6 +482,7 @@ "block.tfg.pile.venus_sand_covering": "粗面岩の砂", "block.tfg.pile.hematitic_sand": "赤鉄質の砂", "block.tfg.pile.hematitic_sand_covering": "赤鉄質の砂", + "block.tfg.pile.volcanic_ash": "火山灰", "block.tfg.lunar_roots": "月光のライトブルーム", "block.tfg.lunar_sprouts": "月光のライトグラス", "block.tfg.lunar_chorus_plant": "コーラスプラント", @@ -674,6 +716,8 @@ "fluid.tfg.sulfur_fumes": "Dense Sulfuric Fumes", "fluid.tfg.geyser_slurry": "Super Heated Slurry", "fluid.tfg.cryogenized_fluix": "超低温液化フルーシュ", + "fluid.tfg.bw_photographic_developer": "白黒写真用現像液", + "fluid.tfg.color_photographic_developer": "カラー写真用現像液", "item.tfg.antipoison_pill": "解毒の丸薬", "item.tfg.haste_pill": "採掘の丸薬", "item.tfg.night_vision_pill": "暗視の丸薬", @@ -698,7 +742,7 @@ "item.tfg.invisibility_salvo": "透明化の軟膏", "item.tfg.luck_salvo": "幸運の軟膏", "item.tfg.resistance_salvo": "耐性の軟膏", - "item.tfg.paracetamol": "アセトアミノフェン", + "item.tfg.paracetamol_pill": "パラセタモール錠", "item.tfg.rad_away_pill": "RadAway™錠", "item.tfg.paraffin_wax": "パラフィンワックス", "item.tfg.flint_arrow_head": "火打石の矢じり", @@ -1049,13 +1093,20 @@ "item.tfg.rough_endoplasmic_reticula": "粗面小胞体", "item.tfg.alpha_keratin": "α-ケラチン", "item.tfg.progenitor_cells": "前駆細胞", - "item.tfg.catalyser_pt_re_zsm": "Catalyser Pt-Re ZSM-5", - "item.tfg.used_catalyser": "Used Catalyser Pt-Re ZSM-5", - "item.tfg.loaded_resin": "Re-Loaded Resin", + "item.tfg.catalyser_pt_re_zsm": "白金-レニウム ZSM-5触媒", + "item.tfg.used_catalyser": "白金-レニウム ZSM-5触媒(使用済み)", + "item.tfg.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": "ラテックス", "material.tfg.vulcanized_latex": "加硫処理ラテックス", "material.tfg.fluix": "フルーシュ", "material.tfg.conifer_pitch": "針葉樹液", + "material.tfg.pyrogallol": "ピロガロール", "material.gtceu.lactose": "ラクトース", "material.tfg.gabbro": "斑れい岩", "material.tfg.shale": "頁岩", @@ -1172,7 +1223,7 @@ "material.tfg.reformed_aromatic_feedstock": "改質芳香族原料", "material.tfg.reformate_gas": "改質ガス", "material.tfg.cracker_off_gas": "接触改質されたオフガス", - "material.tfg.btx_fuel": "BTXガス", + "material.tfg.btx_fuel": "BTX燃料", "material.tfg.critical_steam": "Critical Steam", "material.tfg.americium_241": "アメリシウム241", "material.tfg.californium_252": "カリホルニウム252", @@ -1201,20 +1252,20 @@ "material.tfg.linolenic_acid": "α-リノレン酸", "material.tfg.isosorbide_ln": "Isosorbide Linolenate", "material.tfg.epox_isosorbide_ln": "Epoxidized Isosorbide Linolenate", - "material.tfg.ozone": "Ozone", + "material.tfg.ozone": "オゾン", "material.tfg.tin_chloride": "Stannous Chloride", "material.tfg.cyclohexanone": "Cyclohexanone", "material.tfg.cyclohex_diperoxide": "1,1-Cyclohexanediyl Dihydroperoxide", - "material.tfg.aciditic_waste": "Acidic Epoxy Waste", + "material.tfg.aciditic_waste": "酸性エポキシ廃棄物", "material.tfg.tpaoh": "Tetrapropylammonium Hydroxide", - "material.tfg.sodium_silicate": "Sodium Silicate", + "material.tfg.sodium_silicate": "ケイ酸ナトリウム", "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", - "material.tfg.clean_powder": "Re-Silicate Clean Powder", - "material.tfg.catalyser_powder": "Catalyser Re ZSM-5 Powder", - "material.tfg.sodium_aluminium": "Sodium Aluminium", + "material.tfg.leachate": "レニウム浸出液", + "material.tfg.clean_powder": "Re-Silicate Clean", + "material.tfg.catalyser_powder": "レニウム ZSM-5触媒", + "material.tfg.sodium_aluminium": "アルミン酸ナトリウム", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", @@ -1388,8 +1439,8 @@ "effect.tfg.warming": "§6Warming", "effect.tfg.instant_radiation": "Instant Radiation", "effect.tfg.chemical_burns_warning": "Suffering Chemical Burns", - "effect.tfg.poison_warning": "Toxic Material", - "effect.tfg.weak_poison_warning": "Weakly Toxic Material", + "effect.tfg.poison_warning": "Poisonous Material", + "effect.tfg.weak_poison_warning": "Weakly Poisonous Material", "effect.tfg.irritant_warning": "Irritant Material", "effect.tfg.nausea_warning": "Nauseous Material", "effect.tfg.carcinogen_warning": "Carcinogenic Material", @@ -1399,6 +1450,9 @@ "effect.tfg.berylliosis_warning": "Berylliosis", "effect.tfg.methanol_poisoning_warning": "Methanol Poisoning", "effect.tfg.carbon_monoxide_poisoning_warning": "Carbon Monoxide Poisoning", + "effect.tfg.radioactive_warning": "Irradiated", + "gtceu.medical_condition.radioactive": "§4放射性物質", + "symptom.tfg.glowing": "Glowing", "tfg.greate.uls_limit": "§432§r (§8ULS§r)", "tfg.greate.ls_limit": "§f128§r (§7LS§r)", "tfg.greate.windmill_hint_1": "Windmills are affected by relative", @@ -1522,10 +1576,11 @@ "tfg.tooltip.hotornot_hot_equipment": "§7Provides protection from all §6hot§7 items, fluids, and pipes.§r", "tfg.tooltip.hotornot_cold_equipment": "§7Provides protection from all §bcold§7 items, fluids, and pipes.§r", "tfg.tooltip.hotornot_floating_equipment": "§7Provides protection from all §elighter-than-air§7 gases.§r", - "tfg.tooltip.machine.one_energy_hatch": "Accepts exactly §6One§r Energy Hatch", - "tfg.tooltip.machine.two_energy_hatches": "Accepts up to §6Two§r Energy Hatches", + "tfg.tooltip.machine.one_energy_hatch": "Accepts exactly §6One§r Energy Hatch.", + "tfg.tooltip.machine.two_energy_hatches": "Accepts up to §6Two§r Energy Hatches.", "tfg.tooltip.machine.subtick": "This machine supports §2Subticking§r!", - "tfg.tooltip.machine.coil_energy_discount": "Every coil after §6Cupronickel§r reduces energy usage by §r10%§7.§r", + "tfg.tooltip.machine.coil_energy_discount": "Every coil after §6Cupronickel§r reduces energy usage by 10%.", + "tfg.tooltip.machine.coil_speed_discount": "§6Cupronickel§r coils process 75% slower. Every coil after §3Kanthal§r increases processing speed by 50%.", "tfg.tooltip.machine.bioreactor_1": "§7Chemistry meets Biology§r", "tfg.tooltip.machine.bioreactor_2": "§7Combines organic and inorganic ingredients to produce synthetic biological products.§r", "tfg.tooltip.machine.growth_chamber_1": "§7Growing new life§r", @@ -1551,9 +1606,9 @@ "tfg.tooltip.single_itemstack_bus.0": "§6Item Slots: §f1", "tfg.tooltip.single_itemstack_bus.1": "§6Stack Size: §f1", "tfg.tooltip.growth_chamber": "This machine can run more recipes at once by increasing the number of layers.", - "tfg.tooltip.wireless_card_1": "Enables wireless connections from any range, even from different planets!", - "tfg.tooltip.wireless_card_2": "Items can still be transferred through the terminal, but at a very high power cost.", - "tfg.tooltip.wireless_card_3": "Use a §dRailgun§r for your interplanetary logistical needs instead.", + "tfg.tooltip.wireless_card_1": "どんな距離でも無線接続ができます。それがたとえ他の惑星であったとしても。", + "tfg.tooltip.wireless_card_2": "アイテムの受け渡しは可能ですが、電力の負荷が非常に高いです。", + "tfg.tooltip.wireless_card_3": "惑星間の物流には§dレールガン§rを利用してみるのもいいですね。", "tfg.tooltip.component.blue_ice": "Can be placed inside a Fission Reactor to increase the maximum heat by §90.5§r", "tfg.tooltip.component.aes_insulation_frame": "Can be placed inside a Fission Reactor to increase the maximum heat by §91§r", "tfg.tooltip.component.glacian_fur": "Can be placed inside a Fission Reactor to increase the maximum heat by §92§r", @@ -1585,6 +1640,8 @@ "tfg.gui.consumes": "Consumes: ", "tfg.gui.per_cycle": "per cycle", "tfg.gui.cycle_duration": "Cycle duration: ", + "tfg.emi.bacon_requirement": "Bacon - The Raw Pork must be smoked first", + "tag.item.tfg.dried_fruit": "Dried Fruit", "tfc.jei.flint_knapping": "Flint Knapping", "tfc.jei.straw_knapping": "Straw Knapping", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Dyeing", @@ -1637,6 +1694,7 @@ "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_brown_block": "Dyeing", "tfc.recipe.barrel.tfg.barrel.treated_chipboard_composite": "Treating Chipboard Composite", "tfc.recipe.barrel.tfg.barrel.soak_hardwood_strip": "Soaking Hardwood Strips", + "tfc.recipe.barrel.tfg.barrel.treated_wood_dust": "Treating Wood Dust", "tfc.recipe.barrel.tfg.barrel.treated_wood_planks": "Treating Wood Planks", "tfc.recipe.barrel.tfg.barrel.packed_ice": "Freezing Ice", "tfc.recipe.barrel.tfg.barrel.cooling_water_1": "Cooling Water", @@ -1648,6 +1706,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", @@ -1658,6 +1718,7 @@ "tfg.food_recipe.smoking": "Smoking", "tfg.food_recipe.drying": "Drying", "tfg.food_recipe.freeze_drying": "Desiccate", + "tfg.food_recipe.deep_frying": "Deep Frying", "tfg.recipe.macerator_warning": "Only outputs first slot until HV", "tfg.grapplemod.repair": "Repair recipe, keeps your upgrades. §lNEVER combine two grapples or you'll lose ALL your upgrades!§r", "tfg.grapplemod.upgrades.maxlen": "Increases §lMax Length§r by 20, up to 200.", @@ -1793,9 +1854,12 @@ "quests.ae2.wireless_access.desc": "&5EV&rに到達すると、ME無線アクセスポイントにアクセスできるようになります。これは基本的に、MEネットワークのWiFiルーターのようなものです。基地の中心に接続し、範囲(および電力消費)を増やすために、好きなだけ無線ブースターを挿入し、その後無線ターミナルをリンクします。\n\nエポキシとロジウムがあれば、すべての無線ターミナルをユニバーサルターミナルを通じて統合できるようになります!", "quests.ae2.interplanetary_wireless.subtitle": "どうしたの?忘れ物?", "quests.ae2.interplanetary_wireless.desc": "この特別なカードを使って無線ターミナルをアップグレードすることで、どんな距離からでも、さらには別の惑星や別次元からでもネットワークにアクセスできるようになります!\nまるで夢のような話ですが、ひとつ大きな問題があります——アイテムの転送には膨大な量のエネルギーが必要です。\n\nこれをある程度回避するためには、エナジーカードを導入し、放電モードに設定したバッテリーをインベントリに入れておくことができます。\n「地球に忘れものをした!」というときなどには十分に役立つでしょう。\n\nただし、本格的な惑星間輸送を行いたい場合は、レールガンが必要になります。", + "quests.ae2.universal_circuits.title": "ユニバーサル回路", + "quests.ae2.universal_circuits.subtitle": "ユニバーサルデザイン", + "quests.ae2.universal_circuits.desc": "ユニバーサル回路アイテムが何のためにあるのか、不思議に思ったことはありませんか?クエストのアイコンとしてわかりやすいって?まあそれもそうですが、それ以外では、主にAE2の自動クラフトで使うことができます!\n\nAE2でパターンを用いて自動クラフトをする際に、ユニバーサル回路はそのティアーの回路を要求するレシピに対応させることができます。そして、新しい種類の回路を利用するようになっても、新しい回路をユニバーサル回路へ変換するパターンを1つ追加するだけで済むというわけです。そうすることで、もともと使っていたパターンを新しい回路を使うように更新するという手間を省くことができます。", "quests.ae2.iv.title": "IV Tier AE2", "quests.ae2.iv.desc": "この先で紹介されているものは全て&1IV&rから利用可能です!", - "quests.ae2.accumulation_press.desc": "&eこの新しい金型&rのためには多少の準備と資源が必要です。\n\nまずは内破圧縮機に&1IVのエネルギーハッチを&r取り付けてアップグレードしてください。\n\n次に、まだ持っていなければIV以上のレーザー刻印機を用意してください。\n\n最後に大量の工業TNTを揃えてください。使えるのは&c工業TNTだけ&rです。\n\n手間と資材がかかる工程ですので、実行前にしっかり計画を立ててください。", + "quests.ae2.accumulation_press.desc": "&eこの新しい金型&rのためには多少の準備と資源が必要です。\n\nまずは内破圧縮機に&52つのEVエネルギーハッチ&rを取り付けてアップグレードしてください。\n\n次に、まだ持っていなければIV以上のレーザー刻印機を用意してください。\n\n最後に大量の工業TNTを揃えてください。使えるのは&c工業TNTだけ&rです。\n\n手間と資材がかかる工程ですので、実行前にしっかり計画を立ててください。", "quests.ae2.accumulation_processor.desc": "&eAccumulation_Processor&rを作るには、かなりの量のケイ素が必要です。\n\nケイ素の生産・精錬体制を整備しておくことをおすすめします。\n\nとにかく大量に使うので、事前にしっかり準備しておきましょう!", "quests.ae2.mega_crafting.desc": "これは&bクラフティングCPU&rの便利な強化パーツです。\n\n自動クラフトの処理速度を高め、大きなクラフト作業もスムーズにこなせるようになります。", "quests.ae2.mega_battery.desc": "&e大きい蓄電器&rは大きいネットワークのために。それだけのことです。", @@ -1820,9 +1884,72 @@ "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は、&7TerraFirmaGreg&rにおける最大のストレージコンポーネントです。実際にはほとんど必要ないと思いますが、欲しくなる人もいるかもしれません。", + "quests.ae2.cell_component_64m.desc": "&c64MMEGAストレージコンポーネント&rは、&cTerraFirmaGreg&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.combat_tips.stone_main.title": "Stone Age", + "quests.combat_tips.hammer.title": "Hammers", + "quests.combat_tips.hammer.subtitle": "It's hammer time!", + "quests.combat_tips.hammer.description": "While combat may not be the first thing you think to do with your hammer, it can be surprisingly effective. Hammers deal &2Crushing&r damage which can help you against Skeletons. \n\nFor more information on &cDamage Types&r consult the &3Field Guide&r.", + "quests.combat_tips.hammer.task": "Any Hammer", + "quests.combat_tips.javelin.title": "Javelins", + "quests.combat_tips.javelin.subtitle": "Caveman's bow", + "quests.combat_tips.javelin.description": "If you want to keep your foes away from you, javelins are the weapon for you. They are the earliest ranged weapons you will have available to you. They deal &9Piercing&r damage, which can help you against Zombies. \n\nFor more information on &cDamage Types&r consult the &3Field Guide&r. \n\nOnce you acquire leather you will be able to craft a &5Quiver&r which allows you to have easy access to up to 8 javelins! ", + "quests.combat_tips.javelin.task": "Any Javelin", + "quests.combat_tips.axe.title": "Axes", + "quests.combat_tips.axe.subtitle": "Good for more than wood", + "quests.combat_tips.axe.description": "Until you can upgrade, an axe will be your most reliable weapon. Along with high damage, they deal &6Slashing&r damage, which will help you against Creepers. \n\nFor more information on &cDamage Types&r consult the &3Field Guide&r.", + "quests.combat_tips.axe.task": "Any Axe", + "quests.combat_tips.knife.title": "Knives", + "quests.combat_tips.knife.subtitle": "Stabby stabby", + "quests.combat_tips.knife.description": "Knives are most useful for crafting, but they can be a weapon in a pinch. They deal &9Piercing&r damage, which can help you against Zombies. \n\nFor more information on &cDamage Types&r consult the &3Field Guide&r.", + "quests.combat_tips.knife.task": "Any Knife", + "quests.combat_tips.club.title": "Flint Club", + "quests.combat_tips.club.subtitle": "Gronk Bonk", + "quests.combat_tips.club.description": "The flint clubs are rather unconventional weapons. Instead of dealing damage, they will break your target's bones, stopping them in their tracks.\n\nBoth the standard and fortified flint clubs can be crafted with primitive materials. The fortified flint club boasts a faster attack speed and more durability.", + "quests.combat_tips.mold_main.title": "Primitive Metallurgy", + "quests.combat_tips.wood_shield.title": "Wooden Shield", + "quests.combat_tips.wood_shield.subtitle": "Skeletons hurt, like a lot", + "quests.combat_tips.wood_shield.description": "A shield will protect you from most damage sources you point it at. Be warned, it will &4not&r protect you from explosions.", + "quests.combat_tips.leather.title": "Leather Armor", + "quests.combat_tips.leather.subtitle": "Clothes at last", + "quests.combat_tips.leather.description": "Once you have leather, you will be able to get your first true armor. It isn't great, but it will provide that extra protection you may need. \n\nThey also give you a slight resistance to &6Slashing&r damage.", + "quests.combat_tips.mold_weapons.title": "Molded Weapons", + "quests.combat_tips.mold_weapons.subtitle": "The power of metal", + "quests.combat_tips.mold_weapons.description": "Molds allow you to make copper and bronze versions of all weapons, including three new types: Swords, Scythes, and Maces. \n\nSwords: These well rounded weapons deal &6Slashing&r damage. \n\nScythes: They do more damage than swords, but are slower. They deal &6Slashing&r damage. \n\nMaces: They are the best weapons that deal &2Crushing&r damage.", + "quests.combat_tips.mold_weapons.task1": "Any Sword", + "quests.combat_tips.mold_weapons.task2": "Any Scythe", + "quests.combat_tips.mold_weapons.task3": "Any Mace", + "quests.combat_tips.bow.title": "Bow and Arrow", + "quests.combat_tips.bow.subtitle": "Then I took an arrow to the knee...", + "quests.combat_tips.bow.description": "While javelins are cool, it's hard to beat a bow and arrow. Arrows can be expensive, so setting up a bird farm isn't a bad idea. Arrows deal &9Piercing&r damage. \n\nOnce you have leather you will be able to craft a &5Quiver&r which allows you to have easy access to up to 8 stacks of arrows!", + "quests.combat_tips.bow.task2": "Any Arrow", + "quests.combat_tips.bronze_main.title": "Bronze Age", + "quests.combat_tips.forged_weapons.title": "Forged Weapons", + "quests.combat_tips.forged_weapons.subtitle": "To wrought iron and beyond!", + "quests.combat_tips.forged_weapons.description": "From wrought iron and above you will need the appropriate anvil to forge them. Additionally, the anvil unlocks butchery knives. \n\nButchery Knives: Faster than swords, but do less damage. They allow you to get &cdouble&r meat from mobs. This doesn't affect any other drops.", + "quests.combat_tips.forged_weapons.task": "Any Butchery Knife", + "quests.combat_tips.shield.title": "Metal Shield", + "quests.combat_tips.shield.subtitle": "Premium protection", + "quests.combat_tips.shield.description": "Now these are some real shields. Using one of these will protect you from any damage, including explosions. \n\nThey also come in a bunch of fun shapes!", + "quests.combat_tips.shield.task": "Any Metal Shield", + "quests.combat_tips.armor.title": "Metal Armor", + "quests.combat_tips.armor.subtitle": "Only the shiniest suit of armor", + "quests.combat_tips.armor.description": "Metal armor requires a two-step forging process, but don't be scared off by its difficulty. Metal armor will boost your survival chances going into the &dBeneath&r or if you fight off a group of &3Illagers&r.\n\nAll metal armor will give you bonus protection to &6Slashing&r, &9Piercing&r, and &2Crushing&r damage", + "quests.combat_tips.armor.task1": "Any Metal Helmet", + "quests.combat_tips.armor.task2": "Any Metal Chestplate", + "quests.combat_tips.armor.task3": "Any Metal Greaves", + "quests.combat_tips.armor.task4": "Any Metal Boots", + "quests.combat_tips.iron_main.title": "Iron Age", + "quests.combat_tips.crossbow.title": "Crossbow", + "quests.combat_tips.crossbow.subtitle": "It's like a manual gun", + "quests.combat_tips.crossbow.description": "Quite simply, it functions the same as the vanilla crossbow. Similar to the bow you can use a &5Quiver&r to hold up to 8 stacks of arrows.", + "quests.combat_tips.flintlock_mechanism.title": "Flintlock Mechanism", + "quests.combat_tips.flintlock_mechanism.subtitle": "Sparks on demand!", + "quests.combat_tips.flintlock_mechanism.description": "This is your first &2Gun Mechanism&r, which are the main crafting components of most guns. The &6Flintlock Mechanism&r allows you to make your first two guns! The first of which is the &9Flintlock Pistol&r.\n\nOnce you acquire steel you will be able to make a much cheaper &6Flintlock Mechanism&r.", + "quests.combat_tips.flintlock_gun.title": "Flintlock Pistol", + "quests.combat_tips.flintlock_gun.subtitle": "Eat Lead!", + "quests.combat_tips.flintlock_gun.description": "Well this is the moment you have been waiting for, it's a gun. Now it's not that good of a gun, but technology has to start somewhere. Guns have many advantages compared to other ranged weapons, useful to you now is that &3Glayzes&r and &2Klayzes&r cannot block bullets.\n\nFor more information on how TACZ guns work view the gun at the top of this quest chapter.", "quests.tasktype.checkmark": "Click here to complete this quest/task", "quests.tasktype.item.any": "Any Item of type:", "quests.tasktype.lookat": "Look at a:", @@ -1833,6 +1960,7 @@ "quests.groups.interstellar": "恒星間時代", "quests.groups.technological_help": "攻略のための知識", "quests.groups.tips": "Tips", + "quests.groups.space_survival": "宇宙のあるきかた~無事に生還するために", "quests.computer": "ComputerCraft", "quests.computer.subtitle": "Luaスクリプトが扱える人にとっては強力なMod", "quests.create_logistics": "Createの物流システム", @@ -1864,11 +1992,11 @@ "quests.create_logistics.rose_quartz.title": "高度な物流システムについて", "quests.create_logistics.rose_quartz.subtitle": "自動化に懸ける情熱", "quests.create_logistics.rose_quartz.desc": "梱包物をただ運搬するだけで満足していませんか?Createのさらに高度な物流システムを使えば、&aインベントリの中身を読み取ったり&r、&a遠隔で配送したり&r、さらに後には&aアイテムの量に応じて自動で材料を加工ラインに送る&r といったことまで可能になります。\n\nただし、&2高度な物流&rに取り掛かる前にはいくつか準備が必要です。\n\nこのような仕組みを作るために必要な&d送信機&rは、非常に特殊な鉱石である&dローズクォーツ&rを利用したレーザー加工によって作ることができます。まずは&3レーザー刻印機&rと&dローズクォーツレンズ&rを用意しましょう", - "quests.create_logistics.cold_rose_quartz.title": "ローズクオーツの確保:極寒地域", + "quests.create_logistics.cold_rose_quartz.title": "ローズクォーツの確保:極寒地域", "quests.create_logistics.cold_rose_quartz.subtitle": "北へ", - "quests.create_logistics.cold_rose_quartz.desc.1": "&dローズクォーツ&rのレンズを作るための高品質な鉱石は、はるか北方の極寒(&b-10°C&r以下)の地にのみ存在します。カオリン探しの悪夢がよみがえっていましたか?\n\nローズクォーツは古代の巨大な氷塊の中心部にしか形成されず、そのような氷塊が最終的にたどり着くであろう海岸、湖、平原、海中などを探す必要があります。簡単には見つかりませんが、氷塊は外側が&b青氷&rで覆われているため、見た目で判別可能です。&dローズクォーツ&rはその内部にあり、外側に鉱石、最も中心部には原石の塊として生成されています。\n\n必要なのは&d精巧なローズクォーツ&rで、これは採掘した原石を&3粉砕、洗浄した後にふるいにかける&rことで入手できます。精巧な宝石が出る確率は3%ですが、1つ確保できれば十分です。 \n\n&c&l注意:鉱石を精錬してはいけません!その方法では通常品質のローズクォーツしか得られません...&r", + "quests.create_logistics.cold_rose_quartz.desc.1": "&dローズクォーツ&rのレンズを作るための高品質な鉱石は、はるか北方の極寒(&b-10°C&r以下)の地にのみ存在します。カオリン探しの悪夢がよみがえっていましたか?\n\nローズクォーツは古代の巨大な氷塊の中心部にしか形成されず、そのような氷塊が最終的にたどり着くであろう海岸、湖、平原、海中などを探す必要があります。簡単には見つかりませんが、氷塊は外側が&b青氷&rで覆われているため、見た目で判別可能です。&dローズクォーツ&rはその内部にあり、外側に鉱石、最も中心部には原石の塊として生成されています。\n\n必要なのは&d精巧なローズクォーツ&rで、これは採掘した原石を&3粉砕、洗浄した後にふるいにかける&rことで入手できます。精巧な宝石が出る確率は3%ですが、1つ確保できれば十分です。 \n\n&c&l注意:鉱石を精錬してはいけません!その方法では通常品質のローズクォーツしか得られません...&r", "quests.create_logistics.cold_rose_quartz.desc.2": "かつてカオリン粘土を探したときと同じように今回も準備が必要です。大量の食料、飲み水、そして移動手段を用意しましょう。(&3航空機&rを用意することも考えてもよいでしょう。)\n\nまた、&3銅の潜水装備&rを持っていくのもおすすめです。&3潜水ヘルメット&rは、&3バックタンク&rと組み合わせることで&a水中呼吸&rを可能にします(バックタンクは設置してCreateの回転力を与えることで空気を充填する必要があります)。さらに&3潜水ブーツ&rを装備すれば、&a水中移動がより楽になります&r。氷塊は海中で見つかることが多く、これらの装備がないと採掘が大変です。(陸上で見つかる場合もあります。)", - "quests.create_logistics.fabricate_rose_quartz.title": "ローズクオーツの確保:MV", + "quests.create_logistics.fabricate_rose_quartz.title": "ローズクォーツの確保:MV", "quests.create_logistics.fabricate_rose_quartz.subtitle": "本物に劣らない出来", "quests.create_logistics.fabricate_rose_quartz.desc": "高度な物流システムは進行に必須ではないので、今すぐ取り掛かる必要はありません。&bMV&rに到達すれば、自宅でもレンズを作れるようになります。&dローズクォーツ&rは、レッドストーン8個とネザークォーツ1個を混ぜた粉末から、MV以上の&bオートクレーブ&rを使うことで結晶化させることができます。その際は、通常の蒸留水ではなく&b液化氷&rを使用することで、本来の形成環境を再現する必要があります。 また、&bMV&rでは &dローズクォーツレンズ&rも&dローズクォーツプレート&rから作成可能になります。プレートを作るには、ローズクォーツブロックを作り、それを&3裁断機&rで切り出す必要があります。", "quests.create_logistics.rose_quartz_lens.title": "薔薇色のグラス", @@ -1971,11 +2099,15 @@ "quests.extreme_voltage.ev_components.title": "EVコンポーネント", "quests.extreme_voltage.ev_components.subtitle": "新たな刺客たち", "quests.extreme_voltage.ev_components.desc": "&7ここまで来れば、電圧が上がるたびに新しいコンポーネントが登場する流れにも慣れてきたことでしょう。&r\n\n&5EV&rティアでは新しい素材が要求されます。\nまずは&eネオジム&rです。鉱脈から掘り出すこともできますし、&eモナザイト&rを処理することでも大量に入手できます。\nセンサーとエミッターには&b超低温フルーシュパール&rが必要になります。&d月面&r基地の建造が完了していれば、困ることはないと思います。\nモーターの製作にはカンタルワイヤーが必要です。EBFをしっかりとアップグレードしてきたなら、MVのときよりもずっと早く作れるでしょう。合金高炉があれば、合金精錬を高速で処理できます。", + "quests.extreme_voltage.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汎用のEBFを最低2基と、複数のLCR\n&9-&r全ティアの回路、およびモーター、ポンプ、プレート、ワイヤーなど一般的なクラフト部品のAE2パターン\n&9-&r専用の鉱石処理ライン\n&9-&rEVに相当する発電能力(下記クエスト参照)\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を大量に使うことになるため、生産ラインの自動化などに注力するのもいいでしょう。", "quests.extreme_voltage.mars.title": "&4火星&r上陸", - "quests.extreme_voltage.mars.subtitle": "テラフォーマークラフト", + "quests.extreme_voltage.mars.subtitle": "地球人が攻めてきたぞ!", "quests.extreme_voltage.mars.desc.1": "&4火星&rに降り立つ前に、いくつか重要な注意点があります。\n\nまず、月と同じように&4火星&rでも敵対的なモブが出現します。宇宙服を死亡後も保持できるようにしていなかったり、EVティア相当の新しい武器を用意していない場合は、かなり苦戦するでしょう。\n\n火星は基本的に&e砂地の惑星&rですが、その中に&aオアシス&rとも呼べるような&b水&rと豊かな動植物が存在する安全な地域が点在しています。基地を建てるには最適です。\n\n一方で、砂漠地帯は非常に危険で、足元に注意しなければ命取りになることもありますが、そこには重要な資源も眠っています!", "quests.extreme_voltage.mars.desc.2": "&b液体鉱脈&rは火星全体に分布していますが、&eアンモニア交じりの重水&rだけは砂漠地帯の外でしか見つかりません。これもまた、基地を砂漠の外に建てるべき理由の一つです。\n\n&4火星&rではエネルギー面において最初はかなり苦労するでしょう。一般的な&6発電方法&rのほとんどがこの惑星では使えない、もしくはまったく役に立たないため、火星での発電はほぼ完全に&c核分裂炉&rに頼ることになります。\n&bラポトロンクリスタル&rなどの&b充電済みバッテリー&rを初動の電源として持っていき、トリウム燃料棒での核分裂炉の運用を目指すのがおすすめです。\n\n火星で電力を安定供給できるようにするには時間と手間がかかりますが、すべてのシステムが順調に稼働し始めたとき、あなたはまるで&9無限の力&rを手にしたように感じるでしょう。", "quests.extreme_voltage.mars.desc.3": "最後にもう一つのアドバイスです。動物は大事にしましょう。中には&a家畜&rとして&f飼いならす&rことができる動物もおり、後の進行で必ず必要になります。\n\nまた、「&a宇宙のあるきかた&r」の章にも火星での生活に関する情報があるので、ぜひ確認してみてください。\n\n常に警戒を怠らず、計画的に行動すれば、火星はあなたの勇気に必ず報いてくれるでしょう。", @@ -2002,8 +2134,8 @@ "quests.extreme_voltage.refrigerant_pellet.desc": "&dプルトニウム燃料棒&rは非常に高温で動作するため、そのままではすぐにクールダウンモードに入ってしまいます。そこで、炉内に&b冷媒ペレット&rを投入して温度を抑える必要があります。\n\nペレットはやや高価ですが、序盤でも十分量産でき、数本のプルトニウムロッドを動かす分は問題なく確保できます。プルトニウムロッド1本を使い切るには、だいたい&9256個&rほど必要です。\n\n後々、こうした消耗品を作り続けるのが煩わしいと感じるようになったら、&6上位の耐熱フレーム&rを作りましょう。これらを組み込めば、原子炉は最大&e600Heat&rまで安全に耐えられるようになり、効率も安定性も大きく向上します。\n\n早いうちからコンポーネントを改善して、より楽な核分裂ライフを送りましょう!", "quests.extreme_voltage.important_info.title": "火星での暮らし方", "quests.extreme_voltage.important_info.subtitle": "火星移住プロジェクト", - "quests.extreme_voltage.important_info.desc.1": "ここでは&c火星&rでの拠点づくりに役立つ情報をお教えします。\n\n探索中に見つけた&6火星の遺跡&rの中から、&e原子マシン外装&rや&e高温精錬用マシン外装&rなどを入手できることがあります。これだけで十分に確保するのは厳しいですが、資源が足りない時のちょっとした助けになるでしょう。&r", - "quests.extreme_voltage.important_info.desc.2": "火星でインフラをどう整えるかについては、大きく二つの方針があります。\n\n&r•&aすべてを用意する&r:拠点を構える前に、&6核分裂ライン&rを完全に動かすために必要な設備をすべて揃えておく方法です。膨大な素材を必要としますが、稼働後は自給自足が可能になります。\n\n•&a段階的に進める&r:最初は、最低限核分裂ラインを動かすための、&6核燃料形成機&r、&eトリウム&r、&6核分裂炉&rそして&6原子力蒸気タービン&rのみを用意する方法です。\nこのやり方は早く始められますが、核分裂システムが安定するまではエネルギー管理がかなり大変です。\n\nどちらを選ぶにしても、拠点建造前に必ず火星の探索を行うことを強くおすすめします!", + "quests.extreme_voltage.important_info.desc.1": "ここでは&c火星&rでの拠点づくりに役立つ情報をお教えします。\n\nひとまずは拠点を建てる前に、火星の探索をしてみましょう。", + "quests.extreme_voltage.important_info.desc.2": "火星でインフラをどう整えるかについては、大きく二つの方針があります。\n\n&r•&aすべてを用意する&r:拠点を構える前に、&6核分裂ライン&rを完全に動かすために必要な設備をすべて揃えておく方法です。膨大な素材を必要としますが、稼働後は自給自足が可能になります。\n\n•&a段階的に進める&r:最初は、最低限核分裂ラインを動かすための、&6核燃料形成機&r、&eトリウム&r、&6核分裂炉&rそして&6原子力蒸気タービン&rのみを用意する方法です。\nこのやり方は早く始められますが、核分裂システムが安定するまではエネルギー管理がかなり大変です。", "quests.extreme_voltage.important_info.desc.3": "火星ではどの種類の燃焼系発電も一切使えないため、最初に機械を稼働させるときや酸素供給システムの稼働のために、&bラポトロンクリスタル&rをいくつか持ち込む必要があります。\n\nまた、&6蒸留塔&rの運用も強くおすすめします。&e火星の空気&rは処理することで、呼吸可能な&b空気&rや、ほかにもさまざまな有用ガスに変換できます。\n\n別の方法としては、圧縮ナイトロックスに必要な材料をすべて、現地で採取できるアンモニア交じりの半重水から調達することも可能です。\n\n火星で生き残るのに必要なのは運ではなく、準備です!", "quests.extreme_voltage.important_info.task": "It's Marsing Time", "quests.extreme_voltage.dense_lead.title": "高密度な鉛プレートの高速化", @@ -2144,7 +2276,7 @@ "quests.extreme_voltage.nano_ev.desc": "&bNanoCPU&rの量産体制さえ整えば、これらの回路は&bマイクロプロセッサー&r系より簡単に作れるようになってしまうかもしれません。&c核分裂ライン&rの完全自動化さえ済ませれば、上位の機械を作るのもかなり楽になります。\n\nまた、ここから先は上位のSMD部品も使えるようになることも覚えておいてください!", "quests.extreme_voltage.nano_iv.subtitle": "LuVの技術力に接近しつつある", "quests.extreme_voltage.nano_iv.desc": "こちらの&1IV&r回路も&bNanoCPUチップ&rを1つ使うという点では&bマイクロプロセッサーメインフレーム&rと同等のコストと言えます。とはいえ、こちらは次の段階へ進むために欠かせない重要な回路でもあります。", - "quests.extreme_voltage.nano_luv.subtitle": "初めてのIV回路", + "quests.extreme_voltage.nano_luv.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": "GregTechとAE2を直接接続", @@ -2178,16 +2310,16 @@ "quests.extreme_voltage.wood_distillation.desc.2": "こちらの3つは、&a木酢&rの蒸留で得られる重要な生成物です:\n\n&9-&r酢酸:アセトンの追加生産\n\n&9-&rメタノール:そこそこ重要な炭化水素\n\n&9-&rアセトン:エポキシやガソリンの材料。", "quests.extreme_voltage.wood_distillation.desc.3": "4基の&3蒸留塔&rを使った「フルコンボ」構成も可能です。&a木炭副生成物&rを一つ目の塔に投入し、&a木質タール&r、&a木質ガス&r、&a木酢&rに分離する方式です。\n\nコストに対する生産効率は最適とは言えませんが、暇つぶしとしていかがでしょうか。", "quests.extreme_voltage.wood_distillation.task": "Any of these", - "quests.extreme_voltage.new_qol.title": "新しいQoL?", - "quests.extreme_voltage.new_qol.desc": "EV組立機を解禁したことで、新たに利用できる便利なツールがいくつかあります。", + "quests.extreme_voltage.new_qol.title": "新しいQoL改善ツール", + "quests.extreme_voltage.new_qol.desc": "EV組立機を解禁したことで、新たにいくつかの便利なガジェットが利用できるようになりました。", "quests.extreme_voltage.building_gadgets.title": "Building Gadgets", - "quests.extreme_voltage.building_gadgets.subtitle": "ジャングルがボタン一つでコンクリートジャングルに!", + "quests.extreme_voltage.building_gadgets.subtitle": "ボタン一つでジャングルがコンクリートジャングルに!", "quests.extreme_voltage.building_gadgets.desc": "工場をもっと拡張したい?マルチブロックをそのままコピーして設置したい?それとも目の前の山が邪魔で景色が見えない?\n\nそんな悩みは「Building Gadgets」で全部解決!建築を便利にしてくれる優秀なガジェットが一式そろっていて、使い方のマニュアルまで付いています。これからの建築作業が一気に楽になります!", "quests.extreme_voltage.gasoline.title": "ガソリン", "quests.extreme_voltage.gasoline.desc": "&aガソリン&rはとんでもなく強力な燃焼燃料で、なんと&dディーゼル&rの3倍以上の燃料価を誇ります!\n\n&9補足:&rガソリンの精製は、石油処理の愛好家や強力な燃料を欲する挑戦者に向けた高難易度チャレンジです。\n\n完全に任意の要素なので、作成工程はあえてノーヒントです。あなたはいったいどう攻略するのでしょうか!?", "quests.extreme_voltage.radiation.title": "放射性物質の取り扱い方", "quests.extreme_voltage.radiation.subtitle": "なかなか刺激的な物質", - "quests.extreme_voltage.radiation.desc.1": "GregTechでは、他のMODのように「放射線が周囲に漂う」といったことはありませんが、&a放射性のアイテム&rは危険です!\n\n説明欄に&e「発がん性」&rと書かれていて、&e「接続先」&rとあるものはすべて対象になります。\n\n対策はいくつかありますが、一番手っ取り早く確実なのは持ち歩かないことです。パイプで流したり、バックパックや小型容器に入れて運んだりして、自身のインベントリ内に入っている時間を極力減らしましょう!", + "quests.extreme_voltage.radiation.desc.1": "GregTechでは、他のMODのように「放射線が周囲に漂う」といったことはありませんが、&a放射性のアイテム&rは危険です!\n\n説明欄に&e「放射性物質」&rと書かれていて、&e「接続先」&rとあるものはすべて対象になります。\n\n対策はいくつかありますが、一番手っ取り早く確実なのは持ち歩かないことです。パイプで流したり、バックパックや小型容器に入れて運んだりして、自身のインベントリ内に入っている時間を極力減らしましょう!", "quests.extreme_voltage.radiation.desc.2": "どうしても持ち歩かなくてはならないという時もあるでしょう、そのための方法も説明します。\n\n4つのスロットすべてに&e#ppe_armor&rとタグ付けされた装備を着用すると、放射線から身を守ることができます。しかし、これは時間とともに装備の耐久値にダメージが入ってしまいます(放射線があなたに与える影響量と同等の速度で)。ただし、&6危険物用スーツ&r(ハズマットスーツとも呼ばれます)だけは例外で、危険物からの影響を一切受けなくなります。\n\nただし、ハザマットスーツは宇宙服ではないため、火星ではハザマットスーツの着用が可能な密閉された酸素供給基地を設置するか、宇宙服の耐久値をすり減らすかを選びましょう。", "quests.extreme_voltage.radiation.desc.3": "最後に、&a/medical_condition query&rコマンドを使えば、いつでも自分の放射能汚染度を確認できます。数値が高くなりすぎると、一定間隔でダメージを受けたり、いきなり死亡してしまうこともあるため、事前に対策しておくことが大切です。\n\nもう1つの対処方法として、&bRadAway&r錠を製作し摂取する手段があります。これを1つ使用すると、蓄積している放射能汚染が50%ずつ減少します。", "quests.extreme_voltage.radiation.task": "Safety First!", @@ -2201,6 +2333,17 @@ "quests.extreme_voltage.large_generators.desc": "シングルブロックの発電機はHVまでしか対応していないため、これ以降はより大きな発電量を確保するには大型の発電機を使う必要があります。EV帯で特に優秀なのは、&d大型ガスタービン&rと&d大型燃焼エンジン&rの2つです。\n\n詳しく知りたい場合は、「GregTechの電力システム」の章をご覧ください。", "quests.extreme_voltage.large_centrifuge.subtitle": "素材のメリーゴーランド", "quests.extreme_voltage.large_centrifuge.desc": "&6大型遠心分離機&rは核分裂ラインのために必須な大型機械です。\n\nこの装置は&5EVエネルギーハッチ2つ&r取り付けることで、EBFと同じように&1IV-tier&rのレシピを処理できます。使い勝手がいいですね。\n\nこの機械は&b遠心分離モード&rと&6熱遠心分離モード&rの2つのモードを利用できます。コントローラーのインターフェースから簡単に切り替えられますが、残念ながらAE2などの自動化システムを経由して操作することはできません。\n\nこの機械があれば革新的なスピードで&a鉱石処理&rを終わらせることができます。", + "quests.extreme_voltage.btx.title": "BTX燃料", + "quests.extreme_voltage.btx.subtitle": "ニトロベンゼンの遠縁の親戚", + "quests.extreme_voltage.btx.desc.1": "&eBTX燃料&rは&e改質ガス&rの上位燃料で、1mBあたりの性能はおよそ5倍に相当します。工程はかなり手間がかかりますが、&6大型ガスタービン&rを運用するうえで非常に大きな強化となります。改質ガスと同様、この燃料は完全に再生可能で、&a樹木からの生産物&rのみで一貫して生産できます。\n\n&eBTX燃料&rの製造方法を説明するため、本処理は3つのパートに分けています。&bBTX燃料の作成法&rそのものと、&e触媒&rの作成法、そして&eレニウム&rと&e白金&rの循環方法です。", + "quests.extreme_voltage.btx.desc.2": "まずは&bBTX燃料&rの作成法から見ていきましょう。&e改質ガス&rに&e触媒&rと少量の&eプロペン&rを混合する必要があります。新しい処理ルートにより、&e合成ガス&rから&eメタノール&rを生産できるようになり、それを蒸留することで必要なプロペンを得られます。この方法なら、&e改質ガス&rの生産中に生成される合成ガスを再利用することができていいですね。\n\nその後、&6蒸留塔&rで&e木質タール&rを蒸留すれば、混合を完成させるために必要な残りの要素がすべて手に入ります。とてもシンプルですね。次のクエストでは、&e触媒&rの作り方と、それを効率良く再利用する方法について解説します。", + "quests.extreme_voltage.btx_catalyser.title": "白金-レニウム ZSM-5触媒", + "quests.extreme_voltage.btx_catalyser.subtitle": "名前が長い", + "quests.extreme_voltage.btx_catalyser.desc": "&e白金-レニウム ZSM-5触媒&rを作成するには、&a灰汁&r、&aナトリウム&r、&dネザークォーツ&rの無限供給と、&aアンモニア&rと&aエタノール&rを用意する必要があります。&bアルミニウム&rは完全に循環されますが、その他の素材は一部のみ回収されます。\n\n&dネザークォーツ&rと聞いて不安に思った方は、&e砂&rから始まるレシピチェーンを確認してみてください。&aナトリウム&rは&b海水&rの処理から簡単に入手でき、灰汁は木の灰から作れます。\n\n最後に、これらすべてを&5白金&rと&5レニウム&rと一緒に混合することで&e触媒&rが完成します。幸いこの工程ではプラチナとレニウムの両方が完全に再利用できるため、心配する必要はありません。採掘は一度きりで済みます。", + "quests.extreme_voltage.btx_loop.title": "使用済み触媒のリサイクル法", + "quests.extreme_voltage.btx_loop.subtitle": "帰るべき場所がある", + "quests.extreme_voltage.btx_loop.desc.1": "最後に、使用済み触媒のリサイクルについて確認します。全体の流れ自体は比較的シンプルですが、課題となるのは&a強化エポキシ樹脂シート&rと&eノリ&rを安定して供給し続けることでしょう。\n\nもし&2ツリータップ&rによる樹液の採集をまだ続けているのであれば、問題なくノリを生産できるでしょう。別の方法として、原木に&b抽出機&rを使用するという選択肢もあります。この方法はやや&cゴリ押し&r感がありますが、インフラ状況に応じて自由に選んでください。", + "quests.extreme_voltage.btx_loop.desc.2": "&9希塩酸&rについて補足しておくと、&b水&rと&a塩素&rを化学反応させるだけで簡単に生産できます。&d次亜塩素酸&rは貯蔵してもよいですし、必要であれば&7電解&rして&f塩素&rの&f半分&rを回収することも可能です。\n\n&6硫酸&rに関しては、すでに&e石油蒸留&rラインを通じて&a硫黄&rの無限供給が可能になっているはずです。もしまだ整っていない場合は、できるだけ早急に対応することを強く推奨します。別の案として、&b改質ガス&rの生産中に得られる&7コールタール&rを再処理し、&2硫化水素&rへ変換したうえで、最終的に&6硫黄&rへと精製することも可能です。", "quests.gregtech_energy": "GregTechの電力システム", "quests.gregtech_energy.subtitle": "第一種電気主任技術者を目指して", "quests.gregtech_energy.start.title": "説明しよう", @@ -2258,7 +2401,7 @@ "quests.gregtech_energy.lgt.title": "大型ガスタービン", "quests.gregtech_energy.lgt.subtitle": "発電機の定番", "quests.gregtech_energy.lgt.desc.1": "&6大型ガスタービン&r(通称:&dLGT&r)は、主要な二大発電手段の一つです。\n\n使えるのは&5EV&rに入ってからです。\nこのタービンは&5EV&rから&dLuV&rまで使える発電機で、大型プラズマタービンへを使うまでの頼りになります。\n\n実際、このタービンだけでTerraFirmaGregをクリアすることもできなくはないです。ただし、上位のLGTのガス消費に耐えられるしっかりしたインフラが必要です。\n\nLGTのためには、メンテナンスハッチと搬入ハッチ、マフラーハッチが必要です。搬出ハッチは不要です。", - "quests.gregtech_energy.lgt.desc.2": "デフォルトの出力は&e4096EU/t&rであり、&5EV&r以降にローターホルダーをアップグレードするごとに倍増していきます。\n\nたとえば、IVローターホルダー(×2)とHSS-E製タービンローター(タービンパワー280%)を使用するLGTは、次のように発電します:\n4096×2×2.8=&e22,937.6EU/t&r―これは&aIVでの2.8A&rに相当します。\n\nそのエネルギーを完全に取り出すためには、少なくともIV4Aダイナモハッチが必要です。なお、通常のダイナモハッチでは2Aまでしか扱えません。\n\nちなみに、タービンローターにあるタービン効率ステータスはレシピの稼働時間を延ばす効果があります。、つまり1mBあたりの燃料からより多くの電力を生産できるようになります。\n\n最後に、ダイナモハッチが満タンになると、LGTは自動的に減速し燃料消費を一時停止します。ローターの回転速度は徐々に低下し、再び余裕ができると再開します。そのため、詰まりが発生しても燃料を無駄にすることはありません。", + "quests.gregtech_energy.lgt.desc.2": "デフォルトの出力は&e4096EU/t&rであり、&5EV&r以降にローターホルダーをアップグレードするごとに倍増していきます。\n\nたとえば、IVローターホルダー(×2)とHSS-E製タービンローター(タービンパワー280%)を使用するLGTは、次のように発電します:\n4096×2×2.8=&e22,937.6EU/t&r―これは&aIVでの2.8A&rに相当します。\n\nそのエネルギーを完全に取り出すためには、少なくともIV4Aダイナモハッチが必要です。なお、通常のダイナモハッチでは2Aまでしか扱えません。\n\nちなみに、タービンローターにあるタービン効率ステータスはレシピの稼働時間を延ばす効果があります。、つまり1mBあたりの燃料からより多くの電力を生産できるようになります。\n\n最後に、ダイナモハッチが満杯になると、LGTは余剰分を破棄し始めてしまいます。そのため、バッテリーバッファや変電所が満杯になり始めたら、発展型エネルギー検出器とマシンコントローラのカバーを使ってLGTを停止させるようにしてください。", "quests.gregtech_energy.lst.title": "大型蒸気タービン", "quests.gregtech_energy.lst.subtitle": "常軌を逸しない発電", "quests.gregtech_energy.lst.desc.1": "&6大型蒸気タービン&r(略して&dLST&r)は、通常のGregTechではあまり見かけないタイプの大型発電機です。しかし、&6HV&r段階で早い段階から使えることや、TerraFirmaGregでは大型ボイラーが特に強力であることから、十分に活躍の場があります。\n\n動かすには、蒸気を入れる搬入ハッチ、蒸留水を出す搬出ハッチ、そしてメンテナンスハッチが必要です。\n\n他の大型タービンと同様に、片面にローターホルダー、もう片面にダイナモハッチを設置して電力を出力します。\n\nLSTの場合、ローターホルダーは最低でも&6HV-tier&rでなければなりません。ローターホルダーをアップグレードするたびに、出力が&c2倍&rになり、効率も少し上がります。", @@ -2284,9 +2427,9 @@ "quests.gregtech_energy.reformate_gas.subtitle": "ベンゼンを返して", "quests.gregtech_energy.reformate_gas.desc.1": "&9改質ガス&rは、&bMV&rにおける従来のベンゼンの役割を担う、強力で新しいガス燃料です。\n\nこれを生産するには、&6液化塔&rを建設し、乾燥して高温な気候にのみ生成される&6タキアン鉱&rの鉱脈から&5レニウム&rを入手する必要があります。&6熱分解炉&rを2基用意し、一方でクレオソート、もう一方で木質タールを生産することで、この燃料を生成するために必要な素材がすべて揃います。\n\n構成を簡略化したい場合は、&6液体加熱機&rを使って蒸気を生産できるという点も覚えておいてください。", "quests.gregtech_energy.reformate_gas.desc.2": "&6HV&rで解禁される&6クラッカー&rを使用することで大幅に生産効率が向上します。さらに&5レニウム&rを循環利用できるようになるため、改質ガスは事実上、無限に使える燃料となります。\n\nさらに &9窒素&rと&9水素&rを工程に追加することで、生産速度を一層強化できます。", - "quests.gregtech_energy.btx.title": "BTX", - "quests.gregtech_energy.btx.subtitle": "Not a korean band", - "quests.gregtech_energy.btx.desc": "The BTX Fuel is NYI", + "quests.gregtech_energy.btx.title": "BTX燃料", + "quests.gregtech_energy.btx.subtitle": "K-POPとは何も関係ありません", + "quests.gregtech_energy.btx.desc": "&5EVエネルギーハッチ&rがあれば、ついに&eBTX燃料&r(ベンゼン・トルエン・キシレン)の生産を開始できます。この燃料は非常に長期間にわたって使用できます。GTの後半に入っても&6大型タービン&rであれば十分な競争力を保ち続けます。最初はあまりにも作るのが大変に思えるかもしれませんが、その労力に見合う価値があることは間違いありません。\n\nこの生産ラインでは、樹木由来の製品を大量に必要とします。&eノリ&rが必要になるため、樹液が再び重要になります。木から受動的に採取することもできますし、原木から直接抽出することも可能です。また、&6蒸留塔&rで&e木質タール&rを蒸留する必要もあります。それ以外にも、&eエタノール&r、&eネザークォーツ&r、&eナトリウム&r、&eアンモニア&r、&e灰汁&r、&e強化エポキシ樹脂シート&rを無限生産できる体制を整えておいてください。\n\nBTX燃料の生産ラインについてより詳しく知りたい場合は、&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", @@ -2299,7 +2442,7 @@ "quests.gregtech_energy.smr.task": "", "quests.gregtech_energy.gasoline.title": "ガソリン", "quests.gregtech_energy.gasoline.subtitle": "燃料界のスーパースター", - "quests.gregtech_energy.gasoline.desc": "&aガソリン&rは&6HV&rで解禁される非常に強力な燃焼燃料ですが、&6蒸留塔&rを建設してから本格的な生産を始めるのが現実的です。&7トルエン&rは&7木質タール&rや&7重質燃料&rから簡単に作成でき、それ以外に必要なものは&d精製ガス&r、&7ナフサ&r、そして&3酸素&r・&b水素&r・&1炭素&rの化合物たちです。\n\n高い性能を持ち、比較的簡単に製造できるうえ、さらに&c高オクタン価ガソリン&rへとアップグレードすることも可能です。", + "quests.gregtech_energy.gasoline.desc": "&aガソリン&rは&6HV&rで解禁される非常に強力な燃焼燃料ですが、&6蒸留塔&rを建設してから本格的な生産を始めるのが現実的です。&7トルエン&rは&7木質タール&rや&7重質燃料&rから簡単に作成でき、それ以外に必要なものは&d精製ガス&r、&eナフサ&r、そして&3酸素&r・&b水素&r・&1炭素&rの化合物たちです。\n\n高い性能を持ち、比較的簡単に製造できるうえ、さらに&c高オクタン価ガソリン&rへとアップグレードすることも可能です。", "quests.gregtech_energy.high_gasoline.title": "高オクタン価ガソリン(ハイオク)", "quests.gregtech_energy.high_gasoline.subtitle": "ハイオク満タンで", "quests.gregtech_energy.high_gasoline.desc": "&cガソリン&rの直接的なアップグレードで、&5性能が2倍に強化された燃料&rです。名前からは分かりにくいですが、&dオクタン&rだけでなく、&7石油化学&r由来の他の素材も追加する必要があります。\n\nこの段階まで来れたあなたなら、&bEMI&rを使ってレシピを把握し、この非常に強力な燃料を自力で製造できるようになっていることでしょう。", @@ -2314,7 +2457,7 @@ "quests.gregtech_energy.lce_fuel.desc.2": "&5EV&rに到達して&6蒸留塔&rを本格的に運用し始めたら、ガソリンまたはハイオクガソリンに切り替えるタイミングです。\n早とちりしないでください。原油はきちんと蒸留する必要があり、通常の蒸留機では効率が非常に悪いです。\n\n作るには、原油の蒸留といくつかの有機化合物処理を組み合わせる必要があります。熱分解炉と蒸留塔を使えばスムーズに処理できます。\n\nハイオクガソリンを安定供給できれば、燃焼発電機だけでクリアすることも夢ではありません。", "quests.gregtech_energy.lce_fuel.task": "I got enough", "quests.gregtech_energy.large_solar.subtitle": "メガソーラー", - "quests.gregtech_energy.large_solar.desc.1": "大型ソーラーアレイMK_Iは、月面に大規模な基地を作るときの頼れる電力源です。\n\n特に&bAE2&rのラインの稼働やMoon_dust_Harvesterの安定稼働に便利です。\n\nGregTechのターミナルを持って、コントローラーをスニーク右クリックするだけでマルチブロックを瞬時に組み立てられます。\n\nまた、コントローラーで&eU&rを押すと、EMIでどのような構成か簡単に確認できます。", + "quests.gregtech_energy.large_solar.desc.1": "大型ソーラーアレイMK_Iは、月面に大規模な基地を作るときの頼れる電力源です。\n\n特に&bAE2&rのラインの稼働やムーンハーベスターの安定稼働に便利です。\n\nGregTechのターミナルを持って、コントローラーをスニーク右クリックするだけでマルチブロックを瞬時に組み立てられます。\n\nまた、コントローラーで&eU&rを押すと、EMIでどのような構成か簡単に確認できます。", "quests.gregtech_energy.large_solar.desc.2": "&6大型ソーラーアレイMK_I&rには&92種類の動作&rがあります:\n\n&9•パッシブモード&r—\nこのモードでは&d太陽電池&rをゆっくり消費します。補充を欠かさなければ問題ありませんが、無限には使えません。昼の間だけ&6HVでの2A&r分の電力を生成します。基本的には十分ですが、最大効率ではありません。\n\n&9•アクティブモード&r—\nこのモードではエネルギー出力を最大化できますが、冷却材の管理が必要です。安定稼働には準備が要りますが、その代わりに&5EVでの2A&r分の電力を生成します!\n\nさらに、上位版のMK_IIとMK_IIIもあり、より高度な冷却材が必要になります。", "quests.gregtech_energy.large_solar_t2.subtitle": "ギガソーラー?", "quests.gregtech_energy.large_solar_t2.desc.1": "月面に&dAE2用の拠点&rを建設すると、多くのエネルギーが必要になるでしょう。そんな時に頼れるのが&6大型ソーラーアレイMK_II&rです!\n\nMK_Iと同様に2種類のレシピがありますが、今回はどちらも完全なパッシブ方式ではありません。", @@ -2322,7 +2465,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は上位宇宙服の製造などにも使える素材です。月面では生産が難しく、&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": "蓄電は、GregTechの電力システムにおける重要な要素です。\n\nなぜならば、どんなに強力な発電機でも、大規模なクラフトを始めたときには電力消費に追いつかなくなるからです——特に終盤では顕著です。\n\nその対策として、GregTechには様々な蓄電手段があります。蓄電設備は、電力のバッファとして機能が何よりも大きいです。\n\n核融合炉やLCRの運用、あるいはHV〜IV規模のパッシブラインを構築した場合、安定稼働させるためには大きめの電力のバッファが必要でしょう。\n\n蓄電の重要性を侮ってはいけません——円滑な進行のために非常に役立ってくれるでしょう。", @@ -2341,7 +2484,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-対応ハッチは自由で、&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.pss.desc.2": "&e扱い方&r:\n-まず&aパラジウム製大型蓄電器用外装&rで本体を組み立てましょう。\n-入力用に&bエネルギーハッチ&rを1つ、出力用に&bダイナモハッチ&rを1つ以上設置します。\n-対応ハッチは自由で、&cアンペア型&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電力は正義。細かいことを気にする必要はないのです", @@ -2357,7 +2500,7 @@ "quests.gregtech_energy.overclock.subtitle": "電圧と処理時間の関係", "quests.gregtech_energy.overclock.desc.1": "「オーバークロック」ってよく聞くけど、実際どういう意味なのか分からないですか? それなら、ここでしっかり勉強しておきましょう。\n\n基礎知識:\n&dLV&rは最大で32EU/tです。状況によってはそれ以下になることもありますが、超えることはありません。\n&dMV&rは128EU/t、\n&dHV&rは512EU/tまで出力できます。\nつまり、電圧のティアが1段階上がるごとに必要な電力はおよそ4倍になる、という仕組みです。", "quests.gregtech_energy.overclock.desc.2": "下位電圧のレシピを上位電圧の機械で動かすとどうなるでしょう?\nそれが、いわゆる&eオーバークロック&rです!\n\n例えば、&dMV&rレシピ(33〜128EU/t)を&dHV&r機械で処理すると、消費電力は4倍、速度は2倍になります。\n\n同じMVレシピを&dEV&r機械で動かすと、消費電力は16倍にもなるのに、速度は4倍しか上がりません。\n\nつまり、電力効率の面では、1台をオーバークロックするよりも複数の機械を動かした方が得なのです。\nとはいえ、現実的には同じ機械を大量に並べるより、オーバークロックしてスピードアップする方が便利なことが多いと思います。\n\nエネルギーが貴重な序盤のうちは、この仕組みを理解しておいた方がよいでしょう。", - "quests.gregtech_energy.overclock.desc.3": " 特定の大型機械だけが持つ特別な機能、それが&eパーフェクトオーバークロック&r(通称:POC)です。\n通常のオーバークロックでは「4倍の電力で2倍の速度」ですが、POCでは「&a4倍の電力&rで&a4倍の速度&r」になります。つまり、複数台の機械を動かすのと同じ効率で動作するというわけです。\n\n現時点でTerraFirmaGreg内でPOCに対応している大型機械は以下の通りです:\n-工業用電気炉(EBF)...高温稼働時のみ\n-合金高炉(ABS)...高温稼働時のみ\n-回転式炉床炉(RHF)...高温稼働時のみ\n-大型化学反応炉(LCR)\n-電気温室", + "quests.gregtech_energy.overclock.desc.3": " 特定の大型機械だけが持つ特別な機能、それが&eパーフェクトオーバークロック&r(通称:POC)です。\n通常のオーバークロックでは「4倍の電力で2倍の速度」ですが、POCでは「&a4倍の電力&rで&a4倍の速度&r」になります。つまり、複数台の機械を動かすのと同じ効率で動作するというわけです。\n\n現時点でTerraFirmaGreg内でPOCに対応している大型機械は以下の通りです:\n-工業用電気炉(EBF)...高温稼働時のみ\n-合金高炉(ABS)...高温稼働時のみ\n-回転式炉床炉(RHF)...高温稼働時のみ\n-大型化学反応炉(LCR)\n-電気温室\n-熱交換器", "quests.gregtech_energy.overclock.task": "So the red ones go faster, got it", "quests.gregtech_energy.blast_oc.title": "機械高炉の仕組みについて", "quests.gregtech_energy.blast_oc.subtitle": "完全に理解しろとは言いません", @@ -2368,7 +2511,7 @@ "quests.gregtech_energy.subtick.title": "サブティック", "quests.gregtech_energy.subtick.subtitle": "並列処理?", "quests.gregtech_energy.subtick.desc.1": "大型機械にはもうひとつ隠れた仕組みがあります。それは&dサブティック(Subtick)&rです。\n\nサブティックは、レシピの処理速度が極端に速くなり、これ以上オーバークロックできなくなった時に発動します。通常、機械は1ティックに1レシピ以上処理できませんが、サブティックを使えば可能になります!\n\n本来、レシピの処理時間が1ティックに達すると、さらに上位のエネルギーハッチでオーバークロックしてもそれ以上早く処理することができません。その対策として、サブティックが発動しレシピを&a並列処理&rすることで、適切に処理速度を上昇させます。", - "quests.gregtech_energy.subtick.desc.2": "例えば、大型化学反応炉(LCR)がLuVのレシピを1ティックで処理する場合、ZPMエネルギーハッチを使うと&e1ティックあたり2レシピ&rを同時に処理します。さらに高電圧のハッチを使えば、内部での並列処理はさらに増えます。\n\n&d補足&r:現状ではすべての大型機械はサブティックに対応していますが、その中でも&aLCRだけ&rはサブティックとPOCの両方の機能を持ちます。そのため、LCRにはIVティアの並列ハッチが存在しません。すでに内部で効率よく並列処理を行っているからです。", + "quests.gregtech_energy.subtick.desc.2": "例えば、大型化学反応炉(LCR)がLuVのレシピを1ティックで処理する場合、ZPMエネルギーハッチを使うと&e1ティックあたり2レシピ&rを同時に処理します。さらに高電圧のハッチを使えば、内部での並列処理はさらに増えます。\n\n&d補足&r:現状ではすべての大型機械はサブティックに対応していますが、その中でも&aLCR&rと&e熱交換器&rだけはサブティックとPOCの両方の機能を持ちます。そのため、LCRは並列制御ユニットに対応していません。すでに内部で効率よく並列処理を行っているからです。", "quests.gregtech_energy.parallel_hatch.title": "並列制御ユニット", "quests.gregtech_energy.parallel_hatch.subtitle": "また並列処理?", "quests.gregtech_energy.parallel_hatch.desc.1": "&d並列制御ユニット&rは大型機械の最大の魅力です。\n\n特定の大型機械(主に合金高炉以降に解放されるもの)では、&a複数のレシピを並列で&r処理することが可能です。\n\nその分、1ティックあたりの消費電力は増えますが、生産速度は大幅に向上します。合金や回路、プレートなど大量生産したい場合に理想的な機能です。", @@ -2402,7 +2545,7 @@ "quests.high_voltage.chem_bath.desc": "&3発展型化学槽II&rは、&a化学染料&rを使ってレンズを&d着色する&rことができます。これによって、扱えるウェハーの種類が増えます。そのほかの用途として、熱いインゴットの冷却にも利用できます。", "quests.high_voltage.maintenance_hatches.title": "上位版メンテナスハッチ", "quests.high_voltage.maintenance_hatches.subtitle": "放任か過保護か", - "quests.high_voltage.maintenance_hatches.desc.1": "新たに2種類の&3メンテナンスハッチ&rが使えるようになりました。どちらも設置直後は&6メンテナンス不要&rなのが特徴です。\n\nまず、&3自動メンテナンスハッチ&rはとてもシンプルで、一度設置すれば&6永遠にメンテナンスが不要&rになります。\n\nもう一方の&3制御可能なメンテナンスハッチ&rは少し特殊で、設定によってレシピの処理時間を&a10%短縮&rできますが、その代償としてメンテナンスの発生が3倍の速度になります(現実時間で約&d16時間&r稼働します)。さらに、マルチブロック発電機に使うことで、レシピの動作時間を延ばして燃料効率を10%向上させることもできます。\n\n&9補足:&rメンテナンスハッチにテープを入れておくと、問題が発生しても自動で修理してくれます。", + "quests.high_voltage.maintenance_hatches.desc.1": "新たに2種類の&3メンテナンスハッチ&rが使えるようになりました。\n\nまず、&3自動メンテナンスハッチ&rはとてもシンプルで、一度設置すれば&6永遠にメンテナンスが不要&rになります。\n\nもう一方の&3制御可能なメンテナンスハッチ&rは少し特殊で、設定によってレシピの処理時間を&a10%短縮&rできますが、その代償としてメンテナンスの発生が3倍の速度になります(現実時間で約&d16時間&r稼働します)。さらに、マルチブロック発電機に使うことで、レシピの動作時間を延ばして燃料効率を10%向上させることもできます。\n\n&9補足:&rメンテナンスハッチにテープを入れておくと、問題が発生しても自動で修理してくれます。", "quests.high_voltage.maintenance_hatches.desc.2": "&l&3余談:&r&o 自動メンテナンスハッチの見た目と機能は、GregTech:New_Horizons用のアドオンMod「TecTech」から取り入れたんだ。\n\n&o終盤に入ると、TecTechの要素がさらに登場するから楽しみにしておいてね。", "quests.high_voltage.hv_components.title": "HVコンポーネント", "quests.high_voltage.hv_components.subtitle": "ただの中間素材だと油断できなくなってきました", @@ -2441,13 +2584,14 @@ "quests.high_voltage.mv_superconductors.desc": "&a4A&rの&bMV&r電力を送れる性能は魅力的ですが、今の段階では特に必要ありません。もちろん、作ったってかまいませんよ。", "quests.high_voltage.circuit_assembler.title": "HV回路作成機", "quests.high_voltage.circuit_assembler.subtitle": "まずはクリーンルームを用意しましょう", - "quests.high_voltage.circuit_assembler.desc": "新しい型の&3回路作成機&rです。&aマイクロプロセッサーメインフレーム&r(最も初歩的なIV回路)を作るために必要になります。主に&5EV回路作成機&rのために使います。\n\n実のところ、今すぐ作る必要はなく、&5EV&rをある程度進めるまで後回しにしても問題ありません。もちろん、回路製作を高速化したい場合は先に導入しても良いでしょう。", + "quests.high_voltage.circuit_assembler.desc": "新しい型の&3回路作成機&rです。&aマイクロプロセッサーメインフレーム&r(最も初歩的なIV回路)を作るために必要になります。ただし、それはEVに入り、火星に到達した後の話ですが。主に&5EV回路作成機&rを作るために使うことができます。\n\nまた、AE2のプロセッサーを作るためにも必要です。\n\n実のところ、今すぐ作る必要はなく、&5EV&rをある程度進めるまで後回しにしても問題ありません。もちろん、回路製作を高速化したい場合は先に導入しても良いでしょう。", "quests.high_voltage.microprocessor_mainframe.title": "メインフレーム - 初のIV回路!", "quests.high_voltage.microprocessor_mainframe.desc": "初の&1IV&r回路です。ここまで到達したこと、本当におめでとうございます!\n\nこの回路は主に&5EV&r段階で使うことになりますが、今のうちに&aアドバンスドナノスーツチェストプレート&rを作って、ジェットパックを大幅に強化することも可能です。\n\n&l&3余談:&r&oメインフレームのテクスチャは、実在するIBMのzEnterpriseメインフレームの画像をもとにしています。", "quests.high_voltage.cleanroom.title": "クリーンルーム", "quests.high_voltage.cleanroom.subtitle": "あなたは白い部屋が好きですか?", "quests.high_voltage.cleanroom.desc.1": "&3クリーンルーム&rは、内部の空間を清潔に保つマルチブロックです。これから先、ほとんどの&a回路関連レシピ&rや、&3核融合炉マシン外装&rなどの特殊なブロックは、クリーンルームの中でしか作れなくなります。\n\n建設には大量の&dプラスクリート&rや&dクリーンルームガラス&rが必要になるため、&aポリエチレン&rの量産体制を整える必要があります。\n\n最初は5x5x5の基本的なクリーンルームから始めましょう。窮屈に感じ始めたら、どんどん拡張していけばいいのです。", "quests.high_voltage.cleanroom.desc.2": "&l&3余談:&r&oクリーンルームの仕組みはGT5から引き継がれたものなんだけど、その頃は今よりもずっと大変な仕様だったんだ。清潔度に関係なくクラフトはできたんだけど、クリーンルームの清浄度に比例して完成確率が変わってたから、ちゃんとしてないとアイテムが消えたりしたんだよ!\n\n&oあと、クリーンルームにメンテナンスされてないと清潔度の上限が90%に制限されるから、いつのまにか10%の確率で成果物が消えるようになったりしてたんだ。理不尽だね。\n\n&oGTCEu版のクリーンルームなら、アイテムが&6消失&fすることはまずないから安心してね。", + "quests.high_voltage.cleanroom.task": "Maintenance Hatch or Auto Maintenance Hatch", "quests.high_voltage.prospector.title": "発展型電動探知機", "quests.high_voltage.prospector.desc.1": "この探知機は、&7LV&r版よりも&6探知範囲が広がっています&r。さらに、新しい機能も追加されています。\n\n探知機を手に持った状態でスニーク右クリックすると、モードが&6液体鉱脈モード&rに変わります。このモードでは液体鉱脈の&d埋蔵量&rが表示されます。\n\n月で&9ヘリウム3&rや&9岩盤鉱脈&rを見つけるときなどにも非常に役立ってくれるでしょう。", "quests.high_voltage.prospector.desc.2": "&9注意:&r &3液体採掘機&rの出力量は鉱脈の「埋蔵量」に比例します。最終的に、出力はCEuコンフィグのデフォルトの量になります。\n\n&9Tips:&r埋蔵量が30%以下になった場合、電力効率を考えて採取場所を移した方が良いですよ。また&5EV&rから使うことができる&3発展型液体採掘機&rを目標にするのも良いでしょう。これにより出力が超大幅に増加し、鉱脈の消耗速度も低下します。\n\n&c注意:&rバグにより、探鉱機の表示が1チャンクずれることがあります。液体鉱脈の端で液体採掘機を稼働するのは避けてください。狙っていない液体を汲み上げてしまうかもしれません!", @@ -2562,7 +2706,7 @@ "quests.high_voltage.gun.subtitle": "いいセンスだ", "quests.high_voltage.gun.task1": "Any gun", "quests.high_voltage.gun.task2": "Any medicine or aged alcohol", - "quests.high_voltage.gun.desc": "地球での一人暮らしは快適でしたか?月では、あなたの孤独を埋めてくれる素敵な敵対モブたちが、あなたをお出迎えしてくれます。\n迎え撃ちましょう。ただし、剣やジャベリンでは心もとないですよ。\n\nご想像の通り、&4月はとても危険な場所です&r。せっかくのロケットを失わないためには何が必要だと思いますか?\n\n&o\"Clockwork\"Sniper&rなどがおすすめです。弾薬を用意し、余裕があればアタッチメントでカスタマイズしてみても良いでしょう。\n\nさらに、活力を付けるための栄養満点な食事(フリーズドライ食品など)や、バフ・回復用のお薬やお酒も携帯していると安心できます。", + "quests.high_voltage.gun.desc": "地球での一人暮らしは快適でしたか?月では、あなたの孤独を埋めてくれる素敵な敵対モブたちが、あなたをお出迎えしてくれます。\n迎え撃ちましょう。ただし、剣やジャベリンでは心もとないですよ。\n\nご想像の通り、&4月はとても危険な場所です&r。せっかくのロケットを失わないためには何が必要だと思いますか?\n\n&o\"Clockwork\"Rifle&rなどがおすすめです。弾薬を用意し、余裕があればアタッチメントでカスタマイズしてみても良いでしょう。\n\nさらに、活力を付けるための栄養満点な食事(フリーズドライ食品など)や、バフ・回復用のお薬やお酒も携帯していると安心できます。", "quests.high_voltage.space_survival.title": "月面基地", "quests.high_voltage.space_survival.subtitle": "別荘", "quests.high_voltage.space_survival.desc": "まだ見ていないなら、ぜひ「&3宇宙のあるきかた&r」の章を確認しておきましょう!月で本格的な拠点を築くために必要なすべてがそこに掲載されています。", @@ -2596,7 +2740,7 @@ "quests.low_voltage.lv_machine_hull.title": "第二のマシン筐体", "quests.low_voltage.lv_machine_hull.subtitle": "電気の時代の幕開け", "quests.low_voltage.lv_machine_hull.desc.1": "あと少しで&6最初のLVマシン&rがついに完成します!\nもしもまだ&4レッドスチール&rを作っていないなら、ここで必要になります。\nですが安心してください。この先に進むほどレッドスチールの作成は&6楽になっていきます&r。\n\nGregTechでは、このように&6先に進むほど、より効率の良い生産手段が解放されていきます!&r\n\nまずは3〜4個ほどマシン外装を用意しましょう。", - "quests.low_voltage.lv_machine_hull.desc.2": "新しいティアに到達したとする基準は人それぞれです。そのティアの&6回路&rを作った時だとする人もいれば、&6筐体&rや&6エネルギーハッチ&rを完成させた時だと考える人もいます。\nあなたの中でどれを基準にしても構いませんが、クエストではわかりやすくするため、&6筐体&rを基準とします。", + "quests.low_voltage.lv_machine_hull.desc.2": "新しいティアに到達したとする基準は人それぞれです。そのティアの&6回路&rを作った時だとする人もいれば、&6筐体&rや&6エネルギーハッチ&rを完成させた時だと考える人もいます。\nあなたの中でどれを基準にしても構いませんが、クエストではわかりやすくするため、&6筐体&rを基準とします。\n\nどこから手を付ければよいか分からないという人もいるかもしれません。そんな時は、まず自分が一番しんどいと感じている工程を楽にしてくれる機械から着手することをおすすめします。", "quests.low_voltage.lv_machine_casing.title": "CreateでGregを進める?", "quests.low_voltage.lv_machine_casing.subtitle": "選択肢は多い方がいいですよね", "quests.low_voltage.lv_machine_casing.desc": "LV時代への移行を少しでも楽にするために、&5TFG&rでは一部の&6GT&r機械の代わりに&6Create&rの機械を使うことができます。\n\n&6前の章&rで紹介したとおり、GregTechの機械に代わるものがある場合は、クエスト内でどちらを使うか選べるようになっています。", @@ -2605,8 +2749,14 @@ "quests.low_voltage.lv_motor.desc": "レシピが複雑だと感じてきたときは、&2EMIが心強い味方&rになってくれます。\nレシピの右下にある四角が4つ並んだボタンをクリックすれば、レシピツリーが表示されます。また、クラフトに必要なアイテムをお気に入りに追加しておくこともできます!\n\n本題に戻ります。&7LV&r時代に備えて、&aLV電動モーター&rを6個用意しておいてください。これは、&7LV&rを本格的に進めるために必要な最低限の数です。", "quests.low_voltage.lv_age_progression.title": "LV時代の進め方", "quests.low_voltage.lv_age_progression.subtitle": "必要なのは根気と時間です", - "quests.low_voltage.lv_age_progression.desc": "&7LV&rからは、多くの種類の機械をクラフトしていく必要があります!\nもし「どこから手を付ければいいか分からない」と感じたら、後のクエストのアイテムを一つ選んで、そこから逆算して目標を立ててみましょう。\n\nということで、まずは一旦&5核融合炉コントローラー&rを目標にしてみますか。\nさすがに遠すぎました?では、もう少し現実的な目標として、&7LV&rの最終目標とも言える&3工業用電気炉&r(通称:EBF)を目指してみましょう。\n\nEBFは、現時点では&a非常にコストが高い&rため、まずは部品や素材を効率よく生産できる機械の開発から始めるのがおすすめです。\n\nLVでの、そのほかの重要な目標としては、&3基本型組立機&rの作成、最初の&aMV回路&rの作成、&b基本型回路作成機&rの作成などがあります。", + "quests.low_voltage.lv_age_progression.desc": "&7LV&rからは、多くの種類の機械をクラフトしていく必要があります!\nもし「どこから手を付ければいいか分からない」と感じたら、後のクエストのアイテムを一つ選んで、そこから逆算して目標を立ててみましょう。\n\nということで、まずは一旦&5核融合炉&rを目標にしてみますか。\nさすがに遠すぎました?では、もう少し現実的な目標として、&7LV&rの最終目標とも言える&3工業用電気炉&r(通称:EBF)を目指してみましょう。\n\nEBFは、現時点では&a非常にコストが高い&rため、まずは部品や素材を効率よく生産できる機械の開発から始めるのがおすすめです。\n\nLVでの、そのほかの重要な目標としては、&3基本型組立機&rの作成、最初の&aMV回路&rの作成、&b基本型回路作成機&rの作成などがあります。", "quests.low_voltage.lv_age_progression.task": "I... might have some sense of direction now", + "quests.low_voltage.lost.title": "何から手を付ければいいんだろう...", + "quests.low_voltage.lost.subtitle": "見えるところ全部に行けるんだよ", + "quests.low_voltage.lost.desc.1": "&7LV&rに入ると非常に多くの選択肢が開放されるため、迷ってしまいがちです。そこで、私たちのおすすめの進め方をご紹介します。\n\n1) まずは電力源を整えましょう。右下にあるクエストを確認してください。複数の選択肢があり、どれも実用的です。妥協せず、発電機は複数基設置しましょう。\n\nEU、電圧、アンペア、ケーブル損失の仕組みを正しく理解するためにも、必ず「&eGregTechの電力システム&r」の章を読んでおいてください。", + "quests.low_voltage.lost.desc.2": "2)次に、さらなる機械建設を安くしてくれる機械に注力してください。\n\n磁化装置は、棒をほぼ無料で磁化できる非常に安価な機械です。蒸気時代の同等の機械をまだ作っていない場合は、金属加工機、ワイヤー作製機、旋盤、裁断機を設置しましょう。これらのクエストは左上にあります。\n\nその後は、化学反応器と液体成形機(左)でゴムを大量に安く生産できるようにし、組立機(下)で電子部品を安価に作れるようにすることを目指してみてください。\n\nすべてが揃えば、その後はよく使う部品を一度にまとめてクラフトすることで、大幅に時間を節約できます。", + "quests.low_voltage.lost.desc.3": "3) 缶詰機を作成して、いくつかバッテリーを用意してみましょう(右上)。蓄電器は工場の拡張に大いに役立ちますし、電動探知機はゲーム性を一変させるほどの存在です。\n\n4) &7LV&rには、&a回路作成機&rと&a工業用電気炉(EBF)&rという2つの大きな目標があります。今のあなたなら、この二つに挑戦する準備は整っているはずです。", + "quests.low_voltage.lost.task": "I know what to do now!", "quests.low_voltage.lv_steam_turbine.title": "蒸気タービン発電", "quests.low_voltage.lv_steam_turbine.subtitle": "タービンを回すんだ", "quests.low_voltage.lv_steam_turbine.desc.1": "&3蒸気タービン発電機&rは、&7LV&rでは数少ない実用的な発電機の一つです。\n&2将来的には&r、天然ガスや石油を利用した、より高度な発電方法も使えるようになります。\n\n蒸気を供給すると、この発電機は&d蒸気2mbにつき1EU&rの比率で発電してくれます。", @@ -2614,7 +2764,7 @@ "quests.low_voltage.lbb.title": "ブロンズ製大型ボイラー", "quests.low_voltage.lbb.subtitle": "蒸気時代が終わるとどうなる? 知らんのか 蒸気時代が始まる", "quests.low_voltage.lbb.desc.1": "&3ブロンズ製大型ボイラー&r(通称:LBB)は、今まで使ってきた小型のボイラーの発展型であり、大量の蒸気を生産するマルチブロックの機械です。固体燃料・液体燃料のどちらでも稼働します。\n\n安定してこれを稼働させることができれば、MVまでは通用するでしょう。\n\n小型ボイラーと同じく、水の供給が止まらないように注意しましょう。水切れを起こすと&c爆発&rしますよ!", - "quests.low_voltage.lbb.desc.2": "完全に温度が上がりきった&3LBB&rは、1ティックあたり800mbもの蒸気を生み出します。これは基本型蒸気タービン約12.5台分を動かすことができ、電力換算では400EU/tになります。\n当然ですが、燃料をかなり多く消費します。そのため、GUIから出力を25%にまで&9調整&rできるようになっており、この設定では1ティックあたり200mbの蒸気(電力換算&d100EU/t&r、基本型蒸気タービン3台分強)を生産します。\n\nこのボイラーは非常に高出力なので、EBF(工業用電気炉)を動かす準備が整ってから導入するのがおすすめです。", + "quests.low_voltage.lbb.desc.2": "完全に温度が上がりきった&3LBB&rは、1ティックあたり800mbもの蒸気を生み出します。これは基本型蒸気タービン約12.5台分を動かすことができ、電力換算では400EU/tになります。\n当然ですが、燃料をかなり多く消費します。そのため、GUIから出力を25%にまで&9調整&rできるようになっており、この設定では1ティックあたり200mbの蒸気(電力換算&d100EU/t&r、基本型蒸気タービン3台分強)を生産します。\n\nこのボイラーは非常に高出力なので、EBF(工業用電気炉)を動かす準備が整うか、蒸気式のマルチブロックの運用を始めてから導入するのがおすすめです。", "quests.low_voltage.lbb.desc.3": "燃料を確保する方法はいくつかあります。\nたとえば、ホースプーリーを使って地下の溶岩湖から溶岩を汲み上げる方法や、自動植林場を作って丸太をコークス炉に送り、木炭とクレオソートを生産する方法があります。\n地表近くにある大規模な石炭鉱脈を自動採掘機などで採掘し、コークスと大量のクレオソートにするというのもいいでしょう。これは木炭よりも効率的です。\n\nもし自動植林ルートを選ぶなら、LBBをフル稼働させるためにコークス炉を3基用意する必要があります。", "quests.low_voltage.lv_polariser.title": "基本型磁化装置", "quests.low_voltage.lv_polariser.subtitle": "回路いらずの機械", @@ -2678,7 +2828,7 @@ "quests.low_voltage.lv_lathe.task": "Any of these", "quests.low_voltage.universal_cell.title": "液体セル", "quests.low_voltage.universal_cell.subtitle": "中身が見れます。どこぞのドラムとは違って", - "quests.low_voltage.universal_cell.desc.1": "セルは、ドラムとは違った液体の保存手段です。同じ種類で同じ量の液体が入っているセル同士は、&6まとめてスタック&rできます。また、&3缶詰機&rを使えば自動的に液体を詰めることも可能です。\n\n通常のセル1つには、液体を&dバケツ1杯分&r(1000mb)入れることができます。", + "quests.low_voltage.universal_cell.desc.1": "セルは、ドラムとは違った液体の保存手段です。同じ種類で同じ量の液体が入っているセル同士は、&6まとめてスタック&rできます。また、&3缶詰機&rを使えば自動的に液体を詰めることも可能です。\n\n通常のセル1つには、液体を&dバケツ1杯分&r(1000mb)入れることができます。\n\nそして何より、最大の魅力はドラムやバケツと違い、セルは内容物を&a安全に封じ込め&rるため、やけどしたり、凍ったり、浮かされたりする心配がありません。", "quests.low_voltage.universal_cell.desc.2": "ユニバーサルセルには&dバケツ1杯分&rまで液体を入れられますが、&9それ以下の量&rも細かく保管しておくことができます。そのため、「ドラムを作るほどじゃないけど、少しだけ液体を残しておきたい」ときに便利です。\n\n上位素材で作られたセルはさらに多くの液体を入れられますが、&9ドラム&rや&9スーパータンク&rの方が容量的には優れています。\n\nドラムと同じように、クラフトグリッドに置くとセルの中身を簡単に空にできます。", "quests.low_voltage.universal_cell.task": "", "quests.low_voltage.machine_auto_output_behaviour.title": "機械の自動搬出について", @@ -2751,7 +2901,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は機械の筐体に使うので、かなり有用な生産手段になるでしょう。\nもし、今は必要ないと思っていても、後々&6必須&rになってきます。", + "quests.low_voltage.lv_mixer.desc": "ミキサーを使うと、赤鋼・青鋼の製造が&6格段に速く&rなります。特に、&4赤鋼&rは機械の筐体に使うので、かなり有用な生産手段になるでしょう。\nもし、今は必要ないと思っていても、後々&6必須&rになってきます。\n\nるつぼで合金化することに慣れきっているかもしれませんが、新しい合金はもちろん、既存の合金も含めて、GregTech流の合金作成は&a粉末を混ぜ合わせ&r、それを加熱してインゴットにするか、あるいは液体として抽出する方法になります。なお、合金高炉のレシピを今は見ないでおいてください。これは&5EV&rになってからの設備です。", "quests.low_voltage.lv_mixer.task": "From Create or GregTech", "quests.low_voltage.soldering_alloy.title": "はんだ合金", "quests.low_voltage.soldering_alloy.subtitle": "笹を与える必要はありません", @@ -2769,7 +2919,7 @@ "quests.low_voltage.t2_circuit_board.desc.2": "&l&3余談:&r&oGTCEu1.12.2の頃、この回路基板は&2Good_Circuit_Boards&fって名前だったんだ。ただ、Goodというにはレシピがあまりにも&4邪悪&fすぎた...", "quests.low_voltage.lv_diode.title": "ダイオード", "quests.low_voltage.lv_diode.subtitle": "EMIに惑わされないで!", - "quests.low_voltage.lv_diode.desc": "EMIではいくつもレシピがありますが、今のところ、ダイオードを作る方法は、液体ガラスを使うレシピ1つだけです。\n\nダイオードのレシピは&4かなり面倒&rなことで知られていますが、&eポリエチレン&rが確保できれば、ずっと手軽で安く作れるようになります。\n\nこの素材は&dMV回路&rの製作に必要です。", + "quests.low_voltage.lv_diode.desc": "EMI上ではいくつもレシピがありますが、今のところ、ダイオードを作る方法は、液体ガラスを使うレシピの2つだけです。\n\nダイオードのレシピは&4かなり面倒&rなことで知られていますが、&eポリエチレン&rが確保できれば、ずっと手軽で安く作れるようになります。\n\nこの素材は&dMV回路&rの製作に必要です。", "quests.low_voltage.1_mv_circuit.title": "初めてのMV回路", "quests.low_voltage.1_mv_circuit.subtitle": "MV時代の証明書", "quests.low_voltage.1_mv_circuit.desc": "さて、アルミニウムインゴットは持っていますか?\n\nGregTechには、それぞれの段階に対応する回路があります。\n「改良型電子回路」は、3種類ある&bMV&r回路のうち、&d最初に作れるMV回路&rです。\n\n回路をもっと安く作るために、新しいティアの&2回路作成機&rを作り、新たなレシピを解禁しましょう。MV回路があれば初めての回路作成機を作ることができます!デプロイヤーよりもよっぽど優秀ですよ。\n\n&6この回路とアルミニウムがあれば、ついにMV機械をつくることができます。&r\n\nもしGregTechの回路システムが複雑すぎて混乱しているなら、「&6進捗表&r」の章を参考にすると良いでしょう。", @@ -2865,9 +3015,12 @@ "quests.low_voltage.aluminium_greate.title": "Greate-アルミニウムの世界", "quests.low_voltage.aluminium_greate.subtitle": "中応力(Medium Stress)の時代", "quests.low_voltage.aluminium_greate.desc": "前回のアップグレードから少し時間が経ちましたが、ここでさらに上位のGreateの機構が使えるようになります。以前と同様に、アルミニウム製のものはスチール製のものよりも &b4倍&rの応力容量があります。\n\nこの先からは、Greateに全く触れずとも進められますが、もしGreateに愛着がある場合は、この機会にこれまで使っていた機構を取り換えることをおすすめします。\n\n応力供給をさらに強化したいなら&e蒸気エンジン&rの利用や、&9Create Additions&rの&e電動モーター&rを使ってEUをSUに変換することなどもできます。", - "quests.low_voltage.oil.title": "Found Oil early?", - "quests.low_voltage.oil.subtitle": "For LV overachievers", + "quests.low_voltage.oil.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液体成型機)を手に入れた今、Beneathで集めた&6グロウストーンダスト&rでついに明かりが作れます。足りなくなっても、ミキサーで追加生産が可能です。\n\n液体グロウストーンやグロウストーンブロックを使って作れる新しい光源は、EMIで確認してください。GregTechには、グロウストーンダストを使って組立機で作れるものもあります。\n\nおまけとして、液体グロウストーンはランタン用の永久燃料としても使用できます!", "quests.medium_voltage": "&bMV&r - 中電圧時代", "quests.medium_voltage.subtitle": "新たな電気機械と石油化学の時代", "quests.medium_voltage.mv_machine_hull.title": "MVへようこそ", @@ -2925,9 +3078,10 @@ "quests.medium_voltage.mv_fluid_rig.title": "液体採掘機", "quests.medium_voltage.mv_fluid_rig.subtitle": "殺伐としたCEuに液体採掘機が!", "quests.medium_voltage.mv_fluid_rig.desc.1": "&3液体採掘機&rのコストは猛烈に高いです。しかし、MV時点では最強の&6石油入手手段&rでもあります。\n\n液体採掘機は、地底の岩盤から液体を掘り出す機械です。岩盤から掘り出すといっても、実際に掘っているわけではなく、チャンクごとに設定されている液体を生成する、というのが正確です。\n\nGT環境ではチャンクごとに液体の油田が設定されています。それぞれに異なる液体が設定されていますが、大半は石油系の液体です。\n\nMVの段階では、チャンクごとに埋蔵されている液体の種類を事前に確認する手段は存在しません。&6HV&rまで待ちましょう。", - "quests.medium_voltage.mv_fluid_rig.desc.2": "各チャンクからは、おおよそ秒間&d150&r~&d300&rL程度液体が生成されます。\n\n液体採掘機の稼働を続けると、次第にこの生成量が減少していき、最終的には枯渇します。枯渇したら他の場所に移動しましょう。\n\nMVの液体採掘機は、1か所の油田につき、枯渇までに10万サイクル(毎秒1サイクル)採掘処理を行います。この10万サイクルの間に、合計で&6バケツ1万杯分&rをゆうに超える量の液体を入手できます。上位のモデルになると、液体の入手速度が上昇する一方で、より早く液体が枯渇するようになります。", - "quests.medium_voltage.mv_fluid_rig.desc.3": "&l&2地上世界&rで見つかる油田&l:&r\n\n&9原油:&r&a軽質燃料&rが多く得られる。汎用性が高い。\n&9軽油:&r&a精製ガス&rが多く得られる。発電手段として有用。\n&9重油:&r&a重質燃料&rが多く得られる。トルエンの材料。\n&9原料油:&r&aナフサ&rが多く得られる。石油化学工業のお供。\n&9天然ガス:&r&a精製ガス&rが簡単に得られる。\n&9海水:&r&aナトリウム&rと&a塩素&rが得られる。", + "quests.medium_voltage.mv_fluid_rig.desc.2": "発展型液体採掘機を使うと、各チャンクからは、おおよそ秒間&d150&r~&d300&rmb程度液体が生成されます。\n\n液体採掘機の稼働を続けると、次第にこの生成量が減少していき、最終的には枯渇します。枯渇したら他の場所に移動しましょう。\n\nMVの液体採掘機は、1か所の油田につき、枯渇までに10万サイクル(毎秒1サイクル)採掘処理を行います。この10万サイクルの間に、合計で&6バケツ1万杯分&rをゆうに超える量の液体を入手できます。上位のモデルになると、液体の入手速度が上昇する一方で、より早く液体が枯渇するようになります。", + "quests.medium_voltage.mv_fluid_rig.desc.3": "&l&2地上世界&rで見つかる油田&l:&r\n\n&9原油:&r&a軽質燃料&rが多く得られる。汎用性が高い。\n&9軽油:&r&a精製ガス&rが多く得られる。発電手段として有用。\n&9重油:&r&a重質燃料&rが多く得られる。トルエンの材料。\n&9原料油:&r&aナフサ&rが多く得られる。石油化学工業のお供。\n&9天然ガス:&r&a精製ガス&rが簡単に得られる。\n&9塩水:&r&a水酸化ナトリウム&rと&a塩素&rが得られる。", "quests.medium_voltage.mv_fluid_rig.desc.4": "&l&c地下世界&r(Beneath)で見つかる油田&l:&r\n\n&9天然ガス:&r&a精製ガス&rが得られる。地上世界より産出量が多い。\n&9溶岩:&r説明不要。\n\n最初はとりあえず色々な場所を掘ってみるのが吉です。多くの場合、堀った液体はそのまま採掘機の稼働に使えます。", + "quests.medium_voltage.mv_fluid_rig.desc.5": "An example of Fluid Regions on &9The Moon&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&r\n\n現段階では石油は不要ですが、&5EV&r時代には必須となります。\n\nまた、石油からは&a軽質燃料&r&aディーゼル&r、&aガソリン&rなど有用な燃料が得られます。\n\nゆえに、プラスチックの作成に石油を使うのであれば、石油を使った発電も検討することをおすすめします。\n\nオイルサンドは、この先液体採掘機を作成するまで、長くお世話になるアイテムです。", @@ -3090,7 +3244,7 @@ "quests.medium_voltage.mv_jetpack_2.desc": "電動ジェットパックは、電力を消費して空を飛ぶことができます。\n\n充電方法は普通のバッテリーと同じです。\n\n&4H&r(初期設定)を押すと、ホバーモードへの切り替えが可能です。\n\n&o&7(「ジェット」と言っているのにジェット推進じゃないって?そういう重箱の隅を突くのはやめましょう?ね?)&r", "quests.medium_voltage.mv_cutter.title": "発展型裁断機", "quests.medium_voltage.mv_cutter.subtitle": "強化!強化!また強化!", - "quests.medium_voltage.mv_cutter.desc": "&aレーザー刻印機&rを使用するためには、&3MV裁断機&rで&7シリコン単結晶&rを切断する必要があります。\n\n&d潤滑油&rがあれば、加工時間が大幅に短縮されるので、必ず用意しておきましょう。\n\n潤滑油は&3醸造機&rで&e石油&r、&a滑石&r、&2石鹸石&r、&cレッドストーン&rなどを加工して作られます。\n\n&7ヒント:&6Greate&r&7のメカニカルソーでも、同じ加工ができます。液体タンクが搭載されているため、潤滑油による加速が可能です。&r&r", + "quests.medium_voltage.mv_cutter.desc": "&aレーザー刻印機&rを使用するためには、&3MV裁断機&rで&7シリコン単結晶&rを切断する必要があります。\n\n&d潤滑油&rがあれば、加工時間が大幅に短縮されるので、必ず用意しておきましょう。\n\n潤滑油は&3醸造機&rで&e石油&r、&a滑石&r、&2石鹸石&r、&cレッドストーン&rなどを加工して作られます。", "quests.medium_voltage.mv_cutter.task": "いずれかの裁断機", "quests.medium_voltage.mv_laser_engraver.title": "レーザー刻印機", "quests.medium_voltage.mv_laser_engraver.subtitle": "技術の粋。ただしめっちゃ遅い", @@ -3099,7 +3253,7 @@ "quests.medium_voltage.mv_silicon_boule.subtitle": "ウェハーは代替可能", "quests.medium_voltage.mv_silicon_boule.desc": "&9シリコン単結晶&rの作成には、&3EBF&rが必要です。その材料は、&aケイ素の粉&rが半スタックと、少量の&aヒ化ガリウム&rです。その主な用途は、回路の材料である&6ウェハー&rの作成です。\n\nシリコン単結晶が作成できたら、&3裁断機&rでそれを加工することにより、16個のシリコンウェハーを入手できます。\n\n&c注意:&rシリコン単結晶の精錬には、なんと&47分半&rもの時間を要します。消費電力は120EU/tで、合計すると1,080,000EUに達します。途中で電気が足りなくなった場合、精錬の&c進捗が低下&rします。\n\n電気が足りていたとしても、所要時間が猛烈に長いため、複数のEBFで同時に精錬を行うことをおすすめします。", "quests.medium_voltage.mv_silicon.title": "ケイ素の粉", - "quests.medium_voltage.mv_silicon.subtitle": "", + "quests.medium_voltage.mv_silicon.subtitle": "がんばれー", "quests.medium_voltage.mv_silicon.desc.1": "&dGregTech&rにおいては、大抵のアイテムについて複数のレシピが存在します。&aTerrafirmaGreg&rでも、それは同じです。\n\n&5ケイ素&rの主な作成方法は2種類あります。どれが最適かは、自分の状況に合わせて考えましょう。", "quests.medium_voltage.mv_silicon.desc.2": "方法1:&a鉱石から取り出す&r。&9雲母&rや&9藍晶石&rの鉱脈を探しましょう。これら鉱脈では、&dアルミニウム&rの鉱石も入手できます。また、&aゼオライト&rを遠心分離することでも入手できます。ゼオライトは&9黄銅鉱&rの鉱脈に生成されます。\n\n方法2:&a二酸化ケイ素&rを電気分解する。こちらの方が便利ですが、現時点では必要な準備が多く、また加工時間も遅いです。&6HV&r以降であれば、こちらが最良の方法となります。加えて、この方法なら&9酸素&rが副産物として得られます。二酸化ケイ素は&9火打石の粉&rを遠心分離することで入手でき、火打石は&a砂利&rを選別機にかけることで入手できます。\n\nわざわざ外出せずとも、放置していればケイ素が手に入るので、非常に有用です。", "quests.medium_voltage.mv_ulpic.title": "ULPICチップ", @@ -3151,11 +3305,11 @@ "quests.metal_age.wrought_iron_anvil.desc": "錬鉄の金床を使用すると、錬鉄のインゴットをプレートや、ツールヘッドなどのさまざまなアイテムに加工できます。\n\n錬鉄のツールと鎧はブロンズよりも大幅に性能が上がるわけではありませんが、耐久性がはるかに優れています。\n\n次の金床の作成は難易度が大幅に上がるため、腰を据えてこのModPackにある他の要素の探求をするのにいい時期だと思います。", "quests.metal_age.coke_oven.title": "コークス炉", "quests.metal_age.coke_oven.subtitle": "木炭の山からの卒業", - "quests.metal_age.coke_oven.desc.1": "コークス炉は、最初のGregTechマルチブロックです!木炭やその他の強力な燃料の自動クラフトに使えます。\nコークス炉は、1つの丸太から1つの木炭と250mbのクレオソートを生成します。クレオソートは、木材の防腐処理に使用される重要な化学物質です。\n\nメインのコークス炉ブロックを作成し、EMIの「用途」キー(デフォルトは「U」)を押すと、「マルチブロック情報」というタブが表示され、コークス炉の構成が表示されます。\n\n本体となるブロックを設置し、スニークしながら右クリックすることで、足りないブロックのホログラムを表示することもできます。", + "quests.metal_age.coke_oven.desc.1": "コークス炉は、最初のGregTechマルチブロックです!木炭やその他の強力な燃料の自動クラフトに使えます。\nコークス炉は、1つの丸太から1つの木炭と250mbのクレオソートを生成します。クレオソートは、木材の防腐処理や序盤の燃料に使用される重要な化学物質です。\n\nメインのコークス炉ブロックを作成し、EMIの「用途」キー(デフォルトは「U」)を押すと、「マルチブロック情報」というタブが表示され、コークス炉の構成が表示されます。\n\n本体となるブロックを設置し、スニークしながら右クリックすることで、足りないブロックのホログラムを表示することもできます。", "quests.metal_age.coke_oven.desc.2": "コークス炉は、コークス炉用ハッチを使用して完全に自動化できます。ハッチは炉の側面に配置され、アイテムと液体の両方の入力と出力が可能です。\n\n入力口にクレート、出力口にチェストやクレオソートを収集するためのドラム、樽、または大きな木製タンクを設置すれば、入力と出力が自動になったコークス炉を簡単に構築できます。\n\n補足:チェストとは異なり、クレートは丸太などのサイズが大きなアイテムを入れることができます。\nまた、レンチでGregTechパイプをスニークして右クリックすると、一方通行にすることができます。", "quests.metal_age.wrought_iron_goodies.title": "錬鉄を利用した機械", "quests.metal_age.wrought_iron_goodies.subtitle": "安山岩合金?なんのこと?", - "quests.metal_age.wrought_iron_goodies.desc": "錬鉄を使用すると、錬鉄ケーシングを作成できるようになります。\nこれは、ギアボックスなどのCreateの多くのマシンや機構の基礎になります。より高度なものの中にはスチールが必要なものもありますが、この時点で完全に自動化された木と作物の農場を構築することだってできます。\n\nクレオソートは、防腐木材を作成するために使用されます。これは、水車や風車に加工でき、動物の力よりも強力な動力を扱えるようになります。", + "quests.metal_age.wrought_iron_goodies.desc": "錬鉄を使用すると、錬鉄ケーシングを作成できるようになります。\nこれは、ギアボックスなどのCreateの多くのマシンや機構の基礎になります。より高度なものの中にはスチールが必要なものもありますが、この時点で部分的に自動化された木と作物の農場を構築することだってできます。\n\nクレオソートは、防腐木材を作成するために使用されます。これは、水車や風車に加工でき、動物の力よりも強力な動力を扱えるようになります。", "quests.metal_age.fire_clay_ingredients.title": "耐火粘土の材料", "quests.metal_age.fire_clay_ingredients.subtitle": "TerraFirmaCraftの通過儀礼。", "quests.metal_age.fire_clay_ingredients.desc": "耐火粘土は、カオリナイト、グラファイト、通常の粘土から作る特殊な粘土で、特に高熱に耐性があります。\n用途は主に2つあり、1つは、金属製錬を楽にし、壺より優れた合金作成手段として機能する「るつぼ」で、もう一つは、次の金床にも使われるスチールの作成に必要な「高炉」です。\n\nグラファイトとカオリン粘土の両方を入手するには、大規模な冒険をする必要があるため、準備をしておきましょう!", @@ -3257,6 +3411,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さあ!ついに機械の製作に、Gregに!取り掛かる時が来ましたよ!", + "quests.metal_age.temperature_protection.title": "色付き鋼装備の特徴", + "quests.metal_age.temperature_protection.subtitle": "恒久的な温度保護", + "quests.metal_age.temperature_protection.desc": "トングを持ち続けるのに疲れていませんか?色付き鋼が持つ優れた耐熱特性は、防具にも受け継がれています!\n\n&9a青鋼&r製装備は、熱々のインゴットを持ったり、蒸気で満たされたパイプの上を歩いたりといった極端な高温から身を守ってくれます。それに対して、&c赤鋼&r製装備は、同様に低温環境から保護してくれます。チェストプレート系アイテムはアイテムから保護し、ブーツ系アイテムはパイプからの影響を防ぎます。\n\n対応する装備の一覧は、&6#hot_protection_equipment&rおよび&b#cold_protection_equipment&rのタグを確認してください!", + "quests.metal_age.temperature_protection.task": "Any red or blue steel equipment", "quests.ore_proc": "鉱石処理", "quests.ore_proc.subtitle": "鉱石活用のすべて", "quests.ore_proc.native_ore.title": "鉱石処理の章にようこそ", @@ -3343,7 +3501,7 @@ "quests.ore_proc.macerator_separator.task": "Any Macerator", "quests.ore_proc.thermal_centrifuge.title": "熱遠心分離機", "quests.ore_proc.thermal_centrifuge.subtitle": "鉱石精製のエキスパート", - "quests.ore_proc.thermal_centrifuge.desc": "特別な処理が必要ではない鉱石は、&d熱遠心分離機&rで処理するのが最適です。この機械は電力だけで安定的に副産物を生み出せますが、動作は遅めです。そのため、複数台設置して並行処理するのが良いでしょう。", + "quests.ore_proc.thermal_centrifuge.desc": "特別な処理が必要ではない鉱石は、&d熱遠心分離機&rで処理するのが最適です。この機械は他の材料を必要とせず、安定して副産物を生産できます。ただし動作はかなり遅いため、複数台を用意するか、蒸気式マルチブロックを建設することをおすすめします。", "quests.ore_proc.thermal_centrifuge.task": "Any Thermal Centrifuge", "quests.ore_proc.sifter.title": "選別機", "quests.ore_proc.sifter.subtitle": "スカイブロックシミュレーター", @@ -3368,7 +3526,7 @@ "quests.ore_proc.gem_slurry.subtitle": "こんなに美しいものをドロドロに溶かすなんて正気ですか?", "quests.ore_proc.gem_slurry.desc": "宝石の&6泥漿処理&rは、ルビー・サファイア・グリーンサファイア向けの特別な処理ルートです。必須ではありませんが、ちょっとした手間でより多くの資源を回収できます。 電解処理と比べて:\n\n-&cルビー泥漿&rではアルミとクロムがほぼ3倍に!\n\n-&9サファイア泥漿&rではアルミが2倍に!\n\n-&aグリーンサファイア泥漿&rでは2倍のアルミとベリリウムのおまけ付き!\n\nそのうえ、どの泥漿処理でも少量のチタン・鉄・バナジウムを追加で得られる可能性があります。", "quests.ore_proc.gem_slurry.task": "Any Gem Slurry Ore", - "quests.space_survival": "宇宙のあるきかた~無事に生還するために", + "quests.moon": "月", "quests.space_survival.subtitle": "人の手がまだ及んでいない、人類最後の秘境……それは宇宙!", "quests.space_survival.preparations.title": "出発に先立って", "quests.space_survival.preparations.subtitle": "宇宙旅行は準備がすべて!", @@ -3461,6 +3619,8 @@ "quests.space_survival.soulbound.subtitle": "スポーン地点を求めて三千里", "quests.space_survival.soulbound.desc.1": "TerraFirmaGregでは、あらゆるディメンションをリスポーン地点に設定することができます。しかし、月面にリスポーンしてしまった場合、近くに予備の宇宙服が無ければ、大変なことになります。\n\n月面をスポーン地点にする場合は、必ず酸素のある場所をリスポーン地点に設定しましょう。さもなければ、復活しても窒息でリスキルされ続けることになります。(一応、死ぬまでに多少時間があるため、ベッドを破壊して初期スポーン地点に戻ることは可能です)", "quests.space_survival.soulbound.desc.2": "また、&bソウルパール&rで宇宙服を強化することで、死んでも宇宙服が手元に残るようにすることができます。\n\n月面にいる特殊なエンダーマンを倒すことで、ソウルパールを入手できます。\n\nTFGは工業パックなのに、魔術みたいな要素がありますね。", + "quests.mars": "火星", + "quests.mars.subtitle": "テラフォーマークラフト", "quests.space_survival.mars_desert.title": "火星の砂漠", "quests.space_survival.mars_desert.subtitle": "砂の世界", "quests.space_survival.mars_desert.desc": "火星の大部分は砂漠に覆われており、小虫と&6サンドワーム&rを除けば生物はほとんどいません。どこか安全な場所があればあればいいのですが……", @@ -3568,7 +3728,11 @@ "quests.steam_age.good_paths.desc": "これらは使用できる中で最高の種類の道であり、クランクを8RPMで出力できます。\nこれらの種類の道はプレイヤーの移動速度も向上させるため、拠点を舗装するのにも最適です!", "quests.steam_age.helve_hammer.title": "Helve Hammer", "quests.steam_age.helve_hammer.subtitle": "カーン... カーン... カーン...", - "quests.steam_age.helve_hammer.desc": "塊鉄炉のためのプレートをすべて手作業で作るのは大変ではないですか?\n&3Helve_Hammer&rは、ダブルインゴットを時間をかけて自動的にプレートにしてくれます。その際、ダブルインゴットの溶接は、まだ自分で行う必要があります。\nハンマーの頭の真下に金床を置き、ダブルインゴットをその上に投げ込みましょう。取り出すときはハンマーを右クリックしましょう。\n\n上位の金床では、プレートを作成するために叩く回数も少なくなります。", + "quests.steam_age.helve_hammer.desc.1": "塊鉄炉のためのプレートをすべて手作業で作るのは大変ではないですか?\n&3Helve_Hammer&rは、ダブルインゴットを時間をかけて自動的にプレートにしてくれます。その際、ダブルインゴットの溶接は、まだ自分で行う必要があります。\nハンマーの頭の真下に金床を置き、ダブルインゴットをその上に投げ込みましょう。取り出すときはハンマーを右クリックしましょう。\n\n上位の金床では、プレートを作成するために叩く回数も少なくなります。", + "quests.steam_age.helve_hammer.desc.2": "必ず歯車で速度を上げてください!\n\n最初はあまり強力に見えないかもしれませんが、スチール製歯車とシャフトで回転速度を256RPMまで引き上げられるようになると、本領を発揮し始めます。", + "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\nコークス炉から出たクレオソートに板材を浸すと、防腐木材ができます。", @@ -3616,7 +3780,7 @@ "quests.steam_age.mold_table.desc.2": "必要であれば、シュートを使用してアイテムを高炉の中にいれたり、デプロイヤーを使用して自動的にふいごを作動させることもできます。\nふいごを使いすぎると、羽口の耐久力がごりごり削れていきますが、アイテムパイプやホッパーで新しいものを補充することができます。\n\nメカニカルポンプを利用した液体搬出は、液体バルブなどで搬出を制御することで、るつぼに使うこともできます。", "quests.steam_age.fluid_pipes.title": "液体パイプ", "quests.steam_age.fluid_pipes.subtitle": "液体、気体、両対応", - "quests.steam_age.fluid_pipes.desc.1": "&b液体パイプ&rは、機械間で&7蒸気&rを輸送します。\n\n各パイプには、mB/t単位の特定の運搬速度制限と、&6温度制限&rがあります。例えば、木のパイプは蒸気の熱に耐えられません。\n現時点では気にしなくてもいいですが、一部のパイプには、各材料に応じた特有の&b耐性&rがあります。\n\n各材料のパイプにはいくつかのサイズがあります。パイプが太いほど、運搬速度は&a高く&rなりますが、作成コストは&d高価に&rなります。たとえば、&6通常のブロンズ液体パイプ&rは120mB/tを転送します。(1,200mBの内部バッファーもあります!)\n\n最初は、冷たい液体には木製パイプ、熱い液体にはブロンズパイプを使用することをお勧めします。", + "quests.steam_age.fluid_pipes.desc.1": "&b液体パイプ&rは、機械間で&7蒸気&rを輸送します。\n\n各パイプには、mB/t単位の特定の運搬速度制限と、&6温度制限&rがあります。例えば、木のパイプは蒸気の熱に耐えられません。\n現時点では気にしなくてもいいですが、一部のパイプには、各材料に応じた特有の&b耐性&rがあります。\n\n各材料のパイプにはいくつかのサイズがあります。パイプが太いほど、運搬速度は&a高く&rなりますが、作成コストは&d高価に&rなります。たとえば、&6通常のブロンズ液体パイプ&rは120mB/tを転送します。(1,200mBの内部バッファーもあります!)\n\n最初は、室温程度の液体には木製パイプ、熱い液体にはブロンズパイプを使用することをお勧めします。", "quests.steam_age.fluid_pipes.desc.2": "&aメモ:&r1秒は20ティックです。これはサーバーに遅延が発生していないときの話ですが...\n\n&d注:&r GT6スタイルのパイプが有効になっています。つまり、パイプを配置すると、パイプを置いた面のブロックにのみ接続されます。もっといろんなブロックにつなげたいなら、パイプにレンチを使用しましょう。\n\nパイプをレンチでスニーク右クリックして、一方通行にすることができます。これは、液体が望ましくない方向に移動することを防ぐのに役立ちます。", "quests.steam_age.fluid_drums.title": "効率的な液体ストレージ", "quests.steam_age.fluid_drums.subtitle": "木の樽に融けた鋼を入れておけると思います?", @@ -3629,19 +3793,19 @@ "quests.steam_age.boilers.tasks": "高圧蒸気ボイラー", "quests.steam_age.steam_bloomery.title": "蒸気式塊鉄炉", "quests.steam_age.steam_bloomery.subtitle": "塊鉄炉の叔父", - "quests.steam_age.steam_bloomery.desc": "錬鉄は常に大量に要求されます。ということで、塊鉄炉を自動化してみませんか?\n錬鉄を効率的に自動化できるようになるのは、遥か先のLV時代のことです。蒸気式塊鉄炉は、古いTFC塊鉄炉を自動化し、より高速に処理してくれる新しいマルチブロックです!\nコークス炉と同様に、EMI上で、マルチブロック情報を表示できます。個々のブロックをクリックして、各場所で有効なものを確認しましょう。", + "quests.steam_age.steam_bloomery.desc": "錬鉄は常に大量に要求されます。ということで、塊鉄炉を自動化してみませんか?\n錬鉄を効率的に自動化できるようになるのは、遥か先のLV時代です。\n\n&3蒸気式塊鉄炉&rは、古いTFC塊鉄炉を自動化し、より高速に処理してくれる新しいマルチブロックです!\nコークス炉と同様に、EMI上で、マルチブロック情報を表示できます。個々のブロックをクリックして、各場所で有効なものを確認しましょう。", "quests.steam_age.steam_furnace.title": "高圧蒸気式かまど", "quests.steam_age.steam_furnace.subtitle": "高圧蒸気式かまどは、かまどです", "quests.steam_age.steam_furnace.desc": "インゴットへの製錬を楽にしたいですか?&3高圧蒸気式かまど&rを使いましょう!\n副産物なしで、多くの鉱石や粉を手早くインゴットの形に変えることができます。", "quests.steam_age.steam_oven.title": "蒸気式オーブン", - "quests.steam_age.steam_oven.subtitle": "蒸気式破砕機のお兄ちゃん", + "quests.steam_age.steam_oven.subtitle": "蒸気式かまどのお兄ちゃん", "quests.steam_age.steam_oven.desc.1": "&o...いや、弟か?まあいいや&r\n\n&3蒸気式オーブン&rは、&6大量のアイテムを楽に製錬したいときに最適なマルチブロック機械です&r。\nかまどを並べて、手作業で取り出したり、燃料を補給したりする必要は、もはや必要ありません!\n\n蒸気によって低コストで、一度に最大8つのアイテムを製錬する並列かまどとして機能してくれます。", "quests.steam_age.steam_oven.desc.2": "&l&3余談:&r&oこのマルチブロック、兄弟の蒸気式破砕機によく似てない?でも実はGregTechとかアドオンから移植されたものじゃないんだって。実の親は、古くは1.4.7のRailcraftの蒸気オーブンなんだと!節操がないね!", "quests.steam_age.steam_macerator.title": "高圧蒸気式粉砕機", "quests.steam_age.steam_macerator.subtitle": "高圧蒸気式粉砕機は、粉砕をします", "quests.steam_age.steam_macerator.desc": "この機械はGreateの石臼と役割がまったく同じなため、すでにそれを持っている場合は、実のところこれをつくる意味はあまりありません。一応、この時点では進行にどちらか一方が必要です。\nはい、そうです。副産物は出力しません。&6HV&rまで待ちましょう。", "quests.steam_age.steam_grinder.title": "蒸気式破砕機", - "quests.steam_age.steam_grinder.subtitle": "高圧蒸気式粉砕機の妹", + "quests.steam_age.steam_grinder.subtitle": "蒸気式粉砕機の妹", "quests.steam_age.steam_grinder.desc": "蒸気式オーブンと同様に、&3蒸気式破砕機&rは、高圧蒸気式粉砕機のアップグレードバージョンで、複数のアイテムを同時に処理できます。作るか作らないかはあなた次第です。", "quests.steam_age.rock_crusher.title": "高圧蒸気式破砕機", "quests.steam_age.rock_crusher.subtitle": "高圧蒸気式破砕機は、複製をします...え?", @@ -3773,8 +3937,17 @@ "quests.steam_age.steel_mech_press.desc.2": "&l&3余談:&r&oCreateのメカニカルプレスって、バージョン0.9より前のTerraFirmaGregだと、蒸気時代の結構重要なマシンだったんだよね。なぜかって、4/5っていうまあまあ良い比率でプレート作ってくれたから。でも実は、それを「20%の確率で、アイテムが消える」っていう仕様で実装してたんだよ!あのギャンブルはサイコーだったなあ。", "quests.steam_age.supers.title": "スーパーチェストとスーパータンク", "quests.steam_age.supers.subtitle": "スーパーストレージドロワー", - "quests.steam_age.supers.desc": "これはまさに&cu&6l&et&ai&bm&9a&5t&4e&rな収納機器です。現時点で作れる&d基本型&r(&8ULV&r)のものは比較的容量が小さいと思うかもしれませんが、上位のスーパーチェストやスーパータンクになると、温度・酸性度といった制限をまったく受けず、1ブロックで膨大な量を収納できるようになります!\n\nこれらは樽などと同じく、&6壊しても中身が消えず&r、さらには単体でクラフトして中身を空にする機能や、容量を超えた分を自動で破棄する機能まで備わっています。\n\nもっと大容量を求める場合は、さらに上位のクアンタムチェスト/タンクや、AE2のストレージセルをつかうことができます。", + "quests.steam_age.supers.desc": "これはまさに&cu&6l&et&ai&bm&9a&5t&4e&rな収納機器です。現時点で作れる&d基本型&r(&8ULV&r)のものは比較的容量が小さいと思うかもしれませんが、上位のスーパーチェストやスーパータンクであれば、さらに膨大な量を収納できるようになります!\n\nスーパータンクはドラムなどと同じく、&6壊しても中身が消えず&r、単体でクラフトして中身を空にする機能があります。そしてなにより、ドラムなどとは違って、入れる液体の温度や、酸性などの性質、持つと浮かぶ性質などの影響を完全に受けません。また容量を超えた分を自動で破棄する機能も備わっています。\n\nさらなる大容量を求める場合は、さらに上位のクアンタムチェスト/タンクや、AE2のストレージセルをつかいましょう。", "quests.steam_age.supers.task": "Any super chest or tank", + "quests.steam_age.steam_presser.title": "蒸気式プレス機", + "quests.steam_age.steam_presser.subtitle": "蒸気式鍛造機の叔母", + "quests.steam_age.steam_presser.desc": "&3蒸気式プレス機&rは、フォージハンマーのマルチブロック並列版です。\n\nフォージハンマーが処理のボトルネックになっている作業を行っている場合、このアップグレードは役に立つでしょう。そうでなければ、無理に作る必要はありません。", + "quests.steam_age.steam_fuser.title": "蒸気式合成炉", + "quests.steam_age.steam_fuser.subtitle": "蒸気式合金精錬炉のいとこ", + "quests.steam_age.steam_fuser.desc": "&3蒸気式合成炉&rは、蒸気式合金精錬炉をさらに大型・高性能化した装置です。大量の合金を、しかも素早く作りたい場合には、ぜひ導入したくなる存在です。", + "quests.steam_age.steam_squasher.title": "蒸気式圧迫機", + "quests.steam_age.steam_squasher.subtitle": "蒸気式圧縮機の子供の頃の友達", + "quests.steam_age.steam_squasher.desc": "同時に大量の圧縮処理が必要ですか?&3蒸気式圧迫機&rは、並列処理が可能なマルチブロック圧縮機で、状況によっては非常に役立つでしょう。", "quests.stone_age": "石器時代", "quests.stone_age.subtitle": "そして伝説へ...", "quests.stone_age.foods.title": "お腹が空いた?", @@ -3933,6 +4106,11 @@ "quests.stone_age.hazards.subtitle": "地上は危険だって?", "quests.stone_age.hazards.desc.1": "モンスターに加えて、採掘時の最大の課題は崩落への対処です。\nむき出しの石や鉱石ブロックの下に空間がある場合、それは「不安定」と見なされ、近くのブロックが採掘されるたびに崩落が始まる可能性があります。\nなお、洞窟の天井は硬化した石で覆われており、崩落を引き起こすことはありません。\n崩落を避けるために、最も安全な方法は地面を掘り進め、露天掘りすることですが、安全かつ効率的に採掘したい場合は、梁の使用方法を学ぶ必要があります!梁は丸太とノコギリで作成できます。", "quests.stone_age.hazards.desc.2": "フィールドガイドには、梁がどのように機能するかについての詳細と図が記載されていますが、要約すると、互いに4ブロック以内にこのように配置する必要があります。\n最上部の垂直な支柱のみが、実際に周囲の小さな範囲を支持しています。", + "quests.stone_age.medical_conditions.title": "病気について", + "quests.stone_age.medical_conditions.subtitle": "救急車5台呼んで~", + "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": "金床は安くありません!各金床には7個のダブルインゴットが必要で、そのためには14個のインゴットを溶接する必要があります。\n\nまだ鉱石採掘をしていない場合は、この時点で採掘を開始することをお勧めします。126個の小さな銅を集めるのは大変でしょう。", @@ -3962,7 +4140,7 @@ "quests.stone_age.flux.desc": "融剤は、主に金属加工で物を溶接するために使用されるアイテムですが、他の用途もあります。\n白亜、石灰岩、大理石などの特定の種類の岩は、粉砕して融剤にすることができます。また、さまざまな海洋生物の殻も同様です。", "quests.stone_age.weld_copper_ingots.title": "銅の溶接", "quests.stone_age.weld_copper_ingots.subtitle": "銅の金床まであと少し", - "quests.stone_age.weld_copper_ingots.desc": "炉に火をつけ、少なくとも2つの銅のインゴットを入れましょう。\n銅のインゴットが熱せられていくとツールチップに表示が出ます。一定の温度を超えると「鍛造可能」と表示されますが、ここでは融点直前の「溶接可能」になるまで待ちましょう。\n\n溶接可能と表示されたら、すぐに鍛冶場から取り出します(オフハンドでトングを持つのを忘れずに!)。そして、石の金床に、融剤とハンマーと一緒に置き、溶接します。水または雪を利用すれば、できたてのダブルインゴットをより速く冷却できます。", + "quests.stone_age.weld_copper_ingots.desc": "炉に火をつけ、少なくとも2つの銅のインゴットを入れましょう。\n銅のインゴットが熱せられていくとツールチップに表示が出ます。一定の温度を超えると「鍛造可能」と表示されますが、ここでは融点直前の「溶接可能」になるまで待ちましょう。\n\n溶接可能と表示されたら、すぐに鍛冶場から取り出します(オフハンドで&eトング&rを持つのを忘れずに!)。そして、石の金床に、融剤とハンマーと一緒に置き、溶接します。水または雪を利用すれば、できたてのダブルインゴットをより速く冷却できます。", "quests.metal_age.copper_anvil.title": "第一の金床:銅", "quests.metal_age.copper_anvil.subtitle": "堅実な努力の成果", "quests.metal_age.copper_anvil.desc": "おめでとうございます!これにてあなたは石器時代を終え、これからは金属時代に入ります!\n銅の金床を手に入れたあなたが次に取り掛かるのは、金床の等級を上げていくことです。\n新しい段階に進むたびに、新たなツールや新たな手段が利用可能になり、生活がどんどん楽になっていくでしょう。\nさあ、鍛冶の達人を目指しましょう!", @@ -3977,7 +4155,7 @@ "quests.tfg.capture_territory.title": "領有主張の方法", "quests.tfg.capture_territory.subtitle": "それとチャンクロードのしかた", "quests.tfg.capture_territory.desc": "マルチプレイをしているとき、他のプレイヤーに邪魔されないように自分の領地を確保したいと思うことがあるかもしれません。そんな時はOpen_Claimキー(デフォルトだとCtrl+M)を使ってウィンドウを開き、左クリックでチャンクを確保、右クリックで解放することができます。\n\nただし、これには制限があります。世界のすべてを領地にすることはできないですよ。また、Shift+左クリックでチャンクロード状態にすることもできます。Shift+右クリックで解除することができます。そして、これらは同じチーム内で共有されます。", - "quests.tfg.chunk_limit.title": "How to increase my chunkload limit?", + "quests.tfg.chunk_limit.title": "チャンクロード制限の増やし方", "quests.tfg.chunk_limit.desc": "サーバーで遊んでいる場合、デフォルトのフォースロード設定できるチャンク数はかなり少なく抑えられています。\n\nサーバー管理者であれば、README.txtに従ってこの上限を変更できます。また、自分にOP権限がある、あるいはチートをオンにしている場合は、「&a/ftbchunks admin extra_force_load_chunks @p set X&r」というコマンドを使えば、自分のフォースロード上限をXの値に設定できます。", "quests.tfg.field_guide.title": "クエストに関する重要な情報!", "quests.tfg.field_guide.subtitle": "もっといろいろ知りたいですか?", @@ -4082,14 +4260,15 @@ "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この小型で便利な装置はGT5から来たものだよ。当時は、GUIやWAILAから得られる情報がほとんど(というより全く)無かったから、非常に重宝されていました。", "quests.tfg_tips.duct_tape.subtitle": "テープで直せないものは、たくさんのテープを使いましょう", "quests.tfg_tips.duct_tape.desc": "多くの&eマルチブロック&rには&6メンテナンスハッチ&rが必要だということに、おそらくお気づきかと思います。&6HV&rに到達して&a自動メンテナンスハッチ&rを入手できるようになるまでは、このアイテムを使うことで、メンテナンスツールを使わずにハッチを修理できます。\n\nまだ&a自動メンテナンスハッチ&rに投資したくない場合や、単純にまだ&cそこに到達していない&r場合には、とても役立つアイテムです。", "quests.tfg_tips.gt_filters.title": "フィルター", - "quests.tfg_tips.gt_filters.desc": "&5GregTech&rには、&a自動化&rをスムーズに進めるための様々な&6フィルター&rが存在します。これらはすべて、&dカバー&rと組み合わせて使用することができます。(カバーの詳細な説明は&「7LV&r」の章のクエストに載っています。)\n\nここでは、特定の状況で&b便利&rに使える、さらに2種類の特化フィルターをご紹介します。\n\nフィルターを使う場合は、&5機械またはカバーのGUI内で取り付ける&rか、もしくは&6機械やパイプ&rに&dカバー&rとして取り付けることができます。", - "quests.tfg_tips.smart_item_filter.subtitle": "Knock, knock - who's that? It's MENSA!", + "quests.tfg_tips.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": "偏差値999", "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.&7.まあ、水なんかは別ですが。", "quests.tfg_tips.smart_item_filter.desc.3": "&9注意:&rロボットアームのフィルタリング機能を正しく動作させるには、必ずロボットアーム自身がアイテム搬入を担当している必要があります!\n\n機械へ直接アイテムを入れてしまう(&7例:ホッパーなどによる搬入&r)と、ロボットアームの&d供給モード&r設定は無視されてしまいますのでご注意ください。", @@ -4117,6 +4296,10 @@ "quests.tfg_tips.feeding_troughs.subtitle": "規則正しい牧場", "quests.tfg_tips.feeding_troughs.desc": "給餌箱(別名Grooming Stations)は、動物に毎朝自動で餌を与える便利な仕組みです。繁殖を望まない場合には、親密度が最大の動物には給餌しない設定にもできます。\n\nティアが上がるほど、対応できる範囲が広くなり、より多くの動物を管理できます。\n\n&3&lTip:&r&o柵のすぐそばに設置すると、動物がそこを足場にして脱走を試みることがあるため、少し距離を置いて設置することを推奨します。", "quests.tfg_tips.feeding_troughs.task": "Any feeding trough", + "quests.tfg_tips.scraping_knives.title": "剥ぎ取りナイフ", + "quests.tfg_tips.scraping_knives.subtitle": "剝ぎ取り名人", + "quests.tfg_tips.scraping_knives.desc": "革や紙、亜麻を一部分ずつ手作業で削るのにうんざりしていませんか?そんなときは剝ぎ取りナイフ(Scraping_Knife)を作ってみてください!\n\n基本的な銅製または青銅製の剝ぎ取りナイフであれば、一度に素材を1列分削ることができ、より上位のナイフでは、さらに多くの列を同時に削ることが可能になります。", + "quests.tfg_tips.scraping_knives.task": "Any Scraping Knife", "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を成形できるようになったらすぐに、ガラス吹きが可能になります!", @@ -4308,8 +4491,8 @@ "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.task": "レッドストーンランタンまたは望遠鏡", + "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": "写真の外観を変更する。", "quests.tfg_tips.filters.desc": "&aガラス板&rを使うと、写真に&dフィルター&rを適用できます。カメラGUIを開いて、カメラフィルターのスロットに割り当てるだけです。\n&dフィルター&rを使うと、写真の全体的な色の構成を変更できます。たとえば、&3シアン&rや&bライトブルー&rのフィルターを適用して、写真をより冷たく見せることができます。", @@ -4322,7 +4505,7 @@ "quests.tfg_tips.film_rolls.desc": "写真を撮り始めるには、&0白黒フィルム&rと&dカラーフィルム&rの2種類のフィルムロールのいずれかを作成する必要があります。", "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、の4つの染料が必要です。(これはCMYKとして知られています。)\n&0白黒フィルム&rには&0黒染料&rのみが必要ですが、&dカラーフィルム&rには&3C&5M&eY&0K&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、の4つの染料が必要です。(これはCMYKとして知られています。)\n&0白黒フィルム&rには&0黒染料&rのみが必要ですが、&dカラーフィルム&rには&3C&5M&eY&0K&rセットの全てが必要です。\n\nさらに面白い処理をしたい場合は、&cクロマテック加工&rを使用できます...", "quests.tfg_tips.photo.title": "最初の写真", "quests.tfg_tips.photo.subtitle": "おめでとうございます!", "quests.tfg_tips.photo.desc": "&d写真&rを使って色々なことができます。\n\n空白の&a紙&rと元の現像に使用した&a染料&rを使用して&bコピー&rできます。\n\nまた、写真を&bスタック&rして、インベントリに整理しておくこともできます。方法については、EMIを確認してください。\n\nまた、&6茶色の染料&rを適用して写真を人工的に&cエイジング&rし、長年経過したように見せることもできます。", @@ -4445,7 +4628,7 @@ "quests.tfg_tips.firmaciv_info.desc": "&3Firma:Civ&rには4つの異なるナビゲーションツールが付属しており、それぞれが自分の現在地に関する重要な情報を提供します。\n&dSextant&r、&dNavigator's Timepiece&r、&dBarometer&r、&dCompass&rがあります。詳細については、&2フィールドガイド&rを参照してください。\n\n&3&l余談:&r&o本来、Firma:Civが入っていると、座標が見れなくなって、こういった航海用の道具を使わないといけなくなるんだ。でもそれは大変すぎると思ったから、まあ、使いたければ使ってね。", "quests.tfg_tips.warfare.title": "海上戦", "quests.tfg_tips.warfare.subtitle": "全弾発射!", - "quests.tfg_tips.warfare.desc": "粉々に吹き飛ばしたい相手がいたら、&bSloop&rに&dCannon&rとCannonballを取りつけましょう。\nCannonを発射するには、&a火薬、未精製の紙&r、&aCannonball&rを装填する必要があります。そして、&c火打石と打ち金&rで芯に火をつけます。", + "quests.tfg_tips.warfare.desc": "粉々に吹き飛ばしたい相手がいたら、&bSloop&rに&dCannon&rとCannonballを取りつけましょう。\nCannonを発射するには、&a火薬、未精製の紙&r、&aCannonball&rを装填する必要があります。そして、&c火打石と打ち金&rで芯に火をつけます。\n\n大砲は作ったけど&bSloop&rが無いって?大丈夫!大砲はそのまま地面においてぶっ放すことができるんだ!これで敵船を沈めたらきっとスッキリするぞー!", "quests.tfg_tips.kayak_materials.title": "カヤック", "quests.tfg_tips.kayak_materials.subtitle": "カヤックを作ろう", "quests.tfg_tips.kayak_materials.desc": "&dKayak&rは、2番目に簡単に作れる船です。素材の&aWaterproof_Hides&rには&bワックス&rが必要になります。\nこれは、アイテムとして回収することができる&c唯一の&rボートでもあります。\n&d一人乗り&rしかできませんが、鋼鉄時代の&dSloop&rまで、最速のボートです。", diff --git a/kubejs/assets/wan_ancient_beasts/lang/ja_jp.json b/kubejs/assets/wan_ancient_beasts/lang/ja_jp.json new file mode 100644 index 000000000..0da551aa7 --- /dev/null +++ b/kubejs/assets/wan_ancient_beasts/lang/ja_jp.json @@ -0,0 +1,7 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.wan_ancient_beasts.quick_red_sand": "赤鉄質の流砂", + "item.wan_ancient_beasts.toxlacanth": "生のトキシーラカンス", + "item.wan_ancient_beasts.raw_ancient_meat": "生のイーターの骨付き肉", + "item.wan_ancient_beasts.cooked_ancient_meat": "焼いたイーターの骨付き肉" +} \ No newline at end of file From 667f447ca9cb686e5a10ed681a55fd8e48244a30 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 6 Jan 2026 17:21:40 +0000 Subject: [PATCH 019/474] changed recipes for single block steam turbines --- CHANGELOG.md | 8 ++- .../gregtech/recipes.machines.js | 50 +++++++++++++++++++ .../gtceu/material_modification.js | 4 +- 3 files changed, 60 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ae7a6046a..c5053afa0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,14 +1,20 @@ # Changelog ## Unreleased +### Breaking changes +- The steam thermal centrifuge now requires a maintenance hatch. It also now requires 480mB steam per tick instead of 64mb, equivalent to how much 8 LV thermal centrifuges would use. It also now only takes 20 seconds instead of 30. It also now actually outputs byproducts like it was supposed to. @Pyritie +- Single block steam generators are now more expensive to craft, so there isn't such a huge gap between steam, gas, and combustion generators @TomPlop ### Changes - The crucible now holds 4608mB (32 ingots) instead of 4032mB (28 ingots) (#2634) @Pyritie -- Large gears can now be crafted in an anvil / mechanical press @Pyritie +- Large gears can now be crafted in an anvil/mechanical press @Pyritie +- Added tree index field guide entries for Earth and Mars (#2638) @Jeuvke ### Bug fixes - Fixed not being able to craft Paracetamol or Rad-Away @Pyritie - Water wheels now spin the correct direction in rivers (#2450) @zehmaria ### Translation updates - Chinese (simplified) @jmecn +- Russian @Petr211071 +- Japanese @sakura-gondra ## [0.11.16] - 05-01-2026 ### Changes diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index 6603488ac..33e2fdc9a 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -895,4 +895,54 @@ function registerGTCEuMachineRecipes(event) { .circuit(6) .duration(2.5 * 20) .EUt(GTValues.VHA[GTValues.LV]) + + // Steam generators + + event.remove({ id: 'gtceu:shaped/steam_turbine_lv' }) + removeMaceratorRecipe(event, 'macerate_lv_steam_turbine') + + event.recipes.gtceu.shaped('gtceu:lv_steam_turbine', [ + 'BAB', + 'CDC', + 'EFE' + ], { + A: '#gtceu:circuits/lv', + B: '#forge:huge_fluid_pipes/steel', + C: '#forge:rotors/cobalt_brass', + D: 'gtceu:lv_machine_hull', + E: 'gtceu:lv_electric_motor', + F: '#forge:single_cables/tin' + }).addMaterialInfo().id('tfg:shaped/steam_turbine_lv') + + event.remove({ id: 'gtceu:shaped/steam_turbine_mv' }) + removeMaceratorRecipe(event, 'macerate_mv_steam_turbine') + + event.recipes.gtceu.shaped('gtceu:mv_steam_turbine', [ + 'BAB', + 'CDC', + 'EFE' + ], { + A: '#gtceu:circuits/mv', + B: '#forge:huge_fluid_pipes/aluminium', + C: '#forge:rotors/magnalium', + D: 'gtceu:mv_machine_hull', + E: 'gtceu:mv_electric_motor', + F: '#forge:single_cables/copper' + }).addMaterialInfo().id('tfg:shaped/steam_turbine_mv') + + event.remove({ id: 'gtceu:shaped/steam_turbine_hv' }) + removeMaceratorRecipe(event, 'macerate_hv_steam_turbine') + + event.recipes.gtceu.shaped('gtceu:hv_steam_turbine', [ + 'BAB', + 'CDC', + 'EFE' + ], { + A: '#gtceu:circuits/hv', + B: '#forge:huge_fluid_pipes/stainless_steel', + C: '#forge:rotors/vanadium_steel', + D: 'gtceu:hv_machine_hull', + E: 'gtceu:hv_electric_motor', + F: '#forge:single_cables/gold' + }).addMaterialInfo().id('tfg:shaped/steam_turbine_hv') } diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index dffc9f8ed..6ebaa34c9 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -285,7 +285,6 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.WroughtIron.addFlags(GENERATE_ROTOR, GENERATE_SPRING, GENERATE_SMALL_GEAR); GTMaterials.Copper.addFlags(GENERATE_BOLT_SCREW); - GTMaterials.DamascusSteel.addFlags(GENERATE_BOLT_SCREW); GTMaterials.Duranium.addFlags(GENERATE_BOLT_SCREW); GTMaterials.Magnalium.addFlags(GENERATE_GEAR); @@ -293,6 +292,9 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Cupronickel.addFlags(GENERATE_BOLT_SCREW, GENERATE_RING); GTMaterials.Ultimet.addFlags(GENERATE_ROTOR) + GTMaterials.CobaltBrass.addFlags(GENERATE_ROTOR) + GTMaterials.Magnalium.addFlags(GENERATE_ROTOR) + GTMaterials.VanadiumSteel.addFlags(GENERATE_ROTOR) GTMaterials.HSLASteel.addFlags(GENERATE_BOLT_SCREW, GENERATE_DENSE) From 65e4e9d6a3ed4dd4b1dac9bf5fe2374f485d98a1 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 6 Jan 2026 17:22:13 +0000 Subject: [PATCH 020/474] character encoding idk? thanks git --- .../arborfirmacraft/earth_tree_index.json | 410 +++++++++--------- .../entries/tfg_tips/mars_tree_index.json | 94 ++-- 2 files changed, 252 insertions(+), 252 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/earth_tree_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/earth_tree_index.json index c2b52dc00..139e48c0b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/earth_tree_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/arborfirmacraft/earth_tree_index.json @@ -1,205 +1,205 @@ -{ - "name": "Earth Tree Index", - "category": "tfc:arborfirmacraft", - "icon": "afc:wood/sapling/flame_of_the_forest", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "This is a list of every tree in the world, and what climates they grow in.$(br2)Looking for particular wood type to decorate your base? This should help you find it. The list is sorted alphabetically by wood type.$(br2)Also check out the $(l:tfc:tfg_tips/mars_tree_index)Mars Mushroom Index$()." - }, - { - "type": "patchouli:spotlight", - "title": "Acacia, Gum Arabic", - "item": "tag:tfc:acacia_logs", - "text": "$(bold)Umbrella Thorn Acacia$()$(br)$(thing)Rainfall$(): 90 — 275mm$(br)$(thing)Temperature$(): 13.4 — 40°C$(br2)$(bold)Acacia Koa$()$(br)$(thing)Rainfall$(): 350 — 500mm$(br)$(thing)Temperature$(): 15.3 — 24.4°C$(br2)$(bold)Gum Arabic$()$(br)$(thing)Rainfall$(): 90 — 275mm$(br)$(thing)Temperature$(): 11.6 — 40°C" - }, - { - "type": "patchouli:spotlight", - "title": "Ash", - "item": "tag:tfc:ash_logs", - "text": "$(bold)White Ash$()$(br)$(thing)Rainfall$(): 60 — 240mm$(br)$(thing)Temperature$(): -13.9 — 0.7°C" - }, - { - "type": "patchouli:spotlight", - "title": "Aspen, Poplar", - "item": "tag:tfc:aspen_logs", - "text": "$(bold)Quaking Aspen$()$(br)$(thing)Rainfall$(): 350 — 500mm$(br)$(thing)Temperature$(): -15.7 — -1.1°C$(br2)$(bold)Poplar$()$(br)$(thing)Rainfall$(): 170 — 310mm$(br)$(thing)Temperature$(): -15.7 — -6.6°C" - }, - { - "type": "patchouli:spotlight", - "title": "Baobab", - "item": "tag:afc:baobab_logs", - "text": "$(bold)Baobab$()$(br)$(thing)Rainfall$(): 30 — 190mm$(br)$(thing)Temperature$(): 15.3 — 26.2°C" - }, - { - "type": "patchouli:spotlight", - "title": "Birch", - "item": "tag:tfc:birch_logs", - "text": "$(bold)Birch$()$(br)$(thing)Rainfall$(): 125 — 310mm$(br)$(thing)Temperature$(): -13.9 — 2.5°C" - }, - { - "type": "patchouli:spotlight", - "title": "Blackwood", - "item": "tag:tfc:blackwood_logs", - "text": "$(bold)Mpingo Blackwood$()$(br)$(thing)Rainfall$(): 85 — 285mm$(br)$(thing)Temperature$(): 13.4 — 22.5°C$(br2)$(bold)Mulga Blackwood$()$(br)$(thing)Rainfall$(): 35 — 150mm$(br)$(thing)Temperature$(): 9.8 — 20.7°C" - }, - { - "type": "patchouli:spotlight", - "title": "Cedar", - "item": "tag:tfc:white_cedar_logs", - "text": "$(bold)White Cedar$()$(br)$(thing)Rainfall$(): 100 — 220mm$(br)$(thing)Temperature$(): -13.9 — 4.3°C$(br2)$(bold)Atlas Cedar$()$(br)$(thing)Rainfall$(): 165 — 500mm$(br)$(thing)Temperature$(): 8.0 — 13.4°C" - }, - { - "type": "patchouli:spotlight", - "title": "Chestnut", - "item": "tag:tfc:chestnut_logs", - "text": "$(bold)Chestnut$()$(br)$(thing)Rainfall$(): 150 — 300mm$(br)$(thing)Temperature$(): -6.6 — 11.6°C" - }, - { - "type": "patchouli:spotlight", - "title": "Cypress, Redcedar", - "item": "tag:afc:cypress_logs", - "text": "$(bold)Slender Cypress$()$(br)$(thing)Rainfall$(): 100 — 260mm$(br)$(thing)Temperature$(): 2.5 — 15.3°C$(br2)$(bold)Bald Cypress$()$(br)$(thing)Rainfall$(): 360 — 500mm$(br)$(thing)Temperature$(): -1.1 — 15.3°C$(br2)$(bold)Weeping Cypress$()$(br)$(thing)Rainfall$(): 290 — 415mm$(br)$(thing)Temperature$(): -8.4 — 4.3°C" - }, - { - "type": "patchouli:text", - "text": "$(bold)Redcedar$()$(br)$(thing)Rainfall$(): 410 — 500mm$(br)$(thing)Temperature$(): -4.8 — 9.8°C" - }, - { - "type": "patchouli:spotlight", - "title": "(Rainbow) Eucalyptus", - "item": "tag:afc:eucalyptus_logs", - "text": "$(bold)Blue Gum$()$(br)$(thing)Rainfall$(): 170 — 325mm$(br)$(thing)Temperature$(): 8.0 — 18.9°C$(br2)$(bold)Mountain Ash$()$(br)$(thing)Rainfall$(): 390 — 500mm$(br)$(thing)Temperature$(): 9.8 — 18.9°C$(br2)$(bold)Rainbow Eucalyptus$()$(br)$(thing)Rainfall$(): 300 — 450mm$(br)$(thing)Temperature$(): 15.3 — 24.4°C" - }, - { - "type": "patchouli:spotlight", - "title": "Fig, Rubber Fig", - "item": "tag:afc:fig_logs", - "text": "$(bold)Rusty Fig$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 18.9 — 26.2°C$(br2)$(bold)Rubber Fig$()$(br)$(thing)Rainfall$(): 290 — 400mm$(br)$(thing)Temperature$(): 9.8 — 20.7°C" - }, - { - "type": "patchouli:spotlight", - "title": "Fir", - "item": "tag:tfc:douglas_fir_logs", - "text": "$(bold)Douglas Fir$()$(br)$(thing)Rainfall$(): 305 — 500mm$(br)$(thing)Temperature$(): -10.3 — 6.1°C$(br2)$(bold)Mountain Fir$()$(br)$(thing)Rainfall$(): 220 — 345mm$(br)$(thing)Temperature$(): -1.1 — 11.6°C$(br2)$(bold)Balsam Fir$()$(br)$(thing)Rainfall$(): 210 — 500mm$(br)$(thing)Temperature$(): -13.9 — -1.1°C" - }, - { - "type": "patchouli:spotlight", - "title": "Hevea", - "item": "tag:afc:hevea_logs", - "text": "$(bold)Hevea$()$(br)$(thing)Rainfall$(): 390 — 500mm$(br)$(thing)Temperature$(): 17.1 — 26.2°C" - }, - { - "type": "patchouli:spotlight", - "title": "Hickory", - "item": "tag:tfc:hickory_logs", - "text": "$(bold)Bitternut Hickory$()$(br)$(thing)Rainfall$(): 210 — 400mm$(br)$(thing)Temperature$(): -6.6 — 11.6°C$(br2)$(bold)Scrub Hickory$()$(br)$(thing)Rainfall$(): 400 — 475mm$(br)$(thing)Temperature$(): 11.6 — 17.1°C" - }, - { - "type": "patchouli:spotlight", - "title": "Ipe", - "item": "tag:afc:ipe_logs", - "text": "$(bold)Yellow Ipe$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 11.6 — 20.7°C" - }, - { - "type": "patchouli:spotlight", - "title": "Ironwood", - "item": "tag:afc:ironwood_logs", - "text": "$(bold)King Ironwood$()$(br)$(thing)Rainfall$(): 320 — 430mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C$(br2)$(bold)Lebombo Ironwood$()$(br)$(thing)Rainfall$(): 150 — 230mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C$(br2)$(bold)Horsetail Ironwood$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 9.8 — 20.7°C" - }, - { - "type": "patchouli:spotlight", - "title": "Kapok", - "item": "tag:tfc:kapok_logs", - "text": "$(bold)Kapok$()$(br)$(thing)Rainfall$(): 360 — 500mm$(br)$(thing)Temperature$(): 13.4 — 24.4°C$(br2)$(bold)Red Silk Cotton$()$(br)$(thing)Rainfall$(): 250 — 350mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C" - }, - { - "type": "patchouli:spotlight", - "title": "Mahogany", - "item": "tag:afc:mahogany_logs", - "text": "$(bold)Mahogany$()$(br)$(thing)Rainfall$(): 300 — 430mm$(br)$(thing)Temperature$(): 15.3 — 26.2°C$(br2)$(bold)Small Leaf Mahogany$()$(br)$(thing)Rainfall$(): 320 — 500mm$(br)$(thing)Temperature$(): 11.6 — 18.9°C$(br2)$(bold)Sapele Mahogany$()$(br)$(thing)Rainfall$(): 330 — 500mm$(br)$(thing)Temperature$(): 13.4 — 26.2°C" - }, - { - "type": "patchouli:spotlight", - "title": "Mangrove", - "item": "tag:tfc:mangrove_logs", - "text": "$(bold)Mangrove$()$(br)$(thing)Rainfall$(): 220mm+$(br)$(thing)Temperature$(): 18.0°C+$(br)Note: only spawns in Salt Marsh biomes" - }, - { - "type": "patchouli:spotlight", - "title": "Maple", - "item": "tag:tfc:maple_logs", - "text": "$(bold)Sugar Maple$()$(br)$(thing)Rainfall$(): 260 — 360mm$(br)$(thing)Temperature$(): -8.4 — 8.0°C$(br2)$(bold)Bigleaf Maple$()$(br)$(thing)Rainfall$(): 405 — 500mm$(br)$(thing)Temperature$(): -4.8 — 11.6°C$(br2)$(bold)Weeping Maple$()$(br)$(thing)Rainfall$(): 240 — 320mm$(br)$(thing)Temperature$(): 0.7 — 4.3°C" - }, - { - "type": "patchouli:spotlight", - "title": "Oak, Black Oak", - "item": "tag:tfc:oak_logs", - "text": "$(bold)Pin Oak$()$(br)$(thing)Rainfall$(): 210 — 320mm$(br)$(thing)Temperature$(): -8.4 — 6.1°C$(br2)$(bold)Live Oak$()$(br)$(thing)Rainfall$(): 390 — 500mm$(br)$(thing)Temperature$(): 0.7 — 13.4°C$(br2)$(bold)Black Oak$()$(br)$(thing)Rainfall$(): 150 — 330mm$(br)$(thing)Temperature$(): 11.6 — 20.7°C" - }, - { - "type": "patchouli:spotlight", - "title": "Palm", - "item": "tag:tfc:palm_logs", - "text": "$(bold)Palm$()$(br)$(thing)Rainfall$(): 0 — 250mm$(br)$(thing)Temperature$(): 17.1 — 40.0°C$(br2)$(bold)Jaggery Palm$()$(br)$(thing)Rainfall$(): 400 — 500mm$(br)$(thing)Temperature$(): 20.7 — 26.2°C" - }, - { - "type": "patchouli:spotlight", - "title": "Pine", - "item": "tag:tfc:pine_logs", - "text": "$(bold)Boreal Pine$()$(br)$(thing)Rainfall$(): 60 — 270mm$(br)$(thing)Temperature$(): -19.4 — -3.0°C$(br2)$(bold)Stone Pine$()$(br)$(thing)Rainfall$(): 140 — 290mm$(br)$(thing)Temperature$(): 2.5 — 18.9°C$(br2)$(bold)Red Pine$()$(br)$(thing)Rainfall$(): 185 — 320mm$(br)$(thing)Temperature$(): -8.4 — 4.3°C" - }, - { - "type": "patchouli:text", - "text": "$(bold)Tamarack$()$(br)$(thing)Rainfall$(): 150 — 500mm$(br)$(thing)Temperature$(): -17.5 — -1.1°C" - }, - { - "type": "patchouli:spotlight", - "title": "Rosewood", - "item": "tag:tfc:rosewood_logs", - "text": "$(bold)Shisham Rosewood$()$(br)$(thing)Rainfall$(): 245 — 360mm$(br)$(thing)Temperature$(): 15.3 — 24.4°C$(br2)$(bold)Giant Rosewood$()$(br)$(thing)Rainfall$(): 340 — 440mm$(br)$(thing)Temperature$(): 15.3 — 22.5°C" - }, - { - "type": "patchouli:spotlight", - "title": "Sequoia", - "item": "tag:tfc:sequoia_logs", - "text": "$(bold)Sequoia$()$(br)$(thing)Rainfall$(): 320 — 500mm$(br)$(thing)Temperature$(): 0.7 — 8.0°C$(br2)$(bold)Coast Redwood$()$(br)$(thing)Rainfall$(): 320 — 500mm$(br)$(thing)Temperature$(): 4.3 — 9.8°C" - }, - { - "type": "patchouli:spotlight", - "title": "Spruce", - "item": "tag:tfc:spruce_logs", - "text": "$(bold)Blue Spruce$()$(br)$(thing)Rainfall$(): 330 — 500mm$(br)$(thing)Temperature$(): -19.4 — 2.5°C$(br2)$(bold)Coast Spruce$()$(br)$(thing)Rainfall$(): 320 — 390mm$(br)$(thing)Temperature$(): -12.1 — 6.1°C$(br2)$(bold)Sitka Spruce$()$(br)$(thing)Rainfall$(): 370 — 500mm$(br)$(thing)Temperature$(): 2.5 — 8.0°C" - }, - { - "type": "patchouli:text", - "text": "$(bold)Black Spruce$()$(br)$(thing)Rainfall$(): 220 — 360mm$(br)$(thing)Temperature$(): -17.5 — -1.1°C" - }, - { - "type": "patchouli:spotlight", - "title": "Sycamore", - "item": "tag:tfc:sycamore_logs", - "text": "$(bold)Sycamore$()$(br)$(thing)Rainfall$(): 330 — 480mm$(br)$(thing)Temperature$(): -6.6 — 11.6°C" - }, - { - "type": "patchouli:spotlight", - "title": "Teak", - "item": "tag:afc:teak_logs", - "text": "$(bold)True Teak$()$(br)$(thing)Rainfall$(): 215 — 330mm$(br)$(thing)Temperature$(): 13.4 — 26.2°C$(br2)$(bold)Iroko Teak$()$(br)$(thing)Rainfall$(): 210 — 320mm$(br)$(thing)Temperature$(): 17.1 — 40.0°C$(br2)$(bold)Flame of the Forest$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 13.4 — 24.4°C" - }, - { - "type": "patchouli:spotlight", - "title": "Tualang", - "item": "tag:afc:tualang_logs", - "text": "$(bold)Tualang$()$(br)$(thing)Rainfall$(): 360 — 500mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C" - }, - { - "type": "patchouli:spotlight", - "title": "Willow", - "item": "tag:tfc:willow_logs", - "text": "$(bold)Corkscrew Willow$()$(br)$(thing)Rainfall$(): 330 — 500mm$(br)$(thing)Temperature$(): -6.6 — 9.8°C$(br2)$(bold)Weeping Willow$()$(br)$(thing)Rainfall$(): 355 — 500mm$(br)$(thing)Temperature$(): 9.8 — 17.1°C" - } - ] - -} +{ + "name": "Earth Tree Index", + "category": "tfc:arborfirmacraft", + "icon": "afc:wood/sapling/flame_of_the_forest", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "This is a list of every tree in the world, and what climates they grow in.$(br2)Looking for particular wood type to decorate your base? This should help you find it. The list is sorted alphabetically by wood type.$(br2)Also check out the $(l:tfc:tfg_tips/mars_tree_index)Mars Mushroom Index$()." + }, + { + "type": "patchouli:spotlight", + "title": "Acacia, Gum Arabic", + "item": "tag:tfc:acacia_logs", + "text": "$(bold)Umbrella Thorn Acacia$()$(br)$(thing)Rainfall$(): 90 — 275mm$(br)$(thing)Temperature$(): 13.4 — 40°C$(br2)$(bold)Acacia Koa$()$(br)$(thing)Rainfall$(): 350 — 500mm$(br)$(thing)Temperature$(): 15.3 — 24.4°C$(br2)$(bold)Gum Arabic$()$(br)$(thing)Rainfall$(): 90 — 275mm$(br)$(thing)Temperature$(): 11.6 — 40°C" + }, + { + "type": "patchouli:spotlight", + "title": "Ash", + "item": "tag:tfc:ash_logs", + "text": "$(bold)White Ash$()$(br)$(thing)Rainfall$(): 60 — 240mm$(br)$(thing)Temperature$(): -13.9 — 0.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "Aspen, Poplar", + "item": "tag:tfc:aspen_logs", + "text": "$(bold)Quaking Aspen$()$(br)$(thing)Rainfall$(): 350 — 500mm$(br)$(thing)Temperature$(): -15.7 — -1.1°C$(br2)$(bold)Poplar$()$(br)$(thing)Rainfall$(): 170 — 310mm$(br)$(thing)Temperature$(): -15.7 — -6.6°C" + }, + { + "type": "patchouli:spotlight", + "title": "Baobab", + "item": "tag:afc:baobab_logs", + "text": "$(bold)Baobab$()$(br)$(thing)Rainfall$(): 30 — 190mm$(br)$(thing)Temperature$(): 15.3 — 26.2°C" + }, + { + "type": "patchouli:spotlight", + "title": "Birch", + "item": "tag:tfc:birch_logs", + "text": "$(bold)Birch$()$(br)$(thing)Rainfall$(): 125 — 310mm$(br)$(thing)Temperature$(): -13.9 — 2.5°C" + }, + { + "type": "patchouli:spotlight", + "title": "Blackwood", + "item": "tag:tfc:blackwood_logs", + "text": "$(bold)Mpingo Blackwood$()$(br)$(thing)Rainfall$(): 85 — 285mm$(br)$(thing)Temperature$(): 13.4 — 22.5°C$(br2)$(bold)Mulga Blackwood$()$(br)$(thing)Rainfall$(): 35 — 150mm$(br)$(thing)Temperature$(): 9.8 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "Cedar", + "item": "tag:tfc:white_cedar_logs", + "text": "$(bold)White Cedar$()$(br)$(thing)Rainfall$(): 100 — 220mm$(br)$(thing)Temperature$(): -13.9 — 4.3°C$(br2)$(bold)Atlas Cedar$()$(br)$(thing)Rainfall$(): 165 — 500mm$(br)$(thing)Temperature$(): 8.0 — 13.4°C" + }, + { + "type": "patchouli:spotlight", + "title": "Chestnut", + "item": "tag:tfc:chestnut_logs", + "text": "$(bold)Chestnut$()$(br)$(thing)Rainfall$(): 150 — 300mm$(br)$(thing)Temperature$(): -6.6 — 11.6°C" + }, + { + "type": "patchouli:spotlight", + "title": "Cypress, Redcedar", + "item": "tag:afc:cypress_logs", + "text": "$(bold)Slender Cypress$()$(br)$(thing)Rainfall$(): 100 — 260mm$(br)$(thing)Temperature$(): 2.5 — 15.3°C$(br2)$(bold)Bald Cypress$()$(br)$(thing)Rainfall$(): 360 — 500mm$(br)$(thing)Temperature$(): -1.1 — 15.3°C$(br2)$(bold)Weeping Cypress$()$(br)$(thing)Rainfall$(): 290 — 415mm$(br)$(thing)Temperature$(): -8.4 — 4.3°C" + }, + { + "type": "patchouli:text", + "text": "$(bold)Redcedar$()$(br)$(thing)Rainfall$(): 410 — 500mm$(br)$(thing)Temperature$(): -4.8 — 9.8°C" + }, + { + "type": "patchouli:spotlight", + "title": "(Rainbow) Eucalyptus", + "item": "tag:afc:eucalyptus_logs", + "text": "$(bold)Blue Gum$()$(br)$(thing)Rainfall$(): 170 — 325mm$(br)$(thing)Temperature$(): 8.0 — 18.9°C$(br2)$(bold)Mountain Ash$()$(br)$(thing)Rainfall$(): 390 — 500mm$(br)$(thing)Temperature$(): 9.8 — 18.9°C$(br2)$(bold)Rainbow Eucalyptus$()$(br)$(thing)Rainfall$(): 300 — 450mm$(br)$(thing)Temperature$(): 15.3 — 24.4°C" + }, + { + "type": "patchouli:spotlight", + "title": "Fig, Rubber Fig", + "item": "tag:afc:fig_logs", + "text": "$(bold)Rusty Fig$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 18.9 — 26.2°C$(br2)$(bold)Rubber Fig$()$(br)$(thing)Rainfall$(): 290 — 400mm$(br)$(thing)Temperature$(): 9.8 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "Fir", + "item": "tag:tfc:douglas_fir_logs", + "text": "$(bold)Douglas Fir$()$(br)$(thing)Rainfall$(): 305 — 500mm$(br)$(thing)Temperature$(): -10.3 — 6.1°C$(br2)$(bold)Mountain Fir$()$(br)$(thing)Rainfall$(): 220 — 345mm$(br)$(thing)Temperature$(): -1.1 — 11.6°C$(br2)$(bold)Balsam Fir$()$(br)$(thing)Rainfall$(): 210 — 500mm$(br)$(thing)Temperature$(): -13.9 — -1.1°C" + }, + { + "type": "patchouli:spotlight", + "title": "Hevea", + "item": "tag:afc:hevea_logs", + "text": "$(bold)Hevea$()$(br)$(thing)Rainfall$(): 390 — 500mm$(br)$(thing)Temperature$(): 17.1 — 26.2°C" + }, + { + "type": "patchouli:spotlight", + "title": "Hickory", + "item": "tag:tfc:hickory_logs", + "text": "$(bold)Bitternut Hickory$()$(br)$(thing)Rainfall$(): 210 — 400mm$(br)$(thing)Temperature$(): -6.6 — 11.6°C$(br2)$(bold)Scrub Hickory$()$(br)$(thing)Rainfall$(): 400 — 475mm$(br)$(thing)Temperature$(): 11.6 — 17.1°C" + }, + { + "type": "patchouli:spotlight", + "title": "Ipe", + "item": "tag:afc:ipe_logs", + "text": "$(bold)Yellow Ipe$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 11.6 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "Ironwood", + "item": "tag:afc:ironwood_logs", + "text": "$(bold)King Ironwood$()$(br)$(thing)Rainfall$(): 320 — 430mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C$(br2)$(bold)Lebombo Ironwood$()$(br)$(thing)Rainfall$(): 150 — 230mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C$(br2)$(bold)Horsetail Ironwood$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 9.8 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "Kapok", + "item": "tag:tfc:kapok_logs", + "text": "$(bold)Kapok$()$(br)$(thing)Rainfall$(): 360 — 500mm$(br)$(thing)Temperature$(): 13.4 — 24.4°C$(br2)$(bold)Red Silk Cotton$()$(br)$(thing)Rainfall$(): 250 — 350mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C" + }, + { + "type": "patchouli:spotlight", + "title": "Mahogany", + "item": "tag:afc:mahogany_logs", + "text": "$(bold)Mahogany$()$(br)$(thing)Rainfall$(): 300 — 430mm$(br)$(thing)Temperature$(): 15.3 — 26.2°C$(br2)$(bold)Small Leaf Mahogany$()$(br)$(thing)Rainfall$(): 320 — 500mm$(br)$(thing)Temperature$(): 11.6 — 18.9°C$(br2)$(bold)Sapele Mahogany$()$(br)$(thing)Rainfall$(): 330 — 500mm$(br)$(thing)Temperature$(): 13.4 — 26.2°C" + }, + { + "type": "patchouli:spotlight", + "title": "Mangrove", + "item": "tag:tfc:mangrove_logs", + "text": "$(bold)Mangrove$()$(br)$(thing)Rainfall$(): 220mm+$(br)$(thing)Temperature$(): 18.0°C+$(br)Note: only spawns in Salt Marsh biomes" + }, + { + "type": "patchouli:spotlight", + "title": "Maple", + "item": "tag:tfc:maple_logs", + "text": "$(bold)Sugar Maple$()$(br)$(thing)Rainfall$(): 260 — 360mm$(br)$(thing)Temperature$(): -8.4 — 8.0°C$(br2)$(bold)Bigleaf Maple$()$(br)$(thing)Rainfall$(): 405 — 500mm$(br)$(thing)Temperature$(): -4.8 — 11.6°C$(br2)$(bold)Weeping Maple$()$(br)$(thing)Rainfall$(): 240 — 320mm$(br)$(thing)Temperature$(): 0.7 — 4.3°C" + }, + { + "type": "patchouli:spotlight", + "title": "Oak, Black Oak", + "item": "tag:tfc:oak_logs", + "text": "$(bold)Pin Oak$()$(br)$(thing)Rainfall$(): 210 — 320mm$(br)$(thing)Temperature$(): -8.4 — 6.1°C$(br2)$(bold)Live Oak$()$(br)$(thing)Rainfall$(): 390 — 500mm$(br)$(thing)Temperature$(): 0.7 — 13.4°C$(br2)$(bold)Black Oak$()$(br)$(thing)Rainfall$(): 150 — 330mm$(br)$(thing)Temperature$(): 11.6 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "Palm", + "item": "tag:tfc:palm_logs", + "text": "$(bold)Palm$()$(br)$(thing)Rainfall$(): 0 — 250mm$(br)$(thing)Temperature$(): 17.1 — 40.0°C$(br2)$(bold)Jaggery Palm$()$(br)$(thing)Rainfall$(): 400 — 500mm$(br)$(thing)Temperature$(): 20.7 — 26.2°C" + }, + { + "type": "patchouli:spotlight", + "title": "Pine", + "item": "tag:tfc:pine_logs", + "text": "$(bold)Boreal Pine$()$(br)$(thing)Rainfall$(): 60 — 270mm$(br)$(thing)Temperature$(): -19.4 — -3.0°C$(br2)$(bold)Stone Pine$()$(br)$(thing)Rainfall$(): 140 — 290mm$(br)$(thing)Temperature$(): 2.5 — 18.9°C$(br2)$(bold)Red Pine$()$(br)$(thing)Rainfall$(): 185 — 320mm$(br)$(thing)Temperature$(): -8.4 — 4.3°C" + }, + { + "type": "patchouli:text", + "text": "$(bold)Tamarack$()$(br)$(thing)Rainfall$(): 150 — 500mm$(br)$(thing)Temperature$(): -17.5 — -1.1°C" + }, + { + "type": "patchouli:spotlight", + "title": "Rosewood", + "item": "tag:tfc:rosewood_logs", + "text": "$(bold)Shisham Rosewood$()$(br)$(thing)Rainfall$(): 245 — 360mm$(br)$(thing)Temperature$(): 15.3 — 24.4°C$(br2)$(bold)Giant Rosewood$()$(br)$(thing)Rainfall$(): 340 — 440mm$(br)$(thing)Temperature$(): 15.3 — 22.5°C" + }, + { + "type": "patchouli:spotlight", + "title": "Sequoia", + "item": "tag:tfc:sequoia_logs", + "text": "$(bold)Sequoia$()$(br)$(thing)Rainfall$(): 320 — 500mm$(br)$(thing)Temperature$(): 0.7 — 8.0°C$(br2)$(bold)Coast Redwood$()$(br)$(thing)Rainfall$(): 320 — 500mm$(br)$(thing)Temperature$(): 4.3 — 9.8°C" + }, + { + "type": "patchouli:spotlight", + "title": "Spruce", + "item": "tag:tfc:spruce_logs", + "text": "$(bold)Blue Spruce$()$(br)$(thing)Rainfall$(): 330 — 500mm$(br)$(thing)Temperature$(): -19.4 — 2.5°C$(br2)$(bold)Coast Spruce$()$(br)$(thing)Rainfall$(): 320 — 390mm$(br)$(thing)Temperature$(): -12.1 — 6.1°C$(br2)$(bold)Sitka Spruce$()$(br)$(thing)Rainfall$(): 370 — 500mm$(br)$(thing)Temperature$(): 2.5 — 8.0°C" + }, + { + "type": "patchouli:text", + "text": "$(bold)Black Spruce$()$(br)$(thing)Rainfall$(): 220 — 360mm$(br)$(thing)Temperature$(): -17.5 — -1.1°C" + }, + { + "type": "patchouli:spotlight", + "title": "Sycamore", + "item": "tag:tfc:sycamore_logs", + "text": "$(bold)Sycamore$()$(br)$(thing)Rainfall$(): 330 — 480mm$(br)$(thing)Temperature$(): -6.6 — 11.6°C" + }, + { + "type": "patchouli:spotlight", + "title": "Teak", + "item": "tag:afc:teak_logs", + "text": "$(bold)True Teak$()$(br)$(thing)Rainfall$(): 215 — 330mm$(br)$(thing)Temperature$(): 13.4 — 26.2°C$(br2)$(bold)Iroko Teak$()$(br)$(thing)Rainfall$(): 210 — 320mm$(br)$(thing)Temperature$(): 17.1 — 40.0°C$(br2)$(bold)Flame of the Forest$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 13.4 — 24.4°C" + }, + { + "type": "patchouli:spotlight", + "title": "Tualang", + "item": "tag:afc:tualang_logs", + "text": "$(bold)Tualang$()$(br)$(thing)Rainfall$(): 360 — 500mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C" + }, + { + "type": "patchouli:spotlight", + "title": "Willow", + "item": "tag:tfc:willow_logs", + "text": "$(bold)Corkscrew Willow$()$(br)$(thing)Rainfall$(): 330 — 500mm$(br)$(thing)Temperature$(): -6.6 — 9.8°C$(br2)$(bold)Weeping Willow$()$(br)$(thing)Rainfall$(): 355 — 500mm$(br)$(thing)Temperature$(): 9.8 — 17.1°C" + } + ] + +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/mars_tree_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/mars_tree_index.json index 88ea256b8..6310f1897 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/mars_tree_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/mars_tree_index.json @@ -1,48 +1,48 @@ -{ - "name": "Mars Mushroom Index", - "category": "tfc:arborfirmacraft", - "icon": "tfg:saplings/aeronos", - "read_by_default": true, - "pages": [ - { - "type": "patchouli:text", - "text": "This is a list of every huge mushroom on Mars, and what climates they grow in.$(br2)Looking for particular type of mushroom stem to decorate your base? This should help you find it. The list is sorted alphabetically by stem type.$(br2)Also check out the $(l:tfc:arborfirmacraft/earth_tree_index)Earth Tree Index$()." - }, - { - "type": "patchouli:spotlight", - "title": "Aeronos", - "item": "ad_astra:aeronos_stem", - "text": "$(bold)Aeronos Mushroom$()$(br)$(thing)Temperature$(): -100°C and above$(br)Appears more often to the East." - }, - { - "type": "patchouli:spotlight", - "title": "Alphacene", - "item": "species:alphacene_mushroom_block", - "text": "$(bold)Alphacene Mushroom$()$(br)$(thing)Temperature$(): -85°C and above$(br)Appears both to the East and West." - }, - { - "type": "patchouli:spotlight", - "title": "Crimson", - "item": "beneath:wood/log/crimson", - "text": "$(bold)Crimson Mushroom$()$(br)$(thing)Temperature$(): -109 — -13°C$(br)Appears more often to the East." - }, - { - "type": "patchouli:spotlight", - "title": "Glacian", - "item": "ad_astra:glacian_log", - "text": "$(bold)Glacian Mushroom$()$(br)$(thing)Temperature$(): -107°C and below$(br)Appears both to the East and West." - }, - { - "type": "patchouli:spotlight", - "title": "Strophar", - "item": "ad_astra:strophar_stem", - "text": "$(bold)Strophar Mushroom$()$(br)$(thing)Temperature$(): -100°C and above$(br)Appears more often to the West." - }, - { - "type": "patchouli:spotlight", - "title": "Warped", - "item": "beneath:wood/log/warped", - "text": "$(bold)Warped Mushroom$()$(br)$(thing)Temperature$(): -109 — -13°C$(br)Appears more often to the West." - } - ] +{ + "name": "Mars Mushroom Index", + "category": "tfc:arborfirmacraft", + "icon": "tfg:saplings/aeronos", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "This is a list of every huge mushroom on Mars, and what climates they grow in.$(br2)Looking for particular type of mushroom stem to decorate your base? This should help you find it. The list is sorted alphabetically by stem type.$(br2)Also check out the $(l:tfc:arborfirmacraft/earth_tree_index)Earth Tree Index$()." + }, + { + "type": "patchouli:spotlight", + "title": "Aeronos", + "item": "ad_astra:aeronos_stem", + "text": "$(bold)Aeronos Mushroom$()$(br)$(thing)Temperature$(): -100°C and above$(br)Appears more often to the East." + }, + { + "type": "patchouli:spotlight", + "title": "Alphacene", + "item": "species:alphacene_mushroom_block", + "text": "$(bold)Alphacene Mushroom$()$(br)$(thing)Temperature$(): -85°C and above$(br)Appears both to the East and West." + }, + { + "type": "patchouli:spotlight", + "title": "Crimson", + "item": "beneath:wood/log/crimson", + "text": "$(bold)Crimson Mushroom$()$(br)$(thing)Temperature$(): -109 — -13°C$(br)Appears more often to the East." + }, + { + "type": "patchouli:spotlight", + "title": "Glacian", + "item": "ad_astra:glacian_log", + "text": "$(bold)Glacian Mushroom$()$(br)$(thing)Temperature$(): -107°C and below$(br)Appears both to the East and West." + }, + { + "type": "patchouli:spotlight", + "title": "Strophar", + "item": "ad_astra:strophar_stem", + "text": "$(bold)Strophar Mushroom$()$(br)$(thing)Temperature$(): -100°C and above$(br)Appears more often to the West." + }, + { + "type": "patchouli:spotlight", + "title": "Warped", + "item": "beneath:wood/log/warped", + "text": "$(bold)Warped Mushroom$()$(br)$(thing)Temperature$(): -109 — -13°C$(br)Appears more often to the West." + } + ] } \ No newline at end of file From cd452ab249de8c514fac0d8bd0bcf98b34ed34c8 Mon Sep 17 00:00:00 2001 From: Inceitious <124896643+Inceitious@users.noreply.github.com> Date: Wed, 7 Jan 2026 02:51:44 +0800 Subject: [PATCH 021/474] feature/added more recipes for create and create deco bars to be aligned with tfc metal bars (#2641) * Fixed duplicate create bars * Recipes aligned with tfc metal bars recipes Optimised the code used for creating create and create deco bars. Now aligned with tfc metal bars (double ingot to 8x bars for all types) --------- Signed-off-by: Inceitious <124896643+Inceitious@users.noreply.github.com> --- kubejs/server_scripts/create/recipes.js | 32 +++++++++++---------- kubejs/server_scripts/createdeco/recipes.js | 12 ++++++-- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 7e3072ae9..0d18febee 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -2376,26 +2376,28 @@ const registerCreateRecipes = (event) => { .duration(100) .EUt(GTValues.VA[GTValues.LV]) - // Bars - event.remove({ type: 'minecraft:stonecutting', output: 'create:andesite_bars' }) - event.remove({ type: 'minecraft:stonecutting', output: 'create:brass_bars' }) - event.remove({ type: 'minecraft:stonecutting', output: 'create:copper_bars' }) + //Bars + 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.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`) + const create_metals = [ + { metal: 'andesite', material: 'tin_alloy', tier: 3 }, + { metal: 'brass', material: 'brass', tier: 2 }, + { metal: 'copper', material: 'copper', tier: 1 }, + ]; - 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`) + create_metals.forEach(bar => { + let quarterMap = {}; + quarterMap[bar.material] = 0.25; - 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`) + event.recipes.tfc.anvil(`4x create:${bar.metal}_bars`, `#forge:ingots/${bar.material}`, ['upset_last', 'punch_second_last', 'punch_third_last']) + .tier(bar.tier).id(`tfg:anvil/create_${bar.metal}_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 }) + TFGHelpers.registerMaterialInfo(`create:${bar.metal}_bars`, quarterMap) + + event.recipes.tfc.anvil(`8x create:${bar.metal}_bars`, `#forge:double_ingots/${bar.material}`, ['upset_last', 'punch_second_last', 'punch_third_last']) + .tier(bar.tier).id(`tfg:anvil/create_${bar.metal}_bars_double`) + }) // Doors diff --git a/kubejs/server_scripts/createdeco/recipes.js b/kubejs/server_scripts/createdeco/recipes.js index 148bc5606..1833b692b 100644 --- a/kubejs/server_scripts/createdeco/recipes.js +++ b/kubejs/server_scripts/createdeco/recipes.js @@ -247,13 +247,16 @@ const registerCreatedecoRecipes = (event) => { // 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']) + event.recipes.tfc.anvil(`4x createdeco:${bar.metal}_bars`, `#forge:ingots/${bar.material}`, ['upset_last', 'punch_second_last', 'punch_third_last']) .tier(bar.tier).id(`tfg:anvil/createdeco_${bar.metal}_bars`) event.stonecutting(`4x createdeco:${bar.metal}_bars`, `#forge:ingots/${bar.material}`) TFGHelpers.registerMaterialInfo(`createdeco:${bar.metal}_bars`, quarterMap) + event.recipes.tfc.anvil(`8x createdeco:${bar.metal}_bars`, `#forge:double_ingots/${bar.material}`, ['upset_last', 'punch_second_last', 'punch_third_last']) + .tier(bar.tier).id(`tfg:anvil/createdeco_${bar.metal}_bars_double`) + // 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(`tfg:anvil/createdeco_${bar.metal}_door`) @@ -272,11 +275,14 @@ const registerCreatedecoRecipes = (event) => { // Overlay bars event.remove({ type: 'minecraft:stonecutting', output: `createdeco:${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.tfc.anvil(`4x createdeco:${bar.metal}_bars_overlay`, `#forge:ingots/${bar.material}`, ['upset_last', 'punch_second_last', 'punch_third_last']) + .tier(bar.tier).id(`tfg:anvil/createdeco_${bar.metal}_bars_overlay`) event.stonecutting(`4x createdeco:${bar.metal}_bars_overlay`, `#forge:ingots/${bar.material}`) + event.recipes.tfc.anvil(`8x createdeco:${bar.metal}_bars_overlay`, `#forge:double_ingots/${bar.material}`, ['upset_last', 'punch_second_last', 'punch_third_last']) + .tier(bar.tier).id(`tfg:anvil/createdeco_${bar.metal}_bars_overlay_double`) + TFGHelpers.registerMaterialInfo(`createdeco:${bar.metal}_bars_overlay`, quarterMap) // Facade From 5b1a78d92e89a5b3f79d4afb47b45032926ae1cf Mon Sep 17 00:00:00 2001 From: Petr211071 <55793813+Petr211071@users.noreply.github.com> Date: Tue, 6 Jan 2026 22:57:23 +0300 Subject: [PATCH 022/474] ru_ru translation update (and fix typo in space crops) (#2636) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update ru_ru dairy Signed-off-by: Petr211071 <55793813+Petr211071@users.noreply.github.com> * Few fixes and a bit ru_ru translation * ru_ru translation update * Fix typo * ru_ru translation update * Change Thorium back to thorinite * Add ru_ru for categories And change name of space crops chapter for better fitting * ТориАнит * ru_ru update * Add Red Granite * Fire brick Replace gtceu:compressed_fireclay with tfc:ceramic/unfired_fire_brick * typo --------- Signed-off-by: Petr211071 <55793813+Petr211071@users.noreply.github.com> --- .../entries/tfg_tips/blast_furnace_tips.json | 2 +- .../en_us/entries/tfg_tips/space_crops.json | 2 +- .../ru_ru/categories/tfcchannelcasting.json | 6 + .../ru_ru/categories/tfg_tips.json | 6 + .../tfcchannelcasting/casting_chocolate.json | 40 ++ .../tfcchannelcasting/channel_casting.json | 39 ++ .../entries/tfg_ores/earth_ore_index.json | 6 +- .../entries/tfg_ores/earth_vein_index.json | 108 ++-- .../entries/tfg_ores/mars_ore_index.json | 6 +- .../entries/tfg_ores/mars_vein_index.json | 94 +-- .../entries/tfg_ores/moon_ore_index.json | 6 +- .../entries/tfg_ores/moon_vein_index.json | 64 +- .../entries/tfg_ores/nether_ore_index.json | 6 +- .../entries/tfg_ores/nether_vein_index.json | 12 +- .../entries/tfg_ores/venus_ore_index.json | 8 +- .../entries/tfg_ores/venus_vein_index.json | 10 +- .../entries/tfg_tips/anvil_working_guide.json | 152 +++++ .../entries/tfg_tips/blast_furnace_tips.json | 43 ++ .../ru_ru/entries/tfg_tips/faqs.json | 4 +- .../ru_ru/entries/tfg_tips/space_crops.json | 574 ++++++++++++++++++ .../ru_ru/entries/tfg_tips/space_fauna.json | 192 ++++++ .../entries/tfg_tips/blast_furnace_tips.json | 2 +- .../entries/tfg_tips/blast_furnace_tips.json | 2 +- 23 files changed, 1218 insertions(+), 166 deletions(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/tfcchannelcasting.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/tfg_tips.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfcchannelcasting/casting_chocolate.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfcchannelcasting/channel_casting.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/anvil_working_guide.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/blast_furnace_tips.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/space_crops.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/space_fauna.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/blast_furnace_tips.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/blast_furnace_tips.json index 52011ad60..c0d721e78 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/blast_furnace_tips.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/blast_furnace_tips.json @@ -12,7 +12,7 @@ }, { "type": "patchouli:spotlight", - "item": "gtceu:compressed_fireclay", + "item": "tfc:ceramic/unfired_fire_brick", "text": "Before you use all your fire clay on 20 fire bricks, note that once you get into the steam age, you can craft it for significantly cheaper. This allows you to save $(item)Kaolinite$() and $(item)Graphite$() for $(thing)Casting Tables$()." }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_crops.json index 5215f5ffe..446887ff3 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_crops.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_crops.json @@ -6,7 +6,7 @@ { "type": "patchouli:text", "title": "Extraterrestrial Crops", - "text": "It turns out Earth isn't the only celestial body with life. During your travels, you may come across other kinds of edible fauna. These all use the same mechanics you're used to on Earth (with some exceptions), and can be grown either in normal Farmland, in a Firmalife $(l:firmalife/greenhouse)Greenhouse$(), or in a GregTech Electric Greenhouse depending on your needs." + "text": "It turns out Earth isn't the only celestial body with life. During your travels, you may come across other kinds of edible flora. These all use the same mechanics you're used to on Earth (with some exceptions), and can be grown either in normal Farmland, in a Firmalife $(l:firmalife/greenhouse)Greenhouse$(), or in a GregTech Electric Greenhouse depending on your needs." }, { "type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/tfcchannelcasting.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/tfcchannelcasting.json new file mode 100644 index 000000000..2c165123d --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/tfcchannelcasting.json @@ -0,0 +1,6 @@ +{ + "name": "TFC Литьё каналами", + "description": "Всё о моде Casting with Channels, который позволяет отливать металл из тигля в несколько форм.", + "icon": "tfcchannelcasting:channel", + "sortnum": 60 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/tfg_tips.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/tfg_tips.json new file mode 100644 index 000000000..880b90126 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/tfg_tips.json @@ -0,0 +1,6 @@ +{ + "name": "TFG Инфо & советы", + "description": "Информация о вещах в TerraFirmaGreg, которые отличаются от базовых TFC и GTCEu.", + "icon": "tfg:terra_firma_greg", + "sortnum": 200 +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfcchannelcasting/casting_chocolate.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfcchannelcasting/casting_chocolate.json new file mode 100644 index 000000000..144e39566 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfcchannelcasting/casting_chocolate.json @@ -0,0 +1,40 @@ +{ + "name": "Литьё Шоколада", + "category": "tfc:tfcchannelcasting", + "icon": "tfcchannelcasting:food/milk_chocolate_heart", + "pages": [ + { + "type": "patchouli:text", + "text": "Следующий контент доступен только при установленном Firmalife. $(thing)Шоколад$() не обязан существовать лишь в виде скучных плиток! Растопите $(thing)белый$(), $(thing)молочный$() или $(thing)тёмный$() шоколад в $(thing)сосуде$() или $(thing)тигле$(), а затем отлейте его в форму, чтобы получить шоколадные сладости. Существует три вида шоколадных сладостей: $(thing)сердца$(), $(thing)колокольчики$() и $(thing)ножи$(). Каждый вид получается отливкой шоколада в отдельную форму." + }, + { + "type": "tfc:knapping_recipe", + "recipe": "tfcchannelcasting:clay_knapping/unfired_heart_mold", + "text": "Лепка $(thing)формы «Сердце»$(), используемой для создания шоколадных $(thing)сердец$()." + }, + { + "type": "patchouli:text", + "text": "Шоколадные сладости дают ту же питательную ценность, что и шоколадные плитки, но съедаются быстрее. Однако, если эти сладости приготовлены в определённое время года, они получают особое свойство, удваивающее их питательность. $(thing)Шоколадные сердца$() получают свойство $(thing)«Романтичное»$() в феврале, $(thing)шоколадные колокольчики$() — свойство $(thing)«Праздничное»$() в декабре, а $(thing)шоколадные ножики$() — свойство $(thing)«Жуткое»$() в октябре." + }, + { + "type": "patchouli:text", + "text": "Кроме того, сладости можно $(thing)начинять$(), получая дополнительные бонусы. Сладости с начинкой из $(thing)джема$() дают дополнительное питание категории $(thing)Фрукты$(). Сладости с начинкой из $(thing)алкоголя$() дают положительные эффекты зелий." + }, + { + "type": "tfc:sealed_barrel_recipe", + "recipe": "tfcchannelcasting:barrel/fill_with_sweet_liquor", + "text": "Поедание шоколада с начинкой из $(thing)сладкого ликёра$() даёт эффект скорости." + }, + { + "type": "tfc:sealed_barrel_recipe", + "recipe": "tfcchannelcasting:barrel/fill_with_strong_liquor", + "text": "Поедание шоколада с начинкой из $(thing)крепкого ликёра$() даёт сопротивление урону." + }, + { + "type": "tfc:sealed_barrel_recipe", + "recipe": "tfcchannelcasting:barrel/fill_with_whiskey", + "text": "Поедание шоколада с начинкой из $(thing)виски$() даёт спешку." + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfcchannelcasting/channel_casting.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfcchannelcasting/channel_casting.json new file mode 100644 index 000000000..5fd163c8b --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfcchannelcasting/channel_casting.json @@ -0,0 +1,39 @@ +{ + "name": "Литьё с помощью каналов", + "category": "tfc:tfcchannelcasting", + "icon": "tfcchannelcasting:channel", + "pages": [ + { + "type": "patchouli:text", + "text": "Вы можете отливать металл из $(thing)тигля$() сразу в несколько форм, используя $(thing)литейные каналы$() и $(thing)столы для форм$(). Просто соедините $(thing)столы для форм$() с $(thing)тиглем$() при помощи $(thing)каналов$(), затем щёлкните правой кнопкой мыши по $(thing)каналу$(), расположенному рядом с $(thing)тиглем$(). Shift + ПКМ по $(thing)столу для форм$() с $(l:getting_started/pottery#mold)формой$(), чтобы установить или убрать её." + }, + { + "type": "tfc:knapping_recipe", + "recipe": "tfcchannelcasting:fire_clay_knapping/unfired_channel_4", + "text": "Лепка $(thing)необожжённых литейных каналов$()." + }, + { + "type": "tfc:knapping_recipe", + "recipe": "tfcchannelcasting:fire_clay_knapping/unfired_mold_table", + "text": "Лепка $(thing)необожжённого стола для форм$()." + }, + { + "type": "tfc:heat_recipe", + "recipe": "tfcchannelcasting:heating/channel", + "text": "После лепки литейных каналы и стола для форм их необходимо $(thing)обжечь$(), как и любую другую керамику." + }, + { + "type": "patchouli:multiblock", + "multiblock_id": "tfcchannelcasting:example", + "name": "Пример литейной установки", + "text": "", + "enable_visualize": false + }, + { + "type": "patchouli:text", + "text": "$(li)Использование мехов на $(thing)литейном столе$() ускоряет охлаждение металла.$()$(li)Активация $(thing)канала$() импульсом редстоуна запускает процесс заливки металла.$()$(li)$(thing)литейные столы$() выдают сигнал компаратора.", + "title": "Автоматизация" + } + ], + "read_by_default": true + } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/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 f06711814..b42b33036 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 @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Earth Ore Index", + "name": "Индекс руд Земли", "icon": "tfc:ore/normal_native_copper", "category": "tfc:tfg_ores", "read_by_default": true, @@ -8,8 +8,8 @@ "pages": [ { "Type": "patchouli:text", - "text": "This is the $(thing)Ore Index$() for $(thing)Earth$(). 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": "Earth Ore Index", + "text": "Это $(thing)индекс руд$()$(thing)на Земле$(). Все руды отсортированы в алфавитном порядке, а затем по типу жил — от самых богатых к самым бедным. Вы можете нажать на любую из них, чтобы узнать больше информации о каждой жиле.", + "title": "Индекс руд Марса", "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 6a322a0db..e849b8e9c 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 @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Earth Vein Index", + "name": "Индекс жил Земли", "icon": "tfc:ore/normal_native_copper/chalk", "category": "tfc:tfg_ores", "read_by_default": true, @@ -8,8 +8,8 @@ "pages": [ { "Type": "patchouli:text", - "text": "This is the $(thing)Vein Index$() for $(thing)Earth$(). Each Vein has details regarding its rarity, density, vein type, height found, sizes, what stones it spawns on, and more.", - "title": "Earth Vein Index", + "text": "Это $(thing)индекс жил$()$(thing)на Земле$(). Все руды отсортированы в алфавитном порядке, а затем по типу жил — от самых богатых к самым бедным. Вы можете нажать на любую из них, чтобы узнать больше информации о каждой жиле.", + "title": "Индекс жил Земли", "type": "patchouli:text" }, { @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 26$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 8$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аспидный сланец, Гнейс, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 26$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аспидный сланец, Гнейс, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец, Филлит, Шиферный сланец", "title": "Аметист и гранат", "type": "patchouli:text", "anchor": "deep_garnet_amethyst" @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Размер$(): 34$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Размер$(): 34$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Апатит и Пирохлор", "type": "patchouli:text", "anchor": "normal_apatite" @@ -198,7 +198,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 205$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 50$(br)$(thing)Размер$(): 35$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 205$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 50$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Бастнезит и Монацит", "type": "patchouli:text", "anchor": "normal_monazite" @@ -265,7 +265,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 30$(br)$(thing)Размер$(): 26$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 30$(br)$(thing)Размер$(): 26$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Бентонит и Оливин", "type": "patchouli:text", "anchor": "normal_olivine" @@ -357,7 +357,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Висмут (Обычный)", "type": "patchouli:text", "anchor": "normal_bismuthinite" @@ -449,7 +449,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Висмут (Поверхностный)", "type": "patchouli:text", "anchor": "surface_bismuthinite" @@ -541,7 +541,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 245$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 10$(br)$(thing)Размер$(): 26$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 245$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 10$(br)$(thing)Размер$(): 26$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Вульфенит & Молибденит", "type": "patchouli:text", "anchor": "deep_molybdenum" @@ -608,7 +608,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 70$(br2)$(thing)Виды камней$(): Габбро, Диорит$(br2)Не получается найти это? Габбро всегда генерируется под $(thing)Базальтом$(), а на дне океана легко обнаружить столбы, ведущие к нижнему слою!", + "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 70$(br2)$(thing)Виды камней$(): Габбро, Диорит$(br2)Не получается найти это? Габбро всегда генерируется под $(thing)Базальтом$(), а на дне океана легко обнаружить столбы, ведущие к нижнему слою!", "title": "Гарниерит и Кобальтит", "type": "patchouli:text", "anchor": "normal_garnierite" @@ -715,7 +715,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "normal_hematite" @@ -807,7 +807,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 30$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Гематит, Гётит, Рубин", "type": "patchouli:text", "anchor": "deep_hematite" @@ -914,7 +914,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 240$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 32$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Известняк, Мрамор", + "text": "$(thing)Редкость$(): 240$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 32$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Известняк, Мрамор", "title": "Гётит и Малахит", "type": "patchouli:text", "anchor": "deep_limonite" @@ -1006,7 +1006,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 9$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Гипс и Кальцит", "type": "patchouli:text", "anchor": "normal_gypsum" @@ -1098,7 +1098,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 270$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 64$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 270$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 64$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", "title": "Гранатовый и Касситеритовый песок", "type": "patchouli:text", "anchor": "normal_garnet_tin" @@ -1190,7 +1190,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 80$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — -16$(br)$(thing)Размер$(): 16$(br)$(thing)Высота$(): 6$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 80$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — -16$(br)$(thing)Размер$(): 16$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", "title": "Графит и Алмаз", "type": "patchouli:text", "anchor": "normal_graphite" @@ -1257,7 +1257,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 32$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 32$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Золото (Глубокое)", "type": "patchouli:text", "anchor": "deep_gold" @@ -1349,7 +1349,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 12$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 12$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Золото, Лимонит и Гематит", "type": "patchouli:text", "anchor": "normal_gold" @@ -1441,7 +1441,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): -32 — 50$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): -32 — 50$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -1503,12 +1503,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Торианит$(br)$(thing)Формула$(): Th", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Касситерит (Обычный)", "type": "patchouli:text", "anchor": "normal_cassiterite" @@ -1575,7 +1575,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 135$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 135$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Касситерит (Поверхностный)", "type": "patchouli:text", "anchor": "surface_cassiterite" @@ -1642,7 +1642,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 100$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Сланец", + "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 100$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Сланец", "title": "Кварцы", "type": "patchouli:text", "anchor": "normal_quartz" @@ -1709,7 +1709,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -60 — 10$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -60 — 10$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Лазурит, Лазурит 2 и Содалит", "type": "patchouli:text", "anchor": "normal_lapis" @@ -1801,7 +1801,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Известняк, Мрамор", + "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Известняк, Мрамор", "title": "Лимонит", "type": "patchouli:text", "anchor": "normal_limonite" @@ -1893,7 +1893,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 30$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Магнетит и Ванадий", "type": "patchouli:text", "anchor": "normal_magnetite" @@ -1985,7 +1985,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 195$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 30$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Риолит, Сланец", + "text": "$(thing)Редкость$(): 195$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Риолит, Сланец", "title": "Марганец и Тантал", "type": "patchouli:text", "anchor": "normal_manganese" @@ -2077,7 +2077,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 85$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 85$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Медь и Халькопирит", "type": "patchouli:text", "anchor": "normal_copper" @@ -2169,7 +2169,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 48$(br)$(thing)Высота$(): 9$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Базальт, Гранит", + "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 48$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Базальт, Гранит", "title": "Минеральные пески", "type": "patchouli:text", "anchor": "normal_basaltic_sands" @@ -2261,7 +2261,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 56$(br)$(thing)Размер$(): 36$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 56$(br)$(thing)Размер$(): 36$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Мыльный камень, Тальк и Трона", "type": "patchouli:text", "anchor": "normal_lubricant" @@ -2368,7 +2368,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 185$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 185$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Нефтеносный песок", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -2395,7 +2395,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 62$(br)$(thing)Размер$(): 26$(br)$(thing)Высота$(): 6$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 62$(br)$(thing)Размер$(): 26$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Опал и гранат", "type": "patchouli:text", "anchor": "deep_garnet_opal" @@ -2487,7 +2487,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 100$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Гранит$(br2)Не получается найти это? На дне океана легко увидеть красное свечение!", + "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 100$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Гранит$(br2)Не получается найти это? На дне океана легко увидеть красное свечение!", "title": "Редстоун, Киноварь и Рубин", "type": "patchouli:text", "anchor": "normal_redstone" @@ -2554,7 +2554,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 32$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 32$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Диорит, Риолит", "title": "Сапфир и Альмандин", "type": "patchouli:text", "anchor": "deep_sapphire" @@ -2646,7 +2646,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Селитра и Электротин", "type": "patchouli:text", "anchor": "normal_saltpeter" @@ -2738,7 +2738,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 165$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 45$(br)$(thing)Индикатор Max Depth$(): 40$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 165$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Сера и Пирит", "type": "patchouli:text", "anchor": "normal_sulfur" @@ -2805,7 +2805,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Гнейс, Гранит", + "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Гнейс, Гранит", "title": "Серебро, Галена и Свинец", "type": "patchouli:text", "anchor": "normal_silver" @@ -2872,7 +2872,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 175$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 30 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 4$(br)$(thing)Индикатор Max Depth$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Известняк, Сланец", + "text": "$(thing)Редкость$(): 175$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 30 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 4$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Известняк, Сланец", "title": "Соли и Бура", "type": "patchouli:text", "anchor": "normal_salt" @@ -2964,7 +2964,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.375$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 20 — 60$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 6$(br)$(thing)Индикатор Max Depth$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.375$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 20 — 60$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Сподумен и Лепидолит", "type": "patchouli:text", "anchor": "normal_spodumene" @@ -3056,7 +3056,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", "title": "Сфалерит & Пирит", "type": "patchouli:text", "anchor": "normal_sphalerite" @@ -3123,7 +3123,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 145$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 145$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", "title": "Сфалерит и Сера", "type": "patchouli:text", "anchor": "surface_sphalerite" @@ -3190,7 +3190,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", "title": "Таркианит и Нефтеносный песок", "type": "patchouli:text", "anchor": "normal_tarkianite" @@ -3282,7 +3282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Тетраэдрит (обычный)", "type": "patchouli:text", "anchor": "normal_tetrahedrite" @@ -3349,7 +3349,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Тетраэдрит (Поверхностный)", "type": "patchouli:text", "anchor": "surface_tetrahedrite" @@ -3416,7 +3416,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 26$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 7$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 26$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 7$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Топаз и Халькозин", "type": "patchouli:text", "anchor": "deep_topaz" @@ -3508,7 +3508,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.55$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 60$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.55$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Уголь", "type": "patchouli:text", "anchor": "normal_coal" @@ -3535,7 +3535,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 240$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — -20$(br)$(thing)Размер$(): 19$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 240$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — -20$(br)$(thing)Размер$(): 19$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Уранинит и Уранит", "type": "patchouli:text", "anchor": "deep_pitchblende" @@ -3557,7 +3557,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 62%$(br)$(thing)Хромит$(): Уран, Торий, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 62%$(br)$(thing)Хромит$(): Уран, Торианит, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -3602,7 +3602,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 217$(br)$(thing)Размер$(): 50$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 217$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Халькопирит и Реальгар", "type": "patchouli:text", "anchor": "surface_copper" @@ -3694,7 +3694,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 225$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 20$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец", + "text": "$(thing)Редкость$(): 225$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец", "title": "Хромит и Магнетит", "type": "patchouli:text", "anchor": "deep_magnetite" @@ -3801,7 +3801,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 36$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 36$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Ционит, Слюда и Боксит", "type": "patchouli:text", "anchor": "normal_mica" @@ -3893,7 +3893,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 240$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 0$(br)$(thing)Размер$(): 20$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 240$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 0$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Шеелит и Вольфрамат", "type": "patchouli:text", "anchor": "deep_scheelite" @@ -3960,7 +3960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 320$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 0$(br)$(thing)Размер$(): 30$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 320$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 0$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Шелдонит и Борнит", "type": "patchouli:text", "anchor": "deep_sheldonite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json index a5f42705b..3bac31a55 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Mars Ore Index", + "name": "Индекс руд Марса", "icon": "tfc:ore/normal_hematite", "category": "tfc:tfg_ores", "read_by_default": true, @@ -8,8 +8,8 @@ "pages": [ { "Type": "patchouli:text", - "text": "This is the $(thing)Ore Index$() for $(thing)Mars$(). 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": "Mars Ore Index", + "text": "Это $(thing)индекс руд$()$(thing)на Марсе$(). Все руды отсортированы в алфавитном порядке, а затем по типу жил — от самых богатых к самым бедным. Вы можете нажать на любую из них, чтобы узнать больше информации о каждой жиле.", + "title": "Индекс руд Марса", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json index 113854729..d55ebd87b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Mars Vein Index", + "name": "Индекс жил Марса", "icon": "gtceu:mars_stone_hematite_ore", "category": "tfc:tfg_ores", "read_by_default": true, @@ -8,13 +8,13 @@ "pages": [ { "Type": "patchouli:text", - "text": "This is the $(thing)Vein Index$() for $(thing)Mars$(). Each Vein has details regarding its rarity, density, vein type, height found, sizes, what stones it spawns on, and more.", - "title": "Mars Vein Index", + "text": "Это $(thing)индекс жил$()$(thing)на Марсе$(). Все руды отсортированы в алфавитном порядке, а затем по типу жил — от самых богатых к самым бедным. Вы можете нажать на любую из них, чтобы узнать больше информации о каждой жиле.", + "title": "Индекс жил Марса", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Almandine & Sapphire$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Bornite & Cooperite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)Coal & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sapphire)Gold, Electrotine, & Bauxite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Pitchblende & Thorianite, & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Pitchblende, Thorianite, & Uraninite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Quartzite, Asbestos, & Barite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Redstone & Chromite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Sphalerite & Galena$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Trona, Talc, & Glauconite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Апатит и Пирохлор$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Бастнезит и Монацит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Висмут$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Альмадин и Сапфиры$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Борнит и Куперит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)Уголь и Гематит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sapphire)Золото, Электротин и Боксит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Уранит, Торианит и Гематит$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Уранинит, Торианит и Уранит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Кварцит, Асбест и Барит$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Редстоун и Хром$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Соли и Сподумен$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Сфалерит и Галена$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Трона, Тальк и Глаукониты$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Апатит и Пирохлор$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Бастнезит и Монацит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Висмут$()$()", "type": "patchouli:text" }, { @@ -29,8 +29,8 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 65$(br)$(thing)Высота$(): 8$(br)$(thing)Индикатор Max Depth$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Габбро, Диорит, Доломит, Известняк, Кремнистый сланец, Сланец, Трахит", - "title": "Almandine & Sapphire", + "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 65$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Габбро, Диорит, Доломит, Известняк, Кремнистый сланец, Сланец, Трахит", + "title": "Альмандин & Сапфир", "type": "patchouli:text", "anchor": "mars_almandine" }, @@ -136,8 +136,8 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 370$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Дацит, Диорит, Конгломерат, Кремнистый сланец, Мел, Трахит", - "title": "Bornite & Cooperite", + "text": "$(thing)Редкость$(): 370$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Базальт, Дацит, Диорит, Конгломерат, Кремнистый сланец, Мел, Трахит", + "title": "Борнит & Куперит", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" }, @@ -228,8 +228,8 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.6$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Индикатор Max Depth$(): 10$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Диорит, Доломит, Конгломерат, Мел, Трахит", - "title": "Coal & Hematite", + "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.6$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикаторов$(): 10$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Диорит, Доломит, Конгломерат, Мел, Трахит", + "title": "Уголь & Гематит", "type": "patchouli:text", "anchor": "mars_coal" }, @@ -280,8 +280,8 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Кремнистый сланец, Мел, Сланец", - "title": "Gold, Electrotine, & Bauxite", + "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Кремнистый сланец, Мел, Сланец", + "title": "Золото, Электротин & Боксит", "type": "patchouli:text", "anchor": "mars_sapphire" }, @@ -372,8 +372,8 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.55$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 20$(br)$(thing)Индикатор Max Depth$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Габбро, Дацит, Диорит, Доломит, Конгломерат, Сланец, Трахит", - "title": "Pitchblende & Thorianite, & Hematite", + "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.55$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Габбро, Дацит, Диорит, Доломит, Конгломерат, Сланец, Трахит", + "title": "Уранит, Торий & Гематит", "type": "patchouli:text", "anchor": "mars_pitchblende" }, @@ -394,7 +394,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 41%$(br)$(thing)Хромит$(): Уран, Торий, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 41%$(br)$(thing)Хромит$(): Уран, Торианит, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -414,7 +414,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 29%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", + "text": "$(thing)Процент руды$(): 29%$(br)$(thing)Хромит$(): Торианит$(br)$(thing)Формула$(): Th", "type": "patchouli:multiblock" }, { @@ -439,8 +439,8 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 370$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Габбро, Дацит, Диорит, Сланец, Трахит", - "title": "Pitchblende, Thorianite, & Uraninite", + "text": "$(thing)Редкость$(): 370$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Габбро, Дацит, Диорит, Сланец, Трахит", + "title": "Уранинит, Торианит, & Уранит", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" }, @@ -461,7 +461,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 52%$(br)$(thing)Хромит$(): Уран, Торий, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 52%$(br)$(thing)Хромит$(): Уран, Торианит, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -481,7 +481,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 26%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", + "text": "$(thing)Процент руды$(): 26%$(br)$(thing)Хромит$(): Торианит$(br)$(thing)Формула$(): Th", "type": "patchouli:multiblock" }, { @@ -506,8 +506,8 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Гранит, Известняк, Кремнистый сланец, Мел, Сланец, Трахит", - "title": "Quartzite, Asbestos, & Barite", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Гранит, Известняк, Кремнистый сланец, Мел, Сланец, Трахит", + "title": "Кварцит, Асбест & Барит", "type": "patchouli:text", "anchor": "mars_quartzite" }, @@ -598,8 +598,8 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 370$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Известняк, Кремнистый сланец, Мел, Сланец", - "title": "Redstone & Chromite", + "text": "$(thing)Редкость$(): 370$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Известняк, Кремнистый сланец, Мел, Сланец", + "title": "Редстоун & Хром", "type": "patchouli:text", "anchor": "deep_mars_chromite" }, @@ -665,8 +665,8 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 6$(br)$(thing)Индикатор Max Depth$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Гранит, Диорит, Известняк, Кремнистый сланец, Мел, Трахит", - "title": "Salts & Spodumene", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Гранит, Диорит, Известняк, Кремнистый сланец, Мел, Трахит", + "title": "Соли & Сподумен", "type": "patchouli:text", "anchor": "mars_salt" }, @@ -757,8 +757,8 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 150$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Индикатор Max Depth$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", - "title": "Sphalerite & Galena", + "text": "$(thing)Редкость$(): 150$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "title": "Сфалерит & Галена", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" }, @@ -864,8 +864,8 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Сланец", - "title": "Trona, Talc, & Glauconite", + "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Сланец", + "title": "Трона, Тальк & Глаукониты", "type": "patchouli:text", "anchor": "mars_lubricant" }, @@ -996,7 +996,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Индикатор Max Depth$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Дацит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Базальт, Дацит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Апатит и Пирохлор", "type": "patchouli:text", "anchor": "mars_apatite" @@ -1088,7 +1088,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Индикатор Max Depth$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Диорит, Доломит, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Диорит, Доломит, Кремнистый сланец, Мел, Трахит", "title": "Бастнезит и Монацит", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -1180,7 +1180,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Индикатор Max Depth$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Висмут", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -1272,7 +1272,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Индикатор Max Depth$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Известняк, Мел, Сланец", + "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Известняк, Мел, Сланец", "title": "Гарниерит и Кобальтит", "type": "patchouli:text", "anchor": "mars_nickel" @@ -1364,7 +1364,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 30$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 30$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1456,7 +1456,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Индикатор Max Depth$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1548,7 +1548,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Габбро, Гранит, Дацит, Диорит, Трахит", + "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Габбро, Гранит, Дацит, Диорит, Трахит", "title": "Графит и Алмаз", "type": "patchouli:text", "anchor": "mars_graphite" @@ -1640,7 +1640,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 350$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): -20 — 50$(br)$(thing)Высота$(): 40$(br)$(thing)Радиус$(): 8$(br)$(thing)Индикатор Max Depth$(): 15$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 350$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): -20 — 50$(br)$(thing)Высота$(): 40$(br)$(thing)Радиус$(): 8$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "mars_beryllium" @@ -1707,7 +1707,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 135$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Индикатор Max Depth$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 135$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Касситерит", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -1774,7 +1774,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 30$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Кремнистый сланец, Мел, Сланец", "title": "Лазурит, Лазурит 2 и Содалит", "type": "patchouli:text", "anchor": "mars_lapis" @@ -1866,7 +1866,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 42$(br)$(thing)Индикатор Max Depth$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Известняк, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 42$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Габбро, Известняк, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Марганец и Тантал", "type": "patchouli:text", "anchor": "mars_tantalite" @@ -1958,7 +1958,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Индикатор Max Depth$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Сланец, Трахит", + "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Сланец, Трахит", "title": "Медь и Халькопирит", "type": "patchouli:text", "anchor": "mars_copper" @@ -2050,7 +2050,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Индикатор Max Depth$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Кремнистый сланец, Мел, Сланец", "title": "Серебро, Галена и Свинец", "type": "patchouli:text", "anchor": "mars_galena" @@ -2142,7 +2142,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Индикатор Max Depth$(): 30$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 30$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Кремнистый сланец, Мел, Трахит", "title": "Сфалерит & Пирит", "type": "patchouli:text", "anchor": "mars_sulfur" @@ -2234,7 +2234,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Габбро, Дацит, Диорит, Доломит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Базальт, Габбро, Дацит, Диорит, Доломит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Тетраэдрит (обычный)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2326,7 +2326,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Индикатор Max Depth$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Тетраэдрит (Поверхностный)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2418,7 +2418,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Индикатор Max Depth$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Доломит, Известняк, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Базальт, Доломит, Известняк, Кремнистый сланец, Мел, Сланец", "title": "Шеелит и Вольфрамат", "type": "patchouli:text", "anchor": "mars_tungsten" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_ore_index.json index 02e19a806..f671c5d16 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_ore_index.json @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Moon Ore Index", + "name": "Индекс руд Луны", "icon": "ae2:certus_quartz_crystal", "category": "tfc:tfg_ores", "read_by_default": true, @@ -8,8 +8,8 @@ "pages": [ { "Type": "patchouli:text", - "text": "This is the $(thing)Ore Index$() for $(thing)The Moon$(). 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": "Moon Ore Index", + "text": "Это $(thing)индекс руд$()$(thing)на Луне$(). Все руды отсортированы в алфавитном порядке, а затем по типу жил — от самых богатых к самым бедным. Вы можете нажать на любую из них, чтобы узнать больше информации о каждой жиле.", + "title": "Индекс руд Луны", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json index 96a9e3acb..1fcc6c08a 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Moon Vein Index", + "name": "Индекс жил Луны", "icon": "gtceu:moon_stone_certus_quartz_ore", "category": "tfc:tfg_ores", "read_by_default": true, @@ -8,13 +8,13 @@ "pages": [ { "Type": "patchouli:text", - "text": "This is the $(thing)Vein Index$() for $(thing)The Moon$(). Each Vein has details regarding its rarity, density, vein type, height found, sizes, what stones it spawns on, and more.", - "title": "Moon Vein Index", + "text": "Это $(thing)индекс жил$() на $(thing)Луне$(). Каждая жила содержит подробную информацию о своей редкости, плотности, типе жилы, высоте залегания, размерах, породах камня, в которых она генерируется, и многом другом.", + "title": "Индекс жил Луны", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/moon_vein_index#moon_desh)Desh & Ilmenite$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_pyrolusite)Pyrolusite and Cobalt$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_garnet)Аметист, Опал и гранат$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_apatite)Апатит и Пирохлор$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_monazite)Бастнезит и Монацит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_bauxite)Боксит и Ильменит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_molybdenum)Вульфенит & Молибденит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_garnierite)Гарниерит и Кобальтит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_gypsum)Гипс и Кальцит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_graphite)Графит и Алмаз$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_gold)Золото и Магнетит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_beryllium)Изумруд и Бериллий$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_quartz)Истинный кварц$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_cassiterite)Касситерит и Халькопирит$()$()", + "text": "$(li)$(l:tfg_ores/moon_vein_index#moon_desh)Деш и Ильменит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_pyrolusite)Пиролюзит и Кобальт$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_garnet)Аметист, Опал и гранат$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_apatite)Апатит и Пирохлор$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_monazite)Бастнезит и Монацит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_bauxite)Боксит и Ильменит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_molybdenum)Вульфенит & Молибденит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_garnierite)Гарниерит и Кобальтит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_gypsum)Гипс и Кальцит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_graphite)Графит и Алмаз$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_gold)Золото и Магнетит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_beryllium)Изумруд и Бериллий$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_quartz)Истинный кварц$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_cassiterite)Касситерит и Халькопирит$()$()", "type": "patchouli:text" }, { @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 80$(br)$(thing)Размер$(): 30$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит", + "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 80$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит", "title": "Desh & Ilmenite", "type": "patchouli:text", "anchor": "moon_desh" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 80$(br)$(thing)Размер$(): 35$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Норит", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 80$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Норит", "title": "Pyrolusite and Cobalt", "type": "patchouli:text", "anchor": "moon_pyrolusite" @@ -213,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 7$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Риолит", + "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 7$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Риолит", "title": "Аметист, Опал и гранат", "type": "patchouli:text", "anchor": "moon_garnet" @@ -305,7 +305,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 100$(br)$(thing)Размер$(): 35$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Диорит, Норит", + "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 100$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Диорит, Норит", "title": "Апатит и Пирохлор", "type": "patchouli:text", "anchor": "moon_apatite" @@ -397,7 +397,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 310$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 310$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", "title": "Бастнезит и Монацит", "type": "patchouli:text", "anchor": "moon_monazite" @@ -489,7 +489,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 80$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Диорит, Норит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 80$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Диорит, Норит, Риолит, Фонолит", "title": "Боксит и Ильменит", "type": "patchouli:text", "anchor": "moon_bauxite" @@ -556,7 +556,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 245$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 50$(br)$(thing)Размер$(): 35$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Базальт, Габбро, Дацит, Норит", + "text": "$(thing)Редкость$(): 245$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 50$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Базальт, Габбро, Дацит, Норит", "title": "Вульфенит & Молибденит", "type": "patchouli:text", "anchor": "moon_molybdenum" @@ -648,7 +648,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 5 — 85$(br)$(thing)Размер$(): 45$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Габбро, Диорит, Риолит", + "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 5 — 85$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Габбро, Диорит, Риолит", "title": "Гарниерит и Кобальтит", "type": "patchouli:text", "anchor": "moon_garnierite" @@ -755,7 +755,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 100$(br)$(thing)Размер$(): 30$(br)$(thing)Высота$(): 9$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Норит, Фонолит", + "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 100$(br)$(thing)Размер$(): 30$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Норит, Фонолит", "title": "Гипс и Кальцит", "type": "patchouli:text", "anchor": "moon_gypsum" @@ -862,7 +862,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Базальт, Габбро, Фонолит", + "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Базальт, Габбро, Фонолит", "title": "Графит и Алмаз", "type": "patchouli:text", "anchor": "moon_graphite" @@ -929,7 +929,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 80$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 10$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Базальт, Гранит, Диорит", + "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 80$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 10$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Базальт, Гранит, Диорит", "title": "Золото и Магнетит", "type": "patchouli:text", "anchor": "moon_gold" @@ -1021,7 +1021,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 70$(br)$(thing)Радиус$(): 8$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Фонолит", + "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 70$(br)$(thing)Радиус$(): 8$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Фонолит", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "moon_beryllium" @@ -1123,12 +1123,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 0%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", + "text": "$(thing)Процент руды$(): 0%$(br)$(thing)Хромит$(): Торианит$(br)$(thing)Формула$(): Th", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 100$(br)$(thing)Размер$(): 45$(br)$(thing)Индикатор Max Depth$(): 80$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 100$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 80$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", "title": "Истинный кварц", "type": "patchouli:text", "anchor": "moon_quartz" @@ -1220,7 +1220,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит, Норит", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит, Норит", "title": "Касситерит и Халькопирит", "type": "patchouli:text", "anchor": "moon_cassiterite" @@ -1312,7 +1312,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 5 — 80$(br)$(thing)Размер$(): 30$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Базальт, Габбро, Дацит, Норит", + "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 5 — 80$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Базальт, Габбро, Дацит, Норит", "title": "Марганец и Тантал", "type": "patchouli:text", "anchor": "moon_manganese" @@ -1404,7 +1404,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 66$(br)$(thing)Размер$(): 30$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Габбро, Диорит, Норит", + "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 66$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Габбро, Диорит, Норит", "title": "Мыльный камень, Тальк и Трона", "type": "patchouli:text", "anchor": "moon_lubricant" @@ -1511,7 +1511,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 100$(br)$(thing)Размер$(): 35$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Фонолит", + "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 100$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Фонолит", "title": "Редстоун, Киноварь и Рубин", "type": "patchouli:text", "anchor": "moon_redstone" @@ -1603,7 +1603,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 100$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Базальт, Норит", + "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 100$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Базальт, Норит", "title": "Сапфир и Альмандин", "type": "patchouli:text", "anchor": "moon_sapphire" @@ -1710,7 +1710,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 90$(br)$(thing)Размер$(): 30$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Норит, Риолит", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 90$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Норит, Риолит", "title": "Селитра и Электротин", "type": "patchouli:text", "anchor": "moon_saltpeter" @@ -1802,7 +1802,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 75$(br)$(thing)Размер$(): 30$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Дацит, Диорит, Норит, Риолит", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 75$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Дацит, Диорит, Норит, Риолит", "title": "Серебро, Галена и Свинец", "type": "patchouli:text", "anchor": "moon_silver" @@ -1894,7 +1894,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 205$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 2 — 75$(br)$(thing)Размер$(): 35$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит, Фонолит", + "text": "$(thing)Редкость$(): 205$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 2 — 75$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит, Фонолит", "title": "Сфалерит & Пирит", "type": "patchouli:text", "anchor": "moon_sphalerite" @@ -1961,7 +1961,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 50 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 50 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", "title": "Тетраэдрит и Халькозин", "type": "patchouli:text", "anchor": "moon_tetrahedrite" @@ -2053,7 +2053,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Размер$(): 45$(br)$(thing)Высота$(): 16$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Размер$(): 45$(br)$(thing)Высота$(): 16$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", "title": "Топаз и Халькозин", "type": "patchouli:text", "anchor": "moon_topaz" @@ -2145,7 +2145,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 90$(br)$(thing)Размер$(): 50$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", + "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 90$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", "title": "Хромит и Магнетит", "type": "patchouli:text", "anchor": "moon_magnetite" @@ -2252,7 +2252,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Размер$(): 35$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", + "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", "title": "Ционит, Слюда и Боксит", "type": "patchouli:text", "anchor": "moon_mica" @@ -2359,7 +2359,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 20$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Габбро, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Габбро, Риолит, Фонолит", "title": "Шеелит и Вольфрамат", "type": "patchouli:text", "anchor": "moon_scheelite" @@ -2426,7 +2426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 30$(br)$(thing)Индикатор Max Depth$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Фонолит", + "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Фонолит", "title": "Шелдонит и Борнит", "type": "patchouli:text", "anchor": "moon_sheldonite" 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 15f742923..c20e2889a 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 @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "The Beneath Ore Index", + "name": "Индекс руд Бездны", "icon": "minecraft:quartz", "category": "tfc:tfg_ores", "read_by_default": true, @@ -8,8 +8,8 @@ "pages": [ { "Type": "patchouli:text", - "text": "This is the $(thing)Ore Index$() for $(thing)The Beneath$(). 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": "The Beneath Ore Index", + "text": "Это $(thing)индекс руд$()$(thing)в Бездне$(). Все руды отсортированы в алфавитном порядке, а затем по типу жил — от самых богатых к самым бедным. Вы можете нажать на любую из них, чтобы узнать больше информации о каждой жиле.", + "title": "Индекс руд Бездны", "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 010a8d22d..a3e2203b5 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 @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "The Beneath Vein Index", + "name": "Индекс жил Бездны", "icon": "gtceu:pyroxenite_nether_quartz_ore", "category": "tfc:tfg_ores", "read_by_default": true, @@ -8,8 +8,8 @@ "pages": [ { "Type": "patchouli:text", - "text": "This is the $(thing)Vein Index$() for $(thing)The Beneath$(). Each Vein has details regarding its rarity, density, vein type, height found, sizes, what stones it spawns on, and more.", - "title": "The Beneath Vein Index", + "text": "Это $(thing)индекс жил$() в $(thing)Бездне$(). Каждая жила содержит подробную информацию о своей редкости, плотности, типе жилы, высоте залегания, размерах, породах камня, в которых она генерируется, и многом другом.", + "title": "Индекс жил Бездны", "type": "patchouli:text" }, { @@ -1197,7 +1197,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 0%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", + "text": "$(thing)Процент руды$(): 0%$(br)$(thing)Хромит$(): Торианит$(br)$(thing)Формула$(): Th", "type": "patchouli:multiblock" }, { @@ -2228,7 +2228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 75$(br)$(thing)Плотность$(): 0.6$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 64$(br)$(thing)Размер$(): 17$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Пироксенит", + "text": "$(thing)Редкость$(): 75$(br)$(thing)Плотность$(): 0.6$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 64$(br)$(thing)Размер$(): 17$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Пироксенит", "title": "Сильвин", "type": "patchouli:text", "anchor": "nether_sylvite" @@ -2503,7 +2503,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 62%$(br)$(thing)Хромит$(): Уран, Торий, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 62%$(br)$(thing)Хромит$(): Уран, Торианит, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json index 1414a21b9..c21010fdd 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json @@ -1,15 +1,15 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Venus Ore Index", - "icon": "vintageimprovements:sulfur", + "name": "Индекс руд Венеры", + "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", + "text": "Это $(thing)индекс руд$() на $(thing)Венере$(). Все руды отсортированы в алфавитном порядке, а затем по типу жил — от самых богатых к самым бедным. Вы можете нажать на любую из них, чтобы узнать больше информации о каждой жиле.", + "title": "Индекс руд Венеры", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json index 23eabe80c..c4fcea147 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Venus Vein Index", + "name": "Индекс жил Венеры", "icon": "gtceu:venus_stone_sulfur_ore", "category": "tfc:tfg_ores", "read_by_default": true, @@ -8,19 +8,19 @@ "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", + "text": "Это $(thing)индекс жил$() на $(thing)Венере$(). Каждая жила содержит подробную информацию о своей редкости, плотности, типе жилы, высоте залегания, размерах, породах камня, в которых она генерируется, и многом другом.", + "title": "Индекс жил Венеры", "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)Сера и Пирит$()$()", + "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)Редкость$(): 30$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 20$(br)$(thing)Высота$(): 6$(br)$(thing)Индикатор Max Depth$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит$(br2)Only appears in the $(thing)Salt Flats$() biome.", - "title": "Salts & Spodumene", + "title": "Соли & Сподумен", "type": "patchouli:text", "anchor": "venus_manual_salt" }, diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/anvil_working_guide.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/anvil_working_guide.json new file mode 100644 index 000000000..d0c77667a --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/anvil_working_guide.json @@ -0,0 +1,152 @@ +{ + "name": "Гайд по работе с наковальней", + "icon": "gtceu:red_steel_hammer", + "category": "tfc:tfg_tips", + "read_by_default": true, + "priority": false, + "pages": + [ + { + "type": "patchouli:text", + "title": "Работа с наковальней", + "text": "$(l:mechanics/anvils#working)Работа$() с $(l:mechanics/anvils)наковальней$() является ключевым процессом в $(thing)TerraFirmaGreg$(), так как большая часть вашей работы направленой ​​на достижение $(thing)Паровых и металлукргического веков$() портебует использование наковальни.$(br)Данное руководство разделено на две части, $(l:tfg_tips/anvil_working_guide#ui_explained)Понимание пользовательского интерфейса$() и $(l:tfg_tips/anvil_working_guide#how_to_perfectly_forge)Как идеально выковать$().$(br2)В этом модпаке есть пользовательский $(thing)Пакет ресурсов$() называемый $(l:https://www.curseforge.com/minecraft/texture-packs/tfc-anvil-helper)TFC Anvil Helper$(), для того чтобы это руководство имело смысл, вам необходимо включить эту функцию.$()" + }, + { + "type": "patchouli:image", + "images": ["tfg:textures/gui/field_guide/anvil_working_guide/anvil_ui.png"], + "border": false, + "text": "Пользовательский интерфейс с включенным TFC Anvil Helper" + }, + { + "type": "patchouli:image", + "images": ["tfg:textures/gui/field_guide/anvil_working_guide/anvil_ui_marked.png"], + "border": false, + "anchor": "ui_explained", + "tile": "Пользовательский интерфейс и ты", + "text": "Пользовательский интерфейс наковальни с TFC Anvil Helper Enabled имеет цветные обозначения." + }, + { + "type": "patchouli:text", + "text": "$(#ff0000)1.$() Предмет, который вы выбрали для создания на наковальне. Для каждого предмета требуется определенный набор $(#be00ff)шагов$() и $(#ff6b00)требуемой работы$() $(br)$(#ff00c6)2.$() Элемент ввода, с которым вы сейчас работаете. $(br)$(#be00ff)3.$() Необходимые этапы, которые должны быть выполнены до того, как изделие будет считаться готовым. Всего существует 4 различных варианта выполнения заказа (см. следующую страницу):" + }, + { + "type": "patchouli:image", + "images": ["tfg:textures/gui/field_guide/anvil_working_guide/anvil_ui_marked.png"], + "border": false + }, + { + "type": "patchouli:text", + "text": "(Примечание: X — это подстановочный знак для любого типа шага.)$(br)$(li)x_Любой: Этот шаг может произойти в любом из последних трех действий.$()$(li)x_Последний: Это должен быть последний выполненный шаг.$()$(li)x_Не последний: Этот шаг не может быть последним выполненным шагом.$()$(li)x_Пред последний: Это должен быть предпоследний выполненный шаг.$()$(li)x_Третий последний:Это должен быть предпоследний выполненный шаг$()" + }, + { + "type": "patchouli:image", + "images": ["tfg:textures/gui/field_guide/anvil_working_guide/anvil_ui_marked.png"], + "border": false + }, + { + "type": "patchouli:text", + "text": "$(#2e00ff)4.$() Типы шагов. Каждый тип шага вычитает или прибавляет к текущему значению работы. Они расположены в порядке слева направо, сверху вниз:$(li)Слабо ударить: -3$()$(li)Ударить: -6$()$(li)Штамповать: +2$()$(li)Изогнуть: +7$()$(li)Сильно ударить: -9$()$(li)Протянуть: -15$()$(li)Обжать: +13$()$(li)Усадить: +16$()" + }, + { + "type": "patchouli:image", + "images": ["tfg:textures/gui/field_guide/anvil_working_guide/anvil_ui_marked.png"], + "border": false + }, + { + "type": "patchouli:text", + "text": "$(#00a7ff)5.$() Слоты, куда вставляется молоток, а также флюс, если вы занимаетесь сваркой.$(br)$(#00ff26)6. $()Текущий объем работы, проведенный над предметом, зависит от количества выполняемой работы; выполнение различных этапов либо увеличивает, либо уменьшает этот объем.$(br)$(#fff400)7. $()Значение $(#00ff26)Работы$() должно быть ТОЧНО выровнено с целевым значением, И $(#ff00c6)необходимые шаги$() должны быть сделаны для завершения ковки.$(br)$(#ff6b00)8. $()Рабочая полоска, использутся для соединения рабочего значения с целевым значением." + }, + { + "type": "patchouli:text", + "anchor": "how_to_perfectly_forge", + "title": "Как идеально выковать", + "text": "$(thing)Идеально выкованный$() предмет, который может сломаться, например, $(thing)Головки инструментов$(), $(thing)Оружий$(), и $(thing)Брони$() получает бонусы к прочности и общей эффективности за счет уменьшения количества шагов, необходимых для его выковки. Завершение работы над предметом за очень короткое время делает его идеально выкованным, что не только дает готовому предмету бонусы, но и снижает общий износ молота." + }, + { + "type": "patchouli:image", + "images": ["tfg:textures/gui/field_guide/anvil_working_guide/perfectly_forged_item.png"], + "border": false, + "text": "Идеально выкованная головка кирки из кованого железа" + }, + { + "type": "patchouli:spotlight", + "title": "Руководство по ковке", + "item": "gtceu:wrought_iron_pickaxe_head", + "text": "В этой части руководства мы рассмотрим, как идеально выковать что угодно, начиная с оголовья кирки из кованого железа.$(br2)$(bold)$(italic)ДИСКЛЕЙМЕР:$()$(br)Хотя необходимые шаги и порядок выполнения для создания предмета универсальны во всех мирах TerraFirmaGreg, целевое значение работы различается, поскольку оно определяется сидом вашего мира. Поэтому в этом руководстве предполагается, что целевое значение работы для оголовья кованой железной кирки равно... $(bold)83$()" + }, + { + "type": "patchouli:empty" + }, + { + "type": "patchouli:text", + "title": "Шаг 1", + "text": "Первый шаг в вашем процессе ковки — это получение значения путем сложения всех значений, полученных на каждом из необходимых этапов. Для изготовления головки кирки вам потребуются следующие шаги:$(li)$(bold)Штамповать$() Последний$()$(li)$(bold)Изогнуть$() Не последний$()$(li)$(bold)Протянуть$() Не последний$().$(br)Сложив значения, полученные на каждом шаге, мы получим искомое значение. Назовем это значение \"НеобходимаяРабота\".$(br)$(bold)2 + 7 + (-15) = -6$()" + }, + { + "type": "patchouli:image", + "images": ["tfg:textures/gui/field_guide/anvil_working_guide/steps.png"], + "text": "Этапы изготовления кирки" + }, + { + "type": "patchouli:text", + "title": "Шаг 2", + "text": "Хотя наша главная цель при расчете объема работы — привести его в соответствие с целевым объемом работы, нам необходимо убедиться, что выполнены как это требование, так и требования к этапам. Таким образом, прямое сопоставление объема работы с целевым объемом работы не даст желаемых результатов. Вместо этого мы можем рассчитать значение, полученное из целевого объема работы и \"НеобходимаяРабота\"" + }, + { + "type": "patchouli:text", + "text": "Это значение можно получить в зависимости от \"НеобходимаяРабота\" (т.е.: если значение отрицательное или положительное).$(li)Если \"НеобходимаяРабота\" положительное$()$(li2)Вычти \"НеобходимаяРабота\" абсолютное значение от \"Целевой работы\"$()$(li3)83 - 6 == $(bold)77$()$()$(li)Если \"НеобходимаяРабота\" отрицательное $()$(li2)Добавь \"НеобходимаяРабота\" абсолютное значение из \"Целевой работы\"$()$(li3)83 + 6 = $(bold)89$()$()" + }, + { + "type": "patchouli:text", + "text": "Так как \"НеобходимаяРабота\" для нашего предмета равно -6, искомое нами значение — это $(bold)89$().$(br)Возможно, вас интересует, как получить точные числовые значения для вашей Целевой работы? В пользовательском интерфейсе наковальни это отображается на панели задач. Она показывает только числа, кратные 20, но другие числа легко узнать по цветным линиям:$(li)Светло-серый: Представляет собой кратное 5$()$(li)Серый: Представляет собой нечётное число$()$(li)Темно-серый: Представляет собой четное число$()" + }, + { + "type": "patchouli:image", + "images": ["tfg:textures/gui/field_guide/anvil_working_guide/work_bar_numbers.png", "tfg:textures/gui/field_guide/anvil_working_guide/target_work_for_wrought_iron_pickaxe_head.png"] + }, + { + "type": "patchouli:text", + "title": "Шаг 3", + "text": "С учетом значения, полученного из \"Целевой работы\" и \"НеобходимаяРабота\", теперь нам нужно достичь указанного значения объема работы. Это можно сделать либо вручную, сложив числа, указанные для каждого шага, либо используя шпаргалку на панели интерфейса. Каждый цвет обозначает тип шага в пользовательском интерфейсе. $(br)Т.е.: Красный == Усадить (+16)" + }, + { + "type": "patchouli:image", + "images": ["tfg:textures/gui/field_guide/anvil_working_guide/work_bar_cheat_sheet.png"], + "text": "16 + 16 + 16 + 16 + 16 + 7 + 2 = 89" + }, + { + "type": "patchouli:text", + "title": "Шаг 4", + "text": "Теперь, когда мы знаем необходимые шаги, пришло время приступить к достижению значения, полученного из \"Целевой работы\" и \"НеобходимаяРабота\". Для головки кирки, у которой целевое значение равно 83, нам нужно достичь 89. Таким образом, мы это делаем.: (Усадить x 5) -> Изогнуть -> Штамповать.$(br2)Как только значение работы достигнет желаемого уровня, просто выполните необходимые шаги, которые для головки кирки включают в себя следующее: Протянуть -> Изогнуть -> Штамповать. И вуаля! Мы получили идеально поддельный предмет!" + }, + { + "type": "patchouli:image", + "images": ["tfg:textures/gui/field_guide/anvil_working_guide/wrought_iron_pickaxe_head_no_work.png", "tfg:textures/gui/field_guide/anvil_working_guide/wrought_iron_pickaxe_head_some_work.png", "tfg:textures/gui/field_guide/anvil_working_guide/wrought_iron_pickaxe_head_complete.png"], + "text": "Слиток без обработки -> Достигнуто желаемое значение обработки -> Выполнение необходимых шагов для нашего изделия." + }, + { + "type": "patchouli:text", + "title": "Примеры", + "text": "Давайте рассмотрим этот процесс на других предметах, таких как пластина или стержень. Опять, значение Целевой работы отличается в зависимости от сида, поэтому их значения будут отличаться в вашем мире.$(br)Целевое значение пластины: $(bold)111$()$(br)Необходимые шаги: Удар x 3, в любом порядке.$(br)\"НеобходимаяРабота\": -3 x 3 = -9$(br)Производное значение: 111 + 9 = 120.$(br)Достижение значения: (Усадить x 5)->(Обжать x 2)->(Штамповать x 2)$(br)Получение предмета: 120 - (Слабо ударить x 3) == $(bold)111$(). Оба требования выполнены." + }, + { + "type": "patchouli:text", + "text": "Целевое значение стержня: $(bold)78$()$(br)Необходимые шаги: Протянуть->Протянуть->Изогнуть$(br)\"НеобходимаяРабота\": (-15 x 2) + 7 = -23$(br)Производное значение: 78 + 23 = 101.$(br)Достижение значения: (Усадить x 5)->(Изогнуть x 3)$(br)Получение предмета: 101 - 15 - 15 + 7 = 78." + }, + { + "type": "patchouli:text", + "title": "Другие интересные факты", + "text": "Если один из Необходимых шагов пуст, Это означает, что любой из шагов может быть использован.$(br2)Если ваши расчеты не верны, вы всегда можете переплавить и отлить изделие обратно в слиток, это удалит тег \"worked\" на предмете, позволяя вам попробовать еще раз, чтобы идеально его выковать." + }, + { + "type": "patchouli:empty" + }, + { + "type": "patchouli:empty" + }, + { + "type": "patchouli:text", + "text": "Поздравляем с завершением! Если вы являетесь контрибьютором и хотите переснять фотографии для этого руководства, используйте следующий сид при его написании: $(bold)-7291708953208913102$(), Вы также можете создать творческий мир, чтобы самостоятельно протестировать алгоритм!$(br2)$(br)Кроме того... раз уж вы здесь, если вам лень самостоятельно производить все расчеты, вы всегда можете воспользоваться... $(l:https://adrianmiller99.github.io/tfg-anvil-calculator/src/index.html)TFC Anvil Calculator$()..." + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/blast_furnace_tips.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/blast_furnace_tips.json new file mode 100644 index 000000000..6624e85a5 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/blast_furnace_tips.json @@ -0,0 +1,43 @@ +{ + "name": "Советы для доменной печи", + "icon": "tfc:blast_furnace", + "category": "tfc:tfg_tips", + "read_by_default": true, + "pages": + [ + { + "type": "patchouli:text", + "title": "Советы для TerraFirmaCraft доменной печи", + "text": "Итак, ты наконец-то нашел $(item)Каолинит$() и, вероятно, испытываешь большой энтузиазм по поводу создания 5-и уровневой $(thing)Доменной печи$(). Вот несколько советов, прежде чем ты оторвешься по полной!" + }, + { + "type": "patchouli:spotlight", + "item": "tfc:ceramic/unfired_fire_brick", + "text": "Прежде чем потратить всю свою огнеупорную глину на 20 огнеупорных кирпичей, учти, что в эпоху пара производство станет значительно дешевле. Она позволит тебе сохранить $(item)Каолинит$() и $(item)Графит$() для $(thing)Столов для форм$()." + }, + { + "type": "patchouli:spotlight", + "title": "Предварительный нагрев металла", + "item": "tfc:firepit", + "text": "Для превращения железа в сталь доменная печь должна нагреть находящееся внутри железо до $(thing)белеет до блеска$(). При первой операции металл нагревается вместе с доменной печью. Однако последующие операции займут примерно столько же времени, несмотря на то, что печь уже нагрета до нужной температуры, поскольку металл необходимо нагревать с нуля." + }, + { + "type": "patchouli:text", + "text": "Если металл горячий при загрузке в доменную печь, то для достижения белеет до блеска потребуется меньше времени. Рассмотрите возможность нагревания металла в $(l:tfc:mechanics/charcoal_forge)Угольной кузнице$() перед тем, как поместить его в уже раскалённую печь, чтобы сэкономить время, особенно в небольших доменных печах, которые обрабатывают меньшее количество материала за раз." + }, + { + "type": "patchouli:spotlight", + "title": "Автоматизация", + "item": "greate:steel_mechanical_pump", + "text": "Тебе понадобится много $(item)Стали$() для $(thing)Парового$() и $(thing)LV$() веков. Очень много стали. $(thing)Электрическая доменная печь$() еще далеко, поэтому, возможно, стоит подумать об оптимизации производства стали." + }, + { + "type": "patchouli:text", + "text": "Жидкость можно перекачивать непосредственно из доменной печи используя Create $(item)Механическую помпу$(). Перекачивай в $(l:tfc:tfcchannelcasting/channel_casting)Стол для форм$() и извлекай слитки с помощью воронки или желоба: Простая автоматизация!$(br2)Ты можешь автоматизировать работу мехов с помощью $(item)Автономного активатора$()! Будь осторожны, так как чрезмерное использование мехов приводит к увеличению расхода топлива и боллее быстрой поломке твоей $(thing)фурмы$().$(br2)Ты можешь обработать полученный $(item)Белый чугун$() и $(item)Высокоуглеродистую сталь$() в $(thing)Кузнечном молоте$() или с помощью $(thing)Рычажного молотв$()." + }, + { + "type": "patchouli:text", + "text": "Вы можете автоматически заменять сломанные фурмы воронкой или предметной трубой, направленной в доменную печь." + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/faqs.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/faqs.json index cfe128d36..02e2e5719 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/faqs.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/faqs.json @@ -13,7 +13,7 @@ }, { "type": "patchouli:text", - "text": "$(li)$(l:tfg_tips/faqs#boats)Почему моя лодка тонет?$()$(li)$(l:tfg_tips/faqs#dried_fruit)Как мне сделать дрожжи?$()$(li)$(l:tfg_tips/faqs#dried_fruit)Как мне сделать ананосовое волокно?$()$(li)$(l:tfg_tips/faqs#resin)Как мне сделать резину?$()$(li)$(l:tfg_tips/faqs#chunks)Как подгрузить чанки или увеличить их лимит?$()" + "text": "$(li)$(l:tfg_tips/faqs#boats)Почему моя лодка тонет?$()$(li)$(l:tfg_tips/faqs#dried_fruit)Как мне сделать дрожжи?$()$(li)$(l:tfg_tips/faqs#dried_fruit)Как мне сделать ананасовое волокно?$()$(li)$(l:tfg_tips/faqs#resin)Как мне сделать резину?$()$(li)$(l:tfg_tips/faqs#chunks)Как подгрузить чанки или увеличить их лимит?$()" }, { "type": "patchouli:text", @@ -23,7 +23,7 @@ { "type": "patchouli:text", "anchor": "dried_fruit", - "text": "$(italic)Как мне сделать дрожжи или ананосовое волокно?$()$(br2)Перед использованием обязательно высушите фрукты используя $(item)Настил для сушки$(). Затем выполните остальные шаги для $(l:firmalife/bread)хлеба$() или $(l:firmalife/berry_bushes)ананасовой кожи$()." + "text": "$(italic)Как мне сделать дрожжи или ананасовое волокно?$()$(br2)Перед использованием обязательно высушите фрукты используя $(item)Настил для сушки$(). Затем выполните остальные шаги для $(l:firmalife/bread)хлеба$() или $(l:firmalife/berry_bushes)ананасовой кожи$()." }, { "type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/space_crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/space_crops.json new file mode 100644 index 000000000..14ba51cd1 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/space_crops.json @@ -0,0 +1,574 @@ +{ + "name": "Внеземные сельхоз культуры", + "category": "tfc:tfg_tips", + "icon": "betterend:textures/item/blossom_berry.png", + "pages": [ + { + "type": "patchouli:text", + "title": "Внеземные культуры", + "text": " Оказывается, Земля — не единственное небесное тело, на котором есть жизнь. Во время своих путешествий вы можете встретить и другие виды съедобной флоры. Все они используют те же механизмы, к которым вы привыкли на Земле (с некоторыми исключениями), и их можно выращивать либо на обычных грядках, либо в Firmalife $(l:firmalife/greenhouse)Теплицах$(), или в GregTech Электрических теплицах." + }, + { + "type": "patchouli:text", + "text": "$(thing)Система подачи искусственного воздуха$() также позволит поддерживать стабильную температуру в закрытом помещении на уровне 15 °C. По техническим причинам эта температура не может отображаться во всплывающей подсказке нефритового предмета на других планетах, поэтому вам придется использовать вкладку Климат в инвентаре, чтобы проверить температуру.$(br2)Другой альтернативой является использование системы Firmalife теплицы, которая обеспечивает меньшую производительность, но также не учитывает климатические условия." + }, + { + "type": "patchouli:text", + "title": "Плоды хоруса", + "text": "$(bold)Местоположение$(): Луна$(br)$(bold)Биомы$(): Хорусовый лес, Хорусовые дебри$(br2)Растения Хоруса растут высокими группами. Если сломать стебель, ничего не получится, а если сломать верхушку цветка, то можно получить плоды или цветок Хоруса.$(br)Плоды хоруса можно употреблять в пищу для получения $(thing)Фруктов$(), могут быть пожарены и съедены в качестве $(item)Прожаренного плода хоруса$(), или может быть дистилирован в $(thing)Азот$().$(br)" + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "pattern": [ + [ + "Z " + ], + [ + "V D" + ], + [ + "EXB" + ], + [ + " V " + ], + [ + " 0 " + ] + ], + "mapping": { + "0": "ad_astra:moon_sand", + "V": "tfg:lunar_chorus_plant[down=true,up=true]", + "E": "tfg:lunar_chorus_plant[south=true,up=true]", + "X": "tfg:lunar_chorus_plant[north=true,down=true,south=true]", + "B": "tfg:lunar_chorus_plant[north=true,up=true]", + "D": "tfg:lunar_chorus_flower[age=5]", + "Z": "tfg:lunar_chorus_flower[age=0]" + } + }, + "text": "$(thing)Цветки хоруса$() также можно выращивать вручную, высаживая на гравий или песок..", + "enable_visualize": false + }, + { + "type": "patchouli:text", + "title": "Янтарные ростки", + "text": "$(bold)Местоположение$(): Марс$(br)$(bold)$(l:the_world/climate#temperature)Температура$(): -150 - 15 °C$(br)$(bold)$(l:mechanics/hydration)Увлажненность$(): 0 - 40 %$(br)$(bold)Питательное вещество$(): Фосфор$(br2)Янтарные ростки — это одноблочные растения. Семена янтарных ростков можно высаживать на грядках, и они дадут $(item)Янтарные ростки$(), которые можно есть для пополнения $(thing)Зерновых$()." + }, + { + "type": "tfc:multimultiblock", + "multiblocks": [ + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:amber_root[age=0]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:amber_root[age=1]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:amber_root[age=2]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:amber_root[age=3]", + "Z": "tfg:grass/mars_farmland" + } + } + ], + "text": "$(thing)Дикие Янтарные ростки$() Растет в любом климате на янтарном и рустиксовом мицелии.", + "enable_visualize": false + }, + { + "type": "patchouli:text", + "text": "$(bold)Местоположение$(): Марс$(br)$(bold)$(l:the_world/climate#temperature)Температура$(): -80 - 30 °C$(br)$(bold)$(l:mechanics/hydration)Увлажненность$(): 70 - 100 %$(br)$(bold)Питательное вещество$(): Калий$(br2)Цветущая ягода - это одноблочное растение. Семена Цветущей ягоды можно высаживать на фермы, и будет давать $(item)Цветущая ягода$(), которая может быть съедена для получения $(thing)Фруктов$().", + "title": "Цветущая ягода" + }, + { + "type": "tfc:multimultiblock", + "multiblocks": [ + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:blossom_berry[age=0]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:blossom_berry[age=1]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:blossom_berry[age=2]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:blossom_berry[age=3]", + "Z": "tfg:grass/mars_farmland" + } + } + ], + "text": "$(thing)Дикая Цветущая ягода$() растет в любом климате на янтарном, рустиксовом, или cангнумовый мицелии." + }, + { + "type": "patchouli:text", + "text": "$(bold)Местоположение$(): Марс$(br)$(bold)$(l:the_world/climate#temperature)Температура$(): -150 - 15 °C$(br)$(bold)$(l:mechanics/hydration)Увлажненность$(): 0 - 40 %$(br)$(bold)Питательное вещество$(): Фосфор$(br2)Грибы болюкс are одноблочное растение. Споры гриба болюкса могут быть посажены на грядку и будут производить $(item)Грибы болюкс$(), которые могут быть съедены для получения $(thing)Овощей$().$(br2)Рекомендуется $(item)пожарить$() Грибы болюкс перед употреблением.", + "title": "Гриб болюкс" + }, + { + "type": "tfc:multimultiblock", + "multiblocks": [ + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:bolux_mushroom[age=0]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:bolux_mushroom[age=1]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:bolux_mushroom[age=2]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:bolux_mushroom[age=3]", + "Z": "tfg:grass/mars_farmland" + } + } + ], + "text": "$(thing)Дикие грибы болюкс$() растут в любом климате on янтарном, рустиксовом, или cангнумовый мицелии." + }, + { + "type": "patchouli:text", + "text": "$(bold)Местоположение$(): Марс$(br)$(bold)$(l:the_world/climate#temperature)Температура$(): -100 - 30 °C$(br)$(bold)$(l:mechanics/hydration)Увлажненность$(): 0 - 60 %$(br)$(bold)Питательное вещество$(): Азот$(br2)Лукыква - это разрастающееся растение. Семена лукыквы могут быть посажены на грядку и росток будет ставит до 2 $(item)Лукыкв$() на землю вплотную к нему пока он созревший. Если собрать лукыкву, и растение снова созреет, оно сможет вырастить больше лукыкв. Мякоть лукыквы может быть съедена для $(thing)Фруктов$() или быть переработанной в $(thing)Светокаменную пыль$().$(br)", + "title": "Лукыква" + }, + { + "type": "tfc:multimultiblock", + "multiblocks": [ + { + "pattern": [ + [ + " ", + " C ", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfg:grass/mars_farmland", + "0": "tfg:grass/mars_farmland", + "C": "betterend:cave_pumpkin_plant[age=0]" + } + }, + { + "pattern": [ + [ + " ", + " C ", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfg:grass/mars_farmland", + "0": "tfg:grass/mars_farmland", + "C": "betterend:cave_pumpkin_plant[age=1]" + } + }, + { + "pattern": [ + [ + " ", + " C ", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfg:grass/mars_farmland", + "0": "tfg:grass/mars_farmland", + "C": "betterend:cave_pumpkin_plant[age=2]" + } + }, + { + "pattern": [ + [ + " ", + " C ", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfg:grass/mars_farmland", + "0": "tfg:grass/mars_farmland", + "C": "betterend:cave_pumpkin_plant[age=3]" + } + }, + { + "pattern": [ + [ + " ", + " CP", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfg:grass/mars_farmland", + "0": "tfg:grass/mars_farmland", + "C": "betterend:cave_pumpkin_plant[age=3,south=true]", + "P": "betterend:cave_pumpkin" + } + } + ], + "text": "$(thing)Дикие лукыквы$() растут в любом климате на янтарном или cангнумовом мицелии." + }, + { + "type": "patchouli:text", + "title": "Гриб чашцелий", + "text": "$(bold)Местоположение$(): Марс$(br)$(bold)$(l:the_world/climate#temperature)Температура$(): -150 - 15 °C$(br)$(bold)$(l:mechanics/hydration)Увлажненность$(): 0 - 40 %$(br)$(bold)Питательное вещество$(): Фосфор$(br2)Гриб чашцелий - одноблочное растение. Споры гриба чашцелий могут быть посажены на грядку и будут производить $(item)гриб чашцелийs$(), который может быть съеден для получения $(thing)Овощей$().$(br2)Рекомендуется $(item)приговотовить$() гриб чашцелий перед употреблением." + }, + { + "type": "tfc:multimultiblock", + "multiblocks": [ + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:chorus_mushroom[age=0]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:chorus_mushroom[age=1]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:chorus_mushroom[age=2]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:chorus_mushroom[age=3]", + "Z": "tfg:grass/mars_farmland" + } + } + ], + "text": "$(thing)Дикие грибы чашцелий$() растут в любом климате на янтарном, рустиксовом, и cангнумовом мицелии." + }, + { + "type": "patchouli:text", + "title": "Нокс-ягода", + "text": "$(bold)Местоположение$(): Марс$(br)$(bold)$(l:the_world/climate#temperature)Температура$(): -80 - 30 °C$(br)$(bold)$(l:mechanics/hydration)Увлажненность$(): 50 - 100 %$(br)$(bold)Питательное вещество$(): Калий$(br2)Нокс-ягода - одноблочное растение. Семена нокс-ягод могут быть посажены на грядку и будут производить $(item)Нокс-ягоды$(), которые могут быть съедены для $(thing)Фруктов$().$(br2)Рекомендуется $(item)пожарить$() нокс-ягоды перед употреблением." + }, + { + "type": "tfc:multimultiblock", + "multiblocks": [ + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:shadow_berry[age=0]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:shadow_berry[age=1]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:shadow_berry[age=2]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:shadow_berry[age=3]", + "Z": "tfg:grass/mars_farmland" + } + } + ], + "text": "$(thing)Дикие Нокс-ягоды$() растут в любом климате на рустиксовом и cангнумовом мицелии." + } + ], + "read_by_default": true, + "extra_recipe_mappings": { + "tfg:lunar_chorus_flower": 2, + "minecraft:chorus_fruit": 2, + "betterend:amber_root_seeds": 4, + "betterend:amber_root_product": 4, + "betterend:blossom_berry_seeds": 6, + "betterend:blossom_berry_product": 6, + "betterend:bolux_mushroom_seeds": 8, + "betterend:bolux_mushroom_product": 8, + "betterend:cave_pumpkin_plant_seeds": 10, + "betterend:cave_pumpkin": 10, + "betterend:chorus_mushroom_seeds": 12, + "betterend:chorus_mushroom_product": 12, + "betterend:shadow_berry_seeds": 14, + "betterend:shadow_berry_product": 14 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/space_fauna.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/space_fauna.json new file mode 100644 index 000000000..45a081519 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/space_fauna.json @@ -0,0 +1,192 @@ +{ + "name": "Внеземная фауна", + "category": "tfc:tfg_tips", + "icon": "minecraft:sniffer_egg", + "pages": [ + { + "type": "patchouli:text", + "title": "Внеземная фауна", + "text": "В космосе обитает множество других видов животных, помимо тех, что встречаются на Земле. Некоторые животные враждебны и могут напасть на игрока, но большинство из них пассивны. Лишь некоторые из них $(l:mechanics/animal_husbandry)приручаемые$(), как домашний скот на Земле.$(br)Животные, которых можно встретить на других планетах, делятся на две категории.: $(item)горячие$() и $(item)холодные$(). Животные могут выживать только на планетах, климат которых схож с климатом их родины, или в $(thing)климате$() схожим с Земным." + }, + { + "type": "patchouli:text", + "text": "Космическим животным не требуется насыщенная кислородом среда, но наличие кислорода в этом месте сделает среду \"умеренной\" для их выживания. Например, если вы принесете холодное животное (например, нюхача) на горячую планету (например, Венеру), оно загорится, если только не окажется в среде, насыщенной кислородом.$(br)Это делает Землю идеальным местом для строительства зоопарка, если вы этого захотите.$(br)С помощью системы пространственнфх ячеек AE2 вы можете перемещать животных между планетами." + }, + { + "type": "patchouli:spotlight", + "item": "tfg:marker/moon", + "title": "Лунные животные", + "text": "Хотя $(item)Луна$() довольно пустынна, на ней всё же обитают некоторые животные.$(br2)Она считается $(thing)Холодным$() миром несмотря на довольно резкие перепады температуры.", + "anchor": "moon" + }, + { + "type": "patchouli:entity", + "entity": "tfg:moon_rabbit{NoAI:1b,birth:-100000000L,oldDay:9223372036854775807L,geneticSize:16,MoonRabbitType:5}", + "scale": 1.3, + "offset": -0.3, + "name": "Лунные кролики", + "text": "Несмотря на их окрас, $(thing)Лунные кролики$() имеют идентичные характеристики с земными кроликами. Также они едят плоды хоруса." + }, + { + "type": "patchouli:entity", + "entity": "species:limpet", + "scale": 0.8, + "name": "Рудовичок", + "text": "$(thing)Рудовички$() это разновидности улиток, у которых на раковине есть руда. Руду можно добыть любой киркой или буром. Он пассивен и может быть съеден." + }, + { + "type": "patchouli:entity", + "entity": "ad_astra:star_crawler", + "scale": 0.4, + "name": "Звездный ползун", + "text": "$(thing)Звездные ползуны$() являются разновидностью морских звезд. Они враждебны и могут быть съедены." + }, + { + "type": "patchouli:entity", + "entity": "species:birt", + "scale": 0.9, + "name": "Птах", + "text": "$(thing)Птахи$() являются видом птиц? Они откладывают яйца в своих гнёздах, пассивны, если на них не нападают, и их можно употреблять в пищу. Их яйца можно бросать, чтобы оглушить цель." + }, + { + "type": "patchouli:empty", + "draw_filler": true + }, + { + "type": "patchouli:spotlight", + "item": "tfg:marker/mars", + "title": "Марсианские животные", + "text": "$(item)Марс$() - это планета с окружающей средой, наиболее близкой к земной, с большим разнообразием животных, с которыми можно взаимодействовать, и сельскохозяйственными культурами, которыми можно кормить их (и себя)... за исключением огромной пустыни, где почти ничего не живет.$(br2)Марс это $(thing)Холодная$() планета.", + "anchor": "mars" + }, + { + "type": "patchouli:image", + "images": [ "tfg:textures/gui/field_guide/sandworm.png" ], + "border": true, + "title": "Песчаный червь", + "text": "$(thing)есчаный черви$() реагируют на шаги игрока. Именно из-за них в пустыне почти ничего больше не живет.$(br)" + }, + { + "type": "patchouli:text", + "title": "Нюхач", + "text": "$(thing)Нюхачи$() - это приручаемы животные, обитающие в диапазоне температур от -30 до -102°C. Для откладывания яиц им необходимо большой насест, и их можно стричь для $(item)Шерсти нюхача$(). Их яйца можно варить или использовать для приготовления сливок. Они питаются любыми марсианскими культурами.", + "anchor": "sniffer" + }, + { + "type": "patchouli:entity", + "entity": "tfg:sniffer{NoAI:1b,birth:-100000000L,oldDay:9223372036854775807L,geneticSize:16}", + "scale": 0.45, + "name": " ", + "text": "Нюхач." + }, + { + "type": "patchouli:text", + "title": "Ирапторы", + "text": "$(thing)Ирапторы$() - это приручаемые животные, обитающие в диапазоне температур от -15 до -100°C. Для откладывания яиц им необходимо большой насест, и их можно стричь для $(item)Перьев ираптора$(). Их яйца можно варить или использовать для получения сахара ираптора. Они питаются любыми марсианскими культурами.", + "anchor": "wraptor" + }, + { + "type": "patchouli:entity", + "entity": "tfg:wraptor{NoAI:1b,birth:-100000000L,oldDay:9223372036854775807L,geneticSize:16}", + "scale": 0.8, + "name": " ", + "text": "Ираптор." + }, + { + "type": "patchouli:text", + "title": "Гласианские овцы", + "text": "Предпочитая экстремально низкие температуры ниже -108°C, $(thing)Гласианские овцы$() являются приручаемыми животными. Их можно стричь, чтобы получить $(item)гляциальную шерсть$(), удивительный теплоизолятор. Они едят любые марсианские культуры.", + "anchor": "glacian_sheep" + }, + { + "type": "patchouli:entity", + "entity": "tfg:glacian_ram{NoAI:1b,birth:-100000000L,oldDay:9223372036854775807L,geneticSize:16}", + "scale": 0.7, + "name": " ", + "text": "Гласианский(ая) баран/овца." + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:surfer", + "scale": 0.35, + "offset": 0.2, + "name": "Сёрфер", + "text": "$(thing)Сёрферы$() Это земноводные пассивные животные. Их можно приручить с помощью $(item)Сырой рыбы$(), чтобы ездить на них под водой. Их также можно употреблять в пищу." + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:eater", + "scale": 0.5, + "name": "Пожиратель", + "text": "Хищники высшего уровня, $(thing)Пожиратели$() — это враждебные животные, обитающие при температуре выше -109°C. Если вам удастся убить одного из них, вы сможете его съесть." + }, + { + "type": "patchouli:entity", + "entity": "species:cruncher", + "scale": 0.7, + "name": "Кусач", + "text": "$(thing)Кусачи$() — это территориальные хищники, похожие на $(item)мини-боссов$(). Кормите их мясом, чтобы остановить их регенерацию. Их также можно употреблять в пищу." + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:soarer", + "scale": 0.4, + "offset": 1.0, + "name": "Пархатели", + "text": "$(thing)Пархатели$() - это пассивные животные, обитающие при температуре выше -106°C. Их можно приручить с помощью $(item)Сырой рыбы$(), чтобы использовать в качестве летающего ездового животного. Их также можно употреблять в пищу." + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:glider", + "scale": 0.4, + "offset": 0.2, + "name": "Глайдер", + "text": "Несмотря на своё название, $(thing)Глайдеров$() нельзя приручить или оседлать. Они пассивны и живут в местах с температурой выше -105°C. Им нравится музыка, и их можно съесть." + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:crusher", + "scale": 0.5, + "offset": 0.5, + "name": "Крушитель", + "text": "$(thing)Крушители$() - это полуагрессивные животные, обитающие стадами в районах с температурой выше -100°C. Их можно убить ради мяса и твердых шипов." + }, + { + "type": "patchouli:entity", + "entity": "species:springling", + "scale": 0.9, + "name": "Долгошей", + "text": "$(thing)Долгошеи$() — это дикие животные, обитающие при температуре выше -108°C. Кормление их $(item)Саженцами$() позволит вам ездить на них верхом и удлинять их невероятно длинные шеи. Их также можно употреблять в пищу." + }, + { + "type": "patchouli:entity", + "entity": "species:goober", + "scale": 0.6, + "name": "Слюпик", + "text": "$(thing)Слюпики$() Это ленивые дикие животные, обитающие при температуре выше -109°C. Они пассивны и могут быть съедены." + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:walker", + "scale": 0.6, + "offset": 2.2, + "name": "Ходуны", + "text": "Гигантские $(thing)Ходуны$() обитают в районах с температурой выше -97°C. Они пассивны и могут быть съедены." + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:toxlacanth", + "scale": 0.35, + "name": "Токслакант", + "text": "$(thing)Токслаканты$() - это водные кормовые животные. Рекомендуется убивать их с расстояния и готовить мясо перед употреблением в пищу." + }, + { + "type": "patchouli:entity", + "entity": "species:stackatick", + "scale": 0.4, + "name": "Жук-перевозчик", + "text": "Одни из немногих животных, способных выжить в марсианской пустыне, $(thing)Жуки-перевозчик$() — это пассивные кормовые животные. Их также можно употреблять в пищу." + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/blast_furnace_tips.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/blast_furnace_tips.json index c819c3318..51b7c01c4 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/blast_furnace_tips.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/blast_furnace_tips.json @@ -11,7 +11,7 @@ }, { "type": "patchouli:spotlight", - "item": "gtceu:compressed_fireclay", + "item": "tfc:ceramic/unfired_fire_brick", "text": "Перед тим, як ви використаєте всю свою вогнетривку глину на 20 цеглин, зауважте, що як тільки ви потрапите в парову епоху, ви зможете створювати цеглини лише з глини за допомогою $(item)Пресованої Вогнетривкої Глини$() (вам знадобляться парові машини для отримання глиняного пилу). Це дозволить вам зберегти $(item)Каолініт$() та $(item)Графіт$() для $(thing)Ливарного столу$()." }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/blast_furnace_tips.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/blast_furnace_tips.json index 69ac4a0e3..db271a973 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/blast_furnace_tips.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/blast_furnace_tips.json @@ -11,7 +11,7 @@ }, { "type": "patchouli:spotlight", - "item": "gtceu:compressed_fireclay", + "item": "tfc:ceramic/unfired_fire_brick", "text": "在将耐火黏土全部用于制作20块耐火砖前,请注意:进入蒸汽时代后,你就能以低得多的成本制作它。这能让你节省$(item)高岭土$()与$(item)石墨$()用于制作$(thing)铸造台$()。" }, { From 588eaf8940b27c52b6539aef270323a7cbe4f0f5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 6 Jan 2026 20:28:53 +0000 Subject: [PATCH 023/474] removing this reflector block recipe because people keep getting tripped up on it --- kubejs/server_scripts/tfg/machines/recipes.casings.js | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/kubejs/server_scripts/tfg/machines/recipes.casings.js b/kubejs/server_scripts/tfg/machines/recipes.casings.js index ecdc8cdaa..b240e469f 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.casings.js +++ b/kubejs/server_scripts/tfg/machines/recipes.casings.js @@ -97,16 +97,6 @@ function registerTFGCasingRecipes(event) { .itemOutputs('1x tfg:reflector') .circuit(6) .duration(20 * (60)) - .EUt(GTValues.VH[GTValues.HV]) - - event.recipes.gtceu.assembler('tfg:reflector_from_inr') - .itemInputs( - '1x gtceu:neutron_reflector', - ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.BlackSteel, 1) - ) - .itemOutputs('2x tfg:reflector') - .circuit(9) - .duration(20 * (20)) .EUt(GTValues.VH[GTValues.MV]) event.recipes.gtceu.assembler('tfg:reflector_from_certus') From 9603f2a2e88bf3d3f97d66d02464253c53591824 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Wed, 7 Jan 2026 03:26:37 +0500 Subject: [PATCH 024/474] Update server-icon.png --- .pakku/server-overrides/server-icon.png | Bin 4394 -> 1223 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.pakku/server-overrides/server-icon.png b/.pakku/server-overrides/server-icon.png index 70526d94a300c150f35c445ef8f656e8ca06686d..65a3a78aad7efd4fa8363210edc03eec7c0e2f91 100644 GIT binary patch literal 1223 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANMUeV#6kArY-_r}^fDgo+%m z|Gw9JX|Pwu(#!mb6T-Aq)sk|Uj%{!{+|+VRV_7G!p`lQ3S#}D$w~(2hmrswLNzDxb z=M~)hl@78@n8g*sd&K121D@70D}$wHN;2*rFD-n2cjom<=BvGW7AH^deLtuA-v9sS z_CCME-2cR0>|_3%XXbL#F79JHaqsFbYvt}WGi`tL@86!ouDLYj{KZX5*8F?-#9`so1G#mSkJ6!(Tr}9o$67fHOSt6gSfqBoq&zuZw zZxRK~MSb?9+>X7jU4H$mSA-i&THL>wZF6p|j+@lF>EYjCEiQ+`qP`d0WfuZdu6(%J z&e-$4=eml+DX$M#AL&186tvj;yy45?V^3vz{2j~~i~O1|zZQ6#y`n5Hn)g7XdihDO z($pV}YoZ>+=UJ%y_NxmB6Zy2^T8pV}!Jq1im2oeNe`Y=Z#%gQ3E9IRQ z%SttVl} zX3q(p{98{+%(CtTm$__AZdoa`gzDA>U z)}LqDFIqF+Px^cAZtF_X16>Q^7;f%b^)unaN2cm4%Xfsk zYBe9PO;|6udJ`+hj|Wplb$zBa#p(7MD?VU&eqzJ?+7jK61*(-mV z?|UO5dBpy)`meSZER&X&&-duR>m#+H)w7G|tCQf4Cw**>7HmJTfAe9LNay#>%vEoS z%q}LI7vJ+r;GP_I;X&AmHtB$UO6+eECmI+1@Sm>u<#>4yPu6ndT4%-&UNfgjo{Q$R zx|7FnOe6NRpz!rIb}Wa~1=zn$KlS+92{X$rsm9{R#ZOjf8A&eKdT8TSgDt!Y>Q|55 zGcev#DSPMTmk%=S9jS&B|8Orpm$If}VOJyLDoc-WjrwiwM|WRWvrt}cQZZwTR2!Rr zBxl}?tfyNR=AAjV^{h_J`6L(Rg%4&q%;*t4*F8nYz^yH$(@Aw=&vV1~w|Zs^n{ZF& z+dg|P^ZG|?qR+;jSDAmt$b8n5Wf}(4?87&I7Ftkc^1m+b)<&E3yvcGGT2}Sdxq2^F zO5eTeb7qJ6#ti*Q^MigGdNVSw@~ib_S}==ce__vTHs)^|K3o>QaDbtHTG8$4$IgjK z-3t5o`sn?w?@l=%FlCJYle0qQ;pxQpRR=ci6`6SKoY<$6I>90v776Co2i(XOidbip sJRSFdN@CH>Rny_nMv1_lNOPgg&ebxsLQ0KO?qQ~&?~ literal 4394 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 From c2503e6b0f9cef02cfe6a0f660e0e9a93fc6929a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 7 Jan 2026 00:27:44 +0000 Subject: [PATCH 025/474] update russian field guide ores + langs --- .../entries/tfg_ores/mars_ore_index.json | 6 +- .../entries/tfg_ores/mars_vein_index.json | 4 +- .../entries/tfg_ores/mars_ore_index.json | 6 +- .../entries/tfg_ores/mars_vein_index.json | 4 +- .../entries/tfg_ores/mars_ore_index.json | 8 +- .../entries/tfg_ores/mars_vein_index.json | 4 +- .../entries/tfg_ores/earth_ore_index.json | 6 +- .../entries/tfg_ores/earth_vein_index.json | 132 +- .../entries/tfg_ores/mars_ore_index.json | 14 +- .../entries/tfg_ores/mars_vein_index.json | 2626 ++++++++--------- .../entries/tfg_ores/moon_ore_index.json | 6 +- .../entries/tfg_ores/moon_vein_index.json | 76 +- .../entries/tfg_ores/nether_ore_index.json | 6 +- .../entries/tfg_ores/nether_vein_index.json | 26 +- .../entries/tfg_ores/venus_ore_index.json | 8 +- .../entries/tfg_ores/venus_vein_index.json | 14 +- .../entries/tfg_ores/mars_ore_index.json | 6 +- .../entries/tfg_ores/mars_vein_index.json | 4 +- .../entries/tfg_ores/mars_ore_index.json | 6 +- .../entries/tfg_ores/mars_vein_index.json | 4 +- kubejs/assets/tfg/lang/en_us.json | 2 +- kubejs/assets/tfg/lang/fr_fr.json | 2 +- kubejs/assets/tfg/lang/pt_br.json | 2 +- kubejs/assets/tfg/lang/ru_ru.json | 275 +- kubejs/assets/tfg/lang/uk_ua.json | 2 +- kubejs/assets/tfg/lang/zh_cn.json | 2 +- .../{mars_sapphire.json => mars_gold.json} | 2 +- .../{mars_sapphire.json => mars_gold.json} | 2 +- kubejs/server_scripts/tfg/tags.veins.js | 2 +- 29 files changed, 1660 insertions(+), 1597 deletions(-) rename kubejs/data/tfg/worldgen/configured_feature/mars/vein/{mars_sapphire.json => mars_gold.json} (99%) rename kubejs/data/tfg/worldgen/placed_feature/mars/vein/{mars_sapphire.json => mars_gold.json} (69%) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_ore_index.json index b0b52328e..77f69f3df 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_ore_index.json @@ -14,17 +14,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)Almandine: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Apatite: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Asbestos: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Barite: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Bauxite: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)Beryllium: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Bornite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Calcite: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Cassiterite: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Chalcopyrite: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Chromite: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)Coal: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()", + "text": "$(li)Almandine: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Apatite: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Asbestos: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Barite: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Bauxite: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Beryllium: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Bornite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Calcite: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Cassiterite: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Chalcopyrite: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Chromite: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)Coal: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Cobaltite: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Cooperite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)Diamond: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Electrotine: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)Emerald: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Galena: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Garnierite: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Glauconite Sand: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Goethite: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Graphite: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Green Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)Grossular: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Gypsum: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Hematite: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()", + "text": "$(li)Cobaltite: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Cooperite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)Diamond: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Electrotine: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Emerald: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Galena: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Garnierite: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Glauconite Sand: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Goethite: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Graphite: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Green Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Grossular: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Gypsum: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Hematite: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Lapis: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Monazite: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Native Copper: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Native Gold: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Neodymium: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Nickel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Platinum: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()", + "text": "$(li)Lapis: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Monazite: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Native Copper: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Native Gold: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Neodymium: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Nickel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Platinum: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json index 3ad04def8..e5a623495 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Almandine & Sapphire$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Apatite & Pyrochlore$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Bastnasite & Monazite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Bismuth$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Bornite & Cooperite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)Cassiterite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)Coal & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)Copper & Chalcopyrite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)Emerald & Beryllium$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)Garnierite & Cobaltite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sapphire)Gold, Electrotine, & Bauxite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)Graphite & Diamond$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)Hematite & Limonite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Hematite & Limonite$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Almandine & Sapphire$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Apatite & Pyrochlore$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Bastnasite & Monazite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Bismuth$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Bornite & Cooperite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)Cassiterite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)Coal & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)Copper & Chalcopyrite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)Emerald & Beryllium$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)Garnierite & Cobaltite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_gold)Gold, Electrotine, & Bauxite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)Graphite & Diamond$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)Hematite & Limonite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Hematite & Limonite$()$()", "type": "patchouli:text" }, { @@ -877,7 +877,7 @@ "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Diorite, Gabbro, Granite, Shale", "title": "Gold, Electrotine, & Bauxite", "type": "patchouli:text", - "anchor": "mars_sapphire" + "anchor": "mars_gold" }, { "Type": "patchouli:multiblock", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_ore_index.json index b0b52328e..77f69f3df 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_ore_index.json @@ -14,17 +14,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)Almandine: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Apatite: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Asbestos: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Barite: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Bauxite: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)Beryllium: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Bornite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Calcite: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Cassiterite: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Chalcopyrite: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Chromite: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)Coal: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()", + "text": "$(li)Almandine: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Apatite: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Asbestos: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Barite: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Bauxite: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Beryllium: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Bornite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Calcite: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Cassiterite: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Chalcopyrite: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Chromite: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)Coal: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Cobaltite: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Cooperite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)Diamond: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Electrotine: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)Emerald: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Galena: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Garnierite: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Glauconite Sand: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Goethite: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Graphite: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Green Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)Grossular: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Gypsum: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Hematite: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()", + "text": "$(li)Cobaltite: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Cooperite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)Diamond: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Electrotine: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Emerald: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Galena: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Garnierite: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Glauconite Sand: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Goethite: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Graphite: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Green Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Grossular: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Gypsum: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Hematite: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Lapis: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Monazite: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Native Copper: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Native Gold: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Neodymium: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Nickel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Platinum: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()", + "text": "$(li)Lapis: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Monazite: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Native Copper: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Native Gold: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Neodymium: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Nickel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Platinum: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json index 3ad04def8..e5a623495 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Almandine & Sapphire$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Apatite & Pyrochlore$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Bastnasite & Monazite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Bismuth$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Bornite & Cooperite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)Cassiterite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)Coal & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)Copper & Chalcopyrite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)Emerald & Beryllium$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)Garnierite & Cobaltite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sapphire)Gold, Electrotine, & Bauxite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)Graphite & Diamond$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)Hematite & Limonite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Hematite & Limonite$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Almandine & Sapphire$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Apatite & Pyrochlore$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Bastnasite & Monazite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Bismuth$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Bornite & Cooperite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)Cassiterite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)Coal & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)Copper & Chalcopyrite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)Emerald & Beryllium$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)Garnierite & Cobaltite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_gold)Gold, Electrotine, & Bauxite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)Graphite & Diamond$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)Hematite & Limonite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Hematite & Limonite$()$()", "type": "patchouli:text" }, { @@ -877,7 +877,7 @@ "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Diorite, Gabbro, Granite, Shale", "title": "Gold, Electrotine, & Bauxite", "type": "patchouli:text", - "anchor": "mars_sapphire" + "anchor": "mars_gold" }, { "Type": "patchouli:multiblock", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json index 8f5701118..7424f3006 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json @@ -14,12 +14,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Almandina: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Amianto: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Apatita: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Areia Glauconita: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Barita: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Bastnasita: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Bauxita: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)Berílio: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Bismuto: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Bornita: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Calcita: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Calcopirita: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Carvão: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)Cassiterita: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()", + "text": "$(li)Almandina: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Amianto: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Apatita: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Areia Glauconita: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Barita: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Bastnasita: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Bauxita: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Berílio: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Bismuto: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Bornita: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Calcita: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Calcopirita: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Carvão: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)Cassiterita: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Chumbo: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Cobaltita: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Cobre Nativo: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Cooperita: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)Cromita: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)Diamante: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Eletrotina: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)Enxofre: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Esfalerita: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Esmeralda: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Espessartita: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Espodumena: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Estanho: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Estibnita: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()", + "text": "$(li)Chumbo: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Cobaltita: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Cobre Nativo: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Cooperita: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)Cromita: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)Diamante: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Eletrotina: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Enxofre: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Esfalerita: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Esmeralda: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Espessartita: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Espodumena: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Estanho: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Estibnita: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()", "type": "patchouli:text" }, { @@ -29,12 +29,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Neodímio: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Níquel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Ouro Nativo: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Pechblenda: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Pedra-sabão: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Pentlandita: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pirita: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Pirocloro: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Piropo: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Platina: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Quartzito: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Realgar: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()", + "text": "$(li)Neodímio: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Níquel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Ouro Nativo: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Pechblenda: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Pedra-sabão: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Pentlandita: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pirita: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Pirocloro: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Piropo: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Platina: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Quartzito: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Realgar: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Redstone: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Rubi: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Safira: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)Sal: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Salitre: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Sheelita: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Sodalita: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Talco: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalita: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Torianita: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()", + "text": "$(li)Redstone: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Rubi: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Safira: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Sal: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Salitre: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Sheelita: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Sodalita: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Talco: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalita: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Torianita: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json index 3e1622d89..cd7e1c872 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Almandine & Sapphire$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Apatita e Pirocloro$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Bastnasita e Monazita$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Bismuto$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Bornite & Cooperite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)Cassiterita$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)Coal & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)Cobre e Calcopirita$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Esfalerita e Pirita$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)Esmeralda e Berílio$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)Garnierita e Cobaltita$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sapphire)Gold, Electrotine, & Bauxite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)Grafite e Diamante$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)Hematita e Limonita$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Almandine & Sapphire$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Apatita e Pirocloro$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Bastnasita e Monazita$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Bismuto$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Bornite & Cooperite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)Cassiterita$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)Coal & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)Cobre e Calcopirita$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Esfalerita e Pirita$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)Esmeralda e Berílio$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)Garnierita e Cobaltita$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_gold)Gold, Electrotine, & Bauxite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)Grafite e Diamante$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)Hematita e Limonita$()$()", "type": "patchouli:text" }, { @@ -969,7 +969,7 @@ "text": "$(thing)Raridade$(): 230$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilito, Cherte, Diorito, Folhelho, Gabro, Giz, Granito", "title": "Gold, Electrotine, & Bauxite", "type": "patchouli:text", - "anchor": "mars_sapphire" + "anchor": "mars_gold" }, { "Type": "patchouli:multiblock", 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 b42b33036..45e775a3e 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 @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Индекс руд Земли", + "name": "Каталог руд Земли", "icon": "tfc:ore/normal_native_copper", "category": "tfc:tfg_ores", "read_by_default": true, @@ -8,8 +8,8 @@ "pages": [ { "Type": "patchouli:text", - "text": "Это $(thing)индекс руд$()$(thing)на Земле$(). Все руды отсортированы в алфавитном порядке, а затем по типу жил — от самых богатых к самым бедным. Вы можете нажать на любую из них, чтобы узнать больше информации о каждой жиле.", - "title": "Индекс руд Марса", + "text": "Это $(thing)Каталог руд$()$(thing)на Земле$(). Все руды отсортированы в алфавитном порядке, а затем по типу жил — от самых богатых к самым бедным. Вы можете нажать на любую из них, чтобы узнать больше информации о каждой жиле.", + "title": "Каталог руд Земли", "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 e849b8e9c..7882f360a 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 @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Индекс жил Земли", + "name": "Каталог жил Земли", "icon": "tfc:ore/normal_native_copper/chalk", "category": "tfc:tfg_ores", "read_by_default": true, @@ -8,8 +8,8 @@ "pages": [ { "Type": "patchouli:text", - "text": "Это $(thing)индекс жил$()$(thing)на Земле$(). Все руды отсортированы в алфавитном порядке, а затем по типу жил — от самых богатых к самым бедным. Вы можете нажать на любую из них, чтобы узнать больше информации о каждой жиле.", - "title": "Индекс жил Земли", + "text": "Это $(thing)Каталог жил$() для $(thing)Земли$(). Для каждой жилы имеется подробная информация о ее редкости, плотности, виде, высоте, размерах, типах камней, в которых она встречается, и многом другом.", + "title": "Каталог жил Земли", "type": "patchouli:text" }, { @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 26$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аспидный сланец, Гнейс, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 26$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аспидный сланец, Гнейс, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец, Филлит, Шиферный сланец", "title": "Аметист и гранат", "type": "patchouli:text", "anchor": "deep_garnet_amethyst" @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Размер$(): 34$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Размер$(): 34$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Апатит и Пирохлор", "type": "patchouli:text", "anchor": "normal_apatite" @@ -198,7 +198,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 205$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 50$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 205$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 50$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Бастнезит и Монацит", "type": "patchouli:text", "anchor": "normal_monazite" @@ -265,7 +265,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 30$(br)$(thing)Размер$(): 26$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 30$(br)$(thing)Размер$(): 26$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Бентонит и Оливин", "type": "patchouli:text", "anchor": "normal_olivine" @@ -357,7 +357,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Висмут (Обычный)", "type": "patchouli:text", "anchor": "normal_bismuthinite" @@ -399,7 +399,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 11%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): Pb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 11%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): Pb$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Слабо ядовитый (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -449,7 +449,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Висмут (Поверхностный)", "type": "patchouli:text", "anchor": "surface_bismuthinite" @@ -511,7 +511,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 7%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): Pb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 7%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): Pb$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Слабо ядовитый (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -541,7 +541,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 245$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 10$(br)$(thing)Размер$(): 26$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 245$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 10$(br)$(thing)Размер$(): 26$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Вульфенит & Молибденит", "type": "patchouli:text", "anchor": "deep_molybdenum" @@ -608,7 +608,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 70$(br2)$(thing)Виды камней$(): Габбро, Диорит$(br2)Не получается найти это? Габбро всегда генерируется под $(thing)Базальтом$(), а на дне океана легко обнаружить столбы, ведущие к нижнему слою!", + "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 70$(br2)$(thing)Виды камней$(): Габбро, Диорит$(br2)Не получается найти это? Габбро всегда генерируется под $(thing)Базальтом$(), а на дне океана легко обнаружить столбы, ведущие к нижнему слою!", "title": "Гарниерит и Кобальтит", "type": "patchouli:text", "anchor": "normal_garnierite" @@ -670,7 +670,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Arsenicosis (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -715,7 +715,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "normal_hematite" @@ -807,7 +807,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Гематит, Гётит, Рубин", "type": "patchouli:text", "anchor": "deep_hematite" @@ -914,7 +914,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 240$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 32$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Известняк, Мрамор", + "text": "$(thing)Редкость$(): 240$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 32$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Известняк, Мрамор", "title": "Гётит и Малахит", "type": "patchouli:text", "anchor": "deep_limonite" @@ -1006,7 +1006,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Гипс и Кальцит", "type": "patchouli:text", "anchor": "normal_gypsum" @@ -1098,7 +1098,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 270$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 64$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 270$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 64$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", "title": "Гранатовый и Касситеритовый песок", "type": "patchouli:text", "anchor": "normal_garnet_tin" @@ -1160,7 +1160,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₂H₄O₉$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Asbestosis (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₂H₄O₉$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Асбестоз (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1190,7 +1190,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 80$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — -16$(br)$(thing)Размер$(): 16$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 80$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — -16$(br)$(thing)Размер$(): 16$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", "title": "Графит и Алмаз", "type": "patchouli:text", "anchor": "normal_graphite" @@ -1257,7 +1257,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 32$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 32$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Золото (Глубокое)", "type": "patchouli:text", "anchor": "deep_gold" @@ -1349,7 +1349,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 12$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 12$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Золото, Лимонит и Гематит", "type": "patchouli:text", "anchor": "normal_gold" @@ -1441,7 +1441,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): -32 — 50$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): -32 — 50$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -1483,7 +1483,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Эндер-жемчуг$(br)$(thing)Формула$(): Be$(br)$(thing)Ядовит$(): $(c)$(t:Requires Rubber Gloves)Berylliosis (Skin Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Эндер-жемчуг$(br)$(thing)Формула$(): Be$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Беррилиоз (Контакт с кожей)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1503,12 +1503,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Торианит$(br)$(thing)Формула$(): Th", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Касситерит (Обычный)", "type": "patchouli:text", "anchor": "normal_cassiterite" @@ -1575,7 +1575,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 135$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 135$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Касситерит (Поверхностный)", "type": "patchouli:text", "anchor": "surface_cassiterite" @@ -1642,7 +1642,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 100$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Сланец", + "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 100$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Сланец", "title": "Кварцы", "type": "patchouli:text", "anchor": "normal_quartz" @@ -1704,12 +1704,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 18%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₂H₄O₉$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Asbestosis (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 18%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₂H₄O₉$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Асбестоз (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -60 — 10$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -60 — 10$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Лазурит, Лазурит 2 и Содалит", "type": "patchouli:text", "anchor": "normal_lapis" @@ -1801,7 +1801,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Известняк, Мрамор", + "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Известняк, Мрамор", "title": "Лимонит", "type": "patchouli:text", "anchor": "normal_limonite" @@ -1893,7 +1893,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Магнетит и Ванадий", "type": "patchouli:text", "anchor": "normal_magnetite" @@ -1975,7 +1975,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Хромит$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Requires Rubber Gloves)Irritant (Skin Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Хромит$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Раздражитель (Контакт с кожей)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1985,7 +1985,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 195$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Риолит, Сланец", + "text": "$(thing)Редкость$(): 195$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Риолит, Сланец", "title": "Марганец и Тантал", "type": "patchouli:text", "anchor": "normal_manganese" @@ -2077,7 +2077,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 85$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 85$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Медь и Халькопирит", "type": "patchouli:text", "anchor": "normal_copper" @@ -2169,7 +2169,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 48$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Базальт, Гранит", + "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 48$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Базальт, Гранит", "title": "Минеральные пески", "type": "patchouli:text", "anchor": "normal_basaltic_sands" @@ -2261,7 +2261,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 56$(br)$(thing)Размер$(): 36$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 56$(br)$(thing)Размер$(): 36$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Мыльный камень, Тальк и Трона", "type": "patchouli:text", "anchor": "normal_lubricant" @@ -2368,7 +2368,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 185$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 185$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Нефтеносный песок", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -2395,7 +2395,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 62$(br)$(thing)Размер$(): 26$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 62$(br)$(thing)Размер$(): 26$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Опал и гранат", "type": "patchouli:text", "anchor": "deep_garnet_opal" @@ -2487,7 +2487,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 100$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Гранит$(br2)Не получается найти это? На дне океана легко увидеть красное свечение!", + "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 100$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Гранит$(br2)Не получается найти это? На дне океана легко увидеть красное свечение!", "title": "Редстоун, Киноварь и Рубин", "type": "patchouli:text", "anchor": "normal_redstone" @@ -2554,7 +2554,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 32$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 32$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Диорит, Риолит", "title": "Сапфир и Альмандин", "type": "patchouli:text", "anchor": "deep_sapphire" @@ -2646,7 +2646,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Селитра и Электротин", "type": "patchouli:text", "anchor": "normal_saltpeter" @@ -2738,7 +2738,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 165$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 165$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Сера и Пирит", "type": "patchouli:text", "anchor": "normal_sulfur" @@ -2805,7 +2805,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Гнейс, Гранит", + "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Гнейс, Гранит", "title": "Серебро, Галена и Свинец", "type": "patchouli:text", "anchor": "normal_silver" @@ -2827,7 +2827,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 55%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): Pb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 55%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): Pb$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Слабо ядовитый (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2847,7 +2847,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): PbS$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): PbS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Слабо ядовитый (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2872,7 +2872,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 175$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 30 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 4$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Известняк, Сланец", + "text": "$(thing)Редкость$(): 175$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 30 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 4$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Известняк, Сланец", "title": "Соли и Бура", "type": "patchouli:text", "anchor": "normal_salt" @@ -2964,7 +2964,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.375$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 20 — 60$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.375$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 20 — 60$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Сподумен и Лепидолит", "type": "patchouli:text", "anchor": "normal_spodumene" @@ -3056,7 +3056,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", "title": "Сфалерит & Пирит", "type": "patchouli:text", "anchor": "normal_sphalerite" @@ -3123,7 +3123,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 145$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 145$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", "title": "Сфалерит и Сера", "type": "patchouli:text", "anchor": "surface_sphalerite" @@ -3190,7 +3190,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", "title": "Таркианит и Нефтеносный песок", "type": "patchouli:text", "anchor": "normal_tarkianite" @@ -3282,7 +3282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Тетраэдрит (обычный)", "type": "patchouli:text", "anchor": "normal_tetrahedrite" @@ -3349,7 +3349,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Тетраэдрит (Поверхностный)", "type": "patchouli:text", "anchor": "surface_tetrahedrite" @@ -3416,7 +3416,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 26$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 7$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 26$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 7$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Топаз и Халькозин", "type": "patchouli:text", "anchor": "deep_topaz" @@ -3508,7 +3508,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.55$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.55$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Уголь", "type": "patchouli:text", "anchor": "normal_coal" @@ -3535,7 +3535,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 240$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — -20$(br)$(thing)Размер$(): 19$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 240$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — -20$(br)$(thing)Размер$(): 19$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Уранинит и Уранит", "type": "patchouli:text", "anchor": "deep_pitchblende" @@ -3557,7 +3557,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 62%$(br)$(thing)Хромит$(): Уран, Торианит, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 62%$(br)$(thing)Хромит$(): Уран, Торий, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Канцерогенный (При любом контакте)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -3577,7 +3577,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Уран$(br)$(thing)Формула$(): UO₂$(br)$(thing)Ядовит$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Уран$(br)$(thing)Формула$(): UO₂$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Канцерогенный (При любом контакте)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -3602,7 +3602,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 217$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 217$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Халькопирит и Реальгар", "type": "patchouli:text", "anchor": "surface_copper" @@ -3664,7 +3664,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Хромит$(): Мышьяк$(br)$(thing)Формула$(): As₄S₄$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Arsenicosis (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Хромит$(): Мышьяк$(br)$(thing)Формула$(): As₄S₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -3694,7 +3694,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 225$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец", + "text": "$(thing)Редкость$(): 225$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец", "title": "Хромит и Магнетит", "type": "patchouli:text", "anchor": "deep_magnetite" @@ -3716,7 +3716,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Хромит$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Requires Rubber Gloves)Irritant (Skin Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Хромит$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Раздражитель (Контакт с кожей)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -3801,7 +3801,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 36$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 36$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Ционит, Слюда и Боксит", "type": "patchouli:text", "anchor": "normal_mica" @@ -3893,7 +3893,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 240$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 0$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 240$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 0$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Шеелит и Вольфрамат", "type": "patchouli:text", "anchor": "deep_scheelite" @@ -3960,7 +3960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 320$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 0$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 320$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 0$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Шелдонит и Борнит", "type": "patchouli:text", "anchor": "deep_sheldonite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json index 3bac31a55..79da86b26 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Индекс руд Марса", + "name": "Каталог руд Марса", "icon": "tfc:ore/normal_hematite", "category": "tfc:tfg_ores", "read_by_default": true, @@ -8,18 +8,18 @@ "pages": [ { "Type": "patchouli:text", - "text": "Это $(thing)индекс руд$()$(thing)на Марсе$(). Все руды отсортированы в алфавитном порядке, а затем по типу жил — от самых богатых к самым бедным. Вы можете нажать на любую из них, чтобы узнать больше информации о каждой жиле.", - "title": "Индекс руд Марса", + "text": "Это $(thing)Каталог руд$()$(thing)на Земле$(). Все руды отсортированы в алфавитном порядке, а затем по типу жил — от самых богатых к самым бедным. Вы можете нажать на любую из них, чтобы узнать больше информации о каждой жиле.", + "title": "Каталог руд Марса", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Алмаз: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Альмандин: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Апатит: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Асбест: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Барит: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Бастнезит: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Бериллий: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Боксит: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)Борнит: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Висмут: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Вольфрамат: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)Галена: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Гарниерит: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Гематит: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()", + "text": "$(li)Алмаз: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Альмандин: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Апатит: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Асбест: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Барит: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Бастнезит: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Бериллий: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Боксит: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Борнит: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Висмут: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Вольфрамат: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)Галена: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Гарниерит: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Гематит: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Гётит: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Гипс: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Глауконитовый песок: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Графит: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Жёлтый лимонит: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Зелёный сапфир: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)Изумруд: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Кальцит: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Каменная соль: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Касситерит: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Кварцит: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Лазурит: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()", + "text": "$(li)Гётит: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Гипс: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Глауконитовый песок: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Графит: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Жёлтый лимонит: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Зелёный сапфир: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Изумруд: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Кальцит: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Каменная соль: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Касситерит: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Кварцит: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Лазурит: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()", "type": "patchouli:text" }, { @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Реальгар: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Редстоун: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Рубин: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Самородная Золото: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Самородная Медь: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Самородная Серебро: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Сапфир: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Свинец: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Селитра: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Сера: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Содалит: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Соль: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Спасерит: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Сподумен: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()", + "text": "$(li)Реальгар: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Редстоун: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Рубин: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Самородная Золото: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Самородная Медь: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Самородная Серебро: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Сапфир: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Свинец: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Селитра: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Сера: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Содалит: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Соль: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Спасерит: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Сподумен: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()", "type": "patchouli:text" }, { @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Шелдонит: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)Электротин: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()", + "text": "$(li)Шелдонит: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)Электротин: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json index d55ebd87b..93306d325 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Индекс жил Марса", + "name": "Каталог жил Марса", "icon": "gtceu:mars_stone_hematite_ore", "category": "tfc:tfg_ores", "read_by_default": true, @@ -8,18 +8,18 @@ "pages": [ { "Type": "patchouli:text", - "text": "Это $(thing)индекс жил$()$(thing)на Марсе$(). Все руды отсортированы в алфавитном порядке, а затем по типу жил — от самых богатых к самым бедным. Вы можете нажать на любую из них, чтобы узнать больше информации о каждой жиле.", - "title": "Индекс жил Марса", + "text": "Это $(thing)Каталог жил$() для $(thing)Марс$(). Для каждой жилы имеется подробная информация о ее редкости, плотности, виде, высоте, размерах, типах камней, в которых она встречается, и многом другом.", + "title": "Каталог жил Марса", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Альмадин и Сапфиры$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Борнит и Куперит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)Уголь и Гематит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sapphire)Золото, Электротин и Боксит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Уранит, Торианит и Гематит$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Уранинит, Торианит и Уранит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Кварцит, Асбест и Барит$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Редстоун и Хром$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Соли и Сподумен$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Сфалерит и Галена$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Трона, Тальк и Глаукониты$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Апатит и Пирохлор$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Бастнезит и Монацит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Висмут$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Альмандин & Сапфир$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Апатит и Пирохлор$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Бастнезит и Монацит$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Борнит & Куперит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Висмут$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)Гарниерит и Кобальтит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)Гематит и Лимонит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Гематит и Лимонит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)Графит и Алмаз$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_gold)Золото, Электротин & Боксит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)Изумруд и Бериллий$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)Касситерит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Кварцит, Асбест & Барит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)Лазурит, Лазурит 2 и Содалит$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)Гарниерит и Кобальтит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)Гематит и Лимонит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Гематит и Лимонит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)Графит и Алмаз$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)Изумруд и Бериллий$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)Касситерит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)Лазурит, Лазурит 2 и Содалит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Марганец и Тантал$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)Медь и Халькопирит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Серебро, Галена и Свинец$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Сфалерит & Пирит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Тетраэдрит (обычный)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Тетраэдрит (Поверхностный)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Шеелит и Вольфрамат$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Марганец и Тантал$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)Медь и Халькопирит$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Редстоун & Хром$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Серебро, Галена и Свинец$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Соли & Сподумен$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Сфалерит & Галена$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Сфалерит & Пирит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Тетраэдрит (обычный)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Тетраэдрит (Поверхностный)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Трона, Тальк & Глаукониты$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)Уголь & Гематит$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Уранинит, Торианит, & Уранит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Уранит, Торий & Гематит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Шеелит и Вольфрамат$()$()", "type": "patchouli:text" }, { @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 65$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Габбро, Диорит, Доломит, Известняк, Кремнистый сланец, Сланец, Трахит", + "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 65$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Габбро, Диорит, Доломит, Известняк, Кремнистый сланец, Сланец, Трахит", "title": "Альмандин & Сапфир", "type": "patchouli:text", "anchor": "mars_almandine" @@ -136,7 +136,191 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 370$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Базальт, Дацит, Диорит, Конгломерат, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Дацит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "title": "Апатит и Пирохлор", + "type": "patchouli:text", + "anchor": "mars_apatite" + }, + { + "Type": "patchouli:multiblock", + "name": "Апатит", + "multiblock": { + "mapping": { + "0": "#forge:ores/apatite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 47%$(br)$(thing)Хромит$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₅(PO₄)₃Cl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Трикальцийфосфат", + "multiblock": { + "mapping": { + "0": "#forge:ores/tricalcium_phosphate" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Хромит$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₃(PO₄)₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Пирохлор", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrochlore" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 14%$(br)$(thing)Хромит$(): Ниобий$(br)$(thing)Формула$(): Ca₂Nb₂O₇", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Гематит", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Диорит, Доломит, Кремнистый сланец, Мел, Трахит", + "title": "Бастнезит и Монацит", + "type": "patchouli:text", + "anchor": "mars_neodynium" + }, + { + "Type": "patchouli:multiblock", + "name": "Бастнезит", + "multiblock": { + "mapping": { + "0": "#forge:ores/bastnasite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 58%$(br)$(thing)Хромит$(): Церий, Фтор$(br)$(thing)Формула$(): CeCFO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Монацит", + "multiblock": { + "mapping": { + "0": "#forge:ores/monazite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 29%$(br)$(thing)Хромит$(): Фосфор, Редкая земля$(br)$(thing)Формула$(): ?(PO₄)", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Неодим", + "multiblock": { + "mapping": { + "0": "#forge:ores/neodymium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Хромит$(): Неодим$(br)$(thing)Формула$(): Nd", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Гематит", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 370$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Дацит, Диорит, Конгломерат, Кремнистый сланец, Мел, Трахит", "title": "Борнит & Куперит", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -228,17 +412,17 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.6$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикаторов$(): 10$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Диорит, Доломит, Конгломерат, Мел, Трахит", - "title": "Уголь & Гематит", + "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "title": "Висмут", "type": "patchouli:text", - "anchor": "mars_coal" + "anchor": "mars_surface_bismuthinite" }, { "Type": "patchouli:multiblock", - "name": "Уголь", + "name": "Висмут", "multiblock": { "mapping": { - "0": "#forge:ores/coal" + "0": "#forge:ores/bismuth" }, "pattern": [ [ @@ -250,7 +434,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 70%$(br)$(thing)Используется для$(): топливо, ректификация$(br)$(thing)Формула$(): C", + "text": "$(thing)Процент руды$(): 40%$(br)$(thing)Плавится в$(): Висмут$(br)$(thing)Формула$(): Bi", "type": "patchouli:multiblock" }, { @@ -270,7 +454,47 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Сера", + "multiblock": { + "mapping": { + "0": "#forge:ores/sulfur" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Сера$(br)$(thing)Формула$(): S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Гипс", + "multiblock": { + "mapping": { + "0": "#forge:ores/gypsum" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Алебастр (можно покрасить) и его кирпичи$(br)$(thing)Формула$(): CaS(H₂O)₂O₄", "type": "patchouli:multiblock" }, { @@ -280,10 +504,378 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Известняк, Мел, Сланец", + "title": "Гарниерит и Кобальтит", + "type": "patchouli:text", + "anchor": "mars_nickel" + }, + { + "Type": "patchouli:multiblock", + "name": "Гарниерит", + "multiblock": { + "mapping": { + "0": "#forge:ores/garnierite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Плавится в$(): Никель$(br)$(thing)Формула$(): NiO", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Никель", + "multiblock": { + "mapping": { + "0": "#forge:ores/nickel" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 28%$(br)$(thing)Плавится в$(): Никель$(br)$(thing)Формула$(): Ni", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Кобальтит", + "multiblock": { + "mapping": { + "0": "#forge:ores/cobaltite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 28%$(br)$(thing)Хромит$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Гематит", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 7%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат", + "title": "Гематит и Лимонит", + "type": "patchouli:text", + "anchor": "mars_hematite" + }, + { + "Type": "patchouli:multiblock", + "name": "Гематит", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Жёлтый лимонит", + "multiblock": { + "mapping": { + "0": "#forge:ores/yellow_limonite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Гётит", + "multiblock": { + "mapping": { + "0": "#forge:ores/goethite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Самородная Золото", + "multiblock": { + "mapping": { + "0": "#forge:ores/gold" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Плавится в$(): Золото$(br)$(thing)Формула$(): Au", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "title": "Гематит и Лимонит", + "type": "patchouli:text", + "anchor": "mars_surface_hematite" + }, + { + "Type": "patchouli:multiblock", + "name": "Гематит", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 55%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Жёлтый лимонит", + "multiblock": { + "mapping": { + "0": "#forge:ores/yellow_limonite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Самородная Золото", + "multiblock": { + "mapping": { + "0": "#forge:ores/gold" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Плавится в$(): Золото$(br)$(thing)Формула$(): Au", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Кальцит", + "multiblock": { + "mapping": { + "0": "#forge:ores/calcite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Хромит$(): Кальций$(br)$(thing)Формула$(): CaCO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Габбро, Гранит, Дацит, Диорит, Трахит", + "title": "Графит и Алмаз", + "type": "patchouli:text", + "anchor": "mars_graphite" + }, + { + "Type": "patchouli:multiblock", + "name": "Графит", + "multiblock": { + "mapping": { + "0": "#forge:ores/graphite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 45%$(br)$(thing)Используется для$(): $(l:mechanics/fire_clay)Огнеупорная глина$(), Графен$(br)$(thing)Формула$(): C", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Уголь", + "multiblock": { + "mapping": { + "0": "#forge:ores/coal" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): топливо, ректификация$(br)$(thing)Формула$(): C", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Алмаз", + "multiblock": { + "mapping": { + "0": "#forge:ores/diamond" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Измельчители, предметы из AE2$(br)$(thing)Формула$(): C", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Гематит", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Кремнистый сланец, Мел, Сланец", "title": "Золото, Электротин & Боксит", "type": "patchouli:text", - "anchor": "mars_sapphire" + "anchor": "mars_gold" }, { "Type": "patchouli:multiblock", @@ -372,17 +964,17 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.55$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Габбро, Дацит, Диорит, Доломит, Конгломерат, Сланец, Трахит", - "title": "Уранит, Торий & Гематит", + "text": "$(thing)Редкость$(): 350$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): -20 — 50$(br)$(thing)Высота$(): 40$(br)$(thing)Радиус$(): 8$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "title": "Изумруд и Бериллий", "type": "patchouli:text", - "anchor": "mars_pitchblende" + "anchor": "mars_beryllium" }, { "Type": "patchouli:multiblock", - "name": "Уранит", + "name": "Изумруд", "multiblock": { "mapping": { - "0": "#forge:ores/pitchblende" + "0": "#forge:ores/emerald" }, "pattern": [ [ @@ -394,15 +986,15 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 41%$(br)$(thing)Хромит$(): Уран, Торианит, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Используется для$(): компоненты уровня MV, Предметные фильтры (Тэг)$(br)$(thing)Формула$(): Be₃Al₂Si₆O₁₈", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Торианит", + "name": "Бериллий", "multiblock": { "mapping": { - "0": "#forge:ores/thorium" + "0": "#forge:ores/beryllium" }, "pattern": [ [ @@ -414,15 +1006,15 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 29%$(br)$(thing)Хромит$(): Торианит$(br)$(thing)Формула$(): Th", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Эндер-жемчуг$(br)$(thing)Формула$(): Be$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Беррилиоз (Контакт с кожей)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Гематит", + "name": "Реальгар", "multiblock": { "mapping": { - "0": "#forge:ores/hematite" + "0": "#forge:ores/realgar" }, "pattern": [ [ @@ -434,22 +1026,22 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 29%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Мышьяк$(br)$(thing)Формула$(): As₄S₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 370$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Габбро, Дацит, Диорит, Сланец, Трахит", - "title": "Уранинит, Торианит, & Уранит", + "text": "$(thing)Редкость$(): 135$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "title": "Касситерит", "type": "patchouli:text", - "anchor": "deep_mars_pitchblende" + "anchor": "mars_surface_cassiterite" }, { "Type": "patchouli:multiblock", - "name": "Уранит", + "name": "Касситерит", "multiblock": { "mapping": { - "0": "#forge:ores/pitchblende" + "0": "#forge:ores/cassiterite" }, "pattern": [ [ @@ -461,15 +1053,15 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 52%$(br)$(thing)Хромит$(): Уран, Торианит, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 55%$(br)$(thing)Плавится в$(): Олово$(br)$(thing)Формула$(): SnO₂", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Торианит", + "name": "Олово", "multiblock": { "mapping": { - "0": "#forge:ores/thorium" + "0": "#forge:ores/tin" }, "pattern": [ [ @@ -481,15 +1073,15 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 26%$(br)$(thing)Хромит$(): Торианит$(br)$(thing)Формула$(): Th", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Плавится в$(): Олово$(br)$(thing)Формула$(): Sn", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Уранинит", + "name": "Селитра", "multiblock": { "mapping": { - "0": "#forge:ores/uraninite" + "0": "#forge:ores/saltpeter" }, "pattern": [ [ @@ -501,12 +1093,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 21%$(br)$(thing)Хромит$(): Уран$(br)$(thing)Формула$(): UO₂$(br)$(thing)Ядовит$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Калий, Азот$(br)$(thing)Формула$(): KNO₃", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Гранит, Известняк, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Гранит, Известняк, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Кварцит, Асбест & Барит", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -568,7 +1160,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 17%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₂H₄O₉$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Asbestosis (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 17%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₂H₄O₉$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Асбестоз (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -598,7 +1190,283 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 370$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Известняк, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Кремнистый сланец, Мел, Сланец", + "title": "Лазурит, Лазурит 2 и Содалит", + "type": "patchouli:text", + "anchor": "mars_lapis" + }, + { + "Type": "patchouli:multiblock", + "name": "Лазурит", + "multiblock": { + "mapping": { + "0": "#forge:ores/lazurite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Алюминий, Кальций, Натрий$(br)$(thing)Формула$(): Al₆Si₆Ca₈Na₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Содалит", + "multiblock": { + "mapping": { + "0": "#forge:ores/sodalite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Алюминий, Натрий$(br)$(thing)Формула$(): Al₃Si₃Na₄Cl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Лазурит 2", + "multiblock": { + "mapping": { + "0": "#forge:ores/lapis" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Лазурит, Содалит, Пирит, Кальцит", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Кальцит", + "multiblock": { + "mapping": { + "0": "#forge:ores/calcite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Кальций$(br)$(thing)Формула$(): CaCO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 42$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Известняк, Кремнистый сланец, Мел, Сланец, Трахит", + "title": "Марганец и Тантал", + "type": "patchouli:text", + "anchor": "mars_tantalite" + }, + { + "Type": "patchouli:multiblock", + "name": "Пиролюзит", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrolusite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 42%$(br)$(thing)Хромит$(): Марганец$(br)$(thing)Формула$(): MnO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Танталит", + "multiblock": { + "mapping": { + "0": "#forge:ores/tantalite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 36%$(br)$(thing)Хромит$(): Марганец, Тантал$(br)$(thing)Формула$(): MnTa₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Гроссуляр", + "multiblock": { + "mapping": { + "0": "#forge:ores/grossular" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Кальций, Алюминий$(br)$(thing)Формула$(): Ca₃Al₂Si₃O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Спасерит", + "multiblock": { + "mapping": { + "0": "#forge:ores/spessartine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Марганец, Алюминий$(br)$(thing)Формула$(): Al₂Mn₃Si₃O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Сланец, Трахит", + "title": "Медь и Халькопирит", + "type": "patchouli:text", + "anchor": "mars_copper" + }, + { + "Type": "patchouli:multiblock", + "name": "Халькопирит", + "multiblock": { + "mapping": { + "0": "#forge:ores/chalcopyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 65%$(br)$(thing)Плавится в$(): Медь$(br)$(thing)Формула$(): CuFeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Самородная Медь", + "multiblock": { + "mapping": { + "0": "#forge:ores/copper" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Плавится в$(): Медь$(br)$(thing)Формула$(): Cu", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Пирит", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): FeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Гематит", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 370$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Известняк, Кремнистый сланец, Мел, Сланец", "title": "Редстоун & Хром", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -660,12 +1528,104 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Requires Rubber Gloves)Irritant (Skin Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Раздражитель (Контакт с кожей)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Гранит, Диорит, Известняк, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Кремнистый сланец, Мел, Сланец", + "title": "Серебро, Галена и Свинец", + "type": "patchouli:text", + "anchor": "mars_galena" + }, + { + "Type": "patchouli:multiblock", + "name": "Галена", + "multiblock": { + "mapping": { + "0": "#forge:ores/galena" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 40%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): PbS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Слабо ядовитый (Вдыхание вредных веществ)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Свинец", + "multiblock": { + "mapping": { + "0": "#forge:ores/lead" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): Pb$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Слабо ядовитый (Вдыхание вредных веществ)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Самородная Серебро", + "multiblock": { + "mapping": { + "0": "#forge:ores/silver" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Плавится в$(): Серебро$(br)$(thing)Формула$(): Ag", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Гематит", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 6%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Гранит, Диорит, Известняк, Кремнистый сланец, Мел, Трахит", "title": "Соли & Сподумен", "type": "patchouli:text", "anchor": "mars_salt" @@ -757,7 +1717,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 150$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 150$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Сфалерит & Галена", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -779,7 +1739,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): PbS$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): PbS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Слабо ядовитый (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -859,12 +1819,288 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 11%$(br)$(thing)Хромит$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Arsenicosis (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 11%$(br)$(thing)Хромит$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Сланец", + "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Кремнистый сланец, Мел, Трахит", + "title": "Сфалерит & Пирит", + "type": "patchouli:text", + "anchor": "mars_sulfur" + }, + { + "Type": "patchouli:multiblock", + "name": "Пирит", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 42%$(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)Процент руды$(): 23%$(br)$(thing)Плавится в$(): Цинк$(br)$(thing)Формула$(): ZnS", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Гематит", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Сера", + "multiblock": { + "mapping": { + "0": "#forge:ores/sulfur" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 14%$(br)$(thing)Хромит$(): Сера$(br)$(thing)Формула$(): S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Габбро, Дацит, Диорит, Доломит, Кремнистый сланец, Мел, Сланец, Трахит", + "title": "Тетраэдрит (обычный)", + "type": "patchouli:text", + "anchor": "mars_stibnite" + }, + { + "Type": "patchouli:multiblock", + "name": "Тетраэдрит", + "multiblock": { + "mapping": { + "0": "#forge:ores/tetrahedrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 47%$(br)$(thing)Плавится в$(): Медь$(br)$(thing)Формула$(): Cu₃SbS₃Fe", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Самородная Медь", + "multiblock": { + "mapping": { + "0": "#forge:ores/copper" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 28%$(br)$(thing)Плавится в$(): Медь$(br)$(thing)Формула$(): Cu", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Стибнит", + "multiblock": { + "mapping": { + "0": "#forge:ores/stibnite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Плавится в$(): Сурьма$(br)$(thing)Формула$(): Sb₂S₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Гематит", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "title": "Тетраэдрит (Поверхностный)", + "type": "patchouli:text", + "anchor": "mars_surface_tetrahedrite" + }, + { + "Type": "patchouli:multiblock", + "name": "Тетраэдрит", + "multiblock": { + "mapping": { + "0": "#forge:ores/tetrahedrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 57%$(br)$(thing)Плавится в$(): Медь$(br)$(thing)Формула$(): Cu₃SbS₃Fe", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Самородная Медь", + "multiblock": { + "mapping": { + "0": "#forge:ores/copper" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Плавится в$(): Медь$(br)$(thing)Формула$(): Cu", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Стибнит", + "multiblock": { + "mapping": { + "0": "#forge:ores/stibnite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Плавится в$(): Сурьма$(br)$(thing)Формула$(): Sb₂S₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Редстоун", + "multiblock": { + "mapping": { + "0": "#forge:ores/redstone" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Плавится в$(): Редстоун$(br)$(thing)Формула$(): Si(FeS₂)₅(CrAl₂O₃)Hg₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Сланец", "title": "Трона, Тальк & Глаукониты", "type": "patchouli:text", "anchor": "mars_lubricant" @@ -996,582 +2232,10 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Базальт, Дацит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", - "title": "Апатит и Пирохлор", + "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.6$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикатора$(): 10$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Диорит, Доломит, Конгломерат, Мел, Трахит", + "title": "Уголь & Гематит", "type": "patchouli:text", - "anchor": "mars_apatite" - }, - { - "Type": "patchouli:multiblock", - "name": "Апатит", - "multiblock": { - "mapping": { - "0": "#forge:ores/apatite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 47%$(br)$(thing)Хромит$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₅(PO₄)₃Cl", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Трикальцийфосфат", - "multiblock": { - "mapping": { - "0": "#forge:ores/tricalcium_phosphate" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Хромит$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₃(PO₄)₂", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Пирохлор", - "multiblock": { - "mapping": { - "0": "#forge:ores/pyrochlore" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 14%$(br)$(thing)Хромит$(): Ниобий$(br)$(thing)Формула$(): Ca₂Nb₂O₇", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Гематит", - "multiblock": { - "mapping": { - "0": "#forge:ores/hematite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Диорит, Доломит, Кремнистый сланец, Мел, Трахит", - "title": "Бастнезит и Монацит", - "type": "patchouli:text", - "anchor": "mars_neodynium" - }, - { - "Type": "patchouli:multiblock", - "name": "Бастнезит", - "multiblock": { - "mapping": { - "0": "#forge:ores/bastnasite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 58%$(br)$(thing)Хромит$(): Церий, Фтор$(br)$(thing)Формула$(): CeCFO₃", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Монацит", - "multiblock": { - "mapping": { - "0": "#forge:ores/monazite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 29%$(br)$(thing)Хромит$(): Фосфор, Редкая земля$(br)$(thing)Формула$(): ?(PO₄)", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Неодим", - "multiblock": { - "mapping": { - "0": "#forge:ores/neodymium" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Хромит$(): Неодим$(br)$(thing)Формула$(): Nd", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Гематит", - "multiblock": { - "mapping": { - "0": "#forge:ores/hematite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", - "title": "Висмут", - "type": "patchouli:text", - "anchor": "mars_surface_bismuthinite" - }, - { - "Type": "patchouli:multiblock", - "name": "Висмут", - "multiblock": { - "mapping": { - "0": "#forge:ores/bismuth" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 40%$(br)$(thing)Плавится в$(): Висмут$(br)$(thing)Формула$(): Bi", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Гематит", - "multiblock": { - "mapping": { - "0": "#forge:ores/hematite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Сера", - "multiblock": { - "mapping": { - "0": "#forge:ores/sulfur" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Сера$(br)$(thing)Формула$(): S", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Гипс", - "multiblock": { - "mapping": { - "0": "#forge:ores/gypsum" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Алебастр (можно покрасить) и его кирпичи$(br)$(thing)Формула$(): CaS(H₂O)₂O₄", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Известняк, Мел, Сланец", - "title": "Гарниерит и Кобальтит", - "type": "patchouli:text", - "anchor": "mars_nickel" - }, - { - "Type": "patchouli:multiblock", - "name": "Гарниерит", - "multiblock": { - "mapping": { - "0": "#forge:ores/garnierite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Плавится в$(): Никель$(br)$(thing)Формула$(): NiO", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Никель", - "multiblock": { - "mapping": { - "0": "#forge:ores/nickel" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 28%$(br)$(thing)Плавится в$(): Никель$(br)$(thing)Формула$(): Ni", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Кобальтит", - "multiblock": { - "mapping": { - "0": "#forge:ores/cobaltite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 28%$(br)$(thing)Хромит$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Arsenicosis (Inhalation)$(/t)$()", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Гематит", - "multiblock": { - "mapping": { - "0": "#forge:ores/hematite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 7%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 30$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат", - "title": "Гематит и Лимонит", - "type": "patchouli:text", - "anchor": "mars_hematite" - }, - { - "Type": "patchouli:multiblock", - "name": "Гематит", - "multiblock": { - "mapping": { - "0": "#forge:ores/hematite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Жёлтый лимонит", - "multiblock": { - "mapping": { - "0": "#forge:ores/yellow_limonite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): FeHO₂", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Гётит", - "multiblock": { - "mapping": { - "0": "#forge:ores/goethite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): FeHO₂", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Самородная Золото", - "multiblock": { - "mapping": { - "0": "#forge:ores/gold" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Плавится в$(): Золото$(br)$(thing)Формула$(): Au", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", - "title": "Гематит и Лимонит", - "type": "patchouli:text", - "anchor": "mars_surface_hematite" - }, - { - "Type": "patchouli:multiblock", - "name": "Гематит", - "multiblock": { - "mapping": { - "0": "#forge:ores/hematite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 55%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Жёлтый лимонит", - "multiblock": { - "mapping": { - "0": "#forge:ores/yellow_limonite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): FeHO₂", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Самородная Золото", - "multiblock": { - "mapping": { - "0": "#forge:ores/gold" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Плавится в$(): Золото$(br)$(thing)Формула$(): Au", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Кальцит", - "multiblock": { - "mapping": { - "0": "#forge:ores/calcite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Хромит$(): Кальций$(br)$(thing)Формула$(): CaCO₃", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Габбро, Гранит, Дацит, Диорит, Трахит", - "title": "Графит и Алмаз", - "type": "patchouli:text", - "anchor": "mars_graphite" - }, - { - "Type": "patchouli:multiblock", - "name": "Графит", - "multiblock": { - "mapping": { - "0": "#forge:ores/graphite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 45%$(br)$(thing)Используется для$(): $(l:mechanics/fire_clay)Огнеупорная глина$(), Графен$(br)$(thing)Формула$(): C", - "type": "patchouli:multiblock" + "anchor": "mars_coal" }, { "Type": "patchouli:multiblock", @@ -1590,27 +2254,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): топливо, ректификация$(br)$(thing)Формула$(): C", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Алмаз", - "multiblock": { - "mapping": { - "0": "#forge:ores/diamond" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Измельчители, предметы из AE2$(br)$(thing)Формула$(): C", + "text": "$(thing)Процент руды$(): 70%$(br)$(thing)Используется для$(): топливо, ректификация$(br)$(thing)Формула$(): C", "type": "patchouli:multiblock" }, { @@ -1630,7 +2274,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", + "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", "type": "patchouli:multiblock" }, { @@ -1640,17 +2284,17 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 350$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): -20 — 50$(br)$(thing)Высота$(): 40$(br)$(thing)Радиус$(): 8$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", - "title": "Изумруд и Бериллий", + "text": "$(thing)Редкость$(): 370$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Габбро, Дацит, Диорит, Сланец, Трахит", + "title": "Уранинит, Торианит, & Уранит", "type": "patchouli:text", - "anchor": "mars_beryllium" + "anchor": "deep_mars_pitchblende" }, { "Type": "patchouli:multiblock", - "name": "Изумруд", + "name": "Уранит", "multiblock": { "mapping": { - "0": "#forge:ores/emerald" + "0": "#forge:ores/pitchblende" }, "pattern": [ [ @@ -1662,15 +2306,15 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Используется для$(): компоненты уровня MV, Предметные фильтры (Тэг)$(br)$(thing)Формула$(): Be₃Al₂Si₆O₁₈", + "text": "$(thing)Процент руды$(): 52%$(br)$(thing)Хромит$(): Уран, Торий, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Канцерогенный (При любом контакте)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Бериллий", + "name": "Торианит", "multiblock": { "mapping": { - "0": "#forge:ores/beryllium" + "0": "#forge:ores/thorium" }, "pattern": [ [ @@ -1682,15 +2326,15 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Эндер-жемчуг$(br)$(thing)Формула$(): Be$(br)$(thing)Ядовит$(): $(c)$(t:Requires Rubber Gloves)Berylliosis (Skin Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 26%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Реальгар", + "name": "Уранинит", "multiblock": { "mapping": { - "0": "#forge:ores/realgar" + "0": "#forge:ores/uraninite" }, "pattern": [ [ @@ -1702,22 +2346,22 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Мышьяк$(br)$(thing)Формула$(): As₄S₄$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Arsenicosis (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 21%$(br)$(thing)Хромит$(): Уран$(br)$(thing)Формула$(): UO₂$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Канцерогенный (При любом контакте)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 135$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", - "title": "Касситерит", + "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.55$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Габбро, Дацит, Диорит, Доломит, Конгломерат, Сланец, Трахит", + "title": "Уранит, Торий & Гематит", "type": "patchouli:text", - "anchor": "mars_surface_cassiterite" + "anchor": "mars_pitchblende" }, { "Type": "patchouli:multiblock", - "name": "Касситерит", + "name": "Уранит", "multiblock": { "mapping": { - "0": "#forge:ores/cassiterite" + "0": "#forge:ores/pitchblende" }, "pattern": [ [ @@ -1729,15 +2373,15 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 55%$(br)$(thing)Плавится в$(): Олово$(br)$(thing)Формула$(): SnO₂", + "text": "$(thing)Процент руды$(): 41%$(br)$(thing)Хромит$(): Уран, Торий, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Канцерогенный (При любом контакте)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Олово", + "name": "Торианит", "multiblock": { "mapping": { - "0": "#forge:ores/tin" + "0": "#forge:ores/thorium" }, "pattern": [ [ @@ -1749,278 +2393,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Плавится в$(): Олово$(br)$(thing)Формула$(): Sn", - "type": "patchouli:multiblock" - }, - { - "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", - "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Кремнистый сланец, Мел, Сланец", - "title": "Лазурит, Лазурит 2 и Содалит", - "type": "patchouli:text", - "anchor": "mars_lapis" - }, - { - "Type": "patchouli:multiblock", - "name": "Лазурит", - "multiblock": { - "mapping": { - "0": "#forge:ores/lazurite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Алюминий, Кальций, Натрий$(br)$(thing)Формула$(): Al₆Si₆Ca₈Na₈", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Содалит", - "multiblock": { - "mapping": { - "0": "#forge:ores/sodalite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Алюминий, Натрий$(br)$(thing)Формула$(): Al₃Si₃Na₄Cl", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Лазурит 2", - "multiblock": { - "mapping": { - "0": "#forge:ores/lapis" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Лазурит, Содалит, Пирит, Кальцит", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Кальцит", - "multiblock": { - "mapping": { - "0": "#forge:ores/calcite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Кальций$(br)$(thing)Формула$(): CaCO₃", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 42$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Габбро, Известняк, Кремнистый сланец, Мел, Сланец, Трахит", - "title": "Марганец и Тантал", - "type": "patchouli:text", - "anchor": "mars_tantalite" - }, - { - "Type": "patchouli:multiblock", - "name": "Пиролюзит", - "multiblock": { - "mapping": { - "0": "#forge:ores/pyrolusite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 42%$(br)$(thing)Хромит$(): Марганец$(br)$(thing)Формула$(): MnO₂", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Танталит", - "multiblock": { - "mapping": { - "0": "#forge:ores/tantalite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 36%$(br)$(thing)Хромит$(): Марганец, Тантал$(br)$(thing)Формула$(): MnTa₂O₆", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Гроссуляр", - "multiblock": { - "mapping": { - "0": "#forge:ores/grossular" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Кальций, Алюминий$(br)$(thing)Формула$(): Ca₃Al₂Si₃O₁₂", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Спасерит", - "multiblock": { - "mapping": { - "0": "#forge:ores/spessartine" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Марганец, Алюминий$(br)$(thing)Формула$(): Al₂Mn₃Si₃O₁₂", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Сланец, Трахит", - "title": "Медь и Халькопирит", - "type": "patchouli:text", - "anchor": "mars_copper" - }, - { - "Type": "patchouli:multiblock", - "name": "Халькопирит", - "multiblock": { - "mapping": { - "0": "#forge:ores/chalcopyrite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 65%$(br)$(thing)Плавится в$(): Медь$(br)$(thing)Формула$(): CuFeS₂", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Самородная Медь", - "multiblock": { - "mapping": { - "0": "#forge:ores/copper" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Плавится в$(): Медь$(br)$(thing)Формула$(): Cu", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Пирит", - "multiblock": { - "mapping": { - "0": "#forge:ores/pyrite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): FeS₂", + "text": "$(thing)Процент руды$(): 29%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", "type": "patchouli:multiblock" }, { @@ -2040,385 +2413,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", + "text": "$(thing)Процент руды$(): 29%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", "type": "patchouli:multiblock" }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Кремнистый сланец, Мел, Сланец", - "title": "Серебро, Галена и Свинец", - "type": "patchouli:text", - "anchor": "mars_galena" - }, - { - "Type": "patchouli:multiblock", - "name": "Галена", - "multiblock": { - "mapping": { - "0": "#forge:ores/galena" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 40%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): PbS$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Свинец", - "multiblock": { - "mapping": { - "0": "#forge:ores/lead" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): Pb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Самородная Серебро", - "multiblock": { - "mapping": { - "0": "#forge:ores/silver" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Плавится в$(): Серебро$(br)$(thing)Формула$(): Ag", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Гематит", - "multiblock": { - "mapping": { - "0": "#forge:ores/hematite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 6%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 30$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Кремнистый сланец, Мел, Трахит", - "title": "Сфалерит & Пирит", - "type": "patchouli:text", - "anchor": "mars_sulfur" - }, - { - "Type": "patchouli:multiblock", - "name": "Пирит", - "multiblock": { - "mapping": { - "0": "#forge:ores/pyrite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 42%$(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)Процент руды$(): 23%$(br)$(thing)Плавится в$(): Цинк$(br)$(thing)Формула$(): ZnS", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Гематит", - "multiblock": { - "mapping": { - "0": "#forge:ores/hematite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Сера", - "multiblock": { - "mapping": { - "0": "#forge:ores/sulfur" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 14%$(br)$(thing)Хромит$(): Сера$(br)$(thing)Формула$(): S", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Базальт, Габбро, Дацит, Диорит, Доломит, Кремнистый сланец, Мел, Сланец, Трахит", - "title": "Тетраэдрит (обычный)", - "type": "patchouli:text", - "anchor": "mars_stibnite" - }, - { - "Type": "patchouli:multiblock", - "name": "Тетраэдрит", - "multiblock": { - "mapping": { - "0": "#forge:ores/tetrahedrite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 47%$(br)$(thing)Плавится в$(): Медь$(br)$(thing)Формула$(): Cu₃SbS₃Fe", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Самородная Медь", - "multiblock": { - "mapping": { - "0": "#forge:ores/copper" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 28%$(br)$(thing)Плавится в$(): Медь$(br)$(thing)Формула$(): Cu", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Стибнит", - "multiblock": { - "mapping": { - "0": "#forge:ores/stibnite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Плавится в$(): Сурьма$(br)$(thing)Формула$(): Sb₂S₃", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Гематит", - "multiblock": { - "mapping": { - "0": "#forge:ores/hematite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₂O₃", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 40$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", - "title": "Тетраэдрит (Поверхностный)", - "type": "patchouli:text", - "anchor": "mars_surface_tetrahedrite" - }, - { - "Type": "patchouli:multiblock", - "name": "Тетраэдрит", - "multiblock": { - "mapping": { - "0": "#forge:ores/tetrahedrite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 57%$(br)$(thing)Плавится в$(): Медь$(br)$(thing)Формула$(): Cu₃SbS₃Fe", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Самородная Медь", - "multiblock": { - "mapping": { - "0": "#forge:ores/copper" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Плавится в$(): Медь$(br)$(thing)Формула$(): Cu", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Стибнит", - "multiblock": { - "mapping": { - "0": "#forge:ores/stibnite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Плавится в$(): Сурьма$(br)$(thing)Формула$(): Sb₂S₃", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Редстоун", - "multiblock": { - "mapping": { - "0": "#forge:ores/redstone" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Плавится в$(): Редстоун$(br)$(thing)Формула$(): Si(FeS₂)₅(CrAl₂O₃)Hg₃", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикаторов$(): 15$(br2)$(thing)Виды камней$(): Красный гранит, Аргиллит, Базальт, Доломит, Известняк, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Доломит, Известняк, Кремнистый сланец, Мел, Сланец", "title": "Шеелит и Вольфрамат", "type": "patchouli:text", "anchor": "mars_tungsten" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_ore_index.json index f671c5d16..5ffe66eeb 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_ore_index.json @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Индекс руд Луны", + "name": "Каталог руд Луны", "icon": "ae2:certus_quartz_crystal", "category": "tfc:tfg_ores", "read_by_default": true, @@ -8,8 +8,8 @@ "pages": [ { "Type": "patchouli:text", - "text": "Это $(thing)индекс руд$()$(thing)на Луне$(). Все руды отсортированы в алфавитном порядке, а затем по типу жил — от самых богатых к самым бедным. Вы можете нажать на любую из них, чтобы узнать больше информации о каждой жиле.", - "title": "Индекс руд Луны", + "text": "Это $(thing)Каталог руд$()$(thing)на Земле$(). Все руды отсортированы в алфавитном порядке, а затем по типу жил — от самых богатых к самым бедным. Вы можете нажать на любую из них, чтобы узнать больше информации о каждой жиле.", + "title": "Каталог руд Луны", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json index 1fcc6c08a..72d672f11 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Индекс жил Луны", + "name": "Каталог жил Луны", "icon": "gtceu:moon_stone_certus_quartz_ore", "category": "tfc:tfg_ores", "read_by_default": true, @@ -8,13 +8,13 @@ "pages": [ { "Type": "patchouli:text", - "text": "Это $(thing)индекс жил$() на $(thing)Луне$(). Каждая жила содержит подробную информацию о своей редкости, плотности, типе жилы, высоте залегания, размерах, породах камня, в которых она генерируется, и многом другом.", - "title": "Индекс жил Луны", + "text": "Это $(thing)Каталог жил$() для $(thing)Луна$(). Для каждой жилы имеется подробная информация о ее редкости, плотности, виде, высоте, размерах, типах камней, в которых она встречается, и многом другом.", + "title": "Каталог жил Луны", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/moon_vein_index#moon_desh)Деш и Ильменит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_pyrolusite)Пиролюзит и Кобальт$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_garnet)Аметист, Опал и гранат$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_apatite)Апатит и Пирохлор$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_monazite)Бастнезит и Монацит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_bauxite)Боксит и Ильменит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_molybdenum)Вульфенит & Молибденит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_garnierite)Гарниерит и Кобальтит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_gypsum)Гипс и Кальцит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_graphite)Графит и Алмаз$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_gold)Золото и Магнетит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_beryllium)Изумруд и Бериллий$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_quartz)Истинный кварц$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_cassiterite)Касситерит и Халькопирит$()$()", + "text": "$(li)$(l:tfg_ores/moon_vein_index#moon_desh)Desh & Ilmenite$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_pyrolusite)Pyrolusite and Cobalt$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_garnet)Аметист, Опал и гранат$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_apatite)Апатит и Пирохлор$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_monazite)Бастнезит и Монацит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_bauxite)Боксит и Ильменит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_molybdenum)Вульфенит & Молибденит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_garnierite)Гарниерит и Кобальтит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_gypsum)Гипс и Кальцит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_graphite)Графит и Алмаз$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_gold)Золото и Магнетит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_beryllium)Изумруд и Бериллий$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_quartz)Истинный кварц$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_cassiterite)Касситерит и Халькопирит$()$()", "type": "patchouli:text" }, { @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 80$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит", + "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 80$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит", "title": "Desh & Ilmenite", "type": "patchouli:text", "anchor": "moon_desh" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 80$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Норит", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 80$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Норит", "title": "Pyrolusite and Cobalt", "type": "patchouli:text", "anchor": "moon_pyrolusite" @@ -163,7 +163,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 23%$(br)$(thing)Хромит$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Arsenicosis (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 23%$(br)$(thing)Хромит$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -213,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 7$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Риолит", + "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 7$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Риолит", "title": "Аметист, Опал и гранат", "type": "patchouli:text", "anchor": "moon_garnet" @@ -305,7 +305,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 100$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Диорит, Норит", + "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 100$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Диорит, Норит", "title": "Апатит и Пирохлор", "type": "patchouli:text", "anchor": "moon_apatite" @@ -397,7 +397,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 310$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 310$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", "title": "Бастнезит и Монацит", "type": "patchouli:text", "anchor": "moon_monazite" @@ -489,7 +489,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 80$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Диорит, Норит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 80$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Диорит, Норит, Риолит, Фонолит", "title": "Боксит и Ильменит", "type": "patchouli:text", "anchor": "moon_bauxite" @@ -556,7 +556,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 245$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 50$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Базальт, Габбро, Дацит, Норит", + "text": "$(thing)Редкость$(): 245$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 50$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Базальт, Габбро, Дацит, Норит", "title": "Вульфенит & Молибденит", "type": "patchouli:text", "anchor": "moon_molybdenum" @@ -648,7 +648,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 5 — 85$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Габбро, Диорит, Риолит", + "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 5 — 85$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Габбро, Диорит, Риолит", "title": "Гарниерит и Кобальтит", "type": "patchouli:text", "anchor": "moon_garnierite" @@ -730,7 +730,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Хромит$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Arsenicosis (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Хромит$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -755,7 +755,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 100$(br)$(thing)Размер$(): 30$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Норит, Фонолит", + "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 100$(br)$(thing)Размер$(): 30$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Норит, Фонолит", "title": "Гипс и Кальцит", "type": "patchouli:text", "anchor": "moon_gypsum" @@ -862,7 +862,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Базальт, Габбро, Фонолит", + "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Базальт, Габбро, Фонолит", "title": "Графит и Алмаз", "type": "patchouli:text", "anchor": "moon_graphite" @@ -929,7 +929,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 80$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 10$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Базальт, Гранит, Диорит", + "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 80$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 10$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Базальт, Гранит, Диорит", "title": "Золото и Магнетит", "type": "patchouli:text", "anchor": "moon_gold" @@ -1021,7 +1021,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 70$(br)$(thing)Радиус$(): 8$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Фонолит", + "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 70$(br)$(thing)Радиус$(): 8$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Фонолит", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "moon_beryllium" @@ -1063,7 +1063,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 31%$(br)$(thing)Используется для$(): Эндер-жемчуг$(br)$(thing)Формула$(): Be$(br)$(thing)Ядовит$(): $(c)$(t:Requires Rubber Gloves)Berylliosis (Skin Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 31%$(br)$(thing)Используется для$(): Эндер-жемчуг$(br)$(thing)Формула$(): Be$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Беррилиоз (Контакт с кожей)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1123,12 +1123,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 0%$(br)$(thing)Хромит$(): Торианит$(br)$(thing)Формула$(): Th", + "text": "$(thing)Процент руды$(): 0%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 100$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикаторов$(): 80$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 100$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 80$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", "title": "Истинный кварц", "type": "patchouli:text", "anchor": "moon_quartz" @@ -1220,7 +1220,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит, Норит", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит, Норит", "title": "Касситерит и Халькопирит", "type": "patchouli:text", "anchor": "moon_cassiterite" @@ -1312,7 +1312,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 5 — 80$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Базальт, Габбро, Дацит, Норит", + "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 5 — 80$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Базальт, Габбро, Дацит, Норит", "title": "Марганец и Тантал", "type": "patchouli:text", "anchor": "moon_manganese" @@ -1404,7 +1404,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 66$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Габбро, Диорит, Норит", + "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 66$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Габбро, Диорит, Норит", "title": "Мыльный камень, Тальк и Трона", "type": "patchouli:text", "anchor": "moon_lubricant" @@ -1511,7 +1511,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 100$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Фонолит", + "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 100$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Фонолит", "title": "Редстоун, Киноварь и Рубин", "type": "patchouli:text", "anchor": "moon_redstone" @@ -1603,7 +1603,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 100$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Базальт, Норит", + "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 100$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Базальт, Норит", "title": "Сапфир и Альмандин", "type": "patchouli:text", "anchor": "moon_sapphire" @@ -1710,7 +1710,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 90$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Норит, Риолит", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 90$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Норит, Риолит", "title": "Селитра и Электротин", "type": "patchouli:text", "anchor": "moon_saltpeter" @@ -1802,7 +1802,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 75$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Дацит, Диорит, Норит, Риолит", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 75$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Дацит, Диорит, Норит, Риолит", "title": "Серебро, Галена и Свинец", "type": "patchouli:text", "anchor": "moon_silver" @@ -1844,7 +1844,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 28%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): PbS$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 28%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): PbS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Слабо ядовитый (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1864,7 +1864,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 23%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): Pb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 23%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): Pb$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Слабо ядовитый (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1894,7 +1894,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 205$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 2 — 75$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит, Фонолит", + "text": "$(thing)Редкость$(): 205$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 2 — 75$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит, Фонолит", "title": "Сфалерит & Пирит", "type": "patchouli:text", "anchor": "moon_sphalerite" @@ -1961,7 +1961,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 50 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикаторов$(): 60$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 50 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", "title": "Тетраэдрит и Халькозин", "type": "patchouli:text", "anchor": "moon_tetrahedrite" @@ -2053,7 +2053,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Размер$(): 45$(br)$(thing)Высота$(): 16$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Размер$(): 45$(br)$(thing)Высота$(): 16$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", "title": "Топаз и Халькозин", "type": "patchouli:text", "anchor": "moon_topaz" @@ -2145,7 +2145,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 90$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", + "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 90$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", "title": "Хромит и Магнетит", "type": "patchouli:text", "anchor": "moon_magnetite" @@ -2167,7 +2167,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 40%$(br)$(thing)Хромит$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Requires Rubber Gloves)Irritant (Skin Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 40%$(br)$(thing)Хромит$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Раздражитель (Контакт с кожей)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2252,7 +2252,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", + "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", "title": "Ционит, Слюда и Боксит", "type": "patchouli:text", "anchor": "moon_mica" @@ -2359,7 +2359,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Габбро, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Габбро, Риолит, Фонолит", "title": "Шеелит и Вольфрамат", "type": "patchouli:text", "anchor": "moon_scheelite" @@ -2426,7 +2426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикаторов$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Фонолит", + "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Фонолит", "title": "Шелдонит и Борнит", "type": "patchouli:text", "anchor": "moon_sheldonite" 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 c20e2889a..e35302162 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 @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Индекс руд Бездны", + "name": "Каталог руд Бездны", "icon": "minecraft:quartz", "category": "tfc:tfg_ores", "read_by_default": true, @@ -8,8 +8,8 @@ "pages": [ { "Type": "patchouli:text", - "text": "Это $(thing)индекс руд$()$(thing)в Бездне$(). Все руды отсортированы в алфавитном порядке, а затем по типу жил — от самых богатых к самым бедным. Вы можете нажать на любую из них, чтобы узнать больше информации о каждой жиле.", - "title": "Индекс руд Бездны", + "text": "Это $(thing)Каталог руд$()$(thing)на Земле$(). Все руды отсортированы в алфавитном порядке, а затем по типу жил — от самых богатых к самым бедным. Вы можете нажать на любую из них, чтобы узнать больше информации о каждой жиле.", + "title": "Каталог руд Бездны", "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 a3e2203b5..d698a3ef6 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 @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Индекс жил Бездны", + "name": "Каталог жил Бездны", "icon": "gtceu:pyroxenite_nether_quartz_ore", "category": "tfc:tfg_ores", "read_by_default": true, @@ -8,8 +8,8 @@ "pages": [ { "Type": "patchouli:text", - "text": "Это $(thing)индекс жил$() в $(thing)Бездне$(). Каждая жила содержит подробную информацию о своей редкости, плотности, типе жилы, высоте залегания, размерах, породах камня, в которых она генерируется, и многом другом.", - "title": "Индекс жил Бездны", + "text": "Это $(thing)Каталог жил$() для $(thing)Бездна$(). Для каждой жилы имеется подробная информация о ее редкости, плотности, виде, высоте, размерах, типах камней, в которых она встречается, и многом другом.", + "title": "Каталог жил Бездны", "type": "patchouli:text" }, { @@ -548,7 +548,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Хромит$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Arsenicosis (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Хромит$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -926,7 +926,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₂H₄O₉$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Asbestosis (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₂H₄O₉$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Асбестоз (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1157,7 +1157,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Используется для$(): Эндер-жемчуг$(br)$(thing)Формула$(): Be$(br)$(thing)Ядовит$(): $(c)$(t:Requires Rubber Gloves)Berylliosis (Skin Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Используется для$(): Эндер-жемчуг$(br)$(thing)Формула$(): Be$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Беррилиоз (Контакт с кожей)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1197,7 +1197,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 0%$(br)$(thing)Хромит$(): Торианит$(br)$(thing)Формула$(): Th", + "text": "$(thing)Процент руды$(): 0%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", "type": "patchouli:multiblock" }, { @@ -2203,7 +2203,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): Pb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): Pb$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Слабо ядовитый (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2223,12 +2223,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): PbS$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): PbS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Слабо ядовитый (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 75$(br)$(thing)Плотность$(): 0.6$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 64$(br)$(thing)Размер$(): 17$(br)$(thing)Максимальная высота индикаторов$(): 20$(br2)$(thing)Виды камней$(): Пироксенит", + "text": "$(thing)Редкость$(): 75$(br)$(thing)Плотность$(): 0.6$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 64$(br)$(thing)Размер$(): 17$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Пироксенит", "title": "Сильвин", "type": "patchouli:text", "anchor": "nether_sylvite" @@ -2503,7 +2503,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 62%$(br)$(thing)Хромит$(): Уран, Торианит, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 62%$(br)$(thing)Хромит$(): Уран, Торий, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Канцерогенный (При любом контакте)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2523,7 +2523,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Уран$(br)$(thing)Формула$(): UO₂$(br)$(thing)Ядовит$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Уран$(br)$(thing)Формула$(): UO₂$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Канцерогенный (При любом контакте)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2630,7 +2630,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Requires Rubber Gloves)Irritant (Skin Contact)$(/t)$()", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Раздражитель (Контакт с кожей)$(/t)$()", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json index c21010fdd..f98950921 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json @@ -1,15 +1,15 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Индекс руд Венеры", - "icon": "gtceu:sulfur_dust", + "name": "Каталог руд Венеры", + "icon": "vintageimprovements:sulfur", "category": "tfc:tfg_ores", "read_by_default": true, "secret": false, "pages": [ { "Type": "patchouli:text", - "text": "Это $(thing)индекс руд$() на $(thing)Венере$(). Все руды отсортированы в алфавитном порядке, а затем по типу жил — от самых богатых к самым бедным. Вы можете нажать на любую из них, чтобы узнать больше информации о каждой жиле.", - "title": "Индекс руд Венеры", + "text": "Это $(thing)Каталог руд$()$(thing)на Земле$(). Все руды отсортированы в алфавитном порядке, а затем по типу жил — от самых богатых к самым бедным. Вы можете нажать на любую из них, чтобы узнать больше информации о каждой жиле.", + "title": "Каталог руд Венеры", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json index c4fcea147..cc7c8b3bd 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Индекс жил Венеры", + "name": "Каталог жил Венеры", "icon": "gtceu:venus_stone_sulfur_ore", "category": "tfc:tfg_ores", "read_by_default": true, @@ -8,19 +8,19 @@ "pages": [ { "Type": "patchouli:text", - "text": "Это $(thing)индекс жил$() на $(thing)Венере$(). Каждая жила содержит подробную информацию о своей редкости, плотности, типе жилы, высоте залегания, размерах, породах камня, в которых она генерируется, и многом другом.", - "title": "Индекс жил Венеры", + "text": "Это $(thing)Каталог жил$() для $(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)Сера и Пирит$()$()", + "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)Редкость$(): 30$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 20$(br)$(thing)Высота$(): 6$(br)$(thing)Индикатор Max Depth$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит$(br2)Only appears in the $(thing)Salt Flats$() biome.", - "title": "Соли & Сподумен", + "text": "$(thing)Редкость$(): 30$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 20$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "venus_manual_salt" }, @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 30$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 20$(br)$(thing)Индикатор Max Depth$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит", + "text": "$(thing)Редкость$(): 30$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит", "title": "Сера и Пирит", "type": "patchouli:text", "anchor": "venus_manual_sulfur" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json index d949d080b..4db55a423 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json @@ -14,12 +14,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Азбест: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Алмандін: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Апатит: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Барит: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Бастнезит: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Берилій: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Боксит: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)Борніт: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Вісмут: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Вольфрам: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)Вугілля: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)Галена: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Гарнієрит: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Гематит: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()", + "text": "$(li)Азбест: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Алмандін: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Апатит: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Барит: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Бастнезит: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Берилій: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Боксит: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Борніт: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Вісмут: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Вольфрам: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)Вугілля: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)Галена: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Гарнієрит: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Гематит: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Гетит: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Гіпс: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Главконітний пісок: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Графіт: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Діамант: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Електротин: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)Жовтий лимоніт: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Зелений сапфір: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)Кальцит: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Кам’яна сіль: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Каситерит: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Кварцит: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()", + "text": "$(li)Гетит: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Гіпс: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Главконітний пісок: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Графіт: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Діамант: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Електротин: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Жовтий лимоніт: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Зелений сапфір: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Кальцит: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Кам’яна сіль: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Каситерит: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Кварцит: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()", "type": "patchouli:text" }, { @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Платина: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Реальгар: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Редстоун: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Рубін: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Самородна Золото: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Самородна Мідь: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Самородна Срібла: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Сапфір: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Свинець: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Сіль: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Сірка: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Смарагд: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Соапостон: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Содаліт: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()", + "text": "$(li)Платина: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Реальгар: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Редстоун: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Рубін: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Самородна Золото: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Самородна Мідь: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Самородна Срібла: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Сапфір: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Свинець: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Сіль: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Сірка: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Смарагд: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Соапостон: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Содаліт: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json index 49ab96a50..91c7461a9 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Альмандин і Сапфір$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Апатит і Пірохлор$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Бастнезит і Монацит$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Борніт і Куперит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Вісмут$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)Вугілля і Гематит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)Гарнієрит і Кобальтит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)Гематит та Лімоніт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Гематит та Лімоніт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)Графіт і Діамант$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sapphire)Золото, Електротин і Боксит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)Каситерит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Кварцит, Азбест і Барит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)Лапіс, Лазурит та Содаліт$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Альмандин і Сапфір$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Апатит і Пірохлор$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Бастнезит і Монацит$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Борніт і Куперит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Вісмут$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)Вугілля і Гематит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)Гарнієрит і Кобальтит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)Гематит та Лімоніт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Гематит та Лімоніт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)Графіт і Діамант$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_gold)Золото, Електротин і Боксит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)Каситерит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Кварцит, Азбест і Барит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)Лапіс, Лазурит та Содаліт$()$()", "type": "patchouli:text" }, { @@ -927,7 +927,7 @@ "text": "$(thing)Рідкість$(): 230$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Аргиліт, Габро, Глинистий сланець, Граніт, Діорит, Крейда, Кременистий сланець", "title": "Золото, Електротин і Боксит", "type": "patchouli:text", - "anchor": "mars_sapphire" + "anchor": "mars_gold" }, { "Type": "patchouli:multiblock", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json index dc1f5f284..a4d5f7832 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)原生金: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)原生银: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)天然碱: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)岩盐: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)方解石: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)方钍石: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)方钠石: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()", + "text": "$(li)原生金: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)原生银: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)天然碱: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)岩盐: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)方解石: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)方钍石: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)方钠石: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()", "type": "patchouli:text" }, { @@ -24,12 +24,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)硫铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)磷灰石: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)红宝石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)红石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)绿宝石: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)蓝石: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)蓝金石: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)软锰矿: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()", + "text": "$(li)硫铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)磷灰石: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)红宝石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)红石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)绿宝石: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)蓝石: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)蓝金石: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)软锰矿: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)辉锑矿: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)重晶石: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)针铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)钕矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)钙铝榴石: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)钻石: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)铍矿: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)铝土矿: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()", + "text": "$(li)辉锑矿: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)重晶石: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)针铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)钕矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)钙铝榴石: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)钻石: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)铍矿: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)铝土矿: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json index f475de296..9335ca7e4 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)赤铁矿, 褐铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)赤铁矿, 褐铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)辉铋矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sapphire)金矿, 蓝石, 铝土矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)铁铝榴石, 蓝宝石$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)铜矿, 黄铜矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)银矿, 方铅矿, 铅矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)锡石矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)锰矿, 钽矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)闪锌矿, 方铅矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)闪锌矿, 黄铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)青金石, 蓝金石, 方钠石$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)黝铜矿 (地表)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)黝铜矿 (普通)$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)赤铁矿, 褐铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)赤铁矿, 褐铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)辉铋矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_gold)金矿, 蓝石, 铝土矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)铁铝榴石, 蓝宝石$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)铜矿, 黄铜矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)银矿, 方铅矿, 铅矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)锡石矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)锰矿, 钽矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)闪锌矿, 方铅矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)闪锌矿, 黄铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)青金石, 蓝金石, 方钠石$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)黝铜矿 (地表)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)黝铜矿 (普通)$()$()", "type": "patchouli:text" }, { @@ -1496,7 +1496,7 @@ "text": "$(thing)稀有度$(): 230$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 燧石, 白垩岩, 粘土岩, 花岗岩, 辉长岩, 闪长岩, 页岩", "title": "金矿, 蓝石, 铝土矿", "type": "patchouli:text", - "anchor": "mars_sapphire" + "anchor": "mars_gold" }, { "Type": "patchouli:multiblock", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 87e99106c..72cc1d999 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1331,7 +1331,7 @@ "ore_vein.tfg.mars_coal": "Coal & Hematite", "ore_vein.tfg.mars_copper": "Copper & Chalcopyrite", "ore_vein.tfg.mars_galena": "Silver, Galena, & Lead", - "ore_vein.tfg.mars_sapphire": "Gold, Electrotine, & Bauxite", + "ore_vein.tfg.mars_gold": "Gold, Electrotine, & Bauxite", "ore_vein.tfg.mars_graphite": "Graphite & Diamond", "ore_vein.tfg.mars_hematite": "Hematite & Limonite", "ore_vein.tfg.mars_lapis": "Lapis, Lazurite, & Sodalite", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index e36f3779b..65791dac6 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -1083,7 +1083,7 @@ "ore_vein.tfg.mars_coal": "Coal & Hematite", "ore_vein.tfg.mars_copper": "Copper & Chalcopyrite", "ore_vein.tfg.mars_galena": "Silver, Galena, & Lead", - "ore_vein.tfg.mars_sapphire": "Gold, Electrotine, & Bauxite", + "ore_vein.tfg.mars_gold": "Gold, Electrotine, & Bauxite", "ore_vein.tfg.mars_graphite": "Graphite & Diamond", "ore_vein.tfg.mars_hematite": "Hematite & Limonite", "ore_vein.tfg.mars_lapis": "Lapis, Lazurite, & Sodalite", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index efca66379..32c5c950d 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -846,7 +846,7 @@ "ore_vein.tfg.mars_coal": "Coal & Hematite", "ore_vein.tfg.mars_copper": "Cobre e Calcopirita", "ore_vein.tfg.mars_galena": "Prata, Galena e Chumbo", - "ore_vein.tfg.mars_sapphire": "Gold, Electrotine, & Bauxite", + "ore_vein.tfg.mars_gold": "Gold, Electrotine, & Bauxite", "ore_vein.tfg.mars_graphite": "Grafite e Diamante", "ore_vein.tfg.mars_hematite": "Hematita e Limonita", "ore_vein.tfg.mars_lapis": "Lápis-lazúri, Lazurita e Sodalita", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 6836a66aa..8a4c5e1f5 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1262,25 +1262,25 @@ "ore_vein.tfg.surface_copper": "Халькопирит и Реальгар", "ore_vein.tfg.surface_sphalerite": "Сфалерит и Сера", "ore_vein.tfg.surface_tetrahedrite": "Тетраэдрит (Поверхностный)", - "ore_vein.tfg.deep_mars_chromite": "Redstone & Chromite", - "ore_vein.tfg.deep_mars_pitchblende": "Pitchblende, Thorianite, & Uraninite", - "ore_vein.tfg.deep_mars_sheldonite": "Bornite & Cooperite", - "ore_vein.tfg.mars_almandine": "Almandine & Sapphire", + "ore_vein.tfg.deep_mars_chromite": "Редстоун & Хром", + "ore_vein.tfg.deep_mars_pitchblende": "Уранинит, Торианит, & Уранит", + "ore_vein.tfg.deep_mars_sheldonite": "Борнит & Куперит", + "ore_vein.tfg.mars_almandine": "Альмандин & Сапфир", "ore_vein.tfg.mars_apatite": "Апатит и Пирохлор", "ore_vein.tfg.mars_beryllium": "Изумруд и Бериллий", - "ore_vein.tfg.mars_coal": "Coal & Hematite", + "ore_vein.tfg.mars_coal": "Уголь & Гематит", "ore_vein.tfg.mars_copper": "Медь и Халькопирит", "ore_vein.tfg.mars_galena": "Серебро, Галена и Свинец", - "ore_vein.tfg.mars_sapphire": "Gold, Electrotine, & Bauxite", + "ore_vein.tfg.mars_gold": "Золото, Электротин & Боксит", "ore_vein.tfg.mars_graphite": "Графит и Алмаз", "ore_vein.tfg.mars_hematite": "Гематит и Лимонит", "ore_vein.tfg.mars_lapis": "Лазурит, Лазурит 2 и Содалит", - "ore_vein.tfg.mars_lubricant": "Trona, Talc, & Glauconite", + "ore_vein.tfg.mars_lubricant": "Трона, Тальк & Глаукониты", "ore_vein.tfg.mars_neodynium": "Бастнезит и Монацит", "ore_vein.tfg.mars_nickel": "Гарниерит и Кобальтит", - "ore_vein.tfg.mars_pitchblende": "Pitchblende & Thorianite, & Hematite", - "ore_vein.tfg.mars_quartzite": "Quartzite, Asbestos, & Barite", - "ore_vein.tfg.mars_salt": "Salts & Spodumene", + "ore_vein.tfg.mars_pitchblende": "Уранит, Торий & Гематит", + "ore_vein.tfg.mars_quartzite": "Кварцит, Асбест & Барит", + "ore_vein.tfg.mars_salt": "Соли & Сподумен", "ore_vein.tfg.mars_stibnite": "Тетраэдрит (обычный)", "ore_vein.tfg.mars_sulfur": "Сфалерит & Пирит", "ore_vein.tfg.mars_tantalite": "Марганец и Тантал", @@ -1288,7 +1288,7 @@ "ore_vein.tfg.mars_surface_bismuthinite": "Висмут", "ore_vein.tfg.mars_surface_cassiterite": "Касситерит", "ore_vein.tfg.mars_surface_hematite": "Гематит и Лимонит", - "ore_vein.tfg.mars_surface_nickel_galena": "Sphalerite & Galena", + "ore_vein.tfg.mars_surface_nickel_galena": "Сфалерит & Галена", "ore_vein.tfg.mars_surface_tetrahedrite": "Тетраэдрит (Поверхностный)", "ore_vein.tfg.moon_apatite": "Апатит и Пирохлор", "ore_vein.tfg.moon_bauxite": "Боксит и Ильменит", @@ -1358,9 +1358,9 @@ "ore_vein.tfg.venus_manual_sulfur": "Сера и Пирит", "tfg.creative_tab.tfg": "TerraFirmaGreg", "tfg.disabled_portal": "Магия портала заблокирована неизвестной силой, попробуйте получить доступ к измерению поднявшись в небо или спустившись в глубины.", - "tfg.tooltip.food_trait.refrigerating": "§bRefrigerating", + "tfg.tooltip.food_trait.refrigerating": "§bОхлаждённое", "tfg.tooltip.foodtrait.freeze_dried": "Лиофилизация", - "tfg.tooltip.extraterrestrial_farming": "§4Temperature:§r An oxygenated environment provides 15°C", + "tfg.tooltip.extraterrestrial_farming": "§4Температура:§r Насыщенная кислородом среда обеспечивает 15°C", "entity.tfg.moon_rabbit.male": "Лунный кролик (Самец)", "entity.tfg.moon_rabbit.female": "Лунная крольчиха (Самка)", "tfg.tooltip.moon_rabbit_variant.pink": "Розовая шкурка", @@ -1378,21 +1378,38 @@ "entity.tfg.wraptor.male": "Ираптор (Самец)", "entity.tfg.wraptor.female": "Ираптор (Самка)", "tfg.tooltip.attribution.wraptor": "§9§oАвтор: Species", - "entity.tfg.surfer": "Surfer", - "tfg.tooltip.surfer_variant.base": "Teal Hide", - "tfg.tooltip.surfer_variant.bubble": "Blossom Berry Hide", - "tfg.tooltip.surfer_variant.horn": "Golden Hide", - "tfg.tooltip.surfer_variant.tube": "Nox Berry Hide", - "tfg.tooltip.surfer_variant.fire": "Sangnum Hide", - "tfg.tooltip.surfer_variant.brain": "Glacian Hide", - "tfg.tooltip.attribution.surfer": "§9§oCredit: Wan's Ancient Beasts", - "effect.tfg.cooling": "§bCooling", - "effect.tfg.warming": "§6Warming", + "entity.tfg.surfer": "Сёрфер", + "tfg.tooltip.surfer_variant.base": "Бирюзовая шкура", + "tfg.tooltip.surfer_variant.bubble": "Цвета цветущей ягоды", + "tfg.tooltip.surfer_variant.horn": "Золотистый", + "tfg.tooltip.surfer_variant.tube": "Цвета нокс-ягоды", + "tfg.tooltip.surfer_variant.fire": "Рыжий", + "tfg.tooltip.surfer_variant.brain": "Гласианский", + "tfg.tooltip.attribution.surfer": "§9§oАвтор: Wan's Ancient Beasts", + "entity.tfg.rnr_plow": "Тележка для мощения", + "effect.tfg.cooling": "§bОхлаждение", + "effect.tfg.warming": "§6Согревание", + "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": "Угар", + "effect.tfg.radioactive_warning": "Облучение", + "gtceu.medical_condition.radioactive": "§4Радиоактивный", + "symptom.tfg.glowing": "Светящийся", "tfg.greate.uls_limit": "§432§r (§8ULS§r)", "tfg.greate.ls_limit": "§f128§r (§7LS§r)", - "tfg.greate.windmill_hint_1": "Windmills are affected by relative", - "tfg.greate.windmill_hint_2": "elevation and the amount of empty", - "tfg.greate.windmill_hint_3": "space around them.", + "tfg.greate.windmill_hint_1": "На работу ветряной мельницы влияют", + "tfg.greate.windmill_hint_2": "относительная высота и количество", + "tfg.greate.windmill_hint_3": "свободного места вокруг неё.", "trim_material.tfc.almandine_tfc": "Альмадин", "trim_material.tfc.andradite_tfc": "Андрадит", "trim_material.tfc.blue_topaz_tfc": "Синий топаз", @@ -1441,96 +1458,142 @@ "trim_material.tfc.neutronium_tfc": "Нейтроний", "trim_material.tfc.pyrite_tfc": "Пирит", "trim_material.tfc.redx_tfc": "RedX", - "tfg.emi.ore_veins.rock_types": "Found in rock types:", - "tfg.emi.ore_veins.rarity": "Rarity: %d", - "tfg.emi.ore_veins.density": "Density: %d", - "tfg.emi.ore_veins.y_ranges": "Depth: %d to %d", - "tfg.emi.ore_veins.size": "Size: %d", - "tfg.emi.ore_veins.height": "Height: %d", - "tfg.emi.ore_veins.radius": "Radius: %d", + "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 to %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": "Duration: %d secs", - "tfg.emi.liquid_bb_superheat": "§lSuperheated", - "emi.category.tfg.blaze_burner": "Blaze Burner Fuels", - "emi.category.tfg.block_interaction": "Block Modifications", - "emi.category.deafission.fission_reactor_coolant": "Fission Reactor Cooling", - "emi.category.deafission.fission_reactor_processing": "Fission Reactor Material Holder", - "emi.category.deafission.fission_reactor_fuel": "Fission Reactor Fuel", - "tfg.toast.ore_prospector_none": "No ores found in range.", - "tfg.toast.ore_prospector_message": "Ores found within %s §6blocks in this direction: %s", - "tfg.tooltip.ore_prospector_stats": "Scan Range: %s, Cross Section: %s x %s.", - "tfg.tooltip.ore_prospector_count": "This prospector will display ore counts.", - "tfg.tooltip.ore_prospector_xray": "This prospector will display an x-ray view of ore blocks.", - "tfg.tooltip.ore_prospector_mode_vein": "per-vein", - "tfg.tooltip.ore_prospector_mode_block": "per-block", + "tfg.emi.liquid_bb_burn_time": "Длительность: %d секунд", + "tfg.emi.liquid_bb_superheat": "§lПерегрев", + "emi.category.tfg.blaze_burner": "Топливо для горелок всполоха", + "emi.category.tfg.block_interaction": "Взаимодействие с блоками", + "emi.category.deafission.fission_reactor_coolant": "Охлаждение ядерного реактора", + "emi.category.deafission.fission_reactor_processing": "Материалодержатель ядерного реактора", + "emi.category.deafission.fission_reactor_fuel": "Топливо ядерного реактора", + "tfg.toast.ore_prospector_none": "В пределах досягаемости руда не обнаружена.", + "tfg.toast.ore_prospector_message": "Руд найдено в пределах %s §6блоков в этом направлении: %s", + "tfg.tooltip.ore_prospector_stats": "Диапазон сканирования: %s, Поперечное сечение: %s x %s.", + "tfg.tooltip.ore_prospector_count": "Этот молоток покажет количество руды.", + "tfg.tooltip.ore_prospector_xray": "Этот молоток покажет рентгеновский снимок рудных блоков.", + "tfg.tooltip.ore_prospector_mode_vein": "на-жилу", + "tfg.tooltip.ore_prospector_mode_block": "на-блок", "tfg.hangglider.disabled_dimension": "Вы не можете использовать дельтаплан здесь!", - "tfg.tooltip.nametag": "§7Used on a Scribing Table along with an item to name it, or with black dye to name the tag.", - "tfg.tooltip.yeast_starter": "§7Created with dried fruit", - "tfg.tooltip.beehive": "§7Needs to be filled with empty frames and surrounded by flowers to attract bees.", + "tfg.tooltip.nametag": "§7Используется на столе писаря вместе с предметом для его переименования или с помощью черной краски для переименования бирки.", + "tfg.tooltip.yeast_starter": "§7Приготовлено с использованием сухофруктов.", + "tfg.tooltip.beehive": "§7Необходимо заполнить ульи пустыми рамками и окружить цветами, чтобы привлечь пчел.", "tfg.tooltip.obsolete.tree_tap": "§4Obsolete§f: Replaced by the AFC TreeTap, you can craft it from this one by placing this in a crafting table!", "tfg.tooltip.obsolete.fridge": "§4Obsolete§f: Replaced by the TFG Refrigerator, you can craft it from this one by placing this in a crafting table!", - "tfg.tooltip.blaze_burner": "§cSuperheat§r §7with Coke, Anthracite, or Flawless and Exquisite coal gems.", - "tfg.tooltip.machine.perfect_overclock": "This machine has §2Perfect Overclocking§r!", - "tfg.tooltip.machine.parallel": "Can parallelize with Parallel Control Hatches.", - "tfg.tooltip.machine.customize_interior": "§7The interior is customizable! Check the multiblock preview in JEI.", - "tfg.tooltip.armor.copper_diving_suit_warmth": "§7Warmth: -1", - "tfg.tooltip.armor.copper_diving_suit_insulation": "§7Insulation: +1", - "tfg.tooltip.armor.netherite_diving_suit_warmth": "§7Warmth: -2", - "tfg.tooltip.armor.netherite_diving_suit_insulation": "§7Insulation: +9", - "tfg.tooltip.armor.netherite_diving_suit_set": "§7Wear the full set to be §eHeatproof§7 from ambient temperatures.", - "tfg.tooltip.armor.nanomuscle_warmth": "§7Warmth: 0", - "tfg.tooltip.armor.nanomuscle_insulation": "§7Insulation: +10", - "tfg.tooltip.armor.nanomuscle_set": "§7Wear the full set to be §eFully Insulated§7 from ambient temperatures.", + "tfg.tooltip.blaze_burner": "§cПерегрев§r §7 с Коксом, Антрацитом, или безупречным и изысканным углем.", + "tfg.tooltip.machine.perfect_overclock": "Эта машина имеет §2Идеальное ускорение§r!", + "tfg.tooltip.machine.parallel": "Возможно распараллеливание с помощью люков контроля параллелей.", + "tfg.tooltip.machine.customize_interior": "§7Интерьер можно настроить! Ознакомьтесь с многоблочным предварительным просмотром в JEI.", + "tfg.tooltip.armor.copper_diving_suit_warmth": "§7Терморегуляция: -1", + "tfg.tooltip.armor.copper_diving_suit_insulation": "§7Термоизоляция: +1", + "tfg.tooltip.armor.netherite_diving_suit_warmth": "§7Терморегуляция: -2", + "tfg.tooltip.armor.netherite_diving_suit_insulation": "§7Термоизоляция: +9", + "tfg.tooltip.armor.netherite_diving_suit_set": "§7Полный сет дает полную §eТермостойкость§7 от внешних температур.", + "tfg.tooltip.armor.nanomuscle_warmth": "§7Терморегуляция: 0", + "tfg.tooltip.armor.nanomuscle_insulation": "§7Термоизоляция: +10", + "tfg.tooltip.armor.nanomuscle_set": "§7Полный сет дает полную §eизоляцию§7 от внешних температур.", "tfg.tooltip.armor.nanomuscle_legs_buff": "§7Provides §9Speed I§7 when worn", - "tfg.tooltip.armor.quarktech_warmth": "§7Warmth: 0", - "tfg.tooltip.armor.quarktech_insulation": "§7Insulation: +10", - "tfg.tooltip.armor.quarktech_set": "§7Wear the full set to be §eFully Insulated§7 from ambient temperatures.", - "tfg.tooltip.armor.space_suit_warmth": "§7Warmth: 0", - "tfg.tooltip.armor.space_suit_insulation": "§7Insulation: +10", - "tfg.tooltip.armor.space_suit_set": "§7Wear the full set to be §eFully Insulated§7 from ambient temperatures.", + "tfg.tooltip.armor.quarktech_warmth": "§7Терморегуляция: 0", + "tfg.tooltip.armor.quarktech_insulation": "§7Термоизоляция: +10", + "tfg.tooltip.armor.quarktech_set": "§7Полный сет дает полную §eизоляцию§7 от внешних температур.", + "tfg.tooltip.armor.space_suit_warmth": "§7Терморегуляция: 0", + "tfg.tooltip.armor.space_suit_insulation": "§7Термоизоляция: +10", + "tfg.tooltip.armor.space_suit_set": "§7Полный сет дает полную §eизоляцию§7 от внешних температур.", "tfg.tooltip.support.tier1": "§79 x 5 x 9", "tfg.tooltip.support.tier2": "§717 x 9 x 17", "tfg.tooltip.support.tier3": "§733 x 13 x 33", - "tfg.tooltip.solar_panel.single": "Produces §6128 FE/t§r (32 EU/t) on the §6moon§r during the §6day§r", - "tfg.tooltip.solar_panel.large_tier1": "Massive structure producing from §61024 to 4096 EU/t§r on the §6moon§r during the §6day§r", - "tfg.tooltip.solar_panel.large_tier2": "Massive structure producing from §64096 to 16384 EU/t§r on the §6moon§r during the §6day§r", - "tfg.tooltip.solar_panel.large_tier3": "Massive structure producing from §616384 to 65536 EU/t§r on the §6moon§r during the §6day§r", - "tfg.tooltip.petrified_egg": "§7Requires Magma to Incubate", - "tfg.tooltip.large_egg": "§7Can only be incubated in a §oLarge Nest", - "tfg.tooltip.sniffer_wool": "§7Harvested from the back of a Sniffer", - "tfg.tooltip.wraptor_wool": "§7Harvested from the feathers of a Wraptor", - "tfg.tooltip.wraptor_sugar": "§7Don't think about it too much", - "tfg.tooltip.cooling_foods": "§bCools you by: 2°C", - "tfg.tooltip.cooling_foods_strong": "§bCools you by: 10°C", - "tfg.tooltip.warming_foods": "§6Warms you by: 4°C", + "tfg.tooltip.solar_panel.single": "Производит §6128 FE/t§r (32 EU/t) на §6Луне§r в течении §6lня§r", + "tfg.tooltip.solar_panel.large_tier1": "Большая структура производящая от §61024 до 4096 EU/t§r на §6Луне§r в течении §6lня§r", + "tfg.tooltip.solar_panel.large_tier2": "Большая структура производящая от §64096 до 16384 EU/t§r на §6Луне§r в течении §6lня§r", + "tfg.tooltip.solar_panel.large_tier3": "Большая структура производящая от §616384 до 65536 EU/t§r на §6Луне§r в течении §6lня§r", + "tfg.tooltip.petrified_egg": "§7Для вылупления необходима магма.", + "tfg.tooltip.large_egg": "§7Может быть высижено только в §oБольшом насесте", + "tfg.tooltip.sniffer_wool": "§7Собрано со спины нюхача.", + "tfg.tooltip.wraptor_wool": "§7Получено из перьев ираптора.", + "tfg.tooltip.wraptor_sugar": "§7Не думай об этом.", + "tfg.tooltip.cooling_foods": "§bОхлаждает тебя на: 2°C", + "tfg.tooltip.cooling_foods_strong": "§bОхлаждает тебя на: 10°C", + "tfg.tooltip.warming_foods": "§6Согревает тебя на: 4°C", + "tfg.tooltip.hotornot_container": "§aБезопасно хранит §6горячие§a, §bхолодные§a, и §eлегче воздууха§a предметы и жидкости.§r", + "tfg.tooltip.hotornot_hot_equipment": "§7Дает защиту от всех §6горячих§7 предметов, жидкостей и труб.§r", + "tfg.tooltip.hotornot_cold_equipment": "§7Дает защиту от всех §bхолодных§7 предметов, жидкостей и труб.§r", + "tfg.tooltip.hotornot_floating_equipment": "§7Дает защиту от всех §eлегче воздуха§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 снижает потребление энергии за счет 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", + "tfg.tooltip.machine.growth_chamber_2": "§7Содержит все необходимое для биоинженерных работ.§r", + "tfg.tooltip.machine.evaporation_tower_1": "§7Не путать с ректификационной колонной.§r", + "tfg.tooltip.machine.evaporation_tower_2": "§7Удаляет избыток растворителя для конденсации растворов.§r", + "tfg.tooltip.machine.electric_greenhouse_1": "§7Внедрение промышленная фермы в завод§r", + "tfg.tooltip.machine.electric_greenhouse_2": "§7Использует воду для выращивания деревьев, сельскохозяйственных культур и других растений. Процесс можно ускорить с помощью удобрений. Выращивание растений происходит быстрее и проще, чем другими способами, но за счет затрат энергии.§r", + "tfg.tooltip.machine.cooling_tower_1": "§7Нагревание атмосферы§r", + "tfg.tooltip.machine.cooling_tower_2": "§7Охлаждает горячую охлаждающую жидкость, рассеивая избыточное тепло в атмосферу.§r", "tfg.tooltip.obsolete.depreciated": "§cDeprecated, cannot be crafted any more", - "tfg.tooltip.dna_syringe.empty": "An empty syringe.", - "tfg.tooltip.dna_syringe.dirty1": "A used syringe.", - "tfg.tooltip.dna_syringe.dirty2": "Be careful not to poke anyone with this...", - "tfg.tooltip.dna_syringe.full": "DNA sample: ", - "tfg.tooltip.dna_syringe.explain": "Right-click on a mob to obtain a DNA sample. Place in a crafting grid to clear contents.", + "tfg.tooltip.dna_syringe.empty": "Пустой шприц.", + "tfg.tooltip.dna_syringe.dirty1": "Использованный шприц.", + "tfg.tooltip.dna_syringe.dirty2": "Будьте осторожны, чтобы никого этим не ткнуть...", + "tfg.tooltip.dna_syringe.full": "Образец ДНК: ", + "tfg.tooltip.dna_syringe.explain": "ПКМ по мобу, чтобы получить образец ДНК. Поместите в меню крафта, чтобы очистить содержимое.", + "tfg.tooltip.antipoison_pill": "§9Лечит отравление", + "tfg.tooltip.antipoison_tablet": "§9Лечит все активные вредные эффекты.", "tfg.tooltip.shift_hint": "[Hold-Shift]", - "tfg.tooltip.lab_equipment.part": "§7Precisely Holds: ", - "tfg.tooltip.lab_equipment.set": "\"§7Does not contain a 5000mB round bottom flask.\"", - "tfg.tooltip.lab_equipment.set_dirty": "\"§7Soon you might discover penicillin if you dont clean this.\"", - "tfg.tooltip.single_itemstack_bus.0": "§6Item Slots: §f1", - "tfg.tooltip.single_itemstack_bus.1": "§6Stack Size: §f1", - "tfg.tooltip.growth_chamber": "This machine can run more recipes at once by increasing the number of layers.", - "tfg.tooltip.wireless_card_1": "Enables wireless connections from any range, even from different planets!", - "tfg.tooltip.wireless_card_2": "Items can still be transferred through the terminal, but at a very high power cost.", - "tfg.tooltip.wireless_card_3": "Use a §dRailgun§r for your interplanetary logistical needs instead.", - "tfg.tooltip.component.blue_ice": "Can be placed inside a Fission Reactor to increase the maximum heat by §90.5§r", - "tfg.tooltip.component.aes_insulation_frame": "Can be placed inside a Fission Reactor to increase the maximum heat by §91§r", - "tfg.tooltip.component.glacian_fur": "Can be placed inside a Fission Reactor to increase the maximum heat by §92§r", - "tfg.tooltip.component.impure_moderate_core_frame": "Can be placed inside a Fission Reactor to increase the maximum heat by §95§r", - "tfg.tooltip.component.moderate_core_frame": "Can be placed inside a Fission Reactor to increase the maximum heat by §910§r", - "tfg.tooltip.component.dry_ice": "Can be used as an input in the Fission Reactor to cool it down, requires a Material Holder", - "tfg.tooltip.component.refrigerant_pellet": "Can be used as an input in the Fission Reactor to cool it down, requires a Material Holder", - "tfg.tooltip.component.nuclear_turbine_1": "§eBase Production:§r 4096 EU/t", - "tfg.tooltip.component.nuclear_turbine_2": "Each Rotor Holder above §5EV§r §7adds§r 10% efficiency and multiplies EU/t by 2.", - "tfg.gui.refrigerator.unify_dates.enabled": "Expiration Date Unification is: §aOn", - "tfg.gui.refrigerator.unify_dates.disabled": "Expiration Date Unification is: §cOff", - "tfg.machine.food_refrigerator_power_usage": "§7Consumes§r %s EU/t §7while active to keep your food fresh.§r", + "tfg.tooltip.lab_equipment.part": "§7Точно содержит: ", + "tfg.tooltip.lab_equipment.set": "\"§7Не содержит круглодонную колбу объемом 5000 мБ.\"", + "tfg.tooltip.lab_equipment.set_dirty": "\"§7Вскоре вы можете изобрести пенициллин, если не будете это чистить.\"", + "tfg.tooltip.single_itemstack_bus.0": "§6Слотов для предметов: §f1", + "tfg.tooltip.single_itemstack_bus.1": "§6Размер стака: §f1", + "tfg.tooltip.growth_chamber": "Эта машина может одновременно выполнять больше рецептов, при увеличивании количество слоев.", + "tfg.tooltip.wireless_card_1": "Обеспечивает беспроводное соединение на любом расстоянии, даже с других планет!", + "tfg.tooltip.wireless_card_2": "Передача предметов через терминал по-прежнему возможна, но с очень высокими затратами энергии.", + "tfg.tooltip.wireless_card_3": "Используйте §dРельсотрон§r для удовлетворения ваших межпланетных логистических потребностей.", + "tfg.tooltip.component.blue_ice": "Может быть размещен в ядерный реактор для увелечения максимального тепла на §90.5§r", + "tfg.tooltip.component.aes_insulation_frame": "Может быть размещен в ядерный реактор для увелечения максимального тепла на §91§r", + "tfg.tooltip.component.glacian_fur": "Может быть размещен в ядерный реактор для увелечения максимального тепла на §92§r", + "tfg.tooltip.component.impure_moderate_core_frame": "Может быть размещен в ядерный реактор для увелечения максимального тепла на §95§r", + "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_2": "Каждый держатель ротора выше §5EV§r §7добавляет§r 10% эффективности и умножает EU/t на 2.", + "tfg.tooltip.component.smr_generator_1": "§eПроиводит:§r 4096 EU/t", + "tfg.tooltip.component.smr_generator_2": "Предназначен для производства энергии из sCO2 с использованием малого модульного реактора.\n Используйте смазку и Ускоритель для повышения эффективности и управления охлаждением ММР.", + "tfg.gui.refrigerator.unify_dates.enabled": "Объединение сроков годности: §aВкл.", + "tfg.gui.refrigerator.unify_dates.disabled": "Объединение сроков годности: §cВыкл.", + "tfg.machine.food_refrigerator_power_usage": "§7Потребляет§r %s EU/t §7во время работы, чтобы сохранить вашу еду.§r", + "tfg.gui.rnr_plow.random_mode": "Рандомизация материалов", + "tfg.gui.rnr_plow.width": "Ширина дорожки: %d Блоков", + "tfg.gui.rnr_plow.empty_crushed_base_course": "§cОтсутствует дробленное основание покрытия!!", + "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": "Credits to Frontiers Team", + "tfg.gui.smr_generator.lubricant_used": "Смазка: %s", + "tfg.gui.smr_generator.booster_used": "Ускоритель: %s", + "tfg.gui.max_energy_per_tick_amps.prefix": "Максимум EU/t:", + "tfg.gui.consumes": "Тратит: ", + "tfg.gui.per_cycle": "за цикл", + "tfg.gui.cycle_duration": "Длительность цикла: ", + "tfg.emi.bacon_requirement": "Бекон - Сырую свинину сначала нужно закоптить", + "tag.item.tfg.dried_fruit": "Сушеный фрукт", "tfc.jei.flint_knapping": "Обработка кремния", "tfc.jei.straw_knapping": "Обработка соломы", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Окрашивание", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index 24581bc08..4877daaa5 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -1316,7 +1316,7 @@ "ore_vein.tfg.mars_coal": "Вугілля і Гематит", "ore_vein.tfg.mars_copper": "Мідь та Халькопірит", "ore_vein.tfg.mars_galena": "Срібло, Гален і Свинець", - "ore_vein.tfg.mars_sapphire": "Золото, Електротин і Боксит", + "ore_vein.tfg.mars_gold": "Золото, Електротин і Боксит", "ore_vein.tfg.mars_graphite": "Графіт і Діамант", "ore_vein.tfg.mars_hematite": "Гематит та Лімоніт", "ore_vein.tfg.mars_lapis": "Лапіс, Лазурит та Содаліт", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index d771e6475..d3726ec77 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1418,7 +1418,7 @@ "ore_vein.tfg.mars_coal": "煤炭, 赤铁矿", "ore_vein.tfg.mars_copper": "铜矿, 黄铜矿", "ore_vein.tfg.mars_galena": "银矿, 方铅矿, 铅矿", - "ore_vein.tfg.mars_sapphire": "金矿, 蓝石, 铝土矿", + "ore_vein.tfg.mars_gold": "金矿, 蓝石, 铝土矿", "ore_vein.tfg.mars_graphite": "石墨, 钻石", "ore_vein.tfg.mars_hematite": "赤铁矿, 褐铁矿", "ore_vein.tfg.mars_lapis": "青金石, 蓝金石, 方钠石", diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_sapphire.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_gold.json similarity index 99% rename from kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_sapphire.json rename to kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_gold.json index b1e2477ad..d6015f44c 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_sapphire.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_gold.json @@ -7,7 +7,7 @@ "density": 0.4, "min_y": 0, "max_y": 70, - "random_name": "mars_sapphire", + "random_name": "mars_gold", "blocks": [ { "replace": [ diff --git a/kubejs/data/tfg/worldgen/placed_feature/mars/vein/mars_sapphire.json b/kubejs/data/tfg/worldgen/placed_feature/mars/vein/mars_gold.json similarity index 69% rename from kubejs/data/tfg/worldgen/placed_feature/mars/vein/mars_sapphire.json rename to kubejs/data/tfg/worldgen/placed_feature/mars/vein/mars_gold.json index 4a01a17d4..d24045ab0 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/mars/vein/mars_sapphire.json +++ b/kubejs/data/tfg/worldgen/placed_feature/mars/vein/mars_gold.json @@ -1,5 +1,5 @@ { "__credits__": "This vein was automatically generated by OresToFieldGuide.", - "feature": "tfg:mars/vein/mars_sapphire", + "feature": "tfg:mars/vein/mars_gold", "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 3ab4438e6..c7a28e84f 100644 --- a/kubejs/server_scripts/tfg/tags.veins.js +++ b/kubejs/server_scripts/tfg/tags.veins.js @@ -69,7 +69,7 @@ const registerTFGOreVeinFeatures = (event) => { event.add('tfg:mars_veins', 'tfg:mars/vein/mars_coal') event.add('tfg:mars_veins', 'tfg:mars/vein/mars_copper') event.add('tfg:mars_veins', 'tfg:mars/vein/mars_galena') - event.add('tfg:mars_veins', 'tfg:mars/vein/mars_sapphire') + event.add('tfg:mars_veins', 'tfg:mars/vein/mars_gold') event.add('tfg:mars_veins', 'tfg:mars/vein/mars_graphite') event.add('tfg:mars_veins', 'tfg:mars/vein/mars_hematite') event.add('tfg:mars_veins', 'tfg:mars/vein/mars_lapis') From 6c1905558b59025537ecf2ea9c2301ddfc2c71e0 Mon Sep 17 00:00:00 2001 From: Yan <115050813@qq.com> Date: Wed, 7 Jan 2026 17:27:15 +0800 Subject: [PATCH 026/474] feat: update zh_cn patchouli books (#2644) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 闫茂源 --- .../arborfirmacraft/earth_tree_index.json | 204 ++++++++++++++++++ .../zh_cn/entries/beneath/piglins.json | 2 +- .../zh_cn/entries/firmaciv/beneath.json | 2 +- .../entries/tfg_tips/mars_tree_index.json | 48 +++++ .../zh_cn/entries/tfg_tips/space_crops.json | 2 +- 5 files changed, 255 insertions(+), 3 deletions(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/earth_tree_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/mars_tree_index.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/earth_tree_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/earth_tree_index.json new file mode 100644 index 000000000..139c9343a --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/earth_tree_index.json @@ -0,0 +1,204 @@ +{ + "name": "地球树木图鉴", + "category": "tfc:arborfirmacraft", + "icon": "afc:wood/sapling/flame_of_the_forest", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "这是世界上所有树木的列表及其适宜生长的气候条件。$(br2)正在寻找特定木材来装饰你的基地?这份列表应该能帮你找到它。列表按木材类型的字母顺序排列。$(br2)同时可查看$(l:tfc:tfg_tips/mars_tree_index)火星蘑菇图鉴$()。" + }, + { + "type": "patchouli:spotlight", + "title": "金合欢,阿拉伯胶树", + "item": "tag:tfc:acacia_logs", + "text": "$(bold)伞状金合欢$()$(br)$(thing)降雨量$(): 90 — 275毫米$(br)$(thing)温度$(): 13.4 — 40°C$(br2)$(bold)夏威夷金合欢$()$(br)$(thing)降雨量$(): 350 — 500毫米$(br)$(thing)温度$(): 15.3 — 24.4°C$(br2)$(bold)阿拉伯胶树$()$(br)$(thing)降雨量$(): 90 — 275毫米$(br)$(thing)温度$(): 11.6 — 40°C" + }, + { + "type": "patchouli:spotlight", + "title": "黑梣", + "item": "tag:tfc:ash_logs", + "text": "$(bold)黑梣$()$(br)$(thing)降雨量$(): 60 — 240毫米$(br)$(thing)温度$(): -13.9 — 0.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "山杨,杨树", + "item": "tag:tfc:aspen_logs", + "text": "$(bold)山杨$()$(br)$(thing)降雨量$(): 350 — 500毫米$(br)$(thing)温度$(): -15.7 — -1.1°C$(br2)$(bold)杨树$()$(br)$(thing)降雨量$(): 170 — 310毫米$(br)$(thing)温度$(): -15.7 — -6.6°C" + }, + { + "type": "patchouli:spotlight", + "title": "猴面包树", + "item": "tag:afc:baobab_logs", + "text": "$(bold)猴面包树$()$(br)$(thing)降雨量$(): 30 — 190毫米$(br)$(thing)温度$(): 15.3 — 26.2°C" + }, + { + "type": "patchouli:spotlight", + "title": "白桦树", + "item": "tag:tfc:birch_logs", + "text": "$(bold)桦树$()$(br)$(thing)降雨量$(): 125 — 310毫米$(br)$(thing)温度$(): -13.9 — 2.5°C" + }, + { + "type": "patchouli:spotlight", + "title": "黑檀树", + "item": "tag:tfc:blackwood_logs", + "text": "$(bold)黑黄檀$()$(br)$(thing)降雨量$(): 85 — 285毫米$(br)$(thing)温度$(): 13.4 — 22.5°C$(br2)$(bold)穆尔加黑檀$()$(br)$(thing)降雨量$(): 35 — 150毫米$(br)$(thing)温度$(): 9.8 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "白雪松树", + "item": "tag:tfc:white_cedar_logs", + "text": "$(bold)白雪松$()$(br)$(thing)降雨量$(): 100 — 220毫米$(br)$(thing)温度$(): -13.9 — 4.3°C$(br2)$(bold)大西洋雪松$()$(br)$(thing)降雨量$(): 165 — 500毫米$(br)$(thing)温度$(): 8.0 — 13.4°C" + }, + { + "type": "patchouli:spotlight", + "title": "栗树", + "item": "tag:tfc:chestnut_logs", + "text": "$(bold)栗树$()$(br)$(thing)降雨量$(): 150 — 300毫米$(br)$(thing)温度$(): -6.6 — 11.6°C" + }, + { + "type": "patchouli:spotlight", + "title": "柏树,红雪松", + "item": "tag:afc:cypress_logs", + "text": "$(bold)细柏$()$(br)$(thing)降雨量$(): 100 — 260毫米$(br)$(thing)温度$(): 2.5 — 15.3°C$(br2)$(bold)秃柏$()$(br)$(thing)降雨量$(): 360 — 500毫米$(br)$(thing)温度$(): -1.1 — 15.3°C$(br2)$(bold)垂柏$()$(br)$(thing)降雨量$(): 290 — 415毫米$(br)$(thing)温度$(): -8.4 — 4.3°C" + }, + { + "type": "patchouli:text", + "text": "$(bold)红雪松$()$(br)$(thing)降雨量$(): 410 — 500毫米$(br)$(thing)温度$(): -4.8 — 9.8°C" + }, + { + "type": "patchouli:spotlight", + "title": "(彩虹)桉树", + "item": "tag:afc:eucalyptus_logs", + "text": "$(bold)蓝桉$()$(br)$(thing)降雨量$(): 170 — 325毫米$(br)$(thing)温度$(): 8.0 — 18.9°C$(br2)$(bold)山楸树$()$(br)$(thing)降雨量$(): 390 — 500毫米$(br)$(thing)温度$(): 9.8 — 18.9°C$(br2)$(bold)彩虹桉$()$(br)$(thing)降雨量$(): 300 — 450毫米$(br)$(thing)温度$(): 15.3 — 24.4°C" + }, + { + "type": "patchouli:spotlight", + "title": "无花果树,橡胶无花果树", + "item": "tag:afc:fig_logs", + "text": "$(bold)无花果树$()$(br)$(thing)降雨量$(): 340 — 500毫米$(br)$(thing)温度$(): 18.9 — 26.2°C$(br2)$(bold)橡胶无花果树$()$(br)$(thing)降雨量$(): 290 — 400毫米$(br)$(thing)温度$(): 9.8 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "冷杉", + "item": "tag:tfc:douglas_fir_logs", + "text": "$(bold)道格拉斯冷杉$()$(br)$(thing)降雨量$(): 305 — 500毫米$(br)$(thing)温度$(): -10.3 — 6.1°C$(br2)$(bold)山冷杉$()$(br)$(thing)降雨量$(): 220 — 345毫米$(br)$(thing)温度$(): -1.1 — 11.6°C$(br2)$(bold)香脂冷杉$()$(br)$(thing)降雨量$(): 210 — 500毫米$(br)$(thing)温度$(): -13.9 — -1.1°C" + }, + { + "type": "patchouli:spotlight", + "title": "三叶胶树", + "item": "tag:afc:hevea_logs", + "text": "$(bold)三叶胶树$()$(br)$(thing)降雨量$(): 390 — 500毫米$(br)$(thing)温度$(): 17.1 — 26.2°C" + }, + { + "type": "patchouli:spotlight", + "title": "山核桃树", + "item": "tag:tfc:hickory_logs", + "text": "$(bold)苦味山核桃$()$(br)$(thing)降雨量$(): 210 — 400毫米$(br)$(thing)温度$(): -6.6 — 11.6°C$(br2)$(bold)矮山核桃$()$(br)$(thing)降雨量$(): 400 — 475毫米$(br)$(thing)温度$(): 11.6 — 17.1°C" + }, + { + "type": "patchouli:spotlight", + "title": "重蚁树", + "item": "tag:afc:ipe_logs", + "text": "$(bold)黄重蚁木$()$(br)$(thing)降雨量$(): 340 — 500毫米$(br)$(thing)温度$(): 11.6 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "铁木", + "item": "tag:afc:ironwood_logs", + "text": "$(bold)王铁木$()$(br)$(thing)降雨量$(): 320 — 430毫米$(br)$(thing)温度$(): 20.7 — 40.0°C$(br2)$(bold)莱邦博铁木$()$(br)$(thing)降雨量$(): 150 — 230毫米$(br)$(thing)温度$(): 20.7 — 40.0°C$(br2)$(bold)马尾铁木$()$(br)$(thing)降雨量$(): 340 — 500毫米$(br)$(thing)温度$(): 9.8 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "木棉树", + "item": "tag:tfc:kapok_logs", + "text": "$(bold)木棉树$()$(br)$(thing)降雨量$(): 360 — 500毫米$(br)$(thing)温度$(): 13.4 — 24.4°C$(br2)$(bold)红丝木棉$()$(br)$(thing)降雨量$(): 250 — 350毫米$(br)$(thing)温度$(): 20.7 — 40.0°C" + }, + { + "type": "patchouli:spotlight", + "title": "桃花心树", + "item": "tag:afc:mahogany_logs", + "text": "$(bold)桃花心树$()$(br)$(thing)降雨量$(): 300 — 430毫米$(br)$(thing)温度$(): 15.3 — 26.2°C$(br2)$(bold)小叶桃花心树$()$(br)$(thing)降雨量$(): 320 — 500毫米$(br)$(thing)温度$(): 11.6 — 18.9°C$(br2)$(bold)沙比利桃花心树$()$(br)$(thing)降雨量$(): 330 — 500毫米$(br)$(thing)温度$(): 13.4 — 26.2°C" + }, + { + "type": "patchouli:spotlight", + "title": "红树林", + "item": "tag:tfc:mangrove_logs", + "text": "$(bold)红树林$()$(br)$(thing)降雨量$(): 220毫米以上$(br)$(thing)温度$(): 18.0°C以上$(br)注:仅在盐沼生物群系生成" + }, + { + "type": "patchouli:spotlight", + "title": "枫树", + "item": "tag:tfc:maple_logs", + "text": "$(bold)糖枫$()$(br)$(thing)降雨量$(): 260 — 360毫米$(br)$(thing)温度$(): -8.4 — 8.0°C$(br2)$(bold)大叶枫$()$(br)$(thing)降雨量$(): 405 — 500毫米$(br)$(thing)温度$(): -4.8 — 11.6°C$(br2)$(bold)凋叶枫$()$(br)$(thing)降雨量$(): 240 — 320毫米$(br)$(thing)温度$(): 0.7 — 4.3°C" + }, + { + "type": "patchouli:spotlight", + "title": "橡树,深色橡树", + "item": "tag:tfc:oak_logs", + "text": "$(bold)橡树$()$(br)$(thing)降雨量$(): 210 — 320毫米$(br)$(thing)温度$(): -8.4 — 6.1°C$(br2)$(bold)槲树$()$(br)$(thing)降雨量$(): 390 — 500毫米$(br)$(thing)温度$(): 0.7 — 13.4°C$(br2)$(bold)深色橡树$()$(br)$(thing)降雨量$(): 150 — 330毫米$(br)$(thing)温度$(): 11.6 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "棕榈树", + "item": "tag:tfc:palm_logs", + "text": "$(bold)棕榈树$()$(br)$(thing)降雨量$(): 0 — 250毫米$(br)$(thing)温度$(): 17.1 — 40.0°C$(br2)$(bold)象牙棕榈$()$(br)$(thing)降雨量$(): 400 — 500毫米$(br)$(thing)温度$(): 20.7 — 26.2°C" + }, + { + "type": "patchouli:spotlight", + "title": "松树", + "item": "tag:tfc:pine_logs", + "text": "$(bold)北方松$()$(br)$(thing)降雨量$(): 60 — 270毫米$(br)$(thing)温度$(): -19.4 — -3.0°C$(br2)$(bold)石松$()$(br)$(thing)降雨量$(): 140 — 290毫米$(br)$(thing)温度$(): 2.5 — 18.9°C$(br2)$(bold)红松$()$(br)$(thing)降雨量$(): 185 — 320毫米$(br)$(thing)温度$(): -8.4 — 4.3°C" + }, + { + "type": "patchouli:text", + "text": "$(bold)北美落叶松$()$(br)$(thing)降雨量$(): 150 — 500毫米$(br)$(thing)温度$(): -17.5 — -1.1°C" + }, + { + "type": "patchouli:spotlight", + "title": "蔷薇树", + "item": "tag:tfc:rosewood_logs", + "text": "$(bold)印度蔷薇树$()$(br)$(thing)降雨量$(): 245 — 360毫米$(br)$(thing)温度$(): 15.3 — 24.4°C$(br2)$(bold)紫檀木$()$(br)$(thing)降雨量$(): 340 — 440毫米$(br)$(thing)温度$(): 15.3 — 22.5°C" + }, + { + "type": "patchouli:spotlight", + "title": "红杉", + "item": "tag:tfc:sequoia_logs", + "text": "$(bold)红杉$()$(br)$(thing)降雨量$(): 320 — 500毫米$(br)$(thing)温度$(): 0.7 — 8.0°C$(br2)$(bold)海岸红木$()$(br)$(thing)降雨量$(): 320 — 500毫米$(br)$(thing)温度$(): 4.3 — 9.8°C" + }, + { + "type": "patchouli:spotlight", + "title": "云杉", + "item": "tag:tfc:spruce_logs", + "text": "$(bold)蓝云杉$()$(br)$(thing)降雨量$(): 330 — 500毫米$(br)$(thing)温度$(): -19.4 — 2.5°C$(br2)$(bold)西海岸云杉$()$(br)$(thing)降雨量$(): 320 — 390毫米$(br)$(thing)温度$(): -12.1 — 6.1°C$(br2)$(bold)西堤卡云杉$()$(br)$(thing)降雨量$(): 370 — 500毫米$(br)$(thing)温度$(): 2.5 — 8.0°C" + }, + { + "type": "patchouli:text", + "text": "$(bold)黑云杉$()$(br)$(thing)降雨量$(): 220 — 360毫米$(br)$(thing)温度$(): -17.5 — -1.1°C" + }, + { + "type": "patchouli:spotlight", + "title": "悬铃木", + "item": "tag:tfc:sycamore_logs", + "text": "$(bold)悬铃木$()$(br)$(thing)降雨量$(): 330 — 480毫米$(br)$(thing)温度$(): -6.6 — 11.6°C" + }, + { + "type": "patchouli:spotlight", + "title": "柚树", + "item": "tag:afc:teak_logs", + "text": "$(bold)柚树$()$(br)$(thing)降雨量$(): 215 — 330毫米$(br)$(thing)温度$(): 13.4 — 26.2°C$(br2)$(bold)伊罗科木$()$(br)$(thing)降雨量$(): 210 — 320毫米$(br)$(thing)温度$(): 17.1 — 40.0°C$(br2)$(bold)凤凰花木$()$(br)$(thing)降雨量$(): 340 — 500毫米$(br)$(thing)温度$(): 13.4 — 24.4°C" + }, + { + "type": "patchouli:spotlight", + "title": "大甘巴豆树", + "item": "tag:afc:tualang_logs", + "text": "$(bold)大甘巴豆木$()$(br)$(thing)降雨量$(): 360 — 500毫米$(br)$(thing)温度$(): 20.7 — 40.0°C" + }, + { + "type": "patchouli:spotlight", + "title": "柳树", + "item": "tag:tfc:willow_logs", + "text": "$(bold)曲柳$()$(br)$(thing)降雨量$(): 330 — 500毫米$(br)$(thing)温度$(): -6.6 — 9.8°C$(br2)$(bold)垂柳$()$(br)$(thing)降雨量$(): 355 — 500毫米$(br)$(thing)温度$(): 9.8 — 17.1°C" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/piglins.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/piglins.json index 1e117dc9a..a29717042 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/piglins.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/piglins.json @@ -22,7 +22,7 @@ }, { "type": "patchouli:text", - "text": "$(li)4-6 硫磺粉$(li)1-2 皮革$(li)6-12 线$(li)6-12 下界石英$(li)12-18 桃花心木材$(li)6-8 桃花心木原木$(li)4-6 熟鹿肉$(li)4-6 鬼椒$(li)4-6 火药$(li)4-8 木炭$(li)6-12 箭矢$(li)6-12 助焊剂$(li)8-12 辉石岩砖$(li)8-12 混合岩砖$(li)8-16 木棍" + "text": "$(li)4-6 硫磺粉$(li)1-2 皮革$(li)6-12 线$(li)6-12 下界石英$(li)12-18 红木木材$(li)6-8 红木原木$(li)4-6 熟鹿肉$(li)4-6 鬼椒$(li)4-6 火药$(li)4-8 木炭$(li)6-12 箭矢$(li)6-12 助焊剂$(li)8-12 辉石岩砖$(li)8-12 混合岩砖$(li)8-16 木棍" }, { "type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/firmaciv/beneath.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/firmaciv/beneath.json index bcaf258e9..bb46ff332 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/firmaciv/beneath.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/firmaciv/beneath.json @@ -1,5 +1,5 @@ { - "name": "幽冥之地", + "name": "火星船舶", "category": "tfc:firmaciv", "icon": "beneath:wood/sapling/crimson", "flag": "mod:beneath", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/mars_tree_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/mars_tree_index.json new file mode 100644 index 000000000..77bb56001 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/mars_tree_index.json @@ -0,0 +1,48 @@ +{ + "name": "火星蘑菇图鉴", + "category": "tfc:arborfirmacraft", + "icon": "tfg:saplings/aeronos", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "这是火星上所有巨型蘑菇的列表及其适宜生长的气候条件。$(br2)正在寻找特定类型的蘑菇柄来装饰你的基地?这份列表应该能帮助你找到它。列表按蘑菇柄类型的字母顺序排列。$(br2)同时可查看$(l:tfc:arborfirmacraft/earth_tree_index)地球树木图鉴$()。" + }, + { + "type": "patchouli:spotlight", + "title": "空果菇", + "item": "ad_astra:aeronos_stem", + "text": "$(bold)空果菇$()$(br)$(thing)温度$(): -100°C及以上$(br)更多出现在东部地区。" + }, + { + "type": "patchouli:spotlight", + "title": "首新世菌", + "item": "species:alphacene_mushroom_block", + "text": "$(bold)首新世菌$()$(br)$(thing)温度$(): -85°C及以上$(br)在东部和西部地区均有出现。" + }, + { + "type": "patchouli:spotlight", + "title": "绯红菌", + "item": "beneath:wood/log/crimson", + "text": "$(bold)绯红菌$()$(br)$(thing)温度$(): -109 — -13°C$(br)更多出现在东部地区。" + }, + { + "type": "patchouli:spotlight", + "title": "霜原菇", + "item": "ad_astra:glacian_log", + "text": "$(bold)霜原菇$()$(br)$(thing)温度$(): -107°C及以下$(br)在东部和西部地区均有出现。" + }, + { + "type": "patchouli:spotlight", + "title": "孑节菇", + "item": "ad_astra:strophar_stem", + "text": "$(bold)孑节菇$()$(br)$(thing)温度$(): -100°C及以上$(br)更多出现在西部地区。" + }, + { + "type": "patchouli:spotlight", + "title": "诡异菌", + "item": "beneath:wood/log/warped", + "text": "$(bold)诡异菌$()$(br)$(thing)温度$(): -109 — -13°C$(br)更多出现在西部地区。" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_crops.json index 6f0d63e1b..4c30eda3e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_crops.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_crops.json @@ -6,7 +6,7 @@ { "type": "patchouli:text", "title": "外星作物", - "text": "事实证明,地球并不是唯一有生命的天体。在你的旅途中,你可能会遇到其他可以食用的生物。在地球上,它们都有你所熟悉的相同机制(有一些例外),可以根据你的需要在普通农田、$(thing)Firmalife$() $(l:firmalife/greenhouse)温室$()或$(thing)格雷科技$()电力温室中种植。" + "text": "事实证明,地球并不是唯一有生命的天体。在你的旅途中,你可能会遇到其他可以食用的植被。在地球上,它们都有你所熟悉的相同机制(有一些例外),可以根据你的需要在普通农田、$(thing)Firmalife$() $(l:firmalife/greenhouse)温室$()或$(thing)格雷科技$()电力温室中种植。" }, { "type": "patchouli:text", From 00df70669dee57b0aa03ddc288b5fc18a6d32e8b Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Wed, 7 Jan 2026 06:23:28 -0700 Subject: [PATCH 027/474] added locometal to Domum Ornamentum whitelist (#2651) Signed-off-by: thederpysockdude123 --- kubejs/server_scripts/domum_ornamentum/tags.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/server_scripts/domum_ornamentum/tags.js b/kubejs/server_scripts/domum_ornamentum/tags.js index 04b05cd50..bd1723a9c 100644 --- a/kubejs/server_scripts/domum_ornamentum/tags.js +++ b/kubejs/server_scripts/domum_ornamentum/tags.js @@ -29,6 +29,7 @@ function registerDomumOrnamentumBlockTags(event) { "#tfc:colored_polished_alabaster", "#tfc:mud_bricks", "#forge:sandstone", + "#railways:locometal", //rnr shingles "rnr:wood/shingles/teak", "rnr:wood/shingles/cypress", From 6cc786632871388f6c884fa04aa407817c65a4a7 Mon Sep 17 00:00:00 2001 From: woopSmile Date: Wed, 7 Jan 2026 08:23:46 -0500 Subject: [PATCH 028/474] Add ModernUI (#2620) * Add Modern UI configuration file Disabled zoom key disable rounded edge set the fonts to match vanilla TFG and maybe a few other tweaks but those are the main one Signed-off-by: woopSmile * Add files via upload Signed-off-by: woopSmile * Disable font atlas resizing and fast text lookup changes required for ModernUI Signed-off-by: woopSmile * Add modernUI remove blur remove Fps Reducer Signed-off-by: woopSmile * complete version of unifont minecraft bundled unifont is incomplete and unsuitable for modernUI use (from the mod author himself) Signed-off-by: woopSmile * Updated client config to use unifont Signed-off-by: woopSmile --------- Signed-off-by: woopSmile Co-authored-by: Pyritie --- config/ModernUI/bootstrap.properties | 3 + config/ModernUI/client.toml | 188 ++++++++++++++++++++++++++ config/ModernUI/text.toml | 102 ++++++++++++++ config/ModernUI/unifont-17.0.03.otf | Bin 0 -> 5321400 bytes config/immediatelyfast.json | 6 +- pakku-lock.json | 191 +++++++++------------------ 6 files changed, 361 insertions(+), 129 deletions(-) create mode 100644 config/ModernUI/bootstrap.properties create mode 100644 config/ModernUI/client.toml create mode 100644 config/ModernUI/text.toml create mode 100644 config/ModernUI/unifont-17.0.03.otf diff --git a/config/ModernUI/bootstrap.properties b/config/ModernUI/bootstrap.properties new file mode 100644 index 000000000..5fa640e0d --- /dev/null +++ b/config/ModernUI/bootstrap.properties @@ -0,0 +1,3 @@ +#Modern UI bootstrap file +#Fri Dec 19 22:14:20 EST 2025 +modernui_mc_disableSmoothScrolling=true diff --git a/config/ModernUI/client.toml b/config/ModernUI/client.toml new file mode 100644 index 000000000..1705cf2d3 --- /dev/null +++ b/config/ModernUI/client.toml @@ -0,0 +1,188 @@ + +#Screen Config +[screen] + #The duration of GUI background color and blur radius animation in milliseconds. (0 = OFF) + #Range: 0 ~ 800 + animationDuration = 200 + #The GUI background color in #RRGGBB or #AARRGGBB format. Default value: #99000000 + #Can be one to four values representing top left, top right, bottom right and bottom left color. + #Multiple values produce a gradient effect, whereas one value produce a solid color. + #When values is less than 4, the rest of the corner color will be replaced by the last value. + backgroundColor = ["#99000000"] + #Add Gaussian blur effect to GUI background when opened. + #Disable this if you run into a problem or are on low-end PCs + blurEffect = true + #This option means that blur effect only applies to GUI screens with a background. + #Similar to Minecraft 1.20.6. Enable this for better optimization & compatibility. + blurWithBackground = true + #The kernel radius for gaussian convolution blur effect, 0 = disable. + #samples per pixel = ((radius * 2) + 1) * 2, sigma = radius / 2. + #Range: 0 ~ 18 + blurRadius = 7 + #A list of GUI screen superclasses that won't activate blur effect when opened. + blurBlacklist = ["net.minecraft.client.gui.screens.ChatScreen"] + #(Beta) Pause the game when inventory (also includes creative mode) opened. + inventoryPause = false + #Framerate limit on window inactive (out of focus or minimized), 0 = no change. + #Range: 0 ~ 255 + framerateInactive = 10 + #Framerate limit on window minimized, 0 = same as framerate inactive. + #This value will be no greater than framerate inactive. + #Range: 0 ~ 255 + framerateMinimized = 0 + #Master volume multiplier on window inactive (out of focus or minimized), 1 = no change. + #Range: 0.0 ~ 1.0 + masterVolumeInactive = 0.5 + #Master volume multiplier on window minimized, 1 = same as master volume inactive. + #This value will be no greater than master volume inactive. + #Range: 0.0 ~ 1.0 + masterVolumeMinimized = 0.25 + +#Tooltip Config +[tooltip] + #Whether to enable Modern UI enhanced tooltip, or back to vanilla default. + enable = true + #Whether to use rounded tooltip shapes, or to use vanilla style. + roundedShape = false + #True to center the tooltip title if rendering an item's tooltip. + #Following lines are not affected by this option. + centerTitle = true + #True to add a title break below the tooltip title line. + #TitleBreak and CenterTitle will work/appear at the same time. + titleBreak = true + #True to exactly position tooltip to pixel grid, smoother movement. + exactPositioning = true + #The tooltip background color in #RRGGBB or #AARRGGBB format. Default: #E6000000 + #Can be one to four values representing top left, top right, bottom right and bottom left color. + #Multiple values produce a gradient effect, whereas one value produces a solid color. + #If less than 4 are provided, repeat the last value. + colorFill = ["#E6000000"] + #The tooltip border color in #RRGGBB or #AARRGGBB format. Default: #F0AADCF0, #F0DAD0F4, #F0FFC3F7 and #F0DAD0F4 + #Can be one to four values representing top left, top right, bottom right and bottom left color. + #Multiple values produce a gradient effect, whereas one value produces a solid color. + #If less than 4 are provided, repeat the last value. + colorStroke = ["#FFC2D0D6", "#FFE7DAE5", "#FFCCDAC8", "#FFC8B9AC"] + #The cycle time of tooltip border color in milliseconds. (0 = OFF) + #Range: 0 ~ 5000 + borderCycleTime = 1000 + #The width of tooltip border, if rounded, in GUI Scale Independent Pixels. + #Range: 0.5 ~ 2.5 + borderWidth = 1.3333333333333333 + #The corner radius of tooltip border, if rounded, in GUI Scale Independent Pixels. + #Range: 0.0 ~ 8.0 + cornerRadius = 4.0 + #The shadow radius of tooltip, if rounded, in GUI Scale Independent Pixels. + #No impact on performance. + #Range: 0.0 ~ 32.0 + shadowRadius = 10.0 + #The shadow opacity of tooltip, if rounded. No impact on performance. + #Range: 0.0 ~ 1.0 + shadowOpacity = 0.25 + #When true, tooltip border colors adapt to item's name and rarity. + adaptiveColors = true + #Amount to scroll the tooltip in response to a arrow key pressed event. + #Range: 0 ~ 320 + arrowScrollFactor = 60 + +#General Config +[general] + #Play a sound effect when the game is loaded. + ding = true + #Specify a sound event to custom the ding sound effect. + #The default is "minecraft:entity.experience_orb.pickup" + dingSound = "" + #Specify a volume multiplier to the ding sound effect. + #Range: 0.0 ~ 10.0 + dingVolume = 0.25 + #Press 'C' key (by default) to zoom 4x, the same as OptiFine's. + #This is auto disabled when OptiFine is installed. + zoom = false + #Control the window mode, normal mode does nothing. + #Allowed Values: NORMAL, FULLSCREEN, FULLSCREEN_BORDERLESS, MAXIMIZED, MAXIMIZED_BORDERLESS, WINDOWED, WINDOWED_BORDERLESS + windowMode = "NORMAL" + #Whether to replace vanilla GUI scale button to slider with tips. + useNewGuiScale = true + #Remove telemetry event of client behaviors. + removeTelemetry = false + #Allow Slack or Discord shortcodes to replace Unicode Emoji Sequences in chat. + emojiShortcodes = true + +#View Config +[view] + #Force layout direction to RTL, otherwise, the current Locale setting. + forceRtl = false + #The global font scale used with sp units. + #Range: 0.5 ~ 2.0 + fontScale = 1.1 + #Default scrollbar size in dips. + #Range: 0 ~ 1024 + scrollbarSize = 4 + #Distance a touch can wander before we think the user is scrolling in dips. + #Range: 0 ~ 1024 + touchSlop = 4 + #Distance a hover can wander while it is still considered "stationary" in dips. + #Range: 0 ~ 1024 + hoverSlop = 4 + #Minimum size of the touch target for a scrollbar in dips. + #Range: 0 ~ 1024 + minScrollbarTouchTarget = 16 + #Minimum velocity to initiate a fling in dips per second. + #Range: 0 ~ 32767 + minimumFlingVelocity = 50 + #Maximum velocity to initiate a fling in dips per second. + #Range: 0 ~ 32767 + maximumFlingVelocity = 8000 + #The coefficient of friction applied to flings/scrolls. + #Range: 0.001 ~ 7.389 + scrollFriction = 0.014999999664723873 + #Max distance in dips to overscroll for edge effects. + #Range: 0 ~ 1024 + overscrollDistance = 0 + #Max distance in dips to overfling for edge effects. + #Range: 0 ~ 1024 + overflingDistance = 12 + #Amount to scroll in response to a vertical scroll event, in dips per axis value. + #Range: 0.0 ~ 1024.0 + verticalScrollFactor = 64.0 + #Amount to scroll in response to a horizontal scroll event, in dips per axis value. + #Range: 0.0 ~ 1024.0 + horizontalScrollFactor = 64.0 + #The duration in milliseconds before a hover event causes a tooltip to be shown. + #Range: 0 ~ 1200 + hoverTooltipShowTimeout = 500 + #The duration in milliseconds before mouse inactivity causes a tooltip to be hidden. + #Range: 3000 ~ 120000 + hoverTooltipHideTimeout = 30000 + +#Font Config +[font] + #The first font family to use. See fallbackFontFamilyList + firstFontFamily = ".\\config\\ModernUI\\unifont-17.0.03.otf" + #A set of fallback font families to determine the typeface to use. + #The order is first > fallbacks. TrueType & OpenType are supported. + #Each element can be one of the following two cases: + #1) Name of registered font family, for instance: Segoe UI + #2) Path of font files on your PC, for instance: /usr/shared/fonts/x.otf + #Registered font families include: + #1) OS builtin fonts. + #2) Font files in fontRegistrationList. + #3) Font files in '/resourcepacks' directory. + #4) Font files under 'modernui:font' in resource packs. + #Note that for TTC/OTC font, you should register it and select one of font families. + #Otherwise, only the first font family from the TrueType/OpenType Collection will be used. + #This is only read once when the game is loaded, you can reload via in-game GUI. + fallbackFontFamilyList = ["Source Han Sans CN Medium", "Noto Sans", "Segoe UI Variable", "Segoe UI", "San Francisco", "Open Sans", "SimHei", "STHeiti", "Segoe UI Symbol", "mui-i18n-compat"] + #A set of additional font files (or directories) to register. + #For TrueType/OpenType Collections, all contained font families will be registered. + #Registered fonts can be referenced in Modern UI and Minecraft (Modern Text Engine). + #For example, "E:/Fonts" means all font files in that directory will be registered. + #System requires random access to these files, you should not remove them while running. + #This is only read once when the game is loaded, i.e. registration. + fontRegistrationList = [] + #Whether to use Google Noto Color Emoji, otherwise grayscale emoji (faster). + #See Unicode 15.0 specification for details on how this affects text layout. + useColorEmoji = true + #When enabled, text layout uses fractional metrics with no font hinting and applies sub-pixel positioning. + #When disabled, text layout uses integer metrics with full font hinting. + linearMetrics = true + diff --git a/config/ModernUI/text.toml b/config/ModernUI/text.toml new file mode 100644 index 000000000..a3397022f --- /dev/null +++ b/config/ModernUI/text.toml @@ -0,0 +1,102 @@ + +#Text Engine Config +[text] + #Allow text renderer to drop shadow, setting to false can improve performance. + allowShadow = true + #Fix resolution level at 2. When the GUI scale increases, the resolution level remains. + #Then GUI scale should be even numbers (2, 4, 6...), based on Minecraft GUI system. + #If your fonts are not bitmap fonts, then you should keep this setting false. + fixedResolution = false + #Control base font size, in GUI scaled pixels. The default and vanilla value is 8. + #For bitmap fonts, 8 represents a glyph size of 8x or 16x if fixed resolution. + #This option only applies to TrueType fonts. + #Range: 6.5 ~ 9.5 + baseFontSize = 7.4 + #Control vertical baseline for vanilla text layout, in GUI scaled pixels. + #The vanilla default value is 7. + #Range: 4.0 ~ 10.0 + baselineShift = 7.0 + #Control the text shadow offset for vanilla text rendering, in GUI scaled pixels. + #Range: 0.20000000298023224 ~ 2.0 + shadowOffset = 0.5 + #Control the text outline offset for vanilla text rendering, in GUI scaled pixels. + #Range: 0.20000000298023224 ~ 2.0 + outlineOffset = 0.5 + #Control the horizontal offset for bitmap fonts, in GUI scaled pixels. + #Range: 0.0 ~ 1.0 + bitmapOffset = 0.5 + #Set the recycle time of layout cache in seconds, using least recently used algorithm. + #Range: 2 ~ 15 + cacheLifespan = 6 + #The bidirectional text heuristic algorithm. The default is FirstStrong (Locale). + #This will affect which BiDi algorithm to use during text layout. + #Allowed Values: FIRST_STRONG, ANY_RTL, LTR, RTL, LOCALE, FIRST_STRONG_LTR, FIRST_STRONG_RTL + textDirection = "FIRST_STRONG" + #Whether to use Modern UI text rendering pipeline in 3D world. + #Disabling this means that SDF text and rendering optimization are no longer effective. + #But text rendering can be compatible with OptiFine Shaders and Iris Shaders. + #This does not affect text rendering in GUI. + #This option only applies to TrueType fonts. + useTextShadersInWorld = true + #For "minecraft:default" font, should we keep some glyph providers of them? + #Ignore All: Only use Modern UI typeface list. + #Keep ASCII: Include minecraft:font/ascii.png, minecraft:font/accented.png, minecraft:font/nonlatin_european.png + #Keep Other: Include providers other than ASCII and Unicode font. + #Keep All: Include all except Unicode font. + #Only Include: Only include providers that specified by defaultFontRuleSet. + #Only Exclude: Only exclude providers that specified by defaultFontRuleSet. + #Allowed Values: IGNORE_ALL, KEEP_ASCII, KEEP_OTHER, KEEP_ALL, ONLY_INCLUDE, ONLY_EXCLUDE + defaultFontBehavior = "KEEP_ALL" + #Used when defaultFontBehavior is either ONLY_INCLUDE or ONLY_EXCLUDE. + #This specifies a set of regular expressions to match the glyph provider name. + #For bitmap providers, this is the texture path without 'textures/'. + #For TTF providers, this is the TTF file path without 'font/'. + #For space providers, this is "font_name / minecraft:space", + #where font_name is font definition path without 'font/'. + defaultFontRuleSet = ["^minecraft:font\\/(nonlatin_european|accented|ascii|element_ideographs|cjk_punctuations|ellipsis|2em_dash)\\.png$", "^minecraft:include\\/space \\/ minecraft:space$", "^minecraft:font\\/(mcsans|emoji)_05_00\\d.png$", "minecraft:uniform"] + #Whether to use text component object as hash key to lookup in layout cache. + #If you find that Modern UI text rendering is not compatible with some mods, + #you can disable this option for compatibility, but this will decrease performance a bit. + #Modern UI will use another cache strategy if this is disabled. + useComponentCache = true + #Allow text layout to be computed from background threads (not cached). + #Otherwise, block the current thread and wait for main thread. + allowAsyncLayout = true + #See CSS line-break property, https://developer.mozilla.org/en-US/docs/Web/CSS/line-break + #Allowed Values: AUTO, LOOSE, NORMAL, STRICT + lineBreakStyle = "AUTO" + #Allowed Values: AUTO, PHRASE + lineBreakWordStyle = "AUTO" + #When enabled, Modern UI will compute texel density in device-space to determine whether to use SDF text or bilinear sampling. + #This feature requires GLSL 400 or has no effect. + #This generally decreases performance but provides better rendering quality. + #This option only applies to TrueType fonts. May not be compatible with OptiFine. + smartSDFShaders = true + #When rendering in 2D, this option allows Modern UI to exactly compute font size in device-space from the current coordinate transform matrix. + #This provides perfect text rendering for scaling-down texts in vanilla, but may increase GPU memory usage. + #When disabled, Modern UI will use SDF text rendering if appropriate. + #This option only applies to TrueType fonts. + computeDeviceFontSize = true + #When enabled, Modern UI will use SDF text rendering if appropriate. + #Otherwise, it uses nearest-neighbor or bilinear sampling based on texel density. + #This option only applies to TrueType fonts. + allowSDFTextIn2D = true + #When enabled, the outline of the experience level text will be tweaked. + tweakExperienceText = true + #Control the anti-aliasing of raw glyph rasterization. + antiAliasing = false + #When enabled, text layout uses fractional metrics with no font hinting. + #When disabled, text layout uses integer metrics with full font hinting. + #Disable if on low-res monitor; enable for linear text. + linearMetrics = false + #Control the minimum pixel density for SDF text and text in 3D world rendering. + #This value will be no less than current GUI scale. + #Recommend setting a higher value on high-res monitor and powerful PC hardware. + #Range: 4 ~ 10 + minPixelDensityForSDF = 10 + #Enable linear sampling for A8 font atlases with mipmaps, mag filter will be always + #NEAREST. We prefer computeDeviceFontSize and allowSDFTextIn2D, then setting this to + #false can improve performance. If either of the above two is false or Shaders are active, + #then setting this to true can improve readability. + linearSamplingA8Atlas = false + diff --git a/config/ModernUI/unifont-17.0.03.otf b/config/ModernUI/unifont-17.0.03.otf new file mode 100644 index 0000000000000000000000000000000000000000..914005397523135470fd4d5be99855c0d467c01d GIT binary patch literal 5321400 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

CZGX5HmBFVP?o;W|(bec+(iWai#z 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 z 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

?3gA_glmz-@aPI}hb(1HPTEJvCi-K0MOcsMD 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

9dyVTzNr$_ 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ŕCizhGchZXantB61|;~-yx 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 ^4h5M2DbGPp2FD?o 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

s<@Wym`Q_lQEF^!z0}`Cuz-#YO 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

Etu5RuJH)#8jZtKC@ONQ8v7}S~#I?4?cCLmLh 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

wGQec^$)E-*xK!wGht~F>H7?++0}2&T^9bC4 z24$lD$+EG!M7{m;N@3?7D|EE zD}ZtUsMP}<-NLeh8&c_mCZKTklu(XF!d{eMi&Ai1T@9L=hqU~_!3B;&5CMu;P;mmz zDUelt)&29?)4@$fND6H42dyI~xj^wpj&E3#azErW2Uvhj2Os}T-qO*8V1GN%M5EeDD$m(1v?( zMF7eWpmSNk9-Z93xIY_opm2M8GiWdzHcAF=yG)*pR);|+Yrx?IYR5o3=Gc=QBssxK z_x9zWz5v7H^<$gS^Z2OSZBXegpK8{5I>_kh%chS4DD8(U`ubYL{7*$8qb z$hnAo3Ecn%I!Fi3bfk1v^TTG zBk!2S=`y61K_Gh(MIXo|plkq|z5q1k3y2ixk{>Jq3n?=o zr37ej2UL0WgX%a@&@D-z(Sga+r?dBqA@j1^!2=xgA-((Ra!@M|RQ`b4&yd^&8t4S) zA20zLX$IAWprp*+3|^^6fsRd0d(4r6G#MxpX4aCPKXuT(>qy<-U5cjZW*NYafUkqB? z0P4bmT6X>I^=z|egRV;h=dkwncDCwj^wqlA7@PX09>Gk!XVRg`kr9VjO$2Qp14q40%Ik^n9&%1v*`(iOr z!-d4aX>NzqMxYY~L0JJ5sh}`vZeI*OU9Ww4bv|SpC^+t5)deVjvNyMbt}s~44%$Ww zNs8?G+2D33)J2d;gOHE|?TB|Bc-3A#XhjpKB>@gLNc9RDu?4q>L7imK9Ymn9!T#Bx z>2FY}4Q{*lvp2_s4xOFf-aj96!^UKG=sG8Gr=}S+n-2ExV;=SX$J}o zP`9PNe>Qj_3V0kCRMssAos|Nrr$B3h+Ch~&Xr={JiGmu+pn+>paDfV8&=3)LsUfKQ z4w;k#b>C;#gAcm_ox|P^n|>~awAZkQ5yUCr@d;3+14+!_lmePjgY>n)t!q$FftSpJ zgR6NmXlM`I>IEk<&?Fq_JS0%j3~IcXqHa|kkN9bTFBv!Gz z6NpmwBj(ru7yZ}{0$cZ5P5hEaw19?HVffw|F zBteb>9kT!y?C&oJP0mf8JsEV57Dx(|G(f@C4$3E!*_*SG)@kB6lnfMCkOT%E!hw{a zpvB6dmOVINARPwK6j(ECAqdDWNFx-K3_(o*P?iK$exM;h_Qhh=&7ji&LG$6z1uT#Q zjlr_b<=`FPkdgFkNM{-}*?}m)(Six=@&10$Xk_vH_F_=03^b_>KAjhw%Rt$d9bEsT zPg?XZ29554@+m09AlU`HJf^uG)L-qN%)S`ZW@~2yw=Y4F3&Nl}wj4AS+F#$_4r;og z)=y~81DTAgeIe!zZVyccCGE+ptMl7ePX~4T%BLr{w@*F|s+d6KIJAiY>cO`+vq5># zF>gq*pN>2ijxRfcCL%%Ux*yh70Izfc6;7ae6VTBq@b)06BZ?@f!1WKfF9XiO@uHxc zw?JtL6#AeGRiFcX)BD-6^)(4}pOEw3($fqM+##KIn5EeZ;RW>C`0s@kl?r-OI5g1S>Ipp*tlP0;gdu%u&@0uvMvkbzpz=Ck&C&;bpgDh@USg0gC&x|;gK zwJ5GZPC}^R(+*h`0PgRAmOV5hd9}J)w0t>ue=W%S&^dA3MKxjz9cU(HeLrN|252r0 zbhi@dE)dX+KV+I1)Gh+Ge?he;D5yYbXEG?MfcA{EgWKqk0tYhD2JRJt1wiE_sDw`M zUpyalms>Tcf<{~o1**+JBXNig^Pt`-D6wHZ$^b{v1Fqpf$!9s}Y_k69e)ek6$|LY3 zcr)mTAm}+){g6d*p#8|8{w8^CC~zqZDtf@X?k3kamxC@-0_81GUH}!Ti@^Z`&Q4j!Os2M~zosGNgG9s;NK~9{ApN(2=#pqV1Ex`=3Fl#WjnzgC^F9I5H3= z)j|>mY~|W=(BUVLGz028g0pEm=t|@Md{Da)mXbgxenR#}PiF@mRtC!BpoSc@x8FP& zRJ4JT5@_A4Nbm#~<1}%ews#UNPLFiB>PUr>eyxd22@Mz0J&RVk>JfjX$Yx*xPU9#RQ3gLiF$Vhqx}1iKS-fD|Yr zgEnb2gJw-8gI35@w^!pI>OxF~fC@0u!Vq+r4CoAK&?pNiV}Q;v19=9N&ZdKor|a*p zp3Ghi+Qkey%MEhuPC?ei7q++KI*b9dU;z|n;8Fv0pdjRayXtDuXi%G{ zef4Be&kcNQBDne53_k5}GGuEosA~cqF9F@s2ENw=oSgf&gHjpjTpehG8Qd&`@3ex{ zUZ9(o`-xnX3s2jiX72ia(8a&i?Vx2qv%wZ2ihI;xu5PBV*1&8I;V7m-jiJ@EK?B#I zyfqmzl`|cZ#Xuh2+z*-^s0YOwsPJsB2aN-Q>K{;t4wT}-X$u^9U;-r64qEaAT9*o5 zp#s{RfO7jbmNbOJanr@BmxBWebTa|yHd@fg9i)^6jTM7?nxG7Vy!Q(19?<;C?Ag`q z)$Q;jJ)pBxs1yDKf(g{I0Aom{3u?;rvxBY&0GD8(0s`8v1UKhEDk0tU{>7l)2WX}I z)yhO1@Jz5$Pfo;q@W(Wu>soH!al|f8j6EfF8%%S;La52 zUdHL*lZa+d1|3fe8ae=D&>9d>FCBC^4!CXv4PJuQ%0fmaK*oTs!-Mstru}JD8E^*} z)T9M%MO_Tql?&d_-#ob(JYNNBvx6gGI`|+lP?vc+sOtqf`xa5y7DL9HLCs+B{UP8= z4HSgn$N`nR_$CuTjs)+V=m%YPFdcMfIH+_(s!c&lA={znZh}t{1f|gWe)e=oL#Lhv z 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 l_1ZluvHQ*oOq_D$WNv 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Ξ?MhIM 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Ô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 z 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

HJB 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�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

C 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%0AW4Y7I3oz7{q2jZi$O>7LDy2u2QR5uJ{iL* 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 Xl98Cnz{kJ>+8BU@A?kP-_#k2c9R2~* literal 0 HcmV?d00001 diff --git a/config/immediatelyfast.json b/config/immediatelyfast.json index 5180ad4e1..e62573203 100644 --- a/config/immediatelyfast.json +++ b/config/immediatelyfast.json @@ -1,9 +1,9 @@ { "REGULAR_INFO": "----- Regular config values below -----", - "font_atlas_resizing": true, + "font_atlas_resizing": false, "map_atlas_generation": true, "hud_batching": false, - "fast_text_lookup": true, + "fast_text_lookup": false, "fast_buffer_upload": true, "COSMETIC_INFO": "----- Cosmetic only config values below (Does not optimize anything) -----", "dont_add_info_into_debug_hud": false, @@ -18,4 +18,4 @@ "debug_only_and_not_recommended_disable_hardware_conflict_handling": false, "debug_only_print_additional_error_information": false, "debug_only_use_last_usage_for_batch_ordering": false -} \ No newline at end of file +} diff --git a/pakku-lock.json b/pakku-lock.json index 60abd76d6..836f354bd 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -1888,69 +1888,6 @@ } ] }, - { - "pakku_id": "Yr24iolwXV9aFEWV", - "type": "MOD", - "side": "CLIENT", - "slug": { - "curseforge": "blur-forge", - "modrinth": "blur-forge" - }, - "name": { - "curseforge": "Blur (Forge)", - "modrinth": "Blur Forge (Unofficial)" - }, - "id": { - "curseforge": "823106", - "modrinth": "o4Wx4DUB" - }, - "files": [ - { - "type": "curseforge", - "file_name": "blur-forge-3.1.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/4906/217/blur-forge-3.1.1.jar", - "id": "4906217", - "parent_id": "823106", - "hashes": { - "sha1": "562f34155f3849463449aeb1ab54cc7064e4bc86", - "md5": "1eb8a13698f8d4204094b5ea189c31d3" - }, - "required_dependencies": [], - "size": 177259, - "date_published": "2023-11-27T16:15:39.520Z" - }, - { - "type": "modrinth", - "file_name": "blur-forge-3.1.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/o4Wx4DUB/versions/NOiJG3oF/blur-forge-3.1.1.jar", - "id": "NOiJG3oF", - "parent_id": "o4Wx4DUB", - "hashes": { - "sha512": "9d35f532c40ca55eb054188e6293b6f57eecdb748da9bdbf68a0c2567101c09d62ac66f652602f0567247fe0fc6f5fc4d95fdc6c034ee22544d4ff2d3ae723c3", - "sha1": "562f34155f3849463449aeb1ab54cc7064e4bc86" - }, - "required_dependencies": [], - "size": 177259, - "date_published": "2023-11-27T16:15:44.263909Z" - } - ] - }, { "pakku_id": "bDQUB8zljVVWf9mE", "type": "MOD", @@ -5636,69 +5573,6 @@ } ] }, - { - "pakku_id": "xHhmCkdwwzSP9oLD", - "type": "MOD", - "side": "CLIENT", - "slug": { - "curseforge": "fps-reducer", - "modrinth": "fps-reducer" - }, - "name": { - "curseforge": "FPS Reducer", - "modrinth": "FPS Reducer" - }, - "id": { - "curseforge": "280294", - "modrinth": "iZ10HXDj" - }, - "files": [ - { - "type": "curseforge", - "file_name": "FpsReducer2-forge-1.20.1-2.5.1.jar", - "mc_versions": [ - "1.20.1", - "1.20" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6791/399/FpsReducer2-forge-1.20.1-2.5.1.jar", - "id": "6791399", - "parent_id": "280294", - "hashes": { - "sha1": "4920a2e1d17090007179a568181624847fba0993", - "md5": "d17bad88d746c21dcd37f16257a1e84d" - }, - "required_dependencies": [], - "size": 125660, - "date_published": "2025-07-20T14:53:34.933Z" - }, - { - "type": "modrinth", - "file_name": "FpsReducer2-forge-1.20.1-2.5.1.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/iZ10HXDj/versions/UfMtCXs7/FpsReducer2-forge-1.20.1-2.5.1.jar", - "id": "UfMtCXs7", - "parent_id": "iZ10HXDj", - "hashes": { - "sha512": "b6123d73602e8909f71d71ff5fe78e3cd8dc1628645c82e4d0ca5bdc93c9a2cb3135a9bada7ffa6f5dbcb34142bf05f9546f44896df7be6f5f3f1fb804d735cd", - "sha1": "4920a2e1d17090007179a568181624847fba0993" - }, - "required_dependencies": [], - "size": 125660, - "date_published": "2025-07-22T00:03:21.002137Z" - } - ] - }, { "pakku_id": "DNPr6iL9YKiQI0Wu", "pakku_links": [ @@ -9374,6 +9248,71 @@ } ] }, + { + "pakku_id": "DBqtXgbdT2kqVKUh", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "modern-ui", + "modrinth": "modern-ui" + }, + "name": { + "curseforge": "Modern UI", + "modrinth": "Modern UI" + }, + "id": { + "curseforge": "352491", + "modrinth": "3sjzyvGR" + }, + "files": [ + { + "type": "curseforge", + "file_name": "ModernUI-Forge-1.20.1-3.12.0.1-universal.jar", + "mc_versions": [ + "1.20.1", + "1.20" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6956/345/ModernUI-Forge-1.20.1-3.12.0.1-universal.jar", + "id": "6956345", + "parent_id": "352491", + "hashes": { + "sha1": "fcebe51e3c2ca34793f9b132fa05b5494ffc76a4", + "md5": "5b863668f0de88993289ba098c77dcff" + }, + "required_dependencies": [], + "size": 25104473, + "date_published": "2025-09-02T16:33:54.937Z" + }, + { + "type": "modrinth", + "file_name": "ModernUI-Forge-1.20.1-3.12.0.1-universal.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/3sjzyvGR/versions/6ksT8CWg/ModernUI-Forge-1.20.1-3.12.0.1-universal.jar", + "id": "6ksT8CWg", + "parent_id": "3sjzyvGR", + "hashes": { + "sha512": "cf9a1bfa25f956a9277639da833a86d59a6a55bc690b6c03d4292bb240cb775c32ecf7ae253db7779757e2c74c5adf2c272c4ecdb35b907027de3ec7534bbd27", + "sha1": "fcebe51e3c2ca34793f9b132fa05b5494ffc76a4" + }, + "required_dependencies": [], + "size": 25104473, + "date_published": "2025-09-02T16:36:27.248973Z" + } + ] + }, { "pakku_id": "vLkSeib1zFzTMcPF", "type": "MOD", From fddf28c13a295101bb7a79616a81e67d9c146e6f Mon Sep 17 00:00:00 2001 From: Yan <115050813@qq.com> Date: Wed, 7 Jan 2026 21:45:29 +0800 Subject: [PATCH 029/474] Fix category of tfg_tips/mars_tree_index from tfc:arborfirmacraft to tfc:tfg_tips (#2652) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: update zh_cn patchouli books * fix: fix category of tfg_tips/mars_tree_index from tfc:arborfirmacraft to tfc:tfg_tips --------- Co-authored-by: 闫茂源 --- .../field_guide/en_us/entries/tfg_tips/mars_tree_index.json | 2 +- .../field_guide/zh_cn/entries/tfg_tips/mars_tree_index.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/mars_tree_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/mars_tree_index.json index 6310f1897..8b8a0a592 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/mars_tree_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/mars_tree_index.json @@ -1,6 +1,6 @@ { "name": "Mars Mushroom Index", - "category": "tfc:arborfirmacraft", + "category": "tfc:tfg_tips", "icon": "tfg:saplings/aeronos", "read_by_default": true, "pages": [ diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/mars_tree_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/mars_tree_index.json index 77bb56001..62d819f07 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/mars_tree_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/mars_tree_index.json @@ -1,12 +1,12 @@ { "name": "火星蘑菇图鉴", - "category": "tfc:arborfirmacraft", + "category": "tfc:tfg_tips", "icon": "tfg:saplings/aeronos", "read_by_default": true, "pages": [ { "type": "patchouli:text", - "text": "这是火星上所有巨型蘑菇的列表及其适宜生长的气候条件。$(br2)正在寻找特定类型的蘑菇柄来装饰你的基地?这份列表应该能帮助你找到它。列表按蘑菇柄类型的字母顺序排列。$(br2)同时可查看$(l:tfc:arborfirmacraft/earth_tree_index)地球树木图鉴$()。" + "text": "这是火星上所有巨型蘑菇的列表及其适宜生长的气候条件。$(br2)正在寻找特定类型的菌柄来装饰你的基地?这份列表应该能帮助你找到它。列表按菌柄类型的字母顺序排列。$(br2)同时可查看$(l:tfc:arborfirmacraft/earth_tree_index)地球树木图鉴$()。" }, { "type": "patchouli:spotlight", From 11544b1cceacea228a978761492e03db6b263e3c Mon Sep 17 00:00:00 2001 From: Inceitious <124896643+Inceitious@users.noreply.github.com> Date: Thu, 8 Jan 2026 02:03:12 +0800 Subject: [PATCH 030/474] Feature/new greens and browns (#2653) * New greens and browns * huh * Revert "huh" This reverts commit 75d84143c447f8c3eba8efbbaabfc693de7510e6. * huh --- config/ModernUI/client.toml | 376 ++++++++++++------------- config/ModernUI/text.toml | 204 +++++++------- kubejs/server_scripts/gregtech/tags.js | 3 + kubejs/server_scripts/tfc/tags.js | 5 + 4 files changed, 298 insertions(+), 290 deletions(-) diff --git a/config/ModernUI/client.toml b/config/ModernUI/client.toml index 1705cf2d3..f35fcfd8d 100644 --- a/config/ModernUI/client.toml +++ b/config/ModernUI/client.toml @@ -1,188 +1,188 @@ - -#Screen Config -[screen] - #The duration of GUI background color and blur radius animation in milliseconds. (0 = OFF) - #Range: 0 ~ 800 - animationDuration = 200 - #The GUI background color in #RRGGBB or #AARRGGBB format. Default value: #99000000 - #Can be one to four values representing top left, top right, bottom right and bottom left color. - #Multiple values produce a gradient effect, whereas one value produce a solid color. - #When values is less than 4, the rest of the corner color will be replaced by the last value. - backgroundColor = ["#99000000"] - #Add Gaussian blur effect to GUI background when opened. - #Disable this if you run into a problem or are on low-end PCs - blurEffect = true - #This option means that blur effect only applies to GUI screens with a background. - #Similar to Minecraft 1.20.6. Enable this for better optimization & compatibility. - blurWithBackground = true - #The kernel radius for gaussian convolution blur effect, 0 = disable. - #samples per pixel = ((radius * 2) + 1) * 2, sigma = radius / 2. - #Range: 0 ~ 18 - blurRadius = 7 - #A list of GUI screen superclasses that won't activate blur effect when opened. - blurBlacklist = ["net.minecraft.client.gui.screens.ChatScreen"] - #(Beta) Pause the game when inventory (also includes creative mode) opened. - inventoryPause = false - #Framerate limit on window inactive (out of focus or minimized), 0 = no change. - #Range: 0 ~ 255 - framerateInactive = 10 - #Framerate limit on window minimized, 0 = same as framerate inactive. - #This value will be no greater than framerate inactive. - #Range: 0 ~ 255 - framerateMinimized = 0 - #Master volume multiplier on window inactive (out of focus or minimized), 1 = no change. - #Range: 0.0 ~ 1.0 - masterVolumeInactive = 0.5 - #Master volume multiplier on window minimized, 1 = same as master volume inactive. - #This value will be no greater than master volume inactive. - #Range: 0.0 ~ 1.0 - masterVolumeMinimized = 0.25 - -#Tooltip Config -[tooltip] - #Whether to enable Modern UI enhanced tooltip, or back to vanilla default. - enable = true - #Whether to use rounded tooltip shapes, or to use vanilla style. - roundedShape = false - #True to center the tooltip title if rendering an item's tooltip. - #Following lines are not affected by this option. - centerTitle = true - #True to add a title break below the tooltip title line. - #TitleBreak and CenterTitle will work/appear at the same time. - titleBreak = true - #True to exactly position tooltip to pixel grid, smoother movement. - exactPositioning = true - #The tooltip background color in #RRGGBB or #AARRGGBB format. Default: #E6000000 - #Can be one to four values representing top left, top right, bottom right and bottom left color. - #Multiple values produce a gradient effect, whereas one value produces a solid color. - #If less than 4 are provided, repeat the last value. - colorFill = ["#E6000000"] - #The tooltip border color in #RRGGBB or #AARRGGBB format. Default: #F0AADCF0, #F0DAD0F4, #F0FFC3F7 and #F0DAD0F4 - #Can be one to four values representing top left, top right, bottom right and bottom left color. - #Multiple values produce a gradient effect, whereas one value produces a solid color. - #If less than 4 are provided, repeat the last value. - colorStroke = ["#FFC2D0D6", "#FFE7DAE5", "#FFCCDAC8", "#FFC8B9AC"] - #The cycle time of tooltip border color in milliseconds. (0 = OFF) - #Range: 0 ~ 5000 - borderCycleTime = 1000 - #The width of tooltip border, if rounded, in GUI Scale Independent Pixels. - #Range: 0.5 ~ 2.5 - borderWidth = 1.3333333333333333 - #The corner radius of tooltip border, if rounded, in GUI Scale Independent Pixels. - #Range: 0.0 ~ 8.0 - cornerRadius = 4.0 - #The shadow radius of tooltip, if rounded, in GUI Scale Independent Pixels. - #No impact on performance. - #Range: 0.0 ~ 32.0 - shadowRadius = 10.0 - #The shadow opacity of tooltip, if rounded. No impact on performance. - #Range: 0.0 ~ 1.0 - shadowOpacity = 0.25 - #When true, tooltip border colors adapt to item's name and rarity. - adaptiveColors = true - #Amount to scroll the tooltip in response to a arrow key pressed event. - #Range: 0 ~ 320 - arrowScrollFactor = 60 - -#General Config -[general] - #Play a sound effect when the game is loaded. - ding = true - #Specify a sound event to custom the ding sound effect. - #The default is "minecraft:entity.experience_orb.pickup" - dingSound = "" - #Specify a volume multiplier to the ding sound effect. - #Range: 0.0 ~ 10.0 - dingVolume = 0.25 - #Press 'C' key (by default) to zoom 4x, the same as OptiFine's. - #This is auto disabled when OptiFine is installed. - zoom = false - #Control the window mode, normal mode does nothing. - #Allowed Values: NORMAL, FULLSCREEN, FULLSCREEN_BORDERLESS, MAXIMIZED, MAXIMIZED_BORDERLESS, WINDOWED, WINDOWED_BORDERLESS - windowMode = "NORMAL" - #Whether to replace vanilla GUI scale button to slider with tips. - useNewGuiScale = true - #Remove telemetry event of client behaviors. - removeTelemetry = false - #Allow Slack or Discord shortcodes to replace Unicode Emoji Sequences in chat. - emojiShortcodes = true - -#View Config -[view] - #Force layout direction to RTL, otherwise, the current Locale setting. - forceRtl = false - #The global font scale used with sp units. - #Range: 0.5 ~ 2.0 - fontScale = 1.1 - #Default scrollbar size in dips. - #Range: 0 ~ 1024 - scrollbarSize = 4 - #Distance a touch can wander before we think the user is scrolling in dips. - #Range: 0 ~ 1024 - touchSlop = 4 - #Distance a hover can wander while it is still considered "stationary" in dips. - #Range: 0 ~ 1024 - hoverSlop = 4 - #Minimum size of the touch target for a scrollbar in dips. - #Range: 0 ~ 1024 - minScrollbarTouchTarget = 16 - #Minimum velocity to initiate a fling in dips per second. - #Range: 0 ~ 32767 - minimumFlingVelocity = 50 - #Maximum velocity to initiate a fling in dips per second. - #Range: 0 ~ 32767 - maximumFlingVelocity = 8000 - #The coefficient of friction applied to flings/scrolls. - #Range: 0.001 ~ 7.389 - scrollFriction = 0.014999999664723873 - #Max distance in dips to overscroll for edge effects. - #Range: 0 ~ 1024 - overscrollDistance = 0 - #Max distance in dips to overfling for edge effects. - #Range: 0 ~ 1024 - overflingDistance = 12 - #Amount to scroll in response to a vertical scroll event, in dips per axis value. - #Range: 0.0 ~ 1024.0 - verticalScrollFactor = 64.0 - #Amount to scroll in response to a horizontal scroll event, in dips per axis value. - #Range: 0.0 ~ 1024.0 - horizontalScrollFactor = 64.0 - #The duration in milliseconds before a hover event causes a tooltip to be shown. - #Range: 0 ~ 1200 - hoverTooltipShowTimeout = 500 - #The duration in milliseconds before mouse inactivity causes a tooltip to be hidden. - #Range: 3000 ~ 120000 - hoverTooltipHideTimeout = 30000 - -#Font Config -[font] - #The first font family to use. See fallbackFontFamilyList - firstFontFamily = ".\\config\\ModernUI\\unifont-17.0.03.otf" - #A set of fallback font families to determine the typeface to use. - #The order is first > fallbacks. TrueType & OpenType are supported. - #Each element can be one of the following two cases: - #1) Name of registered font family, for instance: Segoe UI - #2) Path of font files on your PC, for instance: /usr/shared/fonts/x.otf - #Registered font families include: - #1) OS builtin fonts. - #2) Font files in fontRegistrationList. - #3) Font files in '/resourcepacks' directory. - #4) Font files under 'modernui:font' in resource packs. - #Note that for TTC/OTC font, you should register it and select one of font families. - #Otherwise, only the first font family from the TrueType/OpenType Collection will be used. - #This is only read once when the game is loaded, you can reload via in-game GUI. - fallbackFontFamilyList = ["Source Han Sans CN Medium", "Noto Sans", "Segoe UI Variable", "Segoe UI", "San Francisco", "Open Sans", "SimHei", "STHeiti", "Segoe UI Symbol", "mui-i18n-compat"] - #A set of additional font files (or directories) to register. - #For TrueType/OpenType Collections, all contained font families will be registered. - #Registered fonts can be referenced in Modern UI and Minecraft (Modern Text Engine). - #For example, "E:/Fonts" means all font files in that directory will be registered. - #System requires random access to these files, you should not remove them while running. - #This is only read once when the game is loaded, i.e. registration. - fontRegistrationList = [] - #Whether to use Google Noto Color Emoji, otherwise grayscale emoji (faster). - #See Unicode 15.0 specification for details on how this affects text layout. - useColorEmoji = true - #When enabled, text layout uses fractional metrics with no font hinting and applies sub-pixel positioning. - #When disabled, text layout uses integer metrics with full font hinting. - linearMetrics = true - + +#Screen Config +[screen] + #The duration of GUI background color and blur radius animation in milliseconds. (0 = OFF) + #Range: 0 ~ 800 + animationDuration = 200 + #The GUI background color in #RRGGBB or #AARRGGBB format. Default value: #99000000 + #Can be one to four values representing top left, top right, bottom right and bottom left color. + #Multiple values produce a gradient effect, whereas one value produce a solid color. + #When values is less than 4, the rest of the corner color will be replaced by the last value. + backgroundColor = ["#99000000"] + #Add Gaussian blur effect to GUI background when opened. + #Disable this if you run into a problem or are on low-end PCs + blurEffect = true + #This option means that blur effect only applies to GUI screens with a background. + #Similar to Minecraft 1.20.6. Enable this for better optimization & compatibility. + blurWithBackground = true + #The kernel radius for gaussian convolution blur effect, 0 = disable. + #samples per pixel = ((radius * 2) + 1) * 2, sigma = radius / 2. + #Range: 0 ~ 18 + blurRadius = 7 + #A list of GUI screen superclasses that won't activate blur effect when opened. + blurBlacklist = ["net.minecraft.client.gui.screens.ChatScreen"] + #(Beta) Pause the game when inventory (also includes creative mode) opened. + inventoryPause = false + #Framerate limit on window inactive (out of focus or minimized), 0 = no change. + #Range: 0 ~ 255 + framerateInactive = 10 + #Framerate limit on window minimized, 0 = same as framerate inactive. + #This value will be no greater than framerate inactive. + #Range: 0 ~ 255 + framerateMinimized = 0 + #Master volume multiplier on window inactive (out of focus or minimized), 1 = no change. + #Range: 0.0 ~ 1.0 + masterVolumeInactive = 0.5 + #Master volume multiplier on window minimized, 1 = same as master volume inactive. + #This value will be no greater than master volume inactive. + #Range: 0.0 ~ 1.0 + masterVolumeMinimized = 0.25 + +#Tooltip Config +[tooltip] + #Whether to enable Modern UI enhanced tooltip, or back to vanilla default. + enable = true + #Whether to use rounded tooltip shapes, or to use vanilla style. + roundedShape = false + #True to center the tooltip title if rendering an item's tooltip. + #Following lines are not affected by this option. + centerTitle = true + #True to add a title break below the tooltip title line. + #TitleBreak and CenterTitle will work/appear at the same time. + titleBreak = true + #True to exactly position tooltip to pixel grid, smoother movement. + exactPositioning = true + #The tooltip background color in #RRGGBB or #AARRGGBB format. Default: #E6000000 + #Can be one to four values representing top left, top right, bottom right and bottom left color. + #Multiple values produce a gradient effect, whereas one value produces a solid color. + #If less than 4 are provided, repeat the last value. + colorFill = ["#E6000000"] + #The tooltip border color in #RRGGBB or #AARRGGBB format. Default: #F0AADCF0, #F0DAD0F4, #F0FFC3F7 and #F0DAD0F4 + #Can be one to four values representing top left, top right, bottom right and bottom left color. + #Multiple values produce a gradient effect, whereas one value produces a solid color. + #If less than 4 are provided, repeat the last value. + colorStroke = ["#FFC2D0D6", "#FFE7DAE5", "#FFCCDAC8", "#FFC8B9AC"] + #The cycle time of tooltip border color in milliseconds. (0 = OFF) + #Range: 0 ~ 5000 + borderCycleTime = 1000 + #The width of tooltip border, if rounded, in GUI Scale Independent Pixels. + #Range: 0.5 ~ 2.5 + borderWidth = 1.3333333333333333 + #The corner radius of tooltip border, if rounded, in GUI Scale Independent Pixels. + #Range: 0.0 ~ 8.0 + cornerRadius = 4.0 + #The shadow radius of tooltip, if rounded, in GUI Scale Independent Pixels. + #No impact on performance. + #Range: 0.0 ~ 32.0 + shadowRadius = 10.0 + #The shadow opacity of tooltip, if rounded. No impact on performance. + #Range: 0.0 ~ 1.0 + shadowOpacity = 0.25 + #When true, tooltip border colors adapt to item's name and rarity. + adaptiveColors = true + #Amount to scroll the tooltip in response to a arrow key pressed event. + #Range: 0 ~ 320 + arrowScrollFactor = 60 + +#General Config +[general] + #Play a sound effect when the game is loaded. + ding = true + #Specify a sound event to custom the ding sound effect. + #The default is "minecraft:entity.experience_orb.pickup" + dingSound = "" + #Specify a volume multiplier to the ding sound effect. + #Range: 0.0 ~ 10.0 + dingVolume = 0.25 + #Press 'C' key (by default) to zoom 4x, the same as OptiFine's. + #This is auto disabled when OptiFine is installed. + zoom = false + #Control the window mode, normal mode does nothing. + #Allowed Values: NORMAL, FULLSCREEN, FULLSCREEN_BORDERLESS, MAXIMIZED, MAXIMIZED_BORDERLESS, WINDOWED, WINDOWED_BORDERLESS + windowMode = "NORMAL" + #Whether to replace vanilla GUI scale button to slider with tips. + useNewGuiScale = true + #Remove telemetry event of client behaviors. + removeTelemetry = false + #Allow Slack or Discord shortcodes to replace Unicode Emoji Sequences in chat. + emojiShortcodes = true + +#View Config +[view] + #Force layout direction to RTL, otherwise, the current Locale setting. + forceRtl = false + #The global font scale used with sp units. + #Range: 0.5 ~ 2.0 + fontScale = 1.1 + #Default scrollbar size in dips. + #Range: 0 ~ 1024 + scrollbarSize = 4 + #Distance a touch can wander before we think the user is scrolling in dips. + #Range: 0 ~ 1024 + touchSlop = 4 + #Distance a hover can wander while it is still considered "stationary" in dips. + #Range: 0 ~ 1024 + hoverSlop = 4 + #Minimum size of the touch target for a scrollbar in dips. + #Range: 0 ~ 1024 + minScrollbarTouchTarget = 16 + #Minimum velocity to initiate a fling in dips per second. + #Range: 0 ~ 32767 + minimumFlingVelocity = 50 + #Maximum velocity to initiate a fling in dips per second. + #Range: 0 ~ 32767 + maximumFlingVelocity = 8000 + #The coefficient of friction applied to flings/scrolls. + #Range: 0.001 ~ 7.389 + scrollFriction = 0.014999999664723873 + #Max distance in dips to overscroll for edge effects. + #Range: 0 ~ 1024 + overscrollDistance = 0 + #Max distance in dips to overfling for edge effects. + #Range: 0 ~ 1024 + overflingDistance = 12 + #Amount to scroll in response to a vertical scroll event, in dips per axis value. + #Range: 0.0 ~ 1024.0 + verticalScrollFactor = 64.0 + #Amount to scroll in response to a horizontal scroll event, in dips per axis value. + #Range: 0.0 ~ 1024.0 + horizontalScrollFactor = 64.0 + #The duration in milliseconds before a hover event causes a tooltip to be shown. + #Range: 0 ~ 1200 + hoverTooltipShowTimeout = 500 + #The duration in milliseconds before mouse inactivity causes a tooltip to be hidden. + #Range: 3000 ~ 120000 + hoverTooltipHideTimeout = 30000 + +#Font Config +[font] + #The first font family to use. See fallbackFontFamilyList + firstFontFamily = ".\\config\\ModernUI\\unifont-17.0.03.otf" + #A set of fallback font families to determine the typeface to use. + #The order is first > fallbacks. TrueType & OpenType are supported. + #Each element can be one of the following two cases: + #1) Name of registered font family, for instance: Segoe UI + #2) Path of font files on your PC, for instance: /usr/shared/fonts/x.otf + #Registered font families include: + #1) OS builtin fonts. + #2) Font files in fontRegistrationList. + #3) Font files in '/resourcepacks' directory. + #4) Font files under 'modernui:font' in resource packs. + #Note that for TTC/OTC font, you should register it and select one of font families. + #Otherwise, only the first font family from the TrueType/OpenType Collection will be used. + #This is only read once when the game is loaded, you can reload via in-game GUI. + fallbackFontFamilyList = ["Source Han Sans CN Medium", "Noto Sans", "Segoe UI Variable", "Segoe UI", "San Francisco", "Open Sans", "SimHei", "STHeiti", "Segoe UI Symbol", "mui-i18n-compat"] + #A set of additional font files (or directories) to register. + #For TrueType/OpenType Collections, all contained font families will be registered. + #Registered fonts can be referenced in Modern UI and Minecraft (Modern Text Engine). + #For example, "E:/Fonts" means all font files in that directory will be registered. + #System requires random access to these files, you should not remove them while running. + #This is only read once when the game is loaded, i.e. registration. + fontRegistrationList = [] + #Whether to use Google Noto Color Emoji, otherwise grayscale emoji (faster). + #See Unicode 15.0 specification for details on how this affects text layout. + useColorEmoji = true + #When enabled, text layout uses fractional metrics with no font hinting and applies sub-pixel positioning. + #When disabled, text layout uses integer metrics with full font hinting. + linearMetrics = true + diff --git a/config/ModernUI/text.toml b/config/ModernUI/text.toml index a3397022f..b0cf659de 100644 --- a/config/ModernUI/text.toml +++ b/config/ModernUI/text.toml @@ -1,102 +1,102 @@ - -#Text Engine Config -[text] - #Allow text renderer to drop shadow, setting to false can improve performance. - allowShadow = true - #Fix resolution level at 2. When the GUI scale increases, the resolution level remains. - #Then GUI scale should be even numbers (2, 4, 6...), based on Minecraft GUI system. - #If your fonts are not bitmap fonts, then you should keep this setting false. - fixedResolution = false - #Control base font size, in GUI scaled pixels. The default and vanilla value is 8. - #For bitmap fonts, 8 represents a glyph size of 8x or 16x if fixed resolution. - #This option only applies to TrueType fonts. - #Range: 6.5 ~ 9.5 - baseFontSize = 7.4 - #Control vertical baseline for vanilla text layout, in GUI scaled pixels. - #The vanilla default value is 7. - #Range: 4.0 ~ 10.0 - baselineShift = 7.0 - #Control the text shadow offset for vanilla text rendering, in GUI scaled pixels. - #Range: 0.20000000298023224 ~ 2.0 - shadowOffset = 0.5 - #Control the text outline offset for vanilla text rendering, in GUI scaled pixels. - #Range: 0.20000000298023224 ~ 2.0 - outlineOffset = 0.5 - #Control the horizontal offset for bitmap fonts, in GUI scaled pixels. - #Range: 0.0 ~ 1.0 - bitmapOffset = 0.5 - #Set the recycle time of layout cache in seconds, using least recently used algorithm. - #Range: 2 ~ 15 - cacheLifespan = 6 - #The bidirectional text heuristic algorithm. The default is FirstStrong (Locale). - #This will affect which BiDi algorithm to use during text layout. - #Allowed Values: FIRST_STRONG, ANY_RTL, LTR, RTL, LOCALE, FIRST_STRONG_LTR, FIRST_STRONG_RTL - textDirection = "FIRST_STRONG" - #Whether to use Modern UI text rendering pipeline in 3D world. - #Disabling this means that SDF text and rendering optimization are no longer effective. - #But text rendering can be compatible with OptiFine Shaders and Iris Shaders. - #This does not affect text rendering in GUI. - #This option only applies to TrueType fonts. - useTextShadersInWorld = true - #For "minecraft:default" font, should we keep some glyph providers of them? - #Ignore All: Only use Modern UI typeface list. - #Keep ASCII: Include minecraft:font/ascii.png, minecraft:font/accented.png, minecraft:font/nonlatin_european.png - #Keep Other: Include providers other than ASCII and Unicode font. - #Keep All: Include all except Unicode font. - #Only Include: Only include providers that specified by defaultFontRuleSet. - #Only Exclude: Only exclude providers that specified by defaultFontRuleSet. - #Allowed Values: IGNORE_ALL, KEEP_ASCII, KEEP_OTHER, KEEP_ALL, ONLY_INCLUDE, ONLY_EXCLUDE - defaultFontBehavior = "KEEP_ALL" - #Used when defaultFontBehavior is either ONLY_INCLUDE or ONLY_EXCLUDE. - #This specifies a set of regular expressions to match the glyph provider name. - #For bitmap providers, this is the texture path without 'textures/'. - #For TTF providers, this is the TTF file path without 'font/'. - #For space providers, this is "font_name / minecraft:space", - #where font_name is font definition path without 'font/'. - defaultFontRuleSet = ["^minecraft:font\\/(nonlatin_european|accented|ascii|element_ideographs|cjk_punctuations|ellipsis|2em_dash)\\.png$", "^minecraft:include\\/space \\/ minecraft:space$", "^minecraft:font\\/(mcsans|emoji)_05_00\\d.png$", "minecraft:uniform"] - #Whether to use text component object as hash key to lookup in layout cache. - #If you find that Modern UI text rendering is not compatible with some mods, - #you can disable this option for compatibility, but this will decrease performance a bit. - #Modern UI will use another cache strategy if this is disabled. - useComponentCache = true - #Allow text layout to be computed from background threads (not cached). - #Otherwise, block the current thread and wait for main thread. - allowAsyncLayout = true - #See CSS line-break property, https://developer.mozilla.org/en-US/docs/Web/CSS/line-break - #Allowed Values: AUTO, LOOSE, NORMAL, STRICT - lineBreakStyle = "AUTO" - #Allowed Values: AUTO, PHRASE - lineBreakWordStyle = "AUTO" - #When enabled, Modern UI will compute texel density in device-space to determine whether to use SDF text or bilinear sampling. - #This feature requires GLSL 400 or has no effect. - #This generally decreases performance but provides better rendering quality. - #This option only applies to TrueType fonts. May not be compatible with OptiFine. - smartSDFShaders = true - #When rendering in 2D, this option allows Modern UI to exactly compute font size in device-space from the current coordinate transform matrix. - #This provides perfect text rendering for scaling-down texts in vanilla, but may increase GPU memory usage. - #When disabled, Modern UI will use SDF text rendering if appropriate. - #This option only applies to TrueType fonts. - computeDeviceFontSize = true - #When enabled, Modern UI will use SDF text rendering if appropriate. - #Otherwise, it uses nearest-neighbor or bilinear sampling based on texel density. - #This option only applies to TrueType fonts. - allowSDFTextIn2D = true - #When enabled, the outline of the experience level text will be tweaked. - tweakExperienceText = true - #Control the anti-aliasing of raw glyph rasterization. - antiAliasing = false - #When enabled, text layout uses fractional metrics with no font hinting. - #When disabled, text layout uses integer metrics with full font hinting. - #Disable if on low-res monitor; enable for linear text. - linearMetrics = false - #Control the minimum pixel density for SDF text and text in 3D world rendering. - #This value will be no less than current GUI scale. - #Recommend setting a higher value on high-res monitor and powerful PC hardware. - #Range: 4 ~ 10 - minPixelDensityForSDF = 10 - #Enable linear sampling for A8 font atlases with mipmaps, mag filter will be always - #NEAREST. We prefer computeDeviceFontSize and allowSDFTextIn2D, then setting this to - #false can improve performance. If either of the above two is false or Shaders are active, - #then setting this to true can improve readability. - linearSamplingA8Atlas = false - + +#Text Engine Config +[text] + #Allow text renderer to drop shadow, setting to false can improve performance. + allowShadow = true + #Fix resolution level at 2. When the GUI scale increases, the resolution level remains. + #Then GUI scale should be even numbers (2, 4, 6...), based on Minecraft GUI system. + #If your fonts are not bitmap fonts, then you should keep this setting false. + fixedResolution = false + #Control base font size, in GUI scaled pixels. The default and vanilla value is 8. + #For bitmap fonts, 8 represents a glyph size of 8x or 16x if fixed resolution. + #This option only applies to TrueType fonts. + #Range: 6.5 ~ 9.5 + baseFontSize = 7.4 + #Control vertical baseline for vanilla text layout, in GUI scaled pixels. + #The vanilla default value is 7. + #Range: 4.0 ~ 10.0 + baselineShift = 7.0 + #Control the text shadow offset for vanilla text rendering, in GUI scaled pixels. + #Range: 0.20000000298023224 ~ 2.0 + shadowOffset = 0.5 + #Control the text outline offset for vanilla text rendering, in GUI scaled pixels. + #Range: 0.20000000298023224 ~ 2.0 + outlineOffset = 0.5 + #Control the horizontal offset for bitmap fonts, in GUI scaled pixels. + #Range: 0.0 ~ 1.0 + bitmapOffset = 0.5 + #Set the recycle time of layout cache in seconds, using least recently used algorithm. + #Range: 2 ~ 15 + cacheLifespan = 6 + #The bidirectional text heuristic algorithm. The default is FirstStrong (Locale). + #This will affect which BiDi algorithm to use during text layout. + #Allowed Values: FIRST_STRONG, ANY_RTL, LTR, RTL, LOCALE, FIRST_STRONG_LTR, FIRST_STRONG_RTL + textDirection = "FIRST_STRONG" + #Whether to use Modern UI text rendering pipeline in 3D world. + #Disabling this means that SDF text and rendering optimization are no longer effective. + #But text rendering can be compatible with OptiFine Shaders and Iris Shaders. + #This does not affect text rendering in GUI. + #This option only applies to TrueType fonts. + useTextShadersInWorld = true + #For "minecraft:default" font, should we keep some glyph providers of them? + #Ignore All: Only use Modern UI typeface list. + #Keep ASCII: Include minecraft:font/ascii.png, minecraft:font/accented.png, minecraft:font/nonlatin_european.png + #Keep Other: Include providers other than ASCII and Unicode font. + #Keep All: Include all except Unicode font. + #Only Include: Only include providers that specified by defaultFontRuleSet. + #Only Exclude: Only exclude providers that specified by defaultFontRuleSet. + #Allowed Values: IGNORE_ALL, KEEP_ASCII, KEEP_OTHER, KEEP_ALL, ONLY_INCLUDE, ONLY_EXCLUDE + defaultFontBehavior = "KEEP_ALL" + #Used when defaultFontBehavior is either ONLY_INCLUDE or ONLY_EXCLUDE. + #This specifies a set of regular expressions to match the glyph provider name. + #For bitmap providers, this is the texture path without 'textures/'. + #For TTF providers, this is the TTF file path without 'font/'. + #For space providers, this is "font_name / minecraft:space", + #where font_name is font definition path without 'font/'. + defaultFontRuleSet = ["^minecraft:font\\/(nonlatin_european|accented|ascii|element_ideographs|cjk_punctuations|ellipsis|2em_dash)\\.png$", "^minecraft:include\\/space \\/ minecraft:space$", "^minecraft:font\\/(mcsans|emoji)_05_00\\d.png$", "minecraft:uniform"] + #Whether to use text component object as hash key to lookup in layout cache. + #If you find that Modern UI text rendering is not compatible with some mods, + #you can disable this option for compatibility, but this will decrease performance a bit. + #Modern UI will use another cache strategy if this is disabled. + useComponentCache = true + #Allow text layout to be computed from background threads (not cached). + #Otherwise, block the current thread and wait for main thread. + allowAsyncLayout = true + #See CSS line-break property, https://developer.mozilla.org/en-US/docs/Web/CSS/line-break + #Allowed Values: AUTO, LOOSE, NORMAL, STRICT + lineBreakStyle = "AUTO" + #Allowed Values: AUTO, PHRASE + lineBreakWordStyle = "AUTO" + #When enabled, Modern UI will compute texel density in device-space to determine whether to use SDF text or bilinear sampling. + #This feature requires GLSL 400 or has no effect. + #This generally decreases performance but provides better rendering quality. + #This option only applies to TrueType fonts. May not be compatible with OptiFine. + smartSDFShaders = true + #When rendering in 2D, this option allows Modern UI to exactly compute font size in device-space from the current coordinate transform matrix. + #This provides perfect text rendering for scaling-down texts in vanilla, but may increase GPU memory usage. + #When disabled, Modern UI will use SDF text rendering if appropriate. + #This option only applies to TrueType fonts. + computeDeviceFontSize = true + #When enabled, Modern UI will use SDF text rendering if appropriate. + #Otherwise, it uses nearest-neighbor or bilinear sampling based on texel density. + #This option only applies to TrueType fonts. + allowSDFTextIn2D = true + #When enabled, the outline of the experience level text will be tweaked. + tweakExperienceText = true + #Control the anti-aliasing of raw glyph rasterization. + antiAliasing = false + #When enabled, text layout uses fractional metrics with no font hinting. + #When disabled, text layout uses integer metrics with full font hinting. + #Disable if on low-res monitor; enable for linear text. + linearMetrics = false + #Control the minimum pixel density for SDF text and text in 3D world rendering. + #This value will be no less than current GUI scale. + #Recommend setting a higher value on high-res monitor and powerful PC hardware. + #Range: 4 ~ 10 + minPixelDensityForSDF = 10 + #Enable linear sampling for A8 font atlases with mipmaps, mag filter will be always + #NEAREST. We prefer computeDeviceFontSize and allowSDFTextIn2D, then setting this to + #false can improve performance. If either of the above two is false or Shaders are active, + #then setting this to true can improve readability. + linearSamplingA8Atlas = false + diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 338f388a7..ac057b6e0 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -44,6 +44,9 @@ function registerGTCEUItemTags(event) { // @ts-expect-error According to KJS docs adding tags to tags is supported. event.add("gtceu:molds", "#gtceu:casting_molds", "#gtceu:extruder_molds", "gtceu:empty_mold"); + //greens + event.add('tfc:compost_greens', 'gtceu:bio_chaff'); + event.add('tfc:compost_greens', 'gtceu:plant_ball'); } /** @param {TagEvent.Block} event */ diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index fcd635f26..218163d42 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -407,6 +407,11 @@ function registerTFCItemTags(event) { 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') + + //greens and browns + event.remove('tfc:compost_browns_low', '#tfc:fallen_leaves') + event.add('tfc:compost_greens_low', '#tfc:fallen_leaves') + event.add('tfc:compost_greens_low', '#minecraft:leaves') } /** @param {TagEvent.Block} event */ From f4aa5f06143d1cb0ab9b88f39626b8840895a09f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 7 Jan 2026 22:52:42 +0000 Subject: [PATCH 031/474] does this stop the earth bug spawns? --- .../forge/biome_modifier/ap_mob_spawns.json | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 kubejs/data/arthropocolypse/forge/biome_modifier/ap_mob_spawns.json diff --git a/kubejs/data/arthropocolypse/forge/biome_modifier/ap_mob_spawns.json b/kubejs/data/arthropocolypse/forge/biome_modifier/ap_mob_spawns.json new file mode 100644 index 000000000..306abb6ed --- /dev/null +++ b/kubejs/data/arthropocolypse/forge/biome_modifier/ap_mob_spawns.json @@ -0,0 +1,25 @@ +{ + "type": "forge:remove_spawns", + "biomes": { + "type": "forge:any" + }, + "entity_types": [ + "arthropocolypse:scarab", + "arthropocolypse:prairie_grasshopper", + "arthropocolypse:field_cricket", + "arthropocolypse:ice_crawler", + "arthropocolypse:behemoth_desert_spider", + "arthropocolypse:behemoth_desert_scorpion", + "arthropocolypse:worker_ant", + "arthropocolypse:soldier_ant", + "arthropocolypse:stag_beetle", + "arthropocolypse:stag_beetle_larva", + "arthropocolypse:wharf_roach", + "arthropocolypse:platerodrilus", + "arthropocolypse:mealworm_beetle", + "arthropocolypse:mealworm", + "arthropocolypse:millipede_head", + "arthropocolypse:millipede_body", + "arthropocolypse:millipede_tail" + ] +} \ No newline at end of file From bec8ffee423ae1456bbcf60dd3e0be19f55feae7 Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Wed, 7 Jan 2026 17:17:28 -0700 Subject: [PATCH 032/474] moved cut and copy paste gadgets to EV (#2660) Signed-off-by: thederpysockdude123 --- .../server_scripts/buildinggadgets2/recipes.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/kubejs/server_scripts/buildinggadgets2/recipes.js b/kubejs/server_scripts/buildinggadgets2/recipes.js index 391c1031e..78faf77b2 100644 --- a/kubejs/server_scripts/buildinggadgets2/recipes.js +++ b/kubejs/server_scripts/buildinggadgets2/recipes.js @@ -29,11 +29,11 @@ const registerBuildingGadgetsRecipes = (event) => { // Copy Paste Gadget event.recipes.gtceu.assembler('buildinggadgets2:/assembler/gadget_copy_paste') - .itemInputs('1x gtceu:iv_emitter','2x gtceu:iv_fluid_regulator','6x #forge:plates/tungsten_steel', '2x gtceu:iv_robot_arm', '1x gtceu:computer_monitor_cover', '1x gtceu:lapotron_crystal', '1x ae2:spatial_storage_cell_2') + .itemInputs('1x gtceu:ev_emitter','2x gtceu:ev_fluid_regulator','6x #forge:plates/titanium', '2x gtceu:ev_robot_arm', '1x gtceu:computer_monitor_cover', '1x #gtceu:batteries/ev', '1x ae2:spatial_storage_cell_2', '3x #forge:double_plates/ostrum') .circuit(4) .itemOutputs('buildinggadgets2:gadget_copy_paste') .duration(160) - .EUt(8100) + .EUt(1925) .addMaterialInfo(true) // Dustruction Gadget @@ -47,11 +47,19 @@ const registerBuildingGadgetsRecipes = (event) => { // Cut Paste Gadget event.recipes.gtceu.assembler('buildinggadgets2:/assembler/gadget_cut_paste') - .itemInputs('1x gtceu:iv_sensor','2x gtceu:iv_fluid_regulator','6x #forge:plates/tungsten_steel', '2x gtceu:iv_robot_arm', '1x gtceu:computer_monitor_cover', '1x gtceu:energy_crystal', '1x ae2:inverter_card') + .itemInputs('1x gtceu:ev_sensor','2x gtceu:ev_fluid_regulator','6x #forge:plates/titanium', '2x gtceu:ev_robot_arm', '1x gtceu:computer_monitor_cover', '1x #gtceu:batteries/ev', '1x ae2:inverter_card', '1x species:kinetic_core') .circuit(4) .itemOutputs('buildinggadgets2:gadget_cut_paste') .duration(160) - .EUt(8100) + .EUt(1925) + .addMaterialInfo(true) + + event.recipes.gtceu.assembler('buildinggadgets2:/assembler/gadget_cut_paste_iv_circuits') + .itemInputs('1x gtceu:ev_sensor','2x gtceu:ev_fluid_regulator','6x #forge:plates/titanium', '2x gtceu:ev_robot_arm', '1x gtceu:computer_monitor_cover', '1x #gtceu:batteries/ev', '1x ae2:inverter_card', '2x #gtceu:circuits/iv') + .circuit(4) + .itemOutputs('buildinggadgets2:gadget_cut_paste') + .duration(160) + .EUt(1925) .addMaterialInfo(true) // Template Manager From 4bfcd6f7d44c203df0ef15a5998f0acee365f58a Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Wed, 7 Jan 2026 17:45:52 -0700 Subject: [PATCH 033/474] removed sandworm spawning in the vanilla Minecraft desert biome (#2662) Signed-off-by: thederpysockdude123 --- kubejs/server_scripts/tfg/mars/tags.mars.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js index 202f69c27..f5147aafe 100644 --- a/kubejs/server_scripts/tfg/mars/tags.mars.js +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -335,6 +335,7 @@ function registerTFGMarsBiomeTags(event) { event.add('sandworm_mod:can_spawn_sandworms', 'tfg:mars/martian_dunes') event.add('sandworm_mod:can_spawn_sandworms', 'tfg:mars/martian_deep_desert') + event.remove('sandworm_mod:can_spawn_sandworms', 'minecraft:desert') event.add('tfg:has_dark_sand_particles', 'tfg:mars/martian_dunes') event.add('tfg:has_dark_sand_particles', 'tfg:mars/martian_deep_desert') @@ -526,4 +527,4 @@ function registerTFGMarsPlacedFeatures(event) { event.add("tfg:mars_top_layer_modification", "tfg:glow_lichen") event.add("tfg:mars_top_layer_modification", "tfc:surface_loose_rocks") event.add("tfg:mars_top_layer_modification", "tfg:mars/terrain/mars_poles") -} \ No newline at end of file +} From dd0b6b7e09603c3f0e9437280f6d8aac9ad93d7c Mon Sep 17 00:00:00 2001 From: Xikaro Date: Thu, 8 Jan 2026 07:47:27 +0500 Subject: [PATCH 034/474] fix: #2659 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1f8183581..c696d30f4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -327,11 +327,11 @@ jobs: sed -i -e "s/DEV/${VERSION}/g" pakku.json - sed -i -e "s/DEV/${VERSION}/g" .github/docker/docker-compose.yml sed -i -e "s/DEV/${VERSION}/g" config/mod-director/modpack.json sed -i -e "s/DEV/${VERSION}/g" config/fancymenu/customization/gui_main_menu.txt sed -i -e "s/DEV/${VERSION}/g" .pakku/multimc-overrides/instance.cfg sed -i -e "s/DEV/${VERSION}/g" .pakku/server-overrides/server.properties + sed -i -e "s/DEV/${VERSION}/g" .pakku/docker-overrides/docker-compose.yml sed -i -e "s/LOADER_VERSION/${LOADER_VERSION}/g" .pakku/multimc-overrides/mmc-pack.json From 0a19d09a43c79b7a299e12872c1c2bb33d41f0c1 Mon Sep 17 00:00:00 2001 From: Redeix Date: Thu, 8 Jan 2026 00:49:22 -0600 Subject: [PATCH 035/474] Volcanic Glass Tube Casting (#2667) No glass batch to tube recipe. Tubes can only be made from glass dust which is a bit annoying. I figured volcanic glass makes sense since its high temp? idk Signed-off-by: Redeix --- kubejs/server_scripts/gregtech/recipes.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 90f5c6cef..1bde3751f 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -409,4 +409,14 @@ const registerGTCEURecipes = (event) => { .itemOutputs('tfg:paracetamol_pill') .duration(3 * 20) .EUt(GTValues.VA[GTValues.LV]) + + // Volcanic Glass Tube + event.recipes.gtceu.alloy_smelter('tfg:tube_from_volcanic_glass_batch') + .itemInputs('tfc:volcanic_glass_batch') + .notConsumable('gtceu:ball_casting_mold') + .itemOutputs('gtceu:glass_tube') + .duration(8 * 20) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.INGOT_MOLDING) + .addMaterialInfo(true); } From 31167b7effe941de03a3baad04fc18138c0102f3 Mon Sep 17 00:00:00 2001 From: Redeix Date: Thu, 8 Jan 2026 00:50:26 -0600 Subject: [PATCH 036/474] Update CHANGELOG Signed-off-by: Redeix --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5053afa0..23ec1ccf5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - The crucible now holds 4608mB (32 ingots) instead of 4032mB (28 ingots) (#2634) @Pyritie - Large gears can now be crafted in an anvil/mechanical press @Pyritie - Added tree index field guide entries for Earth and Mars (#2638) @Jeuvke +- Added recipe to make tubes from volcanic glass batches (#2667) @Redeix ### Bug fixes - Fixed not being able to craft Paracetamol or Rad-Away @Pyritie - Water wheels now spin the correct direction in rivers (#2450) @zehmaria From 70c25711f11ca9041e87ea8e38e849b2a6b3b8bd Mon Sep 17 00:00:00 2001 From: Redeix Date: Thu, 8 Jan 2026 00:53:26 -0600 Subject: [PATCH 037/474] I guess this makes it support fluids? Signed-off-by: Redeix --- kubejs/server_scripts/gregtech/recipes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 1bde3751f..b962c0e26 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -418,5 +418,5 @@ const registerGTCEURecipes = (event) => { .duration(8 * 20) .EUt(GTValues.VA[GTValues.LV]) .category(GTRecipeCategories.INGOT_MOLDING) - .addMaterialInfo(true); + .addMaterialInfo(); } From 45c28807e2613102fd5e29da5e55273a06f2c589 Mon Sep 17 00:00:00 2001 From: Petr211071 <55793813+Petr211071@users.noreply.github.com> Date: Thu, 8 Jan 2026 13:42:59 +0300 Subject: [PATCH 038/474] Ru_Ru sticky resin (#2663) * Sticky resin * Add lang files and translation for irrigation --- .../arborfirmacraft/earth_tree_index.json | 205 ++++++++++++++++++ .../arborfirmacraft/making_rubber.json | 49 +++++ .../arborfirmacraft/tapping_index.json | 142 ++++++++++++ .../entries/arborfirmacraft/tree_tapping.json | 34 +++ .../ru_ru/entries/firmalife/irrigation.json | 28 +++ .../entries/roadsandroofs/concrete_roads.json | 63 ++++++ .../entries/roadsandroofs/paving_cart.json | 48 ++++ .../ru_ru/entries/tfg_tips/faqs.json | 2 +- 8 files changed, 570 insertions(+), 1 deletion(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/earth_tree_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/making_rubber.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/tapping_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/tree_tapping.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmalife/irrigation.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/concrete_roads.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/paving_cart.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/earth_tree_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/earth_tree_index.json new file mode 100644 index 000000000..139e48c0b --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/earth_tree_index.json @@ -0,0 +1,205 @@ +{ + "name": "Earth Tree Index", + "category": "tfc:arborfirmacraft", + "icon": "afc:wood/sapling/flame_of_the_forest", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "This is a list of every tree in the world, and what climates they grow in.$(br2)Looking for particular wood type to decorate your base? This should help you find it. The list is sorted alphabetically by wood type.$(br2)Also check out the $(l:tfc:tfg_tips/mars_tree_index)Mars Mushroom Index$()." + }, + { + "type": "patchouli:spotlight", + "title": "Acacia, Gum Arabic", + "item": "tag:tfc:acacia_logs", + "text": "$(bold)Umbrella Thorn Acacia$()$(br)$(thing)Rainfall$(): 90 — 275mm$(br)$(thing)Temperature$(): 13.4 — 40°C$(br2)$(bold)Acacia Koa$()$(br)$(thing)Rainfall$(): 350 — 500mm$(br)$(thing)Temperature$(): 15.3 — 24.4°C$(br2)$(bold)Gum Arabic$()$(br)$(thing)Rainfall$(): 90 — 275mm$(br)$(thing)Temperature$(): 11.6 — 40°C" + }, + { + "type": "patchouli:spotlight", + "title": "Ash", + "item": "tag:tfc:ash_logs", + "text": "$(bold)White Ash$()$(br)$(thing)Rainfall$(): 60 — 240mm$(br)$(thing)Temperature$(): -13.9 — 0.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "Aspen, Poplar", + "item": "tag:tfc:aspen_logs", + "text": "$(bold)Quaking Aspen$()$(br)$(thing)Rainfall$(): 350 — 500mm$(br)$(thing)Temperature$(): -15.7 — -1.1°C$(br2)$(bold)Poplar$()$(br)$(thing)Rainfall$(): 170 — 310mm$(br)$(thing)Temperature$(): -15.7 — -6.6°C" + }, + { + "type": "patchouli:spotlight", + "title": "Baobab", + "item": "tag:afc:baobab_logs", + "text": "$(bold)Baobab$()$(br)$(thing)Rainfall$(): 30 — 190mm$(br)$(thing)Temperature$(): 15.3 — 26.2°C" + }, + { + "type": "patchouli:spotlight", + "title": "Birch", + "item": "tag:tfc:birch_logs", + "text": "$(bold)Birch$()$(br)$(thing)Rainfall$(): 125 — 310mm$(br)$(thing)Temperature$(): -13.9 — 2.5°C" + }, + { + "type": "patchouli:spotlight", + "title": "Blackwood", + "item": "tag:tfc:blackwood_logs", + "text": "$(bold)Mpingo Blackwood$()$(br)$(thing)Rainfall$(): 85 — 285mm$(br)$(thing)Temperature$(): 13.4 — 22.5°C$(br2)$(bold)Mulga Blackwood$()$(br)$(thing)Rainfall$(): 35 — 150mm$(br)$(thing)Temperature$(): 9.8 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "Cedar", + "item": "tag:tfc:white_cedar_logs", + "text": "$(bold)White Cedar$()$(br)$(thing)Rainfall$(): 100 — 220mm$(br)$(thing)Temperature$(): -13.9 — 4.3°C$(br2)$(bold)Atlas Cedar$()$(br)$(thing)Rainfall$(): 165 — 500mm$(br)$(thing)Temperature$(): 8.0 — 13.4°C" + }, + { + "type": "patchouli:spotlight", + "title": "Chestnut", + "item": "tag:tfc:chestnut_logs", + "text": "$(bold)Chestnut$()$(br)$(thing)Rainfall$(): 150 — 300mm$(br)$(thing)Temperature$(): -6.6 — 11.6°C" + }, + { + "type": "patchouli:spotlight", + "title": "Cypress, Redcedar", + "item": "tag:afc:cypress_logs", + "text": "$(bold)Slender Cypress$()$(br)$(thing)Rainfall$(): 100 — 260mm$(br)$(thing)Temperature$(): 2.5 — 15.3°C$(br2)$(bold)Bald Cypress$()$(br)$(thing)Rainfall$(): 360 — 500mm$(br)$(thing)Temperature$(): -1.1 — 15.3°C$(br2)$(bold)Weeping Cypress$()$(br)$(thing)Rainfall$(): 290 — 415mm$(br)$(thing)Temperature$(): -8.4 — 4.3°C" + }, + { + "type": "patchouli:text", + "text": "$(bold)Redcedar$()$(br)$(thing)Rainfall$(): 410 — 500mm$(br)$(thing)Temperature$(): -4.8 — 9.8°C" + }, + { + "type": "patchouli:spotlight", + "title": "(Rainbow) Eucalyptus", + "item": "tag:afc:eucalyptus_logs", + "text": "$(bold)Blue Gum$()$(br)$(thing)Rainfall$(): 170 — 325mm$(br)$(thing)Temperature$(): 8.0 — 18.9°C$(br2)$(bold)Mountain Ash$()$(br)$(thing)Rainfall$(): 390 — 500mm$(br)$(thing)Temperature$(): 9.8 — 18.9°C$(br2)$(bold)Rainbow Eucalyptus$()$(br)$(thing)Rainfall$(): 300 — 450mm$(br)$(thing)Temperature$(): 15.3 — 24.4°C" + }, + { + "type": "patchouli:spotlight", + "title": "Fig, Rubber Fig", + "item": "tag:afc:fig_logs", + "text": "$(bold)Rusty Fig$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 18.9 — 26.2°C$(br2)$(bold)Rubber Fig$()$(br)$(thing)Rainfall$(): 290 — 400mm$(br)$(thing)Temperature$(): 9.8 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "Fir", + "item": "tag:tfc:douglas_fir_logs", + "text": "$(bold)Douglas Fir$()$(br)$(thing)Rainfall$(): 305 — 500mm$(br)$(thing)Temperature$(): -10.3 — 6.1°C$(br2)$(bold)Mountain Fir$()$(br)$(thing)Rainfall$(): 220 — 345mm$(br)$(thing)Temperature$(): -1.1 — 11.6°C$(br2)$(bold)Balsam Fir$()$(br)$(thing)Rainfall$(): 210 — 500mm$(br)$(thing)Temperature$(): -13.9 — -1.1°C" + }, + { + "type": "patchouli:spotlight", + "title": "Hevea", + "item": "tag:afc:hevea_logs", + "text": "$(bold)Hevea$()$(br)$(thing)Rainfall$(): 390 — 500mm$(br)$(thing)Temperature$(): 17.1 — 26.2°C" + }, + { + "type": "patchouli:spotlight", + "title": "Hickory", + "item": "tag:tfc:hickory_logs", + "text": "$(bold)Bitternut Hickory$()$(br)$(thing)Rainfall$(): 210 — 400mm$(br)$(thing)Temperature$(): -6.6 — 11.6°C$(br2)$(bold)Scrub Hickory$()$(br)$(thing)Rainfall$(): 400 — 475mm$(br)$(thing)Temperature$(): 11.6 — 17.1°C" + }, + { + "type": "patchouli:spotlight", + "title": "Ipe", + "item": "tag:afc:ipe_logs", + "text": "$(bold)Yellow Ipe$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 11.6 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "Ironwood", + "item": "tag:afc:ironwood_logs", + "text": "$(bold)King Ironwood$()$(br)$(thing)Rainfall$(): 320 — 430mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C$(br2)$(bold)Lebombo Ironwood$()$(br)$(thing)Rainfall$(): 150 — 230mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C$(br2)$(bold)Horsetail Ironwood$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 9.8 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "Kapok", + "item": "tag:tfc:kapok_logs", + "text": "$(bold)Kapok$()$(br)$(thing)Rainfall$(): 360 — 500mm$(br)$(thing)Temperature$(): 13.4 — 24.4°C$(br2)$(bold)Red Silk Cotton$()$(br)$(thing)Rainfall$(): 250 — 350mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C" + }, + { + "type": "patchouli:spotlight", + "title": "Mahogany", + "item": "tag:afc:mahogany_logs", + "text": "$(bold)Mahogany$()$(br)$(thing)Rainfall$(): 300 — 430mm$(br)$(thing)Temperature$(): 15.3 — 26.2°C$(br2)$(bold)Small Leaf Mahogany$()$(br)$(thing)Rainfall$(): 320 — 500mm$(br)$(thing)Temperature$(): 11.6 — 18.9°C$(br2)$(bold)Sapele Mahogany$()$(br)$(thing)Rainfall$(): 330 — 500mm$(br)$(thing)Temperature$(): 13.4 — 26.2°C" + }, + { + "type": "patchouli:spotlight", + "title": "Mangrove", + "item": "tag:tfc:mangrove_logs", + "text": "$(bold)Mangrove$()$(br)$(thing)Rainfall$(): 220mm+$(br)$(thing)Temperature$(): 18.0°C+$(br)Note: only spawns in Salt Marsh biomes" + }, + { + "type": "patchouli:spotlight", + "title": "Maple", + "item": "tag:tfc:maple_logs", + "text": "$(bold)Sugar Maple$()$(br)$(thing)Rainfall$(): 260 — 360mm$(br)$(thing)Temperature$(): -8.4 — 8.0°C$(br2)$(bold)Bigleaf Maple$()$(br)$(thing)Rainfall$(): 405 — 500mm$(br)$(thing)Temperature$(): -4.8 — 11.6°C$(br2)$(bold)Weeping Maple$()$(br)$(thing)Rainfall$(): 240 — 320mm$(br)$(thing)Temperature$(): 0.7 — 4.3°C" + }, + { + "type": "patchouli:spotlight", + "title": "Oak, Black Oak", + "item": "tag:tfc:oak_logs", + "text": "$(bold)Pin Oak$()$(br)$(thing)Rainfall$(): 210 — 320mm$(br)$(thing)Temperature$(): -8.4 — 6.1°C$(br2)$(bold)Live Oak$()$(br)$(thing)Rainfall$(): 390 — 500mm$(br)$(thing)Temperature$(): 0.7 — 13.4°C$(br2)$(bold)Black Oak$()$(br)$(thing)Rainfall$(): 150 — 330mm$(br)$(thing)Temperature$(): 11.6 — 20.7°C" + }, + { + "type": "patchouli:spotlight", + "title": "Palm", + "item": "tag:tfc:palm_logs", + "text": "$(bold)Palm$()$(br)$(thing)Rainfall$(): 0 — 250mm$(br)$(thing)Temperature$(): 17.1 — 40.0°C$(br2)$(bold)Jaggery Palm$()$(br)$(thing)Rainfall$(): 400 — 500mm$(br)$(thing)Temperature$(): 20.7 — 26.2°C" + }, + { + "type": "patchouli:spotlight", + "title": "Pine", + "item": "tag:tfc:pine_logs", + "text": "$(bold)Boreal Pine$()$(br)$(thing)Rainfall$(): 60 — 270mm$(br)$(thing)Temperature$(): -19.4 — -3.0°C$(br2)$(bold)Stone Pine$()$(br)$(thing)Rainfall$(): 140 — 290mm$(br)$(thing)Temperature$(): 2.5 — 18.9°C$(br2)$(bold)Red Pine$()$(br)$(thing)Rainfall$(): 185 — 320mm$(br)$(thing)Temperature$(): -8.4 — 4.3°C" + }, + { + "type": "patchouli:text", + "text": "$(bold)Tamarack$()$(br)$(thing)Rainfall$(): 150 — 500mm$(br)$(thing)Temperature$(): -17.5 — -1.1°C" + }, + { + "type": "patchouli:spotlight", + "title": "Rosewood", + "item": "tag:tfc:rosewood_logs", + "text": "$(bold)Shisham Rosewood$()$(br)$(thing)Rainfall$(): 245 — 360mm$(br)$(thing)Temperature$(): 15.3 — 24.4°C$(br2)$(bold)Giant Rosewood$()$(br)$(thing)Rainfall$(): 340 — 440mm$(br)$(thing)Temperature$(): 15.3 — 22.5°C" + }, + { + "type": "patchouli:spotlight", + "title": "Sequoia", + "item": "tag:tfc:sequoia_logs", + "text": "$(bold)Sequoia$()$(br)$(thing)Rainfall$(): 320 — 500mm$(br)$(thing)Temperature$(): 0.7 — 8.0°C$(br2)$(bold)Coast Redwood$()$(br)$(thing)Rainfall$(): 320 — 500mm$(br)$(thing)Temperature$(): 4.3 — 9.8°C" + }, + { + "type": "patchouli:spotlight", + "title": "Spruce", + "item": "tag:tfc:spruce_logs", + "text": "$(bold)Blue Spruce$()$(br)$(thing)Rainfall$(): 330 — 500mm$(br)$(thing)Temperature$(): -19.4 — 2.5°C$(br2)$(bold)Coast Spruce$()$(br)$(thing)Rainfall$(): 320 — 390mm$(br)$(thing)Temperature$(): -12.1 — 6.1°C$(br2)$(bold)Sitka Spruce$()$(br)$(thing)Rainfall$(): 370 — 500mm$(br)$(thing)Temperature$(): 2.5 — 8.0°C" + }, + { + "type": "patchouli:text", + "text": "$(bold)Black Spruce$()$(br)$(thing)Rainfall$(): 220 — 360mm$(br)$(thing)Temperature$(): -17.5 — -1.1°C" + }, + { + "type": "patchouli:spotlight", + "title": "Sycamore", + "item": "tag:tfc:sycamore_logs", + "text": "$(bold)Sycamore$()$(br)$(thing)Rainfall$(): 330 — 480mm$(br)$(thing)Temperature$(): -6.6 — 11.6°C" + }, + { + "type": "patchouli:spotlight", + "title": "Teak", + "item": "tag:afc:teak_logs", + "text": "$(bold)True Teak$()$(br)$(thing)Rainfall$(): 215 — 330mm$(br)$(thing)Temperature$(): 13.4 — 26.2°C$(br2)$(bold)Iroko Teak$()$(br)$(thing)Rainfall$(): 210 — 320mm$(br)$(thing)Temperature$(): 17.1 — 40.0°C$(br2)$(bold)Flame of the Forest$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 13.4 — 24.4°C" + }, + { + "type": "patchouli:spotlight", + "title": "Tualang", + "item": "tag:afc:tualang_logs", + "text": "$(bold)Tualang$()$(br)$(thing)Rainfall$(): 360 — 500mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C" + }, + { + "type": "patchouli:spotlight", + "title": "Willow", + "item": "tag:tfc:willow_logs", + "text": "$(bold)Corkscrew Willow$()$(br)$(thing)Rainfall$(): 330 — 500mm$(br)$(thing)Temperature$(): -6.6 — 9.8°C$(br2)$(bold)Weeping Willow$()$(br)$(thing)Rainfall$(): 355 — 500mm$(br)$(thing)Temperature$(): 9.8 — 17.1°C" + } + ] + +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/making_rubber.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/making_rubber.json new file mode 100644 index 000000000..7c87551fb --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/making_rubber.json @@ -0,0 +1,49 @@ +{ + "name": "Processing Latex", + "category": "tfc:arborfirmacraft", + "icon": "gtceu:sticky_resin", + "pages": [ + { + "type": "patchouli:text", + "text": "So you've gotten some $(thing)latex$() by tapping specific tropical trees... congratulations! Latex by itself doesn't do much, but by processing it we can get some very useful byproducts!$(br2)If you haven't yet found any trees that produce latex, you can look at the $(l:arborfirmacraft/tapping_index)Tapping Index$() entry for more information!" + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:sticky_resin", + "title": "A sticky substance", + "link_recipe": true, + "text": "One of the ways $(thing)Latex$() can be used is in the production of $(item)Sticky Resin$(). Sticky resin needs to be produced by treating latex in a $(l:firmalife/oven_appliances#vat)Vat$() or a $(l:mechanics/pot)Pot$() with some $(thing)Wood Ash$() to coagulate it." + }, + { + "type": "patchouli:spotlight", + "title": "Sticky Business", + "item": "gtceu:resin_circuit_board,gtceu:resistor,gtceu:basic_tape", + "text": "$(thing)Sticky Resin$() has a number of uses, thanks to it being well... sticky. It can be used to create multiple items such as $(item)Tape$() which will let you move crates around without dropping what's inside, but more importantly, it can be used to create $(item)Resin Circuit Boards$() and $(item)Resistors$(), which will be some of your first electrical components." + }, + { + "type": "patchouli:spotlight", + "item": "tfg:vulcanized_latex_bucket", + "title": "I am rubber...", + "text": "The other main use of $(thing)Latex$() is to make rubber. To make the latex stronger and harder for industrial uses, it needs to be heated (either in a $(l:firmalife/oven_appliances#vat)Vat$() or a $(l:mechanics/pot)Pot$()) with added $(thing)Sulfur Powder$() to produce $(thing)Vulcanized Latex$(). In fact, this whole process is called vulcanization!" + }, + { + "type": "patchouli:spotlight", + "title": "Extraction", + "item": "gtceu:raw_rubber_dust", + "text": "Using a $(thing)Extractor$() or $(thing)Vacuum Chamber$(), the $(thing)Vulcanized Latex$() can be dried into $(item)Raw Rubber Pulp$(). This pulp needs to be further treated with $(thing)Sulfur Dust$() in an $(thing)Alloy Smelter$() to create $(thing)Rubber Ingots$()." + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:rubber_ingot", + "text": "$(thing)Rubber Ingots$() have a number of very useful applications, such as for crafting $(thing)Belts$() for your factories or for $(bold)insulating$() $(thing)electrical wires$(). Insulated wires become safe to touch without accidentally electrocuting yourself, and have reduced voltage loss." + }, + { + "type": "patchouli:spotlight", + "title": "Conifer Pitch", + "item": "tfg:conifer_pitch_bucket", + "text": "Sticky Resin can also be obtained via $(thing)Conifer Pitch$() tapped from certain $(thing)Coniferous Trees$(), but these trees cannot be used for Rubber." + } + ], + "read_by_default": true, + "sortnum": 3 +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/tapping_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/tapping_index.json new file mode 100644 index 000000000..ad4a1d409 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/tapping_index.json @@ -0,0 +1,142 @@ +{ + "name": "Tapping Index", + "category": "tfc:arborfirmacraft", + "icon": "afc:wood/sapling/weeping_maple", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "This is a list of every tappable tree in the world, sorted alphabetically.$(br)$(thing)Climate Data$() will tell you what Temperature and Rainfall the tree can appear in, while $(thing)Tapping Data$() will tell you details regarding production, flowrate, and whether the tree produces only in Spring." + }, + { + "type": "patchouli:text", + "text": "$(l:arborfirmacraft/tapping_index#maple)$(li)Maple$()$(l:arborfirmacraft/tapping_index#birch)$(li)Birch$()$(l:arborfirmacraft/tapping_index#hevea)$(li)Hevea$()$(l:arborfirmacraft/tapping_index#rubber_fig)$(li)Rubber Fig$()$(l:arborfirmacraft/tapping_index#kapok)$(li)Kapok$()$(l:arborfirmacraft/tapping_index#aspen)$(li)Aspen$()$(l:arborfirmacraft/tapping_index#spruce)$(li)Spruce$()$(l:arborfirmacraft/tapping_index#white_cedar)$(li)White Cedar$()$(l:arborfirmacraft/tapping_index#douglas_fir)$(li)Douglas Fir$()" + }, + { + "type": "patchouli:spotlight", + "anchor": "maple", + "title": "Maple", + "item": "tfc:wood/log/maple,tfc:wood/wood/maple,tfc:wood/leaves/maple,tfc:wood/sapling/maple", + "link_recipe": false, + "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): -8.4°C$(br)$(thing)Maximum Temperature$(): 8°C$(br)$(thing)Minimum Rainfall$(): 240$(br)$(thing)Maximum Rainfall$(): 470$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): -15°C$(br)$(thing)Max Temp for Production$(): 5°C$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 5mb" + }, + { + "type": "patchouli:image", + "images": [ "tfg:textures/gui/field_guide/tapping_index/maple_tree.png" ], + "text": "$(thing)Produces$(): Maple Sap$(br)$(thing)Processes Into$(): Maple Sugar", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "birch", + "title": "Birch", + "item": "tfc:wood/log/birch,tfc:wood/wood/birch,tfc:wood/leaves/birch,tfc:wood/sapling/birch", + "link_recipe": false, + "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): -12.1°C$(br)$(thing)Maximum Temperature$(): 6.1°C$(br)$(thing)Minimum Rainfall$(): 125$(br)$(thing)Maximum Rainfall$(): 310$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): -15°C$(br)$(thing)Max Temp for Production$(): 5°C$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 5mb" + }, + { + "type": "patchouli:image", + "images": [ "tfg:textures/gui/field_guide/tapping_index/birch_tree.png" ], + "text": "$(thing)Produces$(): Birch Sap$(br)$(thing)Processes Into$(): Birch Sugar", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "hevea", + "title": "Hevea", + "item": "afc:wood/log/hevea,afc:wood/wood/hevea,afc:wood/leaves/hevea,afc:wood/sapling/hevea", + "link_recipe": false, + "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): 17.1°C$(br)$(thing)Maximum Temperature$(): 26.2°C$(br)$(thing)Minimum Rainfall$(): 390$(br)$(thing)Maximum Rainfall$(): 500$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): 8°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 3mb" + }, + { + "type": "patchouli:image", + "images": [ "tfg:textures/gui/field_guide/tapping_index/hevea_tree.png" ], + "text": "$(thing)Produces$(): Latex$(br)$(thing)Processes Into$(): Sticky Resin & Rubber", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "rubber_fig", + "title": "Rubber Fig", + "item": "afc:wood/log/rubber_fig,afc:wood/wood/rubber_fig,afc:wood/leaves/rubber_fig,afc:wood/sapling/rubber_fig", + "link_recipe": false, + "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): 9.8°C$(br)$(thing)Maximum Temperature$(): 20.7°C$(br)$(thing)Minimum Rainfall$(): 290$(br)$(thing)Maximum Rainfall$(): 400$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): 4°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 2mb" + }, + { + "type": "patchouli:image", + "images": [ "tfg:textures/gui/field_guide/tapping_index/rubber_fig_tree.png" ], + "text": "$(thing)Produces$(): Latex$(br)$(thing)Processes Into$(): Sticky Resin & Rubber", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "kapok", + "title": "Kapok", + "item": "tfc:wood/log/kapok,tfc:wood/wood/kapok,tfc:wood/leaves/kapok,tfc:wood/sapling/kapok", + "link_recipe": false, + "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): 17.1°C$(br)$(thing)Maximum Temperature$(): 38°C$(br)$(thing)Minimum Rainfall$(): 320$(br)$(thing)Maximum Rainfall$(): 500$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): 12°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 4mb" + }, + { + "type": "patchouli:image", + "images": [ "tfg:textures/gui/field_guide/tapping_index/kapok_tree.png" ], + "text": "$(thing)Produces$(): Latex$(br)$(thing)Processes Into$(): Sticky Resin & Rubber", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "aspen", + "title": "Aspen", + "item": "tfc:wood/log/aspen,tfc:wood/wood/aspen,tfc:wood/leaves/aspen,tfc:wood/sapling/aspen", + "link_recipe": false, + "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): -15.7°C$(br)$(thing)Maximum Temperature$(): -1.1°C$(br)$(thing)Minimum Rainfall$(): 350$(br)$(thing)Maximum Rainfall$(): 500$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): -10°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 2mb" + }, + { + "type": "patchouli:image", + "images": [ "tfg:textures/gui/field_guide/tapping_index/aspen_tree.png" ], + "text": "$(thing)Produces$(): Conifer Pitch$(br)$(thing)Processes Into$(): Sticky Resin & Conifer Rosin", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "spruce", + "title": "Spruce", + "item": "tfc:wood/log/spruce,tfc:wood/wood/spruce,tfc:wood/leaves/spruce,tfc:wood/sapling/spruce", + "link_recipe": false, + "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): -17.5°C$(br)$(thing)Maximum Temperature$(): -6.6°C$(br)$(thing)Minimum Rainfall$(): 220$(br)$(thing)Maximum Rainfall$(): 470$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): -10°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 4mb" + }, + { + "type": "patchouli:image", + "images": [ "tfg:textures/gui/field_guide/tapping_index/spruce_tree.png" ], + "text": "$(thing)Produces$(): Conifer Pitch$(br)$(thing)Processes Into$(): Sticky Resin & Conifer Rosin", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "white_cedar", + "title": "White Cedar", + "item": "tfc:wood/log/white_cedar,tfc:wood/wood/white_cedar,tfc:wood/leaves/white_cedar,tfc:wood/sapling/white_cedar", + "link_recipe": false, + "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): -15.7°C$(br)$(thing)Maximum Temperature$(): 0.7°C$(br)$(thing)Minimum Rainfall$(): 100$(br)$(thing)Maximum Rainfall$(): 285$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): -8°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 3mb" + }, + { + "type": "patchouli:image", + "images": [ "tfg:textures/gui/field_guide/tapping_index/white_cedar_tree.png" ], + "text": "$(thing)Produces$(): Conifer Pitch$(br)$(thing)Processes Into$(): Sticky Resin & Conifer Rosin", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "douglas_fir", + "title": "Douglas Fir", + "item": "tfc:wood/log/douglas_fir,tfc:wood/wood/douglas_fir,tfc:wood/leaves/douglas_fir,tfc:wood/sapling/douglas_fir", + "link_recipe": false, + "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): -15.7°C$(br)$(thing)Maximum Temperature$(): 6.1°C$(br)$(thing)Minimum Rainfall$(): 305$(br)$(thing)Maximum Rainfall$(): 500$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): -8°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 2mb" + }, + { + "type": "patchouli:image", + "images": [ "tfg:textures/gui/field_guide/tapping_index/douglas_fir_tree.png" ], + "text": "$(thing)Produces$(): Conifer Pitch$(br)$(thing)Processes Into$(): Sticky Resin & Conifer Rosin", + "border": true + } + ] +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/tree_tapping.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/tree_tapping.json new file mode 100644 index 000000000..6e6661bc3 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/tree_tapping.json @@ -0,0 +1,34 @@ +{ + "name": "Tapping Trees", + "category": "tfc:arborfirmacraft", + "icon": "afc:tree_tap", + "pages": [ + { + "type": "patchouli:text", + "text": "Some types of trees can be tapped for useful fluids. These trees can either produce sugary saps which can be concentrated into syrup and used as a sweetener, Latex which can be processed into rubber, or Pitch which can be processed into rosin, a wax substitute." + }, + { + "type": "patchouli:image", + "title": "Tapping a Maple Tree", + "images": [ + "afc:textures/gui/book/maple_tapping.png" + ], + "border": true + }, + { + "type": "patchouli:text", + "text": "Three things are required to tap a tree: the tree itself, a tree tap, which must forged from a Copper Ingot and placed in the middle of a trunk at least three blocks tall, and a barrel, which must be placed directly below the tap facing upward. If the conditions are right, your barrel will immediately begin to fill with sap." + }, + { + "type": "patchouli:image", + "images": ["tfg:textures/gui/field_guide/tree_tapping/tapping_kapok.png"], + "text": "A valid tapping configuration used to extract Latex from Kapok", + "border": true + } + ], + "read_by_default": true, + "sortnum": 1, + "extra_recipe_mappings": { + "afc:tree_tap": 0 + } +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmalife/irrigation.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmalife/irrigation.json new file mode 100644 index 000000000..3744f1bbe --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmalife/irrigation.json @@ -0,0 +1,28 @@ +{ + "name": "Орощение", + "category": "tfc:firmalife", + "icon": "firmalife:sprinkler", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)Ороситель$() — это устройство, которое распыляет воду в области 5x6x5, центрированной на блоке под самим оросителем. Ты поймёшь, что он работает, когда из него начинают капать частицы воды. Оросители, установленные лицевой стороной вверх, орошают ту же область 5x6x5 над собой." + }, + { + "type": "tfc:anvil_recipe", + "recipe": "firmalife:anvil/sprinkler", + "text": "Ороситель изготавливается с использованием $(thing)Медной пластины$()." + }, + { + "title": "Трубопровод", + "item": "gtceu:copper_tiny_fluid_pipe", + "type": "patchouli:spotlight", + "text": "Чтобы оросители работали, их нужно подключить к системе труб, подающей воду. Это делается путём подключения к ним $(thing)Жидкостных труб$(). Закачивать воду в систему можно с помощью $(thing)Механической помпы$()." + }, + { + "type": "patchouli:text", + "text": "Ты можешь кликнуть ПКМ по трубе каркасом GregTech (например, $(thing)Медным каркасом$()), чтобы завести воду в теплицу, или использовать порт теплицы. После этого ты сможешь прикрепить ороситель прямо к трубе! Кликни ПКМ по жидкостным трубам гаечным ключом, чтобы изменить их направление, а шифт-ПКМ по ним с $(thing)пустой второй рукой$(), чтобы сделать их односторонними." + } + ], + "read_by_default": true, + "sortnum": 8 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/concrete_roads.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/concrete_roads.json new file mode 100644 index 000000000..052e5add7 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/concrete_roads.json @@ -0,0 +1,63 @@ +{ + "name": "Concrete Roads", + "category": "tfc:roadsandroofs", + "icon": "rnr:concrete_road_panel", + "pages": [ + { + "type": "patchouli:text", + "text": "Concrete roads are the fastest variety of road that can be constructed, offering a 30% movement speed bonus when properly constructed. However, road builders must be diligent when constructing concrete roads to prevent them from cracking or being trodden on while wet, as this will remove the speed bonus." + }, + { + "type": "patchouli:image", + "title": "Concrete Road", + "images": [ "rnr:textures/gui/book/concrete_road.png" ], + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "liquid_concrete", + "item": "gtceu:concrete_bucket", + "title": "Concrete Crafting", + "text": "The first step in making a concrete road is mixing the liquid concrete. Use a $(thing)Mixer$() to combine water with any two stone dusts, one of either calcite or marble dust, and gypsum dust, or any three stone dusts with clay dust to make $(thing)Liquid Concrete$()." + }, + { + "type": "patchouli:spotlight", + "anchor": "wet_concrete", + "item": "rnr:bucket/concrete", + "title": "Concrete Crafting", + "text": "Then add the liquid concrete in a $(thing)Mixer$() set to $(thing)Programmed Circuit #7$() with more water to dilute it into $(thing)Wet Concrete Mix$()." + }, + { + "type": "patchouli:text", + "text": "Once $(thing)Wet Concrete$() has been mixed, it can be picked up in a bucket and placed on a $(thing)Base Course Block$() where it will spread to adjacent blocks. The concrete will harden after one day, and until it hardens care must be taken that no creatures walk through the wet concrete as this will create an uneven surface that provides no speed bonus. Footprints can be smoothed out with a $(thing)Mattock$()." + }, + { + "type": "patchouli:image", + "title": "Pouring a Concrete Road", + "images": [ "rnr:textures/gui/book/wet_concrete.png" ], + "border": true + }, + { + "type": "patchouli:text", + "text": "Shrinkage cracking is also a concern as concrete sets. If concrete is poured in areas more than four blocks wide, blocks that are farther than two blocks from the nearest $(thing)Edge$(), $(thing)Control Joint$(), or $(thing)Textured Finish$() will crack when set. This can be prevented by pouring concrete in smaller areas, using a $(thing)Mattock$() to add $(thing)Control Joints$(), or by applying a $(thing)Textured Finish$()." + }, + { + "type": "patchouli:image", + "title": "Control Joints", + "images": [ "rnr:textures/gui/book/control_joints.png" ], + "border": true + }, + { + "type": "patchouli:text", + "text": "$(thing)Textured Finishes$() are created by pressing $(thing)Bricks$(), $(thing)Flagstones$(), or $(thing)Smooth Stone Blocks$() into drying concrete to create an architectural finish. These blocks also act as $(thing)Control Joints$() for preventing cracking. Once concrete has finished drying, a $(thing)Chisel$() can be used to form slabs and stairs." + }, + { + "type": "patchouli:image", + "title": "Faux Sett Road", + "images": [ "rnr:textures/gui/book/faux_sett.png" ], + "border": true + } + ], + "read_by_default": true, + "sortnum": 20 +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/paving_cart.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/paving_cart.json new file mode 100644 index 000000000..04b16db1e --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/paving_cart.json @@ -0,0 +1,48 @@ +{ + "name": "Paving Cart", + "category": "tfc:roadsandroofs", + "icon": "tfg:rnr_plow", + "pages": [ + { + "type": "patchouli:text", + "text": "The $(thing)Paving Cart$() is a specialized cart used for laying down road surfaces quickly and efficiently. It can be filled with road materials and $(thing)Crushed Base Course$() to create roads. The cart can also fill in any existing base course blocks" + }, + { + "type": "patchouli:image", + "title": "Paving Cart", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart.png" ], + "border": true + }, + { + "type": "patchouli:image", + "title": "Width Adjustment Slider", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_width.png" ], + "border": true, + "text": "The cart allows you to adjust the width of the path in the GUI" + }, + { + "type": "patchouli:image", + "title": "Variable Width Path", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_width.png" ], + "border": true + }, + { + "type": "patchouli:image", + "title": "Randomizer Button", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_random.png" ], + "border": true, + "text": "The cart has a mode that will lay down materials in a random pattern." + }, + { + "type": "patchouli:image", + "title": "Random Material Path", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_random.png" ], + "border": true + } + ], + "read_by_default": true, + "extra_recipe_mappings": { + "tfg:rnr_plow": 0 + }, + "sortnum": 20 +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/faqs.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/faqs.json index 02e2e5719..b669413d6 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/faqs.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/faqs.json @@ -33,7 +33,7 @@ { "type": "patchouli:text", "anchor": "resin", - "text": "$(italic)Как мне сделать резину?$()$(br2)Резина(предмет) — это больше не то, что вам нужно! Сначала вырасти деревья, дающие $(thing)Латекс$() и скрафтите несколько $(thing)Краников для подсочки$(). Установите Краник для подсочки на каждом дереве. (Больше краников на одном дереве просто разделит выход).Вы можете собирать латекс с помощью $(l:mechanics/barrels)Бочек$()." + "text": "$(italic)Как мне сделать резину?$()$(br2)Липкая смола(ранее резина) — это больше не то, что вам нужно! Сначала вырасти деревья, дающие $(thing)Латекс$() и скрафтите несколько $(thing)Краников для подсочки$(). Установите Краник для подсочки на каждом дереве. (Больше краников на одном дереве просто разделит выход).Вы можете собирать латекс с помощью $(l:mechanics/barrels)Бочек$()." }, { "type": "patchouli:text", From 9ece43f12282600b953f8afb6a25c4d4aa856651 Mon Sep 17 00:00:00 2001 From: Mqrius Date: Thu, 8 Jan 2026 22:27:17 +0100 Subject: [PATCH 039/474] Fix dried fruit recipe (#2673) * Fix dried fruit recipe Signed-off-by: Mqrius * Register tags based on constant array --------- Signed-off-by: Mqrius --- kubejs/server_scripts/firmalife/recipes.js | 2 +- kubejs/server_scripts/firmalife/tags.js | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index b90d4b006..78b2347e5 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -1024,7 +1024,7 @@ const registerFirmaLifeRecipes = (event) => { event.recipes.tfc.barrel_sealed(72000) .inputFluid(Fluid.of('minecraft:water', 100)) - .inputItem(TFC.ingredient.hasTrait(Ingredient.of('#tfg:dried_fruit'), "firmalife:dried")) + .inputItem(TFC.ingredient.hasTrait('#tfg:dried_fruit', "firmalife:dried")) .outputFluid(Fluid.of('firmalife:yeast_starter', 100)) .id('firmalife:barrel/yeast_starter') } diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index 0a66fefd9..307bc6230 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -18,12 +18,10 @@ const registerFirmaLifeItemTags = (event) => { event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") // Make our own "dried fruit" tag so we can display something in EMI - used for yeast starter - const fruitArray = Ingredient.of('#tfc:foods/fruits').itemIds.toArray().map(String) - fruitArray.forEach(fruit => { - if (fruit !== 'betterend:shadow_berry_cooked' && fruit !== 'minecraft:popped_chorus_fruit') { - event.add('tfg:dried_fruit', fruit) - } - }) + global.FOOD_FRUIT + .map(fruit => fruit.id) + .filter(fruit => fruit !== 'betterend:shadow_berry_cooked' && fruit !== 'minecraft:popped_chorus_fruit') + .forEach(fruit => event.add('tfg:dried_fruit', fruit)) } const registerFirmaLifeBlockTags = (event) => { From 5985f389b22e460977fc895dd1c55c2d2232fb13 Mon Sep 17 00:00:00 2001 From: Mqrius Date: Thu, 8 Jan 2026 23:25:19 +0100 Subject: [PATCH 040/474] Give Mars tree leaves distance property (#2661) * Make TFG copies of Mars foliage They still return the original items. * Change strophar supports to match item color * Change soundType to shroomlight --------- Co-authored-by: Xikaro --- config/fallingtrees_common.json | 6 ++- .../tfg/loot_tables/blocks/aeronos_cap.json | 52 +++++++++++++++++++ .../blocks/crimson_wart_block.json | 52 +++++++++++++++++++ .../tfg/loot_tables/blocks/strophar_cap.json | 52 +++++++++++++++++++ .../loot_tables/blocks/warped_wart_block.json | 52 +++++++++++++++++++ .../configured_feature/mars/tree/aeronos.json | 2 +- .../mars/tree/aeronos_mini.json | 2 +- .../mars/tree/aeronos_old_growth.json | 2 +- .../mars/tree/crimson_amber.json | 2 +- .../mars/tree/crimson_dirt.json | 2 +- .../mars/tree/crimson_rusticus.json | 2 +- .../mars/tree/crimson_sangnum.json | 2 +- .../mars/tree/strophar.json | 2 +- .../mars/tree/strophar_mini.json | 2 +- .../mars/tree/strophar_old_growth.json | 2 +- .../mars/tree/warped_amber.json | 2 +- .../mars/tree/warped_dirt.json | 2 +- .../mars/tree/warped_rusticus.json | 2 +- .../mars/tree/warped_sangnum.json | 2 +- kubejs/server_scripts/tfg/mars/tags.mars.js | 12 +++-- .../tfg/worldgen/events.forests.js | 4 +- .../tfg/primitive/blocks.supports.js | 2 +- .../tfg/worldgen/blocks.trees.js | 46 ++++++++++++++++ 23 files changed, 284 insertions(+), 22 deletions(-) create mode 100644 kubejs/data/tfg/loot_tables/blocks/aeronos_cap.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/crimson_wart_block.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/strophar_cap.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/warped_wart_block.json diff --git a/config/fallingtrees_common.json b/config/fallingtrees_common.json index 16e175457..20c254e07 100644 --- a/config/fallingtrees_common.json +++ b/config/fallingtrees_common.json @@ -50,7 +50,11 @@ "beneath:wood/leaves/crimson", "beneath:wood/leaves/warped", "ad_astra:aeronos_cap", - "ad_astra:strophar_cap" + "ad_astra:strophar_cap", + "tfg:crimson_wart_block", + "tfg:warped_wart_block", + "tfg:aeronos_cap", + "tfg:strophar_cap" ], "blacklist": [] }, diff --git a/kubejs/data/tfg/loot_tables/blocks/aeronos_cap.json b/kubejs/data/tfg/loot_tables/blocks/aeronos_cap.json new file mode 100644 index 000000000..fd8916aa1 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/aeronos_cap.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "ad_astra:aeronos_cap", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "tag": "forge:shears" + } + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:saplings/aeronos", + "conditions": [ + { + "condition": "minecraft:survives_explosion" + }, + { + "condition": "minecraft:random_chance", + "chance": 0.013 + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/crimson_wart_block.json b/kubejs/data/tfg/loot_tables/blocks/crimson_wart_block.json new file mode 100644 index 000000000..f4f7b5427 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/crimson_wart_block.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:nether_wart_block", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "tag": "forge:shears" + } + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:saplings/crimson", + "conditions": [ + { + "condition": "minecraft:survives_explosion" + }, + { + "condition": "minecraft:random_chance", + "chance": 0.013 + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/strophar_cap.json b/kubejs/data/tfg/loot_tables/blocks/strophar_cap.json new file mode 100644 index 000000000..47aada38d --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/strophar_cap.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "ad_astra:strophar_cap", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "tag": "forge:shears" + } + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:saplings/strophar", + "conditions": [ + { + "condition": "minecraft:survives_explosion" + }, + { + "condition": "minecraft:random_chance", + "chance": 0.013 + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/warped_wart_block.json b/kubejs/data/tfg/loot_tables/blocks/warped_wart_block.json new file mode 100644 index 000000000..2d21d8276 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/warped_wart_block.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:warped_wart_block", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "tag": "forge:shears" + } + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:saplings/warped", + "conditions": [ + { + "condition": "minecraft:survives_explosion" + }, + { + "condition": "minecraft:random_chance", + "chance": 0.013 + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/aeronos.json b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/aeronos.json index 9bfbcf030..8c804f751 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/aeronos.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/aeronos.json @@ -17,7 +17,7 @@ "foliage_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "ad_astra:aeronos_cap" + "Name": "tfg:aeronos_cap" } }, "force_dirt": false, diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/aeronos_mini.json b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/aeronos_mini.json index e242d1417..ac230e3ac 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/aeronos_mini.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/aeronos_mini.json @@ -17,7 +17,7 @@ "foliage_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "ad_astra:aeronos_cap" + "Name": "tfg:aeronos_cap" } }, "force_dirt": false, diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/aeronos_old_growth.json b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/aeronos_old_growth.json index beab02448..62bf9878e 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/aeronos_old_growth.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/aeronos_old_growth.json @@ -17,7 +17,7 @@ "foliage_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "ad_astra:aeronos_cap" + "Name": "tfg:aeronos_cap" } }, "force_dirt": false, diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_amber.json b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_amber.json index 17ddda756..2dca067a5 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_amber.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_amber.json @@ -5,7 +5,7 @@ "Name": "beneath:wood/leaves/crimson" }, "hat_state": { - "Name": "minecraft:nether_wart_block" + "Name": "tfg:crimson_wart_block" }, "planted": false, "replaceable_blocks": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_dirt.json b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_dirt.json index 2d006ee26..2bad5e6ee 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_dirt.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_dirt.json @@ -5,7 +5,7 @@ "Name": "beneath:wood/leaves/crimson" }, "hat_state": { - "Name": "minecraft:nether_wart_block" + "Name": "tfg:crimson_wart_block" }, "planted": false, "replaceable_blocks": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_rusticus.json b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_rusticus.json index c4ddd4aea..03bd7c6fd 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_rusticus.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_rusticus.json @@ -5,7 +5,7 @@ "Name": "beneath:wood/leaves/crimson" }, "hat_state": { - "Name": "minecraft:nether_wart_block" + "Name": "tfg:crimson_wart_block" }, "planted": false, "replaceable_blocks": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_sangnum.json b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_sangnum.json index a0e370030..68855409b 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_sangnum.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_sangnum.json @@ -5,7 +5,7 @@ "Name": "beneath:wood/leaves/crimson" }, "hat_state": { - "Name": "minecraft:nether_wart_block" + "Name": "tfg:crimson_wart_block" }, "planted": false, "replaceable_blocks": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/strophar.json b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/strophar.json index 75d79598c..227db3c64 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/strophar.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/strophar.json @@ -22,7 +22,7 @@ "foliage_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "ad_astra:strophar_cap" + "Name": "tfg:strophar_cap" } }, "force_dirt": false, diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/strophar_mini.json b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/strophar_mini.json index bfc8f32f0..7e4bc974a 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/strophar_mini.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/strophar_mini.json @@ -22,7 +22,7 @@ "foliage_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "ad_astra:strophar_cap" + "Name": "tfg:strophar_cap" } }, "force_dirt": false, diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/strophar_old_growth.json b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/strophar_old_growth.json index 42a417e5c..5f5ee03d7 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/strophar_old_growth.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/strophar_old_growth.json @@ -22,7 +22,7 @@ "foliage_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "ad_astra:strophar_cap" + "Name": "tfg:strophar_cap" } }, "force_dirt": false, diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_amber.json b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_amber.json index 6016e4a85..1b74c6360 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_amber.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_amber.json @@ -5,7 +5,7 @@ "Name": "beneath:wood/leaves/warped" }, "hat_state": { - "Name": "minecraft:warped_wart_block" + "Name": "tfg:warped_wart_block" }, "planted": false, "replaceable_blocks": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_dirt.json b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_dirt.json index 2b5789a94..222c7cf9f 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_dirt.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_dirt.json @@ -5,7 +5,7 @@ "Name": "beneath:wood/leaves/warped" }, "hat_state": { - "Name": "minecraft:warped_wart_block" + "Name": "tfg:warped_wart_block" }, "planted": false, "replaceable_blocks": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_rusticus.json b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_rusticus.json index 69cbc3e67..29215affd 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_rusticus.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_rusticus.json @@ -5,7 +5,7 @@ "Name": "beneath:wood/leaves/warped" }, "hat_state": { - "Name": "minecraft:warped_wart_block" + "Name": "tfg:warped_wart_block" }, "planted": false, "replaceable_blocks": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_sangnum.json b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_sangnum.json index 78f0aed59..d473cc4a2 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_sangnum.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_sangnum.json @@ -5,7 +5,7 @@ "Name": "beneath:wood/leaves/warped" }, "hat_state": { - "Name": "minecraft:warped_wart_block" + "Name": "tfg:warped_wart_block" }, "planted": false, "replaceable_blocks": { diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js index f5147aafe..d90736a11 100644 --- a/kubejs/server_scripts/tfg/mars/tags.mars.js +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -212,6 +212,10 @@ function registerTFGMarsBlockTags(event) { event.add('tfg:heightmap_ignore', 'betterend:glacian_hymenophore') event.add('tfg:heightmap_ignore', 'species:alphacene_moss_block') event.add('tfg:heightmap_ignore', 'minecraft:ice') + event.add('tfg:heightmap_ignore', 'tfg:crimson_wart_block') + event.add('tfg:heightmap_ignore', 'tfg:warped_wart_block') + event.add('tfg:heightmap_ignore', 'tfg:aeronos_cap') + event.add('tfg:heightmap_ignore', 'tfg:strophar_cap') event.remove('minecraft:enderman_holdable', 'minecraft:crimson_fungus') event.remove('minecraft:enderman_holdable', 'minecraft:warped_fungus') @@ -302,11 +306,11 @@ function registerTFGMarsBlockTags(event) { event.add('tfg:decorative_plant_attachable', 'minecraft:mushroom_stem') event.add('tfg:decorative_plant_attachable', 'species:alphacene_mushroom_block') event.add('tfg:decorative_plant_attachable', 'species:alphacene_moss_block') - event.add('tfg:decorative_plant_attachable', 'ad_astra:aeronos_cap') - event.add('tfg:decorative_plant_attachable', 'ad_astra:strophar_cap') + event.add('tfg:decorative_plant_attachable', 'tfg:aeronos_cap') + event.add('tfg:decorative_plant_attachable', 'tfg:strophar_cap') event.add('tfg:decorative_plant_attachable', 'tfg:glacian_leaves') - event.add('tfg:decorative_plant_attachable', 'minecraft:nether_wart_block') - event.add('tfg:decorative_plant_attachable', 'minecraft:warped_wart_block') + event.add('tfg:decorative_plant_attachable', 'tfg:crimson_wart_block') + event.add('tfg:decorative_plant_attachable', 'tfg:warped_wart_block') event.add('tfg:decorative_plant_attachable', 'betterend:cave_bush') event.add('tfg:decorative_plant_attachable', 'betterend:lucernia_leaves') diff --git a/kubejs/server_scripts/tfg/worldgen/events.forests.js b/kubejs/server_scripts/tfg/worldgen/events.forests.js index ca1f2e5a4..c31d4b844 100644 --- a/kubejs/server_scripts/tfg/worldgen/events.forests.js +++ b/kubejs/server_scripts/tfg/worldgen/events.forests.js @@ -80,7 +80,7 @@ TFCEvents.worldgenData(event => { climate.fuzzy(true) }, 'ad_astra:aeronos_stem', - 'ad_astra:aeronos_cap', + 'tfg:aeronos_cap', null, null, [ @@ -103,7 +103,7 @@ TFCEvents.worldgenData(event => { climate.fuzzy(true) }, 'ad_astra:strophar_stem', - 'ad_astra:strophar_cap', + 'tfg:strophar_cap', null, null, [ diff --git a/kubejs/startup_scripts/tfg/primitive/blocks.supports.js b/kubejs/startup_scripts/tfg/primitive/blocks.supports.js index 662327468..be0b6aa3f 100644 --- a/kubejs/startup_scripts/tfg/primitive/blocks.supports.js +++ b/kubejs/startup_scripts/tfg/primitive/blocks.supports.js @@ -34,7 +34,7 @@ function registerTFGSupportBlocks(event) { .soundType('wood') .hardness(2) .resistance(2) - .mapColor('color_white') + .mapColor('terracotta_purple') .tagBlock('minecraft:mineable/axe') .requiresTool(false) diff --git a/kubejs/startup_scripts/tfg/worldgen/blocks.trees.js b/kubejs/startup_scripts/tfg/worldgen/blocks.trees.js index 1f7faf606..7c1c084cd 100644 --- a/kubejs/startup_scripts/tfg/worldgen/blocks.trees.js +++ b/kubejs/startup_scripts/tfg/worldgen/blocks.trees.js @@ -119,4 +119,50 @@ function registerTFGWorldGenTrees(event) { stripped.tagBoth('c:hidden_from_recipe_viewers') stripped.soundType('wood') }) + + // Mars leaves + + event.create('tfg:crimson_wart_block', 'tfc:leaves') + .soundType('shroomlight') + .tagBlock('minecraft:mineable/hoe') + .tagBlock('tfg:do_not_destroy_in_space') + .tagBlock('tfg:solid_leaves') + .textureAll('minecraft:block/nether_wart_block') + .mapColor('crimson_hyphae') + .seasonalColors(false) + .noDynamicTinting() + .fallenLeaves(null) + + event.create('tfg:warped_wart_block', 'tfc:leaves') + .soundType('shroomlight') + .tagBlock('minecraft:mineable/hoe') + .tagBlock('tfg:do_not_destroy_in_space') + .tagBlock('tfg:solid_leaves') + .textureAll('minecraft:block/warped_wart_block') + .mapColor('warped_wart_block') + .seasonalColors(false) + .noDynamicTinting() + .fallenLeaves(null) + + event.create('tfg:aeronos_cap', 'tfc:leaves') + .soundType('shroomlight') + .tagBlock('minecraft:mineable/hoe') + .tagBlock('tfg:do_not_destroy_in_space') + .tagBlock('tfg:solid_leaves') + .textureAll('ad_astra:block/aeronos_cap') + .mapColor('terracotta_blue') + .seasonalColors(false) + .noDynamicTinting() + .fallenLeaves(null) + + event.create('tfg:strophar_cap', 'tfc:leaves') + .soundType('shroomlight') + .tagBlock('minecraft:mineable/hoe') + .tagBlock('tfg:do_not_destroy_in_space') + .tagBlock('tfg:solid_leaves') + .textureAll('ad_astra:block/strophar_cap') + .mapColor('terracotta_purple') + .seasonalColors(false) + .noDynamicTinting() + .fallenLeaves(null) } \ No newline at end of file From b34b373373d36214f2d188eda6c7282a7874bf73 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 9 Jan 2026 03:27:16 +0500 Subject: [PATCH 041/474] fix: docker --- .github/workflows/build.yml | 3 +++ .pakku/docker-overrides/docker-compose.yml | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c696d30f4..403e6d204 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -336,12 +336,15 @@ jobs: sed -i -e "s/LOADER_VERSION/${LOADER_VERSION}/g" .pakku/multimc-overrides/mmc-pack.json sed -i -e "s/LOADER_VERSION/${LOADER_VERSION}/g" .pakku/server-overrides/forge-auto-install.txt + sed -i -e "s/LOADER_VERSION/${LOADER_VERSION}/g" .pakku/docker-overrides/docker-compose.yml sed -i -e "s/LOADER_TYPE/${LOADER_TYPE}/g" .pakku/multimc-overrides/mmc-pack.json sed -i -e "s/LOADER_TYPE/${LOADER_TYPE}/g" .pakku/server-overrides/forge-auto-install.txt + sed -i -e "s/LOADER_TYPE/${LOADER_TYPE}/g" .pakku/docker-overrides/docker-compose.yml sed -i -e "s/MINECRAFT_VERSION/${MINECRAFT_VERSION}/g" .pakku/multimc-overrides/mmc-pack.json sed -i -e "s/MINECRAFT_VERSION/${MINECRAFT_VERSION}/g" .pakku/server-overrides/forge-auto-install.txt + sed -i -e "s/MINECRAFT_VERSION/${MINECRAFT_VERSION}/g" .pakku/docker-overrides/docker-compose.yml - name: 📝 Cache Pakku uses: actions/cache@v5.0.1 diff --git a/.pakku/docker-overrides/docker-compose.yml b/.pakku/docker-overrides/docker-compose.yml index 23e50b657..374a3136c 100644 --- a/.pakku/docker-overrides/docker-compose.yml +++ b/.pakku/docker-overrides/docker-compose.yml @@ -12,8 +12,9 @@ services: GUI: "false" MEMORY: 8G - TYPE: CUSTOM - CUSTOM_SERVER: ./minecraft_server.jar + TYPE: LOADER_TYPE + VERSION: MINECRAFT_VERSION + FORGE_VERSION: LOADER_VERSION SKIP_GENERIC_PACK_UPDATE_CHECK: "true" OVERRIDE_SERVER_PROPERTIES: "false" From 6a5de3c1728875fdbc1c373112902750a3d6cf28 Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 9 Jan 2026 00:47:55 -0600 Subject: [PATCH 042/474] Sowey fow cwashing dev I didnt mwean tooo Signed-off-by: Redeix --- kubejs/server_scripts/gregtech/recipes.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index b962c0e26..dff5e00fb 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -417,6 +417,5 @@ const registerGTCEURecipes = (event) => { .itemOutputs('gtceu:glass_tube') .duration(8 * 20) .EUt(GTValues.VA[GTValues.LV]) - .category(GTRecipeCategories.INGOT_MOLDING) - .addMaterialInfo(); + .category(GTRecipeCategories.INGOT_MOLDING); } From 5bc2d12bfd4f686ff5cb068d589e2a1135e796a8 Mon Sep 17 00:00:00 2001 From: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> Date: Fri, 9 Jan 2026 05:26:08 -0300 Subject: [PATCH 043/474] Add vinegar as option for curdled milk crafting (#2675) * Add vinegar as option for curdled milk crafting This adds an earlier way to make cheese without relying on acetic acid. As vinegar is partially composed of acetic acid, and the recipe for homemade cheese using vinegar is realistic, that would be an useful and accurate recipe. Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> * Update vinegar input and output for lactose milk recipe Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> --------- Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> --- kubejs/server_scripts/tfg/food/recipes.food.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/kubejs/server_scripts/tfg/food/recipes.food.js b/kubejs/server_scripts/tfg/food/recipes.food.js index 17feb698f..65e4ae52e 100644 --- a/kubejs/server_scripts/tfg/food/recipes.food.js +++ b/kubejs/server_scripts/tfg/food/recipes.food.js @@ -276,6 +276,14 @@ function registerTFGFoodRecipes(event) { .duration(300) .EUt(GTValues.VA[GTValues.LV]) + event.recipes.gtceu.mixer(`lactose_milk_vinegar_${item.id}`) + .circuit(1) + .inputFluids(Fluid.of(item.milk, 1000), Fluid.of('tfc:vinegar', 100)) + .chancedOutput('gtceu:lactose_dust', 1000, 0) + .outputFluids(Fluid.of(item.curdled_fluid, 1000)) + .duration(300) + .EUt(GTValues.VA[GTValues.LV]) + global.processorRecipe(event, `${item.id}_curd`, 1200, 16, { itemOutputs: [item.curd], fluidInputs: [Fluid.of(item.curdled_fluid, 1000)], From b26bc60132eff202874d42299e8361b3cd64a9a5 Mon Sep 17 00:00:00 2001 From: Petr211071 <55793813+Petr211071@users.noreply.github.com> Date: Fri, 9 Jan 2026 11:38:32 +0300 Subject: [PATCH 044/474] ru_ru update (#2679) * Sticky resin * Add lang files and translation for irrigation * TFG's AFC chapter tranlastion * ArborFirmaCraft and Rnr --------- Signed-off-by: Petr211071 <55793813+Petr211071@users.noreply.github.com> --- .../ru_ru/categories/roadsandroofs.json | 6 ++ .../arborfirmacraft/making_rubber.json | 26 ++++---- .../arborfirmacraft/tapping_index.json | 60 +++++++++---------- .../entries/arborfirmacraft/tree_tapping.json | 10 ++-- .../entries/roadsandroofs/concrete_roads.json | 24 ++++---- .../entries/roadsandroofs/gravel_roads.json | 24 ++++++++ .../ru_ru/entries/roadsandroofs/hoggin.json | 20 +++++++ .../entries/roadsandroofs/making_a_road.json | 34 +++++++++++ .../entries/roadsandroofs/making_a_roof.json | 32 ++++++++++ .../entries/roadsandroofs/paving_cart.json | 18 +++--- .../entries/roadsandroofs/stone_roads.json | 35 +++++++++++ 11 files changed, 220 insertions(+), 69 deletions(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/roadsandroofs.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/gravel_roads.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/hoggin.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/making_a_road.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/making_a_roof.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/stone_roads.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/roadsandroofs.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/roadsandroofs.json new file mode 100644 index 000000000..a65306c61 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/roadsandroofs.json @@ -0,0 +1,6 @@ +{ + "name": "Roads and Roofs", + "description": "Всё о моде Roads and Roofs", + "icon": "rnr:metal/mattock/bismuth_bronze", + "sortnum": 19 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/making_rubber.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/making_rubber.json index 7c87551fb..7b8b5fca6 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/making_rubber.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/making_rubber.json @@ -1,47 +1,47 @@ { - "name": "Processing Latex", + "name": "Производство резины", "category": "tfc:arborfirmacraft", "icon": "gtceu:sticky_resin", "pages": [ { "type": "patchouli:text", - "text": "So you've gotten some $(thing)latex$() by tapping specific tropical trees... congratulations! Latex by itself doesn't do much, but by processing it we can get some very useful byproducts!$(br2)If you haven't yet found any trees that produce latex, you can look at the $(l:arborfirmacraft/tapping_index)Tapping Index$() entry for more information!" + "text": "Итак, ты добыл немного $(thing)Латекса$(), добывая его из определённых тропических деревьев… поздравляем! Сам по себе латекс почти ни на что не годится, но при его переработке можно получить очень полезные побочные продукты!$(br2)Если ты ещё не нашёл деревья, которые производят латекс, загляни в запись $(l:arborfirmacraft/tapping_index)Индекс подсочки$() — там есть больше информации!" }, { "type": "patchouli:spotlight", "item": "gtceu:sticky_resin", - "title": "A sticky substance", + "title": "Липкое вещество", "link_recipe": true, - "text": "One of the ways $(thing)Latex$() can be used is in the production of $(item)Sticky Resin$(). Sticky resin needs to be produced by treating latex in a $(l:firmalife/oven_appliances#vat)Vat$() or a $(l:mechanics/pot)Pot$() with some $(thing)Wood Ash$() to coagulate it." + "text": "Один из способов использования $(thing)Латекса$() — это производство $(item)Липкой смолы$(). Липкую смолу нужно получать, обрабатывая латекс в $(l:firmalife/oven_appliances#vat)чане$() или $(l:mechanics/pot)Горшке$() с добавлением $(thing)Древесной золы$(), чтобы он свернулся." }, { "type": "patchouli:spotlight", - "title": "Sticky Business", + "title": "Липкие дела", "item": "gtceu:resin_circuit_board,gtceu:resistor,gtceu:basic_tape", - "text": "$(thing)Sticky Resin$() has a number of uses, thanks to it being well... sticky. It can be used to create multiple items such as $(item)Tape$() which will let you move crates around without dropping what's inside, but more importantly, it can be used to create $(item)Resin Circuit Boards$() and $(item)Resistors$(), which will be some of your first electrical components." + "text": "$(thing)Липкая смола$() имеет множество применений благодаря тому, что она, ну… липкая. Её можно использовать для создания различных предметов, например $(item)Ленты$(), которая позволит тебе перемещать ящики, не роняя предметы из них. Но что ещё важнее — из неё можно делать $(item)Прорезиненные подложки$() и $(item)Резисторы$(), которые станут одними из твоих первых электрических компонентов." }, { "type": "patchouli:spotlight", "item": "tfg:vulcanized_latex_bucket", - "title": "I am rubber...", - "text": "The other main use of $(thing)Latex$() is to make rubber. To make the latex stronger and harder for industrial uses, it needs to be heated (either in a $(l:firmalife/oven_appliances#vat)Vat$() or a $(l:mechanics/pot)Pot$()) with added $(thing)Sulfur Powder$() to produce $(thing)Vulcanized Latex$(). In fact, this whole process is called vulcanization!" + "title": "Я резина...", + "text": "Другое основное применение $(thing)Латекса$() — это производство резины. Чтобы сделать латекс более прочным и твёрдым для промышленных нужд, его нужно нагреть (либо в $(l:firmalife/oven_appliances#vat)Чане$(), либо в $(l:mechanics/pot)Горшке$()) с добавлением $(thing)Порошка серы$(), чтобы получить $(thing)Вулканизированный латекс$(). Собственно, весь этот процесс и называется вулканизацией!" }, { "type": "patchouli:spotlight", - "title": "Extraction", + "title": "Извлечение", "item": "gtceu:raw_rubber_dust", - "text": "Using a $(thing)Extractor$() or $(thing)Vacuum Chamber$(), the $(thing)Vulcanized Latex$() can be dried into $(item)Raw Rubber Pulp$(). This pulp needs to be further treated with $(thing)Sulfur Dust$() in an $(thing)Alloy Smelter$() to create $(thing)Rubber Ingots$()." + "text": "Используя $(thing)Экстрактор$() или $(thing)Вакуумную камеру$(), ты можешь высушить $(thing)Вулканизированный латекс$() и получить $(item)пыль Необработанной резины$(). Эту пыль затем нужно дополнительно обработать $(thing)пылью Серы$() в $(thing)Печи для сплавов$(), чтобы создать $(thing)слитки Резины$()." }, { "type": "patchouli:spotlight", "item": "gtceu:rubber_ingot", - "text": "$(thing)Rubber Ingots$() have a number of very useful applications, such as for crafting $(thing)Belts$() for your factories or for $(bold)insulating$() $(thing)electrical wires$(). Insulated wires become safe to touch without accidentally electrocuting yourself, and have reduced voltage loss." + "text": "$(thing)Слитки резины$() имеют множество очень полезных применений — например, для создания $(thing)Ремней$() для твоих заводов или для $(bold)изоляции$() $(thing)электрических проводов$(). Изолированные провода станут безопасными, так что ты не ударишься током по неосторожности, а также у них снижаются потери напряжения." }, { "type": "patchouli:spotlight", - "title": "Conifer Pitch", + "title": "Хвойная смола", "item": "tfg:conifer_pitch_bucket", - "text": "Sticky Resin can also be obtained via $(thing)Conifer Pitch$() tapped from certain $(thing)Coniferous Trees$(), but these trees cannot be used for Rubber." + "text": "Липкая смола также может быть получена с помощью $(thing)Хвойной смолы$() произведенной определёнными $(thing)Смолистыми деревевьями$(), но эти деревья нельзя использовать для производства резины." } ], "read_by_default": true, diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/tapping_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/tapping_index.json index ad4a1d409..88758c387 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/tapping_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/tapping_index.json @@ -1,141 +1,141 @@ { - "name": "Tapping Index", + "name": "Каталог подсочки", "category": "tfc:arborfirmacraft", "icon": "afc:wood/sapling/weeping_maple", "read_by_default": true, "pages": [ { "type": "patchouli:text", - "text": "This is a list of every tappable tree in the world, sorted alphabetically.$(br)$(thing)Climate Data$() will tell you what Temperature and Rainfall the tree can appear in, while $(thing)Tapping Data$() will tell you details regarding production, flowrate, and whether the tree produces only in Spring." + "text": "Это список всех деревьев в мире, с которых можно собирать жидкость. $(br)$(thing)Климат$() покажет вам, при какой средней температуре и количестве осадков может расти дерево, а $(thing)Информация для подсочки$() предоставит вам подробную информацию о типе жидкости, скорости производства и о том, плодоносит ли дерево только весной." }, { "type": "patchouli:text", - "text": "$(l:arborfirmacraft/tapping_index#maple)$(li)Maple$()$(l:arborfirmacraft/tapping_index#birch)$(li)Birch$()$(l:arborfirmacraft/tapping_index#hevea)$(li)Hevea$()$(l:arborfirmacraft/tapping_index#rubber_fig)$(li)Rubber Fig$()$(l:arborfirmacraft/tapping_index#kapok)$(li)Kapok$()$(l:arborfirmacraft/tapping_index#aspen)$(li)Aspen$()$(l:arborfirmacraft/tapping_index#spruce)$(li)Spruce$()$(l:arborfirmacraft/tapping_index#white_cedar)$(li)White Cedar$()$(l:arborfirmacraft/tapping_index#douglas_fir)$(li)Douglas Fir$()" + "text": "$(l:arborfirmacraft/tapping_index#maple)$(li)Клён$()$(l:arborfirmacraft/tapping_index#birch)$(li)Берёза$()$(l:arborfirmacraft/tapping_index#hevea)$(li)Гевея$()$(l:arborfirmacraft/tapping_index#rubber_fig)$(li)Каучуконосный фикус$()$(l:arborfirmacraft/tapping_index#kapok)$(li)Сейба$()$(l:arborfirmacraft/tapping_index#aspen)$(li)Осина$()$(l:arborfirmacraft/tapping_index#spruce)$(li)Ель$()$(l:arborfirmacraft/tapping_index#white_cedar)$(li)Белый кедр$()$(l:arborfirmacraft/tapping_index#douglas_fir)$(li)Пихта$()" }, { "type": "patchouli:spotlight", "anchor": "maple", - "title": "Maple", + "title": "Клён", "item": "tfc:wood/log/maple,tfc:wood/wood/maple,tfc:wood/leaves/maple,tfc:wood/sapling/maple", "link_recipe": false, - "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): -8.4°C$(br)$(thing)Maximum Temperature$(): 8°C$(br)$(thing)Minimum Rainfall$(): 240$(br)$(thing)Maximum Rainfall$(): 470$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): -15°C$(br)$(thing)Max Temp for Production$(): 5°C$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 5mb" + "text": "$(bold)Климат$()$(br)$(thing)Минимальная температура$(): -8.4°C$(br)$(thing)Максимальная температура$(): 8°C$(br)$(thing)Минимальные годовые осадки$(): 240$(br)$(thing)Максимальные годовые осадки$(): 470$(br2)$(bold)Информация для подсочки$()$(br)$(thing)Мин. темп. для производства$(): -15°C$(br)$(thing)Макс. темп. для производства$(): 5°C$(br)$(thing)Только весной$(): Нет$(br)$(thing)Скорость производства$(): 5mb" }, { "type": "patchouli:image", "images": [ "tfg:textures/gui/field_guide/tapping_index/maple_tree.png" ], - "text": "$(thing)Produces$(): Maple Sap$(br)$(thing)Processes Into$(): Maple Sugar", + "text": "$(thing)Производит$(): Кленовый сок$(br)$(thing)Перерабатывается в $(): Кленовый сахар", "border": true }, { "type": "patchouli:spotlight", "anchor": "birch", - "title": "Birch", + "title": "Берёза", "item": "tfc:wood/log/birch,tfc:wood/wood/birch,tfc:wood/leaves/birch,tfc:wood/sapling/birch", "link_recipe": false, - "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): -12.1°C$(br)$(thing)Maximum Temperature$(): 6.1°C$(br)$(thing)Minimum Rainfall$(): 125$(br)$(thing)Maximum Rainfall$(): 310$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): -15°C$(br)$(thing)Max Temp for Production$(): 5°C$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 5mb" + "text": "$(bold)Климат$()$(br)$(thing)Минимальная температура$(): -12.1°C$(br)$(thing)Максимальная температура$(): 6.1°C$(br)$(thing)Минимальные годовые осадки$(): 125$(br)$(thing)Максимальные годовые осадки$(): 310$(br2)$(bold)Информация для подсочки$()$(br)$(thing)Мин. темп. для производства$(): -15°C$(br)$(thing)Макс. темп. для производства$(): 5°C$(br)$(thing)Только весной$(): Нет$(br)$(thing)Скорость производства$(): 5mb" }, { "type": "patchouli:image", "images": [ "tfg:textures/gui/field_guide/tapping_index/birch_tree.png" ], - "text": "$(thing)Produces$(): Birch Sap$(br)$(thing)Processes Into$(): Birch Sugar", + "text": "$(thing)Производит$(): Берёзовый сок$(br)$(thing)Перерабатывается в $(): Берёзовый сахар", "border": true }, { "type": "patchouli:spotlight", "anchor": "hevea", - "title": "Hevea", + "title": "Гевея", "item": "afc:wood/log/hevea,afc:wood/wood/hevea,afc:wood/leaves/hevea,afc:wood/sapling/hevea", "link_recipe": false, - "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): 17.1°C$(br)$(thing)Maximum Temperature$(): 26.2°C$(br)$(thing)Minimum Rainfall$(): 390$(br)$(thing)Maximum Rainfall$(): 500$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): 8°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 3mb" + "text": "$(bold)Климат$()$(br)$(thing)Минимальная температура$(): 17.1°C$(br)$(thing)Максимальная температура$(): 26.2°C$(br)$(thing)Минимальные годовые осадки$(): 390$(br)$(thing)Максимальные годовые осадки$(): 500$(br2)$(bold)Информация для подсочки$()$(br)$(thing)Мин. темп. для производства$(): 8°C$(br)$(thing)Макс. темп. для производства$(): N/A$(br)$(thing)Только весной$(): Нет$(br)$(thing)Скорость производства$(): 3mb" }, { "type": "patchouli:image", "images": [ "tfg:textures/gui/field_guide/tapping_index/hevea_tree.png" ], - "text": "$(thing)Produces$(): Latex$(br)$(thing)Processes Into$(): Sticky Resin & Rubber", + "text": "$(thing)Производит$(): Латекс$(br)$(thing)Перерабатывается в $(): Липкая смола & Резина", "border": true }, { "type": "patchouli:spotlight", "anchor": "rubber_fig", - "title": "Rubber Fig", + "title": "Каучуконосный фикус", "item": "afc:wood/log/rubber_fig,afc:wood/wood/rubber_fig,afc:wood/leaves/rubber_fig,afc:wood/sapling/rubber_fig", "link_recipe": false, - "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): 9.8°C$(br)$(thing)Maximum Temperature$(): 20.7°C$(br)$(thing)Minimum Rainfall$(): 290$(br)$(thing)Maximum Rainfall$(): 400$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): 4°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 2mb" + "text": "$(bold)Климат$()$(br)$(thing)Минимальная температура$(): 9.8°C$(br)$(thing)Максимальная температура$(): 20.7°C$(br)$(thing)Минимальные годовые осадки$(): 290$(br)$(thing)Максимальные годовые осадки$(): 400$(br2)$(bold)Информация для подсочки$()$(br)$(thing)Мин. темп. для производства$(): 4°C$(br)$(thing)Макс. темп. для производства$(): N/A$(br)$(thing)Только весной$(): Нет$(br)$(thing)Скорость производства$(): 2mb" }, { "type": "patchouli:image", "images": [ "tfg:textures/gui/field_guide/tapping_index/rubber_fig_tree.png" ], - "text": "$(thing)Produces$(): Latex$(br)$(thing)Processes Into$(): Sticky Resin & Rubber", + "text": "$(thing)Производит$(): Латекс$(br)$(thing)Перерабатывается в $(): Липкая смола & Резина", "border": true }, { "type": "patchouli:spotlight", "anchor": "kapok", - "title": "Kapok", + "title": "Сейба", "item": "tfc:wood/log/kapok,tfc:wood/wood/kapok,tfc:wood/leaves/kapok,tfc:wood/sapling/kapok", "link_recipe": false, - "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): 17.1°C$(br)$(thing)Maximum Temperature$(): 38°C$(br)$(thing)Minimum Rainfall$(): 320$(br)$(thing)Maximum Rainfall$(): 500$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): 12°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 4mb" + "text": "$(bold)Климат$()$(br)$(thing)Минимальная температура$(): 17.1°C$(br)$(thing)Максимальная температура$(): 38°C$(br)$(thing)Минимальные годовые осадки$(): 320$(br)$(thing)Максимальные годовые осадки$(): 500$(br2)$(bold)Информация для подсочки$()$(br)$(thing)Мин. темп. для производства$(): 12°C$(br)$(thing)Макс. темп. для производства$(): N/A$(br)$(thing)Только весной$(): Нет$(br)$(thing)Скорость производства$(): 4mb" }, { "type": "patchouli:image", "images": [ "tfg:textures/gui/field_guide/tapping_index/kapok_tree.png" ], - "text": "$(thing)Produces$(): Latex$(br)$(thing)Processes Into$(): Sticky Resin & Rubber", + "text": "$(thing)Производит$(): Латекс$(br)$(thing)Перерабатывается в $(): Липкая смола & Резина", "border": true }, { "type": "patchouli:spotlight", "anchor": "aspen", - "title": "Aspen", + "title": "Осина", "item": "tfc:wood/log/aspen,tfc:wood/wood/aspen,tfc:wood/leaves/aspen,tfc:wood/sapling/aspen", "link_recipe": false, - "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): -15.7°C$(br)$(thing)Maximum Temperature$(): -1.1°C$(br)$(thing)Minimum Rainfall$(): 350$(br)$(thing)Maximum Rainfall$(): 500$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): -10°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 2mb" + "text": "$(bold)Климат$()$(br)$(thing)Минимальная температура$(): -15.7°C$(br)$(thing)Максимальная температура$(): -1.1°C$(br)$(thing)Минимальные годовые осадки$(): 350$(br)$(thing)Максимальные годовые осадки$(): 500$(br2)$(bold)Информация для подсочки$()$(br)$(thing)Мин. темп. для производства$(): -10°C$(br)$(thing)Макс. темп. для производства$(): N/A$(br)$(thing)Только весной$(): Нет$(br)$(thing)Скорость производства$(): 2mb" }, { "type": "patchouli:image", "images": [ "tfg:textures/gui/field_guide/tapping_index/aspen_tree.png" ], - "text": "$(thing)Produces$(): Conifer Pitch$(br)$(thing)Processes Into$(): Sticky Resin & Conifer Rosin", + "text": "$(thing)Производит$(): Хвойная смола$(br)$(thing)Перерабатывается в $(): Липкая смола & Хвойная канифоль", "border": true }, { "type": "patchouli:spotlight", "anchor": "spruce", - "title": "Spruce", + "title": "Ель", "item": "tfc:wood/log/spruce,tfc:wood/wood/spruce,tfc:wood/leaves/spruce,tfc:wood/sapling/spruce", "link_recipe": false, - "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): -17.5°C$(br)$(thing)Maximum Temperature$(): -6.6°C$(br)$(thing)Minimum Rainfall$(): 220$(br)$(thing)Maximum Rainfall$(): 470$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): -10°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 4mb" + "text": "$(bold)Климат$()$(br)$(thing)Минимальная температура$(): -17.5°C$(br)$(thing)Максимальная температура$(): -6.6°C$(br)$(thing)Минимальные годовые осадки$(): 220$(br)$(thing)Максимальные годовые осадки$(): 470$(br2)$(bold)Информация для подсочки$()$(br)$(thing)Мин. темп. для производства$(): -10°C$(br)$(thing)Макс. темп. для производства$(): N/A$(br)$(thing)Только весной$(): Нет$(br)$(thing)Скорость производства$(): 4mb" }, { "type": "patchouli:image", "images": [ "tfg:textures/gui/field_guide/tapping_index/spruce_tree.png" ], - "text": "$(thing)Produces$(): Conifer Pitch$(br)$(thing)Processes Into$(): Sticky Resin & Conifer Rosin", + "text": "$(thing)Производит$(): Хвойная смола$(br)$(thing)Перерабатывается в $(): Липкая смола & Хвойная канифоль", "border": true }, { "type": "patchouli:spotlight", "anchor": "white_cedar", - "title": "White Cedar", + "title": "Белый кедр", "item": "tfc:wood/log/white_cedar,tfc:wood/wood/white_cedar,tfc:wood/leaves/white_cedar,tfc:wood/sapling/white_cedar", "link_recipe": false, - "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): -15.7°C$(br)$(thing)Maximum Temperature$(): 0.7°C$(br)$(thing)Minimum Rainfall$(): 100$(br)$(thing)Maximum Rainfall$(): 285$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): -8°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 3mb" + "text": "$(bold)Климат$()$(br)$(thing)Минимальная температура$(): -15.7°C$(br)$(thing)Максимальная температура$(): 0.7°C$(br)$(thing)Минимальные годовые осадки$(): 100$(br)$(thing)Максимальные годовые осадки$(): 285$(br2)$(bold)Информация для подсочки$()$(br)$(thing)Мин. темп. для производства$(): -8°C$(br)$(thing)Макс. темп. для производства$(): N/A$(br)$(thing)Только весной$(): Нет$(br)$(thing)Скорость производства$(): 3mb" }, { "type": "patchouli:image", "images": [ "tfg:textures/gui/field_guide/tapping_index/white_cedar_tree.png" ], - "text": "$(thing)Produces$(): Conifer Pitch$(br)$(thing)Processes Into$(): Sticky Resin & Conifer Rosin", + "text": "$(thing)Производит$(): Хвойная смола$(br)$(thing)Перерабатывается в $(): Липкая смола & Хвойная канифоль", "border": true }, { "type": "patchouli:spotlight", "anchor": "douglas_fir", - "title": "Douglas Fir", + "title": "Пихта", "item": "tfc:wood/log/douglas_fir,tfc:wood/wood/douglas_fir,tfc:wood/leaves/douglas_fir,tfc:wood/sapling/douglas_fir", "link_recipe": false, - "text": "$(bold)Climate Data$()$(br)$(thing)Minimum Temperature$(): -15.7°C$(br)$(thing)Maximum Temperature$(): 6.1°C$(br)$(thing)Minimum Rainfall$(): 305$(br)$(thing)Maximum Rainfall$(): 500$(br2)$(bold)Tapping Data$()$(br)$(thing)Min Temp for Production$(): -8°C$(br)$(thing)Max Temp for Production$(): N/A$(br)$(thing)Spring Exclusive$(): No$(br)$(thing)Flow Rate$(): 2mb" + "text": "$(bold)Климат$()$(br)$(thing)Минимальная температура$(): -15.7°C$(br)$(thing)Максимальная температура$(): 6.1°C$(br)$(thing)Минимальные годовые осадки$(): 305$(br)$(thing)Максимальные годовые осадки$(): 500$(br2)$(bold)Информация для подсочки$()$(br)$(thing)Мин. темп. для производства$(): -8°C$(br)$(thing)Макс. темп. для производства$(): N/A$(br)$(thing)Только весной$(): Нет$(br)$(thing)Скорость производства$(): 2mb" }, { "type": "patchouli:image", "images": [ "tfg:textures/gui/field_guide/tapping_index/douglas_fir_tree.png" ], - "text": "$(thing)Produces$(): Conifer Pitch$(br)$(thing)Processes Into$(): Sticky Resin & Conifer Rosin", + "text": "$(thing)Производит$(): Хвойная смола$(br)$(thing)Перерабатывается в $(): Липкая смола & Хвойная канифоль", "border": true } ] diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/tree_tapping.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/tree_tapping.json index 6e6661bc3..c7de71d32 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/tree_tapping.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/tree_tapping.json @@ -1,15 +1,15 @@ { - "name": "Tapping Trees", + "name": "Подсочка деревьев", "category": "tfc:arborfirmacraft", "icon": "afc:tree_tap", "pages": [ { "type": "patchouli:text", - "text": "Some types of trees can be tapped for useful fluids. These trees can either produce sugary saps which can be concentrated into syrup and used as a sweetener, Latex which can be processed into rubber, or Pitch which can be processed into rosin, a wax substitute." + "text": "Из некоторых видов деревьев можно получать полезные жидкости. Эти деревья могут давать сок, который можно сконцентрировать в сироп и использовать в качестве подсластителя, латекс, который можно переработать в резину, или смолу, которую можно переработать в канифоль — заменитель воска." }, { "type": "patchouli:image", - "title": "Tapping a Maple Tree", + "title": "Подсочка клена", "images": [ "afc:textures/gui/book/maple_tapping.png" ], @@ -17,12 +17,12 @@ }, { "type": "patchouli:text", - "text": "Three things are required to tap a tree: the tree itself, a tree tap, which must forged from a Copper Ingot and placed in the middle of a trunk at least three blocks tall, and a barrel, which must be placed directly below the tap facing upward. If the conditions are right, your barrel will immediately begin to fill with sap." + "text": "Для того чтобы подкачать сок с дерева, необходимы три вещи: само дерево, краник для подсочки, которая должна быть выкована из медного слитка и установлен посередине ствола высотой не менее трех блоков, и бочка, которая должна быть размещена непосредственно под краном, направленная вверх. При благоприятных условиях бочка немедленно начнет наполняться соком." }, { "type": "patchouli:image", "images": ["tfg:textures/gui/field_guide/tree_tapping/tapping_kapok.png"], - "text": "A valid tapping configuration used to extract Latex from Kapok", + "text": "Допустимая конфигурация, используемая для извлечения латекса из сейбы.", "border": true } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/concrete_roads.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/concrete_roads.json index 052e5add7..2ff5ffdb8 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/concrete_roads.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/concrete_roads.json @@ -1,15 +1,15 @@ { - "name": "Concrete Roads", + "name": "Бетонные дороги", "category": "tfc:roadsandroofs", "icon": "rnr:concrete_road_panel", "pages": [ { "type": "patchouli:text", - "text": "Concrete roads are the fastest variety of road that can be constructed, offering a 30% movement speed bonus when properly constructed. However, road builders must be diligent when constructing concrete roads to prevent them from cracking or being trodden on while wet, as this will remove the speed bonus." + "text": "Бетонные дороги — это самый быстрый тип дорог, который можно построить, обеспечивающий 30% бонус к скорости передвижения при правильном строительстве. Однако дорожные строители должны быть внимательны при возведении бетонных дорог, чтобы предотвратить их растрескивание или повреждение от ходьбы во влажную погоду, так как это снимет бонус к скорости." }, { "type": "patchouli:image", - "title": "Concrete Road", + "title": "Бетонные дороги", "images": [ "rnr:textures/gui/book/concrete_road.png" ], "border": true }, @@ -17,29 +17,29 @@ "type": "patchouli:spotlight", "anchor": "liquid_concrete", "item": "gtceu:concrete_bucket", - "title": "Concrete Crafting", - "text": "The first step in making a concrete road is mixing the liquid concrete. Use a $(thing)Mixer$() to combine water with any two stone dusts, one of either calcite or marble dust, and gypsum dust, or any three stone dusts with clay dust to make $(thing)Liquid Concrete$()." + "title": "Изготовление бетона", + "text": "Первый шаг в создании бетонной дороги — это приготовление бетона. Используй $(thing)Миксер$() или $(thing)Смешиватель$(), чтобы смешать воду с любыми двумя каменными пылями, одной пылью кальцита или мрамора, а также гипсовую пыль, либо смешай любые три каменные пыли с глиняной пылью, чтобы получить $(thing)Бетон$()." }, { "type": "patchouli:spotlight", "anchor": "wet_concrete", "item": "rnr:bucket/concrete", - "title": "Concrete Crafting", - "text": "Then add the liquid concrete in a $(thing)Mixer$() set to $(thing)Programmed Circuit #7$() with more water to dilute it into $(thing)Wet Concrete Mix$()." + "title": "Изготовление жидкого бетона", + "text": "Затем добавьте бетон в $(thing)Миксер$() или $(thing)Смешиватель$(), настроенный на $(thing)Интегральную схему #7$(), и еще немного воды, чтобы разбавить его до $(thing)Жидкого бетона$()." }, { "type": "patchouli:text", - "text": "Once $(thing)Wet Concrete$() has been mixed, it can be picked up in a bucket and placed on a $(thing)Base Course Block$() where it will spread to adjacent blocks. The concrete will harden after one day, and until it hardens care must be taken that no creatures walk through the wet concrete as this will create an uneven surface that provides no speed bonus. Footprints can be smoothed out with a $(thing)Mattock$()." + "text": "После того, как $(thing)Влажный бетон$() будет замешан, его можно собрать в ведро и поместить на $(thing)Основание покрытия$(), где он растечется по соседним блокам. Бетон затвердеет через день, и до его затвердевания необходимо следить за тем, чтобы никакие существа не ходили по влажному бетону, так как это создаст неровную поверхность, не дающую бонуса к скорости. Следы можно разгладить с помощью $(thing)Кайло$()." }, { "type": "patchouli:image", - "title": "Pouring a Concrete Road", + "title": "Заливка бетонной дороги", "images": [ "rnr:textures/gui/book/wet_concrete.png" ], "border": true }, { "type": "patchouli:text", - "text": "Shrinkage cracking is also a concern as concrete sets. If concrete is poured in areas more than four blocks wide, blocks that are farther than two blocks from the nearest $(thing)Edge$(), $(thing)Control Joint$(), or $(thing)Textured Finish$() will crack when set. This can be prevented by pouring concrete in smaller areas, using a $(thing)Mattock$() to add $(thing)Control Joints$(), or by applying a $(thing)Textured Finish$()." + "text": "При твердении бетона также важно учитывать усадочные трещины. Если бетон заливается на участках шириной более четырёх блоков, то блоки, находящиеся дальше чем в двух блоках от ближайшего $(thing)Края$(), $(thing)Компенсационного шва$() или $(thing)тротуарной плитки$(), растрескаются после схватывания. Этого можно избежать, заливая бетон меньшими участками, используя $(thing)Кайло$() для добавления $(thing)Компенсационных швов$(), либо нанося $(thing)тротуарную плитку$()." }, { "type": "patchouli:image", @@ -49,11 +49,11 @@ }, { "type": "patchouli:text", - "text": "$(thing)Textured Finishes$() are created by pressing $(thing)Bricks$(), $(thing)Flagstones$(), or $(thing)Smooth Stone Blocks$() into drying concrete to create an architectural finish. These blocks also act as $(thing)Control Joints$() for preventing cracking. Once concrete has finished drying, a $(thing)Chisel$() can be used to form slabs and stairs." + "text": "$(thing)Тротуарную плитку$() создаются путём вдавливания $(thing)Кирпичей$(), $(thing)Брусчатки$() или $(thing)Блоков гладкого камня$() в сохнущий бетон, чтобы получить декоративную архитектурную отделку. Эти блоки также работают как $(thing)Компенсационные швы$(), предотвращая растрескивание. После полного высыхания бетона можно использовать $(thing)Зубило$(), чтобы сформировать плиты и ступени." }, { "type": "patchouli:image", - "title": "Faux Sett Road", + "title": "Фокс Сетт Роуд", "images": [ "rnr:textures/gui/book/faux_sett.png" ], "border": true } diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/gravel_roads.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/gravel_roads.json new file mode 100644 index 000000000..20d8d48b1 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/gravel_roads.json @@ -0,0 +1,24 @@ +{ + "name": "Гравийные и возвышенные дороги", + "category": "tfc:roadsandroofs", + "icon": "rnr:rock/gravel_road/chert", + "pages": [ + { + "type": "patchouli:crafting", + "anchor": "gravel_fill", + "recipe": "rnr:crafting/gravel_fill/chert", + "title": "Гравийная смесь", + "text": "Небольшое количество гравия можно нанести на основание покрытия, чтобы создать простую дорожку, которая даст умеренное увеличение скорости передвижения на 10%. Дополнительный слой гравия, утрамбованный кайлом, можно добавить для создания возвышенной дороги, которая даст увеличение скорости передвижения на 20%." + }, + { + "type": "patchouli:image", + "title": "Возвышенные дороги", + "images": [ + "rnr:textures/gui/book/macadam.png" + ], + "border": true + } + ], + "read_by_default": true, + "sortnum": 8 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/hoggin.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/hoggin.json new file mode 100644 index 000000000..225a76e3f --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/hoggin.json @@ -0,0 +1,20 @@ +{ + "name": "Песчано-гравийная галька", + "category": "tfc:roadsandroofs", + "icon": "rnr:hoggin", + "pages": [ + { + "type": "patchouli:crafting", + "anchor": "hoggin_mix", + "recipe": "rnr:crafting/hoggin_mix", + "title": "Песчано-гравийная смесь", + "text": "Песчано-гравийная смесь — это совместимое почвопокровное покрытие, изготовленное из смеси глины, гравия и песка. Его можно нанести на основание покрытия, чтобы создать простую дорожку - песчано-гравийная гальку, которая обеспечивает умеренное увеличение скорости передвижения на 10%." + }, + { + "type": "patchouli:text", + "text": "" + } + ], + "read_by_default": true, + "sortnum": 4 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/making_a_road.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/making_a_road.json new file mode 100644 index 000000000..77ccd3b42 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/making_a_road.json @@ -0,0 +1,34 @@ +{ + "name": "Строительство дороги", + "category": "tfc:roadsandroofs", + "icon": "rnr:metal/mattock/bismuth_bronze", + "pages": [ + { + "type": "patchouli:text", + "text": "Строительство дороги состоит из трех основных этапов: уплотнения грунта кайлом, укладки основания и укладки поверхностного слоя. Для различных видов дорог используются разные материалы, как описано на соответствующих страницах данного руководства." + }, + { + "type": "patchouli:image", + "title": "Прокладывание путей", + "images": [ + "rnr:textures/gui/book/path_building.png" + ], + "border": true + }, + { + "type": "patchouli:text", + "text": "Кайло можно использовать для уплотнения блоков из грунта аналогично зубилу. В стандартном режиме кайло утрамбовывает эти блоки. Если мотыга использовалась для уплотнения грязи или илистых корней, образовавшуюся утрамбованную грязь необходимо очистить, уложив щебень в основание." + }, + { + "type": "patchouli:text", + "text": "После уплотнения грунта следующим шагом является укладка основания покрытия. Дробленное основание покрытия можно изготовить из гравия, камней и молотка, а затем нанести на утрамбованные блоки щелчком правой кнопки мыши. Это основания покрытия создаст прочную основу для окончательного покрытия дороги." + }, + { + "type": "patchouli:text", + "text": "Последний этап создания дороги — укладка дорожного покрытия. Различные предметы, включая кирпичи, насыпь гравия и камни, можно разместить, щелкнув правой кнопкой мыши по основанию покрытия, чтобы сформировать дорогу. Разные предметы приводят к созданию разных типов дорог, и разные типы дорог позволяют развивать разную скорость передвижения. Для получения более подробной информации о различных типах дорог обратитесь к соответствующим страницам в этом руководстве." + } + + ], + "read_by_default": true, + "sortnum": 1 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/making_a_roof.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/making_a_roof.json new file mode 100644 index 000000000..36386daed --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/making_a_roof.json @@ -0,0 +1,32 @@ +{ + "name": "Как сделать крышу", + "category": "tfc:roadsandroofs", + "icon": "rnr:terracotta_roof_stairs", + "pages": [ + { + "type": "patchouli:text", + "text": "Строительство крыши начинается с каркаса. Блоки для каркаса кровли могут быть изготовлены из древесины и брусьев и использоваться для создания различных вариантов лестниц и плит. Эти блоки могут использоваться для определения формы крыши." + }, + { + "type": "patchouli:crafting", + "anchor": "roof_frame", + "recipe": "rnr:crafting/roof_framing", + "title": "Каркас кровли", + "text": "Каркас крыши является отправной точкой для любой кровли." + }, + { + "type": "patchouli:text", + "text": "После установки каркасов кровли его можно обвести правой кнопкой мыши любым кровельным материалом, чтобы создать соответствующую крышу. К типам крыш относятся соломенная кровля, изготавливаемая путем добавления соломы к каркасу кровли, а также кровля из терракотовой черепицы, деревянная кровля и многое другое." + }, + { + "type": "patchouli:image", + "title": "Покрытие крыши соломой", + "images": [ + "rnr:textures/gui/book/thatching.png" + ], + "border": true + } + ], + "read_by_default": true, + "sortnum": 30 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/paving_cart.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/paving_cart.json index 04b16db1e..698d79929 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/paving_cart.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/paving_cart.json @@ -1,41 +1,41 @@ { - "name": "Paving Cart", + "name": "Тележка для мощения", "category": "tfc:roadsandroofs", "icon": "tfg:rnr_plow", "pages": [ { "type": "patchouli:text", - "text": "The $(thing)Paving Cart$() is a specialized cart used for laying down road surfaces quickly and efficiently. It can be filled with road materials and $(thing)Crushed Base Course$() to create roads. The cart can also fill in any existing base course blocks" + "text": "$(thing)Тележка для мощения$() — это специализированная тележка, используемая для быстрой и эффективной укладки дорожных покрытий. Ты можешь загрузить в неё дорожные материалы и $(thing)Дроблёное основание покрытия$(), чтобы создавать дороги. Тележка также может заполнять уже существующие блоки основания покрытия" }, { "type": "patchouli:image", - "title": "Paving Cart", + "title": "Тележка для мощения", "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart.png" ], "border": true }, { "type": "patchouli:image", - "title": "Width Adjustment Slider", + "title": "Ползунок регулировки ширины", "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_width.png" ], "border": true, - "text": "The cart allows you to adjust the width of the path in the GUI" + "text": "Тележка позволяет регулировать ширину дороги в GUI." }, { "type": "patchouli:image", - "title": "Variable Width Path", + "title": "Переменная ширина дороги", "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_width.png" ], "border": true }, { "type": "patchouli:image", - "title": "Randomizer Button", + "title": "Кнопка рандома", "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_random.png" ], "border": true, - "text": "The cart has a mode that will lay down materials in a random pattern." + "text": "У тележки есть режим, который позволяет укладывать материалы в случайном порядке." }, { "type": "patchouli:image", - "title": "Random Material Path", + "title": "Дорожка из случайных материалов", "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_random.png" ], "border": true } diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/stone_roads.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/stone_roads.json new file mode 100644 index 000000000..d3a003418 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/roadsandroofs/stone_roads.json @@ -0,0 +1,35 @@ +{ + "name": "Брусчатка", + "category": "tfc:roadsandroofs", + "icon": "rnr:rock/flagstones/basalt", + "pages": [ + { + "type": "patchouli:text", + "text": "На основание покрытия можно нанести различные виды каменной кладки, и все они дают 20% бонус к скорости. Мощеные дороги создаются путем добавления камней поверх основания покрытия. Дороги из брусчатки можно строить из каменных или керамических кирпичей." + }, + { + "type": "patchouli:crafting", + "anchor": "gneiss_flagstones", + "recipe": "rnr:crafting/flagstone/gneiss", + "title": "Производство брусчатки", + "text": "Брусчатку можно изготавливать из блоков гладкого камня или песчаника." + }, + { + "type": "patchouli:crafting", + "anchor": "pink_sandstone_flagstones", + "recipe": "rnr:crafting/flagstone/pink_sandstone", + "title": "Производство брусчатки", + "text": "Брусчатку можно изготавливать из блоков гладкого камня или песчаника." + }, + { + "type": "patchouli:image", + "title": "Базальтовая дорога", + "images": [ + "rnr:textures/gui/book/sett_road.png" + ], + "border": true + } + ], + "read_by_default": true, + "sortnum": 12 +} \ No newline at end of file From 8f5127c45000e9aa0a1a34dbb6a1031065358f33 Mon Sep 17 00:00:00 2001 From: Mqrius Date: Fri, 9 Jan 2026 09:39:11 +0100 Subject: [PATCH 045/474] Add cast iron to gear/rod molds (#2677) * Add irons and steels to casting molds * Remove steels and wrought iron --- kubejs/startup_scripts/gtceu/material_modification.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 6ebaa34c9..38e798697 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -207,6 +207,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.RedAlloy.addFlags(CAN_BE_UNMOLDED); GTMaterials.Lead.addFlags(CAN_BE_UNMOLDED); GTMaterials.Potin.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Iron.addFlags(CAN_BE_UNMOLDED); // // /* Имеют инструменты, броню TFC, двойные слитки */ GTMaterials.Copper.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); From fc80829058508a305749ecdbe89877023d5da598 Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Fri, 9 Jan 2026 09:10:26 -0700 Subject: [PATCH 046/474] Add files via upload (#2686) Signed-off-by: thederpysockdude123 --- .../firmaciv/textures/item/copper_bolt.png | Bin 243 -> 242 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/kubejs/assets/firmaciv/textures/item/copper_bolt.png b/kubejs/assets/firmaciv/textures/item/copper_bolt.png index 6abac9a368465cb4734369f71bed0e072d918b22..d8ebe8c634528f42106f1826f66ca48760b9fe97 100644 GIT binary patch delta 207 zcmey&_=$0Xc0Jz_1_r((j8nDwq!}0(mUy~2hFJ6_CrGfmG`cdX{TFAQ@kc%S^K;|h z|Mth-`MLjepzvVqoNx;&nb8&a!4^ zW@c8_JNxd}DxO1k-thchcQ1X%k0++i?`O70TurK2cslTN{gkPE9)~}FpD%H*?r&$f zF-Qydt^=pf-v&3@v4|KB(=v*YTUHF}39 zBrj`Ay8R8`=)8R_`zTHB)0k^0II8(NlPX85oMJ1CAeSH&bO` PU|{fc^>bP0l+XkKF^yUy From b3f1308fdfe54752660342ec7539a1a275bee4b0 Mon Sep 17 00:00:00 2001 From: jurjen909 Date: Fri, 9 Jan 2026 21:49:29 +0100 Subject: [PATCH 047/474] Inconsistency fix at recipes.coal.js (#2688) * Inconsistency fix at recipes.coal.js Removed duplicate gtceu:raw_coal recipe with an odd time of 1710 ticks. Changed recipe duration to reflect how many Coke is being made (ie 4x coke = 4x the base of 900 ticks, 45 seconds) Changed tfc:poor_raw_coal recipe input to 1x tfc:poor_raw_coal instead of 2x tfc:poor_raw_coal to reflect the amount of Coal a piece or Poor Raw gives in a furnace. * Update recipes.coal.js Reverted recipe duration changes back to 900 ticks for the raw coal items in the Coke oven. Removed redundant "1x" input in poor_raw_coal recipe. Signed-off-by: jurjen909 --------- Signed-off-by: jurjen909 --- kubejs/server_scripts/tfg/powergen/recipes.coal.js | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/kubejs/server_scripts/tfg/powergen/recipes.coal.js b/kubejs/server_scripts/tfg/powergen/recipes.coal.js index 6220f542f..6c9227430 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.coal.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.coal.js @@ -3,7 +3,7 @@ function registerTFGCoalRecipes(event) { event.recipes.gtceu.coke_oven("tfg:poor_coal_to_coke") - .itemInputs('2x gtceu:poor_raw_coal') + .itemInputs('gtceu:poor_raw_coal') .itemOutputs('1x gtceu:coke_gem') .outputFluids(Fluid.of('gtceu:creosote', 500)) .duration(900) @@ -54,12 +54,6 @@ function registerTFGCoalRecipes(event) { .EUt(96) .circuit(2) - event.recipes.gtceu.coke_oven("tfg:raw_coal_to_coke") - .itemInputs('gtceu:raw_coal') - .itemOutputs('2x gtceu:coke_gem') - .outputFluids(Fluid.of('gtceu:creosote', 2000)) - .duration(1710) - event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_tar") .itemInputs('6x gtceu:raw_coal') .chancedOutput('gtceu:dark_ash_dust', 5000, 0) @@ -93,4 +87,4 @@ function registerTFGCoalRecipes(event) { .duration(288) .EUt(96) .circuit(2) -} \ No newline at end of file +} From ece7a39b89ac6bb5f2c6f5c83f8f57783e76076b Mon Sep 17 00:00:00 2001 From: FlightingFalcon <100160941@ccisd.net> Date: Fri, 9 Jan 2026 16:53:54 -0600 Subject: [PATCH 048/474] Added Drinks Entry (#2676) * Update hazards.json Signed-off-by: FlightingFalcon <100160941@ccisd.net> * Create drinks Signed-off-by: FlightingFalcon <100160941@ccisd.net> * Update drinks Signed-off-by: FlightingFalcon <100160941@ccisd.net> * Rename drinks to drinks.json Signed-off-by: FlightingFalcon <100160941@ccisd.net> * Update drinks.json Signed-off-by: FlightingFalcon <100160941@ccisd.net> * Update drinks.json Signed-off-by: FlightingFalcon <100160941@ccisd.net> * Update drinks.json Signed-off-by: FlightingFalcon <100160941@ccisd.net> --------- Signed-off-by: FlightingFalcon <100160941@ccisd.net> --- .../en_us/entries/mechanics/drinks.json | 57 +++++++++++++++++++ .../en_us/entries/tfg_ores/hazards.json | 18 +----- 2 files changed, 58 insertions(+), 17 deletions(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json new file mode 100644 index 000000000..c239016f7 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json @@ -0,0 +1,57 @@ +{ + "name": "Drinks", + "icon": "firmalife:olivine_wine_bottle", + "category": "tfc:mechanics", + "priority": false, + "sortnum": 17, + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "This section covers various drinkable items added by the modpack, hopefully aiding you in your quest of not dying.$(br2)These drinks have various useful effects, as well as keeping you hydrated." + }, + { + "type": "patchouli:spotlight", + "title": "Aged Alcohol", + "text": "$(thing)Aged Alcohol$() will give potion buffs, some of which you might find useful.$(br2)You can drink them with a $(l:getting_started/pottery#jug)Jug$() or $(l:waterflasks/recipes)Flask$().", + "item": "tfcagedalcohol:bucket/aged_beer,tfcagedalcohol:bucket/aged_cider,tfcagedalcohol:bucket/aged_rum,tfcagedalcohol:bucket/aged_sake,tfcagedalcohol:bucket/aged_vodka,tfcagedalcohol:bucket/aged_whiskey,tfcagedalcohol:bucket/aged_corn_whiskey,tfcagedalcohol:bucket/aged_rye_whiskey" + }, + { + "type": "patchouli:text", + "text": "Aged Beer: Absorption II (20:00)$(br2)Aged Cider: Speed (5:20)$(br2)Aged Rum: Speed II (2:40)$(br2)Aged Sake: Resistance (5:20)$(br2)Aged Vodka: Resistance II (2:40)$(br2)Aged Corn Whiskey: Haste (5:20)$(br2)Aged Rye Whiskey: Haste (5:20)$(br2)Aged Whiskey: Haste II (2:40)$(br2)Aged Mead: Regeneration (5:20)" + }, + { + "type": "patchouli:spotlight", + "title": "Milks", + "text": "$(thing)Milk$() can be aquired from most female livestock by simply right clicking them with a bucket once familiarity is at a high enough level.$(br2)While not providing any buffs, it provides dairy nutrition and can still quench thrist, as well as later be made into cheese.", + "item": "minecraft:milk_bucket,firmalife:bucket/yak_milk,firmalife:bucket/goat_milk,tfc_gurman:ox_milk_bucket,tfc_gurman:sheep_milk_bucket,tfc_gurman:alpaca_milk_bucket" + }, + { + "type": "patchouli:spotlight", + "title": "Teas", + "text": "$(thing)Teas$() can be brewed using dried versions of certain plants.$(br2)They provide short but useful buffs and warm your body temperature by 4 degrees.", + "item": "tfc_gurman:tea_mint_bucket,tfc_gurman:tea_chamomile_bucket,tfc_gurman:tea_rosehip_bucket,tfc_gurman:tea_nettle_bucket" + }, + { + "type": "patchouli:text", + "text": "Mint Tea: Regeneration (0:30)$(br2)Chamomile Tea: Resistance (0:30)$(br2)Rosehip Tea: Absorption (0:30)$(br2)Nettle Tea: Slow Falling (0:30)" + }, + { + "type": "patchouli:spotlight", + "title": "Treats", + "text": "This is a category for more misc drinks with delicious taste and special effects. Enjoy!", + "item": "tfc_gurman:cocoa_bucket,tfc_gurman:coffee_bucket,tfc_gurman:nalivka_bucket,tfc_gurman:kvass_bucket,tfc_gurman:compote_bucket" + }, + { + "type": "patchouli:text", + "text": "Cocoa: Haste (0:30), warms you by 4 degrees$(br2)Coffee: Speed (0:30). warms you by 4 degrees$(br2)Lemonade: Haste (0:30), cools you by 2 degrees$(br2)Nalivka: Strength (2:40), cools you by 2 degrees$(br2)Kvass: Strength (1:20), cools you by 2 degrees$(br2)Compote: Jump Boost II (0:30)" + }, + { + "title": "Spring Water", + "text": "Drinking $(thing)Spring Water$() warms you up by 4 degrees and applies a small regeneration effect while standing in it, as well as warming you.", + "item": "tfc:bucket/spring_water", + "type": "patchouli:spotlight" + } + ] +} + diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/hazards.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/hazards.json index 7e3b1c6c7..caef9ac3d 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/hazards.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/hazards.json @@ -61,23 +61,7 @@ "type": "patchouli:spotlight", "title": "Spring Water", "item": "tfc:bucket/spring_water", - "text": "Standing in $(thing)Spring Water$() will provide a slow $(thing)Regeneration$() effect." - }, - { - "type": "patchouli:spotlight", - "title": "Aged Alcohol", - "text": "$(thing)Aged Alcohol$() will give potion buffs, some of which you might find useful.$(br2)You can drink them with a $(l:getting_started/pottery#jug)Jug$() or $(l:waterflasks/recipes)Flask$().", - "item": "tfcagedalcohol:bucket/aged_beer,tfcagedalcohol:bucket/aged_cider,tfcagedalcohol:bucket/aged_rum,tfcagedalcohol:bucket/aged_sake,tfcagedalcohol:bucket/aged_vodka,tfcagedalcohol:bucket/aged_whiskey,tfcagedalcohol:bucket/aged_corn_whiskey,tfcagedalcohol:bucket/aged_rye_whiskey" - }, - { - "type": "patchouli:text", - "text": "Aged Beer: Absorption II (20:00)$(br2)Aged Cider: Speed (5:20)$(br2)Aged Rum: Speed II (2:40)$(br2)Aged Sake: Resistance (5:20)$(br2)Aged Vodka: Resistance II (2:40)$(br2)Aged Corn Whiskey: Haste (5:20)$(br2)Aged Rye Whiskey: Haste (5:20)$(br2)Aged Whiskey: Haste II (2:40)" - }, - { - "type": "patchouli:spotlight", - "item": { "tag": "tfc:foods" }, - "title": "Nutrition", - "text": "Eating better foods with more $(l:getting_started/food_and_water#nutrients)nutrition$() will raise your maximum HP by a significant amount.$(br2)$(l:mechanics/pot#soup)Soups$(), $(l:mechanics/sandwiches)Sandwiches$(), and $(l:mechanics/salad)Salads$() are great for this." + "text": "Standing in $(thing)Spring Water$() will provide a slow $(thing)Regeneration$() effect, though you cannot drink it." }, { "type": "patchouli:spotlight", From 8d65491639b667d00fdfc84b5551a9b9661f8189 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 9 Jan 2026 22:54:36 +0000 Subject: [PATCH 049/474] update changelog --- CHANGELOG.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 23ec1ccf5..f704df58f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,13 +5,33 @@ - The steam thermal centrifuge now requires a maintenance hatch. It also now requires 480mB steam per tick instead of 64mb, equivalent to how much 8 LV thermal centrifuges would use. It also now only takes 20 seconds instead of 30. It also now actually outputs byproducts like it was supposed to. @Pyritie - Single block steam generators are now more expensive to craft, so there isn't such a huge gap between steam, gas, and combustion generators @TomPlop ### Changes +- Added tree index field guide entries for Earth and Mars (#2638) @Jeuvke +- Added drinkable effects field guide entry (#2676) @FlightingFalcon - The crucible now holds 4608mB (32 ingots) instead of 4032mB (28 ingots) (#2634) @Pyritie - Large gears can now be crafted in an anvil/mechanical press @Pyritie -- Added tree index field guide entries for Earth and Mars (#2638) @Jeuvke - Added recipe to make tubes from volcanic glass batches (#2667) @Redeix +- Added cast iron to the rod, gear, and nugget molds (#2677) @Mqrius +- Added vinegar as an option for curdled milk in a gregtech mixer (#2675) @JeanRdSz +- Fallen leaves, leaf blocks, bio chaff, and plant balls now all count as compost greens (#2653) @Inceitious +- Added more pie charts to various ores and composite materials (#2640) @BlueBoat29 +- Unified crafting recipes for all the different metal bars (#2641) +- Changed to a new UI mod that improves performance, let us know if it causes issues! (#2620) @trisjob +- Cut and paste and Copy and paste building gadgets have been moved from IV to EV (#2660) @thederpysockdude123 +- The sandworm no longer spawns in the Superflat preset that's a big vanilla desert biome +- You can now also use mars water in gregtech and create boilers @Pyritie ### Bug fixes +- Fixed the huge amount of lag from looking at lots of interconnected trees @Mqrius +- Fixed tree chopping also stripping nearby trees of all their leaves (note that this will only also apply to newly generated mars trees, old trees will have the old behaviour) @Mqrius +- Fixed tree chopping not working on trees that had no leaves @Mqrius +- Fixed tree chopping working on player-placed logs (yes, this means you can't place logs to chop down many trees at once any more) @Mqrius - Fixed not being able to craft Paracetamol or Rad-Away @Pyritie +- Fixed the missing dried fruit to yeast starter recipe (#2673) @Mqrius - Water wheels now spin the correct direction in rivers (#2450) @zehmaria +- Water wheels now also work with flowing water from aqueducts, instead of requiring an adjacent source block @zehmaria +- Added locometal to the domum ornamentum whitelist (#2651) @thederpysockdude123 +- Fixed the new venus bugs spawning on earth @Pyritie +- Fixed some inconsistent recipes with coal in coke ovens, and removed a duplicate recipe (#2688) @jurjen909 +- Fixed the rendering of two-block tall crops in the electric greenhouse @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 From 78be4b480d3e9c0c8ed0c29dc0bd4259a3ef194a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 9 Jan 2026 23:29:36 +0000 Subject: [PATCH 050/474] update create picky wheels --- config/createpickywheels-common.toml | 58 ++++++++++++++++++++-------- 1 file changed, 42 insertions(+), 16 deletions(-) diff --git a/config/createpickywheels-common.toml b/config/createpickywheels-common.toml index 94202323a..2b2134ed6 100644 --- a/config/createpickywheels-common.toml +++ b/config/createpickywheels-common.toml @@ -1,24 +1,50 @@ -##Waterwheel requirements +#Waterwheel requirements [waterwheels] #Enable waterwheels modifications? waterwheelsEnabled = true #Only enable pickyness onPlacement, if the water wheel was instead generated during worldgen, it works as default. waterwheelsPickyOnPlacement = true - #Boost for Waterwheels placed on boosted biomes. - #Range: 0.0 ~ 1.7976931348623157E308 - waterwheelBaseBoost = 1.0 - #Penalty for Waterwheels placed on whitelisted but not on preferential biomes [waterwheel_boosted biome tag]. - #Range: 0.0 ~ 1.7976931348623157E308 - waterwheelPenalty = 0.25 - #The minimum amount of fluid blocks the waterwheel needs to find before rotation begins. - #Range: > 1 - waterwheelThreshold = 1 - #The maximum distance a waterwheel can consider fluid blocks from. - #Range: > 1 - waterwheelRange = 2 - #When enabled waterwheels require correct flow (like in TerraFirmaCraft's water river) - waterwheelsRequiresFlow = true + + #Biome impact on waterwheel + [waterwheels."biome efficiency"] + #RPM Boost for Waterwheels placed on boosted biomes tag. + #Range: 0.0 ~ 1.7976931348623157E308 + waterwheelBiomeRPMBoost = 1.0 + #RPM Penalty for Waterwheels placed on whitelisted but not on preferential biomes [waterwheel_boosted biome tag]. + #Range: 0.0 ~ 1.7976931348623157E308 + waterwheelBiomeRPMPenalty = 0.25 + #STRESS Boost for Waterwheels placed on boosted Biomes. + #Range: 0.0 ~ 1.7976931348623157E308 + waterwheelBiomeSTRESSBoost = 1.0 + #STRESS Penalty for Waterwheels placed on whitelisted but not on preferential biomes [waterwheel_boosted biome tag]. + #Range: 0.0 ~ 1.7976931348623157E308 + waterwheelBiomeSTRESSPenalty = 1.0 + + #Body of water requirement impact (similar to infinite fluid extraction from pulley) + [waterwheels."optimal condition"] + #When enabled waterwheels also work when under create's default conditions but at a penalty + waterwheelsPorqueNoLosDos = true + #Boost for Waterwheels placed on optimal conditions. + #Range: 0.0 ~ 1.7976931348623157E308 + waterwheelOptimalRPMBoost = 1.0 + #Penalty for Waterwheels placed under create's default conditions. + #Range: 0.0 ~ 1.7976931348623157E308 + waterwheelOptimalRPMPenalty = 1.0 + #Boost for Waterwheels placed on optimal conditions. + #Range: 0.0 ~ 1.7976931348623157E308 + waterwheelOptimalSTRESSBoost = 1.0 + #Penalty for Waterwheels placed under create's default conditions. + #Range: 0.0 ~ 1.7976931348623157E308 + waterwheelOptimalSTRESSPenalty = 1.0 + #The minimum amount of fluid blocks the waterwheel needs to find before rotation begins. + #Range: > 1 + waterwheelOptimalThreshold = 1 + #The maximum distance a waterwheel can consider fluid blocks from. + #Range: > 1 + waterwheelOptimalRange = 3 + #When enabled boosted waterwheels require correct flow (like in TerraFirmaCraft's water river) + waterwheelsOptimalRequiresFlow = true ##Windmill requirements [windmills] @@ -39,7 +65,7 @@ #The minimum amount of points that must hit windmillRequiredRange. #Range: > 1 windmillRequiredRangePoints = 1 - #The maximum distance a waterwheel can consider air blocks from. + #The maximum distance a windmills can consider air blocks from. #Range: > 1 windmillMaxRange = 32 #The percentage of Generated Speed only given if windmills are raised enough. From 3f042cca920a11f9cf45179ac0e61c3331f02647 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 9 Jan 2026 23:30:20 +0000 Subject: [PATCH 051/474] pakku --- pakku-lock.json | 194 ++++++++++++++++-------------------------------- 1 file changed, 65 insertions(+), 129 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 836f354bd..6c02905ee 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -962,7 +962,7 @@ "files": [ { "type": "modrinth", - "file_name": "AmbientSounds_FORGE_v6.3.1_mc1.20.1.jar", + "file_name": "AmbientSounds_FORGE_v6.3.3_mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -971,22 +971,22 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/fM515JnW/versions/5b052xpX/AmbientSounds_FORGE_v6.3.1_mc1.20.1.jar", - "id": "5b052xpX", + "url": "https://cdn.modrinth.com/data/fM515JnW/versions/C1kWrOvd/AmbientSounds_FORGE_v6.3.3_mc1.20.1.jar", + "id": "C1kWrOvd", "parent_id": "fM515JnW", "hashes": { - "sha512": "c453e9a79725d54db8a754a0ed9f94c51b5cbe448dae46af2fa7de39dc109ce9d3d28ab448127271fa75fb5d6156534e36d9b6a9efd6bb85bd4022cc173935ac", - "sha1": "b6c676fbe4e586de6c266190943c069a0a49104d" + "sha512": "ce045384b4e31a4e3a2138225ff94ab549981a1c1eed8d0659efec0a6e78e272f3f72f075d766829ff5ca52cbf2e4c2ff6445b542cbb88925b2cf2f1d0f028c8", + "sha1": "b4a0e4937db9c83ec82a6809f8d53ab2b9e7a62c" }, "required_dependencies": [ "OsZiaDHq" ], - "size": 52449474, - "date_published": "2025-12-11T19:02:45.759230Z" + "size": 53428829, + "date_published": "2026-01-09T09:26:23.471842Z" }, { "type": "curseforge", - "file_name": "AmbientSounds_FORGE_v6.3.1_mc1.20.1.jar", + "file_name": "AmbientSounds_FORGE_v6.3.3_mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -995,18 +995,18 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7321/586/AmbientSounds_FORGE_v6.3.1_mc1.20.1.jar", - "id": "7321586", + "url": "https://edge.forgecdn.net/files/7436/598/AmbientSounds_FORGE_v6.3.3_mc1.20.1.jar", + "id": "7436598", "parent_id": "254284", "hashes": { - "sha1": "b6c676fbe4e586de6c266190943c069a0a49104d", - "md5": "ce88224be844787f70b3e2d0ea40ffac" + "sha1": "b4a0e4937db9c83ec82a6809f8d53ab2b9e7a62c", + "md5": "75a5d7d61175d43ab56605814028134b" }, "required_dependencies": [ "257814" ], - "size": 52449474, - "date_published": "2025-12-11T19:02:20.783Z" + "size": 53428829, + "date_published": "2026-01-09T09:25:59.603Z" } ] }, @@ -3910,7 +3910,7 @@ "files": [ { "type": "curseforge", - "file_name": "createpickywheels-forge-1.20.1-6.0.8-1.jar", + "file_name": "createpickywheels-forge-1.20.1-6.0.8-3.jar", "mc_versions": [ "1.20.1" ], @@ -3919,18 +3919,18 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7422/427/createpickywheels-forge-1.20.1-6.0.8-1.jar", - "id": "7422427", + "url": "https://edge.forgecdn.net/files/7438/493/createpickywheels-forge-1.20.1-6.0.8-3.jar", + "id": "7438493", "parent_id": "866839", "hashes": { - "sha1": "7e27a5376e3382c60823869f34087fcf43ac5514", - "md5": "69ae2235b460d4136d8d10bc80d7e5cf" + "sha1": "d414b36d5f1c3310a8ca8078aa66129b8078b74a", + "md5": "3147c91477be49a3e46272301ebc4c00" }, "required_dependencies": [ "328085" ], - "size": 209163, - "date_published": "2026-01-05T20:05:25.063Z" + "size": 210622, + "date_published": "2026-01-09T18:50:45.830Z" } ] }, @@ -5353,7 +5353,7 @@ "files": [ { "type": "modrinth", - "file_name": "everycomp-1.20-2.9.14-forge.jar", + "file_name": "everycomp-1.20-2.9.15-forge.jar", "mc_versions": [ "1.20.1" ], @@ -5361,22 +5361,22 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/eiktJyw1/versions/1NKRJyBB/everycomp-1.20-2.9.14-forge.jar", - "id": "1NKRJyBB", + "url": "https://cdn.modrinth.com/data/eiktJyw1/versions/tkWAtsse/everycomp-1.20-2.9.15-forge.jar", + "id": "tkWAtsse", "parent_id": "eiktJyw1", "hashes": { - "sha512": "56f617e74b89c49856b950f9174c4e651f902b0059699f367d8b9735dd4b6b0929ea2eac45c499f00747bdf9fa1f7929bd64187e8481ff1a9032a4813cc11c7d", - "sha1": "c661fb5f32f9494d63515dff9c16dc567917ab04" + "sha512": "1628b4518f6ade1709a8c5823d92fb9e4f728aac77a1c3e4e1e5ece02920652babf3851d902f1a6dd1dc617227bb37c965a894a803b78b6fa9896d23e1e7980a", + "sha1": "9199f9a117e655ba64186b76c5ff1f78236034ae" }, "required_dependencies": [ "twkfQtEc" ], - "size": 2828402, - "date_published": "2026-01-05T08:47:37.217646Z" + "size": 2830108, + "date_published": "2026-01-09T06:12:02.600913Z" }, { "type": "curseforge", - "file_name": "everycomp-1.20-2.9.14-forge.jar", + "file_name": "everycomp-1.20-2.9.15-forge.jar", "mc_versions": [ "1.20.1" ], @@ -5384,18 +5384,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7420/237/everycomp-1.20-2.9.14-forge.jar", - "id": "7420237", + "url": "https://edge.forgecdn.net/files/7436/288/everycomp-1.20-2.9.15-forge.jar", + "id": "7436288", "parent_id": "628539", "hashes": { - "sha1": "c661fb5f32f9494d63515dff9c16dc567917ab04", - "md5": "c01979322a7f53d29e5ed6245b03ac00" + "sha1": "9199f9a117e655ba64186b76c5ff1f78236034ae", + "md5": "2ad6623c8a89c933122fb7519b8d3437" }, "required_dependencies": [ "499980" ], - "size": 2828402, - "date_published": "2026-01-05T08:45:28.700Z" + "size": 2830108, + "date_published": "2026-01-09T06:11:41.930Z" } ] }, @@ -6177,27 +6177,27 @@ "files": [ { "type": "curseforge", - "file_name": "FastSuite-1.20.1-5.1.0.jar", + "file_name": "FastSuite-1.20.1-5.1.1.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", - "forge" + "forge", + "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6318/54/FastSuite-1.20.1-5.1.0.jar", - "id": "6318054", + "url": "https://edge.forgecdn.net/files/7428/292/FastSuite-1.20.1-5.1.1.jar", + "id": "7428292", "parent_id": "475117", "hashes": { - "sha1": "3a759dce0ddc91e299027faa800c0ee40ab90de8", - "md5": "5308931eb0df44e4f39c06a7696f42ce" + "sha1": "dfceb81524a9e1be19bf89d0281c05b6edf5326c", + "md5": "806f80e876eff6f121c8b508825ce368" }, "required_dependencies": [ "283644" ], - "size": 25305, - "date_published": "2025-03-18T05:27:07.867Z" + "size": 26603, + "date_published": "2026-01-07T04:03:31.723Z" } ] }, @@ -9454,7 +9454,7 @@ "files": [ { "type": "modrinth", - "file_name": "moonlight-1.20-2.16.19-forge.jar", + "file_name": "moonlight-1.20-2.16.21-forge.jar", "mc_versions": [ "1.20.1" ], @@ -9463,20 +9463,20 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/ZBeK8kT5/moonlight-1.20-2.16.19-forge.jar", - "id": "ZBeK8kT5", + "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/jToYHMM9/moonlight-1.20-2.16.21-forge.jar", + "id": "jToYHMM9", "parent_id": "twkfQtEc", "hashes": { - "sha512": "d687d18d8796c9bb1bfa8f6cbf08a41594c96ecbf5bd97253d59d5f2fbd15841c63cf159dc89a7157c8e71058d88f15b2f03beef5fe7bcd672e4d9eed84d3cf8", - "sha1": "de55e348bdf3a3ac7520fde157654d615967f9b1" + "sha512": "9dcda73161f86e752b079a5855c936977b15b8ded3ac1407b191ce605b8de5c2ed18c33ccef5f85b6bd7080b8b81ca3ea5f7dfafb51b8d237e2078e2b01904f9", + "sha1": "81054a1ec290b7a5263c60d3ab8fa73005b79274" }, "required_dependencies": [], - "size": 1354950, - "date_published": "2025-12-28T12:21:11.913916Z" + "size": 1389157, + "date_published": "2026-01-08T00:26:57.943185Z" }, { "type": "curseforge", - "file_name": "moonlight-1.20-2.16.19-forge.jar", + "file_name": "moonlight-1.20-2.16.21-forge.jar", "mc_versions": [ "1.20.1" ], @@ -9485,16 +9485,16 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7388/296/moonlight-1.20-2.16.19-forge.jar", - "id": "7388296", + "url": "https://edge.forgecdn.net/files/7431/825/moonlight-1.20-2.16.21-forge.jar", + "id": "7431825", "parent_id": "499980", "hashes": { - "sha1": "de55e348bdf3a3ac7520fde157654d615967f9b1", - "md5": "bfa3f531468e3c0cef07edbad1a4fbc9" + "sha1": "81054a1ec290b7a5263c60d3ab8fa73005b79274", + "md5": "fb8baef04164b20185028d8d6f74e351" }, "required_dependencies": [], - "size": 1354950, - "date_published": "2025-12-28T12:21:00.210Z" + "size": 1389157, + "date_published": "2026-01-08T00:26:49.470Z" } ] }, @@ -12341,70 +12341,6 @@ } ] }, - { - "pakku_id": "XS7cb19V5jxLLV4C", - "type": "MOD", - "side": "BOTH", - "slug": { - "curseforge": "supermartijn642s-core-lib", - "modrinth": "supermartijn642s-core-lib" - }, - "name": { - "curseforge": "SuperMartijn642's Core Lib", - "modrinth": "SuperMartijn642's Core Lib" - }, - "id": { - "curseforge": "454372", - "modrinth": "rOUBggPv" - }, - "files": [ - { - "type": "curseforge", - "file_name": "supermartijn642corelib-1.1.18-forge-mc1.20.1.jar", - "mc_versions": [ - "1.20.1", - "1.20" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6034/718/supermartijn642corelib-1.1.18-forge-mc1.20.1.jar", - "id": "6034718", - "parent_id": "454372", - "hashes": { - "sha1": "d37e1148b512c67cee704635b4f07d1f9ea8c31c", - "md5": "6559d43627646f16fbe02de085e98d5c" - }, - "required_dependencies": [], - "size": 515362, - "date_published": "2024-12-29T22:15:09.800Z" - }, - { - "type": "modrinth", - "file_name": "supermartijn642corelib-1.1.18-forge-mc1.20.1.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/rOUBggPv/versions/VWJoqHin/supermartijn642corelib-1.1.18-forge-mc1.20.1.jar", - "id": "VWJoqHin", - "parent_id": "rOUBggPv", - "hashes": { - "sha512": "dedde27b0e1cd24c006c840bf4d0028689670f1fe9cbde16134e7c08cce58a88f431b39346b7a6847348cafec09638b2c14b2e6dcb4c14a23127e90c5ba9d362", - "sha1": "d37e1148b512c67cee704635b4f07d1f9ea8c31c" - }, - "required_dependencies": [], - "size": 515362, - "date_published": "2024-12-29T22:15:09.734450Z" - } - ] - }, { "pakku_id": "ynKXf18ateLT0zR6", "type": "MOD", @@ -14683,7 +14619,7 @@ "files": [ { "type": "curseforge", - "file_name": "vintageimprovements-1.20.1-0.3.6.0.jar", + "file_name": "vintageimprovements-1.20.1-0.3.7.0.jar", "mc_versions": [ "1.20.1" ], @@ -14691,18 +14627,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7150/799/vintageimprovements-1.20.1-0.3.6.0.jar", - "id": "7150799", + "url": "https://edge.forgecdn.net/files/7436/235/vintageimprovements-1.20.1-0.3.7.0.jar", + "id": "7436235", "parent_id": "1255448", "hashes": { - "sha1": "a893480c03a2803b130f79b2124d27345779f531", - "md5": "5a013ac7470b65c048132e67199b601a" + "sha1": "d1416bd683464538a7615d1649eecc7027b227e2", + "md5": "8a63bb1a9e3b884edcd27839bfc49f16" }, "required_dependencies": [ "328085" ], - "size": 1381831, - "date_published": "2025-10-26T04:56:43.770Z" + "size": 1388088, + "date_published": "2026-01-09T05:46:45.247Z" } ] }, From 12a5e96f55b5f2d1e07e604fe45f5b64d87838af Mon Sep 17 00:00:00 2001 From: Petr211071 <55793813+Petr211071@users.noreply.github.com> Date: Sat, 10 Jan 2026 02:57:12 +0300 Subject: [PATCH 052/474] Ru ru translation (#2692) * Sticky resin * Add lang files and translation for irrigation * TFG's AFC chapter tranlastion * ArborFirmaCraft and Rnr * Some translation --------- Signed-off-by: Petr211071 <55793813+Petr211071@users.noreply.github.com> --- .../ru_ru/entries/mechanics/armor_trims.json | 18 ----- .../entries/mechanics/blast_furnace.json | 68 ------------------- .../mechanics/blast_furnace_insulation.json | 17 +++++ .../ru_ru/entries/mechanics/fishing_nets.json | 20 ++++++ .../entries/mechanics/harvest_baskets.json | 24 +++++++ .../ru_ru/entries/mechanics/sewing_table.json | 52 -------------- .../ru_ru/entries/mechanics/trowel.json | 18 +++++ 7 files changed, 79 insertions(+), 138 deletions(-) delete mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/armor_trims.json delete mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/blast_furnace.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/blast_furnace_insulation.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/fishing_nets.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/harvest_baskets.json delete mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/sewing_table.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/trowel.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/armor_trims.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/armor_trims.json deleted file mode 100644 index a081871d4..000000000 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/armor_trims.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "name": "Armor Trims", - "category": "tfc:mechanics", - "icon": "minecraft:rib_armor_trim_smithing_template", - "pages": [ - { - "type": "patchouli:text", - "text": "Armor trims are produced with a $(thing)Trim Material$() and a $(l:mechanics/sewing_table)Smithing Template$(). In TFC, all gems, along with Sterling Silver, Gold, Rose Gold, and Bismuth, can be used as trim materials. Armor trims are purely cosmetic." - }, - { - "type": "patchouli:crafting", - "recipe": "tfc:crafting/vanilla/smithing_table", - "text": "The smithing table can be used to apply armor trims to TFC armor." - } - ], - "read_by_default": true -} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/blast_furnace.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/blast_furnace.json deleted file mode 100644 index 1c477ef82..000000000 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/blast_furnace.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "name": "Сыродутная печь", - "category": "tfc:mechanics", - "icon": "tfc:blast_furnace", - "pages": [ - { - "type": "patchouli:text", - "text": "$(thing)Высокая печь$() — это продвинутое устройство, используемое для создания $(thing)Стали$(). Смешивая $(thing)Железные руды$(), $(thing)Древесный уголь$() и $(thing)флюс$() в контролируемой горячей среде, вы можете создать металл, прочнее чугуна или кованого железа.$(br2)Чтобы получить высокую печь, вам сначала понадобится $(l:mechanics/crucible)Тигель$() и много $(thing)Кованых железных листов$()." - }, - { - "type": "patchouli:crafting", - "recipe": "tfc:crafting/blast_furnace", - "text": "Создание самой сыродутной печи требует $(thing)Тигля$(), а также нескольких $(thing)Кованых железных листов$(), которые вам понадобятся." - }, - { - "type": "patchouli:text", - "text": "Затем вам нужно будет построить высокую печь вместе с ее $(thing)Дымоходом$(). Дымоход должен быть составлен из $(l:mechanics/fire_clay#fire_bricks)Огнеупорных кирпичей$(), так как они достаточно прочны, чтобы выдержать интенсивный жар. Затем его следует выложить $(thing)Коваными железными листами$() для дополнительного укрепления. Для листов также могут быть использованы более прочные металлы, такие как $(thing)Сталь$(), если это желательно." - }, - { - "type": "patchouli:multiblock", - "multiblock_id": "tfc:blast_furnace", - "name": "Сыродутная печь", - "text": "Сыродутная печь с дымоходом минимальной высоты.", - "enable_visualize": true - }, - { - "type": "patchouli:text", - "text": "Дымоход высокой печи может состоять до пяти слоев - каждый слой требует четырех $(thing)Огнеупорных кирпичей$() и двенадцати $(thing)Кованых железных листов$(), чтобы завершить. Наличие большего количества слоев увеличивает общую вместимость высокой печи, позволяя плавить больше стали за один раз. Каждый слой дымохода, до максимума пяти, позволяет высокой печи вмещать на четыре дополнительных предмета руды." - }, - { - "type": "patchouli:text", - "text": "Чтобы использовать высокую печь, вы должны бросить предметы в верхнюю часть дымохода - для производства стали, вы должны добавить равное количество предметов $(thing)Железных руд$() и $(l:mechanics/flux)флюса$(). Любые железные руды или предметы, которые могут плавиться в $(thing)Чугун$(), подойдут. Вам также нужно будет добавить $(l:mechanics/charcoal_pit)Древесный уголь$(), который будет расходоваться по мере работы высокой печи." - }, - { - "type": "patchouli:text", - "text": "Использование высокой печи откроет интерфейс высокой печи, видный справа. В этом интерфейсе вы увидите индикаторы содержания руды и топлива высокой печи. В верхнем правом слоте должен находиться $(thing)Фурма$(), металлическая труба, используемая для направления воздуха в высокую печь, необходимая для достижения максимальных температур для плавки стали. Фурму можно выковать на $(l:mechanics/anvils)Наковальне$()." - }, - { - "type": "patchouli:image", - "images": [ - "tfc:textures/gui/book/gui/blast_furnace.png" - ], - "text": "Интерфейс сыродутной печи", - "border": false - }, - { - "type": "patchouli:text", - "text": "Вам также понадобится $(l:mechanics/bellows)Мех$(), чтобы высокая печь достигла температуры, при которой железо расплавится. Его можно установить на любой из четырех сторон высокой печи." - }, - { - "type": "patchouli:multiblock", - "multiblock_id": "tfc:full_blast_furnace", - "name": "", - "text": "Сыродутная печь полного размера с прикрепленными мехами и тиглем.", - "enable_visualize": true - }, - { - "type": "patchouli:text", - "text": "Наконец, чтобы начать, зажгите высокую печь с помощью $(l:getting_started/firepit#firestarter)Кремня и стали$() или $(thing)Огниво$(). Она начнет нагревать руды внутри. Убедитесь, что в высокой печи продолжает быть топливо, и используйте мех, чтобы добавить воздух в высокую печь после того, как ее внутренняя температура достигнет максимума для угля. После нагрева руды внутри они расплавятся и превратятся в $(l:mechanics/steel)Чугун$()." - }, - { - "type": "patchouli:text", - "text": "Этот жидкий металл будет капать в любой металлический контейнер для жидкости, установленный непосредственно под высокой печью, такой как $(l:mechanics/crucible)Тигель$(). Его можно отлить в формы для слитков из выходного слота тигля и обработать в $(l:mechanics/steel)Сталь$()." - } - ], - "read_by_default": true -} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/blast_furnace_insulation.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/blast_furnace_insulation.json new file mode 100644 index 000000000..827920188 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/blast_furnace_insulation.json @@ -0,0 +1,17 @@ +{ + "name": "Изоляция для доменной печи", + "category": "tfc:mechanics", + "icon": "tfcbetterbf:insulation", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)Изоляция для доменной печи$() это более компактный способ изолировать твою $(l:mechanics/blast_furnace)Доменную печь$(). Вместо размещения листов вокруг дымохода, $(thing)Изоляция для доменной печи$() наносится напрямую на $(l:mechanics/fire_clay#fire_bricks)Огнеупорные кирпичи$() с помощью $(item)$(k:key.use)$(). При разрушении изоляция и кирпичи выпадают отдельно." + }, + { + "type": "patchouli:crafting", + "recipe": "tfcbetterbf:crafting/insulation", + "text": "Для создания изоляции требуется то же количество $(thing)пластин кованого железа$(), которое понадобилось бы для размещения вокруг одного блока огнеупорного кирпича." + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/fishing_nets.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/fishing_nets.json new file mode 100644 index 000000000..e459c49de --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/fishing_nets.json @@ -0,0 +1,20 @@ +{ + "name": "Рыболовные сети", + "icon": "tfg:fishing_net/brass", + "category": "tfc:mechanics", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:spotlight", + "title": "Рыболовные сети", + "item": { "tag": "forge:tools/fishing_nets" }, + "text": "Устал гоняться за рыбой с копьём? Или теряешь скользкий улов во время $(l:mechanics/fishing)рыбалки$()? Создай $(thing)Рыболовную сеть$(), чтобы выловить свой ужин.$(br)Чтобы использовать рыболовную сеть, кликни правой кнопкой мыши по рыбе(сущности) — рыба будет поймана и помещена в твой инвентарь. Сети разных уровней работают одинаково, но имеют разную прочность." + }, + { + "type": "patchouli:crafting", + "title": "Деревянные рыболовные сети", + "recipe": "tfc:kjs/damage/shaped/fishing_net/wood", + "text": "Базовая $(item)Деревянная рыболовная сеть$()." + } + ] +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/harvest_baskets.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/harvest_baskets.json new file mode 100644 index 000000000..51be3d11a --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/harvest_baskets.json @@ -0,0 +1,24 @@ +{ + "name": "Лукошки", + "icon": "tfg:harvest_basket", + "category": "tfc:mechanics", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:spotlight", + "title": "Лукошки", + "item": { "tag": "tfg:harvester" }, + "text": "Созданные для тех, кто невысок ростом, $(thing)Лукошки$() — это именно тот инструмент, который нужен для сбора плодов с деревьев и кустов.$(br)Чтобы использовать Лукошко, кликни правой кнопкой мыши по плодоносящему дереву или кусту — все блоки в радиусе $(thing)7 блоков$() будут собраны." + }, + { + "type": "patchouli:text", + "text": "Лукошко имеет $(thing)128$() прочности, тогда как алюминиевое Лукошко для сбора не получает урона при использовании. Лукошки также могут использоваться такими механизмами, как $(thing)Автономный активатор из Create$(), для автоматизации сбора урожая. В процессе лукошко будет расходовать прочность." + }, + { + "type": "patchouli:crafting", + "title": "Лукошко", + "recipe": "tfg:shaped/harvest_basket_from_papyrus", + "text": "Обычное $(item)Лукошко$() может быть сделано из пропитанного папируса или твердой древесины." + } + ] +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/sewing_table.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/sewing_table.json deleted file mode 100644 index 50c0b0957..000000000 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/sewing_table.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "name": "Sewing Table", - "category": "tfc:mechanics", - "icon": "tfc:wood/sewing_table/oak", - "pages": [ - { - "type": "patchouli:text", - "text": "The $(thing)Sewing Table$() is used to produce banner patterns and smithing templates. It requires $(l:mechanics/weaving#wool_cloth)Wool Cloth$(), $(l:mechanics/weaving#burlap_cloth)Burlap Cloth$(), String or Yarn, as well as a Needle." - }, - { - "type": "patchouli:crafting", - "recipe": "tfc:crafting/bone_needle", - "text": "A needle for sewing can be made from a bone." - }, - { - "type": "patchouli:crafting", - "recipe": "tfc:crafting/wood/sewing_table/oak", - "text": "The sewing table can be made from wood, leather, and a pair of shears." - }, - { - "type": "patchouli:text", - "text": "The sewing table's inventory is similar to that of a crafting table. If you ever make a mistake, you can simply exit the inventory, and your items will be returned to you. There is a recipe book available in the GUI. Selecting the book opens a menu where you can select a recipe. This places small indicators of what steps to perform on the working surface." - }, - { - "type": "patchouli:image", - "images": [ - "tfc:textures/gui/book/gui/sewing_table.png" - ], - "text": "The sewing screen.", - "border": true - }, - { - "type": "patchouli:text", - "text": "The slots on the left are for the string and the needle. The two bottom slots can hold any combination of burlap and wool cloth. The slot on the right will show the result when it is ready to be taken. Taking the result from the result slot completes the craft, and uses the items." - }, - { - "type": "patchouli:text", - "text": "Each cloth item allows placing 8 squares of that material on the sewing surface. Similarly, each yarn item allows placing 16 stitches. When you have selected a recipe, just use the buttons on the top right of the screen to place squares and stitch them together as shown by the guide. Want to remove stitches? Use the red 'X' button to get rid of squares." - }, - { - "type": "patchouli:crafting", - "recipe": "tfc:crafting/vanilla/loom", - "text": "The banner loom, for making things with banner patterns, can be crafted to do work with banner patterns." - }, - { - "type": "patchouli:text", - "text": "For information on the use of smithing templates, see the $(l:mechanics/armor_trims)Armor Trims$() chapter." - } - ], - "read_by_default": true -} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/trowel.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/trowel.json new file mode 100644 index 000000000..50f74adc2 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/trowel.json @@ -0,0 +1,18 @@ +{ + "name": "Мастерок", + "icon": "tfg:trowel", + "category": "tfc:mechanics", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:crafting", + "title": "Мастерок", + "recipe": "tfg:shaped/trowel", + "text": "$(item)Мастерок$() позволяет строителю при правом клике по поверхности размещать случайные блоки из своей панели быстрого доступа.$(br2)Мастерки также имеют встроенную поддержку мода $(item)Roads and Roofs$() — это означает, что они могут случайным образом размещать и заполняющие элементы, такие как кирпичи или брусчатку." + }, + { + "type": "patchouli:text", + "text": "Вдохновлен мастерком из $(item)Quark$()--Мода сделанным Vazkii" + } + ] +} From 73b8039edec49bb8fe5a464cb32ab2dad8448099 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 10 Jan 2026 00:07:48 +0000 Subject: [PATCH 053/474] update grammar of drinkables entry, buff tea a little --- .../en_us/entries/mechanics/drinks.json | 52 +++++++++++++------ kubejs/client_scripts/tooltips.js | 4 +- .../tfc/drinkables/tea_chamomile.json | 2 +- .../tfc_gurman/tfc/drinkables/tea_mint.json | 2 +- 4 files changed, 40 insertions(+), 20 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json index c239016f7..068854311 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json @@ -1,56 +1,76 @@ { - "name": "Drinks", + "name": "Drink Effects", "icon": "firmalife:olivine_wine_bottle", "category": "tfc:mechanics", - "priority": false, - "sortnum": 17, "read_by_default": true, "pages": [ { - "type": "patchouli:text", - "text": "This section covers various drinkable items added by the modpack, hopefully aiding you in your quest of not dying.$(br2)These drinks have various useful effects, as well as keeping you hydrated." + "type": "patchouli:text", + "text": "Potions and magic don't exist in the world of TerraFirmaCraft, but there's plenty of other drinks that can provide similar effects!$(br2)This entry serves as a list of all the different effects, and as a bonus, they all keep you hydrated too." + }, + { + "type": "patchouli:spotlight", + "title": "Drink containers", + "text": "You can drink things out of a $(l:getting_started/pottery#jug)Jug$(), $(l:waterflasks/recipes)Flask$(), or $(l:mechanics/glassworking_applications#glass_bottle)Glass Bottle$(). Jugs only hold enough for 1 drink and break easily. Glass bottles only hold a few drinks, and also have a chance of breaking. Flasks can hold even more and slowly use durability instead, except the $(item)Red Steel Flask$() which holds 20 drinks and never breaks.", + "item": "tfc:ceramic/jug,tfc:silica_glass_bottle,tfc:olivine_glass_bottle,tfc:hematitic_glass_bottle,tfc:volcanic_glass_bottle,waterflasks:leather_flask,waterflasks:iron_flask,waterflasks:red_steel_flask" }, { "type": "patchouli:spotlight", "title": "Aged Alcohol", - "text": "$(thing)Aged Alcohol$() will give potion buffs, some of which you might find useful.$(br2)You can drink them with a $(l:getting_started/pottery#jug)Jug$() or $(l:waterflasks/recipes)Flask$().", + "text": "$(thing)Aged Alcohols$() are prepared by ageing normal alcohol, which itself is made by leaving various fruits, flours, or other ingredients in a barrel with water. As a bonus, they effect your speech in chat!", "item": "tfcagedalcohol:bucket/aged_beer,tfcagedalcohol:bucket/aged_cider,tfcagedalcohol:bucket/aged_rum,tfcagedalcohol:bucket/aged_sake,tfcagedalcohol:bucket/aged_vodka,tfcagedalcohol:bucket/aged_whiskey,tfcagedalcohol:bucket/aged_corn_whiskey,tfcagedalcohol:bucket/aged_rye_whiskey" }, { "type": "patchouli:text", - "text": "Aged Beer: Absorption II (20:00)$(br2)Aged Cider: Speed (5:20)$(br2)Aged Rum: Speed II (2:40)$(br2)Aged Sake: Resistance (5:20)$(br2)Aged Vodka: Resistance II (2:40)$(br2)Aged Corn Whiskey: Haste (5:20)$(br2)Aged Rye Whiskey: Haste (5:20)$(br2)Aged Whiskey: Haste II (2:40)$(br2)Aged Mead: Regeneration (5:20)" + "text": "$(li)Aged Beer: Absorption II (20:00)$(li)Aged Cider: Speed (5:20)$(li)Aged Rum: Speed II (2:40)$(li)Aged Sake: Resistance (5:20)$(li)Aged Vodka: Resistance II (2:40)$(li)Aged Corn Whiskey: Haste (5:20)$(li)Aged Rye Whiskey: Haste (5:20)$(li)Aged Whiskey: Haste II (2:40)$(li)Aged Mead: Regeneration (5:20)" }, { - "type": "patchouli:spotlight", - "title": "Milks", - "text": "$(thing)Milk$() can be aquired from most female livestock by simply right clicking them with a bucket once familiarity is at a high enough level.$(br2)While not providing any buffs, it provides dairy nutrition and can still quench thrist, as well as later be made into cheese.", - "item": "minecraft:milk_bucket,firmalife:bucket/yak_milk,firmalife:bucket/goat_milk,tfc_gurman:ox_milk_bucket,tfc_gurman:sheep_milk_bucket,tfc_gurman:alpaca_milk_bucket" + "type": "patchouli:text", + "title": "Wine", + "text": "$(thing)Wine$() is another kind of alcohol that's made in a different way than the others. It's a complex but rewarding process that can't be automated in a machine. Check the $(l:firmalife/wine)Winemaking$() entry to learn how to craft it.", + "item": "firmalife:bucket/red_wine,firmalife:bucket/white_wine,firmalife:bucket/rose_wine,firmalife:bucket/sparkling_wine,firmalife:bucket/dessert_wine" + }, + { + "type": "patchouli:text", + "text": "$(li)Red Wine: Strength (5:20)$(li)White Wine: Wither Resistance (5:20)$(li)Rose Wine: Swim Speed (5:20)$(li)Sparkling Wine: Jump Boost II (5:20)$(li)Dessert Wine: Knockback Resistance (5:20)" }, { "type": "patchouli:spotlight", "title": "Teas", - "text": "$(thing)Teas$() can be brewed using dried versions of certain plants.$(br2)They provide short but useful buffs and warm your body temperature by 4 degrees.", + "text": "$(thing)Teas$() can be brewed using dried versions of certain plants.$(br2)They provide short but useful buffs and warm your body temperature by 4 degrees. Perfect for winters!", "item": "tfc_gurman:tea_mint_bucket,tfc_gurman:tea_chamomile_bucket,tfc_gurman:tea_rosehip_bucket,tfc_gurman:tea_nettle_bucket" }, { "type": "patchouli:text", - "text": "Mint Tea: Regeneration (0:30)$(br2)Chamomile Tea: Resistance (0:30)$(br2)Rosehip Tea: Absorption (0:30)$(br2)Nettle Tea: Slow Falling (0:30)" + "text": "$(li)Mint Tea: Regeneration II (0:30)$(li)Chamomile Tea: Resistance II (0:30)$(li)Rosehip Tea: Absorption (0:30)$(li)Nettle Tea: Slow Falling (0:30)" }, - { + { "type": "patchouli:spotlight", "title": "Treats", "text": "This is a category for more misc drinks with delicious taste and special effects. Enjoy!", - "item": "tfc_gurman:cocoa_bucket,tfc_gurman:coffee_bucket,tfc_gurman:nalivka_bucket,tfc_gurman:kvass_bucket,tfc_gurman:compote_bucket" + "item": "tfc_gurman:cocoa_bucket,tfc_gurman:coffee_bucket,tfc_gurman:nalivka_bucket,tfc_gurman:kvass_bucket,tfc_gurman:compote_bucket,tfc_gurman:lemonade_bucket" }, { "type": "patchouli:text", - "text": "Cocoa: Haste (0:30), warms you by 4 degrees$(br2)Coffee: Speed (0:30). warms you by 4 degrees$(br2)Lemonade: Haste (0:30), cools you by 2 degrees$(br2)Nalivka: Strength (2:40), cools you by 2 degrees$(br2)Kvass: Strength (1:20), cools you by 2 degrees$(br2)Compote: Jump Boost II (0:30)" + "text": "$(li)Cocoa: Haste (0:30), warms you by 4 degrees$(li)Coffee: Speed (0:30), warms you by 4 degrees$(li)Lemonade: Haste (0:30), cools you by 2 degrees$(li)Nalivka: Strength (2:40), cools you by 2 degrees$(li)Kvass: Strength (1:20), cools you by 2 degrees$(li)Compote: Jump Boost II (0:30)" + }, + { + "type": "patchouli:spotlight", + "title": "Milks", + "text": "$(thing)Milk$() can be aquired from most female livestock by simply right clicking them with a wood or metal bucket once familiarity is at a high enough level. (If the milking isn't working, make sure the buckets aren't stacked!)$(br)While it doesn't provide any buffs, it provides dairy nutrition if drank after eating, and can later be made into cheese.", + "item": "minecraft:milk_bucket,firmalife:bucket/yak_milk,firmalife:bucket/goat_milk,tfc_gurman:ox_milk_bucket,tfc_gurman:sheep_milk_bucket,tfc_gurman:alpaca_milk_bucket" }, { "title": "Spring Water", "text": "Drinking $(thing)Spring Water$() warms you up by 4 degrees and applies a small regeneration effect while standing in it, as well as warming you.", "item": "tfc:bucket/spring_water", "type": "patchouli:spotlight" + }, + { + "title": "Sea Water", + "text": "Drinking $(thing)Sea Water$() does not hydrate you and will make you more thirsty instead. A hot body temperature can also make you more thirsty. Lost at sea? Look upwards when it's raining for some easy hydration!", + "type": "patchouli:spotlight", + "item": "tfc:bucket/salt_water" } ] } diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index a15aee3b7..638d976a6 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -389,11 +389,11 @@ const registerTooltips = (event) => { text.add(2, Text.translate('tfg.tooltip.warming_foods')); }) event.addAdvanced(['tfc_gurman:tea_mint_bucket'], (item, advanced, text) => { - text.add(1, Text.translate("effect.minecraft.regeneration").append(Text.of(" (00:30)")).blue()); + text.add(1, Text.translate("effect.minecraft.regeneration").append(Text.of(" II (00:30)")).blue()); text.add(2, Text.translate('tfg.tooltip.warming_foods')); }) event.addAdvanced(['tfc_gurman:tea_chamomile_bucket'], (item, advanced, text) => { - text.add(1, Text.translate("effect.minecraft.resistance").append(Text.of(" (00:30)")).blue()); + text.add(1, Text.translate("effect.minecraft.resistance").append(Text.of(" II (00:30)")).blue()); text.add(2, Text.translate('tfg.tooltip.warming_foods')); }) event.addAdvanced(['tfc_gurman:tea_nettle_bucket'], (item, advanced, text) => { diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/tea_chamomile.json b/kubejs/data/tfc_gurman/tfc/drinkables/tea_chamomile.json index f1de9b399..6e8dda27f 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/tea_chamomile.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/tea_chamomile.json @@ -5,7 +5,7 @@ { "type": "minecraft:resistance", "duration": 600, - "amplifier": 0 + "amplifier": 1 }, { "type": "tfg:warming", diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/tea_mint.json b/kubejs/data/tfc_gurman/tfc/drinkables/tea_mint.json index f5a181be8..e96941a4c 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/tea_mint.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/tea_mint.json @@ -5,7 +5,7 @@ { "type": "minecraft:regeneration", "duration": 600, - "amplifier": 0 + "amplifier": 1 }, { "type": "tfg:warming", From d0bc60c3d6a532be2a66e541a917bdf7cf6bc4e3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 10 Jan 2026 00:07:58 +0000 Subject: [PATCH 054/474] tweak waves config to reduce tps load a little --- config/waves-common.toml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/config/waves-common.toml b/config/waves-common.toml index 4899ee43b..0d1ff05d7 100644 --- a/config/waves-common.toml +++ b/config/waves-common.toml @@ -10,10 +10,10 @@ waveSearchDistance = 14 waveSpawnDistance = 0.0 #Additional amount of waves to spawn. #Range: 0.0 ~ 1.7976931348623157E308 -waveSpawnAmount = 0.8 +waveSpawnAmount = 0.5 #Time in ticks between each spawn sequence of waves. Set to 0 to disable waves. #Range: > 0 -waveSpawnFrequency = 30 +waveSpawnFrequency = 40 #Maximum spawn distance from shore. #Range: 0.0 ~ 1.7976931348623157E308 waveSpawnDistanceFromShoreMax = 48.0 @@ -25,10 +25,10 @@ waveSpawnDistanceFromShoreMin = 4.0 waveSpriteCount = 5 #How great should the chance for waves to deposit blocks be? Lower value = higher chance. #Range: > 1 -waveBlockDepositChance = 100 +waveBlockDepositChance = 1 #How often the waves should make a sound. Higher value = rarer. #Range: > 0 -waveBreakingSoundChance = 40 +waveBreakingSoundChance = 50 #How fast the bioluminescence should change (octaves). #Range: > 1 waveBioluminescenceChange = 16 @@ -43,10 +43,10 @@ waveSpawningFOVLimit = 140.0 waveFindNearestShoreIterations = 3 #Volume modifier for the waves. 1.0 = 100% volume. #Range: 0.0 ~ 10.0 -waveVolume = 1.0 +waveVolume = 0.8 #The multiplier value for how strong the interaction force of the waves are. Higher value = stronger force. #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 -waveInteractionForceFactor = 1.0 +waveInteractionForceFactor = 2.0 #How often the wave interaction should refresh/update. Higher values can yield better TPS at the cost of decreased interaction precision. Higher value => longer intervals between updates. #Range: > 1 waveInteractionUpdateFrequency = 4 From 8562c8a1957b90f7caa958aec88992018e530693 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 10 Jan 2026 00:17:58 +0000 Subject: [PATCH 055/474] I think this is less confusing --- kubejs/server_scripts/gregtech/recipes.js | 9 --------- .../tfg/ores_and_materials/recipes.quartzes.js | 11 ++++++++++- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index dff5e00fb..90f5c6cef 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -409,13 +409,4 @@ const registerGTCEURecipes = (event) => { .itemOutputs('tfg:paracetamol_pill') .duration(3 * 20) .EUt(GTValues.VA[GTValues.LV]) - - // Volcanic Glass Tube - event.recipes.gtceu.alloy_smelter('tfg:tube_from_volcanic_glass_batch') - .itemInputs('tfc:volcanic_glass_batch') - .notConsumable('gtceu:ball_casting_mold') - .itemOutputs('gtceu:glass_tube') - .duration(8 * 20) - .EUt(GTValues.VA[GTValues.LV]) - .category(GTRecipeCategories.INGOT_MOLDING); } 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 e5474b941..7fe541927 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js @@ -55,6 +55,7 @@ function registerTFGQuartzRecipes(event) { .itemOutputs('tfc:lamp_glass') .duration(100) .EUt(2) + .category(GTRecipeCategories.INGOT_MOLDING) event.recipes.gtceu.alloy_smelter(`tfg:tfc/lamp_glass_from_dust`) .itemInputs('#forge:dusts/glass') @@ -62,6 +63,7 @@ function registerTFGQuartzRecipes(event) { .itemOutputs('tfc:lamp_glass') .duration(100) .EUt(2) + .category(GTRecipeCategories.INGOT_MOLDING) // Empty Jar event.recipes.gtceu.alloy_smelter('tfc:jar_alloying') @@ -134,6 +136,13 @@ function registerTFGQuartzRecipes(event) { // Glass Tube event.recipes.tfc.glassworking('gtceu:glass_tube', '#tfc:glass_batches_tier_3', ['blow', 'stretch', 'stretch']) .id('tfg:gtceu/glassworking/glass_tube') - + + event.recipes.gtceu.alloy_smelter('tfg:glass_tube_from_batch') + .itemInputs('#tfc:glass_batches') + .notConsumable('gtceu:ball_casting_mold') + .itemOutputs('gtceu:glass_tube') + .duration(8 * 20) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.INGOT_MOLDING); //#endregion } \ No newline at end of file From 68e5731474cdd4d853f046a321cb9744c5d604db Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 10 Jan 2026 00:33:08 +0000 Subject: [PATCH 056/474] fix turning any cobble into domum cobble extra --- kubejs/server_scripts/domum_ornamentum/recipes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/domum_ornamentum/recipes.js b/kubejs/server_scripts/domum_ornamentum/recipes.js index 03b5847f9..efcd5245c 100644 --- a/kubejs/server_scripts/domum_ornamentum/recipes.js +++ b/kubejs/server_scripts/domum_ornamentum/recipes.js @@ -23,7 +23,7 @@ const registerDomumOrnamentumRecipes = (event) => { 'B B' ], { - B: '#forge:cobblestone' + B: 'minecraft:cobblestone' }).id('domum_ornamentum:cobblestone_extra'); event.shaped(Item.of('domum_ornamentum:blue_cobblestone_extra', 8), From 936a098ff111545672d7d886d066276540be144d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 10 Jan 2026 00:33:23 +0000 Subject: [PATCH 057/474] add tfc powders to dye tags --- kubejs/server_scripts/tfc/tags.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 218163d42..4596f212f 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -412,6 +412,26 @@ function registerTFCItemTags(event) { event.remove('tfc:compost_browns_low', '#tfc:fallen_leaves') event.add('tfc:compost_greens_low', '#tfc:fallen_leaves') event.add('tfc:compost_greens_low', '#minecraft:leaves') + + // Powder dyes + event.add('forge:dyes/blue', 'tfc:powder/lapis_lazuli') + event.add('forge:dyes/blue', 'tfc:powder/graphite') + event.add('forge:dyes/black', 'tfc:powder/charcoal') + event.add('forge:dyes/black', 'tfc:powder/coke') + event.add('forge:dyes/pink', 'tfc:powder/kaolinite') + event.add('forge:dyes/blue', 'tfc:powder/lapis_lazuli') + event.add('forge:dyes/orange', 'tfc:powder/sylvite') + event.add('forge:dyes/orange', 'tfc:powder/copper') + event.add('forge:dyes/blue', 'tfc:powder/lapis_lazuli') + event.add('forge:dyes/light_gray', 'tfc:powder/silver') + event.add('forge:dyes/gray', 'tfc:powder/cassiterite') + event.add('forge:dyes/gray', 'tfc:powder/magnetite') + event.add('forge:dyes/gray', 'tfc:powder/sphalerite') + event.add('forge:dyes/gray', 'tfc:powder/tetrahedrite') + event.add('forge:dyes/green', 'tfc:powder/bismuthinite') + event.add('forge:dyes/green', 'tfc:powder/malachite') + event.add('forge:dyes/brown', 'tfc:powder/garnierite') + event.add('forge:dyes/yellow', 'tfc:powder/limonite') } /** @param {TagEvent.Block} event */ From 68cfeca7fa47d438b4acb550b0fcad593809144c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 10 Jan 2026 00:33:34 +0000 Subject: [PATCH 058/474] rock salt and sylvite are actually the same thing --- kubejs/server_scripts/tfc/recipes.js | 5 +++-- kubejs/server_scripts/tfc_gurman/recipes.js | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index bae982345..1c15098dc 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -39,11 +39,12 @@ const registerTFCRecipes = (event) => { { 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/rock_salt", output: "4x tfc:powder/sylvite", name: "rock_salt" }, { 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: "4x tfc:powder/charcoal", name: "charcoal" }, - { input: "tfc:ore/sylvite", output: "4x tfc:powder/sylvite", name: "sylvite" } + { input: "#forge:dusts/charcoal", output: "4x tfc:powder/charcoal", name: "charcoal" }, + { input: "tfc:ore/sylvite", output: "4x tfc:powder/sylvite", name: "sylvite" }, ]); TFC_QUERN_POWDER_RECIPE_COMPONENTS.forEach(element => { diff --git a/kubejs/server_scripts/tfc_gurman/recipes.js b/kubejs/server_scripts/tfc_gurman/recipes.js index 8c0b80b00..f19231358 100644 --- a/kubejs/server_scripts/tfc_gurman/recipes.js +++ b/kubejs/server_scripts/tfc_gurman/recipes.js @@ -96,7 +96,7 @@ function registerTFCGurmanRecipes(event) { itemInputs: ['2x #tfc:foods/fruits'], fluidInputs: ['minecraft:water 1000'], fluidOutputs: ['tfc_gurman:compote 1000'], - circuit: 2 + circuit: 6 }); // Lemonade From 8b28f2d65208f6a235f984ccc1ca22679337f573 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 10 Jan 2026 00:39:38 +0000 Subject: [PATCH 059/474] pizza unification --- kubejs/server_scripts/tfg/food/recipes.food.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/food/recipes.food.js b/kubejs/server_scripts/tfg/food/recipes.food.js index 65e4ae52e..e0b93f905 100644 --- a/kubejs/server_scripts/tfg/food/recipes.food.js +++ b/kubejs/server_scripts/tfg/food/recipes.food.js @@ -701,7 +701,7 @@ function registerTFGFoodRecipes(event) { //#region Pizza - global.processorRecipe(event, "pizza_no_extra", 600, 16, { + global.processorRecipe(event, "pizza_no_extra", 600, GTValues.VHA[GTValues.MV], { circuit: 3, itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese"], itemOutputs: ["firmalife:food/raw_pizza"], From a1450016d346830c387e9082ad5a32b904a39740 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 10 Jan 2026 00:40:47 +0000 Subject: [PATCH 060/474] langs --- kubejs/assets/gtceu/lang/ru_ru.json | 1 + kubejs/assets/gtceu/lang/zh_cn.json | 1 + kubejs/assets/minecraft/lang/en_us.json | 3 +- kubejs/assets/minecraft/lang/zh_cn.json | 3 +- .../primitive_creatures/lang/zh_cn.json | 74 ++++++++++++++++++- kubejs/assets/rnr/lang/ru_ru.json | 8 +- kubejs/assets/tfg/lang/en_us.json | 4 + kubejs/assets/tfg/lang/ru_ru.json | 22 +++--- kubejs/assets/tfg/lang/zh_cn.json | 14 ++-- 9 files changed, 107 insertions(+), 23 deletions(-) diff --git a/kubejs/assets/gtceu/lang/ru_ru.json b/kubejs/assets/gtceu/lang/ru_ru.json index 51dfe31bd..34509e26f 100644 --- a/kubejs/assets/gtceu/lang/ru_ru.json +++ b/kubejs/assets/gtceu/lang/ru_ru.json @@ -111,6 +111,7 @@ "item.gtceu.exquisite_rock_salt_gem": "Exquisite Rock Salt Crystal", "item.gtceu.flawless_salt_gem": "Flawless Salt Crystal", "item.gtceu.flawless_rock_salt_gem": "Flawless Rock Salt Crystal", + "item.gtceu.sticky_resin": "Липкая смола", "material.gtceu.ice": "Ice Slush", "material.gtceu.damascus_steel": "Swine-steel", "material.gtceu.air": "Earth Air", diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index f38a5b92d..871f7181f 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -221,6 +221,7 @@ "block.gtceu.wire_coil.tooltip_pyro": "§8热解炉,液化塔与核燃料工厂:§r", "block.gtceu.wire_coil.tooltip_cracking": "§8裂化机,月壤和紫金采集器:§r", "tooltip.moldraw.shift_view_molecule": "§7§o按住(Shift)查看分子结构§r", + "tooltip.moldraw.shift_view_alloy": "§7§o按住(Shift)查看合金成分§r", "tagprefix.sword_head": "%s剑身", "tagprefix.pickaxe_head": "%s镐头", "tagprefix.shovel_head": "%s铲头", diff --git a/kubejs/assets/minecraft/lang/en_us.json b/kubejs/assets/minecraft/lang/en_us.json index f411c7d30..067dbdcad 100644 --- a/kubejs/assets/minecraft/lang/en_us.json +++ b/kubejs/assets/minecraft/lang/en_us.json @@ -75,7 +75,8 @@ "block.minecraft.pearlescent_froglight": "Pearlescent Lightbloom", "block.minecraft.verdant_froglight": "Verdant Lightbloom", "block.minecraft.ochre_froglight": "Ochre Lightbloom", - "block.minecraft.nether_wart_block": "Crimson Wart Block", + "block.minecraft.nether_wart_block": "Crimson Cap", + "block.minecraft.warped_wart_block": "Warped Cap", "block.minecraft.weeping_vines_plant": "Crimson Vines Plant", "block.minecraft.weeping_vines": "Crimson Vines", "block.minecraft.red_sand": "Hematitic Sand", diff --git a/kubejs/assets/minecraft/lang/zh_cn.json b/kubejs/assets/minecraft/lang/zh_cn.json index 7657ccf5f..2e7e390a7 100644 --- a/kubejs/assets/minecraft/lang/zh_cn.json +++ b/kubejs/assets/minecraft/lang/zh_cn.json @@ -75,7 +75,8 @@ "block.minecraft.pearlescent_froglight": "珠光光绽花", "block.minecraft.verdant_froglight": "青翠光绽花", "block.minecraft.ochre_froglight": "赭黄光绽花", - "block.minecraft.nether_wart_block": "绯红疣块", + "block.minecraft.nether_wart_block": "绯红伞盖", + "block.minecraft.warped_wart_block": "诡异伞盖", "block.minecraft.weeping_vines_plant": "绯红藤蔓植株", "block.minecraft.weeping_vines": "绯红藤蔓", "block.minecraft.red_sand": "赤铁矿砂", diff --git a/kubejs/assets/primitive_creatures/lang/zh_cn.json b/kubejs/assets/primitive_creatures/lang/zh_cn.json index ffbce9f57..b90e9209f 100644 --- a/kubejs/assets/primitive_creatures/lang/zh_cn.json +++ b/kubejs/assets/primitive_creatures/lang/zh_cn.json @@ -8,12 +8,84 @@ "entity.primitive_creatures.iloger_1": "觅食者", "entity.primitive_creatures.piloger_9": "战士", "entity.primitive_creatures.nahida": "狩猎大师", + "entity.kaolinclayze.tfc": "高岭黏土灵", + "item.primitive_creatures.idolater__spawn_egg": "偶像崇拜者刷怪蛋", + "item.kaolinclayze.golem_2_spawn_egg": "石墨黏土灵刷怪蛋", + "item.kaolinclayze.yhgi": "燧石棒", + "item.kaolinclayze.tt_5": "细小碎片", + "item.kaolinclayze.iloger_4_spawn_egg": "伏击者刷怪蛋", + "item.kaolinclayze.k": "K", + "item.primitive_creatures.reh.description_0": "「击中可断骨」", + "item.kaolinclayze.grh": "磨损的毛毡", + "entity.primitive_creatures.idolater_": "偶像崇拜者", + "effect.kaolinclayze.dd": "骨折", + "item_group.primitive_creatures.t": "原始生物", + "item.kaolinclayze.idolater__spawn_egg": "偶像崇拜者刷怪蛋", + "item.kaolinclayze.viloger_10_spawn_egg": "雇佣兵刷怪蛋", + "item.kaolinclayze.piloger_9_spawn_egg": "战士刷怪蛋", + "entity.kaolinclayze.beast": "野兽", + "entity.kaolinclayze.viloger_10": "雇佣兵", + "item.primitive_creatures.rw": "不祥升级", + "item.primitive_creatures.kopo": "可怖偶像", + "item.kaolinclayze.iloger_5_spawn_egg": "猎人刷怪蛋", + "entity.primitive_creatures.musselwarden": "贻贝守卫", + "item.kaolinclayze.f_1": "原始炸药", + "item.kaolinclayze.totem_2": "木雕狮人图腾", + "item.kaolinclayze.totem_3": "硬化泥塑图腾", + "item.kaolinclayze.reh.description_0": "「击中可断骨」", + "entity.primitive_creatures.iloger_10": "狂战士", + "item.kaolinclayze.totem_0": "小型黏土图腾", + "item.kaolinclayze.iloger_2_spawn_egg": "采药者刷怪蛋", + "entity.kaolinclayze.idolater_": "偶像崇拜者", + "item.kaolinclayze.reh": "强化燧石棒", + "item.kaolinclayze.w_22": "毒壳", + "item.primitive_creatures.iloger_1_spawn_egg": "觅食者刷怪蛋", + "entity.primitive_creatures.viloger_10": "雇佣兵", + "effect.primitive_creatures.dd": "骨折", + "item.primitive_creatures.iloger_5_spawn_egg": "猎人刷怪蛋", + "entity.kaolinclayze.piloger_9": "战士", + "item_group.kaolinclayze.t": "原始生物", + "item.kaolinclayze.w_3": "枯壳", + "entity.kaolinclayze.iloger_6": "萨满", + "entity.primitive_creatures.iloger_6": "萨满", + "entity.kaolinclayze.wiloger": "驭兽师", + "entity.kaolinclayze.iloger_4": "伏击者", + "entity.kaolinclayze.iloger_5": "猎人", + "entity.kaolinclayze.iloger_2": "采药者", + "entity.kaolinclayze.iloger_3": "碎骨者", + "entity.primitive_creatures.iloger_5": "猎人", + "entity.kaolinclayze.iloger_1": "觅食者", + "entity.primitive_creatures.iloger_3": "碎骨者", + "item.terramod.k": "K", + "item.primitive_creatures.w_3": "枯壳", + "entity.terramod.tfc": "高岭黏土灵", + "item.kaolinclayze.wiloger_spawn_egg": "驭兽师刷怪蛋", + "item.kaolinclayze.ww_3": "芳草", + "item.primitive_creatures.fragileprimitivescissors": "易损原始剪刀", + "item.kaolinclayze.iloger_1_spawn_egg": "觅食者刷怪蛋", + "item.terramod.tfc_spawn_egg": "高岭黏土灵刷怪蛋", + "item.primitive_creatures.iloger_6_spawn_egg": "萨满刷怪蛋", + "item.kaolinclayze.jjj": "友善偶像", + "item.primitive_creatures.viloger_10_spawn_egg": "雇佣兵刷怪蛋", + "item.primitive_creatures.iloger_3_spawn_egg": "碎骨者刷怪蛋", + "item.primitive_creatures.musselwarden_spawn_egg": "贻贝守卫刷怪蛋", + "item.kaolinclayze.tfc_spawn_egg": "高岭黏土灵刷怪蛋", + "item.primitive_creatures.yhgi.description_0": "「击中可断骨」", + "entity.kaolinclayze.golem_2": "石墨黏土灵", + "item.primitive_creatures.jjj": "友善偶像", + "item.primitive_creatures.beast_spawn_egg": "野兽刷怪蛋", + "item.kaolinclayze.yhgi.description_0": "「击中可断骨」", + "item.primitive_creatures.w_22": "毒壳", + "item.kaolinclayze.kopo": "可怖偶像", + "item.kaolinclayze.iloger_3_spawn_egg": "碎骨者刷怪蛋", + "item.kaolinclayze.iloger_6_spawn_egg": "萨满刷怪蛋", + "item.kaolinclayze.beast_spawn_egg": "野兽刷怪蛋", + "item.primitive_creatures.iloger_10_spawn_egg": "狂战士刷怪蛋", "item.primitive_creatures.tfc_spawn_egg": "高岭黏土灵刷怪蛋", "item.primitive_creatures.golem_2_spawn_egg": "石墨黏土灵刷怪蛋", "item.primitive_creatures.iloger_4_spawn_egg": "伏击者刷怪蛋", "item.primitive_creatures.wiloger_spawn_egg": "驭兽师刷怪蛋", "item.primitive_creatures.iloger_2_spawn_egg": "采药者刷怪蛋", - "item.primitive_creatures.iloger_1_spawn_egg": "觅食者刷怪蛋", "item.primitive_creatures.piloger_9_spawn_egg": "战士刷怪蛋", "item.primitive_creatures.nahida_spawn_egg": "狩猎大师刷怪蛋", "item.primitive_creatures.yhgi": "燧石棒", diff --git a/kubejs/assets/rnr/lang/ru_ru.json b/kubejs/assets/rnr/lang/ru_ru.json index b41c80214..75469c9d6 100644 --- a/kubejs/assets/rnr/lang/ru_ru.json +++ b/kubejs/assets/rnr/lang/ru_ru.json @@ -532,10 +532,10 @@ "block.rnr.wood.shingles.ipe": "Кровля из черепицы ипе", "block.rnr.wood.shingles.ipe_slab": "Плита кровли из черепицы ипе", "block.rnr.wood.shingles.ipe_stairs": "Ступеньки кровли из черепицы ипе", - "item.rnr.wood.shingle.ironwood": "Ironwood Shingle", - "block.rnr.wood.shingles.ironwood": "Ironwood Shingled Roof", - "block.rnr.wood.shingles.ironwood_slab": "Ironwood Shingled Roof Slab", - "block.rnr.wood.shingles.ironwood_stairs": "Ironwood Shingled Roof Stairs", + "item.rnr.wood.shingle.ironwood": "Черепица из железного дерева", + "block.rnr.wood.shingles.ironwood": "Кровля из черепицы железного дерева", + "block.rnr.wood.shingles.ironwood_slab": "Плита кровли из черепицы железного дерева", + "block.rnr.wood.shingles.ironwood_stairs": "Ступеньки кровли из черепицы железного дерева", "rnr.mattock.cannot_place": "Версия блока, обработанная кайлом, не может существовать здесь", "rnr.mattock.no_recipe": "Этот блок не может быть обработан кайлом", "rnr.mattock.bad_fluid": "Версия блока, обработанная кайлом, не может содержать жидкость здесь", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 72cc1d999..f7d799ae8 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -493,6 +493,10 @@ "block.tfg.glacian_wood_stripped": "Stripped Glacian Hyphae", "block.tfg.glacian_leaves": "Glacian Lamella", "block.tfg.glacian_leaves_fallen": "Small Glacian Lamella", + "block.tfg.crimson_wart_block": "Crimson Cap", + "block.tfg.warped_wart_block": "Warped Cap", + "block.tfg.aeronos_cap": "Aeronos Cap", + "block.tfg.strophar_cap": "Strophar Cap", "block.tfg.marker.moon": "The Moon", "block.tfg.marker.mars": "Mars", "block.tfg.marker.venus": "Venus", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 8a4c5e1f5..8e8f62eaa 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -972,13 +972,13 @@ "item.tfg.flax_product": "Льняной стебель", "item.tfg.flax_bundle": "Связка льна", "item.tfg.flax_line": "Волокна льна", - "item.tfg.flax_tow": "Kьняные очёски", + "item.tfg.flax_tow": "Льняные очёски", "item.tfg.flax_waste": "Костра льна", "item.tfg.bundled_scraped_flax": "Связка костры льна", "item.tfg.linen_thread": "Льные нитки", "item.tfg.linen_cloth": "Льняная ткань", - "item.tfg.uv_led": "§dУльтрафиолетовый §fСИД", - "item.tfg.smd_uv_led": "§fSMD §dУльтрафиолетовый §fСИД", + "item.tfg.uv_led": "§dУльтрафиолетовый §fLED", + "item.tfg.smd_uv_led": "§fSMD §dУльтрафиолетовый §fLED", "item.tfg.empty_dna_syringe": "Пустой шприц", "item.tfg.filled_dna_syringe": "Заполненный шприц", "item.tfg.dirty_dna_syringe": "Грязный шприц", @@ -1051,7 +1051,7 @@ "item.tfg.unfired_small_gear_mold": "Необоженная огнеупорная форма маленькой шестерни", "item.tfg.unfired_nugget_mold": "Необоженная форма самородка", "material.tfg.latex": "Латекс", - "material.tfg.vulcanized_latex": "Вулканический латекс", + "material.tfg.vulcanized_latex": "Вулканизированный латекс", "material.tfg.fluix": "Флюис", "material.tfg.conifer_pitch": "Хвойная смола", "material.gtceu.lactose": "Лактоза", @@ -3718,13 +3718,13 @@ "quests.steam_age.trains.desc": "Поезда — отличное решение для любых дальних перевозок, будь то игроки, предметы или жидкости! Они также безопасно путешествуют через неактивные чанки. Игроков долгое время нельзя будет телепортировать, так что если вы захотите построить железную дорогу через весь континент, она не устареет.", "quests.steam_age.wood_plank.title": "Деревянные Доски", "quests.steam_age.wood_plank.subtitle": "Необработанная фанера...?", - "quests.steam_age.wood_plank.desc": "Это те же доски, что и &3Treated Planks&r рядом с этим квестом, только вы можете использовать любую древесину без предварительного замачивания в креозоте.", + "quests.steam_age.wood_plank.desc": "Это та же доска, что и &3Обработанная деревянная доска&r рядом с этим квестом, только вы можете использовать любую древесину без предварительного замачивания в креозоте.", "quests.steam_age.organization.title": "Поддерживаем порядок", "quests.steam_age.organization.subtitle": "Вы уже в первом круге микрокрафтингового ада", "quests.steam_age.organization.desc": "Сложно уследить за всеми рецептами и предметами? Вот несколько вариантов, которые могут помочь:\n\n&3Планшет&r: Удобный портативный список дел, позволяющий отмечать выполненные пункты.\n\n&3Чертёж&r: Хранит часто используемые рецепты, позволяя крафтить партии предметов без поиска рецепта в JEI.\n\n&3Закладки JEI&r: Нажмите клавишу \"Добавить/Удалить закладку\" (по умолчанию \"A\") при наведении на предмет в JEI, чтобы добавить его в закладки. Также можно добавить в закладки весь рецепт, нажав эту клавишу на выходном предмете!", - "quests.steam_age.resin_boards.title": "Доски с смоляным покрытием", + "quests.steam_age.resin_boards.title": "Прорезиненная подложка", "quests.steam_age.resin_boards.subtitle": "Можно сказать, что мы... устали от LaTeX?", - "quests.steam_age.resin_boards.desc": "Знаете ли вы, что водозаборные насадки деревьев могут капать прямо в трубы и барабаны GregTech? Теперь знаете!", + "quests.steam_age.resin_boards.desc": "Знаете ли вы, что подсочки могут капать прямо в трубы и бочки GregTech? Теперь знаете!", "quests.steam_age.circuit_boards.title": "Электроника #2: Прорезиненная Электросхема", "quests.steam_age.circuit_boards.subtitle": "Более простой компонент для схем", "quests.steam_age.circuit_boards.desc": "Скомбинируйте Прорезиненные Подложки с медными проводами, и у вас получится основа для вашей первой &aСхемы&r!", @@ -3792,7 +3792,7 @@ "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.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": "Скромные истоки", @@ -4390,16 +4390,16 @@ "quests.tfg_tips.create_conifer_rosin.title": "Хвойная канифоль", "quests.tfg_tips.create_conifer_rosin.subtitle": "Нетушки, це не разикна", "quests.tfg_tips.create_conifer_rosin.desc": "&dХвойная канифоль&r может использоваться вместо &bвоска&r, позволяя создавать свечи и другие подобные изделия. Чтобы получить хвойную канифоль, необходимо прокипятить &aХвойную смолу&r в &3Горшке&r вместе с &aпорошком древесного угля.&r", - "quests.tfg_tips.create_sticky_resin.title": "Липкая резина", + "quests.tfg_tips.create_sticky_resin.title": "Липкая смола", "quests.tfg_tips.create_sticky_resin.subtitle": "И тут мимо, это не канифоль", - "quests.tfg_tips.create_sticky_resin.desc": "&dЛипкая резина&r может использоваться как сгустки слизи в некоторых рецептах. Она также является ключевым компонентом для производства &aПрорезиненных подложек&r и &aрезисторов&r, которые понадобятся вам в значительном количестве для перехода в эпоху &7низкого напряжения&r. Для получения липкой смолы необходимо кипятить: либо &aлатекс&r, либо &aхвойную смолу&r в &3Горшке&r с добавлением &aдревесной золы.&r", + "quests.tfg_tips.create_sticky_resin.desc": "&dЛипкая смола&r может использоваться как клей в некоторых рецептах. Она также является ключевым компонентом для производства &aПрорезиненных подложек&r и &aрезисторов&r, которые понадобятся вам в значительном количестве для перехода в эпоху &7низкого напряжения&r. Для получения липкой смолы необходимо кипятить: либо &aлатекс&r, либо &aхвойную смолу&r в &3Горшке&r с добавлением &aдревесной золы.&r", "quests.tfg_tips.create_tree_sugar.title": "Древесный сахар", "quests.tfg_tips.create_tree_sugar.subtitle": "Конфеткиии!", "quests.tfg_tips.create_tree_sugar.desc": "&dДересный сахар&r — это заменитель сахара, который в основном используется как пищевой ингредиент. Для его приготовления необходимо прокипятить &aдревесный сок&r, чтобы получить &bконцентрированный сок&r, затем прокипятить его снова, чтобы получить &dсироп.&r Наконец, на верстаке превратите &bведро сиропа&r в &dдересный сахар.&r Имейте в виду, что все эти &cпроцессы кипячения требуют использования палочки&r в &3Горшке&r или &3Чане.&r", "quests.tfg_tips.create_tree_sugar.task": "Maple or Birch Sugar", "quests.tfg_tips.create_rubber_ingot.title": "Слиток Резины", "quests.tfg_tips.create_rubber_ingot.subtitle": "Изоляция кабелей", - "quests.tfg_tips.create_rubber_ingot.desc": "Используя &bВакуумную камеру&r и дополнительный нагрев, можно переработать &aлатекс&r из различных деревьев в &dнеобработанную резину&r. Затем 3 штуки &dнеобработанной резины&r вместе с небольшим количеством &eсеры&r можно выплавить в &bПечи для сплавов&r, чтобы получить &dрезиновые слитки&r — идеальные для изоляции кабелей и крайне необходимые для продвижения в &2Вольтовую эру&r и далее...", + "quests.tfg_tips.create_rubber_ingot.desc": "Используя &bВакуумную камеру&r и дополнительный нагрев, можно переработать &aлатекс&r из различных деревьев в &dнеобработанную резину&r. Затем 3 штуки &dнеобработанной резины&r вместе с небольшим количеством &eсеры&r можно выплавить в &bПечи для сплавов&r, чтобы получить &dрезиновые слитки&r — идеальные для изоляции кабелей и крайне необходимые для продвижения в &2Электрический век&r и далее...", "quests.tfg_tips.transportation.title": "Транспорт", "quests.tfg_tips.transportation.subtitle": "Для путешествий по огромному миру", "quests.tfg_tips.transportation.desc": "Мир очень велик, и вам, возможно, придется преодолевать огромные расстояния в поисках ресурсов для выживания и прогресса. Моды в этом разделе предлагают различные варианты транспорта.", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index d3726ec77..9c97f5a56 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -493,6 +493,10 @@ "block.tfg.glacian_wood_stripped": "去皮霜原菌核", "block.tfg.glacian_leaves": "霜原瓣叶", "block.tfg.glacian_leaves_fallen": "小型霜原瓣叶", + "block.tfg.crimson_wart_block": "绯红伞盖", + "block.tfg.warped_wart_block": "诡异伞盖", + "block.tfg.aeronos_cap": "空果伞盖", + "block.tfg.strophar_cap": "孑节伞盖", "block.tfg.marker.moon": "月球", "block.tfg.marker.mars": "火星", "block.tfg.marker.venus": "金星", @@ -1116,8 +1120,8 @@ "item.tfg.large_casing_extruder_mold": "模头(大型弹壳)", "item.tfg.photo_cell_t1": "基础光伏电池", "item.tfg.electric_extendo_grip": "电动伸缩机械手", - "item.tfg.treated_chipboard_composite": "处理过的刨花板复合材料", - "item.tfg.high_density_treated_fiberboard": "处理过的中密度纤维板", + "item.tfg.treated_chipboard_composite": "防腐刨花板复合材料", + "item.tfg.high_density_treated_fiberboard": "中密度防腐纤维板", "item.tfg.flax_seeds": "亚麻种子", "item.tfg.flax_product": "亚麻茎杆", "item.tfg.flax_bundle": "亚麻捆", @@ -1790,7 +1794,7 @@ "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_orange_block": "染色", "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_red_block": "染色", "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_brown_block": "染色", - "tfc.recipe.barrel.tfg.barrel.treated_chipboard_composite": "处理刨花板复合材料", + "tfc.recipe.barrel.tfg.barrel.treated_chipboard_composite": "防腐刨花板复合材料", "tfc.recipe.barrel.tfg.barrel.soak_hardwood_strip": "浸泡硬木条", "tfc.recipe.barrel.tfg.barrel.treated_wood_dust": "防腐木粉", "tfc.recipe.barrel.tfg.barrel.treated_wood_planks": "防腐木板", @@ -2853,7 +2857,7 @@ "quests.low_voltage.lost.subtitle": "这一切让人应接不暇", "quests.low_voltage.lost.desc.1": "进入&7LV&r阶段会解锁大量选项,很容易让人不知所措。以下是我们推荐的发展路线:\n\n1)建立一个稳定的电力来源。查看右下角的任务,有好几种方案可选,都可行。别吝啬,多建几台发电机!\n\n务必&e仔细阅读格雷科技能源任务章节&r,以便充分理解EU(能量单位)、电压、电流和线损是如何运作的。", "quests.low_voltage.lost.desc.2": "2)专注于建造那些能让后续机器造价更便宜的机器。\n\n两极磁化机是一台超级便宜的机器,几乎可以免费磁化金属棒。如果你还没造蒸汽时代对应的机器,那就搭建起卷板机、线材轧机、车床和切割机。这些任务都在左上角。\n\n之后,重点利用化学反应釜和流体固化机(左侧)来降低橡胶成本,并用组装机(下方)来降低电子元件成本。\n\n当所有东西的成本都降到最低后,确保批量合成组件以节省大量时间。", - "quests.low_voltage.lost.desc.3": "3)建造一台装罐机并制作一些电池(右上角)。电池箱将对你的工厂扩张大有裨益,而勘矿仪绝对是改变游戏体验的神器。\n\n4)&7LV&r阶段有两个主要终极目标:&a电路组装机&r和&a电力高炉&r。现在你应该准备好挑战它们了。", + "quests.low_voltage.lost.desc.3": "3)建造一台装罐机并制作一些电池(右上角)。电池箱将对你的工厂扩张大有裨益,而探矿仪绝对是改变游戏体验的神器。\n\n4)&7LV&r阶段有两个主要终极目标:&a电路组装机&r和&a电力高炉&r。现在你应该准备好挑战它们了。", "quests.low_voltage.lost.task": "太棒了,我逐渐理解一切!", "quests.low_voltage.lv_steam_turbine.title": "蒸汽轮机", "quests.low_voltage.lv_steam_turbine.subtitle": "你必须建造更多的涡轮机", @@ -3220,7 +3224,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可通过使用&7氢气&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,每个配方所需的&7执行时间&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": "...嗯,几乎能飞", From 6b778d7ab143433e6ebcd32ac91c164b81781bd1 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 10 Jan 2026 11:55:56 +0000 Subject: [PATCH 061/474] langs --- .../entries/tfg_ores/earth_vein_index.json | 98 +++++++++---------- .../entries/tfg_ores/mars_vein_index.json | 56 +++++------ .../entries/tfg_ores/moon_vein_index.json | 54 +++++----- .../entries/tfg_ores/nether_vein_index.json | 72 +++++++------- .../entries/tfg_ores/venus_vein_index.json | 4 +- .../entries/tfg_ores/earth_vein_index.json | 98 +++++++++---------- .../entries/tfg_ores/mars_vein_index.json | 56 +++++------ .../entries/tfg_ores/moon_vein_index.json | 54 +++++----- .../entries/tfg_ores/nether_vein_index.json | 72 +++++++------- .../entries/tfg_ores/venus_vein_index.json | 4 +- .../entries/tfg_ores/earth_vein_index.json | 98 +++++++++---------- .../entries/tfg_ores/mars_vein_index.json | 56 +++++------ .../entries/tfg_ores/moon_vein_index.json | 54 +++++----- .../entries/tfg_ores/nether_vein_index.json | 72 +++++++------- .../entries/tfg_ores/venus_vein_index.json | 4 +- .../entries/tfg_ores/earth_vein_index.json | 98 +++++++++---------- .../entries/tfg_ores/mars_vein_index.json | 56 +++++------ .../entries/tfg_ores/moon_vein_index.json | 54 +++++----- .../entries/tfg_ores/nether_vein_index.json | 72 +++++++------- .../entries/tfg_ores/venus_vein_index.json | 4 +- .../entries/tfg_ores/earth_vein_index.json | 98 +++++++++---------- .../entries/tfg_ores/mars_vein_index.json | 56 +++++------ .../entries/tfg_ores/moon_vein_index.json | 54 +++++----- .../entries/tfg_ores/nether_vein_index.json | 72 +++++++------- .../entries/tfg_ores/venus_vein_index.json | 4 +- .../entries/tfg_ores/earth_vein_index.json | 98 +++++++++---------- .../entries/tfg_ores/mars_vein_index.json | 56 +++++------ .../entries/tfg_ores/moon_vein_index.json | 54 +++++----- .../entries/tfg_ores/nether_vein_index.json | 72 +++++++------- .../entries/tfg_ores/venus_vein_index.json | 4 +- kubejs/assets/tfg/lang/en_us.json | 2 +- kubejs/assets/tfg/lang/fr_fr.json | 2 +- kubejs/assets/tfg/lang/ja_jp.json | 2 +- kubejs/assets/tfg/lang/pt_br.json | 2 +- kubejs/assets/tfg/lang/ru_ru.json | 2 +- kubejs/assets/tfg/lang/uk_ua.json | 2 +- kubejs/assets/tfg/lang/zh_cn.json | 2 +- 37 files changed, 859 insertions(+), 859 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json index eaa8bc79a..6304b79f6 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 @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Gneiss, Limestone, Marble, Phyllite, Quartzite, Schist, Shale, Slate", + "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Gneiss, Limestone, Marble, Phyllite, Quartzite, Schist, Shale, Slate", "title": "Amethyst & Garnet", "type": "patchouli:text", "anchor": "deep_garnet_amethyst" @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Size$(): 34$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Size$(): 34$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "normal_apatite" @@ -198,7 +198,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 205$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)Rarity$(): 1/205$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "normal_monazite" @@ -265,7 +265,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 30$(br)$(thing)Size$(): 26$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 30$(br)$(thing)Size$(): 26$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Bentonite & Olivine", "type": "patchouli:text", "anchor": "normal_olivine" @@ -357,7 +357,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", "title": "Bismuth (Normal)", "type": "patchouli:text", "anchor": "normal_bismuthinite" @@ -449,7 +449,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 140$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", + "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", "title": "Bismuth (Surface)", "type": "patchouli:text", "anchor": "surface_bismuthinite" @@ -541,7 +541,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Cassiterite (Normal)", "type": "patchouli:text", "anchor": "normal_cassiterite" @@ -608,7 +608,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 135$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)Rarity$(): 1/135$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Cassiterite (Surface)", "type": "patchouli:text", "anchor": "surface_cassiterite" @@ -675,7 +675,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 200$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 217$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 217$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Chalcopyrite & Realgar", "type": "patchouli:text", "anchor": "surface_copper" @@ -767,7 +767,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 225$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Marble, Shale", + "text": "$(thing)Rarity$(): 1/225$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Marble, Shale", "title": "Chromite & Magnetite", "type": "patchouli:text", "anchor": "deep_magnetite" @@ -874,7 +874,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 215$(br)$(thing)Density$(): 0.55$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Coal", "type": "patchouli:text", "anchor": "normal_coal" @@ -901,7 +901,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 320$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/320$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Cooperite & Bornite", "type": "patchouli:text", "anchor": "deep_sheldonite" @@ -968,7 +968,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 85$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 85$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "normal_copper" @@ -1060,7 +1060,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -1127,7 +1127,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 270$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 64$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", + "text": "$(thing)Rarity$(): 1/270$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 64$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", "title": "Garnet & Cassiterite Sands", "type": "patchouli:text", "anchor": "normal_garnet_tin" @@ -1219,7 +1219,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 70$(br2)$(thing)Stone Types$(): Diorite, Gabbro$(br2)Can't find it? Gabbro always spawns below $(thing)Basalt$(), and Gabbro dikes in oceans can be useful too!", + "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 70$(br2)$(thing)Stone Types$(): Diorite, Gabbro$(br2)Can't find it? Gabbro always spawns below $(thing)Basalt$(), and Gabbro dikes in oceans can be useful too!", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "normal_garnierite" @@ -1326,7 +1326,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 240$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 32$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Limestone, Marble", + "text": "$(thing)Rarity$(): 1/240$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 32$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Limestone, Marble", "title": "Goethite & Malachite", "type": "patchouli:text", "anchor": "deep_limonite" @@ -1418,7 +1418,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 260$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 32$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 32$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Gold (Deep)", "type": "patchouli:text", "anchor": "deep_gold" @@ -1510,7 +1510,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 12$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 12$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Gold, Limonite, & Hematite", "type": "patchouli:text", "anchor": "normal_gold" @@ -1602,7 +1602,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 80$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Size$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", + "text": "$(thing)Rarity$(): 1/80$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Size$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "normal_graphite" @@ -1669,7 +1669,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Gypsum & Calcite", "type": "patchouli:text", "anchor": "normal_gypsum" @@ -1761,7 +1761,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "normal_hematite" @@ -1853,7 +1853,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Hematite, Goethite, & Ruby", "type": "patchouli:text", "anchor": "deep_hematite" @@ -1960,7 +1960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 36$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 36$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "normal_mica" @@ -2052,7 +2052,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -60 — 10$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -60 — 10$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Lapis, Lazurite, & Sodalite", "type": "patchouli:text", "anchor": "normal_lapis" @@ -2144,7 +2144,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Limestone, Marble", + "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Limestone, Marble", "title": "Limonite", "type": "patchouli:text", "anchor": "normal_limonite" @@ -2236,7 +2236,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 200$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Magnetite & Vanadium", "type": "patchouli:text", "anchor": "normal_magnetite" @@ -2328,7 +2328,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 195$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Rhyolite, Shale", + "text": "$(thing)Rarity$(): 1/195$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Rhyolite, Shale", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "normal_manganese" @@ -2420,7 +2420,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 48$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Basalt, Granite", + "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 48$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Basalt, Granite", "title": "Mineral Sands", "type": "patchouli:text", "anchor": "normal_basaltic_sands" @@ -2512,7 +2512,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 185$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)Rarity$(): 1/185$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Oilsands", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -2539,7 +2539,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 62$(br)$(thing)Size$(): 26$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 62$(br)$(thing)Size$(): 26$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Opal & Garnet", "type": "patchouli:text", "anchor": "deep_garnet_opal" @@ -2631,7 +2631,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Gneiss, Quartzite, Schist, Shale", + "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Gneiss, Quartzite, Schist, Shale", "title": "Quartzes", "type": "patchouli:text", "anchor": "normal_quartz" @@ -2698,7 +2698,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Granite$(br2)Can't find it? Granite always spawns below $(thing)Rhyolite$(), and looking in oceans can be useful too!", + "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Granite$(br2)Can't find it? Granite always spawns below $(thing)Rhyolite$(), and looking in oceans can be useful too!", "title": "Redstone, Cinnabar, & Ruby", "type": "patchouli:text", "anchor": "normal_redstone" @@ -2765,7 +2765,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Saltpeter & Electrotine", "type": "patchouli:text", "anchor": "normal_saltpeter" @@ -2857,7 +2857,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 175$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 30 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 4$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Claystone, Limestone, Shale", + "text": "$(thing)Rarity$(): 1/175$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 30 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 4$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Claystone, Limestone, Shale", "title": "Salts & Borax", "type": "patchouli:text", "anchor": "normal_salt" @@ -2949,7 +2949,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 32$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Rhyolite", + "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 32$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Rhyolite", "title": "Sapphire & Almandine", "type": "patchouli:text", "anchor": "deep_sapphire" @@ -3041,7 +3041,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 240$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)Rarity$(): 1/240$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "deep_scheelite" @@ -3108,7 +3108,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Granite", + "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Granite", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "normal_silver" @@ -3175,7 +3175,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 56$(br)$(thing)Size$(): 36$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 56$(br)$(thing)Size$(): 36$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Soapstone, Talc, & Trona", "type": "patchouli:text", "anchor": "normal_lubricant" @@ -3282,7 +3282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "normal_sphalerite" @@ -3349,7 +3349,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 145$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/145$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", "title": "Sphalerite & Sulfur", "type": "patchouli:text", "anchor": "surface_sphalerite" @@ -3416,7 +3416,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.375$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 20 — 60$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 37.5%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 20 — 60$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Spodumene & Lepidolite", "type": "patchouli:text", "anchor": "normal_spodumene" @@ -3508,7 +3508,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 165$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)Rarity$(): 1/165$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "normal_sulfur" @@ -3575,7 +3575,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 140$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate$(br2)Only appears in deserts to the $(thing)South-West$(), with a minimum temperature of 7°C and a maximum rainfall of 100mm.", + "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate$(br2)Only appears in deserts to the $(thing)South-West$(), with a minimum temperature of 7°C and a maximum rainfall of 100mm.", "title": "Tarkianite & Oilsands", "type": "patchouli:text", "anchor": "normal_tarkianite" @@ -3667,7 +3667,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Tetrahedrite (Normal)", "type": "patchouli:text", "anchor": "normal_tetrahedrite" @@ -3734,7 +3734,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 140$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Tetrahedrite (Surface)", "type": "patchouli:text", "anchor": "surface_tetrahedrite" @@ -3801,7 +3801,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 260$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 7$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 7$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Topaz & Chalcocite", "type": "patchouli:text", "anchor": "deep_topaz" @@ -3893,7 +3893,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 240$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — -20$(br)$(thing)Size$(): 19$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/240$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — -20$(br)$(thing)Size$(): 19$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Uraninite & Pitchblende", "type": "patchouli:text", "anchor": "deep_pitchblende" @@ -3960,7 +3960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 245$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 10$(br)$(thing)Size$(): 26$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)Rarity$(): 1/245$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 10$(br)$(thing)Size$(): 26$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Wulfenite & Molybdenite", "type": "patchouli:text", "anchor": "deep_molybdenum" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json index e5a623495..0a984dd10 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 280$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 65$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chert, Claystone, Diorite, Dolomite, Gabbro, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/280$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 65$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chert, Claystone, Diorite, Dolomite, Gabbro, Limestone, Red Granite, Shale, Trachyte", "title": "Almandine & Sapphire", "type": "patchouli:text", "anchor": "mars_almandine" @@ -136,7 +136,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Limestone, Red Granite, Shale, Trachyte", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "mars_apatite" @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 215$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Trachyte", + "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Trachyte", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 140$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Bismuth", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 370$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Conglomerate, Dacite, Diorite, Red Granite, Trachyte", + "text": "$(thing)Rarity$(): 1/370$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Conglomerate, Dacite, Diorite, Red Granite, Trachyte", "title": "Bornite & Cooperite", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 135$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/135$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Cassiterite", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -571,7 +571,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 215$(br)$(thing)Density$(): 0.6$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 10$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Red Granite, Trachyte", + "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 60%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 10$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Red Granite, Trachyte", "title": "Coal & Hematite", "type": "patchouli:text", "anchor": "mars_coal" @@ -623,7 +623,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Shale, Trachyte", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "mars_copper" @@ -715,7 +715,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 350$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): -20 — 50$(br)$(thing)Height$(): 40$(br)$(thing)Radius$(): 8$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)Rarity$(): 1/350$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): -20 — 50$(br)$(thing)Height$(): 40$(br)$(thing)Radius$(): 8$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "mars_beryllium" @@ -782,7 +782,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Red Granite, Shale", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "mars_nickel" @@ -874,7 +874,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Diorite, Gabbro, Granite, Shale", + "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Diorite, Gabbro, Granite, Shale", "title": "Gold, Electrotine, & Bauxite", "type": "patchouli:text", "anchor": "mars_gold" @@ -966,7 +966,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Argillite, Dacite, Diorite, Gabbro, Granite, Red Granite, Trachyte", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Argillite, Dacite, Diorite, Gabbro, Granite, Red Granite, Trachyte", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "mars_graphite" @@ -1058,7 +1058,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Red Granite", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Red Granite", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1150,7 +1150,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 140$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1242,7 +1242,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 200$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Dolomite, Limestone, Shale", + "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Dolomite, Limestone, Shale", "title": "Lapis, Lazurite, & Sodalite", "type": "patchouli:text", "anchor": "mars_lapis" @@ -1334,7 +1334,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 42$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Gabbro, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 42$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Gabbro, Limestone, Red Granite, Shale, Trachyte", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "mars_tantalite" @@ -1426,7 +1426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.55$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", "title": "Pitchblende & Thorianite, & Hematite", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -1493,7 +1493,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 370$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Claystone, Dacite, Diorite, Gabbro, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/370$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Claystone, Dacite, Diorite, Gabbro, Shale, Trachyte", "title": "Pitchblende, Thorianite, & Uraninite", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -1560,7 +1560,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Quartzite, Asbestos, & Barite", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1652,7 +1652,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 370$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Limestone, Shale", + "text": "$(thing)Rarity$(): 1/370$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Limestone, Shale", "title": "Redstone & Chromite", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1719,7 +1719,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Red Granite, Trachyte", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Red Granite, Trachyte", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "mars_salt" @@ -1811,7 +1811,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 280$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Dolomite, Limestone, Red Granite, Shale", + "text": "$(thing)Rarity$(): 1/280$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Dolomite, Limestone, Red Granite, Shale", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "mars_tungsten" @@ -1903,7 +1903,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 215$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Gabbro, Granite, Red Granite, Shale", + "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Gabbro, Granite, Red Granite, Shale", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "mars_galena" @@ -1995,7 +1995,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 150$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/150$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Sphalerite & Galena", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2102,7 +2102,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 215$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Gabbro, Granite, Trachyte", + "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Gabbro, Granite, Trachyte", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "mars_sulfur" @@ -2194,7 +2194,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Normal)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2286,7 +2286,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 140$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Surface)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2378,7 +2378,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Red Granite, Shale", "title": "Trona, Talc, & Glauconite", "type": "patchouli:text", "anchor": "mars_lubricant" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_vein_index.json index a61f9b89a..ce57c4a20 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 7$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Rhyolite", + "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 7$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Rhyolite", "title": "Amethyst, Opal, & Garnet", "type": "patchouli:text", "anchor": "moon_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Norite", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Norite", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "moon_apatite" @@ -213,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 310$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", + "text": "$(thing)Rarity$(): 1/310$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "moon_monazite" @@ -305,7 +305,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 200$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 80$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Norite, Phonolite, Rhyolite", + "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 80$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Norite, Phonolite, Rhyolite", "title": "Bauxite & Ilmenite", "type": "patchouli:text", "anchor": "moon_bauxite" @@ -372,7 +372,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Norite", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Norite", "title": "Cassiterite & Chalcopyrite", "type": "patchouli:text", "anchor": "moon_cassiterite" @@ -464,7 +464,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 80$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", + "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 80$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", "title": "Certus Quartz", "type": "patchouli:text", "anchor": "moon_quartz" @@ -556,7 +556,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 280$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", + "text": "$(thing)Rarity$(): 1/280$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", "title": "Chromite & Magnetite", "type": "patchouli:text", "anchor": "moon_magnetite" @@ -663,7 +663,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 260$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Phonolite", + "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Phonolite", "title": "Cooperite & Bornite", "type": "patchouli:text", "anchor": "moon_sheldonite" @@ -755,7 +755,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro", + "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro", "title": "Desh & Ilmenite", "type": "patchouli:text", "anchor": "moon_desh" @@ -847,7 +847,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 260$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 70$(br)$(thing)Radius$(): 8$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Phonolite", + "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 70$(br)$(thing)Radius$(): 8$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Phonolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "moon_beryllium" @@ -954,7 +954,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 5 — 85$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Rhyolite", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 5 — 85$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Rhyolite", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "moon_garnierite" @@ -1061,7 +1061,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 10$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Basalt, Diorite, Granite", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 10$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Basalt, Diorite, Granite", "title": "Gold & Magnetite", "type": "patchouli:text", "anchor": "moon_gold" @@ -1153,7 +1153,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 260$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Basalt, Gabbro, Phonolite", + "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Basalt, Gabbro, Phonolite", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "moon_graphite" @@ -1220,7 +1220,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Size$(): 30$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Norite, Phonolite", + "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Size$(): 30$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Norite, Phonolite", "title": "Gypsum & Calcite", "type": "patchouli:text", "anchor": "moon_gypsum" @@ -1327,7 +1327,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "moon_mica" @@ -1434,7 +1434,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 215$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 5 — 80$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Basalt, Dacite, Gabbro, Norite", + "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 5 — 80$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Basalt, Dacite, Gabbro, Norite", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "moon_manganese" @@ -1526,7 +1526,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 80$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Gabbro, Norite", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 80$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Gabbro, Norite", "title": "Pyrolusite and Cobalt", "type": "patchouli:text", "anchor": "moon_pyrolusite" @@ -1618,7 +1618,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 100$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 100$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite", "title": "Redstone, Cinnabar, & Ruby", "type": "patchouli:text", "anchor": "moon_redstone" @@ -1710,7 +1710,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Norite, Rhyolite", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Norite, Rhyolite", "title": "Saltpeter & Electrotine", "type": "patchouli:text", "anchor": "moon_saltpeter" @@ -1802,7 +1802,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 280$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Basalt, Norite", + "text": "$(thing)Rarity$(): 1/280$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Basalt, Norite", "title": "Sapphire & Almandine", "type": "patchouli:text", "anchor": "moon_sapphire" @@ -1909,7 +1909,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 200$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Gabbro, Phonolite, Rhyolite", + "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Gabbro, Phonolite, Rhyolite", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "moon_scheelite" @@ -1976,7 +1976,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 75$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Dacite, Diorite, Norite, Rhyolite", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 75$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Dacite, Diorite, Norite, Rhyolite", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "moon_silver" @@ -2068,7 +2068,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 66$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Gabbro, Norite", + "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 66$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Gabbro, Norite", "title": "Soapstone, Talc, & Trona", "type": "patchouli:text", "anchor": "moon_lubricant" @@ -2175,7 +2175,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 205$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 2 — 75$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro, Phonolite", + "text": "$(thing)Rarity$(): 1/205$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 2 — 75$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro, Phonolite", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "moon_sphalerite" @@ -2242,7 +2242,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 50 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", + "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 50 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", "title": "Tetrahedrite & Chalcocite", "type": "patchouli:text", "anchor": "moon_tetrahedrite" @@ -2334,7 +2334,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Size$(): 45$(br)$(thing)Height$(): 16$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Size$(): 45$(br)$(thing)Height$(): 16$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", "title": "Topaz & Chalcocite", "type": "patchouli:text", "anchor": "moon_topaz" @@ -2426,7 +2426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 245$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 50$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Basalt, Dacite, Gabbro, Norite", + "text": "$(thing)Rarity$(): 1/245$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 50$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Basalt, Dacite, Gabbro, Norite", "title": "Wulfenite & Molybdenite", "type": "patchouli:text", "anchor": "moon_molybdenum" 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 722cc922e..650a6e0eb 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 @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Amethyst, Opal, & Garnet", "type": "patchouli:text", "anchor": "nether_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 35$(br)$(thing)Density$(): 0.8$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 48 — 127$(br)$(thing)Size$(): 13$(br)$(thing)Height$(): 4$(br2)$(thing)Stone Types$(): Migmatite", + "text": "$(thing)Rarity$(): 1/35$(br)$(thing)Density$(): 80%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 48 — 127$(br)$(thing)Size$(): 13$(br)$(thing)Height$(): 4$(br2)$(thing)Stone Types$(): Migmatite", "title": "Anthracite", "type": "patchouli:text", "anchor": "nether_anthracite" @@ -148,7 +148,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Size$(): 39$(br2)$(thing)Stone Types$(): Gneiss, Schist", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Size$(): 39$(br2)$(thing)Stone Types$(): Gneiss, Schist", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "nether_apatite" @@ -215,7 +215,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 245$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/245$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "nether_monazite" @@ -282,7 +282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 31$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 31$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Bentonite & Olivine", "type": "patchouli:text", "anchor": "nether_olivine" @@ -374,7 +374,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Cassiterite", "type": "patchouli:text", "anchor": "nether_cassiterite" @@ -441,7 +441,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 205$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 39$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/205$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 39$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Chromite", "type": "patchouli:text", "anchor": "nether_magnetite" @@ -548,7 +548,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Cooperite & Bornite", "type": "patchouli:text", "anchor": "nether_sheldonite" @@ -640,7 +640,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "nether_copper" @@ -732,7 +732,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "nether_beryllium" @@ -824,7 +824,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 270$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Migmatite, Pyroxenite, Schist, Travertine", + "text": "$(thing)Rarity$(): 1/270$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Migmatite, Pyroxenite, Schist, Travertine", "title": "Garnet & Cassiterite Sands", "type": "patchouli:text", "anchor": "nether_garnet_tin" @@ -916,7 +916,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 16 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Pyroxenite", + "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 16 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Pyroxenite", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "nether_garnierite" @@ -1023,7 +1023,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 240$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 37$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/240$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 37$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Goethite", "type": "patchouli:text", "anchor": "nether_goethite" @@ -1115,7 +1115,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 260$(br)$(thing)Density$(): 0.55$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 37$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 37$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Gold & Hematite", "type": "patchouli:text", "anchor": "nether_gold" @@ -1207,7 +1207,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 120$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/120$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "nether_graphite" @@ -1274,7 +1274,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", "title": "Gypsum & Calcite", "type": "patchouli:text", "anchor": "nether_gypsum" @@ -1366,7 +1366,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "nether_hematite" @@ -1473,7 +1473,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "nether_mica" @@ -1540,7 +1540,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 40$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 40$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", "title": "Lapis, Lazurite, & Sodalite", "type": "patchouli:text", "anchor": "nether_lapis" @@ -1632,7 +1632,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 225$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/225$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "nether_manganese" @@ -1724,7 +1724,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Size$(): 48$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Basalt, Granite", + "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Size$(): 48$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Basalt, Granite", "title": "Mineral Sands", "type": "patchouli:text", "anchor": "nether_basaltic_sands" @@ -1816,7 +1816,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 200$(br)$(thing)Density$(): 0.7$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 38$(br)$(thing)Size$(): 32$(br2)$(thing)Stone Types$(): Basalt, Pyroxenite", + "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 70%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 38$(br)$(thing)Size$(): 32$(br2)$(thing)Stone Types$(): Basalt, Pyroxenite", "title": "Naquadah", "type": "patchouli:text", "anchor": "nether_naquadah" @@ -1843,7 +1843,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 150$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Diorite, Gabbro, Granite, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/150$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Diorite, Gabbro, Granite, Migmatite, Pyroxenite, Travertine", "title": "Nether Quartz", "type": "patchouli:text", "anchor": "nether_quartz" @@ -1910,7 +1910,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Granite, Pyroxenite", + "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Granite, Pyroxenite", "title": "Redstone, Cinnabar, & Ruby", "type": "patchouli:text", "anchor": "nether_redstone" @@ -1977,7 +1977,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Saltpeter & Electrotine", "type": "patchouli:text", "anchor": "nether_saltpeter" @@ -2069,7 +2069,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 33$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 33$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Sapphire & Almandine", "type": "patchouli:text", "anchor": "nether_sapphire" @@ -2161,7 +2161,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 25$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 25$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "nether_scheelite" @@ -2228,7 +2228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Granite, Pyroxenite", + "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Granite, Pyroxenite", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "nether_silver" @@ -2295,7 +2295,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Soapstone, Talc, & Trona", "type": "patchouli:text", "anchor": "nether_lubricant" @@ -2402,7 +2402,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "nether_sphalerite" @@ -2469,7 +2469,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 165$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 50$(br2)$(thing)Stone Types$(): Basalt, Diorite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/165$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 50$(br2)$(thing)Stone Types$(): Basalt, Diorite, Pyroxenite, Schist", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "nether_sulfur" @@ -2536,7 +2536,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 75$(br)$(thing)Density$(): 0.6$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 64$(br)$(thing)Size$(): 17$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Pyroxenite", + "text": "$(thing)Rarity$(): 1/75$(br)$(thing)Density$(): 60%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 64$(br)$(thing)Size$(): 17$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Pyroxenite", "title": "Sylvite", "type": "patchouli:text", "anchor": "nether_sylvite" @@ -2563,7 +2563,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Migmatite, Pyroxenite, Schist, Travertine", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Migmatite, Pyroxenite, Schist, Travertine", "title": "Tetrahedrite", "type": "patchouli:text", "anchor": "nether_tetrahedrite" @@ -2630,7 +2630,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 33$(br)$(thing)Height$(): 7$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 33$(br)$(thing)Height$(): 7$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Topaz & Chalcocite", "type": "patchouli:text", "anchor": "nether_topaz" @@ -2722,7 +2722,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.55$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 24$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 24$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Uraninite & Pitchblende", "type": "patchouli:text", "anchor": "nether_pitchblende" @@ -2789,7 +2789,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 245$(br)$(thing)Density$(): 0.55$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 31$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/245$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 31$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Wulfenite & Molybdenite", "type": "patchouli:text", "anchor": "nether_molybdenum" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json index 9585d526b..277be576e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 30$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)Rarity$(): 1/30$(br)$(thing)Density$(): 20%$(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" @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 30$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", + "text": "$(thing)Rarity$(): 1/30$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "venus_manual_sulfur" 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 eaa8bc79a..6304b79f6 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 @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Gneiss, Limestone, Marble, Phyllite, Quartzite, Schist, Shale, Slate", + "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Gneiss, Limestone, Marble, Phyllite, Quartzite, Schist, Shale, Slate", "title": "Amethyst & Garnet", "type": "patchouli:text", "anchor": "deep_garnet_amethyst" @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Size$(): 34$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Size$(): 34$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "normal_apatite" @@ -198,7 +198,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 205$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)Rarity$(): 1/205$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "normal_monazite" @@ -265,7 +265,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 30$(br)$(thing)Size$(): 26$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 30$(br)$(thing)Size$(): 26$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Bentonite & Olivine", "type": "patchouli:text", "anchor": "normal_olivine" @@ -357,7 +357,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", "title": "Bismuth (Normal)", "type": "patchouli:text", "anchor": "normal_bismuthinite" @@ -449,7 +449,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 140$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", + "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", "title": "Bismuth (Surface)", "type": "patchouli:text", "anchor": "surface_bismuthinite" @@ -541,7 +541,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Cassiterite (Normal)", "type": "patchouli:text", "anchor": "normal_cassiterite" @@ -608,7 +608,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 135$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)Rarity$(): 1/135$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Cassiterite (Surface)", "type": "patchouli:text", "anchor": "surface_cassiterite" @@ -675,7 +675,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 200$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 217$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 217$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Chalcopyrite & Realgar", "type": "patchouli:text", "anchor": "surface_copper" @@ -767,7 +767,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 225$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Marble, Shale", + "text": "$(thing)Rarity$(): 1/225$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Marble, Shale", "title": "Chromite & Magnetite", "type": "patchouli:text", "anchor": "deep_magnetite" @@ -874,7 +874,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 215$(br)$(thing)Density$(): 0.55$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Coal", "type": "patchouli:text", "anchor": "normal_coal" @@ -901,7 +901,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 320$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/320$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Cooperite & Bornite", "type": "patchouli:text", "anchor": "deep_sheldonite" @@ -968,7 +968,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 85$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 85$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "normal_copper" @@ -1060,7 +1060,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -1127,7 +1127,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 270$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 64$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", + "text": "$(thing)Rarity$(): 1/270$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 64$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", "title": "Garnet & Cassiterite Sands", "type": "patchouli:text", "anchor": "normal_garnet_tin" @@ -1219,7 +1219,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 70$(br2)$(thing)Stone Types$(): Diorite, Gabbro$(br2)Can't find it? Gabbro always spawns below $(thing)Basalt$(), and Gabbro dikes in oceans can be useful too!", + "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 70$(br2)$(thing)Stone Types$(): Diorite, Gabbro$(br2)Can't find it? Gabbro always spawns below $(thing)Basalt$(), and Gabbro dikes in oceans can be useful too!", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "normal_garnierite" @@ -1326,7 +1326,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 240$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 32$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Limestone, Marble", + "text": "$(thing)Rarity$(): 1/240$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 32$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Limestone, Marble", "title": "Goethite & Malachite", "type": "patchouli:text", "anchor": "deep_limonite" @@ -1418,7 +1418,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 260$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 32$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 32$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Gold (Deep)", "type": "patchouli:text", "anchor": "deep_gold" @@ -1510,7 +1510,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 12$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 12$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Gold, Limonite, & Hematite", "type": "patchouli:text", "anchor": "normal_gold" @@ -1602,7 +1602,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 80$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Size$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", + "text": "$(thing)Rarity$(): 1/80$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Size$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "normal_graphite" @@ -1669,7 +1669,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Gypsum & Calcite", "type": "patchouli:text", "anchor": "normal_gypsum" @@ -1761,7 +1761,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "normal_hematite" @@ -1853,7 +1853,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Hematite, Goethite, & Ruby", "type": "patchouli:text", "anchor": "deep_hematite" @@ -1960,7 +1960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 36$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 36$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "normal_mica" @@ -2052,7 +2052,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -60 — 10$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -60 — 10$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Lapis, Lazurite, & Sodalite", "type": "patchouli:text", "anchor": "normal_lapis" @@ -2144,7 +2144,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Limestone, Marble", + "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Limestone, Marble", "title": "Limonite", "type": "patchouli:text", "anchor": "normal_limonite" @@ -2236,7 +2236,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 200$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Magnetite & Vanadium", "type": "patchouli:text", "anchor": "normal_magnetite" @@ -2328,7 +2328,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 195$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Rhyolite, Shale", + "text": "$(thing)Rarity$(): 1/195$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Rhyolite, Shale", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "normal_manganese" @@ -2420,7 +2420,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 48$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Basalt, Granite", + "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 48$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Basalt, Granite", "title": "Mineral Sands", "type": "patchouli:text", "anchor": "normal_basaltic_sands" @@ -2512,7 +2512,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 185$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)Rarity$(): 1/185$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Oilsands", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -2539,7 +2539,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 62$(br)$(thing)Size$(): 26$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 62$(br)$(thing)Size$(): 26$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Opal & Garnet", "type": "patchouli:text", "anchor": "deep_garnet_opal" @@ -2631,7 +2631,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Gneiss, Quartzite, Schist, Shale", + "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Gneiss, Quartzite, Schist, Shale", "title": "Quartzes", "type": "patchouli:text", "anchor": "normal_quartz" @@ -2698,7 +2698,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Granite$(br2)Can't find it? Granite always spawns below $(thing)Rhyolite$(), and looking in oceans can be useful too!", + "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Granite$(br2)Can't find it? Granite always spawns below $(thing)Rhyolite$(), and looking in oceans can be useful too!", "title": "Redstone, Cinnabar, & Ruby", "type": "patchouli:text", "anchor": "normal_redstone" @@ -2765,7 +2765,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Saltpeter & Electrotine", "type": "patchouli:text", "anchor": "normal_saltpeter" @@ -2857,7 +2857,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 175$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 30 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 4$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Claystone, Limestone, Shale", + "text": "$(thing)Rarity$(): 1/175$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 30 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 4$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Claystone, Limestone, Shale", "title": "Salts & Borax", "type": "patchouli:text", "anchor": "normal_salt" @@ -2949,7 +2949,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 32$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Rhyolite", + "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 32$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Rhyolite", "title": "Sapphire & Almandine", "type": "patchouli:text", "anchor": "deep_sapphire" @@ -3041,7 +3041,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 240$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)Rarity$(): 1/240$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "deep_scheelite" @@ -3108,7 +3108,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Granite", + "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Granite", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "normal_silver" @@ -3175,7 +3175,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 56$(br)$(thing)Size$(): 36$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 56$(br)$(thing)Size$(): 36$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Soapstone, Talc, & Trona", "type": "patchouli:text", "anchor": "normal_lubricant" @@ -3282,7 +3282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "normal_sphalerite" @@ -3349,7 +3349,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 145$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/145$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", "title": "Sphalerite & Sulfur", "type": "patchouli:text", "anchor": "surface_sphalerite" @@ -3416,7 +3416,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.375$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 20 — 60$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 37.5%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 20 — 60$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Spodumene & Lepidolite", "type": "patchouli:text", "anchor": "normal_spodumene" @@ -3508,7 +3508,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 165$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)Rarity$(): 1/165$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "normal_sulfur" @@ -3575,7 +3575,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 140$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate$(br2)Only appears in deserts to the $(thing)South-West$(), with a minimum temperature of 7°C and a maximum rainfall of 100mm.", + "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate$(br2)Only appears in deserts to the $(thing)South-West$(), with a minimum temperature of 7°C and a maximum rainfall of 100mm.", "title": "Tarkianite & Oilsands", "type": "patchouli:text", "anchor": "normal_tarkianite" @@ -3667,7 +3667,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Tetrahedrite (Normal)", "type": "patchouli:text", "anchor": "normal_tetrahedrite" @@ -3734,7 +3734,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 140$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Tetrahedrite (Surface)", "type": "patchouli:text", "anchor": "surface_tetrahedrite" @@ -3801,7 +3801,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 260$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 7$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 7$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Topaz & Chalcocite", "type": "patchouli:text", "anchor": "deep_topaz" @@ -3893,7 +3893,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 240$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — -20$(br)$(thing)Size$(): 19$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 1/240$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — -20$(br)$(thing)Size$(): 19$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Uraninite & Pitchblende", "type": "patchouli:text", "anchor": "deep_pitchblende" @@ -3960,7 +3960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 245$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 10$(br)$(thing)Size$(): 26$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)Rarity$(): 1/245$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 10$(br)$(thing)Size$(): 26$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Wulfenite & Molybdenite", "type": "patchouli:text", "anchor": "deep_molybdenum" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json index e5a623495..0a984dd10 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 280$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 65$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chert, Claystone, Diorite, Dolomite, Gabbro, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/280$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 65$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chert, Claystone, Diorite, Dolomite, Gabbro, Limestone, Red Granite, Shale, Trachyte", "title": "Almandine & Sapphire", "type": "patchouli:text", "anchor": "mars_almandine" @@ -136,7 +136,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Limestone, Red Granite, Shale, Trachyte", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "mars_apatite" @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 215$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Trachyte", + "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Trachyte", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 140$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Bismuth", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 370$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Conglomerate, Dacite, Diorite, Red Granite, Trachyte", + "text": "$(thing)Rarity$(): 1/370$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Conglomerate, Dacite, Diorite, Red Granite, Trachyte", "title": "Bornite & Cooperite", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 135$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/135$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Cassiterite", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -571,7 +571,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 215$(br)$(thing)Density$(): 0.6$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 10$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Red Granite, Trachyte", + "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 60%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 10$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Red Granite, Trachyte", "title": "Coal & Hematite", "type": "patchouli:text", "anchor": "mars_coal" @@ -623,7 +623,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Shale, Trachyte", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "mars_copper" @@ -715,7 +715,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 350$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): -20 — 50$(br)$(thing)Height$(): 40$(br)$(thing)Radius$(): 8$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)Rarity$(): 1/350$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): -20 — 50$(br)$(thing)Height$(): 40$(br)$(thing)Radius$(): 8$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "mars_beryllium" @@ -782,7 +782,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Red Granite, Shale", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "mars_nickel" @@ -874,7 +874,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Diorite, Gabbro, Granite, Shale", + "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Diorite, Gabbro, Granite, Shale", "title": "Gold, Electrotine, & Bauxite", "type": "patchouli:text", "anchor": "mars_gold" @@ -966,7 +966,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Argillite, Dacite, Diorite, Gabbro, Granite, Red Granite, Trachyte", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Argillite, Dacite, Diorite, Gabbro, Granite, Red Granite, Trachyte", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "mars_graphite" @@ -1058,7 +1058,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Red Granite", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Red Granite", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1150,7 +1150,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 140$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1242,7 +1242,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 200$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Dolomite, Limestone, Shale", + "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Dolomite, Limestone, Shale", "title": "Lapis, Lazurite, & Sodalite", "type": "patchouli:text", "anchor": "mars_lapis" @@ -1334,7 +1334,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 42$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Gabbro, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 42$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Gabbro, Limestone, Red Granite, Shale, Trachyte", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "mars_tantalite" @@ -1426,7 +1426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.55$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", "title": "Pitchblende & Thorianite, & Hematite", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -1493,7 +1493,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 370$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Claystone, Dacite, Diorite, Gabbro, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/370$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Claystone, Dacite, Diorite, Gabbro, Shale, Trachyte", "title": "Pitchblende, Thorianite, & Uraninite", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -1560,7 +1560,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Quartzite, Asbestos, & Barite", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1652,7 +1652,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 370$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Limestone, Shale", + "text": "$(thing)Rarity$(): 1/370$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Limestone, Shale", "title": "Redstone & Chromite", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1719,7 +1719,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Red Granite, Trachyte", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Red Granite, Trachyte", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "mars_salt" @@ -1811,7 +1811,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 280$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Dolomite, Limestone, Red Granite, Shale", + "text": "$(thing)Rarity$(): 1/280$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Dolomite, Limestone, Red Granite, Shale", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "mars_tungsten" @@ -1903,7 +1903,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 215$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Gabbro, Granite, Red Granite, Shale", + "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Gabbro, Granite, Red Granite, Shale", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "mars_galena" @@ -1995,7 +1995,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 150$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/150$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Sphalerite & Galena", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2102,7 +2102,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 215$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Gabbro, Granite, Trachyte", + "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Gabbro, Granite, Trachyte", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "mars_sulfur" @@ -2194,7 +2194,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Normal)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2286,7 +2286,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 140$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Surface)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2378,7 +2378,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Red Granite, Shale", "title": "Trona, Talc, & Glauconite", "type": "patchouli:text", "anchor": "mars_lubricant" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_vein_index.json index a61f9b89a..ce57c4a20 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 7$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Rhyolite", + "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 7$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Rhyolite", "title": "Amethyst, Opal, & Garnet", "type": "patchouli:text", "anchor": "moon_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Norite", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Norite", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "moon_apatite" @@ -213,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 310$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", + "text": "$(thing)Rarity$(): 1/310$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "moon_monazite" @@ -305,7 +305,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 200$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 80$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Norite, Phonolite, Rhyolite", + "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 80$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Norite, Phonolite, Rhyolite", "title": "Bauxite & Ilmenite", "type": "patchouli:text", "anchor": "moon_bauxite" @@ -372,7 +372,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Norite", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Norite", "title": "Cassiterite & Chalcopyrite", "type": "patchouli:text", "anchor": "moon_cassiterite" @@ -464,7 +464,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 80$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", + "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 80$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", "title": "Certus Quartz", "type": "patchouli:text", "anchor": "moon_quartz" @@ -556,7 +556,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 280$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", + "text": "$(thing)Rarity$(): 1/280$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", "title": "Chromite & Magnetite", "type": "patchouli:text", "anchor": "moon_magnetite" @@ -663,7 +663,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 260$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Phonolite", + "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Phonolite", "title": "Cooperite & Bornite", "type": "patchouli:text", "anchor": "moon_sheldonite" @@ -755,7 +755,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro", + "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro", "title": "Desh & Ilmenite", "type": "patchouli:text", "anchor": "moon_desh" @@ -847,7 +847,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 260$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 70$(br)$(thing)Radius$(): 8$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Phonolite", + "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 70$(br)$(thing)Radius$(): 8$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Phonolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "moon_beryllium" @@ -954,7 +954,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 5 — 85$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Rhyolite", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 5 — 85$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Rhyolite", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "moon_garnierite" @@ -1061,7 +1061,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 10$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Basalt, Diorite, Granite", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 10$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Basalt, Diorite, Granite", "title": "Gold & Magnetite", "type": "patchouli:text", "anchor": "moon_gold" @@ -1153,7 +1153,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 260$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Basalt, Gabbro, Phonolite", + "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Basalt, Gabbro, Phonolite", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "moon_graphite" @@ -1220,7 +1220,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Size$(): 30$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Norite, Phonolite", + "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Size$(): 30$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Norite, Phonolite", "title": "Gypsum & Calcite", "type": "patchouli:text", "anchor": "moon_gypsum" @@ -1327,7 +1327,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "moon_mica" @@ -1434,7 +1434,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 215$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 5 — 80$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Basalt, Dacite, Gabbro, Norite", + "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 5 — 80$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Basalt, Dacite, Gabbro, Norite", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "moon_manganese" @@ -1526,7 +1526,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 80$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Gabbro, Norite", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 80$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Gabbro, Norite", "title": "Pyrolusite and Cobalt", "type": "patchouli:text", "anchor": "moon_pyrolusite" @@ -1618,7 +1618,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 100$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 100$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite", "title": "Redstone, Cinnabar, & Ruby", "type": "patchouli:text", "anchor": "moon_redstone" @@ -1710,7 +1710,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Norite, Rhyolite", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Norite, Rhyolite", "title": "Saltpeter & Electrotine", "type": "patchouli:text", "anchor": "moon_saltpeter" @@ -1802,7 +1802,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 280$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Basalt, Norite", + "text": "$(thing)Rarity$(): 1/280$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Basalt, Norite", "title": "Sapphire & Almandine", "type": "patchouli:text", "anchor": "moon_sapphire" @@ -1909,7 +1909,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 200$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Gabbro, Phonolite, Rhyolite", + "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Gabbro, Phonolite, Rhyolite", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "moon_scheelite" @@ -1976,7 +1976,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 75$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Dacite, Diorite, Norite, Rhyolite", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 75$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Dacite, Diorite, Norite, Rhyolite", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "moon_silver" @@ -2068,7 +2068,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 66$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Gabbro, Norite", + "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 66$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Gabbro, Norite", "title": "Soapstone, Talc, & Trona", "type": "patchouli:text", "anchor": "moon_lubricant" @@ -2175,7 +2175,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 205$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 2 — 75$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro, Phonolite", + "text": "$(thing)Rarity$(): 1/205$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 2 — 75$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro, Phonolite", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "moon_sphalerite" @@ -2242,7 +2242,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 50 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", + "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 50 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", "title": "Tetrahedrite & Chalcocite", "type": "patchouli:text", "anchor": "moon_tetrahedrite" @@ -2334,7 +2334,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Size$(): 45$(br)$(thing)Height$(): 16$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Size$(): 45$(br)$(thing)Height$(): 16$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", "title": "Topaz & Chalcocite", "type": "patchouli:text", "anchor": "moon_topaz" @@ -2426,7 +2426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 245$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 50$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Basalt, Dacite, Gabbro, Norite", + "text": "$(thing)Rarity$(): 1/245$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 50$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Basalt, Dacite, Gabbro, Norite", "title": "Wulfenite & Molybdenite", "type": "patchouli:text", "anchor": "moon_molybdenum" 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 722cc922e..650a6e0eb 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 @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Amethyst, Opal, & Garnet", "type": "patchouli:text", "anchor": "nether_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 35$(br)$(thing)Density$(): 0.8$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 48 — 127$(br)$(thing)Size$(): 13$(br)$(thing)Height$(): 4$(br2)$(thing)Stone Types$(): Migmatite", + "text": "$(thing)Rarity$(): 1/35$(br)$(thing)Density$(): 80%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 48 — 127$(br)$(thing)Size$(): 13$(br)$(thing)Height$(): 4$(br2)$(thing)Stone Types$(): Migmatite", "title": "Anthracite", "type": "patchouli:text", "anchor": "nether_anthracite" @@ -148,7 +148,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Size$(): 39$(br2)$(thing)Stone Types$(): Gneiss, Schist", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Size$(): 39$(br2)$(thing)Stone Types$(): Gneiss, Schist", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "nether_apatite" @@ -215,7 +215,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 245$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/245$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "nether_monazite" @@ -282,7 +282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 31$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 31$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Bentonite & Olivine", "type": "patchouli:text", "anchor": "nether_olivine" @@ -374,7 +374,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Cassiterite", "type": "patchouli:text", "anchor": "nether_cassiterite" @@ -441,7 +441,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 205$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 39$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/205$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 39$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Chromite", "type": "patchouli:text", "anchor": "nether_magnetite" @@ -548,7 +548,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Cooperite & Bornite", "type": "patchouli:text", "anchor": "nether_sheldonite" @@ -640,7 +640,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "nether_copper" @@ -732,7 +732,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "nether_beryllium" @@ -824,7 +824,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 270$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Migmatite, Pyroxenite, Schist, Travertine", + "text": "$(thing)Rarity$(): 1/270$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Migmatite, Pyroxenite, Schist, Travertine", "title": "Garnet & Cassiterite Sands", "type": "patchouli:text", "anchor": "nether_garnet_tin" @@ -916,7 +916,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 16 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Pyroxenite", + "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 16 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Pyroxenite", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "nether_garnierite" @@ -1023,7 +1023,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 240$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 37$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/240$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 37$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Goethite", "type": "patchouli:text", "anchor": "nether_goethite" @@ -1115,7 +1115,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 260$(br)$(thing)Density$(): 0.55$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 37$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 37$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Gold & Hematite", "type": "patchouli:text", "anchor": "nether_gold" @@ -1207,7 +1207,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 120$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/120$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "nether_graphite" @@ -1274,7 +1274,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", "title": "Gypsum & Calcite", "type": "patchouli:text", "anchor": "nether_gypsum" @@ -1366,7 +1366,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "nether_hematite" @@ -1473,7 +1473,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "nether_mica" @@ -1540,7 +1540,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 40$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 40$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", "title": "Lapis, Lazurite, & Sodalite", "type": "patchouli:text", "anchor": "nether_lapis" @@ -1632,7 +1632,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 225$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/225$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "nether_manganese" @@ -1724,7 +1724,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Size$(): 48$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Basalt, Granite", + "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Size$(): 48$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Basalt, Granite", "title": "Mineral Sands", "type": "patchouli:text", "anchor": "nether_basaltic_sands" @@ -1816,7 +1816,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 200$(br)$(thing)Density$(): 0.7$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 38$(br)$(thing)Size$(): 32$(br2)$(thing)Stone Types$(): Basalt, Pyroxenite", + "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 70%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 38$(br)$(thing)Size$(): 32$(br2)$(thing)Stone Types$(): Basalt, Pyroxenite", "title": "Naquadah", "type": "patchouli:text", "anchor": "nether_naquadah" @@ -1843,7 +1843,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 150$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Diorite, Gabbro, Granite, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/150$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Diorite, Gabbro, Granite, Migmatite, Pyroxenite, Travertine", "title": "Nether Quartz", "type": "patchouli:text", "anchor": "nether_quartz" @@ -1910,7 +1910,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Granite, Pyroxenite", + "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Granite, Pyroxenite", "title": "Redstone, Cinnabar, & Ruby", "type": "patchouli:text", "anchor": "nether_redstone" @@ -1977,7 +1977,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Saltpeter & Electrotine", "type": "patchouli:text", "anchor": "nether_saltpeter" @@ -2069,7 +2069,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 33$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 33$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Sapphire & Almandine", "type": "patchouli:text", "anchor": "nether_sapphire" @@ -2161,7 +2161,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 25$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 25$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "nether_scheelite" @@ -2228,7 +2228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Granite, Pyroxenite", + "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Granite, Pyroxenite", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "nether_silver" @@ -2295,7 +2295,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Soapstone, Talc, & Trona", "type": "patchouli:text", "anchor": "nether_lubricant" @@ -2402,7 +2402,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "nether_sphalerite" @@ -2469,7 +2469,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 165$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 50$(br2)$(thing)Stone Types$(): Basalt, Diorite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/165$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 50$(br2)$(thing)Stone Types$(): Basalt, Diorite, Pyroxenite, Schist", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "nether_sulfur" @@ -2536,7 +2536,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 75$(br)$(thing)Density$(): 0.6$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 64$(br)$(thing)Size$(): 17$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Pyroxenite", + "text": "$(thing)Rarity$(): 1/75$(br)$(thing)Density$(): 60%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 64$(br)$(thing)Size$(): 17$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Pyroxenite", "title": "Sylvite", "type": "patchouli:text", "anchor": "nether_sylvite" @@ -2563,7 +2563,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Migmatite, Pyroxenite, Schist, Travertine", + "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Migmatite, Pyroxenite, Schist, Travertine", "title": "Tetrahedrite", "type": "patchouli:text", "anchor": "nether_tetrahedrite" @@ -2630,7 +2630,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 33$(br)$(thing)Height$(): 7$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 33$(br)$(thing)Height$(): 7$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Topaz & Chalcocite", "type": "patchouli:text", "anchor": "nether_topaz" @@ -2722,7 +2722,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.55$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 24$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 24$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Uraninite & Pitchblende", "type": "patchouli:text", "anchor": "nether_pitchblende" @@ -2789,7 +2789,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 245$(br)$(thing)Density$(): 0.55$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 31$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)Rarity$(): 1/245$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 31$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Wulfenite & Molybdenite", "type": "patchouli:text", "anchor": "nether_molybdenum" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json index 9585d526b..277be576e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 30$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)Rarity$(): 1/30$(br)$(thing)Density$(): 20%$(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" @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 30$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", + "text": "$(thing)Rarity$(): 1/30$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "venus_manual_sulfur" 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 7c9b24ace..f23671fd0 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 @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 230$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Argilito, Calcário, Cherte, Conglomerado, Dolomito, Filito, Folhelho, Giz, Gnaisse, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/230$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Argilito, Calcário, Cherte, Conglomerado, Dolomito, Filito, Folhelho, Giz, Gnaisse, Mármore, Quartzito, Xisto", "title": "Ametista e Granada", "type": "patchouli:text", "anchor": "deep_garnet_amethyst" @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 170$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Tamanho$(): 34$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Tamanho$(): 34$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", "title": "Apatita e Pirocloro", "type": "patchouli:text", "anchor": "normal_apatite" @@ -198,7 +198,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 160$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 48$(br)$(thing)Altura$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Basalto, Granito", + "text": "$(thing)Raridade$(): 1/160$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 48$(br)$(thing)Altura$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Basalto, Granito", "title": "Areias Minerais", "type": "patchouli:text", "anchor": "normal_basaltic_sands" @@ -290,7 +290,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 185$(br)$(thing)Densidade$(): 0.2$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 55$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", + "text": "$(thing)Raridade$(): 1/185$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 55$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", "title": "Areias Petrolíferas", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -317,7 +317,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 205$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", + "text": "$(thing)Raridade$(): 1/205$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", "title": "Bastnasita e Monazita", "type": "patchouli:text", "anchor": "normal_monazite" @@ -384,7 +384,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 180$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -40 — 30$(br)$(thing)Tamanho$(): 26$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", + "text": "$(thing)Raridade$(): 1/180$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -40 — 30$(br)$(thing)Tamanho$(): 26$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", "title": "Bentonita e Olivina", "type": "patchouli:text", "anchor": "normal_olivine" @@ -476,7 +476,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 170$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito", + "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito", "title": "Bismuto (Normal)", "type": "patchouli:text", "anchor": "normal_bismuthinite" @@ -568,7 +568,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 140$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito", + "text": "$(thing)Raridade$(): 1/140$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito", "title": "Bismuto (Superfície)", "type": "patchouli:text", "anchor": "surface_bismuthinite" @@ -660,7 +660,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 200$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 217$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", + "text": "$(thing)Raridade$(): 1/200$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 217$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", "title": "Calcopirita e Realgar", "type": "patchouli:text", "anchor": "surface_copper" @@ -752,7 +752,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 215$(br)$(thing)Densidade$(): 0.55$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", + "text": "$(thing)Raridade$(): 1/215$(br)$(thing)Densidade$(): 55.00000000000001%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", "title": "Carvão", "type": "patchouli:text", "anchor": "normal_coal" @@ -779,7 +779,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 170$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", + "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", "title": "Cassiterita (Normal)", "type": "patchouli:text", "anchor": "normal_cassiterite" @@ -846,7 +846,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 135$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", + "text": "$(thing)Raridade$(): 1/135$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", "title": "Cassiterita (Superfície)", "type": "patchouli:text", "anchor": "surface_cassiterite" @@ -913,7 +913,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 190$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Tamanho$(): 36$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/190$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Tamanho$(): 36$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", "title": "Cianita, Mica e Bauxita", "type": "patchouli:text", "anchor": "normal_mica" @@ -1005,7 +1005,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 170$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 85$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", + "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 85$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", "title": "Cobre e Calcopirita", "type": "patchouli:text", "anchor": "normal_copper" @@ -1097,7 +1097,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 320$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/320$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", "title": "Cooperita e Bornita", "type": "patchouli:text", "anchor": "deep_sheldonite" @@ -1164,7 +1164,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 225$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz, Mármore", + "text": "$(thing)Raridade$(): 1/225$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz, Mármore", "title": "Cromita e Magnetita", "type": "patchouli:text", "anchor": "deep_magnetite" @@ -1271,7 +1271,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 165$(br)$(thing)Densidade$(): 0.2$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", + "text": "$(thing)Raridade$(): 1/165$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", "title": "Enxofre e Pirita", "type": "patchouli:text", "anchor": "normal_sulfur" @@ -1338,7 +1338,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 145$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Basalto, Dacito, Filito, Gnaisse, Mármore, Quartzito, Riolito, Xisto", + "text": "$(thing)Raridade$(): 1/145$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Basalto, Dacito, Filito, Gnaisse, Mármore, Quartzito, Riolito, Xisto", "title": "Esfalerita e Enxofre", "type": "patchouli:text", "anchor": "surface_sphalerite" @@ -1405,7 +1405,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 170$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Basalto, Dacito, Filito, Gnaisse, Mármore, Quartzito, Riolito, Xisto", + "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Basalto, Dacito, Filito, Gnaisse, Mármore, Quartzito, Riolito, Xisto", "title": "Esfalerita e Pirita", "type": "patchouli:text", "anchor": "normal_sphalerite" @@ -1472,7 +1472,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 250$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 10$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", + "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 10$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", "title": "Esmeralda e Berílio", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -1539,7 +1539,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 180$(br)$(thing)Densidade$(): 0.375$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 20 — 60$(br)$(thing)Tamanho$(): 35$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/180$(br)$(thing)Densidade$(): 37.5%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 20 — 60$(br)$(thing)Tamanho$(): 35$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", "title": "Espodumena e Lepidolita", "type": "patchouli:text", "anchor": "normal_spodumene" @@ -1631,7 +1631,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 160$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 70$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro$(br2)Não consegue encontrar? O Gabro sempre gera abaixo do $(thing)Basalto$(), e diques de Gabro nos oceanos também podem ser úteis!", + "text": "$(thing)Raridade$(): 1/160$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 70$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro$(br2)Não consegue encontrar? O Gabro sempre gera abaixo do $(thing)Basalto$(), e diques de Gabro nos oceanos também podem ser úteis!", "title": "Garnierita e Cobaltita", "type": "patchouli:text", "anchor": "normal_garnierite" @@ -1738,7 +1738,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 180$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", + "text": "$(thing)Raridade$(): 1/180$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", "title": "Gipsita e Calcita", "type": "patchouli:text", "anchor": "normal_gypsum" @@ -1830,7 +1830,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 240$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Tamanho$(): 32$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Calcário, Mármore", + "text": "$(thing)Raridade$(): 1/240$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Tamanho$(): 32$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Calcário, Mármore", "title": "Goethita e Malaquita", "type": "patchouli:text", "anchor": "deep_limonite" @@ -1922,7 +1922,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 80$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Tamanho$(): 16$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Filito, Folhelho, Gabro, Giz, Gnaisse, Granito, Mármore, Quartzito, Riolito, Xisto", + "text": "$(thing)Raridade$(): 1/80$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Tamanho$(): 16$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Filito, Folhelho, Gabro, Giz, Gnaisse, Granito, Mármore, Quartzito, Riolito, Xisto", "title": "Grafite e Diamante", "type": "patchouli:text", "anchor": "normal_graphite" @@ -1989,7 +1989,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 270$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -40 — 64$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Filito, Folhelho, Gabro, Giz, Gnaisse, Granito, Mármore, Quartzito, Riolito, Xisto", + "text": "$(thing)Raridade$(): 1/270$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -40 — 64$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Filito, Folhelho, Gabro, Giz, Gnaisse, Granito, Mármore, Quartzito, Riolito, Xisto", "title": "Granada e Areia Cassiterita", "type": "patchouli:text", "anchor": "normal_garnet_tin" @@ -2081,7 +2081,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 210$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", + "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", "title": "Hematita e Limonita", "type": "patchouli:text", "anchor": "normal_hematite" @@ -2173,7 +2173,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 220$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", + "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", "title": "Hematita, Goethita e Rubi", "type": "patchouli:text", "anchor": "deep_hematite" @@ -2280,7 +2280,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 170$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -60 — 10$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -60 — 10$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", "title": "Lápis-lazúri, Lazurita e Sodalita", "type": "patchouli:text", "anchor": "normal_lapis" @@ -2372,7 +2372,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 190$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Calcário, Mármore", + "text": "$(thing)Raridade$(): 1/190$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Calcário, Mármore", "title": "Limonita", "type": "patchouli:text", "anchor": "normal_limonite" @@ -2464,7 +2464,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 200$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", + "text": "$(thing)Raridade$(): 1/200$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", "title": "Magnetita e Vanádio", "type": "patchouli:text", "anchor": "normal_magnetite" @@ -2556,7 +2556,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 195$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Dolomito, Folhelho, Giz, Riolito", + "text": "$(thing)Raridade$(): 1/195$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Dolomito, Folhelho, Giz, Riolito", "title": "Manganês e Tântalo", "type": "patchouli:text", "anchor": "normal_manganese" @@ -2648,7 +2648,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 220$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — 62$(br)$(thing)Tamanho$(): 26$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", + "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — 62$(br)$(thing)Tamanho$(): 26$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", "title": "Opala e Granada", "type": "patchouli:text", "anchor": "deep_garnet_opal" @@ -2740,7 +2740,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 260$(br)$(thing)Densidade$(): 0.45$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Tamanho$(): 32$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", + "text": "$(thing)Raridade$(): 1/260$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Tamanho$(): 32$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", "title": "Ouro (Profundo)", "type": "patchouli:text", "anchor": "deep_gold" @@ -2832,7 +2832,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 170$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 12$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", + "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 12$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", "title": "Ouro, Limonita e Hematita", "type": "patchouli:text", "anchor": "normal_gold" @@ -2924,7 +2924,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 190$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -40 — 56$(br)$(thing)Tamanho$(): 36$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", + "text": "$(thing)Raridade$(): 1/190$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -40 — 56$(br)$(thing)Tamanho$(): 36$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", "title": "Pedra-sabão, Talco e Trona", "type": "patchouli:text", "anchor": "normal_lubricant" @@ -3031,7 +3031,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 160$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Gnaisse, Granito", + "text": "$(thing)Raridade$(): 1/160$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Gnaisse, Granito", "title": "Prata, Galena e Chumbo", "type": "patchouli:text", "anchor": "normal_silver" @@ -3098,7 +3098,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 190$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Folhelho, Gnaisse, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/190$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Folhelho, Gnaisse, Quartzito, Xisto", "title": "Quartzos", "type": "patchouli:text", "anchor": "normal_quartz" @@ -3165,7 +3165,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 160$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Granito$(br2)Não consegue encontrar? O Granito sempre aparece abaixo de $(thing)Riolito$(), e procurar nos oceanos também pode ser útil!", + "text": "$(thing)Raridade$(): 1/160$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Granito$(br2)Não consegue encontrar? O Granito sempre aparece abaixo de $(thing)Riolito$(), e procurar nos oceanos também pode ser útil!", "title": "Redstone, Cinábrio e Rubi", "type": "patchouli:text", "anchor": "normal_redstone" @@ -3232,7 +3232,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 180$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — 32$(br)$(thing)Tamanho$(): 28$(br)$(thing)Altura$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Riolito", + "text": "$(thing)Raridade$(): 1/180$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — 32$(br)$(thing)Tamanho$(): 28$(br)$(thing)Altura$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Riolito", "title": "Safira e Almandina", "type": "patchouli:text", "anchor": "deep_sapphire" @@ -3324,7 +3324,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 175$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 30 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 4$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Folhelho", + "text": "$(thing)Raridade$(): 1/175$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 30 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 4$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Folhelho", "title": "Sais e Bórax", "type": "patchouli:text", "anchor": "normal_salt" @@ -3416,7 +3416,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 210$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", "title": "Salitre e Eletrotina", "type": "patchouli:text", "anchor": "normal_saltpeter" @@ -3508,7 +3508,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 240$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", + "text": "$(thing)Raridade$(): 1/240$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", "title": "Sheelita e Tungstato", "type": "patchouli:text", "anchor": "deep_scheelite" @@ -3575,7 +3575,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 140$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 10$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Filito, Folhelho, Gabro, Giz, Gnaisse, Granito, Mármore, Quartzito, Riolito, Xisto", + "text": "$(thing)Raridade$(): 1/140$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 10$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Filito, Folhelho, Gabro, Giz, Gnaisse, Granito, Mármore, Quartzito, Riolito, Xisto", "title": "Tarcianita e Areias Petrolíferas", "type": "patchouli:text", "anchor": "normal_tarkianite" @@ -3667,7 +3667,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 170$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", "title": "Tetraedrita (Normal)", "type": "patchouli:text", "anchor": "normal_tetrahedrite" @@ -3734,7 +3734,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 140$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/140$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", "title": "Tetraedrita (Superfície)", "type": "patchouli:text", "anchor": "surface_tetrahedrite" @@ -3801,7 +3801,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 260$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Tamanho$(): 28$(br)$(thing)Altura$(): 7$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/260$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Tamanho$(): 28$(br)$(thing)Altura$(): 7$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", "title": "Topázio e Calcocita", "type": "patchouli:text", "anchor": "deep_topaz" @@ -3893,7 +3893,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 240$(br)$(thing)Densidade$(): 0.45$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — -20$(br)$(thing)Tamanho$(): 19$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/240$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — -20$(br)$(thing)Tamanho$(): 19$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", "title": "Uraninita e Pechblenda", "type": "patchouli:text", "anchor": "deep_pitchblende" @@ -3960,7 +3960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 245$(br)$(thing)Densidade$(): 0.45$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 10$(br)$(thing)Tamanho$(): 26$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", + "text": "$(thing)Raridade$(): 1/245$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 10$(br)$(thing)Tamanho$(): 26$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", "title": "Wulfenita e Molibdenita", "type": "patchouli:text", "anchor": "deep_molybdenum" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json index cd7e1c872..56de9236d 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 280$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 65$(br)$(thing)Altura$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Diorito, Dolomito, Folhelho, Gabro, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/280$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 65$(br)$(thing)Altura$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Diorito, Dolomito, Folhelho, Gabro, Red Granite, Traquito", "title": "Almandine & Sapphire", "type": "patchouli:text", "anchor": "mars_almandine" @@ -136,7 +136,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 220$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Folhelho, Giz, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Folhelho, Giz, Red Granite, Traquito", "title": "Apatita e Pirocloro", "type": "patchouli:text", "anchor": "mars_apatite" @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 215$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Diorito, Dolomito, Gabro, Giz, Traquito", + "text": "$(thing)Raridade$(): 1/215$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Diorito, Dolomito, Gabro, Giz, Traquito", "title": "Bastnasita e Monazita", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 140$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/140$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", "title": "Bismuto", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 370$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Conglomerado, Dacito, Diorito, Giz, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/370$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Conglomerado, Dacito, Diorito, Giz, Red Granite, Traquito", "title": "Bornite & Cooperite", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 135$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/135$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", "title": "Cassiterita", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -571,7 +571,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 215$(br)$(thing)Densidade$(): 0.6$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 55$(br)$(thing)Profundidade Máxima do Indicador$(): 10$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Conglomerado, Dacito, Diorito, Dolomito, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/215$(br)$(thing)Densidade$(): 60%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 55$(br)$(thing)Profundidade Máxima do Indicador$(): 10$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Conglomerado, Dacito, Diorito, Dolomito, Giz, Granito, Red Granite, Traquito", "title": "Coal & Hematite", "type": "patchouli:text", "anchor": "mars_coal" @@ -623,7 +623,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 220$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Conglomerado, Dacito, Dolomito, Folhelho, Traquito", + "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Conglomerado, Dacito, Dolomito, Folhelho, Traquito", "title": "Cobre e Calcopirita", "type": "patchouli:text", "anchor": "mars_copper" @@ -715,7 +715,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 215$(br)$(thing)Densidade$(): 0.2$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Dacito, Diorito, Gabro, Giz, Granito, Traquito", + "text": "$(thing)Raridade$(): 1/215$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Dacito, Diorito, Gabro, Giz, Granito, Traquito", "title": "Esfalerita e Pirita", "type": "patchouli:text", "anchor": "mars_sulfur" @@ -807,7 +807,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 350$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): -20 — 50$(br)$(thing)Altura$(): 40$(br)$(thing)Raio$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", + "text": "$(thing)Raridade$(): 1/350$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): -20 — 50$(br)$(thing)Altura$(): 40$(br)$(thing)Raio$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", "title": "Esmeralda e Berílio", "type": "patchouli:text", "anchor": "mars_beryllium" @@ -874,7 +874,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 250$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 55$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Dacito, Folhelho, Giz, Granito, Red Granite", + "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 55$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Dacito, Folhelho, Giz, Granito, Red Granite", "title": "Garnierita e Cobaltita", "type": "patchouli:text", "anchor": "mars_nickel" @@ -966,7 +966,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 230$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilito, Cherte, Diorito, Folhelho, Gabro, Giz, Granito", + "text": "$(thing)Raridade$(): 1/230$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilito, Cherte, Diorito, Folhelho, Gabro, Giz, Granito", "title": "Gold, Electrotine, & Bauxite", "type": "patchouli:text", "anchor": "mars_gold" @@ -1058,7 +1058,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 220$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Argilita, Dacito, Diorito, Gabro, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Argilita, Dacito, Diorito, Gabro, Granito, Red Granite, Traquito", "title": "Grafite e Diamante", "type": "patchouli:text", "anchor": "mars_graphite" @@ -1150,7 +1150,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 210$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Conglomerado, Dacito, Dolomito, Red Granite", + "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Conglomerado, Dacito, Dolomito, Red Granite", "title": "Hematita e Limonita", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1242,7 +1242,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 140$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/140$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", "title": "Hematita e Limonita", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1334,7 +1334,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 200$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Calcário, Cherte, Dolomito, Folhelho, Giz", + "text": "$(thing)Raridade$(): 1/200$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Calcário, Cherte, Dolomito, Folhelho, Giz", "title": "Lápis-lazúri, Lazurita e Sodalita", "type": "patchouli:text", "anchor": "mars_lapis" @@ -1426,7 +1426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 230$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 42$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Folhelho, Gabro, Giz, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/230$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 42$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Folhelho, Gabro, Giz, Red Granite, Traquito", "title": "Manganês e Tântalo", "type": "patchouli:text", "anchor": "mars_tantalite" @@ -1518,7 +1518,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 220$(br)$(thing)Densidade$(): 0.55$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 55.00000000000001%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Red Granite, Traquito", "title": "Pitchblende & Thorianite, & Hematite", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -1585,7 +1585,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 370$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Dacito, Diorito, Folhelho, Gabro, Traquito", + "text": "$(thing)Raridade$(): 1/370$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Dacito, Diorito, Folhelho, Gabro, Traquito", "title": "Pitchblende, Thorianite, & Uraninite", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -1652,7 +1652,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 215$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Cherte, Dacito, Folhelho, Gabro, Giz, Granito, Red Granite", + "text": "$(thing)Raridade$(): 1/215$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Cherte, Dacito, Folhelho, Gabro, Giz, Granito, Red Granite", "title": "Prata, Galena e Chumbo", "type": "patchouli:text", "anchor": "mars_galena" @@ -1744,7 +1744,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 210$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Folhelho, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Folhelho, Giz, Granito, Red Granite, Traquito", "title": "Quartzite, Asbestos, & Barite", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1836,7 +1836,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 370$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Dacito, Folhelho, Giz", + "text": "$(thing)Raridade$(): 1/370$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Dacito, Folhelho, Giz", "title": "Redstone & Chromite", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1903,7 +1903,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 210$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Diorito, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Diorito, Giz, Granito, Red Granite, Traquito", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "mars_salt" @@ -1995,7 +1995,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 280$(br)$(thing)Densidade$(): 0.45$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilito, Basalto, Calcário, Cherte, Dolomito, Folhelho, Giz, Red Granite", + "text": "$(thing)Raridade$(): 1/280$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilito, Basalto, Calcário, Cherte, Dolomito, Folhelho, Giz, Red Granite", "title": "Sheelita e Tungstato", "type": "patchouli:text", "anchor": "mars_tungsten" @@ -2087,7 +2087,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 150$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/150$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", "title": "Sphalerite & Galena", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2194,7 +2194,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 210$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Red Granite, Traquito", "title": "Tetraedrita (Normal)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2286,7 +2286,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 140$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/140$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", "title": "Tetraedrita (Superfície)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2378,7 +2378,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 220$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Granito, Red Granite", + "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Granito, Red Granite", "title": "Trona, Talc, & Glauconite", "type": "patchouli:text", "anchor": "mars_lubricant" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_vein_index.json index 2f258676b..e910b8b1f 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 230$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Tamanho$(): 35$(br)$(thing)Altura$(): 7$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Riolito", + "text": "$(thing)Raridade$(): 1/230$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Tamanho$(): 35$(br)$(thing)Altura$(): 7$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Riolito", "title": "Ametista, Opala e Granada", "type": "patchouli:text", "anchor": "moon_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 250$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Diorito, Norito", + "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Diorito, Norito", "title": "Apatita e Pirocloro", "type": "patchouli:text", "anchor": "moon_apatite" @@ -213,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 310$(br)$(thing)Densidade$(): 0.2$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Dacito, Fonolito, Riolito", + "text": "$(thing)Raridade$(): 1/310$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Dacito, Fonolito, Riolito", "title": "Bastnasita e Monazita", "type": "patchouli:text", "anchor": "moon_monazite" @@ -305,7 +305,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 200$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 80$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Basalto, Diorito, Fonolito, Norito, Riolito", + "text": "$(thing)Raridade$(): 1/200$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 80$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Basalto, Diorito, Fonolito, Norito, Riolito", "title": "Bauxita e Ilmenita", "type": "patchouli:text", "anchor": "moon_bauxite" @@ -372,7 +372,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 210$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito, Norito", + "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito, Norito", "title": "Cassiterita e Calcopirita", "type": "patchouli:text", "anchor": "moon_cassiterite" @@ -464,7 +464,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 250$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Diorito, Gabro, Norito", + "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Diorito, Gabro, Norito", "title": "Cianita, Mica e Bauxita", "type": "patchouli:text", "anchor": "moon_mica" @@ -571,7 +571,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 260$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Fonolito", + "text": "$(thing)Raridade$(): 1/260$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Fonolito", "title": "Cooperita e Bornita", "type": "patchouli:text", "anchor": "moon_sheldonite" @@ -663,7 +663,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 280$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Diorito, Gabro, Norito", + "text": "$(thing)Raridade$(): 1/280$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Diorito, Gabro, Norito", "title": "Cromita e Magnetita", "type": "patchouli:text", "anchor": "moon_magnetite" @@ -770,7 +770,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 230$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Gabro", + "text": "$(thing)Raridade$(): 1/230$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Gabro", "title": "Desh e Ilmenita", "type": "patchouli:text", "anchor": "moon_desh" @@ -862,7 +862,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 205$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 2 — 75$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Fonolito, Gabro", + "text": "$(thing)Raridade$(): 1/205$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 2 — 75$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Fonolito, Gabro", "title": "Esfalerita e Pirita", "type": "patchouli:text", "anchor": "moon_sphalerite" @@ -929,7 +929,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 260$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Altura$(): 70$(br)$(thing)Raio$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Basalto, Fonolito", + "text": "$(thing)Raridade$(): 1/260$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Altura$(): 70$(br)$(thing)Raio$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Basalto, Fonolito", "title": "Esmeralda e Berílio", "type": "patchouli:text", "anchor": "moon_beryllium" @@ -1036,7 +1036,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 250$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 5 — 85$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Riolito", + "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 5 — 85$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Riolito", "title": "Garnierita e Cobaltita", "type": "patchouli:text", "anchor": "moon_garnierite" @@ -1143,7 +1143,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 180$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Tamanho$(): 30$(br)$(thing)Altura$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Anortosito, Fonolito, Norito", + "text": "$(thing)Raridade$(): 1/180$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Tamanho$(): 30$(br)$(thing)Altura$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Anortosito, Fonolito, Norito", "title": "Gipsita e Calcita", "type": "patchouli:text", "anchor": "moon_gypsum" @@ -1250,7 +1250,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 260$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Basalto, Basalto, Fonolito, Gabro", + "text": "$(thing)Raridade$(): 1/260$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Basalto, Basalto, Fonolito, Gabro", "title": "Grafite e Diamante", "type": "patchouli:text", "anchor": "moon_graphite" @@ -1317,7 +1317,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 215$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 5 — 80$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Basalto, Dacito, Gabro, Norito", + "text": "$(thing)Raridade$(): 1/215$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 5 — 80$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Basalto, Dacito, Gabro, Norito", "title": "Manganês e Tântalo", "type": "patchouli:text", "anchor": "moon_manganese" @@ -1409,7 +1409,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 170$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Tamanho$(): 35$(br)$(thing)Altura$(): 10$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Basalto, Diorito, Granito", + "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Tamanho$(): 35$(br)$(thing)Altura$(): 10$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Basalto, Diorito, Granito", "title": "Ouro e Magnetita", "type": "patchouli:text", "anchor": "moon_gold" @@ -1501,7 +1501,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 190$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 66$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Anortosito, Basalto, Diorito, Gabro, Norito", + "text": "$(thing)Raridade$(): 1/190$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 66$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Anortosito, Basalto, Diorito, Gabro, Norito", "title": "Pedra-sabão, Talco e Trona", "type": "patchouli:text", "anchor": "moon_lubricant" @@ -1608,7 +1608,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 210$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 80$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Anortosito, Basalto, Gabro, Norito", + "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 80$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Anortosito, Basalto, Gabro, Norito", "title": "Pirolusita e Cobalto", "type": "patchouli:text", "anchor": "moon_pyrolusite" @@ -1700,7 +1700,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 210$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 75$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Dacito, Diorito, Norito, Riolito", + "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 75$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Dacito, Diorito, Norito, Riolito", "title": "Prata, Galena e Chumbo", "type": "patchouli:text", "anchor": "moon_silver" @@ -1792,7 +1792,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 230$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 80$(br2)$(thing)Tipos de Pedra$(): Andesito, Anortosito, Basalto, Dacito, Diorito, Fonolito, Gabro, Norito, Riolito", + "text": "$(thing)Raridade$(): 1/230$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 80$(br2)$(thing)Tipos de Pedra$(): Andesito, Anortosito, Basalto, Dacito, Diorito, Fonolito, Gabro, Norito, Riolito", "title": "Quartzo Certus", "type": "patchouli:text", "anchor": "moon_quartz" @@ -1884,7 +1884,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 250$(br)$(thing)Densidade$(): 0.2$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 100$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Dacito, Fonolito", + "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 100$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Dacito, Fonolito", "title": "Redstone, Cinábrio e Rubi", "type": "patchouli:text", "anchor": "moon_redstone" @@ -1976,7 +1976,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 280$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Tamanho$(): 28$(br)$(thing)Altura$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Basalto, Norito", + "text": "$(thing)Raridade$(): 1/280$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Tamanho$(): 28$(br)$(thing)Altura$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Basalto, Norito", "title": "Safira e Almandina", "type": "patchouli:text", "anchor": "moon_sapphire" @@ -2083,7 +2083,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 210$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Dacito, Norito, Riolito", + "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Dacito, Norito, Riolito", "title": "Salitre e Eletrotina", "type": "patchouli:text", "anchor": "moon_saltpeter" @@ -2175,7 +2175,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 200$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Fonolito, Gabro, Riolito", + "text": "$(thing)Raridade$(): 1/200$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Fonolito, Gabro, Riolito", "title": "Sheelita e Tungstato", "type": "patchouli:text", "anchor": "moon_scheelite" @@ -2242,7 +2242,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 190$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 50 — 128$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Dacito, Fonolito, Riolito", + "text": "$(thing)Raridade$(): 1/190$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 50 — 128$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Dacito, Fonolito, Riolito", "title": "Tetraedrita e Calcocita", "type": "patchouli:text", "anchor": "moon_tetrahedrite" @@ -2334,7 +2334,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 210$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Tamanho$(): 45$(br)$(thing)Altura$(): 16$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Anortosito, Basalto, Dacito, Diorito, Fonolito, Gabro, Norito, Riolito", + "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Tamanho$(): 45$(br)$(thing)Altura$(): 16$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Anortosito, Basalto, Dacito, Diorito, Fonolito, Gabro, Norito, Riolito", "title": "Topázio e Calcosita", "type": "patchouli:text", "anchor": "moon_topaz" @@ -2426,7 +2426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 245$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 50$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Basalto, Dacito, Gabro, Norito", + "text": "$(thing)Raridade$(): 1/245$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 50$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Basalto, Dacito, Gabro, Norito", "title": "Wulfenita e Molibdenita", "type": "patchouli:text", "anchor": "moon_molybdenum" 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 f3e543676..c471b02aa 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 @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 230$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 45$(br)$(thing)Altura$(): 8$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/230$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 45$(br)$(thing)Altura$(): 8$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Ametista, Opala e Granada", "type": "patchouli:text", "anchor": "nether_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 35$(br)$(thing)Densidade$(): 0.8$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 48 — 127$(br)$(thing)Tamanho$(): 13$(br)$(thing)Altura$(): 4$(br2)$(thing)Tipos de Pedra$(): Migmatito", + "text": "$(thing)Raridade$(): 1/35$(br)$(thing)Densidade$(): 80%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 48 — 127$(br)$(thing)Tamanho$(): 13$(br)$(thing)Altura$(): 4$(br2)$(thing)Tipos de Pedra$(): Migmatito", "title": "Antracito", "type": "patchouli:text", "anchor": "nether_anthracite" @@ -148,7 +148,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 220$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Tamanho$(): 39$(br2)$(thing)Tipos de Pedra$(): Gnaisse, Xisto", + "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Tamanho$(): 39$(br2)$(thing)Tipos de Pedra$(): Gnaisse, Xisto", "title": "Apatita e Pirocloro", "type": "patchouli:text", "anchor": "nether_apatite" @@ -215,7 +215,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 160$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Tamanho$(): 48$(br)$(thing)Altura$(): 9$(br2)$(thing)Tipos de Pedra$(): Basalto, Granito", + "text": "$(thing)Raridade$(): 1/160$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Tamanho$(): 48$(br)$(thing)Altura$(): 9$(br2)$(thing)Tipos de Pedra$(): Basalto, Granito", "title": "Areias Minerais", "type": "patchouli:text", "anchor": "nether_basaltic_sands" @@ -307,7 +307,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 245$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/245$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Bastnasita e Monazita", "type": "patchouli:text", "anchor": "nether_monazite" @@ -374,7 +374,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 250$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Tamanho$(): 31$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Tamanho$(): 31$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Bentonita e Olivina", "type": "patchouli:text", "anchor": "nether_olivine" @@ -466,7 +466,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 170$(br)$(thing)Densidade$(): 0.5$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Cassiterita", "type": "patchouli:text", "anchor": "nether_cassiterite" @@ -533,7 +533,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 220$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 41$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 41$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Cianita, Mica e Bauxita", "type": "patchouli:text", "anchor": "nether_mica" @@ -600,7 +600,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 170$(br)$(thing)Densidade$(): 0.5$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Cobre e Calcopirita", "type": "patchouli:text", "anchor": "nether_copper" @@ -692,7 +692,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 250$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 35$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 35$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Cooperita e Bornita", "type": "patchouli:text", "anchor": "nether_sheldonite" @@ -784,7 +784,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 205$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 39$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/205$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 39$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Cromita", "type": "patchouli:text", "anchor": "nether_magnetite" @@ -891,7 +891,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 165$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 50$(br2)$(thing)Tipos de Pedra$(): Basalto, Diorito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/165$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 50$(br2)$(thing)Tipos de Pedra$(): Basalto, Diorito, Piroxenito, Xisto", "title": "Enxofre e Pirita", "type": "patchouli:text", "anchor": "nether_sulfur" @@ -958,7 +958,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 170$(br)$(thing)Densidade$(): 0.5$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Esfalerita e Pirita", "type": "patchouli:text", "anchor": "nether_sphalerite" @@ -1025,7 +1025,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 250$(br)$(thing)Densidade$(): 0.45$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 12$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 12$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Esmeralda e Berílio", "type": "patchouli:text", "anchor": "nether_beryllium" @@ -1117,7 +1117,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 160$(br)$(thing)Densidade$(): 0.5$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 16 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Piroxenito", + "text": "$(thing)Raridade$(): 1/160$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 16 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Piroxenito", "title": "Garnierita e Cobaltita", "type": "patchouli:text", "anchor": "nether_garnierite" @@ -1224,7 +1224,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 180$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 9$(br2)$(thing)Tipos de Pedra$(): Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/180$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 9$(br2)$(thing)Tipos de Pedra$(): Migmatito, Piroxenito, Travertino", "title": "Gipsita e Calcita", "type": "patchouli:text", "anchor": "nether_gypsum" @@ -1316,7 +1316,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 240$(br)$(thing)Densidade$(): 0.45$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 37$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/240$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 37$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Goethita", "type": "patchouli:text", "anchor": "nether_goethite" @@ -1408,7 +1408,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 120$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 12$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/120$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 12$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Grafite e Diamante", "type": "patchouli:text", "anchor": "nether_graphite" @@ -1475,7 +1475,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 270$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Migmatito, Piroxenito, Travertino, Xisto", + "text": "$(thing)Raridade$(): 1/270$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Migmatito, Piroxenito, Travertino, Xisto", "title": "Granada e Areia Cassiterita", "type": "patchouli:text", "anchor": "nether_garnet_tin" @@ -1567,7 +1567,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 220$(br)$(thing)Densidade$(): 0.45$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 35$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 35$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Hematita e Limonita", "type": "patchouli:text", "anchor": "nether_hematite" @@ -1674,7 +1674,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 220$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 40$(br2)$(thing)Tipos de Pedra$(): Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 40$(br2)$(thing)Tipos de Pedra$(): Migmatito, Piroxenito, Travertino", "title": "Lápis-lazúri, Lazurita e Sodalita", "type": "patchouli:text", "anchor": "nether_lapis" @@ -1766,7 +1766,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 225$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/225$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Manganês e Tântalo", "type": "patchouli:text", "anchor": "nether_manganese" @@ -1858,7 +1858,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 200$(br)$(thing)Densidade$(): 0.7$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 38$(br)$(thing)Tamanho$(): 32$(br2)$(thing)Tipos de Pedra$(): Basalto, Piroxenito", + "text": "$(thing)Raridade$(): 1/200$(br)$(thing)Densidade$(): 70%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 38$(br)$(thing)Tamanho$(): 32$(br2)$(thing)Tipos de Pedra$(): Basalto, Piroxenito", "title": "Naquadah", "type": "patchouli:text", "anchor": "nether_naquadah" @@ -1885,7 +1885,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 150$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Basalto, Diorito, Gabro, Granito, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/150$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Basalto, Diorito, Gabro, Granito, Migmatito, Piroxenito, Travertino", "title": "Nether Quartzo", "type": "patchouli:text", "anchor": "nether_quartz" @@ -1952,7 +1952,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 260$(br)$(thing)Densidade$(): 0.55$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 37$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/260$(br)$(thing)Densidade$(): 55.00000000000001%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 37$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Ouro e Hematita", "type": "patchouli:text", "anchor": "nether_gold" @@ -2044,7 +2044,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 250$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 41$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 41$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Pedra-sabão, Talco e Trona", "type": "patchouli:text", "anchor": "nether_lubricant" @@ -2151,7 +2151,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 160$(br)$(thing)Densidade$(): 0.5$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Gnaisse, Granito, Piroxenito", + "text": "$(thing)Raridade$(): 1/160$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Gnaisse, Granito, Piroxenito", "title": "Prata, Galena e Chumbo", "type": "patchouli:text", "anchor": "nether_silver" @@ -2218,7 +2218,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 160$(br)$(thing)Densidade$(): 0.5$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Granito, Piroxenito", + "text": "$(thing)Raridade$(): 1/160$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Granito, Piroxenito", "title": "Redstone, Cinábrio e Rubi", "type": "patchouli:text", "anchor": "nether_redstone" @@ -2285,7 +2285,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 180$(br)$(thing)Densidade$(): 0.45$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 33$(br)$(thing)Altura$(): 8$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/180$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 33$(br)$(thing)Altura$(): 8$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Safira e Almandina", "type": "patchouli:text", "anchor": "nether_sapphire" @@ -2377,7 +2377,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 210$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 50$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 50$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Salitre e Eletrotina", "type": "patchouli:text", "anchor": "nether_saltpeter" @@ -2469,7 +2469,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 180$(br)$(thing)Densidade$(): 0.45$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 25$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/180$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 25$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Sheelita e Tungstato", "type": "patchouli:text", "anchor": "nether_scheelite" @@ -2536,7 +2536,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 75$(br)$(thing)Densidade$(): 0.6$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 64$(br)$(thing)Tamanho$(): 17$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Piroxenito", + "text": "$(thing)Raridade$(): 1/75$(br)$(thing)Densidade$(): 60%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 64$(br)$(thing)Tamanho$(): 17$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Piroxenito", "title": "Silvita", "type": "patchouli:text", "anchor": "nether_sylvite" @@ -2563,7 +2563,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 170$(br)$(thing)Densidade$(): 0.5$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Gnaisse, Migmatito, Piroxenito, Travertino, Xisto", + "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Gnaisse, Migmatito, Piroxenito, Travertino, Xisto", "title": "Tetraedrita", "type": "patchouli:text", "anchor": "nether_tetrahedrite" @@ -2630,7 +2630,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 180$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 33$(br)$(thing)Altura$(): 7$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/180$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 33$(br)$(thing)Altura$(): 7$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Topázio e Calcosita", "type": "patchouli:text", "anchor": "nether_topaz" @@ -2722,7 +2722,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 250$(br)$(thing)Densidade$(): 0.55$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 24$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 55.00000000000001%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 24$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Uraninita e Pechblenda", "type": "patchouli:text", "anchor": "nether_pitchblende" @@ -2789,7 +2789,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 245$(br)$(thing)Densidade$(): 0.55$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 31$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/245$(br)$(thing)Densidade$(): 55.00000000000001%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 31$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Wulfenita e Molibdenita", "type": "patchouli:text", "anchor": "nether_molybdenum" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_vein_index.json index 74a356323..e195e663e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 30$(br)$(thing)Densidade$(): 0.2$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito, Traquito, Travertino", + "text": "$(thing)Raridade$(): 1/30$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito, Traquito, Travertino", "title": "Enxofre e Pirita", "type": "patchouli:text", "anchor": "venus_manual_sulfur" @@ -86,7 +86,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 30$(br)$(thing)Densidade$(): 0.2$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Tamanho$(): 20$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito, Traquito, Travertino$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)Raridade$(): 1/30$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Tamanho$(): 20$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito, Traquito, Travertino$(br2)Only appears in the $(thing)Salt Flats$() biome.", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "venus_manual_salt" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json index 7882f360a..7c8777efe 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 @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 26$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аспидный сланец, Гнейс, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/230$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 26$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аспидный сланец, Гнейс, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец, Филлит, Шиферный сланец", "title": "Аметист и гранат", "type": "patchouli:text", "anchor": "deep_garnet_amethyst" @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Размер$(): 34$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Размер$(): 34$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Апатит и Пирохлор", "type": "patchouli:text", "anchor": "normal_apatite" @@ -198,7 +198,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 205$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 50$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 1/205$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 50$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Бастнезит и Монацит", "type": "patchouli:text", "anchor": "normal_monazite" @@ -265,7 +265,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 30$(br)$(thing)Размер$(): 26$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 1/180$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 30$(br)$(thing)Размер$(): 26$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Бентонит и Оливин", "type": "patchouli:text", "anchor": "normal_olivine" @@ -357,7 +357,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Висмут (Обычный)", "type": "patchouli:text", "anchor": "normal_bismuthinite" @@ -449,7 +449,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/140$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Висмут (Поверхностный)", "type": "patchouli:text", "anchor": "surface_bismuthinite" @@ -541,7 +541,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 245$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 10$(br)$(thing)Размер$(): 26$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 1/245$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 10$(br)$(thing)Размер$(): 26$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Вульфенит & Молибденит", "type": "patchouli:text", "anchor": "deep_molybdenum" @@ -608,7 +608,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 70$(br2)$(thing)Виды камней$(): Габбро, Диорит$(br2)Не получается найти это? Габбро всегда генерируется под $(thing)Базальтом$(), а на дне океана легко обнаружить столбы, ведущие к нижнему слою!", + "text": "$(thing)Редкость$(): 1/160$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 70$(br2)$(thing)Виды камней$(): Габбро, Диорит$(br2)Не получается найти это? Габбро всегда генерируется под $(thing)Базальтом$(), а на дне океана легко обнаружить столбы, ведущие к нижнему слою!", "title": "Гарниерит и Кобальтит", "type": "patchouli:text", "anchor": "normal_garnierite" @@ -715,7 +715,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "normal_hematite" @@ -807,7 +807,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Гематит, Гётит, Рубин", "type": "patchouli:text", "anchor": "deep_hematite" @@ -914,7 +914,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 240$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 32$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Известняк, Мрамор", + "text": "$(thing)Редкость$(): 1/240$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 32$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Известняк, Мрамор", "title": "Гётит и Малахит", "type": "patchouli:text", "anchor": "deep_limonite" @@ -1006,7 +1006,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/180$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Гипс и Кальцит", "type": "patchouli:text", "anchor": "normal_gypsum" @@ -1098,7 +1098,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 270$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 64$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/270$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 64$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", "title": "Гранатовый и Касситеритовый песок", "type": "patchouli:text", "anchor": "normal_garnet_tin" @@ -1190,7 +1190,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 80$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — -16$(br)$(thing)Размер$(): 16$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/80$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — -16$(br)$(thing)Размер$(): 16$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", "title": "Графит и Алмаз", "type": "patchouli:text", "anchor": "normal_graphite" @@ -1257,7 +1257,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 32$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 1/260$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 32$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Золото (Глубокое)", "type": "patchouli:text", "anchor": "deep_gold" @@ -1349,7 +1349,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 12$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 12$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Золото, Лимонит и Гематит", "type": "patchouli:text", "anchor": "normal_gold" @@ -1441,7 +1441,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): -32 — 50$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): -32 — 50$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -1508,7 +1508,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Касситерит (Обычный)", "type": "patchouli:text", "anchor": "normal_cassiterite" @@ -1575,7 +1575,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 135$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 1/135$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Касситерит (Поверхностный)", "type": "patchouli:text", "anchor": "surface_cassiterite" @@ -1642,7 +1642,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 100$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Сланец", + "text": "$(thing)Редкость$(): 1/190$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 100$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Сланец", "title": "Кварцы", "type": "patchouli:text", "anchor": "normal_quartz" @@ -1709,7 +1709,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -60 — 10$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -60 — 10$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Лазурит, Лазурит 2 и Содалит", "type": "patchouli:text", "anchor": "normal_lapis" @@ -1801,7 +1801,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Известняк, Мрамор", + "text": "$(thing)Редкость$(): 1/190$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Известняк, Мрамор", "title": "Лимонит", "type": "patchouli:text", "anchor": "normal_limonite" @@ -1893,7 +1893,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/200$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Магнетит и Ванадий", "type": "patchouli:text", "anchor": "normal_magnetite" @@ -1985,7 +1985,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 195$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Риолит, Сланец", + "text": "$(thing)Редкость$(): 1/195$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Риолит, Сланец", "title": "Марганец и Тантал", "type": "patchouli:text", "anchor": "normal_manganese" @@ -2077,7 +2077,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 85$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 85$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Медь и Халькопирит", "type": "patchouli:text", "anchor": "normal_copper" @@ -2169,7 +2169,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 48$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Базальт, Гранит", + "text": "$(thing)Редкость$(): 1/160$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 48$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Базальт, Гранит", "title": "Минеральные пески", "type": "patchouli:text", "anchor": "normal_basaltic_sands" @@ -2261,7 +2261,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 56$(br)$(thing)Размер$(): 36$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 1/190$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 56$(br)$(thing)Размер$(): 36$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Мыльный камень, Тальк и Трона", "type": "patchouli:text", "anchor": "normal_lubricant" @@ -2368,7 +2368,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 185$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/185$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Нефтеносный песок", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -2395,7 +2395,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 62$(br)$(thing)Размер$(): 26$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 62$(br)$(thing)Размер$(): 26$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Опал и гранат", "type": "patchouli:text", "anchor": "deep_garnet_opal" @@ -2487,7 +2487,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 100$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Гранит$(br2)Не получается найти это? На дне океана легко увидеть красное свечение!", + "text": "$(thing)Редкость$(): 1/160$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 100$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Гранит$(br2)Не получается найти это? На дне океана легко увидеть красное свечение!", "title": "Редстоун, Киноварь и Рубин", "type": "patchouli:text", "anchor": "normal_redstone" @@ -2554,7 +2554,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 32$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 1/180$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 32$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Диорит, Риолит", "title": "Сапфир и Альмандин", "type": "patchouli:text", "anchor": "deep_sapphire" @@ -2646,7 +2646,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Селитра и Электротин", "type": "patchouli:text", "anchor": "normal_saltpeter" @@ -2738,7 +2738,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 165$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 1/165$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Сера и Пирит", "type": "patchouli:text", "anchor": "normal_sulfur" @@ -2805,7 +2805,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Гнейс, Гранит", + "text": "$(thing)Редкость$(): 1/160$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Гнейс, Гранит", "title": "Серебро, Галена и Свинец", "type": "patchouli:text", "anchor": "normal_silver" @@ -2872,7 +2872,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 175$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 30 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 4$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Известняк, Сланец", + "text": "$(thing)Редкость$(): 1/175$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 30 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 4$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Известняк, Сланец", "title": "Соли и Бура", "type": "patchouli:text", "anchor": "normal_salt" @@ -2964,7 +2964,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.375$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 20 — 60$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/180$(br)$(thing)Плотность$(): 37.5%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 20 — 60$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Сподумен и Лепидолит", "type": "patchouli:text", "anchor": "normal_spodumene" @@ -3056,7 +3056,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", "title": "Сфалерит & Пирит", "type": "patchouli:text", "anchor": "normal_sphalerite" @@ -3123,7 +3123,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 145$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/145$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", "title": "Сфалерит и Сера", "type": "patchouli:text", "anchor": "surface_sphalerite" @@ -3190,7 +3190,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/140$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", "title": "Таркианит и Нефтеносный песок", "type": "patchouli:text", "anchor": "normal_tarkianite" @@ -3282,7 +3282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Тетраэдрит (обычный)", "type": "patchouli:text", "anchor": "normal_tetrahedrite" @@ -3349,7 +3349,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/140$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Тетраэдрит (Поверхностный)", "type": "patchouli:text", "anchor": "surface_tetrahedrite" @@ -3416,7 +3416,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 26$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 7$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/260$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 26$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 7$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Топаз и Халькозин", "type": "patchouli:text", "anchor": "deep_topaz" @@ -3508,7 +3508,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.55$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/215$(br)$(thing)Плотность$(): 55.00000000000001%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Уголь", "type": "patchouli:text", "anchor": "normal_coal" @@ -3535,7 +3535,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 240$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — -20$(br)$(thing)Размер$(): 19$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/240$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — -20$(br)$(thing)Размер$(): 19$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Уранинит и Уранит", "type": "patchouli:text", "anchor": "deep_pitchblende" @@ -3602,7 +3602,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 217$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 1/200$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 217$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Халькопирит и Реальгар", "type": "patchouli:text", "anchor": "surface_copper" @@ -3694,7 +3694,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 225$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец", + "text": "$(thing)Редкость$(): 1/225$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец", "title": "Хромит и Магнетит", "type": "patchouli:text", "anchor": "deep_magnetite" @@ -3801,7 +3801,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 36$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/190$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 36$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Ционит, Слюда и Боксит", "type": "patchouli:text", "anchor": "normal_mica" @@ -3893,7 +3893,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 240$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 0$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 1/240$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 0$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Шеелит и Вольфрамат", "type": "patchouli:text", "anchor": "deep_scheelite" @@ -3960,7 +3960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 320$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 0$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/320$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 0$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Шелдонит и Борнит", "type": "patchouli:text", "anchor": "deep_sheldonite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json index 93306d325..3d39d30b7 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 65$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Габбро, Диорит, Доломит, Известняк, Кремнистый сланец, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/280$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 65$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Габбро, Диорит, Доломит, Известняк, Кремнистый сланец, Сланец, Трахит", "title": "Альмандин & Сапфир", "type": "patchouli:text", "anchor": "mars_almandine" @@ -136,7 +136,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Дацит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Дацит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Апатит и Пирохлор", "type": "patchouli:text", "anchor": "mars_apatite" @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Диорит, Доломит, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)Редкость$(): 1/215$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Диорит, Доломит, Кремнистый сланец, Мел, Трахит", "title": "Бастнезит и Монацит", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 370$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Дацит, Диорит, Конгломерат, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)Редкость$(): 1/370$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Дацит, Диорит, Конгломерат, Кремнистый сланец, Мел, Трахит", "title": "Борнит & Куперит", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/140$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Висмут", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Известняк, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Известняк, Мел, Сланец", "title": "Гарниерит и Кобальтит", "type": "patchouli:text", "anchor": "mars_nickel" @@ -596,7 +596,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат", + "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "mars_hematite" @@ -688,7 +688,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/140$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -780,7 +780,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Габбро, Гранит, Дацит, Диорит, Трахит", + "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Габбро, Гранит, Дацит, Диорит, Трахит", "title": "Графит и Алмаз", "type": "patchouli:text", "anchor": "mars_graphite" @@ -872,7 +872,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/230$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Кремнистый сланец, Мел, Сланец", "title": "Золото, Электротин & Боксит", "type": "patchouli:text", "anchor": "mars_gold" @@ -964,7 +964,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 350$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): -20 — 50$(br)$(thing)Высота$(): 40$(br)$(thing)Радиус$(): 8$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 1/350$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): -20 — 50$(br)$(thing)Высота$(): 40$(br)$(thing)Радиус$(): 8$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "mars_beryllium" @@ -1031,7 +1031,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 135$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/135$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Касситерит", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -1098,7 +1098,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Гранит, Известняк, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Гранит, Известняк, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Кварцит, Асбест & Барит", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1190,7 +1190,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/200$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Кремнистый сланец, Мел, Сланец", "title": "Лазурит, Лазурит 2 и Содалит", "type": "patchouli:text", "anchor": "mars_lapis" @@ -1282,7 +1282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 42$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Известняк, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/230$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 42$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Известняк, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Марганец и Тантал", "type": "patchouli:text", "anchor": "mars_tantalite" @@ -1374,7 +1374,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Сланец, Трахит", "title": "Медь и Халькопирит", "type": "patchouli:text", "anchor": "mars_copper" @@ -1466,7 +1466,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 370$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Известняк, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/370$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Известняк, Кремнистый сланец, Мел, Сланец", "title": "Редстоун & Хром", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1533,7 +1533,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/215$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Кремнистый сланец, Мел, Сланец", "title": "Серебро, Галена и Свинец", "type": "patchouli:text", "anchor": "mars_galena" @@ -1625,7 +1625,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Гранит, Диорит, Известняк, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Гранит, Диорит, Известняк, Кремнистый сланец, Мел, Трахит", "title": "Соли & Сподумен", "type": "patchouli:text", "anchor": "mars_salt" @@ -1717,7 +1717,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 150$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/150$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Сфалерит & Галена", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -1824,7 +1824,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)Редкость$(): 1/215$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Кремнистый сланец, Мел, Трахит", "title": "Сфалерит & Пирит", "type": "patchouli:text", "anchor": "mars_sulfur" @@ -1916,7 +1916,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Габбро, Дацит, Диорит, Доломит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Габбро, Дацит, Диорит, Доломит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Тетраэдрит (обычный)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2008,7 +2008,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/140$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Тетраэдрит (Поверхностный)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2100,7 +2100,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Сланец", + "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Сланец", "title": "Трона, Тальк & Глаукониты", "type": "patchouli:text", "anchor": "mars_lubricant" @@ -2232,7 +2232,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.6$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикатора$(): 10$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Диорит, Доломит, Конгломерат, Мел, Трахит", + "text": "$(thing)Редкость$(): 1/215$(br)$(thing)Плотность$(): 60%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикатора$(): 10$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Диорит, Доломит, Конгломерат, Мел, Трахит", "title": "Уголь & Гематит", "type": "patchouli:text", "anchor": "mars_coal" @@ -2284,7 +2284,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 370$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Габбро, Дацит, Диорит, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/370$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Габбро, Дацит, Диорит, Сланец, Трахит", "title": "Уранинит, Торианит, & Уранит", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -2351,7 +2351,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.55$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Габбро, Дацит, Диорит, Доломит, Конгломерат, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 55.00000000000001%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Габбро, Дацит, Диорит, Доломит, Конгломерат, Сланец, Трахит", "title": "Уранит, Торий & Гематит", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -2418,7 +2418,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Доломит, Известняк, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/280$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Доломит, Известняк, Кремнистый сланец, Мел, Сланец", "title": "Шеелит и Вольфрамат", "type": "patchouli:text", "anchor": "mars_tungsten" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json index 72d672f11..755ce01b3 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 80$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит", + "text": "$(thing)Редкость$(): 1/230$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 80$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит", "title": "Desh & Ilmenite", "type": "patchouli:text", "anchor": "moon_desh" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 80$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Норит", + "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 80$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Норит", "title": "Pyrolusite and Cobalt", "type": "patchouli:text", "anchor": "moon_pyrolusite" @@ -213,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 7$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Риолит", + "text": "$(thing)Редкость$(): 1/230$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 7$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Риолит", "title": "Аметист, Опал и гранат", "type": "patchouli:text", "anchor": "moon_garnet" @@ -305,7 +305,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 100$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Диорит, Норит", + "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 100$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Диорит, Норит", "title": "Апатит и Пирохлор", "type": "patchouli:text", "anchor": "moon_apatite" @@ -397,7 +397,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 310$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 1/310$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", "title": "Бастнезит и Монацит", "type": "patchouli:text", "anchor": "moon_monazite" @@ -489,7 +489,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 80$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Диорит, Норит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 1/200$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 80$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Диорит, Норит, Риолит, Фонолит", "title": "Боксит и Ильменит", "type": "patchouli:text", "anchor": "moon_bauxite" @@ -556,7 +556,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 245$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 50$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Базальт, Габбро, Дацит, Норит", + "text": "$(thing)Редкость$(): 1/245$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 50$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Базальт, Габбро, Дацит, Норит", "title": "Вульфенит & Молибденит", "type": "patchouli:text", "anchor": "moon_molybdenum" @@ -648,7 +648,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 5 — 85$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Габбро, Диорит, Риолит", + "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 5 — 85$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Габбро, Диорит, Риолит", "title": "Гарниерит и Кобальтит", "type": "patchouli:text", "anchor": "moon_garnierite" @@ -755,7 +755,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 100$(br)$(thing)Размер$(): 30$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Норит, Фонолит", + "text": "$(thing)Редкость$(): 1/180$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 100$(br)$(thing)Размер$(): 30$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Норит, Фонолит", "title": "Гипс и Кальцит", "type": "patchouli:text", "anchor": "moon_gypsum" @@ -862,7 +862,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Базальт, Габбро, Фонолит", + "text": "$(thing)Редкость$(): 1/260$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Базальт, Габбро, Фонолит", "title": "Графит и Алмаз", "type": "patchouli:text", "anchor": "moon_graphite" @@ -929,7 +929,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 80$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 10$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Базальт, Гранит, Диорит", + "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 80$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 10$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Базальт, Гранит, Диорит", "title": "Золото и Магнетит", "type": "patchouli:text", "anchor": "moon_gold" @@ -1021,7 +1021,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 70$(br)$(thing)Радиус$(): 8$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Фонолит", + "text": "$(thing)Редкость$(): 1/260$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 70$(br)$(thing)Радиус$(): 8$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Фонолит", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "moon_beryllium" @@ -1128,7 +1128,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 100$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 80$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 1/230$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 100$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 80$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", "title": "Истинный кварц", "type": "patchouli:text", "anchor": "moon_quartz" @@ -1220,7 +1220,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит, Норит", + "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит, Норит", "title": "Касситерит и Халькопирит", "type": "patchouli:text", "anchor": "moon_cassiterite" @@ -1312,7 +1312,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 215$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 5 — 80$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Базальт, Габбро, Дацит, Норит", + "text": "$(thing)Редкость$(): 1/215$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 5 — 80$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Базальт, Габбро, Дацит, Норит", "title": "Марганец и Тантал", "type": "patchouli:text", "anchor": "moon_manganese" @@ -1404,7 +1404,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 66$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Габбро, Диорит, Норит", + "text": "$(thing)Редкость$(): 1/190$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 66$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Габбро, Диорит, Норит", "title": "Мыльный камень, Тальк и Трона", "type": "patchouli:text", "anchor": "moon_lubricant" @@ -1511,7 +1511,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 100$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Фонолит", + "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 100$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Фонолит", "title": "Редстоун, Киноварь и Рубин", "type": "patchouli:text", "anchor": "moon_redstone" @@ -1603,7 +1603,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 100$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Базальт, Норит", + "text": "$(thing)Редкость$(): 1/280$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 100$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Базальт, Норит", "title": "Сапфир и Альмандин", "type": "patchouli:text", "anchor": "moon_sapphire" @@ -1710,7 +1710,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 90$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Норит, Риолит", + "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 90$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Норит, Риолит", "title": "Селитра и Электротин", "type": "patchouli:text", "anchor": "moon_saltpeter" @@ -1802,7 +1802,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 75$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Дацит, Диорит, Норит, Риолит", + "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 75$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Дацит, Диорит, Норит, Риолит", "title": "Серебро, Галена и Свинец", "type": "patchouli:text", "anchor": "moon_silver" @@ -1894,7 +1894,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 205$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 2 — 75$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит, Фонолит", + "text": "$(thing)Редкость$(): 1/205$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 2 — 75$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит, Фонолит", "title": "Сфалерит & Пирит", "type": "patchouli:text", "anchor": "moon_sphalerite" @@ -1961,7 +1961,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 50 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 1/190$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 50 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", "title": "Тетраэдрит и Халькозин", "type": "patchouli:text", "anchor": "moon_tetrahedrite" @@ -2053,7 +2053,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Размер$(): 45$(br)$(thing)Высота$(): 16$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Размер$(): 45$(br)$(thing)Высота$(): 16$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", "title": "Топаз и Халькозин", "type": "patchouli:text", "anchor": "moon_topaz" @@ -2145,7 +2145,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 280$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 90$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", + "text": "$(thing)Редкость$(): 1/280$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 90$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", "title": "Хромит и Магнетит", "type": "patchouli:text", "anchor": "moon_magnetite" @@ -2252,7 +2252,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", + "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", "title": "Ционит, Слюда и Боксит", "type": "patchouli:text", "anchor": "moon_mica" @@ -2359,7 +2359,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Габбро, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 1/200$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Габбро, Риолит, Фонолит", "title": "Шеелит и Вольфрамат", "type": "patchouli:text", "anchor": "moon_scheelite" @@ -2426,7 +2426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Фонолит", + "text": "$(thing)Редкость$(): 1/260$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Фонолит", "title": "Шелдонит и Борнит", "type": "patchouli:text", "anchor": "moon_sheldonite" 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 d698a3ef6..c8d789a57 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 @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 45$(br)$(thing)Высота$(): 8$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/230$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 45$(br)$(thing)Высота$(): 8$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Аметист, Опал и гранат", "type": "patchouli:text", "anchor": "nether_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 35$(br)$(thing)Плотность$(): 0.8$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 48 — 127$(br)$(thing)Размер$(): 13$(br)$(thing)Высота$(): 4$(br2)$(thing)Виды камней$(): Мигматит", + "text": "$(thing)Редкость$(): 1/35$(br)$(thing)Плотность$(): 80%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 48 — 127$(br)$(thing)Размер$(): 13$(br)$(thing)Высота$(): 4$(br2)$(thing)Виды камней$(): Мигматит", "title": "Антрацит", "type": "patchouli:text", "anchor": "nether_anthracite" @@ -148,7 +148,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 48 — 128$(br)$(thing)Размер$(): 39$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс", + "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 48 — 128$(br)$(thing)Размер$(): 39$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс", "title": "Апатит и Пирохлор", "type": "patchouli:text", "anchor": "nether_apatite" @@ -215,7 +215,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 245$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/245$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Бастнезит и Монацит", "type": "patchouli:text", "anchor": "nether_monazite" @@ -282,7 +282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 31$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 31$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Бентонит и Оливин", "type": "patchouli:text", "anchor": "nether_olivine" @@ -374,7 +374,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 245$(br)$(thing)Плотность$(): 0.55$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 31$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/245$(br)$(thing)Плотность$(): 55.00000000000001%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 31$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Вульфенит & Молибденит", "type": "patchouli:text", "anchor": "nether_molybdenum" @@ -466,7 +466,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.5$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 16 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Габбро, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/160$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 16 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Габбро, Диорит, Пироксенит", "title": "Гарниерит и Кобальтит", "type": "patchouli:text", "anchor": "nether_garnierite" @@ -573,7 +573,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 35$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 35$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "nether_hematite" @@ -680,7 +680,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 240$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 37$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/240$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 37$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Гётит", "type": "patchouli:text", "anchor": "nether_goethite" @@ -772,7 +772,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 9$(br2)$(thing)Виды камней$(): Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/180$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 9$(br2)$(thing)Виды камней$(): Мигматит, Пироксенит, Травертин", "title": "Гипс и Кальцит", "type": "patchouli:text", "anchor": "nether_gypsum" @@ -864,7 +864,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 270$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/270$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Мигматит, Пироксенит, Травертин", "title": "Гранатовый и Касситеритовый песок", "type": "patchouli:text", "anchor": "nether_garnet_tin" @@ -956,7 +956,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 120$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 12$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/120$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 12$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Графит и Алмаз", "type": "patchouli:text", "anchor": "nether_graphite" @@ -1023,7 +1023,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 260$(br)$(thing)Плотность$(): 0.55$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 37$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/260$(br)$(thing)Плотность$(): 55.00000000000001%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 37$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Золото и Гематит", "type": "patchouli:text", "anchor": "nether_gold" @@ -1115,7 +1115,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 12$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 12$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "nether_beryllium" @@ -1207,7 +1207,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.5$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Касситерит", "type": "patchouli:text", "anchor": "nether_cassiterite" @@ -1274,7 +1274,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 40$(br2)$(thing)Виды камней$(): Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 40$(br2)$(thing)Виды камней$(): Мигматит, Пироксенит, Травертин", "title": "Лазурит, Лазурит 2 и Содалит", "type": "patchouli:text", "anchor": "nether_lapis" @@ -1366,7 +1366,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 225$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/225$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Марганец и Тантал", "type": "patchouli:text", "anchor": "nether_manganese" @@ -1458,7 +1458,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.5$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Медь и Халькопирит", "type": "patchouli:text", "anchor": "nether_copper" @@ -1550,7 +1550,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 48 — 128$(br)$(thing)Размер$(): 48$(br)$(thing)Высота$(): 9$(br2)$(thing)Виды камней$(): Базальт, Гранит", + "text": "$(thing)Редкость$(): 1/160$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 48 — 128$(br)$(thing)Размер$(): 48$(br)$(thing)Высота$(): 9$(br2)$(thing)Виды камней$(): Базальт, Гранит", "title": "Минеральные пески", "type": "patchouli:text", "anchor": "nether_basaltic_sands" @@ -1642,7 +1642,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 41$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 41$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Мыльный камень, Тальк и Трона", "type": "patchouli:text", "anchor": "nether_lubricant" @@ -1749,7 +1749,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.7$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 38$(br)$(thing)Размер$(): 32$(br2)$(thing)Виды камней$(): Базальт, Пироксенит", + "text": "$(thing)Редкость$(): 1/200$(br)$(thing)Плотность$(): 70%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 38$(br)$(thing)Размер$(): 32$(br2)$(thing)Виды камней$(): Базальт, Пироксенит", "title": "Наквада", "type": "patchouli:text", "anchor": "nether_naquadah" @@ -1776,7 +1776,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 150$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Габбро, Гранит, Диорит, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/150$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Габбро, Гранит, Диорит, Мигматит, Пироксенит, Травертин", "title": "Незер-кварц", "type": "patchouli:text", "anchor": "nether_quartz" @@ -1843,7 +1843,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.5$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Гранит, Пироксенит", + "text": "$(thing)Редкость$(): 1/160$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Гранит, Пироксенит", "title": "Редстоун, Киноварь и Рубин", "type": "patchouli:text", "anchor": "nether_redstone" @@ -1910,7 +1910,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 33$(br)$(thing)Высота$(): 8$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/180$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 33$(br)$(thing)Высота$(): 8$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Сапфир и Альмандин", "type": "patchouli:text", "anchor": "nether_sapphire" @@ -2002,7 +2002,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 210$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 50$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 50$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Селитра и Электротин", "type": "patchouli:text", "anchor": "nether_saltpeter" @@ -2094,7 +2094,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 165$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 50$(br2)$(thing)Виды камней$(): Аспидный сланец, Базальт, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/165$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 50$(br2)$(thing)Виды камней$(): Аспидный сланец, Базальт, Диорит, Пироксенит", "title": "Сера и Пирит", "type": "patchouli:text", "anchor": "nether_sulfur" @@ -2161,7 +2161,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 160$(br)$(thing)Плотность$(): 0.5$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Гнейс, Гранит, Пироксенит", + "text": "$(thing)Редкость$(): 1/160$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Гнейс, Гранит, Пироксенит", "title": "Серебро, Галена и Свинец", "type": "patchouli:text", "anchor": "nether_silver" @@ -2228,7 +2228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 75$(br)$(thing)Плотность$(): 0.6$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 64$(br)$(thing)Размер$(): 17$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Пироксенит", + "text": "$(thing)Редкость$(): 1/75$(br)$(thing)Плотность$(): 60%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 64$(br)$(thing)Размер$(): 17$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Пироксенит", "title": "Сильвин", "type": "patchouli:text", "anchor": "nether_sylvite" @@ -2255,7 +2255,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.5$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Сфалерит & Пирит", "type": "patchouli:text", "anchor": "nether_sphalerite" @@ -2322,7 +2322,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.5$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Мигматит, Пироксенит, Травертин", "title": "Тетраэдрит", "type": "patchouli:text", "anchor": "nether_tetrahedrite" @@ -2389,7 +2389,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 33$(br)$(thing)Высота$(): 7$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/180$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 33$(br)$(thing)Высота$(): 7$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Топаз и Халькозин", "type": "patchouli:text", "anchor": "nether_topaz" @@ -2481,7 +2481,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.55$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 24$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 55.00000000000001%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 24$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Уранинит и Уранит", "type": "patchouli:text", "anchor": "nether_pitchblende" @@ -2548,7 +2548,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 205$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 39$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/205$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 39$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Хромит", "type": "patchouli:text", "anchor": "nether_magnetite" @@ -2655,7 +2655,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 41$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 41$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Ционит, Слюда и Боксит", "type": "patchouli:text", "anchor": "nether_mica" @@ -2722,7 +2722,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.45$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 25$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/180$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 25$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Шеелит и Вольфрамат", "type": "patchouli:text", "anchor": "nether_scheelite" @@ -2789,7 +2789,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 250$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 35$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 35$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Шелдонит и Борнит", "type": "patchouli:text", "anchor": "nether_sheldonite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json index cc7c8b3bd..654d6f469 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 30$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 20$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)Редкость$(): 1/30$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 20$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит$(br2)Only appears in the $(thing)Salt Flats$() biome.", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 30$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит", + "text": "$(thing)Редкость$(): 1/30$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит", "title": "Сера и Пирит", "type": "patchouli:text", "anchor": "venus_manual_sulfur" diff --git a/kubejs/assets/tfc/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 9d1312b2e..e500d59e9 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 @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 230$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 8$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Аспідний сланець, Вапняк, Глинистий сланець, Гнейс, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/230$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 8$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Аспідний сланець, Вапняк, Глинистий сланець, Гнейс, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Філіт, Шиферний сланець", "title": "Аметист і Гранат", "type": "patchouli:text", "anchor": "deep_garnet_amethyst" @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 170$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Розмір$(): 34$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Розмір$(): 34$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Апатит і Пірохлор", "type": "patchouli:text", "anchor": "normal_apatite" @@ -198,7 +198,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 205$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", + "text": "$(thing)Рідкість$(): 1/205$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", "title": "Бастнезит і Монацит", "type": "patchouli:text", "anchor": "normal_monazite" @@ -265,7 +265,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 180$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -40 — 30$(br)$(thing)Розмір$(): 26$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/180$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -40 — 30$(br)$(thing)Розмір$(): 26$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", "title": "Бентоніт та Олівін", "type": "patchouli:text", "anchor": "normal_olivine" @@ -357,7 +357,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 170$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Габро, Глинистий сланець, Граніт, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Габро, Глинистий сланець, Граніт, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець", "title": "Вісмут (Звичайний)", "type": "patchouli:text", "anchor": "normal_bismuthinite" @@ -449,7 +449,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 140$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Габро, Глинистий сланець, Граніт, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/140$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Габро, Глинистий сланець, Граніт, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець", "title": "Вісмут (Поверхня)", "type": "patchouli:text", "anchor": "surface_bismuthinite" @@ -541,7 +541,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 215$(br)$(thing)Щільність$(): 0.55$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/215$(br)$(thing)Щільність$(): 55.00000000000001%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", "title": "Вугілля", "type": "patchouli:text", "anchor": "normal_coal" @@ -568,7 +568,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 245$(br)$(thing)Щільність$(): 0.45$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 10$(br)$(thing)Розмір$(): 26$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/245$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 10$(br)$(thing)Розмір$(): 26$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", "title": "Вульфеніт і Молібденіт", "type": "patchouli:text", "anchor": "deep_molybdenum" @@ -635,7 +635,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 160$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 70$(br2)$(thing)Типи каменю$(): Габро, Діорит$(br2)Не можеш знайти? Габро завжди залягає нижче $(thing)Базальту$(), і дамби з Габро в океанах теж можуть бути корисними!", + "text": "$(thing)Рідкість$(): 1/160$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 70$(br2)$(thing)Типи каменю$(): Габро, Діорит$(br2)Не можеш знайти? Габро завжди залягає нижче $(thing)Базальту$(), і дамби з Габро в океанах теж можуть бути корисними!", "title": "Гарнієрит і Кобальтит", "type": "patchouli:text", "anchor": "normal_garnierite" @@ -742,7 +742,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 210$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", "title": "Гематит та Лімоніт", "type": "patchouli:text", "anchor": "normal_hematite" @@ -834,7 +834,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 220$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", "title": "Гематит, Гетит і Рубін", "type": "patchouli:text", "anchor": "deep_hematite" @@ -941,7 +941,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 240$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Розмір$(): 32$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Вапняк, Мармур", + "text": "$(thing)Рідкість$(): 1/240$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Розмір$(): 32$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Вапняк, Мармур", "title": "Гетит і Малахіт", "type": "patchouli:text", "anchor": "deep_limonite" @@ -1033,7 +1033,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 180$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 9$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/180$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 9$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", "title": "Гіпс і Кальцит", "type": "patchouli:text", "anchor": "normal_gypsum" @@ -1125,7 +1125,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 270$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -40 — 64$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Аспідний сланець, Базальт, Вапняк, Габро, Глинистий сланець, Гнейс, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Ріоліт, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/270$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -40 — 64$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Аспідний сланець, Базальт, Вапняк, Габро, Глинистий сланець, Гнейс, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Ріоліт, Філіт, Шиферний сланець", "title": "Гранат і Каситеритові піски", "type": "patchouli:text", "anchor": "normal_garnet_tin" @@ -1217,7 +1217,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 80$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Розмір$(): 16$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Аспідний сланець, Базальт, Вапняк, Габро, Глинистий сланець, Гнейс, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Ріоліт, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/80$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Розмір$(): 16$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Аспідний сланець, Базальт, Вапняк, Габро, Глинистий сланець, Гнейс, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Ріоліт, Філіт, Шиферний сланець", "title": "Графіт і Діамант", "type": "patchouli:text", "anchor": "normal_graphite" @@ -1284,7 +1284,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 260$(br)$(thing)Щільність$(): 0.45$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Розмір$(): 32$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/260$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Розмір$(): 32$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", "title": "Золото (Глибоке)", "type": "patchouli:text", "anchor": "deep_gold" @@ -1376,7 +1376,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 170$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 12$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 12$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", "title": "Золото, Лімоніт та Гематит", "type": "patchouli:text", "anchor": "normal_gold" @@ -1468,7 +1468,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 170$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", + "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", "title": "Каситерит (Звичайний)", "type": "patchouli:text", "anchor": "normal_cassiterite" @@ -1535,7 +1535,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 135$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", + "text": "$(thing)Рідкість$(): 1/135$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", "title": "Каситерит (Поверхнивий)", "type": "patchouli:text", "anchor": "surface_cassiterite" @@ -1602,7 +1602,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 190$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аспідний сланець, Глинистий сланець, Гнейс, Кварцит", + "text": "$(thing)Рідкість$(): 1/190$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аспідний сланець, Глинистий сланець, Гнейс, Кварцит", "title": "Кварц", "type": "patchouli:text", "anchor": "normal_quartz" @@ -1669,7 +1669,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 190$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Розмір$(): 36$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/190$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Розмір$(): 36$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Кіаніт, Слюда та Боксити", "type": "patchouli:text", "anchor": "normal_mica" @@ -1761,7 +1761,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 170$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -60 — 10$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -60 — 10$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Лапіс, Лазурит та Содаліт", "type": "patchouli:text", "anchor": "normal_lapis" @@ -1853,7 +1853,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 190$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Вапняк, Мармур", + "text": "$(thing)Рідкість$(): 1/190$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Вапняк, Мармур", "title": "Лімоніт", "type": "patchouli:text", "anchor": "normal_limonite" @@ -1945,7 +1945,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 200$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/200$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", "title": "Магнетит і Ванадій", "type": "patchouli:text", "anchor": "normal_magnetite" @@ -2037,7 +2037,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 195$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Базальт, Вапняк, Глинистий сланець, Дацит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Ріоліт", + "text": "$(thing)Рідкість$(): 1/195$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Базальт, Вапняк, Глинистий сланець, Дацит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Ріоліт", "title": "Марганець і Тантал", "type": "patchouli:text", "anchor": "normal_manganese" @@ -2129,7 +2129,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 170$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 85$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 85$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", "title": "Мідь та Халькопірит", "type": "patchouli:text", "anchor": "normal_copper" @@ -2221,7 +2221,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 160$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 48$(br)$(thing)Висота$(): 9$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Базальт, Граніт", + "text": "$(thing)Рідкість$(): 1/160$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 48$(br)$(thing)Висота$(): 9$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Базальт, Граніт", "title": "Мінеральні піски", "type": "patchouli:text", "anchor": "normal_basaltic_sands" @@ -2313,7 +2313,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 185$(br)$(thing)Щільність$(): 0.2$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 55$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/185$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 55$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", "title": "Нафтові піски", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -2340,7 +2340,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 220$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — 62$(br)$(thing)Розмір$(): 26$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — 62$(br)$(thing)Розмір$(): 26$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", "title": "Опал і Гранат", "type": "patchouli:text", "anchor": "deep_garnet_opal" @@ -2432,7 +2432,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 160$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Граніт$(br2)Не можеш знайти? Граніт завжди з’являється під $(thing)Ріолітом$(), а пошук в океанах також може бути корисним!", + "text": "$(thing)Рідкість$(): 1/160$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Граніт$(br2)Не можеш знайти? Граніт завжди з’являється під $(thing)Ріолітом$(), а пошук в океанах також може бути корисним!", "title": "Редстоун, Кіновар і Рубін", "type": "patchouli:text", "anchor": "normal_redstone" @@ -2499,7 +2499,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 180$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — 32$(br)$(thing)Розмір$(): 28$(br)$(thing)Висота$(): 8$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Діорит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/180$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — 32$(br)$(thing)Розмір$(): 28$(br)$(thing)Висота$(): 8$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Діорит, Ріоліт", "title": "Сапфір і Альмадін", "type": "patchouli:text", "anchor": "deep_sapphire" @@ -2591,7 +2591,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 210$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Селітра та Електротин", "type": "patchouli:text", "anchor": "normal_saltpeter" @@ -2683,7 +2683,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 165$(br)$(thing)Щільність$(): 0.2$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/165$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", "title": "Сірка та Пірит", "type": "patchouli:text", "anchor": "normal_sulfur" @@ -2750,7 +2750,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 250$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 10$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 10$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", "title": "Смарагд і Берилій", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -2817,7 +2817,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 175$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 30 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 4$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець", + "text": "$(thing)Рідкість$(): 1/175$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 30 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 4$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець", "title": "Солі та Бура", "type": "patchouli:text", "anchor": "normal_salt" @@ -2909,7 +2909,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 180$(br)$(thing)Щільність$(): 0.375$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 20 — 60$(br)$(thing)Розмір$(): 35$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/180$(br)$(thing)Щільність$(): 37.5%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 20 — 60$(br)$(thing)Розмір$(): 35$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Сподумен та Лепідоліт", "type": "patchouli:text", "anchor": "normal_spodumene" @@ -3001,7 +3001,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 160$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Гнейс, Граніт", + "text": "$(thing)Рідкість$(): 1/160$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Гнейс, Граніт", "title": "Срібло, Гален і Свинець", "type": "patchouli:text", "anchor": "normal_silver" @@ -3068,7 +3068,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 190$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -40 — 56$(br)$(thing)Розмір$(): 36$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", + "text": "$(thing)Рідкість$(): 1/190$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -40 — 56$(br)$(thing)Розмір$(): 36$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", "title": "Стеатит, Тальк і Трона", "type": "patchouli:text", "anchor": "normal_lubricant" @@ -3175,7 +3175,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 170$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Аспідний сланець, Базальт, Гнейс, Дацит, Кварцит, Мармур, Ріоліт, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Аспідний сланець, Базальт, Гнейс, Дацит, Кварцит, Мармур, Ріоліт, Філіт, Шиферний сланець", "title": "Сфалерит і Пірит", "type": "patchouli:text", "anchor": "normal_sphalerite" @@ -3242,7 +3242,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 145$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Аспідний сланець, Базальт, Гнейс, Дацит, Кварцит, Мармур, Ріоліт, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/145$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Аспідний сланець, Базальт, Гнейс, Дацит, Кварцит, Мармур, Ріоліт, Філіт, Шиферний сланець", "title": "Сфалерит і Сірка", "type": "patchouli:text", "anchor": "surface_sphalerite" @@ -3309,7 +3309,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 140$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 10$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Аспідний сланець, Базальт, Вапняк, Габро, Глинистий сланець, Гнейс, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Ріоліт, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/140$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 10$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Аспідний сланець, Базальт, Вапняк, Габро, Глинистий сланець, Гнейс, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Ріоліт, Філіт, Шиферний сланець", "title": "Таркіаніт та Нафтові піски", "type": "patchouli:text", "anchor": "normal_tarkianite" @@ -3401,7 +3401,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 170$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Тетраедрит (Звичайний)", "type": "patchouli:text", "anchor": "normal_tetrahedrite" @@ -3468,7 +3468,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 140$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/140$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Тетраедрит (Поверхня)", "type": "patchouli:text", "anchor": "surface_tetrahedrite" @@ -3535,7 +3535,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 260$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Розмір$(): 28$(br)$(thing)Висота$(): 7$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/260$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Розмір$(): 28$(br)$(thing)Висота$(): 7$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Топаз і Халькоцит", "type": "patchouli:text", "anchor": "deep_topaz" @@ -3627,7 +3627,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 240$(br)$(thing)Щільність$(): 0.45$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — -20$(br)$(thing)Розмір$(): 19$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/240$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — -20$(br)$(thing)Розмір$(): 19$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Ураніт & Пітчбленд", "type": "patchouli:text", "anchor": "deep_pitchblende" @@ -3694,7 +3694,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 200$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 217$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/200$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 217$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", "title": "Халькопірит та Реальгар", "type": "patchouli:text", "anchor": "surface_copper" @@ -3786,7 +3786,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 225$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець, Мармур", + "text": "$(thing)Рідкість$(): 1/225$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець, Мармур", "title": "Хроміт і Магнетит", "type": "patchouli:text", "anchor": "deep_magnetite" @@ -3893,7 +3893,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 240$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", + "text": "$(thing)Рідкість$(): 1/240$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", "title": "Шеєліт та Вольфрам", "type": "patchouli:text", "anchor": "deep_scheelite" @@ -3960,7 +3960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 320$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/320$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Шелдоніт і Борніт", "type": "patchouli:text", "anchor": "deep_sheldonite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json index 91c7461a9..2606457be 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 280$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 65$(br)$(thing)Висота$(): 8$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Габро, Глинистий сланець, Діорит, Доломіт, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/280$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 65$(br)$(thing)Висота$(): 8$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Габро, Глинистий сланець, Діорит, Доломіт, Кременистий сланець, Трахіт", "title": "Альмандин і Сапфір", "type": "patchouli:text", "anchor": "mars_almandine" @@ -136,7 +136,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 220$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Базальт, Вапняк, Глинистий сланець, Дацит, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Базальт, Вапняк, Глинистий сланець, Дацит, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Апатит і Пірохлор", "type": "patchouli:text", "anchor": "mars_apatite" @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 215$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Аргіліт, Базальт, Габро, Діорит, Доломіт, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/215$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Аргіліт, Базальт, Габро, Діорит, Доломіт, Крейда, Кременистий сланець, Трахіт", "title": "Бастнезит і Монацит", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 370$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Базальт, Дацит, Діорит, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/370$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Базальт, Дацит, Діорит, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Борніт і Куперит", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 140$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/140$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Вісмут", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 215$(br)$(thing)Щільність$(): 0.6$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 55$(br)$(thing)Індикатор Max Depth$(): 10$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Трахіт", + "text": "$(thing)Рідкість$(): 1/215$(br)$(thing)Щільність$(): 60%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 55$(br)$(thing)Індикатор Max Depth$(): 10$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Трахіт", "title": "Вугілля і Гематит", "type": "patchouli:text", "anchor": "mars_coal" @@ -556,7 +556,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 250$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 55$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Граніт, Дацит, Крейда", + "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 55$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Граніт, Дацит, Крейда", "title": "Гарнієрит і Кобальтит", "type": "patchouli:text", "anchor": "mars_nickel" @@ -648,7 +648,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 210$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Дацит, Доломіт, Конгломерат", + "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Дацит, Доломіт, Конгломерат", "title": "Гематит та Лімоніт", "type": "patchouli:text", "anchor": "mars_hematite" @@ -740,7 +740,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 140$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/140$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Гематит та Лімоніт", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -832,7 +832,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 220$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 9$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Габро, Граніт, Дацит, Діорит, Трахіт", + "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 9$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Габро, Граніт, Дацит, Діорит, Трахіт", "title": "Графіт і Діамант", "type": "patchouli:text", "anchor": "mars_graphite" @@ -924,7 +924,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 230$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Аргиліт, Габро, Глинистий сланець, Граніт, Діорит, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/230$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Аргиліт, Габро, Глинистий сланець, Граніт, Діорит, Крейда, Кременистий сланець", "title": "Золото, Електротин і Боксит", "type": "patchouli:text", "anchor": "mars_gold" @@ -1016,7 +1016,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 135$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/135$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Каситерит", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -1083,7 +1083,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 210$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Глинистий сланець, Граніт, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Глинистий сланець, Граніт, Крейда, Кременистий сланець, Трахіт", "title": "Кварцит, Азбест і Барит", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1175,7 +1175,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 200$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргіліт, Вапняк, Глинистий сланець, Доломіт, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/200$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргіліт, Вапняк, Глинистий сланець, Доломіт, Крейда, Кременистий сланець", "title": "Лапіс, Лазурит та Содаліт", "type": "patchouli:text", "anchor": "mars_lapis" @@ -1267,7 +1267,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 230$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 42$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/230$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 42$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Крейда, Кременистий сланець, Трахіт", "title": "Марганець і Тантал", "type": "patchouli:text", "anchor": "mars_tantalite" @@ -1359,7 +1359,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 220$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Дацит, Доломіт, Конгломерат, Трахіт", + "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Дацит, Доломіт, Конгломерат, Трахіт", "title": "Мідь та Халькопірит", "type": "patchouli:text", "anchor": "mars_copper" @@ -1451,7 +1451,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 220$(br)$(thing)Щільність$(): 0.55$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Габро, Глинистий сланець, Дацит, Діорит, Доломіт, Конгломерат, Трахіт", + "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 55.00000000000001%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Габро, Глинистий сланець, Дацит, Діорит, Доломіт, Конгломерат, Трахіт", "title": "Настуран, Торіаніт і Гематит", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -1518,7 +1518,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 370$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Габро, Глинистий сланець, Дацит, Діорит, Трахіт", + "text": "$(thing)Рідкість$(): 1/370$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Габро, Глинистий сланець, Дацит, Діорит, Трахіт", "title": "Настуран, Торіаніт і Уранініт", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -1585,7 +1585,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 370$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Дацит, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/370$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Дацит, Крейда, Кременистий сланець", "title": "Редстоун і Хроміт", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1652,7 +1652,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 350$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): -20 — 50$(br)$(thing)Висота$(): 40$(br)$(thing)Радіус$(): 8$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/350$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): -20 — 50$(br)$(thing)Висота$(): 40$(br)$(thing)Радіус$(): 8$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", "title": "Смарагд і Берилій", "type": "patchouli:text", "anchor": "mars_beryllium" @@ -1719,7 +1719,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 210$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Граніт, Діорит, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Граніт, Діорит, Крейда, Кременистий сланець, Трахіт", "title": "Солі і Сподумен", "type": "patchouli:text", "anchor": "mars_salt" @@ -1811,7 +1811,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 215$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Габро, Глинистий сланець, Граніт, Дацит, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/215$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Габро, Глинистий сланець, Граніт, Дацит, Крейда, Кременистий сланець", "title": "Срібло, Гален і Свинець", "type": "patchouli:text", "anchor": "mars_galena" @@ -1903,7 +1903,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 220$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат", + "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат", "title": "Стеатит, Тальк і Глауконіт", "type": "patchouli:text", "anchor": "mars_lubricant" @@ -2035,7 +2035,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 150$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/150$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Сфалерит і Галеніт", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2142,7 +2142,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 215$(br)$(thing)Щільність$(): 0.2$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Аргіліт, Базальт, Габро, Граніт, Дацит, Діорит, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/215$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Аргіліт, Базальт, Габро, Граніт, Дацит, Діорит, Крейда, Кременистий сланець, Трахіт", "title": "Сфалерит і Пірит", "type": "patchouli:text", "anchor": "mars_sulfur" @@ -2234,7 +2234,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 210$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Базальт, Габро, Глинистий сланець, Дацит, Діорит, Доломіт, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Базальт, Габро, Глинистий сланець, Дацит, Діорит, Доломіт, Крейда, Кременистий сланець, Трахіт", "title": "Тетраедрит (Звичайний)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2326,7 +2326,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 140$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/140$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Тетраедрит (Поверхня)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2418,7 +2418,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 280$(br)$(thing)Щільність$(): 0.45$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Базальт, Вапняк, Глинистий сланець, Доломіт, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/280$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Базальт, Вапняк, Глинистий сланець, Доломіт, Крейда, Кременистий сланець", "title": "Шеєліт та Вольфрам", "type": "patchouli:text", "anchor": "mars_tungsten" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_vein_index.json index 97767decf..ffbb3091b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 230$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Розмір$(): 35$(br)$(thing)Висота$(): 7$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Ріоліт", + "text": "$(thing)Рідкість$(): 1/230$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Розмір$(): 35$(br)$(thing)Висота$(): 7$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Ріоліт", "title": "Аметист, Опал і Гранат", "type": "patchouli:text", "anchor": "moon_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 250$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Діорит, Норит", + "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Діорит, Норит", "title": "Апатит і Пірохлор", "type": "patchouli:text", "anchor": "moon_apatite" @@ -213,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 310$(br)$(thing)Щільність$(): 0.2$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Дацит, Ріоліт, Фоноліт", + "text": "$(thing)Рідкість$(): 1/310$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Дацит, Ріоліт, Фоноліт", "title": "Бастнезит і Монацит", "type": "patchouli:text", "anchor": "moon_monazite" @@ -305,7 +305,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 200$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 80$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Базальт, Діорит, Норит, Ріоліт, Фоноліт", + "text": "$(thing)Рідкість$(): 1/200$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 80$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Базальт, Діорит, Норит, Ріоліт, Фоноліт", "title": "Боксит і Ільменіт", "type": "patchouli:text", "anchor": "moon_bauxite" @@ -372,7 +372,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 245$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 50$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Базальт, Габро, Дацит, Норит", + "text": "$(thing)Рідкість$(): 1/245$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 50$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Базальт, Габро, Дацит, Норит", "title": "Вульфеніт і Молібденіт", "type": "patchouli:text", "anchor": "moon_molybdenum" @@ -464,7 +464,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 250$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 5 — 85$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Габро, Діорит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 5 — 85$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Габро, Діорит, Ріоліт", "title": "Гарнієрит і Кобальтит", "type": "patchouli:text", "anchor": "moon_garnierite" @@ -571,7 +571,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 180$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Розмір$(): 30$(br)$(thing)Висота$(): 9$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Анортозит, Норит, Фоноліт", + "text": "$(thing)Рідкість$(): 1/180$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Розмір$(): 30$(br)$(thing)Висота$(): 9$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Анортозит, Норит, Фоноліт", "title": "Гіпс і Кальцит", "type": "patchouli:text", "anchor": "moon_gypsum" @@ -678,7 +678,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 260$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 9$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Базальт, Базальт, Габро, Фоноліт", + "text": "$(thing)Рідкість$(): 1/260$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 9$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Базальт, Базальт, Габро, Фоноліт", "title": "Графіт і Діамант", "type": "patchouli:text", "anchor": "moon_graphite" @@ -745,7 +745,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 230$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Дацит", + "text": "$(thing)Рідкість$(): 1/230$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Дацит", "title": "Деш і Ільменіт", "type": "patchouli:text", "anchor": "moon_desh" @@ -837,7 +837,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 170$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Розмір$(): 35$(br)$(thing)Висота$(): 10$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Базальт, Граніт, Діорит", + "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Розмір$(): 35$(br)$(thing)Висота$(): 10$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Базальт, Граніт, Діорит", "title": "Золото і Магнетит", "type": "patchouli:text", "anchor": "moon_gold" @@ -929,7 +929,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 230$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 80$(br2)$(thing)Типи каменю$(): Андезит, Анортозит, Базальт, Габро, Дацит, Діорит, Норит, Ріоліт, Фоноліт", + "text": "$(thing)Рідкість$(): 1/230$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 80$(br2)$(thing)Типи каменю$(): Андезит, Анортозит, Базальт, Габро, Дацит, Діорит, Норит, Ріоліт, Фоноліт", "title": "Істинний Кварц", "type": "patchouli:text", "anchor": "moon_quartz" @@ -1021,7 +1021,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 210$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит, Норит", + "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит, Норит", "title": "Каситерит і Халькопірит", "type": "patchouli:text", "anchor": "moon_cassiterite" @@ -1113,7 +1113,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 250$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Габро, Діорит, Норит", + "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Габро, Діорит, Норит", "title": "Кіаніт, Слюда та Боксити", "type": "patchouli:text", "anchor": "moon_mica" @@ -1220,7 +1220,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 215$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 5 — 80$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Базальт, Габро, Дацит, Норит", + "text": "$(thing)Рідкість$(): 1/215$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 5 — 80$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Базальт, Габро, Дацит, Норит", "title": "Марганець і Тантал", "type": "patchouli:text", "anchor": "moon_manganese" @@ -1312,7 +1312,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 210$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 80$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Анортозит, Базальт, Габро, Норит", + "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 80$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Анортозит, Базальт, Габро, Норит", "title": "Піролюзит і Кобальт", "type": "patchouli:text", "anchor": "moon_pyrolusite" @@ -1404,7 +1404,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 250$(br)$(thing)Щільність$(): 0.2$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 100$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Дацит, Фоноліт", + "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 100$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Дацит, Фоноліт", "title": "Редстоун, Кіновар і Рубін", "type": "patchouli:text", "anchor": "moon_redstone" @@ -1496,7 +1496,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 280$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Розмір$(): 28$(br)$(thing)Висота$(): 8$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Базальт, Норит", + "text": "$(thing)Рідкість$(): 1/280$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Розмір$(): 28$(br)$(thing)Висота$(): 8$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Базальт, Норит", "title": "Сапфір і Альмадін", "type": "patchouli:text", "anchor": "moon_sapphire" @@ -1603,7 +1603,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 210$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Дацит, Норит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Дацит, Норит, Ріоліт", "title": "Селітра та Електротин", "type": "patchouli:text", "anchor": "moon_saltpeter" @@ -1695,7 +1695,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 260$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Висота$(): 70$(br)$(thing)Радіус$(): 8$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Базальт, Фоноліт", + "text": "$(thing)Рідкість$(): 1/260$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Висота$(): 70$(br)$(thing)Радіус$(): 8$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Базальт, Фоноліт", "title": "Смарагд і Берилій", "type": "patchouli:text", "anchor": "moon_beryllium" @@ -1802,7 +1802,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 210$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 75$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Дацит, Діорит, Норит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 75$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Дацит, Діорит, Норит, Ріоліт", "title": "Срібло, Гален і Свинець", "type": "patchouli:text", "anchor": "moon_silver" @@ -1894,7 +1894,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 190$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 66$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Анортозит, Базальт, Габро, Діорит, Норит", + "text": "$(thing)Рідкість$(): 1/190$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 66$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Анортозит, Базальт, Габро, Діорит, Норит", "title": "Стеатит, Тальк і Трона", "type": "patchouli:text", "anchor": "moon_lubricant" @@ -2001,7 +2001,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 205$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 2 — 75$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Дацит, Фоноліт", + "text": "$(thing)Рідкість$(): 1/205$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 2 — 75$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Дацит, Фоноліт", "title": "Сфалерит і Пірит", "type": "patchouli:text", "anchor": "moon_sphalerite" @@ -2068,7 +2068,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 190$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 50 — 128$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Дацит, Ріоліт, Фоноліт", + "text": "$(thing)Рідкість$(): 1/190$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 50 — 128$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Дацит, Ріоліт, Фоноліт", "title": "Тетраедрит і Халькоцит", "type": "patchouli:text", "anchor": "moon_tetrahedrite" @@ -2160,7 +2160,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 210$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Розмір$(): 45$(br)$(thing)Висота$(): 16$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Анортозит, Базальт, Габро, Дацит, Діорит, Норит, Ріоліт, Фоноліт", + "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Розмір$(): 45$(br)$(thing)Висота$(): 16$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Анортозит, Базальт, Габро, Дацит, Діорит, Норит, Ріоліт, Фоноліт", "title": "Топаз і Халькоцит", "type": "patchouli:text", "anchor": "moon_topaz" @@ -2252,7 +2252,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 280$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Габро, Діорит, Норит", + "text": "$(thing)Рідкість$(): 1/280$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Габро, Діорит, Норит", "title": "Хроміт і Магнетит", "type": "patchouli:text", "anchor": "moon_magnetite" @@ -2359,7 +2359,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 200$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Габро, Ріоліт, Фоноліт", + "text": "$(thing)Рідкість$(): 1/200$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Габро, Ріоліт, Фоноліт", "title": "Шеєліт та Вольфрам", "type": "patchouli:text", "anchor": "moon_scheelite" @@ -2426,7 +2426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 260$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Фоноліт", + "text": "$(thing)Рідкість$(): 1/260$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Фоноліт", "title": "Шелдоніт і Борніт", "type": "patchouli:text", "anchor": "moon_sheldonite" 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 3ab2c99df..aa5bfd365 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 @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 230$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 45$(br)$(thing)Висота$(): 8$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/230$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 45$(br)$(thing)Висота$(): 8$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Аметист, Опал і Гранат", "type": "patchouli:text", "anchor": "nether_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 35$(br)$(thing)Щільність$(): 0.8$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 48 — 127$(br)$(thing)Розмір$(): 13$(br)$(thing)Висота$(): 4$(br2)$(thing)Типи каменю$(): Мігматит", + "text": "$(thing)Рідкість$(): 1/35$(br)$(thing)Щільність$(): 80%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 48 — 127$(br)$(thing)Розмір$(): 13$(br)$(thing)Висота$(): 4$(br2)$(thing)Типи каменю$(): Мігматит", "title": "Антрацит", "type": "patchouli:text", "anchor": "nether_anthracite" @@ -148,7 +148,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 220$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Розмір$(): 39$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс", + "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Розмір$(): 39$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс", "title": "Апатит і Пірохлор", "type": "patchouli:text", "anchor": "nether_apatite" @@ -215,7 +215,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 245$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/245$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Бастнезит і Монацит", "type": "patchouli:text", "anchor": "nether_monazite" @@ -282,7 +282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 250$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Розмір$(): 31$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Розмір$(): 31$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Бентоніт та Олівін", "type": "patchouli:text", "anchor": "nether_olivine" @@ -374,7 +374,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 245$(br)$(thing)Щільність$(): 0.55$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 31$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/245$(br)$(thing)Щільність$(): 55.00000000000001%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 31$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Вульфеніт і Молібденіт", "type": "patchouli:text", "anchor": "nether_molybdenum" @@ -466,7 +466,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 160$(br)$(thing)Щільність$(): 0.5$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 16 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Габро, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/160$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 16 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Габро, Діорит, Піроксеніти", "title": "Гарнієрит і Кобальтит", "type": "patchouli:text", "anchor": "nether_garnierite" @@ -573,7 +573,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 220$(br)$(thing)Щільність$(): 0.45$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 35$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 35$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Гематит та Лімоніт", "type": "patchouli:text", "anchor": "nether_hematite" @@ -680,7 +680,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 240$(br)$(thing)Щільність$(): 0.45$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 37$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/240$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 37$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Гетит", "type": "patchouli:text", "anchor": "nether_goethite" @@ -772,7 +772,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 180$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 9$(br2)$(thing)Типи каменю$(): Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/180$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 9$(br2)$(thing)Типи каменю$(): Мігматит, Піроксеніти, Травертин", "title": "Гіпс і Кальцит", "type": "patchouli:text", "anchor": "nether_gypsum" @@ -864,7 +864,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 270$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/270$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Мігматит, Піроксеніти, Травертин", "title": "Гранат і Каситеритові піски", "type": "patchouli:text", "anchor": "nether_garnet_tin" @@ -956,7 +956,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 120$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 12$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/120$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 12$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Графіт і Діамант", "type": "patchouli:text", "anchor": "nether_graphite" @@ -1023,7 +1023,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 260$(br)$(thing)Щільність$(): 0.55$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 37$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/260$(br)$(thing)Щільність$(): 55.00000000000001%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 37$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Золото та Гематит", "type": "patchouli:text", "anchor": "nether_gold" @@ -1115,7 +1115,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 170$(br)$(thing)Щільність$(): 0.5$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Каситерит", "type": "patchouli:text", "anchor": "nether_cassiterite" @@ -1182,7 +1182,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 150$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Базальт, Габро, Граніт, Діорит, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/150$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Базальт, Габро, Граніт, Діорит, Мігматит, Піроксеніти, Травертин", "title": "Кварц Нижнього Світу", "type": "patchouli:text", "anchor": "nether_quartz" @@ -1249,7 +1249,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 220$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 41$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 41$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Кіаніт, Слюда та Боксити", "type": "patchouli:text", "anchor": "nether_mica" @@ -1316,7 +1316,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 220$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 40$(br2)$(thing)Типи каменю$(): Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 40$(br2)$(thing)Типи каменю$(): Мігматит, Піроксеніти, Травертин", "title": "Лапіс, Лазурит та Содаліт", "type": "patchouli:text", "anchor": "nether_lapis" @@ -1408,7 +1408,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 225$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/225$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Марганець і Тантал", "type": "patchouli:text", "anchor": "nether_manganese" @@ -1500,7 +1500,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 170$(br)$(thing)Щільність$(): 0.5$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Мідь та Халькопірит", "type": "patchouli:text", "anchor": "nether_copper" @@ -1592,7 +1592,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 160$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Розмір$(): 48$(br)$(thing)Висота$(): 9$(br2)$(thing)Типи каменю$(): Базальт, Граніт", + "text": "$(thing)Рідкість$(): 1/160$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Розмір$(): 48$(br)$(thing)Висота$(): 9$(br2)$(thing)Типи каменю$(): Базальт, Граніт", "title": "Мінеральні піски", "type": "patchouli:text", "anchor": "nether_basaltic_sands" @@ -1684,7 +1684,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 200$(br)$(thing)Щільність$(): 0.7$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 38$(br)$(thing)Розмір$(): 32$(br2)$(thing)Типи каменю$(): Базальт, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/200$(br)$(thing)Щільність$(): 70%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 38$(br)$(thing)Розмір$(): 32$(br2)$(thing)Типи каменю$(): Базальт, Піроксеніти", "title": "Наквадак", "type": "patchouli:text", "anchor": "nether_naquadah" @@ -1711,7 +1711,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 160$(br)$(thing)Щільність$(): 0.5$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Граніт, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/160$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Граніт, Піроксеніти", "title": "Редстоун, Кіновар і Рубін", "type": "patchouli:text", "anchor": "nether_redstone" @@ -1778,7 +1778,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 180$(br)$(thing)Щільність$(): 0.45$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 33$(br)$(thing)Висота$(): 8$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/180$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 33$(br)$(thing)Висота$(): 8$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Сапфір і Альмадін", "type": "patchouli:text", "anchor": "nether_sapphire" @@ -1870,7 +1870,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 210$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 50$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 50$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Селітра та Електротин", "type": "patchouli:text", "anchor": "nether_saltpeter" @@ -1962,7 +1962,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 75$(br)$(thing)Щільність$(): 0.6$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 64$(br)$(thing)Розмір$(): 17$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Піроксеніти", + "text": "$(thing)Рідкість$(): 1/75$(br)$(thing)Щільність$(): 60%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 64$(br)$(thing)Розмір$(): 17$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Піроксеніти", "title": "Сильвін", "type": "patchouli:text", "anchor": "nether_sylvite" @@ -1989,7 +1989,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 165$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 50$(br2)$(thing)Типи каменю$(): Аспідний сланець, Базальт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/165$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 50$(br2)$(thing)Типи каменю$(): Аспідний сланець, Базальт, Діорит, Піроксеніти", "title": "Сірка та Пірит", "type": "patchouli:text", "anchor": "nether_sulfur" @@ -2056,7 +2056,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 250$(br)$(thing)Щільність$(): 0.45$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 12$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 12$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Смарагд і Берилій", "type": "patchouli:text", "anchor": "nether_beryllium" @@ -2148,7 +2148,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 160$(br)$(thing)Щільність$(): 0.5$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Гнейс, Граніт, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/160$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Гнейс, Граніт, Піроксеніти", "title": "Срібло, Гален і Свинець", "type": "patchouli:text", "anchor": "nether_silver" @@ -2215,7 +2215,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 250$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 41$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 41$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Стеатит, Тальк і Трона", "type": "patchouli:text", "anchor": "nether_lubricant" @@ -2322,7 +2322,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 170$(br)$(thing)Щільність$(): 0.5$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Сфалерит і Пірит", "type": "patchouli:text", "anchor": "nether_sphalerite" @@ -2389,7 +2389,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 170$(br)$(thing)Щільність$(): 0.5$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Мігматит, Піроксеніти, Травертин", "title": "Тетраедрит", "type": "patchouli:text", "anchor": "nether_tetrahedrite" @@ -2456,7 +2456,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 180$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 33$(br)$(thing)Висота$(): 7$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/180$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 33$(br)$(thing)Висота$(): 7$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Топаз і Халькоцит", "type": "patchouli:text", "anchor": "nether_topaz" @@ -2548,7 +2548,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 250$(br)$(thing)Щільність$(): 0.55$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 24$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 55.00000000000001%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 24$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Ураніт & Пітчбленд", "type": "patchouli:text", "anchor": "nether_pitchblende" @@ -2615,7 +2615,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 205$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 39$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/205$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 39$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Хроміт", "type": "patchouli:text", "anchor": "nether_magnetite" @@ -2722,7 +2722,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 180$(br)$(thing)Щільність$(): 0.45$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 25$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/180$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 25$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Шеєліт та Вольфрам", "type": "patchouli:text", "anchor": "nether_scheelite" @@ -2789,7 +2789,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 250$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 35$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 35$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Шелдоніт і Борніт", "type": "patchouli:text", "anchor": "nether_sheldonite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json index 0802695cd..735043c1f 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 30$(br)$(thing)Щільність$(): 0.2$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт, Травертин, Трахіт", + "text": "$(thing)Рідкість$(): 1/30$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт, Травертин, Трахіт", "title": "Сірка та Пірит", "type": "patchouli:text", "anchor": "venus_manual_sulfur" @@ -86,7 +86,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 30$(br)$(thing)Щільність$(): 0.2$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт, Травертин, Трахіт", + "text": "$(thing)Рідкість$(): 1/30$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт, Травертин, Трахіт", "title": "Солі і Сподумен", "type": "patchouli:text", "anchor": "venus_manual_salt" 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 c5d7b62a3..119016ffc 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 140$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 20 — 120$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 10$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 燧石, 片岩, 片麻岩, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/140$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 20 — 120$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 10$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 燧石, 片岩, 片麻岩, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "塔基安矿, 油砂", "type": "patchouli:text", "anchor": "normal_tarkianite" @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 240$(br)$(thing)密度$(): 0.45$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — -20$(br)$(thing)尺寸$(): 19$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/240$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — -20$(br)$(thing)尺寸$(): 19$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", "title": "晶质铀矿, 沥青铀矿", "type": "patchouli:text", "anchor": "deep_pitchblende" @@ -198,7 +198,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 205$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 50$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/205$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 50$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", "title": "氟碳镧铈矿, 独居石", "type": "patchouli:text", "anchor": "normal_monazite" @@ -265,7 +265,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 185$(br)$(thing)密度$(): 0.2$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 55$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", + "text": "$(thing)稀有度$(): 1/185$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 55$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", "title": "油砂", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -292,7 +292,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 215$(br)$(thing)密度$(): 0.55$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 210$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", + "text": "$(thing)稀有度$(): 1/215$(br)$(thing)密度$(): 55.00000000000001%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 210$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", "title": "煤炭", "type": "patchouli:text", "anchor": "normal_coal" @@ -319,7 +319,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 240$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 0$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/240$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 0$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", "title": "白钨矿, 钨酸锂", "type": "patchouli:text", "anchor": "deep_scheelite" @@ -386,7 +386,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 190$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -40 — 56$(br)$(thing)尺寸$(): 36$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/190$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -40 — 56$(br)$(thing)尺寸$(): 36$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", "title": "皂石, 滑石, 天然碱", "type": "patchouli:text", "anchor": "normal_lubricant" @@ -493,7 +493,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 175$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 30 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 4$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 石灰岩, 粘土岩, 页岩", + "text": "$(thing)稀有度$(): 1/175$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 30 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 4$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 石灰岩, 粘土岩, 页岩", "title": "盐, 硼砂", "type": "patchouli:text", "anchor": "normal_salt" @@ -585,7 +585,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 270$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -40 — 64$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 燧石, 片岩, 片麻岩, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/270$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -40 — 64$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 燧石, 片岩, 片麻岩, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "石榴石, 锡石矿砂", "type": "patchouli:text", "anchor": "normal_garnet_tin" @@ -677,7 +677,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 180$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 9$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", + "text": "$(thing)稀有度$(): 1/180$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 9$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", "title": "石膏, 方解石", "type": "patchouli:text", "anchor": "normal_gypsum" @@ -769,7 +769,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 190$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 100$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 石英岩, 页岩", + "text": "$(thing)稀有度$(): 1/190$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 100$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 石英岩, 页岩", "title": "石英", "type": "patchouli:text", "anchor": "normal_quartz" @@ -836,7 +836,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 80$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — -16$(br)$(thing)尺寸$(): 16$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 燧石, 片岩, 片麻岩, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/80$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — -16$(br)$(thing)尺寸$(): 16$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 燧石, 片岩, 片麻岩, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "石墨, 钻石", "type": "patchouli:text", "anchor": "normal_graphite" @@ -903,7 +903,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 160$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 48$(br)$(thing)高度$(): 9$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 玄武岩, 花岗岩", + "text": "$(thing)稀有度$(): 1/160$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 48$(br)$(thing)高度$(): 9$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 玄武岩, 花岗岩", "title": "矿砂", "type": "patchouli:text", "anchor": "normal_basaltic_sands" @@ -995,7 +995,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 160$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 70$(br2)$(thing)岩石类型$(): 辉长岩, 闪长岩$(br2)找不到吗?辉长岩总是生成在$(thing)玄武岩$()的下方,而且在海洋中的辉长岩岩脉也可能有用!", + "text": "$(thing)稀有度$(): 1/160$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 70$(br2)$(thing)岩石类型$(): 辉长岩, 闪长岩$(br2)找不到吗?辉长岩总是生成在$(thing)玄武岩$()的下方,而且在海洋中的辉长岩岩脉也可能有用!", "title": "硅镁镍矿, 辉钴矿", "type": "patchouli:text", "anchor": "normal_garnierite" @@ -1102,7 +1102,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 210$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", "title": "硝石, 蓝石", "type": "patchouli:text", "anchor": "normal_saltpeter" @@ -1194,7 +1194,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 165$(br)$(thing)密度$(): 0.2$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 210$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", + "text": "$(thing)稀有度$(): 1/165$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 210$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", "title": "硫, 黄铁矿", "type": "patchouli:text", "anchor": "normal_sulfur" @@ -1261,7 +1261,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 320$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 0$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", + "text": "$(thing)稀有度$(): 1/320$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 0$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", "title": "硫铂矿, 斑铜矿", "type": "patchouli:text", "anchor": "deep_sheldonite" @@ -1328,7 +1328,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 200$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", + "text": "$(thing)稀有度$(): 1/200$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", "title": "磁铁矿, 钒", "type": "patchouli:text", "anchor": "normal_magnetite" @@ -1420,7 +1420,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 170$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 120$(br)$(thing)尺寸$(): 34$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 120$(br)$(thing)尺寸$(): 34$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", "title": "磷灰石, 烧绿石", "type": "patchouli:text", "anchor": "normal_apatite" @@ -1487,7 +1487,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 230$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — 26$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 8$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 燧石, 片岩, 片麻岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 页岩", + "text": "$(thing)稀有度$(): 1/230$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — 26$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 8$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 燧石, 片岩, 片麻岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 页岩", "title": "紫水晶, 石榴石", "type": "patchouli:text", "anchor": "deep_garnet_amethyst" @@ -1579,7 +1579,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 160$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 100$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 花岗岩$(br2)找不到吗?花岗岩总是生成在$(thing)流纹岩$()的下方,而且在海洋中寻找也可能有用!", + "text": "$(thing)稀有度$(): 1/160$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 100$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 花岗岩$(br2)找不到吗?花岗岩总是生成在$(thing)流纹岩$()的下方,而且在海洋中寻找也可能有用!", "title": "红石, 朱砂, 红宝石", "type": "patchouli:text", "anchor": "normal_redstone" @@ -1646,7 +1646,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 250$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): -32 — 50$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 10$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", + "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): -32 — 50$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 10$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", "title": "绿宝石, 铍矿", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -1713,7 +1713,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 180$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -40 — 30$(br)$(thing)尺寸$(): 26$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/180$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -40 — 30$(br)$(thing)尺寸$(): 26$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", "title": "膨润土, 橄榄石", "type": "patchouli:text", "anchor": "normal_olivine" @@ -1805,7 +1805,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 180$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — 32$(br)$(thing)尺寸$(): 28$(br)$(thing)高度$(): 8$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/180$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — 32$(br)$(thing)尺寸$(): 28$(br)$(thing)高度$(): 8$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩, 闪长岩", "title": "蓝宝石, 铁铝榴石", "type": "patchouli:text", "anchor": "deep_sapphire" @@ -1897,7 +1897,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 190$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 210$(br)$(thing)尺寸$(): 36$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/190$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 210$(br)$(thing)尺寸$(): 36$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", "title": "蓝晶石, 云母, 铝土矿", "type": "patchouli:text", "anchor": "normal_mica" @@ -1989,7 +1989,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 220$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — 62$(br)$(thing)尺寸$(): 26$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — 62$(br)$(thing)尺寸$(): 26$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", "title": "蛋白石, 石榴石", "type": "patchouli:text", "anchor": "deep_garnet_opal" @@ -2081,7 +2081,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 190$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 大理岩, 石灰岩", + "text": "$(thing)稀有度$(): 1/190$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 大理岩, 石灰岩", "title": "褐铁矿", "type": "patchouli:text", "anchor": "normal_limonite" @@ -2173,7 +2173,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 210$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", + "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", "title": "赤铁矿, 褐铁矿", "type": "patchouli:text", "anchor": "normal_hematite" @@ -2265,7 +2265,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 220$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 30$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", + "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 30$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", "title": "赤铁矿, 针铁矿, 红宝石", "type": "patchouli:text", "anchor": "deep_hematite" @@ -2372,7 +2372,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 140$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 60 — 210$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 花岗岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/140$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 60 — 210$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 花岗岩, 辉长岩, 闪长岩, 页岩", "title": "辉铋矿 (地表)", "type": "patchouli:text", "anchor": "surface_bismuthinite" @@ -2464,7 +2464,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 170$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 花岗岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 花岗岩, 辉长岩, 闪长岩, 页岩", "title": "辉铋矿 (普通)", "type": "patchouli:text", "anchor": "normal_bismuthinite" @@ -2556,7 +2556,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 260$(br)$(thing)密度$(): 0.45$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 30$(br)$(thing)尺寸$(): 32$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/260$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 30$(br)$(thing)尺寸$(): 32$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", "title": "金矿 (深层)", "type": "patchouli:text", "anchor": "deep_gold" @@ -2648,7 +2648,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 170$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 12$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 12$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", "title": "金矿, 褐铁矿, 赤铁矿", "type": "patchouli:text", "anchor": "normal_gold" @@ -2740,7 +2740,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 240$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 30$(br)$(thing)尺寸$(): 32$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 大理岩, 石灰岩", + "text": "$(thing)稀有度$(): 1/240$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 30$(br)$(thing)尺寸$(): 32$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 大理岩, 石灰岩", "title": "针铁矿, 孔雀石", "type": "patchouli:text", "anchor": "deep_limonite" @@ -2832,7 +2832,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 245$(br)$(thing)密度$(): 0.45$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 10$(br)$(thing)尺寸$(): 26$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/245$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 10$(br)$(thing)尺寸$(): 26$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", "title": "钼铅矿, 辉钼矿", "type": "patchouli:text", "anchor": "deep_molybdenum" @@ -2899,7 +2899,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 170$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 85$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", + "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 85$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", "title": "铜矿, 黄铜矿", "type": "patchouli:text", "anchor": "normal_copper" @@ -2991,7 +2991,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 225$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 30$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 大理岩, 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", + "text": "$(thing)稀有度$(): 1/225$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 30$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 大理岩, 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", "title": "铬铁矿, 磁铁矿", "type": "patchouli:text", "anchor": "deep_magnetite" @@ -3098,7 +3098,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 160$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 片麻岩, 花岗岩", + "text": "$(thing)稀有度$(): 1/160$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 片麻岩, 花岗岩", "title": "银矿, 方铅矿, 铅矿", "type": "patchouli:text", "anchor": "normal_silver" @@ -3165,7 +3165,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 180$(br)$(thing)密度$(): 0.375$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 20 — 60$(br)$(thing)尺寸$(): 35$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/180$(br)$(thing)密度$(): 37.5%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 20 — 60$(br)$(thing)尺寸$(): 35$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", "title": "锂辉石, 锂云母", "type": "patchouli:text", "anchor": "normal_spodumene" @@ -3257,7 +3257,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 135$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 60 — 210$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/135$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 60 — 210$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", "title": "锡石矿 (地表)", "type": "patchouli:text", "anchor": "surface_cassiterite" @@ -3324,7 +3324,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 170$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", "title": "锡石矿 (普通)", "type": "patchouli:text", "anchor": "normal_cassiterite" @@ -3391,7 +3391,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 195$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 英安岩, 页岩", + "text": "$(thing)稀有度$(): 1/195$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 英安岩, 页岩", "title": "锰矿, 钽矿", "type": "patchouli:text", "anchor": "normal_manganese" @@ -3483,7 +3483,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 145$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 60 — 210$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 片岩, 片麻岩, 玄武岩, 石英岩, 英安岩", + "text": "$(thing)稀有度$(): 1/145$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 60 — 210$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 片岩, 片麻岩, 玄武岩, 石英岩, 英安岩", "title": "闪锌矿, 硫", "type": "patchouli:text", "anchor": "surface_sphalerite" @@ -3550,7 +3550,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 170$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 片岩, 片麻岩, 玄武岩, 石英岩, 英安岩", + "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 片岩, 片麻岩, 玄武岩, 石英岩, 英安岩", "title": "闪锌矿, 黄铁矿", "type": "patchouli:text", "anchor": "normal_sphalerite" @@ -3617,7 +3617,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 170$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -60 — 10$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", + "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -60 — 10$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", "title": "青金石, 蓝金石, 方钠石", "type": "patchouli:text", "anchor": "normal_lapis" @@ -3709,7 +3709,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 260$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — 26$(br)$(thing)尺寸$(): 28$(br)$(thing)高度$(): 7$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", + "text": "$(thing)稀有度$(): 1/260$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — 26$(br)$(thing)尺寸$(): 28$(br)$(thing)高度$(): 7$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", "title": "黄玉, 辉铜矿", "type": "patchouli:text", "anchor": "deep_topaz" @@ -3801,7 +3801,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 200$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 217$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", + "text": "$(thing)稀有度$(): 1/200$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 217$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", "title": "黄铜矿, 雄黄", "type": "patchouli:text", "anchor": "surface_copper" @@ -3893,7 +3893,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 140$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 60 — 210$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", + "text": "$(thing)稀有度$(): 1/140$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 60 — 210$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", "title": "黝铜矿 (地表)", "type": "patchouli:text", "anchor": "surface_tetrahedrite" @@ -3960,7 +3960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 170$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", + "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", "title": "黝铜矿 (普通)", "type": "patchouli:text", "anchor": "normal_tetrahedrite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json index 9335ca7e4..db5bbf7a0 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 370$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -20 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 砾岩, 粗面岩, 红花岗岩, 英安岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/370$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -20 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 砾岩, 粗面岩, 红花岗岩, 英安岩, 闪长岩", "title": "斑铜矿, 硫铂矿", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 215$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 粗面岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/215$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 粗面岩, 辉长岩, 闪长岩", "title": "氟碳镧铈矿, 独居石", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -213,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 370$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -20 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 粗面岩, 粘土岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/370$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -20 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 粗面岩, 粘土岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "沥青铀矿, 方钍石, 晶质铀矿", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -280,7 +280,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 220$(br)$(thing)密度$(): 0.55$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 白云岩, 砾岩, 粗面岩, 红花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 55.00000000000001%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 白云岩, 砾岩, 粗面岩, 红花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "沥青铀矿, 方钍石, 赤铁矿", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -347,7 +347,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 215$(br)$(thing)密度$(): 0.6$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 55$(br)$(thing)指示器最大深度$(): 10$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 白垩岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/215$(br)$(thing)密度$(): 60%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 55$(br)$(thing)指示器最大深度$(): 10$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 白垩岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 闪长岩", "title": "煤炭, 赤铁矿", "type": "patchouli:text", "anchor": "mars_coal" @@ -399,7 +399,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 280$(br)$(thing)密度$(): 0.45$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 粘土岩, 红花岗岩, 页岩", + "text": "$(thing)稀有度$(): 1/280$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 粘土岩, 红花岗岩, 页岩", "title": "白钨矿, 钨酸锂", "type": "patchouli:text", "anchor": "mars_tungsten" @@ -491,7 +491,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 220$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 白云岩, 石灰岩, 砾岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 白云岩, 石灰岩, 砾岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 闪长岩, 页岩", "title": "皂石, 滑石, 海绿石矿砂", "type": "patchouli:text", "anchor": "mars_lubricant" @@ -623,7 +623,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 210$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白垩岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白垩岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 闪长岩", "title": "盐, 锂辉石", "type": "patchouli:text", "anchor": "mars_salt" @@ -715,7 +715,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 210$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白垩岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 页岩", + "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白垩岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 页岩", "title": "石英岩, 石棉, 重晶石", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -807,7 +807,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 220$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 9$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 泥板岩, 粗面岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 9$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 泥板岩, 粗面岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", "title": "石墨, 钻石", "type": "patchouli:text", "anchor": "mars_graphite" @@ -899,7 +899,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 250$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 55$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白垩岩, 石灰岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 页岩", + "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 55$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白垩岩, 石灰岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 页岩", "title": "硅镁镍矿, 辉钴矿", "type": "patchouli:text", "anchor": "mars_nickel" @@ -991,7 +991,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 220$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 燧石, 玄武岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 英安岩, 页岩", + "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 燧石, 玄武岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 英安岩, 页岩", "title": "磷灰石, 烧绿石", "type": "patchouli:text", "anchor": "mars_apatite" @@ -1083,7 +1083,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 370$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -20 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 石灰岩, 粘土岩, 英安岩, 页岩", + "text": "$(thing)稀有度$(): 1/370$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -20 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 石灰岩, 粘土岩, 英安岩, 页岩", "title": "红石, 铬铁矿", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1150,7 +1150,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 350$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): -20 — 50$(br)$(thing)高度$(): 40$(br)$(thing)半径$(): 8$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", + "text": "$(thing)稀有度$(): 1/350$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): -20 — 50$(br)$(thing)高度$(): 40$(br)$(thing)半径$(): 8$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", "title": "绿宝石, 铍矿", "type": "patchouli:text", "anchor": "mars_beryllium" @@ -1217,7 +1217,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 210$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 石灰岩, 砾岩, 粘土岩, 红花岗岩, 英安岩", + "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 石灰岩, 砾岩, 粘土岩, 红花岗岩, 英安岩", "title": "赤铁矿, 褐铁矿", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1309,7 +1309,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 140$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/140$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "赤铁矿, 褐铁矿", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1401,7 +1401,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 140$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/140$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "辉铋矿", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -1493,7 +1493,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 230$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 燧石, 白垩岩, 粘土岩, 花岗岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/230$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 燧石, 白垩岩, 粘土岩, 花岗岩, 辉长岩, 闪长岩, 页岩", "title": "金矿, 蓝石, 铝土矿", "type": "patchouli:text", "anchor": "mars_gold" @@ -1585,7 +1585,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 280$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 65$(br)$(thing)高度$(): 8$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白云岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/280$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 65$(br)$(thing)高度$(): 8$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白云岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 辉长岩, 闪长岩, 页岩", "title": "铁铝榴石, 蓝宝石", "type": "patchouli:text", "anchor": "mars_almandine" @@ -1692,7 +1692,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 220$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 英安岩, 页岩", + "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 英安岩, 页岩", "title": "铜矿, 黄铜矿", "type": "patchouli:text", "anchor": "mars_copper" @@ -1784,7 +1784,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 215$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 页岩", + "text": "$(thing)稀有度$(): 1/215$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 页岩", "title": "银矿, 方铅矿, 铅矿", "type": "patchouli:text", "anchor": "mars_galena" @@ -1876,7 +1876,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 135$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/135$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "锡石矿", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -1943,7 +1943,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 230$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 42$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 辉长岩, 页岩", + "text": "$(thing)稀有度$(): 1/230$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 42$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 辉长岩, 页岩", "title": "锰矿, 钽矿", "type": "patchouli:text", "anchor": "mars_tantalite" @@ -2035,7 +2035,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 150$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/150$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "闪锌矿, 方铅矿", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2142,7 +2142,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 215$(br)$(thing)密度$(): 0.2$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 粗面岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/215$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 粗面岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", "title": "闪锌矿, 黄铁矿", "type": "patchouli:text", "anchor": "mars_sulfur" @@ -2234,7 +2234,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 200$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白云岩, 白垩岩, 石灰岩, 页岩", + "text": "$(thing)稀有度$(): 1/200$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白云岩, 白垩岩, 石灰岩, 页岩", "title": "青金石, 蓝金石, 方钠石", "type": "patchouli:text", "anchor": "mars_lapis" @@ -2326,7 +2326,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 140$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/140$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "黝铜矿 (地表)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2418,7 +2418,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 210$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 粗面岩, 红花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 粗面岩, 红花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "黝铜矿 (普通)", "type": "patchouli:text", "anchor": "mars_stibnite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_vein_index.json index 0525d88cb..6e69d62d6 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 230$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 10 — 80$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 安山岩, 玄武岩, 英安岩, 辉长岩", + "text": "$(thing)稀有度$(): 1/230$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 10 — 80$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 安山岩, 玄武岩, 英安岩, 辉长岩", "title": "戴斯矿, 钛铁矿", "type": "patchouli:text", "anchor": "moon_desh" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 310$(br)$(thing)密度$(): 0.2$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 流纹岩, 英安岩", + "text": "$(thing)稀有度$(): 1/310$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 流纹岩, 英安岩", "title": "氟碳镧铈矿, 独居石", "type": "patchouli:text", "anchor": "moon_monazite" @@ -213,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 200$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 流纹岩, 辉长岩", + "text": "$(thing)稀有度$(): 1/200$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 流纹岩, 辉长岩", "title": "白钨矿, 钨酸锂", "type": "patchouli:text", "anchor": "moon_scheelite" @@ -280,7 +280,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 190$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 66$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 斜长岩, 玄武岩, 苏长岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/190$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 66$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 斜长岩, 玄武岩, 苏长岩, 辉长岩, 闪长岩", "title": "皂石, 滑石, 天然碱", "type": "patchouli:text", "anchor": "moon_lubricant" @@ -387,7 +387,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 180$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 10 — 100$(br)$(thing)尺寸$(): 30$(br)$(thing)高度$(): 9$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 响岩, 斜长岩, 苏长岩", + "text": "$(thing)稀有度$(): 1/180$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 10 — 100$(br)$(thing)尺寸$(): 30$(br)$(thing)高度$(): 9$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 响岩, 斜长岩, 苏长岩", "title": "石膏, 方解石", "type": "patchouli:text", "anchor": "moon_gypsum" @@ -494,7 +494,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 260$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 9$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 斜长岩, 玄武岩, 玄武岩, 辉长岩", + "text": "$(thing)稀有度$(): 1/260$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 9$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 斜长岩, 玄武岩, 玄武岩, 辉长岩", "title": "石墨, 钻石", "type": "patchouli:text", "anchor": "moon_graphite" @@ -561,7 +561,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 250$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 5 — 85$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 流纹岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 5 — 85$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 流纹岩, 辉长岩, 闪长岩", "title": "硅镁镍矿, 辉钴矿", "type": "patchouli:text", "anchor": "moon_garnierite" @@ -668,7 +668,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 210$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 90$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 苏长岩, 英安岩", + "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 90$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 苏长岩, 英安岩", "title": "硝石, 蓝石", "type": "patchouli:text", "anchor": "moon_saltpeter" @@ -760,7 +760,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 260$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 玄武岩", + "text": "$(thing)稀有度$(): 1/260$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 玄武岩", "title": "硫铂矿, 斑铜矿", "type": "patchouli:text", "anchor": "moon_sheldonite" @@ -852,7 +852,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 250$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 100$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 斜长岩, 苏长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 100$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 斜长岩, 苏长岩, 闪长岩", "title": "磷灰石, 烧绿石", "type": "patchouli:text", "anchor": "moon_apatite" @@ -944,7 +944,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 230$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 10 — 128$(br)$(thing)尺寸$(): 35$(br)$(thing)高度$(): 7$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩", + "text": "$(thing)稀有度$(): 1/230$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 10 — 128$(br)$(thing)尺寸$(): 35$(br)$(thing)高度$(): 7$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩", "title": "紫水晶, 蛋白石, 石榴石", "type": "patchouli:text", "anchor": "moon_garnet" @@ -1036,7 +1036,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 250$(br)$(thing)密度$(): 0.2$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 100$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 英安岩", + "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 100$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 英安岩", "title": "红石, 朱砂, 红宝石", "type": "patchouli:text", "anchor": "moon_redstone" @@ -1128,7 +1128,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 260$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)高度$(): 70$(br)$(thing)半径$(): 8$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 斜长岩, 玄武岩", + "text": "$(thing)稀有度$(): 1/260$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)高度$(): 70$(br)$(thing)半径$(): 8$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 斜长岩, 玄武岩", "title": "绿宝石, 铍矿", "type": "patchouli:text", "anchor": "moon_beryllium" @@ -1235,7 +1235,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 280$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 100$(br)$(thing)尺寸$(): 28$(br)$(thing)高度$(): 8$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 玄武岩, 苏长岩", + "text": "$(thing)稀有度$(): 1/280$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 100$(br)$(thing)尺寸$(): 28$(br)$(thing)高度$(): 8$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 玄武岩, 苏长岩", "title": "蓝宝石, 铁铝榴石", "type": "patchouli:text", "anchor": "moon_sapphire" @@ -1342,7 +1342,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 250$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 斜长岩, 苏长岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 斜长岩, 苏长岩, 辉长岩, 闪长岩", "title": "蓝晶石, 云母, 铝土矿", "type": "patchouli:text", "anchor": "moon_mica" @@ -1449,7 +1449,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 230$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 10 — 100$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 80$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 斜长岩, 流纹岩, 玄武岩, 苏长岩, 英安岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/230$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 10 — 100$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 80$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 斜长岩, 流纹岩, 玄武岩, 苏长岩, 英安岩, 辉长岩, 闪长岩", "title": "赛特斯石英矿", "type": "patchouli:text", "anchor": "moon_quartz" @@ -1541,7 +1541,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 210$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 80$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 安山岩, 斜长岩, 玄武岩, 苏长岩, 辉长岩", + "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 80$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 安山岩, 斜长岩, 玄武岩, 苏长岩, 辉长岩", "title": "软锰矿 & 钴矿", "type": "patchouli:text", "anchor": "moon_pyrolusite" @@ -1633,7 +1633,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 170$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 10 — 80$(br)$(thing)尺寸$(): 35$(br)$(thing)高度$(): 10$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 玄武岩, 花岗岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 10 — 80$(br)$(thing)尺寸$(): 35$(br)$(thing)高度$(): 10$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 玄武岩, 花岗岩, 闪长岩", "title": "金矿, 磁铁矿", "type": "patchouli:text", "anchor": "moon_gold" @@ -1725,7 +1725,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 245$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 50$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 玄武岩, 苏长岩, 英安岩, 辉长岩", + "text": "$(thing)稀有度$(): 1/245$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 50$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 玄武岩, 苏长岩, 英安岩, 辉长岩", "title": "钼铅矿, 辉钼矿", "type": "patchouli:text", "anchor": "moon_molybdenum" @@ -1817,7 +1817,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 200$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 80$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 斜长岩, 流纹岩, 玄武岩, 苏长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/200$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 80$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 斜长岩, 流纹岩, 玄武岩, 苏长岩, 闪长岩", "title": "铝土矿, 钛铁矿", "type": "patchouli:text", "anchor": "moon_bauxite" @@ -1884,7 +1884,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 280$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 90$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 斜长岩, 苏长岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/280$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 90$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 斜长岩, 苏长岩, 辉长岩, 闪长岩", "title": "铬铁矿, 磁铁矿", "type": "patchouli:text", "anchor": "moon_magnetite" @@ -1991,7 +1991,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 210$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 75$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 斜长岩, 流纹岩, 苏长岩, 英安岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 75$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 斜长岩, 流纹岩, 苏长岩, 英安岩, 闪长岩", "title": "银矿, 方铅矿, 铅矿", "type": "patchouli:text", "anchor": "moon_silver" @@ -2083,7 +2083,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 210$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 10 — 128$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 花岗岩, 苏长岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 10 — 128$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 花岗岩, 苏长岩, 辉长岩, 闪长岩", "title": "锡石矿, 黄铜矿", "type": "patchouli:text", "anchor": "moon_cassiterite" @@ -2175,7 +2175,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 215$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 5 — 80$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 玄武岩, 玄武岩, 苏长岩, 英安岩, 辉长岩", + "text": "$(thing)稀有度$(): 1/215$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 5 — 80$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 玄武岩, 玄武岩, 苏长岩, 英安岩, 辉长岩", "title": "锰矿, 钽矿", "type": "patchouli:text", "anchor": "moon_manganese" @@ -2267,7 +2267,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 205$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 2 — 75$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 玄武岩, 英安岩, 辉长岩", + "text": "$(thing)稀有度$(): 1/205$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 2 — 75$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 玄武岩, 英安岩, 辉长岩", "title": "闪锌矿, 黄铁矿", "type": "patchouli:text", "anchor": "moon_sphalerite" @@ -2334,7 +2334,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 210$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)尺寸$(): 45$(br)$(thing)高度$(): 16$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 斜长岩, 流纹岩, 玄武岩, 苏长岩, 英安岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)尺寸$(): 45$(br)$(thing)高度$(): 16$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 斜长岩, 流纹岩, 玄武岩, 苏长岩, 英安岩, 辉长岩, 闪长岩", "title": "黄玉, 辉铜矿", "type": "patchouli:text", "anchor": "moon_topaz" @@ -2426,7 +2426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 190$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 50 — 128$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 流纹岩, 英安岩", + "text": "$(thing)稀有度$(): 1/190$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 50 — 128$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 流纹岩, 英安岩", "title": "黝铜矿, 辉铜矿", "type": "patchouli:text", "anchor": "moon_tetrahedrite" 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 4bd56781e..be5948682 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 @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 150$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/150$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "下界石英", "type": "patchouli:text", "anchor": "nether_quartz" @@ -96,7 +96,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 35$(br)$(thing)密度$(): 0.8$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 48 — 127$(br)$(thing)尺寸$(): 13$(br)$(thing)高度$(): 4$(br2)$(thing)岩石类型$(): 混合岩", + "text": "$(thing)稀有度$(): 1/35$(br)$(thing)密度$(): 80%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 48 — 127$(br)$(thing)尺寸$(): 13$(br)$(thing)高度$(): 4$(br2)$(thing)岩石类型$(): 混合岩", "title": "无烟煤", "type": "patchouli:text", "anchor": "nether_anthracite" @@ -123,7 +123,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 250$(br)$(thing)密度$(): 0.55$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 24$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 55.00000000000001%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 24$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "晶质铀矿, 沥青铀矿", "type": "patchouli:text", "anchor": "nether_pitchblende" @@ -190,7 +190,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 245$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 24 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/245$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 24 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "氟碳镧铈矿, 独居石", "type": "patchouli:text", "anchor": "nether_monazite" @@ -257,7 +257,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 180$(br)$(thing)密度$(): 0.45$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 25$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/180$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 25$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "白钨矿, 钨酸锂", "type": "patchouli:text", "anchor": "nether_scheelite" @@ -324,7 +324,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 250$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 41$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 41$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "皂石, 滑石, 天然碱", "type": "patchouli:text", "anchor": "nether_lubricant" @@ -431,7 +431,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 270$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 24 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 片岩, 片麻岩, 石灰华, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/270$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 24 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 片岩, 片麻岩, 石灰华, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "石榴石, 锡石矿砂", "type": "patchouli:text", "anchor": "nether_garnet_tin" @@ -523,7 +523,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 180$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 9$(br2)$(thing)岩石类型$(): 混合岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/180$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 9$(br2)$(thing)岩石类型$(): 混合岩, 石灰华, 辉石岩", "title": "石膏, 方解石", "type": "patchouli:text", "anchor": "nether_gypsum" @@ -615,7 +615,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 120$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 12$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/120$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 12$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "石墨, 钻石", "type": "patchouli:text", "anchor": "nether_graphite" @@ -682,7 +682,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 160$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 48 — 128$(br)$(thing)尺寸$(): 48$(br)$(thing)高度$(): 9$(br2)$(thing)岩石类型$(): 玄武岩, 花岗岩", + "text": "$(thing)稀有度$(): 1/160$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 48 — 128$(br)$(thing)尺寸$(): 48$(br)$(thing)高度$(): 9$(br2)$(thing)岩石类型$(): 玄武岩, 花岗岩", "title": "矿砂", "type": "patchouli:text", "anchor": "nether_basaltic_sands" @@ -774,7 +774,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 200$(br)$(thing)密度$(): 0.7$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 38$(br)$(thing)尺寸$(): 32$(br2)$(thing)岩石类型$(): 玄武岩, 辉石岩", + "text": "$(thing)稀有度$(): 1/200$(br)$(thing)密度$(): 70%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 38$(br)$(thing)尺寸$(): 32$(br2)$(thing)岩石类型$(): 玄武岩, 辉石岩", "title": "硅岩", "type": "patchouli:text", "anchor": "nether_naquadah" @@ -801,7 +801,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 160$(br)$(thing)密度$(): 0.5$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 16 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/160$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 16 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 辉石岩, 辉长岩, 闪长岩", "title": "硅镁镍矿, 辉钴矿", "type": "patchouli:text", "anchor": "nether_garnierite" @@ -908,7 +908,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 210$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 50$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 50$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "硝石, 蓝石", "type": "patchouli:text", "anchor": "nether_saltpeter" @@ -1000,7 +1000,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 165$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 50$(br2)$(thing)岩石类型$(): 片岩, 玄武岩, 辉石岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/165$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 50$(br2)$(thing)岩石类型$(): 片岩, 玄武岩, 辉石岩, 闪长岩", "title": "硫, 黄铁矿", "type": "patchouli:text", "anchor": "nether_sulfur" @@ -1067,7 +1067,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 250$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 35$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 35$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "硫铂矿, 斑铜矿", "type": "patchouli:text", "anchor": "nether_sheldonite" @@ -1159,7 +1159,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 220$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 48 — 128$(br)$(thing)尺寸$(): 39$(br2)$(thing)岩石类型$(): 片岩, 片麻岩", + "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 48 — 128$(br)$(thing)尺寸$(): 39$(br2)$(thing)岩石类型$(): 片岩, 片麻岩", "title": "磷灰石, 烧绿石", "type": "patchouli:text", "anchor": "nether_apatite" @@ -1226,7 +1226,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 230$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 45$(br)$(thing)高度$(): 8$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/230$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 45$(br)$(thing)高度$(): 8$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "紫水晶, 蛋白石, 石榴石", "type": "patchouli:text", "anchor": "nether_garnet" @@ -1318,7 +1318,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 160$(br)$(thing)密度$(): 0.5$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 花岗岩, 辉石岩", + "text": "$(thing)稀有度$(): 1/160$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 花岗岩, 辉石岩", "title": "红石, 朱砂, 红宝石", "type": "patchouli:text", "anchor": "nether_redstone" @@ -1385,7 +1385,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 250$(br)$(thing)密度$(): 0.45$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 12$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 12$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "绿宝石, 铍矿", "type": "patchouli:text", "anchor": "nether_beryllium" @@ -1477,7 +1477,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 250$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 24 — 128$(br)$(thing)尺寸$(): 31$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 24 — 128$(br)$(thing)尺寸$(): 31$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "膨润土, 橄榄石", "type": "patchouli:text", "anchor": "nether_olivine" @@ -1569,7 +1569,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 180$(br)$(thing)密度$(): 0.45$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 33$(br)$(thing)高度$(): 8$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/180$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 33$(br)$(thing)高度$(): 8$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "蓝宝石, 铁铝榴石", "type": "patchouli:text", "anchor": "nether_sapphire" @@ -1661,7 +1661,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 220$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 41$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 41$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "蓝晶石, 云母, 铝土矿", "type": "patchouli:text", "anchor": "nether_mica" @@ -1728,7 +1728,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 220$(br)$(thing)密度$(): 0.45$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 35$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 35$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "赤铁矿, 褐铁矿", "type": "patchouli:text", "anchor": "nether_hematite" @@ -1835,7 +1835,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 260$(br)$(thing)密度$(): 0.55$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 37$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/260$(br)$(thing)密度$(): 55.00000000000001%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 37$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "金矿, 赤铁矿", "type": "patchouli:text", "anchor": "nether_gold" @@ -1927,7 +1927,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 240$(br)$(thing)密度$(): 0.45$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 37$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/240$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 37$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "针铁矿", "type": "patchouli:text", "anchor": "nether_goethite" @@ -2019,7 +2019,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 245$(br)$(thing)密度$(): 0.55$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 31$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/245$(br)$(thing)密度$(): 55.00000000000001%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 31$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "钼铅矿, 辉钼矿", "type": "patchouli:text", "anchor": "nether_molybdenum" @@ -2111,7 +2111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 75$(br)$(thing)密度$(): 0.6$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 64$(br)$(thing)尺寸$(): 17$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 辉石岩", + "text": "$(thing)稀有度$(): 1/75$(br)$(thing)密度$(): 60%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 64$(br)$(thing)尺寸$(): 17$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 辉石岩", "title": "钾石盐", "type": "patchouli:text", "anchor": "nether_sylvite" @@ -2138,7 +2138,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 170$(br)$(thing)密度$(): 0.5$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "铜矿, 黄铜矿", "type": "patchouli:text", "anchor": "nether_copper" @@ -2230,7 +2230,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 205$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 39$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/205$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 39$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "铬铁矿", "type": "patchouli:text", "anchor": "nether_magnetite" @@ -2337,7 +2337,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 160$(br)$(thing)密度$(): 0.5$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 24 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 片麻岩, 花岗岩, 辉石岩", + "text": "$(thing)稀有度$(): 1/160$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 24 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 片麻岩, 花岗岩, 辉石岩", "title": "银矿, 方铅矿, 铅矿", "type": "patchouli:text", "anchor": "nether_silver" @@ -2404,7 +2404,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 170$(br)$(thing)密度$(): 0.5$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "锡石矿", "type": "patchouli:text", "anchor": "nether_cassiterite" @@ -2471,7 +2471,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 225$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/225$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "锰矿, 钽矿", "type": "patchouli:text", "anchor": "nether_manganese" @@ -2563,7 +2563,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 170$(br)$(thing)密度$(): 0.5$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "闪锌矿, 黄铁矿", "type": "patchouli:text", "anchor": "nether_sphalerite" @@ -2630,7 +2630,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 220$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 40$(br2)$(thing)岩石类型$(): 混合岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 40$(br2)$(thing)岩石类型$(): 混合岩, 石灰华, 辉石岩", "title": "青金石, 蓝金石, 方钠石", "type": "patchouli:text", "anchor": "nether_lapis" @@ -2722,7 +2722,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 180$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 33$(br)$(thing)高度$(): 7$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/180$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 33$(br)$(thing)高度$(): 7$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "黄玉, 辉铜矿", "type": "patchouli:text", "anchor": "nether_topaz" @@ -2814,7 +2814,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 170$(br)$(thing)密度$(): 0.5$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 片岩, 片麻岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 片岩, 片麻岩, 石灰华, 辉石岩", "title": "黝铜矿", "type": "patchouli:text", "anchor": "nether_tetrahedrite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json index 1bd0290b4..0f53ef214 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 30$(br)$(thing)密度$(): 0.2$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 20$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", + "text": "$(thing)稀有度$(): 1/30$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 20$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", "title": "盐, 锂辉石", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 30$(br)$(thing)密度$(): 0.2$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", + "text": "$(thing)稀有度$(): 1/30$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", "title": "硫, 黄铁矿", "type": "patchouli:text", "anchor": "venus_manual_sulfur" diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index f7d799ae8..9ec5df887 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1524,7 +1524,7 @@ "trim_material.tfc.pyrite_tfc": "Pyrite", "trim_material.tfc.redx_tfc": "RedX", "tfg.emi.ore_veins.rock_types": "Found in rock types:", - "tfg.emi.ore_veins.rarity": "Rarity: %d", + "tfg.emi.ore_veins.rarity": "Rarity: 1/%d chunks", "tfg.emi.ore_veins.density": "Density: %d", "tfg.emi.ore_veins.y_ranges": "Y Level: %d to %d", "tfg.emi.ore_veins.size": "Size: %d", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 65791dac6..da26d0517 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -1247,7 +1247,7 @@ "trim_material.tfc.pyrite_tfc": "Pyrite", "trim_material.tfc.redx_tfc": "RedX", "tfg.emi.ore_veins.rock_types": "Found in rock types:", - "tfg.emi.ore_veins.rarity": "Rarity: %d", + "tfg.emi.ore_veins.rarity": "Rarity: 1/%d chunks", "tfg.emi.ore_veins.density": "Density: %d", "tfg.emi.ore_veins.y_ranges": "Depth: %d to %d", "tfg.emi.ore_veins.size": "Size: %d", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index 7dc6d2731..ccacc8221 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -1507,7 +1507,7 @@ "trim_material.tfc.pyrite_tfc": "Pyrite", "trim_material.tfc.redx_tfc": "RedX", "tfg.emi.ore_veins.rock_types": "Found in rock types:", - "tfg.emi.ore_veins.rarity": "Rarity: %d", + "tfg.emi.ore_veins.rarity": "Rarity: 1/%d chunks", "tfg.emi.ore_veins.density": "Density: %d", "tfg.emi.ore_veins.y_ranges": "Y Level: %d to %d", "tfg.emi.ore_veins.size": "Size: %d", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index 32c5c950d..3184c6911 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -1003,7 +1003,7 @@ "trim_material.tfc.pyrite_tfc": "Pirita", "trim_material.tfc.redx_tfc": "RedX", "tfg.emi.ore_veins.rock_types": "Encontrado nos tipos de rocha:", - "tfg.emi.ore_veins.rarity": "Raridade: %d", + "tfg.emi.ore_veins.rarity": "Raridade: 1/%d", "tfg.emi.ore_veins.density": "Densidade: %d", "tfg.emi.ore_veins.y_ranges": "Profundidade: %d até %d", "tfg.emi.ore_veins.size": "Tamanho: %d", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 8e8f62eaa..331351ac1 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1459,7 +1459,7 @@ "trim_material.tfc.pyrite_tfc": "Пирит", "trim_material.tfc.redx_tfc": "RedX", "tfg.emi.ore_veins.rock_types": "Можно найти в:", - "tfg.emi.ore_veins.rarity": "Редкость: %d", + "tfg.emi.ore_veins.rarity": "Редкость: 1/%d", "tfg.emi.ore_veins.density": "Плотность: %d", "tfg.emi.ore_veins.y_ranges": "Глубина: %d to %d", "tfg.emi.ore_veins.size": "Размер: %d", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index 4877daaa5..8b6e117c3 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -1500,7 +1500,7 @@ "trim_material.tfc.pyrite_tfc": "Пірит", "trim_material.tfc.redx_tfc": "RedX", "tfg.emi.ore_veins.rock_types": "Зустрічається в типах порід:", - "tfg.emi.ore_veins.rarity": "Рідкість: %d", + "tfg.emi.ore_veins.rarity": "Рідкість: 1/%d", "tfg.emi.ore_veins.density": "Щільність: %d", "tfg.emi.ore_veins.y_ranges": "Рівень Y: %d до %d", "tfg.emi.ore_veins.size": "Розмір: %d", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 9c97f5a56..eaa8d2a69 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1609,7 +1609,7 @@ "trim_material.tfc.pyrite_tfc": "黄铁矿", "trim_material.tfc.redx_tfc": "红色X", "tfg.emi.ore_veins.rock_types": "存在于岩石类型:", - "tfg.emi.ore_veins.rarity": "稀有度:%d", + "tfg.emi.ore_veins.rarity": "稀有度:1/%d", "tfg.emi.ore_veins.density": "密度:%d", "tfg.emi.ore_veins.y_ranges": "Y轴高度:%d 至 %d", "tfg.emi.ore_veins.size": "尺寸:%d", From 218562107c07ce180a1438b66e885e4f71f2c8b2 Mon Sep 17 00:00:00 2001 From: Kieran <78378380+KieranBeals@users.noreply.github.com> Date: Sat, 10 Jan 2026 13:14:09 -0500 Subject: [PATCH 062/474] Remove duplicate quest entry from ore processing chapter (#2681) Signed-off-by: Kieran <78378380+KieranBeals@users.noreply.github.com> --- config/ftbquests/quests/chapters/ore_processing.snbt | 6 ------ 1 file changed, 6 deletions(-) diff --git a/config/ftbquests/quests/chapters/ore_processing.snbt b/config/ftbquests/quests/chapters/ore_processing.snbt index b5b4c3520..70381e51e 100644 --- a/config/ftbquests/quests/chapters/ore_processing.snbt +++ b/config/ftbquests/quests/chapters/ore_processing.snbt @@ -175,12 +175,6 @@ x: -5.5d y: -13.0d } - { - id: "138C7D4A61E2A77D" - linked_quest: "6B10099F3F0931B9" - x: 9.0d - y: -15.0d - } { id: "21670DA706D747EC" linked_quest: "378F0AFCF95354B2" From 515461560eee57f58e73e2fceaec6b8060976d84 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 10 Jan 2026 18:41:54 +0000 Subject: [PATCH 063/474] changed blood lily to be visible all year-round (as well as in the beneath) --- CHANGELOG.md | 1 + .../block/plant/blood_lily/blood_lily_1.png | Bin 0 -> 360 bytes .../block/plant/blood_lily/blood_lily_2.png | Bin 0 -> 275 bytes .../block/plant/blood_lily/blood_lily_3.png | Bin 0 -> 321 bytes 4 files changed, 1 insertion(+) create mode 100644 kubejs/assets/tfc/textures/block/plant/blood_lily/blood_lily_1.png create mode 100644 kubejs/assets/tfc/textures/block/plant/blood_lily/blood_lily_2.png create mode 100644 kubejs/assets/tfc/textures/block/plant/blood_lily/blood_lily_3.png diff --git a/CHANGELOG.md b/CHANGELOG.md index f704df58f..58ecac213 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ - Cut and paste and Copy and paste building gadgets have been moved from IV to EV (#2660) @thederpysockdude123 - The sandworm no longer spawns in the Superflat preset that's a big vanilla desert biome - You can now also use mars water in gregtech and create boilers @Pyritie +- Changed the texture of out-of-season blood lilies so they're findable year-round @Pyritie ### Bug fixes - Fixed the huge amount of lag from looking at lots of interconnected trees @Mqrius - Fixed tree chopping also stripping nearby trees of all their leaves (note that this will only also apply to newly generated mars trees, old trees will have the old behaviour) @Mqrius diff --git a/kubejs/assets/tfc/textures/block/plant/blood_lily/blood_lily_1.png b/kubejs/assets/tfc/textures/block/plant/blood_lily/blood_lily_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f5ee2769149911fa2f4a2b3ebece0d28c45b6a27 GIT binary patch literal 360 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z^LTu z;uvDl+dIM5`*46n>wJ^OhOm$3R&Oy^fpvgO`$0VkGk;cxQXCw9Qe6Qs{Z^@>5%HLd7F2!84>_NgjUf!#5zSTAo ziSMma0tXMX4G zh^&G_nZM88e~DUZ64kVNGW+A=Ppk44ofy`glX=O&z;M>n z#WBR9H#tG#%7gs*xBlmE3;ORI{`%kXrEQ$kk0fhe{co>tpTfcU=x{ctAM+9~3CVRi ze>n?JR=csqtUHkDpux}HtkSLJ9Q8Z*Q_O(_2M$b#J9Xy4GQD#j9>3Oa+y7p2v-oF9ys7|fSZShhv$ybnu@1|QUWI4{OixU z>^!hK{;|EzhXTot%MGQO(;qap>C1fBl@R@q_n3Tqz2ThNYWDd?e;oF-J>6fy%N_Wz f@iIfrCx&ahcFa?@v&>*%U|{fc^>bP0l+XkK>W_1I literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/plant/blood_lily/blood_lily_3.png b/kubejs/assets/tfc/textures/block/plant/blood_lily/blood_lily_3.png new file mode 100644 index 0000000000000000000000000000000000000000..5b8168d8aa251808d5757de0203a775df70075e6 GIT binary patch literal 321 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&!0_AC z#WBR9H#tFpVV~-z|No=ceUqPVBW!mz?yuB;$#)#aHqkx7_F~euOaIk-r?kK3n6!sPF&pfA8Tr)AV05Y|hVH_^o^^IN_Ken z-A{?w^pCgeI)|04dDjA+*Wgm`kKE-3%dd|Bp;{mMmo~Vg7KE bnL+e*;(duvtF0Lr7#KWV{an^LB{Ts5RX&s| literal 0 HcmV?d00001 From 05fc0aa6f6a90433e7fbd7274ca2a42f69f1965c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 10 Jan 2026 20:10:06 +0000 Subject: [PATCH 064/474] bees ignore gravity in space --- kubejs/server_scripts/tfg/tags.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index a4e67a663..dcea24b38 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -220,6 +220,7 @@ const registerTFGEntityTypeTags = (event) => { registerTFGVenusEntityTypeTags(event) registerTFGEuropaEntityTypeTags(event) + event.add('tfg:ignores_gravity', 'minecraft:bee') event.add('ad_astra:can_survive_in_space', 'railways:conductor') event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:pet_enderman') event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:axolotl_pet_enderman') From a6ec313d0934bb7544fd43f69bfe210650c4e8dd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 10 Jan 2026 20:39:16 +0000 Subject: [PATCH 065/474] blossom berry counts as a flower for bees --- kubejs/startup_scripts/tfg/blocks.crops.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kubejs/startup_scripts/tfg/blocks.crops.js b/kubejs/startup_scripts/tfg/blocks.crops.js index 700f6610d..7e32b4bf6 100644 --- a/kubejs/startup_scripts/tfg/blocks.crops.js +++ b/kubejs/startup_scripts/tfg/blocks.crops.js @@ -139,6 +139,7 @@ const registerTFGCrops = (event) => { .stages(3) .hardness(0.4) .tagBlock('minecraft:mineable/hoe') + .tagBlock('minecraft:flowers') .productItem(product => { product.food(food => { food.hunger(5) @@ -161,6 +162,7 @@ const registerTFGCrops = (event) => { .tagBoth('tfc:wild_crops') .tagBlock('minecraft:mineable/hoe') .tagBlock('tfc:can_be_snow_piled') + .tagBlock('minecraft:flowers') .tagItem('c:hidden_from_recipe_viewers') From 277f8b8973963b12641d57f0c0852f6ef3fc4593 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 10 Jan 2026 20:46:39 +0000 Subject: [PATCH 066/474] actually the bee is from firmalife --- kubejs/server_scripts/tfg/tags.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index dcea24b38..db7057af8 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -220,7 +220,7 @@ const registerTFGEntityTypeTags = (event) => { registerTFGVenusEntityTypeTags(event) registerTFGEuropaEntityTypeTags(event) - event.add('tfg:ignores_gravity', 'minecraft:bee') + event.add('tfg:ignores_gravity', 'firmalife:bee') event.add('ad_astra:can_survive_in_space', 'railways:conductor') event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:pet_enderman') event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:axolotl_pet_enderman') From 6178c5cb1deac5f66e8f1adf3e361c07e7660bd5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 10 Jan 2026 21:13:03 +0000 Subject: [PATCH 067/474] fixed rocket fuel quest not using lang IDs --- config/ftbquests/quests/chapters/moon.snbt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/config/ftbquests/quests/chapters/moon.snbt b/config/ftbquests/quests/chapters/moon.snbt index 521c0eb83..316b17e0f 100644 --- a/config/ftbquests/quests/chapters/moon.snbt +++ b/config/ftbquests/quests/chapters/moon.snbt @@ -493,14 +493,15 @@ "33374462FF07BC75" ] dependency_requirement: "one_completed" - description: ["&6For each travel you will need Rocket Fuel&r, it seems complicated and it is quite a long process but you can make Rocket Fuel from &bChlorine&r, &bMethane&r, &bNitrogen&r, &bOxygen&r and &bWater&r. Nothing too bad, also if you already have your &5Large Chemical Reactor&r you could unlock some bypass.\\n\\n&7We advise you to use EMI Recipe Tree to have an easier time understanding each step. Simply click on the small icon with 4 squares on the right of the crafting recipe.&r"] + description: ["{quests.high_voltage.rocket_fuel.desc}"] id: "0B80972F50E08B8D" - subtitle: "Easier than you think" + subtitle: "{quests.high_voltage.rocket_fuel.subtitle}" tasks: [{ id: "5FBF567FFC837BFA" item: "gtceu:rocket_fuel_bucket" type: "item" }] + title: "{quests.high_voltage.rocket_fuel.title}" x: -7.0d y: -5.5d } From 012da662f2e19d35bf04c195fdec7f0feb59db66 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 10 Jan 2026 21:31:20 +0000 Subject: [PATCH 068/474] fix some mars plants self-destructing --- kubejs/server_scripts/tfg/mars/tags.mars.js | 8 ++++++++ kubejs/startup_scripts/tfg/blocks.crops.js | 2 ++ 2 files changed, 10 insertions(+) diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js index d90736a11..7d5e34e30 100644 --- a/kubejs/server_scripts/tfg/mars/tags.mars.js +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -99,6 +99,9 @@ function registerTFGMarsItemTags(event) { event.add('forge:mushrooms', 'betterend:flammalix') event.add('forge:mushrooms', 'betterend:small_amaranita_mushroom') + + event.remove('ad_astra:destroyed_in_space', 'minecraft:pitcher_plant') + event.remove('ad_astra:destroyed_in_space', 'minecraft:torchflower') } function registerTFGMarsBlockTags(event) { @@ -270,6 +273,11 @@ function registerTFGMarsBlockTags(event) { event.add('tfg:do_not_destroy_in_space', 'tfg:grass/mars_farmland') event.add('tfg:do_not_destroy_in_space', 'tfg:grass/mars_path') + event.remove('ad_astra:destroyed_in_space', 'minecraft:pitcher_plant') + event.remove('ad_astra:destroyed_in_space', 'minecraft:torchflower') + event.remove('ad_astra:destroyed_in_space', 'tfg:blossom_berry') + event.remove('ad_astra:destroyed_in_space', 'tfg:blossom_berry_wild') + event.add('tfc:can_landslide', 'tfg:grass/mars_dirt') event.add('tfc:can_landslide', 'tfg:grass/mars_clay_dirt') event.add('tfc:can_landslide', 'tfg:grass/mars_farmland') diff --git a/kubejs/startup_scripts/tfg/blocks.crops.js b/kubejs/startup_scripts/tfg/blocks.crops.js index 7e32b4bf6..64cbd334d 100644 --- a/kubejs/startup_scripts/tfg/blocks.crops.js +++ b/kubejs/startup_scripts/tfg/blocks.crops.js @@ -140,6 +140,7 @@ const registerTFGCrops = (event) => { .hardness(0.4) .tagBlock('minecraft:mineable/hoe') .tagBlock('minecraft:flowers') + .tagBlock('tfg:do_not_destroy_in_space') .productItem(product => { product.food(food => { food.hunger(5) @@ -163,6 +164,7 @@ const registerTFGCrops = (event) => { .tagBlock('minecraft:mineable/hoe') .tagBlock('tfc:can_be_snow_piled') .tagBlock('minecraft:flowers') + .tagBlock('tfg:do_not_destroy_in_space') .tagItem('c:hidden_from_recipe_viewers') From 334e4350422cb285ea8f9dc86aced722e3814685 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 10 Jan 2026 22:29:53 +0000 Subject: [PATCH 069/474] adjusted mars wind volume --- kubejs/assets/ambientsounds/basic/dimensions/ad_astra_mars.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_mars.json b/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_mars.json index f3a996717..d82f2e456 100644 --- a/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_mars.json +++ b/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_mars.json @@ -9,7 +9,7 @@ "regions": [ { "name": "wind", - "volume": 0.3, + "volume": 0.5, "bad-regions": [ "cave-ambience" ], From edd6d3eb51b4345f986ab0a9989c6ee3d252e4df Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 10 Jan 2026 22:32:01 +0000 Subject: [PATCH 070/474] fix #2687 --- CHANGELOG.md | 2 ++ .../data/tfg/loot_tables/blocks/dry_ice.json | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 kubejs/data/tfg/loot_tables/blocks/dry_ice.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 58ecac213..dc97a3668 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - The sandworm no longer spawns in the Superflat preset that's a big vanilla desert biome - You can now also use mars water in gregtech and create boilers @Pyritie - Changed the texture of out-of-season blood lilies so they're findable year-round @Pyritie +- Fixed the TFC blast furnace on mars but for real this time @Pyritie ### Bug fixes - Fixed the huge amount of lag from looking at lots of interconnected trees @Mqrius - Fixed tree chopping also stripping nearby trees of all their leaves (note that this will only also apply to newly generated mars trees, old trees will have the old behaviour) @Mqrius @@ -33,6 +34,7 @@ - Fixed the new venus bugs spawning on earth @Pyritie - Fixed some inconsistent recipes with coal in coke ovens, and removed a duplicate recipe (#2688) @jurjen909 - Fixed the rendering of two-block tall crops in the electric greenhouse @Pyritie +- Fixed dry ice dropping nothing when broken (#2687) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 diff --git a/kubejs/data/tfg/loot_tables/blocks/dry_ice.json b/kubejs/data/tfg/loot_tables/blocks/dry_ice.json new file mode 100644 index 000000000..d1d48cc84 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/dry_ice.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:dry_ice" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} From 900e1de8e93ee6b19f64df8dba4e2937841ee6c2 Mon Sep 17 00:00:00 2001 From: Redeix Date: Sat, 10 Jan 2026 19:30:46 -0600 Subject: [PATCH 071/474] The big green PR (#2694) * blocks * more textures * more textures more textures * blocks * more textures * more textures more textures * blocks * more textures * more textures more textures * blocks * more textures * more textures more textures * firmalife gh stuff * chloroplasts and brick regex * gh recipes * pisciculture fishery * I am going insane * more casings = more gooder * rotten voiding cover * greenhouse glory * Is this it chat * not needed Signed-off-by: Redeix * missed in conflicts Signed-off-by: Redeix * consumerism * re-add tag import * remove unused object map * id normalizer function --------- Signed-off-by: Redeix --- .../tfg/blockstates/cultivation_monitor.json | 29 + .../assets/tfg/blockstates/egh_planter.json | 29 + kubejs/assets/tfg/blockstates/grow_light.json | 29 + .../tfg/blockstates/hydroponics_facility.json | 19 + .../tfg/blockstates/pisciculture_core.json | 28 + .../tfg/blockstates/pisciculture_fishery.json | 19 + .../block/casings/machine_casing_egh.json | 1 + .../casings/machine_casing_egh_active.json | 7 + .../block/casings/pisciculture_core.json | 55 ++ .../casings/pisciculture_core_active.json | 73 +++ .../cultivation_monitor_active.json | 95 +++ .../cultivation_monitor_inactive.json | 96 +++ .../egh_planter/egh_planter_active.json | 313 ++++++++++ .../egh_planter/egh_planter_inactive.json | 309 ++++++++++ .../egh_planter/grow_light_active.json | 170 ++++++ .../egh_planter/grow_light_inactive.json | 165 ++++++ .../block/machines/electric_greenhouse.json | 135 +---- .../block/machines/hydroponics_facility.json | 279 +++++++++ .../block/machines/pisciculture_fishery.json | 106 ++++ .../tfg/models/item/cultivation_monitor.json | 78 +++ .../assets/tfg/models/item/egh_planter.json | 3 + kubejs/assets/tfg/models/item/fish_roe.json | 9 + kubejs/assets/tfg/models/item/grow_light.json | 3 + .../tfg/models/item/hydroponics_facility.json | 3 + .../tfg/models/item/machine_casing_egh.json | 3 + .../item/machine_casing_egh_active.json | 3 + .../tfg/models/item/pisciculture_core.json | 3 + .../models/item/pisciculture_core_active.json | 3 + .../tfg/models/item/pisciculture_fishery.json | 3 + .../tfg/models/item/rotten_voiding_cover.json | 6 + kubejs/assets/tfg/particles/fish_school.json | 13 + .../greenhouse/copper_greenhouse_casing_0.png | Bin 0 -> 308 bytes .../copper_greenhouse_casing_0.png.mcmeta | 5 + .../copper_greenhouse_casing_0_ctm.png | Bin 0 -> 364 bytes .../copper_greenhouse_casing_0_ctm_n.png | Bin 0 -> 104 bytes .../copper_greenhouse_casing_0_ctm_s.png | Bin 0 -> 142 bytes .../copper_greenhouse_casing_0_n.png | Bin 0 -> 86 bytes .../copper_greenhouse_casing_0_s.png | Bin 0 -> 104 bytes .../greenhouse/copper_greenhouse_casing_1.png | Bin 0 -> 308 bytes .../copper_greenhouse_casing_1.png.mcmeta | 5 + .../copper_greenhouse_casing_1_ctm.png | Bin 0 -> 463 bytes .../copper_greenhouse_casing_1_ctm_n.png | Bin 0 -> 104 bytes .../copper_greenhouse_casing_1_ctm_s.png | Bin 0 -> 140 bytes .../copper_greenhouse_casing_1_n.png | Bin 0 -> 86 bytes .../copper_greenhouse_casing_1_s.png | Bin 0 -> 104 bytes .../greenhouse/copper_greenhouse_casing_2.png | Bin 0 -> 308 bytes .../copper_greenhouse_casing_2.png.mcmeta | 5 + .../copper_greenhouse_casing_2_ctm.png | Bin 0 -> 463 bytes .../copper_greenhouse_casing_2_ctm_n.png | Bin 0 -> 104 bytes .../copper_greenhouse_casing_2_ctm_s.png | Bin 0 -> 137 bytes .../copper_greenhouse_casing_2_n.png | Bin 0 -> 86 bytes .../copper_greenhouse_casing_2_s.png | Bin 0 -> 104 bytes .../greenhouse/copper_greenhouse_casing_3.png | Bin 0 -> 402 bytes .../copper_greenhouse_casing_3.png.mcmeta | 5 + .../copper_greenhouse_casing_3_ctm.png | Bin 0 -> 1002 bytes .../copper_greenhouse_casing_3_ctm_n.png | Bin 0 -> 288 bytes .../copper_greenhouse_casing_3_ctm_s.png | Bin 0 -> 142 bytes .../copper_greenhouse_casing_3_n.png | Bin 0 -> 162 bytes .../copper_greenhouse_casing_3_s.png | Bin 0 -> 104 bytes .../greenhouse/copper_greenhouse_casing_4.png | Bin 0 -> 605 bytes .../copper_greenhouse_casing_4.png.mcmeta | 5 + .../copper_greenhouse_casing_4_ctm.png | Bin 0 -> 1061 bytes .../copper_greenhouse_casing_4_ctm_n.png | Bin 0 -> 849 bytes .../copper_greenhouse_casing_4_ctm_s.png | Bin 0 -> 252 bytes .../copper_greenhouse_casing_4_n.png | Bin 0 -> 537 bytes .../copper_greenhouse_casing_4_s.png | Bin 0 -> 162 bytes .../greenhouse/iron_greenhouse_casing_0.png | Bin 0 -> 276 bytes .../iron_greenhouse_casing_0.png.mcmeta | 5 + .../iron_greenhouse_casing_0_ctm.png | Bin 0 -> 307 bytes .../iron_greenhouse_casing_0_ctm_n.png | Bin 0 -> 104 bytes .../iron_greenhouse_casing_0_ctm_s.png | Bin 0 -> 142 bytes .../greenhouse/iron_greenhouse_casing_0_n.png | Bin 0 -> 86 bytes .../greenhouse/iron_greenhouse_casing_0_s.png | Bin 0 -> 104 bytes .../greenhouse/iron_greenhouse_casing_1.png | Bin 0 -> 276 bytes .../iron_greenhouse_casing_1.png.mcmeta | 5 + .../iron_greenhouse_casing_1_ctm.png | Bin 0 -> 416 bytes .../iron_greenhouse_casing_1_ctm_n.png | Bin 0 -> 104 bytes .../iron_greenhouse_casing_1_ctm_s.png | Bin 0 -> 140 bytes .../greenhouse/iron_greenhouse_casing_1_n.png | Bin 0 -> 86 bytes .../greenhouse/iron_greenhouse_casing_1_s.png | Bin 0 -> 104 bytes .../greenhouse/iron_greenhouse_casing_2.png | Bin 0 -> 276 bytes .../iron_greenhouse_casing_2.png.mcmeta | 5 + .../iron_greenhouse_casing_2_ctm.png | Bin 0 -> 404 bytes .../iron_greenhouse_casing_2_ctm_n.png | Bin 0 -> 104 bytes .../iron_greenhouse_casing_2_ctm_s.png | Bin 0 -> 137 bytes .../greenhouse/iron_greenhouse_casing_2_n.png | Bin 0 -> 86 bytes .../greenhouse/iron_greenhouse_casing_2_s.png | Bin 0 -> 104 bytes .../greenhouse/iron_greenhouse_casing_3.png | Bin 0 -> 375 bytes .../iron_greenhouse_casing_3.png.mcmeta | 5 + .../iron_greenhouse_casing_3_ctm.png | Bin 0 -> 974 bytes .../iron_greenhouse_casing_3_ctm_n.png | Bin 0 -> 288 bytes .../iron_greenhouse_casing_3_ctm_s.png | Bin 0 -> 142 bytes .../greenhouse/iron_greenhouse_casing_3_n.png | Bin 0 -> 162 bytes .../greenhouse/iron_greenhouse_casing_3_s.png | Bin 0 -> 104 bytes .../greenhouse/iron_greenhouse_casing_4.png | Bin 0 -> 545 bytes .../iron_greenhouse_casing_4.png.mcmeta | 5 + .../iron_greenhouse_casing_4_ctm.png | Bin 0 -> 960 bytes .../iron_greenhouse_casing_4_ctm_n.png | Bin 0 -> 849 bytes .../iron_greenhouse_casing_4_ctm_s.png | Bin 0 -> 252 bytes .../greenhouse/iron_greenhouse_casing_4_n.png | Bin 0 -> 537 bytes .../greenhouse/iron_greenhouse_casing_4_s.png | Bin 0 -> 162 bytes .../stainless_greenhouse_casing_0.png | Bin 0 -> 328 bytes .../stainless_greenhouse_casing_0.png.mcmeta | 5 + .../stainless_greenhouse_casing_0_ctm.png | Bin 0 -> 355 bytes .../stainless_greenhouse_casing_0_ctm_n.png | Bin 0 -> 104 bytes .../stainless_greenhouse_casing_0_ctm_s.png | Bin 0 -> 142 bytes .../stainless_greenhouse_casing_0_n.png | Bin 0 -> 86 bytes .../stainless_greenhouse_casing_0_s.png | Bin 0 -> 104 bytes .../stainless_greenhouse_casing_1.png | Bin 0 -> 328 bytes .../stainless_greenhouse_casing_1.png.mcmeta | 5 + .../stainless_greenhouse_casing_1_ctm.png | Bin 0 -> 468 bytes .../stainless_greenhouse_casing_1_ctm_n.png | Bin 0 -> 104 bytes .../stainless_greenhouse_casing_1_ctm_s.png | Bin 0 -> 140 bytes .../stainless_greenhouse_casing_1_n.png | Bin 0 -> 86 bytes .../stainless_greenhouse_casing_1_s.png | Bin 0 -> 104 bytes .../stainless_greenhouse_casing_2.png | Bin 0 -> 328 bytes .../stainless_greenhouse_casing_2.png.mcmeta | 5 + .../stainless_greenhouse_casing_2_ctm.png | Bin 0 -> 450 bytes .../stainless_greenhouse_casing_2_ctm_n.png | Bin 0 -> 104 bytes .../stainless_greenhouse_casing_2_ctm_s.png | Bin 0 -> 137 bytes .../stainless_greenhouse_casing_2_n.png | Bin 0 -> 86 bytes .../stainless_greenhouse_casing_2_s.png | Bin 0 -> 104 bytes .../stainless_greenhouse_casing_3.png | Bin 0 -> 422 bytes .../stainless_greenhouse_casing_3.png.mcmeta | 5 + .../stainless_greenhouse_casing_3_ctm.png | Bin 0 -> 1017 bytes .../stainless_greenhouse_casing_3_ctm_n.png | Bin 0 -> 288 bytes .../stainless_greenhouse_casing_3_ctm_s.png | Bin 0 -> 142 bytes .../stainless_greenhouse_casing_3_n.png | Bin 0 -> 162 bytes .../stainless_greenhouse_casing_3_s.png | Bin 0 -> 104 bytes .../stainless_greenhouse_casing_4.png | Bin 0 -> 605 bytes .../stainless_greenhouse_casing_4.png.mcmeta | 5 + .../stainless_greenhouse_casing_4_ctm.png | Bin 0 -> 1093 bytes .../stainless_greenhouse_casing_4_ctm_n.png | Bin 0 -> 849 bytes .../stainless_greenhouse_casing_4_ctm_s.png | Bin 0 -> 252 bytes .../stainless_greenhouse_casing_4_n.png | Bin 0 -> 537 bytes .../stainless_greenhouse_casing_4_s.png | Bin 0 -> 162 bytes .../treated_wood_greenhouse_casing_0.png | Bin 0 -> 389 bytes ...reated_wood_greenhouse_casing_0.png.mcmeta | 5 + .../treated_wood_greenhouse_casing_0_ctm.png | Bin 0 -> 504 bytes ...treated_wood_greenhouse_casing_0_ctm_n.png | Bin 0 -> 104 bytes ...treated_wood_greenhouse_casing_0_ctm_s.png | Bin 0 -> 139 bytes .../treated_wood_greenhouse_casing_0_n.png | Bin 0 -> 86 bytes .../treated_wood_greenhouse_casing_0_s.png | Bin 0 -> 105 bytes .../treated_wood_greenhouse_casing_1.png | Bin 0 -> 389 bytes ...reated_wood_greenhouse_casing_1.png.mcmeta | 5 + .../treated_wood_greenhouse_casing_1_ctm.png | Bin 0 -> 825 bytes ...treated_wood_greenhouse_casing_1_ctm_n.png | Bin 0 -> 104 bytes ...treated_wood_greenhouse_casing_1_ctm_s.png | Bin 0 -> 137 bytes .../treated_wood_greenhouse_casing_1_n.png | Bin 0 -> 86 bytes .../treated_wood_greenhouse_casing_1_s.png | Bin 0 -> 105 bytes .../treated_wood_greenhouse_casing_2.png | Bin 0 -> 389 bytes ...reated_wood_greenhouse_casing_2.png.mcmeta | 5 + .../treated_wood_greenhouse_casing_2_ctm.png | Bin 0 -> 774 bytes ...treated_wood_greenhouse_casing_2_ctm_n.png | Bin 0 -> 104 bytes ...treated_wood_greenhouse_casing_2_ctm_s.png | Bin 0 -> 135 bytes .../treated_wood_greenhouse_casing_2_n.png | Bin 0 -> 86 bytes .../treated_wood_greenhouse_casing_2_s.png | Bin 0 -> 105 bytes .../treated_wood_greenhouse_casing_3.png | Bin 0 -> 491 bytes ...reated_wood_greenhouse_casing_3.png.mcmeta | 5 + .../treated_wood_greenhouse_casing_3_ctm.png | Bin 0 -> 1135 bytes ...treated_wood_greenhouse_casing_3_ctm_n.png | Bin 0 -> 288 bytes ...treated_wood_greenhouse_casing_3_ctm_s.png | Bin 0 -> 139 bytes .../treated_wood_greenhouse_casing_3_n.png | Bin 0 -> 162 bytes .../treated_wood_greenhouse_casing_3_s.png | Bin 0 -> 105 bytes .../treated_wood_greenhouse_casing_4.png | Bin 0 -> 666 bytes ...reated_wood_greenhouse_casing_4.png.mcmeta | 5 + .../treated_wood_greenhouse_casing_4_ctm.png | Bin 0 -> 1416 bytes ...treated_wood_greenhouse_casing_4_ctm_n.png | Bin 0 -> 849 bytes ...treated_wood_greenhouse_casing_4_ctm_s.png | Bin 0 -> 250 bytes .../treated_wood_greenhouse_casing_4_n.png | Bin 0 -> 537 bytes .../treated_wood_greenhouse_casing_4_s.png | Bin 0 -> 163 bytes .../casings/machine_casing_egh_active.png | Bin 0 -> 16582 bytes .../machine_casing_egh_active.png.mcmeta | 7 + .../casings/machine_casing_egh_active_ctm.png | Bin 0 -> 44938 bytes .../machine_casing_egh_active_ctm.png.mcmeta | 4 + .../machine_casing_egh_active_ctm_n.png | Bin 0 -> 104 bytes .../machine_casing_egh_active_ctm_s.png | Bin 0 -> 335 bytes .../machine_casing_egh_active_emissive.png | Bin 0 -> 13688 bytes ...hine_casing_egh_active_emissive.png.mcmeta | 8 + ...machine_casing_egh_active_emissive_ctm.png | Bin 0 -> 30151 bytes ..._casing_egh_active_emissive_ctm.png.mcmeta | 4 + ...chine_casing_egh_active_emissive_ctm_n.png | Bin 0 -> 104 bytes ...chine_casing_egh_active_emissive_ctm_s.png | Bin 0 -> 335 bytes .../machine_casing_egh_active_emissive_n.png | Bin 0 -> 86 bytes .../machine_casing_egh_active_emissive_s.png | Bin 0 -> 186 bytes .../casings/machine_casing_egh_active_n.png | Bin 0 -> 86 bytes .../casings/machine_casing_egh_active_s.png | Bin 0 -> 186 bytes .../casings/machine_casing_egh_inactive.png | Bin 0 -> 318 bytes .../machine_casing_egh_inactive.png.mcmeta | 5 + .../machine_casing_egh_inactive_ctm.png | Bin 0 -> 590 bytes .../machine_casing_egh_inactive_ctm_n.png | Bin 0 -> 104 bytes .../machine_casing_egh_inactive_ctm_s.png | Bin 0 -> 335 bytes .../casings/machine_casing_egh_inactive_n.png | Bin 0 -> 86 bytes .../casings/machine_casing_egh_inactive_s.png | Bin 0 -> 186 bytes .../pisciculture_core_active_emissive.png | Bin 0 -> 209 bytes .../block/casings/pisciculture_core_side.png | Bin 0 -> 392 bytes .../casings/pisciculture_core_side_active.png | Bin 0 -> 2184 bytes .../pisciculture_core_side_active.png.mcmeta | 5 + .../pisciculture_core_side_active_n.png | Bin 0 -> 326 bytes ...pisciculture_core_side_active_n.png.mcmeta | 5 + .../pisciculture_core_side_active_s.png | Bin 0 -> 296 bytes ...pisciculture_core_side_active_s.png.mcmeta | 5 + .../casings/pisciculture_core_side_n.png | Bin 0 -> 177 bytes .../casings/pisciculture_core_side_s.png | Bin 0 -> 157 bytes .../block/casings/pisciculture_core_top.png | Bin 0 -> 591 bytes .../casings/pisciculture_core_top_active.png | Bin 0 -> 2290 bytes .../pisciculture_core_top_active.png.mcmeta | 5 + .../pisciculture_core_top_active_n.png | Bin 0 -> 569 bytes .../pisciculture_core_top_active_n.png.mcmeta | 5 + .../pisciculture_core_top_active_s.png | Bin 0 -> 626 bytes .../pisciculture_core_top_active_s.png.mcmeta | 5 + .../block/casings/pisciculture_core_top_n.png | Bin 0 -> 200 bytes .../block/casings/pisciculture_core_top_s.png | Bin 0 -> 233 bytes .../textures/block/cover/rotten_voiding.png | Bin 0 -> 314 bytes .../block/fluids/fluid.chloroplasts.png | Bin 0 -> 23858 bytes .../fluids/fluid.chloroplasts.png.mcmeta | 5 + ...itrate_rich_semiheavy_ammoniacal_water.png | Bin 0 -> 14280 bytes ...rich_semiheavy_ammoniacal_water.png.mcmeta | 5 + .../block/fluids/fluid.nitrate_rich_water.png | Bin 0 -> 14032 bytes .../fluid.nitrate_rich_water.png.mcmeta | 5 + .../cultivation_monitor.png | Bin 0 -> 1065 bytes .../cultivation_monitor_display_active.png | Bin 0 -> 328610 bytes ...tivation_monitor_display_active.png.mcmeta | 5 + .../cultivation_monitor_display_active_n.png | Bin 0 -> 1290 bytes .../cultivation_monitor_display_active_s.png | Bin 0 -> 1288 bytes .../cultivation_monitor_display_inactive.png | Bin 0 -> 78356 bytes ...vation_monitor_display_inactive.png.mcmeta | 5 + ...cultivation_monitor_display_inactive_n.png | Bin 0 -> 1290 bytes ...cultivation_monitor_display_inactive_s.png | Bin 0 -> 1288 bytes .../cultivation_monitor_n.png | Bin 0 -> 633 bytes .../cultivation_monitor_s.png | Bin 0 -> 395 bytes .../machines/egh_planter/egh_planter.png | Bin 0 -> 1837 bytes .../machines/egh_planter/egh_planter_n.png | Bin 0 -> 556 bytes .../machines/egh_planter/egh_planter_s.png | Bin 0 -> 427 bytes .../electric_greenhouse/overlay_front.png | Bin 0 -> 431 bytes .../overlay_front_active.png | Bin 0 -> 5857 bytes .../overlay_front_active.png.mcmeta | 1 + .../overlay_front_active_emissive.png | Bin 0 -> 634 bytes .../overlay_front_active_emissive.png.mcmeta | 1 + .../overlay_front_active_emissive_n.png | Bin 0 -> 190 bytes .../overlay_front_active_emissive_s.png | Bin 0 -> 149 bytes .../overlay_front_active_n.png | Bin 0 -> 190 bytes .../overlay_front_active_s.png | Bin 0 -> 149 bytes .../overlay_front_emissive.png | Bin 0 -> 149 bytes .../electric_greenhouse/overlay_front_n.png | Bin 0 -> 190 bytes .../electric_greenhouse/overlay_front_s.png | Bin 0 -> 149 bytes .../hydroponics_facility/overlay_front.png | Bin 0 -> 217 bytes .../overlay_front_active.png | Bin 0 -> 6897 bytes .../overlay_front_active.png.mcmeta | 1 + .../overlay_front_active_emissive.png | Bin 0 -> 5275 bytes .../overlay_front_active_emissive.png.mcmeta | 1 + .../overlay_front_active_emissive_n.png | Bin 0 -> 86 bytes .../overlay_front_active_emissive_s.png | Bin 0 -> 2077 bytes ...overlay_front_active_emissive_s.png.mcmeta | 1 + .../overlay_front_active_n.png | Bin 0 -> 86 bytes .../overlay_front_active_s.png | Bin 0 -> 2077 bytes .../overlay_front_active_s.png.mcmeta | 1 + .../overlay_front_emissive.png | Bin 0 -> 149 bytes .../hydroponics_facility/overlay_front_n.png | Bin 0 -> 86 bytes .../hydroponics_facility/overlay_front_s.png | Bin 0 -> 157 bytes .../pisciculture_fishery/overlay_front.png | Bin 0 -> 274 bytes .../overlay_front_active.png | Bin 0 -> 3796 bytes .../overlay_front_active.png.mcmeta | 5 + .../overlay_front_active_emissive.png | Bin 0 -> 3524 bytes .../overlay_front_active_emissive.png.mcmeta | 5 + .../overlay_front_active_emissive_n.png | Bin 0 -> 191 bytes .../overlay_front_active_emissive_s.png | Bin 0 -> 123 bytes .../overlay_front_active_n.png | Bin 0 -> 191 bytes .../overlay_front_active_s.png | Bin 0 -> 123 bytes .../overlay_front_emissive.png | Bin 0 -> 149 bytes .../overlay_front_emissive_n.png | Bin 0 -> 191 bytes .../overlay_front_emissive_s.png | Bin 0 -> 123 bytes .../pisciculture_fishery/overlay_front_n.png | Bin 0 -> 191 bytes .../pisciculture_fishery/overlay_front_s.png | Bin 0 -> 123 bytes .../pisciculture_fishery/overlay_top.png | Bin 0 -> 341 bytes .../overlay_top_active.png | Bin 0 -> 339 bytes .../overlay_top_active_emissive.png | Bin 0 -> 106 bytes .../overlay_top_active_emissive_n.png | Bin 0 -> 524 bytes .../overlay_top_active_emissive_s.png | Bin 0 -> 165 bytes .../overlay_top_active_n.png | Bin 0 -> 524 bytes .../overlay_top_active_s.png | Bin 0 -> 165 bytes .../overlay_top_emissive.png | Bin 0 -> 149 bytes .../overlay_top_emissive_n.png | Bin 0 -> 524 bytes .../overlay_top_emissive_s.png | Bin 0 -> 165 bytes .../pisciculture_fishery/overlay_top_n.png | Bin 0 -> 524 bytes .../pisciculture_fishery/overlay_top_s.png | Bin 0 -> 165 bytes .../gui/progress_bar/progress_bar_egh.png | Bin 0 -> 806 bytes .../gui/progress_bar/progress_bar_fish.png | Bin 0 -> 890 bytes .../assets/tfg/textures/item/fish_roe_0.png | Bin 0 -> 359 bytes .../assets/tfg/textures/item/fish_roe_1.png | Bin 0 -> 334 bytes .../assets/tfg/textures/item/fish_roe_2.png | Bin 0 -> 120 bytes .../tfg/textures/item/flora_pellets.png | Bin 0 -> 489 bytes .../textures/item/rotten_voiding_cover.png | Bin 0 -> 334 bytes .../assets/tfg/textures/particle/bluegill.png | Bin 0 -> 6454 bytes kubejs/assets/tfg/textures/particle/cod.png | Bin 0 -> 283 bytes .../assets/tfg/textures/particle/crappie.png | Bin 0 -> 502 bytes .../tfg/textures/particle/lake_trout.png | Bin 0 -> 232 bytes .../tfg/textures/particle/largemouth_bass.png | Bin 0 -> 232 bytes .../tfg/textures/particle/rainbow_trout.png | Bin 0 -> 521 bytes .../assets/tfg/textures/particle/salmon.png | Bin 0 -> 346 bytes .../tfg/textures/particle/smallmouth_bass.png | Bin 0 -> 296 bytes .../tfg/textures/particle/tropical_fish.png | Bin 0 -> 294 bytes kubejs/server_scripts/beneath/recipes.js | 9 - kubejs/server_scripts/firmalife/recipes.js | 346 +++-------- kubejs/server_scripts/gregtech/tags.js | 12 + kubejs/server_scripts/gregtech/utility.js | 58 -- kubejs/server_scripts/minecraft/recipes.js | 22 +- kubejs/server_scripts/tfc/recipes.js | 44 -- kubejs/server_scripts/tfc/tags.js | 22 +- .../tfg/aquaponics/data.aquaponics.js | 15 + .../tfg/aquaponics/recipes.greenhouse.js | 555 ++++++++++++++++++ .../tfg/aquaponics/recipes.pisciculture.js | 242 ++++++++ .../tfg/aquaponics/tags.aquaponics.js | 56 ++ kubejs/server_scripts/tfg/data.js | 1 + .../tfg/food/recipes.biomass.js | 2 +- .../server_scripts/tfg/food/recipes.food.js | 13 +- .../server_scripts/tfg/mars/recipes.mars.js | 58 +- .../server_scripts/tfg/moon/recipes.plants.js | 99 +--- .../tfg/powergen/recipes.boiler.js | 7 +- kubejs/server_scripts/tfg/recipes.js | 3 + .../tfg/recipes.miscellaneous.js | 8 + kubejs/server_scripts/tfg/tags.js | 3 + .../tfg/venus/recipes.biochem.js | 16 + kubejs/startup_scripts/firmalife/constants.js | 13 +- kubejs/startup_scripts/gtceu/constants.js | 66 +++ kubejs/startup_scripts/gtceu/machines.js | 53 +- kubejs/startup_scripts/main_startup_script.js | 1 + kubejs/startup_scripts/tfc/constants.js | 92 +-- .../tfg/aquaponics/items.aquaponics.js | 7 + .../tfg/aquaponics/materials.aquaponics.js | 34 ++ .../tfg/biotech/materials.bioline.js | 7 + kubejs/startup_scripts/tfg/blocks.casings.js | 176 +++++- kubejs/startup_scripts/tfg/constants.js | 22 + kubejs/startup_scripts/tfg/items.js | 1 + .../tfg/mars/blocks.mars_deco.js | 19 +- kubejs/startup_scripts/tfg/materials.js | 1 + kubejs/startup_scripts/tfg/modifications.js | 11 + .../tfg/nuclear/blocks.nuclear.js | 13 +- .../tfg/venus/blocks.venus_deco.js | 55 +- .../tfg/venus/materials.venus.js | 4 +- 340 files changed, 3654 insertions(+), 798 deletions(-) create mode 100644 kubejs/assets/tfg/blockstates/cultivation_monitor.json create mode 100644 kubejs/assets/tfg/blockstates/egh_planter.json create mode 100644 kubejs/assets/tfg/blockstates/grow_light.json create mode 100644 kubejs/assets/tfg/blockstates/hydroponics_facility.json create mode 100644 kubejs/assets/tfg/blockstates/pisciculture_core.json create mode 100644 kubejs/assets/tfg/blockstates/pisciculture_fishery.json create mode 100644 kubejs/assets/tfg/models/block/casings/machine_casing_egh.json create mode 100644 kubejs/assets/tfg/models/block/casings/machine_casing_egh_active.json create mode 100644 kubejs/assets/tfg/models/block/casings/pisciculture_core.json create mode 100644 kubejs/assets/tfg/models/block/casings/pisciculture_core_active.json create mode 100644 kubejs/assets/tfg/models/block/machines/cultivation_monitor/cultivation_monitor_active.json create mode 100644 kubejs/assets/tfg/models/block/machines/cultivation_monitor/cultivation_monitor_inactive.json create mode 100644 kubejs/assets/tfg/models/block/machines/egh_planter/egh_planter_active.json create mode 100644 kubejs/assets/tfg/models/block/machines/egh_planter/egh_planter_inactive.json create mode 100644 kubejs/assets/tfg/models/block/machines/egh_planter/grow_light_active.json create mode 100644 kubejs/assets/tfg/models/block/machines/egh_planter/grow_light_inactive.json create mode 100644 kubejs/assets/tfg/models/block/machines/hydroponics_facility.json create mode 100644 kubejs/assets/tfg/models/block/machines/pisciculture_fishery.json create mode 100644 kubejs/assets/tfg/models/item/cultivation_monitor.json create mode 100644 kubejs/assets/tfg/models/item/egh_planter.json create mode 100644 kubejs/assets/tfg/models/item/fish_roe.json create mode 100644 kubejs/assets/tfg/models/item/grow_light.json create mode 100644 kubejs/assets/tfg/models/item/hydroponics_facility.json create mode 100644 kubejs/assets/tfg/models/item/machine_casing_egh.json create mode 100644 kubejs/assets/tfg/models/item/machine_casing_egh_active.json create mode 100644 kubejs/assets/tfg/models/item/pisciculture_core.json create mode 100644 kubejs/assets/tfg/models/item/pisciculture_core_active.json create mode 100644 kubejs/assets/tfg/models/item/pisciculture_fishery.json create mode 100644 kubejs/assets/tfg/models/item/rotten_voiding_cover.json create mode 100644 kubejs/assets/tfg/particles/fish_school.json create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_ctm.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/pisciculture_core_active_emissive.png create mode 100644 kubejs/assets/tfg/textures/block/casings/pisciculture_core_side.png create mode 100644 kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active.png create mode 100644 kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_n.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_s.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/pisciculture_core_top.png create mode 100644 kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active.png create mode 100644 kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_n.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_s.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_s.png create mode 100644 kubejs/assets/tfg/textures/block/cover/rotten_voiding.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.chloroplasts.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.chloroplasts.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_semiheavy_ammoniacal_water.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_semiheavy_ammoniacal_water.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_water.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_water.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor.png create mode 100644 kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_active.png create mode 100644 kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_active.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_active_n.png create mode 100644 kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_active_s.png create mode 100644 kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive.png create mode 100644 kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive_n.png create mode 100644 kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive_s.png create mode 100644 kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_n.png create mode 100644 kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_s.png create mode 100644 kubejs/assets/tfg/textures/block/machines/egh_planter/egh_planter.png create mode 100644 kubejs/assets/tfg/textures/block/machines/egh_planter/egh_planter_n.png create mode 100644 kubejs/assets/tfg/textures/block/machines/egh_planter/egh_planter_s.png create mode 100644 kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front.png create mode 100644 kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active.png create mode 100644 kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive.png create mode 100644 kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive_n.png create mode 100644 kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive_s.png create mode 100644 kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_n.png create mode 100644 kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_s.png create mode 100644 kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_emissive.png create mode 100644 kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_n.png create mode 100644 kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_s.png create mode 100644 kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front.png create mode 100644 kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active.png create mode 100644 kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive.png create mode 100644 kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive_n.png create mode 100644 kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive_s.png create mode 100644 kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive_s.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_n.png create mode 100644 kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_s.png create mode 100644 kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_s.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_emissive.png create mode 100644 kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_n.png create mode 100644 kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_s.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_emissive.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_emissive.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_emissive_n.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_emissive_s.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_n.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_s.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_emissive.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_emissive_n.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_emissive_s.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_n.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_s.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_emissive.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_emissive_n.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_emissive_s.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_n.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_s.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_emissive.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_emissive_n.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_emissive_s.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_n.png create mode 100644 kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_s.png create mode 100644 kubejs/assets/tfg/textures/gui/progress_bar/progress_bar_egh.png create mode 100644 kubejs/assets/tfg/textures/gui/progress_bar/progress_bar_fish.png create mode 100644 kubejs/assets/tfg/textures/item/fish_roe_0.png create mode 100644 kubejs/assets/tfg/textures/item/fish_roe_1.png create mode 100644 kubejs/assets/tfg/textures/item/fish_roe_2.png create mode 100644 kubejs/assets/tfg/textures/item/flora_pellets.png create mode 100644 kubejs/assets/tfg/textures/item/rotten_voiding_cover.png create mode 100644 kubejs/assets/tfg/textures/particle/bluegill.png create mode 100644 kubejs/assets/tfg/textures/particle/cod.png create mode 100644 kubejs/assets/tfg/textures/particle/crappie.png create mode 100644 kubejs/assets/tfg/textures/particle/lake_trout.png create mode 100644 kubejs/assets/tfg/textures/particle/largemouth_bass.png create mode 100644 kubejs/assets/tfg/textures/particle/rainbow_trout.png create mode 100644 kubejs/assets/tfg/textures/particle/salmon.png create mode 100644 kubejs/assets/tfg/textures/particle/smallmouth_bass.png create mode 100644 kubejs/assets/tfg/textures/particle/tropical_fish.png create mode 100644 kubejs/server_scripts/tfg/aquaponics/data.aquaponics.js create mode 100644 kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js create mode 100644 kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js create mode 100644 kubejs/server_scripts/tfg/aquaponics/tags.aquaponics.js create mode 100644 kubejs/startup_scripts/tfg/aquaponics/items.aquaponics.js create mode 100644 kubejs/startup_scripts/tfg/aquaponics/materials.aquaponics.js create mode 100644 kubejs/startup_scripts/tfg/modifications.js diff --git a/kubejs/assets/tfg/blockstates/cultivation_monitor.json b/kubejs/assets/tfg/blockstates/cultivation_monitor.json new file mode 100644 index 000000000..c94d85c58 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/cultivation_monitor.json @@ -0,0 +1,29 @@ +{ + "variants": { + "active=false,facing=north": [ + { "model": "tfg:block/machines/cultivation_monitor/cultivation_monitor_inactive"} + ], + "active=false,facing=south": [ + { "model": "tfg:block/machines/cultivation_monitor/cultivation_monitor_inactive", "y": 180 } + ], + "active=false,facing=west": [ + { "model": "tfg:block/machines/cultivation_monitor/cultivation_monitor_inactive", "y": 270 } + ], + "active=false,facing=east": [ + { "model": "tfg:block/machines/cultivation_monitor/cultivation_monitor_inactive", "y": 90 } + ], + + "active=true,facing=north": [ + { "model": "tfg:block/machines/cultivation_monitor/cultivation_monitor_active" } + ], + "active=true,facing=south": [ + { "model": "tfg:block/machines/cultivation_monitor/cultivation_monitor_active", "y": 180 } + ], + "active=true,facing=west": [ + { "model": "tfg:block/machines/cultivation_monitor/cultivation_monitor_active", "y": 270 } + ], + "active=true,facing=east": [ + { "model": "tfg:block/machines/cultivation_monitor/cultivation_monitor_active", "y": 90 } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/egh_planter.json b/kubejs/assets/tfg/blockstates/egh_planter.json new file mode 100644 index 000000000..542503c08 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/egh_planter.json @@ -0,0 +1,29 @@ +{ + "variants": { + "active=false,facing=north": [ + { "model": "tfg:block/machines/egh_planter/egh_planter_inactive", "y": 180 } + ], + "active=false,facing=south": [ + { "model": "tfg:block/machines/egh_planter/egh_planter_inactive" } + ], + "active=false,facing=west": [ + { "model": "tfg:block/machines/egh_planter/egh_planter_inactive", "y": 90 } + ], + "active=false,facing=east": [ + { "model": "tfg:block/machines/egh_planter/egh_planter_inactive", "y": 270 } + ], + + "active=true,facing=north": [ + { "model": "tfg:block/machines/egh_planter/egh_planter_active", "y": 180 } + ], + "active=true,facing=south": [ + { "model": "tfg:block/machines/egh_planter/egh_planter_active" } + ], + "active=true,facing=west": [ + { "model": "tfg:block/machines/egh_planter/egh_planter_active", "y": 90 } + ], + "active=true,facing=east": [ + { "model": "tfg:block/machines/egh_planter/egh_planter_active", "y": 270 } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/grow_light.json b/kubejs/assets/tfg/blockstates/grow_light.json new file mode 100644 index 000000000..2e134a150 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/grow_light.json @@ -0,0 +1,29 @@ +{ + "variants": { + "active=false,facing=north": [ + { "model": "tfg:block/machines/egh_planter/grow_light_inactive", "y": 180 } + ], + "active=false,facing=south": [ + { "model": "tfg:block/machines/egh_planter/grow_light_inactive" } + ], + "active=false,facing=west": [ + { "model": "tfg:block/machines/egh_planter/grow_light_inactive", "y": 90 } + ], + "active=false,facing=east": [ + { "model": "tfg:block/machines/egh_planter/grow_light_inactive", "y": 270 } + ], + + "active=true,facing=north": [ + { "model": "tfg:block/machines/egh_planter/grow_light_active", "y": 180 } + ], + "active=true,facing=south": [ + { "model": "tfg:block/machines/egh_planter/grow_light_active" } + ], + "active=true,facing=west": [ + { "model": "tfg:block/machines/egh_planter/grow_light_active", "y": 90 } + ], + "active=true,facing=east": [ + { "model": "tfg:block/machines/egh_planter/grow_light_active", "y": 270 } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/hydroponics_facility.json b/kubejs/assets/tfg/blockstates/hydroponics_facility.json new file mode 100644 index 000000000..9b3d85bc4 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/hydroponics_facility.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfg:block/machines/hydroponics_facility", + "y": 90 + }, + "facing=north": { + "model": "tfg:block/machines/hydroponics_facility" + }, + "facing=south": { + "model": "tfg:block/machines/hydroponics_facility", + "y": 180 + }, + "facing=west": { + "model": "tfg:block/machines/hydroponics_facility", + "y": 270 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/pisciculture_core.json b/kubejs/assets/tfg/blockstates/pisciculture_core.json new file mode 100644 index 000000000..b81173526 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/pisciculture_core.json @@ -0,0 +1,28 @@ +{ + "variants": { + "active=false,facing=north": [ + { "model": "tfg:block/casings/pisciculture_core" } + ], + "active=false,facing=south": [ + { "model": "tfg:block/casings/pisciculture_core", "y": 180 } + ], + "active=false,facing=west": [ + { "model": "tfg:block/casings/pisciculture_core", "y": 270 } + ], + "active=false,facing=east": [ + { "model": "tfg:block/casings/pisciculture_core", "y": 90 } + ], + "active=true,facing=north": [ + { "model": "tfg:block/casings/pisciculture_core_active" } + ], + "active=true,facing=south": [ + { "model": "tfg:block/casings/pisciculture_core_active", "y": 180 } + ], + "active=true,facing=west": [ + { "model": "tfg:block/casings/pisciculture_core_active", "y": 270 } + ], + "active=true,facing=east": [ + { "model": "tfg:block/casings/pisciculture_core_active", "y": 90 } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/pisciculture_fishery.json b/kubejs/assets/tfg/blockstates/pisciculture_fishery.json new file mode 100644 index 000000000..d5041e422 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/pisciculture_fishery.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfg:block/machines/pisciculture_fishery", + "y": 90 + }, + "facing=north": { + "model": "tfg:block/machines/pisciculture_fishery" + }, + "facing=south": { + "model": "tfg:block/machines/pisciculture_fishery", + "y": 180 + }, + "facing=west": { + "model": "tfg:block/machines/pisciculture_fishery", + "y": 270 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/casings/machine_casing_egh.json b/kubejs/assets/tfg/models/block/casings/machine_casing_egh.json new file mode 100644 index 000000000..2b639dd1e --- /dev/null +++ b/kubejs/assets/tfg/models/block/casings/machine_casing_egh.json @@ -0,0 +1 @@ +{"parent":"minecraft:block/cube_all","textures":{"all":"tfg:block/casings/machine_casing_egh_inactive"}} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/casings/machine_casing_egh_active.json b/kubejs/assets/tfg/models/block/casings/machine_casing_egh_active.json new file mode 100644 index 000000000..2819b3860 --- /dev/null +++ b/kubejs/assets/tfg/models/block/casings/machine_casing_egh_active.json @@ -0,0 +1,7 @@ +{ + "parent": "tfg:block/casings/active_casing", + "textures": { + "active": "tfg:block/casings/machine_casing_egh_active", + "active_overlay": "tfg:block/casings/machine_casing_egh_active_emissive" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/casings/pisciculture_core.json b/kubejs/assets/tfg/models/block/casings/pisciculture_core.json new file mode 100644 index 000000000..d9a5e9371 --- /dev/null +++ b/kubejs/assets/tfg/models/block/casings/pisciculture_core.json @@ -0,0 +1,55 @@ +{ + "format_version": "1.21.6", + "credit": "Made with Blockbench", + "textures": { + "0": "tfg:block/casings/pisciculture_core_side", + "1": "tfg:block/casings/pisciculture_core_top", + "particle": "tfg:block/casings/pisciculture_core_top" + }, + "elements": [ + { + "name": "pisciculture_core", + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [16, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [16, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [16, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [16, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [16, 0, 0, 16], "texture": "#1"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -135, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, -135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/casings/pisciculture_core_active.json b/kubejs/assets/tfg/models/block/casings/pisciculture_core_active.json new file mode 100644 index 000000000..b4ae9d996 --- /dev/null +++ b/kubejs/assets/tfg/models/block/casings/pisciculture_core_active.json @@ -0,0 +1,73 @@ +{ + "format_version": "1.21.6", + "credit": "Made with Blockbench", + "ambientocclusion": false, + "textures": { + "0": "tfg:block/casings/pisciculture_core_side_active", + "1": "tfg:block/casings/pisciculture_core_top_active", + "2": "tfg:block/casings/pisciculture_core_active_emissive", + "particle": "tfg:block/casings/pisciculture_core_side_active" + }, + "elements": [ + { + "name": "rotor", + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [16, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [16, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [16, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [16, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [16, 0, 0, 16], "texture": "#1"} + } + }, + { + "name": "emissive", + "from": [-0.05, -0.05, -0.05], + "to": [16.05, 16.05, 16.05], + "forge_data": { "block_light": 13, "sky_light": 13 }, + "shade": false, + "rotation": {"angle": 0, "axis": "y", "origin": [15.8, 1, 12.8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [16, 0, 0, 16], "texture": "#2"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -135, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, -135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/cultivation_monitor/cultivation_monitor_active.json b/kubejs/assets/tfg/models/block/machines/cultivation_monitor/cultivation_monitor_active.json new file mode 100644 index 000000000..d38895a45 --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/cultivation_monitor/cultivation_monitor_active.json @@ -0,0 +1,95 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "ambientocclusion": false, + "texture_size": [64, 64], + "textures": { + "3": "tfg:block/machines/cultivation_monitor/cultivation_monitor_display_active", + "4": "tfg:block/machines/cultivation_monitor/cultivation_monitor", + "particle": "tfg:block/machines/cultivation_monitor/cultivation_monitor" + }, + "elements": [ + { + "name": "arm", + "from": [7, 6, 12.5], + "to": [9, 10, 23.5], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 11, 22.5]}, + "faces": { + "north": {"uv": [3.66667, 0, 3, 0.33333], "rotation": 90, "texture": "#4"}, + "east": {"uv": [3.66667, 0, 3, 1.5], "rotation": 90, "texture": "#4"}, + "south": {"uv": [3.66667, 1.5, 3, 1.83333], "rotation": 90, "texture": "#4"}, + "west": {"uv": [3, 0, 3.66667, 1.83333], "rotation": 270, "texture": "#4"}, + "up": {"uv": [3.5, 0, 3.83333, 1.83333], "texture": "#4"}, + "down": {"uv": [2.83333, 0, 3.16667, 1.83333], "rotation": 180, "texture": "#4"} + } + }, + { + "name": "monitor", + "from": [-9, -10, 12.10896], + "to": [25, 24, 13.10896], + "rotation": {"angle": 0, "axis": "y", "origin": [7.5, 14.06147, 15.10896]}, + "faces": { + "north": {"uv": [5.66667, 7.49167, 0, 1.84167], "rotation": 180, "texture": "#4"}, + "east": {"uv": [0, 1.83333, 0.16667, 7.5], "texture": "#4"}, + "south": {"uv": [5.66667, 1.83333, 11.33333, 7.5], "texture": "#4"}, + "west": {"uv": [5.5, 1.83333, 5.66667, 7.5], "texture": "#4"}, + "up": {"uv": [0, 1.83333, 5.66667, 2], "texture": "#4"}, + "down": {"uv": [5.66667, 7.33333, 11.33333, 7.5], "rotation": 180, "texture": "#4"} + } + }, + { + "name": "screen", + "from": [-8, -9, 12.00896], + "to": [24, 23, 12.00896], + "shade": false, + "rotation": {"angle": 0, "axis": "y", "origin": [14.5, 11.06147, 15.10896]}, + "faces": { + "north": {"uv": [16, 16, 0, 0], "rotation": 180, "texture": "#3"}, + "east": {"uv": [0, 0, 10, 0], "rotation": 90, "texture": "#missing"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [0, 0, 10, 0], "rotation": 270, "texture": "#missing"}, + "up": {"uv": [0, 0, 15.33333, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 15.33333, 0], "rotation": 180, "texture": "#missing"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 0, 0], + "translation": [0, 1.5, 0], + "scale": [0.3, 0.3, 0.3] + }, + "thirdperson_lefthand": { + "rotation": [75, 0, 0], + "translation": [0, 1.5, 0], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_righthand": { + "rotation": [-3, 28, -8], + "translation": [-1.25, 0, 0.5], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_lefthand": { + "rotation": [-3, 28, -8], + "translation": [-1.25, 0, 0.5], + "scale": [0.3, 0.3, 0.3] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [27, 136, 0], + "translation": [-1.25, 0, 0], + "scale": [0.35, 0.35, 0.35] + }, + "head": { + "translation": [0, 0, -9.75], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "translation": [0, 0, -2], + "scale": [0.4, 0.4, 0.4] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/cultivation_monitor/cultivation_monitor_inactive.json b/kubejs/assets/tfg/models/block/machines/cultivation_monitor/cultivation_monitor_inactive.json new file mode 100644 index 000000000..e2f398566 --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/cultivation_monitor/cultivation_monitor_inactive.json @@ -0,0 +1,96 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "ambientocclusion": false, + "texture_size": [64, 64], + "textures": { + "2": "tfg:block/machines/cultivation_monitor/cultivation_monitor_display_inactive", + "4": "tfg:block/machines/cultivation_monitor/cultivation_monitor", + "particle": "tfg:block/machines/cultivation_monitor/cultivation_monitor" + }, + "elements": [ + { + "name": "arm", + "from": [7, 6, 12.4], + "to": [9, 10, 23.4], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 11, 22.4]}, + "faces": { + "north": {"uv": [3.66667, 0, 3, 0.33333], "rotation": 90, "texture": "#4"}, + "east": {"uv": [3.66667, 0, 3, 1.5], "rotation": 90, "texture": "#4"}, + "south": {"uv": [3.66667, 1.5, 3, 1.83333], "rotation": 90, "texture": "#4"}, + "west": {"uv": [3, 0, 3.66667, 1.83333], "rotation": 270, "texture": "#4"}, + "up": {"uv": [3.5, 0, 3.83333, 1.83333], "texture": "#4"}, + "down": {"uv": [2.83333, 0, 3.16667, 1.83333], "rotation": 180, "texture": "#4"} + } + }, + { + "name": "monitor", + "from": [-9, -10, 12.00896], + "to": [25, 24, 13.00896], + "rotation": {"angle": 0, "axis": "y", "origin": [7.5, 14.06147, 15.00896]}, + "faces": { + "north": {"uv": [5.66667, 7.49167, 0, 1.84167], "rotation": 180, "texture": "#4"}, + "east": {"uv": [0, 1.83333, 0.16667, 7.5], "texture": "#4"}, + "south": {"uv": [5.66667, 1.83333, 11.33333, 7.5], "texture": "#4"}, + "west": {"uv": [5.5, 1.83333, 5.66667, 7.5], "texture": "#4"}, + "up": {"uv": [0, 1.83333, 5.66667, 2], "texture": "#4"}, + "down": {"uv": [5.66667, 7.33333, 11.33333, 7.5], "rotation": 180, "texture": "#4"} + } + }, + { + "name": "screen", + "from": [-8, -9, 11.90896], + "to": [24, 23, 11.90896], + "forge_data": { "block_light": 13, "sky_light": 13 }, + "shade": false, + "rotation": {"angle": 0, "axis": "y", "origin": [14.5, 11.06147, 15.00896]}, + "faces": { + "north": {"uv": [16, 16, 0, 0], "rotation": 180, "texture": "#2"}, + "east": {"uv": [0, 0, 10, 0], "rotation": 90, "texture": "#missing"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 0, 10, 0], "rotation": 270, "texture": "#missing"}, + "up": {"uv": [0, 0, 15.33333, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 15.33333, 0], "rotation": 180, "texture": "#missing"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 0, 0], + "translation": [0, 1.5, 0], + "scale": [0.3, 0.3, 0.3] + }, + "thirdperson_lefthand": { + "rotation": [75, 0, 0], + "translation": [0, 1.5, 0], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_righthand": { + "rotation": [-3, 28, -8], + "translation": [-1.25, 0, 0.5], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_lefthand": { + "rotation": [-3, 28, -8], + "translation": [-1.25, 0, 0.5], + "scale": [0.3, 0.3, 0.3] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [27, 141, 0], + "translation": [0.5, 1, 0], + "scale": [0.3, 0.3, 0.3] + }, + "head": { + "translation": [0, 0, -2.5], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "translation": [0, 0, 2.5], + "scale": [0.4, 0.4, 0.4] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/egh_planter/egh_planter_active.json b/kubejs/assets/tfg/models/block/machines/egh_planter/egh_planter_active.json new file mode 100644 index 000000000..0e58ce3da --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/egh_planter/egh_planter_active.json @@ -0,0 +1,313 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "ambientocclusion": false, + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/machines/egh_planter/egh_planter", + "particle": "tfg:block/machines/egh_planter/egh_planter" + }, + "elements": [ + { + "name": "lamps1", + "from": [10.4, 1, 1], + "to": [15.4, 1, 15], + "forge_data": { "block_light": 13, "sky_light": 13 }, + "shade": false, + "rotation": {"angle": 22.5, "axis": "z", "origin": [8.4, 0, 0]}, + "faces": { + "north": {"uv": [3.5, 0.5, 5.25, 0.75], "texture": "#0"}, + "east": {"uv": [3.5, 0, 7.5, 0.25], "texture": "#0"}, + "south": {"uv": [3.5, 0.75, 5.25, 1], "texture": "#0"}, + "west": {"uv": [3.5, 0.25, 7.5, 0.5], "texture": "#0"}, + "up": {"uv": [4.5, 3.5, 3.25, 0], "texture": "#0"}, + "down": {"uv": [4.5, 0, 3.25, 3.5], "texture": "#0"} + } + }, + { + "name": "grow_light1", + "from": [9, 1, 0], + "to": [16, 2, 16], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 1, 0]}, + "faces": { + "north": {"uv": [0, 3.75, 1.75, 4], "texture": "#0"}, + "east": {"uv": [0, 4, 0.25, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [1.75, 0, 0, 0.25], "texture": "#0"}, + "west": {"uv": [1.5, 0, 1.75, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1.75, 4, 0, 0], "texture": "#0"}, + "down": {"uv": [1.75, 0, 0, 4], "texture": "#0"} + } + }, + { + "name": "lamps2", + "from": [0.6, 1, 1], + "to": [5.6, 1, 15], + "forge_data": { "block_light": 13, "sky_light": 13 }, + "shade": false, + "rotation": {"angle": -22.5, "axis": "z", "origin": [7.6, 0, 0]}, + "faces": { + "north": {"uv": [5.25, 0.5, 3.5, 0.75], "texture": "#0"}, + "east": {"uv": [7.5, 0.25, 3.5, 0.5], "texture": "#0"}, + "south": {"uv": [5.25, 0.75, 3.5, 1], "texture": "#0"}, + "west": {"uv": [7.5, 0, 3.5, 0.25], "texture": "#0"}, + "up": {"uv": [3.25, 3.5, 4.5, 0], "texture": "#0"}, + "down": {"uv": [3.25, 0, 4.5, 3.5], "texture": "#0"} + } + }, + { + "name": "grow_light2", + "from": [0, 1, 0], + "to": [7, 2, 16], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 1, 0]}, + "faces": { + "north": {"uv": [1.75, 3.75, 0, 4], "texture": "#0"}, + "east": {"uv": [1.5, 4, 1.75, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 1.75, 0.25], "texture": "#0"}, + "west": {"uv": [0, 0, 0.25, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 4, 1.75, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 1.75, 4], "texture": "#0"} + } + }, + { + "name": "top", + "from": [0, 10, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [5.5, 0, 9.5, 1.5], "texture": "#0"}, + "east": {"uv": [5.5, 0, 9.5, 1.5], "texture": "#0"}, + "south": {"uv": [5.5, 0, 9.5, 1.5], "texture": "#0"}, + "west": {"uv": [5.5, 0, 9.5, 1.5], "texture": "#0"}, + "up": {"uv": [9.5, 1.5, 13.5, 5.5], "texture": "#0"}, + "down": {"uv": [5.5, 1.5, 9.5, 5.5], "texture": "#0"} + } + }, + { + "name": "mid", + "from": [2, 4, 3], + "to": [14, 10, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 7]}, + "faces": { + "north": {"uv": [0, 4, 3, 5.5], "texture": "#0"}, + "east": {"uv": [0, 4, 2.5, 5.5], "texture": "#0"}, + "south": {"uv": [0, 4, 3, 5.5], "texture": "#0"}, + "west": {"uv": [0, 4, 2.5, 5.5], "texture": "#0"}, + "up": {"uv": [0, 5.5, 3, 8], "texture": "#0"}, + "down": {"uv": [0, 5.5, 3, 8], "texture": "#0"} + } + }, + { + "name": "water", + "from": [6, 2, 0.1], + "to": [10, 10, 15.9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3, 4, 4, 6], "texture": "#0"}, + "east": {"uv": [3, 6, 7, 8], "texture": "#0"}, + "south": {"uv": [3, 4, 4, 6], "texture": "#0"}, + "west": {"uv": [3, 6, 7, 8], "texture": "#0"}, + "up": {"uv": [4.5, 0, 5.5, 4], "texture": "#0"}, + "down": {"uv": [4.5, 0, 5.5, 4], "texture": "#0"} + } + }, + { + "name": "vegetation1", + "from": [0, 9, 0], + "to": [16, 16, 0], + "rotation": {"angle": 22.5, "axis": "x", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [9.5, 5.75, 13.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "south": {"uv": [9.5, 5.5, 13.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "name": "vegetation2", + "from": [0, 11, 0], + "to": [16, 16, 0], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [13.5, 6.25, 9.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [13.5, 6, 9.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "name": "vegetation2", + "from": [16, 9, 0], + "to": [16, 16, 16], + "rotation": {"angle": 22.5, "axis": "z", "origin": [16, 16, 0]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [9.5, 5.75, 13.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [9.5, 5.5, 13.5, 7.5], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "vegetation3", + "from": [16, 11, 0], + "to": [16, 16, 16], + "rotation": {"angle": 45, "axis": "z", "origin": [16, 16, 0]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [13.5, 6.25, 9.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [13.5, 6, 9.5, 7.5], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "vegetation3", + "from": [0, 9, 0], + "to": [0, 16, 16], + "rotation": {"angle": -22.5, "axis": "z", "origin": [0, 16, 16]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [9.5, 5.5, 13.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [9.5, 5.75, 13.5, 7.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "vegetation4", + "from": [0, 11, 0], + "to": [0, 16, 16], + "rotation": {"angle": -45, "axis": "z", "origin": [0, 16, 16]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [13.5, 6, 9.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [13.5, 6.25, 9.5, 7.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "vegetation4", + "from": [0, 9, 16], + "to": [16, 16, 16], + "rotation": {"angle": -22.5, "axis": "x", "origin": [0, 16, 16]}, + "faces": { + "north": {"uv": [9.5, 5.5, 13.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "south": {"uv": [9.5, 5.75, 13.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "name": "vegetation5", + "from": [0, 11, 16], + "to": [16, 16, 16], + "rotation": {"angle": -45, "axis": "x", "origin": [0, 16, 16]}, + "faces": { + "north": {"uv": [13.5, 6, 9.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [13.5, 6.25, 9.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "name": "nozzel", + "from": [6, 1, 6], + "to": [10, 2, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "east": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "south": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "west": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "up": {"uv": [4, 5, 5, 6], "texture": "#0"}, + "down": {"uv": [4, 5, 5, 6], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -135, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, -30, 0], + "translation": [0, -0.75, 0], + "scale": [0.6, 0.6, 0.6] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "growth_lamp1", + "origin": [8.4, 0, 0], + "color": 0, + "children": [0, 1] + }, + { + "name": "growth_lamp2", + "origin": [8.4, 0, 0], + "color": 0, + "children": [2, 3] + }, + 4, + 5, + 6, + { + "name": "vegetation_group1", + "origin": [0, 16, 0], + "color": 0, + "children": [7, 8] + }, + { + "name": "vegetation_group2", + "origin": [0, 16, 0], + "color": 0, + "children": [9, 10] + }, + { + "name": "vegetation_group3", + "origin": [0, 16, 0], + "color": 0, + "children": [11, 12] + }, + { + "name": "vegetation_group4", + "origin": [0, 16, 0], + "color": 0, + "children": [13, 14] + }, + 15 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/egh_planter/egh_planter_inactive.json b/kubejs/assets/tfg/models/block/machines/egh_planter/egh_planter_inactive.json new file mode 100644 index 000000000..865c55300 --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/egh_planter/egh_planter_inactive.json @@ -0,0 +1,309 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "ambientocclusion": false, + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/machines/egh_planter/egh_planter", + "particle": "tfg:block/machines/egh_planter/egh_planter" + }, + "elements": [ + { + "name": "lamps1", + "from": [10.4, 1, 1], + "to": [15.4, 1, 15], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8.4, 0, 0]}, + "faces": { + "north": {"uv": [3.5, 0.5, 5.25, 0.75], "texture": "#0"}, + "east": {"uv": [3.5, 0, 7.5, 0.25], "texture": "#0"}, + "south": {"uv": [3.5, 0.75, 5.25, 1], "texture": "#0"}, + "west": {"uv": [3.5, 0.25, 7.5, 0.5], "texture": "#0"}, + "up": {"uv": [3, 3.5, 1.75, 0], "texture": "#0"}, + "down": {"uv": [3, 0, 1.75, 3.5], "texture": "#0"} + } + }, + { + "name": "grow_light1", + "from": [9, 1, 0], + "to": [16, 2, 16], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 1, 0]}, + "faces": { + "north": {"uv": [0, 3.75, 1.75, 4], "texture": "#0"}, + "east": {"uv": [0, 4, 0.25, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [1.75, 0, 0, 0.25], "texture": "#0"}, + "west": {"uv": [1.5, 0, 1.75, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1.75, 4, 0, 0], "texture": "#0"}, + "down": {"uv": [1.75, 0, 0, 4], "texture": "#0"} + } + }, + { + "name": "lamps2", + "from": [0.6, 1, 1], + "to": [5.6, 1, 15], + "rotation": {"angle": -22.5, "axis": "z", "origin": [7.6, 0, 0]}, + "faces": { + "north": {"uv": [5.25, 0.5, 3.5, 0.75], "texture": "#0"}, + "east": {"uv": [7.5, 0.25, 3.5, 0.5], "texture": "#0"}, + "south": {"uv": [5.25, 0.75, 3.5, 1], "texture": "#0"}, + "west": {"uv": [7.5, 0, 3.5, 0.25], "texture": "#0"}, + "up": {"uv": [1.75, 3.5, 3, 0], "texture": "#0"}, + "down": {"uv": [1.75, 0, 3, 3.5], "texture": "#0"} + } + }, + { + "name": "grow_light2", + "from": [0, 1, 0], + "to": [7, 2, 16], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 1, 0]}, + "faces": { + "north": {"uv": [1.75, 3.75, 0, 4], "texture": "#0"}, + "east": {"uv": [1.5, 4, 1.75, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 1.75, 0.25], "texture": "#0"}, + "west": {"uv": [0, 0, 0.25, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 4, 1.75, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 1.75, 4], "texture": "#0"} + } + }, + { + "name": "top", + "from": [0, 10, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [5.5, 0, 9.5, 1.5], "texture": "#0"}, + "east": {"uv": [5.5, 0, 9.5, 1.5], "texture": "#0"}, + "south": {"uv": [5.5, 0, 9.5, 1.5], "texture": "#0"}, + "west": {"uv": [5.5, 0, 9.5, 1.5], "texture": "#0"}, + "up": {"uv": [9.5, 1.5, 13.5, 5.5], "texture": "#0"}, + "down": {"uv": [5.5, 1.5, 9.5, 5.5], "texture": "#0"} + } + }, + { + "name": "mid", + "from": [2, 4, 3], + "to": [14, 10, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 7]}, + "faces": { + "north": {"uv": [0, 4, 3, 5.5], "texture": "#0"}, + "east": {"uv": [0, 4, 2.5, 5.5], "texture": "#0"}, + "south": {"uv": [0, 4, 3, 5.5], "texture": "#0"}, + "west": {"uv": [0, 4, 2.5, 5.5], "texture": "#0"}, + "up": {"uv": [0, 5.5, 3, 8], "texture": "#0"}, + "down": {"uv": [0, 5.5, 3, 8], "texture": "#0"} + } + }, + { + "name": "water", + "from": [6, 2, 0.1], + "to": [10, 10, 15.9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3, 4, 4, 6], "texture": "#0"}, + "east": {"uv": [3, 6, 7, 8], "texture": "#0"}, + "south": {"uv": [3, 4, 4, 6], "texture": "#0"}, + "west": {"uv": [3, 6, 7, 8], "texture": "#0"}, + "up": {"uv": [4.5, 0, 5.5, 4], "texture": "#0"}, + "down": {"uv": [4.5, 0, 5.5, 4], "texture": "#0"} + } + }, + { + "name": "vegetation1", + "from": [0, 9, 0], + "to": [16, 16, 0], + "rotation": {"angle": 22.5, "axis": "x", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [9.5, 5.75, 13.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "south": {"uv": [9.5, 5.5, 13.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "name": "vegetation2", + "from": [0, 11, 0], + "to": [16, 16, 0], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [13.5, 6.25, 9.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [13.5, 6, 9.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "name": "vegetation2", + "from": [16, 9, 0], + "to": [16, 16, 16], + "rotation": {"angle": 22.5, "axis": "z", "origin": [16, 16, 0]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [9.5, 5.75, 13.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [9.5, 5.5, 13.5, 7.5], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "vegetation3", + "from": [16, 11, 0], + "to": [16, 16, 16], + "rotation": {"angle": 45, "axis": "z", "origin": [16, 16, 0]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [13.5, 6.25, 9.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [13.5, 6, 9.5, 7.5], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "vegetation3", + "from": [0, 9, 0], + "to": [0, 16, 16], + "rotation": {"angle": -22.5, "axis": "z", "origin": [0, 16, 16]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [9.5, 5.5, 13.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [9.5, 5.75, 13.5, 7.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "vegetation4", + "from": [0, 11, 0], + "to": [0, 16, 16], + "rotation": {"angle": -45, "axis": "z", "origin": [0, 16, 16]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [13.5, 6, 9.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [13.5, 6.25, 9.5, 7.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "vegetation4", + "from": [0, 9, 16], + "to": [16, 16, 16], + "rotation": {"angle": -22.5, "axis": "x", "origin": [0, 16, 16]}, + "faces": { + "north": {"uv": [9.5, 5.5, 13.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "south": {"uv": [9.5, 5.75, 13.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "name": "vegetation5", + "from": [0, 11, 16], + "to": [16, 16, 16], + "rotation": {"angle": -45, "axis": "x", "origin": [0, 16, 16]}, + "faces": { + "north": {"uv": [13.5, 6, 9.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [13.5, 6.25, 9.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "name": "nozzel", + "from": [6, 1, 6], + "to": [10, 2, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "east": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "south": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "west": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "up": {"uv": [4, 5, 5, 6], "texture": "#0"}, + "down": {"uv": [4, 5, 5, 6], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -135, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, -30, 0], + "translation": [0, -0.75, 0], + "scale": [0.6, 0.6, 0.6] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "growth_lamp1", + "origin": [8.4, 0, 0], + "color": 0, + "children": [0, 1] + }, + { + "name": "growth_lamp2", + "origin": [8.4, 0, 0], + "color": 0, + "children": [2, 3] + }, + 4, + 5, + 6, + { + "name": "vegetation_group1", + "origin": [0, 16, 0], + "color": 0, + "children": [7, 8] + }, + { + "name": "vegetation_group2", + "origin": [0, 16, 0], + "color": 0, + "children": [9, 10] + }, + { + "name": "vegetation_group3", + "origin": [0, 16, 0], + "color": 0, + "children": [11, 12] + }, + { + "name": "vegetation_group4", + "origin": [0, 16, 0], + "color": 0, + "children": [13, 14] + }, + 15 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/egh_planter/grow_light_active.json b/kubejs/assets/tfg/models/block/machines/egh_planter/grow_light_active.json new file mode 100644 index 000000000..5b042818c --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/egh_planter/grow_light_active.json @@ -0,0 +1,170 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "ambientocclusion": false, + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/machines/egh_planter/egh_planter", + "particle": "tfg:block/machines/egh_planter/egh_planter" + }, + "elements": [ + { + "name": "lamps1", + "from": [10.4, 12, 1.1], + "to": [15.4, 12, 14.9], + "forge_data": { "block_light": 13, "sky_light": 13 }, + "shade": false, + "rotation": {"angle": 22.5, "axis": "z", "origin": [8.4, 11, 0]}, + "faces": { + "north": {"uv": [3.5, 0.5, 5.25, 0.75], "texture": "#0"}, + "east": {"uv": [3.5, 0, 7.5, 0.25], "texture": "#0"}, + "south": {"uv": [3.5, 0.75, 5.25, 1], "texture": "#0"}, + "west": {"uv": [3.5, 0.25, 7.5, 0.5], "texture": "#0"}, + "up": {"uv": [1.75, 4, 0, 0], "texture": "#0"}, + "down": {"uv": [4.5, 0, 3.25, 3.5], "texture": "#0"} + } + }, + { + "name": "grow_light1", + "from": [9, 12, 0.1], + "to": [16, 13, 15.9], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 12, 0]}, + "faces": { + "north": {"uv": [0, 3.75, 1.75, 4], "texture": "#0"}, + "east": {"uv": [0, 4, 0.25, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [1.75, 0, 0, 0.25], "texture": "#0"}, + "west": {"uv": [1.5, 0, 1.75, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1.75, 4, 0, 0], "texture": "#0"}, + "down": {"uv": [1.75, 0, 0, 4], "texture": "#0"} + } + }, + { + "name": "lamps2", + "from": [0.6, 12, 1.1], + "to": [5.6, 12, 14.9], + "forge_data": { "block_light": 13, "sky_light": 13 }, + "shade": false, + "rotation": {"angle": -22.5, "axis": "z", "origin": [7.6, 11, 0]}, + "faces": { + "north": {"uv": [5.25, 0.5, 3.5, 0.75], "texture": "#0"}, + "east": {"uv": [7.5, 0.25, 3.5, 0.5], "texture": "#0"}, + "south": {"uv": [5.25, 0.75, 3.5, 1], "texture": "#0"}, + "west": {"uv": [7.5, 0, 3.5, 0.25], "texture": "#0"}, + "up": {"uv": [0, 4, 1.75, 0], "texture": "#0"}, + "down": {"uv": [3.25, 0, 4.5, 3.5], "texture": "#0"} + } + }, + { + "name": "grow_light2", + "from": [0, 12, 0.1], + "to": [7, 13, 15.9], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 12, 0]}, + "faces": { + "north": {"uv": [1.75, 3.75, 0, 4], "texture": "#0"}, + "east": {"uv": [1.5, 4, 1.75, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 1.75, 0.25], "texture": "#0"}, + "west": {"uv": [0, 0, 0.25, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 4, 1.75, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 1.75, 4], "texture": "#0"} + } + }, + { + "name": "top", + "from": [0, 15, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 0]}, + "faces": { + "north": {"uv": [5.5, 1, 9.5, 1.25], "texture": "#0"}, + "east": {"uv": [5.5, 1, 9.5, 1.25], "texture": "#0"}, + "south": {"uv": [5.5, 1, 9.5, 1.25], "texture": "#0"}, + "west": {"uv": [5.5, 1, 9.5, 1.25], "texture": "#0"}, + "up": {"uv": [5.5, 1.5, 9.5, 5.5], "texture": "#0"}, + "down": {"uv": [5.5, 1.5, 9.5, 5.5], "texture": "#0"} + } + }, + { + "name": "mid", + "from": [6, 13, 2], + "to": [10, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 17, 7]}, + "faces": { + "north": {"uv": [0, 5, 1, 5.5], "texture": "#0"}, + "east": {"uv": [0, 5, 3, 5.5], "texture": "#0"}, + "south": {"uv": [0, 5, 1, 5.5], "texture": "#0"}, + "west": {"uv": [0, 5, 3, 5.5], "texture": "#0"}, + "up": {"uv": [0, 6.25, 3, 7.25], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 6.25, 3, 7.25], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "nozzel", + "from": [6, 12, 6], + "to": [10, 13, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 12, 6]}, + "faces": { + "north": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "east": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "south": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "west": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "up": {"uv": [4, 5, 5, 6], "texture": "#0"}, + "down": {"uv": [4, 5, 5, 6], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [90, 60, -137], + "translation": [0, 0, 1.75], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [90, 60, -137], + "translation": [0, 0, 1.75], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "rotation": [0, 0, 180], + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [142, 31, -160], + "translation": [-1.5, -3.25, 0], + "scale": [0.6, 0.6, 0.6] + }, + "head": { + "rotation": [0, 0, 180], + "translation": [0, 15, 0] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "growth_lamp1", + "origin": [8.4, 0, 0], + "color": 0, + "children": [0, 1] + }, + { + "name": "growth_lamp2", + "origin": [8.4, 0, 0], + "color": 0, + "children": [2, 3] + }, + 4, + 5, + 6 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/egh_planter/grow_light_inactive.json b/kubejs/assets/tfg/models/block/machines/egh_planter/grow_light_inactive.json new file mode 100644 index 000000000..07ab7af3b --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/egh_planter/grow_light_inactive.json @@ -0,0 +1,165 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/machines/egh_planter/egh_planter", + "particle": "tfg:block/machines/egh_planter/egh_planter" + }, + "elements": [ + { + "name": "lamps1", + "from": [10.4, 12, 1.1], + "to": [15.4, 12, 14.9], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8.4, 11, 0]}, + "faces": { + "north": {"uv": [3.5, 0.5, 5.25, 0.75], "texture": "#0"}, + "east": {"uv": [3.5, 0, 7.5, 0.25], "texture": "#0"}, + "south": {"uv": [3.5, 0.75, 5.25, 1], "texture": "#0"}, + "west": {"uv": [3.5, 0.25, 7.5, 0.5], "texture": "#0"}, + "up": {"uv": [1.75, 4, 0, 0], "texture": "#0"}, + "down": {"uv": [3, 0, 1.75, 3.5], "texture": "#0"} + } + }, + { + "name": "grow_light1", + "from": [9, 12, 0.1], + "to": [16, 13, 15.9], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 12, 0]}, + "faces": { + "north": {"uv": [0, 3.75, 1.75, 4], "texture": "#0"}, + "east": {"uv": [0, 4, 0.25, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [1.75, 0, 0, 0.25], "texture": "#0"}, + "west": {"uv": [1.5, 0, 1.75, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1.75, 4, 0, 0], "texture": "#0"}, + "down": {"uv": [1.75, 0, 0, 4], "texture": "#0"} + } + }, + { + "name": "lamps2", + "from": [0.6, 12, 1.1], + "to": [5.6, 12, 14.9], + "rotation": {"angle": -22.5, "axis": "z", "origin": [7.6, 11, 0]}, + "faces": { + "north": {"uv": [5.25, 0.5, 3.5, 0.75], "texture": "#0"}, + "east": {"uv": [7.5, 0.25, 3.5, 0.5], "texture": "#0"}, + "south": {"uv": [5.25, 0.75, 3.5, 1], "texture": "#0"}, + "west": {"uv": [7.5, 0, 3.5, 0.25], "texture": "#0"}, + "up": {"uv": [0, 4, 1.75, 0], "texture": "#0"}, + "down": {"uv": [1.75, 0, 3, 3.5], "texture": "#0"} + } + }, + { + "name": "grow_light2", + "from": [0, 12, 0.1], + "to": [7, 13, 15.9], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 12, 0]}, + "faces": { + "north": {"uv": [1.75, 3.75, 0, 4], "texture": "#0"}, + "east": {"uv": [1.5, 4, 1.75, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 1.75, 0.25], "texture": "#0"}, + "west": {"uv": [0, 0, 0.25, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 4, 1.75, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 1.75, 4], "texture": "#0"} + } + }, + { + "name": "top", + "from": [0, 15, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 0]}, + "faces": { + "north": {"uv": [5.5, 1, 9.5, 1.25], "texture": "#0"}, + "east": {"uv": [5.5, 1, 9.5, 1.25], "texture": "#0"}, + "south": {"uv": [5.5, 1, 9.5, 1.25], "texture": "#0"}, + "west": {"uv": [5.5, 1, 9.5, 1.25], "texture": "#0"}, + "up": {"uv": [5.5, 1.5, 9.5, 5.5], "texture": "#0"}, + "down": {"uv": [5.5, 1.5, 9.5, 5.5], "texture": "#0"} + } + }, + { + "name": "mid", + "from": [6, 13, 2], + "to": [10, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 17, 7]}, + "faces": { + "north": {"uv": [0, 5, 1, 5.5], "texture": "#0"}, + "east": {"uv": [0, 5, 3, 5.5], "texture": "#0"}, + "south": {"uv": [0, 5, 1, 5.5], "texture": "#0"}, + "west": {"uv": [0, 5, 3, 5.5], "texture": "#0"}, + "up": {"uv": [0, 6.25, 3, 7.25], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 6.25, 3, 7.25], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "nozzel", + "from": [6, 12, 6], + "to": [10, 13, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 12, 6]}, + "faces": { + "north": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "east": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "south": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "west": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "up": {"uv": [4, 5, 5, 6], "texture": "#0"}, + "down": {"uv": [4, 5, 5, 6], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [90, 60, -137], + "translation": [0, 0, 1.75], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [90, 60, -137], + "translation": [0, 0, 1.75], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "rotation": [0, 0, 180], + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [142, 31, -160], + "translation": [-1.5, -3.25, 0], + "scale": [0.6, 0.6, 0.6] + }, + "head": { + "rotation": [0, 0, 180], + "translation": [0, 15, 0] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "growth_lamp1", + "origin": [8.4, 0, 0], + "color": 0, + "children": [0, 1] + }, + { + "name": "growth_lamp2", + "origin": [8.4, 0, 0], + "color": 0, + "children": [2, 3] + }, + 4, + 5, + 6 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/electric_greenhouse.json b/kubejs/assets/tfg/models/block/machines/electric_greenhouse.json index 297392db3..15b08f801 100644 --- a/kubejs/assets/tfg/models/block/machines/electric_greenhouse.json +++ b/kubejs/assets/tfg/models/block/machines/electric_greenhouse.json @@ -11,8 +11,8 @@ "parent": "gtceu:block/machine/template/cube_all/sided", "textures": { "all": "gtceu:block/casings/steam/steel/side", - "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front", - "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_emissive" + "overlay_front": "tfg:block/machines/electric_greenhouse/overlay_front", + "overlay_front_emissive": "tfg:block/machines/electric_greenhouse/overlay_front_emissive" } } }, @@ -21,8 +21,8 @@ "parent": "gtceu:block/machine/template/cube_all/sided", "textures": { "all": "gtceu:block/casings/steam/steel/side", - "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_paused", - "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_paused_emissive" + "overlay_front": "tfg:block/machines/electric_greenhouse/overlay_front", + "overlay_front_emissive": "tfg:block/machines/electric_greenhouse/overlay_front_emissive" } } }, @@ -31,8 +31,8 @@ "parent": "gtceu:block/machine/template/cube_all/sided", "textures": { "all": "gtceu:block/casings/steam/steel/side", - "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_active", - "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_active_emissive" + "overlay_front": "tfg:block/machines/electric_greenhouse/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/electric_greenhouse/overlay_front_active_emissive" } } }, @@ -41,8 +41,8 @@ "parent": "gtceu:block/machine/template/cube_all/sided", "textures": { "all": "gtceu:block/casings/steam/steel/side", - "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_active", - "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_active_emissive" + "overlay_front": "tfg:block/machines/electric_greenhouse/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/electric_greenhouse/overlay_front_active_emissive" } } }, @@ -51,8 +51,8 @@ "parent": "gtceu:block/machine/template/cube_all/sided", "textures": { "all": "gtceu:block/casings/steam/steel/side", - "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front", - "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_emissive" + "overlay_front": "tfg:block/machines/electric_greenhouse/overlay_front", + "overlay_front_emissive": "tfg:block/machines/electric_greenhouse/overlay_front_emissive" } } }, @@ -61,8 +61,8 @@ "parent": "gtceu:block/machine/template/cube_all/sided", "textures": { "all": "gtceu:block/casings/steam/steel/side", - "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_paused", - "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_paused_emissive" + "overlay_front": "tfg:block/machines/electric_greenhouse/overlay_front", + "overlay_front_emissive": "tfg:block/machines/electric_greenhouse/overlay_front_emissive" } } }, @@ -71,8 +71,8 @@ "parent": "gtceu:block/machine/template/cube_all/sided", "textures": { "all": "gtceu:block/casings/steam/steel/side", - "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_active", - "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_active_emissive" + "overlay_front": "tfg:block/machines/electric_greenhouse/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/electric_greenhouse/overlay_front_active_emissive" } } }, @@ -81,8 +81,8 @@ "parent": "gtceu:block/machine/template/cube_all/sided", "textures": { "all": "gtceu:block/casings/steam/steel/side", - "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_active", - "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_active_emissive" + "overlay_front": "tfg:block/machines/electric_greenhouse/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/electric_greenhouse/overlay_front_active_emissive" } } } @@ -91,129 +91,54 @@ { "type": "gtceu:growing_plant", "offsets": [ - [ - -2.0, - 1.0, - -1.0 - ], [ -1.0, - 1.0, - -1.0 - ], - [ - 0.0, - 1.0, + 1.4, -1.0 ], [ 1.0, - 1.0, + 1.4, -1.0 ], [ - 2.0, - 1.0, - -1.0 + -1.0, + 1.4, + -2.0 ], [ - -2.0, 1.0, + 1.4, -2.0 ], [ -1.0, - 1.0, - -2.0 - ], - [ - 0.0, - 1.0, - -2.0 + 1.4, + -3.0 ], [ 1.0, - 1.0, - -2.0 - ], - [ - 2.0, - 1.0, - -2.0 - ], - [ - -2.0, - 1.0, + 1.4, -3.0 ], [ -1.0, - 1.0, - -3.0 - ], - [ - 0.0, - 1.0, - -3.0 + 1.4, + -4.0 ], [ 1.0, - 1.0, - -3.0 - ], - [ - 2.0, - 1.0, - -3.0 - ], - [ - -2.0, - 1.0, + 1.4, -4.0 ], [ -1.0, - 1.0, - -4.0 - ], - [ - 0.0, - 1.0, - -4.0 - ], - [ - 1.0, - 1.0, - -4.0 - ], - [ - 2.0, - 1.0, - -4.0 - ], - [ - -2.0, - 1.0, - -5.0 - ], - [ - -1.0, - 1.0, - -5.0 - ], - [ - 0.0, - 1.0, + 1.4, -5.0 ], [ 1.0, - 1.0, - -5.0 - ], - [ - 2.0, - 1.0, + 1.4, -5.0 ] ] diff --git a/kubejs/assets/tfg/models/block/machines/hydroponics_facility.json b/kubejs/assets/tfg/models/block/machines/hydroponics_facility.json new file mode 100644 index 000000000..c980729e4 --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/hydroponics_facility.json @@ -0,0 +1,279 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "tfg:hydroponics_facility", + "texture_overrides": { + "all": "tfg:block/casings/machine_casing_egh_inactive" + }, + "variants": { + "is_formed=false,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_egh_inactive", + "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front", + "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_egh_inactive", + "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front", + "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_egh_inactive", + "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_active_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_egh_inactive", + "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_egh_inactive", + "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front", + "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_egh_inactive", + "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front", + "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_egh_inactive", + "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_egh_inactive", + "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_active_emissive" + } + } + } + }, + "dynamic_renders": [ + { + "type": "gtceu:growing_plant", + "offsets": [ + [ + -1.0, + 0.0, + -5.0 + ], + [ + -1.0, + 0.0, + -6.0 + ], + [ + -1.0, + 0.0, + -7.0 + ], + [ + -1.0, + 0.0, + -8.0 + ], + [ + -1.0, + 0.0, + -9.0 + ], + [ + -1.0, + 0.0, + -10.0 + ], + [ + 1.0, + 0.0, + -5.0 + ], + [ + 1.0, + 0.0, + -6.0 + ], + [ + 1.0, + 0.0, + -7.0 + ], + [ + 1.0, + 0.0, + -8.0 + ], + [ + 1.0, + 0.0, + -9.0 + ], + [ + 1.0, + 0.0, + -10.0 + ], + + [ + -1.0, + 3.0, + -5.0 + ], + [ + -1.0, + 3.0, + -6.0 + ], + [ + -1.0, + 3.0, + -7.0 + ], + [ + -1.0, + 3.0, + -8.0 + ], + [ + -1.0, + 3.0, + -9.0 + ], + [ + -1.0, + 3.0, + -10.0 + ], + [ + 1.0, + 3.0, + -5.0 + ], + [ + 1.0, + 3.0, + -6.0 + ], + [ + 1.0, + 3.0, + -7.0 + ], + [ + 1.0, + 3.0, + -8.0 + ], + [ + 1.0, + 3.0, + -9.0 + ], + [ + 1.0, + 3.0, + -10.0 + ], + + [ + -1.0, + 6.0, + -5.0 + ], + [ + -1.0, + 6.0, + -6.0 + ], + [ + -1.0, + 6.0, + -7.0 + ], + [ + -1.0, + 6.0, + -8.0 + ], + [ + -1.0, + 6.0, + -9.0 + ], + [ + -1.0, + 6.0, + -10.0 + ], + [ + 1.0, + 6.0, + -5.0 + ], + [ + 1.0, + 6.0, + -6.0 + ], + [ + 1.0, + 6.0, + -7.0 + ], + [ + 1.0, + 6.0, + -8.0 + ], + [ + 1.0, + 6.0, + -9.0 + ], + [ + 1.0, + 6.0, + -10.0 + ] + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/pisciculture_fishery.json b/kubejs/assets/tfg/models/block/machines/pisciculture_fishery.json new file mode 100644 index 000000000..80bc315e6 --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/pisciculture_fishery.json @@ -0,0 +1,106 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "tfg:pisciculture_fishery", + "texture_overrides": { + "all": "tfg:block/casings/machine_casing_aluminium_plated_steel" + }, + "variants": { + "is_formed=false,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_aluminium_plated_steel", + "overlay_front": "tfg:block/machines/pisciculture_fishery/overlay_front", + "overlay_front_emissive": "tfg:block/machines/pisciculture_fishery/overlay_front_emissive", + "overlay_top": "tfg:block/machines/pisciculture_fishery/overlay_top", + "overlay_top_emissive": "tfg:block/machines/pisciculture_fishery/overlay_top_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_aluminium_plated_steel", + "overlay_front": "tfg:block/machines/pisciculture_fishery/overlay_front", + "overlay_front_emissive": "tfg:block/machines/pisciculture_fishery/overlay_front_emissive", + "overlay_top": "tfg:block/machines/pisciculture_fishery/overlay_top", + "overlay_top_emissive": "tfg:block/machines/pisciculture_fishery/overlay_top_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_aluminium_plated_steel", + "overlay_front": "tfg:block/machines/pisciculture_fishery/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/pisciculture_fishery/overlay_front_active_emissive", + "overlay_top": "tfg:block/machines/pisciculture_fishery/overlay_top_active", + "overlay_top_emissive": "tfg:block/machines/pisciculture_fishery/overlay_top_active_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_aluminium_plated_steel", + "overlay_front": "tfg:block/machines/pisciculture_fishery/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/pisciculture_fishery/overlay_front_active_emissive", + "overlay_top": "tfg:block/machines/pisciculture_fishery/overlay_top_active", + "overlay_top_emissive": "tfg:block/machines/pisciculture_fishery/overlay_top_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_aluminium_plated_steel", + "overlay_front": "tfg:block/machines/pisciculture_fishery/overlay_front", + "overlay_front_emissive": "tfg:block/machines/pisciculture_fishery/overlay_front_emissive", + "overlay_top": "tfg:block/machines/pisciculture_fishery/overlay_top", + "overlay_top_emissive": "tfg:block/machines/pisciculture_fishery/overlay_top_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_aluminium_plated_steel", + "overlay_front": "tfg:block/machines/pisciculture_fishery/overlay_front", + "overlay_front_emissive": "tfg:block/machines/pisciculture_fishery/overlay_front_emissive", + "overlay_top": "tfg:block/machines/pisciculture_fishery/overlay_top", + "overlay_top_emissive": "tfg:block/machines/pisciculture_fishery/overlay_top_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_aluminium_plated_steel", + "overlay_front": "tfg:block/machines/pisciculture_fishery/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/pisciculture_fishery/overlay_front_active_emissive", + "overlay_top": "tfg:block/machines/pisciculture_fishery/overlay_top_active", + "overlay_top_emissive": "tfg:block/machines/pisciculture_fishery/overlay_top_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_aluminium_plated_steel", + "overlay_front": "tfg:block/machines/pisciculture_fishery/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/pisciculture_fishery/overlay_front_active_emissive", + "overlay_top": "tfg:block/machines/pisciculture_fishery/overlay_top_active", + "overlay_top_emissive": "tfg:block/machines/pisciculture_fishery/overlay_top_active_emissive" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/cultivation_monitor.json b/kubejs/assets/tfg/models/item/cultivation_monitor.json new file mode 100644 index 000000000..27a3d9b5e --- /dev/null +++ b/kubejs/assets/tfg/models/item/cultivation_monitor.json @@ -0,0 +1,78 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "4": "tfg:block/machines/cultivation_monitor/cultivation_monitor", + "particle": "tfg:block/machines/cultivation_monitor/cultivation_monitor" + }, + "elements": [ + { + "name": "arm", + "from": [7, 6, 12.4], + "to": [9, 10, 23.4], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 11, 22.4]}, + "faces": { + "north": {"uv": [3.66667, 0, 3, 0.33333], "rotation": 90, "texture": "#4"}, + "east": {"uv": [3.66667, 0, 3, 1.5], "rotation": 90, "texture": "#4"}, + "south": {"uv": [3.66667, 1.5, 3, 1.83333], "rotation": 90, "texture": "#4"}, + "west": {"uv": [3, 0, 3.66667, 1.83333], "rotation": 270, "texture": "#4"}, + "up": {"uv": [3.5, 0, 3.83333, 1.83333], "texture": "#4"}, + "down": {"uv": [2.83333, 0, 3.16667, 1.83333], "rotation": 180, "texture": "#4"} + } + }, + { + "name": "monitor", + "from": [-9, -10, 12.00896], + "to": [25, 24, 13.00896], + "rotation": {"angle": 0, "axis": "y", "origin": [7.5, 14.06147, 15.00896]}, + "faces": { + "north": {"uv": [5.66667, 7.49167, 0, 1.84167], "rotation": 180, "texture": "#4"}, + "east": {"uv": [0, 1.83333, 0.16667, 7.5], "texture": "#4"}, + "south": {"uv": [5.66667, 1.83333, 11.33333, 7.5], "texture": "#4"}, + "west": {"uv": [5.5, 1.83333, 5.66667, 7.5], "texture": "#4"}, + "up": {"uv": [0, 1.83333, 5.66667, 2], "texture": "#4"}, + "down": {"uv": [5.66667, 7.33333, 11.33333, 7.5], "rotation": 180, "texture": "#4"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 0, 0], + "translation": [0, 1.5, 0], + "scale": [0.3, 0.3, 0.3] + }, + "thirdperson_lefthand": { + "rotation": [75, 0, 0], + "translation": [0, 1.5, 0], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_righthand": { + "rotation": [-3, 28, -8], + "translation": [-1.25, 0, 0.5], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_lefthand": { + "rotation": [-3, 28, -8], + "translation": [-1.25, 0, 0.5], + "scale": [0.3, 0.3, 0.3] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [27, 136, 0], + "translation": [-1.25, 0, 0], + "scale": [0.35, 0.35, 0.35] + }, + "head": { + "translation": [0, 0, -9.75], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "translation": [0, 0, -2], + "scale": [0.4, 0.4, 0.4] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/egh_planter.json b/kubejs/assets/tfg/models/item/egh_planter.json new file mode 100644 index 000000000..e7d849abc --- /dev/null +++ b/kubejs/assets/tfg/models/item/egh_planter.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/machines/egh_planter/egh_planter_inactive" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/fish_roe.json b/kubejs/assets/tfg/models/item/fish_roe.json new file mode 100644 index 000000000..9e6313768 --- /dev/null +++ b/kubejs/assets/tfg/models/item/fish_roe.json @@ -0,0 +1,9 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/fish_roe_0", + "layer1": "tfg:item/fish_roe_0", + "layer2": "tfg:item/fish_roe_1", + "layer3": "tfg:item/fish_roe_2" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/grow_light.json b/kubejs/assets/tfg/models/item/grow_light.json new file mode 100644 index 000000000..3a593c0ca --- /dev/null +++ b/kubejs/assets/tfg/models/item/grow_light.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/machines/egh_planter/grow_light_inactive" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/hydroponics_facility.json b/kubejs/assets/tfg/models/item/hydroponics_facility.json new file mode 100644 index 000000000..833ffb6b8 --- /dev/null +++ b/kubejs/assets/tfg/models/item/hydroponics_facility.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/machines/hydroponics_facility" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/machine_casing_egh.json b/kubejs/assets/tfg/models/item/machine_casing_egh.json new file mode 100644 index 000000000..c5ffeaec4 --- /dev/null +++ b/kubejs/assets/tfg/models/item/machine_casing_egh.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/casings/machine_casing_egh" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/machine_casing_egh_active.json b/kubejs/assets/tfg/models/item/machine_casing_egh_active.json new file mode 100644 index 000000000..bd4aa3466 --- /dev/null +++ b/kubejs/assets/tfg/models/item/machine_casing_egh_active.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/casings/machine_casing_egh_active" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/pisciculture_core.json b/kubejs/assets/tfg/models/item/pisciculture_core.json new file mode 100644 index 000000000..23c229771 --- /dev/null +++ b/kubejs/assets/tfg/models/item/pisciculture_core.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/casings/pisciculture_core" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/pisciculture_core_active.json b/kubejs/assets/tfg/models/item/pisciculture_core_active.json new file mode 100644 index 000000000..04803c454 --- /dev/null +++ b/kubejs/assets/tfg/models/item/pisciculture_core_active.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/casings/pisciculture_core_active" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/pisciculture_fishery.json b/kubejs/assets/tfg/models/item/pisciculture_fishery.json new file mode 100644 index 000000000..e8cc71175 --- /dev/null +++ b/kubejs/assets/tfg/models/item/pisciculture_fishery.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/machines/pisciculture_fishery" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/rotten_voiding_cover.json b/kubejs/assets/tfg/models/item/rotten_voiding_cover.json new file mode 100644 index 000000000..c4bbc3846 --- /dev/null +++ b/kubejs/assets/tfg/models/item/rotten_voiding_cover.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:item/rotten_voiding_cover" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/particles/fish_school.json b/kubejs/assets/tfg/particles/fish_school.json new file mode 100644 index 000000000..7d8f405e8 --- /dev/null +++ b/kubejs/assets/tfg/particles/fish_school.json @@ -0,0 +1,13 @@ +{ + "textures": [ + "tfg:bluegill", + "tfg:cod", + "tfg:crappie", + "tfg:lake_trout", + "tfg:largemouth_bass", + "tfg:rainbow_trout", + "tfg:salmon", + "tfg:smallmouth_bass", + "tfg:tropical_fish" + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0.png new file mode 100644 index 0000000000000000000000000000000000000000..981cec81c4de4347a59521facc8062e68d7e5c8e GIT binary patch literal 308 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7etWt&hFJ8@oqX2!u!Dfx zeD`h1M~e(NI+=M38q8u?mrrqI3~^%LxwN;ygZYlYnmrap*CtMLj(EIAR_L>z^4W85 z{?r~!ii@Z_G3mz4BY_^`m)}H1UvE3REzzoz!~AyJ?bSUtv$yhJsyHSvRg-ZC+Z4T@ zYqAc_?iOkI{d{_Y!7GmS{{3Mt0@45Qb$L8_%6lbyTp#?n=f5z!`G1DU0x8B}X7tFxG Oz~JfX=d#Wzp$P!YT!p&; literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0.png.mcmeta new file mode 100644 index 000000000..905ed4ebc --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/copper_greenhouse_casing_0_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..b50694dda82a563dcbfc1f4d1cbb0681dd824760 GIT binary patch literal 364 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNf#-1*YArY;~DGLN-PJH^Q zucUBb!R2i&6GdvnS0(+sU-fBDV`mV108>ka#mdJG{PXQ6F75A~+FHb3^Y3G~PVJqX z8Xg`V9%gCQ!^at!_SB@j{QdPe|5LsPPZN~A?_ZCf&|+<~h+*0yPuBVMe-_|tdtwmXa)M0~X#JWW`9hjD-1e?@QkHE$N&V0^!?X1Ry`=~EfU|Hr&p!^6YV z;lvt!%I%wG5vxm{BTIS176E-`W@aUi4^J~AV!90$gdKb`g&E`!`57m@trsVV^fUz; zaJ7ji*i3r;UH+J3-u=bl1}A#?o^-u9f4`pRQ&JI67w=_{SF-o>PyG7-;i@v*wD0lt z1_lNWtFD^M+kqL6{p0s1WE=`pt^fUVwxdhKm#DX|*ZcF#um6+8z@TWJAit$I3>2OW Mp00i_>zopr04si*761SM literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_ctm_n.png new file mode 100644 index 0000000000000000000000000000000000000000..206d93753d5a712ebba3397faa246da0a25f4a14 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}`kpS1ArY-_&lxf@FmN2+ r&{(*nnP=V=hhXE~m22#uGoS*`B0ULan@>Fq4?yCcu6{1-oD!M|ArY;~f6kx$Fu#%M z!XI9z>qQfn_jd}NUdiYtYw)TekiEw$;R@qoK8aEW?lp088U_y(4|rsDcLW(cP(+qb k$ob_zcUQuRZ+(nO?7Rm`|J}L4z`(%Z>FVdQ&MBb@09+|DMgRZ+ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_n.png new file mode 100644 index 0000000000000000000000000000000000000000..b77416ed2bf75bcbe8cd9e99a5a3679fb0b1d36f GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7WIbIRLo9le*R22le|{s= o0hi8afy{2a5~c|Tk_-&7e9SUQ?>0PRU|?YIboFyt=akR{08;@L(f|Me literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_s.png new file mode 100644 index 0000000000000000000000000000000000000000..be2a977b8079e1215906262e5a4537a13ad0cc62 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7^gUf1Lo9lebAFxwFu#%M zfJz^4W85 z{?r~!ii@Z_G3mz4BY_^`m)}H1UvE3REzzoz!~AyJ?bSUtv$yhJsyHSvRg-ZC+Z4T@ zYqAc_?iOkI{d{_Y!7GmS{{3Mt0@45Qb$L8_%6lbyTp#?n=f5z!`G1DU0x8B}X7tFxG Oz~JfX=d#Wzp$P!YT!p&; literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1.png.mcmeta new file mode 100644 index 000000000..09afe0a2d --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/copper_greenhouse_casing_1_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..20e138d468f605cddfdcc06acf5824d7e25b918d GIT binary patch literal 463 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNf(>z@qLn2z=PV@I;G88#x z?={!s$K;bI`1l_I)wd=HM)flN$vVp!=EySZ25JZURNI2#k#*zIVUCbfYCjU)s+hJmtD^=+nhG)2zd1BiG%-h%ltJjeSQ8{ zOmtLTIhj*B`t}alJB|BYJ}#N%uE@~StGf81xW<1~<^!**n|9^bGf$kvk=)A9HRIaH UCV#(23=9kmp00i_>zopr0H0CIm;e9( literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_ctm_n.png new file mode 100644 index 0000000000000000000000000000000000000000..206d93753d5a712ebba3397faa246da0a25f4a14 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}`kpS1ArY-_&lxf@FmN2+ r&{(*nnP=V=hhXE~m22#uGoS*`B0ULan@>Fq4?yCcu6{1-oD!M0PRU|?YIboFyt=akR{08;@L(f|Me literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_s.png new file mode 100644 index 0000000000000000000000000000000000000000..be2a977b8079e1215906262e5a4537a13ad0cc62 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7^gUf1Lo9lebAFxwFu#%M zfJz^4W85 z{?r~!ii@Z_G3mz4BY_^`m)}H1UvE3REzzoz!~AyJ?bSUtv$yhJsyHSvRg-ZC+Z4T@ zYqAc_?iOkI{d{_Y!7GmS{{3Mt0@45Qb$L8_%6lbyTp#?n=f5z!`G1DU0x8B}X7tFxG Oz~JfX=d#Wzp$P!YT!p&; literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2.png.mcmeta new file mode 100644 index 000000000..228c8d6a0 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/copper_greenhouse_casing_2_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..d7824acd6c1a7fb0d25d9b339545751a2afb1d4d GIT binary patch literal 463 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNf(>z@qLn2z=PP6tq>>$v# ze~*vTqYTkC8bJaYvb^RC7A|y(Veo4>!n%WP`GTcO7Cm4Ka53Q!VR2FjGwTz&-Kn{V zSCRk2sW7f5>t`MM|L*=fFhKm~rC@_vcb%&T z_E;+kGOt?nKWUfm*+q`eemzO3QCT%VaoYwp^T40Y7n4&s8%uI@_ZqC;lzy;QwrwXN_lnvH8E3)vYbgo!fr>_>a#H+utX1Mpw%f*h(*d{*l#u&qLjt UP0!UB7#J8lUHx3vIVCg!0NEnZv;Y7A literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_ctm_n.png new file mode 100644 index 0000000000000000000000000000000000000000..206d93753d5a712ebba3397faa246da0a25f4a14 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}`kpS1ArY-_&lxf@FmN2+ r&{(*nnP=V=hhXE~m22#uGoS*`B0ULan@>Fq4?yCcu6{1-oD!MLWqYwC0e17yhJt{aa(lOIZa<%1j@1T_RsvEw&y0PRU|?YIboFyt=akR{08;@L(f|Me literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_s.png new file mode 100644 index 0000000000000000000000000000000000000000..be2a977b8079e1215906262e5a4537a13ad0cc62 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7^gUf1Lo9lebAFxwFu#%M zfJf~>GeHfiD|KwJ$idw&R@v>!WFl``|{M&@3@yJMy=&w%uEvhAR;*1>~Gj) z^Ur&Kem=WJ?eWDvp=HasghMB;OqyN)_N~Upt?W=|{Zs;Nz65V&J+W4`I!fy$~qlT|n^y|%|lNil4n9v&>1pm{4n?AP6echyf! z%AEQ}SA5;VvWVl-Pi`G=x%iynz^lyOnXT~-zr1hyPGH=X*1kmNcTAf1#cxy3I>~EH znYjAWS*QKc>THos+hcaby^Yl@xSgy|J`OXJ%BF z*^K8evtJf1jL=xQukh=<)>uX6qe=($Lsv{*{o}jbiGmp`w#V!^q_{+j{n;gk;NVQ( zV~giTJe|+yrPAp9|DStE%;F!p`=S_+YOa5L*7Mje&)2!F`Db~iD$c*}yOM!{fx*+& K&t;ucLK6U~*R{L= literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3.png.mcmeta new file mode 100644 index 000000000..0149bb40b --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/copper_greenhouse_casing_3_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..77708988fcb41bd449ed04213c7355d3bf3bf339 GIT binary patch literal 1002 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANOK8$DedLn2zwhI{8sH_FYm(Qu9SF{-^x%vXX$+A}Jt_5%LFm#O!QD3%4p!AM&bs@Dd0NJ`l1SgyD9#qQ z60%3GFo{I+X;E9`22(wKnn>TIC=N(`EBuvX%;a|A# z+*C#dAIGHP`)e5*j!a*9?AG2oR)!~!)I_&erJFJYsLbn{|E=okk77mpcmLfN={pq7 zD=(TQX-G-p2o_+;g)QmTh4R&WmcMB%QEo;8_t_3vx`^g zMaf6|8um&v%kO%dQT1xCbc?-S@cp$@igMgbYn=Zzc1bhK+ui&<{psDEN~#~GS-a(y z?+yvpSHJf^@t^S8nVpN7Tc2jXo%lb!=5db|-`rb$YKgzxx8M1gC}Tc%-L&NWd@Z6O z42SM4oqK+D@}%Itvm!zbD*YGU2*1-{aFFuhUfZXywE0c?q4+I*sgcVbeXeM^q5f(9 z2Zo=E^|hGJ`|f8r`BSM>W_p52-!-BAQ75e{@BG_%wMApf#WER#Ul*JYzq=xB8Tjm~ z;l%TQ8AS|r{_`)J`>?U{+stx%`+f0Rn;4cY5&FM*KSMyUdat=cVlpp7z%=s>+n1&_ z-PfA7VX4|mwS&yzDvS;u%MWZ>mg!WqR^et-XP@B*VVecF`@(|tgDVr}Y9Ee#+w^hX zzfJrMGqX=OUD|GYe$k%kmg~GOxjk;2?C$@Kv0>-(y!1RHmzOuPx;}r{t7}^PY0Hwi z@pq^2cl>LuOo*K4@w(prdt;@|hqX3_{`F6tz3VS;u-+*ccXx^*w|?{IlG`VbW}9#K z-uxw8=6K~~_E*mQth--7d$>&e!Mn3_zove9eviHEz_~fx@AOvgzfqfTE@nf|zohSt zlEnu%{StrHnEJeFi=A;M&(|-ywSY*v(njER8_x`L|!-|bp8Yetl5tnQvHNU&C zcG;KL-M?8>csXa7Nlbe2W2y4Jj$_Z`3*KJh^OLi^Ip0#;rznr%MyP1|a(M6@1te8((Atq->B_;bF}x7+Q9>nWs8nihCfl4 zt zH-Gop?;9r|ArY;~f6kx$Fu#%M z!XI9z>qQfn_jd}NUdiYtYw)TekiEw$;R@qoK8aEW?lp088U_y(4|rsDcLW(cP(+qb k$ob_zcUQuRZ+(nO?7Rm`|J}L4z`(%Z>FVdQ&MBb@09+|DMgRZ+ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_n.png new file mode 100644 index 0000000000000000000000000000000000000000..f826ca55ea2610b9730fb0d4abc07cb73854913d GIT binary patch literal 162 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7GCf@!Lo9mVPB!FgP~dTu zKURHp^2w{WCSUDb$l7!8;8FXD?uz|pQ=;xxPJDYdv0<<769(_uY;$^cW*BL3P3pQ} z`JU&N>f$pM1`)mnAO1w_e17nNu9-JO&bjL5Ul(?|PCjVg`c-qv`TEDKUiJD}`z7W7 RGB7YOc)I$ztaD0e0sst=Kw`S2SqZc}IG|81+w>*vhgnr%!G+m1`kaCx`E552 zl`G9&p)Yegsqb-$ec8EVPtV2m?9N+$Km7dr%DVf{{|jsFuPm&)vZgp^u8`~$#tH07 zEQ$YZKc}ott}a@V6w=wEYIKr?!MW%S(@odgd5jB~4rLYoePs~0;^UoF*WQ*H&+gv* zJ=FE&G-)?^%gH_oTodbmy!*Vqz#>LZ_v}m2#a>5V-MHd&kU1g0^55308v`3>Y3g|^ z?cQ!PU-takthL`b85VxOTz;N$nVOqnYr^;Kj$WY^zdp`>mOgFTvoF1m7&Su`C;ME; znqQDJS7~WT>&cQ!+2>NMX0D&vbm`I@IhEaJ!CyA5p2@`N(0R_Asm%LbTW`fLX>E6c{57X!G+h2O0`*n2f(dTb z`a$L^PRqYL?HGG>#kW~IV%L2ywe67qeRQL{dH(;x`|Tdn2`}X;xo_)cY0=H@`-=;2b z`7a;zVZ|NirhAHSL!^9`O?H{}mXG10W8?4R9bag&p`y?d5&`@Uy`~B7fUxb(}TLLtAy^AyR zmd=a~`xeN{gHj`&gXLrk#=waT0e1>k-z=O{XQ=+p_1u;_zS_%L7gQ*5 zEuP?;J*Sv!$0=71$)p}tiDXWv6BF#&_q=+%;74+IeC;N4Q>(U`pYl9kPVRiv_E4}V zVV&Pp+0ZFVG9xRt?QK@5@O<&JPUU!e@&xCg%l)ZNv!YI{Gf#Lg+%NzC;Mb%3yTq5B z-&g+jdEOs~PdC5uEtwS9=E5md`29+v<)yMHL47IH?_U^ncDI@L^Dj=BqS&r7XMd%C zYLDulI)@V*9$WlvnXu5W?m+dG%hU5$_G~;N|2ck-eCU)E?X7B$3};N6I{V+Z>GqmS zs}yHnW8s&{uS|B>EuYZC%P9M&AvXU(;7Trrh}aotZ+vwVD$u@C|1y-hZ12RF*coRT z_C99x{8Fem`BG)%uSFRG#NWq%oF{gms806Pqgws+>(YC_GuH(^oO4;f z{?FT865IdDie7d)|F>a6FvAJkxXJA7?A>b}7C!&S{Phff$Bk5(lNUFd^*)_*`TrUI zAJw5Q?>^4DV|6{)z92&I@4jjB|9`A4FFR6^skij&9e$nX*9*gKr*~>~xtl53$XD{jF(#qkw_x3w z^BITuT@KCrvUo>gf|TC>?HP^JKi7+U%qfm2WbdJBl|rM<%&)$A31$g}@yv=+C&&3va$?4s6jr6^TNhB>iq6I?d#KbHNw aae8x#iuC- z|1aFi`HV;HhOyZU8CCXEjNhDGW>@EkCF|?BE#B*x65(ID%Ub>oYi^U!n~frxx?4?V zy$qklAG*Kp*1)Q2F-)KhblML6gQq*q{wL^mT_=3t2FZu(H}eO ziyIva&)m_Rv_Ln%+O&n^*M?;6^$W!&h}kfOg%@b;KL2r+OTYxNnzgw_3Q<4&iy1uF zPcrhq%rO6OTjn;)mIuB}^1Kz_WR{Z>9f6)ma`fB;BMUCGwn4)uqxBFhB$}tg`1l$uQR%ToLxkR zY4VC2K?TYOdzbuL(iP2k`|g^A4@*pxSAO#7So*z#n*1EKS_HQ{=OM|aitCG6M8 z+5U6UnI-}5x6_|KepX-;!e{YAqQzw8&N*Kn)IQVEjN+=?ovW$yXx0b0b?f_2CfA;9 zoMx9Wnf3XB|8f@5IwzNg><>Ft@Z$^59sc=0ewMigdxeI2UkW+FtFnD>(D#pxY-?`+ zYB*iscXrJUlS>sh9{)RK%Y0b-cuozIL*SPRgX~9&wFlNTwAPht#J7acXPo8g`$^^; zyWZoj%)(F4m>wtgTVFl=^FY*_JcIw{@;e;&z5Z1nz5TGe+lhxY2mUi`5AQ2oc*N=V z^XC2KUurfS5x+IvNweUsqfI!z-*+VaF+Fto11~OTCG@uyL<$9J=5KY&yNmB6?iZ(Ffe$! L`njxgN@xNAA##V< literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_ctm_s.png new file mode 100644 index 0000000000000000000000000000000000000000..b960b50704a1d5d28294e0677b60212c1b73dec1 GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}hdo^!Ln2z=PTMQgpuo|v zGW*rs=udN_vsc)toDGPm~hSGR@%}Zatr!iYHs{9*)l=Wz-_{T+N^cQ3?&^JYZ=%#l~u+K!ulA7K1*Bxu&(MUe{_7#J8lUHx3v IIVCg!0LW`?f&c&j literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_n.png new file mode 100644 index 0000000000000000000000000000000000000000..534d798f72cba9c93fc607701c709eef89f844c9 GIT binary patch literal 537 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7A9%VrhFJ9WPR{ka?I6%L z|L=(%^3QlQ6RZ^%?)Buq!u-W4|0K9=wJ^j#z6j;t)&B(h-w&yAbXHT#Vhux~DYX~k(2c53GZsSgY%n_@ZC ua%vy)%t*h++qn0vvVb^~Tn+zz2Ez|my(-&&y<=ctVDNPHb6Mw<&;$Shp7Nmp literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_s.png new file mode 100644 index 0000000000000000000000000000000000000000..f9e1184b0db410d420eb44e9f958dadedeb22f21 GIT binary patch literal 162 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7GCf@!Lo9lebAFxwFu#%M zfJg&6`4;q8x_p5?djI)oqY(B`=i+kCoUPGZ9v#`&iMcp7eY>FN}md|1M` z$*HFCv`ddtOq4U5nImP!79S8#PDLd^08yR-|ZL} P7#KWV{an^LB{Ts5mkc>z literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0.png new file mode 100644 index 0000000000000000000000000000000000000000..e32c7ff4c0acdf812646d79475ed1096d84f2a2c GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7ZhN{ohFJ72ootwO#6ZAx z{?UfFhY~)hUV6f|s+djwV)~8joXze9$~gs!EX-aLZ$w&udZ$%+^}q*v<+FbdMM?j3 zbGbHYlg>`{mJL@|b*)lT>R5Hjgg5s3+^%4?bC!F)dxVBE@Ei_M30416E5AJR(27^< zpV^!@TzGS%UuIwL>91_8$v7mjg9_^FNM50f`E>!p_Uif3@`Iw@5ABB+1Cfjtp zdmhhd`LS!==Fc{d)mSHJoZfVwVa@APpEB1zWpFv7$M;~r?hZbOKoOn!hHiWdrX-28 zue-#weX+BvOA$j}p}FRp;SZB1er8}` OVDNPHb6Mw<&;$T^r-yz3 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_ctm_n.png new file mode 100644 index 0000000000000000000000000000000000000000..206d93753d5a712ebba3397faa246da0a25f4a14 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}`kpS1ArY-_&lxf@FmN2+ r&{(*nnP=V=hhXE~m22#uGoS*`B0ULan@>Fq4?yCcu6{1-oD!M|ArY;~f6kx$Fu#%M z!XI9z>qQfn_jd}NUdiYtYw)TekiEw$;R@qoK8aEW?lp088U_y(4|rsDcLW(cP(+qb k$ob_zcUQuRZ+(nO?7Rm`|J}L4z`(%Z>FVdQ&MBb@09+|DMgRZ+ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_n.png new file mode 100644 index 0000000000000000000000000000000000000000..b77416ed2bf75bcbe8cd9e99a5a3679fb0b1d36f GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7WIbIRLo9le*R22le|{s= o0hi8afy{2a5~c|Tk_-&7e9SUQ?>0PRU|?YIboFyt=akR{08;@L(f|Me literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_s.png new file mode 100644 index 0000000000000000000000000000000000000000..be2a977b8079e1215906262e5a4537a13ad0cc62 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7^gUf1Lo9lebAFxwFu#%M zfJ`{mJL@|b*)lT>R5Hjgg5s3+^%4?bC!F)dxVBE@Ei_M30416E5AJR(27^< zpV^!@TzGS%UuIwL>91_8$v77Fi*ArY-_r)|t@HV|n0 zAF*xbgbABmDx36bn|X9z8h_}pagI~=zNR3uQQ^h~LGJPubAnoK-I~6I=jZqH-yiRm zzpv#Ry!&R(gy%oGqKXSL*4p!2DU~g85OIC*>5#->t#eN! zb$7H+OH9}s$9~X-MNfaplr@iH>LhgwgkNe;XW-L!N}OJ+x4%d1&u&KZiTjE;AAC>} zDZBan)1vpk7ckG+u}7wjF*P!2`|Zf`rNxtN{{q`Y5-dL!o8HefC@1w%W^n*iieR!0MKY=bpUg z#rkY~%NN&HSN`4n$ecNkp|;!pdt>#Bo%|KsADI8=kgt@iIAVV&TYko|FLJ*dWZD=@ zW0Uvazg;+Q`QEwJ9aDl77A>&6k+9*YDm52{nzbIoIOdV5s(jt%Kv3#2)5- Y`z~%)Ex*5?fq{X+)78&qol`;+0B5zlod5s; literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_ctm_n.png new file mode 100644 index 0000000000000000000000000000000000000000..206d93753d5a712ebba3397faa246da0a25f4a14 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}`kpS1ArY-_&lxf@FmN2+ r&{(*nnP=V=hhXE~m22#uGoS*`B0ULan@>Fq4?yCcu6{1-oD!M0PRU|?YIboFyt=akR{08;@L(f|Me literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_s.png new file mode 100644 index 0000000000000000000000000000000000000000..be2a977b8079e1215906262e5a4537a13ad0cc62 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7^gUf1Lo9lebAFxwFu#%M zfJ`{mJL@|b*)lT>R5Hjgg5s3+^%4?bC!F)dxVBE@Ei_M30416E5AJR(27^< zpV^!@TzGS%UuIwL>91_8$v7n~LOspmxS}M)0+aq{y37mM;5VWRZ>ck)4u2-blL`k#- zT`y%|NakTkn5Fit;N0@B20WK%8M0k34HRjebnkm@N+jFeO*#w>k1ZG&4jarn;&T7{ z zf7Nnt-;?Qe=3VlAcF+EGUg3ouj9v*>4_iL}%^UD?rITo31>cIIj>hn<|GN?;zDY;C zs)}CV_U)tgjPD)&QW38N+a+dv|6%$p^^`=j*zu1dLaWjrSZ z&zm!6&YVB`d^6db6dWR_c~zbNJmLAzf0Yg#jr-nDea?8PhIvi%r4X;^DTf#s7#KWV L{an^LB{Ts5_d~M% literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_ctm_n.png new file mode 100644 index 0000000000000000000000000000000000000000..206d93753d5a712ebba3397faa246da0a25f4a14 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}`kpS1ArY-_&lxf@FmN2+ r&{(*nnP=V=hhXE~m22#uGoS*`B0ULan@>Fq4?yCcu6{1-oD!MLWqYwC0e17yhJt{aa(lOIZa<%1j@1T_RsvEw&y0PRU|?YIboFyt=akR{08;@L(f|Me literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_s.png new file mode 100644 index 0000000000000000000000000000000000000000..be2a977b8079e1215906262e5a4537a13ad0cc62 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7^gUf1Lo9lebAFxwFu#%M zfJWlwV8K19+gX# zeVc86|4h#$70ZH_jtJrNpIoHaSO=b%J$hr%(5WtTPgz2~14>)5qu!MbdhY~BNJ zU%k6{QtH6rSO1pjoZiN?RD|LB^nbVNIHvTO{VdzYBmQRA-(B8*ryO;ZV`S<7D!+G91#q#L(zP))%*64zs z(4Qi%+9L7)_m~^?T`zCySbMndl}1Dlv(h0A&q;?XY}kH$T=1)%B_K4kn!7YsSt%v* hnab{_8^!-vEN@O~XZq%;%D}+D;OXk;vd$@?2>`fmsXqV! literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3.png.mcmeta new file mode 100644 index 000000000..58ef1aa55 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/iron_greenhouse_casing_3_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..6d8deb08efebc0a6f3f4dd2b89e08f31755fda87 GIT binary patch literal 974 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANOKQ$1ZALn2zwhVRe6>>%=Q zmQ@+Y65q!jTbcekF5Tj|%4O*(4dtX3#?Gm|vTa?g8%taoT7H<{h>S>Bvm!uw>ng2; zOwT#qvl70$&$&^^-CW#P`%zWXu_M3paryh&_kZ5imYZ+ey7jA^Oo$ZUv&)_FHr9r@ zYu4NDT&}?-x7PlDiT6y-8>Xj^JPo^@@^@bb%lmu#c2*Y@Ff4T5GPA2Uy?)!deXJZk z$)$F484Tb0Ms}sW4zo_sf9iw?$vBlq**m^!ohV3kk z2bcHiFf2(DUU)D|eR(9qgrzG3s=q$bU}tz4qI0FLqG;2L|MCx?|IL3;%NSLB?@Z>| z!)bb_jTpAS+cWd@q8%Q`^TJm#Fr40`5F*9bQMg9PukFZ|z-#?ijPlu>ws*B=X`Z}w z`mC7A-2l^Pds8FV)z?`{KR@#A*NXi+9FBMFPp4a(&%F6@4 z&p&Z5XOdmiTVgV8_15U>e~q=jZm3@66@9Vph1cPmUv766t|@x-oN;@zQbV-$w3-0< z%d>)t#Oh=@yZyH+Gcl~0=o%p(&+_-t_ZJ5?)cSSVQplLrxhU?uxMk$0Uo#GE%Y9!t{e`WSfyTZMFa9;( z4)J-Bf8*4*^H=sWb}r&zm@#2}g6ZNfD)T2kI-%jXlJkXw(nN*}f4A(}mNfZ8{=qBD z@8qzSI9%p6UGCHVszJrG!)>v|?+x4kPCRYF;#Ydv`eVwnNpVb@H1zVqS4}R@(>eO~ zbMfK(U9NlQEkA!qH+9)_73Lk?%K~&&*>8p$d!0WMxxuO+*X!Pbf8y5~152B}{;xmB z++6a&zcgvW{~LL(zay?x^G_AIzAWX-W`740)4LCD6>}SZtoxVTmRPXcVY83Rm&a`9 z{d}agxi?RD|0rJ}H^X(y`@IRNF8?2%V`hHGy7&iwx!j9leTl384_O(!+S~9|+)CPc zo@~U5X$%a}OPv=KPyd|Ueubez+FPzbRBy`F_HD(}zWnB1FSq{gGPipE&9jB_m9w_r zo-up&;lt_v_Fwmkmt@7UZCJCU_qu+(&7J%A+b`sp-SuH%Y?%=7X@km(X>Tn0zT3Tt o6DV7MLvibp)W`xE_Wg{vt?f$~9Pa5eFfcH9y85}Sb4q9e0GoE$M*si- literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_ctm_n.png new file mode 100644 index 0000000000000000000000000000000000000000..ca88b904373c47d4f379abfd2e9d1e3096180990 GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}&pllnLn2z=PV*FNRuFLU zp7;IGa(M6@1te8((Atq->B_;bF}x7+Q9>nWs8nihCfl4 zt zH-Gop?;9r|ArY;~f6kx$Fu#%M z!XI9z>qQfn_jd}NUdiYtYw)TekiEw$;R@qoK8aEW?lp088U_y(4|rsDcLW(cP(+qb k$ob_zcUQuRZ+(nO?7Rm`|J}L4z`(%Z>FVdQ&MBb@09+|DMgRZ+ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_n.png new file mode 100644 index 0000000000000000000000000000000000000000..f826ca55ea2610b9730fb0d4abc07cb73854913d GIT binary patch literal 162 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7GCf@!Lo9mVPB!FgP~dTu zKURHp^2w{WCSUDb$l7!8;8FXD?uz|pQ=;xxPJDYdv0<<769(_uY;$^cW*BL3P3pQ} z`JU&N>f$pM1`)mnAO1w_e17nNu9-JO&bjL5Ul(?|PCjVg`c-qv`TEDKUiJD}`z7W7 RGB7YOc)I$ztaD0e0sst=Kw)gry+msjrb);w*U*t76z z)zeC^C^&5RxkKiK4#?u@bXS$;YHZ(Y66@j})d2{w!8|El)>yP9M6|JJs* zM#mO-Xiik&WH?YbCtdR?3qy;*RN>=>OQr}PFPz7y;2X@~kZd6n$9Q0qPQkfC8#zbK zqh-5e@1`f*-X`rTsIk<5hdFbW(rF`&DM1;t!o=J!o5XW4-rjcCYR87cbAc%<85-8T zelX|o_rKx{98C{YyA~N$iMVn!E!g6zx$*w{i+S4@3OFrTm9^Bga-O;Q?6dukWZM#- zT03z>Ok-sT@VU(Le9x!!|E1rrye#>5<@O4VQ_@bYhGB(P^Uu$y`SWKz-?`6wD(%@B z5@tPH+sm&M`^xHn>GzQ9hR5<;@4Wv$b=CE!&)pr^m_S-|B_gu{|DUzQky1?m>LCo3b#pa$uCTW`^XEv^T zy)?LX<*V)~Dx4<1%$hSe6`!{3-9GWV%9J1u#Sii`OWA|l(|^k`FfcH9y85}Sb4q9e E0QG9~vH$=8 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4.png.mcmeta new file mode 100644 index 000000000..0e377138f --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/iron_greenhouse_casing_4_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..4ff8cd5aab28bebe6d78c2b1938505bc4b5062e0 GIT binary patch literal 960 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANOK?Vc`qYGHp!x%E#pR?hjvGlhgWdQTh+UIc^>?oUx(ey9(Ch#zXgu05jR%r4w1d22=9LO+< z+HtbjQSxHsld3kw1-}+PbE16FpDYn|6^FK*epf+ae|BqH1_U-GtdiAP}&tTs7wJ`MG z)qD5u?M;o`v1d<<&gs1`OJ;HR1gvwNnmcQmv*ytpGiT8_vCn_9Eq1MQ4!wHm_^MUY zqB;zxar;lSx3l}V`)1BQdn>D`WBeAIZ}Jq0xCV%@_PQzCzgejfmt-TCTwE+1DB>6z z`sMfEuxY8cUF{9RnWek`H0YSUDY06sb9x&;AK$EHnO2`K-O4a=(0n_0&YVB0o|mRR zuWY=~=sJDgcjm}xxeVNY7?OD=pJZWp@Vjod;WGw@Nh(X@WsWEGSnhkjz42FxgIMjG z$~Xtjv;5M0?Q4}DRK^LkDL%4T7s}qTEYpC8Iq9H5PuwJxr60BU#4Q6$4)JryMcm`( zu=~zDCFo1lUVa7x2_Cza#2L+r5=jOUPb`l`{H3sXYbH2~cz3uq6PJzeSqVKYqud%qa;Qsx;zfOMtJNL4Q?D4`|O)IbR zmsric_U>Jt!mab$-a4FVx9Ia`=WRbc?e#84**b@3bCPZ34wv3_*uoYd=Vfhey_Bga z)_jJKngNe;{PtYy7iGKU8z;#N{OVW#d*I){f3_bkobTq-KlaDt->$@aarz&b|1)k` YsJ7+njmP&H7#J8lUHx3vIVCg!0B88Y8UO$Q literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_ctm_n.png new file mode 100644 index 0000000000000000000000000000000000000000..672ec272c9587b7446d1499f5ca120d52b3e5493 GIT binary patch literal 849 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANOK5}q!OArY;2r{()8y9>C- z|1aFi`HV;HhOyZU8CCXEjNhDGW>@EkCF|?BE#B*x65(ID%Ub>oYi^U!n~frxx?4?V zy$qklAG*Kp*1)Q2F-)KhblML6gQq*q{wL^mT_=3t2FZu(H}eO ziyIva&)m_Rv_Ln%+O&n^*M?;6^$W!&h}kfOg%@b;KL2r+OTYxNnzgw_3Q<4&iy1uF zPcrhq%rO6OTjn;)mIuB}^1Kz_WR{Z>9f6)ma`fB;BMUCGwn4)uqxBFhB$}tg`1l$uQR%ToLxkR zY4VC2K?TYOdzbuL(iP2k`|g^A4@*pxSAO#7So*z#n*1EKS_HQ{=OM|aitCG6M8 z+5U6UnI-}5x6_|KepX-;!e{YAqQzw8&N*Kn)IQVEjN+=?ovW$yXx0b0b?f_2CfA;9 zoMx9Wnf3XB|8f@5IwzNg><>Ft@Z$^59sc=0ewMigdxeI2UkW+FtFnD>(D#pxY-?`+ zYB*iscXrJUlS>sh9{)RK%Y0b-cuozIL*SPRgX~9&wFlNTwAPht#J7acXPo8g`$^^; zyWZoj%)(F4m>wtgTVFl=^FY*_JcIw{@;e;&z5Z1nz5TGe+lhxY2mUi`5AQ2oc*N=V z^XC2KUurfS5x+IvNweUsqfI!z-*+VaF+Fto11~OTCG@uyL<$9J=5KY&yNmB6?iZ(Ffe$! L`njxgN@xNAA##V< literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_ctm_s.png new file mode 100644 index 0000000000000000000000000000000000000000..b960b50704a1d5d28294e0677b60212c1b73dec1 GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}hdo^!Ln2z=PTMQgpuo|v zGW*rs=udN_vsc)toDGPm~hSGR@%}Zatr!iYHs{9*)l=Wz-_{T+N^cQ3?&^JYZ=%#l~u+K!ulA7K1*Bxu&(MUe{_7#J8lUHx3v IIVCg!0LW`?f&c&j literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_n.png new file mode 100644 index 0000000000000000000000000000000000000000..534d798f72cba9c93fc607701c709eef89f844c9 GIT binary patch literal 537 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7A9%VrhFJ9WPR{ka?I6%L z|L=(%^3QlQ6RZ^%?)Buq!u-W4|0K9=wJ^j#z6j;t)&B(h-w&yAbXHT#Vhux~DYX~k(2c53GZsSgY%n_@ZC ua%vy)%t*h++qn0vvVb^~Tn+zz2Ez|my(-&&y<=ctVDNPHb6Mw<&;$Shp7Nmp literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_s.png new file mode 100644 index 0000000000000000000000000000000000000000..f9e1184b0db410d420eb44e9f958dadedeb22f21 GIT binary patch literal 162 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7GCf@!Lo9lebAFxwFu#%M zfJg&6`4;q8x_p5?djI)oqY(B`=i+kCoUPGZ9v#`&iMcp7eY>FN}md|1M` z$*HFCv`ddtOq4U5nImP!79S8#PDLd^08yR-|ZL} P7#KWV{an^LB{Ts5mkc>z literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0.png new file mode 100644 index 0000000000000000000000000000000000000000..32e7e1fc1b93b9764e94c3297b4978c913c9ef6f GIT binary patch literal 328 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7`8{16Lo9lyPPX@EHk3Fv zzm55}gQpAMR&P;}m{;rt#UFqFG>w__wy5OgjfJsXUYfFN6sM@MT;_UInz6q8*}A=_ z^Q#^{t^D-tZ*X;8W%owqCpw%LbFNH0y5`#N2rb@RU5TX}TeiN4*PKL4{Z zOZ7j`uE&92O0KWexhJi{`$cs2RVfu~EB%joN;~C#I5iwD)_2z8eUujydgRg)(H{@q zbxe1>*e9UyHbe5=4CiwKKF^r;*DJEi&i7I$55hRmm&lPQt5sj}9Jl({;Kh%;o)T z+TjmsmHNh>Y-->7&&5P)y!m3jS>oQy2e;9gtsrx}#mOEB*AA@F*(D`b2<0yl2#=1qx3#}&U zAGl%I`FwA)Zo-!@XC7@Y`_4C4gz3PQkTl=29hVInR=9mpO~_u$o=~Mye>d~~>rDao zm1aC*4%(t9miceugb5QST+m5jKmPoj{-N)G&o^+&%O(ok{4VwPtKK&As=)n^yJs(y zzSDO>$}Wpx{>G~Ec>k{F7uM(R_t>m-GopJ_fZFq4?yCcu6{1-oD!M|ArY;~f6kx$Fu#%M z!XI9z>qQfn_jd}NUdiYtYw)TekiEw$;R@qoK8aEW?lp088U_y(4|rsDcLW(cP(+qb k$ob_zcUQuRZ+(nO?7Rm`|J}L4z`(%Z>FVdQ&MBb@09+|DMgRZ+ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_n.png new file mode 100644 index 0000000000000000000000000000000000000000..b77416ed2bf75bcbe8cd9e99a5a3679fb0b1d36f GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7WIbIRLo9le*R22le|{s= o0hi8afy{2a5~c|Tk_-&7e9SUQ?>0PRU|?YIboFyt=akR{08;@L(f|Me literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_s.png new file mode 100644 index 0000000000000000000000000000000000000000..be2a977b8079e1215906262e5a4537a13ad0cc62 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7^gUf1Lo9lebAFxwFu#%M zfJw__wy5OgjfJsXUYfFN6sM@MT;_UInz6q8*}A=_ z^Q#^{t^D-tZ*X;8W%owqCpw%LbFNH0y5`#N2rb@RU5TX}TeiN4*PKL4{Z zOZ7j`uE&92O0KWexhJi{`$cs2RVfu~EB%joN;~C#I5iwD)_2z8eUujydgRg)(H{@q zbxe1>*e9UyHbe5=4CiwKKF^r;*DJa+EkG zzr6J->){f`X{{Lx6*_(~)HdvkmtPdzey);x5uX$L+Xa6eIaGQy|MT?aPP%>YSjps9 zb1!~+P#p8)tc~^i-)Hu89-iE-@ge5T+dMUg3zZ+$tak5en}7OHOS*`Lp8a&wgAbo? zVrKr@b|FgP?UIC3#`mtZ<}x&B=7%(8X4vtpS+`_sg5qw2r!#l2;cjPO2(Gj9T3|Iv zYbt~Ayp=k^OE=}8I`7W;?{32@k5wT|J{8M0`Aj{vPxE}1|M@6xjhUaWWv_2{TH4jT zxMoRTNl<$KKh1n@5v@>$Xa1YE?%l`s;IqfR(_2=RKG>P;zu}zigt8n9Pw8njoDWrU z*LJpTw-VUYeOpRhTEOUtQ1ayGjcJ=D|86;O=2>ISPLWh2$xE3tGR`>ci|P8dz3gAk z=Y@<{8?Kxc|9rq?%MA7tsz1)kItrdVp!1I7l8r$BOOt1euh-sp->XX=aYCjB%8Lg b-ebH}eU15A=gNr;3=9mOu6{1-oD!MFq4?yCcu6{1-oD!M0PRU|?YIboFyt=akR{08;@L(f|Me literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_s.png new file mode 100644 index 0000000000000000000000000000000000000000..be2a977b8079e1215906262e5a4537a13ad0cc62 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7^gUf1Lo9lebAFxwFu#%M zfJw__wy5OgjfJsXUYfFN6sM@MT;_UInz6q8*}A=_ z^Q#^{t^D-tZ*X;8W%owqCpw%LbFNH0y5`#N2rb@RU5TX}TeiN4*PKL4{Z zOZ7j`uE&92O0KWexhJi{`$cs2RVfu~EB%joN;~C#I5iwD)_2z8eUujydgRg)(H{@q zbxe1>*e9UyHbe5=4CiwKKF^r;*DJaS!P2YEK}M|HyIv?*?B4l%?jI$-bGvT&3dpjwUt5@^sxT$U^2O8NEC0m#H!>cl-F^P1ei) zGTA$JdlkwnKWi{9hzfjkXp+T@BcG4|J$R^PMrA?PmHK%h{0w>hisHXZo%GhdU%EB& zz{`&duf>#~4L|87{KS{H#-8tJfyI>lFR%DXN^@M!*q*X8#&3`GN~w%3(VtTC<6mn8 z87|P<@a|EJ&sp9T7cRTHy1XiPm>$Bjrt5F$219dmfvI07EfBhSt6yP`^0h1lE%zl! z3UeMm=4jW{owz`P(b0zaw7B*v0Y*o|SNuDs?Tb<@sOFJ=FMp=|@wYwtg@QRIk-wT( zOnP(nc|n#)(zDE$jjcCr#2+1RDLnF(`P;W?6YuSiXK2{v`?uWl>k+L5ms7QU(^FDX zQvUD&kIU;CxcPI=eB@jg{r31H7S#|21_lOCS3j3^ HP6Fq4?yCcu6{1-oD!MLWqYwC0e17yhJt{aa(lOIZa<%1j@1T_RsvEw&y0PRU|?YIboFyt=akR{08;@L(f|Me literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_s.png new file mode 100644 index 0000000000000000000000000000000000000000..be2a977b8079e1215906262e5a4537a13ad0cc62 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7^gUf1Lo9lebAFxwFu#%M zfJIZYt#&@& z^Sx%z^CfwC@29T`)LXHzbJFzALvw#hSATi=ph9kyfJfi+!rDr|r7LnyDjm1m5yx<# zHSUni?vk^DmqNd?GBUhPj$SMx9TsN*Ufp`0YyiC-Cy`Ryn@RyZpj6TY6&t>u#Pl z(R^y@8oLcaZe3p2H~wl>xyWHtmAw0=_n!8yBWV{dWLrPU@(Z}?`sQ!u54n6tK}$96 z`uAH_?>fM-XWO)iujPyXSH8_Ul(q2E$zJboGPeYc7@pl=4e2itw_*)vVFlWQt|3@X(tlOB~ry(A4ukBmcoar0qzVy5H f#B;UN2WJ1Ig%{RzTWK;dFfe$!`njxgN@xNA`3l16 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3.png.mcmeta new file mode 100644 index 000000000..c23b0440d --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/stainless_greenhouse_casing_3_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..09df67c8673cb62b22f44d79c7dbea7ea06c581f GIT binary patch literal 1017 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANOK2RvOILn2zwhM&&6?IvOy z_G7}zpp7OxF1I%(FQ1^S;3ln*upsr?OZ6}EyR|RG?s;)&L*NaM-US{~ES@@(s%B2n z2)d%2A-;Ix4+*cbP?5dblhWVWmZw#mzjJfPjvYTFC9i#1ZgJtt{!Ine5{oZ>tGBpw z&0xZz$>P7_c+A}yxgM%`{Q8@A>jL-F@cnUnn+=q$^q;>E%|EpMeKJeleTxerHxB-o zb0TT0^{gWWr(a4gP?UI>DYCz8*H`t~t`Ubn%<;GsSZ-5i-ps>rLpAjYLxX$Vx%;a( zrOR1PJZgEbWY3jX8AtiDl9gPwz?YYcKmxUjAq26QhO~zcwCZ-p|GG zv}U6J3*J=>4o`%{^DFmCF=RZo5znu_7x=|?`rPmJ$)80Ns^^&&Z+pIHX1JFY8^^-V zpHbJ&bgIZQGAOd_H;-mu(3fz^_!WF3@BRj3qb<#bI?K}|BzJ^`JU>5u?XfVS?QM!a z$4$>1Dc6@^WN7(S7<#h9cKu`LqWRs?hXv&A?q1kfzpd$g`Dw#FFZ~0p?*(U7seb!= z<{wkf%gqMLR#%VItTpER-@z9XbbQK{Lf(Xr?&g1AR*G!DyKkc4e!dG_rx>@SO@6Za z)r_|*SLGCitFKbt^TWrwh+zWDzZiV- z{RytJFFUTxxfw6UX=8hX-Qnq!Nv9=u>V5lF5Zx_%aFx>GZ;aUz$4U;A#4KJGzQbyP zmeG_wJPQK^{TUJ(1Q-lvw9Vvnh_VsWQj&eoa`1Oq)QV0O*^Rl6UpAP&ohzcH)FS>X zZq?*Ozv*j_UDNvWvv1z4%1e`;@OwX*^7DQq`?af`OaA{~E+4U!`G1Id*w6euxwF=< zpPQG~#_!E?`h(Jv10{ES_I#`Gk9@ZO;jVYDbuP%Tp0KR7=ic6IIM4Q;{+h@8H_6{< z-|;2xLyqtN+h3Wr-?6^_aetkBM3H{P_5bIrHoV)b@KXN_Ut3ktgVfcG3_CKmG~SHW z%L*@JKkz4EC3DEb9cu(<`|Qti{mZ)Fvht)unF3?CbLMZsw;hXp-M=Vg)k{6tonM~l zTdnT>o^`YBb_SW(v$%JDcs!e*mt%gkiSSwvX%?@2oqqbUwtJLsax>lH_xMxI_&%;M kwS1eLt-yts)jy=QbUph!%`}-A7#J8lUHx3vIVCg!09fSY>;M1& literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_ctm_n.png new file mode 100644 index 0000000000000000000000000000000000000000..ca88b904373c47d4f379abfd2e9d1e3096180990 GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}&pllnLn2z=PV*FNRuFLU zp7;IGa(M6@1te8((Atq->B_;bF}x7+Q9>nWs8nihCfl4 zt zH-Gop?;9r|ArY;~f6kx$Fu#%M z!XI9z>qQfn_jd}NUdiYtYw)TekiEw$;R@qoK8aEW?lp088U_y(4|rsDcLW(cP(+qb k$ob_zcUQuRZ+(nO?7Rm`|J}L4z`(%Z>FVdQ&MBb@09+|DMgRZ+ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_n.png new file mode 100644 index 0000000000000000000000000000000000000000..f826ca55ea2610b9730fb0d4abc07cb73854913d GIT binary patch literal 162 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7GCf@!Lo9mVPB!FgP~dTu zKURHp^2w{WCSUDb$l7!8;8FXD?uz|pQ=;xxPJDYdv0<<769(_uY;$^cW*BL3P3pQ} z`JU&N>f$pM1`)mnAO1w_e17nNu9-JO&bjL5Ul(?|PCjVg`c-qv`TEDKUiJD}`z7W7 RGB7YOc)I$ztaD0e0sst=KwNptJGU2~TrGAe%JHhQHy`|J zK7Zfw^|7;jpLosU+#|v1kY9SKf7<($H)Ykji&tz~Wa^MHT`_(o69Zq@R^MBxoD2)r zr2i^X<=t{xi2dj-HHMNK@(c~lo8%Z27O&WJ?^VZxx4l=NRIp0AP7S`v^e$hUe1t^U7M;tRk!2K${fb% z*V>2Nck|r5q$sv7j`8Dfm5ODt%PvZ^CD!jMd(T=QUEjV*PEO}88^eT*1i7lu9RAnd zbuZWwR^~M+WJ}*g#}h1yfm_-%SJW4ExjcBbQZz@Rt+r++gM!oy`QD3KEfX5APP=x> zZ?*45sl{q(-tEiQML$jcdHqn)i?I3oq7*&*&nXh{!(MHzmW8^LjTTK^NBsa2lXoh^MmIw-km8_xaZ_da|Q+m N22WQ%mvv4FO#lfA6OaG^ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4.png.mcmeta new file mode 100644 index 000000000..4f24d215d --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/stainless_greenhouse_casing_4_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..1722c2309969a92097132b5d6da1ba3eb6383c80 GIT binary patch literal 1093 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANMUJf1F&ArY-dr^kClhszwd zxBVVvI&0bCCB<8|rbYeV*pqiHXJ3zkMS(%r;kSt!+MPJ3IL`m3loN2P-D&=|Lve@V zer;;^ol!l5U)Uu@;h31Kx52e9+a^ya>olu3o4fbUY}+NztCAO42yc^T@jLgv?!4vn z&%bN;->=T8eEWURv>Ptfzu3d|S@Z7i_`Ui6>GO7bmakgXr|WY$5?`6q zR}>f={5gH+Mu9^N1y)&+T}Lgo-Y&tc|eA+Rb%FAk@zFb47aWI zzr`wS|66|Y+0;khpEe#o;%HM4@n>SC!?(hvKmN~UZ`uFaW|I=5lK(Zv3#EGl&z;_I_B(Ih34di&J`J6puXT|>Ywiyy_-`iJK z|6P05w{h>4Ti0Jc{dl?er9YeAIjycmXZ6;%s_?bt8H ztRQpIZSu?<1}@R8|7YDzC(Xf*W4CUwo`LU3-(b z#@9P_3s(JPl)P=N&#~uTq*Ls&Os)Sj@ne=ulhCU&VH7x31nk zV>8KBR{VS3e7v~NPybt|4vi6Cb0?!N9=4 N;OXk;vd$@?2>_gLBa{FD literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm_n.png new file mode 100644 index 0000000000000000000000000000000000000000..672ec272c9587b7446d1499f5ca120d52b3e5493 GIT binary patch literal 849 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANOK5}q!OArY;2r{()8y9>C- z|1aFi`HV;HhOyZU8CCXEjNhDGW>@EkCF|?BE#B*x65(ID%Ub>oYi^U!n~frxx?4?V zy$qklAG*Kp*1)Q2F-)KhblML6gQq*q{wL^mT_=3t2FZu(H}eO ziyIva&)m_Rv_Ln%+O&n^*M?;6^$W!&h}kfOg%@b;KL2r+OTYxNnzgw_3Q<4&iy1uF zPcrhq%rO6OTjn;)mIuB}^1Kz_WR{Z>9f6)ma`fB;BMUCGwn4)uqxBFhB$}tg`1l$uQR%ToLxkR zY4VC2K?TYOdzbuL(iP2k`|g^A4@*pxSAO#7So*z#n*1EKS_HQ{=OM|aitCG6M8 z+5U6UnI-}5x6_|KepX-;!e{YAqQzw8&N*Kn)IQVEjN+=?ovW$yXx0b0b?f_2CfA;9 zoMx9Wnf3XB|8f@5IwzNg><>Ft@Z$^59sc=0ewMigdxeI2UkW+FtFnD>(D#pxY-?`+ zYB*iscXrJUlS>sh9{)RK%Y0b-cuozIL*SPRgX~9&wFlNTwAPht#J7acXPo8g`$^^; zyWZoj%)(F4m>wtgTVFl=^FY*_JcIw{@;e;&z5Z1nz5TGe+lhxY2mUi`5AQ2oc*N=V z^XC2KUurfS5x+IvNweUsqfI!z-*+VaF+Fto11~OTCG@uyL<$9J=5KY&yNmB6?iZ(Ffe$! L`njxgN@xNAA##V< literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm_s.png new file mode 100644 index 0000000000000000000000000000000000000000..b960b50704a1d5d28294e0677b60212c1b73dec1 GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}hdo^!Ln2z=PTMQgpuo|v zGW*rs=udN_vsc)toDGPm~hSGR@%}Zatr!iYHs{9*)l=Wz-_{T+N^cQ3?&^JYZ=%#l~u+K!ulA7K1*Bxu&(MUe{_7#J8lUHx3v IIVCg!0LW`?f&c&j literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_n.png new file mode 100644 index 0000000000000000000000000000000000000000..534d798f72cba9c93fc607701c709eef89f844c9 GIT binary patch literal 537 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7A9%VrhFJ9WPR{ka?I6%L z|L=(%^3QlQ6RZ^%?)Buq!u-W4|0K9=wJ^j#z6j;t)&B(h-w&yAbXHT#Vhux~DYX~k(2c53GZsSgY%n_@ZC ua%vy)%t*h++qn0vvVb^~Tn+zz2Ez|my(-&&y<=ctVDNPHb6Mw<&;$Shp7Nmp literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_s.png new file mode 100644 index 0000000000000000000000000000000000000000..f9e1184b0db410d420eb44e9f958dadedeb22f21 GIT binary patch literal 162 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7GCf@!Lo9lebAFxwFu#%M zfJg&6`4;q8x_p5?djI)oqY(B`=i+kCoUPGZ9v#`&iMcp7eY>FN}md|1M` z$*HFCv`ddtOq4U5nImP!79S8#PDLd^08yR-|ZL} P7#KWV{an^LB{Ts5mkc>z literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0.png new file mode 100644 index 0000000000000000000000000000000000000000..78987171c3c51896eefb6b1d199b91c1635d72ff GIT binary patch literal 389 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7eLP(pLo9mdPB!#Eu ze=dnpTT{{ZYC?~n+v7Kn-aLC}UvPQGKc%B)r7DW zF1q(icAozJ?%v+-T;j{w3q|@E3|@r_O*>^Zndi@h3=5@-&zEg|^%uE5?D&;6cj~R} zF&9f)G$tJV++1?^o%Wr1PR6f7+X9bVym{6CvG_Xu{^VRo1*Y@qftQ!@$sX_g&y_I6 zyJS|Z%cS~4XCK$*%zCyzF4pB0>9s&@ zO;Oz@`SxSuZqHib*pRBnTu}Y}z_DvmZl25UhM$kl6e#^$bDC9=5tOw57l2V-Kwrdb?{d?(kyI)%Z3ZJ*g0i&* zNM3mRbz-20_6LTJ_iHwP|JsmID>@_BuFHg7LI3!Y!X?Jvzc#fz|HR#D)%o)0yuXqR P3=9mOu6{1-oD!MFq4?yCcu6{1-oD!MbMM>RXU=HEZL2w>P97xc>FVdQ&MBb@0C3+a4gdfE literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_n.png new file mode 100644 index 0000000000000000000000000000000000000000..b77416ed2bf75bcbe8cd9e99a5a3679fb0b1d36f GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7WIbIRLo9le*R22le|{s= o0hi8afy{2a5~c|Tk_-&7e9SUQ?>0PRU|?YIboFyt=akR{08;@L(f|Me literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_s.png new file mode 100644 index 0000000000000000000000000000000000000000..47902ba75baa26a760abd57461a8863495570b9d GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s73_M*NLo9leQxXz>oOfVM zSma{N%*@Qp-Sct&WRu>W`zxO`1v0zwO31Jo81agTe~ HDWM4f5JMX% literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1.png new file mode 100644 index 0000000000000000000000000000000000000000..78987171c3c51896eefb6b1d199b91c1635d72ff GIT binary patch literal 389 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7eLP(pLo9mdPB!#Eu ze=dnpTT{{ZYC?~n+v7Kn-aLC}UvPQGKc%B)r7DW zF1q(icAozJ?%v+-T;j{w3q|@E3|@r_O*>^Zndi@h3=5@-&zEg|^%uE5?D&;6cj~R} zF&9f)G$tJV++1?^o%Wr1PR6f7+X9bVym{6CvG_Xu{^VRo1*Y@qftQ!@$sX_g&y_I6 zyJS|Z%cS~4XCK$*%zCyzF4pB0>9s&@ zO;Oz@`SxSuZqHib*pRBnTu}Y}z_DvmZl25UhM$T;pZl`5TN6Oj~awF8bp{p#GBG3IDnt7j|*gxb2;A zwk!EedHJ32XO(`x-TT%5-@6q0bmFn(SG~gR9DnbbIa$51QI}57smW#Ba3SE!wyI-H zTAKuP8O5gmSt%?3=A}Vbcm3JPzu#5mKDIu!e&NMCdkR@Aa#b8EL+||L3SxCln%(>C zxk8GB>YCht23~we4=zy_SUUTy>;C)K-B~rXzt;bW4EV(V^T6u<_a%Gd=C736Cc8nL zX~E~c#=dpWKYg9K{?N5!-dpx<6^xuz^!8OHgU=-OOt06`(i`rphddDP->}=(L~Z%a zmQRf9*Q}HNe7aAF!CO7+7-QSV876YfKH3>g`fuN@Ysg4nHFH7O-1JGlUHRR$2^*gY zwg+zH*SXGbeLqm+JENv-NnOfyIj1R0c3(D-J0I8BEcY->#Yv)4BB116iTsRGUGt9} ziv{LzmT7$KIgq?hEw%;pabMf@L j!PCRq64+Cs{fEsV+GgPbspIYp3=9mOu6{1-oD!MFq4?yCcu6{1-oD!M0PRU|?YIboFyt=akR{08;@L(f|Me literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_s.png new file mode 100644 index 0000000000000000000000000000000000000000..47902ba75baa26a760abd57461a8863495570b9d GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s73_M*NLo9leQxXz>oOfVM zSma{N%*@Qp-Sct&WRu>W`zxO`1v0zwO31Jo81agTe~ HDWM4f5JMX% literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2.png new file mode 100644 index 0000000000000000000000000000000000000000..78987171c3c51896eefb6b1d199b91c1635d72ff GIT binary patch literal 389 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7eLP(pLo9mdPB!#Eu ze=dnpTT{{ZYC?~n+v7Kn-aLC}UvPQGKc%B)r7DW zF1q(icAozJ?%v+-T;j{w3q|@E3|@r_O*>^Zndi@h3=5@-&zEg|^%uE5?D&;6cj~R} zF&9f)G$tJV++1?^o%Wr1PR6f7+X9bVym{6CvG_Xu{^VRo1*Y@qftQ!@$sX_g&y_I6 zyJS|Z%cS~4XCK$*%zCyzF4pB0>9s&@ zO;Oz@`SxSuZqHib*pRBnTu}Y}z_DvmZl25UhM$TC=TY0hS37y1!_~&6x?85M5a3w4wecO;v5qmo#`gHBRK^vR zjIlp1Ef#FinB{frLgY4<`}K2<{hSw_d~DXT5S`0Bvmh1DuQQ76{@{v1rP9}1yO!71edv?nDc;TYkpFZ85J>~7I z4=n2*|J{E6;*~2`=I%1oRclwjz%|=KRbB62&EuC2`;#)5JWY=td#uX9rg<;Rb%*%Z zhnywb?=4ut&Zwzc`rp_<<6UdR!sYDeI+Z4Dv$kn0j9q-gatfQ{#mwh-yxG_ER6f6P z&)DhWm3nLDz3DD4F3KG5+Z(?8u|E1W@3MG*3-+tx^rW zrPsAgC`^Ub)K$XFQty_;p(Rheyw<&W?XZ4HcV{8Pq}bT+OW7S>#4~*nE!Pq^k@meL zY_;#pi>eNG$>vj$s^_L}^Im;*z3X$<-~Q$~;-Q|53mAO-W}hil`?>6zWR=vKncBHF zHvc*k`-BB2-oNKkWtX_vGc8q+;r3LH%N>u!UE36Ls@vmlNwm##lMepf(PwaoL%HX} zf5mUi4mutTqLIrBf>ieJ<-GHT{Z;AwDU*`2Qz!bjtJ_4)=}pf2%$&`=x#rIATi=*3 zeEa^J-Cg2P&-&+KdZ+JAcXlb`da-{IbA@Ba7M8fJ$2KM@=Zb4j@BMqA@}Syog>_H1 jN9itkzBof`KjV}w?rXnKyU@YFz`)??>gTe~DWM4f16W|B literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_ctm_n.png new file mode 100644 index 0000000000000000000000000000000000000000..206d93753d5a712ebba3397faa246da0a25f4a14 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}`kpS1ArY-_&lxf@FmN2+ r&{(*nnP=V=hhXE~m22#uGoS*`B0ULan@>Fq4?yCcu6{1-oD!M|K(x=h_3Jwhnj0fLe4{-P; lf5Po28w&?W=>GvWmNgvi$Cx|K85kHCJYD@<);T3K0RTL0D{BA% literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_n.png new file mode 100644 index 0000000000000000000000000000000000000000..b77416ed2bf75bcbe8cd9e99a5a3679fb0b1d36f GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7WIbIRLo9le*R22le|{s= o0hi8afy{2a5~c|Tk_-&7e9SUQ?>0PRU|?YIboFyt=akR{08;@L(f|Me literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_s.png new file mode 100644 index 0000000000000000000000000000000000000000..47902ba75baa26a760abd57461a8863495570b9d GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s73_M*NLo9leQxXz>oOfVM zSma{N%*@Qp-Sct&WRu>W`zxO`1v0zwO31Jo81agTe~ HDWM4f5JMX% literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3.png new file mode 100644 index 0000000000000000000000000000000000000000..aceeaac4529be54e290ba39f6c04d189c0b6ee8e GIT binary patch literal 491 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7H+i}^hFJ7YoxHd2vV%zL ze$(WehH0MHwk0(wC#>f970T81wn8u~u3;8m=ktY&c|1Haf2?%qP?=pZlcjp@k-ohS z4{sRWYk1(H96PuA{F%SAo1gp3{W~*BgyFK)k^^7c+(b{8I&Jgp)W4>xZX!BSRr8uI z_x7#A(zDtY$ppA>>GQ7M#liVZ@z55&n<=4Li@aVJ7U#NW(Dlc*fODZ^TN;X{yyK+qV=bH0egb{%j%*VKN)Y$ zYgRHT&3~}pi6NCaH}w7Am#NWLPoHV~Cvieuxny%78}Hx3&3bcGwB5LG%3uAFq_oIu z-j2K4kNVOs6!zZ#VSai2ZXqSfqt)R3WV;&-o`tJf{mTjzA8^Z(7}PfZ0|mpR52Kh$vBnj10S_QWI+#q;|o z$NqEJS5fop!9QDt{~EE&U3c^p&N64H`1_5yyw7^Zu45&FO6ODNIZj)`@>!rk-`G>d z`PRI{H*FXaEWKy+p3AJ}GwPV&=%V7>#ru!-)S7*}{xklsWME)m@O1TaS?83{1ON+Z B>j(e< literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3.png.mcmeta new file mode 100644 index 000000000..7de293db7 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/treated_wood_greenhouse_casing_3_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..7879664abbcd64f9a823b2139f394a83dd4f1b0a GIT binary patch literal 1135 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANMUW}YsNArY->!+rA~g^AcU z^!_a1_#lyJc+zC9V9Sb$RzgXKR!NlxuZ%6dJKwNdPpkBP=zlly*w9zYX3z9pY7#ib z!*j-pUXi7Y$r3Ws2LBkCVkMMs-*9NV$ICyz{9Wz)*!z!vGc8}feE;F&v;GQ}8A%J< z#{{tN`0@3u`TP{l8SCpRzIWX&d$4Dr(mMW7^Y<;{4)TBhd`*-` zTQHrt`^hhjxyi~xjc2ZS??UE$kGY$)A1wS^?<=Ie`yz|ftU8}V51T9`{@AvjVmL5~ zrHSEzsEsV=)3qDJ3l3eVWVo=acF+D@bFJs{$ZDQ@X4TBhptst*!(FnN@!f;GV)pIP z3KA|_v!h(vtt}X2rhF^VFFPY*p{D)UhGB^^r+@m}d6U=~4pp${ezkICII%=|-jDXU z^$ER~Q!d*ymgd;hG~AhHKg-^lQTutF_4cB7_bMmwC4N6D#$f!u&RYFp0V4y4qDB5T z13CW-Z&xmu^;eK(XS7&Nn8pfblO=vTA2z$+c#%_cZI$}n3g^oQy^Cg++lKQpD{8T< z+BCoa=Z|?;KQ2$XES#TV<&yob)cfzB%v+7-zm-M4Z%=mBdtFhda_8WTzLl8^4)e%r zZfpNFwf0eym07dbrpWUbIb4h%Y?Kv$l6UiXeX0?o$j0n_EpZ2@U)?zMa>W$K;8*A7 z_QksI`D30sS(t^v{Ds+it8LL{PyarOdiH#N(u+#jh^>8`iubx>7b#EsLMdH8E7 z1A~Zfy@`4Q1H){-2+R1TeQ&Q_=SdOL0sD3PZ~N@42i+tkR2aL=L$0W74Eh|oGF~=% znHN`u70WZ$0MR9uvL8O54|sNO<^8%p-%O8QVDJf)e8sF1EWNq&>&x{zUj>#p&FDEU z!RuyhGc8GxQ;4g@RrB~+UAyB)COn=KRIGBRahcOICWZv#xeVsDlW(ptX6;%w`}`(J z_jT*@r4xh;eGCpdX7W#xys(gYkIMA!m}|l8H!@g!X1G1*U;TOeyX5K~%}G|TD~eV= z$zfEH(VJr)Jv;v0+hc5xH|FRcouv}C#_(&`?Rl?L7(Oqx%)UDL^oO9n*|&GzzGJmv zs#3ey|BF@|*7@!D`M;ZQO|tgu1IJ$-F{)c|>&g9VDiXM1fAso8{kQD%8sjSTD|V{YZ>>u>xHlp8U)J9P zP1Of?{c(SNVApph^Z8an?-&+5npbhn$liJRSN;QE^wPI;FXTP&XG6rFwIVZveYW$u z^Ltv)-}U$D@9SbGZboT)1|Ix>`-o#Ef5YaN0?TX{ta>G|Qo!zZW!FRT{Cm24#C?kI zF>E-W`sCYu``Yia(M6@1te8((Atq->B_;bF}x7+Q9>nWs8nihCfl4 zt zH-Gop?;9rbMM>RXU=HEZL2w>P97xc>FVdQ&MBb@0C3+a4gdfE literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_n.png new file mode 100644 index 0000000000000000000000000000000000000000..f826ca55ea2610b9730fb0d4abc07cb73854913d GIT binary patch literal 162 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7GCf@!Lo9mVPB!FgP~dTu zKURHp^2w{WCSUDb$l7!8;8FXD?uz|pQ=;xxPJDYdv0<<769(_uY;$^cW*BL3P3pQ} z`JU&N>f$pM1`)mnAO1w_e17nNu9-JO&bjL5Ul(?|PCjVg`c-qv`TEDKUiJD}`z7W7 RGB7YOc)I$ztaD0e0sst=KwoOfVM zSma{N%*@Qp-Sct&WRu>W`zxO`1v0zwO31Jo81agTe~ HDWM4f5JMX% literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4.png new file mode 100644 index 0000000000000000000000000000000000000000..0c1346d3017eb2939de7253369a87cc43b2c9355 GIT binary patch literal 666 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!to5GG1&+1oOew`~o``N!~8fh9ldqZTXwyj%0$9Blfc6vn@mJ&?Oqh_%1!bCAZP zgAF3OH@atB;V|P=*>XF@<4)eqKX)oPB4@vCPJDKD&->Yx_uot3e*R+bv+wfzGp|Th zq{=hgl@kxMzNmd=wdtwjRt$X8H=7>6Y+3cYTJlwP<6b%Qwu>&4a?&SdRNah`7YkKu zV=rI`d0o2f{r=gxCQ`}L{dqBOzkhexv{Tu5N8C!mc~Z)YJ8t}$ymo!rZriOp&4hcG z7ki}oKDYQU-mv!TZtqmz{*v9hSA=IhWAONQauKKLr-w)9sx~yOTF5DSd-KlIz6~F) zNL24Pl4xT*aJV;r^YZ!oL58RYS;Y9M>9=XDkWz|wD%vsUgrg+GVS@?HMQeCBG(BA) zvpPI0MI>>W8Y9owpC>e$j(&YB+Hmyi+o=^wsrTgkmsp)UHLGvZ*~e3BJ@VGGuRrb^ zdD*uiQR3UrtNr@7_ideHwvr*JqNHU@(1U}k_0s}!>~B8({#!UqQnu`+k5guP`FiCQ zL2Csi=dX!6*p_(1|4Y})_s{z{`unzcY?-Cv$@@Ak$NpyNEqQrKg?Z<;dW3BH$#-q- zH_e~LuYMg-oxJ2Z_w_}rq0B$-vp1|P^qVpx`kvKgcFVv;OGFqYcvuB~3T@l&zkK%d zs$DzxeyA%e{pWRM7Ee^{jdvay6Mv-r3=5Ir$XPFcKZmJ)BE(Yug|n@u@Qb&M z3F+ni+>Z}e+|}dj)_UZi!2UFhlW+Rus-_xZGmQWM literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4.png.mcmeta new file mode 100644 index 000000000..39b6f4eb3 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..b3fbf303c5f3d9d2f736821b4c9492f778ae95c0 GIT binary patch literal 1416 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANN<{+=$5ArY-h!@V=4-6j6n z?B2BHT3YJnu&M1U7OS|{wFn8%abM}U<%>X2RrX57cA2h%=uZlqrcIN~S_S5)sg)T> zObphy{SuH7;}e|`>$D=8>l>HUC~UF*Ut_#^ z^XLEfx9je2?VtYWrR#~AqI33qdi`{xa5KAK|NnpDr#ETo81OW2JhpH5ueukBe>mBG z{mp2zH?GuCaZO5CTEW$p_~6ZtwF}n0wu=)vuxU+}gxj&S&6*4gR%!Wj6nR&p^!=b2P z#&&o8-dh6m#aWk3mMqXy?`VF0pqS4^d{U|Zzn4enH`ng9+fw>rLCvp_-Vc(~7+>Dr zdDtdkc4O*^U1q1!-%98I?f&7?wVZ(={dhhrE}fkVq|~(nrwc?Ca>-P-y7@?gI2P* zo@@GAarcEtg|Wwcuh7ta%cjlVxUH|Ke(i!qlK+$|S^duOF(`aVs44!qcSE8CPe7QS zQ%Cgm()sIN+c|aImSWag-}`B~dYja<&x;zSotBr^+qCWFxpC&nWW@z@j*FbVCdiPGDd+Fc)4Fnj zi})monX|Z~I8EeYJ(Rv4ow(udF|*i?yuR>1EE~H{6z3bP7QLcX`8V;;;SD04GYx$& zXInn2wXJ(_aKD)SLeY>fUw=*TIBj8TR?W$9&iCHFl&RN${9qT5@$ZV@W1||_U&tihJA7J6@d-S&o_L@*{Wx`t?&Bv z*USx@V-ZcbjU0uoV*E_RH)Ui zhq)&xZOpP)a824#rY7*}Q%Bmyg%!v5n-~4vyxlog&amLEkAjP({^wW+d!LB@>%B+6 z2%U@FFDoN!7ozF5ob7Ok{33484A!e9`;>!=4@!&owQX(U`u@#t&!v4wW%kI~Pw+Us z?7_xac?PuH%O(e`FHh(`uFp+6n7Oq%!sJdX)d;$s6FNU>lYsu zewg`syB>3BUBk8doG0p0>*myKW?|r)$9%PDwan?6q8;zb7_Kg#F)Pyfs$&k%mL{$^ lkyqcCW91Adc%1&hzwTeq3*|JQCkzY>44$rjF6*2UngDQ8sr&!{ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm_n.png new file mode 100644 index 0000000000000000000000000000000000000000..672ec272c9587b7446d1499f5ca120d52b3e5493 GIT binary patch literal 849 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANOK5}q!OArY;2r{()8y9>C- z|1aFi`HV;HhOyZU8CCXEjNhDGW>@EkCF|?BE#B*x65(ID%Ub>oYi^U!n~frxx?4?V zy$qklAG*Kp*1)Q2F-)KhblML6gQq*q{wL^mT_=3t2FZu(H}eO ziyIva&)m_Rv_Ln%+O&n^*M?;6^$W!&h}kfOg%@b;KL2r+OTYxNnzgw_3Q<4&iy1uF zPcrhq%rO6OTjn;)mIuB}^1Kz_WR{Z>9f6)ma`fB;BMUCGwn4)uqxBFhB$}tg`1l$uQR%ToLxkR zY4VC2K?TYOdzbuL(iP2k`|g^A4@*pxSAO#7So*z#n*1EKS_HQ{=OM|aitCG6M8 z+5U6UnI-}5x6_|KepX-;!e{YAqQzw8&N*Kn)IQVEjN+=?ovW$yXx0b0b?f_2CfA;9 zoMx9Wnf3XB|8f@5IwzNg><>Ft@Z$^59sc=0ewMigdxeI2UkW+FtFnD>(D#pxY-?`+ zYB*iscXrJUlS>sh9{)RK%Y0b-cuozIL*SPRgX~9&wFlNTwAPht#J7acXPo8g`$^^; zyWZoj%)(F4m>wtgTVFl=^FY*_JcIw{@;e;&z5Z1nz5TGe+lhxY2mUi`5AQ2oc*N=V z^XC2KUurfS5x+IvNweUsqfI!z-*+VaF+Fto11~OTCG@uyL<$9J=5KY&yNmB6?iZ(Ffe$! L`njxgN@xNAA##V< literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm_s.png new file mode 100644 index 0000000000000000000000000000000000000000..0931697be4d76e383bb820a8650d5705ab99b907 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}2R&UJLn2z=PCG5spupj} z-goxD|H;wU7L{~J1RuCG^V~94f98n{35QQ^V@R~!Cln%fZFfwvePA+o)bE#(OLddg z6t2c+-#;(^!Dgyfqm)g)kG<-T=LZ5f{}ekoWy?Fvd#pdhcJ9n?jQtO!^qN;3@mv{K z%H$BK965XH< zvrc>t>uC1inlSmQQ|%H*5qTlc&cmg;JEkVws7+v>_r_cBhS=IO3=9kmp00i_>zopr E0B&(+JOBUy literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_n.png new file mode 100644 index 0000000000000000000000000000000000000000..534d798f72cba9c93fc607701c709eef89f844c9 GIT binary patch literal 537 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7A9%VrhFJ9WPR{ka?I6%L z|L=(%^3QlQ6RZ^%?)Buq!u-W4|0K9=wJ^j#z6j;t)&B(h-w&yAbXHT#Vhux~DYX~k(2c53GZsSgY%n_@ZC ua%vy)%t*h++qn0vvVb^~Tn+zz2Ez|my(-&&y<=ctVDNPHb6Mw<&;$Shp7Nmp literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_s.png new file mode 100644 index 0000000000000000000000000000000000000000..67192f4449d1145954703a2bb6a3f458c0ccac31 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7vOHZJLo9mNPCCeSz<|R! zIsfnf{<{}tZ#8-)v#NXW_nsFJVd!$}J-31RMNIAL6~%l{b}}z=b1>@2lbDm1z;2Yz z_aWCd_29o1%-UxT$%+QD{eRDQtKk&yoGovy53sE`_ciQR*2?Crt=fzJr@7~ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active.png new file mode 100644 index 0000000000000000000000000000000000000000..3483fbf0c4f1090cbb8e75def1f8159ab9a460e1 GIT binary patch literal 16582 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 JF6*2UngB2Mu0sF- literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active.png.mcmeta new file mode 100644 index 000000000..6bd4034d6 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active.png.mcmeta @@ -0,0 +1,7 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/machine_casing_egh_active_ctm" + }, + "animation": + {"frametime": 4, "frames": [{"index": 0, "time":40}, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39]} +} diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..7df56cf80db1e223b87f23f8a0059c8a1443e4ec GIT binary patch literal 44938 zcmeAS@N?(olHy`uVBq!ia0y~yU{GLSU}fN7V_;xVdl!%j;(NL{hE&YCv-kUSnd4KR z|L#1qX4N-7UK6Qx52aelTT~qy!jzT@KGn!{Gv55TY)kREcmG7+pNahY;huHzy?1Xi z!ldjMO9m;a1}$Rc5NP@CaJXbKuaq3`g4*fl&+K^Le&WokEE5F*jd$~m4>Fg9E$x&p z%#ZoJ*L>52_AQ;AoHJ+4sJNjz>1>*-OG-k*gMHP@t@QSlWn_5h$X)vM^Uq= zG@QR26&1Ck_&FcL$&^X6X3csL_pd~>ofA1@oJGQw%#n;!De~;Sq)3tg`>f1M+cGz)7?RDd$ z;&=&0Q&ZFLnzND)y}Prsc)rY^-YVF+7YW%tNW#gk%vzZ-9+kC>@{vThv@biXL zk##rQV;}F*>vUQ4WcR~|4>ef}y_nSQ|EY}r_;+DgX>9qaZ1vCkSFYqVH8fN_;M{v6 zME6Odj##%<&(WlYnNthC9a<{ceN?G8+GmN7Am>W%&WZ`|_|N;ty*_;SaNu!8#g7$# z_C0US+B?Hy`HzPWS9C4iv19QE$H_mX`;WgDzTqzVAcL*TJ#2oyJaw^bWNR@Lt>@vi^zw@heCz>kI#?cILt1#zU7gsM4Y^kxZc4KEmv=E?}K73 z-ua)T=KopH{_%S0-3->2#dH4j1cPN&$na2`EV%S&@LvVjFB-aX{q9FZUw5d7 z9Zlp8Eh;VjTDz&>`MJ51R`O5J)|#qyUrVFx{p?w@ywWsN+=GKJ*BZYP`TVLdddENc zC${3}-Cj&+sh``v^Umby=R`z5eX;NJt}Kp^s>!`sb7-68 z=bcrLxfl*Fb~Z8f={{#_>XTei!qKqWeBA}J^tzv%9Gx@n{7g~mvevg|?7w`<>p-)c z{I;a98buZ#wX{`_Prl_o$iD2=2gl99Wi=08^=fM@Shj52liw*tO`T6zwocyn|9d%Uk_|F3u_JVUcXBk$xBmW>VP zgJbQl+NL?3x{}9xr>C#ojZOaNzW<+pIBa|%y8ZlVCWT9k{8eE;dTy8JF}hXEkKj1W z9;Tvo;^}6N2^vvN55FoFE_64UIA=lbxj#+19Mj`GJWfnM$zL_&`Rwz%cQiI}x<~%u zX%)P-!CvDKdslPY!;1?$E8@ggROB7A)#6JtDmN(T1as3-36v`cG?J zZNAQh*-K5mDl5j8xSJ=N{-r%~~GE$)J07^A6*R z)lYVBI^V$ZU$nd={X^K7zfZ#IY8)QCyYRMS#)iAHd(QS`uKg~|@boBq)w+^}4ZCjr zn)Lp-+A)dQ5{v6DeUIm`6X^RLxZv=n(+%OJy-c&jG{`#%){FK*$0}paDg(6OtNY?An=x zI=L8%cIGVMOgGtn>GFM7rFjb$EfQi)DUvi^9W=*Qevhknv3AqN+re8WoOt)oZ(2*R zPQlwSdoRsTd3qgP!XZb5-M(w@u(oIja+B3&Ej9hx!C^cr`tXheH5}9ZfB#wfB}P+b zvBN?o?(Hd#E8SMFSfMig^t77kx<7S1G?p<1KVWt$uMam_HLpP+IYes4MH}HzmE8;P ziXS;MEvU!8N3dUANv!2f=Ip%;jO*^c(chpjJMrEcR*j_rv9;nZnnx$Gp7we%_e|SK zBcq!eC1y()*YG__a4XJsDDv1*kbcS7wPJ?SrHl3ZKT55AdaBp%;w>5bGx}3r%zUv!vQrqp#e{tq~WgBy? zA8(dUUbJ;u_V(Z1SJnpZy`J}ddW`a-)7|_nW{Ph-ymCBV?!2(Crtn9@ER(aW%!TpV z+KlG!Vp9FQZ~xUY66mqi&Aqdu_-nVa!YiH~b_Jq>jxIaw3bsCpDb$v?6SxtlzQd$^_+OPeL;MMNvZaF z9*#8;d&C3{4`n=He0C&mq zzmQ$7OJK^jO|KiLzI|`dvz-_WqR{ExXEg$1^-TlcQZ%ml@n@pLqOvm7n_z2fg{O z3se)y>#KZ9ht>xXCBwQm(&sx4G9ZbEV9HnbJI?qMUIlYV^dBV99OO3=HNO% zpI^mlPWQg-SPk!q+!H3c*f_fGx%A>+!jn@$J$?NwS-Ti79(p60Yw6$aQl$gcZR0{Sea~!SPacPn2oJ*l^Uo$+c zIWHODRw4CDYNqYtwJq#NHLkzsmq z+>0EhZptp(pjEYg=7;@CaX+6paX7u-s<&#@s*@>~I~-gWO|pDwdoW?sO`e-IZO0BM zOG!$nrT*U4WEyjIU*Bij<(Bu0+e90sL{%bAr={ib#Oz)FIqA6i^z#$Ti#1Z0*yU_) zPS;o}F;{|-;}?Uv$fXNYgk;+H-9Eefy4<1;rKNF~xH7yP+qAS-DJd8Wzu;gf{dz4m z(5tpC^iJ)r1NEuPY^R%RSh`CUHSRjxmV9H6|`Ao8P4Z*9_WT$pA9RB_<+V;%+t8%rfjumox z*MDxl^>Y8!;3EG>4vjz+$K`*w@8S$x`7in|qhis0+tfAk9DCy*-a7E~H^*+P3&;1& zg$Vn#21%@klbd<^c`rrSua%hpqv>N~fVfXncUN>|ib4aU zL&DqO*#d&kw(FVssdxQc+bt+~&2H<;FI5`Kb^~8OrnR*~^{+@~%%ctir{h#K4(l#~0 z(QV7MOVTfXeYn4|n7ym-yZiB|-@%3}sOg&ODw?q8 z-m+b3EDLj=CHa-hF5R?f(yLWcQ-YRU^1O7@WKpYv$z&n#vZrC^r|jI$y7`u1hsrIV z)fY;i%A5*%a#u%5O*u+(eagKvt__cFIml02D&5M6sG8A#!-1^$WWU0UY{U{^((5Y8bieFB8A9Pbh)#vKL_?bQY8M;AR`~)9{ zT%UNNKYLaFvfO8jgyh#(Y+HBlovWsVqtc(yn(@E*<_u$ z`)^(0mw9_b|5Q*;#6HmgM-}auop+;!ZtKt3y5z~`jo)1ipM1EXAli9~Lq22n&Ko5G zA{XNJ-i@B1bdY2HwYtQIVjpc)RNgRz9Nf)2ZMKMP`M2^7IR~>G3cr@=e@@@ZzD8TX zwlY`qaMN+s1qHr8Iv2gZvgG;HlK3w%&yTboUSOazp?&iLiHsdJo2@ToXkE&AnbYNC zcJ|lO=%(sW&fT}7#F;PLtQTuI<#P2gcj68eXU5elS1Hc*UFf>PC&Y07R@+DQ|JTYH zSvK>UnVK*gm=yJYJ-tl~)KKs%l})^R>FmXl*19C zs#94->pGP$&up5%vT9vvSJ11Cp@lcXQ&UBE)=XRWD^umN=cb!HuczfXGA`fMXRx-= zia|NqSw%=RM0J&<%+BLeG;TgObbF|^!|Z}|hJA!tz3Fo6{!Mi^#TfM1oVMp2%zC_u zeOhr{w)MFaCr(@m{wW=GaB<_YWo}!l(`bVP*EqkNC)w@Z_PFg8N_d-ScJS zPo!T;Rif^1z1sTs=+>)Sk8017E?>7XA53j*Q}-gS=etcK-}M_KT5Ir03bEwcZoeWrVJk zZ=TG$*1uJ+@JREgN6ZI4o@3Tv_5FI8TV0f=_il2*7rDz)%jyk(I2687Uh&(YF=_eI z2!qqg%&s+ecf5&o$rd{w*%l<`6{$0CGtb3Yy{G5tmd$CZmb+x<|LNBCeHHt(f1iIN zbiG(PRai^&y76;O7Oh+-dH;K)N%qW@ z@&balp6fmTuye0Q!sRYmnfG`2y*3uU{N}J&vno#_ILoSkjh<=f)|8@^lLGXndQRhU z$kt@p8nl7!REFxqg5z=9*qVyJ99ph%+KKV9RN97&YnOyJZ2WzTb=sNOK7}uLO|A+b ze*Arf$Bai;ORQS2Ii)U|WcqeCE^C8SJQLc*^pBvr_tn=@0__x{;KY#M@&*^WQ=iA%nH zRI}^g+zhTKnjT&K$igz^lSz?X zQ})^wpV=RBJd1k%;HIrcYJ|c;r+NWym#)Zydp!m`FGZFZ38xrknytOjsUgZ_H}PM* z$?Yjs5~1ifhz|MP#t5$*-MHci_zoi(JhFF;&>zF_Lg;{ivjJ3c6S2gXMFn$1s) zI$SboCFiA?CbPreFg$qCdVa>mD@_^_QhU8q7j>=blG@CyeTcp3U`<@I$hx-E+jn`e zDMxSpkl7deqvx#leC7u^?+vE}t%>?kk}|=i#dY)ahdn(!;#Cz-!nlG=%%o}(&OYkB zxF%CqQ2WwLk@IT|bwEjYuenvEO}gaW>w1q&Ol^Pg^7QxcYaIRBSa<9BI)jf3g05UO zb8%j^I@du{`;hqhyZd~8-w{2tVs7lRUyOoNQUx_tCprkuOw$ZKp)4FD?fcOA*5a1u zGkw&GPL|8phsWsa%hn!WY+%E4+xk~u_v@#r-#?ZsU$5D)=7+izCG`!Ba zG8`43V9s;VM6@no^1j(uPI(hCcdazr*aB z7dQ4NcOT4|Zd|osO{vR5`G&5r!zwKXlj=-6WBq*^Tx8nMtxmtW@tdff?N>#$tVtRP zf4^L5e-rVWYi{^?G0WvaY&8lSSQpMJ-MeQ;TwIxKwYo)Fci-oUUf;IrH#a{$z^=fc z5Zd`n`@kkALzirYLr!}aPCm=_+y3g`TfZECG`Q%^o^bwoL6VtQ;3gd)EB>4FlEC9USUC*kqU3+oTthP3{5cl_mj1l`1?$$~!W?B?wW#07R)v| z>R<6!XZGcITO3yO;ZEMF)mbZ6uXNWu>XOxyQp9xsdh3BFkEUMM$&PMjoMpXeMf-)j zVu?3vf>nRNT*-f9=Q~m1gsx|Ao+{ti=6cOk^eP=}V%yg_Xu7^%%YCEo?1L8! zUXebl=QlpD)S0oUEwgU}yGTy#Kc;D$0#7Y6HdtzXeQ%JF z^w!YQC7+j?DbJjzF-cNjEpvXf^g>>@<)1rzVTJhb9lc}-91%!HDv$3C~x*B;rV zb4YV%#Z#Wsx30~S_;}1xC)&`W?D&#*tqgS+LyoP!xuL|msbJM}fv=`tHBKkhBuz2x z-ZrDLw&uz7MLONj=hvCOa_D|`>1&_I=7p_Kxvz;IyHF&EA%i7s(*QG=cM!>``jw`Nw1xHVe(a_M&raK7lINi)^#}*%bslLC|LHL zBU>!rZQ+ZZh4YqvzQ*>wl|`iWv&R;zc?}JROj*|)(2(?wjA&Gy)1%x{BrNpcjqOjn z1r`5ZhF^5_`KBP|qTswCD}=*|y?*k`!l0QVx5M|!OyQg1XT5$N+tLW5bk&Z6RmY#q zT`gqVuitX|`TE{vUrXL6zIy%2bD26*&4M=7;;=+bX#uPCb5-a1PCBPL^I}F>`hCeg zM>l83X+|8DeI1v0eauly1M9E>cyZ}dx~bA(@yW%$6)V9terk~qu5=eDkQ=~}TfQH|@x-pY@S zT`M-6>prO7BsJ;5?*>uR(9$QzHY+Ub<4AetbKY>{lwWsNRlGm>y*V|bW#zJ6Z8>(% z#m?N1Pa0l&sd77Pe~;6~{g0E={LJ5*OUUd^{?O>6%lti0Y{9MLrfyAcTb4b)#yUyT zc+=MIZ3P>W&Cjpdr3gr>~iu-lW9ta$(su z1uiAIOLCI(A8ZTv?%7lR!uRCPNXwhG23&^^Z}^+?-SOnk$jbK@WX*((-0)z^6FHG>zbxfDT5d`tvm!LN6XfO#Lx8mG3Nrm7aY1 z(?7fnuE)IG-7=p3;Vp@=i!1WK$u--#Ji7bXb-VQ6eT!VBr>}jlvF}^+lWANF?jO+A zfBugtwQ;>|Ro?vLTsH9rqGqw?=P%sbb;-iOHEVazS7x{O@;g3k+_>oL+SVNhnszI1 z-(g(SEy=s~;){iMeseF%Y3o{~dLZX*&xiX#JUe`TbDybKI`mC6{@C~0Y3HNmf3%pL ze!lkj_u6gie{7m4+O_Jv{I+BAlJXa#Z0=9Zu~U98Um3jV=awgXYgj^_?cI~|`Q?Kc zwF}Jg41N+`JA$sMlr%7C>+wbTRu|PM6nQx0zpzWu^GA0>w6UjJBLk$E_K z&U<@7U1v>ky9YnxmZTNug%#z6)zyBuuk!wx%KK+c$)9UiOxk-uY)WE%ql=LK#P|Fw z7Tqm(eUQ>I&-1}C(GQI8o}a(+qd~-ECdbYizS|p>R9g;w^q&9mQrmT|jZLmgCQaSc z^x;m1oBF&C_jBS$jE0b8mm&U#6uCmhGD6W7nE`J5cng zOV%98uWLIFT(Zo*as4Bs>D8?!S7x3$dE*GjOcFy=UXd-Y8<2& zh3VhvP?+e_%@Or`&Yl{E;~P)zT6Sc=QkZM%o>|{!E^FHNJdEA%%)@sta;F6Ote@Zc zx=LsE=5-DHYhpf_?DpT&9kikN?dmu7{{^Q7BF#z;Y8TjsyO_w!|5w$||6`>zYwz;<-lq}|RxT|R^FJHc zoqO}*VQW44^s9$>)!yx{le)cehjrEMDFq#gjo*0eHkAJC?#SpXeZP3&I>FPMB<4z_ z-97ZyVq0@n`TzZ0shaz?{EQCtSg`f{(FwdsK?T`jxqNoB4d=YIZcCkcfQ7ZZJ)gBy zskEbQ>E`P*W^V3byYlFA<=+y=6I<+nxIQNlBpfLBcZcZuzzE9~Io@SlKs+S2km} zu*rWT$DoYv-XEQVSn%^1Q1z zcQ@NX4XuV%6=xrFKYZ0Hy?Ca@#ohDUcDbotO3sK6p1LCS=bh4sQ;q_9F_w;6=8js{ z2hU_~X53NwolSpT_1Xm9_1w_RR$w$F6El&RK+9i^#D=A8Q~|2$^@Me$|D zhNroWxh>6|&z(-N7IWWi$9rQ%q*Xbu#=*{;JbkmbZ+#c>m&^4>!=pQ?$zIN`S1x7T z+i|D%^PMSOFP`$oo9hHFon@?|_Qx(Ja%<>UHhBiMOUVzXu6R86_t8yjjt3mgcmL6l zs+pDj`oxn!eqF+t?d;G3d>{N;9dOzmDF%S^kVUF54MI`)j@{a&Lif*n3ZQ#d71Ksc6(*G;mtcmI?dDr{NIZ^JV z$Md+8&n|!Zmi}L0>DN-O@Wk(PUTOWJbTzHg}+83A)vF8}g* z%b~a}hyEX49HismTj(#zJ)1XWciF>fCmy^|TCB>EEuQzVWc|&_GJ2nkQvH0{r=`yE zkN-XAjcvoVeT6rx_+9Qthb218P7#zhcr9=9_EPO`WrbtLi?@h~=g&#-eEmw}r0l1~ zHSg7VW#r)8K=VEsxcb+`(fj3Gj&3$ou(IaNpGL=8st$aOtZDpF%jupMt zHxOFCbwlyf@Q=3hr{>Pyz;r$%^|o5g`Sj7xsPW z1^iREi;DLTbt<;}Wp$Jbh&-5K z`m8r**$PdO9R|0TO%b_N`9bAJL*T}pF@0Xqi8s0KmkSE^mArj;_3V0fuHzXVvRA}9 z^dq)8W%IACofBcxCb*~|xp?I&oke;@2HniUsnTzk=j<>knD+4shopJywSA1rM}G9~ z`}SgQF`vPas$0wVEtD($aY!zZYhK(YTM2oW(5nmAuLzlV*XYpa)z1IBHZ9n;tk1`; z_3e!-SFbS|*ctkHAI@>%KK zRCZC!rKL~%c+(oTM1z)&4P_H=zWRM{qWOG3o3AKVzQedkI8`&v|Im7N=&nC8K$2-$+bL;t+ zidcu$upaM9j5bUE<#Xz*_U!$_XQmjg`MR}t$!B3z$?YGnc$icRu^J>L@#wPlE4+W| zy5;=({yhi7&FaN=JbB^ZQeztCT`eNTV z%lfYojJK~J`laxNFZDsnc}Jbohc=z{l9t%#Sqd6L;qBl!oo?ToY#GsL{-*nUYxZ$v zX@z|ccFJkJf95hlgGHQY#)88v%vuamZw~D8eDX8v<6@U18|UrKiP>{`N>z;Y(OIq0 z8>R@07>K-^$RHn*c;bHw%ZmrM4mInZKDJG!S&-%YWY2XoJ0>!o-c)eU_DArPru$XT z$`^6V9bxM2izrz2eFCGtPU|M-8U@osE?IM?U#q)Zvd%}MeAjn{Q$afOv+tcNdvZx# zAwYC}wUMHTV9ndYHRbxgyk~osyMM6tE!{J1YO#4zG@HD|?fRCGyg4CdP1l}TDm?3* zA7A&Ybdk)naI^Y${{Fu`{r>yTa%b-si(LKfTIfQh2PO9v{l3d4ojr86@w&9yqMqAR zi!VRfW8!z_S-|ym9P$x%<+UyRccgdodR5e&z25PG(K~X^E9*0>XYUu*Tr};NrN)Cx zy_@+1T<)uWS$k%8h)N0f;@tZSc^U)4@1A&2!4}}N#NGLCpH)fS_K0a;C06}d&L+J< zS0{SreccnwGc#wMJ@G?8SXg+^mUq$(N#9p)pLy9zUR3XTm((iZ(wN<)M;*5Ir}i{i zCB~aX{Vus{mAgfLL*hq2JIlX%@%KLD3RqNpOrEmz#*KZG=QS!UeV!e5=5B|vl~L4{ zLs2dk@rdoNUU<^YehBZNbCEE1C`RC4?#-9CDv@a;fV3G+)NU z`M19O($KxtD5`foVXIG_Ys!zgL9W-QbIWtw?tFJXVt+<7qx=O{ZVist;<=AqzNf2x zpTfR?mob+27qERc-#X&MzzWY<%xN=}eFJxwC8* ziIT6`o#g$GIBY&D$|9!qq0cvRx|Zel7GI_taRPqdWFBNk*G(_y`&;}Z`qwRYfqRx; z&e!CgeqXfdxkIO_uCU#N>3^TwPw~;yU6~Vf>E@C@Unc+8d>P|qv~!B(IW^U(zFubY zr~Q3y-;;At_%X9kOWCwk*OmJMuC`qjPSka**t_%ElA^gj*F=_x+bnXL%_YwZot>+cr?dIj(@4Gf@b2#7ZjCQ9Km8csR_Av`Soa_Am zME3bVa#6o`>^uGOpY0JLzMC~%j9ST8Lyl%e8YRn4+w?-p!gtT1#DphS(>BexXfV6x zTI$g?z7~lq&;B}kyW;x?`^7p(Pru%G^d9&71kI!8o~{=xeq=H2@X33BISyq<*XwtQ zy0jeImAT~8V-^n+hQ%iZuk)we)js{D)6+ zTC>l)Jgl6t;M>;z=hYn&o@NiX35T9~<#0Ij?PJ!0+Y|5k-`Mh^QYW?W;V;i?`ghuL zXJ6_M2yao`AIQtLuQrEi%eTcVPF$~B(wBSs*v7{e+k``}w?FUxt~=wxyCb?Sq zY008;d-bZ`=h9Bb`@S7C`nn`i-}jt<^6^~0m>T)}-v!o28kRGkYKl1Y@ZAsJfDe~$ z5(`1mn!-=2TFHALj+)iiIr z*?pj?abb2y_?5uPE0+JSTHlx@e_Mi8`@nU%x!e7Xrb#ij^m4~1Twl5U=c{G+-5SoH z+uxt6ZMJp4!~45@%x{0&t$voLd5ry?`SIYbLd88Rc~|AHIDED$C;AhYBHN3dbu2-> zef^($bN9D*Y$*Dcb}r8H(5#=)7B`C-(r;~f#$NVKAX+ zCszH8sgQJ%{Lnb%$=x|AMVdc<$JQ&JJTv3X+aFV(e44ppnaT9?C+_vddm0(5)$f0; zuQJ*A`xIXJ4>kUqe)cTcB)sYSo%KHK2md`PurE@ZK56gsI@OhLTmqtVJ~XPIlWzNY zkjZQT*L^mp+*7+ko|L;)IPUz|xOn=vO&e>|r(EFbofc_0tM{$7WmRVWN!wIKhxTOEMOX1c}Ik!#A|zsyWg7rG`z zDXnc@5*i_pdxGhd3Ui|AvTKJvpWfd&`+LOoZF6VHDyJQfFwd9HyZ8L()B8Oi7+2r< z;b1m@;>Rx?e;&`Ea}-YkxKGS3Kjde0|{lop$~`r4RCd95b#zvGJXM z)Q_`Ya$Eo2^7pzWn}m%f%1!P(Gvm))_y6mcY!aSyrtkFqx-b7djFR{HKcBSe`J3I1 zx;vuTY8WP4cU>s@7&wD>^S*D3FY!%evP-zls=4eOrGl zXsvMV*)!ev$AJr;Zfb2Oc4*q%=ibIAZKLr1=?iJI>X~b2v_5~ja`k%G+M-{vfn4(< z{}oM4c-g_w>J%BaP(xE-Uj6Sc>o@AS*48RZns*9s&s>wwl8}*S z?=M)mZ{kZ|-H2&NADoD7b8kDb^sZAv(T>-`X1bMpx^~Og%W%ZJRI(U z`}_aRYpQ?CKhEaAe!BS0tGq{|e3Isp5136uZkF0y-6MB;(~DijlU!2g+*S_XsM9^I zZD-15%doSzvOX~C&fG>o54LV0ZpWf$r$MeCBjR~Bb_wW64 zpP0PL^>WC4pHs54TljevE@S6d)gb?fdDn*PEFxO7{kzxK)_uF#|MS~7`-9iz_S^l` zKk~?ITB>37t(vecd4@axEeQK_VySIT)F+vJ-z>{N8~ELM_U%My)~am5#)}&T_snrm zT{CTZSUvaJ+Hd9ikAKP3y|FFv;IVDuo=3C-?JM8^7dyS}$J^)i4m;w{T+TbfCU{}q zhclP-C2JH6_O|aTOSV?C2;KJR*#pt6Raq<7=Q-6R9$j-b?U@d{ZqxJKbM_V*L`-5U zK9L?9Vl`bz#b!=3G~cL%EW2up~b-o(2@fJJ%UH=aAoZ27*|omtkZpA=~(o+p!j z_|RO7vNas?9EPmI$D$o?{AXeL;plec4{xLU?Xr%Wg-L!kt5o?8_Bio2Y8Djfus^^5 z?GMM4N89KBXMFUUiF=(K&mQp$^PbII8sBxmP4Mi*b$1=_-C*cHWz=MDW_W7#>wW!e zeRsuoKlAvWr{le`Xx+`l1q)s?yEyyq`S-E4;B&CPM8~mm%bK6g%lxwwbxd1c|GIMI zRitgYw4r)m#@Wu(^Nl9TE6XP(DhGxZ%yrGd66{_w{QDzxZmPS`JY!m>_09w zUGHuX^ZUyK-DoA5xAzWTd}o`Jb6=2UnH%2*pE!-jOHcmPoYQi4-?{RSwc@&V+RyWx zBApf~9lQHcI)O7j>bF(HL3SNgnYTAjZ{POUFsjDy>-+SuU}-Mb>uZDgLtGZ}Ufjp0 zrRsa{#5Uhcw+?J&3(Z_H_t@RS&(aevI$&28v3S1)H=)l>^Z&JyYBRinAC?)|0t-4x4F0fJh!>NNny>bty3?D^KaUg zD}8*I{n5<2q#A|R+?z3b?i`%9Jg$q)sQA{L6T0(nTHIdKalrn?j*>3l?zn`jZ*-p? zW}lOAUy*5B>JudspKZzR1$v$XALeeH+)i#FY_ZZ1FF%)euw_RJVBHKXKBuir%TuhG6&`b~G{i5^e2=|b1b zPj~XKV5reM#J=d)!>08sIqqi*-wnNY-`wWP*6y=!)9MpD7P*N9n9RN%|0Ll0x=Gci z!t56`pVeMBU-|vh8}%P+W9<81KfhW3vG!9O-}Uo}H^Wjy7yA5YNLUnqx^2zurR6Vp z%FZ16dZu{pj-x*t59`d^CU%oQr!M@E^-Mdaw7_VltNYxO;%AwE`zw0?<~L@(^7m?Mc1lWzDzSdTm zGAT0b?47g^jPbv7vg+rV^ZnsC9kyrJyYe4PUO$hRcJ#AfDHqdM^?yG77rMRi$6xXP*$rtkHuVID zf1laAX5YepH&f#|wU+k0w7u|?aa(e-HP=&(b^PA~qeI=DON}3KpN`%ZAh`O##$NL| z-#^dUyV1TXaohXMB1!S7XL`72e9}H%=5S`6jW7~1@ zL+R7%PU<-8pMUs|KVzodb*hc#4pVvD_0xAFRCM`AoIbKDP1qNm;Z}gpxIm=*0Mi%(SahJ4P74@7p~lPv!pM{#FXW$ zg%fKK@x6 zvF*{Z1bb7_uUC#q?1dBf>vpQRQXy!i0PX5ITsmG32#PdW;F8C5w^wB%h$h6zq=>hvgoDooM)MrhA^1i>-eE(bL0wy> z-s^Imku)P4r${gG?tZlBw4eecQY*LCwN z9vnOR#-dRDT=@0BcJk$WPTs1#?Rz9duSI3kOvm1a9}jM96nbEN#=0{u7aAU*B%S>o3tp^W>&Z ze6pZNt^J9+pqhb_ebxK(sV0^x$|n_>pUX$q{Ec;#Uu@HkL z1}R(5(8K2nf2mt zY(KarAJ2`^Z%_ZgXsxv1hN^Mri3Q=V8*@bf(X+KRVKEo&3)>bxQHa#< zeE#(8>5Cf*WM*sClMlXZJtf#LV>Kr8`}@H}A;GJ-D}bcgm#7$veK( z^gBD z9A?X%bv+^4Z13XbE7$lHWIy4WmU{7)LH`$*zNeSBKWN$TtIgH==g)=m$v3;Ehu62) z?%jW6o6fx0FQrd-s!@3-xg+=PkaCCiBYBSyl#opPg(M| zyneoTho9!@7he}hI4WE!nD>6t_fJ1=J-u-?*2eaGWzOk^pTBvU=~UcX@?q*hmcI%Y zWwRVk8@>9ukyE2VBro8^17wXrVKJEL>aIaWUTrkLNEE7PL4C0SJVU)-1&7yETLYmLKinU_B$ zP6z7D-YMu}apk+>qJ>sr|9?2`NIltIaqIZkBALD41dY?T7)_Eoa=J3)=&Q)9n{*Gb z*Z9TUJ>6pMWn}FYeOk#yyJ~&hquJ8`Ee^1=#NGe5d{5~Q^*^tU*nfJ|b-npbyTSfE z)rW20mGADhytH{XZ+F?FOnG~agiy1HKBec&Pk7F%aP6tR``*Ri{HB@G8+Drbd3xgA zBM+Tk?IYip8hInBc*}F)xcX=Q%&uGJTl#VbXjHME_gmSq@An&iCeggCmPOwKGi8 zxqEoIgfFiWhyVGy#{P4Ede-Ovau#@a`CR!1nQq=({es*_i&n}P)P`-fYc{sC^0Sye z`RvE$H}xO81#901hKGBbO-=uO=sJ(gdYw;^(`U%KUjWrRdu9J~3MRTf4LcWSf8v$p z`GPg+`hLZqCqH8L%sIa3xtI9uc}DxQ6E$c5)b;MLRJ)fk`<|cc8ZE8&`!C!*_^efb zV_DhE4~(228dprZWwgIogzerl^Zq><>f2(^{bFq9Uy`b1t7iZ2MZ1xap~i0Od(%ob z>^GV1?`<`E%3ay~(gc zv!*_oaVcyqz;|IYotk?GcKStrY&^98Q7ud2pU_S36E1yC^}0WM|MBYYn-U+MJMrMh zt)tiTzC4=4%UxcyryMjyR^_-z^ZC{s*L!Ct7H^h$^>4zS*~;&qSzP(6Xld?!?=0(& z26@*LPglxw#OR(5O!=g_Zu#yF$;&2*9q7DW(my95@9HHE`HnD-DX;%BOQjxOxcYr! zWY@G^i+(ZQe!zVF{nv}P4D1i_E{OTcoH#RFVoOG_{ezYt4dE$knkKe?pQ34Fel&02 z@|$M=x1UIl3EP^d`b?$6k`u(3UkDQYaQGMFsZM^D+vefttJ?g}?LVu%dcS;$9REMn ziqx;)e?Iwhd(FJBJ||x{*DY!B3-y%#8nv z7rhVOxASNJkDmwUOUyASh}xP_SNB1^ruegb;iC7KSG;mN)ygk&y^GiX&g6-mjz2H{ zW)qh1nzmYaGxu+9 zIdOT8_=>5gW~fY+-G1W9<&3qKxAu4E=lxx*u+HEs^Sbx5b}_$AKJL5Y-LJ}Kevb)H zIqI!^njR%Q0%_)CH@*4OfA}kDN=hz*7 z8)MG$!{OfPpy2T4UoW1Vca7}IJ-yFm$4gTaxn*A49!$|{s!hH1eEIKxLZ`z_O#PG} zt9OQ5n3&GmZteP`LEGl)o_Tkt*B#q(ER#)sL+(31-h%uOdM`U=v?hCZFOTgjk*>dg z-A>k=pKaY%Bjv9wYg>D}&seX#Z}Z{$o_%laAN|z3S<}{6{o5l%x`v^J>-ZJ^Gpl17 zb8p6Y&Re`m?Ff5Ln%Nm;+lfzC9_zJ8EPeBf^>*d!5B?iuj&^JBJ9_Y6eDZCv=;yUl zPgR(HjA(jXdu+zh|rtQoH}A`T4IIe_310A89)* z-6Z_zr(XV>|AP1V+`c*<_xBWOO?%rb?a{JOl8yh)h79$2?=PB`^hC5CUVE`FYxV03 zQ4*4pYV!+MZpp4pJi7g3?R4dE`;;_q?QO{s8?tWktf||NLIN>vrqrKfbf} zu;br`2fGg$d+&=0v42p!qgveW%)kFPtIt2TSeG6D`{wT5>1>h;2j(zKxO7RfZ1(7! zlp5XXlYpR>L>#e2~vjb}arXGD}ap82FCB(?9o z&%b*&PnBC$64gB|PHtdN;aDMF@$j>cUd4x7 zV$XVFI#qSgZIey>x1-wQ#>s#~f@S`PF3KG$WV&6n?++u7h=Gd~(^}KMw-ZXdJSbADN(mHef>=MN*{4F&PCjLAx{NCW}kxSDfu78oXv-sm4=3lR~ zhS4^7z+jv!b^f)IaL_F{f%@_Xd+oO->UI^8P%q?%Malzf5%xj7wkCESA^s zEm-}YD`G>|vE;Pa35O0%>iWAjx-#ixzmLMMU9&Hm3OjP>mCXIo-pJu2D)3{XSxcRr zz`I=Gm3moPuXo%nXJz@4a!Ydd5s@SEZ~w2}mh-y1{Za0J_Dt?MExmKMtX#cX`SmhM z>k_8zw|M1$96R&AvEi%xf1kfcBqPo-*gXg--t~3KL+1Dz!%vU3?|+UpK5?zsSJXJoE*+!g-Rcs{Dn{`JDcuN672 z7spq&@yC=$8vVPSkz2#by|aTqazPH~$l~p+G(G5G#g};?eeCB zImVBl`kvOyiVC{&vq|9zbLP6|(HkdEYD&LUsh)Z9R`HC$m70q397z*H3jcDdzS;fF zFo?@7q{qEICLp3i0QF**Zhp7;1ct8Dq6XRG-wT14}MPpe6(t##r!D15r^NcQb` zGj@R;d$v7Jofq>>xn+XRtUa@qP4i7`UGnes)ermsvG|zZEz-HXFLi5^|Yc8&r_%sl1wmn!y2 zNA;e*ar1v!!MzvkL6e%MFJ7~Vr}}rHv)Oc?-SYM|%_s7;tTr?T-wgEoajS1Sue?N% zx1Gmi4@(|Nqn4D+rj&cnf}UA4E}s!(EPi~W<>l@Df~AYk)HojZ-4~qBljWG1dDR&&(rFPF1SRowUQ`c72{Ux7xZR+&1UR z{||f<(jkS?iKs^2U^pv*c&*klD|+=CR}#tSlOAHgIB*5hfE0%3XN+2 zBsy8^S->P6(}Y7xFI7Bm ztTZ@&d0C|7wjaKKpBFuO#+Sw$+m(8A&ifxNJCnm&RQJl3`zyWf_t1L~ac=r~&c)G} zCy9C8J|nqLsQ1`3v(4`M$`4gGE^Xe}()o=4SN!^rhDl=I=5PDMr1-G<`ycIF!5=j( zN_TT+wl<*!#?x{o7CiM>!aKM2ZOPY?4QaP7xA7-j2|X)*rg%Be z%;XuLo}SfUO)a}ReLsh^+S)_mcC7m6C*Hm-VVI+G_h#9iCij)0N4Lyk3+fD-!evpE ztDd>PyJVmG6@G`;OU2}7{XX2mpK(pEZesbY`t$DY|IeJ#cRr{5^S+-*d zAOF1j=WZPnKjg4w`o*ilf=&fHzn`(^aM5qQ&dB0;;k~1R@5@#dx$j+Hn73aJXLxb0 z#9)!p7O@{M4#aQGjn2L88b`!P~PBL?T-6myckfXHyR^Ek+7f;TT z^jB<2IQ;SYOshgRBgGxJ$}axkzo969V)xDn`wu_GmEZHZJpRS1m)bY`CzFYB_VkT! zuiUQ5zGu9^ba#~fp)!_o{`h0M@Anv@dYG21;@v^#7y9wvMDe8Kj z{yEviFOIpTCgDbikfOYV{g!!`o-o)I{Lezr z`8ey*S@9JNr^R-}&D%43>B`dN6I`E6w&tn4Pb=JO6BaQ~ymX&}SI`pOlOmV4u!?V( ztoD`dabUG!anHhQM*`|?7y=v$zcRPyNxq){P_+CN`?^vIJA+NHvM=+0$)C4$tHOuo zy1xzr0xs1O8p&-TS3cQ1I@2h>A>qhhkxh9kG<_$Q1o^DbT`-|E(%@0uVtI*#b-^Kj z5A-bTzES$E_TB7%CYE?S)ggFcif||bJrg!c3c0xruF#rJuM=WS|^8Hyt7NSO1StvG?Rxs!dm$xM8EP*v+P! zVIMwheQR^)L(U2I9@&7FtSMYPM@ot-_GSNYcrqpJ#nl6fZU3hEZmG~%d%VwioOoS{KgD-*8D_ z{oei0E*^XSk$HNI;^~?D)PkOJ7S+i|Id{hTaZcr#{xxFSS>EqFs-l{C-(s9RPIjEy zm{L{jqc!{bdG>d5yJwVt`_GrjJ?*;vk%P0PH|m_+lbEgHJ#BJ9kj$1%w*?3JnV_gRI3g23L(f2!r;emKkR_`Unh&JT)# zd-AyTB$|0LHzpj?de$F*bmQsjo{e*#UU(MoqVV$VYs39JWBuII)no6*%Iw-ScS`W7 zC0&+x_Ea`M6n!iaY1_E%TXauB&x_DMN>7;YNB-3J$ZXxl$LhEJz4_slj6Yb9KGMvd zaHz{O{PRv-3r=Zm#R+{6nV+Uk4VfX_%V{2}v08I6YL(t$}=_VtU28oS?_|G3ieht2)R6~FVA@kh3(=IWKsPx-du>B1xT zl{i%Y#XUHdTjw2>mfiK==+d9&b^$lnbWiDA&9rN}rUI9WW|$VOe8{}8PGQm)x9wYB zZqU$Ky5aw(x2Y`+@7Mg9{^R7j@CPNw>mJ+6HH33S*rfWt(H36O@b~$)ub&%RJ}SQO z*?#fr)q}5osrM{gG~vgo=Le3ijo6lu^i^j|+u`fm7c%AkaEM>$UcK-1?CScX$-Uq4AJ*PH|K&bwzg|_}cfLQ3yz}=QyVQAK>645^ zmaj=ywP?YIM`nDnw~oCj^mdl*)bwfX-PjZ;X|qY?w9G8M^~b+{{&6Zf>8npm?vDd+ z_i1}bPxJdXEwV=^bK#P+54)`^w>+#A?#MGYURA~9I{?W^YuM*C!AT4yQKMaM9`z1j9;&Q-dJ7D_KN+< z^C!%XGHrhkEZ(zeQcQGX>*C(Y%eUlwitKNh?3C?VT`iqGeNV%suB^b*FSjxKtd2f# z(Yty>`!(L*?fKt+{%m+~=I3M+pFR8rmJeDU{;f&4bD_#>vS=amx{~PPd0z~X4=t@L?h|m8sGw=1zh1=&uEWf=e;l=+Us0es*0p?cW!%NT><>OHoqNYNjnhqKvWxQmAu zOcG-~A92{qbGG(R;VTAWr+-TQY}oQ3;pRa8zpH(mJRq6X}&6Y=VpWXlXcIWwmFQ?vBxavyD ze`s!aRvbOkyiV1L1C%oNzx|b}@m}l0_SpSTHXaifa5AbtWNR}2c9%R?beD1bf)bA- zy;rVJ5_39L@l#Y$zTw}`CJo>JmueI?HJp9&YlE;@*(Damr6R}k-aNX^y-)seWi^95 z2a~*d>XUzY0SEfh{x7IFNHhv&6Fk1^OhT5_H#@x_}g@| z$JgV{65n+b79QW(#?fNQpzj@7$@=Y_u)Ly<kyC{?Si4OY^fk?=;TfU!W-Z zsWHm*Bm-yZyi2E4%&QOm&Y}dZp%NCeC)*CCcw*f7wn`jWGH-TPE{%SE^^) z^>vHZtZGVG)S?_-#yHDes;fGW&5yoZAC#K3-&FB5#MXX?cW@TzO?6l_ygu+Z&b2g z`>oG2`NeoT@!1BqNq(Mtrbli$*~FKAspQTNo(=K0|8Y4Tx~yI2bTF9N@1SDNZKt0P zL~F!+qlCZJAM*P7$4uw=AwLN|jU31D6YOC=RcAiPD}G>}?>wE?TO!<&dF{g+XXpN{ zSzvy9t?m7%YisvEyVxfG=$Bsf`F)^qP&5%ncS`&&6SVCAF#@? z>K|YE&bCLwaMC*;>%4=DUBV1k=IAXwX_P#ruv&lSg4sR`+czFocVmF%03nSA@qc>V+9X)%!!v3{ME zLG8@feJ*PS*gZa#u8`}v%EmGJ8P}n~`_VDNV+{_mnXYk)S6|eH* z_iu+U8O{UmkgQhaZ|-hrj5_ECgIG6&O3W*oBO`;h51$SD6-s+x@K7Vi6_UsV5{vD<}lOc zQGOEIGxT>!Nd9e@_;iNlV;S>5V!JNOHl%s|bSj(wdjfk}9eYEqxOtMgN^rK=rQ}%S z&#ZX|o^y`$#A9Zo5=JKPd>26Z<=Ci!tPB)?u3Fl|+j@RVeAe&hH5s%MziOyKAF z)aYnuaDtuf=K%$Ii6_j>H3=g@@c;jZ%#)1Qsz->t&(AQddl3@U8N_hxn%}}bOC~wY zyz=Kp=ixKe38Llv@nJf43(oYN-q#^;)`X#Opm?iH{etBj8 ztslmB?^S!}+wJpPUcA>T{KShG#l@F*#_j$2!wMwvKkM=N68~kv>D)6PePX<>|A1Am zUH@&$!In_9bL}+;_-)`FH>TrW6E;jf`j|QB)DJ&FMR5T`ZH0fo4?I7z{^u%oh9l2^ zJz#ZqnDXvEmr1hgzuEEF)b%m57ps~~b>*kLY0JWdySU@#ExXp+#$QpX z6a6LsiPyxR4O>)iI?dYlfT`@#q6bgU?w`12=M2kZ0oh3$8vESr3SL}OOF6;5=zdUC z!P>{*F~7Rn8i$shO-|X40xUNk{(8vnxFh1_hqLSqYtDat{a2h{QzgiY$v)v=hpEUW zz029skJheQe%&nK#4a6)jmJJPYIdJzU$SL}VTs`Gb9D!5FV9zcsKTqgWwOc~mG8dw zU9su*3CAwDo>JC=C4+v! zM<(&5O!xAB>GJDVOglWiY+>iL-%1}F9e$c@&r3YmQZ3-Lq3opho_(LE&fwp(@3W{} z{3oFx4>7+e*W%aHCWyXz^nr2h8LsEr{R$r@UUG_h<|oj=^RwZa)LN5mxvd)=YAfv) zgg7h^of$LB<g*+j3OWDW zHD?MOy7TUJ((A63on)~P;W-uh(fL*}i{S)Nl>Jw#;IiTMdvbahTGf2@*wE|uRf>4rz} zy7D_I-@kr8@#TrYO{b{pea9O=N6)mbn|ZTr52&X$K~X;7-~D{+e;JR9e>A$UoAA^p zKG0p>x~hkGmgVR&Q8WVy(PtSz@Hw zs)T~Iea>6|{r33b_xXKg#Y6teglpwDiXS>Js<yg?BUO$9F0%f?(`zNSKz(Og6M0-en|v(H}n{Nt26 zm!!VdvOCub`=0+~<*Jjr|J~x=zS)`1Vu{|fy=~QJ+7?-Is<-OuHf@;oiOKv~^Rz7m z`=sO*_Bi|GT5ir;$=E;b@ESpH4-3zn(|nUf?du+EOk;^k)NK7bJy&0ur6&F9{v-bH z>{-RE3_8+2PBHz_C_lgH?{lBC`PO1#PD;*p7jA<4W(8|loFt;E9y|)ui8k0+B^Gt~ z;p^MKexmive(KHk``?S)Gjp~}Sn%v1_w5LSk8*zwEPn9x=aOV~<@Ww1+PC{=f7jT& zYDUn`hLA-fOPL`3Gqty6#*qHm^m8B9?wBW`-uICClAuTkTfa_cQ2VmeuM7X$?E5q$z*acXd6mw=w_ik; z@OrD)YCmEY^SULoZ^vYJ>3QajFUpF~u&+aO%@}zU6+YC42(-PM!0(~?p_X4!CFAUb zQ&xHD>loVjuT1sf`+1;o0)NfJfImiuxPCgET9)@BpeS$F#=~kwo6mk|MCp`Goe-0| z-=T8TB%|H4E~on|eaiEzzj*Wn|I1bK+fumW8dv`eE=j+2F#|{MZ1QPC`4#Ku_20dH zS$h9T@rTS_U&HO6PM!MX7MG69Uj{E$kIaeZt5oKwSUq7Dn3tapTMLjqeUHHB#>=_v zGs3nvES~C_J@~S7vWed=c?M10WBjYtU$)dJT;X5Q!9U05P*eVzXYT}E zA2Uncp0==#L1*oT+}SJab8eeCJ~-NNh_71YV)uR{`4gg>cA4K^8h`gg@ZF2m(fR*U z=AL`>-(mz3_kKEtGrjMqd6W#Qy?DkuwkBsh*Kx;UQK0M-+Qd?_QX!mN4 z7XSJ3oAq_t+-hr%Y!tRAYr6L?>0{%Lf9B#FfAIWu_%naUWL1%Ve#mT+nht+(sp$Px zjuF;pW^b6o{Cs<(o{_x4>ga?3-xIvw=iP01{j_keP4)S_1rMJ3EXwj`vRz=K&n3^X zc=;CAn@+Q&^R&wjz3^g~v&1#~eWIJ%G6iP`LCu`56YM63n*Lt5|7UHd;AB@|`i%MS z_1eN84idIoxtuEs)a3*A8J*17afs<-c31d3ZqEnWV!d?}oX$O6m)NT^M}$-TXis9d z#*-Ma-a3OT{3jkweg2F=B`E5Q%*GjSm*0E%Z}-0Jdp1}2Rpy9%zyCFM+x)8bnaX1A zH48i%9{K%kXyrPvQC8>TfB$HwM>qJi7;e8(|8(>r^F}d;;tz-Xr7WG>G3UUUu)}to7&E54~FP@(pY@$s0VI)W`o|tE~R#Czs?ETN5rmxoR@^?v?m? z|2NnF`TT)#t*F;bp*!JqXV_a*KTOS^WR}Sx71gf2Tr@rQZ;e9N^ZB#+XMC7-^6Nwo zs~eo2>n1q9Y+#E@AT(*t?1Nrh>#CQ(@Yz0*|58OAZ~ri4yO z%(wr?7{oQrXLr4WT}IvE9|xASs_FvI63Ny=h zOtE!*kh$#2nS-7Yb6#er9l20vx8d)v+bPwbJ8~2k|2?pHXQ}aL^>qjMnf&hL94b1* zV#@F|J7htGL7`}r_PraQwX((ccdWPhls9d1>~7C#swaNeX7H-|S*kAT3Or|`lUb}< zKIu}I$o1X&NuJ$;p~)w|Jo8x}*;xn^^3|>huJ5@SK zX3qxMmbABz#1H?DKl-cD=K^nIgTa-uuUidwm9b6Ra)GNx{}D5zmd|%a(CpIQ15bPJ z{s+%4{gjjT+n45Le0oaSWbNk@OT2tC+tU8;T&pu0^~*!li#OYd6=y9?{(S2+Ki)%kR@rsp(Cy9FYw_UC8z z{q@ki*bvWgBAvVAUe5G~%!+=ji{%UU+SENzUaFEg+ci}|{zDTJc>VRB1CL*vl|3W1 zOXTz>i~EIhb|!~SD467CFEB4n|HHc{%-6ynGEa01iHe9aO#i{PSbhQ@XjUmvedE&R zV)Hs9b70x36qhmDP^?TbCDRoc+-FjC=ORoRd!!H#1rkRC0S|o_f1Vzh2PHC#rS5 z4Od*_;_cfFlWutI+U#Z@kQHjUc3ES{qA3onGJCg8-g4h}*M+k`9!|c<6{WxJ!-YBN zzr`0H7u$cr`t1JnzZ>m0C!IRHz|x2S-iSr5YQLnfA-7H&Lixy7=g&N^Ef2Y~Bx@>rOQkfsE(z8~d1I#Y<}*NZu(2=s91J&?N#6F`dv^OXJLZhC?R70rJ<@pNPv!o%nYQIa z%=}DevAQVxg6BnlBKtYwT;>NYusNlzed2COrp#~NDM1mSsU>H-1sU1-k2_QK7j0eE z#X4ut*7=f$r7da-#lKzHwebIkvv&IO8*)z0{Hz{n^YfpDvz+~wc}pfUCB)nnIWbxB4~>B)Y!tPw?I8Z?9Eu@2ELYrW3QjLB2x9Vt=n|@H^we zdtFw`+l0-x=cPSd5_)5r^C7=Wm+wZe`PsDMow?WS7wZ@={+C%K+5GQjlhP-~&(Hr| zTdOmt#Q(;eSI?OPnRXXkvVD_(x9WIyR|$ib-ud1%h2!(4eXU5mU*LcGSHU%f`|hc$sEnjgc$oATNRz|C9{585Y4##Q|PX5RbKC$zTZINfpyz^2UTb#}% zpZt-}|A0BZxh~<`ilsT08~fPb|EpUe>(TOGz4F7m_nV&{u}bTYimLg`urTb(rW|AE z1nWe(1i2uuoZDyQA{N#usBpVJVpjZbS&%24Egk>h?A`sZrvGJ?i_*S#=dboPvwa5| zi*Gxv65Gc7FLKWN*RL<=EpR>b2W}Tq<)=pXKfT*=^?nTj!ARzPp05=H@Ee0 zcFsMU+IZg2&e4#X@_JQZI4q0uJpL6ZBf z{T^M;Dh8aTiULbhgan_rNXcqAB&w_YoWLJ*PImd`^>b@3*vBgvY<0eOy6|wWVZ1u8 zyvBNs!}rSG)V7G|%>LLAc$_~c>f(HDuS~@k*L(j~{??x`ZNau>(_$tZ^SsHka;0kM zs|gx6VqVy~J;+{m?c8zCh&gX=o$c5)(Ic~P_h+@}=zA)+!yTS*Nxs#dzigVX&YT*4 z#|Oo4e#t4H6}@!9KYlTj@8Ks`GuHliz3%^$lS}mx`p*B-=3bH<;z?)<>|TkJLZ^w|HpM&Y|Xych2LVT z-zirOwg|hjwjZBs@s?GLreWsNK9 zIE-6L)`h!I>QSHem&5+Uj~6%QdoGjFi8fkRCiL|x_dAWVv!b_eD43Laciy`j{lQ7a zdtWn&KAoDe^yQmZN6!A5azpe^_4TNx1Iu52s&eCz?tCj@S5W?z>r{}aqWlJx`|*G8 z3pg#Ba_BR6O;NJ`rAZ48l!MlN9lr8yVafWHsmf)CjADb>*KL`=o5X?Gs=Df4rgW2~sJ{SMM)bD(K zn^F1`E}hKcZEra~AHVB-$WLjhX!qQj`z7a0+W2ow`}~yufCHDjeZk>vJ)AmyPbc_H znNZ}l!Rc>bnq=Wv+~y`@rR2}uKwt} z@$f6wmjbDW^b@K&roxDivz37zD>5zm>;+KH!?)&&wn_v^1Slmt{1 zQp@?~wr^1go%A5=eQFEu>Sgw6*H|@GrloHFf5&WI#HYm;0=?@DYaS$h?>x`va=K1r zJ-?&Cf~kE@4mR-#5gQjKnTnR)@pG?PF!!P}gQ5Uro!aS^NB*zb|3zxt`&N9IUC6BL z)UtKk`sUm|&u(RHU77H#T#)0M{BQ2B!poCeYZmNTGO1{H+vT`CM&sU1tJ7u2TGRakD|HUI~CicqM z>|ZQVqtKk{9d&MgQs&=ghKL}ex))Ps@b|2p?UT7_j=~YU43#Y#HK4D0l zBXa3W{}fNRvz8jG>JH4g|LodYn|(i2|LuA`J!7qpyXq6>`nzAf<>LPcon0IKehT-$ z%@+SFe>&Vd`>NOd-j%&K_3mE1o;TwF`~P*-Mss(mUzXh5w60|LyVKuZ^t#{Ui7XWS z;SjPSVp>n>g%|PVUj@{XePZKug$C(VH=CE~gH9wbVFhf7@1fM)-7` z38Q<%7S}WEQ+PJ89mu_1=Jc0A$?qgby2GN3R)u}JB`4T<=lhUl#@7Z*RXRnuLgxO=q%~`Fx3^q5+==VQ$!rWzn;grYc zqwDj&Fq=A``1!YnVZr9j%@eN*2kc8bwt>xTUd`NDvlMyO8~oi&39{^@Uet{p>${EOp*t^X(IKd?$SV z^_<%)RaE$Ny7JPaKj$r8a!QE#3-jX>%RZl3k$r@3N~D>%&%So^Z~MBYH2qGuKiXHE zue>zn=n{7i%cUxBRL-uAW;h#sx?bjW`;?$7q5R5kzq@?AaYp>hR^ye2j<78?aXi7! z1wg<)s1@ZdsfE9A`Q8y!r6|>oF1Aj=oTwJR|VB!y(V3N>7(#W@$YCj$2;BE+P6(*8Y=w9)#cY8Z?|VU9Rwm*-QJ| zyqg(68k8q)o2mceP4?p5%O|tH|Hrs(OS0XCk}~E?VrL{SHe8#v_qm;$cJ7Y@)Aw>n zzkaXGQ4_QOz`xbfl6E;NcW0XIY4V>Ldvwi1Z_l=x2M?C6U9vat($5L}8OHG+ZX6On zo3-Mi&CWl^_gwvweb4#>`@7jcQ+&3lhulkjv?J(^_3qBvwX-8EPJTGTag}4`M6oB$ zJgpP>bMh;%YrG6O&?Cq#D5l~qeCO5fo(To_�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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm.png.mcmeta new file mode 100644 index 000000000..6b6b2dc36 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm.png.mcmeta @@ -0,0 +1,4 @@ +{ + "animation": + {"frametime": 4, "frames": [{"index": 0, "time":40}, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39]} +} diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm_n.png new file mode 100644 index 0000000000000000000000000000000000000000..206d93753d5a712ebba3397faa246da0a25f4a14 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}`kpS1ArY-_&lxf@FmN2+ r&{(*nnP=V=hhXE~m22#uGoS*`B0ULan@>Fq4?yCcu6{1-oD!MMHY^XVyu z>!lm+%T{kw)M91v4A^v6owZ?q^@BNGdVC(~Tgp52_%d3i2|whk*nKtUyO3gobIT^a z6LyD!*>_!Gd@WM4mf2>{q!XL(YO}Tkc|P;Fcx3Ij#QH?`FUD1^JqewYCTz)`YZvr9r$?vEi{JA2qiE)=ug(k%3=E#GelF{r5}E+Z2$2B* literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..59bd49e972f6ac019bf69c98c60a0d70c6f0c454 GIT binary patch literal 13688 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU~1rCV_;yI%JqYrfkA=6)5S5QV$R#W>C;t? z&%FP;UuX8zsj0VpzgIMW6fN=U}QJ&TBX0Kjcy#9+~O4#YxwPoMs zWV?2&cuWxC6l(ci$8#)s&&!$b=6zeXYFEszQ$6nbO1Y){3?J_m8+@PBSr;5DI#Kf5 zbbl8+wjcE~XM9ggOKTJAWSMkQg~1^-^jYour=BW83=Ks)&nSs!n9aVDxBV~AT)*S` z4^r2KXg!IwsbT)lG%eMYtL^<0(Y)=q|Gl5<$Ii^m?8C%xdegKmx;5qubr0V?JF{Az3Bb$98bKC+`miOAuB_aX6_YvSG&F}sQh8U zWIO+^D+hLGmA99EKYHd2Po-}!&*JOrKBVhcvL32D_0;Hdwt!sv`ry53rn7xN&AR%s zWPwK4efc{1ny8@Asjco>cU<;AJ`{X)^}V%qpR?Ai((3N{y4K3jru6X7UC&R6PyVCD z(;u@iMT^&RDjUO>X}={IVx)IE#VuR%`}V7Yrh#&2!qZk>%u<-@#mL}unWeBVMXU8{ zbG9TykALsPInx*!T%O!NAb%`Gi}kcg;!L%ml_Ehazf3yRn!6f4+*D!v4@YYT3@1pBak+ zgm2tc zUSozQS8A5{KU-a#5~U{5;CH-f)w4f0HGU=B)Z-4yU)lfk%AWuAd*#k>f`TyA{EJ6_ z^?pH)w!{X*wh*J%dqwqA*zX-#Y5rTn^a>< z0l|(P_008J=|++-mhm0FGI65ui4&6hKRliIdC3W_tg~EV(V-I48ZS@pW6fTeyXE5D zxid>X$Rsdio$dO+U&ZjmOCE-DU5U0nKby9m-%FQed#D9T%$HMq&t<61XE~LzS>i#; z9ZtOfy)O-hoGeXgTOJg!uV%aEs#W^zQ{g6A=`(Y!W`?X_Yfw0|it*rq)8^-NXWnr+ zFs;87Qz(9_0n35GpOf2};Z*R_THv2l~j)T5Oy`{fsYXtFMTX|eUI7(>3?nVt!0 z87G!)PUvwoHeE7_kzb|by+vWlB}oI1j7;8~$o<9>_(LLHugb2P6xHT@C;!@yGa8c1 z_|y!qM2mg$Iyhh1j{ndR-uiF9mQT?B`9J&>_rLW0kM;WJEMK#x$*^tOy(7=I-k$!) z?Z`#5TOFQ;OD1QoiQ1@liaGz0j*gxJPoSl)vw6vzyJZtvKUcnf*zH><+Be_cMKZEc zsoQl+S%ENfLvp&k(#ISYqfJZ=8)^^V)8KbgTYoWWGnea0CWc#Y#d2;p&Y89`dGU#w zkH^%PoYLZ8P(QxEk%gg$v1?LmVuk?^Z`Y*ONr6tS=L5pR0<%Lm-dJ_$%?yjWe*qor zRn{?z41sbCJX^z#o>%fbliRmjti-wbt;&Rntd~sI_AZ%q=*5){_S2ThI;#oBmKRy_I3B)?y9Yy zD>tZ>xZl07>-2pi*9wDYait5zo;vQ(-}7wC7BzxG7ncb0EicO+9qi<8*PI+U!L!mv zK)K-09YrSQ87e!^`yJZ$wR(|_#9XOmN5ihRcP`7`kSqOiO3zzqmuKFK(>;AxDhS9t z`p5exF(id`S?Yl;JSi!xUT&OR{WVTEL&UnPL`&DQoi;3dbm(D%?u)dN>1+Z|Qaads z5(8Ivav8I6^33$fFwJUfOEKy!xine$wucrYzXZc+L&f99|4fB9Uih|O{r>Au4HvfE zdU2yHrIhKwNpJTP(_|Ip1swg#PO{J8$YwJ)a5!`7-9sh68@tM`FaMa}e1Q4y_a_I> zu6*snp!HRQ|JbgIf=`bouBb6EE1lcZ$EG@ymAN@>`^28sC(LS&+f573DXJSK^ekLy zx}o;)yasl!AlJJqm{>%NR4wit%-SBA9DMy`LFI)Fx=)_$v3I{?r||Ll$A(2N5ym?j zMW-zK|9{h`gG(p+Ys@~^$e0nSn-eK~;;^{8-NKxx6YR5=I!;nq@+fnS?42D`*m;^P zoYcg=o;bl(;(Yku+wVWK*%ki({BcxmKUe$tecoPb-D`B@K1#Q3Gh(nP`6ZhqbYO;x zn1EnezLmt&gCCx#M&*P|D1F*I?V8ha8_9@r_Zt}*@GZkvKX(jNChMO3-( zURoG!wMkMmQuVdCUG-m!l`mzoqFB45SeNBKIB~Q5@b6Z!8NZ*as!rv-b#li43yjGV zR5-od{^(UK$S&BSYbMCD<*V4FnL|O#b0k2**v(hGjV@?;QBH<{ym2p9B!pA zPd&%)wrrh%ph5iX&Xm1|m6l3%^0wdQOm8dxd~obZ>Lp#?n^Od~ZS^zfKTc{{iO5Dniu|UvOdQUaE9Y&!rcdH-`T=F%uS9Y3B8)tTC=Rf_Fc}DJ=a;AbHER5RGP#RYD<(|Y zSeTJLh5g=zGok4Ycb+l|_uKkjFS!5Cea4CMP7C#%sI70y9v%F>Jbv+-Nv*R^Hgeq9 z<7Lx&&-NpiVW(qK5~HBtxBNu}E47OnC8(hjS_z7uN~Uc5Nb zch!d{e_MneIo6-&IwHW_xOk=cg^gA>Otu&s9h0y7#8zr#rZSz~%PNFf;DF@uWr~G% z1%E!ZdsiH=JigEO`%m$`Ms<2Gn3?_@Vp#C{|7@ENUVQ#>3QURHjATz%l^Rto`gm~W z^_3Te*o%BpEc|!fbkdv4e&E78lZjpI%XbN>Y*{O2QNCbFsDZ(iS)npFJ}G>j&;7H6 zF*KJkG*|9s%ZV+S8SJ-Bwlo(Oyja%Ocllt_Y9^-Rjk^486%H(NlQ?2B5B{&ee1R`4 ztlDL_q(L7BcJ?7Yx(nds|pcFwK%aIN!xpxJ7rv zY^d$6;M)7|V?Hat3g=B9F_!~-Z_D+5dhq84=PI-3ihg;VXVaLcU3IjYdGN2bocQJ6 zx2i+VOgVV)Vqs2Bd~JCLyO6Wr*@FhR4SaZa#>iQkz8AMEdm5{i;uUcrEim`|;Vq?m zNei+hh65M2NO`CmDd?R#xjd@OSN~$Q2kXASMj{M)r2YnLyeMF|n-P!(kqX7S%sn1Vx?8)B0AvJ^l^~tY4 zpL1`Xs`=lXlVRK1d&gIuY*XPCRHIhaz z*34Gt>`AQ3W13T3zW>02luZ|U%=T^iueq_z&0pYoOYCd@JAO75UvKorw z;KNn(6>GjUIBa;sSGM+N&;Jh(G_+S7xzv-eARtXFnlZ1aJuTdj6m%?2HQJ->MhOo>@}Hj{qdIoq#n zTJ`qF`jz*D-m4s)_u-l0rL|&QGZzVLTWfXcBaemn`C}0}ZPNnV4_jXG;o}h!TUA_< z@!Why{koVlQvxog8LmI8FkPp?ux;*Y{!Oy0`HlGa&gL9e%V+6>E|2CM z=xjg7U*TeR!>**^>ofK{!u4%0TNx^a7~Vt`^G9dsESU4s*?*aQ=-Q^Y&W_9LDju3L zNpN}TC+RSnPCh(Sx_$bm2X9^kCJ7yW^2WlV{6MVQDlfj=y{-9oKD)oWW$AS1*^TWl z|K09n-*5ek=jm0OqMJ-76z}Z)m&nGj|K|sJk1oUM?3Dt7a(91*Okr1Fx8MKjH=a+G zg+amjI)|>X^2^=-ENi%T{T>(FEd36SwBv{NZRKyR5J*4qy!*mhvy#=lNeeri_6dmW z`=azUrP}cRykkvf%$F~IICT8HOXYz(*A*Hh-qn~{m@_5M$n|S7Z1Cjy=ptho`ay}0 zVQtyv=Zp?3%wKt|GV<%K@nCT5@-&!Z#S(h4;;PkRQ*4aC31-d}^O|WSA@M4V z_vH?zcO6ch6*9cZf_&u@PCq%QkeHV!*8jFH>H|a1!Z|Mw?y+mOtmXQdBG_a2CbHQ6 z_U31G&n7UR%{i#XJ@uK6g=Iy~_sfZL1r`tLb{~1CxZ=~gsoyv5`@>c7yLIJHaI{AM zR+t?>$JsxPVecm{oh@P;vNc{@DL=no;YqWP{G%x?vraz#@!_|3WkJ>x=Om%SN8U*6 zc-&wulW^ww!Qk(8=i{yKJhRyGb0R28?fy8QT3z{Mvui>7ho!yoi3}gQzyFh;lq8f? z$hmXP4ey%L@A9sd1t~vxS8YoV(AZ(Kf?IBhFxR{r-}@yQ_7wlLe0BDFb92HgHNJKA zHWJ4oe4G^HTk^Iph}IS1auxaHy8pv%ao2}Cuc?Sd1sixCE_SbzSkv0JjYG}w|5-bM zr;N!w#$P!NzUvsy>rj?|<`|vbD^5Q4t6{9m@)G~|xhp6C`SVeJ;?%baV%?lS6>h4^mspv-i_`tayngP_ zr$KTh7IL?Lu{VCP`V%&T{fRhRoxWU0N!lmoM{|;s%1kEx{Bgqi;A|U){g%I!S8ZRl zsG0G>krTU@-1PmDQhh{Pc5zpU599V&xh0P>GE5ILFJ+j}vh$~8P3?R6Y8!^CD{*ID z2G7X$Uo=6l*|6>JYq`YV*KH5U9B)k9nsC@@sVTD(d;I<1#{=aG9z9~=Usoew6>w+! ztJ7=tTd-W@X*>CI_P_jt_kR8`hak2ojq{O93 zP1WyzWqtYc;KtYOokt~(rMo@2Av4E1A>l;Y=L=ud{(bmoFP#1S)$Aj(eZRNYfm%K1 z?SJJ@IWNk>pL3|WymR>l|9d~ZCnX6z>Xaz*lA9yEZ|nE!K)ITVr>d)7T-FftX5i@V z?lve9E{Zw0{ri9JLV?1Uk+1aEGCY^rmGAaFhXnL4E>+2 z@w-3he4Wl_a9!$nO}3Dj$)86T?&}<8-tXGtWL9xr$FObXEnfzwE1l|(G@k6LaM;LK zWO?z}uOwd1(1Q!JowBA23Gv)>iG0b}%);knqs=ZZ@g}l)%N!GntcTI92=LgG|$p_UZv>B#4hlyR)BkU#A}{dg5W|J2K6a70CHFkz zUFAFFblju5MyU)`IOC6#+dl3xxfCrlou**2+CqGROd8}J#brme)Os4@9XXSeUf%qR?C(hzpdX9 zyms5gBj4r!eNTED^N07QEPMRjzx{dYayG>;^jAb^D6OAzAh)mm?$clP_x|;Z_#bJh znV{QX@$mNU|EW{h-^c#d4Lz$l#Vb{y;pkDVo@t#WHr?;<=(fGyy4rr(ze@@hg&Dfc z{OhW)z$x z|7uTX?^&pC-4K~9!*YnLlGo()f!gfW1z$ft(Oyy>)uE~yvPDzmvi65B`|3p>H9kJj z`1rJ~jLbvbbGFX+6aF5Z`mgelketnif1YNh)~#}t9DiSi&RFUH@Ik_bmHPAkRzH$m zFhi>0iORxdpX{b8C;xreEABB#;#k_c!|!esSd^@IDJTZ^Ao7FqGh z-TuhFU6_BK?XT$}8X|!KUJuM3HkLZo{QO=1fARyzpqw2$oqt^GtG~E4e#b}aRZ^EV zrZWF@$d~juE@HFQokKYP-VaUQCt(K|+n3F>D`Djq67qT~RI;4)Zsx)my~Q!FK63B3 z`@_TgBrIW@aU*N7(A)@V`~N@IANu5Y*4Ccmme@3Y6}7}owrp$;UEUrl!Wv>OxvczK z)Fy11c>dWz#}!vsy$Ce|g{>gR$0aHi6J9hPiTSBeQ@3H$9==U;nA)3LpUHgL)>&;< ztGp}T;`8;CRcenuTI|@{!rpLoV_`z;4Uc^V-`u?`E*Q$xl=^Ro{{7;Z_r%z34k%i`vVRIi4^2ByZH`S1TtKcgNr-=@JbUB=~rLy~F9@dN)tos#Sgf3v-u ztM=%mgw`z)ua%+$#ha~_?P5IQOGX_ZBG zP15W6E|motZ(LVJUe*vj%C+X|>I<{jE=_7uFYkO<_59i9E9-fj_81uzoKJXR8fYWw zyfUKg;OwO7^Yj-lzw=nUF8fQm$$~WpYxJaS;^+U`&dd>gFX>fnl?6$^e2p$R#BY*k2w2J$ z6!0KIkAG6(m9<iO?GdWd1{B4d;{2gA? zYFUs_67|54oBNpwhs^yuAO9Ng%iMUx%goSlxbs6o{?Ec|%h!ClZF}!*bF*`Ndhk}x zFB=@cY*O@*zI-FN?#%lu*Y)h3Sr$xq(Vn8da2eN+7stB2D?fZZvRdV+gxhjf{+#F+ zE1z#}V*meSUcL6Ub0@r0qWR?R{kih?Nb~>7PwQ8PX#KSLFzvO!-5>oa9>*qlsMh>^ zkX`=wvj%^k-yWyXY_6wsF8o=wH7mosbcrhK{X2Rso!^(&dH!7~+Qi=1__sEm|D%HH z!a3T99fECIH>ZC2_T^XWecAu4yi39o=BWiP)GSev-ESvr>A%KN$mPTBFpsth1ELyBqJ`O-+w4=L>WQ_#aIO5Vl>zE|k>7{_yjWP}|oE z-s@@-&N*hkxUu`w#}g9v^&j7#I5WHBxbOor$IjL#%z4anmo&#db-!bK$$#3@gVVSF zP5!^=xSEsIEQKGfjD;$nB0E1{s5|(2H}}-Gk(LpIzGS-C%h3gXP%|i&H`J zDjqj(f0wv@`@2T*1Bdrp4yba6>Q#I=a_zlq<%56&41RnZch-Me_ept;z3G$xc9E|i z9lXmNpD28mbIMJHsvBNsN|tRfzOphu=C`CJ1J@e)HIrS;LJv&b7(VUOgCl38K@qsD z?V_RXjcpeGXI8sz=~eqzvERbqrs%WiCS7*^yqZsZ`~~go|5)FBc)-WM??XvDdwIo! z>ks(&-+egny8y%k6Ax;49B#I@0TUnW?mRpwD+eYj2|UYd?7!> z!+U1Ozk>}%8eb;nEv;V=9Gt=W{PYXW>CV5{7k!ZNUGQn;FZM(^moNMh%Xq@&Jts~0 z6Y`gtd6rX%LBc5b=KEEsC0aJ z&HhGk-JGxKE&mvk5B&JE;(xTq{{*2_vkp76mYI2fo3+miv|q4KkX<K@fEt8n@y^Q-fjiPusihNw9E!Y9j37VP@fxvTScSnF5e$wFRB zg?N^8CQJT3V!qDanfVphnNqb43BC)Jw|@MbTz^$n-XrM5r}CA552aL}xgPGfOi1I| zVVeuH9ZtE$3I6Kr?l%3h<5wqx;*+hDg-Y2>$rXu-a4(Z+U#DG{X`iB z;n$nuH(2rUtr56Ypg-sL{j2^@K5#Q1a(TV^(xz`d%f;_0os;c3SMpN5Z@P;LxZ!UikZoeQN-}y3ZdflU=^$O=WTc0q@(0$Sz{aXE)#Ia@T z7bln2R4h&ECIsmEqG* z3@dcQ61Vs+Nml&bnr*+VagnzC79N`&W-0px{5>?Lp1Lqstz>y;(axTr8+8v)^{?E& zgK6_Gi)XhdzcApnxBk?u_jAGNdpj4D+%&!#`}c^2vy$lhM~&B5RCAtut}JL@yiMat zGk<=?H||68R=V@ORB!vv?fkTK!c-Lt3$aH*LvS#&nd^h!DxNqt&xLtSfhs-zbiGQ1B`<>b6*LS#Zb2odt z+w_g`9Jh^S<*H}$+;drfOaIH%v#d)dwq7p$&i&Ft%I)aa`T!OgPUFqN6wI(OluOJY1rJ`T7crf<9M1QR`#X>ALAEaK+MOAT zqU|aY{!Y%x$`i8vB=GCfYJT=u!*{i)C1l^-tligz59$UApOz-EKx zj3YJG%ii05sPBffw`BU?{&@HHNb~%fAJ34`pm>X*!JG@trx!rirsJ40Kfx3fR(=WYM^K!ku?_)#y{U6^=F6?I7+&gn%pg+mQ{#sGo`nDx5v)*9Q(k{!-$ZK}KJjndPj2bAT&`Um``c~% zU19FV8iB~q&3~IGsBjuj&9vEQc|-pHyEFVN*V{b!Wxs++MUj`aKks+*ivP{u*XwT0 zPe};aeCXcK-~2nj^-iyI_G^Evz5CyXvPTEc^Zzy1deXAjxSWGON9Y}A-KTT$TyjT} z17hnn?%%om_Wy%d-XT|)2NvkIy!tA|bJoRb;e*@d-Di(VPoKYZ-y^O9p>OBD=X1=J zKk`V3t5t~S`o4`3Itv3dezwN%|Dp3$l-=O^yaP4aTw=F=9DTU%vrFP_iAnrU|M(@6 zXT-^fe{$?moap27c5ZZ)u*mj_r=K2>b=teHV_pthdt1C}pfg)@%WL`j_bhAb6e=dP zIPxpc9}#==tbkNllCpXv*qxK01xtXwbs^x#G5^^=dyei8cnfJDGmEf4Q` z_9BY%SH5b=yi<7pF`-V%|K0D&2kMjZ*U1;(vT$(Nzlp0&(&D^j+2^wp_I@_;Dzcw< z=lawC4Z#WT&+PuQR5s?X=(TW(Pqj)df8|-yS)SMXG4ExbppdxEuKD=;U&;Tshui(s z{5tKo%0xXQk&;zRb65@%TK(0d~9+2#IMS(ID#q5MhRKj)S{U!i`z-!hkr`)y{# zl85H*|J-M=cYA;5jUZ~vB>EAn34BAX|ke%4|?<(QJts-9%?mhfQBa|sr? zB9~PSIO;QF|4j^2p6b<9^WQ`5TmJh`{UwjwQ&MApHZb4ZP_I&OV4LilXjPl5d+WIW zd-UgV@+8~K)mejEu=fwoJNbIIaj?8V;h~D{^-C_6E1CX!dl59sne-+0(%WSfYnWHe zG`(&=slx17aG}ZJe-kYZ-#MhSZ`2d z9elid|Kn2v`oaF&#OH8K%T0VgYr^a|5#sz@l@ImLYX3R-boz=pZx8OV>+P~*o}69r z@rJ*%O@=<#{SG^Rj!M;6`nlUIpYDtQ@JGFE-nrbhta>*CjFnnK7Hj@lI#=%RgpLQl zy|q=k8Tk+W3t_Jg=ltJ!BrrQX@s(Ive)q2vHBX;xJ~aQ;+CNKg&Pl%R_3-4kxv78D zZ*6O4H)oG-3O2WUQ+0obQ33C}Rw^=03G zn_ux+;HB)t5IzQ}xvondOIq}4i1#1A_~noKF1s1ewKrFkT))i7?^Ptp{fy^XZ{`!> zL$80%yZU|e-PP~Y=d{>|vWscGjVvgz+4cIRo?OH4d)~Xx3zzfVJ^ialyT-+*{I~y| z-QO6^;^#Z}-|3(Cg)8LN=NpzHC9igi$0;xcocW^U=9yw_IcLYdp8rQKFK+zra=ff& z{-#J(_OlreZ^wW7qh9B5H*fR)9Z$j^UQOP=XwEEWz1i&LPXDIz|DU7c`9b0Jrw0e$ z#{QdXFKPSeclbB4$*COmulaYs%kPh=oqWnmQikR9%Y^H%Hq<|raMp`&$lIC_p(|3f zu0D19hlkqv0iK%4j`LkZ=QlrnQSr9o#{Qz+@9ge1eP%Wl{_d0=#w-%}v|VlzKU-DXgb6|l1v**l>YwHY{y&vJ zr>f5?^7?%%_9-Pd?pv|%II=O4SS{a-sjuBd-{-T%+5S8oOQ&-KeIpUqmR!L8`^!Qo?gdQ8{C%xedC zGKZdPZcN-~*56)cBly(u=!~OHhRrcfJP-Rq*>CiPvb+3YJ^gk4oq6o+$DOU`aeQpp z{qNF=?6@y~5^i6pySA9`$A5o)pI`G;8E)+SB^Q=?Zt;|Nu9mugwA-z}F7940$Q*Ej z<=?gQcPutdVNXA9r>17;bM{`#V=rAEo|`>fXEPplHao5Pnev3glJEGw-tANCpKkZt z=a3a9YB$C5=R?7`|39{?cpiG0V79oaMM&N8e{PKNTdWfuczu-LRm*z_L9>R4si-(|;cI*<9l zhSaBV+fp<7rTdri&Mptg)^8C0zPNG6`0i3XNkdJ*{q%=N#&0`%KDwvh7qLmm+q12pMy<)>-z^K3 zMV#|@e7YDUSJ1b2VTNP4y3@y*4j;IyeSfWS5&U^T*UF}{ks)E5RPXtc+)p;G;@8{f z?{Pe9z`xFSp8DM^<>^I_jc@ucN!qmgmqe0})9%N|(!J6SDlELVCh7k)_8Iz*o&>R8 z>ET*+Y|s7MN_Lmaj&<&ySgxy+6B8u>pPF27Wmd+Nu-ujl&bEQ#?ta7^*takDR#3r4YJuEi& zn=tFt!nBZ$8CMdl*!t#F>ql_sZdQHuD6EG;jTdKc_karP|5!!!Io2Nry>wI(9Z`_N6!#f>jtUv2!ba%!cp@#=A zetsY9E$nsi%;|(1Qky(Qc^q!%DT{jlzS3#PIqU7Qd>@U3o`v_~j=b|_XO>%WQbw#- zE6YvPD~9LduZ3rG{$5Bsb}(^lMZ5=pyv?hSI#%;yk}T-LO2hOWQ=|Q1qvDlRUKza+#;)DohTWa5iPS$U5on71G@s zWQ5iA3{JbGyhx z%#TDm&1}p{ZBI3SkhPEB^Zi5RqS<+V_Z0*dUW({Q5iRG|Dt&cHFl)DC^33T6OG-BO zNV@F#9udB$Jepa(NoM-drpvQ$Y^yW>T(0Bg)MKoWWNCF|W7W|rwvH2*+fp4SshH$& zXIb^B&JHWy4SPO@BDSF_-y)TEmkd&)0& zDhhXfpT~2&T3_5oPQYX}Z}rZK_u~B%lyBD^*zVu|y{>j<#e0_5Zk*ur>G9s*z9-Z|bzYh3yfQse zcr^dotb@Eg!j9%HHrLz2*aiEKRe$&6b&3_sZ0h(fx2K)2eG9)|YF>@gDjlVh+s>$M zTXR?Rr>^$ykN3`+sc5!^JQDkOk1=7P+57ov3=VGR94?p2+$fAbUTt6ZParjgwQEfS zM})b`s`58)+*#CQ#M7VfbTr6He|M`iFsjr&#q7I=-BLIC__5l5kNu{GnltHtzy1F8 zQcX$LT`QfJ8k zTgfeW3VR#dZBK`3M}@9#5u22CN?xzw;2R0Olq0=Di9aFhd=(yLNaxPTQ^y&{yekCuJ$`?dIsdNyl|?om-aT9T_&I;DH}}zM`MFYR zcXM{DoAXpH?@h5e!^}DBDqFdQQ6{U9gj5u>wb?t~M|;yRTV9FLe|I!T(niIn&yRO< z;)?_!=e?=&%XVL_(6A|WHGArfIgr_rpdUbHZ#MBqN`k1ZXm(MQgJ;eR4+xOtU7oR-6mZ#QF zT=OPgxoqQf|6htWmogX5ufBdOH&D*!Oy9+%#cYBDa<|R!hJgOij?Vvl}`YoB+nZK1MQzhl|$6|bc(b&9B^9k2O$V1vr{8b_6R9Gd^9cR3YKymOfS z_(O@J+Y%+8G(WwGa`^D@@p@LK#1-{hZ$Inyu2875zmZY3^|SRw?Kh?`KQH6pS4+@l(euFFfXNeZ6+6Qk9 z`&j?k`rPc?ghzWXFAM0e-d|Xdv5UxEI(59Lif8d!w$2eqt6|URJS#)X20%MX%IhisoUztDYFln z_zFDtSQb?G?BhzqPh!%7Kg~b18&35)XyhBQtTRNbHAL&J_`a87c_yzjOkNx43LjPu zZ`!(Gw)gXW?fUCyeND5yRIuK%kYR%lw@=bUwI!1@&xEJ#-KnE6iA%10;`Gv=F#z0nv#A`L;I-^R^t=8~2c&0JE$%bmpY+b;{*F9j?&qJc9TuPcN9)X) zGXY8y9gH-;9a*)?=zX=mztThohAF3?YVglGtG4xauD$c}%OANbW@=C6subtHe_($@ zYUISGht`#?x8H92U%mYD!2<^xZd61~+qxw8;cmtc+~wx#_hM7u|4%XMOxr9OIrXmi zSN#PV2j3l8-Fw|lzt!5fX5)#hFI=HoQ&XQd7rd|D%FXxOx%|tlFO@+{*zSeywqCPa zKP@foM0Qq+#NM)2`|6Y00_TGDrZda69KZQGWPRk>w8?wYO08ryx*mN${`^tns#Q8R zL7@CAK5tdr*SxQ@!;?cp7u)OzRc~9KXA%EB=I7o^|Cuxx9DT3dy?>g4fq}u()z4*} HQ$iB}L|ar_ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive.png.mcmeta new file mode 100644 index 000000000..b6070f6c4 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive.png.mcmeta @@ -0,0 +1,8 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/machine_casing_egh_active_emissive_ctm", + "emissive": true + }, + "animation": + {"frametime": 4, "frames": [{"index": 0, "time":40}, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39]} +} diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_ctm.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..b99c9121d946f4184bf7fafa089c56fb6d29633f GIT binary patch literal 30151 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

?w;b>{i`9Ob$-1`Bsdq|dN@YR1MemG?NO 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_n.png new file mode 100644 index 0000000000000000000000000000000000000000..b77416ed2bf75bcbe8cd9e99a5a3679fb0b1d36f GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7WIbIRLo9le*R22le|{s= o0hi8afy{2a5~c|Tk_-&7e9SUQ?>0PRU|?YIboFyt=akR{08;@L(f|Me literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_s.png new file mode 100644 index 0000000000000000000000000000000000000000..e525e45644d29239e6c3bb65a7ac7a7f984f475c GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s78a-VcLo9li2A}3Tpuln1 zwft-Hcj)Ch7{_y7bPf{;7rI%DF3c%x7R=VDNPHb6Mw<&;$UwE=-pI literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_n.png new file mode 100644 index 0000000000000000000000000000000000000000..b77416ed2bf75bcbe8cd9e99a5a3679fb0b1d36f GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7WIbIRLo9le*R22le|{s= o0hi8afy{2a5~c|Tk_-&7e9SUQ?>0PRU|?YIboFyt=akR{08;@L(f|Me literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_s.png new file mode 100644 index 0000000000000000000000000000000000000000..e525e45644d29239e6c3bb65a7ac7a7f984f475c GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s78a-VcLo9li2A}3Tpuln1 zwft-Hcj)Ch7{_y7bPf{;7rI%DF3c%x7R=VDNPHb6Mw<&;$UwE=-pI literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..5c0e087879c56be75fd8134fb0741616b71b1c67 GIT binary patch literal 318 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7Sv_4GLo9mdPTtseM1jX8 zKCDq>q1WX9|81mZHMG1@3SZ;Hu-0$&TrH!DHM{`Y2f-aFOW=EUZImerT$d{($@#C+L!*1CVU6YhN}XXE^KZs`=o-fgX`wly4l z?5_NSU$Mo}X@2L@YgPHT&0IoV*p5Fpz8&Er$7Gy6kHNp>?fwnbN{5PKum9CNb^j6n ZrI4+&pIJ8xF)%PNc)I$ztaD0e0s!)8j3fX6 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive.png.mcmeta new file mode 100644 index 000000000..ff35499aa --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/machine_casing_egh_inactive_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_ctm.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..6a2818a12e6b5b78e09fc215d71025ef94c41cae GIT binary patch literal 590 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANM!qMj~}ArY;2!#A#btRQe_ z4v*%7MGyb~KPR$~amf*pJ&#QGn6kZ7EiAb-TWwlzdHdbD2NxPSax82SNb^4Rw@!cQ zluheiKfHU-G`@QG-Ba?j5^it1`8e1>^#jkEtxx7CD=m^x&RqN2c&+JCiO!A_mhRVX zedcU%nY~B#;N>mXeb2rBx@xn4 zpr>a0$zU(%B3lPe-HlU(mQLaOK0WgM2I1s01!o_BtmsPUzMRfrlwI3k|677_?bm}D z7KYF7B=XhG=P&Sn=8$Ulj5#Jvm-F7VYd!ydXYM$Y!gBW9wI_34R_%TFuJZlv<{PRP z_WjZM@w?#aoZ|A_+x5vju}&PV9n0E1_+M-kSfnQ6ByjQmss&XOmI*Af(o?V0Tq?4G zxpU(8$Cax~-`D!`C|gUbs%m%E?F-5W8JRpT&0ZOooy~f$_4~eeuj1p~2(DpvlqWsFp?Ti{&>A_TytDzFVSRRU|{fc^>bP0l+XkKanTT% literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_ctm_n.png new file mode 100644 index 0000000000000000000000000000000000000000..206d93753d5a712ebba3397faa246da0a25f4a14 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}`kpS1ArY-_&lxf@FmN2+ r&{(*nnP=V=hhXE~m22#uGoS*`B0ULan@>Fq4?yCcu6{1-oD!MMHY^XVyu z>!lm+%T{kw)M91v4A^v6owZ?q^@BNGdVC(~Tgp52_%d3i2|whk*nKtUyO3gobIT^a z6LyD!*>_!Gd@WM4mf2>{q!XL(YO}Tkc|P;Fcx3Ij#QH?`FUD1^JqewYCTz)`YZvr9r$?vEi{JA2qiE)=ug(k%3=E#GelF{r5}E+Z2$2B* literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_n.png new file mode 100644 index 0000000000000000000000000000000000000000..b77416ed2bf75bcbe8cd9e99a5a3679fb0b1d36f GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7WIbIRLo9le*R22le|{s= o0hi8afy{2a5~c|Tk_-&7e9SUQ?>0PRU|?YIboFyt=akR{08;@L(f|Me literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_s.png new file mode 100644 index 0000000000000000000000000000000000000000..e525e45644d29239e6c3bb65a7ac7a7f984f475c GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s78a-VcLo9li2A}3Tpuln1 zwft-Hcj)Ch7{_y7bPf{;7rI%DF3c%x7R=VDNPHb6Mw<&;$UwE=-pI literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_active_emissive.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_active_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..b9131bd44994a00957bc5c17b3a9f6c4cd8442db GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p*^PZ!4!i{9iv|Nq-Ft2VSYHa0GN`+oWV?d#?wfPhQ*f@R5#zW4t}hx-}mTqsXY zNlZvcu-KL^diXJW_{Liwo*h+Q^Qd1wCN<$gdGij2*=Jc8Vr+#wr3?=k7=VpCcuKX0 zQL0yh!QJH0RsKEVZ2gS?7tV-a2=_0HOITuJ&CGC6!Ju-xx6FSA1_lOCS3j3^P6PhaSCqS^4$VNk4B}b0vH8E?>p#uFn7f literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active.png new file mode 100644 index 0000000000000000000000000000000000000000..13de68d8ac17a80909d88e65a97aaf1fbf5db562 GIT binary patch literal 2184 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 JtaD0e0sx#(Bp?6) literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_n.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_n.png new file mode 100644 index 0000000000000000000000000000000000000000..ad4c9994120a55c415b318fd62ee4a153b6e50ba GIT binary patch literal 326 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU|7Jx#=yY9YWYTlfq{|N)5S3)qw(!5N3LcA z0oVAh_M+!!MQkIY%XfzE^59DI$nw_a{q)~0BhBt{hTPc&yYD$gbVfBA#(Hmht$kr< zwcHb}lUu)@_WQGLSHde^YtFL0$*1Zg(ta(RWW(h1SxGTd|cqle3t(R^97qgw!lY?6%4=RJlO)R f^#3I2+b{?>|6(d`I-AVEz`)??>gTe~DWM4f_M?Mw literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_n.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_n.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_n.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_s.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_s.png new file mode 100644 index 0000000000000000000000000000000000000000..9dd36449d77e056344cab72c179d96908e3057a2 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU|7Jx#=yY9YWYTlfq{Xuz$3Dlfq`2Xgc%uT z&5>YWV7TS!;uwgE+XLZ+_d6>V=^f^9{yK2LugHHu_h@I}Lno!yx_kywJ zBSVBKV~l=^)B^S@2I<$Wc@gH0{F`_#Fxxhq_}jdaw`xKvNZpS483!W1IPgC>{lExaJIc$e&oTeSrT^*^S$n-EKJHU?VUhdKpwln7cShq0$ z(CjgTe~ HDWM4fm8G=GBW&X2ZN(GC(%NqRpRb#fmv@gt zks-iKap{x#6U9@4rnCs``T1eq>4H;NUrH{^)Z=_)5ohHdc;s_={!X6dbLy;@u@sou zJPj{tEquOe;&Zbx91*pFh8`?QDh#lLJR%<}4P+2{Tna4{bI%D$w*= zCGqH{HT_q!rXEdllsR6qJGSkx;`*b8z3SmA{_&r(o?6eh`@i67*2VYVCkCbcQEEt( zh_pFgSP(niGj;aWHr@mG4vO6W{_<;8kK1C^y1@S&iULj-ZbqK=={puWC1_@at(D4o z_Pq8LiL=y%GdJ(v-5u2R_iybXgCn19wwdY8aQ*Jo8&ntSDDdIY_wX=jGxt?q5^X)l zlNtQh%?`*+TDRgjTUBb+CH3pRw{peLe`d(oe%qqYIX%5sKe2daj;mZk(9L6|u``#=19-|Ni%z)-xt8dl|HI8qce*Rci0vtYI{;mfj#Io2K^j2m|ZsO?g>cr3#{# z6z!bj8#&#B`_)&g=7SA3`&E{n*~J^MGNj>m-izO_ZfuRxeSAJ`^YQ#dyZMLjet&qX wYW;8^16;uwo0$qWx_(exkU3Gxw<|>Jsz`8$R6yv|e2*zgp=%?jtC(@# zQ>i=B_qccOy{~T$-{wE$f^7ZxQXgcuZiAvf0^X>QFtIzd&Tw=BJ^SkPw&#T`DR@}y*9l(F|SkCc6-81`OCleG_g)kNdERmqtoTkg6-4mIhq2Z zuEj{LPdIpK!_KLYVOLlQT&%AYq^YGza_YxQs1UM4B`!@0{3DV?~w>$IZjZW91 z1$=x=7rt+|m(E+Uw`ldUWy>U_q?i`$-#`E6&B$|et=St?Jb$T#vYm>ab~f$jIp_8d zS;8FBy8}d68Ezkw7O-JD%PZ$MPr}Gz_SEcI;j<6O-)TFVi{hn~J zymKva%nX}eiH(C3{BlW(URmc7J?CXBH{j55Dnvbn{S6$xL2#@8LKYYCZ zDK38Zn^h47R&#$%I<(r^D zMl*Ths~_Bs=&tmeV{tHd``u$7J{Ytfi?iBx*WvCmU6UPMKWgk^<5i7+3$9ufw6Z<4;(^!P zqpTWTNe>)Nq*Uel!*h#8`Ptam7&?w7vB^zwzCDF~q6drTqzS2!@+zl|>T5pdzS_&A ze!u4G0p`Q14xKid$JN;4DtgNTukh+}DQ<{3TRCBi*<}4S5My-D4I8}Kn z^U_P5r^pgFZ|J(p^hj1rnC)MXRwrw7;_0WHEoT?- z@x9VK_u%-=ljh&~3kqL7x%JcWg4yED{vxh-8slU)tbWSgRxQBS9vC_`|E>Lr8n4B7 zd5gPGSIkvZ@qDynRnhOa^%ui=Oy#ar6v)b5*widrXYZLVv3qI9j+(xO3l$%IwCK0_ zEL4|UlPkw#^Mf}f^4NOS4Y$4K$@L#+%qUksTPe`#(r}5{w7$^gdE+9Dh*wc7uN>C0 z(O~yeAgd{X_3Z`S-VSed)ZCp)^xM$Mwcr@ zbkC8mp5NHWC|CJRm7!R!Ly!Gl0>Aiq9^(%${245M{E^=faqVQY`?q`EcJr5SEw=vq z_wSM*O*7L9j@^?~)}9S{#mlxpWL4Lq1!sGTKE=N;`0*hzB{D7X5pzhW>fFUyv)4|I zHZ?Upy2f;c{oM6y_QOpoo?A-q_bk$ov9Fu6O*&syeVgLxO>!}z zY+q)t@ZF%erI*)kdYt`^ntvi^>&%bG{apR?chhD=AGPQQ_jd1RI`G)v-haX3_MhC# zZ{B%wbt@?NH>CYNaQ|=Wt=TbczZ@4-tIx_7KGbHQxIg#pug0rMj-PW~C#n2>`DBA= z=9=QQ{p`J^dav%9HAO31@n1S^X>;q!uUG6lX9hoMxVZUP)uRUw9{hUEKGEaJz48*ZIqBd*LZu7;Y7Sk<*i!)DL-eL?9P54=7;FHW9+kDm4J@A6Kep?l~3xHGx`CF?FP+ck%p|GdeR z(yWzRu}0oyabVrw-@?y+9u!>|I{)RZsz;~(xIeS`@$?^i2~+4b{&&A0>T8HS?2_ac zadiw0efR%ja>pVM6Dik8D))Z84gO){S1cFt`u2~5hua0-m@(A-yL0-)rXCf~EhZJv zq;j%Z*}ZRqhsuk)mEvdD&b{%;d&{?)iPz)*$?h(Do0O80k}Kz;B$yJJrYD%5l*ic+ zf3(icM$SD@q*%`8-y7~-g1`T02CbZ8S7Gybc@Y2V4+%wY?uULo5~0(!dFSkg<6g&l z*kjFW8S}l>6P`3G+cp~4-kZa|`K0PJy*|Oc%jyI=U2gn+z+jwaGh=^&ROGZy7p0Cx zCz`6cyA}!bAFq7-Lim}D2LHa-)%I6^t8<^-HSv_FGboA2w6lM&spT*8Zk)Zpgn!<$ zvX~Sv$En*cRXXcm6V1()^NIJ{y!Ct7vhzHTOD(_r>)ffT=UyTE3}r`m^;a*Y=qPn;(&^2%xje<`z@+?L&wO+=TUtqgd- zu{iZn$<^;}fg+3+1rH9~x-T7kIl02DOrc9@k%m!Z#ze9_Iaf zf1dlT7vBp$^_I?Y&)V^>QsqqL2F*KXFBSD^&p%qJ^85es$|e7qdV`v3#2HRlFfcGM Nc)I$ztaD0e0sy|&QUCw| literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_n.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_n.png new file mode 100644 index 0000000000000000000000000000000000000000..fba69303682c354addc7872c932b242e3c50b1d4 GIT binary patch literal 569 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU|7Jx#=yY9YWYTlfq{v^)5S3)qw(!5-=f0` zJZ|%??L>CpIWzN1Lhk0rVegb~FgyJ@>Zv~2OZqrRio!MKeILJk-McP4uZ(qC!BwAM z>krucT{3l<)8k417YFXo{H*nBx0#g3|1*}lKlVKEd%$@7t=EsUOa=E&=P^E!DYzwF z@i398e?|OkX7zV_gO05+IWtdYYU;kj|C_`PbiV#}dm)b__k!L~X|V-+*yns+-qKLV zdR(>CXBu~<9?$m&yw4RLIp&;y+&Jyrtf|F`OE#tXKXg2~t1@8Cnn->A0~G;Zr1?wa zT6*rquc%!bb>Q?bDSk7tBi?h`4eA2-o3d-ojAHb%2`F}9_PX>o?7=00UDX$jTeQSY zK9q49PYH?&rAqepOCbA+~6bw|z(Rly|FbSESybz_9Qod#vq>m+U`fLe6n- znmAXStM2hZ?HBBetCG?{*#9d3yKBO!$rTOrIF20>Sf{2Zjlcr z&D&u*rE1YfhmX?y{~YXhc>DKEFV{cyfATyHe(Bq#9`+q)_t~%b(aZkLHfS|_Y}$S0 ey{>wHn5JIuUwcOJ?Oz541_n=8KbLh*2~7a2ItUv8 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_n.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_n.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_n.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_s.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_s.png new file mode 100644 index 0000000000000000000000000000000000000000..b47dad0970dbbde4690ae8b2ac1657217fc7d55e GIT binary patch literal 626 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU|7Jx#=yY9YWYTlfq{Xuz$3Dlfq`2Xgc%uT z&5>YWU{djPaSX|5d^_vl*=7TtR{2oN%Z3tdxwi}@+7qqV_D*B|-+2G1?>uiN8G%hp zSDAG63O~|+veGqrsRE+Kz7z{94ThLt>$d$z7b%(?y%M>6wrS_Xh}ZM{S4cM8 zJzAx8AddTG%GM292Tne75DU7S|AbLnZkyENERof}Ej`TrSeM;C!gqrCrB0(t#wQgn zpIJ#|+ur#xZ`l2(sq6EBN(W;O$p!1bellY=aozK2SE1g^qYPHUvMP59jxH+7TP<|{ zcKPh5KFl7+H&m=iTI8IudItNUmZJ;{H?u|ERIu|#q{5QG0TQTAzkZa-8EbVn=ChcIr3!jdKS*FE(#Obcd^Cz&oRD~ z6T_o$&c{FHnN5M*1)j32{7&BYVrFX0Tq?g|Tk?m5sdWpM9?wD|Mo%; i{<|~HVQ2WjZa7i@&U4Nk(-;^S7(8A5T-G@yGywpQ=o4`O literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_s.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_s.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_s.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_n.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_n.png new file mode 100644 index 0000000000000000000000000000000000000000..8c699fbed63854a07d955df70f9e966df2b0ed2f GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7`aNA7Lo9mVPCm$cM1hB; zy<^djrJLszwcc%&kG16QVBu>M5vY%-EZ4o=@cXZ;lBLpyshh=T^*5BeYZtZMd^EkY zPAV>BzmZ|az0aA#_hql~ID0N_y3CgGHoh~!7*rTM{yx9Lz`(%Z>FVdQ&MBb@0Cfji-v9sr literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/cover/rotten_voiding.png b/kubejs/assets/tfg/textures/block/cover/rotten_voiding.png new file mode 100644 index 0000000000000000000000000000000000000000..8dc1a66e89b53ebbeac3b806e4e9b8c82968cc5c GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s789iMbLo9mlPO|l8b`)rn zZ}ynrdck?eZnLclnl2vV0!&f2Zr*qr&hg#2DEx$J*~;LKCDSHk2Q4u_ddF2s=$n*% z!0K3`%>oC#md}1Tckc7Kkv~3f+&F{9@dKwo+rnTSC59)JdB4r}cQ4Xla>(XAQ2V^= z)kVYhufbccsd#Q$vR+3mt!P?mN5@=?*}gk>?{&-G>$Kg8VZoF|9?5av?J{!TUY56e z5Wj8iHm!9@6OWnH_D`;AuH4{#`MbuY8$TOnKlszcc;SZR=b+lOfb4}0n{=)V&v>f2 zbcVg(2flOD*8Dxubo1ahfqTo9qochQl%_E(h`0H8ZFWFee$M8dJ)QCOOX>yUXVxXR Vn0S;WGcYhPc)I$ztaD0e0suf)iNyc_ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.chloroplasts.png b/kubejs/assets/tfg/textures/block/fluids/fluid.chloroplasts.png new file mode 100644 index 0000000000000000000000000000000000000000..2a7a18611c87b4ae3bc2082bf5c020c7d73451c7 GIT binary patch literal 23858 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 TTZ1&wJDo3hkW^A>bklMN91;@L-{tHG1 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_semiheavy_ammoniacal_water.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_semiheavy_ammoniacal_water.png.mcmeta new file mode 100644 index 000000000..7e77c6485 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_semiheavy_ammoniacal_water.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_water.png b/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_water.png new file mode 100644 index 0000000000000000000000000000000000000000..35fb7b3a4f961838e98fee73921c13770c33c263 GIT binary patch literal 14032 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_water.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_water.png.mcmeta new file mode 100644 index 000000000..7e77c6485 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_water.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor.png b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor.png new file mode 100644 index 0000000000000000000000000000000000000000..15dded3156a82e70755aeacb6133914a20c72b2d GIT binary patch literal 1065 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

SHPigxU*7BdKJdlOE@9iFmCgJSyK;M` z-WRa{{6u}nk2C)_pJG4tmzmw-!nW=I8o$q};^{7B5Vk*hB&MV74%5XO5^l{qnM78t zder}{KmS)$Z*?2S-A8=|=FnG}Iu#>Y!@h;2a#hufR2&Jhlwmkj4 z)O`BA-8(mXgo#Fm?o?R4FKPb!o<7;vO8OTRZr**ed;j~-|Ly-jUwGN`6Z7-`jz1dz zKi*xx;TXTgWx4zNY!lP}^J+zF8Xe}$<_ssn{ zdrD$^{m1%$huD8K-aPcM_4S8m-(G9iDICuKySo0&@_)DD7ukzW{&V0yC;MBq@VMUV z^{P z|F8c4c>Xc_Esv+X`}Xf}Ra;%Cf6i`-{Ev%=&p)s*UT~uR=h6R9l|M4q|CX=+SN)OM zc$qPOtJLlMKL)c;^~^L=7Li+c;uHH1#+n-^vi>yJ{|x`}d;hQf|EoVUm;b*$U+qWZ zEw#<>dR9-if0T8UzvkEPdamHxNoHSmyuH8vBeVKj>wo{&|I3%3DSzRNO#5;BFADY# zXVoS6>^F~p&K?!JZPjl>`vvw7*pD65Jbd%0`!jYu_S$Fnd8hws1ljrf{zUm3i>>oM z+5b6R|7qe6#?v#8{WRa8|Pa+kfGGrT>1{fBe%>`}^Ua23tMD-G8_ru(LQi#C&9SG)VmQU%k#j zL+tdz#1|56oy$@$Y+;?XY~d=dRjZUvb9F6JIBhgZMX^h1`gCTksZ31@0&R+k5*M;c zIS)6?otrb~eZ|HIgZbxYo_}6(PvX3A!Cistu?Dk!XPiBDqHSTqEU}6NQR5f8I+t;- zn6+@1|nisZYPZRePDlcfB+~ggr7& zfy3@zPS2d%Cnla-qIo^r$F{xsuxwB!_xAS-X0pv%)iA*^;_de&-^G_VaU5?}n z7FC>iadgHO#YxxAXY{g&E%L~WcN3TvIbFT}hGMw35Sy}q@1Jhg$(s#ZR~@QNc3HS8 zA#vfB7^}11-(Hml9GED}l6mOw5x1GEa+aRDQ^Ne@>~c|~rAjMXduC7j`J;c&$+vr% zgW7KWV_T&0Xzu*tfcr6g2QR86N?gkDSrKB!*~G9vPKATXYb#TtL=YF#v4v-wtd7nS z>y=%1Io0soai+ZE_BsxMHQzF0I9@w9L)T zSFAeq^{eUerTnRIHwHZo$&aJGQwioYvSRBE4ku&7Re(S6jS}S{d@_&!0ID3q16u zKaRftORV`|L*0IVz3Go<-~Xfbx6VE(R^0%V#X>%$#-S?%ktYw=;gIdOA%~iCP<0le;}iH)?HIOy%CV z_^;LDdOUQ0JwX*y?Zjk=@2aQFMiuM8ib9Xl2%!oZR!^!<_a z{U2MBj#_vUVm%I;o&Gv`u{8Dquox7)+d=Q7B6 zK6-b~?MLtZA5jsv?zjYsh#Y=~ zm`y&}^8H?Q|Jk#?GRF@V&elEx0gle z6crXW>YVO5p8V-&P0h}VdF{_DXDmDU@}=g=5U%^*Ev>DU=lZP=y_2<7f`{$nqTH>! zc-p`JIIOryQt8hl{eNdS{MuN%Y182kMJJr5R{r^6IBQv9aq;2F>i#?S?Q;ta<>TYy zXkxftTKWI)cg^Xi4FwyJQw$!ea}*L(}(t>0UTf zYjbIe;Xau~8v5HGe2NNtY$@(KQGw&e?c0Yx+uW=F|F`1f+c$4MJUYt#>~m#}EW4w_ z)~H_X{&S3b;|^t7&6utDN!|XZr_oKFNh*uwG_>m*4lQ=?-?3*;kG8#y&62BGf^CU5 z$B!l%&inqertkHxH}Br9GgY|7D4*eQ)={^jL%&@!VPntc<1-I}A;ikX{aIV=t846obp>43RZZ@Afk%rcFur8&|q>+8Pm z=jPw{e#RDyrS*2{uM?El{dw@9;q&KWm%@|ZU5{s%$g8wh<>%|y$@MyHjaqs&Ypt*2 z_N%U|GfSfN7GD%SbpG$1^Q|*|*c=4}kMOj!OBXI>XJ_wN5=t!l4dvFRU%#~&pguK#y+ztpnJFGGD6c4%;YtgI_2Xi(tT zayysd+xPF+r7mQcJnCA^rpiC>$*cIVdp+A1zUPf;0-=47i<%IYyoj8^@uf(u_!X(YNPd*-( zYwwp6oMG3W?RsEQg!ZP>p9EH3?b;F*+qG3mEH!Ga*wIr~b)e_}U= zrC62D@LAU5Cfs(|@Z~AByLs|E^LH<((oqp^x0HVAd#`qT^E&Aq`S%M}X{~uvwPAxM zv)yRR&W|1`X5TjCia&h0czL4P zT-DsACquVgkYT@UVDN=$-?E9ER^XKTQZxZQ-&YLb>i=L!q`2AVSq=rR}E4+N%oTuzL zv*!L`jZ+qVEh~O^R5`3SPumy~ppl(Yrn2kq)P4_nqq%xBeAIl@YQL0ph@UHL=A3-A zW%e`HzrPuUtIwP%e|f)rqHX@M95tn7K52`yXQWREHrlkoK_J#8@X5P#Zh=)EL2RBy z6PK7w?P^o7*m9d$YpQKcy~l3e-McNHeP*3!zU1yc$4@F#db--Y?eZ6CF#lTQUSRDI zTALDT5@0aVS@Nd%1aYOyuQe-m59HmS6dqD!J-cV!f|3`PGxbhfby>H+l(%PQt76=# z<(FqXY)wAmBX#n-SEY6$#J)=_M&fUkmnP#aiPJF1VcA_iM=(~fa=!9OT zZwZd8rX;U>d1Je<+9s!6`yJL_ul(5iw1!`=#_f~d_jKMv1`DoBEe_+pV;(zgORdM} zQwMg<;w67w5VW>qYfJd|GdtT=IB$dOo&DVHR_%?nYO>-NU# zjEi7msqwYfORsL*#Cdpv)6%BfZvD_A}e})q4jLT**+X^ z`Q~1fsJ3wOJI~tkS@HPs{=iFGw@xfD`7ZEOX7f}N2quvzOT}-x`?BSbIt3koZ5Z8TxM) zJnP!??U$n8`Q*Tcd0 zeTR?mN$|4&c*Jqjpv1@d$%Bh>%TzZ^zU?$k)vVv_dPDjp6>B@YWfwCFN=lBre5tv6 z_il!cMLW_a*z8%Nv*4S>=?sa2@3G?k^OUn@_2s=dQ)QdtnNo1keX6UTzW&Z#yBt-}6Y74n+kXtRntZV9XJf<5 zBXP{?g6 zJC)Oqx^@miF7Pm5c1^;P~^akgJ=N4`AjYqUMI?QKQJ_HEmemaNH?di+rW)CSsr zfBE&-f-H=CTCv4o$Jc1{qtUmISSwAwMB?X4&quDMpEAvvmdE zW!aj{_I>u*a&4IQwkr8qFTPfBN_YEhKAck2{bBb0pXU!B;46HhYPxu}(X3@hRgV7s zYwJJH=AZ$Op1%Ign>Q29W*?0x%+BUMURd$(kLB&#w+#bqt*sA#|0^Nu{$j<|S3-=! zx3^7ny{Hr)DiQN5Vye;7Q07H)Z{ECluuCsdB1lIpxj-tgsPC}=3*%I;)}J+UlZ6De z>M}INvt4(sT^bs=LTuvs^XFgk8+mN%xn3f%{zv2E$H{(vein9iYCO(<{{G2z2^%Ah zoUoWxeg1QjOYF*!471sWem%<+jPB|-RCT^QD)P`f{#Q`OjFqbP3v_;hw1wLW2!CM=N@ ze}3ABbN-(v>W}B?i*bMZ{ylSRltrJjL|aaN{_!1#k6I=P*k(DHeDN%JWg`1!*SQb3 zxj`+8)rn@aoduSExh41Xu&;_Is6Bo7@Zldh;;s{`_WoP=$Klh@!}sbVBzxUXbRSK6 zS;OVS6`HM@(71Q6?X%C8zkmOJ^Y-o0^ux||3cIE$SE)t*bS^WQ#WY*>*oVJ%MXRqa zx;}ez>6Am(pKsXQSa36E)BgSa8eMbd%sCQXXwvUlci^*4lfr}7@&BvN2)kT4b31?k z-^Ms|;SV)7a>_Lix#M|W%imVoBWWyXH07IjO4u>?NfmMPlD_^3$TXW>*m{!fZ{=Y* z(et0Db#Dmq+PF1y;cM3%2M*^ZQKfZZtGC>KTftRxzyD-+#|)2irIRG9E5BTO>}4%z z+3NaxZn?+QAddZixcAF+U6yBojQzYjm+dg)(#Kpy$2A

N_i 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

2y&Erk826fd4iQLI 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%0Dr`TygIIk9*T^m`qbx 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 A=l}o! literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive.png b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..e6fe77c4e2f56c384898f4c4f6ada5eabe321e22 GIT binary patch literal 78356 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

QOECeTi^xmD0oquU@?ptXKH=`S1_s*S9`*T&b$J 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive.png.mcmeta new file mode 100644 index 000000000..f3da053bc --- /dev/null +++ b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation":{ + "frametime": 2 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive_n.png b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive_n.png new file mode 100644 index 0000000000000000000000000000000000000000..36c0d360ff2c71e2a0406a4128fea0c16cba1cff GIT binary patch literal 1290 zcmeAS@N?(olHy`uVBq!ia0y~yV5|aR4kiW$h8c%gjx#VYa29w(7BevDDT6R$#Zvn+ z1_qWro-U3d6?5KRF=RZTz;M9efW;-pqo+2yIIcgp_dLUodsVUwe_HP{2<~Q7Dr0te z!`5+wS74*GLXx?|k-UbEQHjwY8BGkM*ll?74U*BsFq#bpreuhT@Mr$hsNpBbz`(%Z>FVdQ&MBb@0L){= A=l}o! literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_n.png b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_n.png new file mode 100644 index 0000000000000000000000000000000000000000..14dc60912c36475438bf3563c3e01113a33fc70b GIT binary patch literal 633 zcmeAS@N?(olHy`uVBq!ia0y~yU`POA4mJh`hDS5XEf^RWI14-?iy0WWg+Z8+Vb&Z8 z1_mZ=PZ!6KiaBp@Wak|+5O96yd9-O$b47a2*?WxEi|jcjEVJp6C_eVEPUz9XD+=>( zaq|5B`!S>LQ_Xyt<9D{m|6;DOW^K@9@L^2gVhCoK!E```VHtw~Ys1?)$Gy)z&Yc&= zaHg8I#&4C4p7|dhzF%Au?){nl=96a3S3w2K{>gKX6$@B9WZC59nf&8EG_PgyOkdvP z`k#Bnj2vdYZ?EZkAoeT)GQ>mb(Al$J(M(zKaq9pa%;Y_6~KRcLfKe+!S z-^HBqo@lA|E2W0(_4P+M9x_+t+g?;^;hJ#p`!#<-^DR~%-J)0%nYZkF)hVPH)4;Pw z{pVMO7>3Q~-4^Vh-OBU9SA;?A+x7)T_oSodYN*%!HsqFhaLCxDMKZoq;z2^%<5xRx zetEw2?2Cso2KOr7ZrFA6QQcpQEpkjUTK&@RZTNH_iJ90{*1g}V_jLo4nJ;=^V+ns6 c2>oX5SsqX#{lNA<0|Nttr>mdKI;Vst0Ltk782|tP literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_s.png b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_s.png new file mode 100644 index 0000000000000000000000000000000000000000..f9293c0534939e1360ef54fb6f11895fd7a9acac GIT binary patch literal 395 zcmeAS@N?(olHy`uVBq!ia0y~yU`POA4mJh`hDS5XEf^RWI14-?iy0WWg+Z8+Vb&Z8 z1_nl3PZ!6KiaBp@8)hAL5OBB{STNap`G=*!r$QYhW=^>ALFDOv<~3sb0ueKBk#Xeo#y|$ zW~ILXR0=~aVS&S}JK}%sTh}js@ce@U#&>UXZ`ZrtY`f`K@jCPU{2ed2YtrApz2Ch_ uw(!6A<9E6l3GM$`=3;XdVVlTOVLnGn+$Ab2o|A!rfx*+&&t;ucLK6UGR)B#3 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/egh_planter/egh_planter.png b/kubejs/assets/tfg/textures/block/machines/egh_planter/egh_planter.png new file mode 100644 index 0000000000000000000000000000000000000000..66cbc280edd82c2c0c172dfbcff92f79a2f0f925 GIT binary patch literal 1837 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hEN=~bzOH zJ(g?ljtz~=bP``K-TP&l>IIfrTP#&CI7f5v?iJa(w`D@JeqkZkq8rhss^7G}Rk%%4 zjhr>}dh?o(Cj#e8e3Q1T+fJd*|8TYO{`=qm-rFy^anBwd?p7wptgTWE_y46$_WiAU zY-{L!rboT&|2kZ%VCr0dY1`}hc|YFzUVgHCyWV8arHmOCd<tRxy4SB-U`OUG5iZtaUjwziN-f>g8oHJtA*IwzSGXbQ<|~eULF*Utry6MQ z?n!g|)w?(SijUgi8#f}JUtKs&@_Jb1hXt3J*3Nr=QgHXh!tVM1Uqs#ao4M>}`R%yC z;FThiCr@U0^Y$&{0{yz?dYi-Vf3ov`c)Md;)s4?AI*XT!c`OV_$je)IenOS=-CMUF zy}Z0!R@~fdAJY}TDU9>QckwlD+-S(v$~601&V9)X^SJ-re`&>XYmN%Do4fnYf`?A= zelwSy{9gaZ_T>(}vRrMY{Ru;QEl=SkT4TzT87BkTVc*_QlGZg-ec>|iyKA&RjzwX966 z!N*8+*V&EE50*$42qkTt5&!S3zMb2&*C%E;EP1qJUb_;@Dxt$`O$Fwutm7|!-Cxgo z;KI35le||mR*K*%O z^R1%5pQoRH?kj6r?z#5jhtqOR&#&3_E^{x7a6Ns*Q$2adJQuIdY6Z91pALrE@x-<} zXkC?Z4oq_h>iwNMv2QU)KyuTv*AxA;I2eC-IfSyFUFNQ3{N(!dORvjLuPc#d;^yYQ zlC{<2dBZnHt^<>W9{UI#pS&aP^@h#Cd6UkrSTfmgQeo>{hYN<00jrTi;Gy|TuD-s$e)FbHPI}X;560~*a+TX#_xoG!gWQhoP4i~Y7G_wi z(8NCD>({TssV*OE)|;t*UFL4IFyLOXgx}E*OHxuimR>9HJSLjdd-&J$O;InNYqTXU z$dpRdm6`Wj-oCD8l0?6%r2QP0`*Thi%;{28-LdY-z2X(`tFK7Q&D?V9RpEC7<|g46 zs{_)~(ik|hy|zb}xw2j; zog0@k;q-KU@52TR8dJSuc9*SvA0Fv=>Z;a-S>1I%+wH$!*>*2y->yrHuWsFvVn}=& z$aDC|{FL@Z9sAU;rCZ-#zpkW#D&&GP(ASJ)2Gg`)`u=# z{&l~Ng|gfni2CNjtC53k`*^;n^`bkkR-pAXg+t>6<7*N^*h z{nyHsnq5be+OL+*eV|hQ^3u|M%|^b)C24!UKU|ci~1Fa|2y-4-TU}yfJBoR6HyIstb z?|Dy-TFaj~{q1}60*}3m)~s2x;I-A!B*D|0Hsne(+}>8J*u=CqZ&@#A&zg73|Lv8o z1iPML^QO~V3=bZ*K7D9a*orIJ|E4eBpmEpez_#4`Od{Q`C9&zLsZULkt*7k{f6uMF z`uBhNdy!%Xg_EMEcw0oOFV!#6fhuhmOmfrQR_q}|fbneQPnmVUHwI6u>q-T@x=4b4EnqV zJ3{vP9r}{8;oM&7pYy)UX+6lVxW%}w+UCaRw^JW{{&ZAbXW{kJ`dSaq_r?dXF}b{T zxWdEIajS8KB!|FO=0IZsg)H_(X$lTk_*~99G^~*AnAOM-Xf0sM%($pbA&UeJ|5@9t Xp3D9afB%Sqfq}u()z4*}Q$iB}5gL+p literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/egh_planter/egh_planter_n.png b/kubejs/assets/tfg/textures/block/machines/egh_planter/egh_planter_n.png new file mode 100644 index 0000000000000000000000000000000000000000..9da161220a09db2cd096b8fbaf17d96c2fbdb126 GIT binary patch literal 556 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hEcNH0Z>p!(lKEUCqdP$w9bJo#4l|0Nh zo_$U3IVQ#Hz+1ueqOoAL)t9P!+c|Ef6~t|C{QCHN!t2U&PcxbKyQee!JIlbZ;@w=% zXbafUmn(x4mi+4M{j3?T# zdRaa_Dip=K>iGtx8NGV{!kAU$7wP3TTx{^N;Qf1dR=}QqqX(wj%BvrCd}mzAK6_)d zknSVDij&dzbRX%auiK}4=-^qNk8ggw(+~+~)0ru4Qh8a}Iw<_#`~y=NPnV?y^!{$R zz`6d1@_Y5Xg8n}xR~}}pKKPEsd2w8>SOjy-=YPS`y!&_}f^ykz%uV)>A3ET<-E;THDBJ^Ven~v)AhV2)g6ny% znQr*?;?e#z=^4LoP5pUKe(^815PgM8;WgEC_YgA|Ii rkOTXIi40Z@y(||PGw>@p%b#}k;JO#GAJP~Y7#KWV{an^LB{Ts5zt5?? literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front.png b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front.png new file mode 100644 index 0000000000000000000000000000000000000000..67204ecb4ba72c3a5d71172d340d5c931c987dc3 GIT binary patch literal 431 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7%RF5iLo9liPTuQ%I6&lR zedeOI%j6Rr+Yc=c7Kmx_bKLg%opSjNxoVR=jZa-YD*8N~eOB)6g#t_r znyP(|GZ@$$)?Zhy;Ns{B-{Z}%n|tKXzjtg5iY!;NL>t0Zi&}de4f`@f?MJ==gWRtE zJput5GnkKBYv`Og{%Yb|k4Ued(+&Uf@E+LqR)EctQRnopPn%xv;$-i8oZ%J{;R)*At>P_`JP{8KIF(pW5?zWXzvkEVMuRZnDXx?+xij5IROnei5a7{}sEV;ET z^1hsPwTN-whON7t?B>hwc4SHZGU4=7A=mrgk7qyFrMLO?Y!(Lzr&AX=f7covFm+&D zRx($*LDJ$*{-q2PJ1Gy%nXA_?UT(s0<_t^!dB(rn1seW*QDL~b<>0wXO1qD%m$duO oyutjVPTcN2gFyX?`iHWusS|q*@0CO{FfcH9y85}Sb4q9e0JC|#tN;K2 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active.png b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active.png new file mode 100644 index 0000000000000000000000000000000000000000..334a35d210ab68b1369082e1c35b1501aa2fec19 GIT binary patch literal 5857 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 I>zopr02s<8;s5{u literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive.png.mcmeta new file mode 100644 index 000000000..cc8a1f3c9 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive_n.png new file mode 100644 index 0000000000000000000000000000000000000000..362633c33a80efdd2e6f86c52ba0d46d578fb247 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7T0LDHLo9mlP735=Rupia zf3*7O?6+6XoP2Y9*DEm{y>F`-6JoOfVM zNK61RI^zW&m$S90nPk6`P&5(N+;+9d(ZERIBtuR^tH{x__YICpNUjjF`-6JoOfVM zNK61RI^zW&m$S90nPk6`P&5(N+;+9d(ZERIBtuR^tH{x__YICpNUjjQU?3X literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_n.png b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_n.png new file mode 100644 index 0000000000000000000000000000000000000000..362633c33a80efdd2e6f86c52ba0d46d578fb247 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7T0LDHLo9mlP735=Rupia zf3*7O?6+6XoP2Y9*DEm{y>F`-6JoOfVM zNK61RI^zW&m$S90nPk6`P&5(N+;+9d(ZERIBtuR^tH{x__YICpNUjj`naFY7O2+?@M2^FO%HwRFmL{RRtPVTSwHG&-jU9Vp1v zw#W^c)R88pqR81W=d*jLP@34I6|Z-#YcFOo*j!M)FnsOSoy=Q~P1O0;u&pVb(crvs z!QSutelomJEWc$wpJ83p>xX})oaVe>ZLvZAZz0q5O*#j@<*qML+Vv;YX0mp9gZYsb X{{u1Sp6f6$Ffe$!`njxgN@xNAa^zZJ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active.png b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active.png new file mode 100644 index 0000000000000000000000000000000000000000..546713fdaa90f95324969ab1f2dce253bfac9828 GIT binary patch literal 6897 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive.png.mcmeta new file mode 100644 index 000000000..cc8a1f3c9 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive_n.png new file mode 100644 index 0000000000000000000000000000000000000000..b77416ed2bf75bcbe8cd9e99a5a3679fb0b1d36f GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7WIbIRLo9le*R22le|{s= o0hi8afy{2a5~c|Tk_-&7e9SUQ?>0PRU|?YIboFyt=akR{08;@L(f|Me literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive_s.png new file mode 100644 index 0000000000000000000000000000000000000000..351573e66540363b673cc03b299394cc3bee390c GIT binary patch literal 2077 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznV7kD;#=yWZv*p7d1_t&go-U3d6?5Lk-Yxp9 z#S>z+_vCN;9KBk-eYe<|e?@wlZ99A}jO_{2n* z^~&XK+A~;+>M(ZQs1Lh{Jd-1#oCjH&jPyTw@}4shOMyLg**QS>Lr&NQXSV~c9C zV|lMhS6#2ldfv~NZlhORmKku!Xu+C>Du$cCGfd?Fth2xJck89!e$AWiw|_qPEud&k z?;^HIvR~FM-2UO0k6i=HjGqi&19n}D;9H{hVfydp(8)1&A8t5ZW?k~Xm(5nr=XtYK zo?XJ(o2QsxGavuOzTW?v#Dba|91in%xC?%>-zs^><-is^*F&oBBmaV*0oe_|IA0wq z^0gCKzUe66DfZSgmaPF!c0rS!6%FE){Lhrw+9j}G%sO}W(X2-c6$E}Bcw&4_>Wh@; zT_ej`LPb9vb`@qXIO}q{>IBz@sAR2$PmcMlsDHp!d1C>0ZLRj9i`Ac{)+e4zWaNC`;m)!nm-XE98#KVVu`nK^C8!#^>% zOn*3BInXrM-Mi6t+OawQC*`mFa171gvM_yiafCz0=_^v^Gk!K4KKkRpCcA4A_WXC! z4Ypmq`C5EULHR<<_9nH5VLo;STpY3sZ`|$q;F#a^)!^p>3)V+RU+eE}H(ho1=3(a9 z4C^J|o4i<=E}C&p{TkEkW}Ub@J^WR|eRqx4N*{Q)FC{{aF)XHqU+I~Qe6xZ49y>?7 z7oM&Ka`HP^zp#`pHq$?+Iwg<8!ApG04o6>)X}o>UnZMU9Ua~HY|M7L!@I4pSOn$1q z=YGehLxs&191C~!Xs$V^$aHF5$3MsQjDiy8S%u8I_a~U;7CpJNtL8zhy#66}mw$!| zOg|U=vuWV>d8RYh+n{t|$&nZ-j}zAGa~$(^d}=nt`F3i|;J4XVw6=A1UZX{{!^ZA= zwhgr^g<9>8Sl@9<9sBHPA^H4VLQehii!}vv8g8xGsU5A5={ke|#u>9G@&{giICFN_ zNp^RYMP3o-v{zN<-kM?4$iJrSyqe0z&S362U(fZ;$sVZzrJ8$ zRr=e`ISUGO`D^SpzIzs7S5Z6fB)bgXjcfGuKnGYStB5}VNbK&rEBZ{ zw49gE*kK`Gk@TYbbEEc?i|6ELnrwLHAHit5>GXwiu}!=WdO_Ir*I99vhx-Yj{03+ve_^!%RAAwy)>rpJrFh zi+R6?(_zjjp|kspySBc*@1&t;_rkR0#{%<%RWoWF{)Y!t7`~n>{HgQ)G4{Qj%eeyj z#j|)jr*tmKT%h=UO9-F2(nOqv2tt=sWxt|G4r`yOou zTS3uvfAgnplm5&Y*wp_;wdTPkhgoyYKl4{Lyqep2tMrO!!IbWR&4s+58;^&_ZM`A) zZe?_Yz2*9guQP;w?F3k54zcSoMsa*$a5Bt~D7s#;*VwiA^;i9ve~ecDgC~EU%-{Fz zn(lMat4F`iHkvi-ZoBCNmgjSietfsRx03tmld2@!%ZV+IZmDhJ$@tOoq{1%a)!fbv z<`?g-&}x-C#;$$n>$&8g2SiF%I=!f@IdCxN+=ks^G(-~$~0%k&@#>j6NeuPds40T-HV*-aY3ShEm=%KaVr0jtrt%* zuVG-(Y%$t@-t@PP&>?1Ry??dq^mqgO4B*9tgw5#~<~~ zz5M@O?KqY?+zqxi7?%h3M&6%sfPMFt4eI@m-Z9N-5iGBqz;?Fw%l5!lz1P-^ z`=hAX(QSi7H%y!-X(2E$3;SbQIB7w9taUr?2wdPZH8xq=w$wkYv$ir z3Yc#0pWMt}_W7vtf+IU?F3c`C{)=7v+~elU-=w`;&RW{B1==Z`x)<+I>FCS8i#3AP zQL^VExY0;XQ7?P$Enq?=ALHHTv_;K&8KCKf8E3P9I$mfTw%w-e*gZggAw-} z#Fm@AuWAne%jChgyH>6H)|`f)wd>A5W7aaY}3}wiClW<{{0{FH&#C=%0PRU|?YIboFyt=akR{08;@L(f|Me literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_s.png b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_s.png new file mode 100644 index 0000000000000000000000000000000000000000..351573e66540363b673cc03b299394cc3bee390c GIT binary patch literal 2077 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznV7kD;#=yWZv*p7d1_t&go-U3d6?5Lk-Yxp9 z#S>z+_vCN;9KBk-eYe<|e?@wlZ99A}jO_{2n* z^~&XK+A~;+>M(ZQs1Lh{Jd-1#oCjH&jPyTw@}4shOMyLg**QS>Lr&NQXSV~c9C zV|lMhS6#2ldfv~NZlhORmKku!Xu+C>Du$cCGfd?Fth2xJck89!e$AWiw|_qPEud&k z?;^HIvR~FM-2UO0k6i=HjGqi&19n}D;9H{hVfydp(8)1&A8t5ZW?k~Xm(5nr=XtYK zo?XJ(o2QsxGavuOzTW?v#Dba|91in%xC?%>-zs^><-is^*F&oBBmaV*0oe_|IA0wq z^0gCKzUe66DfZSgmaPF!c0rS!6%FE){Lhrw+9j}G%sO}W(X2-c6$E}Bcw&4_>Wh@; zT_ej`LPb9vb`@qXIO}q{>IBz@sAR2$PmcMlsDHp!d1C>0ZLRj9i`Ac{)+e4zWaNC`;m)!nm-XE98#KVVu`nK^C8!#^>% zOn*3BInXrM-Mi6t+OawQC*`mFa171gvM_yiafCz0=_^v^Gk!K4KKkRpCcA4A_WXC! z4Ypmq`C5EULHR<<_9nH5VLo;STpY3sZ`|$q;F#a^)!^p>3)V+RU+eE}H(ho1=3(a9 z4C^J|o4i<=E}C&p{TkEkW}Ub@J^WR|eRqx4N*{Q)FC{{aF)XHqU+I~Qe6xZ49y>?7 z7oM&Ka`HP^zp#`pHq$?+Iwg<8!ApG04o6>)X}o>UnZMU9Ua~HY|M7L!@I4pSOn$1q z=YGehLxs&191C~!Xs$V^$aHF5$3MsQjDiy8S%u8I_a~U;7CpJNtL8zhy#66}mw$!| zOg|U=vuWV>d8RYh+n{t|$&nZ-j}zAGa~$(^d}=nt`F3i|;J4XVw6=A1UZX{{!^ZA= zwhgr^g<9>8Sl@9<9sBHPA^H4VLQehii!}vv8g8xGsU5A5={ke|#u>9G@&{giICFN_ zNp^RYMP3o-v{zN<-kM?4$iJrSyqe0z&S362U(fZ;$sVZzrJ8$ zRr=e`ISUGO`D^SpzIzs7S5Z6fB)bgXjcfGuKnGYStB5}VNbK&rEBZ{ zw49gE*kK`Gk@TYbbEEc?i|6ELnrwLHAHit5>GXwiu}!=WdO_Ir*I99vhx-Yj{03+ve_^!%RAAwy)>rpJrFh zi+R6?(_zjjp|kspySBc*@1&t;_rkR0#{%<%RWoWF{)Y!t7`~n>{HgQ)G4{Qj%eeyj z#j|)jr*tmKT%h=UO9-F2(nOqv2tt=sWxt|G4r`yOou zTS3uvfAgnplm5&Y*wp_;wdTPkhgoyYKl4{Lyqep2tMrO!!IbWR&4s+58;^&_ZM`A) zZe?_Yz2*9guQP;w?F3k54zcSoMsa*$a5Bt~D7s#;*VwiA^;i9ve~ecDgC~EU%-{Fz zn(lMat4F`iHkvi-ZoBCNmgjSietfsRx03tmld2@!%ZV+IZmDhJ$@tOoq{1%a)!fbv z<`?g-&}x-C#;$$n>$&8g2SiF%I=!f@IdCxN+=ks^G(-~$~0%k&@#>j6NeuPds40T-HV*-aY3ShEm=%KaVr0jtrt%* zuVG-(Y%$t@-t@PP&>?1Ry??dq^mqgO4B*9tgw5#~<~~ zz5M@O?KqY?+zqxi7?%h3M&6%sfPMFt4eI@m-Z9N-5iGBqz;?Fw%l5!lz1P-^ z`=hAX(QSi7H%y!-X(2E$3;SbQIB7w9taUr?2wdPZH8xq=w$wkYv$ir z3Yc#0pWMt}_W7vtf+IU?F3c`C{)=7v+~elU-=w`;&RW{B1==Z`x)<+I>FCS8i#3AP zQL^VExY0;XQ7?P$Enq?=ALHHTv_;K&8KCKf8E3P9I$mfTw%w-e*gZggAw-} z#Fm@AuWAne%jChgyH>6H)|`f)wd>A5W7aaY}3}wiClW<{{0{FH&#C=%QU?3X literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_n.png b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_n.png new file mode 100644 index 0000000000000000000000000000000000000000..b77416ed2bf75bcbe8cd9e99a5a3679fb0b1d36f GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7WIbIRLo9le*R22le|{s= o0hi8afy{2a5~c|Tk_-&7e9SUQ?>0PRU|?YIboFyt=akR{08;@L(f|Me literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_s.png b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_s.png new file mode 100644 index 0000000000000000000000000000000000000000..5e7078b7656aee5524ab2d637058e242774ab226 GIT binary patch literal 157 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_emissive_s.png new file mode 100644 index 0000000000000000000000000000000000000000..b67e4f9c447e445164007c94b194854a2f2d74f0 GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7oIG6|Lo9leQxXz>oOfVM zNK8mb$WXe}VdW;nW?*1oaHZ(s^*eufcUuS-mOW-$%+@1iV8PSyoHZtMu0TS{0t0Ji ah9yhb=UA8CxyQi3z~JfX=d#Wzp$P!?-zCrh literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_n.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_n.png new file mode 100644 index 0000000000000000000000000000000000000000..8b66d61daa809a9298bc8ff8781622dfca01d2a8 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7+B{txLo9mlPIBa9Qsi-! zZ?oQ+lW#V2_Q&b-R_UdcOo-r}wd2Ejji3Jmxl$vQemIF9koj^<<3JRX2Cs_Vv=-h8 zh41)xGrn%t4t#mtS$wLeYkl}{28G?}j235^&M>n74D&Dlz-}z@wc6ny*SvP71#geu ux?JYK;d48_UahpTutT)(Z1^diaJFWpr)tst(-{~T7(8A5T-G@yGywpozD5NA literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_s.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_s.png new file mode 100644 index 0000000000000000000000000000000000000000..b67e4f9c447e445164007c94b194854a2f2d74f0 GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7oIG6|Lo9leQxXz>oOfVM zNK8mb$WXe}VdW;nW?*1oaHZ(s^*eufcUuS-mOW-$%+@1iV8PSyoHZtMu0TS{0t0Ji ah9yhb=UA8CxyQi3z~JfX=d#Wzp$P!?-zCrh literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_emissive.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..c20a1c9810d77b74d42b9829129c1c640700e925 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU?3X literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_emissive_n.png new file mode 100644 index 0000000000000000000000000000000000000000..8b66d61daa809a9298bc8ff8781622dfca01d2a8 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7+B{txLo9mlPIBa9Qsi-! zZ?oQ+lW#V2_Q&b-R_UdcOo-r}wd2Ejji3Jmxl$vQemIF9koj^<<3JRX2Cs_Vv=-h8 zh41)xGrn%t4t#mtS$wLeYkl}{28G?}j235^&M>n74D&Dlz-}z@wc6ny*SvP71#geu ux?JYK;d48_UahpTutT)(Z1^diaJFWpr)tst(-{~T7(8A5T-G@yGywpozD5NA literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_emissive_s.png new file mode 100644 index 0000000000000000000000000000000000000000..b67e4f9c447e445164007c94b194854a2f2d74f0 GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7oIG6|Lo9leQxXz>oOfVM zNK8mb$WXe}VdW;nW?*1oaHZ(s^*eufcUuS-mOW-$%+@1iV8PSyoHZtMu0TS{0t0Ji ah9yhb=UA8CxyQi3z~JfX=d#Wzp$P!?-zCrh literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_n.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_n.png new file mode 100644 index 0000000000000000000000000000000000000000..8b66d61daa809a9298bc8ff8781622dfca01d2a8 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7+B{txLo9mlPIBa9Qsi-! zZ?oQ+lW#V2_Q&b-R_UdcOo-r}wd2Ejji3Jmxl$vQemIF9koj^<<3JRX2Cs_Vv=-h8 zh41)xGrn%t4t#mtS$wLeYkl}{28G?}j235^&M>n74D&Dlz-}z@wc6ny*SvP71#geu ux?JYK;d48_UahpTutT)(Z1^diaJFWpr)tst(-{~T7(8A5T-G@yGywpozD5NA literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_s.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_s.png new file mode 100644 index 0000000000000000000000000000000000000000..b67e4f9c447e445164007c94b194854a2f2d74f0 GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7oIG6|Lo9leQxXz>oOfVM zNK8mb$WXe}VdW;nW?*1oaHZ(s^*eufcUuS-mOW-$%+@1iV8PSyoHZtMu0TS{0t0Ji ah9yhb=UA8CxyQi3z~JfX=d#Wzp$P!?-zCrh literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top.png new file mode 100644 index 0000000000000000000000000000000000000000..d74402b0a5ed4fb10ff61a0919c2eea19b78d8db GIT binary patch literal 341 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7WjtLRLo9mNPBzSHGmvPL zKba$90fLn6qbfG@-l1Zyv{iwmN$!y;d*Jg-DAEbQ+zI$M3^-QG!@G9GCcO& zq%*tG`Nn6PE!U3yEEm18;q@*KMTQGe@^YouJpx6}ZrE>f|2t#G?Q01#Kig4)FLSl>|D(ScRaBNbE}XLv6o3q#u6{1-oD!MK;KpD_`$cHLwi(WG*kOLo9le6Be*#{Qdl~ z{!i=N|0e^_A3AX0KtaxVt+wO*>x6O@SH5yTsIfp;;#MUigTAOv{Jas0>q$n!h6jZvzv*AGU)@9wU z{j%149Z~z&zbY-YwX_aSjbn09f3QExJ3c#jQBa>f16OAID$g~$1N0c~T))mx5!{() zGh?AasF01w;sTW?98Y%ty4A$cvV}Kg;{;z>=8Zd|t>^6&2&v51dADI6pURVRohL#| zav7NRG`l*q6^U5S`=fI#zMCP=Oz`=0k=pLrmPI^;Z#u+}?QUG<_%%&7a*;TrK%%q2 zj+tNT6%1?^GKPDb7@bhK^X3Rcoz*Ghq5^w3G9)^OMGS4;IbP0l+XkK*L~qv literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_emissive_s.png new file mode 100644 index 0000000000000000000000000000000000000000..c61d55b04c839c101da9c59ea12dd70a5662d7e2 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7ay(reLo9laPTI)TV8G*| zfAHx1vJcB;A1h>8>Z>LlWS{%1$Tx$>;Q=!rgQ5I#uh;%Fw*Jw|_-|Q+ z<+`m_;SNtrpZ2|e@W0{Be9^VmWi4LfZzLKlzTevRd(rk&Yv;3lsbINs%Ea0-P~Ng< T^W$g+1_lOCS3j3^P62W literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_n.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_n.png new file mode 100644 index 0000000000000000000000000000000000000000..3235e6201b86f871c28e54e37cc7665927c7425c GIT binary patch literal 524 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7FMGN;hFJ9WPWH_cb`)sc z|LWrd!%3{h+%12U&G{Jas0>q$n!h6jZvzv*AGU)@9wU z{j%149Z~z&zbY-YwX_aSjbn09f3QExJ3c#jQBa>f16OAID$g~$1N0c~T))mx5!{() zGh?AasF01w;sTW?98Y%ty4A$cvV}Kg;{;z>=8Zd|t>^6&2&v51dADI6pURVRohL#| zav7NRG`l*q6^U5S`=fI#zMCP=Oz`=0k=pLrmPI^;Z#u+}?QUG<_%%&7a*;TrK%%q2 zj+tNT6%1?^GKPDb7@bhK^X3Rcoz*Ghq5^w3G9)^OMGS4;IbP0l+XkK*L~qv literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_s.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_s.png new file mode 100644 index 0000000000000000000000000000000000000000..c61d55b04c839c101da9c59ea12dd70a5662d7e2 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7ay(reLo9laPTI)TV8G*| zfAHx1vJcB;A1h>8>Z>LlWS{%1$Tx$>;Q=!rgQ5I#uh;%Fw*Jw|_-|Q+ z<+`m_;SNtrpZ2|e@W0{Be9^VmWi4LfZzLKlzTevRd(rk&Yv;3lsbINs%Ea0-P~Ng< T^W$g+1_lOCS3j3^P62W literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_emissive.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..c20a1c9810d77b74d42b9829129c1c640700e925 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU?3X literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_emissive_n.png new file mode 100644 index 0000000000000000000000000000000000000000..3235e6201b86f871c28e54e37cc7665927c7425c GIT binary patch literal 524 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7FMGN;hFJ9WPWH_cb`)sc z|LWrd!%3{h+%12U&G{Jas0>q$n!h6jZvzv*AGU)@9wU z{j%149Z~z&zbY-YwX_aSjbn09f3QExJ3c#jQBa>f16OAID$g~$1N0c~T))mx5!{() zGh?AasF01w;sTW?98Y%ty4A$cvV}Kg;{;z>=8Zd|t>^6&2&v51dADI6pURVRohL#| zav7NRG`l*q6^U5S`=fI#zMCP=Oz`=0k=pLrmPI^;Z#u+}?QUG<_%%&7a*;TrK%%q2 zj+tNT6%1?^GKPDb7@bhK^X3Rcoz*Ghq5^w3G9)^OMGS4;IbP0l+XkK*L~qv literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_emissive_s.png new file mode 100644 index 0000000000000000000000000000000000000000..c61d55b04c839c101da9c59ea12dd70a5662d7e2 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7ay(reLo9laPTI)TV8G*| zfAHx1vJcB;A1h>8>Z>LlWS{%1$Tx$>;Q=!rgQ5I#uh;%Fw*Jw|_-|Q+ z<+`m_;SNtrpZ2|e@W0{Be9^VmWi4LfZzLKlzTevRd(rk&Yv;3lsbINs%Ea0-P~Ng< T^W$g+1_lOCS3j3^P62W literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_n.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_n.png new file mode 100644 index 0000000000000000000000000000000000000000..3235e6201b86f871c28e54e37cc7665927c7425c GIT binary patch literal 524 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7FMGN;hFJ9WPWH_cb`)sc z|LWrd!%3{h+%12U&G{Jas0>q$n!h6jZvzv*AGU)@9wU z{j%149Z~z&zbY-YwX_aSjbn09f3QExJ3c#jQBa>f16OAID$g~$1N0c~T))mx5!{() zGh?AasF01w;sTW?98Y%ty4A$cvV}Kg;{;z>=8Zd|t>^6&2&v51dADI6pURVRohL#| zav7NRG`l*q6^U5S`=fI#zMCP=Oz`=0k=pLrmPI^;Z#u+}?QUG<_%%&7a*;TrK%%q2 zj+tNT6%1?^GKPDb7@bhK^X3Rcoz*Ghq5^w3G9)^OMGS4;IbP0l+XkK*L~qv literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_s.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_s.png new file mode 100644 index 0000000000000000000000000000000000000000..c61d55b04c839c101da9c59ea12dd70a5662d7e2 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7ay(reLo9laPTI)TV8G*| zfAHx1vJcB;A1h>8>Z>LlWS{%1$Tx$>;Q=!rgQ5I#uh;%Fw*Jw|_-|Q+ z<+`m_;SNtrpZ2|e@W0{Be9^VmWi4LfZzLKlzTevRd(rk&Yv;3lsbINs%Ea0-P~Ng< T^W$g+1_lOCS3j3^P62W literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/progress_bar/progress_bar_egh.png b/kubejs/assets/tfg/textures/gui/progress_bar/progress_bar_egh.png new file mode 100644 index 0000000000000000000000000000000000000000..094588789892b5d719f0e4031fc3d39d3e193ee3 GIT binary patch literal 806 zcmeAS@N?(olHy`uVBq!ia0y~yU=U$oV9?-TV_;zTXL##20|V1rPZ!4!kIuc*_GjOA z5IMeo;!}wvb2W)OmxMYztV%otL%f%B#mw?!G?n#QR-z%tExW6PW8SU$hgMJJ4cc{oTopGJ;MS^L!Hp zonBnLDEK#9L$M`ak7@GSm5&xBN*EqC;4x-wOKcEuy8ZT>$n4pZat(Nx*S%hJHS6HE z+6feVpmoGJ6eYMKD{cQG;tb`;>|GAzDdmea@#D1E)*zoZ~#{>th2V4V?Clb*`^@1H7r_k|}ipXWKZmWs|$N!@(kH9eJg_TP0P3X{+1 zJyZPc%c|m}(DnAYr{_ISL7N{x80Qy=-%9#<%JAk&Bh`QIG4%^BmaqQ)@^`rZ%eCqL zN&OkezpXM_@M3M*bG9t=d}fBYIkiXkK3~tM@GNwVWy)_ZKIVq`>Ebd9apr+DWq%)e z`*G*P=lUzIFI%{N|ISCDY7+#U{O`yulE443-gZ(kS)Ts(Iy(1T?m>%vyHxW%lC*WJ>KiRdg8 z-4)Qk6ZQlh=P*gooyJ!8Z)(F`>cD=V%Adb5{xCQ5X4{QAz~>cZX1)at}| z*+g3AkK%z}zp7-JCE6U#X0J6C*`lKzpf$BXhW)UC&Be7&eUGmgI;;#iwC$}`;Q3Xr zx9r_}SGe%`*^0u#iLI@ycb=~Z(YmoMw%S>|?{URpgPvvQ{_t_P9=bL|;LGmrqe&Kh zkLSLzb2To@f3Rz7uJq|mOpbzqmrWvLW52FTj0`)lEtlca%Pryz_Pam4XUy2BqkTaq zw`S!6hK&(C_U6LBqj%gsa_^YgKkgrwdG1HqzWZ*!j!W?36NlyRJj+&fWK_j(UuJx_ zK2nx(zx4MK!HX|Hr@!!bf9dbCqhjNkg?|`M-@o@@dg;>>oAoQ1c>7#kf|+A?E#Dvf zxAd0u`wQ2X&%302T>fIRI$y>qo@}Gkj8i<-pEGo>yohiyv7d9{Pr)L`E&6ho*vq$P z8l`5KZTB|*y?EA5`K!nI)xWfMI!DQPX6N5oAS@lU$5?EN47?xNvVzI8WGg*?V>GxBi-^q*V2Avbm+*w8w|q z?*~LiDy6<#qJHh?ZuRXc(0-e1y0QBGYbB9if(@^)*CqW4nfK|I+UIbw8S{QMdB&~D-S<^ieouX$ z_w?0UcDy_0|CDjY@2}==UHYGIEdIVZ@NPoUuh?}lYfYDZx}{cYyVf9u$)IGxH9ofQ zc88aq4%Io$wdKd%vuE{;g4WEf`gW&MN%ng|)uSci2hQ7Xt^Bo9=jflr3#xuL{{^2G z&73)Nru9o@C95gD+0Pc<+r`0eKk-8I&K+`Rj)uB?xpjShrE_R$YN~7KR>j;|YTN41 z#)=EB{qsk))^_a)>v+SmH$I<_?2G;p`#<|^=I+a;N8cx0|MSn!`uh_G1_lOCS3j3^ HP69%<5hc~RqgfT=Fxut zz53Ozw4E`NmT7uUYH4}=(Iax&<@^O(-85Z8LoJ?L%=NQ)?zCq6CY@&cTg_+Fm>q6! zJCkNywmY^%b7_Fr#=Ci)i!?5#Mg?t8y8Mz80wheX?*yzSQ+PoK=3)wOk+0>_-Y zdG3KCpErHBd0t|*S8c7v3v1os1+(UCnsJ_ifq}u()z4*}Q$iB}ZzP%r literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/fish_roe_2.png b/kubejs/assets/tfg/textures/item/fish_roe_2.png new file mode 100644 index 0000000000000000000000000000000000000000..4572ae84d34d1169a4d8814cd5902dc49cc344b8 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7>^)r^Lo9le6C@-b{Qv)d zcEL$Q!ApB`Z*TLE`2FncY~3qGB6$txciv#=5}z>F+jIj+ri*Ffs)j2cBw1aU7#=Q? WbiO4MWyZk3z~JfX=d#Wzp$P!u@hYDH literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/flora_pellets.png b/kubejs/assets/tfg/textures/item/flora_pellets.png new file mode 100644 index 0000000000000000000000000000000000000000..ad2251707e040b46cf93feb6f1af24e6011c200f GIT binary patch literal 489 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7H+Z@@hFJ6-ow(mSI#A}Q z{r8`X4pr+-D+7Kh zZ*f)4&8yL0IqTA|bvtDji9hbPD0vb2?t9()?=t6XGOkQ z=Um=yb)$Z|(ro?@dn#qj(|_%~{C?xj8O<+r7DW_#EURI-m$zPW(c@Gy1e-@!wQefRvjzMnF95G{Hn7%c;3PAWyBI=Gx=}-X6W=ZS1AjqF8gxz zck18Y;q?XIemOt6A(ij6^MUlk*U>-H|FHhb-zYQJRZ@n5fq}u()z4*}Q$iB})lTO7 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/rotten_voiding_cover.png b/kubejs/assets/tfg/textures/item/rotten_voiding_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..f9e454d33363089d1f447ef1a9edf01ffd94c522 GIT binary patch literal 334 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7MLk^{Lo9mNPPX+wY#`7! z-|6&|4$cX)Sq-1?M|ioHP2us-`Ey9mLr3!FjE)2c9v=mkLt&>cJlqtjp=04YWf|iU zsD{SFe6++QDnP>}ntL;NMn%(*OZ`Mm;T~)cbkgW qeP{g3v9@&O)^~rzYk$rE!F2a&PS(VL#YGGZ3=E#GelF{r5}E*j-I8tq literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/particle/bluegill.png b/kubejs/assets/tfg/textures/particle/bluegill.png new file mode 100644 index 0000000000000000000000000000000000000000..8a8d780d72964376f1479665f63b90b18b54279a GIT binary patch literal 6454 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/particle/crappie.png b/kubejs/assets/tfg/textures/particle/crappie.png new file mode 100644 index 0000000000000000000000000000000000000000..f22aa502392ca9e4bd6b41a809d516e5d3c9f5be GIT binary patch literal 502 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z_`KF z#WBR9ckQJ8-qMK@$L-h4+)7%*cB{fuM^wsbWh~QNtCFHZt&&swFD$&Umrqh_hqZ;3 zg#|~fXrTt5pK1OMlj)l+o17mA@#{5CsAy~6?tJE|v17}(ne)W&o&WyR&i;YCv(1;} zjS)w_>rJ`6;o`ISj;f;%KL297<(zQYgtMuk^@{e3#=xmsVzUJg>}bfG^eS8SMerZr)wiaPg}sI><7?QggzbJRzkeY`FAl&YuE zUX?E)QvX-+-???@+V=G}=l4B3v-wKp(>YV0PF4J)*nfLN;jGwGswbUn^vt%Et6N)q z)>-;>i-6o#C;mChQi6PXC*7DV!Ei9gV9rtAJ1Zk4LOpk?c*4DAKRkJAtUk`rS87?hoVf&Boz~&0J#ahZ6>aWVL zmdiZ&Td`37?^>H%Uuz3o6eibd_VM{&c`-NQ%F%>^v$Y@UJMAy;Jagsd|EpCD3=9mO Lu6{1-oD!MQUQUxd$LBOP&u^FtmAg0h|5Jw;lhfajJGE; WK02JmJeh%kfx*+&&t;ucLK6VwBTz5^ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/particle/rainbow_trout.png b/kubejs/assets/tfg/textures/particle/rainbow_trout.png new file mode 100644 index 0000000000000000000000000000000000000000..e799d5422196144d6dac6acafb11fae6298390ae GIT binary patch literal 521 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&zCnsujj?=`rKde zbd_s4FPEd!l8`IDTYX-)%oI{|n;aD#v@toO&PF^{ty6em!1-67cHFOh9&@kR*lW(V zkLMnhE-UBdys&ec$o&0v$xpvpoyvUpp_P*%P2TR9`O=dc69gFUFGzF$mnK{PdBVkG zjLNs$LM|6_?NnC@@@AMMZu#)H^t`SZmzyWN8y-(kYvW%flyjwI&Z0=>16#cG9v3di zd7?U5{cFKmmDS;vrrT_o{ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/particle/salmon.png b/kubejs/assets/tfg/textures/particle/salmon.png new file mode 100644 index 0000000000000000000000000000000000000000..97e2ed010d06a88626ba4f6dd1a51424cf0013a3 GIT binary patch literal 346 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s76+K-XLo7}wCoB-}DA>UG z@V`Qgq%7OB$xC(`9FfmCaL@B@g7c+4cR$`@Irj0I6;Ec`CZ3~WQ3YoeY&Khb-@kU- zv-&l&7M^3i9rP-L%jkhU$9gljzvU>_P zq!yT6I9gKI)2n!cVM5vjH3_y%wu_gdvi|3O*}5@%+vnmmj?cvj4VL1u#wS!2n4grG zY-E=^!JzO@K6)P0F$LZevmDPI&u++WF~7kuLvdwr*TaA9nP%56CmndswBzlGoC#@7 z+Ya*xh>QP!KUsj|m_c*GthEh|?iUy)99!VPU*L0KkMoqY8H|D#8+lAuZsb{z!6M0Y zX-#6DM})DC*d}461G5}0xMzG@d$yQU-zYqMK z8d~S0X1qg8jqR5f(_-bF%!a3fV>qVD@IES1V3`=+w?jUzj^UXLOBCBVy(0_^3=E#G KelF{r5}E*QS8?zF literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/particle/tropical_fish.png b/kubejs/assets/tfg/textures/particle/tropical_fish.png new file mode 100644 index 0000000000000000000000000000000000000000..0790f278b76c9fd570a9e7a204fc9feb9d7a3169 GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7-g>$?hFF|VPFNs*Lv{i4 zq5qCQ!e)sb{_CN4$z* { event.recipes.tfc.landslide('beneath:soul_clay', 'beneath:soul_clay') - - Ingredient.of('#beneath:mushrooms').stacks.forEach(element => { - const itemId = element.id; - const recipeId = `greenhouse_${itemId.replace(':', '_')}`; - - generateGreenHouseRecipe(event, element.withCount(4), '#tfc:any_fresh_water', 8000, element.withCount(24), - recipeId, 'minecraft:the_nether', 8, element.withCount(4), GTValues.VH[GTValues.LV]); - }); - event.shaped('beneath:wood/sewing_table/crimson', [ ' AB', 'CCC', diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 78b2347e5..1f9352bd5 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -187,18 +187,6 @@ const registerFirmaLifeRecipes = (event) => { //#region Рецепты теплиц / Greenhouse - //#region Treated Wood - - event.shapeless('firmalife:treated_wood_greenhouse_port', [ - 'firmalife:treated_wood_greenhouse_wall', - '#forge:tiny_fluid_pipes/copper' - ]) - .id('firmalife:crafting/greenhouse/treated_wood_greenhouse_port') - - //#endregion Treated Wood - - //#region Медная / Copper - event.recipes.gtceu.extruder('tfg:firmalife/sprinkler_electric_only') .itemInputs('#forge:plates/copper') .notConsumable('tfg:small_casing_extruder_mold') @@ -207,233 +195,95 @@ const registerFirmaLifeRecipes = (event) => { .EUt(8) .addMaterialInfo(true) - // Стена - event.recipes.gtceu.shaped('8x firmalife:copper_greenhouse_wall', [ - 'ABA', - 'ABA', - 'ABA' - ], { - A: '#forge:rods/copper', - B: 'minecraft:glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/copper_greenhouse_wall') + /** + * @type {string[]} - Tier names of greenhouse casings. + */ + const greenhouse_tiers = [ + {tier: 'treated_wood', material: 'firmalife:treated_lumber'}, + {tier: 'copper', material: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Copper, 1)}, + {tier: 'iron', material: ChemicalHelper.get(TagPrefix.rod, GTMaterials.WroughtIron, 1)}, + {tier: 'stainless_steel', material: ChemicalHelper.get(TagPrefix.rod, GTMaterials.StainlessSteel, 1)} + ]; - // Панель - event.recipes.gtceu.shaped('8x firmalife:copper_greenhouse_panel_wall', [ - 'ABA', - 'ABA', - 'ABA' - ], { - A: '#forge:rods/copper', - B: 'firmalife:reinforced_glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/copper_greenhouse_panel_wall') + //Firmalife namespace is left so we dont have to change patchouli entries. + greenhouse_tiers.forEach(tier => { - // Панельная Крыша - event.recipes.gtceu.shaped('4x firmalife:copper_greenhouse_panel_roof', [ - 'A ', - 'BA ', - 'BBA' - ], { - A: 'firmalife:reinforced_glass', - B: '#forge:rods/copper' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/copper_greenhouse_panel_roof') + event.remove({ id: `firmalife:crafting/greenhouse/${tier.tier}_greenhouse_wall`}) + event.recipes.gtceu.shaped(`16x firmalife:${tier.tier}_greenhouse_wall`, [ + 'ABA', + 'BBB', + 'ABA' + ], { + A: tier.material, + B: 'firmalife:reinforced_glass' + }).addMaterialInfo().id(`firmalife:crafting/greenhouse/${tier.tier}_greenhouse_wall`) - // Крыша - event.recipes.gtceu.shaped('4x firmalife:copper_greenhouse_roof', [ - 'A ', - 'BA ', - 'BBA' - ], { - A: '#forge:rods/copper', - B: 'firmalife:reinforced_glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/copper_greenhouse_roof') + event.remove({ id: `firmalife:crafting/greenhouse/${tier.tier}_greenhouse_panel_wall`}) + event.recipes.gtceu.shaped(`16x firmalife:${tier.tier}_greenhouse_panel_wall`, [ + 'ABA', + 'ABA', + 'ABA' + ], { + A: tier.material, + B: 'firmalife:reinforced_glass' + }).addMaterialInfo().id(`firmalife:crafting/greenhouse/${tier.tier}_greenhouse_panel_wall`) - // Верхушка крыши - event.recipes.gtceu.shaped('8x firmalife:copper_greenhouse_roof_top', [ - 'ABA', - 'BAB' - ], { - A: '#forge:rods/copper', - B: 'firmalife:reinforced_glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/copper_greenhouse_roof_top') + event.remove({ id: `firmalife:crafting/greenhouse/${tier.tier}_greenhouse_panel_roof`}) + event.recipes.gtceu.shaped(`8x firmalife:${tier.tier}_greenhouse_panel_roof`, [ + 'A ', + 'BA ', + 'BBA' + ], { + A: 'firmalife:reinforced_glass', + B: tier.material + }).addMaterialInfo().id(`firmalife:crafting/greenhouse/${tier.tier}_greenhouse_panel_roof`) - // Люк - event.recipes.gtceu.shaped('8x firmalife:copper_greenhouse_trapdoor', [ - 'ABA', - 'BAB' - ], { - A: 'firmalife:reinforced_glass', - B: '#forge:rods/copper' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/copper_greenhouse_trapdoor') + event.remove({ id: `firmalife:crafting/greenhouse/${tier.tier}_greenhouse_roof`}) + event.recipes.gtceu.shaped(`8x firmalife:${tier.tier}_greenhouse_roof`, [ + 'A ', + 'BA ', + 'BBA' + ], { + A: tier.material, + B: 'firmalife:reinforced_glass' + }).addMaterialInfo().id(`firmalife:crafting/greenhouse/${tier.tier}_greenhouse_roof`) - // Дверь - event.recipes.gtceu.shaped('2x firmalife:copper_greenhouse_door', [ - 'AB', - 'AB', - 'AB' - ], { - A: '#forge:rods/copper', - B: 'minecraft:glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/copper_greenhouse_door') + event.remove({ id: `firmalife:crafting/greenhouse/${tier.tier}_greenhouse_roof_top`}) + event.recipes.gtceu.shaped(`8x firmalife:${tier.tier}_greenhouse_roof_top`, [ + 'ABA', + 'BAB' + ], { + A: tier.material, + B: 'firmalife:reinforced_glass' + }).addMaterialInfo().id(`firmalife:crafting/greenhouse/${tier.tier}_greenhouse_roof_top`) - event.shapeless('firmalife:copper_greenhouse_port', [ - 'firmalife:copper_greenhouse_wall', - '#forge:tiny_fluid_pipes/copper' - ]) - .id('firmalife:crafting/greenhouse/copper_greenhouse_port') + event.remove({ id: `firmalife:crafting/greenhouse/${tier.tier}_greenhouse_trapdoor`}) + event.recipes.gtceu.shaped(`8x firmalife:${tier.tier}_greenhouse_trapdoor`, [ + 'ABA', + 'BAB' + ], { + A: 'firmalife:reinforced_glass', + B: tier.material + }).addMaterialInfo().id(`firmalife:crafting/greenhouse/${tier.tier}_greenhouse_trapdoor`) - //#endregion + event.remove({ id: `firmalife:crafting/greenhouse/${tier.tier}_greenhouse_door`}) + event.recipes.gtceu.shaped(`2x firmalife:${tier.tier}_greenhouse_door`, [ + 'AB', + 'AB', + 'AB' + ], { + A: tier.material, + B: 'firmalife:reinforced_glass' + }).addMaterialInfo().id(`firmalife:crafting/greenhouse/${tier.tier}_greenhouse_door`) - //#region Железная / Iron - - // Стена - event.recipes.gtceu.shaped('8x firmalife:iron_greenhouse_wall', [ - 'ABA', - 'ABA', - 'ABA' - ], { - A: '#forge:rods/wrought_iron', - B: 'minecraft:glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/iron_greenhouse_wall') - - // Панель - event.recipes.gtceu.shaped('8x firmalife:iron_greenhouse_panel_wall', [ - 'ABA', - 'ABA', - 'ABA' - ], { - A: '#forge:rods/wrought_iron', - B: 'firmalife:reinforced_glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/iron_greenhouse_panel_wall') - - // Панельная Крыша - event.recipes.gtceu.shaped('4x firmalife:iron_greenhouse_panel_roof', [ - 'A ', - 'BA ', - 'BBA' - ], { - A: 'firmalife:reinforced_glass', - B: '#forge:rods/wrought_iron' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/iron_greenhouse_panel_roof') - - // Крыша - event.recipes.gtceu.shaped('4x firmalife:iron_greenhouse_roof', [ - 'A ', - 'BA ', - 'BBA' - ], { - A: '#forge:rods/wrought_iron', - B: 'firmalife:reinforced_glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/iron_greenhouse_roof') - - // Верхушка крыши - event.recipes.gtceu.shaped('8x firmalife:iron_greenhouse_roof_top', [ - 'ABA', - 'BAB' - ], { - A: '#forge:rods/wrought_iron', - B: 'firmalife:reinforced_glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/iron_greenhouse_roof_top') - - // Люк - event.recipes.gtceu.shaped('8x firmalife:iron_greenhouse_trapdoor', [ - 'ABA', - 'BAB' - ], { - A: 'firmalife:reinforced_glass', - B: '#forge:rods/wrought_iron' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/iron_greenhouse_trapdoor') - - // Дверь - event.recipes.gtceu.shaped('2x firmalife:iron_greenhouse_door', [ - 'AB', - 'AB', - 'AB' - ], { - A: '#forge:rods/wrought_iron', - B: 'minecraft:glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/iron_greenhouse_door') - - event.shapeless('firmalife:iron_greenhouse_port', [ - 'firmalife:iron_greenhouse_wall', - '#forge:tiny_fluid_pipes/copper' - ]) - .id('firmalife:crafting/greenhouse/iron_greenhouse_port') - - //#endregion - - //#region Нержавеющая теплица / Stainless Steel - - event.recipes.gtceu.shaped('8x firmalife:stainless_steel_greenhouse_wall', [ - 'ABA', - 'ABA', - 'ABA' - ], { - A: '#forge:rods/stainless_steel', - B: 'minecraft:glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_wall') - - event.recipes.gtceu.shaped('8x firmalife:stainless_steel_greenhouse_panel_wall', [ - 'ABA', - 'ABA', - 'ABA' - ], { - A: '#forge:rods/stainless_steel', - B: 'firmalife:reinforced_glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_panel_wall') - - event.recipes.gtceu.shaped('4x firmalife:stainless_steel_greenhouse_panel_roof', [ - 'A ', - 'BA ', - 'BBA' - ], { - A: 'firmalife:reinforced_glass', - B: '#forge:rods/stainless_steel' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_panel_roof') - - event.recipes.gtceu.shaped('4x firmalife:stainless_steel_greenhouse_roof', [ - 'A ', - 'BA ', - 'BBA' - ], { - A: '#forge:rods/stainless_steel', - B: 'firmalife:reinforced_glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_roof') - - // Верхушка крыши - event.recipes.gtceu.shaped('8x firmalife:stainless_steel_greenhouse_roof_top', [ - 'ABA', - 'BAB' - ], { - A: '#forge:rods/stainless_steel', - B: 'firmalife:reinforced_glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_roof_top') - - // Люк - event.recipes.gtceu.shaped('8x firmalife:stainless_steel_greenhouse_trapdoor', [ - 'ABA', - 'BAB' - ], { - A: 'firmalife:reinforced_glass', - B: '#forge:rods/stainless_steel' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_trapdoor') - - // Дверь - event.recipes.gtceu.shaped('2x firmalife:stainless_steel_greenhouse_door', [ - 'AB', - 'AB', - 'AB' - ], { - A: '#forge:rods/stainless_steel', - B: 'minecraft:glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_door') - - event.shapeless('firmalife:stainless_steel_greenhouse_port', [ - 'firmalife:stainless_steel_greenhouse_wall', - '#forge:tiny_fluid_pipes/copper' - ]) - .id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_port') - - //#endregion + event.remove({ id: `firmalife:crafting/greenhouse/${tier.tier}_greenhouse_port`}) + event.recipes.gtceu.shaped(`firmalife:${tier.tier}_greenhouse_port`, [ + 'AB' + ], { + A: `#tfg:${tier.tier}_greenhouse_casings`, + B: ChemicalHelper.get(TagPrefix.pipeTinyFluid, GTMaterials.Copper, 1) + }).addMaterialInfo().id(`firmalife:crafting/greenhouse/${tier.tier}_greenhouse_port`) + }); event.recipes.gtceu.shaped('firmalife:sweeper', [ 'ABD', @@ -459,37 +309,27 @@ const registerFirmaLifeRecipes = (event) => { //#endregion - //#region Укрепленное стекло + //#region Reinforced Glass - event.shaped('firmalife:reinforced_glass', [ + event.shaped('9x firmalife:reinforced_glass', [ 'AB' ], { A: '#tfc:saws', B: 'gtceu:tempered_glass' - }).id('tfg:shaped/reinforced_glass') + }).id('tfg:shaped/reinforced_glass'); - generateCutterRecipe(event, '3x gtceu:tempered_glass', '8x firmalife:reinforced_glass', 100, 7, 'reinforced_glass') + generateCutterRecipe(event, '1x gtceu:tempered_glass', '9x firmalife:reinforced_glass', 100, 7, 'reinforced_glass'); + + event.recipes.gtceu.macerator('tfg:recycling/reinforced_glass') + .itemInputs('firmalife:reinforced_glass') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Glass, 1) + ) + .duration(GTMaterials.Glass.getMass() * 1) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]); //#endregion - - //#region Рецепты электрической теплицы - - // Дерево - - // Семена фруктов - global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, '#tfc:any_fresh_water', element.fluid_amount, element.output, - element.name, 'minecraft:overworld', 8, null, GTValues.VA[GTValues.LV]) - }) - - // Семена ягод - global.FIRMALIFE_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, '#tfc:any_fresh_water', element.fluid_amount, element.output, - element.name, null, 8, null, GTValues.VA[GTValues.LV]) - }) - - //#endregion - //#region Sticky Resin by Vat event.recipes.firmalife.vat() diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index ac057b6e0..ad32deab1 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -44,6 +44,12 @@ function registerGTCEUItemTags(event) { // @ts-expect-error According to KJS docs adding tags to tags is supported. event.add("gtceu:molds", "#gtceu:casting_molds", "#gtceu:extruder_molds", "gtceu:empty_mold"); + // Groups up concrete blocks into tags. + Object.entries(global.GTCEU_CONCRETE_BLOCKS).forEach(([type, ids]) => { + event.add(`tfg:gtceu_concrete_blocks/${type}`, ids); + event.add('tfg:gtceu_concrete_blocks', ids); + }); + //greens event.add('tfc:compost_greens', 'gtceu:bio_chaff'); event.add('tfc:compost_greens', 'gtceu:plant_ball'); @@ -85,6 +91,12 @@ function registerGTCEUBlockTags(event) { event.add("gtceu:cleanroom_doors", "ad_astra:desh_sliding_door"); event.add("gtceu:cleanroom_doors", "ad_astra:ostrum_sliding_door"); event.add("gtceu:cleanroom_doors", "ad_astra:calorite_sliding_door"); + + // Groups up concrete blocks into tags. + Object.entries(global.GTCEU_CONCRETE_BLOCKS).forEach(([type, ids]) => { + event.add(`tfg:gtceu_concrete_blocks/${type}`, ids); + event.add('tfg:gtceu_concrete_blocks', ids); + }); } /** @param {TagEvent.Fluid} event */ diff --git a/kubejs/server_scripts/gregtech/utility.js b/kubejs/server_scripts/gregtech/utility.js index 0f000d949..39c376d82 100644 --- a/kubejs/server_scripts/gregtech/utility.js +++ b/kubejs/server_scripts/gregtech/utility.js @@ -66,64 +66,6 @@ const generateCutterRecipe = (event, input, output, duration, EUt, id) => { //#endregion -//#region Green House -/** - * Function for generating greenhouse recipes. - * - * @param {*} event - * @param {string} input -Item (Not consumed) - * @param {string} fluid -Fluid ID or tag - * @param {number} fluid_amount -Fluid amount, in mB - * @param {string} output -Item (Chanced output uses input item) - * @param {string} id -Recipe ID - * @param {string} dimension -Dimension ID - * @param {number} fertiliser_count - * @param {string|null} output_seconday -Item (Optional, if there should be a third output) - * @param {number} EUt - */ -function generateGreenHouseRecipe(event, input, fluid, fluid_amount, output, id, dimension, fertiliser_count, output_secondary, EUt) { - if (EUt === undefined || output_secondary === undefined || fertiliser_count === undefined || dimension === undefined) { - throw new TypeError(`Call to generateGreenHouseRecipe for id ${id} is missing args`); - } - let r = event.recipes.gtceu.greenhouse(id) - .notConsumable(input) - .circuit(1) - .inputFluids(`${fluid} ${fluid_amount}`) - .itemOutputs(output) - .chancedOutput(input, 750, 0) - .chancedOutput(input, 500, 0) - .duration(36000) // 30 mins - .EUt(EUt) - - if (dimension !== null) { - r.dimension(dimension) - } - if (output_secondary !== null) { - r.chancedOutput(output_secondary, 750, 0) - } - - - // С удобрением (With fertilizer) - r = event.recipes.gtceu.greenhouse(`${id}_fertilized`) - .notConsumable(input) - .itemInputs(Item.of('gtceu:fertilizer', fertiliser_count)) - .circuit(2) - .inputFluids(`${fluid} ${fluid_amount}`) - .itemOutputs(output) - .chancedOutput(input, 4000, 0) - .chancedOutput(input, 3000, 0) - .duration(12000) // 10 mins - .EUt(EUt) - - if (dimension !== null) { - r.dimension(dimension) - } - if (output_secondary !== null) { - r.chancedOutput(output_secondary, 4000, 0) - } -} -//#endregion - //#region Filling NBT /** * Function to get fluid filling NBT. diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 2909ccf4d..a274981ab 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -533,7 +533,7 @@ const registerMinecraftRecipes = (event) => { A: '#forge:plates/wrought_iron', B: '#forge:chests/wooden', D: '#forge:tools/wrenches', - E: '#forge:tools/hammers', + E: '#forge:tools/hammers' }).id('gtceu:shaped/hopper') event.recipes.gtceu.assembler('hopper_wrought_iron') @@ -896,7 +896,7 @@ const registerMinecraftRecipes = (event) => { A: '#forge:rods/black_steel', B: 'minecraft:lava_bucket', C: '#minecraft:logs', - D: '#forge:storage_blocks/charcoal', + D: '#forge:storage_blocks/charcoal' }).id('tfg:campfire_charcoal') event.shaped('minecraft:campfire', [ @@ -907,7 +907,7 @@ const registerMinecraftRecipes = (event) => { A: '#forge:rods/black_steel', B: 'minecraft:lava_bucket', C: '#minecraft:logs', - D: '#forge:storage_blocks/coal', + D: '#forge:storage_blocks/coal' }).id('tfg:campfire_coal') //#endregion @@ -1053,22 +1053,6 @@ const registerMinecraftRecipes = (event) => { // #endregion - //#region Greenhouse - - generateGreenHouseRecipe(event, '8x minecraft:bamboo', '#tfc:any_fresh_water', 4000, - '64x minecraft:bamboo', 'bamboo', 'minecraft:overworld', 8, - '8x minecraft:bamboo', GTValues.VA[GTValues.LV]) - - generateGreenHouseRecipe(event, '4x minecraft:red_mushroom', '#tfc:any_fresh_water', 4000, - '24x minecraft:red_mushroom', 'red_mushroom', 'minecraft:the_nether', 8, - '4x minecraft:red_mushroom', GTValues.VA[GTValues.LV]) - - generateGreenHouseRecipe(event, '4x minecraft:brown_mushroom', '#tfc:any_fresh_water', 4000, - '24x minecraft:brown_mushroom', 'brown_mushroom', 'minecraft:the_nether', 8, - '4x minecraft:brown_mushroom', GTValues.VA[GTValues.LV]) - - // #endregion - // Minecart w/ Furnace event.shapeless('minecraft:furnace_minecart', ['minecraft:water_bucket', 'gtceu:hp_steam_solid_boiler', 'minecraft:minecart']); diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 1c15098dc..18dfe338e 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -57,50 +57,6 @@ const registerTFCRecipes = (event) => { event.recipes.tfc.quern(element.output, element.input) .id(`tfg:quern/${element.name}`) }) - - //#region Рецепты электрической теплицы - - // Дерево - global.TFC_WOOD_TYPES.forEach(wood => { - generateGreenHouseRecipe(event, `8x tfc:wood/sapling/${wood}`, '#tfc:any_fresh_water', 16000, `64x tfc:wood/log/${wood}`, - `tfg:greenhouse/${wood}`, 'minecraft:overworld', 16, `32x tfc:wood/sapling/${wood}`, GTValues.VH[GTValues.LV]) - }) - - global.AFC_SAPLINGS.forEach(x => { - generateGreenHouseRecipe(event, `8x afc:wood/sapling/${x.sapling}`, '#tfc:any_fresh_water', 16000, `64x ${x.log}`, - `tfg:greenhouse/${x.sapling}`, 'minecraft:overworld', 16, `32x afc:wood/sapling/${x.sapling}`, GTValues.VH[GTValues.LV]) - }) - - // Семена фруктов - global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, '#tfc:any_fresh_water', element.fluid_amount, element.output, - element.name, 'minecraft:overworld', 8, element.input, GTValues.VH[GTValues.LV]) - }) - - // Семена овощей - global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, '#tfc:any_fresh_water', element.fluid_amount, element.output, - element.name, null, 8, element.input, GTValues.VH[GTValues.LV]) - }) - - // Семена ягод - global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, '#tfc:any_fresh_water', element.fluid_amount, element.output, - element.name, null, 8, element.input, GTValues.VH[GTValues.LV]) - }) - - // Растения - Ingredient.of('#tfc:plants').subtract('#tfc:wild_fruits').stacks.forEach(element => { - const itemId = element.id; - const recipeId = `greenhouse_${itemId.replace(':', '_')}`; - - generateGreenHouseRecipe(event, itemId, '#tfc:any_fresh_water', 8000, `8x ${itemId}`, - recipeId, null, 8, itemId, GTValues.VH[GTValues.LV]); - }); - - //#endregion - - // Доменная печь event.recipes.gtceu.shaped('tfc:blast_furnace', [ 'AAA', diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 4596f212f..f1ca9d2e4 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -1,6 +1,8 @@ // priority: 0 "use strict"; +const ForgeRegistries = Java.loadClass('net.minecraftforge.registries.ForgeRegistries'); + /** @param {TagEvent.Item} event */ function registerTFCItemTags(event) { // Теги для соответствия инструментов TFC и GT @@ -511,11 +513,21 @@ function registerTFCBlockTags(event) { event.add("tfc:forge_invisible_whitelist", "greate:stainless_steel_mechanical_pump"); event.add("tfc:forge_invisible_whitelist", "greate:titanium_mechanical_pump"); - //Allows any block with the word "brick" in its id to be used as bloomery and forge insulation. - //Add blacklisted words to the const with | between. - const brick_blacklist = "drying|slab|stairs|wall|additionalplacements"; - event.add("tfc:bloomery_insulation", `/^(?=.*brick)(?!.*(${brick_blacklist})).*/`); - event.add("tfc:forge_insulation", `/^(?=.*brick)(?!.*(${brick_blacklist})).*/`); + // Allows any block with the word "brick" in its id to be used as bloomery and forge insulation. + // Optimized to compute matching blocks once instead of regex scanning per tag like before. + // Blacklist removes blocks that are unwanted. + const blacklist = ["drying", "slab", "stairs", "wall", "additionalplacements", "fence", "roof", "bridge"]; + const matches = []; + ForgeRegistries.BLOCKS.getValues().forEach(block => { + const id = String(ForgeRegistries.BLOCKS.getKey(block)); + if (id.includes("brick") && !blacklist.some(no_no_word => id.includes(no_no_word))) { + matches.push(id); + }; + }); + ["tfc:bloomery_insulation", "tfc:forge_insulation"].forEach(tag => { + matches.forEach(id => event.add(tag, id)); + }); + event.add("tfc:forge_insulation", 'create:depot'); global.TFC_STONE_TYPES.forEach((stone) => { diff --git a/kubejs/server_scripts/tfg/aquaponics/data.aquaponics.js b/kubejs/server_scripts/tfg/aquaponics/data.aquaponics.js new file mode 100644 index 000000000..cd93cab11 --- /dev/null +++ b/kubejs/server_scripts/tfg/aquaponics/data.aquaponics.js @@ -0,0 +1,15 @@ +"use strict"; + +/** @param {Internal.TFCDataEventJS} event */ +function registerTFGAquaponicsData(event) { + + event.fuel('tfg:flora_pellets', 1415, 1900, 0.95); + + event.foodItem('tfg:fish_roe', (food) => { + food.hunger(4); + food.decayModifier(2); + food.protein(2.5); + food.saturation(2); + }); + +} diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js new file mode 100644 index 000000000..e26039327 --- /dev/null +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js @@ -0,0 +1,555 @@ +// priority: 1 +"use strict"; + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +//#region Balancing Values + +/** Base duration of recipes in ticks. */ +const greenhouse_base_duration = 16 * 60 * 20; +/** Duration multiplier for fertilized recipes. */ +const greenhouse_duration_multiplier_fertilized = 0.5; +/** Duration multiplier for aquaponic recipes. */ +const greenhouse_duration_multiplier_aquaponics = 0.4; + +/** Hydroponic facility chance multiplier. */ +const hydroponics_facility_chance_multiplier = 1.25; +/** Base percent chance for chanced outputs (out of 100). */ +const greenhouse_chanced_output_base = 7.5; +/** Fertilized percent chance for chanced outputs (out of 100). */ +const greenhouse_chanced_output_fertilized = 40; +/** Aquaponics percent chance for chanced outputs (out of 100). */ +const greenhouse_chanced_output_aquaponics = 80; + +/** + * Dimension setting index provides recipe modifications based on the dimension assigned. + * + * @typedef {Object} DimensionIndex + * @property {Internal.Dimension} id - Dimension ID. + * @property {Internal.FluidStackIngredient_} fluid - Fluid ID or tag. + * @property {number} fluid_chance - Chance for fluid consumption per tick out of 100. + * @property {Internal.ItemStack|null} fertilizer - Fertilizer item ID or null if fertilizer is not needed on that dimension. + * @property {GTValues.EUt} eut - EUt value for that dimension. + * @property {boolean|null} oxygenated - Whether the recipe requires an oxygenated environment. + */ + +/** @param {...DimensionIndex[]} - Dimension settings array */ +const greenhouse_dimension_index = [ + // Overworld settings are also used as the default when no dimension is specified. + {id: 'minecraft:overworld', fluid: '#tfg:clean_water', fluid_tier2: 'tfg:nitrate_rich_water', fluid_chance: 10, fertilizer: 'gtceu:fertilizer', eut: GTValues.VA[GTValues.LV], oxygenated: true}, + {id: 'minecraft:the_nether', fluid: '#tfg:clean_water', fluid_tier2: 'tfg:nitrate_rich_water', fluid_chance: 10, fertilizer: 'gtceu:fertilizer', eut: GTValues.VA[GTValues.LV], oxygenated: true}, + {id: 'ad_astra:moon', fluid: 'gtceu:helium_3', fluid_tier2: null, fluid_chance: 2, fertilizer: null, eut: GTValues.VA[GTValues.MV], oxygenated: null}, + {id: 'ad_astra:mars', fluid: 'tfg:semiheavy_ammoniacal_water', fluid_tier2: 'tfg:nitrate_rich_semiheavy_ammoniacal_water', fluid_chance: 10, fertilizer: 'gtceu:fertilizer', eut: GTValues.VA[GTValues.HV], oxygenated: null} +]; + +//#endregion +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +//#region Utility Script + +/** Correct recipe IDs to replace invalid characters */ +function linuxUnfucker(value) { + const str = (value === undefined || value === null) ? "" : value.toString(); + return str.replace(/[/:\s]/g, "_"); +}; + +/** + * Function for generating greenhouse recipes. + * + * @param {*} event + * @param {Internal.Dimension|null} dimension -Dimension ID + * @param {Internal.ItemStack} input -Input Item (seeds, saplings, etc.) + * @param {Internal.ItemStack|Internal.ItemStack[]} output -Output Items. If array, first item is guaranteed while rest use chanced output. Last item in array is used for the rest of the chance outputs. + * @param {number|null} chance_multiplier -Multiplies output chances by this value. Defaults to 1. + */ +function generateGreenHouseRecipe(event, dimension, input, output, chance_multiplier) { + + // Resolve dimension based modifier defaults by comparing to the `greenhouse_dimension_index` array. + + /** @type {DimensionIndex|null} */ + const dimMods = dimension ? greenhouse_dimension_index.find(d => d.id === dimension) : null; + + /** @type {Internal.FluidStackIngredient_} - Resolved fluid ID or tag. Defaults to `#tfg:clean_water` */ + const resolvedFluid = dimMods?.fluid ?? '#tfg:clean_water'; + + /** @type {Internal.FluidStackIngredient_} - Resolved aquaponic loop fluid ID or tag. Defaults to `tfg:nitrate_rich_water` */ + const resolvedFluidTier2 = dimMods?.fluid_tier2 ?? 'tfg:nitrate_rich_water'; + + /** @type {Internal.ItemStack|null} - Resolved fertilizer item ID. Defaults to `gtceu:fertilizer` */ + const resolvedFertilizer = dimMods ? dimMods.fertilizer : 'gtceu:fertilizer'; + + /** @type {boolean} - Whether fertilization is possible for this dimension. */ + const canFertilize = resolvedFertilizer !== null; + + /** @type {GTValues.EUt} - Resolved EUt value. Defaults to LV */ + const resolvedEUt = dimMods ? dimMods.eut : GTValues.VA[GTValues.LV]; + + /** @type {number} - Resolved fluid chance multiplied by 100. Defaults to 1000. */ + const resolvedChance = dimMods ? (dimMods.fluid_chance * 100) : 1000; + + /** @type {boolean|null} - Whether the recipe requires an oxygenated environment. Defaults to true. */ + const requiresOxygen = dimMods ? dimMods.oxygenated : true; + + ///////////////////////////////////////////////////////////////////////////////////////////////////// + + /** Collect errors. */ + + const errors = []; + + if (input === undefined || Array.isArray(input)) { + errors.push("input is undefined or is an array"); + }; + if (output !== undefined && !Array.isArray(output)) { + output = [output]; + } + if (output === undefined || output.length === 0 || output.length > 4) { + errors.push("output is undefined or has invalid length"); + }; + + // If there are any errors, log them all and throw once. + if (errors.length > 0) { + throw new TypeError(`Greenhouse recipe errors for recipe ID ${`tfg:greenhouse/${linuxUnfucker(input)}`}\n - ${errors.join("\n - ")}`); + }; + + //////////////////////////////////////////////////////////////////////////////////////////////////////// + + // Normalize outputs to an array of 4 items. + + // index 0 is guaranteed output, indexes 1-3 are chanced outputs. + // Last item in output array is used for any missing chanced outputs. + let outputs_array = []; + const guaranteed_output = output[0]; + const last_output = output[output.length - 1]; + for (let i = 0; i < 4; i++) { + if (i === 0) outputs_array[i] = guaranteed_output; + else outputs_array[i] = (output[i] !== undefined) ? output[i] : last_output; + }; + + //////////////////////////////////////////////////////////////////////////////////////////////////////// + + // Math Section :D + + /** + * Function to keep calculated duration values above 0 (minimum 1 tick). + * + * @param {number} value - Number to validate. + * @returns {number} - Validated Number. + */ + function validate_duration(value) { + return Math.max(1, Math.round(value)); + }; + + const fertilizer_duration = validate_duration(greenhouse_base_duration * greenhouse_duration_multiplier_fertilized); + const aquaponic_duration = validate_duration(greenhouse_base_duration * greenhouse_duration_multiplier_aquaponics); + + /** + * Function to keep percent values within valid range (1 to 10000). + * + * @param {number} value - Number to validate. + * @returns {number} - Validated Number. + */ + function validate_percent(value) { + return Math.min(10000, Math.max(1, Math.round(value))); + }; + + chance_multiplier = chance_multiplier ?? 1; + chance_multiplier = chance_multiplier * 100; + const base_chance = validate_percent(greenhouse_chanced_output_base * chance_multiplier); + const fertilizer_chance = validate_percent(greenhouse_chanced_output_fertilized * chance_multiplier); + const aquaponic_chance = validate_percent(greenhouse_chanced_output_aquaponics * chance_multiplier); + const hydroponics_base_chance = validate_percent(greenhouse_chanced_output_base * chance_multiplier); + const hydroponics_fertilizer_chance = validate_percent(greenhouse_chanced_output_fertilized * chance_multiplier * hydroponics_facility_chance_multiplier); + const hydroponics_aquaponic_chance = validate_percent(greenhouse_chanced_output_aquaponics * chance_multiplier * hydroponics_facility_chance_multiplier); + + //////////////////////////////////////////////////////////////////////////////////////////////////////// + + // Recipe Scripts. + + if (canFertilize) { + + //======================== Greenhouse Recipes ======================== + + // Base recipe. + let a = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}`) + .notConsumable(input) + .circuit(1) + .itemOutputs(outputs_array[0]) + .perTick(true) + .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) + .perTick(false) + .duration(greenhouse_base_duration) + .EUt(resolvedEUt) + if (dimension !== null) { + a.dimension(dimension) + }; + if (requiresOxygen !== null) { + TFGRecipeSchemaBindings.isOxygenated(a, requiresOxygen) + }; + if (outputs_array[1] !== null) { + a.chancedOutput(outputs_array[1], base_chance, 0) + a.chancedOutput(outputs_array[2], base_chance, 0) + a.chancedOutput(outputs_array[3], base_chance, 0) + }; + + // Fertilized Recipe. + let b = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}_fertilized`) + .notConsumable(input) + .circuit(2) + .itemOutputs(outputs_array[0]) + .perTick(true) + .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) + .perTick(false) + .duration(fertilizer_duration) + .EUt(resolvedEUt) + if (dimension !== null) { + b.dimension(dimension) + }; + if (requiresOxygen !== null) { + TFGRecipeSchemaBindings.isOxygenated(b, requiresOxygen) + }; + if (outputs_array[1] !== null) { + b.chancedOutput(outputs_array[1], fertilizer_chance, 0) + b.chancedOutput(outputs_array[2], fertilizer_chance, 0) + b.chancedOutput(outputs_array[3], fertilizer_chance, 0) + b.itemInputs(Item.of(resolvedFertilizer, 8)) + }; + + // Aquaponics Recipe. + let c = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}_aquaponic`) + .notConsumable(input) + .circuit(3) + .itemOutputs(outputs_array[0]) + .perTick(true) + .chancedFluidInput(`${resolvedFluidTier2} 1`, resolvedChance, 0) + .perTick(false) + .duration(aquaponic_duration) + .EUt(resolvedEUt) + if (dimension !== null) { + c.dimension(dimension) + }; + if (requiresOxygen !== null) { + TFGRecipeSchemaBindings.isOxygenated(c, requiresOxygen) + }; + if (outputs_array[1] !== null) { + c.chancedOutput(outputs_array[1], aquaponic_chance, 0) + c.chancedOutput(outputs_array[2], aquaponic_chance, 0) + c.chancedOutput(outputs_array[3], aquaponic_chance, 0) + }; + c.itemOutputs('tfg:flora_pellets'); + + //======================== Hydroponic Facility Recipes ======================== + + // Base recipe. + let d = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}`) + .notConsumable(input) + .circuit(1) + .itemOutputs(outputs_array[0]) + .perTick(true) + .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) + .perTick(false) + .duration(greenhouse_base_duration) + .EUt(resolvedEUt) + if (dimension !== null) { + d.dimension(dimension) + }; + if (outputs_array[1] !== null) { + d.chancedOutput(outputs_array[1], hydroponics_base_chance, 0) + d.chancedOutput(outputs_array[2], hydroponics_base_chance, 0) + d.chancedOutput(outputs_array[3], hydroponics_base_chance, 0) + }; + + // Fertilized Recipe. + let e = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}_fertilized`) + .notConsumable(input) + .circuit(2) + .itemOutputs(outputs_array[0]) + .perTick(true) + .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) + .perTick(false) + .duration(fertilizer_duration) + .EUt(resolvedEUt) + if (dimension !== null) { + e.dimension(dimension) + }; + if (outputs_array[1] !== null) { + e.chancedOutput(outputs_array[1], hydroponics_fertilizer_chance, 0) + e.chancedOutput(outputs_array[2], hydroponics_fertilizer_chance, 0) + e.chancedOutput(outputs_array[3], hydroponics_fertilizer_chance, 0) + e.itemInputs(Item.of(resolvedFertilizer, 8)) + }; + + // Aquaponics Recipe. + let f = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}_aquaponic`) + .notConsumable(input) + .circuit(3) + .itemOutputs(outputs_array[0]) + .perTick(true) + .chancedFluidInput(`${resolvedFluidTier2} 1`, resolvedChance, 0) + .perTick(false) + .duration(aquaponic_duration) + .EUt(resolvedEUt) + if (dimension !== null) { + f.dimension(dimension) + }; + if (outputs_array[1] !== null) { + f.chancedOutput(outputs_array[1], hydroponics_aquaponic_chance, 0) + f.chancedOutput(outputs_array[2], hydroponics_aquaponic_chance, 0) + f.chancedOutput(outputs_array[3], hydroponics_aquaponic_chance, 0) + }; + f.itemOutputs('tfg:flora_pellets'); + + } else { + // Base recipe boosted if no fertilization needed. + + //======================== Greenhouse Recipes ======================== + + let a = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}`) + .notConsumable(input) + .circuit(1) + .itemOutputs(outputs_array[0]) + .perTick(true) + .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) + .perTick(false) + .duration(fertilizer_duration) + .EUt(resolvedEUt) + if (dimension !== null) { + a.dimension(dimension) + }; + if (requiresOxygen !== null) { + TFGRecipeSchemaBindings.isOxygenated(a, requiresOxygen) + }; + if (outputs_array[1] !== null) { + a.chancedOutput(outputs_array[1], fertilizer_chance, 0) + a.chancedOutput(outputs_array[2], fertilizer_chance, 0) + a.chancedOutput(outputs_array[3], fertilizer_chance, 0) + }; + + //======================== Hydroponics Facility Recipes ======================== + + let b = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}`) + .notConsumable(input) + .circuit(1) + .itemOutputs(outputs_array[0]) + .perTick(true) + .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) + .perTick(false) + .duration(fertilizer_duration) + .EUt(resolvedEUt) + if (dimension !== null) { + b.dimension(dimension) + }; + if (outputs_array[1] !== null) { + b.chancedOutput(outputs_array[1], hydroponics_fertilizer_chance, 0) + b.chancedOutput(outputs_array[2], hydroponics_fertilizer_chance, 0) + b.chancedOutput(outputs_array[3], hydroponics_fertilizer_chance, 0) + }; + }; +}; + +/** + * Function for generating standard crop greenhouse recipes. + * Uses the following defaults: + * - 4x seed inputs + * - 20x crop output + * - 1x seed chanced output + * - 4x crop chanced output + * + * @param {Internal.RecipesEventJS} event + * @param {Internal.Dimension|null} dimension -Dimension ID + * @param {Internal.Ingredient} input -Input Item. (seed, bush, etc.) + * @param {Internal.ItemStack} output -Output Item. (vegetable, fruit, etc.) + * @param {number|null} chance_multiplier -Multiplies output chances by this value. Defaults to 1. + */ +function generateCropGreenHouseRecipe(event, dimension, input, output, chance_multiplier) { + generateGreenHouseRecipe(event, dimension, `4x ${input}`, [Item.of(output, 20), Item.of(input, 1), Item.of(output, 4)], chance_multiplier); +}; + +/** + * Function for generating standard tree greenhouse recipes. + * Uses the following defaults: + * - 8x sapling inputs + * - 64x wood output + * - 4x sapling chanced output + * - 16x wood chanced output + * + * @param {Internal.RecipesEventJS} event + * @param {Internal.Dimension|null} dimension -Dimension ID + * @param {Internal.Ingredient} input -Input Item. (sapling) + * @param {Internal.ItemStack} output -Output Item. (wood) + * @param {number|null} chance_multiplier -Multiplies output chances by this value. Defaults to 1. + */ +function generateTreeGreenHouseRecipe(event, dimension, input, output, chance_multiplier) { + generateGreenHouseRecipe(event, dimension, `8x ${input}`, [Item.of(output, 64), Item.of(input, 4), Item.of(output, 16)], chance_multiplier); +}; + +//#endregion +// Recipes + +/** + * @param {Internal.RecipesEventJS} event + */ +const registerTFGGreenhouseRecipes = (event) => { + + //#region Multiblock Parts + + /** @type {string[]} - Tier names of greenhouse casings. */ + const greenhouse_tiers = ['treated_wood', 'copper', 'iron', 'stainless_steel']; + + greenhouse_tiers.forEach(tier => { + + const tier_tag = Ingredient.of(`#tfg:${tier}_greenhouse_casings`).itemIds.toArray().map(String); + + tier_tag.forEach(item => { + event.stonecutting(item, + Ingredient.of(`#tfg:${tier}_greenhouse_casings`).subtract(item) + ).id(`tfg:stonecutter/${linuxUnfucker(item)}`) + }); + }); + + // Cultivation Monitor + event.recipes.gtceu.shaped('tfg:cultivation_monitor', [ + 'CEC', + 'DBD', + 'CAC' + ], { + A: 'gtceu:ev_scanner', + B: 'gtceu:computer_monitor_cover', + C: ChemicalHelper.get(TagPrefix.plateDense, GTMaterials.TungstenSteel, 1), + D: '#gtceu:circuits/luv', + E: '#forge:lenses/emerald' + }).addMaterialInfo().id('tfg:shaped/cultivation_monitor'); + + // Hydroponics Facility Controller + event.recipes.gtceu.shaped('tfg:hydroponics_facility', [ + 'FBF', + 'EAE', + 'CDC' + ], { + A: 'gtceu:iv_machine_hull', + B: 'tfg:cultivation_monitor', + C: '#gtceu:circuits/iv', + D: 'gtceu:platinum_single_cable', + E: 'gtceu:iv_electric_pump', + F: 'tfg:grow_light' + }).addMaterialInfo().id('tfg:shaped/hydroponics_facility'); + + // Grow Lights + event.recipes.gtceu.shaped('2x tfg:grow_light', [ + 'ABA', + 'CDC' + ], { + A: ChemicalHelper.get(TagPrefix.plate, GTMaterials.TinAlloy, 1), + B: 'gtceu:annealed_copper_single_cable', + C: 'minecraft:glowstone', + D: 'gtceu:tin_alloy_small_fluid_pipe' + }).addMaterialInfo().id('tfg:shaped/grow_light'); + + // Horticulture Planters + event.recipes.gtceu.shaped('tfg:egh_planter', [ + 'BAB', + 'BDB', + 'CCC' + ], { + A: 'firmalife:hydroponic_planter', + B: ChemicalHelper.get(TagPrefix.plate, GTMaterials.TungstenSteel, 1), + C: 'tfg:grow_light', + D: 'gtceu:iv_hermetic_casing' + }).addMaterialInfo().id('tfg:shaped/egh_planter'); + + // Horticulture Casings + event.recipes.gtceu.assembler('tfg:casings/machine_casing_egh') + .itemInputs('gtceu:plascrete', '#forge:frames/calorite') + .inputFluids(Fluid.of('tfg:chloroplasts', 100)) + .itemOutputs('2x tfg:casings/machine_casing_egh') + .duration(8*20) + .circuit(6) + .EUt(GTValues.VA[GTValues.HV]) + .addMaterialInfo(true); + + //#endregion + + //#region Recipes + + // Mushrooms + Ingredient.of('#beneath:mushrooms').stacks.forEach(element => { + generateGreenHouseRecipe(event, 'minecraft:the_nether', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1); + }); + + generateGreenHouseRecipe(event, 'minecraft:the_nether', '8x minecraft:red_mushroom', ['24x minecraft:red_mushroom', '8x minecraft:red_mushroom'], 1); + generateGreenHouseRecipe(event, 'minecraft:the_nether', '8x minecraft:brown_mushroom', ['24x minecraft:brown_mushroom', '8x minecraft:brown_mushroom'], 1); + + // Crops + global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { + generateCropGreenHouseRecipe(event, null, element.input, element.output, 1); + }); + + global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { + generateCropGreenHouseRecipe(event, null, element.input, element.output, 1); + }); + global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS.forEach(element => { + generateCropGreenHouseRecipe(event, null, element.input, element.output, 1); + }); + global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => { + generateCropGreenHouseRecipe(event, null, element.input, element.output, 1); + }); + + // Wood + global.TFC_WOOD_TYPES.forEach(element => { + generateTreeGreenHouseRecipe(event, null, `tfc:wood/sapling/${element}`, `tfc:wood/log/${element}`, 1); + }); + global.AFC_SAPLINGS.forEach(element => { + generateTreeGreenHouseRecipe(event, null, `afc:wood/sapling/${element.sapling}`, element.log, 1); + }); + + // Plants + Ingredient.of('#tfc:plants').subtract('#tfc:wild_fruits').stacks.forEach(element => { + generateGreenHouseRecipe(event, null, `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1); + }); + + generateGreenHouseRecipe(event, null, '8x minecraft:bamboo', ['64x minecraft:bamboo', '8x minecraft:bamboo'], 1); + + // Mars Wood + generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/strophar', [ + '64x ad_astra:strophar_stem', '4x tfg:saplings/strophar', '16x ad_astra:strophar_cap', '16x ad_astra:strophar_cap' + ], 1); + generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/aeronos', [ + '64x ad_astra:aeronos_stem', '4x tfg:saplings/aeronos', '16x ad_astra:aeronos_cap', '16x ad_astra:aeronos_cap' + ], 1); + generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/glacian', [ + '64x ad_astra:glacian_log', '4x tfg:saplings/glacian', '16x species:alphacene_moss_block', '16x species:alphacene_moss_block' + ], 1); + generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/alphacene', [ + '64x species:alphacene_mushroom_block', '4x tfg:saplings/alphacene', '16x minecraft:mushroom_stem', '16x minecraft:mushroom_stem' + ], 1); + generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/warped', [ + '64x beneath:wood/log/warped', '4x tfg:saplings/warped', '16x minecraft:warped_wart_block', '16x minecraft:warped_wart_block' + ], 1); + generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/crimson', [ + '64x beneath:wood/log/crimson', '4x tfg:saplings/crimson', '16x minecraft:nether_wart_block', '16x minecraft:nether_wart_block' + ], 1); + + // Mars Plants + Ingredient.of('#tfg:mars_plants').stacks.forEach(element => { + generateGreenHouseRecipe(event, 'ad_astra:mars', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1); + }); + + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:amber_root_seeds', 'betterend:amber_root_product', 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:blossom_berry_seeds', 'betterend:blossom_berry_product', 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:bolux_mushroom_seeds', 'betterend:bolux_mushroom_product', 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:cave_pumpkin_plant_seeds', 'betterend:cave_pumpkin', 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:chorus_mushroom_seeds', 'betterend:chorus_mushroom_product', 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:shadow_berry_seeds', 'betterend:shadow_berry_product', 1); + + // Moon Crops + generateCropGreenHouseRecipe(event, 'ad_astra:moon', 'tfg:lunar_chorus_flower', 'minecraft:chorus_fruit', 2); + + // Moon Plants + generateGreenHouseRecipe(event, 'ad_astra:moon', '8x minecraft:twisting_vines', [ + '16x minecraft:twisting_vines', '8x minecraft:pearlescent_froglight', '8x minecraft:verdant_froglight', '8x minecraft:ochre_froglight' + ], 1); + + Ingredient.of('#tfg:moon_plants').stacks.forEach(element => { + generateGreenHouseRecipe(event, 'ad_astra:moon', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1); + }); + + //#endregion +}; \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js new file mode 100644 index 000000000..e871d930c --- /dev/null +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js @@ -0,0 +1,242 @@ +// priority: 0 +"use strict"; + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +//#region Balancing Values + +/** + * Base duration of recipes in ticks. + * * Should match the Greenhouse base duration * aquaponics multiplier. +*/ +const pisciculture_base_duration = Math.max(1, greenhouse_base_duration * greenhouse_duration_multiplier_aquaponics); + +/** + * Dimension setting index provides recipe modifications based on the dimension assigned. + * + * @typedef {Object} DimensionIndex + * @property {Internal.Dimension} id - Dimension ID. + * @property {Internal.FluidStackIngredient_} fluid - Fluid ID or tag. + * @property {number} fluid_chance - Chance for fluid consumption per tick out of 100. + * @property {Internal.FluidStackIngredient_} fluid_out - Output fluid ID. + * @property {GTValues.EUt} eut - EUt value for that dimension. + * @property {boolean|null} oxygenated - Whether the recipe requires an oxygenated environment. + */ + +/** @type {DimensionIndex[]} - Dimension settings array */ +const pisciculture_dimension_index = [ + // Overworld settings are also used as the default when no dimension is specified. + {id: 'minecraft:overworld', fluid: '#tfg:clean_water', fluid_chance: 50, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true}, + {id: 'minecraft:the_nether', fluid: '#tfg:clean_water', fluid_chance: 50, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true}, + // The moon has no fish yet :( + {id: 'ad_astra:mars', fluid: 'tfg:semiheavy_ammoniacal_water', fluid_chance: 50, fluid_out: 'tfg:nitrate_rich_semiheavy_ammoniacal_water', eut: GTValues.VA[GTValues.HV], oxygenated: null} +]; + +//#endregion +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +//#region Utility Script + + /** + * Function for generating pisciculture recipes. + * + * @param {*} event + * @param {Internal.Dimension|null} dimension -Dimension ID. + * @param {Internal.ItemStack|Internal.ItemStack[]} input -Input Item (roe, fish food, etc). + * @param {Internal.ItemStack|Internal.ItemStack[]} output -Output Items. + * @param {string} id -Recipe ID. + */ + function generatePiscicultureRecipe(event, dimension, input, output, id) { + + // Resolve dimension based modifier defaults by comparing to the `pisciculture_dimension_index` array. + const dimMods = dimension ? pisciculture_dimension_index.find(d => d.id === dimension) : null; + const resolvedFluid = dimMods?.fluid ?? '#tfg:clean_water'; + const resolvedFluidOut = dimMods?.fluid_out ?? 'tfg:nitrate_rich_water'; + const resolvedEUt = dimMods ? dimMods.eut : GTValues.VA[GTValues.LV]; + const resolvedChance = dimMods ? (dimMods.fluid_chance * 100) : 5000; + const requiresOxygen = dimMods ? dimMods.oxygenated : true; + + // Collect errors. + const errors = []; + + if (input === undefined) { + errors.push("input is undefined"); + }; + if (output !== undefined && !Array.isArray(output)) { + output = [output]; + } + if (output === undefined || output.length === 0 || output.length > 4) { + errors.push("output is undefined or has invalid length"); + }; + + // If there are any errors, log them all and throw once. + if (errors.length > 0) { + throw new TypeError(`Pisciculture Fishery recipe errors for recipe ID ${`tfg:pisciculture_fishery/${id}`}\n - ${errors.join("\n - ")}`); + }; + + let a = event.recipes.gtceu.pisciculture_fishery(`tfg:${id}`) + .itemInputs(input) + .perTick(true) + .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) + .chancedFluidOutput(`${resolvedFluidOut} 1`, resolvedChance, 0) + .perTick(false) + .itemOutputs(output) + .duration(pisciculture_base_duration) + .EUt(resolvedEUt); + + if (dimension !== null) { + a.dimension(dimension) + }; + + if (requiresOxygen !== null) { + TFGRecipeSchemaBindings.isOxygenated(a, requiresOxygen) + }; +}; + +//#endregion + +/** + * @param {Internal.RecipesEventJS} event + */ +const registerTFGPiscicultureRecipes = (event) => { + + + //#region Multiblock Parts + + // Pisciculture Fishery Controller + event.recipes.gtceu.shaped('tfg:pisciculture_fishery', [ + 'FBF', + 'EAE', + 'CDC' + ], { + A: 'gtceu:hv_machine_hull', + B: 'tfg:machine_casing_aluminium_plated_steel', + C: '#gtceu:circuits/hv', + D: 'gtceu:stainless_steel_small_fluid_pipe', + E: 'gtceu:hv_electric_pump', + F: 'gtceu:fluid_filter' + }).addMaterialInfo().id('tfg:shaped/pisciculture_fishery'); + + // Pisciculture Core + event.recipes.gtceu.shaped('tfg:pisciculture_core', [ + 'CBC', + 'DBD', + 'CAC' + ], { + A: 'gtceu:hv_rotor_holder', + B: 'gtceu:stainless_steel_rotor', + C: 'gtceu:inert_machine_casing', + D: ChemicalHelper.get(TagPrefix.ring, GTMaterials.PolyvinylChloride, 1) + }).addMaterialInfo().id('tfg:shaped/pisciculture_core'); + + //#endregion + //#region Recipes + + global.FISH_INDEX.forEach(fish => { + + // Bucket to Roe. + if (fish.parent !== null && fish.parent.includes('bucket')) { + generatePiscicultureRecipe(event, + fish.dimension, [ + fish.parent, + fish.parent, + '6x #tfc:small_fishing_bait' + ], [ + `6x ${fish.item}`, + Item.of(`3x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT(), + '2x minecraft:bucket' + ], + `${fish.id.replace(/[/:\s]/g, "_")}/basic_food/bucket_to_roe` + ); + + generatePiscicultureRecipe(event, + fish.dimension, [ + fish.parent, + fish.parent, + '2x #tfg:advanced_fish_food' + ], [ + `12x ${fish.item}`, + Item.of(`4x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT(), + '2x minecraft:bucket' + ], + `${fish.id.replace(/[/:\s]/g, "_")}/advanced_food/bucket_to_roe` + ); + } else { + generatePiscicultureRecipe(event, + fish.dimension, [ + fish.parent, + fish.parent, + '6x #tfc:small_fishing_bait' + ], [ + `6x ${fish.item}`, + Item.of(`3x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT() + ], + `${fish.id.replace(/[/:\s]/g, "_")}/basic_food/parent_to_roe` + ); + + generatePiscicultureRecipe(event, + fish.dimension, [ + fish.parent, + fish.parent, + '2x #tfg:advanced_fish_food' + ], [ + `12x ${fish.item}`, + Item.of(`4x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT() + ], + `${fish.id.replace(/[/:\s]/g, "_")}/advanced_food/parent_to_roe` + ); + }; + + // Roe to Roe. + generatePiscicultureRecipe(event, + fish.dimension, [ + Item.of(`tfg:fish_roe`, {"mob_type": fish.id}).strongNBT(), + Item.of(`tfg:fish_roe`, {"mob_type": fish.id}).strongNBT(), + '6x #tfc:small_fishing_bait' + ], [ + `10x ${fish.item}`, + Item.of(`4x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT() + ], + `${fish.id.replace(/[/:\s]/g, "_")}/basic_food/roe_to_roe` + ); + + generatePiscicultureRecipe(event, + fish.dimension, [ + Item.of(`tfg:fish_roe`, {"mob_type": fish.id}).strongNBT(), + Item.of(`tfg:fish_roe`, {"mob_type": fish.id}).strongNBT(), + '2x #tfg:advanced_fish_food' + ], [ + `15x ${fish.item}`, + Item.of(`5x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT() + ], + `${fish.id.replace(/[/:\s]/g, "_")}/advanced_food/roe_to_roe` + ); + + }); + + //#endregion + //#region Related Recipes + + // Nitrate Rich Water Filtering + event.recipes.gtceu.electrolyzer('tfg:nitrate_rich_water_filtering') + .inputFluids(Fluid.of('tfg:nitrate_rich_water', 10000)) + .outputFluids( + Fluid.of('minecraft:water', 8000), + Fluid.of('gtceu:ammonia', 1000) + ) + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Saltpeter, 1)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.HV]); + + // Nitrate Rich Semiheavy Ammoniacal Water Filtering + event.recipes.gtceu.electrolyzer('tfg:nitrate_rich_semiheavy_ammoniacal_water_filtering') + .inputFluids(Fluid.of('tfg:nitrate_rich_semiheavy_ammoniacal_water', 10000)) + .outputFluids( + Fluid.of('tfg:semiheavy_ammoniacal_water', 8000), + Fluid.of('gtceu:ammonia', 1000) + ) + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Saltpeter, 1)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.HV]); + + //#endregion +}; \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/aquaponics/tags.aquaponics.js b/kubejs/server_scripts/tfg/aquaponics/tags.aquaponics.js new file mode 100644 index 000000000..cdb85131a --- /dev/null +++ b/kubejs/server_scripts/tfg/aquaponics/tags.aquaponics.js @@ -0,0 +1,56 @@ +"use strict"; + +/** + * @param {Internal.TagEventJS} event + */ +const registerTFGAquaponicsItemTags = (event) => { + event.add('tfg:treated_wood_greenhouse_casings', 'firmalife:treated_wood_greenhouse_wall'); + event.add('tfg:all_greenhouse_casings', 'firmalife:treated_wood_greenhouse_wall'); + + event.add('tfg:copper_greenhouse_casings', 'firmalife:copper_greenhouse_wall'); + event.add('tfg:all_greenhouse_casings', 'firmalife:copper_greenhouse_wall'); + + event.add('tfg:iron_greenhouse_casings', 'firmalife:iron_greenhouse_wall'); + event.add('tfg:all_greenhouse_casings', 'firmalife:iron_greenhouse_wall'); + + event.add('tfg:stainless_steel_greenhouse_casings', 'firmalife:stainless_steel_greenhouse_wall'); + event.add('tfg:all_greenhouse_casings', 'firmalife:stainless_steel_greenhouse_wall'); + + + event.add('tfc:foods/usable_in_salad', 'tfg:fish_roe'); + event.add('tfc:foods/usable_in_jam_sandwich', 'tfg:fish_roe'); + event.add('tfc:foods/usable_in_sandwich', 'tfg:fish_roe'); + event.add('tfc:foods/can_be_salted', 'tfg:fish_roe'); + event.add('tfc:foods', 'tfg:fish_roe'); + event.add('firmalife:foods/raw_fish', 'tfg:fish_roe'); + event.add('minecraft:fishes', 'tfg:fish_roe'); + + event.add('tfg:advanced_fish_food', 'tfg:flora_pellets'); + event.add('create:blaze_burner_fuel/regular', "tfg:flora_pellets"); +}; + +/** + * @param {Internal.TagEventJS} event + */ +const registerTFGAquaponicsBlockTags = (event) => { + event.add('tfg:treated_wood_greenhouse_casings', 'firmalife:treated_wood_greenhouse_wall'); + event.add('tfg:all_greenhouse_casings', 'firmalife:treated_wood_greenhouse_wall'); + + event.add('tfg:copper_greenhouse_casings', 'firmalife:copper_greenhouse_wall'); + event.add('tfg:all_greenhouse_casings', 'firmalife:copper_greenhouse_wall'); + + event.add('tfg:iron_greenhouse_casings', 'firmalife:iron_greenhouse_wall'); + event.add('tfg:all_greenhouse_casings', 'firmalife:iron_greenhouse_wall'); + + event.add('tfg:stainless_steel_greenhouse_casings', 'firmalife:stainless_steel_greenhouse_wall'); + event.add('tfg:all_greenhouse_casings', 'firmalife:stainless_steel_greenhouse_wall'); +}; + +/** + * @param {Internal.TagEventJS} event + */ +const registerTFGAquaponicsFluidTags = (event) => { + event.add('tfg:pisciculture_fishery_fluids', 'minecraft:water') + event.add('tfg:pisciculture_fishery_fluids', 'tfc:salt_water') + event.add('tfg:pisciculture_fishery_fluids', 'tfg:semiheavy_ammoniacal_water') +}; \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index 6608c3ef1..e48d7205f 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -11,6 +11,7 @@ function registerTFCDataForTFG(event) { registerTFGFLPlanters(event); registerTFGFauna(event); registerTFGEquipmentData(event); + registerTFGAquaponicsData(event); } //#region Heat Data diff --git a/kubejs/server_scripts/tfg/food/recipes.biomass.js b/kubejs/server_scripts/tfg/food/recipes.biomass.js index 82455ef59..dccad54e9 100644 --- a/kubejs/server_scripts/tfg/food/recipes.biomass.js +++ b/kubejs/server_scripts/tfg/food/recipes.biomass.js @@ -179,4 +179,4 @@ function registerTFGBiomassRecipes(event) { .itemOutputs('gtceu:meat_dust', 'gtceu:tiny_bone_dust') .duration(100) .EUt(2) -} \ No newline at end of file +} diff --git a/kubejs/server_scripts/tfg/food/recipes.food.js b/kubejs/server_scripts/tfg/food/recipes.food.js index e0b93f905..caf7ac9f4 100644 --- a/kubejs/server_scripts/tfg/food/recipes.food.js +++ b/kubejs/server_scripts/tfg/food/recipes.food.js @@ -303,8 +303,7 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of(`4x ${item.unsalted_cheese}`).copyOldestFood() }) - if (item.salted_wheel === null || item.salted_cheese === null) - return; + if (item.salted_wheel === null || item.salted_cheese === null) return; global.processorRecipe(event, `${item.id}_salted_cheese_wheel`, 1000, 16, { circuit: 2, @@ -381,8 +380,8 @@ function registerTFGFoodRecipes(event) { for (const cshape of chocolateShape) { global.processorRecipe(event, `${ctype}_${cshape}_melting`, 100, 16, { circuit: 1, - itemInputs:[cshape == "" ? `firmalife:food/${ctype}` : `tfcchannelcasting:food/${ctype}${cshape}`], - fluidOutputs:[cshape == "" ? Fluid.of(`tfcchannelcasting:${ctype}`, 144) : Fluid.of(`tfcchannelcasting:${ctype}`, 100)], + itemInputs:[cshape === "" ? `firmalife:food/${ctype}` : `tfcchannelcasting:food/${ctype}${cshape}`], + fluidOutputs:[cshape === "" ? Fluid.of(`tfcchannelcasting:${ctype}`, 144) : Fluid.of(`tfcchannelcasting:${ctype}`, 100)] }) } } @@ -390,9 +389,9 @@ function registerTFGFoodRecipes(event) { for (const ctype of chocolateType) { for (const cshape of chocolateShape) { global.processorRecipe(event, `${ctype}_${cshape}_casting`, 100, 16, { - fluidInputs: [cshape == "" ? Fluid.of(`tfcchannelcasting:${ctype}`, 144) : Fluid.of(`tfcchannelcasting:${ctype}`, 100)], - itemOutputs: [cshape == "" ? `firmalife:food/${ctype}` : `tfcchannelcasting:food/${ctype}${cshape}`], - itemOutputProvider: TFC.isp.of(cshape == "" ? `firmalife:food/${ctype}` : `tfcchannelcasting:food/${ctype}${cshape}`).resetFood(), + fluidInputs: [cshape === "" ? Fluid.of(`tfcchannelcasting:${ctype}`, 144) : Fluid.of(`tfcchannelcasting:${ctype}`, 100)], + itemOutputs: [cshape === "" ? `firmalife:food/${ctype}` : `tfcchannelcasting:food/${ctype}${cshape}`], + itemOutputProvider: TFC.isp.of(cshape === "" ? `firmalife:food/${ctype}` : `tfcchannelcasting:food/${ctype}${cshape}`).resetFood(), notConsumable: [chocolatemolds[chocolateShape.indexOf(cshape)]] }) } diff --git a/kubejs/server_scripts/tfg/mars/recipes.mars.js b/kubejs/server_scripts/tfg/mars/recipes.mars.js index ac9fa0bc2..8798236bc 100644 --- a/kubejs/server_scripts/tfg/mars/recipes.mars.js +++ b/kubejs/server_scripts/tfg/mars/recipes.mars.js @@ -99,7 +99,7 @@ function registerTFGMarsRecipes(event) { 'A A' ], { A: 'tfg:wood/lumber/aeronos', - B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1), + B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1) }).id('tfg:shaped/aeronos_ladder') event.shaped('8x ad_astra:strophar_ladder', [ @@ -108,29 +108,9 @@ function registerTFGMarsRecipes(event) { 'A A' ], { A: 'tfg:wood/lumber/strophar', - B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1), + B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1) }).id('tfg:shaped/strophar_ladder') - - generateGreenHouseRecipe(event, '8x tfg:saplings/strophar', 'tfg:semiheavy_ammoniacal_water', 16000, - '64x ad_astra:strophar_stem', 'tfg:green_house/strophar_mushroom', 'ad_astra:mars', 8, - '16x ad_astra:strophar_cap', GTValues.VA[GTValues.MV]) - generateGreenHouseRecipe(event, '8x tfg:saplings/aeronos', 'tfg:semiheavy_ammoniacal_water', 16000, - '64x ad_astra:aeronos_stem', 'tfg:green_house/aeronos_mushroom', 'ad_astra:mars', 8, - '16x ad_astra:aeronos_cap', GTValues.VA[GTValues.MV]) - generateGreenHouseRecipe(event, '8x tfg:saplings/glacian', 'tfg:semiheavy_ammoniacal_water', 16000, - '64x ad_astra:glacian_log', 'tfg:green_house/glacian_tree', 'ad_astra:mars', 8, - '8x species:alphacene_moss_block', GTValues.VA[GTValues.MV]) - - // Beneath woods - - generateGreenHouseRecipe(event, '8x tfg:saplings/warped', 'tfg:semiheavy_ammoniacal_water', 16000, - '64x beneath:wood/log/warped', 'tfg:green_house/warped_fungus', 'ad_astra:mars', 8, - '32x minecraft:warped_wart_block', GTValues.VA[GTValues.MV]) - generateGreenHouseRecipe(event, '8x tfg:saplings/crimson', 'tfg:semiheavy_ammoniacal_water', 16000, - '64x beneath:wood/log/crimson', 'tfg:green_house/crimson_fungus', 'ad_astra:mars', 8, - '32x minecraft:nether_wart_block', GTValues.VA[GTValues.MV]) - // don't pass in the items like doors, trapdoors etc because beneath already has good recipes for those woodBuilder(event, 'crimson', 'beneath:wood/lumber/crimson', '#tfc:crimson_logs', 'beneath:wood/log/crimson', 'beneath:wood/stripped_log/crimson', 'beneath:wood/planks/crimson', null, @@ -164,12 +144,6 @@ function registerTFGMarsRecipes(event) { .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) .id(`tfg:vi/lathe/stripping_warped_wood`) - // Alphacene - - generateGreenHouseRecipe(event, '8x tfg:saplings/alphacene', 'tfg:semiheavy_ammoniacal_water', 16000, - '64x species:alphacene_mushroom_block', 'tfg:green_house/alphacene_mushroom', 'ad_astra:mars', 8, - '8x minecraft:mushroom_stem', GTValues.VA[GTValues.MV]) - //Large Nest event.shaped('tfg:large_nest_box', [ @@ -247,34 +221,6 @@ function registerTFGMarsRecipes(event) { B: '#tfc:lumber' }).id('tfg:shaped/glacian_bed') - // Plants - - Ingredient.of('#tfg:mars_plants').stacks.forEach(element => { - const itemId = element.id; - const recipeId = `greenhouse_${itemId.replace(':', '_')}`; - - generateGreenHouseRecipe(event, itemId, 'tfg:semiheavy_ammoniacal_water', 8000, `8x ${itemId}`, - recipeId, 'ad_astra:mars', 8, itemId, GTValues.VA[GTValues.LV]); - }); - - generateGreenHouseRecipe(event, '8x betterend:amber_root_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, - '24x betterend:amber_root_product', 'amber_root', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - - generateGreenHouseRecipe(event, '8x betterend:blossom_berry_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, - '24x betterend:blossom_berry_product', 'blossom_berry', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - - generateGreenHouseRecipe(event, '8x betterend:bolux_mushroom_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, - '24x betterend:bolux_mushroom_product', 'bolux_mushroom', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - - generateGreenHouseRecipe(event, '8x betterend:cave_pumpkin_plant_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, - '24x betterend:cave_pumpkin', 'cave_pumpkin', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - - generateGreenHouseRecipe(event, '8x betterend:chorus_mushroom_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, - '24x betterend:chorus_mushroom_product', 'chorus_mushroom', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - - generateGreenHouseRecipe(event, '8x betterend:shadow_berry_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, - '24x betterend:shadow_berry_product', 'shadow_berry', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - event.recipes.firmalife.oven('betterend:cave_pumpkin_pie_raw', 400, 60 * 20, 'betterend:cave_pumpkin_pie') // Mars primitive stuff diff --git a/kubejs/server_scripts/tfg/moon/recipes.plants.js b/kubejs/server_scripts/tfg/moon/recipes.plants.js index 38c5e8f8b..8a15efa4a 100644 --- a/kubejs/server_scripts/tfg/moon/recipes.plants.js +++ b/kubejs/server_scripts/tfg/moon/recipes.plants.js @@ -2,40 +2,13 @@ function registerTFGMoonPlantRecipes(event) { - // Plants - Can't use the default builder here because fertiliser is much harder to get on the moon, - // and we're using helium-3 as the fertiliser - - // Chorus - event.recipes.gtceu.greenhouse('tfg:chorus') - .notConsumable('8x tfg:lunar_chorus_flower') - .itemOutputs('64x minecraft:chorus_fruit') - .chancedOutput('8x tfg:lunar_chorus_flower', 750, 0) - .chancedOutput('8x tfg:lunar_chorus_flower', 500, 0) - .chancedOutput('8x tfg:lunar_chorus_flower', 750, 0) - .duration(36000) // 30 mins - .circuit(1) - .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') - - event.recipes.gtceu.greenhouse('tfg:chorus_helium') - .notConsumable('8x tfg:lunar_chorus_flower') - .inputFluids(Fluid.of('gtceu:helium_3', 2000)) - .itemOutputs('64x minecraft:chorus_fruit') - .chancedOutput('8x tfg:lunar_chorus_flower', 4000, 0) - .chancedOutput('8x tfg:lunar_chorus_flower', 3000, 0) - .chancedOutput('8x tfg:lunar_chorus_flower', 4000, 0) - .duration(12000) // 10 mins - .circuit(2) - .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') - // Replace the built-in greg one to add a circuit event.recipes.gtceu.fermenter('fermented_biomass') .inputFluids(Fluid.of('gtceu:biomass', 100)) .outputFluids(Fluid.of('gtceu:fermented_biomass', 100)) .circuit(1) .duration(150) - .EUt(2) + .EUt(2); event.recipes.gtceu.fermenter('tfg:chorus') .itemInputs('minecraft:chorus_fruit') @@ -45,7 +18,7 @@ function registerTFGMoonPlantRecipes(event) { .circuit(2) .duration(5 * 20) .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') + .dimension('ad_astra:moon'); event.recipes.gtceu.fermenter('tfg:chorus_flower') .itemInputs('tfg:lunar_chorus_flower') @@ -55,64 +28,12 @@ function registerTFGMoonPlantRecipes(event) { .circuit(2) .duration(5 * 20) .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') + .dimension('ad_astra:moon'); - // Lightblooms - event.recipes.gtceu.greenhouse('tfg:lightbloom') - .notConsumable('8x minecraft:twisting_vines') - .itemOutputs('16x minecraft:twisting_vines') - .chancedOutput('minecraft:pearlescent_froglight', 2500, 0) - .chancedOutput('minecraft:verdant_froglight', 2500, 0) - .chancedOutput('minecraft:ochre_froglight', 2500, 0) - .duration(36000) // 30 mins - .circuit(1) - .EUt(GTValues.VA[GTValues.LV]) - .dimension('ad_astra:moon') - - event.recipes.gtceu.greenhouse('tfg:lightbloom_helium') - .notConsumable('8x minecraft:twisting_vines') - .inputFluids(Fluid.of('gtceu:helium_3', 2000)) - .itemOutputs('16x minecraft:twisting_vines') - .chancedOutput('minecraft:pearlescent_froglight', 3500, 0) - .chancedOutput('minecraft:verdant_froglight', 3500, 0) - .chancedOutput('minecraft:ochre_froglight', 3500, 0) - .duration(12000) // 30 mins - .circuit(2) - .EUt(GTValues.VA[GTValues.LV]) - .dimension('ad_astra:moon') - - event.recipes.gtceu.brewery('biomass_from_twisting_vines') - .itemInputs('minecraft:twisting_vines') - .inputFluids("#tfg:clean_water 20") - .outputFluids(Fluid.of('gtceu:biomass', 20)) - .duration(50) - .EUt(3) - - Ingredient.of('#tfg:moon_plants').stacks.forEach(element => { - const itemId = element.id; - const recipeId = `betterend:greenhouse_${itemId.replace(':', '_')}`; - - event.recipes.gtceu.greenhouse(recipeId) - .notConsumable(element.id) - .itemOutputs(`8x ${element.id}`) - .chancedOutput(element.id, 750, 0) - .chancedOutput(element.id, 500, 0) - .chancedOutput(element.id, 750, 0) - .duration(36000) // 30 mins - .circuit(1) - .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') - - event.recipes.gtceu.greenhouse(`${recipeId}_helium`) - .notConsumable(element.id) - .inputFluids(Fluid.of('gtceu:helium_3', 500)) - .itemOutputs(`8x ${element.id}`) - .chancedOutput(element.id, 4000, 0) - .chancedOutput(element.id, 3000, 0) - .chancedOutput(element.id, 4000, 0) - .duration(12000) // 30 mins - .circuit(2) - .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') - }); -} \ No newline at end of file + event.recipes.gtceu.brewery('biomass_from_twisting_vines') + .itemInputs('minecraft:twisting_vines') + .inputFluids("#tfg:clean_water 20") + .outputFluids(Fluid.of('gtceu:biomass', 20)) + .duration(50) + .EUt(3); +}; \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/powergen/recipes.boiler.js b/kubejs/server_scripts/tfg/powergen/recipes.boiler.js index 847e4123a..81e6b8be0 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.boiler.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.boiler.js @@ -60,10 +60,15 @@ function registerTFGBoilerRecipes(event) { .duration(75) .dimension('minecraft:overworld') + event.recipes.gtceu.steam_boiler('tfg:flora_pellets') + .itemInputs('tfg:flora_pellets') + .duration(1200) + .dimension('minecraft:overworld') + // Small nerf to charcoal event.forEachRecipe({ id: /gtceu:(steam_boiler|large_boiler)\/.*charcoal.*/ }, recipe => { - var newDuration = recipe.get("duration") + let newDuration = recipe.get("duration") recipe.set("duration", newDuration/4*3) }) diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index f6d91db2c..f2321374c 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -14,6 +14,9 @@ const registerTFGRecipes = (event) => { registerTFGRefrigeratorRecipes(event) registerTFGMealBagRecipes(event) registerTFGBiomassRecipes(event) + // Greenhouse needs to register before pisciculture. + registerTFGGreenhouseRecipes(event) + registerTFGPiscicultureRecipes(event) // TFC stone types registerTFCStoneRecipes(event) diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index 3499e2494..fe3ec5369 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -169,4 +169,12 @@ function registerTFGMiscellaneousRecipes(event) { TFGHelpers.registerMaterialInfo('tfg:rnr_plow', { 'cobalt_brass': 9, 'invar': 4, 'steel': 2, 'wrought_iron': 3, 'treated_wood': 2 }); //#endregion + + // Rotten Voiding Cover + event.recipes.gtceu.assembler('tfg:rotten_voiding_cover') + .itemInputs('gtceu:item_voiding_cover', '8x tfc:rotten_compost') + .itemOutputs('tfg:rotten_voiding_cover') + .duration(5*20) + .EUt(GTValues.VA[GTValues.LV]) + .addMaterialInfo(true); } diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index db7057af8..c083d0293 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -17,6 +17,7 @@ const registerTFGItemTags = (event) => { registerTFGMoonItemTags(event) registerTFGMarsItemTags(event) registerTFGVenusItemTags(event) + registerTFGAquaponicsItemTags(event) // TEMPORARY, REMOVE WHEN GURMAN FIXES THIS event.remove('tfc:foods', 'tfc_gurman:havai_pizza') @@ -115,6 +116,7 @@ const registerTFGBlockTags = (event) => { registerTFGMoonBlockTags(event) registerTFGMarsBlockTags(event) registerTFGVenusBlockTags(event) + registerTFGAquaponicsBlockTags(event) event.add('minecraft:mineable/pickaxe', 'tfg:superconductor_coil_large') event.add('minecraft:mineable/pickaxe', 'tfg:superconductor_coil_small') @@ -140,6 +142,7 @@ const registerTFGBlockTags = (event) => { //#region Fluids const registerTFGFluidTags = (event) => { + registerTFGAquaponicsFluidTags(event) registerTFGPrimitiveFluidTags(event) event.add('tfg:clean_water', 'minecraft:water') diff --git a/kubejs/server_scripts/tfg/venus/recipes.biochem.js b/kubejs/server_scripts/tfg/venus/recipes.biochem.js index c3298a2da..e1a711727 100644 --- a/kubejs/server_scripts/tfg/venus/recipes.biochem.js +++ b/kubejs/server_scripts/tfg/venus/recipes.biochem.js @@ -462,6 +462,22 @@ function registerTFGBiochemRecipes(event) { organics.forEach(organic => deccellularizationRecipe(event, organic.type, organic.id, organic.amount) ); + + // Chlorplast "Centrifuging" + event.recipes.gtceu.bioreactor('tfg:chloroplasts') + .notConsumableFluid( + Fluid.of('gtceu:glycerol', 1000) + ) + .inputFluids( + Fluid.of('gtceu:biomass', 8000) + ) + .outputFluids( + Fluid.of('tfg:chloroplasts', 100), + Fluid.of('minecraft:water', 6000), + Fluid.of('gtceu:seed_oil', 1900) + ) + .duration(20*20) + .EUt(GTValues.VA[GTValues.EV]); //#endregion //#region Gram Stain diff --git a/kubejs/startup_scripts/firmalife/constants.js b/kubejs/startup_scripts/firmalife/constants.js index db0ce962b..db7e6b48f 100644 --- a/kubejs/startup_scripts/firmalife/constants.js +++ b/kubejs/startup_scripts/firmalife/constants.js @@ -101,13 +101,12 @@ global.FIRMALIFE_JAMS = [ ] global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = [ - { input: 'firmalife:plant/cocoa_sapling', fluid_amount: 8000, output: '3x firmalife:food/cocoa_beans', name: 'cocoa_beans' }, - { input: 'firmalife:plant/fig_sapling', fluid_amount: 8000, output: '3x firmalife:food/fig', name: 'fig' } -]; - -global.FIRMALIFE_GREENHOUSE_BERRY_RECIPE_COMPONENTS = [ - { input: 'firmalife:plant/pineapple_bush', fluid_amount: 6000, output: '3x firmalife:food/pineapple', name: 'pineapple' }, - { input: 'firmalife:plant/nightshade_bush', fluid_amount: 6000, output: '3x firmalife:food/nightshade_berry', name: 'nightshade' } + { input: 'firmalife:plant/cocoa_sapling', output: 'firmalife:food/cocoa_beans'}, + { input: 'firmalife:plant/fig_sapling', output: 'firmalife:food/fig'}, + { input: 'firmalife:plant/pineapple_bush', output: 'firmalife:food/pineapple'}, + { input: 'firmalife:plant/nightshade_bush', output: 'firmalife:food/nightshade_berry'}, + { input: 'firmalife:seeds/red_grape', output: 'firmalife:food/red_grapes'}, + { input: 'firmalife:seeds/white_grape', output: 'firmalife:food/white_grapes'} ]; global.FIRMALIFE_COOKING_RECIPE_COMPONENTS = [ diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 92c377a5e..2a2d4898b 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -433,3 +433,69 @@ global.GTCEU_SUPERCONDUCTORS = /** @type {const} */ ([ { name: "ruthenium_trinium_americium_neutronate", materialId: "RutheniumTriniumAmericiumNeutronate" } ]); //#endregion + +//#region Concrete Blocks +/** + * Concrete block groups keyed by type [type, ids]. + * + * @global + * @type {Record} + */ +global.GTCEU_CONCRETE_BLOCKS = (() => { + /** + * Attach a name to an array of concrete block item IDs. + * @param {string} name + * @param {string[]} items + * @returns {string[] & { name: string }} + */ + function group(name, items) { + items.name = name; + return items; + } + + return { + light_concrete: group('light_concrete', [ + 'gtceu:light_concrete', + 'gtceu:light_concrete_cobblestone', + 'gtceu:mossy_light_concrete_cobblestone', + 'gtceu:polished_light_concrete', + 'gtceu:light_concrete_bricks', + 'gtceu:cracked_light_concrete_bricks', + 'gtceu:mossy_light_concrete_bricks', + 'gtceu:chiseled_light_concrete', + 'gtceu:light_concrete_tile', + 'gtceu:light_concrete_small_tile', + 'gtceu:light_concrete_windmill_a', + 'gtceu:light_concrete_windmill_b', + 'gtceu:small_light_concrete_bricks', + 'gtceu:square_light_concrete_bricks' + ]), + dark_concrete: group('dark_concrete', [ + 'gtceu:dark_concrete', + 'gtceu:dark_concrete_cobblestone', + 'gtceu:mossy_dark_concrete_cobblestone', + 'gtceu:polished_dark_concrete', + 'gtceu:dark_concrete_bricks', + 'gtceu:cracked_dark_concrete_bricks', + 'gtceu:mossy_dark_concrete_bricks', + 'gtceu:chiseled_dark_concrete', + 'gtceu:dark_concrete_tile', + 'gtceu:dark_concrete_small_tile', + 'gtceu:dark_concrete_windmill_a', + 'gtceu:dark_concrete_windmill_b', + 'gtceu:small_dark_concrete_bricks', + 'gtceu:square_dark_concrete_bricks' + + ]), + titanium_concrete: group('titanium_concrete', [ + 'tfg:titanium_concrete', + 'tfg:polished_titanium_concrete', + 'tfg:titanium_concrete_tile', + 'tfg:titanium_concrete_tile_small', + 'tfg:titanium_concrete_bricks', + 'tfg:titanium_concrete_bricks_small', + 'tfg:titanium_concrete_bricks_square' + ]) + }; +})(); +//#endregion diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index 864e69f0e..20241104f 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -3,6 +3,7 @@ const registerGTCEuMachines = (event) => { const CoilWorkableElectricMultiblockMachine = Java.loadClass("com.gregtechceu.gtceu.api.machine.multiblock.CoilWorkableElectricMultiblockMachine") + const $Tags = Java.loadClass("dev.latvian.mods.kubejs.util.Tags") //#region Large Solar Panels @@ -87,31 +88,7 @@ const registerGTCEuMachines = (event) => { .aisle(" S S ", " S S ", " S S ", " CCCCCCC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ") .aisle(" A A ", " A A ", " S S ", " S S ", " CCC CCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ") .aisle(" A A ", " A A ", " S S ", " S S ", " CCCCCCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ") - .where("A", Predicates.blocks('gtceu:light_concrete') - .or(Predicates.blocks('gtceu:polished_light_concrete')) - .or(Predicates.blocks('gtceu:light_concrete_bricks')) - .or(Predicates.blocks('gtceu:cracked_light_concrete_bricks')) - .or(Predicates.blocks('gtceu:mossy_light_concrete_bricks')) - .or(Predicates.blocks('gtceu:chiseled_light_concrete')) - .or(Predicates.blocks('gtceu:light_concrete_tile')) - .or(Predicates.blocks('gtceu:light_concrete_small_tile')) - .or(Predicates.blocks('gtceu:light_concrete_windmill_a')) - .or(Predicates.blocks('gtceu:light_concrete_windmill_b')) - .or(Predicates.blocks('gtceu:small_light_concrete_bricks')) - .or(Predicates.blocks('gtceu:square_light_concrete_bricks')) - .or(Predicates.blocks('gtceu:dark_concrete')) - .or(Predicates.blocks('gtceu:polished_dark_concrete')) - .or(Predicates.blocks('gtceu:dark_concrete_bricks')) - .or(Predicates.blocks('gtceu:cracked_dark_concrete_bricks')) - .or(Predicates.blocks('gtceu:mossy_dark_concrete_bricks')) - .or(Predicates.blocks('gtceu:chiseled_dark_concrete')) - .or(Predicates.blocks('gtceu:dark_concrete_tile')) - .or(Predicates.blocks('gtceu:dark_concrete_small_tile')) - .or(Predicates.blocks('gtceu:dark_concrete_windmill_a')) - .or(Predicates.blocks('gtceu:dark_concrete_windmill_b')) - .or(Predicates.blocks('gtceu:small_dark_concrete_bricks')) - .or(Predicates.blocks('gtceu:square_dark_concrete_bricks')) - ) + .where("A", Predicates.blockTag($Tags.block("tfg:gtceu_concrete_blocks"))) .where("B", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.frameGt, GTMaterials.TungstenSteel))) .where("S", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.frameGt, GTMaterials.Aluminium))) .where("C", Predicates.blocks("tfg:casings/machine_casing_green_solar_panel")) @@ -173,31 +150,7 @@ const registerGTCEuMachines = (event) => { .aisle(" A A ", " A A ", " S S ", " S S ", " S S ", " CCCCCCC ", " CCC CCC ", " ", " ", " ", " ", " ", " ", " ") .aisle(" A A ", " A A ", " A A ", " S S ", " S S ", " S S ", " CC CC ", " ", " ", " ", " ", " ", " ", " ") .aisle(" A A ", " A A ", " A A ", " S S ", " S S ", " S S ", " CCCCCCCCC ", " ", " ", " ", " ", " ", " ", " ") - .where("A", Predicates.blocks('gtceu:light_concrete') - .or(Predicates.blocks('gtceu:polished_light_concrete')) - .or(Predicates.blocks('gtceu:light_concrete_bricks')) - .or(Predicates.blocks('gtceu:cracked_light_concrete_bricks')) - .or(Predicates.blocks('gtceu:mossy_light_concrete_bricks')) - .or(Predicates.blocks('gtceu:chiseled_light_concrete')) - .or(Predicates.blocks('gtceu:light_concrete_tile')) - .or(Predicates.blocks('gtceu:light_concrete_small_tile')) - .or(Predicates.blocks('gtceu:light_concrete_windmill_a')) - .or(Predicates.blocks('gtceu:light_concrete_windmill_b')) - .or(Predicates.blocks('gtceu:small_light_concrete_bricks')) - .or(Predicates.blocks('gtceu:square_light_concrete_bricks')) - .or(Predicates.blocks('gtceu:dark_concrete')) - .or(Predicates.blocks('gtceu:polished_dark_concrete')) - .or(Predicates.blocks('gtceu:dark_concrete_bricks')) - .or(Predicates.blocks('gtceu:cracked_dark_concrete_bricks')) - .or(Predicates.blocks('gtceu:mossy_dark_concrete_bricks')) - .or(Predicates.blocks('gtceu:chiseled_dark_concrete')) - .or(Predicates.blocks('gtceu:dark_concrete_tile')) - .or(Predicates.blocks('gtceu:dark_concrete_small_tile')) - .or(Predicates.blocks('gtceu:dark_concrete_windmill_a')) - .or(Predicates.blocks('gtceu:dark_concrete_windmill_b')) - .or(Predicates.blocks('gtceu:small_dark_concrete_bricks')) - .or(Predicates.blocks('gtceu:square_dark_concrete_bricks')) - ) + .where("A", Predicates.blockTag($Tags.block("tfg:gtceu_concrete_blocks"))) .where("B", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.frameGt, GTMaterials.RhodiumPlatedPalladium))) .where("S", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.frameGt, GTMaterials.StainlessSteel))) .where("C", Predicates.blocks("tfg:casings/machine_casing_red_solar_panel")) diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index d0c502952..52bf3b253 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -22,6 +22,7 @@ ItemEvents.modification(event => { registerGTCEuItemModifications(event) registerMinecraftItemModifications(event) registerSNSItemModifications(event) + registerTFGItemModifications(event) }) StartupEvents.registry('fluid', event => { diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index 24c389857..3cb34c6d0 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -787,58 +787,58 @@ 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/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" }, - { input: "tfc:plant/peach_sapling", fluid_amount: 8000, output: "32x tfc:food/peach", name: "peach" }, - { input: "tfc:plant/plum_sapling", fluid_amount: 8000, output: "32x tfc:food/plum", name: "plum" }, - { input: "tfc:plant/red_apple_sapling", fluid_amount: 8000, output: "32x tfc:food/red_apple", name: "red_apple" }, - { input: "tfc:plant/banana_sapling", fluid_amount: 8000, output: "32x tfc:food/banana", name: "banana" } + { input: "tfc:plant/cherry_sapling", output: "tfc:food/cherry"}, + { input: "tfc:plant/green_apple_sapling", output: "tfc:food/green_apple"}, + { input: "tfc:plant/lemon_sapling", output: "tfc:food/lemon"}, + { input: "tfc:plant/olive_sapling", output: "tfc:food/olive"}, + { input: "tfc:plant/orange_sapling", output: "tfc:food/orange"}, + { input: "tfc:plant/peach_sapling", output: "tfc:food/peach"}, + { input: "tfc:plant/plum_sapling", output: "tfc:food/plum"}, + { input: "tfc:plant/red_apple_sapling", output: "tfc:food/red_apple"}, + { input: "tfc:plant/banana_sapling", output: "tfc:food/banana"} ]); global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS = /** @type {const} */ ([ - { input: "8x tfc:seeds/barley", fluid_amount: 4000, output: "24x tfc:food/barley", name: "barley" }, - { input: "8x tfc:seeds/oat", fluid_amount: 4000, output: "24x tfc:food/oat", name: "oat" }, - { input: "8x tfc:seeds/rye", fluid_amount: 4000, output: "24x tfc:food/rye", name: "rye" }, - { input: "8x tfc:seeds/maize", fluid_amount: 4000, output: "24x tfc:food/maize", name: "maize" }, - { input: "8x tfc:seeds/wheat", fluid_amount: 4000, output: "24x tfc:food/wheat", name: "wheat" }, - { input: "8x tfc:seeds/rice", fluid_amount: 4000, output: "24x tfc:food/rice", name: "rice" }, - { input: "8x tfc:seeds/beet", fluid_amount: 4000, output: "24x tfc:food/beet", name: "beet" }, - { input: "8x tfc:seeds/cabbage", fluid_amount: 4000, output: "24x tfc:food/cabbage", name: "cabbage" }, - { input: "8x tfc:seeds/carrot", fluid_amount: 4000, output: "24x tfc:food/carrot", name: "carrot" }, - { input: "8x tfc:seeds/green_bean", fluid_amount: 4000, output: "24x tfc:food/green_bean", name: "green_bean" }, - { input: "8x tfc:seeds/garlic", fluid_amount: 4000, output: "24x tfc:food/garlic", name: "garlic" }, - { input: "8x tfc:seeds/potato", fluid_amount: 4000, output: "24x tfc:food/potato", name: "potato" }, - { input: "8x tfc:seeds/onion", fluid_amount: 4000, output: "24x tfc:food/onion", name: "onion" }, - { input: "8x tfc:seeds/soybean", fluid_amount: 4000, output: "24x tfc:food/soybean", name: "soybean" }, - { input: "8x tfc:seeds/squash", fluid_amount: 4000, output: "24x tfc:food/squash", name: "squash" }, - { input: "8x tfc:seeds/sugarcane", fluid_amount: 4000, output: "24x tfc:food/sugarcane", name: "sugarcane" }, - { input: "8x tfc:seeds/tomato", fluid_amount: 4000, output: "24x tfc:food/tomato", name: "tomato" }, - { input: "8x tfc:seeds/jute", fluid_amount: 4000, output: "24x tfc:jute", name: "jute" }, - { input: "8x tfc:seeds/papyrus", fluid_amount: 4000, output: "24x tfc:papyrus", name: "papyrus" }, - { input: "8x tfc:seeds/pumpkin", fluid_amount: 4000, output: "24x tfc:pumpkin", name: "pumpkin" }, - { input: "8x tfc:seeds/melon", fluid_amount: 4000, output: "24x tfc:melon", name: "melon" }, - { input: "8x tfc:seeds/red_bell_pepper", fluid_amount: 4000, output: "24x tfc:food/red_bell_pepper", name: "red_bell_pepper" }, - { input: "8x tfc:seeds/yellow_bell_pepper", fluid_amount: 4000, output: "24x tfc:food/yellow_bell_pepper", name: "yellow_bell_pepper" }, - { input: "8x tfg:sunflower_seeds", fluid_amount: 4000, output: "24x tfg:sunflower_product", name: "sunflower" }, - { input: "8x tfg:rapeseed_seeds", fluid_amount: 4000, output: "24x tfg:rapeseed_product", name: "rapeseed" }, - { input: "8x tfg:flax_seeds", fluid_amount: 4000, output: "24x tfg:flax_product", name: "flax" } + { input: "tfc:seeds/barley", output: "tfc:food/barley"}, + { input: "tfc:seeds/oat", output: "tfc:food/oat"}, + { input: "tfc:seeds/rye", output: "tfc:food/rye"}, + { input: "tfc:seeds/maize", output: "tfc:food/maize"}, + { input: "tfc:seeds/wheat", output: "tfc:food/wheat"}, + { input: "tfc:seeds/rice", output: "tfc:food/rice"}, + { input: "tfc:seeds/beet", output: "tfc:food/beet"}, + { input: "tfc:seeds/cabbage", output: "tfc:food/cabbage"}, + { input: "tfc:seeds/carrot", output: "tfc:food/carrot"}, + { input: "tfc:seeds/green_bean", output: "tfc:food/green_bean"}, + { input: "tfc:seeds/garlic", output: "tfc:food/garlic"}, + { input: "tfc:seeds/potato", output: "tfc:food/potato"}, + { input: "tfc:seeds/onion", output: "tfc:food/onion"}, + { input: "tfc:seeds/soybean", output: "tfc:food/soybean"}, + { input: "tfc:seeds/squash", output: "tfc:food/squash"}, + { input: "tfc:seeds/sugarcane", output: "tfc:food/sugarcane"}, + { input: "tfc:seeds/tomato", output: "tfc:food/tomato"}, + { input: "tfc:seeds/jute", output: "tfc:jute"}, + { input: "tfc:seeds/papyrus", output: "tfc:papyrus"}, + { input: "tfc:seeds/pumpkin", output: "tfc:pumpkin"}, + { input: "tfc:seeds/melon", output: "tfc:melon"}, + { input: "tfc:seeds/red_bell_pepper", output: "tfc:food/red_bell_pepper"}, + { input: "tfc:seeds/yellow_bell_pepper", output: "tfc:food/yellow_bell_pepper"}, + { input: "tfg:sunflower_seeds", output: "tfg:sunflower_product"}, + { input: "tfg:rapeseed_seeds", output: "tfg:rapeseed_product"}, + { input: "tfg:flax_seeds", output: "tfg:flax_product"} ]); global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS = /** @type {const} */ ([ - { input: "tfc:plant/snowberry_bush", fluid_amount: 6000, output: "3x tfc:food/snowberry", name: "snowberry" }, - { input: "tfc:plant/bunchberry_bush", fluid_amount: 6000, output: "3x tfc:food/bunchberry", name: "bunchberry" }, - { input: "tfc:plant/gooseberry_bush", fluid_amount: 6000, output: "3x tfc:food/gooseberry", name: "gooseberry" }, - { input: "tfc:plant/cloudberry_bush", fluid_amount: 6000, output: "3x tfc:food/cloudberry", name: "cloudberry" }, - { input: "tfc:plant/strawberry_bush", fluid_amount: 6000, output: "3x tfc:food/strawberry", name: "strawberry" }, - { input: "tfc:plant/wintergreen_berry_bush", fluid_amount: 6000, output: "3x tfc:food/wintergreen_berry", name: "wintergreen_berry" }, - { input: "tfc:plant/blackberry_bush", fluid_amount: 6000, output: "3x tfc:food/blackberry", name: "blackberry" }, - { input: "tfc:plant/raspberry_bush", fluid_amount: 6000, output: "3x tfc:food/raspberry", name: "raspberry" }, - { input: "tfc:plant/blueberry_bush", fluid_amount: 6000, output: "3x tfc:food/blueberry", name: "blueberry" }, - { input: "tfc:plant/elderberry_bush", fluid_amount: 6000, output: "3x tfc:food/elderberry", name: "elderberry" }, - { input: "tfc:plant/cranberry_bush", fluid_amount: 6000, output: "3x tfc:food/cranberry", name: "cranberry" } + { input: "tfc:plant/snowberry_bush", output: "tfc:food/snowberry"}, + { input: "tfc:plant/bunchberry_bush", output: "tfc:food/bunchberry"}, + { input: "tfc:plant/gooseberry_bush", output: "tfc:food/gooseberry"}, + { input: "tfc:plant/cloudberry_bush", output: "tfc:food/cloudberry"}, + { input: "tfc:plant/strawberry_bush", output: "tfc:food/strawberry"}, + { input: "tfc:plant/wintergreen_berry_bush", output: "tfc:food/wintergreen_berry"}, + { input: "tfc:plant/blackberry_bush", output: "tfc:food/blackberry"}, + { input: "tfc:plant/raspberry_bush", output: "tfc:food/raspberry"}, + { input: "tfc:plant/blueberry_bush", output: "tfc:food/blueberry"}, + { input: "tfc:plant/elderberry_bush", output: "tfc:food/elderberry"}, + { input: "tfc:plant/cranberry_bush", output: "tfc:food/cranberry"} ]); global.TFC_MILKS = /** @type {const} */ ([ diff --git a/kubejs/startup_scripts/tfg/aquaponics/items.aquaponics.js b/kubejs/startup_scripts/tfg/aquaponics/items.aquaponics.js new file mode 100644 index 000000000..10ed1007c --- /dev/null +++ b/kubejs/startup_scripts/tfg/aquaponics/items.aquaponics.js @@ -0,0 +1,7 @@ +"use strict"; + +function registerTFGAquaponicsItems(event) { + + event.create('tfg:flora_pellets') + .tag('tfc:compost_greens_low') +}; diff --git a/kubejs/startup_scripts/tfg/aquaponics/materials.aquaponics.js b/kubejs/startup_scripts/tfg/aquaponics/materials.aquaponics.js new file mode 100644 index 000000000..ace2449e0 --- /dev/null +++ b/kubejs/startup_scripts/tfg/aquaponics/materials.aquaponics.js @@ -0,0 +1,34 @@ +// priority: 0 +"use strict"; + +const registerTFGAquaponicsMaterials = (event) => { + + /* event.create('mysterious_ooze') + .liquid(new GTFluidBuilder().temperature(293)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(293)) + .color(0x500bbf) + .fluidTemp(69420) + .dust() + .cableProperties(GTValues.V[GTValues.LV], 69, 0, true) // Voltage, Amperage, EU loss, Is Superconductor. + .gem(2, 4000) + .element(GTElements.C) + .ore(2, 3) + .color(0x7D2DDB) + .iconSet(GTMaterialIconSet.LIGNITE) + .ingot() + .components('1x andesite', '1x iron') + .color(0x839689) + .iconSet(GTMaterialIconSet.DULL) + .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_SMALL_GEAR) + */ + + // Nitrate Fluids + event.create('tfg:nitrate_rich_water') + .liquid(new GTFluidBuilder().customStill().temperature(310)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION); + + event.create('tfg:nitrate_rich_semiheavy_ammoniacal_water') + .liquid(new GTFluidBuilder().customStill().temperature(310)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION); + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/biotech/materials.bioline.js b/kubejs/startup_scripts/tfg/biotech/materials.bioline.js index 7649d7ac0..b49739805 100644 --- a/kubejs/startup_scripts/tfg/biotech/materials.bioline.js +++ b/kubejs/startup_scripts/tfg/biotech/materials.bioline.js @@ -112,4 +112,11 @@ const registerTFGBiolineMaterials = (event) => { .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) //#endregion + //#region Green Stuff + + event.create('tfg:chloroplasts') + .liquid(new GTFluidBuilder().customStill().temperature(310)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + //#endregion } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/blocks.casings.js b/kubejs/startup_scripts/tfg/blocks.casings.js index 0faab3877..f96da2f0c 100644 --- a/kubejs/startup_scripts/tfg/blocks.casings.js +++ b/kubejs/startup_scripts/tfg/blocks.casings.js @@ -10,6 +10,7 @@ function registerTFGCasingBlocks(event) { .hardness(5) .resistance(6) .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:casings') .mapColor('color_light_gray') }) @@ -20,14 +21,16 @@ function registerTFGCasingBlocks(event) { .hardness(5) .resistance(6) .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:casings') .mapColor('color_light_gray') - event.create('tfg:casings/machine_casing_vacuum_engine_intake', 'gtceu:active') - .simple('tfg:block/casings/machine_casing_vacuum_engine_intake') + event.create('tfg:casings/machine_casing_vacuum_engine_intake', 'gtceu:active') + .model('tfg:block/casings/machine_casing_vacuum_engine_intake') .translationKey('block.tfg.casings.machine_casing_vacuum_engine_intake') .soundType('metal') .resistance(6).hardness(5) .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:casings') .requiresTool(true) .mapColor('color_light_gray') @@ -38,6 +41,7 @@ function registerTFGCasingBlocks(event) { .hardness(5) .resistance(6) .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:casings') .mapColor('color_red') event.create('tfg:casings/machine_casing_bioculture_glass') @@ -47,6 +51,8 @@ function registerTFGCasingBlocks(event) { .hardness(5) .resistance(6) .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfc:mineable_with_glass_saw') + .tagBoth('tfg:casings') .mapColor('color_orange') .defaultTranslucent() @@ -57,11 +63,12 @@ function registerTFGCasingBlocks(event) { .resistance(6) .tagBlock('gtceu:mineable/pickaxe_or_wrench') .mapColor('color_light_gray') - .activeOffset(1.6, 2, 1.6) - .activeVelocity(0, 0, 0) - .activeParticle('minecraft:landing_lava') - .activeCount(10) - .activeForced(false) + .activeParticles(a => a + .range(1.6, 2, 1.6) + .velocity(0, 0, 0) + .particle('minecraft:landing_lava') + .count(10) + .forced(false)) event.create('tfg:casings/bioculture_rotor_secondary', 'gtceu:active') .translationKey('block.tfg.casings.bioculture_rotor_secondary') @@ -78,6 +85,7 @@ function registerTFGCasingBlocks(event) { .hardness(5) .resistance(6) .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:casings') .mapColor('color_light_gray') event.create('tfg:casings/heat_pipe_casing') @@ -87,6 +95,7 @@ function registerTFGCasingBlocks(event) { .hardness(5) .resistance(6) .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:casings') .mapColor('color_black') event.create('tfg:sample_rack', 'tfg:active_cardinal') @@ -103,6 +112,7 @@ function registerTFGCasingBlocks(event) { .soundType('copper') .hardness(5) .resistance(6) + .lightLevel(0.8) .tagBlock('gtceu:mineable/pickaxe_or_wrench') .mapColor('color_light_gray') .notSolid() @@ -114,8 +124,160 @@ function registerTFGCasingBlocks(event) { .hardness(5) .resistance(6) .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:casings') .mapColor('color_brown') + event.create('tfg:cultivation_monitor', 'tfg:active_cardinal') + .soundType('copper') + .hardness(5) + .resistance(6) + .lightLevel(0.8) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .mapColor('color_light_gray') + .notSolid() + .noCollision() + .renderType('cutout') + .opaque(false); + + event.create('tfg:egh_planter', 'tfg:active_particle_emitter') + .translationKey('block.tfg.egh_planter') + .soundType('copper') + .hardness(5) + .resistance(6) + .notSolid() + .activeLight(12) + .inactiveLight(0) + .renderType('cutout') + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .mapColor('grass') + .activeParticles(a => a + .range(0.2, 0.0, 0.2) + .velocity(0.0, 0.0, 0.0) + .position(0.5, -0.1, 0.5) + .count(1) + .particle('minecraft:dripping_water') + .forced(false)) + .hasTicker(true) + .emitDelay(200) + .tagBlock('tfc:tree_grows_on') + .tagBlock('tfc:bush_plantable_on') + .tagBlock('tfc:wild_crop_grows_on') + .tagBlock('tfc:spreading_fruit_grows_on') + .tagBlock('tfc:grass_plantable_on') + .tagBlock('tfc:creeping_plantable_on') + .tagBlock('minecraft:mushroom_grow_block') + .tagBlock('minecraft:bamboo_plantable_on') + .tagBoth('tfc:farmland'); + + event.create('tfg:grow_light', 'tfg:active_particle_emitter') + .translationKey('block.tfg.grow_light') + .soundType('copper') + .hardness(5) + .resistance(6) + .notSolid() + .box(0, 12, 0, 16, 16, 16, true) + .activeLight(12) + .inactiveLight(0) + .renderType('cutout') + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .mapColor('grass') + .activeParticles(a => a + .range(0.2, 0.0, 0.2) + .velocity(0.0, 0.0, 0.0) + .position(0.5, 0.5, 0.5) + .count(1) + .particle('minecraft:dripping_water') + .forced(false)) + .hasTicker(true) + .emitDelay(200); + + event.create('tfg:pisciculture_core', 'tfg:active_particle_emitter') + .translationKey('block.tfg.pisciculture_core') + .soundType('copper') + .hardness(5) + .resistance(6) + .activeLight(12) + .inactiveLight(0) + .renderType('cutout') + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .activeParticles(a => a + .particle('tfg:fish_school') + .position(0.5, 1.5, 0.5) + .range(0.0, 2.0, 0.0) + .velocity(0.0, 0.0, 0.0) + .count(5) + .forced(false)) + .activeParticles(a => a + .particle('minecraft:current_down') + .position(0.0, 3.8, 0.0) + .range(5.0, 0.0, 5.0) + .velocity(0.0, 0.1, 0.0) + .count(5) + .forced(false)) + .activeParticles(a => a + .particle('minecraft:current_down') + .position(0.0, 3.8, 0.0) + .range(0.5, 0.0, 0.5) + .velocity(0.0, 0.1, 0.0) + .count(5) + .forced(false)) + .hasTicker(true) + .emitDelay(20); + + event.create('tfg:casings/machine_casing_egh', 'gtceu:active') + .translationKey('block.tfg.casings.machine_casing_egh') + .soundType('metal') + .hardness(5) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:casings') + .mapColor('color_light_gray'); + + /** + * @type {string[]} - Tier names of greenhouse casings. + */ + const greenhouse_tiers = ['treated_wood', 'copper', 'iron', 'stainless']; + + greenhouse_tiers.forEach(tier => { + for (let i = 0; i <= 4; i++) { + + let r = event.create(`tfg:casings/greenhouse/${tier}_greenhouse_casing_${i}`) + .translationKey(`block.tfg.casings.greenhouse.${tier}_greenhouse_casing_${i}`) + .hardness(0.3) + .resistance(0.3) + .soundType('glass') + .requiresTool(true) + .tagBoth('tfg:casings') + .tagBoth('tfc:mineable_with_glass_saw') + .tagBoth('firmalife:greenhouse') + .tagBoth('firmalife:greenhouse_full_walls') + .tagBoth('tfg:all_greenhouse_casings') + + // Exception of shame V + if (tier === 'stainless') { + r.tagBoth(`firmalife:${tier}_steel_greenhouse`) + r.tagBoth(`tfg:${tier}_steel_greenhouse_casings`) + r.tagBlock(`firmalife:all_${tier}_steel_greenhouse`) + } else { + r.tagBoth(`firmalife:${tier}_greenhouse`) + r.tagBoth(`tfg:${tier}_greenhouse_casings`) + r.tagBlock(`firmalife:all_${tier}_greenhouse`) + }; + + if (tier === 'treated_wood') { + r.tagBlock('minecraft:mineable/axe') + } else { + r.tagBlock('minecraft:mineable/pickaxe') + }; + + if (i > 2) { + r.defaultTranslucent() + } else { + r.defaultCutout() + }; + }; + }); + event.create('tfg:casings/test_casing') .soundType('copper') .hardness(5) diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index efbac9cbe..ecaab9035 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -355,3 +355,25 @@ global.SPICES = [ { plant: 'firmalife:plant/oregano', product: 'tfg:spice/oregano_leaves' }, { plant: 'firmalife:plant/pimento', product: 'tfg:spice/allspice' } ]; + +/** + * @typedef {Object} FishIndex + * @property {string} id - Fish mob ID. + * @property {string} item - Fish Item ID. + * @property {string} parent - Bucket of Fish Item ID. + * @property {string|null} dimension - Dimension ID (null for any). + */ +/** @type {FishIndex[]} - Index of fish mobs for pisciculture */ +global.FISH_INDEX = [ + { id: 'tfc:bluegill', item: 'tfc:food/bluegill', parent: 'tfc:bucket/bluegill', dimension: null }, + { id: 'tfc:crappie', item: 'tfc:food/crappie', parent: 'tfc:bucket/crappie', dimension: null }, + { id: 'tfc:lake_trout', item: 'tfc:food/lake_trout', parent: 'tfc:bucket/lake_trout', dimension: null }, + { id: 'tfc:largemouth_bass', item: 'tfc:food/largemouth_bass', parent: 'tfc:bucket/largemouth_bass', dimension: null }, + { id: 'tfc:rainbow_trout', item: 'tfc:food/rainbow_trout', parent: 'tfc:bucket/rainbow_trout', dimension: null }, + { id: 'tfc:salmon', item: 'tfc:food/salmon', parent: 'tfc:bucket/salmon', dimension: null }, + { id: 'tfc:smallmouth_bass', item: 'tfc:food/smallmouth_bass', parent: 'tfc:bucket/smallmouth_bass', dimension: null }, + { id: 'tfc:cod', item: 'tfc:food/cod', parent: 'tfc:bucket/cod', dimension: null }, + { id: 'tfc:tropical_fish', item: 'tfc:food/tropical_fish', parent: 'tfc:bucket/tropical_fish', dimension: null }, + { id: 'tfc:pufferfish', item: 'minecraft:pufferfish', parent: 'tfc:bucket/pufferfish', dimension: null }, + { id: 'wan_ancient_beasts:toxlacanth', item: 'wan_ancient_beasts:toxlacanth', parent: 'wan_ancient_beasts:toxlacanth_bucket', dimension: 'ad_astra:mars' } +]; \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index a3c941093..92fadd335 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -18,6 +18,7 @@ const registerTFGItems = (event) => { registerTFGBiotechItems(event); registerTFGWeaponItems(event); registerTFGRockItems(event); + registerTFGAquaponicsItems(event); event.create('tfg:terra_firma_greg') .tag('c:hidden_from_recipe_viewers') diff --git a/kubejs/startup_scripts/tfg/mars/blocks.mars_deco.js b/kubejs/startup_scripts/tfg/mars/blocks.mars_deco.js index 3043fc2ef..86ccf9ea9 100644 --- a/kubejs/startup_scripts/tfg/mars/blocks.mars_deco.js +++ b/kubejs/startup_scripts/tfg/mars/blocks.mars_deco.js @@ -126,8 +126,8 @@ function registerTFGWorldGenMarsDecoBlocks(event) { leaves.tagBlock('minecraft:replaceable') leaves.noDynamicTinting() leaves.models((modelType, generator) => { - if (modelType.layers != 8) { - generator.parent("tfc:block/groundcover/fallen_leaves_height" + modelType.height); + if (modelType.layers !== 8) { + generator.parent(`tfc:block/groundcover/fallen_leaves_height${modelType.height}`); generator.texture("all", "betterend:block/cave_bush_leaves_1"); } else { generator.parent("betterend:block/cave_bush_01"); @@ -151,8 +151,8 @@ function registerTFGWorldGenMarsDecoBlocks(event) { leaves.tagBlock('minecraft:replaceable') leaves.noDynamicTinting() leaves.models((modelType, generator) => { - if (modelType.layers != 8) { - generator.parent("tfc:block/groundcover/fallen_leaves_height" + modelType.height); + if (modelType.layers !== 8) { + generator.parent(`tfc:block/groundcover/fallen_leaves_height${modelType.height}`); generator.texture("all", "betterend:block/lucernia_leaves_1"); } else { generator.parent("betterend:block/lucernia_leaves_1"); @@ -240,11 +240,12 @@ function registerTFGWorldGenMarsDecoBlocks(event) { .resistance(6) // makes it invisible on xaeros, so people can't use it to find the deposits :) .mapColor('none') - .particleOffset(0.3, 1.5, 0.3) - .particleVelocity(0, 0.05, 0) - .particle('electric_spark') - .particleCount(2) - .particleForced(false) + .particles(a => a + .range(0.3, 1.5, 0.3) + .velocity(0, 0.05, 0) + .particle('electric_spark') + .count(2) + .forced(false)) .fullBlock(true) .opaque(true) } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index 061ae2404..7e8068be4 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -30,6 +30,7 @@ const registerTFGMaterials = (event) => { registerTFGMarsMaterials(event); registerTFGVenusMaterials(event); registerTFGEuropaMaterials(event); + registerTFGAquaponicsMaterials(event); // Refrigerants diff --git a/kubejs/startup_scripts/tfg/modifications.js b/kubejs/startup_scripts/tfg/modifications.js new file mode 100644 index 000000000..ffb1d94ad --- /dev/null +++ b/kubejs/startup_scripts/tfg/modifications.js @@ -0,0 +1,11 @@ +"use strict"; + +function registerTFGItemModifications(event) { + + event.modify('tfg:fish_roe', item => { + item.foodProperties = food => { + food.hunger(2).saturation(2) + }; + }); + +}; \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js index ca75d5ef3..5ea789413 100644 --- a/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js @@ -51,12 +51,13 @@ function registerTFGNuclearBlocks(event) { .tagBlock('gtceu:mineable/pickaxe_or_wrench') .mapColor('color_black') .speedFactor(1.1) - .activeOffset(2, 2, 2) - .activeVelocity(0.0, 0.0, 0.0) - .activeParticle('tfg:cooling_steam') - .activeBase(0.0, 13.5, 0.0) - .activeCount(2) - .activeForced(false) + .activeParticles(a => a + .range(2, 2, 2) + .velocity(0.0, 0.0, 0.0) + .particle('tfg:cooling_steam') + .position(0.0, 13.5, 0.0) + .count(2) + .forced(false)) .hasTicker(true) .emitDelay(4); diff --git a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js index f8eec30b8..c5fd668ca 100644 --- a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js +++ b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js @@ -8,11 +8,12 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .box(3, 0, 3, 13, 10, 13) .resistance(6) .hardness(1.5) - .particleOffset(0.3, 1, 0.3) - .particleVelocity(0, 0.1, 0) - .particle('minecraft:campfire_signal_smoke') - .particleCount(5) - .particleForced(true) + .particles(a => a + .range(0.3, 1, 0.3) + .velocity(0, 0.1, 0) + .particle('minecraft:campfire_signal_smoke') + .count(5) + .forced(true)); event.create('tfg:geyser_source_small', 'tfg:particle_emitter_decoration') .soundType('dripstone_block') @@ -20,11 +21,12 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .box(3, 0, 3, 13, 10, 13) .resistance(6) .hardness(1.5) - .particleOffset(0.3, 1, 0.3) - .particleVelocity(0, 0.05, 0) - .particle('minecraft:campfire_cosy_smoke') - .particleCount(2) - .particleForced(false) + .particles(a => a + .range(0.3, 1, 0.3) + .velocity(0, 0.05, 0) + .particle('minecraft:campfire_cosy_smoke') + .count(2) + .forced(false)); event.create('tfg:smoker_source', 'tfg:particle_emitter_decoration') .soundType('dripstone_block') @@ -32,11 +34,12 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .box(3, 0, 3, 13, 10, 13) .resistance(6) .hardness(1.5) - .particleOffset(0.3, 1, 0.3) - .particleVelocity(0, 0.05, 0) - .particle('minecraft:campfire_cosy_smoke') - .particleCount(1) - .particleForced(false) + .particles(a => a + .range(0.3, 1, 0.3) + .velocity(0, 0.05, 0) + .particle('minecraft:campfire_cosy_smoke') + .count(1) + .forced(false)); event.create('tfg:lava_source', 'tfg:particle_emitter_decoration') .soundType('dripstone_block') @@ -44,11 +47,12 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .box(3, 0, 3, 13, 10, 13) .resistance(6) .hardness(1.5) - .particleOffset(0.3, 0.5, 0.3) - .particleVelocity(0, 0, 0) - .particle('lava') - .particleCount(1) - .particleForced(false) + .particles(a => a + .range(0.3, 0.5, 0.3) + .velocity(0, 0, 0) + .particle('lava') + .count(1) + .forced(false)); //Geyserite event.create('tfg:rock/raw/geyserite', 'tfc:raw_rock') @@ -208,11 +212,12 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .fullBlock(false) .box(1, 0, 1, 15, 16, 15) .notSolid() - .particleOffset(0.3, 1, 0.3) - .particleVelocity(0, 0.1, 0) - .particle('minecraft:large_smoke') - .particleCount(2) - .particleForced(true) + .particles(a => a + .range(0.3, 1, 0.3) + .velocity(0, 0.1, 0) + .particle('minecraft:large_smoke') + .count(2) + .forced(false)); event.create('betterend:tube_worm', 'tfg:attached_decorative_plant') .soundType('nether_wart') diff --git a/kubejs/startup_scripts/tfg/venus/materials.venus.js b/kubejs/startup_scripts/tfg/venus/materials.venus.js index e5a6e8f7e..36f49d208 100644 --- a/kubejs/startup_scripts/tfg/venus/materials.venus.js +++ b/kubejs/startup_scripts/tfg/venus/materials.venus.js @@ -12,7 +12,9 @@ function registerTFGVenusMaterials(event) { .ingot() .flags( GTMaterialFlags.FORCE_GENERATE_BLOCK, - GTMaterialFlags.GENERATE_PLATE + GTMaterialFlags.GENERATE_PLATE, + GTMaterialFlags.GENERATE_ROD, + GTMaterialFlags.GENERATE_FRAME ) //#region Bromine Line From 6c59adbcf7cbfc488c7161999f8f4e5ba717fb38 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 11 Jan 2026 12:27:27 +0000 Subject: [PATCH 072/474] langs --- kubejs/assets/betterend/lang/en_us.json | 20 +- kubejs/assets/gtceu/lang/ru_ru.json | 195 ++++++++++--------- kubejs/assets/tfcscraping/lang/lang.json | 24 +++ kubejs/assets/tfg/lang/en_us.json | 8 + kubejs/assets/tfg/lang/ru_ru.json | 231 ++++++++++++++++------- kubejs/assets/tfg/lang/zh_cn.json | 12 +- 6 files changed, 321 insertions(+), 169 deletions(-) create mode 100644 kubejs/assets/tfcscraping/lang/lang.json diff --git a/kubejs/assets/betterend/lang/en_us.json b/kubejs/assets/betterend/lang/en_us.json index 11244c122..ee64e6af3 100644 --- a/kubejs/assets/betterend/lang/en_us.json +++ b/kubejs/assets/betterend/lang/en_us.json @@ -46,11 +46,11 @@ "block.betterend.filalux_wings": "Filalux Wings", "block.betterend.flamaea": "Flamaea Mushroom", "block.betterend.flammalix": "Flammalix Mushroom", - "block.betterend.flavolite": "Raw Leucitite", - "block.betterend.flavolite_bricks": "Leucitite Bricks", - "block.betterend.flavolite_pillar": "Leucitite Pillar", - "block.betterend.flavolite_polished": "Polished Leucitite", - "block.betterend.flavolite_tiles": "Leucitite Tiles", + "block.betterend.flavolite": "Raw Ignimbrite", + "block.betterend.flavolite_bricks": "Ignimbrite Bricks", + "block.betterend.flavolite_pillar": "Ignimbrite Pillar", + "block.betterend.flavolite_polished": "Polished Ignimbrite", + "block.betterend.flavolite_tiles": "Ignimbrite Tiles", "block.betterend.fracturn": "Fracturn", "block.betterend.glacian_hymenophore": "Glacian Hymenophore", "block.betterend.globulagus": "Globulagus", @@ -90,11 +90,11 @@ "block.betterend.shadow_plant": "Blackened Ashgrass", "block.betterend.small_amaranita_mushroom": "Small Amaranita Mushroom", "block.betterend.sulphur_crystal": "Sulfur Crystal", - "block.betterend.sulphuric_rock": "Raw Ignimbrite", - "block.betterend.sulphuric_rock_bricks": "Ignimbrite Bricks", - "block.betterend.sulphuric_rock_pillar": "Ignimbrite Pillar", - "block.betterend.sulphuric_rock_polished": "Polished Ignimbrite", - "block.betterend.sulphuric_rock_tiles": "Ignimbrite Tiles", + "block.betterend.sulphuric_rock": "Thermal Vent Deposit", + "block.betterend.sulphuric_rock_bricks": "Thermal Vent Deposit Bricks", + "block.betterend.sulphuric_rock_pillar": "Thermal Vent Deposit Pillar", + "block.betterend.sulphuric_rock_polished": "Polished Thermal Vent Deposit", + "block.betterend.sulphuric_rock_tiles": "Thermal Vent Deposit Tiles", "block.betterend.tube_worm": "Tube Worm", "block.betterend.twisted_moss": "Twisted Moss", "block.betterend.twisted_umbrella_moss": "Twisted Umbrella Moss", diff --git a/kubejs/assets/gtceu/lang/ru_ru.json b/kubejs/assets/gtceu/lang/ru_ru.json index 34509e26f..b8db882e4 100644 --- a/kubejs/assets/gtceu/lang/ru_ru.json +++ b/kubejs/assets/gtceu/lang/ru_ru.json @@ -3,28 +3,33 @@ "block.bud_indicator": "Поверхностная друза (%s)", "block.gtceu.greenhouse": "Теплица", "block.tfg.steam_bloomery": "Паровой сыродутный горн", - "block.gtceu.large_solar_panel": "§9Large Solar Array MK I", - "block.gtceu.large_solar_panel_tier2": "§bLarge Solar Array MK II", - "block.gtceu.large_solar_panel_tier3": "§cLarge Solar Array MK III", - "block.gtceu.gas_pressurizer": "Gas Pressurizer", - "block.gtceu.nuclear_fuel_factory": "Nuclear Fuel Factory", - "block.gtceu.heat_exchanger": "Heat Exchanger", - "block.gtceu.fission_reactor": "Fission Reactor", - "block.gtceu.evaporation_tower": "Evaporation Tower", - "block.gtceu.ostrum_harvester": "Ostrum Harvester", - "block.gtceu.moon_dust_harvester": "Moon Dust Harvester", - "block.tfg.ostrum_linear_accelerator": "Ostrum Linear Accelerator", - "block.gtceu.ulv_super_tank": "Basic Super Tank", - "block.gtceu.ulv_super_chest": "Basic Super Chest", - "block.gtceu.ulv_hermetic_casing": "Basic Hermetic Casing", - "block.gtceu.hv_energy_output_hatch_4a": "§6HV 4A Dynamo Hatch§r", + "block.tfg.steam_thermal_centrifuge": "Паровая термальная центрифуга", + "block.tfg.steam_fuser": "Паровая плавильня для сплавов", + "block.tfg.steam_squasher": "Паровой сжиматель", + "block.tfg.steam_presser": "Паровой пресс", + "block.gtceu.large_solar_panel": "§9Большой солнечный массив MK I", + "block.gtceu.large_solar_panel_tier2": "§bБольшой солнечный массив MK II", + "block.gtceu.large_solar_panel_tier3": "§cБольшой солнечный массив MK III", + "block.gtceu.gas_pressurizer": "Газовый компрессор", + "block.gtceu.nuclear_fuel_factory": "Завод по производству ядерного топлива", + "block.gtceu.heat_exchanger": "Теплообменник", + "block.gtceu.fission_reactor": "Ядерный реактор", + "block.gtceu.evaporation_tower": "Испарительная колонна", + "block.gtceu.ostrum_harvester": "Сборщик острума", + "block.gtceu.moon_dust_harvester": "Сборщик лунной пыли", + "block.tfg.ostrum_linear_accelerator": "Линейный ускоритель острума", + "block.gtceu.coal_liquefaction_tower": "Башня сжижения угля", + "block.gtceu.ulv_super_tank": "Обычный супер резервуар", + "block.gtceu.ulv_super_chest": "Обычный супер сундук", + "block.gtceu.ulv_hermetic_casing": "Обычный герметичный корпус", + "block.gtceu.hv_energy_output_hatch_4a": "§6Энергетический выходной разъём (4А HV)§r", "block.tfg.bioreactor": "Биореактор", - "block.tfg.growth_chamber": "Growth Chamber", - "block.tfg.single_itemstack_bus": "Limiting Input Bus", + "block.tfg.growth_chamber": "Ростовая камера", + "block.tfg.single_itemstack_bus": "Ограничивающий входной люк", "block.gtceu.red_granite_cobblestone": "Красно-гранитный булыжник", "block.gtceu.mossy_red_granite_cobblestone": "Замшелый красно-гранитный булыжник", - "block.gtceu.copper_crate": "Copper Crate", - "block.gtceu.copper_drum": "Copper Drum", + "block.gtceu.copper_crate": "Медный ящик", + "block.gtceu.copper_drum": "Медная бочка", "block.gtceu.black_bronze_crate": "Ящик из чёрной бронзы", "block.gtceu.black_bronze_drum": "Бочка из чёрной бронзы", "block.gtceu.bismuth_bronze_crate": "Ящик из висмутовой бронзы", @@ -33,21 +38,41 @@ "block.gtceu.the_nether_marker": "Бездна", "gtceu.greenhouse": "Электрическая теплица", "gtceu.steam_bloomery": "Паровой сыродутный горн", - "gtceu.food_oven": "Food Oven", - "gtceu.food_processor": "Food Processor", - "gtceu.large_solar_panel": "Large Solar Array MK I", - "gtceu.large_solar_panel_tier2": "Large Solar Array MK II", - "gtceu.large_solar_panel_tier3": "Large Solar Array MK III", - "gtceu.gas_pressurizer": "Gas Pressurizer", - "gtceu.nuclear_fuel_factory": "Nuclear Fuel Factory", - "gtceu.heat_exchanger": "Heat Exchanger", - "gtceu.fission_reactor": "Fission Reactor", - "gtceu.evaporation_tower": "Evaporation Tower", - "gtceu.ostrum_harvester": "Ostrum Harvester", - "gtceu.moon_dust_harvester": "Moon Dust Harvester", - "gtceu.ostrum_linear_accelerator": "Ostrum Linear Accelerator", + "gtceu.food_oven": "Духовка", + "gtceu.food_processor": "Кухонный комбайн", + "gtceu.large_solar_panel": "Большой солнечный массив MK I", + "gtceu.large_solar_panel_tier2": "Большой солнечный массив MK II", + "gtceu.large_solar_panel_tier3": "Большой солнечный массив MK III", + "gtceu.gas_pressurizer": "Газовый компрессор", + "gtceu.nuclear_fuel_factory": "Завод по производству ядерного топлива", + "gtceu.nuclear_turbine": "Ядерная паровая турбина", + "gtceu.heat_exchanger": "Теплообменник", + "gtceu.fission_reactor": "Ядерный реактор", + "gtceu.evaporation_tower": "Испарительная колонна", + "gtceu.ostrum_harvester": "Сборщика острума", + "gtceu.moon_dust_harvester": "Сборщик лунной пыли", + "gtceu.ostrum_linear_accelerator": "Линейный ускоритель острума", "gtceu.bioreactor": "Биореактор", - "gtceu.growth_chamber": "Growth Chamber", + "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_3": "§7Для работы требуется буровой раствор.§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7Бозон Хиггса в сделку не входил.§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7Разлагает пыль Острума на составляющие. Требует различных жидкостей из ядерной линии.§r", + "gtceu.tooltip.machine.heat_exchanger_1": "§7Нагревание жидкостей с другими горячими жидкостями§r", + "gtceu.tooltip.machine.heat_exchanger_2": "§7Передает тепло от одной жидкости к другой.§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7Производство особо опасных стержней§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7Обрабатывает радиоактивный материал в ядерное топливо.§r", + "gtceu.tooltip.machine.steam_bloomery_1": "§7Улучшите свой горн с помощью возможностей пара!§r", + "gtceu.tooltip.machine.steam_bloomery_2": "§7Перерабатывает железосодержащую пыль или слитки в крицу.§r", + "gtceu.tooltip.machine.steam_bloomery_3": "§7Рецепты с коксом или антрацитом удвоят производительность.§r", + "gtceu.tooltip.machine.steam_parallel": "§7Может обрабатывать до 8 рецептов одновременно, что влияет на количество необходимого пара§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Аппарат для приготовления смузи§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Извлекает газы и жидкости из твердого угля§r", "item.gtceu.tiny_wood_dust": "Крохотная кучка массы из мягкого дерева", "item.gtceu.small_wood_dust": "Маленькая кучка массы из мягкого дерева", "item.gtceu.wood_dust": "Масса из мягкого дерева", @@ -64,9 +89,9 @@ "item.gtceu.blackstone_dust": "Пироксенит (Пыль)", "item.gtceu.small_blackstone_dust": "Пироксенит (Крохотная кучка пыли)", "item.gtceu.tiny_blackstone_dust": "Пироксенит (Маленькая кучка пыли)", - "item.gtceu.netherrack_dust": "Keratophyre Dust", - "item.gtceu.small_netherrack_dust": "Small Pile of Keratophyre Dust", - "item.gtceu.tiny_netherrack_dust": "Tiny Pile of Keratophyre Dust", + "item.gtceu.netherrack_dust": "Кератофировая пыль", + "item.gtceu.small_netherrack_dust": "Кератофир (Крохотная кучка пыли)", + "item.gtceu.tiny_netherrack_dust": "Кератофир (Маленькая кучка пыли)", "item.gtceu.iron_ring": "Серый чугун (Кольцо)", "item.gtceu.small_iron_gear": "Серый чугун (Маленькая шестерня)", "item.gtceu.iron_gear": "Серый чугун (Шестерня)", @@ -100,47 +125,47 @@ "item.gtceu.osmium_credit": "§732,768 Credits", "item.gtceu.naquadah_credit": "§7262,144 Credits", "item.gtceu.neutronium_credit": "§72,097,152 Credits", - "item.gtceu.wood_plate": "Medium Density Fiberboard", - "item.gtceu.chipped_salt_gem": "Chipped Salt Crystal", - "item.gtceu.chipped_rock_salt_gem": "Chipped Rock Salt Crystal", - "item.gtceu.flawed_salt_gem": "Flawed Salt Crystal", - "item.gtceu.flawed_rock_salt_gem": "Flawed Rock Salt Crystal", - "item.gtceu.salt_gem": "Salt Crystal", - "item.gtceu.rock_salt_gem": "Rock Salt Crystal", - "item.gtceu.exquisite_salt_gem": "Exquisite Salt Crystal", - "item.gtceu.exquisite_rock_salt_gem": "Exquisite Rock Salt Crystal", - "item.gtceu.flawless_salt_gem": "Flawless Salt Crystal", - "item.gtceu.flawless_rock_salt_gem": "Flawless Rock Salt Crystal", + "item.gtceu.wood_plate": "МДФ доска", + "item.gtceu.chipped_salt_gem": "Соль (Осколок)", + "item.gtceu.chipped_rock_salt_gem": "Каменная соль (Осколок)", + "item.gtceu.flawed_salt_gem": "Соль (Необработанный)", + "item.gtceu.flawed_rock_salt_gem": "Каменная соль (Необработанный)", + "item.gtceu.salt_gem": "Соль (Кристалл)", + "item.gtceu.rock_salt_gem": "Каменная соль (Кристалл)", + "item.gtceu.exquisite_salt_gem": "Соль (Безупречный)", + "item.gtceu.exquisite_rock_salt_gem": "Каменная соль (Безупречный)", + "item.gtceu.flawless_salt_gem": "Соль (Изысканный)", + "item.gtceu.flawless_rock_salt_gem": "Каменная соль (Изысканный)", "item.gtceu.sticky_resin": "Липкая смола", - "material.gtceu.ice": "Ice Slush", - "material.gtceu.damascus_steel": "Swine-steel", - "material.gtceu.air": "Earth Air", - "material.gtceu.liquid_air": "Liquid Earth Air", - "material.gtceu.cooperite": "Cooperite", + "material.gtceu.ice": "Ледяная слякоть", + "material.gtceu.damascus_steel": "Свинячья сталь", + "material.gtceu.air": "Земной воздух", + "material.gtceu.liquid_air": "Сжиженный земной воздух", + "material.gtceu.cooperite": "Куперит", "material.gtceu.armalcolite": "Армалколит", "material.gtceu.desh": "Деш", - "material.gtceu.ostrum": "Ostrum", + "material.gtceu.ostrum": "Острум", "material.tfg.calorite": "Калорит", "material.tfg.etrium": "Этриум", - "material.gtceu.aluminium_silicate": "Aluminium Silicate", + "material.gtceu.aluminium_silicate": "Алюмосиликат", "material.gtceu.rocket_alloy_t1": "Красный алюминиево-стальной ракетный сплав", - "material.gtceu.rocket_alloy_t2": "ASM 4914 Titanium Rocket Alloy", - "material.gtceu.rocket_alloy_t3": "45-Ti Tungstensteel Rocket Alloy", + "material.gtceu.rocket_alloy_t2": "ASM 4914 титановый ракетный сплав", + "material.gtceu.rocket_alloy_t3": "45-Ti Вольфрамо-стальной ракетный сплав", "material.gtceu.vitrified_asbestos": "Остеклованный асбест", - "material.gtceu.liquid_carbon_dioxide": "Liquid Carbon Dioxide", + "material.gtceu.liquid_carbon_dioxide": "Сжиженный углекислый газ", "material.gtceu.hot_debrominated_brine": "Hot Debrominated Brine", - "material.gtceu.hydrogen_iodide": "Hydrogen Iodide", - "material.gtceu.dense_steam": "High Pressure Steam", - "material.gtceu.radioactive_steam": "Radioactive Steam", - "material.gtceu.radioactive_waste": "Radioactive Waste", - "material.gtceu.irradiated_steam": "Irradiated Steam", - "material.gtceu.heavy_water": "Heavy Water", - "material.gtceu.uranium_waste": "Uranium Waste", - "material.gtceu.nuclear_waste": "Nuclear Waste", - "material.gtceu.dirty_hexafluorosilicic_acid": "Dirty Hexafluorosilicic Acid", - "material.gtceu.martian_sludge": "Martian Sludge", - "material.gtceu.dioxygen_difluoride": "Dioxygen Difluoride", - "material.gtceu.tritiated_water": "Tritiated Water", + "material.gtceu.hydrogen_iodide": "Йодоводород", + "material.gtceu.dense_steam": "ПВД", + "material.gtceu.radioactive_steam": "Радиоактивный пар", + "material.gtceu.radioactive_waste": "Радиоактивные продукты", + "material.gtceu.irradiated_steam": "Облученный пар", + "material.gtceu.heavy_water": "Тяжёлая вода", + "material.gtceu.uranium_waste": "Урановые отходы", + "material.gtceu.nuclear_waste": "Ядерные отходы", + "material.gtceu.dirty_hexafluorosilicic_acid": "Грязная гексафторокремниевая кислота", + "material.gtceu.martian_sludge": "Марсианская слякоть", + "material.gtceu.dioxygen_difluoride": "Диоксифторид", + "material.gtceu.tritiated_water": "Тритиевая вода", "material.gtceu.raw_rich_brine": "Raw Rich Brine", "material.gtceu.hot_iodine_brine": "Hot Iodine Brine", "material.gtceu.brominated_iodine_vapor": "Brominated Iodine Vapor", @@ -160,30 +185,30 @@ "material.gtceu.lithium_carbonate": "Lithium Carbonate", "material.gtceu.lithium_fluoride": "Lithium Fluoride", "material.gtceu.tetrafluoroberyllate": "Tetrafluoroberyllate", - "material.gtceu.thorium_230": "Thorium 230", - "material.gtceu.thorium_232": "Thorium 232", + "material.gtceu.thorium_230": "Торий 230", + "material.gtceu.thorium_232": "Торий 232", "material.gtceu.tbu-232_pellet": "TBU 232 Pellet", "material.gtceu.plutonium_pellet": "Plutonium Pellet", "material.gtceu.uranium_pellet": "Uranium Pellet", "material.gtceu.thorium_pellet": "Thorium Pellet", - "material.gtceu.ostrum_iodide": "Ostrum Iodide", + "material.gtceu.ostrum_iodide": "Йодид острума", "material.gtceu.americium": "Америций 243", "material.gtceu.uranium": "Уран 238", "material.gtceu.plutonium": "Плутоний 239", - "material.gtceu.residual_radioactive_concoction": "Residual Radioactive Concoction", - "material.gtceu.regolith_vapor": "Regolith Vapor", - "material.gtceu.dense_ostrum_vapor": "Dense Ostrum Vapor", - "material.gtceu.lightweight_ostrum_vapor": "Lightweight Ostrum Vapor", - "material.gtceu.ostrum_vapor": "Ostrum Vapor", + "material.gtceu.residual_radioactive_concoction": "Остаточная радиоактивная смесь", + "material.gtceu.regolith_vapor": "Реголитовый пар", + "material.gtceu.dense_ostrum_vapor": "Плотные пары острума", + "material.gtceu.lightweight_ostrum_vapor": "Легкие пары острума", + "material.gtceu.ostrum_vapor": "Пары острома", "material.gtceu.blue_steel": "Синяя сталь", "metaitem.dust.tooltip.purify": "Бросьте в источник воды или нажмите ПКМ по котлу, для получения чистой пыли", "metaitem.crushed.tooltip.purify": "Бросьте в источник воды или нажмите ПКМ по котлу, для получения очищенной руды", - "item.gtceu.tool.behavior.silk_ice": "§dSculptor:§r Silk harvests Packed Ice", - "item.gtceu.tool.butchery_knife.tooltip": "§cButcher:§r Butchers animals for more meat", + "item.gtceu.tool.behavior.silk_ice": "§dСкульптор:§r добывает плотный лёд шелковым касанием", + "item.gtceu.tool.butchery_knife.tooltip": "§cМясник:§r убивай животных для большего кол-ва мяся", "item.gtceu.tool.tooltip.repair_info": "", "item.gtceu.tool.tooltip.repair_material": "", - "gtceu.machine.lp_steam_extractor.tooltip": "§7Does not extract fluids", - "gtceu.machine.hp_steam_extractor.tooltip": "§7Does not extract fluids", + "gtceu.machine.lp_steam_extractor.tooltip": "§7Не извлекает жидкости", + "gtceu.machine.hp_steam_extractor.tooltip": "§7Не извлекает жидкости", "gtceu.jei.bedrock_fluid.moon_helium": "Lunar Helium", "gtceu.jei.bedrock_fluid.moon_helium_3": "Lunar Helium-3", "gtceu.jei.bedrock_fluid.moon_argon": "Lunar Argon", @@ -192,12 +217,8 @@ "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "Martian Heavy Ammoniacal Water", "gtceu.jei.bedrock_fluid.liquid_ice": "Martian Ice", "gtceu.recipe.category.ingot_molding": "Material Molding", - "gtceu.jei.bedrock_ore.moon_asbestos": "Лунный асбест", - "gtceu.jei.bedrock_ore.moon_mica": "Лунная слюда", - "gtceu.jei.bedrock_ore.moon_tin": "Лунное олово", - "gtceu.jei.bedrock_ore.moon_certus": "Лунный истинный кварц", - "gtceu.jei.bedrock_ore.moon_magnetite": "Лунный магнетит", - "gtceu.jei.bedrock_ore.moon_copper": "Лунный халькопирит", + "tooltip.moldraw.shift_view_molecule": "§7§oЗажми Shift для молекулярной структуры§r", + "tooltip.moldraw.shift_view_alloy": "§7§oЗажми Shift для состава сплава§r", "tagprefix.sword_head": "%s (Оголовье меча)", "tagprefix.pickaxe_head": "%s (Оголовье кирки)", "tagprefix.shovel_head": "%s (Оголовье лопаты)", diff --git a/kubejs/assets/tfcscraping/lang/lang.json b/kubejs/assets/tfcscraping/lang/lang.json new file mode 100644 index 000000000..d3d408f34 --- /dev/null +++ b/kubejs/assets/tfcscraping/lang/lang.json @@ -0,0 +1,24 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "item.tfcscraping.metal.scraping_knife.bismuth_bronze": "Нож для соскребания (Висмутовая бронза)", + "item.tfcscraping.metal.scraping_knife_blade.bismuth_bronze": "Висмутовая бронза (Оголовье ножа для соскребания)", + "item.tfcscraping.metal.scraping_knife.black_bronze": "Нож для соскребания (Чёрная бронза)", + "item.tfcscraping.metal.scraping_knife_blade.black_bronze": "Чёрная бронза (Оголовье ножа для соскребания)", + "item.tfcscraping.metal.scraping_knife.bronze": "Нож для соскребания (Бронза)", + "item.tfcscraping.metal.scraping_knife_blade.bronze": "Бронза (Оголовье ножа для соскребания)", + "item.tfcscraping.metal.scraping_knife.copper": "Нож для соскребания (Медь)", + "item.tfcscraping.metal.scraping_knife_blade.copper": "Медь (Оголовье ножа для соскребания)", + "item.tfcscraping.metal.scraping_knife.wrought_iron": "Нож для соскребания (Кованное железо)", + "item.tfcscraping.metal.scraping_knife_blade.wrought_iron": "Кованное железо (Оголовье ножа для соскребания)", + "item.tfcscraping.metal.scraping_knife.steel": "Нож для соскребания (Сталь)", + "item.tfcscraping.metal.scraping_knife_blade.steel": "Сталь (Оголовье ножа для соскребания)", + "item.tfcscraping.metal.scraping_knife.black_steel": "Нож для соскребания (Черная сталь)", + "item.tfcscraping.metal.scraping_knife_blade.black_steel": "Черная сталь (Оголовье ножа для соскребания)", + "item.tfcscraping.metal.scraping_knife.blue_steel": "Нож для соскребания (Синяя сталь)", + "item.tfcscraping.metal.scraping_knife_blade.blue_steel": "Синяя сталь (Оголовье ножа для соскребания)", + "item.tfcscraping.metal.scraping_knife.red_steel": "Нож для соскребания (Красная сталь)", + "item.tfcscraping.metal.scraping_knife_blade.red_steel": "Красная сталь (Оголовье ножа для соскребания)", + "item.tfcscraping.ceramic.unfired_scraping_knife_blade_mold": "Необоженная форма оголовья ножа для соскребания", + "item.tfcscraping.ceramic.scraping_knife_blade_mold": "Форма оголовья ножа для соскребания", + "tfcscraping.creative_tab.scraping": "Scraping Knives" +} \ 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 9ec5df887..5e7cce12d 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1132,6 +1132,14 @@ "material.tfg.venus_stone": "Trachyte", "material.tfg.mercury_stone": "Komatiite", "material.tfg.glacio_stone": "Phonolite", + "material.tfg.sedimentary_clastic": "Clastic Sedimentary", + "material.tfg.sedimentary_carbonate": "Carbonate Sedimentary", + "material.tfg.sedimentary_organic": "Organic Sedimentary", + "material.tfg.metamorphic": "Metamorphic", + "material.tfg.igneous_ultramafic": "Ultramafic Igneous", + "material.tfg.igneous_mafic": "Mafic Igneous", + "material.tfg.igneous_intermediate": "Intermediate Igneous", + "material.tfg.igneous_felsic": "Felsic Igneous", "material.gtceu.thermochemically_treated_hardwood": "Thermochemically Treated Hardwood", "material.gtceu.hardwood": "Hardwood", "material.gtceu.asurine": "Asurine", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 331351ac1..1f75618ee 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.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/scorching_volcanoes": "Палящие вулканы", "block.tfg.piglin_disguise": "Маскировка Пиглина", "block.tfg.piglin_disguise_block": "Маскировка Пиглина", "block.tfg.dry_ice": "Сухой лёд", @@ -256,6 +265,10 @@ "block.tfg.spike.moon_stone_spike": "Анортозитовый сталагмит", "block.tfg.loose.moon_stone": "Камешек анортозита", "block.tfg.rock.aqueduct_moon_stone": "Анортозитовый акведук", + "block.tfg.rock.polished_moon_wall": "Ограда из полированного анортозита", + "block.tfg.rock.cracked_bricks_moon_stairs": "Ступеньки из потрескавшихся анортозитовый кирпичей", + "block.tfg.rock.cracked_bricks_moon_slab": "Плита из потрескавшихся анортозитовый кирпичей", + "block.tfg.rock.cracked_bricks_moon_wall": "Ограда из потрескавшихся анортозитовый кирпичей", "block.tfg.rock.hardened_moon_deepslate": "Укреплённый норит", "block.tfg.rock.moon_deepslate_stairs": "Норитовые ступеньки", "block.tfg.rock.moon_deepslate_slab": "Норитовая плита", @@ -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": "Замшелые норитовые кирпичи", + "block.tfg.rock.mossy_bricks_moon_deepslate_stairs": "Ступеньки из замшелых норитовых кирпичей", + "block.tfg.rock.mossy_bricks_moon_deepslate_slab": "Плита из замшелых норитовых кирпичей", + "block.tfg.rock.mossy_bricks_moon_deepslate_wall": "Ограда из замшелых норитовых кирпичей", "block.tfg.rock.hardened_mars_stone": "Укреплённый аргиллит", "block.tfg.rock.mars_stone_wall": "Аргиллитовая ограда", - "block.tfg.rock.cobble_mars_stone_wall": "Ограда из аргиллитового булыжника", + "block.tfg.rock.cobble_mars_wall": "Ограда из аргиллитового булыжника", "block.tfg.rock.mossy_cobble_mars": "Замшелый аргиллитовый булыжник", "block.tfg.rock.mossy_cobble_mars_stairs": "Ступеньки из замшелого аргиллитового булыжника", "block.tfg.rock.mossy_cobble_mars_slab": "Плита из замшелого аргиллитового булыжника", "block.tfg.rock.mossy_cobble_mars_wall": "Ограда из замшелого аргиллитового булыжника", "block.tfg.rock.polished_mars_wall": "Ограда из полированного аргиллита", - "block.tfg.rock.mossy_bricks_mars_stone": "Замшелые аргиллитовые кирпичи", - "block.tfg.rock.mossy_bricks_mars_stone_stairs": "Ступеньки из замшелых аргиллитовых кирпичей", - "block.tfg.rock.mossy_bricks_mars_stone_slab": "Плита из замшелых аргиллитовых кирпичей", - "block.tfg.rock.mossy_bricks_mars_stone_wall": "Ограда из замшелых аргиллитовых кирпичей", - "block.tfg.rock.cracked_bricks_mars_stone_wall": "Ограда из потрескавшихся аргиллитовых кирпичей", + "block.tfg.rock.mossy_bricks_mars": "Замшелые аргиллитовые кирпичи", + "block.tfg.rock.mossy_bricks_mars_stairs": "Ступеньки из замшелых аргиллитовых кирпичей", + "block.tfg.rock.mossy_bricks_mars_slab": "Плита из замшелых аргиллитовых кирпичей", + "block.tfg.rock.mossy_bricks_mars_wall": "Ограда из замшелых аргиллитовых кирпичей", + "block.tfg.rock.cracked_bricks_mars_stairs": "Ступеньки из потрескавшихся аргиллитовых кирпичей", + "block.tfg.rock.cracked_bricks_mars_slab": "Плита из потрескавшихся аргиллитовых кирпичей", + "block.tfg.rock.cracked_bricks_mars_wall": "Ограда из потрескавшихся аргиллитовых кирпичей", "block.tfg.rock.chiseled_bricks_mars_wall": "Ограда из резного аргиллита", "block.tfg.rock.gravel_mars": "Аргиллитовый гравий", "block.tfg.spike.mars_stone_spike": "Аргиллитовый сталагмит", @@ -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": "Ограда из трахитового булыжника", "block.tfg.rock.mossy_cobble_venus": "Замшелый трахитовый булыжник", "block.tfg.rock.mossy_cobble_venus_stairs": "Ступеньки из замшелого трахитового булыжника", "block.tfg.rock.mossy_cobble_venus_slab": "Плита из замшелого трахитового булыжника", "block.tfg.rock.mossy_cobble_venus_wall": "Ограда из замшелого трахитового булыжника", "block.tfg.rock.polished_venus_wall": "Ограда из полированного трахита", - "block.tfg.rock.mossy_bricks_venus_stone": "Замшелые трахитовые кирпичи", - "block.tfg.rock.mossy_bricks_venus_stone_stairs": "Ступеньки из замшелых трахитовых кирпичей", - "block.tfg.rock.mossy_bricks_venus_stone_slab": "Плита из замшелых трахитовых кирпичей", - "block.tfg.rock.mossy_bricks_venus_stone_wall": "Ограда из замшелых трахитовых кирпичей", - "block.tfg.rock.cracked_bricks_venus_stone_wall": "Ограда из потрескавшихся трахитовых кирпичей", + "block.tfg.rock.mossy_bricks_venus": "Замшелые трахитовые кирпичи", + "block.tfg.rock.mossy_bricks_venus_stairs": "Ступеньки из замшелых трахитовых кирпичей", + "block.tfg.rock.mossy_bricks_venus_slab": "Плита из замшелых трахитовых кирпичей", + "block.tfg.rock.mossy_bricks_venus_wall": "Ограда из замшелых трахитовых кирпичей", + "block.tfg.rock.cracked_bricks_venus_stairs": "Ступеньки из трахитовых кирпичей", + "block.tfg.rock.cracked_bricks_venus_slab": "Плита из трахитовых кирпичей", + "block.tfg.rock.cracked_bricks_venus_wall": "Ограда из потрескавшихся трахитовых кирпичей", "block.tfg.rock.chiseled_bricks_venus_wall": "Ограда из резного трахита", "block.tfg.rock.gravel_venus": "Трахитовый гравий", "block.tfg.spike.venus_stone_spike": "Трахитовый сталагмит", @@ -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": "Ограда из коматиитового булыжника", "block.tfg.rock.mossy_cobble_mercury": "Замшелый коматиитовый булыжник", "block.tfg.rock.mossy_cobble_mercury_stairs": "Ступеньки из замшелого коматиитового булыжника", "block.tfg.rock.mossy_cobble_mercury_slab": "Плита из замшелого коматиитового булыжника", "block.tfg.rock.mossy_cobble_mercury_wall": "Ограда из замшелого коматиитового булыжника", "block.tfg.rock.polished_mercury_wall": "Ограда из полированного коматиита", - "block.tfg.rock.mossy_bricks_mercury_stone": "Замшелые коматиитовые кирпичи", - "block.tfg.rock.mossy_bricks_mercury_stone_stairs": "Ступеньки из замшелых коматиитовых кирпичей", - "block.tfg.rock.mossy_bricks_mercury_stone_slab": "Плита из замшелых коматиитовых кирпичей", - "block.tfg.rock.mossy_bricks_mercury_stone_wall": "Ограда из замшелых коматиитовых кирпичей", - "block.tfg.rock.cracked_bricks_mercury_stone_wall": "Ограда из потрескавшихся коматиитовых кирпичей", + "block.tfg.rock.mossy_bricks_mercury": "Замшелые коматиитовые кирпичи", + "block.tfg.rock.mossy_bricks_mercury_stairs": "Ступеньки из замшелых коматиитовых кирпичей", + "block.tfg.rock.mossy_bricks_mercury_slab": "Плита из замшелых коматиитовых кирпичей", + "block.tfg.rock.mossy_bricks_mercury_wall": "Ограда из замшелых коматиитовых кирпичей", + "block.tfg.rock.cracked_bricks_mercury_stairs": "Ступеньки из коматиитовых кирпичей", + "block.tfg.rock.cracked_bricks_mercury_slab": "Плита из коматиитовых кирпичей", + "block.tfg.rock.cracked_bricks_mercury_wall": "Ограда из потрескавшихся коматиитовых кирпичей", "block.tfg.rock.chiseled_bricks_mercury_wall": "Ограда из резного коматиита", "block.tfg.rock.gravel_mercury": "Коматиитовый гравий", "block.tfg.spike.mercury_stone_spike": "Коматиитовый сталагмит", @@ -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": "Ограда из фонолитового булыжника", "block.tfg.rock.mossy_cobble_glacio": "Замшелый фонолитовый булыжник", "block.tfg.rock.mossy_cobble_glacio_stairs": "Ступеньки из замшелого фонолитового булыжника", "block.tfg.rock.mossy_cobble_glacio_slab": "Плита из замшелого фонолитового булыжника", "block.tfg.rock.mossy_cobble_glacio_wall": "Ограда из замшелого фонолитового булыжника", "block.tfg.rock.polished_glacio_wall": "Ограда из полированого фонолита", - "block.tfg.rock.mossy_bricks_glacio_stone": "Замшелые фонолитовые кирпичи", - "block.tfg.rock.mossy_bricks_glacio_stone_stairs": "Ступеньки из замшелых фонолитовых кирпичей", - "block.tfg.rock.mossy_bricks_glacio_stone_slab": "Плита из замшелых фонолитовых кирпичей", - "block.tfg.rock.mossy_bricks_glacio_stone_wall": "Ограда из замшелых фонолитовых кирпичей", - "block.tfg.rock.cracked_bricks_glacio_stone_wall": "Ограда из потрескавшихся фонолитовых кирпичей", + "block.tfg.rock.mossy_bricks_glacio": "Замшелые фонолитовые кирпичи", + "block.tfg.rock.mossy_bricks_glacio_stairs": "Ступеньки из замшелых фонолитовых кирпичей", + "block.tfg.rock.mossy_bricks_glacio_slab": "Плита из замшелых фонолитовых кирпичей", + "block.tfg.rock.mossy_bricks_glacio_wall": "Ограда из замшелых фонолитовых кирпичей", + "block.tfg.rock.cracked_bricks_glacio_stairs": "Ступеньки из фонолитовых кирпичей", + "block.tfg.rock.cracked_bricks_glacio_slab": "Плита из фонолитовых кирпичей", + "block.tfg.rock.cracked_bricks_glacio_wall": "Ограда из потрескавшихся фонолитовых кирпичей", "block.tfg.rock.chiseled_bricks_glacio_wall": "Ограда из резного фонолита", "block.tfg.rock.gravel_glacio": "Фонолитовый гравий", "block.tfg.spike.glacio_stone_spike": "Фонолитовый сталагмит", @@ -369,6 +394,7 @@ "block.tfg.rock.cobble_permafrost_stairs": "Ступеньки из булыжника многолетней мерзлоты", "block.tfg.rock.cobble_permafrost_slab": "Плита из булыжника многолетней мерзлоты", "block.tfg.rock.cobble_permafrost_wall": "Ограда из булыжника многолетней мерзлоты", + "block.tfg.rock.mossy_cobble_permafrost": "Замшелый булыжник многолетней мерзлоты", "block.tfg.rock.mossy_cobble_permafrost_stairs": "Ступеньки из замшелого булыжника многолетней мерзлоты", "block.tfg.rock.mossy_cobble_permafrost_slab": "Плита из замшелого булыжника многолетней мерзлоты", "block.tfg.rock.mossy_cobble_permafrost_wall": "Ограда из замшелого булыжника многолетней мерзлоты", @@ -377,7 +403,10 @@ "block.tfg.rock.mossy_bricks_permafrost_stairs": "Ступеньки из замшелых кирпичей многолетней мерзлоты", "block.tfg.rock.mossy_bricks_permafrost_slab": "Плита из замшелых кирпичей многолетней мерзлоты", "block.tfg.rock.mossy_bricks_permafrost_wall": "Ограда из замшелых кирпичей многолетней мерзлоты", - "block.tfg.rock.cracked_bricks_permafrost_stone_wall": "Ограда из потрескавшихся кирпичей многолетней мерзлоты", + "block.tfg.rock.cracked_bricks_permafrost_stairs": "Ступеньки из потрескавшихся кирпичей многолетней мерзлоты", + "block.tfg.rock.cracked_bricks_permafrost_slab": "Плита из потрескавшихся кирпичей многолетней мерзлоты", + "block.tfg.rock.chiseled_bricks_permafrost_wall": "Ограда из резной многолетней мерзлоты", + "block.tfg.rock.cracked_bricks_permafrost_wall": "Ограда из потрескавшихся кирпичей многолетней мерзлоты", "block.tfg.rock.gravel_permafrost": "Гравий многолетней мерзлоты", "block.tfg.spike.permafrost_spike": "Сталагмит многолетней мерзлоты", "block.tfg.loose.permafrost": "Кусок многолетней мерзлоты", @@ -416,11 +445,25 @@ "block.tfg.rock.cracked_bricks_stone_wall": "Ограда из потрескавшихся кирпичей восстановленного камня", "block.tfg.rock.aqueduct_stone": "Акведук из восстановленного камня", "block.tfg.rock.smooth_red_sandstone_wall": "Ограда из гладкого гематитового песчаника", - "block.tfg.rock.cut_red_sandstone_wall": "Ограда из пиленого гематитового песчаника", + "block.tfg.rock.cut_red_sandstone_stairs": "Ступеньки Hиз резного гематитового песчаника", + "block.tfg.rock.cut_red_sandstone_wall": "Ограда из резного гематитового песчаника", + "block.tfg.rock.bricks_venus_sandstone_wall": "Ограда из трахитового песчаника", + "block.tfg.rock.cracked_bricks_venus_sandstone_stairs": "Ступеньки из потрескавшегося трахитового песчаника", + "block.tfg.rock.cracked_bricks_venus_sandstone_slab": "Плита из потрескавшегося трахитового песчаника", + "block.tfg.rock.cracked_bricks_venus_sandstone_wall": "Ограда из потрескавшегося трахитового песчаника", + "block.tfg.rock.quartz_wall": "Ограда из кварца", + "block.tfg.rock.smooth_quartz_wall": "Ограда из гладкого кварца", "block.tfg.rock.raw.stromatolite": "Строматолиты", "block.tfg.rock.spike.stromatolite": "Строматолитовый сталагмит", + "block.tfg.stromatolite_cluster_small": "Малое строматолитовый скопление", + "block.tfg.stromatolite_cluster_medium": "Большое строматолитовый скопление", "block.tfg.rock.raw.geyserite": "Кремнистый туф", "block.tfg.rock.spike.geyserite": "Сталагмит кремнистого туфа", + "block.tfg.geyser_source_small": "Малый дымящийся гейзер", + "block.tfg.geyser_source": "Дымящийся гейзер", + "block.tfg.smoker_source": "Вулканический курильщик", + "block.tfg.lava_source": "Лавовый источник", + "block.tfg.rock.halite": "Галит", "block.tfg.mushroom_roots": "Грибные корни", "block.tfg.mushroom_sprouts": "Грибные ростки", "block.tfg.charred_log": "Обугленное бревно", @@ -439,6 +482,7 @@ "block.tfg.pile.venus_sand_covering": "Трахитовый песок", "block.tfg.pile.hematitic_sand": "Гематитовый песок", "block.tfg.pile.hematitic_sand_covering": "Гематитовый песок", + "block.tfg.pile.volcanic_ash": "Куча вулканического пепла", "block.tfg.lunar_roots": "Лунные светоцветы", "block.tfg.lunar_sprouts": "Лунная светотрава", "block.tfg.lunar_chorus_plant": "Хорусовое растение", @@ -449,6 +493,10 @@ "block.tfg.glacian_wood_stripped": "Обтёсанная гифа гласивника", "block.tfg.glacian_leaves": "Ламелла гласивника", "block.tfg.glacian_leaves_fallen": "Маленькая ламелла гласивника", + "block.tfg.crimson_wart_block": "Багряная шляпка", + "block.tfg.warped_wart_block": "Искажённая шляпка", + "block.tfg.aeronos_cap": "Конусообразная шляпка", + "block.tfg.strophar_cap": "Строфаровая шляпка", "block.tfg.marker.moon": "Луна", "block.tfg.marker.mars": "Марс", "block.tfg.marker.venus": "Венера", @@ -577,6 +625,8 @@ "block.tfg.casings.heat_pipe_casing": "Теплопроводный корпус", "block.tfg.glacian_wool_frame": "Гласианская шерсть в каркасе", "block.tfg.aes_insulation_frame": "ЩЗС-изоляция в каркасе", + "block.tfg.machine_casing_power_casing": "Изолированный силовой корпус", + "block.tfg.active_power_transformer": "Активный трансформатор", "block.tfg.sand.fluorapatite.blue": "Синий фторапатитный песок", "block.tfg.sandstone.raw.fluorapatite.blue": "Синий фторапатитный песчаник", "block.tfg.sandstone.wall.raw.fluorapatite.blue": "Ограда из синего фторапатитного песчаника", @@ -586,7 +636,7 @@ "block.tfg.sandstone.wall.smooth.fluorapatite.blue": "Ограда из синего гладкого фторапатитного песчаника", "block.tfg.sandstone.slab.smooth.fluorapatite.blue": "Плита из синего гладкого фторапатитного песчаника", "block.tfg.sandstone.stairs.smooth.fluorapatite.blue": "Ступеньки из синего гладкого фторапатитного песчаника", - "block.tfg.sandstone.fluorapatite.blue": "Синий пиленый фторапатитный песчаник", + "block.tfg.sandstone.fluorapatite.blue": "Синий резной фторапатитный песчаник", "block.tfg.sandstone.smooth.chiseled.fluorapatite.blue": "Синий резной фторапатитный песчаник", "block.tfg.sand.fluorapatite.green": "Зелёный фторапатитный песок", "block.tfg.sandstone.raw.fluorapatite.green": "Зелёный фторапатитный песчаник", @@ -597,7 +647,7 @@ "block.tfg.sandstone.wall.smooth.fluorapatite.green": "Ограда из зелёного гладкого фторапатитного песчаника", "block.tfg.sandstone.slab.smooth.fluorapatite.green": "Плита из зелёного гладкого фторапатитного песчаника", "block.tfg.sandstone.stairs.smooth.fluorapatite.green": "Ступеньки из зелёного гладкого фторапатитного песчаника", - "block.tfg.sandstone.fluorapatite.green": "Зелёный пиленый фторапатитный песчаник", + "block.tfg.sandstone.fluorapatite.green": "Зелёный резной фторапатитный песчаник", "block.tfg.sandstone.smooth.chiseled.fluorapatite.green": "Зелёный резной фторапатитный песчаник", "block.tfg.sand.fluorapatite.brown": "Коричневый фторапатитный песок", "block.tfg.sandstone.raw.fluorapatite.brown": "Коричневый фторапатитный песчаник", @@ -608,7 +658,7 @@ "block.tfg.sandstone.wall.smooth.fluorapatite.brown": "Ограда из коричневого гладкого фторапатитного песчаника", "block.tfg.sandstone.slab.smooth.fluorapatite.brown": "Плита из коричневого гладкого фторапатитного песчаника", "block.tfg.sandstone.stairs.smooth.fluorapatite.brown": "Ступеньки из коричневого гладкого фторапатитного песчаника", - "block.tfg.sandstone.fluorapatite.brown": "Коричневый пиленый фторапатитный песчаник", + "block.tfg.sandstone.fluorapatite.brown": "Коричневый резной фторапатитный песчаник", "block.tfg.sandstone.smooth.chiseled.fluorapatite.brown": "Коричневый резной фторапатитный песчаник", "block.tfg.sand.fluorapatite.orange": "Оранжевый фторапатитный песок", "block.tfg.sandstone.raw.fluorapatite.orange": "Оранжевый фторапатитный песчаник", @@ -619,7 +669,7 @@ "block.tfg.sandstone.wall.smooth.fluorapatite.orange": "Ограда из оранжевого гладкого фторапатитного песчаника", "block.tfg.sandstone.slab.smooth.fluorapatite.orange": "Плита из оранжевого гладкого фторапатитного песчаника", "block.tfg.sandstone.stairs.smooth.fluorapatite.orange": "Ступеньки из оранжевого гладкого фторапатитного песчаника", - "block.tfg.sandstone.fluorapatite.orange": "Оранжевый пиленый фторапатитный песчаник", + "block.tfg.sandstone.fluorapatite.orange": "Оранжевый резной фторапатитный песчаник", "block.tfg.sandstone.smooth.chiseled.fluorapatite.orange": "Оранжевый резной фторапатитный песчаник", "block.tfg.sand.fluorapatite.white": "Белый фторапатитный песок", "block.tfg.sandstone.raw.fluorapatite.white": "Белый фторапатитный песчаник", @@ -630,7 +680,7 @@ "block.tfg.sandstone.wall.smooth.fluorapatite.white": "Ограда из белого гладкого фторапатитного песчаника", "block.tfg.sandstone.slab.smooth.fluorapatite.white": "Плита из белого гладкого фторапатитного песчаника", "block.tfg.sandstone.stairs.smooth.fluorapatite.white": "Ступеньки из белого гладкого фторапатитного песчаника", - "block.tfg.sandstone.fluorapatite.white": "Белый пиленый фторапатитный песчаник", + "block.tfg.sandstone.fluorapatite.white": "Белый резной фторапатитный песчаник", "block.tfg.sandstone.smooth.chiseled.fluorapatite.white": "Белый резной фторапатитный песчаник", "block.tfg.sand.fluorapatite.yellow": "Жёлтый фторапатитный песок", "block.tfg.sandstone.raw.fluorapatite.yellow": "Жёлтый фторапатитный песчаник", @@ -641,7 +691,7 @@ "block.tfg.sandstone.wall.smooth.fluorapatite.yellow": "Ограда из жёлтого гладкого фторапатитного песчаника", "block.tfg.sandstone.slab.smooth.fluorapatite.yellow": "Плита из жёлтого гладкого фторапатитного песчаника", "block.tfg.sandstone.stairs.smooth.fluorapatite.yellow": "Ступеньки из жёлтого гладкого фторапатитного песчаника", - "block.tfg.sandstone.fluorapatite.yellow": "Жёлтый пиленый фторапатитный песчаник", + "block.tfg.sandstone.fluorapatite.yellow": "Жёлтый резной фторапатитный песчаник", "block.tfg.sandstone.smooth.chiseled.fluorapatite.yellow": "Жёлтый резной фторапатитный песчаник", "block.tfg.large_nest_box": "Большой багряный насест", "tfg.block_entity.large_nest_box": "Большой насест", @@ -656,9 +706,15 @@ "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": "Стерилизующие трубы", + "block.tfg.moderate_core": "Ядро стабилизатора", + "block.tfg.impure_moderate_core": "Нечистое ядро стабилизатора", + "block.tfg.moderate_core_frame": "Каркас с ядром стабилизатора", + "block.tfg.impure_moderate_core_frame": "Каркас с нечистым ядром стабилизатора", "fluid.tfg.heavy_ammoniacal_water": "Тяжёлая аммиачная вода", "fluid.tfg.semiheavy_ammoniacal_water": "Полутяжёлая аммиачная вода", "fluid.tfg.sulfur_fumes": "Пары серы", @@ -815,7 +871,7 @@ "item.tfg.food.freeze_dried.shadow_berry": "Лиофилизированная нокс-ягода", "item.tfg.food.freeze_dried.cave_pumpkin": "Лиофилизированная лукыквенная мякоть", "item.tfg.food.calorie_paste": "Калорийная паста", - "item.tfg.food.meal_bag": "Лиофилизированное мясо", + "item.tfg.food.meal_bag": "Пакет с лиофилизированной едой", "item.tfg.food.ice_soup": "Ледяной суп", "item.tfg.food.raw_glacian_mutton": "Сырая гласианская баранина", "item.tfg.food.cooked_glacian_mutton": "Приготовленная гласианская баранина", @@ -1075,6 +1131,14 @@ "material.tfg.venus_stone": "Трахит", "material.tfg.mercury_stone": "Коматиит", "material.tfg.glacio_stone": "Фонолит", + "material.tfg.sedimentary_clastic": "Обломочный осадок", + "material.tfg.sedimentary_carbonate": "Карбонатный осадок", + "material.tfg.sedimentary_organic": "Органогенный осадок", + "material.tfg.metamorphic": "Метаморфическая порода", + "material.tfg.igneous_ultramafic": "Ультраосновная магматическая порода", + "material.tfg.igneous_mafic": "Основная магматическая порода", + "material.tfg.igneous_intermediate": "Средняя магматическая порода", + "material.tfg.igneous_felsic": "Кислая магматическая порода", "material.gtceu.thermochemically_treated_hardwood": "Термохимически обработанная твёрдая древесина", "material.gtceu.hardwood": "Твёрдая древесина", "material.gtceu.asurine": "Азурин", @@ -1428,6 +1492,7 @@ "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": "Уваровит", @@ -1802,10 +1867,13 @@ "quests.ae2.wireless_access.desc": "Как только ты достигнешь уровня &5EV&r, ты получишь доступ к МЭ беспроводной точке доступа, который по сути работает как Wi-Fi роутер для твоей МЭ-сети. Подключи его к центральной точке базы, установите столько беспроводных усилитилей, сколько захочешь, чтобы увеличить радиус действия (и энергопотребление), а затем привяжи к нему беспроводной терминал.\n\nКак только у тебя появятся эпоксидная смола и родий, ты сможешь объединить все твои беспроводные терминалы в один универсальный терминал!", "quests.ae2.interplanetary_wireless.subtitle": "Забыли что-то дома?", "quests.ae2.interplanetary_wireless.desc": "Ты можешь улучшить свой беспроводной терминал с помощью этой специальной карты, получив доступ к сети с любого расстояния, даже из других миров! Звучит слишком хорошо, чтобы быть правдой? Есть серьёзный подвох — передача предметов потребляет огромное количество энергии.\n\nЧастично это можно обойти с помощью энергетических карт и батареек в твоем инвентаре, установленной в режим разрядки, и этого будет достаточно для случаев, когда ты случайно забыл что-то на базе на Земле и не хочешь лететь обратно.\n\nДля полноценной автоматической передачи тебе понадобится рельсотрон.", + "quests.ae2.universal_circuits.title": "Универсальные схемы", + "quests.ae2.universal_circuits.subtitle": "Так вот для чего они!", + "quests.ae2.universal_circuits.desc": "Вы когда-нибудь задумывались, для чего нужны Универсальные схемы? Помимо красивых значков заданий, они в основном используются в AE2!\n\nAE2 плохо обрабатывает теги предметов в шаблонах, поэтому универсальные схемы разработаны для использования в любых шаблонах, требующих схем. Таким образом, всякий раз, когда вы открываете новый тип схемы, вам нужно добавить только один шаблон, чтобы преобразовать новую схему в универсальную, вместо обновления &oвсехl& ваших старых шаблонов!", "quests.ae2.iv.title": "AE2 уровня IV", "quests.ae2.iv.desc": "Вся эта ветка становится полностью доступной, как только ты достигнешь &1IV&r.", - "quests.ae2.accumulation_press.desc": "To get this &eNew Inscriber Press&r, you will need to invest a bit.\n\nFirst, you must upgrade your Implosion Compressor with &5two EV Energy Hatches&r.\n\nThen, get yourself a new IV Laser Engraver if you don't already have one.\n\nAnd finally, prepare a lot of Industrial TNT — it’s the &conly one that works&r for this process.\n\nPlan carefully, as this step is quite demanding!", - "quests.ae2.accumulation_processor.desc": "&eаккумулирующий процессор&r будет требовать большое количество кремния для каждого крафта.\n\nНадеемся, что у тебя уже есть отдельная ЭДП, производящая кремний, или хотя бы мощная инфраструктура для его быстрого производства.\n\nПодготовься соответствующим образом, так как его понадобится очень много!", + "quests.ae2.accumulation_press.desc": "Чтобы получить этот &eНовый пресс для вырезателя&r, тебе придётся немного инвестировать.\n\nВо-первых, нужно улучшить свой имплозионный компрессор, установив в него &5два энергетических люка EV&r.\n\nЗатем обзавестись новым IV лазерным гравировщиком, если у тебя его ещё нет.\n\nИ наконец, подготовь много промышленного динамита — для этого процесса подходит &cтолько он&r.\n\nПланируй всё заранее, так как этот этап довольно требовательный!", + "quests.ae2.accumulation_processor.desc": "&eАккумулирующий процессор&r будет требовать большое количество кремния для каждого крафта.\n\nНадеемся, что у тебя уже есть отдельная ЭДП, производящая кремний, или хотя бы мощная инфраструктура для его быстрого производства.\n\nПодготовься соответствующим образом, так как его понадобится очень много!", "quests.ae2.mega_crafting.desc": "Это отличное улучшение для твоего &bхранилища для изготовления&r.\n\nОно поможет ускорить автокрафт и позволит без проблем справляться с более крупными задачами.", "quests.ae2.mega_battery.desc": "&eБолее ёмкая батарея&r для более крупной сети. Ничего лишнего!", "quests.ae2.extended_pattern_access.desc": "&eРасширенный терминал доступа к шаблонам&r — замечательное улучшение, позволяющее тебе гораздо удобнее управлять всеми шаблонами.\n\nТы получаешь &6больше вариантов поиска&r по шаблонам, и с учётом того, сколько их у тебя теперь будет, это станет огромным улучшением удобства.\n\nСкрафти версию \"улучшения\", чтобы просто зажать Shift и кликнуть правой кнопкой мыши по существующим поставщикам шаблонов, улучшив их без необходимости вынимать все шаблоны.", @@ -2327,7 +2395,7 @@ "quests.gregtech_energy.large_solar_t2.desc.1": "Если ты строишь &dбазу AE2 на Луне&r, скорее всего, тебе понадобится гораздо больше энергии. И тут на помощь приходит &6Большой солнечный массив MK II&r!\n\nКак и версия MK I, она предлагает 2 разных рецепта — но на этот раз ни один из них не является полностью пассивным.", "quests.gregtech_energy.large_solar_t2.desc.2": "И &bСолнечный хладагент&r, и &bКриогенизированный флюис&r полностью возобновляемы на Луне. Более того, цикл солнечного охладителя возращает входящие &eФтор&r и &eХлор&r — а значит, тебе нужен лишь стабильный приток:\n\n• Гелия-3 — его можно добывать с помощью &aЖидкостной буровой установки&r\n• Воды — собирай её пассивно с помощью &aжидкостного коллектора&r\n\n&cАварийный режим питания:&r\nЕсли подача жидкостей прервётся, MK II всё равно сможет работать, используя фотооэлектрические ячейки.\nЭтот резервный режим позволит базе оставаться со светом, пока ты разбираешься с проблемой.\n\nОбязательный элемент для любой серьёзной внеземной AE2-инфраструктуры.", "quests.gregtech_energy.large_solar_t3.subtitle": "Максимальная мощность", - "quests.gregtech_energy.large_solar_t3.desc": "Финальный уровень — это &6Большой солнечный массив MK III&r. Она работает так же, как и MK II, но её новый солнечный хладагент требует добавления &aАргона&r и &bСиликаьного аэрогеля&r.\n\nС С &bСиликаьным аэрогелем&r ты уже должен быть знаком — ты использовал его в своей &dРакете 3-го тира&r.\nОднако на Луне производить его гораздо сложнее, и тебе может понадобиться постоянная поставка с &aЗемли&r.\n\nКак справляться с этой логистической задачей — решать тебе: будь то автоматизация или межпланетная транспортировка.\n\n&eВысокотехнологичная энергия&r требует &cинфраструктуры высокого уровня&r. Планируй с умом!", + "quests.gregtech_energy.large_solar_t3.desc": "Финальный уровень — это &6Большой солнечный массив MK III&r. Она работает так же, как и MK II, но её новый солнечный хладагент требует добавления &aАргона&r и &bСиликаьного аэрогеля&r.\n\nС &bСиликатным аэрогелем&r ты уже должен быть знаком — ты использовал его в своей &dРакете 3-го тира&r.\nОднако на Луне производить его гораздо сложнее, и тебе может понадобиться постоянная поставка с &aЗемли&r.\n\nКак справляться с этой логистической задачей — решать тебе: будь то автоматизация или межпланетная транспортировка.\n\n&eВысокотехнологичная энергия&r требует &cинфраструктуры высокого уровня&r. Планируй с умом!", "quests.gregtech_energy.solar_panel.subtitle": "Свет во тьме", "quests.gregtech_energy.solar_panel.desc": "Солнечная панель станет для тебя первым источником энергии на Луне.\n\nДнём она вырабатывает 32 EU/t, но имей в виду, что на самом деле она генерирует RF, так что тебе понадобится конвертер, чтобы преобразовать его в EU.\n\nТы можешь использовать один &bMV преобразователь энергии&r максимум для 4 солнечных панелей.", "quests.gregtech_energy.storage.title": "Хранение энергии", @@ -2348,7 +2416,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 — &7амперные&r или &6лазерные&r.\n- &cНикакого риска взрыва&r — трансформаторы &aвстроены&r.\n\n&eСлои накопителей&r:\n- Ты можешь добавить до &d17 слоёв&r &9блоков накопителей&r поверх структуры.\n- Каждый слой должен быть &cполностью заполнен&r — без пустот.\n- Смешивай &fпустые&r и &6заполненные&r накопители как угодно.\n\nКаждый слой должен быть окружён &bЛаминированным стеклом&r.\n\nДавай честно: &cтебе никогда не понадобится 17 слоёв&r... но мечтать масштабно никто не запрещал.\nЕсли ты всё же построишь подстанцию с полными 17 слоями, &lпожалуйста, пришли помощь&r — ты зашёл слишком далеко.", + "quests.gregtech_energy.pss.desc.2": "&eКак это работает&r:\n- Построй структуру, используя &aПаладиевые корпуса подстанции&r.\n- Добавь как минимум &b1 энергетический входной разъем&r и &b1 энергетический выходной разъем&r.\n- Она принимает &aлюбой тип разъемов&r — &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Энергия есть энергия. Кто тут вообще считает?", @@ -2581,7 +2649,7 @@ "quests.high_voltage.wand.desc": "Эта палочка-выручалочка делает ровно то же, что и остальные строительные жезлы, только у неё &3нет прочности&r. Любите строить небоскрёбы или заваливать гектары нетронутой травы? Тогда этот инструмент для вас!\n\nУчтите, что Building Gadgets появится скоро на уровне &5EV&r и предложит ещё более мощные инструменты для заядлых строителей.", "quests.high_voltage.moon_harvester.title": "Лунный Пылесос", "quests.high_voltage.moon_harvester.subtitle": "Помните коренные буры?", - "quests.high_voltage.moon_harvester.desc": "&7Луна&r — ваш первый шаг в мир &eбесконечной руды&r, но сам процесс медленный. Вам предстоит собирать разные виды &bРеголитовой пыли&r, каждая из которых доступна только в своём биоме. Для этого понадобится &6Лунный сборщик пыли&r. Важно помнить две вещи:\n\n• Для настройки нужен &9Входной люк&r, чтобы выставить правильную &9схему&r.\n• Он поддерживает &eКатушки&r, как и &6Крекинговый завод&r — чем круче катушки, тем больше экономия энергии. Особенно полезно при сборе Реголита далеко от базы.\n\nРазумеется, одной непереработанной пыли недостаточно. Нужна &aНебольшая линия переработки&r для извлечения ресурсов из пыли Реголита. Обязательно доставляйте её на вашу &7Лунную базу&r для переработки.", + "quests.high_voltage.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 и &7Угольной пыли&r (просто, за счёт бесконечной &bАлмазной Пыли&r, которую вы будете получать).\n• &9Азот&r — получаемый через выращивание &dПлодов Хоруса&r.\n\nСовет: можно переработать ваш &9Кислород&r через &bДиоксид Кремния&r, что также даст постоянный бонус в виде &eПыли Кремния&r — очень полезного побочного продукта.", @@ -2614,6 +2682,12 @@ "quests.low_voltage.lv_age_progression.subtitle": "Слишком много вариантов, слишком мало времени !", "quests.low_voltage.lv_age_progression.desc": "&7LV&r потребует от вас создания множества различных машин. ! Вот дружеский совет, если вам трудно ставить цели: выберите предмет, который вам понадобится в более позднем квесте, и двигайтесь к нему от обратного.\n\nС учетом этого... почему бы нам не начать с &5Термоядерного контроллера&r? Забудь, это немного слишком амбициозно - давай лучше посмотрим на более достижимую цель. Ах, да, &3Электрическая доменная печь&r — главная конечная цель &7LV&r — должна быть хорошей целью.\n\nЭлектрическая доменная печь &aдорогая&r, поэтому сначала следует сосредоточиться на машинах, чтобы сделать компоненты и материалы дешевле. Наши задания помогут вам двигаться в правильном направлении.\n\nДругие важные цели — создание &3LV-сборщика&r, изготовление ваших первых &aMV-схем&r и получение вашего первого &bсборщика схем&r.", "quests.low_voltage.lv_age_progression.task": "Я... кажется, теперь я начинаю понимать, куда двигаться", + "quests.low_voltage.lost.title": "Потерялся?", + "quests.low_voltage.lost.subtitle": "Всё это очень ошеломляет", + "quests.low_voltage.lost.desc.1": "Переход на &7LV&r открывает ОЧЕНЬ много возможностей, так что легко растеряться. Вот наши рекомендации:\n\n1) Позаботься об источнике энергии. Загляни в квесты внизу справа — там есть несколько вариантов, и все они жизнеспособны. Не скупись, строй сразу несколько генераторов!\n\nОбязательно &eпрочитай главу квестов GregTech про энергию&r, чтобы хорошо понять, как работают EU, вольты, амперы и потери в кабелях.", + "quests.low_voltage.lost.desc.2": "2) Сосредоточься на машинах, которые удешевляют создание других машин.\n\nПоляризатор — это очень дешёвая машина, которая может намагничивать стержни практически бесплатно. Если ты не крафтил их аналоги из Паровой эры, скрафти Гибочный станок, Волочильный станок, Токарный станок и Резочная машина. Все эти квесты находятся вверху слева.\n\nПосле этого займись удешевлением производства резины с помощью Химического реактора и Жидкостного отвердителя (слева), а также удешевлением электронных компонентов с помощью сборщика (внизу).\n\nКогда всё станет максимально дешёвым, обязательно крафть компоненты партиями — это сэкономит тебе кучу времени.", + "quests.low_voltage.lost.desc.3": "3) Построй наполнитель и сделай несколько батарей (вверху справа). Батарейные буферы сильно помогут в развитии твоего завода, а разведочный сканер — это настоящий прорыв.\n\n4) У уровня &7LV&r есть две основные конечные цели: &aСборщик микросхем&r и &aЭлектрическая доменная печь&r. Теперь ты должен быть готов взяться за них.", + "quests.low_voltage.lost.task": "Теперь я знаю, что делать!", "quests.low_voltage.lv_steam_turbine.title": "Производство электричества", "quests.low_voltage.lv_steam_turbine.subtitle": "Вы должны построить дополнительные турбины.", "quests.low_voltage.lv_steam_turbine.desc.1": "&3Паровая турбина&r - один из немногих генераторов, которые вы можете реально использовать на &7LV&r.&2Позже вы получите доступ к более интересным вариантам топлива&r, таким как природный газ или бензин..\n\nПри подаче пара турбина будет выдавать EU в соотношении &d2 мБ = 1 EU&r.", @@ -3278,11 +3352,11 @@ "quests.ore_proc.subtitle": "Всё, что вам нужно, чтобы получать по максимуму от ваших руд", "quests.ore_proc.native_ore.title": "Добро пожаловать в переработку руды", "quests.ore_proc.native_ore.subtitle": "Перерабатывать или не перерабатывать", - "quests.ore_proc.native_ore.desc": "Важной частью &6GregTech&r являются его &dМеханики Переработки Руды&r, но они могут оказаться довольно сложными, поэтому эта глава создана, чтобы помочь!\n\nДля начала стоит обратить внимание на вкладку &6Ore Processing Diagram&r в EMI — нажмите клавишу просмотра использований (по умолчанию &bU&r) на любом предмете, связанном с переработкой руды, и найдите вкладку с иконкой ванильной железной руды. На первый взгляд эта диаграмма может показаться перегруженной, но мы разберём всё шаг за шагом.\n\nБольшая часть философии GregTech заключается в том, что для решения проблемы существует не один путь, но мы отметили всё важное &eзвёздочкой&r, так что если вы полностью потерялись — попробуйте следовать этим отметкам!", + "quests.ore_proc.native_ore.desc": "Важной частью &6GregTech&r являются его &dМеханики Переработки Руды&r, но они могут оказаться довольно сложными, поэтому эта глава создана, чтобы помочь!\n\nДля начала стоит обратить внимание на вкладку &6Схема обработки руды&r в EMI — нажмите клавишу просмотра использований (по умолчанию &bU&r) на любом предмете, связанном с переработкой руды, и найдите вкладку с иконкой ванильной железной руды. На первый взгляд эта диаграмма может показаться перегруженной, но мы разберём всё шаг за шагом.\n\nБольшая часть философии GregTech заключается в том, что для решения проблемы существует не один путь, но мы отметили всё важное &eзвёздочкой&r, так что если вы полностью потерялись — попробуйте следовать этим отметкам!", "quests.ore_proc.native_ore.task": "Я согласен не закидывать всё подряд в печь", "quests.ore_proc.robot_arm.title": "Переработка руды с помощью инструментов GregTech", "quests.ore_proc.robot_arm.subtitle": "Решая собственные проблемы собственными средствами", - "quests.ore_proc.robot_arm.desc": "GregTech поставляется с собственными инструментами, которые помогают решать логистику переработки руды.\n\n&6Роботизированный Манипулятор&r может перемещать точное количество предметов в машину — например, помещать в Лазерный Гравёр только повреждённые (flawed) драгоценные камни и только тогда, когда у вас есть ровно два.\n\n&6Тег-Фильтр&r позволяет фильтровать предметы по тегу, например '&5*purified_ores*&r', чтобы выбирать все очищенные руды.\n\n&4Умный Фильтр&r может фильтровать предметы в зависимости от их &6рецепта&r. Например, если использовать его вместе с роботизированной рукой на электролизёре и установить руке точную подачу (exact), она будет перемещать пыль (dusts) в электролизёр только тогда, когда их количество соответствует требованиям рецепта!", + "quests.ore_proc.robot_arm.desc": "GregTech поставляется с собственными инструментами, которые помогают решать логистику переработки руды.\n\n&6Роботизированный Манипулятор&r может перемещать точное количество предметов в машину — например, помещать в Лазерный Гравёр только необработанные (flawed) драгоценные камни и только тогда, когда у вас есть ровно два.\n\n&6Тег-Фильтр&r позволяет фильтровать предметы по тегу, например '&5*purified_ores*&r', чтобы выбирать все очищенные руды.\n\n&4Умный Фильтр&r может фильтровать предметы в зависимости от их &6рецепта&r. Например, если использовать его вместе с роботизированной рукой на электролизёре и установить руке точную подачу (exact), она будет перемещать пыль (dusts) в электролизёр только тогда, когда их количество соответствует требованиям рецепта!", "quests.ore_proc.ae2.title": "Переработка руды с Applied Energistics 2", "quests.ore_proc.ae2.subtitle": "Шина хранения по тегам? Что это такое?", "quests.ore_proc.ae2.desc": "AE2 отлично подходит для перемещения предметов без километров кабельной лапши! Вы можете использовать &dШину Храненения по Тегам&r, чтобы указать вашей сети, куда складывать предметы, соответствующие тегу выбранного предмета. Посмотреть его можно, нажав F3 + H. Например, если вы хотите отправлять все Очищенные Руды в сундук, просто установите на него Шину Храненения по Тегам и задайте фильтр '&5*purified_ores*&r'.\n\nСуществует множество онлайн-гайдов по настройке AE2, но отдельная подсеть (subnet) для обработки всей руды перед попаданием в ваше основное хранилище — очень хорошая идея!", @@ -3327,7 +3401,7 @@ "quests.ore_proc.macerator_byproduct.title": "Дробление с побочными продуктами", "quests.ore_proc.macerator_byproduct.subtitle": "Можно выжать ещё больше из руды!", "quests.ore_proc.macerator_byproduct.desc": "Просматривая &bEMI&r, вы, вероятно, заметили, что ваш &dИзмельчитель&r или &dЖернов&r показывают больше &bвыходов&r, чем вы фактически получаете.\n\nGregTech объясняет это не очень ясно, но эти дополнительные слоты доступны только на уровне &6HV&r. Когда вы достигнете этого тира, &6HV&r-измельчитель станет невероятно мощным, давая огромное количество бонусных побочных продуктов с каждой руды.", - "quests.ore_proc.macerator_byproduct.task": "Либо HV Измельчитель, либо HS Crushing Wheels", + "quests.ore_proc.macerator_byproduct.task": "Либо HV Измельчитель, либо HS Дробящие колёса", "quests.ore_proc.sodium_persulfate.title": "Купание в персульфате натрия", "quests.ore_proc.sodium_persulfate.subtitle": "Не только для травления плат", "quests.ore_proc.sodium_persulfate.desc": "Когда вы доберётесь до LV, вас может заинтересовать использование &bХимической Ванны&r с &dПерсульфатом натрия&r, чтобы получить дополнительные побочные продукты. Не все руды можно обработать таким способом, но те, которые можно, дадут примерно &670 процентов&r шанса на побочку, по сравнению с &630 процентами&r у &bРудопромывочной Машиной&r.\n\nПерсульфат натрия может быть немного раздражающим в массовом производстве, но &9Морская Вода&r — отличный источник.\n\nКвест снизу приводит примеры, которые могут стоить вложений.", @@ -3376,15 +3450,15 @@ "quests.ore_proc.electrolyzer.task": "Любой Электролизёр", "quests.ore_proc.packer.title": "Упаковщик", "quests.ore_proc.packer.subtitle": "Он реально быстрый", - "quests.ore_proc.packer.desc": "В старые времена GregTech этот маленький парень использовался очень активно — из переработки руды получалось много &6Малых&r и &6Крошечных Кучек Пыли&r.\n\nСейчас он в основном полезен для автоматической упаковки, например, &dРедкоземельных&r элементов в &6Центрифуге&r, возвращая множество &6Малых Кучек Пыли&r.\n\nНе забывайте: &eРоботизированный Манипулятор&r в режиме Supply Exact может быть полезен, чтобы не забивать входные слоты.", + "quests.ore_proc.packer.desc": "В старые времена GregTech этот маленький парень использовался очень активно — из переработки руды получалось много &6Малых&r и &6Крошечных Кучек Пыли&r.\n\nСейчас он в основном полезен для автоматической упаковки, например, &dРедкоземельных&r элементов в &6Центрифуге&r, возвращая множество &6Малых Кучек Пыли&r.\n\nНе забывайте: &eРоботизированный Манипулятор&r в режиме Перемещать ровно может быть полезен, чтобы не забивать входные слоты.", "quests.ore_proc.packer.task": "Любой Упаковщик", "quests.ore_proc.bauxite.title": "Линия Бокситов", "quests.ore_proc.bauxite.subtitle": "Новинка для современных версий GregTech!", "quests.ore_proc.bauxite.desc": "Вы &oможете&r просто электролизовать всю вашу Бокситовую пыль, чтобы получить жалкие 6 алюминия и 1 рутил с 15 бокситов... Или вы можете попробовать &6Линию Бокситов&r!\n\nЭта новая линия переработки даёт примерно в 2 раза больше &bАлюминия&r и в 3 раза больше &4Рутила&r с каждого боксита, а также бесплатно даёт немного Галлия, Железа, Неодима и Хрома!", - "quests.ore_proc.gem_slurry.title": "Дроблённые Руды (Самоцветы)", + "quests.ore_proc.gem_slurry.title": "Самоцветный шлам", "quests.ore_proc.gem_slurry.subtitle": "Мы... кристаллы...", - "quests.ore_proc.gem_slurry.desc": "&6Дроблённые Самоцветы&r — это опциональные, но короткие линии переработки для Рубинов, Сапфиров и Зелёных Сапфиров, чтобы выжать немного больше ресурсов из них. В сравнении с электролизом:\n\n- &cДробленный Рубин&r даёт почти в 3 раза больше Алюминия и Хрома\n\n- &9Дробленный Сапфир&r даёт в 2 раза больше Алюминия\n\n- &aДробленный Зелёный Сапфир&r даёт в 2 раза больше Алюминия и немного Бериллия\n\nИ вдобавок, все они имеют небольшой шанс дать немного Титана, Железа и Ванадия!", - "quests.ore_proc.gem_slurry.task": "Любой Дробленный Самоцвет", + "quests.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.moon": "Луна", "quests.moon.subtitle": "Единственное место, которое не было испорчено капитализмом... Космос!", "quests.space_survival.preparations.title": "Предполётная подготовка", @@ -3571,14 +3645,14 @@ "quests.steam_age.create_tools.desc": "Гаечный ключ позволяет быстро поднимать блоки из Create, если нажать Shift + ПКМ по ним, хотя топор или кирка тоже подойдут. Очки инженера дают возможность видеть более подробную информацию о твоих машинах — например, сколько нагрузки они создают или потребляют.\n\nОба этих инструмента пока необязательны, но они окажутся очень полезными, и позже без них будет не обойтись.\n\nЗагляни в главу «Советы TFG» для помощи со стеклодувием. А ты знал, что если ломать булыжник молотком, он превратится в гравий, а если разбить гравий ещё раз — получится песок...?", "quests.steam_age.basic_millstone.title": "Автоматическая Переработка Руды", "quests.steam_age.basic_millstone.subtitle": "Больше никакого жернова", - "quests.steam_age.basic_millstone.desc": "&3Жернов&r — это автоматизированная версия ручного жернова. Ты можешь просто бросить нужные материалы сверху, а затем щёлкнуть ПКМ, чтобы забрать переработанные предметы.\n\nЕсли подключить его напрямую к &3Конному Приводу&r, он будет довольно медленным, но можно увеличить скорость с помощью передаточных шестерён.\n\nТы будешь получать результат только из первого слота. Остальные слоты относятся к механике GregTech, которая станет актуальной гораздо позже (&6HV&r).", + "quests.steam_age.basic_millstone.desc": "&3Жернов&r — это автоматизированная версия ручного жернова. Ты можешь просто бросить нужные материалы сверху, а затем щёлкнуть ПКМ, чтобы забрать переработанные предметы.\n\nЕсли подключить его напрямую к &3Скотному Приводу&r, он будет довольно медленным, но можно увеличить скорость с помощью передаточных шестерён.\n\nТы будешь получать результат только из первого слота. Остальные слоты относятся к механике GregTech, которая станет актуальной гораздо позже (&6HV&r).", "quests.steam_age.horse_crank.title": "Твой Первый Источник Энергии", "quests.steam_age.horse_crank.subtitle": "Пусть домашние животные платят за жильё", - "quests.steam_age.horse_crank.desc.1": "&3Конный Привод&r — это твой первый доступный источник механической энергии. Чтобы его использовать, размести привод в центре очищенной площадки 7x7 и привяжи к нему животное. Разные животные дают разное количество энергии, а блоки под ними могут увеличить скорость вращения. Площадки нескольких приводов могут перекрываться.\n\nИногда может понадобиться удерживать второй поводок, чтобы прикрепить животное.", + "quests.steam_age.horse_crank.desc.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.poor_paths.title": "Плохие Дорожки", "quests.steam_age.poor_paths.subtitle": "Это просто грязь", - "quests.steam_age.poor_paths.desc": "Худший тип дороги, который можно использовать. Конный привод будет работать на скорости 2 об/мин.", + "quests.steam_age.poor_paths.desc": "Худший тип дороги, который можно использовать. Скотный привод будет работать на скорости 2 об/мин.", "quests.steam_age.normal_paths.title": "Средние Дорожки", "quests.steam_age.normal_paths.subtitle": "Ну, хоть немного постарался", "quests.steam_age.normal_paths.desc": "Средние дорожки немного лучше — животные смогут вращать привод со скоростью 4 об/мин.\n\nПримечание: Блок утоптанной земли не может находиться прямо под приводом, так что там придётся использовать гравий.", @@ -3587,7 +3661,11 @@ "quests.steam_age.good_paths.desc": "Лучший вид дорожного покрытия — привод выдаёт 8 об/мин. Такие дорожки также увеличивают скорость передвижения игрока, так что ими стоит выложить всю базу!", "quests.steam_age.helve_hammer.title": "Рычажный Молот", "quests.steam_age.helve_hammer.subtitle": "БАМ... БАМ... БАМ...", - "quests.steam_age.helve_hammer.desc": "Устали вручную ковать пластины для сыродутного горна? &3Рычажный молот&r автоматически (хотя и медленно) превращает двойные слитки в пластины. Ковать соединённые заготовки всё же придётся вручную. Просто поставьте наковальню прямо под молотом, бросьте на неё двойные слитки и щёлкните правой кнопкой по молоту, чтобы получить готовые пластины.\n\nНаковальни более высокого уровня требуют меньше ударов для ковки пластин из предыдущего уровня.", + "quests.steam_age.helve_hammer.desc.1": "Устали вручную ковать пластины для сыродутного горна? &3Рычажный молот&r автоматически (хотя и медленно) превращает двойные слитки в пластины. Ковать соединённые заготовки всё же придётся вручную. Просто поставьте наковальню прямо под молотом, бросьте на неё двойные слитки &2Клавишей Выбросить предмет (По умолчанию: Q)&r и щёлкните правой кнопкой по молоту, чтобы получить готовые пластины.\n\nНаковальни более высокого уровня требуют меньше ударов для ковки пластин из предыдущего уровня.", + "quests.steam_age.helve_hammer.desc.2": "Обязательно используйте шестерни, чтобы увеличить скорость!\n\nПоначалу это может показаться не слишком впечатляющим, но как только вы сможете увеличить скорость до 256 об/мин с помощью стальных шестерен и валов, Рычажный молот действительно начнет блистать.", + "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Пропитанная древесина получается путём замачивания любых досок в креозоте из твоей коксовой печи.", @@ -3627,19 +3705,19 @@ "quests.steam_age.steel_pump.title": "Работа с Жидкостями", "quests.steam_age.steel_pump.subtitle": "Вкусные трубы-спагетти", "quests.steam_age.steel_pump.desc.1": "С наступлением Стальной Эпохи ты теперь можешь автоматизировать не только предметы, но и жидкости! &3Механическая помпа&r способна выкачивать жидкости практически из чего угодно — бочек, тиглей и даже из самих источников. Его можно использовать как с трубами из Create, так и с трубами из GregTech, хотя их поведение немного отличается.", - "quests.steam_age.steel_pump.desc.2": "Трубы из Create не имеют внутреннего объёма, а переносят жидкость напрямую от источника к получателю. Щёлкни по ним медной облицовкой, чтобы «зафиксировать» соединения, а с помощью гаечного ключа можно открыть маленькое окошко, которое блокирует перекрёстные соединения — так можно прокладывать несколько труб рядом. Для работы труб Create требуется механический насос, и у каждого насоса дальность всего 16 блоков, но один насос может забирать жидкость сразу из нескольких источников.\nУ них также &9нет температурного лимита!&r", - "quests.steam_age.steel_pump.desc.3": "Трубы из GregTech, наоборот, имеют свой внутренний объём и не нуждаются в насосе, если жидкость уже внутри. Как и предметные трубы, соединения можно настраивать — присядь и кликни по ним с пустой второй рукой, чтобы включить или отключить стороны. Рекомендуется сделать это на всех трубах, иначе жидкость будет «болтаться» внутри.\n\nНе соединяются механический насос и трубы GregTech? Просто дважды переверни насос (ПКМ с гаечным ключом), и всё заработает!", + "quests.steam_age.steel_pump.desc.2": "Трубы из Create не имеют внутреннего объёма, а переносят жидкость напрямую от источника к получателю. Щёлкни по ним медной облицовкой, чтобы «зафиксировать» соединения, а с помощью гаечного ключа можно открыть маленькое окошко, которое блокирует перекрёстные соединения — так можно прокладывать несколько труб рядом. Для работы труб Create требуется механическая помпа, и у каждой помпы дальность всего 16 блоков, но одна помпа может забирать жидкость сразу из нескольких источников.\nУ них также &9нет температурного лимита!&r", + "quests.steam_age.steel_pump.desc.3": "Трубы из GregTech, наоборот, имеют свой внутренний объём и не нуждаются в помпе, если жидкость уже внутри. Как и предметные трубы, соединения можно настраивать — присядь и кликни по ним с пустой второй рукой, чтобы включить или отключить стороны. Рекомендуется сделать это на всех трубах, иначе жидкость будет «болтаться» внутри.\n\nНе соединяются механическая помпа и трубы GregTech? Просто дважды переверни помпу (ПКМ с гаечным ключом), и всё заработает!", "quests.steam_age.mold_table.title": "Автоматизация Доменной Печи", "quests.steam_age.mold_table.subtitle": "До Электрической Печи ещё далеко", - "quests.steam_age.mold_table.desc.1": "Тебе понадобится &3куча&r стали, поэтому автоматизация доменной печи — отличная инвестиция. Механический насос может выкачивать расплав напрямую из печи (гораздо быстрее, чем он капает в тигель) в Стол с Формами, а также мгновенно охлаждать слитки! Под столом можно поставить Жёлоб или Воронку, чтобы забирать готовые слитки. Затем можно отправить Чугунные Слитки прямо к Кузнечному Молоту.", - "quests.steam_age.mold_table.desc.2": "При желании можно использовать Жёлоб, чтобы подавать предметы сверху в доменную печь, а также Автономный Активатор для автоматического нажатия мехов. Избыточное использование мехов быстро изнашивает Фурму, но предметные трубы могут автоматически вставлять новое.\n\nМожно даже настроить насос так, чтобы он одновременно выкачивал расплав и из доменной печи, и из тигля, используя Клапан Жидкостей для временной остановки, когда ты делаешь сплав, и повторного включения после завершения.", + "quests.steam_age.mold_table.desc.1": "Тебе понадобится &3куча&r стали, поэтому автоматизация доменной печи — отличная инвестиция. Механическая помпа может выкачивать расплав напрямую из печи (гораздо быстрее, чем он капает в тигель) в Стол для форм, а также мгновенно охлаждать слитки! Под столом можно поставить Жёлоб или Воронку, чтобы забирать готовые слитки. Затем можно отправить Чугунные Слитки прямо к Кузнечному Молоту.", + "quests.steam_age.mold_table.desc.2": "При желании можно использовать Жёлоб, чтобы подавать предметы сверху в доменную печь, а также Автономный Активатор для автоматического нажатия мехов. Избыточное использование мехов быстро изнашивает Фурму, но предметные трубы могут автоматически вставлять новое.\n\nМожно даже настроить помпу так, чтобы он одновременно выкачивал расплав и из доменной печи, и из тигля, используя Клапан Жидкостей для временной остановки, когда ты делаешь сплав, и повторного включения после завершения.", "quests.steam_age.fluid_pipes.title": "Трубы для Жидкостей", "quests.steam_age.fluid_pipes.subtitle": "Жидкости, газы... мы не делаем различий", "quests.steam_age.fluid_pipes.desc.1": "&bТрубы для Жидкостей&r позволяют транспортировать &7Пар&r между машинами.\n\nКаждая труба имеет определённую пропускную способность в мБ/тик и &6температурный предел&r. Это важно уже сейчас, так как Пар может сжечь деревянные трубы. Некоторые трубы обладают &bособенными&r свойствами, о которых пока можно не беспокоиться.\n\nКаждый материал имеет несколько размеров труб. Чем больше труба, тем &aвыше&r её пропускная способность, но тем &dдороже&r крафт. Например, обычная &6Бронзовая Труба&r передаёт 120 мБ/тик (и имеет внутренний буфер 1,200 мБ!).\n\nДля начала рекомендуется использовать деревянные трубы для холодных жидкостей и бронзовые — для горячих.", "quests.steam_age.fluid_pipes.desc.2": "&aНапоминание:&r 1 секунда = 20 тиков... если сервер не лагает.\n\n&dПримечание:&r Включён стиль труб из GT6. Это значит, что при установке труба соединяется только с блоком, к которому примыкает. Чтобы открыть больше соединений, используй гаечный ключ на трубе.\n\nТакже можно зажать Shift и ПКМ, чтобы отключить вход с выбранной стороны. Это помогает предотвратить «плескание» — движение жидкости не в том направлении.", "quests.steam_age.fluid_drums.title": "Эффективное Хранение Жидкостей", "quests.steam_age.fluid_drums.subtitle": "Не думаю, что деревянная бочка выдержит расплавленную сталь", - "quests.steam_age.fluid_drums.desc.1": "&6TFG&r быстро становится &4перегружен&r количеством разных жидкостей, так что ты наверняка ищешь способ их хранения.\n\nПредставляем... &aБочки&r! Они имеют большой внутренний объём, и любую &aБочку&r можно сломать и подобрать — она &dсохранит жидкость&r внутри. Щелчок ПКМ Мягким Молотком позволяет бочке слить содержимое в контейнер, расположенный под ней.", + "quests.steam_age.fluid_drums.desc.1": "&6TFG&r быстро становится &4перегружен&r количеством разных жидкостей, так что ты наверняка ищешь способ их хранения.\n\nПредставляем... &aБочки&r! Они имеют большой внутренний объём, и любую &aБочку&r можно сломать и подобрать — она &dсохранит жидкость&r внутри. Щелчок ПКМ Киянкой или отверткой позволяет бочке слить содержимое в контейнер, расположенный под ней.", "quests.steam_age.fluid_drums.desc.2": "&l&3Лор:&r&o Эти бочки были перенесены из GregTech 6.", "quests.steam_age.boilers.title": "Паровые Котлы", "quests.steam_age.boilers.subtitle": "Портативная парная", @@ -3670,7 +3748,7 @@ "quests.steam_age.forge_hammer.desc": "С созданием этой машины многие рецепты, которые раньше требовали использования молота, теперь можно делать здесь!\n\nОн может перерабатывать &bБулыжник&r в Гравий, и &dГравий&r в Песок — и делает это очень быстро.\n\nИ последнее, но не менее важное: он делает &aПластины&r с лучшим коэффициентом: &6три слитка за две пластины&r. Стоит того!\n\nКроме того, Кузнечный Молот позволяет (хоть и медленно) обрабатывать промежуточные слитки, такие как Крицу в Кованое Железо или Чугун в Сталь, если хотите более компактную версию Helve Hammer!", "quests.steam_age.alloy_smelter.title": "Паровая Печь для Сплавов", "quests.steam_age.alloy_smelter.subtitle": "Печь для Сплавов сплавляет сплавы...", - "quests.steam_age.alloy_smelter.desc": "&bПечь для Сплавов&r используется для сплавов. Она будет полезена для эффективного рецепта &6Бронзы&r и для &4Красного Сплава&r в ближайшем будущем.\n\nОна также может сваривать слитки Высокоуглеродной стали гораздо эффективнее!\n\nИз всех машин &6Паровой Эры&r это самая требовательная к пару. Если пар закончится, слегка коснитесь машины &aлюбым Мягким Молотком&r, чтобы временно приостановить её работу.", + "quests.steam_age.alloy_smelter.desc": "&bПечь для Сплавов&r используется для сплавов. Она будет полезена для эффективного рецепта &6Бронзы&r и для &4Красного Сплава&r в ближайшем будущем.\n\nОна также может сваривать слитки Высокоуглеродной стали гораздо эффективнее!\n\nИз всех машин &6Паровой Эры&r это самая требовательная к пару. Если пар закончится, тыкните по машинке &aлюбой Киянкой&r, чтобы временно приостановить её работу.", "quests.steam_age.compressor.title": "Паровой Компрессор", "quests.steam_age.compressor.subtitle": "Паровой Компрессор сжимает...", "quests.steam_age.compressor.desc": "&3Паровой Компрессор&r может превращать слитки и драгоценные камни в блоки, самородки в слитки, а самое главное — древесную массу в отдельные Доски. Скоро вы поймёте, почему это важно!", @@ -3794,6 +3872,15 @@ "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.steam_age.steam_presser.title": "Паровой пресс", + "quests.steam_age.steam_presser.subtitle": "Тётя парового кузнечного молота", + "quests.steam_age.steam_presser.desc": "&3Паровой пресс&r мультиблочный вариант кузнечного молота с параллелями.\n\nЕсли у вас кузнечный молот является упором, это улучшение может быть полезным. В противном случае, лучше пропустите.", + "quests.steam_age.steam_fuser.title": "Паровая плавильня для сплавов", + "quests.steam_age.steam_fuser.subtitle": "Двоюродный брат (в четвёртом поколении) паровой печи для сплавов.", + "quests.steam_age.steam_fuser.desc": "&3Паровая плавильня для сплавов&r — это более крупная и мощная версия паровой печи для сплавов. Вам нужно быстро производить много сплавов? Тогда вам точно пригодится!", + "quests.steam_age.steam_squasher.title": "Паровой сжиматель", + "quests.steam_age.steam_squasher.subtitle": "Друг детства парового компрессора", + "quests.steam_age.steam_squasher.desc": "Нужно сжимать много всего одновременно? &3Паровой сжиматель&r — это многоблочный параллельный компрессор, который может оказаться полезным.", "quests.stone_age": "Каменный век", "quests.stone_age.subtitle": "Скромные истоки", "quests.stone_age.foods.title": "Голодный?", @@ -4018,7 +4105,7 @@ "quests.tfg_tips.portable_storage.desc": "Во время путешествий вы можете исследовать &oмногое&r и в итоге собрать кучу хлама. Эта ветка квестов предлагает несколько вариантов расширения вашего инвентаря для похода.", "quests.tfg_tips.toolbelt.title": "Пояс с инструментами и Поясная сумка", "quests.tfg_tips.toolbelt.subtitle": "Эти инструменты занимают слишком много места, пора это исправить!", - "quests.tfg_tips.toolbelt.desc": "С помощью &dПояса с инструментами&r вы сможете управлять сразу несколькими инструментами, не занимая при этом место в инвентаре! Этот полезный предмет размещается в специальный слот &3пояса&r в &4меню Curios&r. Доставать и убирать инструменты можно с помощью &cгорячей клавиши.&r Изначально доступно всего два слота, но их количество можно увеличить, добавляя &aПоясную сумку&r.\n\n&lИз-за бага в моде невозможно улучшить &dПояс с инструментами&f, если он был окрашен или содержит инструменты. Обязательно опустошите его перед улучшением!", + "quests.tfg_tips.toolbelt.desc": "С помощью &dПояса с инструментами&r вы сможете управлять сразу несколькими инструментами, не занимая при этом место в инвентаре! Этот полезный предмет размещается в специальный слот &3пояса&r в &4меню Curios&r. Доставать и убирать инструменты можно с помощью &cгорячей клавиши.&r Изначально доступно всего два слота, но их количество можно увеличить, добавляя &aПоясную сумку&r.", "quests.tfg_tips.maxed_out_toolbelt.title": "ВСЕ ИНСТРУМЕНТЫ", "quests.tfg_tips.maxed_out_toolbelt.subtitle": "Похоже, этот пояс теперь весит очень много...", "quests.tfg_tips.maxed_out_toolbelt.desc": "&dПояс с инструментами&r может вместить 7 дополнительных сумок, целых 9 инструментов в одном поясе!", @@ -4034,7 +4121,7 @@ "quests.tfg_tips.first_sacks.desc": "&6Кожаный мешок&r и &3Мешок из мешковины&r — это два варианта переносного хранилища, каждый со своими плюсами и минусами. Хорошей идеей будет посмотреть информацию о контейнере для каждого из них, чтобы узнать количество &dслотов для предметов&r, &dразмер стака&r и максимальный &dразмер предметов&r для каждого мешка.\n\n&l&3Совет:&r В &4&oПолевом справочнике&r есть более подробная информация о некоторых особых возможностях этих мешков.", "quests.tfg_tips.special_sacks.title": "Специализированные мешки", "quests.tfg_tips.special_sacks.subtitle": "Подождите, сколько он может вместить?", - "quests.tfg_tips.special_sacks.desc": "&2Мешочек для семян&r и &9Мешок для руд&r — это два мешка, которые могут хранить только определённые типы предметов, но компенсируют это значительно &dбольшими размерами стаков&r.\n\n&2Seed Pouch&r может хранить до &c128&r штук &327&r различных видов семян.\n\n&9Мешок для руд&r может хранить до &c512&r штук &39&r различных добытых ресурсов. Это значит, что в нём можно хранить такие предметы, как руды, камни, порошки и глины!", + "quests.tfg_tips.special_sacks.desc": "&2Мешочек для семян&r и &9Мешок для руд&r — это два мешка, которые могут хранить только определённые типы предметов, но компенсируют это значительно &dбольшими размерами стаков&r.\n\n&2Мешочек для семян&r может хранить до &c128&r штук &327&r различных видов семян.\n\n&9Мешок для руд&r может хранить до &c512&r штук &39&r различных добытых ресурсов. Это значит, что в нём можно хранить такие предметы, как руды, камни, порошки и глины!", "quests.tfg_tips.frame_pack.title": "Каркасный рюкзак", "quests.tfg_tips.frame_pack.subtitle": "Наличие выбора — это хорошо!", "quests.tfg_tips.frame_pack.desc": "&5Каркасный рюкзак&r даёт тебе &318&r слотов, каждый из которых может хранить до &c64&r предметов. Преимущество &5Каркасного рюкзака&r в том, что он игнорирует стандартный размер стака у предметов, которые ты в него кладёшь. Это значит, что всего ты можешь носить с собой до &c1152&r предметов!", @@ -4132,7 +4219,7 @@ "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.", + "quests.tfg_tips.terrafirmacraft.desc": "&3TerraFirmaCraft&r — один из основных модов в составе &2TerraFirmaGreg.&r Эта ветвь в основном сосредоточена на некоторых функциях выживания и других &dмодах&r, присутствующих в сборке, таких как &4Aged Alcohol&r и &bCanes&r.", "quests.tfg_tips.cane.title": "Трости", "quests.tfg_tips.cane.subtitle": "Ими даже можно стукнуть кого-нибудь!", "quests.tfg_tips.cane.desc": "&dТрость&r позволяет полностью игнорировать любые блоки, замедляющие движение, такие как &aснег&r, если вы держите ее в &cосновной&r или &cвторостепенной руке&r. Вдобавок она &bповышает высоту шага&r — другими словами, вы сможете подниматься на один блок без прыжка. А &dЖелезная трость&r даже позволяет перешагивать через заборы!", @@ -4145,6 +4232,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", @@ -4203,7 +4294,7 @@ "quests.tfg_tips.silk_cloth.desc": "&dШелковую ткань&r можно создать из &aНити&r, получаемой при убийстве &bПауков&r, или с помощью &bСлитков поликапролактама (известен как нейлон)&r. Шелкопрядов нет, извините! Еще один, хоть и опасный источник, — биом &cПаучье логово&r в &4Бездне&r.\n\nШелковая ткань используется для создания &aШелковой одежды&r, которая лучше всего защищает от &cжаркого&r климата.\n\nШелк считается &bтканью высокого качества.&r", "quests.tfg_tips.phantom_silk.title": "Фантомная ткань", "quests.tfg_tips.phantom_silk.subtitle": "Всеобщий победитель голосования за любимого моба", - "quests.tfg_tips.phantom_silk.desc": "&dФантомная ткань&r плетётся из фантомных нитей, которые изготавливаются из мембран фантомов. (&aФантомов&r) можно встретить в измерении &4Бездны&r.", + "quests.tfg_tips.phantom_silk.desc": "&dФантомная ткань&r плетётся из фантомных нитей, которые изготавливаются из мембран фантомов. &aФантомов&r можно встретить в измерении &4Бездны&r.", "quests.tfg_tips.unrefined_paper.title": "Грубая бумага", "quests.tfg_tips.unrefined_paper.subtitle": "Пора делать историю.", "quests.tfg_tips.unrefined_paper.desc": "&aГрубая бумага&r — всего в одном шаге от превращения в настоящую, пригодную к использованию &dбумагу.&r Существует множество способов создания бумаги: одни проще, другие могут оказаться значительно труднее в зависимости от доступных ресурсов. Ознакомьтесь с разделом &bПроизводство бумаги&r в вашем &2Полевом руководвстве!&r", @@ -4377,13 +4468,13 @@ "quests.tfg_tips.arborfirmacraft.desc": "&2ArborFirmaCraft&r — мод который добавляет кучу новых видов деревьев в &3TFG&r. Некоторые из них — это вариации уже существующих деревьев из TFC, например &dСейба&r, а другие — совершенно новые, такие как &aБаобаб&r и &aГевея&r. Некоторые текстуры брёвен и досок могут показаться тебе знакомыми — они вдохновлены ванильными деревьями!\n\nВ этом разделе рассказывается о &bсборе древестного сока&r.\nКстати, вся древесина из &2ArborFirmaCraft&r полностью совместима с &3FirmaLife&r и &3Firma:Civ&r — мы специально это предусмотрели!", "quests.tfg_tips.treetap.title": "Краник для подсочки", "quests.tfg_tips.treetap.subtitle": "Теперь багов меньше!", - "quests.tfg_tips.treetap.desc": "Чтобы начать &bсбор сока&r с деревьев, тебе понадобится выковать &dКраник для подсочки&r («Сокосборник») из &aмедных слитков&r на &3наковальне&r. Процесс сбора требует подходящего дерева — специальный &bИндекс деревьев&r в разделе &3ArborFirmaCraft&r -> &2Полевой справочник&r подскажет, какие деревья можно использовать. Там же ты найдёшь запись &b«Сбор сока»&r, где подробно описано, как правильно устанавливать сокосборник.", + "quests.tfg_tips.treetap.desc": "Чтобы начать &bсбор сока&r с деревьев, тебе понадобится выковать &dКраник для подсочки&r («Сокосборник») из &aмедных слитков&r на &3наковальне&r. Процесс сбора требует подходящего дерева — специальный &bКаталог подсочки&r в разделе &3ArborFirmaCraft&r -> &2Полевой справочник&r подскажет, какие деревья можно использовать. Там же ты найдёшь запись &bПодсочка деревьев&r, где подробно описано, как правильно устанавливать сокосборник.", "quests.tfg_tips.find_rosin_tree.title": "Смолистые деревья", "quests.tfg_tips.find_rosin_tree.subtitle": "", - "quests.tfg_tips.find_rosin_tree.desc": "&aСмолистые деревья&r растут в &9холодных&r районах с умеренными или обильными осадками. C них можно собирать &bХвойную смолу&r, которая используется для создания &dЛипкой резины&r и &dХвойной канифоли&r. Чтобы выполнить это задание, нужно &cпосмотреть&r на блок, имеющий тег &o#tfg:rosin_logs&r. Узнать, какие блоки обладают этим тегом, можно в EMI — просто введи этот хэштег в поиск.", + "quests.tfg_tips.find_rosin_tree.desc": "&aСмолистые деревья&r растут в &9холодных&r районах с умеренными или обильными осадками. C них можно собирать &bХвойную смолу&r, которая используется для создания &dЛипкой смолы&r и &dХвойной канифоли&r. Чтобы выполнить это задание, нужно &cпосмотреть&r на блок, имеющий тег &o#tfg:rosin_logs&r. Узнать, какие блоки обладают этим тегом, можно в EMI — просто введи этот хэштег в поиск.", "quests.tfg_tips.find_latex_tree.title": "Каучуковые деревья", "quests.tfg_tips.find_latex_tree.subtitle": "В поисках тропиков", - "quests.tfg_tips.find_latex_tree.desc": "&aКаучуковые&r деревья произрастают преимущественно в &2умеренных климатических зонах&r с высоким уровнем осадков. С их стволов можно собирать &bлатекс&r — ценное сырьё, применяемое для производства &dЛипкой резины&r и &dВулканизированного латекса&r. Последний служит основным материалом для изготовления &3резины&r и &aрезиновых перчаток&r, обеспечивающих защиту от &4токсичных веществ&r при непосредственном контакте. Для завершения данного задания необходимо &cвзглянуть&r на блок, обладающий тегом &o#tfg:latex_logs&r. Список соответствующих блоков можно просмотреть в интерфейсе EMI, введя данный хештег в строку поиска.", + "quests.tfg_tips.find_latex_tree.desc": "&aКаучуковые&r деревья произрастают преимущественно в &2умеренных климатических зонах&r с высоким уровнем осадков. С их стволов можно собирать &bлатекс&r — ценное сырьё, применяемое для производства &dЛипкой смолы&r и &dВулканизированного латекса&r. Последний служит основным материалом для изготовления &3резины&r и &aрезиновых перчаток&r, обеспечивающих защиту от &4токсичных веществ&r при непосредственном контакте. Для завершения данного задания необходимо &cвзглянуть&r на блок, обладающий тегом &o#tfg:latex_logs&r. Список соответствующих блоков можно просмотреть в интерфейсе EMI, введя данный хештег в строку поиска.", "quests.tfg_tips.find_syrup_tree.title": "Сладкие палочки", "quests.tfg_tips.find_syrup_tree.subtitle": "Диабет ракетит в небо", "quests.tfg_tips.find_syrup_tree.desc": "&aСиропонесущие деревья&r встречаются в &2умеренных&r климатических зонах мира с умеренными осадками. В их можно всавить &bКраник для подсочки&r для сбора &bСиропа&r. Сироп используется для производства &dДерестных Сахаров&r — альтернативного вида сахара и других продуктов.\n\nЧтобы выполнить этот квест, необходимо &cпосмотреть&r на блок с тегом &o#tfg:syrup_logs&r. Для поиска таких блоков можно использовать EMI.", @@ -4396,7 +4487,7 @@ "quests.tfg_tips.create_tree_sugar.title": "Древесный сахар", "quests.tfg_tips.create_tree_sugar.subtitle": "Конфеткиии!", "quests.tfg_tips.create_tree_sugar.desc": "&dДересный сахар&r — это заменитель сахара, который в основном используется как пищевой ингредиент. Для его приготовления необходимо прокипятить &aдревесный сок&r, чтобы получить &bконцентрированный сок&r, затем прокипятить его снова, чтобы получить &dсироп.&r Наконец, на верстаке превратите &bведро сиропа&r в &dдересный сахар.&r Имейте в виду, что все эти &cпроцессы кипячения требуют использования палочки&r в &3Горшке&r или &3Чане.&r", - "quests.tfg_tips.create_tree_sugar.task": "Maple or Birch Sugar", + "quests.tfg_tips.create_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 можно выплавить в &bПечи для сплавов&r, чтобы получить &dрезиновые слитки&r — идеальные для изоляции кабелей и крайне необходимые для продвижения в &2Электрический век&r и далее...", @@ -4452,7 +4543,7 @@ "quests.tfg_tips.quadrocopter.desc": "&3Квадрокоптер&r — это простейший &aтранспорт на воздушной подушке&r с &b6 слотами инвентаря&r, &aодним слотом для улучшений&r и &cодним слотом для оружия.&r\n\nБлагодаря простому управлению идеально подходит для &eстроительных работ.&r", "quests.tfg_tips.gyrodyne.title": "Винтокрыл", "quests.tfg_tips.gyrodyne.subtitle": "Мускулистый коптер", - "quests.tfg_tips.gyrodyne.desc": "&3Вентокрыл&r — уникальный летательный аппарат, не требующий &dтоплива&r и работающий исключительно на мускульной силе, что истощает вашу &4Сытость&r.\n\nОн имеет &b18 слотов инвентаря&r, &a3 слота для улучшений&r и &c1 слот для оружия&r.", + "quests.tfg_tips.gyrodyne.desc": "&3Винтокрыл&r — уникальный летательный аппарат, не требующий &dтоплива&r и работающий исключительно на мускульной силе, что истощает вашу &4Сытость&r.\n\nОн имеет &b18 слотов инвентаря&r, &a3 слота для улучшений&r и &c1 слот для оружия&r.", "quests.tfg_tips.economy_plane.title": "Экономичный самолет", "quests.tfg_tips.economy_plane.subtitle": "Твой первый самолет... Хотя не так уж хорош.", "quests.tfg_tips.economy_plane.desc": "&3Экономичный самолет&r — это самый базовый &bсамолет.&r В отличие от дирижаблей, судна на воздушной подушке и коптеров, он управляется с помощью &oтангажа&r и &oрыскания.&r\n\nУ него есть &b4 слота инвентаря&r и &a4 слота для улучшений.&r\nХотя &dэкономичный самолет&r медленный, его, как и дирижабль, можно &2улучшить в более продвинутые модели.&r", @@ -4536,12 +4627,12 @@ "quests.tfg_tips.greenhouse.title": "Теплица", "quests.tfg_tips.greenhouse.subtitle": "Выращивай свои культуры 24/7!", "quests.tfg_tips.greenhouse.desc": "&dТеплица&r — сложная многоблочная структура с несколькими уровнями, позволяющая выращивать урожай круглый год ценой снижения продуктивности. Подробности смотрите в &2Полевом руководстве&r!", - "quests.tfg_tips.greenhouse_automation.title": "Greenhouse Automation", - "quests.tfg_tips.greenhouse_automation.subtitle": "By your powers combined...", - "quests.tfg_tips.greenhouse_automation.desc": "With the combination of Firmalife's &2Picker&r and &2Sweeper&r, Create's Deployers, and GregTech's Item Collectors, it's possible to completely automate your greenhouse!\n\nPickers will pull mature crops from Hydroponic Planters and Quad Planters when they receive a redstone pulse, while Sweepers will harvest mature crops from the other types in a 3x3 area around it while connected to a redstone signal.\n\nThese machines will produce loose items, but an Item Collector will suck those up in a large area around it.\n\nFrom there, pipe the seeds back into Deployers to plant them in the Planters!", + "quests.tfg_tips.greenhouse_automation.title": "Автоматизация теплицы", + "quests.tfg_tips.greenhouse_automation.subtitle": "Объединив ваши силы...", + "quests.tfg_tips.greenhouse_automation.desc": "Комбинируя &2Сборщик&r и &2Уборщик&r из Firmalife, Автономные активаторы из Create и собиратели предметов из GregTech, ты можешь полностью автоматизировать свою теплицу!\n\nСборщики будут забирать созревшие культуры из гидропонных лотков и лотков для небольших растений при получении импульса редстоуна, а уборщики будут собирать созревшие культуры с других типов лотков в области 3x3 вокруг себя, пока к ним подведён сигнал редстоуна.\n\nЭти машины выбрасывают предметы на землю, но собиратель предметов засосёт их в большом радиусе вокруг себя.\n\nПосле этого направь семена обратно в Автономные активаторы, чтобы снова высадить их в лотки!", "quests.tfg_tips.beekeeping.title": "Пчеловодство", "quests.tfg_tips.beekeeping.subtitle": "Теперь они такие маленькие...", - "quests.tfg_tips.beekeeping.desc": "&bBeekeeping&r has a plethora of uses. Not only do bees fertilize nearby crops (assuming you have the correct trait), you will be able to obtain useful resources such as &aWax&r and &aHoney.&r Breed bees to achieve better stats.\nThe &2Field Guide&r offers an extensive explanation of all &bbeekeeping&r mechanics.", + "quests.tfg_tips.beekeeping.desc": "&bПчеловодство&r имеет множество применений. Пчёлы не только опыляют близлежащие культуры (при наличии соответствующей способности), но и позволяют получать полезные ресурсы, такие как &aвоск&r и &aмёд&r. Разводи пчёл, чтобы улучшать их характеристики.\n&2Полевой справочник&r содержит подробное объяснение всех механик &bпчеловодства&r.", "quests.tfg_tips.beehive.title": "Улей", "quests.tfg_tips.beehive.subtitle": "Пора испытать удачу...", "quests.tfg_tips.beehive.desc": "Чтобы начать заниматься пчеловодством, вам понадобятся: &bУлей&r и &aРамка для улья.&r\nВ отличие от ванильного Майнкрафта, ульи не генерируются в мире — пчелы появляются только в созданных игроком &bУльях&r с рамками, заселенными &eКоролевами.&r Шанс заселения рамки королевой случаен, но шанс можно увеличить, разместив вокруг улья &dЦветы&r.\n\nПосле заселения рамки в улье начнут появляться рабочие пчелы, производящие мед.", @@ -4560,7 +4651,7 @@ "quests.tfg_tips.candles.desc": "Свечи можно создать из &aПарафина, Воска&r или &aХвойной канифоли.&r\nПо сравнению с факелами, свечи — лучший источник света, так как горят 1 месяц и 2 дня.", "quests.tfg_tips.oven.title": "Печь", "quests.tfg_tips.oven.subtitle": "Осторожно, горячо", - "quests.tfg_tips.oven.desc": "&3Печь&r — это многоблочная структура, предназначенная для удобного приготовления пищи, а также выполнения эксклюзивных рецептов. &aНижняя и Верхняя часть печи&r, &aДымоход&r являются обязательной составляющей. Также не забудьте про &dЛопатку пекаря&r, которая нужна для извлечения еды из &aВерхней части печи.&r\nПодробную информацию по постройке &3Печи&r можно найти в &2Полевом руководстве.&r\n\n&3&lСовет:&r&o Единственное блюдо, заполняющее все 5 групп питательности — &cПицца&f, — может быть приготовлена только в печи.", + "quests.tfg_tips.oven.desc": "&3Печь&r — это многоблочная структура, предназначенная для удобного приготовления пищи, а также выполнения эксклюзивных рецептов. &aНижняя и Верхняя часть печи&r, &aДымоход&r являются обязательной составляющей. Также не забудьте про &dКлещи&r, которые нужна для извлечения еды из &aВерхней части печи.&r\nПодробную информацию по постройке &3Печи&r можно найти в &2Полевом руководстве.&r\n\n&3&lСовет:&r&o Единственное блюдо, заполняющее все 5 групп питательности — &cПицца&f, — может быть приготовлена только в печи.", "quests.tfg_tips.oven_appliances.title": "Устройства для печи", "quests.tfg_tips.oven_appliances.subtitle": "Расширьте возможности ваших печей", "quests.tfg_tips.oven_appliances.desc": "&3Устройства для печи&r — это дополнительные элементы, которые устанавливаются поверх &aНижней части печи&r для получения тепла. Помните, что в одной многоблочной структуре может быть &cнесколько&r &aНижних частей печи.&r\n\n&dГриль из кованого железа&r: Позволяет готовить пищу быстрее и дает &cбонус&r к сроку хранения.\n&dЧан&r: Производит некоторые рецепты кипячения оптом! Особенно полезен для создания &eЛатекса&r и &aВаренья.&r\n&dРазливочная станция&r: Должна быть размещена рядом с &bЧаном&r, наполняет банки &aВареньем.&r\n&dГоршок&r: если вам нужно приготовить супы.", @@ -4623,7 +4714,7 @@ "quests.tfg_tips.cook_meat.task.2": "Гриль из кованого железа или Верхняя часть печи", "quests.tfg_tips.get_veggie.title": "Консервация овощей", "quests.tfg_tips.get_veggie.subtitle": "Они полезны для тебя", - "quests.tfg_tips.get_veggie.desc": "&&aОвощи&r в основном встречаются в дикой природе или выращиваются на фермах. Их можно только &bзамариновать.&r", + "quests.tfg_tips.get_veggie.desc": "&aОвощи&r в основном встречаются в дикой природе или выращиваются на фермах. Их можно только &bзамариновать.&r", "quests.tfg_tips.get_fruit.title": "Консервация фруктов", "quests.tfg_tips.get_fruit.subtitle": "Вкусняшка!", "quests.tfg_tips.get_fruit.desc": "&aФрукты&r в основном встречаются в дикой природе: их можно собрать с &bдеревьев, кустов&r, а также при разрезании &bарбузов&r и &bтыкв.&r В отличие от овощей, фрукты имеют уникальный способ консервации — &dсушку&r, вдобавок к &bмаринованию.&r\n&cСушеные фрукты необходимы&r для создания ваших первых &dДрожжей.&r", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index eaa8d2a69..5ad3d0e91 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1226,6 +1226,14 @@ "material.tfg.venus_stone": "粗面岩", "material.tfg.mercury_stone": "科马提岩", "material.tfg.glacio_stone": "响岩", + "material.tfg.sedimentary_clastic": "碎屑沉积岩", + "material.tfg.sedimentary_carbonate": "碳酸盐沉积岩", + "material.tfg.sedimentary_organic": "有机沉积岩", + "material.tfg.metamorphic": "变质岩", + "material.tfg.igneous_ultramafic": "超基性火成岩", + "material.tfg.igneous_mafic": "基性火成岩", + "material.tfg.igneous_intermediate": "中性火成岩", + "material.tfg.igneous_felsic": "长英质火成岩", "material.gtceu.thermochemically_treated_hardwood": "热化学处理硬木", "material.gtceu.hardwood": "硬木", "material.gtceu.asurine": "皓蓝石", @@ -1609,7 +1617,7 @@ "trim_material.tfc.pyrite_tfc": "黄铁矿", "trim_material.tfc.redx_tfc": "红色X", "tfg.emi.ore_veins.rock_types": "存在于岩石类型:", - "tfg.emi.ore_veins.rarity": "稀有度:1/%d", + "tfg.emi.ore_veins.rarity": "稀有度:1/%d 区块", "tfg.emi.ore_veins.density": "密度:%d", "tfg.emi.ore_veins.y_ranges": "Y轴高度:%d 至 %d", "tfg.emi.ore_veins.size": "尺寸:%d", @@ -2962,7 +2970,7 @@ "quests.low_voltage.cover_behaviour.title": "覆盖板行为", "quests.low_voltage.cover_behaviour.subtitle": "不占方块空间的额外功能!", "quests.low_voltage.cover_behaviour.desc.1": "安装覆盖板时手持覆盖板右键点击机器对应面即可,使用&5撬棍&r可将其卸下(直接破坏机器也能卸除,但效率低下)。\n\n绝大多数格雷科技的方块实体均可安装覆盖板,即使某些安装面并不具备实际功能。\n\n开启覆盖板界面需&5空手&r潜行右键点击,也可使用&5螺丝刀&r直接右键操作,或通过机器GUI中对应面的网格栏位进行潜行右键设置。", - "quests.low_voltage.cover_behaviour.desc.2": "对于具有物品/流体传输功能的覆盖板,可通过对应按钮控制其他传输形式的启用状态:\n\n&9-&r 禁用:仅允许通过该覆盖板进行传输\n\n&9-&r 过滤(需配置过滤卡!):仅当匹配过滤卡时才启用其他传输方式\n\n&9-&r 无过滤:该机器面上的所有其他传输形式均被允许\n\n在机器上安装低压等级的覆盖板是&9安全&r的。", + "quests.low_voltage.cover_behaviour.desc.2": "对于具有物品/流体传输功能的覆盖板,可通过对应按钮控制其他传输形式的启用状态:\n\n&9-&r禁用:仅允许通过该覆盖板进行传输\n\n&9-&r过滤(需配置过滤卡!):仅当匹配过滤卡时才启用其他传输方式\n\n&9-&r无过滤:该机器面上的所有其他传输形式均被允许\n\n在机器上安装低压等级的覆盖板是&9安全&r的。", "quests.low_voltage.cover_behaviour.task": "我现在是覆盖板专家了,别担心。", "quests.low_voltage.lv_canner.title": "基础罐装机", "quests.low_voltage.lv_canner.subtitle": "这台机器没什么特别功能", From 5df4fcfcc6c42b3128854ba7bcc3986caeaa76db Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 11 Jan 2026 16:36:47 +0000 Subject: [PATCH 073/474] update cl --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dc97a3668..bb238cc79 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,7 +37,7 @@ - Fixed dry ice dropping nothing when broken (#2687) @Pyritie ### Translation updates - Chinese (simplified) @jmecn -- Russian @Petr211071 +- Russian @Petr211071 + @Nixieeunrare - Japanese @sakura-gondra ## [0.11.16] - 05-01-2026 From 17be43719625a3a826ce6af87d4c31c768e369d6 Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Sun, 11 Jan 2026 12:41:56 -0700 Subject: [PATCH 074/474] Added alloy smelter recipes for jar lids (#2705) * added alloy smelter recipes for jar lids Signed-off-by: thederpysockdude123 * remove TFC jar lid anvil recipe Signed-off-by: thederpysockdude123 * Update recipes.js Signed-off-by: thederpysockdude123 * new jar lid recipe Signed-off-by: thederpysockdude123 * recipes changed for consistency Signed-off-by: thederpysockdude123 * Update recipes.metals.js Signed-off-by: thederpysockdude123 * Update recipes.metals.js Signed-off-by: thederpysockdude123 * Update recipes.metals.js Signed-off-by: thederpysockdude123 * Update recipes.removes.js Signed-off-by: thederpysockdude123 --------- Signed-off-by: thederpysockdude123 Co-authored-by: Redeix --- kubejs/server_scripts/firmalife/recipes.js | 24 +++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 1f9352bd5..6800487da 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -56,7 +56,7 @@ const registerFirmaLifeRecipes = (event) => { // Декрафт Jag Lid event.recipes.tfc.heating('tfc:jar_lid', 230) - .resultFluid(Fluid.of('gtceu:tin', 9)) + .resultFluid(Fluid.of('gtceu:tin', 6)) .id(`tfc:heating/jar_lid`) // Pie Pan @@ -84,15 +84,24 @@ const registerFirmaLifeRecipes = (event) => { // Jar Lid event.recipes.gtceu.fluid_solidifier(`tfg:firmalife/jar_lid`) - .inputFluids(Fluid.of('gtceu:tin', 9)) + .inputFluids(Fluid.of('gtceu:tin', 6)) .notConsumable('gtceu:cylinder_casting_mold') .itemOutputs('tfc:jar_lid') .duration(50) .EUt(7) + event.recipes.gtceu.alloy_smelter('tfg:firmalife/jar_lid') + .itemInputs('1x #forge:ingots/tin') + .notConsumable('gtceu:cylinder_casting_mold') + .itemOutputs('24x tfc:jar_lid') + .duration(75) + .category(GTRecipeCategories.INGOT_MOLDING) + .EUt(4) + .addMaterialInfo(true) + event.recipes.gtceu.extractor('tfc:jar_lid_extraction') .itemInputs('tfc:jar_lid') - .outputFluids(Fluid.of('gtceu:tin', 9)) + .outputFluids(Fluid.of('gtceu:tin', 6)) .duration(50) .category(GTRecipeCategories.EXTRACTOR_RECYCLING) .EUt(2) @@ -103,6 +112,15 @@ const registerFirmaLifeRecipes = (event) => { .itemOutputs('firmalife:stainless_steel_jar_lid') .duration(50) .EUt(7) + + event.recipes.gtceu.alloy_smelter('tfg:firmalife/stainless_steel_jar_lid') + .itemInputs('1x #forge:ingots/stainless_steel') + .notConsumable('gtceu:cylinder_casting_mold') + .itemOutputs('48x firmalife:stainless_steel_jar_lid') + .duration(75) + .category(GTRecipeCategories.INGOT_MOLDING) + .EUt(4) + .addMaterialInfo(true) event.recipes.gtceu.extractor('firmalife:stainless_steel_jar_extraction') .itemInputs('firmalife:stainless_steel_jar_lid') From 563bf2306a5d979949f744b92520d71139db0d72 Mon Sep 17 00:00:00 2001 From: Inceitious <124896643+Inceitious@users.noreply.github.com> Date: Mon, 12 Jan 2026 03:46:10 +0800 Subject: [PATCH 075/474] Incorrect tiering for extractor for Bis and Black Bronze (#2684) * Incorrect tiering for extractor for Bis and Black Bronze Bismuth Bronze and Black Bronze wrong tiering in extractor Added some documentation * Update recipes.materials.js * Updated * Updated * Unified tiering * Revert "Unified tiering" This reverts commit ea9e00d2bca8f70c2f95bb1362766edcc9e29498. --------- Co-authored-by: Redeix --- .../gregtech/recipes.materials.js | 97 +++++++++++-------- 1 file changed, 56 insertions(+), 41 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.materials.js b/kubejs/server_scripts/gregtech/recipes.materials.js index ea95f9635..c82eee714 100644 --- a/kubejs/server_scripts/gregtech/recipes.materials.js +++ b/kubejs/server_scripts/gregtech/recipes.materials.js @@ -6,6 +6,12 @@ */ function registerGTCEUMetalRecipes(event) { + function getExtractorEUt(material) { + return (material.hasProperty(PropertyKey.BLAST) && material !== GTMaterials.BismuthBronze && material !== GTMaterials.BlackBronze + ? GTValues.VA[GTValues.MV] + : GTValues.VA[GTValues.LV]); + } + /** * @param {GTToolType} toolType * @param {String} tagPrefixName @@ -114,13 +120,13 @@ function registerGTCEUMetalRecipes(event) { .duration(material.getMass() * 6 * materialAmount) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.extractor(`gtceu:extract_${material.getName()}_${tagPrefixName}`) - .itemInputs(toolHeadItem) - .outputFluids(Fluid.of(material.getFluid(), materialAmount * 144)) - .duration(material.getMass() * 6 * materialAmount) - .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(material.hasProperty(PropertyKey.BLAST) ? GTValues.VA[GTValues.MV] : GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.extractor(`gtceu:extract_${material.getName()}_${tagPrefixName}`) + .itemInputs(toolHeadItem) + .outputFluids(Fluid.of(material.getFluid(), materialAmount * 144)) + .duration(material.getMass() * 6 * materialAmount) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + .EUt(getExtractorEUt(material)) } } else if (material.hasProperty(PropertyKey.GEM)) { @@ -271,6 +277,7 @@ function registerGTCEUMetalRecipes(event) { event.remove({ id: `gtceu:compressor/compress_${material.getName()}_to_block` }) } + //Foils /** * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material */ @@ -289,6 +296,7 @@ function registerGTCEUMetalRecipes(event) { } } + //Rods /** * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material */ @@ -311,6 +319,7 @@ function registerGTCEUMetalRecipes(event) { } } + //Double Ingots /** * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material */ @@ -321,12 +330,13 @@ function registerGTCEUMetalRecipes(event) { const doubleIngotStack = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1); if (material.hasProperty(PropertyKey.FLUID)) { + event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_double_ingot`) .itemInputs(doubleIngotStack) .outputFluids(Fluid.of(material.getFluid(), 288)) .duration(material.getMass()) .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(material.hasProperty(PropertyKey.BLAST) ? GTValues.VA[GTValues.MV] : GTValues.VA[GTValues.ULV]) + .EUt(getExtractorEUt(material)) } if (material.hasProperty(PropertyKey.DUST)) { @@ -812,6 +822,7 @@ function registerGTCEUMetalRecipes(event) { .id(`tfg:quern/${material.getName()}_gem_to_dust`) } + //Anvils /** * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material */ @@ -824,21 +835,21 @@ function registerGTCEUMetalRecipes(event) { .itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 14)) .duration(material.getMass() * 32) .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) + .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_anvil`) .itemInputs(anvilStack) .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, 14)) .duration(material.getMass() * 32) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_anvil`) .itemInputs(anvilStack) .outputFluids(Fluid.of(material.getFluid(), 14 * 144)) .duration(material.getMass() * 32) .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(material.hasProperty(PropertyKey.BLAST) ? GTValues.VA[GTValues.MV] : GTValues.VA[GTValues.ULV]) + .EUt(getExtractorEUt(material)) event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_anvil`) .itemInputs(ChemicalHelper.get(TagPrefix.ingot, material, 14)) @@ -853,9 +864,10 @@ function registerGTCEUMetalRecipes(event) { .notConsumable('gtceu:anvil_casting_mold') .itemOutputs(anvilStack) .duration(material.getMass() * 32) - .EUt(GTValues.VA[GTValues.ULV]) + .EUt(GTValues.VA[GTValues.LV]) } + //Unfinished Lamps /** * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material */ @@ -873,21 +885,21 @@ function registerGTCEUMetalRecipes(event) { .itemOutputs([materialDustStack, glassDustStack]) .duration(material.getMass() * 8) .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) + .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_lamp`) .itemInputs(finishedLampStack) .itemOutputs([materialIngotStack, glassDustStack]) .duration(material.getMass() * 8) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.assembler(`tfg:${material.getName()}_lamp`) .itemInputs("tfc:lamp_glass", unfinishedLampStack) .itemOutputs(finishedLampStack) .duration(material.getMass() * 7) .circuit(12) - .EUt(GTValues.VA[GTValues.ULV]) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.assembler(`tfg:${material.getName()}_lamp_from_liquid`) .itemInputs(unfinishedLampStack) @@ -895,28 +907,28 @@ function registerGTCEUMetalRecipes(event) { .itemOutputs(finishedLampStack) .duration(material.getMass() * 7) .circuit(13) - .EUt(GTValues.VA[GTValues.ULV]) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_unfinished_lamp`) .itemInputs(unfinishedLampStack) .itemOutputs(materialDustStack) .duration(material.getMass() * 8) .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) + .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_unfinished_lamp`) .itemInputs(unfinishedLampStack) .itemOutputs(materialIngotStack) .duration(material.getMass() * 8) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) + .EUt(GTValues.VA[GTValues.LV]) - event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_unfinished_lamp`) - .itemInputs(unfinishedLampStack) - .outputFluids(Fluid.of(material.getFluid(), 144)) - .duration(material.getMass() * 8) - .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(material.hasProperty(PropertyKey.BLAST) ? GTValues.VA[GTValues.MV] : GTValues.VA[GTValues.ULV]) + event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_unfinished_lamp`) + .itemInputs(unfinishedLampStack) + .outputFluids(Fluid.of(material.getFluid(), 144)) + .duration(material.getMass() * 8) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + .EUt(getExtractorEUt(material)) event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_unfinished_lamp`) .itemInputs(materialIngotStack) @@ -931,7 +943,7 @@ function registerGTCEUMetalRecipes(event) { .notConsumable('tfg:lamp_casting_mold') .itemOutputs(unfinishedLampStack) .duration(material.getMass() * 8) - .EUt(GTValues.VA[GTValues.ULV]) + .EUt(GTValues.VA[GTValues.LV]) } /** @@ -949,21 +961,22 @@ function registerGTCEUMetalRecipes(event) { .itemOutputs(materialDustStack) .duration(material.getMass() * 7) .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) + .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_trapdoor`) .itemInputs(trapdoorStack) .itemOutputs(materialIngotStack) .duration(material.getMass() * 7) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_trapdoor`) .itemInputs(trapdoorStack) .outputFluids(Fluid.of(material.getFluid(), 144)) .duration(material.getMass() * 7) .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(material.hasProperty(PropertyKey.BLAST) ? GTValues.VA[GTValues.MV] : GTValues.VA[GTValues.ULV]) + .EUt(getExtractorEUt(material)) + event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_trapdoor`) .itemInputs(materialIngotStack) @@ -978,7 +991,7 @@ function registerGTCEUMetalRecipes(event) { .notConsumable('tfg:trapdoor_casting_mold') .itemOutputs(trapdoorStack) .duration(material.getMass() * 7) - .EUt(GTValues.VA[GTValues.ULV]) + .EUt(GTValues.VA[GTValues.LV]) } /** @@ -999,21 +1012,21 @@ function registerGTCEUMetalRecipes(event) { .itemOutputs(materialDustTinyStack) .duration(material.getMass() * 3) .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) + .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_chain`) .itemInputs(chain2Stack) .itemOutputs(materialNuggetStack) .duration(material.getMass() * 3) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_chain`) .itemInputs(chainStack) .outputFluids(Fluid.of(material.getFluid(), 9)) .duration(material.getMass() * 3) .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(material.hasProperty(PropertyKey.BLAST) ? GTValues.VA[GTValues.MV] : GTValues.VA[GTValues.ULV]) + .EUt(getExtractorEUt(material)) event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_chain`) .itemInputs(materialIngotStack) @@ -1028,9 +1041,10 @@ function registerGTCEUMetalRecipes(event) { .notConsumable('tfg:chain_casting_mold') .itemOutputs(chainStack) .duration(material.getMass() * 3) - .EUt(GTValues.VA[GTValues.ULV]) + .EUt(GTValues.VA[GTValues.LV]) } + //Bell /** * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material */ @@ -1046,21 +1060,21 @@ function registerGTCEUMetalRecipes(event) { .itemOutputs(materialDustStack) .duration(material.getMass() * 5) .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) + .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_bell`) .itemInputs(bellStack) .itemOutputs(materialIngotStack) .duration(material.getMass() * 5) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_bell`) .itemInputs(bellStack) .outputFluids(Fluid.of(material.getFluid(), 144)) .duration(material.getMass() * 5) .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_bell`) .itemInputs(materialIngotStack) @@ -1075,9 +1089,10 @@ function registerGTCEUMetalRecipes(event) { .notConsumable('tfg:bell_casting_mold') .itemOutputs(bellStack) .duration(material.getMass() * 5) - .EUt(GTValues.VA[GTValues.ULV]) + .EUt(GTValues.VA[GTValues.LV]) } + //Buzzsaws /** * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material */ @@ -1116,16 +1131,16 @@ function registerGTCEUMetalRecipes(event) { .duration(material.getMass() * 6 * 2) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) .EUt(GTValues.VA[GTValues.LV]) - + event.remove({ id: `gtceu:extractor/extract_${material.getName()}_buzz_saw_blade` }) event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_buzz_saw_blade`) .itemInputs(buzzsawBladeItem) .outputFluids(Fluid.of(material.getFluid(), 2 * 144)) .duration(material.getMass() * 6 * 2) .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(material.hasProperty(PropertyKey.BLAST) ? GTValues.VA[GTValues.MV] : GTValues.VA[GTValues.ULV]) - - event.remove({ id: `gtceu:shaped/buzzsaw_blade_${material.getName()}` }) + .EUt(getExtractorEUt(material)) + + event.remove({ id: `gtceu:shaped/buzzsaw_blade_${material.getName()}` }) } /** From 882c477037a402fba100f2a972e902620f2caab8 Mon Sep 17 00:00:00 2001 From: Inceitious <124896643+Inceitious@users.noreply.github.com> Date: Mon, 12 Jan 2026 03:48:11 +0800 Subject: [PATCH 076/474] Feature/drinkable (#2708) * Drinkable ice slush * Update thirst value * Added quests * Edited some text * a --------- Co-authored-by: Redeix --- .../field_guide/en_us/entries/beneath/cooling.json | 8 +++++++- .../field_guide/en_us/entries/mechanics/drinks.json | 12 +++++++++--- kubejs/assets/tfg/lang/en_us.json | 2 +- kubejs/assets/tfg/lang/zh_cn.json | 2 +- kubejs/data/gtceu/tfc/drinkables/ice_slush.json | 11 +++++++++++ kubejs/server_scripts/tfg/tags.js | 3 +++ 6 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 kubejs/data/gtceu/tfc/drinkables/ice_slush.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/cooling.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/cooling.json index 1cfa7acda..4d36255dd 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/cooling.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/cooling.json @@ -5,7 +5,7 @@ "pages": [ { "type": "patchouli:text", - "text": "The Beneath is hot! The temperature starts at 15C at the very top, and only gets hotter as you descend.$(br2)$(item)Burlap$() and $(item)Silk$() clothing will help, but here are some other ways to stay cool!" + "text": "The Beneath is hot! The temperature starts at 15°C at the very top, and only gets hotter as you descend.$(br2)$(item)Burlap$() and $(item)Silk$() clothing will help, but here are some other ways to stay cool!" }, { "type": "patchouli:spotlight", @@ -19,6 +19,12 @@ "item": "minecraft:packed_ice", "text": "Bring along some $(thing)Ice$()! Standing near it will lower the ambient temperature. Ice can be harvested on the surface using a $(item)Saw$(), and $(thing)Packed$() and $(thing)Blue$() ice won't melt." }, + { + "type": "patchouli:spotlight", + "item": "gtceu:ice_bucket", + "title": "Liquid Ice Slush", + "text": "Ahhhh, so refreshing! Cools you down by 4°C." + }, { "type": "patchouli:spotlight", "title": "Blue Steel Equipment", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json index 068854311..38c1e6cb9 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json @@ -37,7 +37,7 @@ { "type": "patchouli:spotlight", "title": "Teas", - "text": "$(thing)Teas$() can be brewed using dried versions of certain plants.$(br2)They provide short but useful buffs and warm your body temperature by 4 degrees. Perfect for winters!", + "text": "$(thing)Teas$() can be brewed using dried versions of certain plants.$(br2)They provide short but useful buffs and warm your body temperature by 4°C. Perfect for winters!", "item": "tfc_gurman:tea_mint_bucket,tfc_gurman:tea_chamomile_bucket,tfc_gurman:tea_rosehip_bucket,tfc_gurman:tea_nettle_bucket" }, { @@ -52,7 +52,7 @@ }, { "type": "patchouli:text", - "text": "$(li)Cocoa: Haste (0:30), warms you by 4 degrees$(li)Coffee: Speed (0:30), warms you by 4 degrees$(li)Lemonade: Haste (0:30), cools you by 2 degrees$(li)Nalivka: Strength (2:40), cools you by 2 degrees$(li)Kvass: Strength (1:20), cools you by 2 degrees$(li)Compote: Jump Boost II (0:30)" + "text": "$(li)Cocoa: Haste (0:30), warms you up by 4°C$(li)Coffee: Speed (0:30), warms you up by 4°C$(li)Lemonade: Haste (0:30), cools you down by 2°C$(li)Nalivka: Strength (2:40), cools you down by 2°C$(li)Kvass: Strength (1:20), cools you down by 2°C$(li)Compote: Jump Boost II (0:30)" }, { "type": "patchouli:spotlight", @@ -62,7 +62,7 @@ }, { "title": "Spring Water", - "text": "Drinking $(thing)Spring Water$() warms you up by 4 degrees and applies a small regeneration effect while standing in it, as well as warming you.", + "text": "Drinking $(thing)Spring Water$() warms you up by 4°C and applies a small regeneration effect while standing in it, as well as warming you.", "item": "tfc:bucket/spring_water", "type": "patchouli:spotlight" }, @@ -71,6 +71,12 @@ "text": "Drinking $(thing)Sea Water$() does not hydrate you and will make you more thirsty instead. A hot body temperature can also make you more thirsty. Lost at sea? Look upwards when it's raining for some easy hydration!", "type": "patchouli:spotlight", "item": "tfc:bucket/salt_water" + }, + { + "title": "Liquid Ice Slush", + "text": "Drinking $(thing)Ice Slush$() cools you down by 4°C, perfect for summer! Also handy for traversing the beneath.", + "type": "patchouli:spotlight", + "item": "gtceu:ice_bucket" } ] } diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 5e7cce12d..2d1e903d3 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -4843,7 +4843,7 @@ "quests.tfg_tips.beneath_prep.desc": "&4The Beneath&r is a very hostile environment. Due to it being very deep underground, the average temperature is always &cabove 15°C&r, going higher the deeper you go. This is not to mention the amount of hostile creatures crawling these caves.\nThe quests linked with this one provide some basic preparations for your adventure.", "quests.tfg_tips.beneath_temp_management.title": "Temperature Management: Active", "quests.tfg_tips.beneath_temp_management.subtitle": "Things to cool off quickly", - "quests.tfg_tips.beneath_temp_management.desc": "In &4The Beneath&r, with the temperature being relatively high, you should bring some &aWater&r to cool off on demand, or some &bPacked Ice&r mined from polar regions if you plan to make a temporary base.", + "quests.tfg_tips.beneath_temp_management.desc": "In &4The Beneath&r, with the temperature being relatively high, you should bring some &aWater&r or &aLiquid Ice Slush&r to cool off on demand, or some &bPacked Ice&r mined from polar regions if you plan to make a temporary base.", "quests.tfg_tips.beneath_clothes.title": "Temperature Management: Passive", "quests.tfg_tips.beneath_clothes.subtitle": "Things to passively cool off", "quests.tfg_tips.beneath_clothes.desc": "&bClothes&r also play an important role in cooling off. The easiest to craft before going to &4The Beneath&r are &dBurlap Clothes.&r\n\n&dSilk Clothes&r require &aString&r, which can be found in large quantities inside the beneath biome called the &cWebbed Lair.&r\n\nThere is a better alternative if you have access to &9Blue Steel&r however...", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 5ad3d0e91..2c9b63075 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -4928,7 +4928,7 @@ "quests.tfg_tips.beneath_prep.desc": "&4幽冥之地&r是一片危机四伏的凶险之地。由于地处极深的地下,这里的环境温度始终&c高于15°C&r,并且会随着深入而不断攀升。更不用说还有大量敌对生物在这些洞窟中潜伏爬行。\n与此关联的任务将为你此次探险提供一些基础准备。", "quests.tfg_tips.beneath_temp_management.title": "体温管理:主动", "quests.tfg_tips.beneath_temp_management.subtitle": "快速降温之物", - "quests.tfg_tips.beneath_temp_management.desc": "在&4幽冥之地&r,由于环境温度较高,你应当随身携带一些&a水&r以便随时降温。若计划建立临时基地,最好也准备一些从极地区域开采的&b浮冰&r。", + "quests.tfg_tips.beneath_temp_management.desc": "在&4幽冥之地&r,由于环境温度较高,你应当随身携带一些&a水&r或者&a冰泥%r以便随时降温。若计划建立临时基地,最好也准备一些从极地区域开采的&b浮冰&r。", "quests.tfg_tips.beneath_clothes.title": "体温管理:被动", "quests.tfg_tips.beneath_clothes.subtitle": "被动降温之物", "quests.tfg_tips.beneath_clothes.desc": "&b衣物&r在降温方面同样扮演着重要角色。在前往&4幽冥之地&r前,最容易制作的当属&d粗麻布衣物&r。\n\n&d丝绸衣物&r需要&a线&r,你可以在幽冥之地的&c蛛网巢穴&r生物群系中找到大量这种材料。\n\n不过,如果你能获取&9蓝钢&r,还将有更好的选择……", diff --git a/kubejs/data/gtceu/tfc/drinkables/ice_slush.json b/kubejs/data/gtceu/tfc/drinkables/ice_slush.json new file mode 100644 index 000000000..1f05cb9c9 --- /dev/null +++ b/kubejs/data/gtceu/tfc/drinkables/ice_slush.json @@ -0,0 +1,11 @@ +{ + "ingredient": "gtceu:ice", + "thirst": 10, + "effects": [ + { + "type": "tfg:cooling", + "duration": 20, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index c083d0293..b6d93a48f 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -181,6 +181,9 @@ const registerTFGFluidTags = (event) => { event.add('tfc:any_drinkables', 'gtceu:ethanol') event.add('tfc:drinkables', 'gtceu:methanol') event.add('tfc:any_drinkables', 'gtceu:methanol') + + event.add('tfc:drinkables', 'gtceu:ice') + event.add('tfc:any_drinkables', 'gtceu:ice') global.BREATHABLE_COMPRESSED_AIRS.forEach(x => { event.add('tfg:breathable_compressed_air', x) From 9fb45e2e0cf19e88554972aa73d43873f005b06e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 12 Jan 2026 01:04:03 +0000 Subject: [PATCH 077/474] changelog, fix invar crucible alloying, add tooltip to ice slush --- CHANGELOG.md | 11 +++++++++-- kubejs/client_scripts/tooltips.js | 7 +++++-- kubejs/server_scripts/tfc/recipes.metals.js | 4 ++-- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bb238cc79..d0a2456cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ ### Changes - Added tree index field guide entries for Earth and Mars (#2638) @Jeuvke - Added drinkable effects field guide entry (#2676) @FlightingFalcon +- Ice slush is now drinkable, for a cooling effect (#2708) @Inceitious - The crucible now holds 4608mB (32 ingots) instead of 4032mB (28 ingots) (#2634) @Pyritie - Large gears can now be crafted in an anvil/mechanical press @Pyritie - Added recipe to make tubes from volcanic glass batches (#2667) @Redeix @@ -20,12 +21,14 @@ - The sandworm no longer spawns in the Superflat preset that's a big vanilla desert biome - You can now also use mars water in gregtech and create boilers @Pyritie - Changed the texture of out-of-season blood lilies so they're findable year-round @Pyritie -- Fixed the TFC blast furnace on mars but for real this time @Pyritie -### Bug fixes +- Added alloy smelter recipes for jar lids (#2705) @thederpysockdude123 +### Performance improvements - Fixed the huge amount of lag from looking at lots of interconnected trees @Mqrius - Fixed tree chopping also stripping nearby trees of all their leaves (note that this will only also apply to newly generated mars trees, old trees will have the old behaviour) @Mqrius - Fixed tree chopping not working on trees that had no leaves @Mqrius - Fixed tree chopping working on player-placed logs (yes, this means you can't place logs to chop down many trees at once any more) @Mqrius +- Fixed a huge amount of lag from TFC Ambiental @Mqrius +### Bug fixes - Fixed not being able to craft Paracetamol or Rad-Away @Pyritie - Fixed the missing dried fruit to yeast starter recipe (#2673) @Mqrius - Water wheels now spin the correct direction in rivers (#2450) @zehmaria @@ -35,6 +38,10 @@ - Fixed some inconsistent recipes with coal in coke ovens, and removed a duplicate recipe (#2688) @jurjen909 - Fixed the rendering of two-block tall crops in the electric greenhouse @Pyritie - Fixed dry ice dropping nothing when broken (#2687) @Pyritie +- Fixed the TFC blast furnace on mars but for real this time @Pyritie +- Fixed bismuth bronze and black bronze extractor recipes being tiered at MV (#2684) @Inceitious +- Fixed fridge tooltip power usage (#2689) @Karo4a +- Fixed invar crucible alloying using the wrong amounts of iron and nickel @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 638d976a6..b90234b2e 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -428,10 +428,13 @@ const registerTooltips = (event) => { }) 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()); + text.add(2, 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()); + text.add(2, Text.translate("effect.minecraft.wither").append(Text.of(" II (01:00)")).red()); + }) + event.addAdvanced(['gtceu:ice_bucket'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.cooling_foods')); }) } diff --git a/kubejs/server_scripts/tfc/recipes.metals.js b/kubejs/server_scripts/tfc/recipes.metals.js index 82358d538..7b75b628f 100644 --- a/kubejs/server_scripts/tfc/recipes.metals.js +++ b/kubejs/server_scripts/tfc/recipes.metals.js @@ -30,8 +30,8 @@ function registerTFCMetalsRecipes(event) { ]).id('tfg:alloy/tin_alloy') event.recipes.tfc.alloy('tfg:invar', [ - TFC.alloyPart('tfc:nickel', 0.60, 0.70), - TFC.alloyPart('tfc:cast_iron', 0.30, 0.40) + TFC.alloyPart('tfc:nickel', 0.30, 0.40), + TFC.alloyPart('tfc:cast_iron', 0.60, 0.70) ]).id('tfg:alloy/invar') event.recipes.tfc.alloy('tfg:potin', [ From 96b0e79aff0506d968084a5983f53b6c65582f8f Mon Sep 17 00:00:00 2001 From: Inceitious <124896643+Inceitious@users.noreply.github.com> Date: Mon, 12 Jan 2026 12:01:08 +0800 Subject: [PATCH 078/474] Feature/tfc tools integration (#2716) * Bugfix/Scraping Knives Code should be more robust now * Recycling --------- Co-authored-by: Redeix --- kubejs/server_scripts/main_server_script.js | 1 - .../server_scripts/tfc/recipes.materials.js | 68 +++++++++++++++++++ kubejs/server_scripts/tfcscraping/recipes.js | 16 ----- 3 files changed, 68 insertions(+), 17 deletions(-) diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 72e9e2bd8..53b1a03ba 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -266,7 +266,6 @@ ServerEvents.recipes(event => { registerTFCAmbientalRecipes(event) registerTFCBetterBFRecipes(event) registerTFCLunchBoxRecipes(event) - registerTFCScrapingRecipes(event) registerTFCGroomingStationRecipes(event) registerTFCGurmanRecipes(event) registerTFGRecipes(event) diff --git a/kubejs/server_scripts/tfc/recipes.materials.js b/kubejs/server_scripts/tfc/recipes.materials.js index 013f35221..ca01ca3d1 100644 --- a/kubejs/server_scripts/tfc/recipes.materials.js +++ b/kubejs/server_scripts/tfc/recipes.materials.js @@ -1,6 +1,12 @@ // priority: 0 "use strict"; +function getExtractorEUt(material) { + return (material.hasProperty(PropertyKey.BLAST) && material !== GTMaterials.BismuthBronze && material !== GTMaterials.BlackBronze + ? GTValues.VA[GTValues.MV] + : GTValues.VA[GTValues.LV]); + } + function registerTFCMaterialsRecipes(event) { forEachMaterial(material => { @@ -1271,6 +1277,56 @@ function registerTFCMaterialsRecipes(event) { } } //#endregion + + //#region Scraping Knife + if (!material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) { + + // Anvil + event.remove({ output: `tfcscraping:metal/scraping_knife_blade/${material.getName()}`, type: 'tfc:anvil'}); + event.recipes.tfc.anvil(`tfcscraping:metal/scraping_knife_blade/${material.getName()}`, `#forge:double_ingots/${material.getName()}`,['hit_last','draw_not_last', 'draw_second_last']) + .bonus(true) + + // Melting tool + event.remove({input: `tfcscraping:metal/scraping_knife/${material.getName()}`, type: 'tfc:heating'}); + event.recipes.tfc.heating(`tfcscraping:metal/scraping_knife/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfg:heating/scraping_knife/${material.getName()}`) + + // Melting tool head + event.remove({input: `tfcscraping:metal/scraping_knife_blade/${material.getName()}`, type: 'tfc:heating'}); + event.recipes.tfc.heating(`tfcscraping:metal/scraping_knife_blade/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfg:heating/scraping_knife_blade/${material.getName()}`) + + // Crafting tool + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + event.remove({ input: 'tfcscraping:ceramic/scraping_knife_blade_mold'}) + event.recipes.tfc.casting(`tfcscraping:metal/scraping_knife_blade/${material.getName()}`, 'tfcscraping:ceramic/scraping_knife_blade_mold', Fluid.of(outputMaterial.getFluid(), 288), 1) + .id(`tfc:casting/scraping_knife_blade/${material.getName()}`) + + event.recipes.create.filling( + Item.of('tfcscraping:ceramic/scraping_knife_blade_mold', getFillingNBT(outputMaterial, 288)),[ + Fluid.of(outputMaterial.getFluid(), 288), + Item.of('tfcscraping:ceramic/scraping_knife_blade_mold').strongNBT() + ]) + .id(`tfg:tfc/filling/${material.getName()}_scraping_knife_blade_mold`) + } + + //Recycling + let doubleMap = {}; + doubleMap[material.getName()] = 2; + TFGHelpers.registerMaterialInfo(`tfcscraping:metal/scraping_knife_blade/${material.getName()}`, doubleMap) + + event.recipes.gtceu.extractor(`tfg:extract/scraping_knife_blade/${material.getName()}`) + .itemInputs(`tfcscraping:metal/scraping_knife_blade/${material.getName()}`) + .outputFluids(Fluid.of(material.getFluid(), 288)) + .duration(material.getMass() * 6) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + .EUt(getExtractorEUt(material)) + + } + //#endregion } } @@ -1388,6 +1444,18 @@ function registerTFCMaterialsRecipes(event) { .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) .useDurability(true) .id(`tfchotornot:heating/tongs/${material.getName()}`) + + //recycling + let Map = {}; + Map[material.getName()] = 1; + TFGHelpers.registerMaterialInfo(`tfchotornot:tong_part/${material.getName()}`, Map) + + event.recipes.gtceu.extractor(`tfg:extract/${tongPartStack}`) + .itemInputs(tongPartStack) + .outputFluids(Fluid.of(material.getFluid(), 144)) + .duration(material.getMass() * 6) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + .EUt(getExtractorEUt(material)) } //#endregion diff --git a/kubejs/server_scripts/tfcscraping/recipes.js b/kubejs/server_scripts/tfcscraping/recipes.js index 23d6ee49f..e69de29bb 100644 --- a/kubejs/server_scripts/tfcscraping/recipes.js +++ b/kubejs/server_scripts/tfcscraping/recipes.js @@ -1,16 +0,0 @@ -// 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 05cc0a8a59e036408b32eb5e7eb9ae6c4ce99b44 Mon Sep 17 00:00:00 2001 From: Yan <115050813@qq.com> Date: Mon, 12 Jan 2026 17:09:26 +0800 Subject: [PATCH 079/474] feat: update zh_cn translation for new drinkings (#2721) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 闫茂源 --- .../zh_cn/entries/beneath/cooling.json | 6 ++ .../zh_cn/entries/mechanics/drinks.json | 82 +++++++++++++++++++ .../zh_cn/entries/tfg_ores/hazards.json | 18 ---- 3 files changed, 88 insertions(+), 18 deletions(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/drinks.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/cooling.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/cooling.json index 119603107..2e64e0e78 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/cooling.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/cooling.json @@ -19,6 +19,12 @@ "item": "minecraft:packed_ice", "text": "带上一些 $(thing)冰$()!站在附近可以降低周围温度。冰可以通过 $(item)锯子$() 从地表采集,$(thing)浮冰$()和$(thing)蓝冰$()不会融化。" }, + { + "type": "patchouli:spotlight", + "item": "gtceu:ice_bucket", + "title": "液态冰泥", + "text": "啊——真是清爽!能让你降温4°C。" + }, { "type": "patchouli:spotlight", "title": "蓝钢装备", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/drinks.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/drinks.json new file mode 100644 index 000000000..068ad70b4 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/drinks.json @@ -0,0 +1,82 @@ +{ + "name": "饮品效果", + "icon": "firmalife:olivine_wine_bottle", + "category": "tfc:mechanics", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "在群峦传说的世界里并不存在药水和魔法,但这里有许多其他饮品可以提供类似的效果!$(br2)本条目列出了所有不同的效果,并且作为额外的好处,它们都能让你保持水分。" + }, + { + "type": "patchouli:spotlight", + "title": "饮用容器", + "text": "你可以使用$(l:getting_started/pottery#jug)陶罐$()、$(l:waterflasks/recipes)水壶$()或$(l:mechanics/glassworking_applications#glass_bottle)玻璃瓶$()来饮用。陶罐只能装一次饮用量且易碎。玻璃瓶可以装几次,但也有破损的风险。水壶能装更多,并且会缓慢消耗耐久,而$(item)红钢水袋$()可以容纳20次饮用量且永不损坏。", + "item": "tfc:ceramic/jug,tfc:silica_glass_bottle,tfc:olivine_glass_bottle,tfc:hematitic_glass_bottle,tfc:volcanic_glass_bottle,waterflasks:leather_flask,waterflasks:iron_flask,waterflasks:red_steel_flask" + }, + { + "type": "patchouli:spotlight", + "title": "陈酿酒", + "text": "$(thing)陈酿酒$()是通过陈化普通酒制成的,而普通酒本身是将各种水果、面粉或其他原料与水一起放在木桶中制成的。作为额外效果,它们会影响你在聊天中的发言!", + "item": "tfcagedalcohol:bucket/aged_beer,tfcagedalcohol:bucket/aged_cider,tfcagedalcohol:bucket/aged_rum,tfcagedalcohol:bucket/aged_sake,tfcagedalcohol:bucket/aged_vodka,tfcagedalcohol:bucket/aged_whiskey,tfcagedalcohol:bucket/aged_corn_whiskey,tfcagedalcohol:bucket/aged_rye_whiskey" + }, + { + "type": "patchouli:text", + "text": "$(li)陈酿啤酒:伤害吸收 II (20:00)$(li)陈酿苹果酒:速度提升 (5:20)$(li)陈酿朗姆酒:速度提升 II (2:40)$(li)陈酿清酒:伤害抗性 (5:20)$(li)陈酿伏特加:伤害抗性 II (2:40)$(li)陈酿玉米威士忌:急迫 (5:20)$(li)陈酿黑麦威士忌:急迫 (5:20)$(li)陈酿威士忌:急迫 II (2:40)$(li)陈酿蜂蜜酒:生命恢复 (5:20)" + }, + { + "type": "patchouli:text", + "title": "葡萄酒", + "text": "$(thing)葡萄酒$()是另一种酒精饮料,其酿造方式与其他酒类不同。这是一个复杂但回报丰厚的过程,无法用机器自动化完成。查看$(l:firmalife/wine)酿酒$()条目以了解如何制作。", + "item": "firmalife:bucket/red_wine,firmalife:bucket/white_wine,firmalife:bucket/rose_wine,firmalife:bucket/sparkling_wine,firmalife:bucket/dessert_wine" + }, + { + "type": "patchouli:text", + "text": "$(li)红葡萄酒:力量 (5:20)$(li)白葡萄酒:凋灵抗性 (5:20)$(li)桃红葡萄酒:游泳加速 (5:20)$(li)起泡酒:跳跃提升 II (5:20)$(li)甜点酒:击退抗性 (5:20)" + }, + { + "type": "patchouli:spotlight", + "title": "茶", + "text": "$(thing)茶$()可以用某些干燥的植物冲泡。$(br2)它们提供短暂但有用的增益,并使你的体温升高4°C。非常适合冬天!", + "item": "tfc_gurman:tea_mint_bucket,tfc_gurman:tea_chamomile_bucket,tfc_gurman:tea_rosehip_bucket,tfc_gurman:tea_nettle_bucket" + }, + { + "type": "patchouli:text", + "text": "$(li)薄荷茶:生命恢复 II (0:30)$(li)洋甘菊茶:伤害抗性 II (0:30)$(li)玫瑰果茶:伤害吸收 (0:30)$(li)荨麻茶:缓降 (0:30)" + }, + { + "type": "patchouli:spotlight", + "title": "特调饮品", + "text": "这是一个包含更多口味独特、效果各异的杂项饮品的类别。尽情享用吧!", + "item": "tfc_gurman:cocoa_bucket,tfc_gurman:coffee_bucket,tfc_gurman:nalivka_bucket,tfc_gurman:kvass_bucket,tfc_gurman:compote_bucket,tfc_gurman:lemonade_bucket" + }, + { + "type": "patchouli:text", + "text": "$(li)热可可:急迫 (0:30),体温升高4°C$(li)咖啡:速度提升 (0:30),体温升高4°C$(li)柠檬水:急迫 (0:30),体温降低2°C$(li)果子酒:力量 (2:40),体温降低2°C$(li)格瓦斯:力量 (1:20),体温降低2°C$(li)糖渍水果:跳跃提升 II (0:30)" + }, + { + "type": "patchouli:spotlight", + "title": "奶类", + "text": "$(thing)奶$()可以从大多数雌性家畜身上获取,只需在亲密度足够高时,用木桶或金属桶右键点击它们即可。(如果无法挤奶,请确保桶没有堆叠!)$(br)虽然它不提供任何增益,但如果在进食后饮用,可以提供乳制品营养,并且之后可以制成奶酪。", + "item": "minecraft:milk_bucket,firmalife:bucket/yak_milk,firmalife:bucket/goat_milk,tfc_gurman:ox_milk_bucket,tfc_gurman:sheep_milk_bucket,tfc_gurman:alpaca_milk_bucket" + }, + { + "title": "温泉", + "text": "饮用$(thing)温泉$()可使体温升高4°C,并产生微小的生命恢复效果。站在温泉里同样能使你感到温暖。", + "item": "tfc:bucket/spring_water", + "type": "patchouli:spotlight" + }, + { + "title": "海水", + "text": "饮用$(thing)海水$()不能补充水分,反而会让你更加口渴。体温过高也会让你更容易口渴。在海上迷路了?下雨时抬头看天,可以轻松补充水分!", + "type": "patchouli:spotlight", + "item": "tfc:bucket/salt_water" + }, + { + "title": "液态冰泥", + "text": "饮用$(thing)冰泥$()可使体温降低4°C,非常适合夏天!对于穿越幽冥之地来说也很方便。", + "type": "patchouli:spotlight", + "item": "gtceu:ice_bucket" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/hazards.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/hazards.json index b1acd8911..f70a3d199 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/hazards.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/hazards.json @@ -65,24 +65,6 @@ "item": "tfc:bucket/spring_water", "text": "站立于$(thing)温泉$()中可获得缓慢的$(thing)生命恢复$()效果。" }, - { - "type": "patchouli:spotlight", - "title": "陈酿酒", - "text": "$(thing)陈酿酒$()会提供药水增益效果,其中部分可能对你大有裨益。$(br2)你可以使用$(l:getting_started/pottery#jug)陶壶$()或$(l:waterflasks/recipes)水壶$()饮用它们。", - "item": "tfcagedalcohol:bucket/aged_beer,tfcagedalcohol:bucket/aged_cider,tfcagedalcohol:bucket/aged_rum,tfcagedalcohol:bucket/aged_sake,tfcagedalcohol:bucket/aged_vodka,tfcagedalcohol:bucket/aged_whiskey,tfcagedalcohol:bucket/aged_corn_whiskey,tfcagedalcohol:bucket/aged_rye_whiskey" - }, - { - "type": "patchouli:text", - "text": "陈酿啤酒:伤害吸收 II (20:00)$(br2)陈酿苹果酒:速度 (5:20)$(br2)陈酿朗姆酒:速度 II (2:40)$(br2)陈酿清酒:抗性提升 (5:20)$(br2)陈酿伏特加:抗性提升 II (2:40)$(br2)陈酿玉米威士忌:急迫 (5:20)$(br2)陈酿黑麦威士忌:急迫 (5:20)$(br2)陈酿威士忌:急迫 II (2:40)" - }, - { - "type": "patchouli:spotlight", - "item": { - "tag": "tfc:foods" - }, - "title": "营养均衡", - "text": "食用更高$(l:getting_started/food_and_water#nutrients)营养价值$()的优质食物可显著提升生命值上限。$(br2)$(l:mechanics/pot#soup)汤$()、$(l:mechanics/sandwiches)三明治$()与$(l:mechanics/salad)沙拉$()是绝佳选择。" - }, { "type": "patchouli:spotlight", "title": "随身床铺", From 543128e6e8c2e1a0179b3d1446f6790c9d9ccac6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 12 Jan 2026 09:59:54 +0000 Subject: [PATCH 080/474] blockrunner compat --- config/blockrunner-client.toml | 2 +- config/blockrunner.json | 18 +++++++++--------- kubejs/server_scripts/blockrunner/tags.js | 16 ++++++++++++++++ kubejs/server_scripts/main_server_script.js | 1 + 4 files changed, 27 insertions(+), 10 deletions(-) create mode 100644 kubejs/server_scripts/blockrunner/tags.js diff --git a/config/blockrunner-client.toml b/config/blockrunner-client.toml index cb8a96d4d..a57e38bbd 100644 --- a/config/blockrunner-client.toml +++ b/config/blockrunner-client.toml @@ -1,5 +1,5 @@ #Prevent running on blocks with higher speeds from changing the field of view. disable_field_of_view_changes = true #Add a tooltip to blocks that have an altered block speed with the multiplier. -block_speed_multiplier_tooltip = true +block_speed_multiplier_tooltip = false diff --git a/config/blockrunner.json b/config/blockrunner.json index 0f8a78d4c..92dfc9b34 100644 --- a/config/blockrunner.json +++ b/config/blockrunner.json @@ -1,11 +1,11 @@ { - "schema_version": "2", - "minecraft:dirt_path": 1.35, - "#blockrunner:slow_blocks": 0.65, - "#blockrunner:very_slow_blocks": 0.45, - "#blockrunner:quick_blocks": 1.35, - "#blockrunner:very_quick_blocks": 1.55, - "#blockrunner:slightly_slow_blocks": 0.85, - "#blockrunner:slightly_quick_blocks": 1.15, - "#minecraft:stone_bricks": 1.15 + "schema_version": "2", + "minecraft:dirt_path": 1, + "#blockrunner:slow_blocks": 1, + "#blockrunner:very_slow_blocks": 1, + "#blockrunner:quick_blocks": 1, + "#blockrunner:very_quick_blocks": 1, + "#blockrunner:slightly_slow_blocks": 1, + "#blockrunner:slightly_quick_blocks": 1, + "#minecraft:stone_bricks": 1 } \ No newline at end of file diff --git a/kubejs/server_scripts/blockrunner/tags.js b/kubejs/server_scripts/blockrunner/tags.js new file mode 100644 index 000000000..9ebd085a9 --- /dev/null +++ b/kubejs/server_scripts/blockrunner/tags.js @@ -0,0 +1,16 @@ +// priority: 0 +"use strict"; + +function registerBlockRunnerBlockTags(event) { + + // BlockRunner is only included as a dependency for Roads n Roofs, so things like jetpacks + // and planes don't go supersonic when just above a road. We don't actually care about + // BlockRunner's own boost effects + + event.removeAll('blockrunner:slow_blocks') + event.removeAll('blockrunner:very_slow_blocks') + event.removeAll('blockrunner:quick_blocks') + event.removeAll('blockrunner:very_quick_blocks') + event.removeAll('blockrunner:slightly_slow_blocks') + event.removeAll('blockrunner:slightly_quick_blocks') +} \ No newline at end of file diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 53b1a03ba..c60537876 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -68,6 +68,7 @@ ServerEvents.tags('block', event => { registerAFCBlockTags(event) registerAsticorCartsBlockTags(event) registerBeneathBlockTags(event) + registerBlockRunnerBlockTags(event) registerComputerCraftBlockTags(event) registerCreateBlockTags(event) registerCreateAdditionsBlockTags(event) From a27fe966a81ba24bc1a54296a4982e68803dd739 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 12 Jan 2026 13:28:47 +0000 Subject: [PATCH 081/474] langs --- kubejs/assets/arthropocolypse/lang/uk_ua.json | 45 ++++ kubejs/assets/betterend/lang/uk_ua.json | 5 +- kubejs/assets/create/lang/uk_ua.json | 2 +- .../assets/endermanoverhaul/lang/uk_ua.json | 8 +- kubejs/assets/gtceu/lang/en_us.json | 4 + kubejs/assets/gtceu/lang/uk_ua.json | 24 +- kubejs/assets/gtceu/lang/zh_cn.json | 4 + kubejs/assets/minecraft/lang/uk_ua.json | 15 +- kubejs/assets/sandworm_mod/lang/uk_ua.json | 6 + kubejs/assets/species/lang/uk_ua.json | 23 +- kubejs/assets/tfc/lang/ru_ru.json | 4 +- kubejs/assets/tfc/lang/uk_ua.json | 3 +- kubejs/assets/tfg/lang/en_us.json | 67 +++++- kubejs/assets/tfg/lang/ru_ru.json | 2 +- kubejs/assets/tfg/lang/uk_ua.json | 211 +++++++++++------- kubejs/assets/tfg/lang/zh_cn.json | 69 +++++- 16 files changed, 368 insertions(+), 124 deletions(-) create mode 100644 kubejs/assets/arthropocolypse/lang/uk_ua.json create mode 100644 kubejs/assets/sandworm_mod/lang/uk_ua.json diff --git a/kubejs/assets/arthropocolypse/lang/uk_ua.json b/kubejs/assets/arthropocolypse/lang/uk_ua.json new file mode 100644 index 000000000..87cc912b7 --- /dev/null +++ b/kubejs/assets/arthropocolypse/lang/uk_ua.json @@ -0,0 +1,45 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "entity.arthropocolypse.scarab": "Behemoth Mongolarachne Larva", + "entity.arthropocolypse.prairie_grasshopper": "Giant Cimbrophlebia Hopper", + "entity.arthropocolypse.field_cricket": "Glisachaemus Salthopper", + "entity.arthropocolypse.ice_crawler": "Obsidian Paleophaedon Beetle", + "entity.arthropocolypse.behemoth_desert_spider": "Behemoth Mongolarachne Queen", + "entity.arthropocolypse.behemoth_desert_scorpion": "Royal Guard Liassoscorpionides", + "entity.arthropocolypse.worker_ant": "Worker Formicium Ant", + "entity.arthropocolypse.soldier_ant": "Soldier Formicium Ant", + "entity.arthropocolypse.stag_beetle": "Horned Protognathinus Beetle", + "entity.arthropocolypse.stag_beetle_larva": "Horned Protognathinus Beetle Larva", + "entity.arthropocolypse.wharf_roach": "Arostropsis Weevil", + "entity.arthropocolypse.platerodrilus": "Bulwark Platerodrilus Beetle", + "entity.arthropocolypse.mealworm_beetle": "Manobiomorpha Flea Beetle", + "entity.arthropocolypse.mealworm": "Manobiomorpha Flea Beetle Larva", + "entity.arthropocolypse.millipede_head": "Assassin Chilognatha Millipede", + "item.arthropocolypse.scarab": "Behemoth Mongolarachne Larva", + "item.arthropocolypse.field_cricket_egg": "Glisachaemus Salthopper Egg", + "item.arthropocolypse.stag_beetle_egg": "Horned Protognathinus Beetle Egg", + "item.arthropocolypse.stag_beetle_larva": "Horned Protognathinus Beetle Larva", + "item.arthropocolypse.mealworm_egg": "Manobiomorpha Flea Beetle Egg", + "item.arthropocolypse.mealworm": "Manobiomorpha Flea Beetle Larva", + "item.arthropocolypse.ice_crawler_meat": "Raw Obsidian Paleophaedon Beetle", + "item.arthropocolypse.cooked_ice_crawler_meat": "Cooked Obsidian Paleophaedon Beetle", + "item.arthropocolypse.energy_bar": "Bug Snacks", + "item.arthropocolypse.beetle_fragment": "Chitin Fragment", + "item.arthropocolypse.beetle_fragment_block": "Chitin Block", + "item.arthropocolypse.beetle_fragment_block_bricks": "Chitin Bricks", + "item.arthropocolypse.chiseled_beetle_fragment_block": "Chiseled Chitin Block", + "item.arthropocolypse.polished_beetle_fragment_block": "Polished Chitin Block", + "item.arthropocolypse.tiled_beetle_fragment_block": "Tiled Chitin Block", + "item.arthropocolypse.beetle_fragment_block_stairs": "Chitin Block Stairs", + "item.arthropocolypse.beetle_fragment_block_bricks_stairs": "Chitin Bricks Stairs", + "item.arthropocolypse.polished_beetle_fragment_block_stairs": "Polished Chitin Stairs", + "item.arthropocolypse.tiled_beetle_fragment_block_stairs": "Tiled Chitin Stairs", + "item.arthropocolypse.beetle_fragment_block_slab": "Chitin Block Slab", + "item.arthropocolypse.beetle_fragment_block_bricks_slab": "Chitin Bricks Slab", + "item.arthropocolypse.polished_beetle_fragment_block_slab": "Polished Chitin Slab", + "item.arthropocolypse.tiled_beetle_fragment_block_slab": "Tiled Chitin Slab", + "item.arthropocolypse.beetle_fragment_block_wall": "Chitin Block Wall", + "item.arthropocolypse.beetle_fragment_block_bricks_wall": "Chitin Bricks Wall", + "item.arthropocolypse.polished_beetle_fragment_block_wall": "Polished Chitin Wall", + "item.arthropocolypse.tiled_beetle_fragment_block_wall": "Tiled Chitin Wall" +} \ No newline at end of file diff --git a/kubejs/assets/betterend/lang/uk_ua.json b/kubejs/assets/betterend/lang/uk_ua.json index 40768fd35..22b44a873 100644 --- a/kubejs/assets/betterend/lang/uk_ua.json +++ b/kubejs/assets/betterend/lang/uk_ua.json @@ -55,8 +55,8 @@ "block.betterend.glacian_hymenophore": "Гіменофор Ґлаціана", "block.betterend.globulagus": "Глобулагус", "block.betterend.hydrothermal_vent": "Термальний жерло", - "block.betterend.hydralux_large": "Гідралюкс", "block.betterend.hydralux_small": "Гідралюкс", + "block.betterend.hydralux_large": "Гідралюкс", "block.betterend.hydralux_sapling": "Паросток Гідралюкса", "block.betterend.inflexia": "Інфлексія", "block.betterend.lacugrove": "Водорості Лакугроув", @@ -87,6 +87,7 @@ "block.betterend.shadow_berry": "Ягоди Нокс", "block.betterend.shadow_berry_wild": "Дикі ягоди Нокс", "block.betterend.shadow_berry_dead": "Мертві ягоди Нокс", + "block.betterend.shadow_plant": "Почорнілий яснотрав", "block.betterend.small_amaranita_mushroom": "Малий гриб Амаранита", "block.betterend.sulphur_crystal": "Сірчаний кристал", "block.betterend.sulphuric_rock": "Необроблений ігнімбрит", @@ -98,7 +99,7 @@ "block.betterend.twisted_moss": "Химерний мох", "block.betterend.twisted_umbrella_moss": "Химерний парасольковий мох", "block.betterend.twisted_umbrella_moss_tall": "Химерний парасольковий мох", - "block.betterend.twisted_vine": "Химерна лоза", + "block.betterend.twisted_vine": "Карбонова ліана", "block.betterend.umbrella_moss": "Парасолькоподібний мох", "block.betterend.umbrella_moss_tall": "Парасолькоподібний мох", "block.betterend.vaiolush_fern": "Папороть Вайолаш", diff --git a/kubejs/assets/create/lang/uk_ua.json b/kubejs/assets/create/lang/uk_ua.json index 0cc0e8fe8..20667f213 100644 --- a/kubejs/assets/create/lang/uk_ua.json +++ b/kubejs/assets/create/lang/uk_ua.json @@ -28,7 +28,7 @@ "block.create.andesite_encased_cogwheel": "Шестерня в Металевому Корпусі", "block.create.andesite_encased_large_cogwheel": "Велика Шестерня в Металевому Корпусі", "block.create.andesite_encased_shaft": "Вал в Металевому Корпусі", - "block.create.andesite_funnel": "Металева Воронка", + "block.create.andesite_funnel": "Металева лійка", "block.create.andesite_ladder": "Металева драбина", "block.create.andesite_scaffolding": "Металеве риштування", "block.create.andesite_tunnel": "Металевий тунель", diff --git a/kubejs/assets/endermanoverhaul/lang/uk_ua.json b/kubejs/assets/endermanoverhaul/lang/uk_ua.json index 3909b117a..cbf10e129 100644 --- a/kubejs/assets/endermanoverhaul/lang/uk_ua.json +++ b/kubejs/assets/endermanoverhaul/lang/uk_ua.json @@ -1,6 +1,6 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "entity.endermanoverhaul.nether_wastes_enderman": "Глибокопечерний Ендермен", + "entity.endermanoverhaul.nether_wastes_enderman": "Вогняний Ендермен", "entity.endermanoverhaul.dark_oak_enderman": "Попелястий Ендермен", "entity.endermanoverhaul.mushroom_fields_enderman": "Грибний Ендермен", "entity.endermanoverhaul.swamp_enderman": "Моховий Ендермен", @@ -10,7 +10,9 @@ "entity.endermanoverhaul.end_enderman": "Баритоновий Хоровий Ендермен", "entity.endermanoverhaul.end_islands_enderman": "Сопрано-Хоровий Ендермен", "entity.endermanoverhaul.spirit": "Комета", - "item.endermanoverhaul.nether_wastes_enderman_spawn_egg": "Яйце виклику Глибокопечерного Ендермена", + "entity.endermanoverhaul.desert_enderman": "Загублений Ендермен", + "entity.endermanoverhaul.savanna_enderman": "Піщаний Ендермен", + "item.endermanoverhaul.nether_wastes_enderman_spawn_egg": "Яйце виклику Вогняного Ендермена", "item.endermanoverhaul.dark_oak_enderman_spawn_egg": "Яйце виклику Попелястого Ендермена", "item.endermanoverhaul.mushroom_fields_enderman_spawn_egg": "Яйце виклику Грибного Ендермена", "item.endermanoverhaul.swamp_enderman_spawn_egg": "Яйце виклику Мохового Ендермена", @@ -20,6 +22,8 @@ "item.endermanoverhaul.end_enderman_spawn_egg": "Яйце виклику Баритонового Хорового Ендермена", "item.endermanoverhaul.end_islands_enderman_spawn_egg": "Яйце виклику Сопрано-Хорового Ендермена", "item.endermanoverhaul.spirit_spawn_egg": "Яйце виклику Комети", + "item.endermanoverhaul.desert_enderman_spawn_egg": "Яйце виклику Загубленого Ендермена", + "item.endermanoverhaul.savanna_enderman_spawn_egg": "Яйце виклику Піщяного Ендермена", "subtitles.endermanoverhaul.entity.cave_enderman.ambient": "Глибокопечерний Ендермен Vwoops", "subtitles.endermanoverhaul.entity.cave_enderman.hurt": "Глибокопечерний Ендермен боляче", "subtitles.endermanoverhaul.entity.dark_oak_enderman.ambient": "Попелястий Ендермен вжух", diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index f8d1e8a7a..a2504cccb 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -36,6 +36,8 @@ "block.gtceu.bismuth_bronze_drum": "Bismuth Bronze Drum", "block.gtceu.overworld_marker": "Earth", "block.gtceu.the_nether_marker": "The Beneath", + "block.tfg.hydroponics_facility": "Hydroponics Facility", + "block.tfg.pisciculture_fishery": "Pisciculture Fishery", "gtceu.greenhouse": "Electric Greenhouse", "gtceu.steam_bloomery": "Steam Bloomery", "gtceu.food_oven": "Food Oven", @@ -56,6 +58,8 @@ "gtceu.growth_chamber": "Growth Chamber", "gtceu.coal_liquefaction_tower": "Liquefaction Tower", "gtceu.smr_generator": "Small Modular Turbine", + "gtceu.hydroponics_facility": "Hydroponics Facility", + "gtceu.pisciculture_fishery": "Pisciculture Fishery", "gtceu.tooltip.machine.moon_dust_harvester_1": "§7Extraterrestrial Vacuum Cleaner§r", "gtceu.tooltip.machine.moon_dust_harvester_2": "§7Harvests infinite Regolith Dust depending on the biome its placed in.§r", "gtceu.tooltip.machine.ostrum_harvester_1": "§7Legally Distinct Spice Crawler§r", diff --git a/kubejs/assets/gtceu/lang/uk_ua.json b/kubejs/assets/gtceu/lang/uk_ua.json index 3c45a3c75..99ec950bf 100644 --- a/kubejs/assets/gtceu/lang/uk_ua.json +++ b/kubejs/assets/gtceu/lang/uk_ua.json @@ -2,10 +2,14 @@ "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.bud_indicator": "%s Поверхнева Друза", "block.gtceu.greenhouse": "Теплиця", - "block.tfg.steam_bloomery": "Парова Сиродутна Піч", - "block.gtceu.large_solar_panel": "§9Велика сонячна матриця MK I", - "block.gtceu.large_solar_panel_tier2": "§bВелика сонячна матриця MK II", - "block.gtceu.large_solar_panel_tier3": "§cВелика сонячна матриця MK III", + "block.tfg.steam_bloomery": "Паровий Горн", + "block.tfg.steam_thermal_centrifuge": "Парова термічна центрифуга", + "block.tfg.steam_fuser": "Паровий сплавлювач", + "block.tfg.steam_squasher": "Паровий сплющувач", + "block.tfg.steam_presser": "Паровий прес", + "block.gtceu.large_solar_panel": "§9Велика сонячна панель MK I", + "block.gtceu.large_solar_panel_tier2": "§bВелика сонячна панель MK II", + "block.gtceu.large_solar_panel_tier3": "§cВелика сонячна панель MK III", "block.gtceu.gas_pressurizer": "Газовий пресуризатор", "block.gtceu.nuclear_fuel_factory": "Фабрика ядерного палива", "block.gtceu.heat_exchanger": "Теплообмінник", @@ -36,9 +40,9 @@ "gtceu.steam_bloomery": "Парова Сиродутна Піч", "gtceu.food_oven": "Духова піч", "gtceu.food_processor": "Кухонний комбайн", - "gtceu.large_solar_panel": "Велика сонячна матриця MK I", - "gtceu.large_solar_panel_tier2": "Велика сонячна матриця MK II", - "gtceu.large_solar_panel_tier3": "Велика сонячна матриця MK III", + "gtceu.large_solar_panel": "Велика сонячна панель MK I", + "gtceu.large_solar_panel_tier2": "Велика сонячна панель MK II", + "gtceu.large_solar_panel_tier3": "Велика сонячна панель MK III", "gtceu.gas_pressurizer": "Газовий пресуризатор", "gtceu.nuclear_fuel_factory": "Фабрика ядерного палива", "gtceu.nuclear_turbine": "Ядерна парова турбіна", @@ -133,6 +137,7 @@ "material.tfg.calorite": "Калорит", "material.tfg.etrium": "Етріум", "material.gtceu.tarkianite": "Таркіаніт", + "material.gtceu.thorium": "Торіаніт", "material.gtceu.aluminium_silicate": "Алюмосилікат", "material.gtceu.rocket_alloy_t1": "Алюміносталевий ракетний сплав R-класу", "material.gtceu.rocket_alloy_t2": "Ракетний титановий сплав ASM 4914", @@ -178,10 +183,10 @@ "material.gtceu.uranium_pellet": "Уранова гранула", "material.gtceu.thorium_pellet": "Торієва гранула", "material.gtceu.ostrum_iodide": "Йодит Оструму", - "material.gtceu.residual_radioactive_concoction": "Залишкова Радіоактивна Суміш", "material.gtceu.americium": "Америцій 243", "material.gtceu.uranium": "Уран 238", "material.gtceu.plutonium": "Плутоній 239", + "material.gtceu.residual_radioactive_concoction": "Залишкова Радіоактивна Суміш", "material.gtceu.regolith_vapor": "Випаровування Реголіту", "material.gtceu.dense_ostrum_vapor": "Густе Випаровування Острому", "material.gtceu.lightweight_ostrum_vapor": "Легке Випаровування Острому", @@ -205,7 +210,8 @@ "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_molecule": "§7§oУтримуйте (Shift), щоб побачити молекулярну структуру§r", + "tooltip.moldraw.shift_view_molecule": "§7§oУтримуй (Shift), щоб побачити молекулярну структуру§r", + "tooltip.moldraw.shift_view_alloy": "§7§oУтримуй (Shift), щоб побачити склад сплаву§r", "tagprefix.sword_head": "%s Лезо меча", "tagprefix.pickaxe_head": "%s Лезо кайла", "tagprefix.shovel_head": "%s Лезо лопати", diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index 871f7181f..a239f9f99 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -36,6 +36,8 @@ "block.gtceu.bismuth_bronze_drum": "铋青铜桶", "block.gtceu.overworld_marker": "地球", "block.gtceu.the_nether_marker": "幽冥之地", + "block.tfg.hydroponics_facility": "水培设施", + "block.tfg.pisciculture_fishery": "水产养殖场", "gtceu.greenhouse": "电力温室", "gtceu.steam_bloomery": "蒸汽锻铁炉", "gtceu.food_oven": "食物烤炉", @@ -56,6 +58,8 @@ "gtceu.growth_chamber": "生长室", "gtceu.coal_liquefaction_tower": "液化塔", "gtceu.smr_generator": "小型模块化涡轮", + "gtceu.hydroponics_facility": "水培设施", + "gtceu.pisciculture_fishery": "水产养殖场", "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", diff --git a/kubejs/assets/minecraft/lang/uk_ua.json b/kubejs/assets/minecraft/lang/uk_ua.json index 956bb5a46..4f5037b27 100644 --- a/kubejs/assets/minecraft/lang/uk_ua.json +++ b/kubejs/assets/minecraft/lang/uk_ua.json @@ -75,14 +75,15 @@ "block.minecraft.pearlescent_froglight": "Перламутровий Світлобутон", "block.minecraft.verdant_froglight": "Зеленіючий Світлобутон", "block.minecraft.ochre_froglight": "Охристий Світлобутон", - "block.minecraft.nether_wart_block": "Блок багрового бородавника", + "block.minecraft.nether_wart_block": "Багряний капелюшок", + "block.minecraft.warped_wart_block": "Химернний капелюшок", "block.minecraft.weeping_vines_plant": "Багряна виноградна лоза", "block.minecraft.weeping_vines": "Багряні лози", "block.minecraft.red_sand": "Гематитний пісок", - "block.minecraft.red_sandstone": "Гематитний пісковик", - "block.minecraft.red_sandstone_stairs": "Гематитні пісковикові сходи", - "block.minecraft.red_sandstone_slab": "Гематитна пісковикова плита", - "block.minecraft.red_sandstone_wall": "Гематитна пісковикова стіна", + "block.minecraft.red_sandstone": "Необроблений гематитовий пісковик", + "block.minecraft.red_sandstone_stairs": "Необроблені гематитові пісковикові сходи", + "block.minecraft.red_sandstone_slab": "Необроблена гематитова пісковикова плита", + "block.minecraft.red_sandstone_wall": "Необроблена гематитова пісковикова стіна", "block.minecraft.chiseled_red_sandstone": "Різьблений гематитний пісковик", "block.minecraft.smooth_red_sandstone": "Гладкий гематитний пісковик", "block.minecraft.smooth_red_sandstone_stairs": "Гладкі гематитні пісковикові сходи", @@ -99,5 +100,7 @@ "item.minecraft.glow_ink_sac": "Світний барвник", "item.minecraft.nether_brick": "Кератофірова цегла", "item.minecraft.furnace_minecart": "Вагонетка з котлом", - "material.tfg.dripstone": "Травертин" + "material.tfg.dripstone": "Травертин", + "death.attack.magic": "%1$s був убитий смертельною отрутою", + "death.attack.magic.player": "%1$s був убитий смертельною отрутою, намагаючись утекти від %2$s" } \ No newline at end of file diff --git a/kubejs/assets/sandworm_mod/lang/uk_ua.json b/kubejs/assets/sandworm_mod/lang/uk_ua.json new file mode 100644 index 000000000..7e97f0869 --- /dev/null +++ b/kubejs/assets/sandworm_mod/lang/uk_ua.json @@ -0,0 +1,6 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "entity.sandworm_mod.worm_chain": "Піщаний хробак", + "entity.sandworm_mod.worm_head_segment": "Голова піщаного хробака", + "entity.sandworm_mod.worm_segment": "Тіло піщаного хробака" +} \ No newline at end of file diff --git a/kubejs/assets/species/lang/uk_ua.json b/kubejs/assets/species/lang/uk_ua.json index 91b271ad8..f186697fe 100644 --- a/kubejs/assets/species/lang/uk_ua.json +++ b/kubejs/assets/species/lang/uk_ua.json @@ -1,5 +1,26 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.species.alphacene_moss_block": "Гляціанський капелюшок", - "block.species.petrified_egg": "Глаціанське яцйе" + "block.species.petrified_egg": "Глаціанське яцйе", + "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": "Перлина обміну обмінює", + "item.species.trooper_spawn_egg": "Яйце призову Сульфі", + "item.species.wicked_treat.desc.snatched": "Супер швидкість II (0:45)", + "item.species.wicked_treat.desc.iron_will": "Спротив відкиданню (0:45)", + "entity.species.trooper": "Сульфі", + "subtitles.entity.species.trooper.death": "Сульфі помирає", + "subtitles.entity.species.trooper.hurt": "Сульфі отримує ушкодження", + "subtitles.entity.species.trooper.step": "Сульфі чвалює", + "subtitles.entity.species.trooper.uproot": "Сульфі виривається", + "subtitles.entity.species.trooper.plant": "Сульфі садить", + "effect.species.iron_will": "Спротив відкиданню", + "effect.species.iron_will.description": "Запобігає будь-якому відкиданню.", + "effect.species.snatched": "Супер швидкість", + "effect.species.snatched.description": "Надає швидший рух, що масштабується з рівнями. Робить уражені сутності вищими та стрункішими." } \ No newline at end of file diff --git a/kubejs/assets/tfc/lang/ru_ru.json b/kubejs/assets/tfc/lang/ru_ru.json index 0e78df761..9cf389cb6 100644 --- a/kubejs/assets/tfc/lang/ru_ru.json +++ b/kubejs/assets/tfc/lang/ru_ru.json @@ -33,7 +33,7 @@ "item.tfc.metal.tuyere.copper": "Фурма (Медь)", "item.tfc.metal.tuyere.wrought_iron": "Фурма (Кованое железо)", "item.tfc.metal.tuyere.steel": "Фурма (Сталь)", - "item.tfc.metal.tuyere.black_steel": "Фурма (Чёрная сталь)", + "item.tfc.metal.tuyere.black_steel": "Фурма (Чёрная сталь)", "item.tfc.metal.tuyere.blue_steel": "Фурма (Синяя сталь)", "item.tfc.metal.tuyere.red_steel": "Фурма (Красная сталь)", "item.tfc.metal.propick_head.bismuth_bronze": "Головка геологического молотка (Висмутовая бронза)", @@ -41,7 +41,7 @@ "item.tfc.metal.propick_head.bronze": "Головка геологического молотка (Бронза)", "item.tfc.metal.propick_head.copper": "Головка геологического молотка (Медь)", "item.tfc.metal.propick_head.wrought_iron": "Головка геологического молотка (Кованое железо)", - "item.tfc.metal.propick_head.steel": "Головка геологического молотка (Кованое железо)", + "item.tfc.metal.propick_head.steel": "Головка геологического молотка (Сталь)", "item.tfc.metal.propick_head.black_steel": "Головка геологического молотка (Чёрная сталь)", "item.tfc.metal.propick_head.blue_steel": "Головка геологического молотка (Синяя сталь)", "item.tfc.metal.propick_head.red_steel": "Головка геологического молотка (Красная сталь)", diff --git a/kubejs/assets/tfc/lang/uk_ua.json b/kubejs/assets/tfc/lang/uk_ua.json index edc2397b5..52cd85bf3 100644 --- a/kubejs/assets/tfc/lang/uk_ua.json +++ b/kubejs/assets/tfc/lang/uk_ua.json @@ -27,7 +27,8 @@ "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)шукати$().", + "tfc.jei.goat_horn_knapping": "Рецепт обробки хітину", + "tfc.field_guide.book_landing_text": "Вітаю, мандрівнику! Ця книга стане джерелом усього, що тобі потрібно знати, досліджуючи світ TerraFirmaCraft (TFC) у $(bold)TerraFirmaGreg$().$(br)Ця книга доступна будь-коли через іконку праворуч у твоєму інвентарі.$(br)Онлайн-версію цього посібника можна знайти $(bold)$(l:https://terrafirmagreg-team.github.io/Field-Guide-Modern/en_us/)тут$().$(br)Натисни на $(italic)Індекс записів$() і почни вводити, щоб $(bold)шукати$().", "trim_material.tfc.almandine_tfc": "Альмандин", "trim_material.tfc.andradite_tfc": "Андрадіт", "trim_material.tfc.blue_topaz_tfc": "Синій Топаз", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 2d1e903d3..77bd806ed 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -696,6 +696,31 @@ "block.tfg.large_nest_box": "Large Crimson Nest", "tfg.block_entity.large_nest_box": "Large Nest Box", "block.tfg.large_nest_box_warped": "Large Warped Nest", + "block.tfg.cultivation_monitor": "Cultivation Monitor", + "block.tfg.egh_planter": "Horticulture Planter", + "block.tfg.grow_light": "Grow Light", + "block.tfg.casings.machine_casing_egh": "Horticulture Casing", + "block.tfg.pisciculture_core": "Pisciculture Core Rotor", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_0": "§nFlawless§r Wax-Treated Wood Greenhouse Wall", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_1": "§nVertical§r Wax-Treated Wood Greenhouse Wall", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_2": "§nHorizontal§r Wax-Treated Wood Greenhouse Wall", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_3": "§nNubio§r Wax-Treated Wood Greenhouse Wall", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_4": "§nOrnate§r Wax-Treated Wood Greenhouse Wall", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_0": "§nFlawless§r Copper Greenhouse Wall", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_1": "§nVertical§r Copper Greenhouse Wall", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_2": "§nHorizontal§r Copper Greenhouse Wall", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_3": "§nNubio§r Copper Greenhouse Wall", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_4": "§nOrnate§r Copper Greenhouse Wall", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_0": "§nFlawless§r Iron Greenhouse Wall", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_1": "§nVertical§r Iron Greenhouse Wall", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_2": "§nHorizontal§r Iron Greenhouse Wall", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_3": "§nNubio§r Iron Greenhouse Wall", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_4": "§nOrnate§r Iron Greenhouse Wall", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_0": "§nFlawless§r Stainless Steel Greenhouse Wall", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_1": "§nVertical§r Stainless Steel Greenhouse Wall", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_2": "§nHorizontal§r Stainless Steel Greenhouse Wall", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_3": "§nNubio§r Stainless Steel Greenhouse Wall", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_4": "§nOrnate§r Stainless Steel Greenhouse Wall", "block.tfg.titanium_concrete": "Titanium-Rebar Concrete", "block.tfg.polished_titanium_concrete": "Polished Titanium-Rebar Concrete", "block.tfg.titanium_concrete_tile": "Titanium-Rebar Concrete Tile", @@ -1106,6 +1131,9 @@ "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", + "item.tfg.fish_roe": "%s Roe", + "item.tfg.rotten_voiding_cover": "Rotten Voiding Cover", + "item.tfg.flora_pellets": "Flora Pellets", "material.tfg.latex": "Latex", "material.tfg.vulcanized_latex": "Vulcanized Latex", "material.tfg.fluix": "Fluix", @@ -1278,6 +1306,9 @@ "material.tfg.clean_powder": "Re-Silicate Clean", "material.tfg.catalyser_powder": "Rhenium ZSM-5 Catalyzer", "material.tfg.sodium_aluminium": "Sodium Aluminium", + "material.tfg.chloroplasts": "Chloroplasts", + "material.tfg.nitrate_rich_water": "Nitrate Rich Water", + "material.tfg.nitrate_rich_semiheavy_ammoniacal_water": "Nitrate Rich Semiheavy Ammoniacal Water", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", @@ -1565,8 +1596,9 @@ "tfg.tooltip.obsolete.fridge": "§4Obsolete§f: Replaced by the TFG Refrigerator, you can craft it from this one by placing this in a crafting table!", "tfg.tooltip.blaze_burner": "§cSuperheat§r §7with Coke, Anthracite, or Flawless and Exquisite coal gems.", "tfg.tooltip.machine.perfect_overclock": "This machine has §2Perfect Overclocking§r!", - "tfg.tooltip.machine.parallel": "Can parallelize with Parallel Control Hatches.", - "tfg.tooltip.machine.customize_interior": "§7The interior is customizable! Check the multiblock preview in JEI.", + "tfg.tooltip.machine.parallel": "Can §dParallelize§r with Parallel Control Hatches.", + "tfg.tooltip.machine.customize_interior": "§7The interior is customizable! Check the multiblock preview in EMI.", + "tfg.tooltip.machine.customize_greenhouse": "§7This multiblock's walls can use any valid §eIron Greenhouse§7 tier blocks. Check the multiblock preview in EMI.", "tfg.tooltip.armor.copper_diving_suit_warmth": "§7Warmth: -1", "tfg.tooltip.armor.copper_diving_suit_insulation": "§7Insulation: +1", "tfg.tooltip.armor.netherite_diving_suit_warmth": "§7Warmth: -2", @@ -1612,10 +1644,14 @@ "tfg.tooltip.machine.growth_chamber_2": "§7Contains everything needed for Biological Engineering.§r", "tfg.tooltip.machine.evaporation_tower_1": "§7Not to be confused with the Distillation Tower§r", "tfg.tooltip.machine.evaporation_tower_2": "§7Gets rid of excess solvent to condense solutions.§r", - "tfg.tooltip.machine.electric_greenhouse_1": "§7Putting the Factory in Factory Farming§r", - "tfg.tooltip.machine.electric_greenhouse_2": "§7Uses water to grow trees, crops, and other plants. Can be sped up with fertilizer. Faster and easier than other ways of growing plants, at the cost of energy.§r", + "tfg.tooltip.machine.electric_greenhouse_1": "§7§oPutting the Factory in Factory Farming§r", + "tfg.tooltip.machine.electric_greenhouse_2": "§7Grow crops all year round with electricity! The Electric Greenhouse can accept fertilizer to enhance growth or be looped with the Pisciculture Fishery for ultimate efficiency.§r", "tfg.tooltip.machine.cooling_tower_1": "§7Heating up the Atmosphere§r", "tfg.tooltip.machine.cooling_tower_2": "§7Cools the hot coolant by dissipitating excess heat to the atmosphere.§r", + "tfg.tooltip.machine.hydroponics_facility_1": "§7§oFarming the loOOng way§r", + "tfg.tooltip.machine.hydroponics_facility_2": "§7The upgraded form of the EGH! The Hydroponics Facility boosts greenhouse output chances and has no restricions on being oxygenated.§r", + "tfg.tooltip.machine.pisciculture_fishery_1": "§7§o1 Fish, 2 Fish...§r", + "tfg.tooltip.machine.pisciculture_fishery_2": "§7Pisciculture Fisheries are not only a source of fresh fish but also vital in boosting greenhouse production through §3Aquaponics.§7 The structure can be filled with any fluid tagged as §o#tfg:pisciculture_fishery_fluids§r", "tfg.tooltip.obsolete.depreciated": "§cDeprecated, cannot be crafted any more", "tfg.tooltip.antipoison_pill": "§9Cures Poison", "tfg.tooltip.antipoison_tablet": "§9Cures All Active Harmful Effects", @@ -1655,6 +1691,15 @@ "tfg.tooltip.fake_nutrition_info_listener": "§7§oHold (Shift) for Nutrition Info", "tfg.tooltip.fake_nutrition_info": "§7Nutrition:", "tfg.tooltip.cheese_slice_microplastics": "§b- Microplastics: 1.9", + "tfg.tooltip.recipe_condition.oxygenated.true": "§bIn Oxygenated Environment", + "tfg.tooltip.recipe_condition.oxygenated.false": "§5In De-oxygenated Environment", + "tfg.tooltip.recipe_condition.climate_rain": "Rainfall mm", + "tfg.tooltip.recipe_condition.climate_temp": "Climate °C", + "tfg.tooltip.recipe_condition.gravity": "Gravity m/s²", + "tfg.tooltip.firmalife_greenhouse.oxygen_required": "§cAn oxygenated environment is required!", + "tfg.tooltip.firmalife_greenhouse.oxygen_required.block": "§7An oxygenated environment is required to function as a greenhouse in space.", + "tfg.tooltip.grow_light_disapointment": "§7No. This will not increase your crop growth speed...", + "tfg.tooltip.rotten_voiding_cover": "§7The Rotten Voiding Cover works just like an Item Voiding Cover but only targets and destroys §cRotten Items.", "tfg.gui.menu.field_guide_splash_text": "Tip: Read the field guide!!!", "tfg.gui.menu.ram_usage": "RAM:", "tfg.gui.menu.fps_count": "FPS:", @@ -2525,7 +2570,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 Hearth Furnace\n- Large Chemical Reactor\n- Electric Greenhouse\n- Heat Exchanger", + "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- 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", @@ -2760,6 +2805,10 @@ "quests.high_voltage.final_dust.desc": "This is all the &cinfinite resources&r you can obtain on the &7Moon&r before unlocking the more advanced processing available on &eVenus&r.\n\nWith these, you should have everything you need to keep progressing through &dGregTech&r — especially to secure the &amaintenance&r of your Moon Base.\n\nThese resources are essential for:\n• Crafting &dAE2 components&r\n• Producing an &cinfinite&r supply of &6Railgun Ammo&r\n\nPassive automation is now within your reach — take the step and make it happen!", "quests.high_voltage.titanium_greate.title": "Titanium-tier Greate", "quests.high_voltage.titanium_greate.desc": "This is the final tier of Greate that's accessible in TerraFirmaGreg. The only \"extreme\" it's doing is being extremely optional.", + "quests.high_voltage.pisciculture.title": "Pisciculture Fishery", + "quests.high_voltage.pisciculture.subtitle": "A multiblock for pollock.", + "quests.high_voltage.pisciculture.desc.1": "The &bPisciculture Fishery&r is not only your one stop shop for infinite fish, but also a supporting multiblock in the &3Aquaponics Loop&r. A circular loop of recipes between the Pisciculture fishery and the &2Electric Greenhouse&r which boosts each others yields and if done properly--Will require no external inputs.", + "quests.high_voltage.pisciculture.desc.2": "&5Note:&r The structure can be filled with any liquid with the fluid tag &o&7#tfg:pisciculture_fishery_fluids&r&r. But, be aware that some fluids will freeze in space and that some recipes may not run if the multiblock controller is not in an &noxygenated environment&r.", "quests.low_voltage": "&7LV&r - Low Voltage", "quests.low_voltage.subtitle": "Tame electricity and begin your GregTech journey", "quests.low_voltage.lv_machine_hull.title": "Your second machine hull", @@ -2953,10 +3002,10 @@ "quests.low_voltage.lv_circuit_assembler.desc.1": "From now on, all Circuits should be made in a &3Circuit Assembler&r. Use it now to enjoy &6far cheaper LV and MV circuits&r.\n\nEach time you upgrade to a new tier of &3Circuit Assembler&r, you will be able to craft more &dadvanced themes&r of circuit. These will use &ccomplex&r and &msometimes&r unfamiliar ingredients, but will be more efficient to craft overall.", "quests.low_voltage.lv_circuit_assembler.desc.2": "&l&3Lore:&r&o The Circuit Assembler has made appearances in and out of GregTech versions. GT5 did not have it, and it was reimplemented in GT5 Unofficial. GTCE decided not to port it, and the tug-of-war continues with its inclusion in GTCEu.", "quests.low_voltage.lv_greenhouse.title": "Electric Greenhouse", - "quests.low_voltage.lv_greenhouse.subtitle": "The power of KubeJS", - "quests.low_voltage.lv_greenhouse.desc.1": "The multiblock &3Electric Greenhouse&r can be your source of &aLogs&r and other plants if you prefer making GregTech machines over Create contraptions. It also has the unique property of being able to grow more of TFC's decorative plants!\n\nThis is one of the few machines that has &2Perfect Overclocking&r, which basically means each higher tier of EU input means x4 the recipe speed instead of the usual x2!", - "quests.low_voltage.lv_greenhouse.desc.2": "&9Note: &rWith recipes requiring more than 32 EU/t, the multiblock needs either 1 &bMV&r energy hatch or 2 &7LV&r energy hatches. Multiblocks will &cnot&r use 2A of one tier to reach the next one for recipe voltage minimums.\n\nIn other words, the controller needs to say at least &bMV&r in the GUI to run recipes which say &bMV&r in EMI, even if they can draw enough EU/t with a lower tier hatch configuration.\n\n&9Note:&r This structure requires a lot of &7Steel&r. Make sure you have an &3EBF&r for that.", - "quests.low_voltage.lv_greenhouse.desc.3": "&l&3Lore:&r&o This multiblock was originally created for the GTCEu Community Pack, but is also available on the GTCEu developer documentation. It's significantly slower than default to keep in line with TFC's slower tree growing speeds, but prior to TFG 0.9, it used to take almost an hour for each recipe!", + "quests.low_voltage.lv_greenhouse.subtitle": "The power of &mKubejs&r... Java", + "quests.low_voltage.lv_greenhouse.desc.1": "The multiblock &3Electric Greenhouse&r can be your source of &aLogs&r and other plants if you prefer making GregTech machines over Create contraptions. It also has the unique property of being able to grow more of TFC's decorative plants!", + "quests.low_voltage.lv_greenhouse.desc.2": "&9Note: &rThis multiblock can have its walls customized to use any valid iron tier greenhouse block. Check the EMI multiblock preview for more usable blocks. The EGH can also be inproved in a few ways, including fertilizer or later in &cHV&r with the &3Hydroponics Loop.&r", + "quests.low_voltage.lv_greenhouse.desc.3": "&l&3Lore:&r&o This multiblock was originally created for the GTCEu Community Pack, but is also available on the GTCEu developer documentation. It's significantly slower than default to keep in line with TFC's slower tree growing speeds, but prior to TFG 0.9, it used to take almost an hour for each recipe!\n\nIn TFG 0.11 it was remade from scratch with new recipes, a new structure, a mk2 in the form of the hydroponic facility and custom renders by RubenVerg.\n\nThe original subtitle for this quest was \"The power of Kubejs\" since originally it was an example of a custom machine that could be made in Kubejs--A dev kit. But now the structure is entirely made in Java to support TFC's food properties properly.", "quests.low_voltage.lv_centrifuge.title": "Basic Centrifuge", "quests.low_voltage.lv_centrifuge.subtitle": "It does the opposite of the Mixer", "quests.low_voltage.lv_centrifuge.desc.1": "&lOutside of Ore Processing:&r\n\nOh boy, what can't this machine do? Decomposition recipes to separate dust types, separating air, do your taxes, and many others...\n\nThe list is too long! Let's just say &cyou need the Centrifuge&r.", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 1f75618ee..5d38f7b83 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -3833,7 +3833,7 @@ "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.desc.2": "&l&Предистория:&r &oЭта машина существовала в более ранних версиях TFG, но он делал стержни вместо пластин, и лучший способ делать пластины до LV прокатного станка имел 20-и процентный шанс неудачи!&r", + "quests.steam_age.rolling_mill.desc.2": "&l&3Предистория:&r &oЭта машина существовала в более ранних версиях TFG, но он делал стержни вместо пластин, и лучший способ делать пластины до LV прокатного станка имел 20-и процентный шанс неудачи!&r", "quests.steam_age.steel_mixer.title": "Стальной Мехнический Смешиватель", "quests.steam_age.steel_mixer.subtitle": "Ранний LV Смешиватель", "quests.steam_age.steel_mixer.desc": "Стальной Механический Смеситель — это ещё одна из лучших машин Паровой Эпохи. Он может смешивать цветные стальные порошки гораздо эффективнее, чем Тигель! Он также способен выполнять множество других рецептов, включая некоторые с газами… особо об этом не задумывайтесь.\n\nДля рецептов, требующих нагрева, можно использовать Charcoal Forge или Горелку Всполоха, а Механическая Рука может автоматически подбрасывать топливо в любую из них.", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index 8b6e117c3..765c4c256 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -459,11 +459,15 @@ "block.tfg.stromatolite_cluster_medium": "Великий кластер строматолітів", "block.tfg.rock.raw.geyserite": "Сирий Гейзерит", "block.tfg.rock.spike.geyserite": "Гейзеритовий шип", + "block.tfg.geyser_source_small": "Small Steaming Geyser", + "block.tfg.geyser_source": "Steaming Geyser", + "block.tfg.smoker_source": "Volcanic Smoker", + "block.tfg.lava_source": "Lava Vent", "block.tfg.rock.halite": "Halite", "block.tfg.mushroom_roots": "Коріння грибів", "block.tfg.mushroom_sprouts": "Паростки грибів", "block.tfg.charred_log": "Обвуглена колода", - "block.tfg.ash_pile": "Купа попелу", + "block.tfg.ash_pile": "Wood Ash Pile", "block.tfg.pile.white_sand": "Білий пісок", "block.tfg.pile.black_sand": "Чорний пісок", "block.tfg.pile.brown_sand": "Коричневий пісок", @@ -478,6 +482,7 @@ "block.tfg.pile.venus_sand_covering": "Трахітовий пісок", "block.tfg.pile.hematitic_sand": "Гематитний пісок", "block.tfg.pile.hematitic_sand_covering": "Гематитний пісок", + "block.tfg.pile.volcanic_ash": "Volcanic Ash Pile", "block.tfg.lunar_roots": "Місячні світлоквіти", "block.tfg.lunar_sprouts": "Місячна світлотрава", "block.tfg.lunar_chorus_plant": "Хорусовий Паросток", @@ -488,6 +493,10 @@ "block.tfg.glacian_wood_stripped": "Очищені глаціальні гіфи", "block.tfg.glacian_leaves": "Ламела Ґлаціана", "block.tfg.glacian_leaves_fallen": "Мала глаціальна ламела", + "block.tfg.crimson_wart_block": "Багряний капелюшок", + "block.tfg.warped_wart_block": "Химернний капелюшок", + "block.tfg.aeronos_cap": "Aeronos Cap", + "block.tfg.strophar_cap": "Strophar Cap", "block.tfg.marker.moon": "Місяць", "block.tfg.marker.mars": "Марс", "block.tfg.marker.venus": "Венера", @@ -711,6 +720,8 @@ "fluid.tfg.sulfur_fumes": "Густі сірчані випари", "fluid.tfg.geyser_slurry": "Перегріта суспензія", "fluid.tfg.cryogenized_fluix": "Кріогенізований флюїкс", + "fluid.tfg.bw_photographic_developer": "Чорно-білий фотопроявник", + "fluid.tfg.color_photographic_developer": "Кольоровий фотопроявник", "item.tfg.antipoison_pill": "Антиотруйна Пілюля", "item.tfg.haste_pill": "Пілюля Прискорення", "item.tfg.night_vision_pill": "Пілюля Нічного Бачення", @@ -1054,8 +1065,8 @@ "item.tfg.beaker.filled": "Стакан з %s", "item.tfg.flask": "Колба", "item.tfg.flask.filled": "Колба з %s", - "item.tfg.vial": "Пробірка", - "item.tfg.vial.filled": "Пробірка з %s", + "item.tfg.vial": "Піпетка", + "item.tfg.vial.filled": "Піпетка з %s", "item.tfg.lab_equipment": "Лабораторне обладнання", "item.tfg.dirty_lab_equipment": "Брудне лабораторне обладнання", "item.tfg.wireless_card": "Міжпланетна бездротова картка", @@ -1086,9 +1097,9 @@ "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.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": "Форма для самородка", @@ -1099,6 +1110,7 @@ "material.tfg.vulcanized_latex": "Вулканізований Латекс", "material.tfg.fluix": "Флюс", "material.tfg.conifer_pitch": "Смола хвойних дерев", + "material.tfg.pyrogallol": "Пірогалол", "material.gtceu.lactose": "Лактоза", "material.tfg.gabbro": "Габро", "material.tfg.shale": "Глинистий сланець", @@ -1248,15 +1260,15 @@ "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": "Ренійний фільтрат", - "material.tfg.clean_powder": "Очищений ресилікатний порошок", - "material.tfg.catalyser_powder": "Каталізаторний порошок Re ZSM-5", + "material.tfg.clean_powder": "Повторно силікатне очищення", + "material.tfg.catalyser_powder": "Реній каталізатор ZSM-5", "material.tfg.sodium_aluminium": "Натрій алюміній", "ore_vein.tfg.deep_sheldonite": "Шелдоніт і Борніт", "ore_vein.tfg.deep_garnet_amethyst": "Аметист і Гранат", @@ -1435,8 +1447,8 @@ "effect.tfg.warming": "§6Розігрів", "effect.tfg.instant_radiation": "Миттєве випромінювання", "effect.tfg.chemical_burns_warning": "Отримання хімічних опіків", - "effect.tfg.poison_warning": "Токсична речовина", - "effect.tfg.weak_poison_warning": "Слаботоксична речовина", + "effect.tfg.poison_warning": "Отруйний матеріал", + "effect.tfg.weak_poison_warning": "Слабоотруйний матеріал", "effect.tfg.irritant_warning": "Подразнювальна речовина", "effect.tfg.nausea_warning": "Нудотна речовина", "effect.tfg.carcinogen_warning": "Канцерогенна речовина", @@ -1446,6 +1458,9 @@ "effect.tfg.berylliosis_warning": "Бериліоз", "effect.tfg.methanol_poisoning_warning": "Отруєння метанолом", "effect.tfg.carbon_monoxide_poisoning_warning": "Отруєння монооксидом вуглецю", + "effect.tfg.radioactive_warning": "Опромінений", + "gtceu.medical_condition.radioactive": "§4Радіоактивний", + "symptom.tfg.glowing": "Світіння", "tfg.greate.uls_limit": "§432§r (§8ULS§r)", "tfg.greate.ls_limit": "§f128§r (§7LS§r)", "tfg.greate.windmill_hint_1": "Вітряки залежать від відносної", @@ -1500,7 +1515,7 @@ "trim_material.tfc.pyrite_tfc": "Пірит", "trim_material.tfc.redx_tfc": "RedX", "tfg.emi.ore_veins.rock_types": "Зустрічається в типах порід:", - "tfg.emi.ore_veins.rarity": "Рідкість: 1/%d", + "tfg.emi.ore_veins.rarity": "Рідкість: %d", "tfg.emi.ore_veins.density": "Щільність: %d", "tfg.emi.ore_veins.y_ranges": "Рівень Y: %d до %d", "tfg.emi.ore_veins.size": "Розмір: %d", @@ -1633,6 +1648,8 @@ "tfg.gui.consumes": "Споживає: ", "tfg.gui.per_cycle": "за цикл", "tfg.gui.cycle_duration": "Тривалість циклу: ", + "tfg.emi.bacon_requirement": "Бекон — Сиру свинину спершу потрібно закоптити", + "tag.item.tfg.dried_fruit": "Сухофрукт", "tfc.jei.flint_knapping": "Обробка Кременю", "tfc.jei.straw_knapping": "Вибивання Соломи", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Фарбування", @@ -1697,6 +1714,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": "Фарбування", @@ -1707,6 +1726,7 @@ "tfg.food_recipe.smoking": "Копчення", "tfg.food_recipe.drying": "Сушіння", "tfg.food_recipe.freeze_drying": "Висушувати", + "tfg.food_recipe.deep_frying": "Фритюр", "tfg.recipe.macerator_warning": "До HV працює лише перший слот виводу", "tfg.grapplemod.repair": "Рецепт ремонту, зберігає ваші покращення. §lНІКОЛИ не комбінуйте два гака, інакше втратите ВСІ покращення!§r", "tfg.grapplemod.upgrades.maxlen": "Збільшує §lМаксимальну Довжину§r на 20, до 200.", @@ -1842,9 +1862,12 @@ "quests.ae2.wireless_access.desc": "Коли ви досягнете &5EV&r, отримаєте доступ до ME Бездротової Точки Доступу, яка фактично працює як Wi‑Fi роутер для вашої ME‑мережі. \nПід’єднайте її до центральної точки у вашій базі, вставте стільки карток Бездротового Підсилювача, скільки потрібно, щоб збільшити радіус дії (і споживання енергії), а потім прив’яжіть до неї Бездротовий Терміал. \n\nКоли у вас з’являться Епоксидна смола та Родій, ви зможете об’єднати всі свої Бездротові Термінали в Універсальний Терміал!", "quests.ae2.interplanetary_wireless.subtitle": "Забув щось удома?", "quests.ae2.interplanetary_wireless.desc": "Ви можете модернізувати свій Бездротовий термінал за допомогою цієї спеціальної картки, отримавши доступ до вашої мережі з будь‑якої відстані, навіть з інших світів! Звучить занадто добре, щоб бути правдою? Є суттєвий недолік — передавання предметів споживає величезну кількість енергії. \n\nЧастково обійти це можна за допомогою Енергетичних карток і батареї у вашому інвентарі, встановленої в режим Розрядки, але цього має вистачити для тих випадків, коли ви випадково залишили щось на своїй базі на Землі й не хочете летіти назад. \n\nДля повноцінного автоматизованого перенесення вам знадобиться Рейкотрон.", + "quests.ae2.universal_circuits.title": "Універсальні схеми", + "quests.ae2.universal_circuits.subtitle": "О, так ось для чого вони потрібні!", + "quests.ae2.universal_circuits.desc": "Колись замислювався, для чого потрібні універсальні схеми? Окрім гарних іконок для квестів, вони головним чином використовуються в AE2! \n\nAE2 погано працює з тегами предметів у шаблонах, тому універсальні схеми створені для використання в будь-яких шаблонах, де потрібні схеми. Таким чином, коли ти відкриваєш новий тип схеми, достатньо додати лише один шаблон для перетворення нової схеми на універсальну, замість того щоб оновлювати &oвсі&r старі шаблони!", "quests.ae2.iv.title": "AE2 рівня IV", "quests.ae2.iv.desc": "Уся ця гілка стане повністю доступною, щойно ти досягнеш &1IV&r.", - "quests.ae2.accumulation_press.desc": "Щоб отримати цей &eНовий Прес для Інскрайбера&r, тобі доведеться трохи вкластися.\n\nСпершу потрібно оновити свій Імплозійний Компресор, додавши до нього &1два IV Енергетичні Люки&r.\n\nДалі — придбай собі новий IV Лазерний Гравер, якщо ще не маєш.\n\nІ нарешті — підготуй багато Промислового TNT, адже це &cєдине, що працює&r для цього процесу.\n\nПлануй уважно, бо цей крок доволі вимогливий!", + "quests.ae2.accumulation_press.desc": "Щоб отримати &eНовий прес інскрайбера&r, доведеться трохи вкластися.\n\nСпершу онови свій компресор імплозії, встановивши &5два енергетичні люки EV&r.\n\nПотім придбай новий лазерний гравер рівня IV, якщо в тебе його ще немає.\n\nІ нарешті, підготуй багато промислового TNT — це &cєдиний варіант, що працює&r для цього процесу.\n\nПлануй уважно, адже цей етап доволі вимогливий!", "quests.ae2.accumulation_processor.desc": "&eАкумуляційний Процесор&r вимагатиме велику кількість Кремнію для кожного крафту.\n\nСподіваємось, у тебе вже є виділений ЕДП, що виробляє Кремній, або принаймні потужна інфраструктура для його швидкого виготовлення.\n\nГотуйся заздалегідь, адже тобі знадобиться його чимало!", "quests.ae2.mega_crafting.desc": "Це чудове покращення для твого &bКрафтового CPU&r.\n\nВони допоможуть прискорити автокрафт і дозволять легко обробляти більші завдання.", "quests.ae2.mega_battery.desc": "&ebБільша батарея&r для більшої мережі. І більше тут додати нічого!", @@ -1859,7 +1882,7 @@ "quests.ae2.extended_import_export.desc": "Вони у вісім разів швидші за свої звичайні аналоги. Насолоджуйтесь!", "quests.ae2.extended_import_export.task": "Або саму деталь, або покращення", "quests.ae2.extended_io_port.desc": "Це оновлення дозволить вам &aпередавати швидше&r, а також надасть &6більше слотів для оновлень&r у разі потреби.", - "quests.ae2.extended_molecular_assembler.desc": "Вдосконалена версія &bМолекулярного Збирача&r.\n\nВона може виконувати &68 крафтів&r одночасно та працює &62 рази швидше&r.\n\nХоча її можна використовувати лише зі звичайним &bНосієм шаблонів&r, це буде &aчудовим покращенням&r перед тим, як ви отримаєте &dМультиблочну Матрицю&r трохи пізніше.", + "quests.ae2.extended_molecular_assembler.desc": "Покращення &bМолекулярного збирача&r. \n\nВін виконує &68 завдань крафту&r одночасно та працює &62 рази швидше&r. \n\nЦе буде &aчудове покращення&r перед тим, як ти отримаєш &dМатричний багатоблок&r трохи пізніше.", "quests.ae2.wireless.desc": "&aME Бездротовий Конектор&r — ваш головний інструмент, якщо ви не хочете прокладати величезні лінії з &bME Кабелів&r. Вони фактично працюють як короткодіапазонні Квантові тунелі, але мають обмежений радіус дії й не працюють між вимірами. Було б занадто просто, правда?\n\nНе забудьте перевірити внутрішньоігровий гід через &eG&r, щоб дізнатися, як вони працюють і які мають обмеження.", "quests.ae2.mega_cell_housing.desc": "Ці &bКорпуси для Капсул&r працюють так само, як базові, але вони потрібні для створення більших дисків із &dMEGA&r.", "quests.ae2.cell_component_64k.desc": "Тепер, коли у вас є &1IV&r Мікросхеми, ви можете створити цей величезний &5Компонент Зберігання&r. Хіба ви не раді, що зробили базу на Місяці?", @@ -1869,7 +1892,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 — це найбільший, який можна створити у &7TerraFirmaGreg&r. Чесно кажучи, ми вважаємо, що він вам ніколи не знадобиться, але він існує для тих, хто прагне завершити колекцію.", + "quests.ae2.cell_component_64m.desc": "&c64M Компонент Зберігання MEGA&r — це найбільший, який можна створити у &cTerraFirmaGreg&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": "Кам’яна доба", @@ -1923,7 +1946,7 @@ "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.task3": "Будь-які металеві штани", "quests.combat_tips.armor.task4": "Будь-які металеві чоботи", "quests.combat_tips.iron_main.title": "Залізна Доба", "quests.combat_tips.crossbow.title": "Арбалет", @@ -1945,6 +1968,7 @@ "quests.groups.interstellar": "Міжзоряна Епоха", "quests.groups.technological_help": "Технологічна допомога", "quests.groups.tips": "Поради", + "quests.groups.space_survival": "Виживання в космосі", "quests.computer": "ComputerCraft", "quests.computer.subtitle": "Дуже потужний мод для скриптингу на Lua", "quests.create_logistics": "Логістика Create", @@ -2083,6 +2107,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": "Останній крок перед екстремальним виробництвом енергії!", + "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 повністю налагоджена, адже тобі знадобиться його дуже багато! Безперервне виробництво зекономить тобі чимало нервів у майбутньому.", @@ -2114,8 +2142,8 @@ "quests.extreme_voltage.refrigerant_pellet.desc": "&eПлутонієвий паливний стрижень&r працює при надзвичайно високих температурах — настільки високих, що вам доведеться використовувати &bОхолоджувальні пелети&r усередині реактора, аби запобігти переходу в режим охолодження. \n\nЦі пелети досить дорогі у виробництві, але ви все ж зможете налагодити їх масове виготовлення на ранньому етапі — або принаймні достатньо, щоб підтримувати роботу перших кількох плутонієвих стрижнів. Для повного циклу одного Плутонієвого стрижня потрібно приблизно &9256&r. \n\nПізніше, якщо вам не подобається постійно крафтити ці витратні матеріали, ви отримаєте доступ до &6покращених компонентів реактора&r. З ними ваш реактор зможе безпечно досягати &e600 Макс. тепла&r, що значно підвищить ефективність і стабільність. \n\nІнвестуйте в кращі внутрішні частини заздалегідь, щоб витрачати менше часу на «нянькування» вашого енергетичного ядра.", "quests.extreme_voltage.important_info.title": "Перш ніж почати", "quests.extreme_voltage.important_info.subtitle": "Не найпростіше місце для початку", - "quests.extreme_voltage.important_info.desc.1": "Перш ніж почати будувати свою базу на &cМарсі&r, ось кілька важливих порад, які допоможуть вам успішно облаштуватися.&r \n\nПід час дослідження ви можете натрапити на &6Марсіанські руїни&r, що містять &eАтомні корпуси&r та &eКорпуси для високотемпературного плавлення&r. Вони не замінять величезну кількість, яка знадобиться вам пізніше, але можуть дати невеликий старт під час пошуку ідеального місця для бази.&r", - "quests.extreme_voltage.important_info.desc.2": "Коли йдеться про вашу марсіанську інфраструктуру, існує два основні підходи:&r \n\n• &aОрієнтований на підготовку&r: Збудуйте все необхідне для повної &6Лінії поділу&r ще до заснування бази. Це означає величезні матеріальні витрати, але дозволить бути самодостатнім після запуску. \n\n• &aПоступове розгортання&r: Почніть із меншого — вашої &6Фабрики ядерного палива&r, першого &6Ядерного реактора&r (на &eТорії&r) та &6Ядерної турбіни&r. Цей шлях швидший на старті, але керування енергією буде складним, доки система поділу не стабілізується. \n\nУ будь‑якому випадку ми завжди рекомендуємо провести розвідувальну місію, перш ніж оселятися!", + "quests.extreme_voltage.important_info.desc.1": "Перш ніж почати будувати свою базу на &cМарсі&r, ось кілька важливих порад, які допоможуть успішно облаштуватися.&r \n\nПерш ніж створювати цілу базу, щоб носити її в кишені, ми завжди рекомендуємо провести розвідувальну місію, перш ніж почати облаштовуватися!", + "quests.extreme_voltage.important_info.desc.2": "Коли йдеться про вашу марсіанську інфраструктуру, існує два основні підходи:&r\n\n• &aОрієнтований на підготовку&r: Збудуйте все необхідне для повної &6Лінії поділу&r ще до заснування бази. Це означає величезні матеріальні витрати, але дозволяє бути повністю самодостатнім після запуску.\n\n• &aПоступове розгортання&r: Почніть із меншого — вашої &6Фабрики ядерного палива&r, першого &6Реактора поділу&r (на &eТорії&r) та &6Ядерної турбіни&r. Цей шлях дозволяє швидше стартувати, але керування енергією буде складним, доки система поділу не стабілізується.", "quests.extreme_voltage.important_info.desc.3": "Оскільки жоден вид енергії на основі згоряння не працюватиме на Марсі, вам слід привезти добрий запас &bКристалів Лапотрону&r, щоб живити перші рецепти та системи подачі кисню. \n\nМи також наполегливо рекомендуємо встановити &6Дистиляційну вежу&r. &eМарсіанське повітря&r можна переробити на придатне для дихання &bПовітря&r та кілька інших корисних газів. \nАльтернативно, усе необхідне для Стисненого Нітроксу можна отримати з місцевої Напівважкої аміачної води. \n\nВиживання на Марсі — це не питання удачі, а питання підготовки!", "quests.extreme_voltage.important_info.task": "Час Марсувати", "quests.extreme_voltage.dense_lead.title": "Швидші щільні свинцеві пластини", @@ -2256,7 +2284,7 @@ "quests.extreme_voltage.nano_ev.desc": "Вони можуть виявитися навіть дешевшими у виробництві, ніж &bмікропроцесори&r, якщо ти зможеш ефективно налагодити масове виробництво &bнано CPU&r. \nЩойно твоя &cлінія поділу&r буде повністю автоматизована, ці схеми стануть надзвичайно вигідним варіантом для твоїх високорівневих проєктів.\n\nТакож зверни увагу, що відтепер ти можеш використовувати вдосконалені SMD компоненти!", "quests.extreme_voltage.nano_iv.subtitle": "Все ближче до технологій LuV", "quests.extreme_voltage.nano_iv.desc": "Ці &1IV&r схеми все ще потребують одного &bнано CPU чипа&r, тож у цьому сенсі вони насправді не дешевші за &bмікропроцесори&r.\n\nВтім, вони будуть необхідними для просування до наступного рівня технологій.", - "quests.extreme_voltage.nano_luv.subtitle": "Твої перші &1IV&r схеми", + "quests.extreme_voltage.nano_luv.subtitle": "Твої перші схеми LuV", "quests.extreme_voltage.nano_luv.desc": "Вітаємо з успішним досягненням нового рівня схем! Ці &dLuV&r схеми поки що не матимуть великого застосування, адже ти не зможеш створювати &dLuV&r машини, доки не завершиш &bплатинову лінію&r. \nВтім, вони все одно будуть цінними для створення нових інструментів і компонентів &dAE2&r.\n\nБільшість цих рецептів вимагатимуть &1IV&r збирача, тож переконайся, що він у тебе готовий.", "quests.extreme_voltage.me_part.title": "Частини ME мультиблоку", "quests.extreme_voltage.me_part.subtitle": "Підключи GregTech безпосередньо до своєї мережі AE2", @@ -2290,8 +2318,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": "Ось кілька корисних інструментів, які ти розблокував із &5EV&r збирачем.", + "quests.extreme_voltage.new_qol.title": "Нові інструменти для зручності?", + "quests.extreme_voltage.new_qol.desc": "Ось кілька корисних ґаджетів, які ти відкрив за допомогою EV Збирача.", "quests.extreme_voltage.building_gadgets.title": "Building Gadgets", "quests.extreme_voltage.building_gadgets.subtitle": "Засипати прекрасні ландшафти одним натисканням кнопки!", "quests.extreme_voltage.building_gadgets.desc": "Хочеш розширити свою фабрику ще більше? Просто вставити черговий мультиблок? А може, та гора заважає огляду?\n\nТоді тобі точно потрібні Building Gadgets — набір інструментів, які можуть усе це й навіть більше. Це ідеальні будівельні ґаджети на майбутнє, і вони ще й з інструкцією!", @@ -2299,7 +2327,7 @@ "quests.extreme_voltage.gasoline.desc": "&aБензин&r — надзвичайно потужне паливо для згоряння. Його енергетична щільність більш ніж у &63 рази&r перевищує щільність &dДизеля&r!\n\n&9Примітка:&r Це паливо для згоряння існує виключно як &eвиклик&r, який ти можеш прийняти, якщо готовий.\n\nЦе повністю &dнеобов’язково&r, тож ми дозволимо тобі самостійно з’ясувати, як його здобути — без жодних підказок.", "quests.extreme_voltage.radiation.title": "Поводження з радіацією", "quests.extreme_voltage.radiation.subtitle": "Особливо гострі матеріали", - "quests.extreme_voltage.radiation.desc.1": "Хоч GregTech і не має жодної “фонової радіації”, як деякі інші моди, &aрадіоактивні матеріали&r усе одно небезпечні для гравця при утриманні! Це стосується будь-якого предмета з позначкою &eКанцерогенний&r, що викликається &eБудь-яким контактом&r.\n\nЄ кілька способів зменшити ризик, і найпростіший — просто уникати контакту з такими предметами: переміщуй їх трубами, рюкзаками або навіть Малими Посудинами. Чим менше часу вони перебувають у твоєму інвентарі — тим краще!", + "quests.extreme_voltage.radiation.desc.1": "Хоча в GregTech немає жодної \"фонової радіації\", як у деяких інших модах, &aрадіоактивні матеріали&r все одно небезпечні для гравця при утриманні! Це стосується будь-якого предмета з позначкою &4Радіоактивний&r і викликано &eБудь-яким контактом&r. \n\nЄ кілька способів зменшити ризик, і найпростіший — просто уникати контакту з предметами. Переміщуй їх за допомогою труб, рюкзаків або навіть малих контейнерів. Чим менше часу вони перебувають у твоєму інвентарі, тим краще!", "quests.extreme_voltage.radiation.desc.2": "Окрім цього, тобі знадобляться й інші способи захисту. Носіння спорядження з тегом &e#ppe_armor&r у всіх чотирьох слотах захистить тебе від радіації. Проте таке спорядження все одно буде пошкоджуватись з часом (зі швидкістю, еквівалентною впливу радіації), &oза винятком&r &6Костюма для небезпечних матеріалів&r, який ніколи не отримує пошкодження від радіації.\n\nНедолік у тому, що костюм хазмат — це не космічний костюм, тож на Марсі тобі доведеться або облаштувати закриту базу з киснем для хазмату, або змиритися з пошкодженням твого космічного костюма.", "quests.extreme_voltage.radiation.desc.3": "Нарешті, ти можеш перевірити рівень радіаційного отруєння в будь-який момент за допомогою команди &a/medical_condition query&r. Якщо він стане надто високим, ти почнеш періодично отримувати шкоду або просто раптово помреш — тож краще запобігти цьому.\n\nЄдиний інший спосіб лікування — створити та з’їсти пігулки &bRad Away&r, кожна з яких зменшує накопичення на 50%%.", "quests.extreme_voltage.radiation.task": "Безпека понад усе!", @@ -2317,13 +2345,13 @@ "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.title": "Платиново-ренієвий каталізатор 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_catalyser.desc": "Щоб створити &eПлатиново-ренієвий каталізатор ZSM-5&r, потрібно налагодити нескінченні джерела &aЛугу&r, &aНатрію&r та &dКварцу Нижнього світу&r, а також &aАмоніаку&r і &aЕтанолу&r. &bАлюміній&r буде повністю зациклений, тоді як інші матеріали лише частково відновлюватимуться. \n\nЯкщо ти не впевнений щодо &dКварцу Нижнього світу&r, подивись на ланцюг рецептів, що починається з &eПіску&r. &aНатрій&r, своєю чергою, легко отримати з обробки &bМорської води&r, а луг — з деревної золи. \n\nНарешті, змішай усе разом із &5Платиною&r та &5Ренієм&r, щоб отримати свій &eКаталізатор&r. Хороша новина полягає в тому, що і платина, і реній повністю перероблюються в цьому процесі, тож хвилюватися не варто — їх доведеться добути лише один раз.", "quests.extreme_voltage.btx_loop.title": "Переробка використаного каталізатора", "quests.extreme_voltage.btx_loop.subtitle": "Повернути якомога більше", "quests.extreme_voltage.btx_loop.desc.1": "Остання частина цього ланцюга полягає у переробці використаного каталізатора. Загальний процес досить простий, а головною проблемою буде підтримання безперервного постачання &aУсилених епоксидних смоляних пластин&r та &eКлею&r. \n\nЯкщо у тебе досі працює &2система підсочки&r, цього більш ніж достатньо, щоб виробити всю смолу, необхідну для створення клею. Альтернативно, використання &bЕкстрактора&r на колодах також є цілком життєздатним варіантом. Цей метод трохи більш &cенергоємний&r, але вибір повністю залежить від твоєї інфраструктури.", - "quests.extreme_voltage.btx_loop.desc.2": "Невелика примітка щодо &9Розбавленої хлороводневої кислоти&r: її легко отримати реакцією &bВоди&r з &aХлором&r. Ти можеш зберігати свою &dХлорнуватисту кислоту&r або провести її &7Електроліз&r, якщо хочеш повернути &fполовину Хлору&r. \n\nЩо стосується &6Сульфатної кислоти&r, то ти вже маєш доступ до &aнескінченного джерела Сірки&r через свою систему &eПетрохімічної дистиляції&r. Якщо це ще не так, ми наполегливо радимо вирішити це якомога швидше. Альтернативно, &7Кам’яновугільний дьоготь&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": "Давай щось пояснимо", @@ -2381,7 +2409,7 @@ "quests.gregtech_energy.lgt.title": "Велика Газова Турбіна", "quests.gregtech_energy.lgt.subtitle": "Улюбленець фанатів", "quests.gregtech_energy.lgt.desc.1": "&6Велика Газова Турбіна&r — також відома як &dВГТ&r — це одне з двох основних джерел енергогенерації для більшої частини модпака. Першу турбіну ви зможете побудувати на рівні &5EV&r з використанням Нержавіючої Сталі. Вона зможе обслуговувати вас від &5EV&r аж до &dLuV&r, поки ви не будете готові перейти на Велику Плазмову Турбіну.\n\nВтім, багато гравців здатні завершити TerraFirmaGreg, використовуючи лише ці турбіни — за умови наявності потужної інфраструктури для забезпечення газових потреб турбін високих рівнів.\n\nЩоб побудувати ВГТ, вам знадобляться стандартні Технічний Люк та Вхідний Люк. Ця турбіна потребує Глушника, але не використовує Вихідний Люк.", - "quests.gregtech_energy.lgt.desc.2": "Базовий вихід становить &e4096 EU/t&r. Цей показник &cподвоюється&r з кожним оновленням Держателя Ротора після &5EV&r. Наприклад, ВГТ з Держателем Ротора IV (×2) і Турбінним Ротором з HSS-E (280%% потужності) вироблятиме:\n4096 × 2 × 2.8 = &e22,937.6 EU/t&r — це приблизно &a2.8A IV&r.\n\nЩоб повністю забрати цю енергію, вам знадобиться Динамо-люк IV 4A, оскільки звичайний Динамо-люк витримує лише 2A.\n\nДо речі: Показник Ефективності Турбінного Ротора збільшує тривалість рецепту, тобто ви отримуєте більше енергії з кожного mB пального.\n\nНарешті, якщо Динамо-люк заповниться, ВГТ автоматично сповільниться і призупинить використання пального, поступово знижуючи швидкість ротора, доки не відновиться. Тож пальне не буде витрачатися дарма під час затору.", + "quests.gregtech_energy.lgt.desc.2": "Базовий вихід становить &e4096 EU/t&r. Цей вихід &подвоюється&r з кожним апгрейдом тримача ротора після &5EV&r. Наприклад, ВГТ з IV-тримачем ротора (×2) та ротором турбіни HSS-E (280%% потужності) вироблятиме: \n4096 × 2 × 2.8 = &e22,937.6 EU/t&r — це приблизно &a2.8A IV&r. \n\nЩоб повністю витягнути цю енергію, тобі знадобиться принаймні IV 4A динамо-люк, адже звичайний динамо-люк витримує лише 2A. \n\nМай на увазі: показник ефективності ротора турбіни збільшує тривалість рецепту, що означає більше енергії з кожного мБ палива. \n\nНарешті, якщо динамо-люк заповниться, ВГТ почне утилізувати надлишок, тому варто вимикати ВГТ, коли твій буфер батарей або підстанція починає переповнюватися — за допомогою Advanced Energy Detector Cover та Machine Controller Cover.", "quests.gregtech_energy.lst.title": "Велика Парова Турбіна", "quests.gregtech_energy.lst.subtitle": "Воно... існує", "quests.gregtech_energy.lst.desc.1": "&6Велика Парова Турбіна&r — або &dВПТ&r — можливо, не найпоширеніший Великий Генератор у класичному GregTech, але завдяки ранньому доступу на рівні &6HV&r і тому, що Великі Котли значно сильніші в TerraFirmaGreg, вона точно має своє місце.\n\nЩоб вона працювала, вам знадобиться Вхідний Люк для пари, Вихідний Люк для Дистильованої Води і, звісно ж, Технічний Люк. Це все, що потрібно!\n\nЯк і у випадку з іншими Великими Турбінами, слід розмістити Держатель Ротора з одного боку та Динамо-люк з іншого — для виведення енергії. Для ВПТ Держатель Ротора має бути щонайменше рівня &6HV&r. Кожне покращення Держателя Ротора &cподвоює&r вихідну потужність і трохи підвищує ефективність.", @@ -2422,7 +2450,7 @@ "quests.gregtech_energy.smr.task": "", "quests.gregtech_energy.gasoline.title": "Бензин", "quests.gregtech_energy.gasoline.subtitle": "Середня дитина", - "quests.gregtech_energy.gasoline.desc": "&aБензин&r — це справді потужне паливо для згоряння, яке ви розблокуєте на &6HV&r, але на практиці починаєте виробляти лише після побудови своїх перших &6Дистиляційних веж&r. &7Толуол&r легко виготовляється з &7Деревного дьогтю&r або &7Важкого палива&r, а все інше, що вам потрібно — це &dНафтовий газ&r, &7Нафта&r та суміш з &3Кисню&r, &bВодню&r і &1Вуглецю&r.\n\nЦе потужне паливо, досить просте у виробництві, і що ще краще — його можна покращити до &cБензину з високим октановим числом&r.", + "quests.gregtech_energy.gasoline.desc": "&aБензин&r — це справді потужне паливо для згоряння, яке ви розблокуєте на &6HV&r, але на практиці починаєте виробляти лише після побудови своїх перших &6Дистиляційних веж&r. &7Толуол&r легко виготовляється з &7Деревного дьогтю&r або &7Важкого палива&r, а все інше, що вам потрібно — це &dНафтовий газ&r, &eНафта&r та суміш з &3Кисню&r, &bВодню&r і &1Вуглецю&r.\n\nЦе потужне паливо, досить просте у виробництві, і що ще краще — його можна покращити до &cБензину з високим октановим числом&r.", "quests.gregtech_energy.high_gasoline.title": "Бензин з високим октановим числом (HOG)", "quests.gregtech_energy.high_gasoline.subtitle": "Надзвичайно потужний", "quests.gregtech_energy.high_gasoline.desc": "Пряме покращення &cБензину&r — це &5паливо, вдвічі потужніше&r. Попри назву, вам потрібно додати не лише &dОктан&r, а й інші матеріали з &7Петрохімії&r. На цьому етапі ми очікуємо, що ви вже зможете орієнтуватися в &bEMI&r і розпочати виготовлення цього надзвичайно потужного палива.", @@ -2437,15 +2465,15 @@ "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Вона особливо корисна для &bобробних ліній AE2&r, а також здатна живити твої &bГлибинні бури&r.\n\nНе забудь, що ти можеш скористатися предметом &bТермінал GregTech&r, щоб миттєво побудувати мультиблок — просто затисни Shift і клацни ПКМ по контролері.\n\nПеревір рецепти, натиснувши &eU&r на контролері — там знайдеш усі доступні варіанти.", - "quests.gregtech_energy.large_solar.desc.2": "&6Велика Сонячна Матриця MK I&r має &92 різні режими роботи&r:\n\n&9• Пасивний режим&r — \nУ цьому режимі поступово витрачаються &dфотовольтаїчні елементи&r, тож під час активного облаштування бази можна просто закинути туди стак, але він не працюватиме вічно. Генерує лише &62A HV&r удень — достатньо для базових систем, але далеко не оптимально.\n\n&9• Активний режим&r — \nЯкщо хочете &aмаксимізувати виробіток енергії&r, потрібно буде керувати охолодженням. Це вимагатиме більш розвиненої Місячної бази, але винагородою стане &52A EV&r!\n\nІснують також версії MK II та MK III для вищих рівнів, що потребують більш вдосконалених охолоджувачів.", + "quests.gregtech_energy.large_solar.desc.1": "Велика сонячна панель MK I стане твоїм основним рішенням, якщо ти хочеш облаштувати більшу базу на Місяці. \n\nВона особливо корисна для &bAE2&r виробничих ліній, а також може живити твої збирачі місячного пилу. \n\nНе забудь, що можна використати предмет GregTech Terminal, щоб миттєво побудувати мультиблок, затиснувши Shift і клацнувши ПКМ по контролеру. \n\nПереглянь доступні рецепти, просто натиснувши &eU&r на контролері, щоб побачити свої варіанти.", + "quests.gregtech_energy.large_solar.desc.2": "&6Велика Сонячна Панель MK I&r має &92 різні режими роботи&r:\n\n&9• Пасивний режим&r — \nУ цьому режимі поступово витрачаються &dфотовольтаїчні елементи&r, тож під час активного облаштування бази можна просто закинути туди стак, але він не працюватиме вічно. Генерує лише &62A HV&r удень — достатньо для базових систем, але далеко не оптимально.\n\n&9• Активний режим&r — \nЯкщо хочете &aмаксимізувати виробіток енергії&r, потрібно буде керувати охолодженням. Це вимагатиме більш розвиненої Місячної бази, але винагородою стане &52A EV&r!\n\nІснують також версії MK II та MK III для вищих рівнів, що потребують більш вдосконалених охолоджувачів.", "quests.gregtech_energy.large_solar_t2.subtitle": "Ще потужніше", - "quests.gregtech_energy.large_solar_t2.desc.1": "Якщо ти будуєш &dбазу AE2 на Місяці&r, тобі, швидше за все, знадобиться набагато більше енергії. І саме тут вступає в гру &6Велика сонячна матриця MK II&r!\n\nЯк і MK I, вона має 2 рецепти — але цього разу жоден із них не є повністю пасивним.", + "quests.gregtech_energy.large_solar_t2.desc.1": "Якщо ти будуєш &dбазу AE2 на Місяці&r, тобі, швидше за все, знадобиться набагато більше енергії. І саме тут вступає в гру &6Велика сонячна панель MK II&r!\n\nЯк і MK I, вона має 2 рецепти — але цього разу жоден із них не є повністю пасивним.", "quests.gregtech_energy.large_solar_t2.desc.2": "І &bСонячний охолоджувач&r, і &bКріогенізований флюїкс&r є повністю відновлюваними на Місяці. Ба більше — цикл Сонячного охолоджувача переробляє свої &eФтор&r та &eХлор&r, тобто тобі потрібне лише стабільне постачання:\n\n• Гелій-3 — добувається за допомогою &aБурової установки для рідин&r \n• Вода — збирається пасивно через &aВодяний акумулятор&r\n\n&cАварійне резервне живлення:&r \nЯкщо постачання рідин буде перерване, LSA MK II все одно зможе працювати на фотоелементах. \nЦей резервний режим дозволяє базі залишатися онлайн, поки ти вирішуєш проблему.\n\nОбов’язковий елемент для будь-якої серйозної позаземної інфраструктури AE2.", "quests.gregtech_energy.large_solar_t3.subtitle": "Максимальна потужність", - "quests.gregtech_energy.large_solar_t3.desc": "Останній рівень — це &6Велика сонячна матриця MK III&r. Вона працює так само, як MK II, але її новий охолоджувач потребує додавання &aАргону&r та &bСилікатного аерогелю&r.\n\nТи вже знайомий із &bСилікатним аерогелем&r — ти використовував його у своєму &dРакетному рівні 3&r. \nВтім, на Місяці його набагато складніше виробляти, і тобі, можливо, доведеться постійно доставляти його з &aЗемлі&r.\n\nЯк вирішити цю логістичну задачу — автоматизацією чи міжпланетним транспортом — вирішувати тобі.\n\n&eВисокотехнологічна енергія&r потребує &cінфраструктури високого рівня&r. Плануй мудро!", + "quests.gregtech_energy.large_solar_t3.desc": "Останній рівень — це &6Велика сонячна панель MK III&r. Вона працює так само, як MK II, але її новий охолоджувач потребує додавання &aАргону&r та &bСилікатного аерогелю&r.\n\nТи вже знайомий із &bСилікатним аерогелем&r — ти використовував його у своєму &dРакетному рівні 3&r. \nВтім, на Місяці його набагато складніше виробляти, і тобі, можливо, доведеться постійно доставляти його з &aЗемлі&r.\n\nЯк вирішити цю логістичну задачу — автоматизацією чи міжпланетним транспортом — вирішувати тобі.\n\n&eВисокотехнологічна енергія&r потребує &cінфраструктури високого рівня&r. Плануй мудро!", "quests.gregtech_energy.solar_panel.subtitle": "Світло в темряві", - "quests.gregtech_energy.solar_panel.desc": "Сонячна Панель буде вашим першим джерелом енергії на Місяці.\n\nВдень вона виробляє 32 EU/t, але пам’ятайте, що фактично генерує RF, тож знадобиться Конвертер, щоб перетворити його на EU.\n\nВи можете використати один &bMV Конвертер&r для до 2 Сонячних Панелей або &6HV Конвертер&r для до 4 Панелей.", + "quests.gregtech_energy.solar_panel.desc": "Сонячна панель буде твоїм першим джерелом енергії на Місяці. \n\nВона виробляє 32 EU/t вдень, але май на увазі, що фактично генерує FE, тож тобі знадобиться конвертер для перетворення в EU. \n\nМожна підключити до &bMV-конвертера&r до 4 сонячних панелей.", "quests.gregtech_energy.storage.title": "Збереження Енергії", "quests.gregtech_energy.storage.subtitle": "Треба ж десь подіти всю цю енергію", "quests.gregtech_energy.storage.desc": "Зберігання енергії — одна з фундаментальних засад енергетичної системи в GregTech.\n\nЧому це так? Бо навіть найпотужніші генератори не здатні підтримувати стабільну подачу при запуску великого крафту — особливо на пізніх етапах гри.\n\nЩоб впоратися з цим, GregTech пропонує низку рішень для зберігання астрономічних обсягів EU. Такі сховища працюють як буфер між генерацією енергії та машинами, які її поглинають під час складних операцій.\n\nЧи то ти готуєшся до запуску реактора термоядерного синтезу, ВХР чи ланцюга крафтів масштабу HV–IV, резервний запас енергії стане ключем до стабільності.\n\nНе недооцінюй силу хорошої батареї — саме вона може врятувати твою базу від блекауту у критичний момент.", @@ -2464,7 +2492,7 @@ "quests.gregtech_energy.pss.title": "Електрична Підстанція", "quests.gregtech_energy.pss.subtitle": "Усе в одну карту", "quests.gregtech_energy.pss.desc.1": "&dПідстанція живлення&r — також відома як &dPSS&r — це &6ультимативна призначена для користувача батарейна мультиструктура&r. Щойно ви зможете створити її на &1IV&r, вона легко стане центральним джерелом енергії вашої бази, тож варто на це орієнтуватися.\n\nВона здатна зберігати стільки енергії... вам би знадобилося кілька життів, щоб її заповнити.", - "quests.gregtech_energy.pss.desc.2": "&eЯк це працює&r: \n- Побудуй структуру, використовуючи &aОбшивку Підстанції з Паладію&r. \n- Додай щонайменше &b1 Енергетичний Люк&r (вхід) та &b1 Динамо Люк&r (вихід). \n- Приймає &aбудь-який люк&r — &7на основі амперажу&r або &6лазерний&r. \n- &cНемає ризику вибуху&r — трансформатори &aінтегровані&r. \n\n&eШари Конденсаторів&r: \n- Можна додати до &d17 шарів&r &9Блоків Конденсаторів&r поверх структури. \n- Кожен шар має бути &cповністю заповнений&r — без прогалин. \n- Можна змішувати &fпорожні&r та &6заповнені&r конденсатори як завгодно. \n\nОточи кожен шар &bЛамінованим Склом&r. \n\nБудьмо чесними: &cТобі ніколи не знадобиться 17 шарів&r... але, знаєш, мріяти не заборонено. \nЯкщо ти справді побудуєш повну 17-шарову Підстанцію, &lбудь ласка, звернись до лікаря&r — ти зайшов надто далеко.", + "quests.gregtech_energy.pss.desc.2": "&eЯк це працює&r: \n- Побудуй структуру з &aОбшивок паладієвої підстанції&r. \n- Додай щонайменше &b1 Енергетичний люк&r (вхід) та &b1 Динамо-люк&r (вихід). \n- Приймає &aбудь-який люк&r — &cна основі амперажу&r або &6лазерний&r. \n- &cНемає ризику вибуху&r — трансформатори &aінтегровані&r. \n\n&eШари конденсаторів&r: \n- Можна додати до &d17 шарів&r з &9Блоків конденсаторів&r поверх структури. \n- Кожен шар має бути &cповністю заповнений&r — без прогалин. \n- Змішуй &fпорожні&r та &6повні&r конденсатори як завгодно. \n\nОточи кожен шар &bЛамінованим склом&r. \n\nБудьмо чесними: &cТобі ніколи не знадобиться 17 шарів&r... але мріяти масштабно завжди приємно. \nЯкщо ти колись збудуєш повну 17-шарову PSS, &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Енергія — це енергія. Хто її рахує?", @@ -2480,7 +2508,7 @@ "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, буде: \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.desc.3": "Є особливий тип розгону, доступний лише для кількох мультиблоків: &eІдеальний розгін&r. \nТут замість 4x енергії за 2x швидкість ти отримуєш &a4x енергії&r за &a4x швидкість&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": "Тобі не потрібно це розуміти", @@ -2491,7 +2519,7 @@ "quests.gregtech_energy.subtick.title": "Підтакт", "quests.gregtech_energy.subtick.subtitle": "Паралельний?", "quests.gregtech_energy.subtick.desc.1": "Ще одна прихована механіка в мультиблоках GregTech: &dПідтакт&r.\n\nЩо це таке? Підтакт активується, коли рецепт стає настільки швидким, що його обробка займає менше одного такту. Зазвичай машини не можуть працювати швидше, ніж один рецепт за такт— але з Підтактом можуть!\n\nЯк це працює? Коли рецепт досягає тривалості в 1 такт, подальше оновлення Енергетичного Люка вже не пришвидшує процес.\nАле завдяки Підтакту, замість марного витрачання енергії, машина буде &aвиконувати рецепт паралельно внутрішньо&r.", - "quests.gregtech_energy.subtick.desc.2": "Наприклад: Якщо твій Великий Хімічний Реактор (ВХР) виконує рецепт LuV за 1 такт, то на ZPM рівні він зможе виконувати &e2 рецепти за такт&r. Ще швидші виходи означають більший внутрішній паралелізм.\n\n&dПримітка&r: Наразі всі Великі Машини підтримують обмежений підтакт, але &aтільки ВХР&r здатен як до підтакту, так і до Ідеального Розгону. Саме тому немає IV-мультиблоку з паралельними виходами для ВХР: він уже це робить... але краще.", + "quests.gregtech_energy.subtick.desc.2": "Наприклад: якщо твій Великий хімічний реактор (ВХР) виконує рецепт LuV за 1 тик, то на ZPM він працюватиме &e2 рецепти за тик&r. Ще швидші люки означають більше внутрішнього паралелізму. \n\n&dПримітка&r: станом на зараз усі великі машини можуть працювати в субтактах у обмеженій формі, але &aлише ВХР&r та &eТеплообмінник&r підтримують і субтакти, і ідеальний розгін. Саме тому немає IV мультиблоку з паралельними люками для ВХР: він уже робить це... але краще.", "quests.gregtech_energy.parallel_hatch.title": "Паралельний Люк", "quests.gregtech_energy.parallel_hatch.subtitle": "Паралельний знову?", "quests.gregtech_energy.parallel_hatch.desc.1": "&dПаралельний Люк&r — головна перевага Великих Мультиблоків.\n\nЩо він робить?\nТам, де дозволено (здебільшого у мультиблоках, створених через Плавильник Сплавів), він дозволяє запускати &aдекілька рецептів одночасно&r.\n\nЦе працює шляхом збільшення споживання енергії за такт, але суттєво підвищує продуктивність. Ідеально підходить для масового виробництва сплавів, схем або пластин.", @@ -2500,14 +2528,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": "В ідеалі ви захочете максимізувати всі три параметри, але вибір залежатиме від того, скільки палива ви виробляєте, скільки турбін маєте та як часто готові їх замінювати, тож однозначно правильного варіанту немає. &7(Окрім нейтронію, звісно...)&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, Ультимет у &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Наразі реактор може використовувати їх трьома&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.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 Можливо, у твоїй локальній галактиці немає необхідних матеріалів для всіх категорій. Ми розуміємо, що знайти матеріали можна лише для першої категорії.", "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 через систему обробки. Кожен рецепт має свій тепловий вплив.", @@ -2525,13 +2553,13 @@ "quests.high_voltage.chem_bath.desc": "&3Хімічна Ванна Hv&r використовується для &dфарбування Лінз&r за допомогою &aХімічного Барвника&r. Це дозволяє гравіювати більше типів Вафель і охолоджувати інші види Гарячих Зливків.", "quests.high_voltage.maintenance_hatches.title": "Розширене Обслуговування", "quests.high_voltage.maintenance_hatches.subtitle": "Я став обслуговуванням, пожирачем стрічки", - "quests.high_voltage.maintenance_hatches.desc.1": "Тепер у вас є доступ до двох &3нових люків обслуговування&r. Обидва люки &6не потребують обслуговування&r одразу після встановлення в мультиблок.\n\n&3Автоматичний люк обслуговування&r досить простий — він повністю усуває потребу в обслуговуванні &6назавжди&r.\n\n&3Конфігурований люк обслуговування&r цікавіший. Його можна налаштувати так, щоб скоротити &aтривалість рецептів на 10\u202F%&r, але ціною буде утричі швидше виникнення потреби в обслуговуванні. Це становить &d16 реальних годин&r роботи. Крім того, його можна використовувати на мультиблокових генераторах для збільшення тривалості рецепту, що опосередковано підвищує ефективність використання палива на 10\u202F%!\n\n&9Нагадування:&r у люк обслуговування можна покласти стрічку, щоб автоматично усувати проблеми.", + "quests.high_voltage.maintenance_hatches.desc.1": "Тепер у тебе є доступ до двох &3нових люків обслуговування&r. \n\n&3Автоматичний люк обслуговування&r досить простий — він усуває потребу в обслуговуванні &6назавжди&r. \n\n&3Конфігурований люк обслуговування&r цікавіший. Його можна налаштувати так, щоб скоротити &aтривалість рецептів на 10%%&r, але ціною того, що обслуговування відбуватиметься утричі швидше. Це становить &d16 реальних годин&r роботи. Додатково його можна використовувати на мультиблокових генераторах для збільшення тривалості рецепту, що опосередковано підвищує ефективність використання палива на 10%! \n\n&9Нагадування:&r у люк обслуговування можна покласти стрічку, щоб автоматично виправляти проблеми.", "quests.high_voltage.maintenance_hatches.desc.2": "&l&3Лор:&r&o Текстура та механіка Автоматичного Люка Обслуговування походять з TecTech — аддону, спочатку створеного для GregTech: New Horizons.\n\n&oУ пізній грі ви побачите ще більше контенту з TecTech.", "quests.high_voltage.hv_components.title": "Компоненти Високої Напруги", "quests.high_voltage.hv_components.subtitle": "Ми називаємо це «розвагою»", "quests.high_voltage.hv_components.desc.1": "Так само, як і з &bMV&r, вам доведеться створювати компоненти вищого рівня.\n\nНеприємні &dІдеальні Самоцвіти&r замінено на трохи менш приємні &dЗавітрифіковані Ендер Перли&r. Зверніть увагу, що для &aДвигунів&r тепер потрібно &d2x Срібні Кабелі&r.\nА &aКорпуси&r та &aМашини&r використовують &dЗолоті Кабелі&r.\n\nНарешті, знайшлось застосування для тих запасів золота!", "quests.high_voltage.hv_components.desc.2": "&9&lПоради, щоб життя було менш болючим:&r\n\n- Використовуйте &dдекомпозицію Електротину&r та &dОбробку Руди&r для отримання &eЕлектруму&r.\n- Скористайтесь &3Хімічною Ванною&r з &dРтуттю&r для вилучення &eЗолота&r та &eСрібла&r з широкого спектра руд.", - "quests.high_voltage.assembler.title": "Збиральна Машина HV", + "quests.high_voltage.assembler.title": "HV Збирач", "quests.high_voltage.assembler.desc": "&3Збирач Hv&r — наступний крок у прогресії, який також відкриває доступ до низки корисних утиліт — перегляньте завдання поруч із цим, щоб дізнатись більше.\n\nВам знадобиться цей &6Збирач Hv&r для створення вашої &dРакети&r.", "quests.high_voltage.lenses.title": "Я бачу світ у кольорі", "quests.high_voltage.lenses.desc": "&aПроста Система на Чипі&r буде використана для найкращого рецепта &dULV Схеми&r.\n\nРекомендуємо заздалегідь виготовити всі інші корисні кольорові Лінзи. Вони перелічені тут в &eнеобов’язковому&r завданні.", @@ -2539,7 +2567,7 @@ "quests.high_voltage.ulv_circuits.desc": "&8ULV&r Схеми використовуються в деяких рецептах &9AE2&r та &aCreate&r.", "quests.high_voltage.hv_energy_hatch.title": "Покращення вашої ЕДП II", "quests.high_voltage.hv_energy_hatch.subtitle": "Тобі це нічого не нагадує?", - "quests.high_voltage.hv_energy_hatch.desc": "&3HV Різальна машина&r є обов’язковою всередині вашої &3Чистої кімнати&r для створення &aНизькопотужної інтегральної схеми&r.\n\n&3HV Енергетичні люки&r — чудове доповнення, оскільки дозволяють живити ваші багатоблоки (передусім &3Електропіч високої температури&r та &3Велику хімічну реакторну установку&r) безпосередньо від &6HV&r-лінії.", + "quests.high_voltage.hv_energy_hatch.desc": "&aНизькопотужна інтегральна схема&r потребує &3HV різак&r всередині твого &3Чистого приміщення&r. \n\n&3HV енергетичні люки&r стануть гарним доповненням, щоб ти міг запускати свої мультиблоки (переважно Електричну доменну піч та Великий хімічний реактор) безпосередньо від &6HV&r лінії.", "quests.high_voltage.chem_reactor.title": "Хімія високої напруги", "quests.high_voltage.chem_reactor.desc": "&3HV Хімічний реактор&r відкриває купу нових рецептів. А хто ж не любить постійно зростаючий попит на більш просунуту хімію?\n\n&9Примітка:&r Ми фактично відкрили масу нового контенту, досягнувши &6HV&r. Проте не кожна лінія обробки чи предмет є критично важливими саме зараз. Якби ми включили все, розділ &6HV&r був би надто перевантаженим!\n\nМожеш зазирнути до розділу &5EV&r, якщо хочеш кинути собі виклик.", "quests.high_voltage.rutile_loop.title": "Майже титан", @@ -2564,7 +2592,7 @@ "quests.high_voltage.mv_superconductors.desc": "&a4A&r передача &bMV&r енергії може виглядати привабливо, але наразі тобі, ймовірно, це не потрібно. Втім, така опція завжди доступна, якщо знадобиться.", "quests.high_voltage.circuit_assembler.title": "HV схематологічний збирач", "quests.high_voltage.circuit_assembler.subtitle": "Вам знадобиться Чиста кімната, перш ніж ви зможете створити цей предмет", - "quests.high_voltage.circuit_assembler.desc": "Наступний &3Збирач схем&r. Цей рівень Збирача схем потрібен лише для одного типу схем — твого першого &aМейнфрейму&r. Можливо, ти використаєш його лише один раз, перед переходом до &5EV Збирача схем&r.\n\nМожеш відкласти його до &5EV&r або просто використати для пришвидшеного складання схем.", + "quests.high_voltage.circuit_assembler.desc": "Наступний &3Схематологічний збирач&r. Цей рівень схематологічного збирача потрібен лише для одного типу схем — твого першого &aМейнфрейму&r, але ти не зможеш створити його до Марса в &5EV&r. Тож у тебе може бути лише одне застосування для них — &5EV схематологічний збирач&r. \n\nОкрім цього, &6HV&r схематологічний збирач також потрібен для створення &eПроцесорів&r з AE2. \n\nМожеш відкласти це до &5EV&r або просто використати для швидшого виготовлення схем.", "quests.high_voltage.microprocessor_mainframe.title": "Мейнфрейми — це перші IV схеми!", "quests.high_voltage.microprocessor_mainframe.desc": "Перша &1IV&r схема. Вітаємо з досягненням цього етапу!\n\nВона знадобиться, коли ти перейдеш до &5EV&r, або ж можеш використати її вже зараз для створення &aВдосконаленого нагрудника нанокостюма&r — значного апгрейду твого реактивного ранця!\n\n&l&3Лор:&r&o Оригінальна текстура для Мейнфреймів була взята з зображення IBM zEnterprise mainframe.", "quests.high_voltage.cleanroom.title": "Чиста кімната", @@ -2595,7 +2623,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А потім закинь його в &7Імплозійний компресор&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.", @@ -2632,7 +2660,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 та &7Імплозійного Компресора&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- Зроби своє перше &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.", @@ -2686,7 +2714,7 @@ "quests.high_voltage.gun.subtitle": "А якщо це не спрацює — використайте більше зброї", "quests.high_voltage.gun.task1": "Будь-яка зброя", "quests.high_voltage.gun.task2": "Будь-які ліки або витриманий алкоголь", - "quests.high_voltage.gun.desc": "Відчуваєте себе занадто комфортно на Землі? На Місяці ви будете не самі, тож подбайте про належний захист — вам знадобиться більше, ніж просто меч чи кам’яні дротики.\n\n&4Місяць небезпечний&r, і ви ж не хочете втратити свою цінну ракету, правда?\n\nВиберіть гарну вогнепальну зброю (якщо не впевнені, радимо &o«Clockwork» снайперську гвинтівку&r), створіть набої та, за бажання, спробуйте встановити додаткові модулі.\n\nТакож варто взяти поживну їжу, щоб підвищити максимальний запас здоров’я (спробуйте харчові набори!), а ще алкоголь і ліки для отримання підсилень та зцілення.", + "quests.high_voltage.gun.desc": "Вже занадто зручно на Землі? На Місяці ти не будеш сам, тож переконайся, що добре підготувався для захисту — тобі знадобиться більше, ніж просто меч чи кам’яні списи. \n\n&4Місяць небезпечний&r, і ти ж не хочеш втратити свою дорогоцінну ракету, правда? \n\nОбери гарну зброю (якщо не впевнений, рекомендуємо &o«Механічну» гвинтівку&r), створи трохи набоїв і, можливо, спробуй кілька модифікацій, якщо хочеш чогось особливого. \n\nТакож варто взяти поживну їжу, щоб підвищити максимальний запас HP (спробуй харчові набори!), а ще алкоголь і ліки для бафів та лікування.", "quests.high_voltage.space_survival.title": "Затишок далеко від дому", "quests.high_voltage.space_survival.subtitle": "Більше, ніж просто шахтарський вимір", "quests.high_voltage.space_survival.desc": "Якщо ти ще не ознайомився, обов’язково переглянь розділ завдань &3Поради — Космічне виживання&r! У ньому є вся необхідна інформація для створення повноцінної колонії на Місяці.", @@ -2701,14 +2729,14 @@ "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 та &7Вугільного Пилу&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• &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": "Три мушкетери", "quests.high_voltage.regolith_dust.desc": "Ви можете отримати &b4 різні типи Пилу Реголіту&r, кожен з яких дає унікальні ресурси.\n\nКожен тип прив’язаний до певного &7глибокого біому&r на &7Місяці&r. Майте на увазі: ці біоми не з’єднані між собою, тож доведеться трохи досліджувати територію.\n\nЗнайти потрібний біом значно легше за допомогою &aXaero Map&r — використовуйте його, щоб швидко визначити, де можна збирати кожен тип пилу.", "quests.high_voltage.dusty_ores.title": "Пилові Руди", "quests.high_voltage.dusty_ores.subtitle": "Ви говорите про подальшу переробку руди?", - "quests.high_voltage.dusty_ores.desc": "&7Пилова Руда&r — це ексклюзивний тип руди з &dTerraFirmaGreg&r. Усі &cнескінченні руди&r, які ти здобудеш на &7Місяці&r — а згодом і на &4Марсі&r — з’являтимуться у вигляді Пилових Руд.\n\nНа цьому етапі єдиний спосіб їх обробки — використання &6Центрифуги&r для вилучення пилу.\n\nДосить обмежено, правда? Не хвилюйся — після прибуття на &eВенеру&r ти відкриєш значно &eкращі варіанти обробки&r!\n\nПорада: вже зараз можна пришвидшити процес за допомогою &6Великого Хімічного Реактора&r. Завдяки &bІдеальному Розгону&r він обробляє Пилові Руди набагато швидше, ніж базовий рецепт.", + "quests.high_voltage.dusty_ores.desc": "&7Пилова руда&r — це ексклюзивний тип руди з &dTerraFirmaGreg&r. Усі &cнескінченні руди&r, які ти здобудеш на &7Місяці&r — а пізніше й на &4Марсі&r — з’являтимуться у вигляді пилових руд. \n\nНа цьому етапі єдиний спосіб їх обробки — використати &6Центрифугу&r для вилучення пилу. \n\nДосить обмежено, правда? Не хвилюйся — на &eВенері&r ти відкриєш набагато &eкращі методи обробки&r! \n\nПорада: ти вже можеш пришвидшити процес за допомогою &6Великого хімічного реактора&r. Завдяки &bІдеальному розгону&r він обробляє пилові руди значно швидше, ніж базовий рецепт.", "quests.high_voltage.dusty_ores.task": "Усі Пилові Руди Місяця", "quests.high_voltage.final_dust.title": "Нескінченні Пили", "quests.high_voltage.final_dust.subtitle": "Нарешті нескінченні ресурси", @@ -2731,6 +2759,12 @@ "quests.low_voltage.lv_age_progression.subtitle": "Забагато варіантів, занадто мало часу!", "quests.low_voltage.lv_age_progression.desc": "&7LV&r вимагатиме від тебе створення багатьох різних машин! Ось дружня порада, якщо тобі важко визначити цілі: вибери предмет у пізнішому квесті та рухайся назад від нього. \n\nЗважаючи на це... чому б не почати з &5Контролера термоядерного синтезу&r? Хоча, можливо, це трохи надто амбітно—давай перевіримо ближчу ціль. Ага, &3Електрична випалювальна піч&r—це головна кінцева мета &7LV&r, і вона чудово підходить як орієнтир. \n\nЕДП &aдорога&r, тому спочатку слід зосередитися на машинах для здешевлення компонентів і матеріалів. Наші квести намагатимуться спрямувати тебе у правильному напрямку. \n\nІнші важливі цілі—створення &3LV Асемблера&r, виробництво твоїх перших &aMV схем&r та отримання першого &bАсемблера схем&r.", "quests.low_voltage.lv_age_progression.task": "Я... здається, починаю розуміти, куди рухатися", + "quests.low_voltage.lost.title": "Загубився?", + "quests.low_voltage.lost.subtitle": "Це все дуже виснажливо", + "quests.low_voltage.lost.desc.1": "Перехід у &7LV&r відкриває безліч можливостей, тож легко загубитися. Ось наші рекомендації: \n\n1) Налаштуй джерело енергії. Переглянь квести внизу справа — там кілька варіантів, усі вони робочі. Не економ, побудуй кілька генераторів! \n\nОбов’язково &eпрочитай розділ квестів про енергію GregTech&r, щоб добре зрозуміти, як працюють EU, Вольти, Ампери та Втрати в кабелях.", + "quests.low_voltage.lost.desc.2": "2) Зосередься на машинах, які роблять створення інших машин дешевшим. \n\nПоляризатор — це надзвичайно дешева машина, яка може намагнічувати стрижні практично безкоштовно. Якщо ти не створював еквіваленти парової ери, налаштуй Бендер, Волок, Токар і Різак. Ці квести знаходяться у верхньому лівому куті. \n\nПісля цього зосередься на здешевленні виробництва гуми за допомогою Хімічного реактора та Твердника рідин (ліворуч), а також на здешевленні електронних компонентів за допомогою Збирача (внизу). \n\nКоли все стане максимально дешевим, обов’язково створюй компоненти партіями — це заощадить тобі багато часу.", + "quests.low_voltage.lost.desc.3": "3) Побудуй консервувальник і зроби кілька батарей (угорі справа). Буфери батарей дуже допоможуть у розвитку твоєї фабрики, а Рудний розвідник — це справжня революція. \n\n4) &7LV&r має дві основні кінцеві цілі — &aСхематологічний збирач&r та &aЕлектричну доменну піч&r. Тепер ти готовий взятися за них.", + "quests.low_voltage.lost.task": "Я знаю, що робити далі!", "quests.low_voltage.lv_steam_turbine.title": "Парова турбіна", "quests.low_voltage.lv_steam_turbine.subtitle": "Ви повинні сконструювати додаткові турбіни", "quests.low_voltage.lv_steam_turbine.desc.1": "&3Парова Турбіна&r — один із небагатьох генераторів, які ви реально можете використовувати на &7LV&r. \n&2Пізніше ви відкриєте цікавіші варіанти генерації енергії&r, такі як природні гази чи нафтопродукти. \n\nПри подачі Пари турбіна виробляє EU у співвідношенні &d2 мВ = 1 EU&r.", @@ -2738,7 +2772,7 @@ "quests.low_voltage.lbb.title": "Великий Бронзовий Котел", "quests.low_voltage.lbb.subtitle": "Бум, бум, бум, бум", "quests.low_voltage.lbb.desc.1": "&3Великий Котел&r — це &6необов’язковий&r варіант для справжніх велетнів, альтернатива Малим Котлам. Працює на твердому або рідкому паливі.\n\nЯкщо ви хочете виробляти енергію на основі Пари — це альтернатива до парового двигуна з Create. Подальші варіанти генерації енергії наведені в розділі &bMV&r.\n\nОбов’язково налаштуйте його так, щоб він ніколи не залишався без води, як і ваші Малі Котли, інакше він &cвибухне&r!.", - "quests.low_voltage.lbb.desc.2": "Після повного нагрівання &3ВБК&r виробляє 800 пари за такт, що після конверсії дає &d400EU/t&r, або 12,5 базових парових турбін. Ця (відносно!) величезна потужність має ціну у вигляді &lвеликої&r кількості пального. &5З огляду на це&r, GUI дозволяє тобі &9знизити потужність&r котла до 25 відсотків, що дає 200 пари за такт. Це &d100EU/t&r, або трохи більше 3 базових парових турбін. \n\nМи рекомендуємо відкласти створення цього котла, поки ти не будеш готовий живити свою ЕДП.", + "quests.low_voltage.lbb.desc.2": "Після повного нагрівання &3ВБК&r виробляє 800 пари за такт, що після конверсії дорівнює &d400EU/t&r, або 12,5 базових парових турбін. Така (відносно!) величезна потужність вимагає &lбагато&r пального. &5З огляду на це&r, інтерфейс дозволяє &9знизити&r потужність котла до 25 відсотків — 200 пари за такт. Це &d100EU/t&r, або трохи більше ніж 3 базові парові турбіни. \n\nМи рекомендуємо відкласти створення цього агрегата, доки ти не будеш готовий живити свій ЕДП, або якщо маєш багато парових мультиблоків.", "quests.low_voltage.lbb.desc.3": "У TerraFirmaGreg у вас є кілька варіантів палива. Ви можете використати Шланговий Шків, щоб відкачати лаву з глибокого підземного озера, або організувати лісопосадку з подачею деревини в коксову піч для отримання деревного вугілля та креозоту. Нарешті, існують величезні вугільні жили на поверхні, які можна розробляти за допомогою автоматизованих бурів і переробляти в кокс, отримуючи значно більше креозоту, ніж із деревного вугілля. \n\nЯкщо ви оберете шлях із лісопосадкою, вам знадобиться три коксові печі, щоб забезпечити роботу ВБК на повній потужності.", "quests.low_voltage.lv_polariser.title": "Базовий Намагнічувач", "quests.low_voltage.lv_polariser.subtitle": "Поляризатор поляризує!", @@ -2762,7 +2796,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 у вас тепер є реальна можливість використовувати &7Газову турбіну&r на рівні &7LV&r. Вона працює так само, як і інші &6генератори&r, але має бути трохи дешевшою за &6Генератор згоряння&r.", + "quests.low_voltage.lv_gas_turbine.desc": "За допомогою &7Синтез газу&r ти тепер маєш дієвий спосіб використовувати &cГазову турбіну&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.", @@ -3015,7 +3049,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&7І ми не шкодуємо.&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.", @@ -3027,7 +3061,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&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.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, з &eспіввідношенням 4: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Окрім роботи машин на різних рівнях напруги, Трансформатори корисні для передачі енергії на великі відстані, оскільки втрати в кабелях менші при вищих напругах. Як і в реальному житті!", @@ -3045,16 +3079,17 @@ "quests.medium_voltage.mv_steel_alloy.desc": "Ванадієва сталь потрібна в невеликих кількостях для прогресу. Вона &6майже в чотири рази міцніша&r за сталь, якщо використовується в інструментах GregTech. Ванадій походить із &aВанадієвого магнетиту&r, який ви могли зустріти у покладах магнетиту.", "quests.medium_voltage.pyrolyse.title": "Піролізна Піч", "quests.medium_voltage.pyrolyse.subtitle": "Термічний Розклад", - "quests.medium_voltage.pyrolyse.desc.1": "&3Піролізна Піч&r — це електричний аналог &3Коксової Печі&r. Вона може виробляти &9Коксове Вугілля&r та &9Деревне Вугілля&r з побічним продуктом &9Креозотом&r, як і раніше, але також має додаткові &6Органічні Побічні Продукти&r, найкориснішим з яких є &aДеревний Дьоготь&r. \n\nЩе одним продуктом є &aБіомаса&r, яка зараз є більш актуальною для твого прогресу.", + "quests.medium_voltage.pyrolyse.desc.1": "&3Піролізна Піч&r — це електричний аналог &3Коксової Печі&r. Вона може виробляти &9Коксове Вугілля&r та &9Деревне Вугілля&r з побічним продуктом &9Креозотом&r, як і раніше, але також має додаткові &6Органічні Побічні Продукти&r, найкориснішим з яких є &aДеревина смола&r. \n\nЩе одним продуктом є &aБіомаса&r, яка зараз є більш актуальною для твого прогресу.", "quests.medium_voltage.pyrolyse.desc.2": "Побічні продукти можна переганяти для отримання різноманітних органічних ресурсів, причому &oрізні&r побічні продукти дають &oрізні&r співвідношення &oрізних&r хімічних речовин. \n\nТобі потрібно заглянути в &9Завдання з Перегонки&r, щоб розібратися в силі дистиляції...", "quests.medium_voltage.pyrolyse.desc.3": "Є рецепти, які можуть приймати &bАзот&r для подвоєння швидкості. Зараз це не надто варто переслідувати, але Азот згодом стане безкоштовним і нескінченним. \n\nТобі цілком вистачить одного &3LV Енергетичного Люка&r та Надпровідників для стабільного постачання &d64 EU/t&r. \n\nКрім того, &3Купронікелеві Котушки&r ідеальні для початкового використання Піролізної Печі, але з часом ти можеш захотіти оновитися до &bКанталу&r.", "quests.medium_voltage.pyrolyse.desc.4": "&9&lПримітка:&r&l Рослинний шлях — один із варіантів отримання &9&lЕтилену&r&l, який є необхідним хімічним елементом для прогресу до &6HV&r&l. Інший шлях включає використання Нафти.&r \n\nПіролізна Піч залишається &dнеобов’язковою&r. Однак її створення дуже вигідне — як для отримання Енергії, так і для різних Побічних Продуктів, тому ми настійно рекомендуємо тобі розглянути цей варіант. \n\n&l&3Лор:&r&o У GT5u структура Піролізної Печі була відомою як гігантська коробка з лише 9 котушками всередині. Гравці зазвичай витрачали кілька хвилин на пошук проблеми через відсутність попереднього перегляду EMI.", "quests.medium_voltage.mv_fluid_rig.title": "Рідинні Бурові Установки", "quests.medium_voltage.mv_fluid_rig.subtitle": "Рідинні Бурові Установки в CEu!", - "quests.medium_voltage.mv_fluid_rig.desc.1": "Володіння &3Рідинною Буровою Установкою&r — це значна інвестиція, але вона є &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.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": "Кожна жила генерується з різною базовою продуктивністю. Зазвичай це від &d150mB&r до &d300mB&r за секунду при використанні &bРозширеної рідинної бурової установки&r, також відомої як &bРідинна бурова установка Mk1&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, але з вищим виходом, ніж жила в Overworld. \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, яка допоможе тобі до моменту розблокування Рідинних Бурових Установок.", @@ -3079,12 +3114,12 @@ "quests.medium_voltage.mv_distillery.task": "Або LV, або MV Дистилярня", "quests.medium_voltage.mv_benzene.title": "Царство Бензолу", "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.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": "Щоб дізнатися, як обробляти нафту, зверніться до завдань із &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": "&7Реформатний газ&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, але є дещо ще краще... перевір Квест ліворуч.", @@ -3095,7 +3130,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 можна прискорити за допомогою &7Водню&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": "...ну, майже Летіти", @@ -3214,10 +3249,10 @@ "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&7(Так, так, реактивний ранець має працювати на пропелентах. Ви завжди тут, щоб прискіпуватися.)&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", + "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.", "quests.medium_voltage.mv_cutter.task": "Будь-який Різак", "quests.medium_voltage.mv_laser_engraver.title": "Лазерне Гравіювання", "quests.medium_voltage.mv_laser_engraver.subtitle": "Це вершина технологій, але це також повільно", @@ -3278,11 +3313,11 @@ "quests.metal_age.wrought_iron_anvil.desc": "Завдяки ковадлі з кованого заліза ви зможете перетворювати зливки кованого заліза на різні предмети, такі як листи, головки інструментів тощо.\n\nІнструменти та броня з кованого заліза не значно перевершують бронзові, але вони мають набагато більшу довговічність.\n\nСтворення наступної ковадли стане значно складнішим завданням, тому це чудовий момент, щоб осісти та дослідити інші можливості, які пропонує цей модпак.", "quests.metal_age.coke_oven.title": "Коксова піч", "quests.metal_age.coke_oven.subtitle": "Нарешті, жодних більше куп деревного вугілля", - "quests.metal_age.coke_oven.desc.1": "Коксовальна піч — ваш перший багатоблок із GregTech! Вона дозволяє автоматично створювати деревне вугілля та інші потужні горючі матеріали. Коксовальна піч спалює одне колоду в одне деревне вугілля та 250mB креозоту, який є важливим хімікатом для обробки деревини.\n\nЯкщо ви створите основний блок коксовальної печі та натиснете клавішу 'Використання' в JEI (за замовчуванням \"U\"), ви знайдете вкладку \"Інформація про багатоблок\", яка покаже, як побудувати коксовальну піч у світі.\n\nВи також можете просто розмістити блок Контролера у світі та взаємодіяти з ним, утримуючи присідання, щоб створити голограму відсутніх блоків.", + "quests.metal_age.coke_oven.desc.1": "Коксовa піч — це твій перший мультиблок у GregTech! Вона дозволяє автоматично створювати деревне вугілля та інші потужні горючі матеріали. Коксова піч спалює одну колоду в одне деревне вугілля та 250mb крезоту — важливої хімічної речовини, що використовується для обробки деревини та як раннє паливо. \n\nЯкщо скрафтити головний блок коксової печі та натиснути клавішу JEI «Uses» (за замовчуванням «U»), ти знайдеш вкладку «Multiblock Info», яка показує, як побудувати коксову піч у світі. \n\nТакож можна просто розмістити блок контролера у світі та взаємодіяти з ним, присівши, щоб створити голограму відсутніх блоків.", "quests.metal_age.coke_oven.desc.2": "Коксові печі можна повністю автоматизувати за допомогою люка коксової печі. Люк встановлюється з боків печі та працює як для введення, так і для виведення предметів і рідин.\n\nВи можете легко створити просту односторонню коксову піч, використовуючи Скриню для введення, Ящик для виведення та Бочку, Діжку або Велику дерев’яну цистерну для збору крезоту. На відміну від Скринь, Ящики можуть зберігати великі об’єкти, такі як колоди. Також ви можете присісти й клацнути по трубах GregTech гайковим ключем, щоб зробити їх односторонніми.", "quests.metal_age.wrought_iron_goodies.title": "Механічна енергія рівня кованого заліза", "quests.metal_age.wrought_iron_goodies.subtitle": "Що це за \"андезитовий сплав\", про який ви говорите?", - "quests.metal_age.wrought_iron_goodies.desc": "З кованим залізом ви відкрили доступ до металевих оболонок, основи багатьох механічних блоків із Create, таких як коробки передач. Деякі з більш складних блоків потребуватимуть сталі, але на цьому етапі вже можна побудувати повністю автоматичну ферму дерев і посівів.\n\nКреозот використовується для створення оброблених дерев’яних дощок, які можна перетворити на водяні колеса та вітряки — суттєве покращення в порівнянні з використанням сили тварин.", + "quests.metal_age.wrought_iron_goodies.desc": "Завдяки кованому залізу ти відкрив доступ до Металевого корпусу — основи багатьох механічних блоків Create, таких як редуктори. Деякі більш просунуті блоки вимагатимуть сталі, але вже на цьому етапі можна побудувати частково автоматичну ферму дерев і культур. \n\nКрезот використовується для створення Оброблених дерев’яних дощок, з яких можна скрафтити водяні колеса та вітряки — значне покращення порівняно з використанням тваринної сили.", "quests.metal_age.fire_clay_ingredients.title": "Інгредієнти вогнетривкої глини", "quests.metal_age.fire_clay_ingredients.subtitle": "Посвята у TerraFirmaCraft.", "quests.metal_age.fire_clay_ingredients.desc": "Вогнетривка глина — це спеціальна глина, створена з каолініту, графіту та звичайної глини, яка особливо стійка до високих температур. Її два основні застосування — тигель, який працює як покращена версія Корчаги для плавлення металів і створення сплавів, і доменна піч, необхідна для створення наступної ковадли та металевого рівня — сталі.\n\nВам, ймовірно, доведеться подорожувати далеко від бази, щоб отримати графіт і каолінову глину, тому важливо добре підготуватися!", @@ -3315,7 +3350,7 @@ "quests.metal_age.fire_clay_products.desc": "Як і звичайна глина, вогнетривку глину можна розбивати для створення предметів, які потім потрібно випалювати. Найважливіше, що вогнетривка глина використовується для створення тигля та вогнетривких цеглин, які необхідні для доменної печі.\n\nВи також зможете створити стіл для форм і ливарні канали, що дозволяють відливати метал із тигля в кілька форм одночасно.\n\nНарешті, існують форми для вогнетривких злитків, які мають лише 1 відсоток ймовірності зламатися, порівняно з 10 відсотків для звичайної глини.", "quests.metal_age.crucible.title": "Тигель", "quests.metal_age.crucible.subtitle": "Плавлення металів як професіонал", - "quests.metal_age.crucible.desc": "Тигель встановлюється на горно. Він має 9 слотів інвентаря та місткість для 4608mB рідини, включаючи інтерфейс для перевірки співвідношення сплавів. Тигель зберігає свій вміст при руйнуванні. Також він може збирати сирий чавун, якщо його розмістити під доменною піччю.\n\nВарто пам’ятати, що тигель БУДЕ намагатися створювати сплав із усього, що є всередині — він не розділяє метали, як плавильня з Tinkers’ Construct, тому краще тримати його чистим, коли ви ним не користуєтеся.", + "quests.metal_age.crucible.desc": "Тигель розміщується зверху на горні. Він має 9 слотів інвентарю та місткість 4608mB рідини, включно з інтерфейсом для перевірки співвідношень сплавів. Вміст зберігається навіть після руйнування. Також тигель може збирати чавун, якщо його розмістити під доменною піччю. \n\nМай на увазі, що тигель БУДЕ намагатися сплавити все всередині — він не тримає метали окремо, як плавильня TC. Тому варто тримати його чистим, коли ти ним не користуєшся.", "quests.metal_age.fire_bricks.title": "Вогнетривкі цеглини", "quests.metal_age.fire_bricks.subtitle": "Для доменної печі", "quests.metal_age.fire_bricks.desc": "Вогнетривкі цеглини використовуються для будівництва доменної печі, для цього потрібно щонайменше 4 цеглини. \n\nЩоб процес виробництва сталі був ефективним, цеглини потребують ізоляції, можна розмістити 3 ковані залізні пластини навколо вогнетривких цеглин, або використати ізоляцію доменної печі", @@ -3474,7 +3509,7 @@ "quests.ore_proc.macerator_separator.task": "Будь-який Подрібнювач", "quests.ore_proc.thermal_centrifuge.title": "Термічна Центрифуга", "quests.ore_proc.thermal_centrifuge.subtitle": "Основний вибір для більшості очищених руд", - "quests.ore_proc.thermal_centrifuge.desc": "Для всіх інших очищених руд, які не потребують особливої обробки, найкраще пропустити їх через &dТермальну центрифугу&r. Ця машина стабільно виробляє побічні продукти, використовуючи лише електроенергію. Вона досить повільна, тому рекомендується створити кілька машин.", + "quests.ore_proc.thermal_centrifuge.desc": "Для всіх інших очищених руд, які не потребують спеціальної обробки, найкраще пропускати їх через &dТермальний центрифуж&r. Ця машина може стабільно виробляти побічні продукти без потреби в інших інгредієнтах. Вона досить повільна, тому ми радимо або створити кілька таких машин, або використати паровий паралельний мультиблок.", "quests.ore_proc.thermal_centrifuge.task": "Будь-яка Термальна Центрифуга", "quests.ore_proc.sifter.title": "Сортувальник", "quests.ore_proc.sifter.subtitle": "Симулятор Skyblock", @@ -3499,8 +3534,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- Зброя й щит на випадок, якщо Місяць виявиться привидним...", @@ -3592,6 +3627,8 @@ "quests.space_survival.soulbound.subtitle": "Ви далеко від точки появи", "quests.space_survival.soulbound.desc.1": "У TerraFirmaGreg ви можете встановити точку появи в будь-якому вимірі (навіть у Безодні!), але якщо у вас немає запасу додаткових скафандрів, відродження на Місяці може ускладнити ситуацію.\n\nПерш за все, ваше ліжко обов’язково має бути в зоні з подачею кисню, щоб ви не загинули одразу після відродження (хоча у випадку відключення живлення у вас має бути достатньо часу, щоб зламати ліжко та скинути точку появи).", "quests.space_survival.soulbound.desc.2": "По-друге, ви можете покращити кожен елемент свого космічного скафандра за допомогою &bПерлини душі&r. Це дозволить їм залишатися на вас навіть після смерті!\n\nОтримати їх можна з будь-яких сильніших, ворожих ендсменів на Місяці.\n\nОбіцяємо, це наукова фантастика, а не магія.", + "quests.mars": "Вижити на Марсі", + "quests.mars.subtitle": "Змінні піски чекають", "quests.space_survival.mars_desert.title": "Марсіанська пустеля", "quests.space_survival.mars_desert.subtitle": "Пісок, пісок усюди", "quests.space_survival.mars_desert.desc": "Більша частина Марса вкрита безкрайньою пустелею. Тут майже нічого не живе, окрім поодиноких Стакатиків і, звісно ж, гігантських &6Піщаних хробаків&r. Якщо ви тут уперше, краще пошукайте більш гостинне місце! Інакше доведеться продовжувати пошуки...", @@ -3715,7 +3752,7 @@ "quests.steam_age.windmill.desc": "Якщо поблизу немає проточної води, вітряк є ще однією ефективною опцією для отримання кращого джерела енергії. Великі вітряки забезпечують більше одиниць стресу та вищі швидкості.\n\nВи можете отримати оброблену деревину, замочивши будь-які дошки в креозоті з вашої Коксової Печі.", "quests.steam_age.metal_casing.title": "Металеві оболонки", "quests.steam_age.metal_casing.subtitle": "Примітивний корпус машини?", - "quests.steam_age.metal_casing.desc": "Це основа більшості простих машин, які ви можете створити за допомогою Create. Перевірте JEI для всіх різних речей, які ви можете скрафтити, зокрема коробки передач та інші способи управління вашими одиницями стресу.\n\nНовачок у Create? Є багато навчальних посібників онлайн про різноманітні механізми, які ви можете створити, і більшість з них також працюватимуть у TFG! (За винятком будь-якого, що стосується генераторів булыжників).", + "quests.steam_age.metal_casing.desc": "Це основа більшості простих машин, які ви можете створити за допомогою Create. Перевірте JEI для всіх різних речей, які ви можете скрафтити, зокрема коробки передач та інші способи управління вашими одиницями стресу.\n\nНовачок у Create? Є багато навчальних посібників онлайн про різноманітні механізми, які ви можете створити, і більшість з них також працюватимуть у TFG! (За винятком будь-якого, що стосується генераторів булижників)", "quests.steam_age.mechanical_harvester.title": "Механічний збирач врожаю", "quests.steam_age.mechanical_harvester.subtitle": "Роботизований вибірковий підхід", "quests.steam_age.mechanical_harvester.desc": "Занадто ліниво збирати врожай і пересаджувати свої культури? Ці механізми зроблять це за вас! Розмістіть їх на обертовій конструкції й спостерігайте за роботою. Вони не працюють на культурах, посаджених всередині теплиці.\n\nПорада: На рівні корінної породи температура завжди постійна — 15°C, тому це чудове місце для ферми, яка може вирощувати культури протягом усього року!", @@ -3764,12 +3801,12 @@ "quests.steam_age.boilers.tasks": "Будь-який Паровий Котел Високого Тиску", "quests.steam_age.steam_bloomery.title": "Паровий Горн", "quests.steam_age.steam_bloomery.subtitle": "Дядько Горна", - "quests.steam_age.steam_bloomery.desc": "Вам завжди знадобиться багато Кованого Заліза, тож чому б не автоматизувати вашу Горн? Наступний найближчий спосіб автоматизації кованого заліза доступний лише на LV-рівні. Паровий Горн — це новий багатоблок, який автоматизує вашу стару TFC Горн, і зробить це ще швидше! Як і у випадку з Кокосовою піччю, ви можете натиснути клавішу JEI 'Uses' (за замовчуванням \"U\"), щоб показати вкладку попереднього перегляду багатоблока. Клацніть на окремих блоках, щоб побачити, що є дійсним для кожного розташування.", + "quests.steam_age.steam_bloomery.desc": "Тобі завжди знадобиться багато кованого заліза, тож чому б не автоматизувати свого Горна? Наступний спосіб автоматизації кованого заліза з’являється лише на рівні LV. \n\n&3Паровий горн&r — це новий мультиблок, який автоматизує твій старий TFC горн та працює швидше! \n\nЯк і з коксовою піччю, ти можеш натиснути клавішу JEI «Uses» (за замовчуванням «U»), щоб відкрити вкладку попереднього перегляду мультиблоку. Натисни на окремі блоки, щоб побачити, які варіанти допустимі для кожної позиції.", "quests.steam_age.steam_furnace.title": "Парова Піч", "quests.steam_age.steam_furnace.subtitle": "Парова Піч випікає...", "quests.steam_age.steam_furnace.desc": "Хочеш швидко переплавити щось у злиток? &3Парова піч&r саме для цього! Вона швидко перетворює багато руд і пилу на злитки — щоправда, без жодних побічних продуктів.", "quests.steam_age.steam_oven.title": "Парова Духовка", - "quests.steam_age.steam_oven.subtitle": "Старший брат Парового Подрібнювача", + "quests.steam_age.steam_oven.subtitle": "Старший брат Парової печі", "quests.steam_age.steam_oven.desc.1": "&o...або молодший брат. Не кажіть йому!&r\n\n&3Парова Духовка&r — чудовий варіант багатоблока, якщо вам потрібно &6легко переплавляти великі кількості предметів.&r Ніяких більше рядів печей, які потрібно вручну спустошувати й заправляти!\n\nВона фактично працює як паралельна піч, переплавляючи до 8 предметів одночасно за низьку вартість пару.", "quests.steam_age.steam_oven.desc.2": "&l&3Лор:&r&o Цей багато блок, хоча й дуже схожий на свого брата — Паровий Подрібнювач, не був перенесений із версії або аддону GregTech. Його справжній попередник — Парова Духовка з Railcraft, яка з'явилася ще у версії 1.4.7!", "quests.steam_age.steam_macerator.title": "Парова Дробарка", @@ -3910,6 +3947,15 @@ "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.steam_age.steam_presser.title": "Паровий прес", + "quests.steam_age.steam_presser.subtitle": "Тітка Парового ковальського молота", + "quests.steam_age.steam_presser.desc": "&3Паровий прес&r — це мультиблокова паралельна версія ковальського молота. \n\nЯкщо ти займаєшся чимось, де ковальський молот стає вузьким місцем, це покращення може бути корисним. В іншому випадку — пропусти його.", + "quests.steam_age.steam_fuser.title": "Паровий сплавлювач", + "quests.steam_age.steam_fuser.subtitle": "Двоюрідний брат Сплавлювальної печі (через дві лінії)", + "quests.steam_age.steam_fuser.desc": "&3Паровий сплавлювач&r — це більша й потужніша версія Парової сплавлювальної печі. Потрібно робити багато сплавів і швидко? Тоді тобі саме така й знадобиться!", + "quests.steam_age.steam_squasher.title": "Паровий сплющувач", + "quests.steam_age.steam_squasher.subtitle": "Друг дитинства Парового компресора", + "quests.steam_age.steam_squasher.desc": "Потрібно багато речей стискати одночасно? &3Паровий сплющувач&r — це мультиблоковий паралельний компресор, який може стати у пригоді.", "quests.stone_age": "Кам’яна доба", "quests.stone_age.subtitle": "Скромний початок", "quests.stone_age.foods.title": "Зголоднів?", @@ -4116,7 +4162,7 @@ "quests.tfg.create_team.desc": "Ти можеш створити команду, щоб виконувати квести разом. Для цього відкрий інвентар, а потім у верхньому лівому куті вибери кнопку із зображенням трьох кольорових людей. Після цього відкриється інтерфейс, у якому можна створити команду. Натисни кнопку §aСтворити команду§r, задай їй назву та, можливо, інші параметри. Після успішного створення команди ти зможеш запросити інших гравців за допомогою кнопки плюс у зеленому колі у верхньому правому куті. З цього моменту твої квести будуть синхронізовані, і будь-який член команди зможе їх виконувати. Успіхів!", "quests.tfg.capture_territory.title": "Як захопити територію?", "quests.tfg.capture_territory.subtitle": "А як завантажити чанки у своїй території?", - "quests.tfg.capture_territory.desc": "Якщо ви граєте на сервері, можливо, вам захочеться захопити свою територію, щоб інші гравці не заважали. Натисніть клавішу відкриття меню привласнення (типово \"Ctrl+M\"), щоб відкрити вікно, потім клацніть лівою кнопкою миші, щоб захопити чанк, і правою — щоб скасувати захоплення.\n\nІснує обмеження на кількість чанків, які можна захопити, тож ви не зможете захопити все. Ви також можете натиснути 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": "Важлива інформація про квести!", @@ -4196,8 +4242,8 @@ "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.title": "Електричні інструменти", + "quests.tfg_tips.gt_power_tools.subtitle": "Чоловіки хочуть лише одного, і це к&kляте& огидно", "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": "Нано-шабля", @@ -4222,6 +4268,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": "Копіювати та вставити", "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. Він був надзвичайно корисним у перші дні, адже графічні інтерфейси та WAILA майже не надавали інформації (фактично нічого).", @@ -4231,7 +4278,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.&7. окрім Води з очевидних причин.", + "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+ років", @@ -4257,6 +4304,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 та платформу з відповідних блоків для заливання розплавленого скла. \nПереглянь &2Польовий Посібник&r, щоб дізнатися більше про форму платформи та допустимі блоки. Ти отримаєш доступ до склодувного ремесла, щойно зможеш обробляти &aЛатунь!&r", @@ -4343,7 +4394,7 @@ "quests.tfg_tips.aged_alcohol.task": "Будь-який Витриманий Алкоголь", "quests.tfg_tips.pills.title": "Медицина: Таблетки", "quests.tfg_tips.pills.subtitle": "Таблетки тут!", - "quests.tfg_tips.pills.desc": "Змішуючи &aВіск&r, трохи &bДжерельної Води&r та унікальні інгредієнти, \nти отримаєш &Таблетки!&r Таблетки надають безліч різних ефектів стану — деякі корисні, а деякі не дуже. \n\n&3&lПорада:&r&o Використання &bМеханічного Міксера&f або &bGT Міксера&f подвоїть вихід!", + "quests.tfg_tips.pills.desc": "Змішуючи &aВіск&r, трохи &bДжерельної Води&r та унікальні інгредієнти, \nти отримаєш &dТаблетки!&r Таблетки надають безліч різних ефектів стану — деякі корисні, а деякі не дуже. \n\n&3&lПорада:&r&o Використання &bМеханічного Міксера&f або &bGT Міксера&f подвоїть вихід!", "quests.tfg_tips.pills.task": "Будь-яка Таблетка з Ефектом", "quests.tfg_tips.tablets.title": "Медицина: Пігулки", "quests.tfg_tips.tablets.subtitle": "Пігулки тут...?", @@ -4448,7 +4499,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": "Змінюй вигляд своїх фотографій.", @@ -4462,7 +4513,7 @@ "quests.tfg_tips.film_rolls.desc": "Щоб почати робити знімки, тобі потрібно створити один із двох видів фотоплівки: \n&0Чорно-Біла Плівка&r та &dКольорова Плівка.&r", "quests.tfg_tips.developing_film.title": "Проявлення Плівок", "quests.tfg_tips.developing_film.subtitle": "Прикинься принтером", - "quests.tfg_tips.developing_film.desc": "Якщо ти вже зробив знімки, можеш розпочати &aпроявлення&r, замочивши плівки у &bВоді.&r Після цього тобі потрібно створити &dСвітлокімнату&r. \n\nСвітлокімната використовується для проявлення плівки, \nпотребує сильного джерела світла над блоком та наступні чотири барвники: \n&3Бірюзовий&r, &5Малиновий&r, &eЖовтий&r та &0Чорний&r, відомі як CMYK. \n\n&0Чорно-Біла Плівка&r потребує лише &0Чорний Барвник&r, \nа &dКольорова Плівка&r вимагає весь набір &3C&5M&eY&0K&r. \n\nЯкщо тобі цікава більш складна обробка, можеш скористатися &cХроматичним Процесом...&r", + "quests.tfg_tips.developing_film.desc": "Коли ви зробили свої знімки, можна почати &aпроявлення&r, замочивши плівки у відповідному &bПроявнику&r. Після цього вам потрібно створити &dФотолабораторію&r. \n\nФотолабораторія використовується для проявлення плівки, вимагаючи сильного джерела світла над блоком та таких чотирьох барвників: &3Блакитний&r, &5Пурпурний&r, &eЖовтий&r і &0Чорний&r, відомих як CMYK. \n&0Чорно-біла плівка&r потребуватиме лише &0Чорного барвника&r, тоді як &dКольорова плівка&r вимагатиме повного набору &3C&5M&eY&0K&r. \n\nЯкщо вам до вподоби цікавіші методи обробки, ви можете скористатися &cХроматичним процесом...&r", "quests.tfg_tips.photo.title": "Твоє перше Фото", "quests.tfg_tips.photo.subtitle": "Вітаємо!", "quests.tfg_tips.photo.desc": "Ти можеш зробити багато речей зі своїм &dФотографією.&r \n\nТи можеш &bСкопіювати&r її, використовуючи чистий аркуш &aПаперу&r \nта необхідні &aБарвники&r, що використовувалися для проявлення оригіналу. \n\nТи також можеш &bСкласти&r знімки, щоб зберігати їх акуратно в інвентарі, \nперевір EMI, щоб дізнатися, як це зробити. \n\nТи можеш штучно &cзістарити&r зображення, застосувавши &6Коричневий Барвник&r, \nщоб воно виглядало так, ніби пройшло крізь роки.", @@ -4529,7 +4580,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 системи рангів, починаючи з &7Парового&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": "Червоний і синій — точно не конфліктують.", @@ -4573,7 +4624,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": "Що за видовищe", - "quests.tfg_tips.scarlet_biplane.desc": "&3Червоний біплан&r — це фінальне оновлення для &bЛітаків&r, що вимагає &6HV&r компонентів. \n\nВін містить &b27 слотів інвентарю&r, &a4 слоти для покращень&r, &c2 слоти для зброї&r, а також &4слот для прискорення&r, як і звичайний біплан. \n\nХоча він дорогий, &3Червоний біплан&r компенсує це підвищеною міцністю, збільшеною максимальною швидкістю та загальним стилем.", + "quests.tfg_tips.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 компенсує це наявністю трьох місць та можливістю приземлення на воду.", @@ -4640,7 +4691,7 @@ "quests.tfg_tips.horseshoes.task": "Будь-які Підкови", "quests.tfg_tips.hiking_boots.title": "Похідні чоботи", "quests.tfg_tips.hiking_boots.subtitle": "\uD83C\uDFB5 і я пройду п’ятсот миль", - "quests.tfg_tips.hiking_boots.desc": "&аПохідні чоботи&r запобігають уповільненню в високій траві, підвищують безпечну висоту падіння та навіть додають трохи висоти кроку й швидкості ходьби. \nВони не забезпечують такого захисту, як справжня металева броня, але якщо ти не ведеш бій — це більш ніж вартий компроміс!", + "quests.tfg_tips.hiking_boots.desc": "&aПохідні чоботи&r запобігають уповільненню в високій траві, підвищують безпечну висоту падіння та навіть додають трохи висоти кроку й швидкості ходьби. Вони не забезпечують такого захисту, як справжня металева броня, але якщо ти не ведеш бій — це більш ніж вартий компроміс!", "quests.tfg_tips.hiking_boots.task": "Будь-які Похідні Чоботи", "quests.tfg_tips.firmalife.title": "Firmalife", "quests.tfg_tips.firmalife.subtitle": "Процвітай у TerraFirmaCraft", @@ -4817,7 +4868,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. &7&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 2c9b63075..527aba9a7 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -696,6 +696,31 @@ "block.tfg.large_nest_box": "大型绯红巢", "tfg.block_entity.large_nest_box": "大型巢箱", "block.tfg.large_nest_box_warped": "大型诡异巢", + "block.tfg.cultivation_monitor": "栽培监控器", + "block.tfg.egh_planter": "园艺种植槽", + "block.tfg.grow_light": "生长灯", + "block.tfg.casings.machine_casing_egh": "园艺机械外壳", + "block.tfg.pisciculture_core": "水产养殖核心转子", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_0": "§n无瑕§r涂蜡防腐木温室墙板", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_1": "§n竖直§r涂蜡防腐木温室墙板", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_2": "§n水平§r涂蜡防腐木温室墙板", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_3": "§n纽比奥§r涂蜡防腐木温室墙板", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_4": "§n华丽§r涂蜡防腐木温室墙板", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_0": "§n无瑕§r铜制温室墙板", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_1": "§n竖直§r铜制温室墙板", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_2": "§n水平§r铜制温室墙板", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_3": "§n纽比奥§r铜制温室墙板", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_4": "§n华丽§r铜制温室墙板", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_0": "§n无瑕§r铁制温室墙板", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_1": "§n竖直§r铁制温室墙板", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_2": "§n水平§r铁制温室墙板", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_3": "§n纽比奥§r铁制温室墙板", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_4": "§n华丽§r铁制温室墙板", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_0": "§n无瑕§r不锈钢温室墙板", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_1": "§n竖直§r不锈钢温室墙板", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_2": "§n水平§r不锈钢温室墙板", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_3": "§n纽比奥§r不锈钢温室墙板", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_4": "§n华丽§r不锈钢温室墙板", "block.tfg.titanium_concrete": "钛筋混凝土", "block.tfg.polished_titanium_concrete": "磨制钛筋混凝土", "block.tfg.titanium_concrete_tile": "钛筋混凝土瓦", @@ -1200,6 +1225,9 @@ "item.tfg.unfired_rod_mold": "未烧制的耐火铸杆模具", "item.tfg.unfired_small_gear_mold": "未烧制的耐火小型齿轮模具", "item.tfg.unfired_nugget_mold": "未烧制的铸粒模具", + "item.tfg.fish_roe": "%s鱼卵", + "item.tfg.rotten_voiding_cover": "腐烂物销毁覆盖板", + "item.tfg.flora_pellets": "植物颗粒", "material.tfg.latex": "乳胶", "material.tfg.vulcanized_latex": "硫化乳胶", "material.tfg.fluix": "福鲁伊克斯", @@ -1372,6 +1400,9 @@ "material.tfg.clean_powder": "纯净铼硅酸盐", "material.tfg.catalyser_powder": "铼/ZSM-5催化剂", "material.tfg.sodium_aluminium": "铝钠合金", + "material.tfg.chloroplasts": "叶绿体", + "material.tfg.nitrate_rich_water": "富硝酸水", + "material.tfg.nitrate_rich_semiheavy_ammoniacal_water": "富硝酸半重氨水", "ore_vein.tfg.deep_sheldonite": "硫铂矿, 斑铜矿", "ore_vein.tfg.deep_garnet_amethyst": "紫水晶, 石榴石", "ore_vein.tfg.deep_garnet_opal": "蛋白石, 石榴石", @@ -1650,8 +1681,9 @@ "tfg.tooltip.obsolete.fridge": "§4已过时§f:已被TFG冰箱取代,你可以通过将这个物品放在工作台上制作出它!", "tfg.tooltip.blaze_burner": "§c超高温§r §7使用焦炭、无烟煤或完美与精致的煤炭宝石。", "tfg.tooltip.machine.perfect_overclock": "这台机器具有§2完美超频§r!", - "tfg.tooltip.machine.parallel": "通过并行控制仓让机器同时处理多个相同配方。", - "tfg.tooltip.machine.customize_interior": "§7内部可定制!请在JEI中查看多块预览。", + "tfg.tooltip.machine.parallel": "通过并行控制仓让机器实现§d并行处理§r。", + "tfg.tooltip.machine.customize_interior": "§7内部结构可定制!请在EMI中查看多块预览。", + "tfg.tooltip.machine.customize_greenhouse": "§7此块结构的墙体可使用任意有效的§e铁制温室方块§7。具体请于EMI中查看多方块预览。", "tfg.tooltip.armor.copper_diving_suit_warmth": "§7温暖度:-1", "tfg.tooltip.armor.copper_diving_suit_insulation": "§7隔热:+1", "tfg.tooltip.armor.netherite_diving_suit_warmth": "§7温暖值:-2", @@ -1697,10 +1729,14 @@ "tfg.tooltip.machine.growth_chamber_2": "§7生物工程的全套解决方案。§r", "tfg.tooltip.machine.evaporation_tower_1": "§7请勿与蒸馏塔混淆§r", "tfg.tooltip.machine.evaporation_tower_2": "§7通过去除多余溶剂来浓缩溶液。§r", - "tfg.tooltip.machine.electric_greenhouse_1": "§7打造工厂化农业的真正含义§r", - "tfg.tooltip.machine.electric_greenhouse_2": "§7利用水培育树木、作物及其他植物,可通过肥料加速生长。虽消耗能源,但比其他种植方式更快速高效。§r", + "tfg.tooltip.machine.electric_greenhouse_1": "§7§o打造工厂化农业的真正含义§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.machine.hydroponics_facility_1": "§7§o高阶耕作之道§r", + "tfg.tooltip.machine.hydroponics_facility_2": "§7电力温室的高级形态!水培设施能显著提升温室产出概率,且无需处于有氧环境。§r", + "tfg.tooltip.machine.pisciculture_fishery_1": "§7§o一条鱼,两条鱼,年年有余……§r", + "tfg.tooltip.machine.pisciculture_fishery_2": "§7水产养殖场不仅是新鲜鱼类的来源,更能通过§3鱼菜共生§7显著提升温室产量。该结构可用任何带有§o#tfg:pisciculture_fishery_fluids§r§7标签的液体填充。§r", "tfg.tooltip.obsolete.depreciated": "§c已弃用,无法再合成", "tfg.tooltip.antipoison_pill": "§9解毒", "tfg.tooltip.antipoison_tablet": "§9治愈所有有害状态", @@ -1740,6 +1776,15 @@ "tfg.tooltip.fake_nutrition_info_listener": "§7§o按住(Shift)查看营养信息", "tfg.tooltip.fake_nutrition_info": "§7营养:", "tfg.tooltip.cheese_slice_microplastics": "§b- 微塑料: 1.9", + "tfg.tooltip.recipe_condition.oxygenated.true": "§b处于有氧环境", + "tfg.tooltip.recipe_condition.oxygenated.false": "§5处于无氧环境", + "tfg.tooltip.recipe_condition.climate_rain": "降雨量(毫米)", + "tfg.tooltip.recipe_condition.climate_temp": "环境温度(°C)", + "tfg.tooltip.recipe_condition.gravity": "重力加速度(米/秒²)", + "tfg.tooltip.firmalife_greenhouse.oxygen_required": "§c需要处于有氧环境!", + "tfg.tooltip.firmalife_greenhouse.oxygen_required.block": "§7在太空中,必须处于有氧环境才能作为温室运作。", + "tfg.tooltip.grow_light_disapointment": "§7不,这玩意儿并不能加快你的作物生长速度……", + "tfg.tooltip.rotten_voiding_cover": "§7腐烂物销毁覆盖板的功能与普通物品销毁覆盖板类似,但它只会针对并销毁§c腐烂的物品§7。", "tfg.gui.menu.field_guide_splash_text": "提示:阅读野外指南!!!", "tfg.gui.menu.ram_usage": "内存:", "tfg.gui.menu.fps_count": "帧率:", @@ -2610,7 +2655,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-电力温室\n-热交换器", + "quests.gregtech_energy.overclock.desc.3": "有一种特殊的超频只适用于少数多方块结构:&e完美超频&r。\n在这里,不是4倍能量换2倍速度,而是&a4倍能量&r换&a4倍速度&r!这使得它与运行多台机器一样高效。\n\n目前在TerraFirmaGreg中,只有以下多方块结构支持此功能:\n-电力高炉\n-合金冶炼炉\n-转底炉\n-大型化学反应釜\n-热交换器", "quests.gregtech_energy.overclock.task": "所以红色的更快,懂了", "quests.gregtech_energy.blast_oc.title": "高炉超频", "quests.gregtech_energy.blast_oc.subtitle": "你不需要理解这个", @@ -2845,6 +2890,10 @@ "quests.high_voltage.final_dust.desc": "这是在解锁&e金星&r上更高级的加工设施前,你能在&7月球&r上获取的所有&c无限资源&r。\n\n有了这些资源,你将拥有持续推进&d格雷科技&r进程所需的一切——尤其是维护月球基地&a正常运作&r的必需品。\n\n这些资源对以下用途至关重要:\n• 制作&dAE2组件&r\n• 生产&c无限&r供应的&6轨道炮弹药&r\n\n被动自动化现在就在你触手可及之处——迈步向前,让它成为现实!", "quests.high_voltage.titanium_greate.title": "钛级格雷机械", "quests.high_voltage.titanium_greate.desc": "这是在 TFG 中可达成的最终等级格雷机械。若说它有何“极限”之处——那便是极致的可选性(完全不做也行)。", + "quests.high_voltage.pisciculture.title": "水产养殖场", + "quests.high_voltage.pisciculture.subtitle": "专为养殖鳕鱼设计的多方块结构。", + "quests.high_voltage.pisciculture.desc.1": "&b水产养殖场&r不仅是稳定获取鱼类的“全能设施”,也是&3鱼菜共生循环&r中的重要一环。通过与&2电动温室&r构建配方循环,两者可相互提升产出效率。配置得当后,整套系统将实现&a自给自足&r。", + "quests.high_voltage.pisciculture.desc.2": "&5提示:&r此结构可注入任何带&o&7#tfg:pisciculture_fishery_fluids&r&r标签的液体。但需注意:部分液体在&c太空中会冻结&r;若控制器未处于&n有氧环境&r,部分配方也将无法运行。", "quests.low_voltage": "&7LV&r - 低压", "quests.low_voltage.subtitle": "驯服电力,开启你的格雷科技之旅", "quests.low_voltage.lv_machine_hull.title": "你的第二个机器外壳", @@ -3038,10 +3087,10 @@ "quests.low_voltage.lv_circuit_assembler.desc.1": "从现在起,所有电路都应通过&3电路组装机&r制造。立即使用以享受&6大幅降低的LV与MV电路&r成本。\n\n每次升级到新等级的&3电路组装机&r时,你将能制作更&d高级主题&r的电路。这些电路会使用&c复杂&r且&m相对陌生&r的材料,但整体合成效益更优。", "quests.low_voltage.lv_circuit_assembler.desc.2": "&l&3背景知识:&r&o电路组装机在格雷科技版本中断断续续地出现。GT5没有它,它在GT5 Unofficial中重新实现。GTCE决定不移植它,而拉锯战随着它在GTCEu中的加入而继续。", "quests.low_voltage.lv_greenhouse.title": "电力温室", - "quests.low_voltage.lv_greenhouse.subtitle": "KubeJS的力量", - "quests.low_voltage.lv_greenhouse.desc.1": "这座多方块结构的&3电力温室&r能成为&a木材&r及其他作物的稳定供应源——如果你更偏爱格雷科技机器而非机械动力装置的话。它还具有独特功能:能够批量培育更多群峦传说的装饰性植物!\n\n这是少数具备&2完美超频&r特性的机器之一,这意味着每提升一级电压输入,配方运行速度将提升至4倍(而非常规的2倍)!", - "quests.low_voltage.lv_greenhouse.desc.2": "&9注意:&r当配方需求超过32EU/t时,该多方块结构需配置1个&bMV&r能源仓或2个&7LV&r能源仓。多方块结构&c无法&r通过叠加低等级能源仓的电流数来满足更高电压等级的配方需求。\n\n换言之,即便通过低等级能源仓组合能提供足够的总功率,控制器界面显示的电压等级也需至少为&bMV&r方可运行EMI中标注&bMV&r的配方。\n\n&9注意:&r该结构需消耗大量&7钢材&r,请确保已配备&3电力高炉&r用于冶炼。", - "quests.low_voltage.lv_greenhouse.desc.3": "&l&3背景知识:&r&o该多方块结构最初为GTCEu社区资源包开发,现已被GTCEu官方开发者文档收录。为匹配群峦传说较慢的树木生长速率,其运行效率已显著调低——在TFG0.9版本之前,每个配方甚至需要耗费近一小时!", + "quests.low_voltage.lv_greenhouse.subtitle": "&mKubejs&r……不,是Java的力量", + "quests.low_voltage.lv_greenhouse.desc.1": "若你更偏爱格雷科技机器而非机械动力装置,&3电力温室&r这座多方块结构便能为你稳定供应&a原木&r等作物。它还有一个独特优势:可以培育更多群峦传说中的装饰性植物!", + "quests.low_voltage.lv_greenhouse.desc.2": "&9注意:&r此结构的墙体可自定义,能使用任意有效的“铁制温室方块”。更多可用方块请查看EMI的多方块预览。电力温室还有若干强化途径,包括使用肥料,或在&c高压阶段&r接入&3水培循环&r。", + "quests.low_voltage.lv_greenhouse.desc.3": "&l&3背景知识:&r&o此多方块最初为GTCEu社区包而创建,亦可见于GTCEu开发者文档。为契合群峦较慢的树木生长速度,其运作速度已被大幅调低——但在TFGv0.9之前,每个配方甚至需要近一小时!\n\n在TFGv0.11中,它被彻底重制:拥有全新配方、全新结构、以水培设施形式出现的MK2版本,以及由RubenVerg制作的专属渲染效果。\n\n本任务最初的副标题是“Kubejs的力量”,因为当时它是用Kubejs这一开发工具包制作自定义机器的范例。但如今,为完善支持群峦传说的食物属性,整个结构已完全转为Java实现。", "quests.low_voltage.lv_centrifuge.title": "基础离心机", "quests.low_voltage.lv_centrifuge.subtitle": "其功能与搅拌机正好相反!", "quests.low_voltage.lv_centrifuge.desc.1": "&l矿石处理之外的用途:&r\n\n好家伙,有什么是这台机器办不到的?分解不同种类的粉末、分离空气、帮你报税等等……\n\n功能多到列不完!我们只能说&c你需要离心机&r。", @@ -4928,7 +4977,7 @@ "quests.tfg_tips.beneath_prep.desc": "&4幽冥之地&r是一片危机四伏的凶险之地。由于地处极深的地下,这里的环境温度始终&c高于15°C&r,并且会随着深入而不断攀升。更不用说还有大量敌对生物在这些洞窟中潜伏爬行。\n与此关联的任务将为你此次探险提供一些基础准备。", "quests.tfg_tips.beneath_temp_management.title": "体温管理:主动", "quests.tfg_tips.beneath_temp_management.subtitle": "快速降温之物", - "quests.tfg_tips.beneath_temp_management.desc": "在&4幽冥之地&r,由于环境温度较高,你应当随身携带一些&a水&r或者&a冰泥%r以便随时降温。若计划建立临时基地,最好也准备一些从极地区域开采的&b浮冰&r。", + "quests.tfg_tips.beneath_temp_management.desc": "在&4幽冥之地&r,由于环境温度较高,你应当随身携带一些&a水&r或者&a冰泥&r以便随时降温。若计划建立临时基地,最好也准备一些从极地区域开采的&b浮冰&r。", "quests.tfg_tips.beneath_clothes.title": "体温管理:被动", "quests.tfg_tips.beneath_clothes.subtitle": "被动降温之物", "quests.tfg_tips.beneath_clothes.desc": "&b衣物&r在降温方面同样扮演着重要角色。在前往&4幽冥之地&r前,最容易制作的当属&d粗麻布衣物&r。\n\n&d丝绸衣物&r需要&a线&r,你可以在幽冥之地的&c蛛网巢穴&r生物群系中找到大量这种材料。\n\n不过,如果你能获取&9蓝钢&r,还将有更好的选择……", From 79e404c1dde4104684721ed9e5d8b25b59063b90 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 12 Jan 2026 13:37:45 +0000 Subject: [PATCH 082/474] update pakku + create picky waterwheels again --- config/crash_assistant/modlist.json | 245 +++++++++++++-------------- config/createpickywheels-common.toml | 14 +- pakku-lock.json | 217 ++++++++++++------------ 3 files changed, 236 insertions(+), 240 deletions(-) diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index fd6a18dda..c5cefbd89 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -123,12 +123,12 @@ "curseForgeHash": 409215932, "modrinthHash": "f0b711df59cd589b088e536ca4134c5e6e73fd58" }, - "AmbientSounds_FORGE_v6.3.1_mc1.20.1.jar": { - "jarName": "AmbientSounds_FORGE_v6.3.1_mc1.20.1.jar", + "AmbientSounds_FORGE_v6.3.3_mc1.20.1.jar": { + "jarName": "AmbientSounds_FORGE_v6.3.3_mc1.20.1.jar", "modId": "ambientsounds", - "version": "6.3.1", - "curseForgeHash": 1168047345, - "modrinthHash": "b6c676fbe4e586de6c266190943c069a0a49104d" + "version": "6.3.3", + "curseForgeHash": 1083459992, + "modrinthHash": "b4a0e4937db9c83ec82a6809f8d53ab2b9e7a62c" }, "applied_ammo_box-1.0.0.jar": { "jarName": "applied_ammo_box-1.0.0.jar", @@ -144,6 +144,13 @@ "curseForgeHash": 98480002, "modrinthHash": "a52918a500ff421180a1cbd1a0cabee712134ec4" }, + "arthropocolypse-1.0.6.jar": { + "jarName": "arthropocolypse-1.0.6.jar", + "modId": "arthropocolypse", + "version": "1.0.6", + "curseForgeHash": 2478485800, + "modrinthHash": "c43b2c1e8a9fa11d139a202e37054a01db8fd677" + }, "astikorcarts-1.20.1-1.1.8.jar": { "jarName": "astikorcarts-1.20.1-1.1.8.jar", "modId": "astikorcarts", @@ -165,12 +172,12 @@ "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", + "balm-forge-1.20.1-7.3.38-all.jar": { + "jarName": "balm-forge-1.20.1-7.3.38-all.jar", "modId": "balm", - "version": "7.3.37", - "curseForgeHash": 3384992026, - "modrinthHash": "bb7af11fd4bc2e76fce98f90c752279ae381b934" + "version": "7.3.38", + "curseForgeHash": 29168845, + "modrinthHash": "c689f4cbe1a5250177aced15b66ca251d9476d35" }, "barrels_2012-2.1.jar": { "jarName": "barrels_2012-2.1.jar", @@ -207,13 +214,6 @@ "curseForgeHash": 1808343910, "modrinthHash": "71fc6fe4b99dc495528edbb0be12b126eab64b6f" }, - "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", @@ -305,12 +305,12 @@ "curseForgeHash": 635589968, "modrinthHash": "c65d07748acc57ceb45d53b3964368b84f34d54f" }, - "colorwheel-forge-1.1.2+mc1.20.1.jar": { - "jarName": "colorwheel-forge-1.1.2+mc1.20.1.jar", + "colorwheel-forge-1.2.0+mc1.20.1.jar": { + "jarName": "colorwheel-forge-1.2.0+mc1.20.1.jar", "modId": "colorwheel", - "version": "1.1.2+mc1.20.1", - "curseForgeHash": 4284935425, - "modrinthHash": "08089e16b24756e0ef1e50967dcf2286b20f5923" + "version": "1.2.0+mc1.20.1", + "curseForgeHash": 3577450487, + "modrinthHash": "b4caaa01971dd398d4d6112a896eea6db856c971" }, "colorwheel_patcher-forge-1.0.4+mc1.20.1.jar": { "jarName": "colorwheel_patcher-forge-1.0.4+mc1.20.1.jar", @@ -445,12 +445,12 @@ "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", + "createpickywheels-forge-1.20.1-6.0.8-4.jar": { + "jarName": "createpickywheels-forge-1.20.1-6.0.8-4.jar", "modId": "createpickywheels", - "version": "1.20.1-6.0.6-2", - "curseForgeHash": 2218118416, - "modrinthHash": "698050b3f98b8fd9390b810741cf0eb08fee25ed" + "version": "1.20.1-6.0.8-4", + "curseForgeHash": 3915242941, + "modrinthHash": "338704cdf6623ad96983e72e81e8a9d97e8b28d8" }, "CreativeCore_FORGE_v2.12.32_mc1.20.1.jar": { "jarName": "CreativeCore_FORGE_v2.12.32_mc1.20.1.jar", @@ -508,12 +508,12 @@ "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", + "domum_ornamentum-1.20.1-1.0.295-snapshot-universal.jar": { + "jarName": "domum_ornamentum-1.20.1-1.0.295-snapshot-universal.jar", "modId": "domum_ornamentum", - "version": "1.20.1-1.0.292-snapshot", - "curseForgeHash": 2581620858, - "modrinthHash": "1b3b96dda8dd4541afba652c7a975ba439fc1026" + "version": "1.20.1-1.0.295-snapshot", + "curseForgeHash": 2324950079, + "modrinthHash": "f5fc47a7006445e4f999611d1cc95bda55c70b1f" }, "drippyloadingscreen_forge_3.1.0_MC_1.20.1.jar": { "jarName": "drippyloadingscreen_forge_3.1.0_MC_1.20.1.jar", @@ -571,12 +571,12 @@ "curseForgeHash": 1564210994, "modrinthHash": "4f440ac41309993a46e0ffcb2dd6106d7b92b3e2" }, - "everycomp-1.20-2.9.13-forge.jar": { - "jarName": "everycomp-1.20-2.9.13-forge.jar", + "everycomp-1.20-2.9.15-forge.jar": { + "jarName": "everycomp-1.20-2.9.15-forge.jar", "modId": "everycomp", - "version": "1.20-2.9.13", - "curseForgeHash": 473863607, - "modrinthHash": "2c78942c7396b1fab9e53e4ee8172f7ce0ba4482" + "version": "1.20-2.9.15", + "curseForgeHash": 2044432690, + "modrinthHash": "9199f9a117e655ba64186b76c5ff1f78236034ae" }, "exposure-1.20.1-1.7.16-forge.jar": { "jarName": "exposure-1.20.1-1.7.16-forge.jar", @@ -620,12 +620,12 @@ "curseForgeHash": 3575355395, "modrinthHash": "ceeeae222c51ae100e5126c4a5a7a05f4f3f4712" }, - "FastSuite-1.20.1-5.1.0.jar": { - "jarName": "FastSuite-1.20.1-5.1.0.jar", + "FastSuite-1.20.1-5.1.1.jar": { + "jarName": "FastSuite-1.20.1-5.1.1.jar", "modId": "fastsuite", - "version": "5.1.0", - "curseForgeHash": 2667792324, - "modrinthHash": "3a759dce0ddc91e299027faa800c0ee40ab90de8" + "version": "5.1.1", + "curseForgeHash": 4161769711, + "modrinthHash": "dfceb81524a9e1be19bf89d0281c05b6edf5326c" }, "FastWorkbench-1.20.1-8.0.4.jar": { "jarName": "FastWorkbench-1.20.1-8.0.4.jar", @@ -669,13 +669,6 @@ "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.3.jar": { "jarName": "FramedBlocks-9.4.3.jar", "modId": "framedblocks", @@ -795,26 +788,26 @@ "curseForgeHash": 3324262533, "modrinthHash": "aa53625ab5e145c6aa196645335b062b37ae82da" }, - "greate-0.0.60.jar": { - "jarName": "greate-0.0.60.jar", + "greate-0.0.61.jar": { + "jarName": "greate-0.0.61.jar", "modId": "greate", - "version": "0.0.60", - "curseForgeHash": 1014860832, - "modrinthHash": "3fc325df338f275847344f553ad81c3e9be0bc80" + "version": "0.0.61", + "curseForgeHash": 147677561, + "modrinthHash": "1ad889dbd2838045a2df194bfc757b9bae57d273" }, - "gtceu-1.20.1-7.4.0.jar": { - "jarName": "gtceu-1.20.1-7.4.0.jar", + "gtceu-1.20.1-7.4.1.jar": { + "jarName": "gtceu-1.20.1-7.4.1.jar", "modId": "gtceu", - "version": "7.4.0", - "curseForgeHash": 3505279105, - "modrinthHash": "19c638cb4913b0581da1e518771f41965f96932f" + "version": "7.4.1", + "curseForgeHash": 2174922911, + "modrinthHash": "50ae5df1cc5213aa429a976b6393e0bd4e22238e" }, - "gtmoldraw-2.0.3.jar": { - "jarName": "gtmoldraw-2.0.3.jar", + "gtmoldraw-3.0.0.jar": { + "jarName": "gtmoldraw-3.0.0.jar", "modId": "moldraw", - "version": "2.0.3", - "curseForgeHash": 432163685, - "modrinthHash": "24e461ca4eac2877458e125dc4c9eb678ad3c270" + "version": "3.0.0", + "curseForgeHash": 586035337, + "modrinthHash": "9377694e2e3d8c62bdacd400e125acc732c54803" }, "guideme-20.1.14.jar": { "jarName": "guideme-20.1.14.jar", @@ -1031,12 +1024,19 @@ "curseForgeHash": 3074548209, "modrinthHash": "4069534174e618393f0c14d9dc61ac27a04bb992" }, - "moonlight-1.20-2.16.19-forge.jar": { - "jarName": "moonlight-1.20-2.16.19-forge.jar", + "ModernUI-Forge-1.20.1-3.12.0.1-universal.jar": { + "jarName": "ModernUI-Forge-1.20.1-3.12.0.1-universal.jar", + "modId": "modernui", + "version": "3.12.0.1", + "curseForgeHash": 2393054142, + "modrinthHash": "fcebe51e3c2ca34793f9b132fa05b5494ffc76a4" + }, + "moonlight-1.20-2.16.21-forge.jar": { + "jarName": "moonlight-1.20-2.16.21-forge.jar", "modId": "moonlight", - "version": "1.20-2.16.19", - "curseForgeHash": 2861614006, - "modrinthHash": "de55e348bdf3a3ac7520fde157654d615967f9b1" + "version": "1.20-2.16.21", + "curseForgeHash": 831958052, + "modrinthHash": "81054a1ec290b7a5263c60d3ab8fa73005b79274" }, "morered-1.20.1-4.0.0.4.jar": { "jarName": "morered-1.20.1-4.0.0.4.jar", @@ -1255,12 +1255,12 @@ "curseForgeHash": 3171281796, "modrinthHash": "ed5a23ec30c90fd06b3f1d8140614028e1fafaee" }, - "ShoulderSurfing-Forge-1.20.1-4.18.1.jar": { - "jarName": "ShoulderSurfing-Forge-1.20.1-4.18.1.jar", + "ShoulderSurfing-Forge-1.20.1-4.18.2.jar": { + "jarName": "ShoulderSurfing-Forge-1.20.1-4.18.2.jar", "modId": "shouldersurfing", - "version": "1.20.1-4.18.1", - "curseForgeHash": 1413955737, - "modrinthHash": "77b9cd4384a622f709ae69decb3ad4e6e44afe38" + "version": "1.20.1-4.18.2", + "curseForgeHash": 197734397, + "modrinthHash": "2385592f8a4101edd6627ce2a75811368e5d6abd" }, "showcaseitem-1.20.1-1.2.jar": { "jarName": "showcaseitem-1.20.1-1.2.jar", @@ -1346,12 +1346,12 @@ "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", + "Steam_Rails-1.6.15-beta+forge-mc1.20.1.jar": { + "jarName": "Steam_Rails-1.6.15-beta+forge-mc1.20.1.jar", "modId": "railways", - "version": "1.6.14-beta+forge-mc1.20.1", - "curseForgeHash": 2914385349, - "modrinthHash": "90ea1d917bc20a5e4cc50abaa512d2084149dc64" + "version": "1.6.15-beta+forge-mc1.20.1", + "curseForgeHash": 1571373559, + "modrinthHash": "924c3efb2187138b85a0d5285dbb65b371c4f7e9" }, "supermartijn642configlib-1.1.8-forge-mc1.20.jar": { "jarName": "supermartijn642configlib-1.1.8-forge-mc1.20.jar", @@ -1360,19 +1360,12 @@ "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", + "tacz-1.20.1-1.1.7-hotfix.jar": { + "jarName": "tacz-1.20.1-1.1.7-hotfix.jar", "modId": "tacz", - "version": "1.1.7", - "curseForgeHash": 1186606411, - "modrinthHash": "869decffc818e6ccd7d6d0d734aecfaa265e908b" + "version": "1.1.7-hotfix", + "curseForgeHash": 218830698, + "modrinthHash": "7d4f578a42c9b880744ea6058a495847aac9e4c3" }, "tacz-tweaks-2.11.2-all.jar": { "jarName": "tacz-tweaks-2.11.2-all.jar", @@ -1388,33 +1381,33 @@ "curseForgeHash": 1292892332, "modrinthHash": "e3d20ecf37d57b2ce0541cd0b082355853566296" }, - "taczjs-forge-1.3.7-mc1.20.1.jar": { - "jarName": "taczjs-forge-1.3.7-mc1.20.1.jar", + "taczjs-forge-1.4.0+mc1.20.1.jar": { + "jarName": "taczjs-forge-1.4.0+mc1.20.1.jar", "modId": "taczjs", - "version": "1.3.7-mc1.20.1", - "curseForgeHash": 1742901301, - "modrinthHash": "8a97de20e31f7e863a968f82fd90e196f4b3a3b3" + "version": "1.4.0+mc1.20.1", + "curseForgeHash": 189217583, + "modrinthHash": "b44f0a0352d1e2eaa523744be6bc0742274dcc1a" }, - "TerraFirmaCraft-Forge-1.20.1-3.2.19.jar": { - "jarName": "TerraFirmaCraft-Forge-1.20.1-3.2.19.jar", + "TerraFirmaCraft-Forge-1.20.1-3.2.20.jar": { + "jarName": "TerraFirmaCraft-Forge-1.20.1-3.2.20.jar", "modId": "tfc", - "version": "3.2.19", - "curseForgeHash": 837967200, - "modrinthHash": "107d4aec4694c509ea7ea8f3963478ae8002f46e" + "version": "3.2.20", + "curseForgeHash": 2679626739, + "modrinthHash": "ea725f5bed9662aa22d4ec089a009bd52fb82275" }, - "TerraFirmaGreg-Core-Modern-0.8.13.jar": { - "jarName": "TerraFirmaGreg-Core-Modern-0.8.13.jar", + "TerraFirmaGreg-Core-Modern-0.8.14.jar": { + "jarName": "TerraFirmaGreg-Core-Modern-0.8.14.jar", "modId": "tfg", - "version": "0.8.13", - "curseForgeHash": 1252674808, - "modrinthHash": "557984bbe48f571e60426b370d6fa52baa4a1cef" + "version": "0.8.14", + "curseForgeHash": 2511919579, + "modrinthHash": "f1b9ac2623f3058a2bcee184a024fa4111181218" }, - "tfc_gurman-1.2.0.jar": { - "jarName": "tfc_gurman-1.2.0.jar", + "tfc_gurman-1.3.0.jar": { + "jarName": "tfc_gurman-1.3.0.jar", "modId": "tfc_gurman", - "version": "1.1.0", - "curseForgeHash": 3362991748, - "modrinthHash": "4e219504c5ca011c2ea7036d6002d30ce14085c0" + "version": "1.3.0", + "curseForgeHash": 1214501371, + "modrinthHash": "c55512789128af89d57fe0c9a2f3b4d59a491724" }, "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", @@ -1430,12 +1423,12 @@ "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", + "tfc_support_indicator-1.0.6+mc1.20.1.jar": { + "jarName": "tfc_support_indicator-1.0.6+mc1.20.1.jar", "modId": "tfc_support_indicator", - "version": "1.0.3+mc1.20.1", - "curseForgeHash": 852302900, - "modrinthHash": "2cc053dc89943471f171d3473af9a0ee50c7a16b" + "version": "1.0.6+mc1.20.1", + "curseForgeHash": 3676229392, + "modrinthHash": "b1b4be876060fec0660842abe99279d0c93d5ebc" }, "tfc_textile-1.0.5.jar": { "jarName": "tfc_textile-1.0.5.jar", @@ -1577,12 +1570,12 @@ "curseForgeHash": 3460520715, "modrinthHash": "3e4e2d2e3ee9486de4c6b64bcf8f25d87d55fc92" }, - "toomanyrecipeviewers-0.7.0+mc.20.1.jar": { - "jarName": "toomanyrecipeviewers-0.7.0+mc.20.1.jar", + "toomanyrecipeviewers-0.7.1+mc.20.1.jar": { + "jarName": "toomanyrecipeviewers-0.7.1+mc.20.1.jar", "modId": "toomanyrecipeviewers", - "version": "0.7.0+mc.20.1", - "curseForgeHash": 831210803, - "modrinthHash": "24973cc8530188fef712d34767a27d2f001c50e6" + "version": "0.7.1+mc.20.1", + "curseForgeHash": 3793441057, + "modrinthHash": "29bec57f882d3a4bab4a2dc4c46e19cadcd32c67" }, "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", @@ -1619,12 +1612,12 @@ "curseForgeHash": 2388627373, "modrinthHash": "ca49a4163794cc0f94a31a17f6956be11979db53" }, - "vintageimprovements-1.20.1-0.3.6.0.jar": { - "jarName": "vintageimprovements-1.20.1-0.3.6.0.jar", + "vintageimprovements-1.20.1-0.3.7.0.jar": { + "jarName": "vintageimprovements-1.20.1-0.3.7.0.jar", "modId": "vintageimprovements", - "version": "1.20.1-0.3.6.0", - "curseForgeHash": 1485580658, - "modrinthHash": "a893480c03a2803b130f79b2124d27345779f531" + "version": "1.20.1-0.3.7.0", + "curseForgeHash": 1687292018, + "modrinthHash": "d1416bd683464538a7615d1649eecc7027b227e2" }, "wab-1.20.1-1.3.2.jar": { "jarName": "wab-1.20.1-1.3.2.jar", diff --git a/config/createpickywheels-common.toml b/config/createpickywheels-common.toml index 2b2134ed6..925983176 100644 --- a/config/createpickywheels-common.toml +++ b/config/createpickywheels-common.toml @@ -27,24 +27,24 @@ waterwheelsPorqueNoLosDos = true #Boost for Waterwheels placed on optimal conditions. #Range: 0.0 ~ 1.7976931348623157E308 - waterwheelOptimalRPMBoost = 1.0 + waterwheelSourceRPMBoost = 1.0 #Penalty for Waterwheels placed under create's default conditions. #Range: 0.0 ~ 1.7976931348623157E308 - waterwheelOptimalRPMPenalty = 1.0 + waterwheelSourceRPMPenalty = 1.0 #Boost for Waterwheels placed on optimal conditions. #Range: 0.0 ~ 1.7976931348623157E308 - waterwheelOptimalSTRESSBoost = 1.0 + waterwheelSourceSTRESSBoost = 1.0 #Penalty for Waterwheels placed under create's default conditions. #Range: 0.0 ~ 1.7976931348623157E308 - waterwheelOptimalSTRESSPenalty = 1.0 + waterwheelSourceSTRESSPenalty = 1.0 #The minimum amount of fluid blocks the waterwheel needs to find before rotation begins. #Range: > 1 - waterwheelOptimalThreshold = 1 + waterwheelSourceThreshold = 1 #The maximum distance a waterwheel can consider fluid blocks from. #Range: > 1 - waterwheelOptimalRange = 3 + waterwheelSourceRange = 3 #When enabled boosted waterwheels require correct flow (like in TerraFirmaCraft's water river) - waterwheelsOptimalRequiresFlow = true + waterwheelsSourceRequiresFlow = true ##Windmill requirements [windmills] diff --git a/pakku-lock.json b/pakku-lock.json index 6c02905ee..e46fbb24b 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -3910,7 +3910,7 @@ "files": [ { "type": "curseforge", - "file_name": "createpickywheels-forge-1.20.1-6.0.8-3.jar", + "file_name": "createpickywheels-forge-1.20.1-6.0.8-4.jar", "mc_versions": [ "1.20.1" ], @@ -3919,18 +3919,18 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7438/493/createpickywheels-forge-1.20.1-6.0.8-3.jar", - "id": "7438493", + "url": "https://edge.forgecdn.net/files/7444/703/createpickywheels-forge-1.20.1-6.0.8-4.jar", + "id": "7444703", "parent_id": "866839", "hashes": { - "sha1": "d414b36d5f1c3310a8ca8078aa66129b8078b74a", - "md5": "3147c91477be49a3e46272301ebc4c00" + "sha1": "338704cdf6623ad96983e72e81e8a9d97e8b28d8", + "md5": "358709942dbc1683367041d8201a5bda" }, "required_dependencies": [ "328085" ], - "size": 210622, - "date_published": "2026-01-09T18:50:45.830Z" + "size": 210936, + "date_published": "2026-01-11T03:32:06.757Z" } ] }, @@ -4163,7 +4163,7 @@ "files": [ { "type": "modrinth", - "file_name": "Steam_Rails-1.6.14-beta+forge-mc1.20.1.jar", + "file_name": "Steam_Rails-1.6.15-beta+forge-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -4172,42 +4172,42 @@ "neoforge" ], "release_type": "beta", - "url": "https://cdn.modrinth.com/data/ZzjhlDgM/versions/ubktvkSZ/Steam_Rails-1.6.14-beta+forge-mc1.20.1.jar", - "id": "ubktvkSZ", + "url": "https://cdn.modrinth.com/data/ZzjhlDgM/versions/syDuEEZD/Steam_Rails-1.6.15-beta+forge-mc1.20.1.jar", + "id": "syDuEEZD", "parent_id": "ZzjhlDgM", "hashes": { - "sha512": "073bb29fe087e247986a82b2b0b8c3352e565fb4a171c15a8f54e7d30934077559a37841cadd7c6ddc3bfabcb8c0b2b1111f17faf7a9b97c69a3d9fc30681882", - "sha1": "90ea1d917bc20a5e4cc50abaa512d2084149dc64" + "sha512": "8c9986c0422b73627446e67c2d19fc521d067cee3fb55707a1fedeead4b1ec93e62ce5889a7af314f6cfb528f07365993f6864f8eed07aa38538c2f4e4e8a405", + "sha1": "924c3efb2187138b85a0d5285dbb65b371c4f7e9" }, "required_dependencies": [ "LNytGWDc" ], - "size": 9999782, - "date_published": "2025-11-09T02:55:28.159991Z" + "size": 10000104, + "date_published": "2026-01-10T22:37:24.545119Z" }, { "type": "curseforge", - "file_name": "Steam_Rails-1.6.14-beta+forge-mc1.20.1.jar", + "file_name": "Steam_Rails-1.6.15-beta+forge-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", - "forge" + "forge", + "neoforge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7201/308/Steam_Rails-1.6.14-beta+forge-mc1.20.1.jar", - "id": "7201308", + "url": "https://edge.forgecdn.net/files/7443/695/Steam_Rails-1.6.15-beta+forge-mc1.20.1.jar", + "id": "7443695", "parent_id": "688231", "hashes": { - "sha1": "90ea1d917bc20a5e4cc50abaa512d2084149dc64", - "md5": "a7d3bbdf204d7957551ad8819c1030a5" + "sha1": "924c3efb2187138b85a0d5285dbb65b371c4f7e9", + "md5": "2edf8425e95d439d0c66c6a62bf4085c" }, "required_dependencies": [ "328085" ], - "size": 9999782, - "date_published": "2025-11-09T02:55:25Z" + "size": 10000104, + "date_published": "2026-01-10T22:37:20.943Z" } ] }, @@ -11534,7 +11534,7 @@ "files": [ { "type": "modrinth", - "file_name": "ShoulderSurfing-Forge-1.20.1-4.18.1.jar", + "file_name": "ShoulderSurfing-Forge-1.20.1-4.18.2.jar", "mc_versions": [ "1.20", "1.20.1" @@ -11543,20 +11543,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/kepjj2sy/versions/HB8m5p83/ShoulderSurfing-Forge-1.20.1-4.18.1.jar", - "id": "HB8m5p83", + "url": "https://cdn.modrinth.com/data/kepjj2sy/versions/ALTXWFUW/ShoulderSurfing-Forge-1.20.1-4.18.2.jar", + "id": "ALTXWFUW", "parent_id": "kepjj2sy", "hashes": { - "sha512": "6d8799f69fb75d6cffdebb0f104e44a4c46e395cb939903c1e9571b88ddaf5486b71d79f3b418e035d0a78cf1eb7e97ae01aca8ae42b661fe8c407f7fd85d624", - "sha1": "77b9cd4384a622f709ae69decb3ad4e6e44afe38" + "sha512": "e7da5a1532c9be6caff9f308e665ee2a4d0cd5b7969ec735ffead9d1efd5f85f19221b296f6a9f34283bb5945fff8fde33495f0429e10ff6afdb1a305bdee034", + "sha1": "2385592f8a4101edd6627ce2a75811368e5d6abd" }, "required_dependencies": [], - "size": 263854, - "date_published": "2025-12-29T15:34:50.408021Z" + "size": 264836, + "date_published": "2026-01-11T15:50:27.470620Z" }, { "type": "curseforge", - "file_name": "ShoulderSurfing-Forge-1.20.1-4.18.1.jar", + "file_name": "ShoulderSurfing-Forge-1.20.1-4.18.2.jar", "mc_versions": [ "1.20.1", "1.20" @@ -11565,16 +11565,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7392/767/ShoulderSurfing-Forge-1.20.1-4.18.1.jar", - "id": "7392767", + "url": "https://edge.forgecdn.net/files/7446/740/ShoulderSurfing-Forge-1.20.1-4.18.2.jar", + "id": "7446740", "parent_id": "243190", "hashes": { - "sha1": "77b9cd4384a622f709ae69decb3ad4e6e44afe38", - "md5": "2c9bb3b79c50608ab4b18163f20be4dc" + "sha1": "2385592f8a4101edd6627ce2a75811368e5d6abd", + "md5": "4a94ae2bddb6efc105e09d1fc18dbb52" }, "required_dependencies": [], - "size": 263854, - "date_published": "2025-12-29T15:34:59.683Z" + "size": 264836, + "date_published": "2026-01-11T15:50:30.713Z" } ] }, @@ -13225,30 +13225,9 @@ "modrinth": "RL8eBaUL" }, "files": [ - { - "type": "curseforge", - "file_name": "tfc_support_indicator-1.0.3+mc1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6168/474/tfc_support_indicator-1.0.3+mc1.20.1.jar", - "id": "6168474", - "parent_id": "1195624", - "hashes": { - "sha1": "2cc053dc89943471f171d3473af9a0ee50c7a16b", - "md5": "8425469218a0a4f2871d7ae8748cf9af" - }, - "required_dependencies": [], - "size": 6997, - "date_published": "2025-02-07T19:27:13.010Z" - }, { "type": "modrinth", - "file_name": "tfc_support_indicator-1.0.3+mc1.20.1.jar", + "file_name": "tfc_support_indicator-1.0.6+mc1.20.1.jar", "mc_versions": [ "1.20.1", "1.20.2", @@ -13261,19 +13240,43 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/RL8eBaUL/versions/jeOTOlLX/tfc_support_indicator-1.0.3+mc1.20.1.jar", - "id": "jeOTOlLX", + "url": "https://cdn.modrinth.com/data/RL8eBaUL/versions/ahpvHtbf/tfc_support_indicator-1.0.6+mc1.20.1.jar", + "id": "ahpvHtbf", "parent_id": "RL8eBaUL", "hashes": { - "sha512": "70a0193b3c95e06070dd645282acda97adae68ddda39f206e81df212ef964105b22a4c851af03b74044ac7985c7c51fa40df34e2dc08e95875b0747d1f45aefb", - "sha1": "0d0001517a6a4246f1b9d968bf5672ecbfdc9596" + "sha512": "7dbceafa477c3956697b5a3bca237f04e6c283e7fedebd58e2b91daed61a343da5a082f4db266e28d276f7ee2333a27b48a1210c5b9b795c10231b8da069e886", + "sha1": "b1b4be876060fec0660842abe99279d0c93d5ebc" }, "required_dependencies": [ - "nvQzSEkH", - "JaCEZUhg" + "JaCEZUhg", + "nvQzSEkH" ], - "size": 6993, - "date_published": "2024-08-24T01:04:21.236370Z" + "size": 8082, + "date_published": "2026-01-11T13:15:07.342346Z" + }, + { + "type": "curseforge", + "file_name": "tfc_support_indicator-1.0.6+mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7446/184/tfc_support_indicator-1.0.6+mc1.20.1.jar", + "id": "7446184", + "parent_id": "1195624", + "hashes": { + "sha1": "b1b4be876060fec0660842abe99279d0c93d5ebc", + "md5": "9b5b1379ac2c48a2a0c14c49242ea0a7" + }, + "required_dependencies": [ + "302973", + "324717" + ], + "size": 8082, + "date_published": "2026-01-11T13:17:17.127Z" } ] }, @@ -13792,6 +13795,30 @@ "modrinth": "pAcsgLW2" }, "files": [ + { + "type": "curseforge", + "file_name": "taczjs-forge-1.4.0+mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7445/316/taczjs-forge-1.4.0+mc1.20.1.jar", + "id": "7445316", + "parent_id": "1130998", + "hashes": { + "sha1": "b44f0a0352d1e2eaa523744be6bc0742274dcc1a", + "md5": "84ae116397d161576164a79b29a2ce9f" + }, + "required_dependencies": [ + "1028108", + "238086" + ], + "size": 89629, + "date_published": "2026-01-11T07:38:33.490Z" + }, { "type": "modrinth", "file_name": "taczjs-forge-1.3.7-mc1.20.1.jar", @@ -13815,30 +13842,6 @@ ], "size": 90442, "date_published": "2025-12-02T00:14:24.346621Z" - }, - { - "type": "curseforge", - "file_name": "taczjs-forge-1.3.7-mc1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7284/184/taczjs-forge-1.3.7-mc1.20.1.jar", - "id": "7284184", - "parent_id": "1130998", - "hashes": { - "sha1": "8a97de20e31f7e863a968f82fd90e196f4b3a3b3", - "md5": "acdef4ed6293254878749b7c8294370d" - }, - "required_dependencies": [ - "1028108", - "238086" - ], - "size": 90442, - "date_published": "2025-12-02T01:43:33.197Z" } ] }, @@ -13937,7 +13940,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaCraft-Forge-1.20.1-3.2.19.jar", + "file_name": "TerraFirmaCraft-Forge-1.20.1-3.2.20.jar", "mc_versions": [ "1.20.1" ], @@ -13946,42 +13949,42 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/JaCEZUhg/versions/tzI7ngJN/TerraFirmaCraft-Forge-1.20.1-3.2.19.jar", - "id": "tzI7ngJN", + "url": "https://cdn.modrinth.com/data/JaCEZUhg/versions/pH3a8Xt2/TerraFirmaCraft-Forge-1.20.1-3.2.20.jar", + "id": "pH3a8Xt2", "parent_id": "JaCEZUhg", "hashes": { - "sha512": "83a5dd8463e11efff783f2c9ad87e911b44a8344d2884490e1f862d52d34c39ecbb1fb88ac200921a457f8fd038362b2ea53dac0e7d0041d272d73931f551200", - "sha1": "107d4aec4694c509ea7ea8f3963478ae8002f46e" + "sha512": "6b6b866478c625f746d8caae7eec82cbb817bf53b818b16bc460f3109015a7611a16072b2af607aecba3d3dca3f3d3022dd067a8318fd3359c049326cf19c930", + "sha1": "ea725f5bed9662aa22d4ec089a009bd52fb82275" }, "required_dependencies": [ "nU0bVIaL" ], - "size": 47458568, - "date_published": "2025-09-12T23:05:08.687798Z" + "size": 47421142, + "date_published": "2026-01-10T16:47:00.563746Z" }, { "type": "curseforge", - "file_name": "TerraFirmaCraft-Forge-1.20.1-3.2.19.jar", + "file_name": "TerraFirmaCraft-Forge-1.20.1-3.2.20.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", - "forge" + "forge", + "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6990/923/TerraFirmaCraft-Forge-1.20.1-3.2.19.jar", - "id": "6990923", + "url": "https://edge.forgecdn.net/files/7442/504/TerraFirmaCraft-Forge-1.20.1-3.2.20.jar", + "id": "7442504", "parent_id": "302973", "hashes": { - "sha1": "107d4aec4694c509ea7ea8f3963478ae8002f46e", - "md5": "ef643b2327eb4e1ccc096aa54bdb9c60" + "sha1": "ea725f5bed9662aa22d4ec089a009bd52fb82275", + "md5": "151d521a895df56fe0834d41b5921e9e" }, "required_dependencies": [ "306770" ], - "size": 47458568, - "date_published": "2025-09-12T23:05:02.727Z" + "size": 47421142, + "date_published": "2026-01-10T16:46:53.290Z" } ] }, From 9870970c898f1b121406a9444ac4ca4ba44a1fe0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 12 Jan 2026 13:44:45 +0000 Subject: [PATCH 083/474] fix #2714 --- CHANGELOG.md | 1 + kubejs/server_scripts/tfg/food/data.food.js | 2 +- kubejs/startup_scripts/tfg/items.food.js | 30 ++++++++++----------- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d0a2456cd..34c18a845 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,7 @@ - Fixed bismuth bronze and black bronze extractor recipes being tiered at MV (#2684) @Inceitious - Fixed fridge tooltip power usage (#2689) @Karo4a - Fixed invar crucible alloying using the wrong amounts of iron and nickel @Pyritie +- Fixed inconsistent saturation values from cooked long pig filet (#2714) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/kubejs/server_scripts/tfg/food/data.food.js b/kubejs/server_scripts/tfg/food/data.food.js index def08ba3d..10a45d774 100644 --- a/kubejs/server_scripts/tfg/food/data.food.js +++ b/kubejs/server_scripts/tfg/food/data.food.js @@ -159,7 +159,7 @@ function registerTFGFoodData(event) { }); event.foodItem("tfg:food/cooked_long_pig_filet", (food) => { - food.hunger(2); + food.hunger(4); food.saturation(2); food.protein(2); food.decayModifier(2.25); diff --git a/kubejs/startup_scripts/tfg/items.food.js b/kubejs/startup_scripts/tfg/items.food.js index 5ecfb2b58..b2a3589d1 100644 --- a/kubejs/startup_scripts/tfg/items.food.js +++ b/kubejs/startup_scripts/tfg/items.food.js @@ -90,7 +90,7 @@ function registerTFGFoodItems(event) { event.create('tfg:food/raw_moon_rabbit') .translationKey('item.tfg.food.raw_moon_rabbit') .texture('tfg:item/food/raw_moon_rabbit') - .food(food => food.hunger(2).saturation(2) + .food(food => food.hunger(2).saturation(1) .effect('minecraft:hunger', 100, 0, 1)) .tag('tfc:foods') .tag('tfc:foods/meats') @@ -99,7 +99,7 @@ function registerTFGFoodItems(event) { event.create('tfg:food/cooked_moon_rabbit') .translationKey('item.tfg.food.cooked_moon_rabbit') .texture('tfg:item/food/cooked_moon_rabbit') - .food(food => food.hunger(4).saturation(8)) + .food(food => food.hunger(4).saturation(2)) .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -108,7 +108,7 @@ function registerTFGFoodItems(event) { event.create('tfg:food/raw_glacian_mutton') .translationKey('item.tfg.food.raw_glacian_mutton') .texture('tfg:item/food/raw_glacian_mutton') - .food(food => food.hunger(2).saturation(2) + .food(food => food.hunger(2).saturation(1) .effect('minecraft:hunger', 100, 0, 1)) .tag('tfc:foods') .tag('tfc:foods/meats') @@ -117,7 +117,7 @@ function registerTFGFoodItems(event) { event.create('tfg:food/cooked_glacian_mutton') .translationKey('item.tfg.food.cooked_glacian_mutton') .texture('tfg:item/food/cooked_glacian_mutton') - .food(food => food.hunger(5).saturation(8)) + .food(food => food.hunger(5).saturation(2)) .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -135,7 +135,7 @@ function registerTFGFoodItems(event) { event.create('tfg:food/cooked_sniffer_beef') .translationKey('item.tfg.food.cooked_sniffer_beef') .texture('tfg:item/food/cooked_sniffer_beef') - .food(food => food.hunger(8).saturation(9)) + .food(food => food.hunger(8).saturation(4)) .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -153,7 +153,7 @@ function registerTFGFoodItems(event) { event.create('tfg:food/cooked_wraptor') .translationKey('item.tfg.food.cooked_wraptor') .texture('tfg:item/food/cooked_wraptor') - .food(food => food.hunger(6).saturation(8)) + .food(food => food.hunger(6).saturation(4)) .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -189,7 +189,7 @@ function registerTFGFoodItems(event) { event.create('tfg:food/cooked_walker_steak') .translationKey('item.tfg.food.cooked_walker_steak') .texture('tfg:item/food/cooked_walker_steak') - .food(food => food.hunger(8).saturation(10)) + .food(food => food.hunger(8).saturation(4)) .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -198,7 +198,7 @@ function registerTFGFoodItems(event) { event.create('tfg:food/raw_glider_wings') .translationKey('item.tfg.food.raw_glider_wings') .texture('tfg:item/food/raw_glider_wings') - .food(food => food.hunger(1).saturation(1) + .food(food => food.hunger(1).saturation(2) .effect('minecraft:hunger', 100, 0, 1)) .tag('tfc:foods') .tag('tfc:foods/meats') @@ -207,7 +207,7 @@ function registerTFGFoodItems(event) { event.create('tfg:food/cooked_glider_wings') .translationKey('item.tfg.food.cooked_glider_wings') .texture('tfg:item/food/cooked_glider_wings') - .food(food => food.hunger(2).saturation(3)) + .food(food => food.hunger(2).saturation(4)) .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -225,7 +225,7 @@ function registerTFGFoodItems(event) { event.create('tfg:food/cooked_whole_soarer') .translationKey('item.tfg.food.cooked_whole_soarer') .texture('tfg:item/food/cooked_whole_soarer') - .food(food => food.hunger(6).saturation(6)) + .food(food => food.hunger(6).saturation(4)) .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -243,7 +243,7 @@ function registerTFGFoodItems(event) { event.create('tfg:food/cooked_crusher_meat') .translationKey('item.tfg.food.cooked_crusher_meat') .texture('tfg:item/food/cooked_crusher_meat') - .food(food => food.hunger(5).saturation(6)) + .food(food => food.hunger(5).saturation(4)) .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -261,7 +261,7 @@ function registerTFGFoodItems(event) { event.create('tfg:food/cooked_goober_meat') .translationKey('item.tfg.food.cooked_goober_meat') .texture('tfg:item/food/cooked_goober_meat') - .food(food => food.hunger(3).saturation(9)) + .food(food => food.hunger(3).saturation(4)) .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -291,7 +291,7 @@ function registerTFGFoodItems(event) { event.create('tfg:food/cooked_stickastackatick') .translationKey('item.tfg.food.cooked_stickastackatick') .parentModel('tfg:item/food/cooked_stickastackatick') - .food(food => food.hunger(2).saturation(5) + .food(food => food.hunger(2).saturation(2) .eaten(ctx => { ctx.player.give('minecraft:stick') })) @@ -312,7 +312,7 @@ function registerTFGFoodItems(event) { event.create('tfg:food/cooked_cruncher_ribs') .translationKey('item.tfg.food.cooked_cruncher_ribs') .texture('tfg:item/food/cooked_cruncher_ribs') - .food(food => food.hunger(10).saturation(14)) + .food(food => food.hunger(10).saturation(4)) .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -330,7 +330,7 @@ function registerTFGFoodItems(event) { event.create('tfg:food/cooked_surfer_steak') .translationKey('item.tfg.food.cooked_surfer_steak') .texture('tfg:item/food/cooked_surfer_steak') - .food(food => food.hunger(8).saturation(8)) + .food(food => food.hunger(8).saturation(4)) .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') From 1cbc81edf37d1ccbdd39baca3b87457e78c295a0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 12 Jan 2026 13:45:44 +0000 Subject: [PATCH 084/474] fix #2707 --- defaultconfigs/tfc-server.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaultconfigs/tfc-server.toml b/defaultconfigs/tfc-server.toml index d658a835a..055919f8f 100644 --- a/defaultconfigs/tfc-server.toml +++ b/defaultconfigs/tfc-server.toml @@ -514,7 +514,7 @@ familiarityDecayLimit = 0.3 [blocks.mud] # # If TFC dirt blocks are able to be created into mud blocks using a water-filled fluid container. - enableDirtToMudCreation = true + enableDirtToMudCreation = false [blocks.quern] # From 8026bfed69f031b8a5778860d695664e694117bf Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 12 Jan 2026 13:56:51 +0000 Subject: [PATCH 085/474] reduce frequency of wolf sounds at night, make crickets etc look for grass plants instead of grass blocks #2680 --- kubejs/assets/ambientsounds/basic/blockgroups/grass.json | 5 +---- kubejs/assets/ambientsounds/basic/blockgroups/ice.json | 3 +++ kubejs/assets/ambientsounds/basic/blockgroups/rock.json | 3 +++ kubejs/assets/ambientsounds/basic/regions/forest.cold.json | 6 +++--- kubejs/assets/ambientsounds/basic/regions/savanna.json | 6 +++--- kubejs/assets/ambientsounds/basic/regions/taiga.json | 6 +++--- kubejs/server_scripts/tfg/mars/tags.mars.js | 2 -- kubejs/server_scripts/tfg/tags.js | 4 ++-- 8 files changed, 18 insertions(+), 17 deletions(-) create mode 100644 kubejs/assets/ambientsounds/basic/blockgroups/rock.json diff --git a/kubejs/assets/ambientsounds/basic/blockgroups/grass.json b/kubejs/assets/ambientsounds/basic/blockgroups/grass.json index cfea52f20..31c09150e 100644 --- a/kubejs/assets/ambientsounds/basic/blockgroups/grass.json +++ b/kubejs/assets/ambientsounds/basic/blockgroups/grass.json @@ -1,6 +1,3 @@ [ - "tfc:grass/loam", - "tfc:grass/silty_loam", - "tfc:grass/sandy_loam", - "tfc:grass/silt" + "#tfc:plants" ] diff --git a/kubejs/assets/ambientsounds/basic/blockgroups/ice.json b/kubejs/assets/ambientsounds/basic/blockgroups/ice.json index 9e24b58f1..df328151d 100644 --- a/kubejs/assets/ambientsounds/basic/blockgroups/ice.json +++ b/kubejs/assets/ambientsounds/basic/blockgroups/ice.json @@ -3,6 +3,9 @@ "minecraft:packed_ice", "minecraft:frosted_ice", "minecraft:blue_ice", + "tfg:dry_ice", + "tfg:mars_ice", + "ad_astra:permafrost", "tfc:sea_ice", "tfc:ice_pile" ] diff --git a/kubejs/assets/ambientsounds/basic/blockgroups/rock.json b/kubejs/assets/ambientsounds/basic/blockgroups/rock.json new file mode 100644 index 000000000..6995313c7 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/blockgroups/rock.json @@ -0,0 +1,3 @@ +[ + "#forge:stone" +] diff --git a/kubejs/assets/ambientsounds/basic/regions/forest.cold.json b/kubejs/assets/ambientsounds/basic/regions/forest.cold.json index 9c8a520f9..d606e30c4 100644 --- a/kubejs/assets/ambientsounds/basic/regions/forest.cold.json +++ b/kubejs/assets/ambientsounds/basic/regions/forest.cold.json @@ -66,8 +66,8 @@ "ambientsounds:animals.wolf" ], "pause": { - "min": 100, - "max": 600 + "min": 12000, + "max": 72000 }, "day": 0 }, @@ -78,7 +78,7 @@ "ambientsounds:animals.long-wolf" ], "pause": { - "min": 12000, + "min": 56000, "max": 72000 }, "day": 0 diff --git a/kubejs/assets/ambientsounds/basic/regions/savanna.json b/kubejs/assets/ambientsounds/basic/regions/savanna.json index b876efba6..65ed279d9 100644 --- a/kubejs/assets/ambientsounds/basic/regions/savanna.json +++ b/kubejs/assets/ambientsounds/basic/regions/savanna.json @@ -91,8 +91,8 @@ "ambientsounds:animals.wolf" ], "pause": { - "min": 100, - "max": 600 + "min": 12000, + "max": 72000 }, "day": 0 }, @@ -103,7 +103,7 @@ "ambientsounds:animals.long-wolf" ], "pause": { - "min": 12000, + "min": 56000, "max": 72000 }, "day": 0 diff --git a/kubejs/assets/ambientsounds/basic/regions/taiga.json b/kubejs/assets/ambientsounds/basic/regions/taiga.json index d697d9f8d..0eea8ca75 100644 --- a/kubejs/assets/ambientsounds/basic/regions/taiga.json +++ b/kubejs/assets/ambientsounds/basic/regions/taiga.json @@ -52,8 +52,8 @@ "ambientsounds:animals.wolf" ], "pause": { - "min": 100, - "max": 600 + "min": 12000, + "max": 72000 }, "day": 0 }, @@ -64,7 +64,7 @@ "ambientsounds:animals.long-wolf" ], "pause": { - "min": 12000, + "min": 56000, "max": 72000 }, "day": 0 diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js index 7d5e34e30..33eafa125 100644 --- a/kubejs/server_scripts/tfg/mars/tags.mars.js +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -2,8 +2,6 @@ function registerTFGMarsItemTags(event) { - event.add('c:hidden_from_recipe_viewers', 'tfg:mars_ice') - event.add('tfc:compost_greens', 'ad_astra:aeronos_cap') event.add('tfc:compost_greens', 'ad_astra:strophar_cap') diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index b6d93a48f..539c5cb42 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -131,10 +131,10 @@ const registerTFGBlockTags = (event) => { event.add('forge:mineable/wrench', 'tfg:machine_casing_power_casing') event.add('minecraft:mineable/pickaxe', 'tfg:mars_ice') - event.add('minecraft:mineable/pickaxe', 'tfg:dry_ice') event.add('tfcambiental:cold_stuff', 'tfg:mars_ice') - event.add('tfcambiental:cold_stuff', 'tfg:dry_ice') event.add('minecraft:ice', 'tfg:mars_ice') + event.add('minecraft:mineable/pickaxe', 'tfg:dry_ice') + event.add('tfcambiental:cold_stuff', 'tfg:dry_ice') event.add('minecraft:ice', 'tfg:dry_ice') } //#endregion From 1fceb61e431dbf1b80c01e4f017a478679963a4f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 12 Jan 2026 13:58:08 +0000 Subject: [PATCH 086/474] fix helve hammer blows being < 1 #2584 --- kubejs/server_scripts/vintage_improvements/recipes.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index 5f908e4b3..2e1cb0d85 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -635,13 +635,13 @@ function generateHammeringRecipe(event, material, blows, anvil) { ChemicalHelper.get(TagPrefix.plate, material, 1), ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1)) .anvilBlock(`tfc:metal/anvil/${anvil}`) - .hammerBlows(blows) + .hammerBlows(Math.max(blows, 1)) .id(`tfg:vi/hammer/${material.getName()}_plate_on_${anvil}_anvil`) } function generateHammeringRecipeFromItem(event, input, output, blows, anvil) { event.recipes.vintageimprovements.hammering(output, input) .anvilBlock(`tfc:metal/anvil/${anvil}`) - .hammerBlows(blows) + .hammerBlows(Math.max(blows, 1)) .id(`tfg:vi/hammer/${input.replace(/[#:]/g, '_')}_on_${anvil}_anvil`) } From 45198604c0b4f317ab737de2dbbde1463c789454 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 12 Jan 2026 14:00:50 +0000 Subject: [PATCH 087/474] cl --- CHANGELOG.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 34c18a845..e93c65248 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ ### Breaking changes - The steam thermal centrifuge now requires a maintenance hatch. It also now requires 480mB steam per tick instead of 64mb, equivalent to how much 8 LV thermal centrifuges would use. It also now only takes 20 seconds instead of 30. It also now actually outputs byproducts like it was supposed to. @Pyritie - Single block steam generators are now more expensive to craft, so there isn't such a huge gap between steam, gas, and combustion generators @TomPlop +### Performance improvements +- Fixed the huge amount of lag from looking at lots of interconnected trees @Mqrius +- Fixed tree chopping also stripping nearby trees of all their leaves (note that this will only also apply to newly generated mars trees, old trees will have the old behaviour) @Mqrius +- Fixed tree chopping not working on trees that had no leaves @Mqrius +- Fixed tree chopping working on player-placed logs (yes, this means you can't place logs to chop down many trees at once any more) @Mqrius +- Fixed a huge amount of lag from TFC Ambiental @Mqrius ### Changes - Added tree index field guide entries for Earth and Mars (#2638) @Jeuvke - Added drinkable effects field guide entry (#2676) @FlightingFalcon @@ -22,12 +28,7 @@ - You can now also use mars water in gregtech and create boilers @Pyritie - Changed the texture of out-of-season blood lilies so they're findable year-round @Pyritie - Added alloy smelter recipes for jar lids (#2705) @thederpysockdude123 -### Performance improvements -- Fixed the huge amount of lag from looking at lots of interconnected trees @Mqrius -- Fixed tree chopping also stripping nearby trees of all their leaves (note that this will only also apply to newly generated mars trees, old trees will have the old behaviour) @Mqrius -- Fixed tree chopping not working on trees that had no leaves @Mqrius -- Fixed tree chopping working on player-placed logs (yes, this means you can't place logs to chop down many trees at once any more) @Mqrius -- Fixed a huge amount of lag from TFC Ambiental @Mqrius +- Reduced the amount of ambient wolf sounds at night, and crickets/cicadas now require grass plants instead of grass blocks (#2680) @Pyritie ### Bug fixes - Fixed not being able to craft Paracetamol or Rad-Away @Pyritie - Fixed the missing dried fruit to yeast starter recipe (#2673) @Mqrius @@ -43,6 +44,7 @@ - Fixed fridge tooltip power usage (#2689) @Karo4a - Fixed invar crucible alloying using the wrong amounts of iron and nickel @Pyritie - Fixed inconsistent saturation values from cooked long pig filet (#2714) @Pyritie +- Fixed soaked paper in a helve hammer having a blow count of less than 1 for some anvils (#2655) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare From 75f0fc13ce8ac8672ce8d2cf767b2bcf5b89eddf Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 12 Jan 2026 14:48:02 +0000 Subject: [PATCH 088/474] fix vacuum engine intake model --- .../tfg/models/block/casings/machine_casing_egh.json | 7 ++++++- .../block/casings/machine_casing_ultraviolet.json | 7 ++++++- .../casings/machine_casing_ultraviolet_active.json | 10 +++++----- .../casings/machine_casing_vacuum_engine_intake.json | 6 ++++++ .../machine_casing_vacuum_engine_intake_active.json | 6 ++++++ kubejs/startup_scripts/tfg/blocks.casings.js | 1 - 6 files changed, 29 insertions(+), 8 deletions(-) create mode 100644 kubejs/assets/tfg/models/block/casings/machine_casing_vacuum_engine_intake.json create mode 100644 kubejs/assets/tfg/models/block/casings/machine_casing_vacuum_engine_intake_active.json diff --git a/kubejs/assets/tfg/models/block/casings/machine_casing_egh.json b/kubejs/assets/tfg/models/block/casings/machine_casing_egh.json index 2b639dd1e..f74ac865c 100644 --- a/kubejs/assets/tfg/models/block/casings/machine_casing_egh.json +++ b/kubejs/assets/tfg/models/block/casings/machine_casing_egh.json @@ -1 +1,6 @@ -{"parent":"minecraft:block/cube_all","textures":{"all":"tfg:block/casings/machine_casing_egh_inactive"}} \ No newline at end of file +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/casings/machine_casing_egh_inactive" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/casings/machine_casing_ultraviolet.json b/kubejs/assets/tfg/models/block/casings/machine_casing_ultraviolet.json index bd3c16e88..f0d60ada8 100644 --- a/kubejs/assets/tfg/models/block/casings/machine_casing_ultraviolet.json +++ b/kubejs/assets/tfg/models/block/casings/machine_casing_ultraviolet.json @@ -1 +1,6 @@ -{"parent":"minecraft:block/cube_all","textures":{"all":"tfg:block/casings/machine_casing_ultraviolet"}} \ No newline at end of file +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/casings/machine_casing_ultraviolet" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/casings/machine_casing_ultraviolet_active.json b/kubejs/assets/tfg/models/block/casings/machine_casing_ultraviolet_active.json index cc5a073df..26e76c628 100644 --- a/kubejs/assets/tfg/models/block/casings/machine_casing_ultraviolet_active.json +++ b/kubejs/assets/tfg/models/block/casings/machine_casing_ultraviolet_active.json @@ -1,7 +1,7 @@ { - "parent": "tfg:block/casings/active_casing", - "textures": { - "active": "tfg:block/casings/machine_casing_ultraviolet_active", - "active_overlay": "tfg:block/casings/machine_casing_ultraviolet_active_emissive" - } + "parent": "tfg:block/casings/active_casing", + "textures": { + "active": "tfg:block/casings/machine_casing_ultraviolet_active", + "active_overlay": "tfg:block/casings/machine_casing_ultraviolet_active_emissive" + } } \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/casings/machine_casing_vacuum_engine_intake.json b/kubejs/assets/tfg/models/block/casings/machine_casing_vacuum_engine_intake.json new file mode 100644 index 000000000..397100f63 --- /dev/null +++ b/kubejs/assets/tfg/models/block/casings/machine_casing_vacuum_engine_intake.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/casings/machine_casing_vacuum_engine_intake" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/casings/machine_casing_vacuum_engine_intake_active.json b/kubejs/assets/tfg/models/block/casings/machine_casing_vacuum_engine_intake_active.json new file mode 100644 index 000000000..90453bd00 --- /dev/null +++ b/kubejs/assets/tfg/models/block/casings/machine_casing_vacuum_engine_intake_active.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/casings/machine_casing_vacuum_engine_intake_active" + } +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/blocks.casings.js b/kubejs/startup_scripts/tfg/blocks.casings.js index f96da2f0c..a1b073fe2 100644 --- a/kubejs/startup_scripts/tfg/blocks.casings.js +++ b/kubejs/startup_scripts/tfg/blocks.casings.js @@ -25,7 +25,6 @@ function registerTFGCasingBlocks(event) { .mapColor('color_light_gray') event.create('tfg:casings/machine_casing_vacuum_engine_intake', 'gtceu:active') - .model('tfg:block/casings/machine_casing_vacuum_engine_intake') .translationKey('block.tfg.casings.machine_casing_vacuum_engine_intake') .soundType('metal') .resistance(6).hardness(5) From e74043472dcb63bb8054adde4aab76d6ef826b9c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 12 Jan 2026 14:53:58 +0000 Subject: [PATCH 089/474] cleanup this recycling file --- .../gregtech/recipes.recycling.js | 126 +----------------- 1 file changed, 7 insertions(+), 119 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.recycling.js b/kubejs/server_scripts/gregtech/recipes.recycling.js index e8981633c..04175df2f 100644 --- a/kubejs/server_scripts/gregtech/recipes.recycling.js +++ b/kubejs/server_scripts/gregtech/recipes.recycling.js @@ -6,126 +6,14 @@ */ function registerGTCEURecyclingRecipes(event) { - // Tantalum Capacitor - event.recipes.gtceu.macerator('gtceu:macerator/recycling/tantulum_capacitor') - .itemInputs('gtceu:tantalum_capacitor') - .itemOutputs( - ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Tantalum, 1), - ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Polyethylene, 1) - ) - .duration(GTMaterials.Tantalum.getMass() * 1) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/tantulum_capacitor') - .itemInputs('gtceu:tantalum_capacitor') - .itemOutputs( - ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Tantalum, 1), - ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Ash, 1) - ) - .duration(GTMaterials.Tantalum.getMass() * 1) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - - // Capacitor - event.recipes.gtceu.macerator('gtceu:macerator/recycling/capacitor') - .itemInputs('gtceu:capacitor') - .itemOutputs( - ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Polyethylene, 1) - ) - .duration(GTMaterials.Polyethylene.getMass() * 1) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/capacitor') - .itemInputs('gtceu:capacitor') - .itemOutputs( - ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Ash, 1) - ) - .duration(GTMaterials.Ash.getMass() * 1) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - - // Empty Tier I Capacitor - event.recipes.gtceu.macerator('gtceu:macerator/recycling/empty_tier_i_battery') - .itemInputs('gtceu:empty_tier_i_battery') - .itemOutputs( - ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ultimet, 6) - ) - .duration(GTMaterials.Ultimet.getMass() * 6) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/empty_tier_i_battery') - .itemInputs('gtceu:empty_tier_i_battery') - .itemOutputs( - ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ultimet, 6) - ) - .duration(GTMaterials.Ultimet.getMass() * 6) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.extractor('gtceu:extractor/recycling/empty_tier_i_battery') - .itemInputs('gtceu:empty_tier_i_battery') - .outputFluids(Fluid.of('gtceu:ultimet', 864)) - .duration(GTMaterials.Ultimet.getMass() * 6) - .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - - // Empty Tier II Capacitor - event.recipes.gtceu.macerator('gtceu:macerator/recycling/empty_tier_ii_battery') - .itemInputs('gtceu:empty_tier_ii_battery') - .itemOutputs( - ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ruridit, 6) - ) - .duration(GTMaterials.Ruridit.getMass() * 6) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/empty_tier_ii_battery') - .itemInputs('gtceu:empty_tier_ii_battery') - .itemOutputs( - ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ruridit, 6) - ) - .duration(GTMaterials.Ruridit.getMass() * 6) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.extractor('gtceu:extractor/recycling/empty_tier_ii_battery') - .itemInputs('gtceu:empty_tier_ii_battery') - .outputFluids(Fluid.of('gtceu:ruridit', 864)) - .duration(GTMaterials.Ruridit.getMass() * 6) - .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - - // Empty Tier III Capacitor - event.recipes.gtceu.macerator('gtceu:macerator/recycling/empty_tier_iii_battery') - .itemInputs('gtceu:empty_tier_iii_battery') - .itemOutputs( - ChemicalHelper.get(TagPrefix.dust, GTMaterials.Neutronium, 6) - ) - .duration(GTMaterials.Neutronium.getMass() * 6) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/empty_tier_iii_battery') - .itemInputs('gtceu:empty_tier_iii_battery') - .itemOutputs( - ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Neutronium, 6) - ) - .duration(GTMaterials.Neutronium.getMass() * 6) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.extractor('gtceu:extractor/recycling/empty_tier_iii_battery') - .itemInputs('gtceu:empty_tier_iii_battery') - .outputFluids(Fluid.of('gtceu:neutronium', 864)) - .duration(GTMaterials.Neutronium.getMass() * 6) - .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - + // Capacitors + TFGHelpers.registerMaterialInfo('gtceu:tantalum_capacitor', { 'tantalum': 1/9, 'polyethylene': 1/9 }) + TFGHelpers.registerMaterialInfo('gtceu:capacitor', { 'polyethylene': 1/9 }) + // Empty batteries + TFGHelpers.registerMaterialInfo('gtceu:empty_tier_i_battery', { 'ultimet': 6 }) + TFGHelpers.registerMaterialInfo('gtceu:empty_tier_ii_battery', { 'ruridit': 6 }) + TFGHelpers.registerMaterialInfo('gtceu:empty_tier_iii_battery', { 'neutronium': 6 }) // Iron Door - TFGHelpers.registerMaterialInfo('minecraft:iron_door', { 'iron': 2 }) // #region Fix TFC hanging sign metal dupe for Macerator and Arc Furnace From 241b80a4a01e27f88a60e6cad7dd370da06ca2fd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 12 Jan 2026 15:32:18 +0000 Subject: [PATCH 090/474] migrate everything over to linuxUnfucker() --- kubejs/server_scripts/gregtech/utility.js | 8 +- kubejs/server_scripts/main_server_script.js | 7 + .../server_scripts/modern_markings/recipes.js | 4 +- kubejs/server_scripts/soulbound/recipes.js | 2 +- .../tfg/aquaponics/recipes.greenhouse.js | 6 - .../tfg/aquaponics/recipes.pisciculture.js | 12 +- .../server_scripts/tfg/food/recipes.food.js | 18 +-- .../tfg/machines/recipes.molds.js | 12 +- .../tfg/natural_blocks/recipes.rocks.js | 144 +++++++++++------- .../tfg/ores_and_materials/recipes.alloys.js | 6 +- .../ores_and_materials/recipes.materials.js | 28 ++++ kubejs/server_scripts/tfg/recipes.js | 1 + .../tfg/venus/recipes.biochem.js | 6 +- .../vintage_improvements/recipes.js | 2 +- 14 files changed, 162 insertions(+), 94 deletions(-) create mode 100644 kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js diff --git a/kubejs/server_scripts/gregtech/utility.js b/kubejs/server_scripts/gregtech/utility.js index 39c376d82..b16721aed 100644 --- a/kubejs/server_scripts/gregtech/utility.js +++ b/kubejs/server_scripts/gregtech/utility.js @@ -500,28 +500,28 @@ function sterilizeItem(event, input, output, multiplier, cleanroom) { } // Create recipes. - const ethanol_recipe = event.recipes.gtceu.chemical_bath(`tfg:ethanol_cleaning/${input.replace(':', '_')}_to_${output.replace(':', '_')}`) + const ethanol_recipe = event.recipes.gtceu.chemical_bath(`tfg:ethanol_cleaning/${linuxUnfucker(input)}_to_${linuxUnfucker(output)}`) .itemInputs(input) .inputFluids(Fluid.of('gtceu:ethanol', 500*recipe_multiplier)) .itemOutputs(output) .duration(10*20*recipe_multiplier) .EUt(GTValues.VA[GTValues.MV]); - const hydrogen_peroxide_recipe = event.recipes.gtceu.chemical_bath(`tfg:hydrogen_peroxide_cleaning/${input.replace(':', '_')}_to_${output.replace(':', '_')}`) + const hydrogen_peroxide_recipe = event.recipes.gtceu.chemical_bath(`tfg:hydrogen_peroxide_cleaning/${linuxUnfucker(input)}_to_${linuxUnfucker(output)}`) .itemInputs(input) .inputFluids(Fluid.of('gtceu:hydrogen_peroxide', 200*recipe_multiplier)) .itemOutputs(output) .duration(10*20*recipe_multiplier) .EUt(GTValues.VA[GTValues.MV]); - const sodium_dodecyl_sulfate_recipe = event.recipes.gtceu.chemical_bath(`tfg:sodium_dodecyl_sulfate_cleaning/${input.replace(':', '_')}_to_${output.replace(':', '_')}`) + const sodium_dodecyl_sulfate_recipe = event.recipes.gtceu.chemical_bath(`tfg:sodium_dodecyl_sulfate_cleaning/${linuxUnfucker(input)}_to_${linuxUnfucker(output)}`) .itemInputs(input) .inputFluids(Fluid.of('tfg:sodium_dodecyl_sulfate', 50*recipe_multiplier)) .itemOutputs(output) .duration(10*20*recipe_multiplier) .EUt(GTValues.VA[GTValues.MV]); - const autoclave_recipe = event.recipes.gtceu.autoclave(`tfg:autoclave_cleaning/${input.replace(':', '_')}_to_${output.replace(':', '_')}`) + const autoclave_recipe = event.recipes.gtceu.autoclave(`tfg:autoclave_cleaning/${linuxUnfucker(input)}_to_${linuxUnfucker(output)}`) .itemInputs(input) .perTick(true) .inputFluids(Fluid.of('gtceu:steam', 100*recipe_multiplier)) diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index c60537876..1e1452714 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -199,6 +199,13 @@ GTCEuServerEvents.fluidVeins(event => { registerGTCEUBedrockFluidVeins(event) }) + +/** Correct recipe IDs to replace invalid characters */ +function linuxUnfucker(value) { + const str = (value === undefined || value === null) ? "" : value.toString(); + return str.replace(/[/:\s]/g, "_"); +}; + /** * Событие регистрации рецептов. * Срабатывает после инициализации датапаков и тегов. diff --git a/kubejs/server_scripts/modern_markings/recipes.js b/kubejs/server_scripts/modern_markings/recipes.js index 19b436120..dbb2806a1 100644 --- a/kubejs/server_scripts/modern_markings/recipes.js +++ b/kubejs/server_scripts/modern_markings/recipes.js @@ -27,9 +27,9 @@ const registerModernMarkingRecipes = (event) => { markings.forEach(item => { event.stonecutting(item, Ingredient.of('#ags_modernmarkings:markings').subtract(item) - ).id(`tfg:stonecutter/${item.replace(/:/g, "/")}`) + ).id(`tfg:stonecutter/${linuxUnfucker(item)}`) event.stonecutting(item, 'ags_modernmarkings:wall_marking_hazard_diamond') - .id(`tfg:stonecutter/${item.replace(/:/g, "/")}_from_diamond`) + .id(`tfg:stonecutter/${linuxUnfucker(item)}_from_diamond`) }) }; \ No newline at end of file diff --git a/kubejs/server_scripts/soulbound/recipes.js b/kubejs/server_scripts/soulbound/recipes.js index d68b64f90..4f382d8fc 100644 --- a/kubejs/server_scripts/soulbound/recipes.js +++ b/kubejs/server_scripts/soulbound/recipes.js @@ -18,7 +18,7 @@ const registerSoulboundRecipes = (event) => { } result.nbt.put('soulbindingSoulboundItems', true) return result; - }).id(`tfg:soulbind_${x.equipment}`.replace(/[: ]/g, '_')); + }).id(`tfg:soulbind_${linuxUnfucker(x.equipment)}`); }) diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js index e26039327..c5d52f343 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js @@ -46,12 +46,6 @@ const greenhouse_dimension_index = [ //#region Utility Script -/** Correct recipe IDs to replace invalid characters */ -function linuxUnfucker(value) { - const str = (value === undefined || value === null) ? "" : value.toString(); - return str.replace(/[/:\s]/g, "_"); -}; - /** * Function for generating greenhouse recipes. * diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js index e871d930c..774a7e84e 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js @@ -145,7 +145,7 @@ const registerTFGPiscicultureRecipes = (event) => { Item.of(`3x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT(), '2x minecraft:bucket' ], - `${fish.id.replace(/[/:\s]/g, "_")}/basic_food/bucket_to_roe` + `${linuxUnfucker(fish.id)}/basic_food/bucket_to_roe` ); generatePiscicultureRecipe(event, @@ -158,7 +158,7 @@ const registerTFGPiscicultureRecipes = (event) => { Item.of(`4x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT(), '2x minecraft:bucket' ], - `${fish.id.replace(/[/:\s]/g, "_")}/advanced_food/bucket_to_roe` + `${linuxUnfucker(fish.id)}/advanced_food/bucket_to_roe` ); } else { generatePiscicultureRecipe(event, @@ -170,7 +170,7 @@ const registerTFGPiscicultureRecipes = (event) => { `6x ${fish.item}`, Item.of(`3x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT() ], - `${fish.id.replace(/[/:\s]/g, "_")}/basic_food/parent_to_roe` + `${linuxUnfucker(fish.id)}/basic_food/parent_to_roe` ); generatePiscicultureRecipe(event, @@ -182,7 +182,7 @@ const registerTFGPiscicultureRecipes = (event) => { `12x ${fish.item}`, Item.of(`4x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT() ], - `${fish.id.replace(/[/:\s]/g, "_")}/advanced_food/parent_to_roe` + `${linuxUnfucker(fish.id)}/advanced_food/parent_to_roe` ); }; @@ -196,7 +196,7 @@ const registerTFGPiscicultureRecipes = (event) => { `10x ${fish.item}`, Item.of(`4x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT() ], - `${fish.id.replace(/[/:\s]/g, "_")}/basic_food/roe_to_roe` + `${linuxUnfucker(fish.id)}/basic_food/roe_to_roe` ); generatePiscicultureRecipe(event, @@ -208,7 +208,7 @@ const registerTFGPiscicultureRecipes = (event) => { `15x ${fish.item}`, Item.of(`5x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT() ], - `${fish.id.replace(/[/:\s]/g, "_")}/advanced_food/roe_to_roe` + `${linuxUnfucker(fish.id)}/advanced_food/roe_to_roe` ); }); diff --git a/kubejs/server_scripts/tfg/food/recipes.food.js b/kubejs/server_scripts/tfg/food/recipes.food.js index caf7ac9f4..74c76a144 100644 --- a/kubejs/server_scripts/tfg/food/recipes.food.js +++ b/kubejs/server_scripts/tfg/food/recipes.food.js @@ -418,7 +418,7 @@ function registerTFGFoodRecipes(event) { const brining_ingredients = smoking_meats.concat(brining_veg); brining_ingredients.forEach(item => { - global.processorRecipeText(event, `${item.replace(/:/g, "/")}/brining`, 200, 16, "tfg.food_recipe.brining", { + global.processorRecipeText(event, `${linuxUnfucker(item)}/brining`, 200, 16, "tfg.food_recipe.brining", { circuit: 5, itemInputs: [item], itemOutputs: [item], @@ -428,7 +428,7 @@ function registerTFGFoodRecipes(event) { }) smoking_meats.forEach(item => { - global.processorRecipeText(event, `${item.replace(/:/g, "/")}/smoking`, 200, 16, "tfg.food_recipe.smoking", { + global.processorRecipeText(event, `${linuxUnfucker(item)}/smoking`, 200, 16, "tfg.food_recipe.smoking", { circuit: 6, itemInputs: [item], itemOutputs: [item], @@ -438,7 +438,7 @@ function registerTFGFoodRecipes(event) { }) smoking_cheese.forEach(item => { - global.processorRecipeText(event, `${item.replace(/:/g, "/")}/smoking`, 200, 16, "tfg.food_recipe.smoking", { + global.processorRecipeText(event, `${linuxUnfucker(item)}/smoking`, 200, 16, "tfg.food_recipe.smoking", { circuit: 6, itemInputs: [item], itemOutputs: [item], @@ -448,7 +448,7 @@ function registerTFGFoodRecipes(event) { }) drying_fruits.forEach(item => { - global.processorRecipeText(event, `${item.replace(/:/g, "/")}/drying`, 200, 16, "tfg.food_recipe.drying", { + global.processorRecipeText(event, `${linuxUnfucker(item)}/drying`, 200, 16, "tfg.food_recipe.drying", { circuit: 6, itemInputs: [item], itemOutputs: [item], @@ -458,7 +458,7 @@ function registerTFGFoodRecipes(event) { }) drying_recipes.forEach(item => { - global.processorRecipeText(event, `${item.input.replace(/:/g, "/")}/drying`, 200, 16, "tfg.food_recipe.drying", { + global.processorRecipeText(event, `${linuxUnfucker(item.input)}/drying`, 200, 16, "tfg.food_recipe.drying", { circuit: 6, itemInputs: [item.input], itemOutputs: [item.output], @@ -958,7 +958,7 @@ function registerTFGFoodRecipes(event) { //#region Alcohols global.TFC_ALCOHOL.forEach(alcohol => { - global.processorRecipe(event, alcohol.id.replace(/:/g, "_"), 2400, 1, { + global.processorRecipe(event, linuxUnfucker(alcohol.id), 2400, 1, { itemInputs: [alcohol.ingredient], fluidInputs: ['#tfg:clean_water 500', 'firmalife:yeast_starter 10'], fluidOutputs: [Fluid.of(alcohol.id, 500)], @@ -1424,7 +1424,7 @@ function registerTFGFoodRecipes(event) { */ const beer = ['tfc:beer', 'tfcagedalcohol:aged_beer']; beer.forEach(beerType => { - global.processorRecipe(event, `raw_beer_battered_cheese_curds/${beerType.replace(':', '_')}`, 20*5, GTValues.VA[GTValues.ULV], { + global.processorRecipe(event, `raw_beer_battered_cheese_curds/${linuxUnfucker(beerType)}`, 20*5, GTValues.VA[GTValues.ULV], { itemInputs: ['4x #tfg:foods/cheese_curds', '#tfc:foods/flour', 'tfc:powder/salt', '#forge:eggs'], fluidInputs: [`${beerType} 100`], itemOutputs: ['4x tfg:food/raw_beer_battered_cheese_curds'], @@ -1714,9 +1714,9 @@ function registerTFGFoodRecipes(event) { spice.plant, '#forge:tools/knives' ] - ).id(`tfg:crafting/${spice.product.replace(':', '_')}`); + ).id(`tfg:crafting/${linuxUnfucker(spice.product)}`); - event.recipes.gtceu.food_processor(`tfg:${spice.product.replace(':', '_')}`) + event.recipes.gtceu.food_processor(`tfg:${linuxUnfucker(spice.product)}`) .itemInputs(spice.plant) .itemOutputs(Item.of(spice.product).withCount(2)) .duration(10) diff --git a/kubejs/server_scripts/tfg/machines/recipes.molds.js b/kubejs/server_scripts/tfg/machines/recipes.molds.js index 0496f86d4..fbc41a399 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.molds.js +++ b/kubejs/server_scripts/tfg/machines/recipes.molds.js @@ -281,21 +281,21 @@ function registerTFGMoldRecipes(event) { global.TFG_EXTRUDER_MOLDS.forEach(mold => { - event.recipes.gtceu.arc_furnace(`arc_${mold}`.replace("tfg:", "")) + event.recipes.gtceu.arc_furnace(`arc_${linuxUnfucker(mold)}`) .itemInputs(mold) .itemOutputs(steelIngots) .duration(224) .EUt(GTValues.VA[GTValues.LV]) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - event.recipes.gtceu.macerator(`macerate_${mold}`.replace("tfg:", "")) + event.recipes.gtceu.macerator(`macerate_${linuxUnfucker(mold)}`) .itemInputs(mold) .itemOutputs(steelDusts) .duration(224) .EUt(GTValues.VA[GTValues.ULV]) .category(GTRecipeCategories.MACERATOR_RECYCLING) - event.recipes.gtceu.forming_press(`copy_shape_${mold}`.replace("tfg:", "")) + event.recipes.gtceu.forming_press(`copy_shape_${linuxUnfucker(mold)}`) .itemInputs('gtceu:empty_mold') .notConsumable(mold) .itemOutputs(mold) @@ -305,21 +305,21 @@ function registerTFGMoldRecipes(event) { global.TFG_CASTING_MOLDS.forEach(mold => { - event.recipes.gtceu.arc_furnace(`arc_${mold}`.replace("tfg:", "")) + event.recipes.gtceu.arc_furnace(`arc_${linuxUnfucker(mold)}`) .itemInputs(mold) .itemOutputs(steelIngots) .duration(224) .EUt(GTValues.VA[GTValues.LV]) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - event.recipes.gtceu.macerator(`macerate_${mold}`.replace("tfg:", "")) + event.recipes.gtceu.macerator(`macerate_${linuxUnfucker(mold)}`) .itemInputs(mold) .itemOutputs(steelDusts) .duration(224) .EUt(GTValues.VA[GTValues.ULV]) .category(GTRecipeCategories.MACERATOR_RECYCLING) - event.recipes.gtceu.forming_press(`copy_shape_${mold}`.replace("tfg:", "")) + event.recipes.gtceu.forming_press(`copy_shape_${linuxUnfucker(mold)}`) .itemInputs('gtceu:empty_mold') .notConsumable(mold) .itemOutputs(mold) diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index 425001285..76dbd241f 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -38,6 +38,8 @@ function registerTFGRockRecipes(event) { ] GLUEING_TOGETHER.forEach(x => { + const id = linuxUnfucker(`${x.loose}_to_${x.block}`); + event.shaped(x.block, [ 'ABA', 'BAB', @@ -45,9 +47,9 @@ function registerTFGRockRecipes(event) { ], { A: x.loose, B: 'tfc:mortar' - }) + }).id(`tfg:shaped/${id}`) - event.recipes.gtceu.assembler(`${x.loose}_to_${x.block}`.replace(/[: ]/g, '_')) + event.recipes.gtceu.assembler(`tfg:${id}`) .itemInputs(`5x ${x.loose}`) .inputFluids(Fluid.of('gtceu:concrete', 72)) .itemOutputs(x.block) @@ -74,23 +76,27 @@ function registerTFGRockRecipes(event) { ] COBBLE_TO_LOOSE.forEach(x => { - event.shapeless(`4x ${x.loose}`, [x.cobble]); + const cobbleId = linuxUnfucker(x.cobble); + + event.shapeless(`4x ${x.loose}`, [x.cobble]) + .id(`tfg:shapeless/unpacking_${cobbleId}`); event.shaped(x.cobble, [ 'AA', 'AA' ], { A: x.loose - }); + }) + .id(`tfg:shaped/packing_${cobbleId}`); - event.recipes.gtceu.packer(`tfc:gtceu/packer/unpacking_${x.cobble}`.replace(/[: ]/g, '_')) + event.recipes.gtceu.packer(`tfg:unpacking_${cobbleId}`) .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, '_')) + event.recipes.gtceu.packer(`tfg:packing_${cobbleId}`) .itemInputs(`4x ${x.loose}`) .itemOutputs(`1x ${x.cobble}`) .circuit(1) @@ -116,15 +122,18 @@ function registerTFGRockRecipes(event) { ] LOOSE_TO_BRICKS.forEach(x => { - event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless( + const id = linuxUnfucker(`${x.loose}_to_${x.brick}`); + + event.recipes.tfc.damage_inputs_shapeless_crafting(event.shapeless( x.brick, [x.loose, '#tfc:chisels'] )) + .id(`tfg:shapeless/${id}`); - event.recipes.gtceu.cutter(`${x.loose}_to_${x.brick}`.replace(/:/g, '_')) + event.recipes.gtceu.cutter(`tfg:${id}`) .itemInputs(x.loose) .itemOutputs(x.brick) .duration(10) - .EUt(2) + .EUt(2); }) // #endregion LOOSE_TO_BRICKS @@ -146,6 +155,8 @@ function registerTFGRockRecipes(event) { ] AQUEDUCTS.forEach(x => { + const id = linuxUnfucker(`${x.brick}_to_${x.aqueduct}`); + event.shaped(x.aqueduct, [ 'A A', 'BAB' @@ -153,14 +164,15 @@ function registerTFGRockRecipes(event) { A: x.brick, B: 'tfc:mortar' }) + .id(`tfg:shaped/${id}`); - event.recipes.gtceu.assembler(`${x.brick}_to_${x.aqueduct}`.replace(/:/g, '_')) + event.recipes.gtceu.assembler(`tfg:${id}`) .itemInputs(`3x ${x.brick}`) .circuit(3) .inputFluids(Fluid.of('gtceu:concrete', 16)) .itemOutputs(x.aqueduct) .duration(50) - .EUt(2) + .EUt(2); }) // #endregion AQUEDUCT @@ -186,7 +198,7 @@ function registerTFGRockRecipes(event) { COBBLE_TO_MOSSY.forEach(x => { - event.recipes.gtceu.assembler(`${x.mossy}_cobble_rocks_to_mossy_cobble`.replace(/: /g, '_')) + event.recipes.gtceu.assembler(`tfg:${linuxUnfucker(x.mossy)}_cobble_rocks_to_mossy_cobble`) .itemInputs(x.cobble, '#tfc:compost_greens_low') .circuit(0) .inputFluids("#tfg:clean_water 144") @@ -336,18 +348,22 @@ function registerTFGRockRecipes(event) { ] RAW_TO_POLISHED.forEach(x => { - event.recipes.tfc.chisel(`${x.polished}`, `${x.raw}`, 'smooth') + const id = linuxUnfucker(`${x.raw}_to_${x.polished}`); - event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless( + event.recipes.tfc.chisel(`${x.polished}`, `${x.raw}`, 'smooth') + .id(`tfg:chisel/${id}`); + + event.recipes.tfc.damage_inputs_shapeless_crafting(event.shapeless( x.polished, [x.raw, '#tfc:chisels'] )) + .id(`tfg:shapeless/${id}`); - event.recipes.gtceu.laser_engraver(`${x.raw}_to_${x.polished}`.replace(/:/g, '_')) + event.recipes.gtceu.laser_engraver(`tfg:${id}`) .itemInputs(x.raw) .itemOutputs(x.polished) .notConsumable('tfc:lens') .duration(30) - .EUt(GTValues.VA[GTValues.ULV]) + .EUt(GTValues.VA[GTValues.ULV]); }) // #endregion RAW_TO_POLISHED @@ -366,38 +382,42 @@ function registerTFGRockRecipes(event) { { raw: 'ad_astra:glacio_stone_bricks', cracked: 'ad_astra:cracked_glacio_stone_bricks' }, { raw: 'ad_astra:permafrost_bricks', cracked: 'ad_astra:cracked_permafrost_bricks' }, { raw: 'gtceu:red_granite_bricks', cracked: 'gtceu:cracked_red_granite_bricks' } - ] CRACKING.forEach(x => { - event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless( + const id = linuxUnfucker(`${x.raw}_to_${x.cracked}`); + + event.recipes.tfc.damage_inputs_shapeless_crafting(event.shapeless( x.cracked, [x.raw, '#tfc:hammers'] )) + .id(`tfg:shapeless/${id}`); - event.recipes.gtceu.forge_hammer(`${x.raw}_to_${x.cracked}`.replace(/:/g, '_')) + event.recipes.gtceu.forge_hammer(`tfg:${id}`) .itemInputs(x.raw) .itemOutputs(x.cracked) .duration(12) - .EUt(8) + .EUt(8); event.recipes.greate.pressing(x.cracked, x.raw) .recipeTier(0) - .id(`greate:pressing/${x.raw}_to_${x.cracked}`.replace(/:/g, '_')) + .id(`tfg:pressing/${id}`); }) // #endregion CRACKING // #region HAMMERING // Defined in kubejs/startup_scripts/tfg/constants.js global.HAMMERING.forEach(x => { - event.recipes.gtceu.forge_hammer(`${x.raw}_to_${x.hammered}`.replace(/[: ]/g, '_')) + const id = linuxUnfucker(`${x.raw}_to_${x.hammered}`); + + event.recipes.gtceu.forge_hammer(`tfg:${id}`) .itemInputs(x.raw) .itemOutputs(x.hammered) .duration(x.duration) - .EUt(x.eu) + .EUt(x.eu); event.recipes.greate.pressing(x.hammered, x.raw) .recipeTier(x.eu <= 8 ? 0 : 1) - .id(`greate:pressing/${x.raw}_to_${x.hammered}`.replace(/[: ]/g, '_')) + .id(`tfg:pressing/${id}`); }) // #endregion HAMMERING @@ -877,79 +897,87 @@ function registerTFGRockRecipes(event) { CUT_GRIND.forEach(x => { if (x.raw != null && x.dust != null) { - try{ - event.recipes.gtceu.macerator(x.raw.replace(/.*:/g, 'macerate_')) - .itemInputs(x.raw) - .itemOutputs(x.dust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - } catch(e){ } + event.recipes.gtceu.macerator(`tfg:macerate_${linuxUnfucker(x.raw)}`) + .itemInputs(x.raw) + .itemOutputs(x.dust) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) } if (x.stair != null) { if (x.raw != null) { + const id = linuxUnfucker(`${x.raw}_to_${x.stair}`); + event.recipes.tfc.chisel(x.stair, x.raw, 'stair') + .id(`tfg:chisel/${id}`); if (x.stonecutting) { - event.stonecutting(x.stair, x.raw).id(`${x.raw}_to_${x.stair}`.replace(/:/g, '_')) + event.stonecutting(x.stair, x.raw) + .id(`tfg:stonecutter/${id}`); } } if (x.dust != null) { - event.recipes.gtceu.macerator(x.stair.replace(/.*:/g, 'macerate_')) + event.recipes.gtceu.macerator(`tfg:macerate_${linuxUnfucker(x.stair)}`) .itemInputs(x.stair) .itemOutputs(x.dust) .duration(150) .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) + .category(GTRecipeCategories.MACERATOR_RECYCLING); } if (x.loose != null) { - event.shapeless(`3x ${x.loose}`, [x.stair]) + event.shapeless(`3x ${x.loose}`, [x.stair]); } } if (x.slab != null) { if (x.raw != null) { - event.recipes.tfc.chisel(x.slab, x.raw, 'slab').extraDrop(x.slab) + const id = linuxUnfucker(`${x.raw}_to_${x.slab}`); + + event.recipes.tfc.chisel(x.slab, x.raw, 'slab') + .extraDrop(x.slab) + .id(`tfg:chisel/${id}`); if (x.stonecutting) { - event.stonecutting(`2x ${x.slab}`, x.raw).id(`${x.raw}_to_${x.slab}`.replace(/:/g, '_')) + event.stonecutting(`2x ${x.slab}`, x.raw) + .id(`tfg:stonecutting/${id}`); } } if (x.dust != null) { - event.recipes.gtceu.macerator(x.slab.replace(/.*:/g, 'macerate_')) + event.recipes.gtceu.macerator(`tfg:macerate_${linuxUnfucker(x.slab)}`) .itemInputs(`2x ${x.slab}`) .itemOutputs(x.dust) .duration(150) .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) + .category(GTRecipeCategories.MACERATOR_RECYCLING); } if (x.loose != null) { - event.shapeless(`2x ${x.loose}`, [x.slab]) + event.shapeless(`2x ${x.loose}`, [x.slab]); } } if (x.wall != null) { if (x.raw != null) { if (x.stonecutting) { - event.stonecutting(x.wall, x.raw).id(`${x.raw}_to_${x.wall}`.replace(/:/g, '_')) + event.stonecutting(x.wall, x.raw) + .id(`tfg:stonecutting/${linuxUnfucker(x.raw)}_to_${linuxUnfucker(x.wall)}`) } } if (x.slab != null) { - event.recipes.tfc.chisel(x.wall, x.slab, 'smooth') + event.recipes.tfc.chisel(x.wall, x.slab, 'smooth'); } if (x.dust != null) { - event.recipes.gtceu.macerator(x.wall.replace(/.*:/g, 'macerate_')) + event.recipes.gtceu.macerator(`tfg:macerate_${linuxUnfucker(x.wall)}`) .itemInputs(`2x ${x.wall}`) .itemOutputs(x.dust) .duration(150) .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) + .category(GTRecipeCategories.MACERATOR_RECYCLING); } if (x.loose != null) { - event.shapeless(`2x ${x.loose}`, [x.wall]) + event.shapeless(`2x ${x.loose}`, [x.wall]); } } }) @@ -995,12 +1023,12 @@ function registerTFGRockRecipes(event) { ] MACERATOR.forEach(x => { - event.recipes.gtceu.macerator(x.block.replace(/.*:/g, 'macerate_')) + event.recipes.gtceu.macerator(`tfg:macerate_${linuxUnfucker(x.block)}`) .itemInputs(x.block) .itemOutputs(x.dust) .duration(150) .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) + .category(GTRecipeCategories.MACERATOR_RECYCLING); }) //#endregion @@ -1027,7 +1055,9 @@ function registerTFGRockRecipes(event) { STONECUTTER.forEach(set => { set.forEach(block1 => { set.forEach(block2 => { - if( block1 != block2 ){ event.stonecutting(block1, block2) } + if (block1 !== block2) { + event.stonecutting(block1, block2); + } }) }) }) @@ -1075,14 +1105,18 @@ function registerTFGRockRecipes(event) { ] PILLARS.forEach(x => { + const id = linuxUnfucker(`${x.raw}_to_${x.pillar}`); + event.shaped(`2x ${x.pillar}`, [ 'A', 'A' ], { A: x.raw }) + .id(`tfg:shaped/${id}`); - event.stonecutting(x.pillar, x.raw).id(`${x.raw}_to_${x.pillar}`.replace(/:/g, '_')) + event.stonecutting(x.pillar, x.raw) + .id(`tfg:stonecutting/${id}`); }) // horizontal shaped recipes @@ -1171,15 +1205,17 @@ function registerTFGRockRecipes(event) { ] ROCK_DUPING.forEach(x => { + const id = linuxUnfucker(x.block); + if (x.dimension != null) { - event.recipes.gtceu.rock_breaker(x.block) + event.recipes.gtceu.rock_breaker(`tfg:${id}`) .notConsumable(x.block) .itemOutputs(x.block) .duration(16) .EUt(7) .dimension(x.dimension) } else { - event.recipes.gtceu.rock_breaker(x.block) + event.recipes.gtceu.rock_breaker(`tfg:${id}`) .notConsumable(x.block) .itemOutputs(x.block) .duration(16) @@ -1221,14 +1257,14 @@ function registerTFGRockRecipes(event) { ]; MAGMA_BLOCKS.forEach(block => { - event.recipes.gtceu.fluid_solidifier(`tfg:gtceu/fluid_solidifier/${block.magma}`.replace(/:/g, '/')) + event.recipes.gtceu.fluid_solidifier(`tfg:gtceu/fluid_solidifier/${linuxUnfucker(block.magma)}`) .itemInputs(`1x ${block.rock}`) .inputFluids(Fluid.of('minecraft:lava', 250)) .itemOutputs(`1x ${block.magma}`) .duration(100) .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.extractor(`tfg:gtceu/extractor/${block.magma}`.replace(/:/g, "/")) + event.recipes.gtceu.extractor(`tfg:gtceu/extractor/${linuxUnfucker(block.magma)}`) .itemInputs(`1x ${block.magma}`) .outputFluids(Fluid.of('minecraft:lava', 250)) .itemOutputs(`1x ${block.rock}`) diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js index 8beef8cc9..db441beb3 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js @@ -141,14 +141,16 @@ function registerTFGAlloyingRecipes(event) { copper_types.forEach(copper_types_array => { gold_types.forEach(gold_types_array => { - event.recipes.gtceu.alloy_smelter(`rose_gold_from_${copper_types_array.replace(/:/g, "/").replace(/#/g, "")}_and_${gold_types_array.replace(/:/g, "/").replace(/#/g, "")}`) + const id = linuxUnfucker(`${copper_types_array}_and_${gold_types_array}`.replace(/#/g, "")); + event.recipes.gtceu.alloy_smelter(`tfg:rose_gold_from_${id}`) .itemInputs(Ingredient.of(copper_types_array).withCount(1), Ingredient.of(gold_types_array).withCount(4)) .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RoseGold, 5)) .duration(20*10) .EUt(GTValues.VA[GTValues.LV]) }); silver_types.forEach(silver_types_array => { - event.recipes.gtceu.alloy_smelter(`sterling_silver_from_${copper_types_array.replace(/:/g, "/").replace(/#/g, "")}_and_${silver_types_array.replace(/:/g, "/").replace(/#/g, "")}`) + const id = linuxUnfucker(`${copper_types_array}_and_${silver_types_array}`.replace(/#/g, "")); + event.recipes.gtceu.alloy_smelter(`tfg:sterling_silver_from_${id}`) .itemInputs(Ingredient.of(copper_types_array).withCount(1), Ingredient.of(silver_types_array).withCount(4)) .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.SterlingSilver, 5)) .duration(20*10) diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js new file mode 100644 index 000000000..6497a967b --- /dev/null +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js @@ -0,0 +1,28 @@ +// priority: 0 +"use strict"; + +//function getMaterialRecyclingExtractorEUt(material) { +// // Special case for bis/black bronze because removing the blast property doesn't change the tier of +// // the extractor recipes retroactively +// return material.hasProperty(PropertyKey.BLAST) && material !== GTMaterials.BismuthBronze && material !== GTMaterials.BlackBronze +// ? GTValues.VA[GTValues.MV] +// : GTValues.VA[GTValues.LV]; +//} + +//function addMaterialRecycling(event, item, materialMap) { + + +// const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); +// if (tfcProperty !== null) { +// const outputMaterial = (tfcProperty.getOutputMaterial() === null) ? material : tfcProperty.getOutputMaterial(); + +// event.recipes.tfc.heating(ingotItem, tfcProperty.getMeltTemp()) +// .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) +// .id(`tfc:heating/metal/${material.getName()}_ingot`) +// } +//} + +function registerTFGMaterialRecipes(event) { + + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index f2321374c..925a225b1 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -6,6 +6,7 @@ */ const registerTFGRecipes = (event) => { + registerTFGMaterialRecipes(event) registerTFGMoldRecipes(event) registerTFGMiscellaneousRecipes(event) registerTFGTemporaryRecipes(event) diff --git a/kubejs/server_scripts/tfg/venus/recipes.biochem.js b/kubejs/server_scripts/tfg/venus/recipes.biochem.js index e1a711727..d9f0a9c5f 100644 --- a/kubejs/server_scripts/tfg/venus/recipes.biochem.js +++ b/kubejs/server_scripts/tfg/venus/recipes.biochem.js @@ -331,7 +331,7 @@ function registerTFGBiochemRecipes(event) { ]; lab_casting.forEach(entry => { - event.recipes.gtceu.fluid_solidifier(`tfg:lab_casting/${entry.output.replace(':', '_')}`) + event.recipes.gtceu.fluid_solidifier(`tfg:lab_casting/${linuxUnfucker(entry.output)}`) .inputFluids(Fluid.of('gtceu:borosilicate_glass', entry.fluid_qty)) .notConsumable(entry.mold) .itemOutputs(entry.output) @@ -429,7 +429,7 @@ function registerTFGBiochemRecipes(event) { * @param {number} organicAmount - Amount of the organic input. */ function deccellularizationRecipe(event, organicType, organicId, organicAmount) { - let recipe = event.recipes.gtceu.bioreactor(`tfg:decellularization/${organicId.replace(':', '_')}`) + let recipe = event.recipes.gtceu.bioreactor(`tfg:decellularization/${linuxUnfucker(organicId)}`) .inputFluids( Fluid.of('tfg:sodium_dodecyl_sulfate', 200), Fluid.of('gtceu:acetone', 1000), @@ -530,7 +530,7 @@ function registerTFGBiochemRecipes(event) { 'gtceu:acetone' ]; gramStainSolvents.forEach(solvent => { - event.recipes.gtceu.large_chemical_reactor(`tfg:gram_stain_solvent_${solvent.replace(':', '_')}`) + event.recipes.gtceu.large_chemical_reactor(`tfg:gram_stain_solvent_${linuxUnfucker(solvent)}`) .inputFluids( Fluid.of('tfg:crystal_violet', 1000), Fluid.of('tfc:red_dye', 1000), diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index 2e1cb0d85..3ec5b8a8f 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -643,5 +643,5 @@ function generateHammeringRecipeFromItem(event, input, output, blows, anvil) { event.recipes.vintageimprovements.hammering(output, input) .anvilBlock(`tfc:metal/anvil/${anvil}`) .hammerBlows(Math.max(blows, 1)) - .id(`tfg:vi/hammer/${input.replace(/[#:]/g, '_')}_on_${anvil}_anvil`) + .id(`tfg:vi/hammer/${linuxUnfucker(input)}_on_${anvil}_anvil`) } From f7cd09c4a0dd550316428a0d91d1f95c9506c3d1 Mon Sep 17 00:00:00 2001 From: Xtrial-01 Date: Mon, 12 Jan 2026 21:30:58 +0100 Subject: [PATCH 091/474] hypertube recipe (#2723) --- kubejs/server_scripts/create_hypertube/recipes.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/server_scripts/create_hypertube/recipes.js b/kubejs/server_scripts/create_hypertube/recipes.js index b2a5179cf..6b176ec06 100644 --- a/kubejs/server_scripts/create_hypertube/recipes.js +++ b/kubejs/server_scripts/create_hypertube/recipes.js @@ -6,6 +6,7 @@ function registerCreateHypertubeRecipes(event) { event.recipes.gtceu.assembler('create_hypertube:hypertube') .itemInputs('2x #forge:plates/stainless_steel', '4x ae2:quartz_glass') .itemOutputs('8x create_hypertube:hypertube') + .circuit(1) .EUt(GTValues.VA[GTValues.HV]) .duration(50) .addMaterialInfo(true) From e9e4ad90cfe93d4b75687671d75715a1a7fa6b2a Mon Sep 17 00:00:00 2001 From: Redeix Date: Tue, 13 Jan 2026 05:11:07 -0600 Subject: [PATCH 092/474] Greenhouse Rework Finishing Touches (#2719) * asset changes * recipe changes * lang and quests * fixes --------- Signed-off-by: Redeix --- .../quests/chapters/hv__high_voltage.snbt | 59 ++++++++++++++---- .../quests/chapters/lv__low_voltage.snbt | 36 ++--------- .../quests/chapters/queststfc_tips.snbt | 6 +- kubejs/assets/tfg/lang/en_us.json | 25 ++++++++ .../block/machines/hydroponics_facility.json | 8 +-- .../greenhouse/copper_greenhouse_casing_0.png | Bin 308 -> 355 bytes .../copper_greenhouse_casing_0_ctm.png | Bin 364 -> 412 bytes .../greenhouse/copper_greenhouse_casing_1.png | Bin 308 -> 355 bytes .../copper_greenhouse_casing_1_ctm.png | Bin 463 -> 543 bytes .../greenhouse/copper_greenhouse_casing_2.png | Bin 308 -> 355 bytes .../copper_greenhouse_casing_2_ctm.png | Bin 463 -> 531 bytes .../greenhouse/copper_greenhouse_casing_4.png | Bin 605 -> 557 bytes .../copper_greenhouse_casing_4_ctm.png | Bin 1061 -> 1032 bytes .../greenhouse/iron_greenhouse_casing_0.png | Bin 276 -> 317 bytes .../iron_greenhouse_casing_0_ctm.png | Bin 307 -> 373 bytes .../greenhouse/iron_greenhouse_casing_1.png | Bin 276 -> 317 bytes .../iron_greenhouse_casing_1_ctm.png | Bin 416 -> 495 bytes .../greenhouse/iron_greenhouse_casing_2.png | Bin 276 -> 317 bytes .../iron_greenhouse_casing_2_ctm.png | Bin 404 -> 477 bytes .../greenhouse/iron_greenhouse_casing_4.png | Bin 545 -> 504 bytes .../iron_greenhouse_casing_4_ctm.png | Bin 960 -> 957 bytes .../stainless_greenhouse_casing_0.png | Bin 328 -> 375 bytes .../stainless_greenhouse_casing_0_ctm.png | Bin 355 -> 422 bytes .../stainless_greenhouse_casing_1.png | Bin 328 -> 375 bytes .../stainless_greenhouse_casing_1_ctm.png | Bin 468 -> 561 bytes .../stainless_greenhouse_casing_2.png | Bin 328 -> 375 bytes .../stainless_greenhouse_casing_2_ctm.png | Bin 450 -> 557 bytes .../stainless_greenhouse_casing_4.png | Bin 605 -> 572 bytes .../stainless_greenhouse_casing_4_ctm.png | Bin 1093 -> 1065 bytes .../treated_wood_greenhouse_casing_0.png | Bin 389 -> 437 bytes .../treated_wood_greenhouse_casing_0_ctm.png | Bin 504 -> 554 bytes .../treated_wood_greenhouse_casing_1.png | Bin 389 -> 437 bytes .../treated_wood_greenhouse_casing_1_ctm.png | Bin 825 -> 905 bytes .../treated_wood_greenhouse_casing_2.png | Bin 389 -> 437 bytes .../treated_wood_greenhouse_casing_2_ctm.png | Bin 774 -> 857 bytes .../treated_wood_greenhouse_casing_4.png | Bin 666 -> 639 bytes .../treated_wood_greenhouse_casing_4_ctm.png | Bin 1416 -> 1439 bytes .../textures/quests/electric_greenhouse.png | Bin 0 -> 321498 bytes .../textures/quests/firmalife_greenhouse.png | Bin 0 -> 329277 bytes .../textures/quests/hydroponics_facility.png | Bin 0 -> 317607 bytes .../textures/quests/pisciculture_fishery.png | Bin 0 -> 299017 bytes kubejs/client_scripts/tooltips.js | 42 ++++++++++++- .../tfg/aquaponics/recipes.greenhouse.js | 5 +- .../tfg/aquaponics/recipes.pisciculture.js | 12 ++-- kubejs/startup_scripts/gtceu/constants.js | 8 +++ 45 files changed, 143 insertions(+), 58 deletions(-) create mode 100644 kubejs/assets/tfg/textures/quests/electric_greenhouse.png create mode 100644 kubejs/assets/tfg/textures/quests/firmalife_greenhouse.png create mode 100644 kubejs/assets/tfg/textures/quests/hydroponics_facility.png create mode 100644 kubejs/assets/tfg/textures/quests/pisciculture_fishery.png diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index 0343f6712..15446cbb0 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -559,7 +559,7 @@ ] title: "{quests.high_voltage.fluorine.title}" x: 1.5d - y: 4.5d + y: 4.0d } { dependencies: [ @@ -592,7 +592,7 @@ ] title: "{quests.high_voltage.ptfe.title}" x: 0.0d - y: 4.5d + y: 5.0d } { dependencies: ["5BACED5AE350EAB1"] @@ -617,8 +617,8 @@ } ] title: "{quests.high_voltage.nitrobenzene.title}" - x: -3.0d - y: 5.0d + x: -3.5d + y: 6.0d } { dependencies: ["7CC79617A4965F25"] @@ -653,7 +653,7 @@ ] title: "{quests.high_voltage.lcr.title}" x: 0.0d - y: 6.0d + y: 7.0d } { description: [ @@ -777,8 +777,8 @@ } ] title: "{quests.high_voltage.nitric_acid.title}" - x: -1.5d - y: 6.0d + x: -2.0d + y: 7.0d } { dependencies: ["5BACED5AE350EAB1"] @@ -803,8 +803,8 @@ } ] title: "{quests.high_voltage.cetane_diesel.title}" - x: -3.0d - y: 7.0d + x: -3.5d + y: 8.0d } { dependencies: ["16B735F9C391D260"] @@ -902,7 +902,7 @@ } ] title: "{quests.high_voltage.ammonia.title}" - x: -1.5d + x: -2.0d y: 4.5d } { @@ -1265,8 +1265,8 @@ type: "checkmark" }] title: "{quests.high_voltage.linked_quest_energy.title}" - x: -4.5d - y: 6.0d + x: -5.0d + y: 7.0d } { description: ["{quests.high_voltage.kaolinite_powder.desc}"] @@ -1671,6 +1671,41 @@ x: 5.0d y: -10.0d } + { + dependencies: ["7CC79617A4965F25"] + description: [ + "{quests.high_voltage.pisciculture.desc.1}" + "{@pagebreak}" + "{quests.high_voltage.pisciculture.desc.2}" + ] + icon: { + Count: 1 + ForgeCaps: { + "tfc:food": { + creationDate: -9223372036854775808L + traits: [ ] + } + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:food/tropical_fish" + } + id: "04ADA3B900F182A0" + optional: true + shape: "heart" + size: 1.5d + subtitle: "{quests.high_voltage.pisciculture.subtitle}" + tasks: [{ + id: "63DC421339C9BB42" + item: "tfg:pisciculture_fishery" + type: "item" + }] + title: "{quests.high_voltage.pisciculture.title}" + x: 2.0d + y: 6.0d + } ] subtitle: ["{quests.high_voltage.subtitle}"] title: "{quests.high_voltage}" diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 520ed4a20..5381cf8e0 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -1197,8 +1197,8 @@ type: "item" }] title: "{quests.low_voltage.lv_rock_crusher.title}" - x: 4.0d - y: 1.0d + x: 3.5d + y: 0.5d } { dependencies: ["3E6DC423FE4A99F7"] @@ -1228,34 +1228,6 @@ x: 9.0d y: -0.5d } - { - dependencies: ["22510C5F2386B453"] - description: ["{quests.low_voltage.lv_fisher.desc}"] - icon: "gtceu:lv_fisher" - id: "3B26CA44EA955B07" - optional: true - shape: "heart" - size: 1.0d - subtitle: "{quests.low_voltage.lv_fisher.subtitle}" - tasks: [{ - id: "54B46E0C5903092F" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"Any Fisher\"}" - } - "ftbfiltersystem:filter": "or(item(gtceu:lv_fisher)item(gtceu:mv_fisher)item(gtceu:hv_fisher)item(gtceu:ev_fisher))" - } - } - title: "{quests.low_voltage.lv_fisher.task}" - type: "item" - }] - title: "{quests.low_voltage.lv_fisher.title}" - x: 3.0d - y: 0.5d - } { dependencies: ["22510C5F2386B453"] description: ["{quests.low_voltage.lv_mixer.desc}"] @@ -1459,12 +1431,14 @@ dependencies: ["0DBC148D92A9F69F"] description: [ "{quests.low_voltage.lv_greenhouse.desc.1}" + "\\n" + "{image:tfg:textures/quests/electric_greenhouse.png width:250 height:150 align:center}" "{@pagebreak}" "{quests.low_voltage.lv_greenhouse.desc.2}" "{@pagebreak}" "{quests.low_voltage.lv_greenhouse.desc.3}" ] - icon: "minecraft:oak_sapling" + icon: "tfc:plant/orange_sapling" id: "1F41C35890E2C44F" optional: true shape: "heart" diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index 1062a46a6..7913c3f8a 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -1214,7 +1214,11 @@ } { dependencies: ["2EFB241490502DB3"] - description: ["{quests.tfg_tips.greenhouse.desc}"] + description: [ + "{quests.tfg_tips.greenhouse.desc}" + "\\n" + "{image:tfg:textures/quests/firmalife_greenhouse.png width:250 height:150 align:center}" + ] guide_page: "tfc:field_guide tfc:firmalife/greenhouse" icon: "firmalife:large_planter" id: "07FBA022050DA24A" diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 77bd806ed..95ab8f80b 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -694,6 +694,31 @@ "block.tfg.sandstone.fluorapatite.yellow": "Cut Yellow Fluorapatite Sandstone", "block.tfg.sandstone.smooth.chiseled.fluorapatite.yellow": "Chiseled Yellow Fluorapatite Sandstone", "block.tfg.large_nest_box": "Large Crimson Nest", + "block.tfg.cultivation_monitor": "Cultivation Monitor", + "block.tfg.egh_planter": "Horticulture Planter", + "block.tfg.grow_light": "Grow Light", + "block.tfg.casings.machine_casing_egh": "Horticulture Casing", + "block.tfg.pisciculture_core": "Pisciculture Core Rotor", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_0": "§nFlawless§r Wax-Treated Wood Greenhouse Wall", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_1": "§nVertical§r Wax-Treated Wood Greenhouse Wall", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_2": "§nHorizontal§r Wax-Treated Wood Greenhouse Wall", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_3": "§nNubio§r Wax-Treated Wood Greenhouse Wall", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_4": "§nOrnate§r Wax-Treated Wood Greenhouse Wall", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_0": "§nFlawless§r Copper Greenhouse Wall", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_1": "§nVertical§r Copper Greenhouse Wall", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_2": "§nHorizontal§r Copper Greenhouse Wall", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_3": "§nNubio§r Copper Greenhouse Wall", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_4": "§nOrnate§r Copper Greenhouse Wall", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_0": "§nFlawless§r Iron Greenhouse Wall", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_1": "§nVertical§r Iron Greenhouse Wall", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_2": "§nHorizontal§r Iron Greenhouse Wall", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_3": "§nNubio§r Iron Greenhouse Wall", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_4": "§nOrnate§r Iron Greenhouse Wall", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_0": "§nFlawless§r Stainless Steel Greenhouse Wall", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_1": "§nVertical§r Stainless Steel Greenhouse Wall", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_2": "§nHorizontal§r Stainless Steel Greenhouse Wall", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_3": "§nNubio§r Stainless Steel Greenhouse Wall", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_4": "§nOrnate§r Stainless Steel Greenhouse Wall", "tfg.block_entity.large_nest_box": "Large Nest Box", "block.tfg.large_nest_box_warped": "Large Warped Nest", "block.tfg.cultivation_monitor": "Cultivation Monitor", diff --git a/kubejs/assets/tfg/models/block/machines/hydroponics_facility.json b/kubejs/assets/tfg/models/block/machines/hydroponics_facility.json index c980729e4..e3f35885f 100644 --- a/kubejs/assets/tfg/models/block/machines/hydroponics_facility.json +++ b/kubejs/assets/tfg/models/block/machines/hydroponics_facility.json @@ -30,7 +30,7 @@ "model": { "parent": "gtceu:block/machine/template/cube_all/sided", "textures": { - "all": "tfg:block/casings/machine_casing_egh_inactive", + "all": "tfg:block/casings/machine_casing_egh_active", "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front_active", "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_active_emissive" } @@ -40,7 +40,7 @@ "model": { "parent": "gtceu:block/machine/template/cube_all/sided", "textures": { - "all": "tfg:block/casings/machine_casing_egh_inactive", + "all": "tfg:block/casings/machine_casing_egh_active", "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front_active", "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_active_emissive" } @@ -70,7 +70,7 @@ "model": { "parent": "gtceu:block/machine/template/cube_all/sided", "textures": { - "all": "tfg:block/casings/machine_casing_egh_inactive", + "all": "tfg:block/casings/machine_casing_egh_active", "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front_active", "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_active_emissive" } @@ -80,7 +80,7 @@ "model": { "parent": "gtceu:block/machine/template/cube_all/sided", "textures": { - "all": "tfg:block/casings/machine_casing_egh_inactive", + "all": "tfg:block/casings/machine_casing_egh_active", "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front_active", "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_active_emissive" } diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0.png index 981cec81c4de4347a59521facc8062e68d7e5c8e..74869411b27ae2df4db506780f2953af94e06e90 100644 GIT binary patch delta 329 zcmdnO^q6Uaay_G#r;B5VMQ`uq{eH~>BJK8h4U>cfdOMr#8oJ*aMZ?q5jF&;?c%ap4lMjCs%u8n*#3}!h^VIyjZ@1N4R=N22PYdgn8|s;= z>L%=-9^O3Za!&h-X!e5oVq1-!B}=jvdcU<3dp}!C?85usii=cSP1N(`OVd-XWIPm@ zCtqS^yu)Gs4lR+cbJMkLoa{4r{bM(%O#rFY7#KWV{an^LB{Ts5ejksuJ;k^!p+Wq-n`nw_Qn z{1;|7{}3CkA#`~S~4#gKwJHpaknW%r6<$=FrseR$!{k1RlO2uv~ rU)r#D%IR0D!yENqzEpW6y-fIa^w!(k>Vg><7#KWV{an^LB{Ts5q8@{t diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_ctm.png index b50694dda82a563dcbfc1f4d1cbb0681dd824760..32ea096b6c50ce41e63db91e9d099956c4391b96 100644 GIT binary patch delta 385 zcmaFEG>3VDN`11Yi(^PcYjVm00htq@e(EbJ9QdHKZq7kp=jjtAY_C@H{pr7B-v02~ z+?<6pkGBlx45^@uyR#HfN2_6zd0{`{PqyK2Cd_oRE+paYIAGj!)phQ)Tb_ z>+jcVlr!kFOGp0N_peFi&O<@g4I;i;KmI%xf6AAToT}(8zvfN7gj}G(1HOi(89|Kt z?9xy9etiASANeaGmHjAR#rLPyuD>F~+^qjSPfAZsNN^C*x)Efy$$z4@!VEcM&d5c& zTc-=USvW*>OmA#t6jb@~$wX(Jt3<%+grZZ7d1iKP{AcD%NR;2*@n?R@T@Qwv&zYE* zT()*-Y%Lb)X$mypY7zC*6 z?b#{~E!%Dj&Rnu%w&K$hT5av?gTe~DWM4fu=TGt delta 337 zcmbQk{Dx_QO1-hCi(^PcYjVm00htq@e(EbJ99VF9Tgya|+VE9L|L#|Pn$y@B#2&!Z zQem<3aRdK+`-w~Yd#AP*vDf_j*sW80C#Qyohlht*n)UE;My5SADKCG2{muWB@4?dq zW$*jf<0rIO+bm+3w#bupe*K?CcNlZl=%l=Co+^7-nTzcX;|7s>U#$mE6BgfL++X)! z(OZ7an*}!*-|wqg?qPrWRL1fDF>luJ@bGjvu|}VA`=(jM>XPTkQr@sdK%beJS;^zW z)69sNZi5A32cJw~2DwCj#z}AM#R(!kO@RhnZQ=k08Hd7D>wo{8 q?da0*CF;EJ%FesWQ$ZzQl3u0hkVDNPHb6Mw<&;$T-_?Z|0 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1.png index 981cec81c4de4347a59521facc8062e68d7e5c8e..74869411b27ae2df4db506780f2953af94e06e90 100644 GIT binary patch delta 329 zcmdnO^q6Uaay_G#r;B5VMQ`uq{eH~>BJK8h4U>cfdOMr#8oJ*aMZ?q5jF&;?c%ap4lMjCs%u8n*#3}!h^VIyjZ@1N4R=N22PYdgn8|s;= z>L%=-9^O3Za!&h-X!e5oVq1-!B}=jvdcU<3dp}!C?85usii=cSP1N(`OVd-XWIPm@ zCtqS^yu)Gs4lR+cbJMkLoa{4r{bM(%O#rFY7#KWV{an^LB{Ts5ejksuJ;k^!p+Wq-n`nw_Qn z{1;|7{}3CkA#`~S~4#gKwJHpaknW%r6<$=FrseR$!{k1RlO2uv~ rU)r#D%IR0D!yENqzEpW6y-fIa^w!(k>Vg><7#KWV{an^LB{Ts5q8@{t diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_ctm.png index 20e138d468f605cddfdcc06acf5824d7e25b918d..d432a62f8dfa8a69c57c44a809a528421ab56b5e 100644 GIT binary patch delta 517 zcmX@lJfCHPO8qlW7srr@)~nO({SP@v9Fy!z3N1s|;~B!q?cHFV1#xaz{5 zCMz>XX71fsUd7VVQbRo#M^%?CnVOG8qu6b9gM8leiOla5s4Lh1Zg>9fY=iCHj*izq zZrIxX_32cWq!l4%&1X+>=Dq4S*p#{Ag9@L4pPSj*ro$(ev9s1k^yzMGFmqpcN_hF{ zB@cS0u`{gr*LL@Ci{r@$~3H3{#mbidCzrL9{Ynv-yPgeANIPnVDCQuSt=2?Z2SH^OkHgD z>8|VE*0ZNLbGGw7`&w{+6}R{UBk2}_faRwR=6f(z+a{xxzPMZYbs%2@}^u5)`? zf0p@S%Aa300a~+zJ>A|gJ(?99A|he&Y0*8Wl{tMecJ`8aLZ2DF*2+&yPJa9*L*xAY zUeS9k-}}`#XI!6b^zhLkp}g7U3-t58Z=R)on#sUm+S_gJ3l^&XRA!uO&d(bAhb1QM e@JpjT%zG2Qs_7+5DKRiGFnGH9xvXD})etIOgV zTG#pWfAxLO=(v=H>wM0FJxyMnP0A~#9AoVWu+n{yTM$qwcI;F=r(U%w1H)AHtqFor zy-a_y&T@u%a%r7kHG7`0%*u@)SNzG^a=_wJm>Q$VyqP+;Po>O1wcd^U-(H5t9?>&d z0xHrrQR8BCv8^k5S2Q<`@~%tvfGOo||WvDWP5Ro0;K@{!H^Gt%md3 zKlLszyIy*x?x5a#hnuS%Me0>6tWF*1K9jj<;za>1&%*y#HtQ(_3H5CJ`ME*B>Hn4k zm!36-Eni!EfBP=pt~9QU(p$TBZvLJ=+n>vTZOh#nTYep<*Odo$vF@)_&PfS9V04dT zb)|y*W!E#zHm8j`0v^43;^6<>GJnlWU!VUK6CG7oPUe)3zP&^CPUC);k4t8`>nSqy x^r|j?D6a8emHEKy>ZV=!^~@6|aU{3$bIrK+vB}@>5d#AQgQu&X%Q~loCIH*^$>jh5 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2.png index 981cec81c4de4347a59521facc8062e68d7e5c8e..74869411b27ae2df4db506780f2953af94e06e90 100644 GIT binary patch delta 329 zcmdnO^q6Uaay_G#r;B5VMQ`uq{eH~>BJK8h4U>cfdOMr#8oJ*aMZ?q5jF&;?c%ap4lMjCs%u8n*#3}!h^VIyjZ@1N4R=N22PYdgn8|s;= z>L%=-9^O3Za!&h-X!e5oVq1-!B}=jvdcU<3dp}!C?85usii=cSP1N(`OVd-XWIPm@ zCtqS^yu)Gs4lR+cbJMkLoa{4r{bM(%O#rFY7#KWV{an^LB{Ts5ejksuJ;k^!p+Wq-n`nw_Qn z{1;|7{}3CkA#`~S~4#gKwJHpaknW%r6<$=FrseR$!{k1RlO2uv~ rU)r#D%IR0D!yENqzEpW6y-fIa^w!(k>Vg><7#KWV{an^LB{Ts5q8@{t diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_ctm.png index d7824acd6c1a7fb0d25d9b339545751a2afb1d4d..7a7effb5f9b895460e7638ae205725da8c6cc05f 100644 GIT binary patch delta 505 zcmX@lJeg&JO8qTQ7srr@*0<9P^DjF{w8<}DH+#}8t0qxbEvD4uhW`vguTI2m-1wO} z!0kxijF~rP><$(5QdPUAC(7N#wsn+;EGT-_(ZQ1r(Y@NU#i~Sl)-*1VouaTdV_|7bsq2(>Z zg$;953!CIM7-Af%He1b#W4@5N-RmXeEbH46?dr!1*DYeW)^0vS+Ei};-zh);-TwLV z(&ohnC;Ziy5B$eb{Qjb_^YH@*SMU9ix0tU%V9|xByK(k;5qziQ126ylp|xa6YuUFj z9+`PE$6d>lb=fAdwcY$CW_zt(q2~*)%0=&r?|(8E_N#YB+!jnJt(IG!{&-7VcVp8>iSu6&20- z>dm)UbDe<8<<~*KT5kQ&`jdXp=F_vrXXmy}i>sFNFq!+!H`e9;2AL;qm*%r;fk27j zmgkJI%&%v#%WaeUP;H^H^#0!R`SZp1e|g^cF|bP0l+XkK2PO1^ delta 437 zcmbQta-MmDO8qoX7srr@*05@ec*aBQkI7C>S6vE80gF5*?>|8Odd>&g0AhyK5NKX>NclXK+XwXN1> zWjM2lu_5q;aqn~X$2VS9KE9zN72#Cy|I@0a`KGV#l+HV8o~_1Ee`pO;fY~bJq}JCr z86p}=+zJgOm@Z^p+4_ZHt5@flL+h1`O83Y=D~>EXr?=(WE?Zl!-0zcfVwfkt4DirA zyuaktk|gOF&oY}bz5n5tJwMo<-K`1?5WiV}DcGRaUFYh7J=RKs%&QjtPuk^sc9G+=Ur!QhR94MT z+_pi@Jn(1p#pD#u#*!S}y#}lIczXUj{I>V*9#765uG3}q>HiY$O@719tfR=m=B&F{ z>Gs>-_F^$d7F8|?(>!|V_&oM0%dYxGXZ2s@{WOZwc wbLX~SKmOyh!}j;doYB>C1-8=5pMPXE-}6xSX47*u1_lNOPgg&ebxsLQ010f*^#A|> diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4.png index 03148ee6363a4f9d527bf27a671cf502d7945dfb..591c837d8e78ae65a8568df9e130af0a1433b7cd 100644 GIT binary patch delta 533 zcmcc1vX*6nay{c0PZ!4!i{8@7=d*CpEbMVWG;R;Rx%`}FYJ+nH--p8-TPK)C>OHHU{7gsu^V)UVKR!Nsc)oDcmz_xwOI~*+^7|+^YqQ*! zyCTKVEj^nzk~d*@?Sb{nr902_D}S@HU3d0*K<^a4sPjENYzua6UG1|u^=b6e)eI|+ z-eGcYmMb^6*FP&2FLS(`Vbv->l@Q(Ia-4R*KbLDsx*cT+IHSAZ)bi79XO;Y$pVr?v ztoE+7YD@O&k2;?!KKb{*KN7@#YWAtKEfFVXbuL-Izsi0gbA#Xgg|E5trsx&FnZKx} zwoL!r68)fc=ILsaRXSf?TeoR*T<7<-cBjr&sVdGq_TN=1UTdd^LClic)#r;0`^`9< w7<#76)9{&pc|yHS|L0(h6kj&S6ZTcz+{>IE^X0r^U|?YIboFyt=akR{0Q}DcN&o-= delta 581 zcmZ3>a+hU-ay^rZr;B5VMQ`rpd=KG5iR1RW&pL0&WtUB!Qmk{x!?h~ZMRBpYV9PHn zftCjc6sl#LzNGyys|qZ*FuO*dQ!pgI?Z%;UrP(X=Wo{?+Jx;MNJ9q5qxwxL)dCTvI zpMPIjcmMf+VXgg@g>_ff6z9wplAXdhfnA9u@xSfol-0@AMN8_FLONSijZU&KI2XNP zy6Jj5k8uIhp{&BcuMFZ=e7v*j+S@YY+1;DJhq|7eChaC~IoT(HYhwM6cc0f6Sj6b* zo_#60*z3rv8&`Y|GAHC${@Z$WV_@SfO+9a=-P>*E%bs7Gwe}k)!@}>E%g-||Q*$$H zP58du(JQp#*T>n<(x**(_NBh}5u;|P;$)u-S@R2W<|-`>X+2qTDf?WC)y(xXn=W0N zBd4<4EcnZ&)iaqm9XgL0v_9zkSIX)Tt-U5kgn!Qq>7&eBwl<}2wlcf@)GGNf=aLr- z&P`;FTj93_(_ghXOa>3orgx5Z`zF@$Q3sUiFho z4lWEaTva>&+%CSG(%W;G3S`vZ#H%%wB(a>Fze_*Je8p+`cc&d=kFNMOYe($5@1?dK z^1qL6bT`lcUwA)$p8YlbH;fO?N>t5$S^kJk!<;8;*#p04Qpc}pE(lA>8Peq<$L-7QxSN#yPUX&pJ(9d9m=#hoWs$m>-<_8_N0M(Fp~HRjb@WLVJDo*J~D4 z+I(of%5Gq4)fXGL?wWLoaqRWuXRbf$oWo~+GpO(KCx)9re3B0e(`Ng%v*>tUn)dbB z(doL+Olp>H<8GLvpB-!bo~3^IVnx{nQTYke!_QTP+$-dh@LTHdRW33ZHwa- zD-i~h8wQRrEiONO>LeY%gi^2&wS?GpzWV?#bSQ={?hm$$52*z)4XEc z+67iKf7qr*+CAEQTDthb=IZ_P*>BVrUl3%=*mKWb=#F0gnMS|;Gq<*{O`FHOy#A^6 zIY#X}Yy01RI)08(dyf7)$@z0r_~uNRuKw4#qw9?L_lh75*~V7R_{eOwv(ruAeCpEZ zDKS}cT#@nY*{NDf^3K_NY)jRvnV$J|V{F{7r?=F9U3p>g@{ZU#M)yyi3sZO`mae~P zcI_0~hZR{H)@1IvQQImTC;0o%g(h)#w!$yk^||e`o9fr;!&-FF`-d=ua zy`nS*@e5PDEvMK??%zIh>*a@blh$sCT72n@+=W%5ZTDprqfb425x%3S zK6KXnUcHENI}>ZAP>;JNzb{=3sK_djNj70k^1kFRUqAK4w4#$yi=C{tU;VbqRBMW< z?#|k`yImCOx2ddLckcz`(K}w@^7nYtU-8-$#8k8X?cUz(u;jMPizV#O_0$=CAK*wOu78 z6SYTn+aZvGJb`?m1q%C@^!b z(6enlI{6;2ucwzRWWRIHID5mM#21Z*-UW$=(*MOTkdcvD5URZ0;ODQ5leJ-^~_%Bt1GE#46JY}wcO{)^eeo-HfQ__o>LwUt;}>`8|8-|t^o|D~{^ f|Nk2HdrTKXQuWT9f6&jsz`)??>gTe~DWM4fZvOjc delta 1040 zcmeC+SjsU$rT&eli(^Pc>(OxE3~6_X+L@8MY&SnmJK?m%ug7QQ%4DA!&w7Kk8JVum z2W+2&1Q;6XEMdRjdfkS^vAQ^e$a(A2Y+Q z`s4Da`&B)Q9&n$t{Q5jhJk9vEbo2}pl&>v!|6A}Vm%$;xMzV8m zmez{HO%uLdmlnBygqdN(=^u^UCUfp?JKOw-|4C!sBLle?V)ZF<0<|(C|M%B_X0V)W z!5BD^A>dBI>YIgg>I~K2xt`l{$5(q<>w*d;uEi64v*#3Z?KtJiA(_;pDv`|TbYg-% z`<_>i7yL->j<4NhZfez5^HZMZ%gLRO+8zq_B&_qBDjPawNoHilw!O^?6`n7C)~OtC zPoCf$bh$s(X;##Ub><20h5P0IAN+cBe|?wuvh(}O-#*X#~V#8yLzbz9M`qdq%zH)hb z{>q+>N8~@p?~xCklA^s;?UCV(X;Wwa`!?NPb7__0>}xFiGWnIs4!h+OdUzRS|1`wr zKL}h|&&3cCJLBw)uWmvG+E?mdhBBA!ofs24<1EA8$Bdp|3KeHx^Ev(L*RM-&*;mO2 zoLIK?>7QNJFI4&G^k~hH>2&t-={r&^dO2%S_{NK@jF&fk*!k_X zC_{kw`}mLZ#10hI$-a72tDk;ddhd7Uy1<8XF6-C-dAm!Ze)~UJ(aTQf|29krW;kIR zH<_KCy?d?0!sq{(zn{xFdSSTj^iHiVcQYkB+1VQF^vYB7?^}N#@KK}c-&#Cw+ z2)#T0^7QsA@6+#HJ<{~6KE_M<*MjigWxaZL>lUm#b3Wq`zssR{Ul#93Opwz1zdfUI z`saFak2%E=WxU#-jc47D_~DxQD1@c6;;i)gGv_nt`wyz$uK9jZGy|j{l~I@H%@O(QE^|jrZtU$fq|33)78&q Iol`;+0G%QBQ2+n{ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0.png index e32c7ff4c0acdf812646d79475ed1096d84f2a2c..f418199ccb6cbb13536acf676a9f2bbffd9d54ac 100644 GIT binary patch delta 291 zcmbQjw3lguay=u9r;B5VMeo$fhFPr+5-s*m#kUHu=ucELzoF!MV(FS<_U<_<5kGEi z$-K0mePg6Z%ZWoxnmxyC%7u-uo_}}F;LIC&jiqY)6qHVT$Q;i}?1@az*1Z1T4f@@75TPS%>Vh9MGI{C|`dFAQLyW5s`t$Uru9w<`JIN^EagOHt0k>-~l z8GW&R^}FuV-Q0&F6?N5f`*v|Q$}>(YHMYHTM@~sPnPdA^Mw@&0W!2X69hkd~|M~a+ zQoe)tf5&gQCiJg;Pp(_`-?tAqPVFi*D~>oIzV5)B7cUoSzE1mIxvlZ-2_+V7Q;c*CuV!*{R;L;p(ccRZ2=7t1g-F#$KP> z6|8p7a?f{<&`<`R!vQLx>R)Q*muDVY@oN1uoAZVXZ*KIBa}Pc( z>y^)cAL(y+;9KL)M*>XG>PmM$%5D0e@Sx`X`GC+f@kh_?oX=TganEC#<106wH~D`A zkDGRLv~D%KR?7RqAmF$Hqt5A1Q{CR%Djl-u^DI1-()(F`&8Jw#n_P8z3=9kmp00i_ I>zopr05?B))Bpeg diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_ctm.png index 3c6da4e9819d220aaef68a8821216cc81df09e2d..8fcb27abeee2d612df88f85c0b6111a607116187 100644 GIT binary patch delta 347 zcmdnY^p$CXay_Gsr;B4qMC;pWd%cc0h_w1YQ43~e%G3$FbnAwf$L5taZH)1U-L`G} zps7>CeKSc~I$Bz~yTNtV6~&v}$%>Epgj8qlR%n@{=4vq~|KGd44FRcl5R|_tO%O-JlOQ*;*%-nmJQ6`;TWmY}A!>na-`_{dF!r<~m zmha3{jyJvYw9=+A|7g2?%dlVhM>#|F;^kc(PZ;(++*a1X_-mi|PtEhi$=#iQ`R?YF zFU@1#H1G7~%@-HG4(%#`-TzqPK%)1*sxZBl+fB9e76ox7N+``RI>~b~wsMlnL5Y5o z;){!1yPqvh*nGG1)T63WiI9`)&*{5OO){Sx_wN0^`W>JDo@e_Utz32Q{lrwsb@}&*|H1-7XgZ@wOIsZ@4`bP0 Hl+XkKRdl2) delta 281 zcmey$w3%sway`Q@PZ!6Kh}O5$H*z%_2(;CEn@pbEJ$wDb7muuW{LIPQH_cD)oRF^{jHXZMt$1_@f>{_?^v&~~Q)(IM?H{EAg^ZL}M z%(YJ$T#o4RJ=m|igU=yQL}$LC8{dK{N#gA5E-`Ii?Ck1N#E@55Z*INrV$*)+9kQ}o zOQ*;*MBh2fXLw-Wd!_xWUf`~t=RR3&`9u8)=K`-p zDf?bdhz|(~3Ayrh%9h;hyWREs>-lH+JC?|>uUd7;fXA`^c1T4f@@75TPS%>Vh9MGI{C|`dFAQLyW5s`t$Uru9w<`JIN^EagOHt0k>-~l z8GW&R^}FuV-Q0&F6?N5f`*v|Q$}>(YHMYHTM@~sPnPdA^Mw@&0W!2X69hkd~|M~a+ zQoe)tf5&gQCiJg;Pp(_`-?tAqPVFi*D~>oIzV5)B7cUoSzE1mIxvlZ-2_+V7Q;c*CuV!*{R;L;p(ccRZ2=7t1g-F#$KP> z6|8p7a?f{<&`<`R!vQLx>R)Q*muDVY@oN1uoAZVXZ*KIBa}Pc( z>y^)cAL(y+;9KL)M*>XG>PmM$%5D0e@Sx`X`GC+f@kh_?oX=TganEC#<106wH~D`A zkDGRLv~D%KR?7RqAmF$Hqt5A1Q{CR%Djl-u^DI1-()(F`&8Jw#n_P8z3=9kmp00i_ I>zopr05?B))Bpeg diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_ctm.png index 82fa8e59e8ebff6bee887fe86300cde5122f36b8..747c3a38e966ad98a189ea3fb1a64bb1fc954cc4 100644 GIT binary patch delta 469 zcmZ3${GNG&O8quZ7srr@)~jKLd4~){Y9qE8D=KbO@Vl_I{6xT4h0y8q6lDWc+wLha ztFJUVaBHjgbUp`{%@GEowHqe!oiLf=AZ)$mi*MkR=l|dQkN+dJ?|u4QKX&uI4A;e{ z^G0JTa+I}b`BUqy3;5== zH}A2@(;E4%w6i%`!5H+ulxO`O7(NvX3ht%J^F5H=_}Q< z-j2BV*@i>$!1dRrEdm^eH`ISP{5)mX_dF5p1c4;G`OO^$v(IXAD<~NpJFxYdfD;2l z)Y`C@9#hXVx5cyCKWjXiG%+;pDpM=dytw#Ho0bQ5H~guUb2+>wXP2#~+>7|1Q@gHD zWA9q_S76zD`7qb+5Bonk+>_itkG(0QLMVNTSU{P@>L%vdoiazc98K>0{wX8vx5Mfa zga2g_FU=Ll|MkuH%|E-XTTe-mrQ<{v->$oQ#~vI0DB5{vmFJ|C)UA?^O_9=+Wtpun>k^^CYQ=4z1n6TotMTRI&7Tdl)bMh zh-_52aY2x~e8rrgmRq-`Z{hj*{rvaGyXEg|`3CR4nKR+}PcFGro6d;2GOjhX*z=)r z*`=uBf{eBHJXcC(OB_U8AAC9_aailz(@5PN?b8wy_QtUvbYan}*IzPa&7+t)N!6{n%yV|^k!fR0jZE5pJF4d)<#hv4?rzzKfex%kS@JU|?YIboFyt=akR{0CzvS A+W-In diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2.png index e32c7ff4c0acdf812646d79475ed1096d84f2a2c..f418199ccb6cbb13536acf676a9f2bbffd9d54ac 100644 GIT binary patch delta 291 zcmbQjw3lguay=u9r;B5VMeo$fhFPr+5-s*m#kUHu=ucELzoF!MV(FS<_U<_<5kGEi z$-K0mePg6Z%ZWoxnmxyC%7u-uo_}}F;LIC&jiqY)6qHVT$Q;i}?1@az*1Z1T4f@@75TPS%>Vh9MGI{C|`dFAQLyW5s`t$Uru9w<`JIN^EagOHt0k>-~l z8GW&R^}FuV-Q0&F6?N5f`*v|Q$}>(YHMYHTM@~sPnPdA^Mw@&0W!2X69hkd~|M~a+ zQoe)tf5&gQCiJg;Pp(_`-?tAqPVFi*D~>oIzV5)B7cUoSzE1mIxvlZ-2_+V7Q;c*CuV!*{R;L;p(ccRZ2=7t1g-F#$KP> z6|8p7a?f{<&`<`R!vQLx>R)Q*muDVY@oN1uoAZVXZ*KIBa}Pc( z>y^)cAL(y+;9KL)M*>XG>PmM$%5D0e@Sx`X`GC+f@kh_?oX=TganEC#<106wH~D`A zkDGRLv~D%KR?7RqAmF$Hqt5A1Q{CR%Djl-u^DI1-()(F`&8Jw#n_P8z3=9kmp00i_ I>zopr05?B))Bpeg diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_ctm.png index a25b8dba91241f197d30910480d57c5cab82e7ff..c90c64c5b70bf0b4ba5ab0f52208ca14c6413cd8 100644 GIT binary patch delta 451 zcmbQje3yBGO8pW~7srr@*0*6B^9~sZ)H<5YoG@XNi-u74^mjZwvR?a_dhc)8`SybR ziwpKA*)o}{LZN_?%K|MUv&QU*DB3q9)<<; z_q~5C;xc9K)S#O)4ciQOCaQFb+IK1GO!wXpwwjfJqiMl}94@8$r7R3@zE?9ih`5H; zFl3m`{^0gGGU|jz$!jgSkP0PX5hoRi$#qsxKz<-oN)! zXV==p6uezL@$2W=bF~EvGV8zTJ8C}FJD^rsXY{52O;&P6*TagWIX(5l0axbaSj@Bd z+qM5*oTJMOHKAn@KijOm&q?e#m@r}Dr_VK2+n2er$V?BEXqyle^|4u@L4YY|`|Z@M z76G?SnjLW`+Yc)WCmp_?@xtM!Y`mFeLCi|MnsoaGmfPwMe6KAyclWPDuav1x)|GN`!Byt*ch?nH{()~juW@|1q7!A{a`Li{JP=KwV-+i1_lOC LS3j3^P6)UCDea!{}uJ(d$e2Nzx7{8jm%*@=u9R5@)^AZ!Q35S+S zbL;j9-dh4E9yJ85shB$P$G7VhX*N+3Z9&&d85ojz7!qcwJu5i3{Hp=a(n7%s_N zwIzI#%BD=Im~T=)YGqw+Z~LS#>zcK_(emYAwcOkHWO|)>mwcbyvwxjecwq;lSHji9 zmd}6l2E1J9BwAR(x1y+{F?{R)u0)A%(h;w!q8GS*`=~wRdq=-i#4Evei5cI2m_AEA zCDAN){G*7_s`Lkz8>h)BJt$J27<1h<_PSTq@xp*m(J$*>tC@#}GDi5XS*l(sbNpqr ztA9+30KfFQjb{8865qcnKhL}*a4tK~;fmee^XAN%Gv|*!-%R!<1&7FKURCEmPk8?G mU!?;_dNCS|+azTOF3| z8yd=?$WS2Dp1u0@uJ5y#y{uh0CCNbI!S8?0A8aRGet9It=-|70y+;nt-BcY{@z;q+(#DMY|cAtwr0#~+oZ#2@#oLSJ5$qpcAluSkz<@!w|2h` zqkQ)wh6A(Crs+Beuw<;&JT0WD`undP!v>w#`VJzlxwDpeXnw4nzer=nDz0d+&eywY zi({_el}wJ%oBq;tM|bAh-&*y#4Cg;zi29uNx03n8*YodvXDzG!nK|pzx7*+Cu9@&g zPBWC@+t?~#(N}CJ)u7_Jrn+vrB?lA3o0lbB*LMB?Y@2=in`uMtZS$6GL9ZTt{8_V) zyUkmc!Do5!n{{8-CH5cq?xXqj(h;509g9}fvg}ivfByN~UcQF9V+^<7esg30pcJl= z%=7r;j8&^Ph;_SKOZ9d<{-GGj{z}JFNSo)d+4%@|{CerGxFt5{3uDDE q8geUEwc6e~@!xaF6p7>??2l7ert-Mx8y8U~JuijRK@$$>GDn_qn%vrQ(CV0;%E2d9{5)so6z_XK$I`y{X;J0V zIm)Mv1e_QcR;^m3xBT+TJ>Ht9trL3|Ud=ja&{KY}--EB6nXS2=(PQBUoBYz9F?K%7 zFX#WQs~0+6$eJU;X7T)A)!u(sbIktV+VEo9;t4{XvYI9F&R=cswKYH{#TrVqv?Ta*CL}T5m%0;1zS8d zH{O4LF>m`q0jCA4vX+`w&NDZkeYXFRY+K?}YbTC~X{-zZK9^aZ@A;Jezx4Z+mnHwM z++Lw^O4_N_Fs#sO{`na-fBvlJJNJ1{r9C@C!mMX&d-;`OUs?Sx{T_1N@K~N}{hjyU zr>?sG^!dB**Wb_I*YU_!uK%uiF~fp4h6S_FR8LZJkU1{kwBY({#nVP6V%(lA`vmd8P9N#Zwq%Xy@?TI6cb6dz3_P0}XOFP7;|KrSG z=CD)oT!s0a0`nO~OG`42|7u%YqM31~;xKE@qm?e7c~`ZY3*NE*aXg{O>0I|!#mf7q zx{`{fZMRdXSo-|$kJ^@b^6}a3?(Uq=Wv*YpZt-HzyM5Ik|D3#8fAc2$otyXna4}rq zKko6nufPBH^y$+JV#Qr6<{GjwNbs;pF-$p~%HXgx$Z}o`WM52 z(pZtFrHU+Jk&{&7m%M)}E$DPW;_xmT27_Y@m=9!_INej@%%1hl|69A|^Q^sm_H+Fh z8LC8FwUy5|YcAzv;7|;hVqWiaxg~SfsYtD3c04u zW>UQ&L81>!4;wgeI7+mw{-z(f{`%#Z>#PhSPrtr>`*vx|DdV5ErLp^;YoA(eS5Q~? zj_JVJv%Y#f423fHt@miG|K)Jc{PeYgYnN&hV(qr`r#uWTjhRxvfj{Np>i+px>Ng+% z(s=w+)!MM;GbdK}&o`KT_T9ltOZ?ShMO-ybNgElyTl9))`{dQ~-{$YFxgXsX^Q+vGbV8y;Kup0j-R*|O_H+nnd+*L0?zR%p@5 zRcq0iIzhn6be_rox2w;!m+Q~7x3smb?UBosgCci9+^5FM~Gxrsqmdd!pSMT(usz8y4 zA3hkIkkhMuY329%z~iqCPo~N}nDcnS=Uv^EX zpK9YzN1r}nzK;Eg#o5hoZ2Z}`7}_el{lA)hljoMKdFE2RDfN%56gZf^Sg*g;_jpCx zXa4)KZS8}_hr-nQMlXP@|V`~H3YS6{6(mU0{xc)96I zZG86DsLm_QSF=R-y|14pH{m~b&(WmDj}<*(tEb-Bw$^NU`=xW|&IK_=PMhkZCLA$s zDag{VUk=D}95yK8_m3`9P+>lhv@zi6);_r(;)T}vM$4bANo8PQVDNPHb6Mw<&;$UV CSIZRu delta 938 zcmdnXet>;~N`1Shi(^Pc>(OZ!vu=BcwEgc}!sY1NF{y#0Z9KQQ@z7^zB>SU3cFdPuu+S-=9A<8mEi8oC?m>FHJi4{qMK0UrlvR zJBiM731ne-@%^{1lgF~xRw-m-mJPaYBt|G1#n*0obB8?0OGEAa&oGf>US8hMxBisZUcG8#IoFSoA#>I~L7`d8UP?Q8%+vl>7&@<`{?G>- z{ReZr4;+4?)RL1DxovLhO*6%m#WR@qeJu?AclF-AdwWwOckJ2IqH}uh%aU2#Jpt=n zr{>OD=B#-%$IMwYPVDoaY>Qp%oI|f(I=*Vvw5SflY25x3?d|OT?Y^0_&)&)^>KMPp z=9@f4BCY`TOqhgK%c)?mrDWW^YQY z*6N(z#?Qw$Ygwk%=S#OTOdK@d&Yd&okE-XTsn07LFEqMNpZA?Pa#}6}_aBC2p2;U! z7#{qtn{D`v!C{ih(s-HU2|bqk-fwUGRpKC4`=&C^LGvuXG++B#r3aO90&R+qEY^jx zcPz^^sOMo$I%v=nH%VpbM=d^a%fOOD{2X!-_xL&NzB5k=`ck!*pTR(a$F3!DMsuP> zl7Yk%%VQCL>lRpqSUkV<^5skUN45XndrV^4`kT?vk8#2GpO3ztI(2G!Wx$!wk6N=n zGb>#(Y5n}|Zq7gFb34D>{o}AP-1UoH{GNI7tFQ9gguB$&$Nl+yI^X{9obR)9Z#%xN zQ{Zv7=(}v@Yb-7;xPSleuan>Z&b@3Rd%W;g)5@#-C028^t?&jX|4j)->7J`Q=`n%`bT-_VGRV_G;6dig_nKacJk|Cm8Td-`eo#j`_o1LKF8E z{-5Y~Op^U1->HPCvOJ@u(juWVS3A7Pcz^ovmN#2ZPd3x(UYMZ-#89Z|G0vr(4Sp8rYr)VPIfj@O1Ta JS?83{1OR|_sfYjo delta 301 zcmey)bb@JuNM!>5&>p8XB3uB+_csQg5S^J31GiAUF5 z`yHXho2x6alw-@*7ctul>u&iR{lelZ@tc`p$1aQJ2&pqIE(MqCcd;b^j1#kI>j?dt8?~?K6kP^R{^!~CIPgo!^_4pJq*Zvoh|az$rDAQR z|1nQ#r`!*xhQr1B&RV>W@?t`dTv{Uf5dos1Qgz8NWPold``gU8PooH#klI` zA2%FR)UWc@52rfwG+2&RTsa&mhCasP290W=z5;sKgR#w;r~0D zcdx#%u=#&@XH}gg&F#uTfK_ZMY8Tq;y<+eee6E{`@4e`IyZN(zF<`H zrQ42gd-+t8Icck9<<`#Hv1jMerZo(bGp0`6FZkihv6hM{Q=YQc-&mLNNr>UhHkQxI z3wHUmR-BPO!F|E>;uB|v&p}N0E=DHq_K9OqO;wbeFZ(&LX(smr*}0;-+@7);&&c_({Y|}u*xLip1`)#A2>xi@?9jWSJpEyFfe$!`mwsK Ib4q9e02?*CKL7v# delta 328 zcmZ3+{FrHiO1+k+i(^Pc>)UW&Z)QW0Ia8hPI&ft^iQg9*ni&s(ZS7ewp@$M z`L9lv=V(>(3b~W;YTl!R$J}(C?g?{wKbv;=gIcA&u_v3_xBhc6ks5Elm~WQ2_wvE5 zxiN8xjoJ;(?@oRC&rwlfs4`E)GQMHmiles~4DO4WxF2{mN#$dGkL+jG6?|JOco%5u zeh`-Bj+NZUpjjkzzS`Y5%AlOFZc*|=t4aC?ZWwkx-`lL4@a4;yN88K3^UW1uI&dW< z&9`jFWrKzlZeLUrve&XFRH@Y8&Ak75Q^0+t8IPEQwkV2a{+l>q!h{JIbW+%lKR>5` z==^t?&jX|4j)->7J`Q=`n%`bT-_VGRV_G;6dig_nKacJk|Cm8Td-`eo#j`_o1LKF8E z{-5Y~Op^U1->HPCvOJ@u(juWVS3A7Pcz^ovmN#2ZPd3x(UYMZ-#89Z|G0vr(4Sp8rYr)VPIfj@O1Ta JS?83{1OR|_sfYjo delta 301 zcmey)bb@JuNM!>5&>p8XB3uB+_csQg5S^J31GiAUF5 z`yHXho2x6alw-@*7ctul>u&iR{lelZ@tc`p$1aQJ2&pqIE(MqCcd;b^j1#kI>j?dt8?~?K6kP^R{^!~CIPgo!^_4pJq*Zvoh|az$rDAQR z|1nQ#r`!*xhQr1B&RV>W@?t`dTv{Uf5dos1Qgz8NWPold``gU8PooH#klI` zA2%FRyei0+}i)h zIUyn;DQS^)=|Z>UMMAASpNtIx{=Zt(bAjW=%LR{a3QVdi&VPRIa`p1E;&wl)%tex~ z5~@>cx$LH#6`ymaskM2tcSNT}O2tur1D`M@z2?JSNA9wCg-X@GU~uktm=^A#tg(iX zA*FJqP>=KEi3c9d5#(65hBq?KaIs^eG=suve>ctw_pUB$hqmw?(_N45)dz|Evthh9 zanU2b2@gfzr3MzhKmEyT<0p|940@4qwRM#TKOW^}NH8yd!O(2I`@gT})JHpB8EsOI zjE(kUd=Yz6!~b*C^2znf(pjW;wLQyr*VwQy`@&(VkZT(kwwtb5_Ke-G;!DN#-@--p z-`;DV(1}p^DyEVBc$J62ZVTlp45?Bc-P3v zW##cdTmD7)vGwnnZ`M3?pYza~asOFOEztt&qWv+BX7N8heU!XfFt1iYMea_IRKWdv z_XAf2<(zS`t^1d=M)gZm$|;EYGlA_Wdsx&rLD4zKcM32tFfe$!`njxgN@xNAiCO;L delta 442 zcmdnUa)o(#`?y~=vHL~&Yc#zKXTUktSk`{Lyn1-GB8 zlvJ)MUqcWZozdGj_; z&EZ1jM>VV6yV~ZTKGc#fqM>I$-SptY=bMc`fIJZ3=Nw3Ax)VX zc06m=E!mo&xZB|A%-w6a+Zh;w>+HN1SWVKJ${;*%rB3kDP5GzJyL0}#+wjU`RS1($ z#j;I4Q%~*FJfG!%K8jmo=BI1f>)V}{b~P`qS<+V$l-~bOGoM>TE0p1x|E8^b_pv?r z?6L3kmQ|$>b|(98IA=SdEXShWQ+iqr=R=j;wViF-tpql8-1rEj57}VV!FOW{Osj)Er- z=)B{&WFyf3(&QQA>$UgY_bL|DR7v(ev%D9vc=n24mY&j1Wr7u7#0w9X2ku#YaF=oY z6KC_Q?H`gqi&U)s%-UstvN>O<@%bcP4#}qNtoIl%RbOMi*12*b0|Nttr>mdKI;Vst E0KM|q0RR91 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2.png index 32e7e1fc1b93b9764e94c3297b4978c913c9ef6f..e27e65935a9573991c2d704e75f6fe0e96403b68 100644 GIT binary patch delta 348 zcmX@X^qpyfO1+(@i(`mIZ|~%@UWXk-TKDr^+}1d&^t?&jX|4j)->7J`Q=`n%`bT-_VGRV_G;6dig_nKacJk|Cm8Td-`eo#j`_o1LKF8E z{-5Y~Op^U1->HPCvOJ@u(juWVS3A7Pcz^ovmN#2ZPd3x(UYMZ-#89Z|G0vr(4Sp8rYr)VPIfj@O1Ta JS?83{1OR|_sfYjo delta 301 zcmey)bb@JuNM!>5&>p8XB3uB+_csQg5S^J31GiAUF5 z`yHXho2x6alw-@*7ctul>u&iR{lelZ@tc`p$1aQJ2&pqIE(MqCcd;b^j1#kI>j?dt8?~?K6kP^R{^!~CIPgo!^_4pJq*Zvoh|az$rDAQR z|1nQ#r`!*xhQr1B&RV>W@?t`dTv{Uf5dos1Qgz8NWPold``gU8PooH#klI` zA2%FR*zT5y89!_z zAF_WCo*|i#*lDyxNZ5mC%EASUIBscdG0Kv<-0kmb)Vy)FTG^`t&B^nR&OcZ8KJNDY z^6!%V@q51MUS@HaqRXJO`Gmzf8Mlqb1&br5=)N*N`1}0anP0N&x4+)=_Y3RetIycw z7wi)0;ud~%*)v4sy*!)RlI1I|yO_)i6#h@OA`^YpU)HI@~xy_QbOTIaU28lQcupEmzn_L-v&GY$yU+}pDM>Qv`i=ERq+Hq|>O7JXcx z^z0k=xs>0QZ@#67oIiSC%dPos#syz_kG!q&>rC{TiiUzwMcvYqyQknFN z@%JlH-MwY@3>%WVU&KZ2O%=QG(n{j&TivxPXHJ|rapHpOZg~)%Fz?Yl-Pv>38BeY| vDpvF7*46jyF`EBZ$`>p>B)Q`cBkNc8U#W>cygwKi7#KWV{an^LB{Ts5elZOL delta 424 zcmZ3>a)^0?N`0rNi(^Pc>)UCz-iIAzj?EWaXjZWFYIBegEBCG!3KqL}{+|0siSOL5 zTfPFaEbZ48W~nMn39@`~`eL?od-00t8MCg;5#KfAeu+xuyLor+{#Pw8t5fYvWn{?c zWMJqBb&=3p_HRb-PWxr5Ov~Lqet47hvcF9Bj@@2`^2*N|j0>Xb10NllWHIB&=i`45 z9%`9US&((5eqIPaLtek4`0r9Dy>;)GZjC(f^5ep5G395&Pr3;|@#U?t=Q~!hw!ZF z`Ww2z(A->L>eopNgl^vISC~_;d@V~s%Y8|b!kovCIodUKCoYg+bhKeUEv~&vfYH(L z75|QD`=S&Js(GZ}%bzKK{B4hZpzn{}pp#S)H%BHUhKu`jOG zFz?>Ly}#kz8}Wi<@prK=7I7;s*x@0#NO4O`O5%$p&L@=k+pqX|tu1|6D)>GjF1>We z^FRN--}@Y}>g%$ME&c|#W4|=8HJpE)c*pO2z2&~E+hyY`KYv_Z|6!N@#w`z|4;8=T zydn6r^5KuW^2?8ei4~q~?!CI>)0^ObSKr#toBc4rAb8bG!tNj2#Li%|XVa%8A;z5TP3LBAsc)KDpfQ7STlF_d2ECaPDjFPIF{crBE?x@$_Ia_<$+~?1`QjhT7?ToCQopkoWwXdsJR5=_r ze=e8Fd*EDH*vx0AXUng-&*Q+fX(uK!u1s?2c5 z_o&)4hBoHZo6OfH7oI5-fBN_NCXTGnIctukcX@i;Iu{mp^R~SRyZdpC>fh~rD&kyf z)3a(O^7Zw3sxR6xD>l0#*`ZkN%=51b|1Fe0#mk77ob}(F{Zaf%0L#~Bzw$B}7#J8l MUHx3vIVCg!0BlnZfdBvi delta 580 zcmdnPa+hU-O1+Awi(`mIZ*H(}hH#+3zfVGwmQBj>;+@*H!n0?ifIyPw&ekruJ)u$W zTPJltIO*-U@PhODM}@C%Hj9e1$Y^<7arQ|z*&sBjWOHQE3I6^odqjG5Q!YE#^uJlg z%>6m-+3&Qnx}2^k`B!I^GtQd*vEyWTQ0RY9>-gV#r{%F~CAaHe|IK&ae!6p~oLec9!oGuUVXXBsd-NOE2|Ld!O>A ztXg;RicO159WtgX#;;^z;OpAzdn=WbVZoa8Uq!0CTTTnHAHAiUi+B_v(`hR!P^X!Sy$p{)MZ3juY7b#8pQ|Sc~W1d({x` z$&iqDjCt?XgOA(G%NY`~Yg5&y>UO+YnZp?UTKkauZl0T$6vfuXF@F55Qn4&{*+q%A z#QI%j?^)}k>)SWU$?4o>W0;VUAXoL7!~fd5?gd-I%Dg6pZ0Wn`c!EVSa7$ag=8F2F zE|&+-R*L3GwAI$kWKfWrA>VsZt7Sst)oIsG`K|W7D79EE&AWZsy6C6LKd&DudJ#5% zfBd_*r)&6g&X;{}yYq1Ro`@b6h90xxIW6iZrkVs?I~??cZA+T;HvV|-!;vqU9$gIh z^mFz0Pn9V$M^dYkO@ID7?Qa>s^3b<;pZRSA8SOO^KCM{OK4pD~AUFHN7298GEcO?Y repcw;8EZbV$M>LqWng~r9LBpdg$nnaoN3O$z`)??>gTe~DWM4f51104 diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm.png index 1722c2309969a92097132b5d6da1ba3eb6383c80..9ead0ae34d9637bd67d0dc416b8b883437ef0a32 100644 GIT binary patch delta 1045 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 YH*J5lR|#xoU|?YIboFyt=akR{0Mb;i?f?J) diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_ctm.png index 4a218d5c1cdf0981faccbb1bb1e9e92ec4e26e77..81807ab171facf6272d807d94c00026d7ecd1849 100644 GIT binary patch delta 529 zcmeytyozOlO8rMq7srr@*0-}SoUGNi;t(F5SSy3Ad@G!K6Bv{nWtu*6^VzXEi`-J3-Yv57RK3;Qub)5f z7q>s3%-i+rPonRh4>1>dt**uIzuK1g%6j*sx&K+~7IVg4ZRo1sk-b{FWB2tN_7;<# z{c#gkb-T)&v8!)W__SwP-rX7TF@E1T((X!@GFO&$pQ}tynYTjff-m#>xUi)=ZNy*1 zxxTVaC^QoiU#iKIL871WoKB`2hr*s0tE4pyyTUF^eHJyhN%AybMQXK5UqEqD zxr4)k>1mG*1&(!^EMB;xKKc~fy2m9dea2Svl0;Y){ce4lIbo6#`=tJ8Q^ysY3p}(U ziZ>@a`Eg?+MrL@s@4n8qIV&f;8v?8N%4Gb@+P z%3Af`JE}H4TvK;l$lZSt&z^rt^by-v|H^&^&z3MpiHA>iT-7&eZhi4)AA8Rtmi?WL z=G^Be?7ctDXy32r+I4TFVdQ&MBb@08h5=qW}N^ delta 478 zcmZ3*@`HJTO8tIM7srr@*0z?$pKmW;b^CSlY_1tDZVPuh*zHRBe|w=>{q?tBGg;^DY)HMm zo;#bdGn=ar)orZ*csMUAN||x+loIQW7_um!-s>hx$9PmEbcxNb71 z7Kb9=$u+P}VQ^sEXSP^m$#Ui5#;^y59&WepBt#fJPw|kH6f&iaWACp)v z?YWSq^J??yhzCac&mW~cP+TlfpQtrKRrC0|#b+xQ&5PPoc`@)%apSMWMtbWaa_|3P zmrxVGamX=Lbn@zxUw7y;Pnzr!eL!^U7KVsO?wd2-J=uT%rHTHljX$pWtmWt1uY6dH z%QZb)_{LSC361^bhp&p|Us~chS?z!P8vga=SKfE`+DENcIcs4j<-mdKI;Vst0O@)1{r~^~ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1.png index 78987171c3c51896eefb6b1d199b91c1635d72ff..a5323ef4c3bdf81faee7bba2d883fa650be9e84c 100644 GIT binary patch delta 411 zcmZo=-pV{drM||~#WBR9w|DYhKPE?khBhr{soU8*IC)lU#5P6>Ad>(3CVTe!slEoZJCiEaJ#U+y6mlUqN&KNiL;jp zv%Ha+!^g?6E=%9mdezHCN;h}ey3Q8KSohYz`1;v-XVcm*_brIfYIoB*`Sz}`Qq_Nj zvuVbE^aJ)KD4EzAmK6Le5I(lnjiFvDLTBpXzgy2nJeu}cagy7s{?8Tp=F==@b#%!5 zz5B0!de-iA?r5!^5Tk7tkLo{u<-J}e@UuxW`ilL`l3lYydiL5nYz&dJoOy%sm}xk3 zKyLf$t|bv#{JQ@2huJu7`zUy?9STxCe@fBChq>`J-a$4 zURhbIkrG;_&0!@9*yI{mv!6oV`$_kHO$osL-@i zR+D-DOvtcMs`z}_)>nU#>%)#;S#zh}+8%SUv_)gW(a+5#ci(B(-9J$v_N*0-4XJv}1=ZgV z9J?mv=DGZC_=#yO68?*C2Q%1|tIP|z!P^~no;BeD=S!2_H+Z>UR(V`MJh^L0^L~c% YH*J5lR|#xoU|?YIboFyt=akR{0Mb;i?f?J) diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_ctm.png index de3fbdb0ddcb24be074129f1a8c448c01d16e10c..84e007a83dff8db89ed04612b1a120694646edb6 100644 GIT binary patch delta 882 zcmdnV*2z9Wr9QyZ#W5tJ_2@MF{M%t7N9&i(^SM;DP}R8al9|H=Gl$pzX4uJ*4^Iu z^ZTr5lka>NycV^5`lGW)WXZzKL6dh@u9Vo;x@?Z%sk8GL9FATobWfgVS3Pg`?K{>B zl3ryv>5E&%%wl8kp5?YS?)2IHyLUR?uWV&A;63c*86%qgEo;(&O#-dWE(d!ae%xRX z&v0i=Wb28&%Is@n9yNc@fBMX=KJd(olqQ2EkuM6KR)q&0Jn~($GpLC5zq(08Nl9GA zsihkBeU6sOTe?S}8%Lb<<8>Pssj&$N3;%MQ z)KIk7$?+MN)}eT%nbEg)JdoKDxjEom$D*3dS0@c-@reALT=FX^s#w5I%zpQq0oe{~c%H(^_=qVKF~_MQCmwY``lc85JI zTt0Q?oh*Ne`s!e&e69(r62kVp_$to1qb^R=`DjF%*ttp1nSLM0I(j5HZxjET@blL9 zT`gAk{IpYW>9p7tV(|RIuY*ZaRhLg|U$}8^XMki?Qi$(W}xb;D`U%b7} zGn+nq;X3`jnR&yPONRUZM_L?C?K0`TbNI!%+vY!#ziU1UtuOgyes(YOlH9pgF@LXF z?e_n+@%n0qTUF1cH@;?Hv1{&brc+-9s%F+RHl@YQsp3xl!@$76;OXk;vd$@?2>^5u ByM_P& delta 802 zcmeBV-^n&XrJljl#W5tJ_2@L){3~7}ZS#B5AD5ODlqDZJ#Clg-z@w(4tEsK4iK(-x zFTOC}-M8Dt`7D3KyuNw|MqU*KK~0u`6PwfDkCYjwQeTfUz& z^Yc98?_VC~);@fr`R?!cBtB-F`kMIqzk7~4Ie+vwHh8wb=2yML`Zep6WnKy#>*N$? z2rZ4w&`7?wPolA(!2^Z)xm-g*$3q<|pUP z%VxW+oDy0YcJi=>U6^=%&ms56?Byrb|SfYrM=m ze}nOXY3psoMSq+K)L*hY;a}I|!Y-~Fx4je2b|s%FFTWH1tkUndd%ybsd-az>pH4iM z{Hj;Do#XF4GbgJTHtN#pIW@VA8!iNV*;aLoNo$jUE~D7=KPzSB-@G*F>aIUK`S-i3 z+{f0Z)-SwxXHOw(MXriNW$2xsTtTd^Nwa&OJy%GPP+gPz&%lfC=)on*0!wGVb=`me zx;v|e_SgD9kpZ9he;!!f|Gs2z-29bN_1k1Oh%+ttyw}*b?)j&$GuI!wcFcRrzO90h zlZxKHs$}q)q@L;ZI$C8oZg2%DQe$+s)NyEb9tGr{)2jr=;-`K|83hCGO8_k@fd$9R9uH zTedthGS;2--<5~6o=>a%T-Tehlkd&;dqr$6o?bV2dRV1f0((ld|FAhk+bmolb=;kS Pfq}u()z4*}Q$iB}4d;F! diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2.png index 78987171c3c51896eefb6b1d199b91c1635d72ff..a5323ef4c3bdf81faee7bba2d883fa650be9e84c 100644 GIT binary patch delta 411 zcmZo=-pV{drM||~#WBR9w|DYhKPE?khBhr{soU8*IC)lU#5P6>Ad>(3CVTe!slEoZJCiEaJ#U+y6mlUqN&KNiL;jp zv%Ha+!^g?6E=%9mdezHCN;h}ey3Q8KSohYz`1;v-XVcm*_brIfYIoB*`Sz}`Qq_Nj zvuVbE^aJ)KD4EzAmK6Le5I(lnjiFvDLTBpXzgy2nJeu}cagy7s{?8Tp=F==@b#%!5 zz5B0!de-iA?r5!^5Tk7tkLo{u<-J}e@UuxW`ilL`l3lYydiL5nYz&dJoOy%sm}xk3 zKyLf$t|bv#{JQ@2huJu7`zUy?9STxCe@fBChq>`J-a$4 zURhbIkrG;_&0!@9*yI{mv!6oV`$_kHO$osL-@i zR+D-DOvtcMs`z}_)>nU#>%)#;S#zh}+8%SUv_)gW(a+5#ci(B(-9J$v_N*0-4XJv}1=ZgV z9J?mv=DGZC_=#yO68?*C2Q%1|tIP|z!P^~no;BeD=S!2_H+Z>UR(V`MJh^L0^L~c% YH*J5lR|#xoU|?YIboFyt=akR{0Mb;i?f?J) diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_ctm.png index 18ad67b62dedc87fcbd6b0062fffa48964fc6d0b..b3e1435e210f48235bf2b225a2f36108deae84f4 100644 GIT binary patch delta 835 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 DqQ{P~m+1@qf_3p1u)S$0il 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 Vp`7OPgn@y9!PC{xWt~$(69D-stHuBT diff --git a/kubejs/assets/tfg/textures/quests/electric_greenhouse.png b/kubejs/assets/tfg/textures/quests/electric_greenhouse.png new file mode 100644 index 0000000000000000000000000000000000000000..2b0922389e96416aced65e641e58014f7a392649 GIT binary patch literal 321498 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 z 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 z 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

19>S1Tq^9$z{e*12A`QpyMPp?LW8K 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 z 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 O3=E#GelF{r5}E)WTc3#l literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/quests/pisciculture_fishery.png b/kubejs/assets/tfg/textures/quests/pisciculture_fishery.png new file mode 100644 index 0000000000000000000000000000000000000000..a4890bcad4af13119257a0a410b1ed7420c44bc1 GIT binary patch literal 299017 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 }$1~t)BgIm8T9_+ubfLxx2;p>L#Dt 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 #8> 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%0D)%8(Giv9E>hg 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%0DF45S8weS6Ey9Mur`~ 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 literal 0 HcmV?d00001 diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index b90234b2e..a18865b76 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -27,9 +27,8 @@ const registerTooltips = (event) => { event.addAdvanced(['tfg:electric_greenhouse'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.machine.electric_greenhouse_1')); text.add(2, Text.translate('tfg.tooltip.machine.electric_greenhouse_2')); - text.add(3, Text.translate('tfg.tooltip.machine.perfect_overclock')); + text.add(3, Text.translate('tfg.tooltip.machine.customize_greenhouse')); text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')); - text.add(5, Text.translate('tfg.tooltip.machine.customize_interior')); }) event.addAdvanced(['tfg:growth_chamber'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.machine.growth_chamber_1')); @@ -116,6 +115,45 @@ const registerTooltips = (event) => { text.add(3, Text.translate('tfg.tooltip.machine.coil_speed_discount')); text.add(4, Text.translate('tfg.tooltip.machine.one_energy_hatch')); }) + event.addAdvanced(['tfg:hydroponics_facility'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.machine.hydroponics_facility_1')); + text.add(2, Text.translate('tfg.tooltip.machine.hydroponics_facility_2')); + text.add(3, Text.translate('tfg.tooltip.machine.parallel')); + text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')); + }) + event.addAdvanced(['tfg:pisciculture_fishery'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.machine.pisciculture_fishery_1')); + text.add(2, Text.translate('tfg.tooltip.machine.pisciculture_fishery_2')); + text.add(3, Text.translate('tfg.tooltip.machine.parallel')); + text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')); + }) + event.addAdvanced(['tfg:grow_light'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.grow_light_disapointment')); + }) + event.addAdvanced(['tfg:rotten_voiding_cover'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.rotten_voiding_cover')); + }) + event.addAdvanced(['firmalife:climate_station'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.firmalife_greenhouse.oxygen_required.block')); + }) + event.addAdvanced(['firmalife:large_planter'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.firmalife_greenhouse.oxygen_required.block')); + }) + event.addAdvanced(['firmalife:quad_planter'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.firmalife_greenhouse.oxygen_required.block')); + }) + event.addAdvanced(['firmalife:hydroponic_planter'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.firmalife_greenhouse.oxygen_required.block')); + }) + event.addAdvanced(['firmalife:bonsai_planter'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.firmalife_greenhouse.oxygen_required.block')); + }) + event.addAdvanced(['firmalife:hanging_planter'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.firmalife_greenhouse.oxygen_required.block')); + }) + event.addAdvanced(['firmalife:trellis_planter'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.firmalife_greenhouse.oxygen_required.block')); + }) // Hot or not containers event.addAdvanced(['#tfg:insulating_container'], (item, advanced, text) => { diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js index c5d52f343..fc3a19f9b 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js @@ -450,13 +450,14 @@ const registerTFGGreenhouseRecipes = (event) => { }).addMaterialInfo().id('tfg:shaped/egh_planter'); // Horticulture Casings + // TODO: Venus; swap the frame to calorite. event.recipes.gtceu.assembler('tfg:casings/machine_casing_egh') - .itemInputs('gtceu:plascrete', '#forge:frames/calorite') + .itemInputs('gtceu:plascrete', '#forge:frames/ostrum') .inputFluids(Fluid.of('tfg:chloroplasts', 100)) .itemOutputs('2x tfg:casings/machine_casing_egh') .duration(8*20) .circuit(6) - .EUt(GTValues.VA[GTValues.HV]) + .EUt(GTValues.VA[GTValues.EV]) .addMaterialInfo(true); //#endregion diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js index 774a7e84e..ff4796d28 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js @@ -25,10 +25,10 @@ const pisciculture_base_duration = Math.max(1, greenhouse_base_duration * greenh /** @type {DimensionIndex[]} - Dimension settings array */ const pisciculture_dimension_index = [ // Overworld settings are also used as the default when no dimension is specified. - {id: 'minecraft:overworld', fluid: '#tfg:clean_water', fluid_chance: 50, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true}, - {id: 'minecraft:the_nether', fluid: '#tfg:clean_water', fluid_chance: 50, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true}, + {id: 'minecraft:overworld', fluid: '#tfg:clean_water', fluid_chance: 15, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true}, + {id: 'minecraft:the_nether', fluid: '#tfg:clean_water', fluid_chance: 15, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true}, // The moon has no fish yet :( - {id: 'ad_astra:mars', fluid: 'tfg:semiheavy_ammoniacal_water', fluid_chance: 50, fluid_out: 'tfg:nitrate_rich_semiheavy_ammoniacal_water', eut: GTValues.VA[GTValues.HV], oxygenated: null} + {id: 'ad_astra:mars', fluid: 'tfg:semiheavy_ammoniacal_water', fluid_chance: 15, fluid_out: 'tfg:nitrate_rich_semiheavy_ammoniacal_water', eut: GTValues.VA[GTValues.HV], oxygenated: null} ]; //#endregion @@ -76,8 +76,8 @@ const pisciculture_dimension_index = [ let a = event.recipes.gtceu.pisciculture_fishery(`tfg:${id}`) .itemInputs(input) .perTick(true) - .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) - .chancedFluidOutput(`${resolvedFluidOut} 1`, resolvedChance, 0) + .chancedFluidInput(`${resolvedFluid} 5`, resolvedChance, 0) + .chancedFluidOutput(`${resolvedFluidOut} 5`, resolvedChance, 0) .perTick(false) .itemOutputs(output) .duration(pisciculture_base_duration) @@ -205,7 +205,7 @@ const registerTFGPiscicultureRecipes = (event) => { Item.of(`tfg:fish_roe`, {"mob_type": fish.id}).strongNBT(), '2x #tfg:advanced_fish_food' ], [ - `15x ${fish.item}`, + `24x ${fish.item}`, Item.of(`5x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT() ], `${linuxUnfucker(fish.id)}/advanced_food/roe_to_roe` diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 2a2d4898b..5cc22aa8c 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -25,6 +25,14 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:lp_steam_solar_boiler", "gtceu:charcoal_pile_igniter", + // Fishers + "gtceu:lv_fisher", + "gtceu:mv_fisher", + "gtceu:hv_fisher", + "gtceu:ev_fisher", + "gtceu:iv_fisher", + "gtceu:luv_fisher", + // Примитивная помпа (Primitive Pump) "gtceu:infinite_water_cover", "gtceu:ender_item_link_cover", From ce3c14ae6de1018d142fb37eab67d5f7e5a8d60a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 13 Jan 2026 17:09:08 +0000 Subject: [PATCH 093/474] remove sylvite --- kubejs/startup_scripts/tfc/constants.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index 3cb34c6d0..a6513b569 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -315,6 +315,7 @@ global.TFC_DISABLED_ITEMS = /** @type {const} */ ([ "tfc:ore/borax", "tfc:ore/bituminous_coal", "tfc:ore/lignite", + "tfc:ore/sylvite", // Axles "tfc:wood/axle/acacia", From 50028491eb943d133e35b02e4f5b77ca4149ef8d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 13 Jan 2026 17:10:50 +0000 Subject: [PATCH 094/474] update emi categories --- kubejs/assets/emi/category/properties/ae2_condenser.json | 2 +- kubejs/assets/emi/category/properties/ae2_p2p_attunement.json | 2 +- kubejs/assets/emi/category/properties/create_draining.json | 2 +- kubejs/assets/emi/category/properties/create_spout_filling.json | 2 +- .../emi/category/properties/diggerhelmet_helmet_repair.json | 2 +- .../category/properties/domum_ornamentum_architects_cutter.json | 2 +- kubejs/assets/emi/category/properties/emi_info.json | 2 +- kubejs/assets/emi/category/properties/emi_tag.json | 2 +- .../emi/category/properties/exposure_photograph_printing.json | 2 +- .../emi/category/properties/exposure_photograph_stacking.json | 2 +- .../emi/category/properties/framedblocks_framing_saw.json | 2 +- .../emi/category/properties/greate_automatic_packing.json | 2 +- .../assets/emi/category/properties/greate_automatic_shaped.json | 2 +- .../emi/category/properties/greate_automatic_shapeless.json | 2 +- kubejs/assets/emi/category/properties/greate_block_cutting.json | 2 +- .../emi/category/properties/gtceu_arc_furnace_recycling.json | 2 +- .../emi/category/properties/gtceu_extractor_recycling.json | 2 +- .../assets/emi/category/properties/gtceu_fission_reactor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_greenhouse.json | 2 +- kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json | 2 +- .../emi/category/properties/gtceu_hydroponics_facility.json | 1 + .../emi/category/properties/gtceu_macerator_recycling.json | 2 +- .../emi/category/properties/gtceu_moon_dust_harvester.json | 2 +- .../emi/category/properties/gtceu_nuclear_fuel_factory.json | 2 +- .../assets/emi/category/properties/gtceu_ostrum_harvester.json | 2 +- .../category/properties/gtceu_ostrum_linear_accelerator.json | 2 +- .../emi/category/properties/gtceu_pisciculture_fishery.json | 1 + .../emi/category/properties/gtceu_programmed_circuit.json | 2 +- kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json | 2 +- .../assets/emi/category/properties/gtceu_research_station.json | 2 +- kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json | 2 +- kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json | 2 +- kubejs/assets/emi/category/properties/gtceu_wire_coating.json | 2 +- kubejs/assets/emi/category/properties/minecraft_smithing.json | 2 +- .../assets/emi/category/properties/minecraft_stonecutting.json | 2 +- .../assets/emi/category/properties/tacz_attachment_query.json | 2 +- .../emi/category/properties/taczammoquery_ammo_query.json | 2 +- 38 files changed, 38 insertions(+), 36 deletions(-) create mode 100644 kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json diff --git a/kubejs/assets/emi/category/properties/ae2_condenser.json b/kubejs/assets/emi/category/properties/ae2_condenser.json index d93ff1dfd..e5989a692 100644 --- a/kubejs/assets/emi/category/properties/ae2_condenser.json +++ b/kubejs/assets/emi/category/properties/ae2_condenser.json @@ -1 +1 @@ -{"ae2:condenser":{"order":156}} \ No newline at end of file +{"ae2:condenser":{"order":158}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json b/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json index 77df76d37..bd9501a4b 100644 --- a/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json +++ b/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json @@ -1 +1 @@ -{"ae2:p2p_attunement":{"order":168}} \ No newline at end of file +{"ae2:p2p_attunement":{"order":170}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_draining.json b/kubejs/assets/emi/category/properties/create_draining.json index 383c4ec61..ee5f9237c 100644 --- a/kubejs/assets/emi/category/properties/create_draining.json +++ b/kubejs/assets/emi/category/properties/create_draining.json @@ -1 +1 @@ -{"create:draining":{"order":171}} \ No newline at end of file +{"create:draining":{"order":173}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_spout_filling.json b/kubejs/assets/emi/category/properties/create_spout_filling.json index 782ccd548..dbc8fd535 100644 --- a/kubejs/assets/emi/category/properties/create_spout_filling.json +++ b/kubejs/assets/emi/category/properties/create_spout_filling.json @@ -1 +1 @@ -{"create:spout_filling":{"order":172}} \ No newline at end of file +{"create:spout_filling":{"order":174}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json b/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json index db7a788ab..7715f2c79 100644 --- a/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json +++ b/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json @@ -1 +1 @@ -{"diggerhelmet:helmet_repair":{"order":163}} \ No newline at end of file +{"diggerhelmet:helmet_repair":{"order":165}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json index baa7beb50..b8c07b028 100644 --- a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json +++ b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json @@ -1 +1 @@ -{"domum_ornamentum:architects_cutter":{"order":167}} \ No newline at end of file +{"domum_ornamentum:architects_cutter":{"order":169}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/emi_info.json b/kubejs/assets/emi/category/properties/emi_info.json index 0393e9cd7..de5b44335 100644 --- a/kubejs/assets/emi/category/properties/emi_info.json +++ b/kubejs/assets/emi/category/properties/emi_info.json @@ -1 +1 @@ -{"emi:info":{"order":177}} \ No newline at end of file +{"emi:info":{"order":179}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/emi_tag.json b/kubejs/assets/emi/category/properties/emi_tag.json index d51c31551..8913e2dd2 100644 --- a/kubejs/assets/emi/category/properties/emi_tag.json +++ b/kubejs/assets/emi/category/properties/emi_tag.json @@ -1 +1 @@ -{"emi:tag":{"order":178}} \ No newline at end of file +{"emi:tag":{"order":180}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json index 77156f055..d08557db7 100644 --- a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json +++ b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json @@ -1 +1 @@ -{"exposure:photograph_printing":{"order":161}} \ No newline at end of file +{"exposure:photograph_printing":{"order":163}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json index 8a808ccf3..c79168c91 100644 --- a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json +++ b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json @@ -1 +1 @@ -{"exposure:photograph_stacking":{"order":162}} \ No newline at end of file +{"exposure:photograph_stacking":{"order":164}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json index eb210dcf7..a95aa8971 100644 --- a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json +++ b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json @@ -1 +1 @@ -{"framedblocks:framing_saw":{"order":166}} \ No newline at end of file +{"framedblocks:framing_saw":{"order":168}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_packing.json b/kubejs/assets/emi/category/properties/greate_automatic_packing.json index 3678d67d1..f73592900 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_packing.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_packing.json @@ -1 +1 @@ -{"greate:automatic_packing":{"order":175}} \ No newline at end of file +{"greate:automatic_packing":{"order":177}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json index 8080e35cc..a6906d2a3 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json @@ -1 +1 @@ -{"greate:automatic_shaped":{"order":173}} \ No newline at end of file +{"greate:automatic_shaped":{"order":175}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json index 0b7a0b31e..0e8bd0689 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json @@ -1 +1 @@ -{"greate:automatic_shapeless":{"order":174}} \ No newline at end of file +{"greate:automatic_shapeless":{"order":176}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_block_cutting.json b/kubejs/assets/emi/category/properties/greate_block_cutting.json index dfb2ea8ed..32291d555 100644 --- a/kubejs/assets/emi/category/properties/greate_block_cutting.json +++ b/kubejs/assets/emi/category/properties/greate_block_cutting.json @@ -1 +1 @@ -{"greate:block_cutting":{"order":165}} \ No newline at end of file +{"greate:block_cutting":{"order":167}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json index 7bd34d260..c3807af7f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json @@ -1 +1 @@ -{"gtceu:arc_furnace_recycling":{"order":157}} \ No newline at end of file +{"gtceu:arc_furnace_recycling":{"order":159}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json index 66fd8482e..6e0143e12 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json @@ -1 +1 @@ -{"gtceu:extractor_recycling":{"order":159}} \ No newline at end of file +{"gtceu:extractor_recycling":{"order":161}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json index 6e14a9976..fad7a9f11 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json @@ -1 +1 @@ -{"gtceu:fission_reactor":{"order":143}} \ No newline at end of file +{"gtceu:fission_reactor":{"order":142}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json index 3f4912970..696302445 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json @@ -1 +1 @@ -{"gtceu:fusion_reactor":{"order":144}} \ No newline at end of file +{"gtceu:fusion_reactor":{"order":143}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json index efa9331fc..20d1e3946 100644 --- a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json +++ b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json @@ -1 +1 @@ -{"gtceu:greenhouse":{"order":145}} \ No newline at end of file +{"gtceu:greenhouse":{"order":144}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json index 462decfd8..11bb3eba1 100644 --- a/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json +++ b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json @@ -1 +1 @@ -{"gtceu:heat_exchanger":{"order":146}} \ No newline at end of file +{"gtceu:heat_exchanger":{"order":145}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json b/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json new file mode 100644 index 000000000..3c4d85d63 --- /dev/null +++ b/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json @@ -0,0 +1 @@ +{"gtceu:hydroponics_facility":{"order":146}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json index b1f97cf11..8f6be3973 100644 --- a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json @@ -1 +1 @@ -{"gtceu:macerator_recycling":{"order":158}} \ No newline at end of file +{"gtceu:macerator_recycling":{"order":160}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json b/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json index 49f445263..7adafaf6b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json +++ b/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json @@ -1 +1 @@ -{"gtceu:moon_dust_harvester":{"order":150}} \ No newline at end of file +{"gtceu:moon_dust_harvester":{"order":148}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json index 8a2e96e89..386165365 100644 --- a/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json +++ b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json @@ -1 +1 @@ -{"gtceu:nuclear_fuel_factory":{"order":148}} \ No newline at end of file +{"gtceu:nuclear_fuel_factory":{"order":149}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json b/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json index 603588c05..c9fdc1274 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json +++ b/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json @@ -1 +1 @@ -{"gtceu:ostrum_harvester":{"order":149}} \ No newline at end of file +{"gtceu:ostrum_harvester":{"order":150}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json b/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json index 3780fcead..e609def97 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json +++ b/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json @@ -1 +1 @@ -{"gtceu:ostrum_linear_accelerator":{"order":142}} \ No newline at end of file +{"gtceu:ostrum_linear_accelerator":{"order":151}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json b/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json new file mode 100644 index 000000000..2f137300b --- /dev/null +++ b/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json @@ -0,0 +1 @@ +{"gtceu:pisciculture_fishery":{"order":152}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json index dfdee2005..1ca470d2f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json +++ b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json @@ -1 +1 @@ -{"gtceu:programmed_circuit":{"order":176}} \ No newline at end of file +{"gtceu:programmed_circuit":{"order":178}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json index 0f17dc482..3ee2775ce 100644 --- a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json +++ b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json @@ -1 +1 @@ -{"gtceu:pyrolyse_oven":{"order":151}} \ No newline at end of file +{"gtceu:pyrolyse_oven":{"order":153}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_research_station.json b/kubejs/assets/emi/category/properties/gtceu_research_station.json index 457059489..2e9c56869 100644 --- a/kubejs/assets/emi/category/properties/gtceu_research_station.json +++ b/kubejs/assets/emi/category/properties/gtceu_research_station.json @@ -1 +1 @@ -{"gtceu:research_station":{"order":152}} \ No newline at end of file +{"gtceu:research_station":{"order":154}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json index 1949f1005..cbf79f09e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json +++ b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json @@ -1 +1 @@ -{"gtceu:steam_bloomery":{"order":153}} \ No newline at end of file +{"gtceu:steam_bloomery":{"order":155}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json index 614f09279..c35543341 100644 --- a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json +++ b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json @@ -1 +1 @@ -{"gtceu:vacuum_freezer":{"order":154}} \ No newline at end of file +{"gtceu:vacuum_freezer":{"order":156}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json index ba9471c06..0bcd70b8e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json +++ b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json @@ -1 +1 @@ -{"gtceu:wire_coating":{"order":155}} \ No newline at end of file +{"gtceu:wire_coating":{"order":157}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_smithing.json b/kubejs/assets/emi/category/properties/minecraft_smithing.json index 91b6e6c98..0884f8637 100644 --- a/kubejs/assets/emi/category/properties/minecraft_smithing.json +++ b/kubejs/assets/emi/category/properties/minecraft_smithing.json @@ -1 +1 @@ -{"minecraft:smithing":{"order":160}} \ No newline at end of file +{"minecraft:smithing":{"order":162}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json index 6176a3709..8e40f1250 100644 --- a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json +++ b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json @@ -1 +1 @@ -{"minecraft:stonecutting":{"order":164}} \ No newline at end of file +{"minecraft:stonecutting":{"order":166}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tacz_attachment_query.json b/kubejs/assets/emi/category/properties/tacz_attachment_query.json index 42452df10..5a657c070 100644 --- a/kubejs/assets/emi/category/properties/tacz_attachment_query.json +++ b/kubejs/assets/emi/category/properties/tacz_attachment_query.json @@ -1 +1 @@ -{"tacz:attachment_query":{"order":169}} \ No newline at end of file +{"tacz:attachment_query":{"order":171}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json index f021df1bc..df66f83aa 100644 --- a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json +++ b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json @@ -1 +1 @@ -{"taczammoquery:ammo_query":{"order":170}} \ No newline at end of file +{"taczammoquery:ammo_query":{"order":172}} \ No newline at end of file From a593d40d932ea85c037a2eba455ecd4aa07de208 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 13 Jan 2026 17:11:08 +0000 Subject: [PATCH 095/474] langs --- kubejs/assets/arthropocolypse/lang/en_us.json | 36 +++++++-------- kubejs/assets/arthropocolypse/lang/uk_ua.json | 36 +++++++-------- kubejs/assets/arthropocolypse/lang/zh_cn.json | 36 +++++++-------- kubejs/assets/betterend/lang/zh_cn.json | 20 ++++----- kubejs/assets/tfg/lang/en_us.json | 25 ----------- kubejs/assets/tfg/lang/ru_ru.json | 45 ++++++++++++++++--- kubejs/assets/tfg/lang/zh_cn.json | 18 ++++---- 7 files changed, 113 insertions(+), 103 deletions(-) diff --git a/kubejs/assets/arthropocolypse/lang/en_us.json b/kubejs/assets/arthropocolypse/lang/en_us.json index 87cc912b7..02d25a5ae 100644 --- a/kubejs/assets/arthropocolypse/lang/en_us.json +++ b/kubejs/assets/arthropocolypse/lang/en_us.json @@ -1,5 +1,22 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.arthropocolypse.beetle_fragment_block": "Chitin Block", + "block.arthropocolypse.beetle_fragment_block_bricks": "Chitin Bricks", + "block.arthropocolypse.chiseled_beetle_fragment_block": "Chiseled Chitin Block", + "block.arthropocolypse.polished_beetle_fragment_block": "Polished Chitin Block", + "block.arthropocolypse.tiled_beetle_fragment_block": "Tiled Chitin Block", + "block.arthropocolypse.beetle_fragment_block_stairs": "Chitin Block Stairs", + "block.arthropocolypse.beetle_fragment_block_bricks_stairs": "Chitin Bricks Stairs", + "block.arthropocolypse.polished_beetle_fragment_block_stairs": "Polished Chitin Stairs", + "block.arthropocolypse.tiled_beetle_fragment_block_stairs": "Tiled Chitin Stairs", + "block.arthropocolypse.beetle_fragment_block_slab": "Chitin Block Slab", + "block.arthropocolypse.beetle_fragment_block_bricks_slab": "Chitin Bricks Slab", + "block.arthropocolypse.polished_beetle_fragment_block_slab": "Polished Chitin Slab", + "block.arthropocolypse.tiled_beetle_fragment_block_slab": "Tiled Chitin Slab", + "block.arthropocolypse.beetle_fragment_block_wall": "Chitin Block Wall", + "block.arthropocolypse.beetle_fragment_block_bricks_wall": "Chitin Bricks Wall", + "block.arthropocolypse.polished_beetle_fragment_block_wall": "Polished Chitin Wall", + "block.arthropocolypse.tiled_beetle_fragment_block_wall": "Tiled Chitin Wall", "entity.arthropocolypse.scarab": "Behemoth Mongolarachne Larva", "entity.arthropocolypse.prairie_grasshopper": "Giant Cimbrophlebia Hopper", "entity.arthropocolypse.field_cricket": "Glisachaemus Salthopper", @@ -24,22 +41,5 @@ "item.arthropocolypse.ice_crawler_meat": "Raw Obsidian Paleophaedon Beetle", "item.arthropocolypse.cooked_ice_crawler_meat": "Cooked Obsidian Paleophaedon Beetle", "item.arthropocolypse.energy_bar": "Bug Snacks", - "item.arthropocolypse.beetle_fragment": "Chitin Fragment", - "item.arthropocolypse.beetle_fragment_block": "Chitin Block", - "item.arthropocolypse.beetle_fragment_block_bricks": "Chitin Bricks", - "item.arthropocolypse.chiseled_beetle_fragment_block": "Chiseled Chitin Block", - "item.arthropocolypse.polished_beetle_fragment_block": "Polished Chitin Block", - "item.arthropocolypse.tiled_beetle_fragment_block": "Tiled Chitin Block", - "item.arthropocolypse.beetle_fragment_block_stairs": "Chitin Block Stairs", - "item.arthropocolypse.beetle_fragment_block_bricks_stairs": "Chitin Bricks Stairs", - "item.arthropocolypse.polished_beetle_fragment_block_stairs": "Polished Chitin Stairs", - "item.arthropocolypse.tiled_beetle_fragment_block_stairs": "Tiled Chitin Stairs", - "item.arthropocolypse.beetle_fragment_block_slab": "Chitin Block Slab", - "item.arthropocolypse.beetle_fragment_block_bricks_slab": "Chitin Bricks Slab", - "item.arthropocolypse.polished_beetle_fragment_block_slab": "Polished Chitin Slab", - "item.arthropocolypse.tiled_beetle_fragment_block_slab": "Tiled Chitin Slab", - "item.arthropocolypse.beetle_fragment_block_wall": "Chitin Block Wall", - "item.arthropocolypse.beetle_fragment_block_bricks_wall": "Chitin Bricks Wall", - "item.arthropocolypse.polished_beetle_fragment_block_wall": "Polished Chitin Wall", - "item.arthropocolypse.tiled_beetle_fragment_block_wall": "Tiled Chitin Wall" + "item.arthropocolypse.beetle_fragment": "Chitin Fragment" } \ No newline at end of file diff --git a/kubejs/assets/arthropocolypse/lang/uk_ua.json b/kubejs/assets/arthropocolypse/lang/uk_ua.json index 87cc912b7..02d25a5ae 100644 --- a/kubejs/assets/arthropocolypse/lang/uk_ua.json +++ b/kubejs/assets/arthropocolypse/lang/uk_ua.json @@ -1,5 +1,22 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.arthropocolypse.beetle_fragment_block": "Chitin Block", + "block.arthropocolypse.beetle_fragment_block_bricks": "Chitin Bricks", + "block.arthropocolypse.chiseled_beetle_fragment_block": "Chiseled Chitin Block", + "block.arthropocolypse.polished_beetle_fragment_block": "Polished Chitin Block", + "block.arthropocolypse.tiled_beetle_fragment_block": "Tiled Chitin Block", + "block.arthropocolypse.beetle_fragment_block_stairs": "Chitin Block Stairs", + "block.arthropocolypse.beetle_fragment_block_bricks_stairs": "Chitin Bricks Stairs", + "block.arthropocolypse.polished_beetle_fragment_block_stairs": "Polished Chitin Stairs", + "block.arthropocolypse.tiled_beetle_fragment_block_stairs": "Tiled Chitin Stairs", + "block.arthropocolypse.beetle_fragment_block_slab": "Chitin Block Slab", + "block.arthropocolypse.beetle_fragment_block_bricks_slab": "Chitin Bricks Slab", + "block.arthropocolypse.polished_beetle_fragment_block_slab": "Polished Chitin Slab", + "block.arthropocolypse.tiled_beetle_fragment_block_slab": "Tiled Chitin Slab", + "block.arthropocolypse.beetle_fragment_block_wall": "Chitin Block Wall", + "block.arthropocolypse.beetle_fragment_block_bricks_wall": "Chitin Bricks Wall", + "block.arthropocolypse.polished_beetle_fragment_block_wall": "Polished Chitin Wall", + "block.arthropocolypse.tiled_beetle_fragment_block_wall": "Tiled Chitin Wall", "entity.arthropocolypse.scarab": "Behemoth Mongolarachne Larva", "entity.arthropocolypse.prairie_grasshopper": "Giant Cimbrophlebia Hopper", "entity.arthropocolypse.field_cricket": "Glisachaemus Salthopper", @@ -24,22 +41,5 @@ "item.arthropocolypse.ice_crawler_meat": "Raw Obsidian Paleophaedon Beetle", "item.arthropocolypse.cooked_ice_crawler_meat": "Cooked Obsidian Paleophaedon Beetle", "item.arthropocolypse.energy_bar": "Bug Snacks", - "item.arthropocolypse.beetle_fragment": "Chitin Fragment", - "item.arthropocolypse.beetle_fragment_block": "Chitin Block", - "item.arthropocolypse.beetle_fragment_block_bricks": "Chitin Bricks", - "item.arthropocolypse.chiseled_beetle_fragment_block": "Chiseled Chitin Block", - "item.arthropocolypse.polished_beetle_fragment_block": "Polished Chitin Block", - "item.arthropocolypse.tiled_beetle_fragment_block": "Tiled Chitin Block", - "item.arthropocolypse.beetle_fragment_block_stairs": "Chitin Block Stairs", - "item.arthropocolypse.beetle_fragment_block_bricks_stairs": "Chitin Bricks Stairs", - "item.arthropocolypse.polished_beetle_fragment_block_stairs": "Polished Chitin Stairs", - "item.arthropocolypse.tiled_beetle_fragment_block_stairs": "Tiled Chitin Stairs", - "item.arthropocolypse.beetle_fragment_block_slab": "Chitin Block Slab", - "item.arthropocolypse.beetle_fragment_block_bricks_slab": "Chitin Bricks Slab", - "item.arthropocolypse.polished_beetle_fragment_block_slab": "Polished Chitin Slab", - "item.arthropocolypse.tiled_beetle_fragment_block_slab": "Tiled Chitin Slab", - "item.arthropocolypse.beetle_fragment_block_wall": "Chitin Block Wall", - "item.arthropocolypse.beetle_fragment_block_bricks_wall": "Chitin Bricks Wall", - "item.arthropocolypse.polished_beetle_fragment_block_wall": "Polished Chitin Wall", - "item.arthropocolypse.tiled_beetle_fragment_block_wall": "Tiled Chitin Wall" + "item.arthropocolypse.beetle_fragment": "Chitin Fragment" } \ No newline at end of file diff --git a/kubejs/assets/arthropocolypse/lang/zh_cn.json b/kubejs/assets/arthropocolypse/lang/zh_cn.json index d5aa88677..cdf474c54 100644 --- a/kubejs/assets/arthropocolypse/lang/zh_cn.json +++ b/kubejs/assets/arthropocolypse/lang/zh_cn.json @@ -1,5 +1,22 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.arthropocolypse.beetle_fragment_block": "几丁质方块", + "block.arthropocolypse.beetle_fragment_block_bricks": "几丁质砖", + "block.arthropocolypse.chiseled_beetle_fragment_block": "雕纹几丁质方块", + "block.arthropocolypse.polished_beetle_fragment_block": "磨制几丁质方块", + "block.arthropocolypse.tiled_beetle_fragment_block": "瓦片几丁质方块", + "block.arthropocolypse.beetle_fragment_block_stairs": "几丁质方块楼梯", + "block.arthropocolypse.beetle_fragment_block_bricks_stairs": "几丁质砖楼梯", + "block.arthropocolypse.polished_beetle_fragment_block_stairs": "磨制几丁质楼梯", + "block.arthropocolypse.tiled_beetle_fragment_block_stairs": "瓦片几丁质楼梯", + "block.arthropocolypse.beetle_fragment_block_slab": "几丁质方块台阶", + "block.arthropocolypse.beetle_fragment_block_bricks_slab": "几丁质砖台阶", + "block.arthropocolypse.polished_beetle_fragment_block_slab": "磨制几丁质台阶", + "block.arthropocolypse.tiled_beetle_fragment_block_slab": "瓦片几丁质台阶", + "block.arthropocolypse.beetle_fragment_block_wall": "几丁质方块墙", + "block.arthropocolypse.beetle_fragment_block_bricks_wall": "几丁质砖墙", + "block.arthropocolypse.polished_beetle_fragment_block_wall": "磨制几丁质墙", + "block.arthropocolypse.tiled_beetle_fragment_block_wall": "瓦片几丁质墙", "entity.arthropocolypse.scarab": "巨兽蒙古拉蛛幼虫", "entity.arthropocolypse.prairie_grasshopper": "巨翅辛布跳虫", "entity.arthropocolypse.field_cricket": "盐地格利沙蟀", @@ -24,22 +41,5 @@ "item.arthropocolypse.ice_crawler_meat": "生黑曜古畏甲虫肉", "item.arthropocolypse.cooked_ice_crawler_meat": "熟黑曜古畏甲虫肉", "item.arthropocolypse.energy_bar": "昆虫零食", - "item.arthropocolypse.beetle_fragment": "几丁质碎片", - "item.arthropocolypse.beetle_fragment_block": "几丁质方块", - "item.arthropocolypse.beetle_fragment_block_bricks": "几丁质砖", - "item.arthropocolypse.chiseled_beetle_fragment_block": "雕纹几丁质方块", - "item.arthropocolypse.polished_beetle_fragment_block": "磨制几丁质方块", - "item.arthropocolypse.tiled_beetle_fragment_block": "瓦片几丁质方块", - "item.arthropocolypse.beetle_fragment_block_stairs": "几丁质方块楼梯", - "item.arthropocolypse.beetle_fragment_block_bricks_stairs": "几丁质砖楼梯", - "item.arthropocolypse.polished_beetle_fragment_block_stairs": "磨制几丁质楼梯", - "item.arthropocolypse.tiled_beetle_fragment_block_stairs": "瓦片几丁质楼梯", - "item.arthropocolypse.beetle_fragment_block_slab": "几丁质方块台阶", - "item.arthropocolypse.beetle_fragment_block_bricks_slab": "几丁质砖台阶", - "item.arthropocolypse.polished_beetle_fragment_block_slab": "磨制几丁质台阶", - "item.arthropocolypse.tiled_beetle_fragment_block_slab": "瓦片几丁质台阶", - "item.arthropocolypse.beetle_fragment_block_wall": "几丁质方块墙", - "item.arthropocolypse.beetle_fragment_block_bricks_wall": "几丁质砖墙", - "item.arthropocolypse.polished_beetle_fragment_block_wall": "磨制几丁质墙", - "item.arthropocolypse.tiled_beetle_fragment_block_wall": "瓦片几丁质墙" + "item.arthropocolypse.beetle_fragment": "几丁质碎片" } \ No newline at end of file diff --git a/kubejs/assets/betterend/lang/zh_cn.json b/kubejs/assets/betterend/lang/zh_cn.json index 40f9cd8f7..2c54d437a 100644 --- a/kubejs/assets/betterend/lang/zh_cn.json +++ b/kubejs/assets/betterend/lang/zh_cn.json @@ -46,11 +46,11 @@ "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.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": "球囊藻", @@ -90,11 +90,11 @@ "block.betterend.shadow_plant": "焦黑的灰草", "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.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": "缠结伞苔", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 95ab8f80b..77bd806ed 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -694,31 +694,6 @@ "block.tfg.sandstone.fluorapatite.yellow": "Cut Yellow Fluorapatite Sandstone", "block.tfg.sandstone.smooth.chiseled.fluorapatite.yellow": "Chiseled Yellow Fluorapatite Sandstone", "block.tfg.large_nest_box": "Large Crimson Nest", - "block.tfg.cultivation_monitor": "Cultivation Monitor", - "block.tfg.egh_planter": "Horticulture Planter", - "block.tfg.grow_light": "Grow Light", - "block.tfg.casings.machine_casing_egh": "Horticulture Casing", - "block.tfg.pisciculture_core": "Pisciculture Core Rotor", - "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_0": "§nFlawless§r Wax-Treated Wood Greenhouse Wall", - "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_1": "§nVertical§r Wax-Treated Wood Greenhouse Wall", - "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_2": "§nHorizontal§r Wax-Treated Wood Greenhouse Wall", - "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_3": "§nNubio§r Wax-Treated Wood Greenhouse Wall", - "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_4": "§nOrnate§r Wax-Treated Wood Greenhouse Wall", - "block.tfg.casings.greenhouse.copper_greenhouse_casing_0": "§nFlawless§r Copper Greenhouse Wall", - "block.tfg.casings.greenhouse.copper_greenhouse_casing_1": "§nVertical§r Copper Greenhouse Wall", - "block.tfg.casings.greenhouse.copper_greenhouse_casing_2": "§nHorizontal§r Copper Greenhouse Wall", - "block.tfg.casings.greenhouse.copper_greenhouse_casing_3": "§nNubio§r Copper Greenhouse Wall", - "block.tfg.casings.greenhouse.copper_greenhouse_casing_4": "§nOrnate§r Copper Greenhouse Wall", - "block.tfg.casings.greenhouse.iron_greenhouse_casing_0": "§nFlawless§r Iron Greenhouse Wall", - "block.tfg.casings.greenhouse.iron_greenhouse_casing_1": "§nVertical§r Iron Greenhouse Wall", - "block.tfg.casings.greenhouse.iron_greenhouse_casing_2": "§nHorizontal§r Iron Greenhouse Wall", - "block.tfg.casings.greenhouse.iron_greenhouse_casing_3": "§nNubio§r Iron Greenhouse Wall", - "block.tfg.casings.greenhouse.iron_greenhouse_casing_4": "§nOrnate§r Iron Greenhouse Wall", - "block.tfg.casings.greenhouse.stainless_greenhouse_casing_0": "§nFlawless§r Stainless Steel Greenhouse Wall", - "block.tfg.casings.greenhouse.stainless_greenhouse_casing_1": "§nVertical§r Stainless Steel Greenhouse Wall", - "block.tfg.casings.greenhouse.stainless_greenhouse_casing_2": "§nHorizontal§r Stainless Steel Greenhouse Wall", - "block.tfg.casings.greenhouse.stainless_greenhouse_casing_3": "§nNubio§r Stainless Steel Greenhouse Wall", - "block.tfg.casings.greenhouse.stainless_greenhouse_casing_4": "§nOrnate§r Stainless Steel Greenhouse Wall", "tfg.block_entity.large_nest_box": "Large Nest Box", "block.tfg.large_nest_box_warped": "Large Warped Nest", "block.tfg.cultivation_monitor": "Cultivation Monitor", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 5d38f7b83..e7f3b5579 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -256,10 +256,10 @@ "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": "Замшелые анортозитовые кирпичи", + "block.tfg.rock.mossy_bricks_moon_stairs": "Ступеньки из замшелых анортозитовых кирпичей", "block.tfg.rock.mossy_bricks_moon_stone_slab": "Плита из замшелых анортозитовых кирпичей", - "block.tfg.rock.mossy_bricks_moon_stone_wall": "Ограда из замшелых анортозитовых кирпичей", + "block.tfg.rock.mossy_bricks_moon_wall": "Ограда из замшелых анортозитовых кирпичей", "block.tfg.rock.chiseled_bricks_moon_wall": "Ограда из резного анортозита", "block.tfg.rock.gravel_moon": "Анортозитовый гравий", "block.tfg.spike.moon_stone_spike": "Анортозитовый сталагмит", @@ -696,6 +696,31 @@ "block.tfg.large_nest_box": "Большой багряный насест", "tfg.block_entity.large_nest_box": "Большой насест", "block.tfg.large_nest_box_warped": "Большой искажённый насест", + "block.tfg.cultivation_monitor": "Монитор культивации", + "block.tfg.egh_planter": "Садовый высаживатель", + "block.tfg.grow_light": "Фитолампа", + "block.tfg.casings.machine_casing_egh": "Корпус садового модуля", + "block.tfg.pisciculture_core": "Центробежный ротор для рыбоводства", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_0": "§nБезупречная§r вощёная деревянная стена теплицы", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_1": "§nВертикальная§r вощёная деревянная стена теплицы", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_2": "§nГоризонтальная§r вощёная деревянная стена теплицы", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_3": "§nСтеклоблочная§r вощёная деревянная стена теплицы", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_4": "§nУкрашенная§r вощёная деревянная стена теплицы", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_0": "§nБезупречная§r медная стена теплицы", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_1": "§nВертикальная§r медная стена теплицы", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_2": "§nГоризонтальная§r медная стена теплицы", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_3": "§nСтеклоблочная§r медная стена теплицы", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_4": "§nУкрашенная§r медная стена теплицы", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_0": "§nБезупречная§r железная стена теплицы", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_1": "§nВертикальная§r железная стена теплицы", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_2": "§nГоризонтальная§r железная стена теплицы", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_3": "§nСтеклоблочная§r железная стена теплицы", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_4": "§nУкрашенная§r железная стена теплицы", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_0": "§nБезупречная§r стена теплицы из нержавеющей стали", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_1": "§nВертикальная§r стена теплицы из нержавеющей стали", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_2": "§nГоризонтальная§r стена теплицы из нержавеющей стали", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_3": "§nСтеклоблочная§r стена теплицы из нержавеющей стали", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_4": "§nУкрашенная§r стена теплицы из нержавеющей стали", "block.tfg.titanium_concrete": "Бетон на титановых арматурных стержнях", "block.tfg.polished_titanium_concrete": "Полированный бетон на титановых арматурных стержнях", "block.tfg.titanium_concrete_tile": "Плитка из бетона на титановых арматурных стержнях", @@ -720,6 +745,8 @@ "fluid.tfg.sulfur_fumes": "Пары серы", "fluid.tfg.geyser_slurry": "Метастабильный шлам", "fluid.tfg.cryogenized_fluix": "Криогенный флюис", + "fluid.tfg.bw_photographic_developer": "Проявитель для чёрно-белой фотографии", + "fluid.tfg.color_photographic_developer": "Проявитель для цветной фотографии", "item.tfg.antipoison_pill": "Пилюля противоядия", "item.tfg.haste_pill": "Пилюля спешки", "item.tfg.night_vision_pill": "Пилюля ночного зрения", @@ -766,6 +793,7 @@ "item.tfg.conifer_rosin": "Хвойная канифоль", "item.tfg.hardwood_strip": "Полоска твердой древесины", "item.tfg.soaked_hardwood_strip": "Пропитанная полоска твердой древесины", + "item.tfg.soaked_unrefined_paper": "Пропитанная необработанная бумага", "item.tfg.prepared_leather_gloves": "Подготовленные кожаные перчатки", "item.tfg.latex_soaked_gloves": "Пропитанные латексом перчатки", "item.tfg.unfired_chalk": "Необожженная палочка мела", @@ -966,7 +994,8 @@ "item.tfg.compressed_heliox_3_bucket": "Ведро (Гелиокс-3)", "item.tfg.compressed_trimix_bucket": "Ведро (50/30/20 Тримикс)", "item.tfg.compressed_trimix_3_bucket": "Ведро (50/30/20 Тримикс-3)", - "item.tfg.semiheavy_ammoniacal_water_bucket": "Ведро (Полутяжелая аммиачная вода)", + "item.tfg.heavy_ammoniacal_water_bucket": "Ведро (Концентрированный аммиачный раствор)", + "item.tfg.semiheavy_ammoniacal_water_bucket": "Ведро (Умеренно-концентрированный аммиачный раствор)", "item.tfg.harvest_basket": "Лукошко", "item.tfg.aluminium_harvest_basket": "Лукошко (Алюминий)", "item.tfg.wood.lumber.aeronos": "Доска из конусообразного гриба", @@ -1053,7 +1082,7 @@ "item.tfg.pure_graphite_rod": "Стержень из чистого графита", "item.tfg.impure_graphite_rod": "Стержень из нечистого графита", "item.tfg.annealed_graphite_rod": "Отожженный графитовый стержень", - "item.tfg.impure_annealed_graphite_row": "Нечистый отожженный графитовый стержень", + "item.tfg.impure_annealed_graphite_rod": "Нечистый отожженный графитовый стержень", "item.tfg.moderate_core": "Стабилизирующее ядро", "item.tfg.impure_moderate_core": "Нечистый стабилизирующее ядро", "item.tfg.moderate_core_frame": "Каркас с стабилизирующее ядром", @@ -1106,6 +1135,9 @@ "item.tfg.unfired_rod_mold": "Необоженная огнеупорная форма стержня", "item.tfg.unfired_small_gear_mold": "Необоженная огнеупорная форма маленькой шестерни", "item.tfg.unfired_nugget_mold": "Необоженная форма самородка", + "item.tfg.fish_roe": "Икра %s", + "item.tfg.rotten_voiding_cover": "Удаление гнили(Улучшение)", + "item.tfg.flora_pellets": "Растительные гранулы", "material.tfg.latex": "Латекс", "material.tfg.vulcanized_latex": "Вулканизированный латекс", "material.tfg.fluix": "Флюис", @@ -1277,6 +1309,9 @@ "material.tfg.clean_powder": "Силикатированный очищенный рениумный порошок", "material.tfg.catalyser_powder": "Катализаторный рениумный порошок ZSM-5", "material.tfg.sodium_aluminium": "Алюминат натрия", + "material.tfg.chloroplasts": "Хлоропласты", + "material.tfg.nitrate_rich_water": "Нитратный раствор", + "material.tfg.nitrate_rich_semiheavy_ammoniacal_water": "Полутяжёлый нитратно-аммиачный раствор", "ore_vein.tfg.deep_sheldonite": "Шелдонит и Борнит", "ore_vein.tfg.deep_garnet_amethyst": "Аметист и гранат", "ore_vein.tfg.deep_garnet_opal": "Опал и гранат", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 527aba9a7..342621840 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -697,29 +697,29 @@ "tfg.block_entity.large_nest_box": "大型巢箱", "block.tfg.large_nest_box_warped": "大型诡异巢", "block.tfg.cultivation_monitor": "栽培监控器", - "block.tfg.egh_planter": "园艺种植槽", + "block.tfg.egh_planter": "园艺种植盆", "block.tfg.grow_light": "生长灯", "block.tfg.casings.machine_casing_egh": "园艺机械外壳", "block.tfg.pisciculture_core": "水产养殖核心转子", "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_0": "§n无瑕§r涂蜡防腐木温室墙板", "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_1": "§n竖直§r涂蜡防腐木温室墙板", "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_2": "§n水平§r涂蜡防腐木温室墙板", - "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_3": "§n纽比奥§r涂蜡防腐木温室墙板", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_3": "§n冰晶纹§r涂蜡防腐木温室墙板", "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_4": "§n华丽§r涂蜡防腐木温室墙板", "block.tfg.casings.greenhouse.copper_greenhouse_casing_0": "§n无瑕§r铜制温室墙板", "block.tfg.casings.greenhouse.copper_greenhouse_casing_1": "§n竖直§r铜制温室墙板", "block.tfg.casings.greenhouse.copper_greenhouse_casing_2": "§n水平§r铜制温室墙板", - "block.tfg.casings.greenhouse.copper_greenhouse_casing_3": "§n纽比奥§r铜制温室墙板", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_3": "§n冰晶纹§r铜制温室墙板", "block.tfg.casings.greenhouse.copper_greenhouse_casing_4": "§n华丽§r铜制温室墙板", "block.tfg.casings.greenhouse.iron_greenhouse_casing_0": "§n无瑕§r铁制温室墙板", "block.tfg.casings.greenhouse.iron_greenhouse_casing_1": "§n竖直§r铁制温室墙板", "block.tfg.casings.greenhouse.iron_greenhouse_casing_2": "§n水平§r铁制温室墙板", - "block.tfg.casings.greenhouse.iron_greenhouse_casing_3": "§n纽比奥§r铁制温室墙板", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_3": "§n冰晶纹§r铁制温室墙板", "block.tfg.casings.greenhouse.iron_greenhouse_casing_4": "§n华丽§r铁制温室墙板", "block.tfg.casings.greenhouse.stainless_greenhouse_casing_0": "§n无瑕§r不锈钢温室墙板", "block.tfg.casings.greenhouse.stainless_greenhouse_casing_1": "§n竖直§r不锈钢温室墙板", "block.tfg.casings.greenhouse.stainless_greenhouse_casing_2": "§n水平§r不锈钢温室墙板", - "block.tfg.casings.greenhouse.stainless_greenhouse_casing_3": "§n纽比奥§r不锈钢温室墙板", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_3": "§n冰晶纹§r不锈钢温室墙板", "block.tfg.casings.greenhouse.stainless_greenhouse_casing_4": "§n华丽§r不锈钢温室墙板", "block.tfg.titanium_concrete": "钛筋混凝土", "block.tfg.polished_titanium_concrete": "磨制钛筋混凝土", @@ -1682,8 +1682,8 @@ "tfg.tooltip.blaze_burner": "§c超高温§r §7使用焦炭、无烟煤或完美与精致的煤炭宝石。", "tfg.tooltip.machine.perfect_overclock": "这台机器具有§2完美超频§r!", "tfg.tooltip.machine.parallel": "通过并行控制仓让机器实现§d并行处理§r。", - "tfg.tooltip.machine.customize_interior": "§7内部结构可定制!请在EMI中查看多块预览。", - "tfg.tooltip.machine.customize_greenhouse": "§7此块结构的墙体可使用任意有效的§e铁制温室方块§7。具体请于EMI中查看多方块预览。", + "tfg.tooltip.machine.customize_interior": "§7内部结构可定制!请在EMI中查看多方块预览。", + "tfg.tooltip.machine.customize_greenhouse": "§7此多方块结构的墙体可使用任意有效的§e铁制温室方块§7。具体请于EMI中查看多方块预览。", "tfg.tooltip.armor.copper_diving_suit_warmth": "§7温暖度:-1", "tfg.tooltip.armor.copper_diving_suit_insulation": "§7隔热:+1", "tfg.tooltip.armor.netherite_diving_suit_warmth": "§7温暖值:-2", @@ -3089,7 +3089,7 @@ "quests.low_voltage.lv_greenhouse.title": "电力温室", "quests.low_voltage.lv_greenhouse.subtitle": "&mKubejs&r……不,是Java的力量", "quests.low_voltage.lv_greenhouse.desc.1": "若你更偏爱格雷科技机器而非机械动力装置,&3电力温室&r这座多方块结构便能为你稳定供应&a原木&r等作物。它还有一个独特优势:可以培育更多群峦传说中的装饰性植物!", - "quests.low_voltage.lv_greenhouse.desc.2": "&9注意:&r此结构的墙体可自定义,能使用任意有效的“铁制温室方块”。更多可用方块请查看EMI的多方块预览。电力温室还有若干强化途径,包括使用肥料,或在&c高压阶段&r接入&3水培循环&r。", + "quests.low_voltage.lv_greenhouse.desc.2": "&9注意:&r此结构的墙体可自定义,能使用任意有效的“铁制温室方块”。更多可用方块请查看EMI的多方块预览。电力温室还有若干强化途径,包括使用肥料,或在&cHV阶段&r接入&3水培循环&r。", "quests.low_voltage.lv_greenhouse.desc.3": "&l&3背景知识:&r&o此多方块最初为GTCEu社区包而创建,亦可见于GTCEu开发者文档。为契合群峦较慢的树木生长速度,其运作速度已被大幅调低——但在TFGv0.9之前,每个配方甚至需要近一小时!\n\n在TFGv0.11中,它被彻底重制:拥有全新配方、全新结构、以水培设施形式出现的MK2版本,以及由RubenVerg制作的专属渲染效果。\n\n本任务最初的副标题是“Kubejs的力量”,因为当时它是用Kubejs这一开发工具包制作自定义机器的范例。但如今,为完善支持群峦传说的食物属性,整个结构已完全转为Java实现。", "quests.low_voltage.lv_centrifuge.title": "基础离心机", "quests.low_voltage.lv_centrifuge.subtitle": "其功能与搅拌机正好相反!", @@ -4977,7 +4977,7 @@ "quests.tfg_tips.beneath_prep.desc": "&4幽冥之地&r是一片危机四伏的凶险之地。由于地处极深的地下,这里的环境温度始终&c高于15°C&r,并且会随着深入而不断攀升。更不用说还有大量敌对生物在这些洞窟中潜伏爬行。\n与此关联的任务将为你此次探险提供一些基础准备。", "quests.tfg_tips.beneath_temp_management.title": "体温管理:主动", "quests.tfg_tips.beneath_temp_management.subtitle": "快速降温之物", - "quests.tfg_tips.beneath_temp_management.desc": "在&4幽冥之地&r,由于环境温度较高,你应当随身携带一些&a水&r或者&a冰泥&r以便随时降温。若计划建立临时基地,最好也准备一些从极地区域开采的&b浮冰&r。", + "quests.tfg_tips.beneath_temp_management.desc": "在&4幽冥之地&r,由于环境温度较高,你应当随身携带一些&a水&r或&a液态冰泥&r以便随时降温。若计划建立临时基地,最好也准备一些从极地区域开采的&b浮冰&r。", "quests.tfg_tips.beneath_clothes.title": "体温管理:被动", "quests.tfg_tips.beneath_clothes.subtitle": "被动降温之物", "quests.tfg_tips.beneath_clothes.desc": "&b衣物&r在降温方面同样扮演着重要角色。在前往&4幽冥之地&r前,最容易制作的当属&d粗麻布衣物&r。\n\n&d丝绸衣物&r需要&a线&r,你可以在幽冥之地的&c蛛网巢穴&r生物群系中找到大量这种材料。\n\n不过,如果你能获取&9蓝钢&r,还将有更好的选择……", From e9506d17d0413950be880f017a8e92e5341dbc14 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 13 Jan 2026 17:33:51 +0000 Subject: [PATCH 096/474] added some uses to mars charnia, to mirror kelp --- kubejs/server_scripts/beneath/tags.js | 9 +++++++++ kubejs/server_scripts/firmalife/recipes.js | 1 + kubejs/server_scripts/tfg/data.js | 7 +++++++ kubejs/server_scripts/tfg/mars/recipes.mars.js | 6 ++++++ kubejs/server_scripts/tfg/mars/tags.mars.js | 7 +++++++ 5 files changed, 30 insertions(+) diff --git a/kubejs/server_scripts/beneath/tags.js b/kubejs/server_scripts/beneath/tags.js index 4550fb5c7..692fa2288 100644 --- a/kubejs/server_scripts/beneath/tags.js +++ b/kubejs/server_scripts/beneath/tags.js @@ -25,6 +25,15 @@ const registerBeneathBlockTags = (event) => { event.remove('minecraft:leaves', 'beneath:wood/leaves/warped') event.add('tfg:do_not_destroy_in_space', 'beneath:wood/leaves/crimson') event.add('tfg:do_not_destroy_in_space', 'beneath:wood/leaves/warped') + + event.add('tfg:softwood', 'beneath:wood/log/crimson') + event.add('tfg:softwood', 'beneath:wood/wood/crimson') + event.add('tfg:stripped_softwood', 'beneath:wood/stripped_log/crimson') + event.add('tfg:stripped_softwood', 'beneath:wood/stripped_wood/crimson') + event.add('tfg:hardwood', 'beneath:wood/log/crimson') + event.add('tfg:hardwood', 'beneath:wood/wood/crimson') + event.add('tfg:strippedhardwood', 'beneath:wood/stripped_log/crimson') + event.add('tfg:strippedhardwood', 'beneath:wood/stripped_wood/crimson') } const registerBeneathItemTags = (event) => { diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 6800487da..71565820f 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -405,6 +405,7 @@ const registerFirmaLifeRecipes = (event) => { event.shaped('firmalife:drying_mat', ['AAA'], { A: 'tfc:plant/leafy_kelp' }).id('tfg:shaped/drying_mat_leafy_kelp') event.shaped('firmalife:drying_mat', ['AAA'], { A: 'tfc:plant/winged_kelp' }).id('tfg:shaped/drying_mat_winged_kelp') + event.shaped('firmalife:drying_mat', ['AAA'], { A: 'tfg:charnia' }).id('tfg:shaped/drying_mat_charnia') // #endregion diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index e48d7205f..3dc19fcf5 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -55,6 +55,13 @@ function registerTFGHeatData(event) { 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); + + event.itemHeat('betterend:charnia_orange', 0.25, null, null) + event.itemHeat('betterend:charnia_cyan', 0.25, null, null) + event.itemHeat('betterend:charnia_green', 0.25, null, null) + event.itemHeat('betterend:charnia_light_blue', 0.25, null, null) + event.itemHeat('betterend:charnia_purple', 0.25, null, null) + event.itemHeat('betterend:charnia_red', 0.25, null, null) } //#endregion diff --git a/kubejs/server_scripts/tfg/mars/recipes.mars.js b/kubejs/server_scripts/tfg/mars/recipes.mars.js index 8798236bc..34ee5fee4 100644 --- a/kubejs/server_scripts/tfg/mars/recipes.mars.js +++ b/kubejs/server_scripts/tfg/mars/recipes.mars.js @@ -233,4 +233,10 @@ function registerTFGMarsRecipes(event) { .processingTime(1000) .heated() .id('tfg:vacuumizing/mars_latex') + + event.recipes.tfc.heating('#tfg:charnia', 200) + .resultItem('3x tfc:powder/soda_ash') + .id('tfg:heating/charnia_to_soda') + + event.smelting('3x tfc:powder/soda_ash', '#tfg:charnia').id('tfg:smelting/charnia_to_soda') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js index 33eafa125..a6605e02c 100644 --- a/kubejs/server_scripts/tfg/mars/tags.mars.js +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -100,6 +100,13 @@ function registerTFGMarsItemTags(event) { event.remove('ad_astra:destroyed_in_space', 'minecraft:pitcher_plant') event.remove('ad_astra:destroyed_in_space', 'minecraft:torchflower') + + event.add('tfg:charnia', 'betterend:charnia_orange') + event.add('tfg:charnia', 'betterend:charnia_cyan') + event.add('tfg:charnia', 'betterend:charnia_green') + event.add('tfg:charnia', 'betterend:charnia_light_blue') + event.add('tfg:charnia', 'betterend:charnia_purple') + event.add('tfg:charnia', 'betterend:charnia_red') } function registerTFGMarsBlockTags(event) { From 2e87d36b4bd169646fc6fa348d1b633322d1a0e6 Mon Sep 17 00:00:00 2001 From: Maxiffon <39791678+Maxiffon@users.noreply.github.com> Date: Wed, 14 Jan 2026 15:32:26 +0700 Subject: [PATCH 097/474] Added patchouli translation for the buildinggadgets2 mod (#2737) * Add files via upload langs (patchouli_books) Signed-off-by: Maxiffon <39791678+Maxiffon@users.noreply.github.com> * Update basics.json Signed-off-by: Maxiffon <39791678+Maxiffon@users.noreply.github.com> --------- Signed-off-by: Maxiffon <39791678+Maxiffon@users.noreply.github.com> --- .../ru_ru/categories/gadgets.json | 6 ++ .../ru_ru/categories/mechanics.json | 6 ++ .../ru_ru/categories/modes.json | 6 ++ .../ru_ru/categories/templates.json | 6 ++ .../ru_ru/entries/basics.json | 16 ++++ .../ru_ru/entries/buildinggadget.json | 29 ++++++++ .../ru_ru/entries/copypaste.json | 73 +++++++++++++++++++ .../ru_ru/entries/cutpaste.json | 42 +++++++++++ .../ru_ru/entries/destruction.json | 26 +++++++ .../ru_ru/entries/exchanginggadget.json | 33 +++++++++ .../ru_ru/entries/mech_anchor.json | 21 ++++++ .../ru_ru/entries/mech_bindinv.json | 34 +++++++++ .../ru_ru/entries/mech_build_animations.json | 12 +++ .../ru_ru/entries/mech_fluidhandling.json | 35 +++++++++ .../ru_ru/entries/mech_pastereplace.json | 16 ++++ .../ru_ru/entries/mech_place_on_top.json | 22 ++++++ .../ru_ru/entries/mech_raytrace_fluids.json | 21 ++++++ .../ru_ru/entries/mech_rotate.json | 23 ++++++ .../ru_ru/entries/mech_undo.json | 16 ++++ .../ru_ru/entries/mode_basics.json | 34 +++++++++ .../ru_ru/entries/mode_build_to_me.json | 21 ++++++ .../ru_ru/entries/mode_grid.json | 22 ++++++ .../ru_ru/entries/mode_horz_row.json | 24 ++++++ .../ru_ru/entries/mode_horz_wall.json | 23 ++++++ .../ru_ru/entries/mode_stairs.json | 22 ++++++ .../ru_ru/entries/mode_surface.json | 37 ++++++++++ .../ru_ru/entries/mode_vertcol.json | 23 ++++++ .../ru_ru/entries/mode_vertwall.json | 23 ++++++ .../ru_ru/entries/template_manager.json | 60 +++++++++++++++ 29 files changed, 732 insertions(+) create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/categories/gadgets.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/categories/mechanics.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/categories/modes.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/categories/templates.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/basics.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/buildinggadget.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/copypaste.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/cutpaste.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/destruction.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/exchanginggadget.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_anchor.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_bindinv.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_build_animations.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_fluidhandling.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_pastereplace.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_place_on_top.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_raytrace_fluids.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_rotate.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_undo.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_basics.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_build_to_me.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_grid.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_horz_row.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_horz_wall.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_stairs.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_surface.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_vertcol.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_vertwall.json create mode 100644 kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/template_manager.json diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/categories/gadgets.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/categories/gadgets.json new file mode 100644 index 000000000..d23c1cdd3 --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/categories/gadgets.json @@ -0,0 +1,6 @@ +{ + "name": "Гаджеты", + "description": "Ооо да, это гаджеты!", + "icon": "buildinggadgets2:gadget_building{energy:500000}", + "sortnum": 0 +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/categories/mechanics.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/categories/mechanics.json new file mode 100644 index 000000000..92972e403 --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/categories/mechanics.json @@ -0,0 +1,6 @@ +{ + "name": "Механики", + "description": "Думали, что всё закончится тем, что вы можете только строить?.. Наивные!", + "icon": "buildinggadgets2:textures/book/icons/anchor.png", + "sortnum": 2 +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/categories/modes.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/categories/modes.json new file mode 100644 index 000000000..f3836b52c --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/categories/modes.json @@ -0,0 +1,6 @@ +{ + "name": "Режимы строительства", + "description": "Различные режимы строительства для гаджетов", + "icon": "minecraft:bricks", + "sortnum": 1 +} \ No newline at end of file diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/categories/templates.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/categories/templates.json new file mode 100644 index 000000000..9aaf22044 --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/categories/templates.json @@ -0,0 +1,6 @@ +{ + "name": "Шаблоны", + "description": "Как использовать шаблоны", + "icon": "buildinggadgets2:template_manager", + "sortnum": 3 +} \ No newline at end of file diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/basics.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/basics.json new file mode 100644 index 000000000..90d4b9cbb --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/basics.json @@ -0,0 +1,16 @@ +{ + "name": "Основы", + "sortnum": 0, + "category": "buildinggadgets2:gadgets", + "icon": "buildinggadgets2:template", + "pages": [ + { + "type": "patchouli:text", + "text": "Все гаджеты в этом моде для большинства своих функций требуют энергию. Обычно это Forge Energy (FE), но в TerraFirmaGreg вы можете использовать энергию (EU), для этого достаточно положить батарейку/энергокристалл в инвентарь в режиме разрядки, либо зарядить гаджет в любой машине gregtech имеющию функцию зарядки (Батарейный буфер; зарядная станция)" + }, + { + "type": "patchouli:text", + "text": "Меню параметров открывается удержанием клавиши 'меню параметров' (по умолчанию — 'G'). $(br2)У каждого гаджета свои настройки, поэтому загляните в главу $(l:buildinggadgets2:mechanics)Механики$(/l) — там всё разжёвано. Почти." + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/buildinggadget.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/buildinggadget.json new file mode 100644 index 000000000..4034a029e --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/buildinggadget.json @@ -0,0 +1,29 @@ +{ + "name": "Строительный гаджет", + "sortnum": 1, + "category": "buildinggadgets2:gadgets", + "icon": "buildinggadgets2:gadget_building{energy:500000}", + "pages": [ + { + "type": "patchouli:text", + "text": "Строительный гаджет позволяет ставить сразу много блоков — и делать вид, что вы всё это выкладывали вручную. $(br2)Сначала убедитесь, что в гаджете есть энергия. $(br2)Затем Shift+ПКМ по блоку в мире, чтобы выбрать, из какого блока строить." + }, + { + "type": "patchouli:text", + "text": "Вы можете выбрать $(l:buildinggadgets2:modes)режим строительства$(/l), удерживая клавишу меню параметров. Каждый режим описан в соответствующей статье этой книжки. Режим по умолчанию — $(l:buildinggadgets2:mode_build_to_me)Построить ко мне$(/l). $(br2)Глядя на блок в мире, вы увидите призрачную проекцию блоков, которые будут поставлены. Если не хватает предметов или энергии, проекция станет красной. ПКМ — и гаджет поставит блоки, как показано." + }, + { + "type": "patchouli:image", + "title": "Предпросмотр строительства", + "images": [ + "buildinggadgets2:textures/book/images/ghost_render.png" + ], + "border": true, + "text": "Смотрим, что именно будет построено" + }, + { + "type": "patchouli:text", + "text": "После ПКМ начнётся строительство. Предметы будут браться из вашего инвентаря, а блоки, для которых нет нужных предметов, будут пропущены. $(br2)Если ошиблись — не забывайте, что можно сделать $(l:buildinggadgets2:undo)отмену$(/l)!" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/copypaste.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/copypaste.json new file mode 100644 index 000000000..55165300b --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/copypaste.json @@ -0,0 +1,73 @@ +{ + "name": "Гаджет копирования и вставки", + "sortnum": 3, + "category": "buildinggadgets2:gadgets", + "icon": "buildinggadgets2:gadget_copy_paste{energy:1000000}", + "pages": [ + { + "type": "patchouli:text", + "text": "Гаджет копирования и вставки делает клонирование построек куда проще! Для начала убедитесь, что в меню параметров выбран режим 'копирование'. $(br2)ПКМ по одному углу постройки, затем Shift+ПКМ по противоположному углу. Если всё сделано правильно — конструкцию обведёт зелёная рамка." + }, + { + "type": "patchouli:image", + "title": "Копирование", + "images": [ + "buildinggadgets2:textures/book/images/copy.png" + ], + "border": true, + "text": "Копируем постройку" + }, + { + "type": "patchouli:text", + "text": "Переключите гаджет в режим 'вставка' — появится призрачная проекция скопированной постройки. Блок, по которому вы кликнули при копировании, считается начальной точкой. $(br2)Чтобы разместить конструкцию, просто нажмите ПКМ. Все необходимые предметы будут взяты из инвентаря, а блоки, для которых материалов нет, будут пропущены." + }, + { + "type": "patchouli:image", + "title": "Предпросмотр вставки", + "images": [ + "buildinggadgets2:textures/book/images/paste.png" + ], + "border": true, + "text": "Предпросмотр вставки" + }, + { + "type": "patchouli:text", + "text": "Чтобы посмотреть список нужных материалов, откройте меню параметров и выберите пункт 'список материалов'. $(br2)Это прокручиваемый список, где видно, чего хватает, а чего не хватает. Ещё он умеет сортироваться разными способами. Потыкаться там — официально разрешено." + }, + { + "type": "patchouli:image", + "title": "Список материалов", + "images": [ + "buildinggadgets2:textures/book/images/materiallist.png" + ], + "border": true, + "text": "Нужные предметы" + }, + { + "type": "patchouli:text", + "text": "Область копирования можно тонко подправить через окно 'Коррекция размещения' в меню параметров.$(br2)Там можно двигать начальный и конечный блоки. Нажимайте кнопки «плюс/минус» — зелёная рамка будет меняться в реальном времени.$(br2)Можно перейти в режим 'абсолютных координат' и ввести координаты мира вручную." + }, + { + "type": "patchouli:image", + "title": "Коррекция копирования", + "images": [ + "buildinggadgets2:textures/book/images/copy_adjustment.png" + ], + "border": true, + "text": "Меняем область, которую копируем" + }, + { + "type": "patchouli:text", + "text": "Похожая настройка есть и для режима вставки. $(br2)В этом окне вы двигаете начальный блок вставки. Нажимайте кнопки — и проекция в мире должна обновляться в реальном времени." + }, + { + "type": "patchouli:image", + "title": "Коррекция вставки", + "images": [ + "buildinggadgets2:textures/book/images/paste_adjustment.png" + ], + "border": true, + "text": "Меняем место вставки" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/cutpaste.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/cutpaste.json new file mode 100644 index 000000000..34b636193 --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/cutpaste.json @@ -0,0 +1,42 @@ +{ + "name": "Гаджет вырезания и вставки", + "sortnum": 4, + "category": "buildinggadgets2:gadgets", + "icon": "buildinggadgets2:gadget_cut_paste{energy:50000000}", + "pages": [ + { + "type": "patchouli:text", + "text": "Гаджет вырезания и вставки позволяет переносить постройки так, будто у вас в кармане портал. Работает почти так же, как $(l:buildinggadgets2:copypaste)гаджет копирования и вставки$(/l)! Для начала в меню параметров выберите режим 'вырезать'. $(br2)ПКМ по одному углу постройки, затем Shift+ПКМ по противоположному углу. Если всё сделано правильно — конструкцию обведёт красная рамка." + }, + { + "type": "patchouli:image", + "title": "Вырезание", + "images": [ + "buildinggadgets2:textures/book/images/cut.png" + ], + "border": true, + "text": "Вырезаем конструкцию" + }, + { + "type": "patchouli:text", + "text": "Постройка не исчезнет, пока вы не нажмёте кнопку 'вырезать' в меню параметров. $(br2)Переключитесь в режим 'вставка' — вы увидите призрачный предпросмотр переноса. $(br2)Чтобы разместить конструкцию, нажмите ПКМ. Материалы не требуются: используются те самые блоки, которые вы только что вырезали." + }, + { + "type": "patchouli:image", + "title": "Предпросмотр вставки", + "images": [ + "buildinggadgets2:textures/book/images/paste.png" + ], + "border": true, + "text": "Предпросмотр вставки" + }, + { + "type": "patchouli:text", + "text": "В гаджете одновременно хранится только одна структура. После вставки данные в гаджете стираются.$(br2)Будьте осторожны: на вставку даётся одна попытка, поэтому часто рекомендуют $(l:buildinggadgets2:exchangemode)режим замены$(/l)! $(br2)Если вы попытаетесь вырезать новую область, когда в гаджете уже есть данные, вас попросят подтвердить действие. Согласитесь — и первые данные потеряются навсегда!" + }, + { + "type": "patchouli:text", + "text": "Все данные блоков-сущностей тоже переедут вместе со структурой: содержимое сундуков, настройки механизмов и прочие радости. $(br2)Как и у $(l:buildinggadgets2:copypaste)гаджета копирования и вставки$(/l), здесь можно подправлять позиции вырезания/вставки через соответствующий пункт в меню параметров. Подробности — в той главе!" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/destruction.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/destruction.json new file mode 100644 index 000000000..04cee0155 --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/destruction.json @@ -0,0 +1,26 @@ +{ + "name": "Гаджет разрушения", + "sortnum": 5, + "category": "buildinggadgets2:gadgets", + "icon": "buildinggadgets2:gadget_destruction{energy:1000000}", + "pages": [ + { + "type": "patchouli:text", + "text": "Гаджет разрушения делает зачистку больших площадей очень простой. Все удалённые блоки будут $(bold)уничтожены без дропа$(clear).$(br2)Сначала откройте меню параметров и настройте область. Она считается относительно блока (и его грани), на которую вы смотрите.$(br2)Если вы смотрите на верхнюю грань блока, направление «вверх» будет относительно экрана игрока." + }, + { + "type": "patchouli:image", + "title": "Гаджет разрушения", + "images": [ + "buildinggadgets2:textures/book/images/destruction1.png", + "buildinggadgets2:textures/book/images/destruction2.png" + ], + "border": true, + "text": "Уничтожение области. Листайте стрелками, чтобы увидеть варианты!" + }, + { + "type": "patchouli:text", + "text": "Когда настройки вас устраивают, нажмите ПКМ по блоку — и все подсвеченные блоки отправятся в небытие. Они будут удалены из мира. $(br2)Если вы ошиблись, действие можно отменить. При отмене предметы из инвентаря не тратятся: гаджет просто возвращает удалённые блоки обратно." + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/exchanginggadget.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/exchanginggadget.json new file mode 100644 index 000000000..358516999 --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/exchanginggadget.json @@ -0,0 +1,33 @@ +{ + "name": "Гаджет замены", + "sortnum": 2, + "category": "buildinggadgets2:gadgets", + "icon": "buildinggadgets2:gadget_exchanging{energy:500000}", + "pages": [ + { + "type": "patchouli:text", + "text": "Гаджет замены умеет менять одни блоки на другие! Воздух он, правда, не заменяет — для этого нужен $(l:buildinggadgets2:buildinggadget)Строительный гаджет$(/l). $(br2)Во-первых, убедитесь, что гаджет заряжен. $(br2)Во-вторых, Shift+ПКМ по блоку в мире — так вы выберете, на какой блок производить замену." + }, + { + "type": "patchouli:text", + "text": "Вы можете выбрать $(l:buildinggadgets2:modes)режим замены$(/l), удерживая клавишу меню параметров. Каждый режим описан в своей статье этой книги. Режим по умолчанию — $(l:buildinggadgets2:mode_surface)Поверхность$(/l). $(br2)Глядя на блок в мире, вы увидите призрачную проекцию блоков, которые будут поставлены поверх существующих. Если не хватает предметов или энергии, проекция станет красной. ПКМ — и блоки заменятся, как показано." + }, + { + "type": "patchouli:image", + "title": "Предпросмотр замены", + "images": [ + "buildinggadgets2:textures/book/images/ghost_render_exchange.png" + ], + "border": true, + "text": "Предпросмотр того, что будет заменено" + }, + { + "type": "patchouli:text", + "text": "После ПКМ начнётся замена. Нужные блоки будут браться из вашего инвентаря, а места, для которых материалов нет, будут пропускаться. $(br2)Предметы за удалённые блоки вернутся к вам. $(br2)Примечание: инструмент можно зачаровать на «Шёлковое касание». Без него трава вернёт землю и т. п." + }, + { + "type": "patchouli:text", + "text": "Отменять операции $(l:buildinggadgets2:undo)можно$(/l), но для этого в инвентаре должны быть нужные предметы.$(br2)Например, если вы заменили траву на каменные кирпичи, то для отмены у вас должна быть трава. Не забудьте про «Шёлковое касание», если оно вам нужно!" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_anchor.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_anchor.json new file mode 100644 index 000000000..a0ac6c81c --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_anchor.json @@ -0,0 +1,21 @@ +{ + "name": "Якорь", + "sortnum": 1, + "category": "buildinggadgets2:mechanics", + "icon": "buildinggadgets2:textures/book/icons/anchor.png", + "pages": [ + { + "type": "patchouli:text", + "text": "Якорь позволяет «зафиксировать» блок, на который вы смотрите, чтобы можно было свободно ходить и вертеть головой. Есть горячая клавиша для якоря, а ещё пункт в меню параметров. $(br2)Пока якорь установлен, вы можете в любой момент нажать ПКМ и выполнить действие гаджета по закреплённой проекции.$(br2)Примечание: изменение радиуса может не примениться, пока вы не уберёте якорь и не поставите его снова." + }, + { + "type": "patchouli:image", + "title": "Якорь", + "images": [ + "buildinggadgets2:textures/book/images/anchor1.png" + ], + "border": true, + "text": "Закрепите свою проекцию!" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_bindinv.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_bindinv.json new file mode 100644 index 000000000..6526083d6 --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_bindinv.json @@ -0,0 +1,34 @@ +{ + "name": "Привязка инвентаря", + "sortnum": 1, + "category": "buildinggadgets2:mechanics", + "icon": "buildinggadgets2:textures/book/icons/bind_inventory.png", + "pages": [ + { + "type": "patchouli:text", + "text": "Привязка к инвентарю позволяет взаимодействовать с выбранным хранилищем: извлекать и вставлять предметы. Сначала включите режим 'привязать инвентарь' в меню параметров вашего гаджета. Затем Shift+ПКМ по сундуку или другому инвентарю. $(br2)Синяя рамка вокруг хранилища подтвердит успех. Shift+ПКМ по блоку без инвентаря (например, по траве), чтобы отвязаться." + }, + { + "type": "patchouli:image", + "title": "Привязка инвентаря", + "images": [ + "buildinggadgets2:textures/book/images/bindinv.png" + ], + "border": true, + "text": "Привязка к сундуку!" + }, + { + "type": "patchouli:text", + "text": "Можно привязаться и к системе Applied Energistics 2: подключитесь к её беспроводной точке доступа (Wireless Access Point). $(br2)У гаджета будет неограниченная дальность, так что за апгрейды радиуса можно не переживать!" + }, + { + "type": "patchouli:image", + "title": "Привязка инвентаря", + "images": [ + "buildinggadgets2:textures/book/images/bindinv_ae.png" + ], + "border": true, + "text": "Привязка к AE2!" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_build_animations.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_build_animations.json new file mode 100644 index 000000000..3a5936673 --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_build_animations.json @@ -0,0 +1,12 @@ +{ + "name": "Анимации строительства", + "sortnum": 1, + "category": "buildinggadgets2:mechanics", + "icon": "buildinggadgets2:textures/book/icons/raytrace_fluid.png", + "pages": [ + { + "type": "patchouli:text", + "text": "Каждому гаджету можно назначить анимацию строительства (по умолчанию — 'grow'). Попробуйте все и выберите, что нравится больше!$(br2)Смена анимации никак не влияет на функциональность гаджетов — она лишь меняет то, как именно «появляются» блоки при строительстве." + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_fluidhandling.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_fluidhandling.json new file mode 100644 index 000000000..5b70a4fa4 --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_fluidhandling.json @@ -0,0 +1,35 @@ +{ + "name": "Работа с жидкостями", + "sortnum": 1, + "category": "buildinggadgets2:mechanics", + "icon": "minecraft:water_bucket", + "pages": [ + { + "type": "patchouli:text", + "text": "Гаджеты умеют работать с жидкостями! Убедитесь, что включена опция $(l:buildinggadgets2:mech_raytrace_fluids)Трассировка жидкостей$(/l), чтобы выбирать жидкость через Shift+ПКМ. $(br2)Чтобы поставить жидкость в мир, вам понадобится ведро с нужной жидкостью. $(br2)Альтернативно можно использовать моды с баками (например, Mekanism) — тогда жидкость будет извлекаться/вставляться прямо в баки." + }, + { + "type": "patchouli:image", + "title": "Работа с жидкостями", + "images": [ + "buildinggadgets2:textures/book/images/fluidhandling1.png", + "buildinggadgets2:textures/book/images/fluidhandling2.png" + ], + "border": true, + "text": "Листайте картинки выше, чтобы увидеть варианты" + }, + { + "type": "patchouli:text", + "text": "Гаджет копирования и вставки, разумеется, тоже умеет жидкости!$(br2)При отмене или замене жидкостей гаджет попробует найти, куда их девать (пустое ведро или бак), но если подходящей тары не найдётся — жидкость будет утилизирована." + }, + { + "type": "patchouli:image", + "title": "Работа с жидкостями", + "images": [ + "buildinggadgets2:textures/book/images/fluidhandling3.png" + ], + "border": true, + "text": "Копирование/вставка жидкостей" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_pastereplace.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_pastereplace.json new file mode 100644 index 000000000..2b4d8a258 --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_pastereplace.json @@ -0,0 +1,16 @@ +{ + "name": "Замена при вставке", + "sortnum": 1, + "category": "buildinggadgets2:mechanics", + "icon": "buildinggadgets2:textures/book/icons/paste_replace.png", + "pages": [ + { + "type": "patchouli:text", + "text": "Опция «Замена при вставке» доступна только для гаджетов вырезания/вставки и копирования/вставки. $(br2)Если она выключена, гаджеты не будут заменять уже существующие блоки — кроме тех, которые обычно можно перезаписать, вроде воды и высокой травы. Это опасно для гаджета вырезания/вставки: так можно случайно «потерять» блоки." + }, + { + "type": "patchouli:text", + "text": "Если опция включена, гаджет будет заменять любой блок в мире блоком из вставки, включая воздух! Это отличный способ встроить дом в гору.$(br2)Примечание: любые блоки, заменённые таким образом, будут $(bold)УНИЧТОЖЕНЫ$(clear) и не дадут предметов." + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_place_on_top.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_place_on_top.json new file mode 100644 index 000000000..9ffbf17dd --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_place_on_top.json @@ -0,0 +1,22 @@ +{ + "name": "Разместить сверху", + "sortnum": 1, + "category": "buildinggadgets2:mechanics", + "icon": "buildinggadgets2:textures/book/icons/place_on_top.png", + "pages": [ + { + "type": "patchouli:text", + "text": "Опция «Разместить сверху» работает по-разному в каждом режиме, а в некоторых режимах не делает вообще ничего.$(br2)В целом вместо размещения вокруг блока гаджет будет ставить блоки поверх него. Попробуйте и посмотрите, как меняется рендер!$(br2)Для примера — картинки справа." + }, + { + "type": "patchouli:image", + "title": "Разместить сверху", + "images": [ + "buildinggadgets2:textures/book/images/placeontop1.png", + "buildinggadgets2:textures/book/images/placeontop2.png" + ], + "border": true, + "text": "Листайте картинки выше, чтобы увидеть варианты" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_raytrace_fluids.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_raytrace_fluids.json new file mode 100644 index 000000000..8b99b9a54 --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_raytrace_fluids.json @@ -0,0 +1,21 @@ +{ + "name": "Трассировка жидкостей", + "sortnum": 1, + "category": "buildinggadgets2:mechanics", + "icon": "buildinggadgets2:textures/book/icons/raytrace_fluid.png", + "pages": [ + { + "type": "patchouli:text", + "text": "Трассировка жидкостей позволяет гаджетам взаимодействовать с жидкостями. Если включено, гаджет замены сможет менять жидкости, а строительный — строить поверх них. $(br2)Если выключено, гаджеты будут игнорировать жидкости и работать с блоками позади них.$(br2)Подробнее — в главе $(l:buildinggadgets2:mech_fluid_handling)Работа с жидкостями$(/l)." + }, + { + "type": "patchouli:image", + "title": "Трассировка жидкостей", + "images": [ + "buildinggadgets2:textures/book/images/raytracefluids.png" + ], + "border": true, + "text": "Влияем на жидкости!" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_rotate.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_rotate.json new file mode 100644 index 000000000..980fdd1f6 --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_rotate.json @@ -0,0 +1,23 @@ +{ + "name": "Поворот", + "sortnum": 1, + "category": "buildinggadgets2:mechanics", + "icon": "buildinggadgets2:textures/book/icons/rotate.png", + "pages": [ + { + "type": "patchouli:text", + "text": "Поворот позволяет вращать вставку (Copy Paste или Cut Paste) вокруг начальной точки.$(br2)Попробуйте и наблюдайте, как ведёт себя проекция, или пролистайте картинки справа — так будет понятнее." + }, + { + "type": "patchouli:image", + "title": "Поворот", + "images": [ + "buildinggadgets2:textures/book/images/rotate1.png", + "buildinggadgets2:textures/book/images/rotate2.png", + "buildinggadgets2:textures/book/images/rotate3.png" + ], + "border": true, + "text": "Поворачиваем домик!" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_undo.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_undo.json new file mode 100644 index 000000000..8745335d9 --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mech_undo.json @@ -0,0 +1,16 @@ +{ + "name": "Отмена", + "sortnum": 1, + "category": "buildinggadgets2:mechanics", + "icon": "buildinggadgets2:textures/book/icons/undo.png", + "pages": [ + { + "type": "patchouli:text", + "text": "Отмена откатывает последнее действие гаджета: будь то строительство, разрушение или замена блоков обратно.$(br2)Если откатываете замену — убедитесь, что у вас всё ещё есть нужные предметы в инвентаре!$(br2)Гаджет помнит последние 10 действий." + }, + { + "type": "patchouli:text", + "text": "Отмена доступна через горячую клавишу или из меню параметров гаджета.$(br2)У гаджета вырезания/вставки функции отмены нет!" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_basics.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_basics.json new file mode 100644 index 000000000..61edd9c40 --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_basics.json @@ -0,0 +1,34 @@ +{ + "name": "Основы", + "sortnum": 0, + "category": "buildinggadgets2:modes", + "icon": "buildinggadgets2:template", + "pages": [ + { + "type": "patchouli:text", + "text": "И строительный гаджет, и гаджет замены имеют настройку 'радиус', которая определяет размер области воздействия. В каждом режиме это работает немного по-разному, но в целом речь про площадь/объём.$(br2)Например, в режиме 'Горизонтальный ряд' радиус 3 означает 3 блока всего: по одному с каждой стороны от блока, на который вы смотрите. Если выбрать чётное значение, оно будет округлено." + }, + { + "type": "patchouli:image", + "title": "Радиус 3", + "images": [ + "buildinggadgets2:textures/book/images/horzrow4.png" + ], + "border": true, + "text": "Радиус = 3" + }, + { + "type": "patchouli:text", + "text": "Для режимов стен радиус 3 строит стену 3×3. Чётные значения слегка меняют высоту стены. $(br2)Поиграйте с предпросмотром, чтобы получить именно тот результат, который вам нужен!" + }, + { + "type": "patchouli:image", + "title": "Радиус 3", + "images": [ + "buildinggadgets2:textures/book/images/vertwall1.png" + ], + "border": true, + "text": "Радиус = 3" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_build_to_me.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_build_to_me.json new file mode 100644 index 000000000..892dbd696 --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_build_to_me.json @@ -0,0 +1,21 @@ +{ + "name": "Построить ко мне", + "sortnum": 1, + "category": "buildinggadgets2:modes", + "icon": "buildinggadgets2:textures/book/mode/build_to_me.png", + "pages": [ + { + "type": "patchouli:text", + "text": "Режим «Построить ко мне» строит ряд блоков от грани блока, на которую вы смотрите, до игрока. Ряд может быть горизонтальным или вертикальным — зависит от выбранной грани.$(br2)Настройка радиуса в этом режиме игнорируется.$(br2)Если включить «Разместить сверху», ряд будет строиться до головы игрока, а не до ног." + }, + { + "type": "patchouli:image", + "title": "Построить ко мне", + "images": [ + "buildinggadgets2:textures/book/images/ghost_render.png" + ], + "border": true, + "text": "Строим до игрока" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_grid.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_grid.json new file mode 100644 index 000000000..2de1765be --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_grid.json @@ -0,0 +1,22 @@ +{ + "name": "Сетка", + "sortnum": 1, + "category": "buildinggadgets2:modes", + "icon": "buildinggadgets2:textures/book/mode/grid.png", + "pages": [ + { + "type": "patchouli:text", + "text": "Режим «Сетка» ставит блоки по сетке! Удобно для факелов, светокамня и т. п. Чем больше радиус, тем дальше друг от друга стоят блоки — пока в какой-то момент область просто начинает расширяться. $(br2)Этот режим также доступен для гаджета замены: можно менять блоки «по сетке»." + }, + { + "type": "patchouli:image", + "title": "Режим «Сетка»", + "images": [ + "buildinggadgets2:textures/book/images/mode_grid.png", + "buildinggadgets2:textures/book/images/mode_grid2.png" + ], + "border": true, + "text": "Листайте картинки выше, чтобы увидеть варианты" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_horz_row.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_horz_row.json new file mode 100644 index 000000000..9429938d1 --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_horz_row.json @@ -0,0 +1,24 @@ +{ + "name": "Горизонтальный ряд", + "sortnum": 1, + "category": "buildinggadgets2:modes", + "icon": "buildinggadgets2:textures/book/mode/horizontal_row.png", + "pages": [ + { + "type": "patchouli:text", + "text": "Режим «Горизонтальный ряд» строит блоки от игрока в сторону взгляда. Очень удобно для мостов! $(br2)Переключите «Разместить сверху» и посмотрите, как меняется размещение. $(br2)Этот режим есть и у гаджета замены: он меняет блоки «слева и справа» относительно направления взгляда." + }, + { + "type": "patchouli:image", + "title": "Горизонтальный ряд", + "images": [ + "buildinggadgets2:textures/book/images/horzrow1.png", + "buildinggadgets2:textures/book/images/horzrow3.png", + "buildinggadgets2:textures/book/images/horzrow2.png", + "buildinggadgets2:textures/book/images/horzrow4.png" + ], + "border": true, + "text": "Листайте картинки выше, чтобы увидеть варианты" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_horz_wall.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_horz_wall.json new file mode 100644 index 000000000..f4db3ce2d --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_horz_wall.json @@ -0,0 +1,23 @@ +{ + "name": "Горизонтальная стена", + "sortnum": 1, + "category": "buildinggadgets2:modes", + "icon": "buildinggadgets2:textures/book/mode/horizontal_wall.png", + "pages": [ + { + "type": "patchouli:text", + "text": "«Горизонтальная стена» работает по-разному. Если включено «Разместить сверху», гаджет построит область над блоком, на который вы смотрите, или вытянет её к вам, если вы смотрите на боковую грань. $(br2)Если «Разместить сверху» выключено, он будет строить вокруг целевого блока.$(br2)Смотрите картинки справа — там показаны варианты." + }, + { + "type": "patchouli:image", + "title": "Горизонтальная стена", + "images": [ + "buildinggadgets2:textures/book/images/horzwall1.png", + "buildinggadgets2:textures/book/images/horzwall3.png", + "buildinggadgets2:textures/book/images/horzwall2.png" + ], + "border": true, + "text": "Листайте картинки выше, чтобы увидеть варианты" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_stairs.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_stairs.json new file mode 100644 index 000000000..f7627fd56 --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_stairs.json @@ -0,0 +1,22 @@ +{ + "name": "Лестницы", + "sortnum": 1, + "category": "buildinggadgets2:modes", + "icon": "buildinggadgets2:textures/book/mode/stairs.png", + "pages": [ + { + "type": "patchouli:text", + "text": "Режим «Лестницы» строит ступеньки либо вверх и от вас, либо вверх и к вам — зависит от того, выше вы или ниже целевого блока.$(br2)Если честно, режим немного «дерповый» и местами сбивает с толку. Возможно, ему бы не помешал ремейк… но пока пользуемся тем, что есть!" + }, + { + "type": "patchouli:image", + "title": "Лестницы", + "images": [ + "buildinggadgets2:textures/book/images/stairs1.png", + "buildinggadgets2:textures/book/images/stairs2.png" + ], + "border": true, + "text": "Листайте картинки выше, чтобы увидеть варианты" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_surface.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_surface.json new file mode 100644 index 000000000..b11baa8bf --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_surface.json @@ -0,0 +1,37 @@ +{ + "name": "Поверхность", + "sortnum": 1, + "category": "buildinggadgets2:modes", + "icon": "buildinggadgets2:textures/book/mode/surface.png", + "pages": [ + { + "type": "patchouli:text", + "text": "Режим «Поверхность» расширяет участок блоков, на который вы смотрите. Пример — на картинках справа.$(br2)Опция «Нечёткий» позволяет гаджету либо выбирать любые блоки, либо только такие же, как тот, на который вы смотрите." + }, + { + "type": "patchouli:image", + "title": "Поверхность: нечёткий", + "images": [ + "buildinggadgets2:textures/book/images/surface5.png", + "buildinggadgets2:textures/book/images/surface1.png", + "buildinggadgets2:textures/book/images/surface2.png" + ], + "border": true, + "text": "Листайте картинки выше, чтобы увидеть варианты" + }, + { + "type": "patchouli:text", + "text": "Этот режим доступен и для гаджета замены, а «нечёткий» работает так же. $(br2)Кроме того, «связанный» режим будет менять только те блоки, которые соединены с целевыми. Смотрите картинки справа — там пояснение." + }, + { + "type": "patchouli:image", + "title": "Поверхность: связанный", + "images": [ + "buildinggadgets2:textures/book/images/surface3.png", + "buildinggadgets2:textures/book/images/surface4.png" + ], + "border": true, + "text": "Листайте картинки выше, чтобы увидеть варианты" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_vertcol.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_vertcol.json new file mode 100644 index 000000000..9f1c0761e --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_vertcol.json @@ -0,0 +1,23 @@ +{ + "name": "Вертикальная колонна", + "sortnum": 1, + "category": "buildinggadgets2:modes", + "icon": "buildinggadgets2:textures/book/mode/vertical_column.png", + "pages": [ + { + "type": "patchouli:text", + "text": "Режим «Вертикальная колонна» доступен и для строительного гаджета, и для гаджета замены.$(br2)Если вы смотрите на верх или низ блока — он строит вверх или вниз. Если смотрите на боковую грань — строит и вверх, и вниз вокруг выбранного блока." + }, + { + "type": "patchouli:image", + "title": "Вертикальная колонна", + "images": [ + "buildinggadgets2:textures/book/images/vertcolumn1.png", + "buildinggadgets2:textures/book/images/vertcolumn3.png", + "buildinggadgets2:textures/book/images/vertcolumn2.png" + ], + "border": true, + "text": "Листайте картинки выше, чтобы увидеть варианты" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_vertwall.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_vertwall.json new file mode 100644 index 000000000..30730c40b --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/mode_vertwall.json @@ -0,0 +1,23 @@ +{ + "name": "Вертикальная стена", + "sortnum": 1, + "category": "buildinggadgets2:modes", + "icon": "buildinggadgets2:textures/book/mode/vertical_wall.png", + "pages": [ + { + "type": "patchouli:text", + "text": "Режим «Вертикальная стена» строит стену вверх или вниз от верхней/нижней грани блока, на который вы смотрите. $(br2)Если вы смотрите на боковую грань, стена строится вокруг блока." + }, + { + "type": "patchouli:image", + "title": "Вертикальная стена", + "images": [ + "buildinggadgets2:textures/book/images/vertwall2.png", + "buildinggadgets2:textures/book/images/vertwall4.png", + "buildinggadgets2:textures/book/images/vertwall3.png" + ], + "border": true, + "text": "Листайте картинки выше, чтобы увидеть варианты" + } + ] +} diff --git a/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/template_manager.json b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/template_manager.json new file mode 100644 index 000000000..74d533bcf --- /dev/null +++ b/kubejs/assets/buildinggadgets2/patchouli_books/buildinggadgets2book/ru_ru/entries/template_manager.json @@ -0,0 +1,60 @@ +{ + "name": "Менеджер шаблонов", + "sortnum": 1, + "category": "buildinggadgets2:templates", + "icon": "buildinggadgets2:template_manager", + "pages": [ + { + "type": "patchouli:text", + "text": "Менеджер шаблонов позволяет сохранять любимые постройки из $(l:buildinggadgets2:copypaste)гаджета копирования и вставки$(/l)! $(br2)С помощью этого блока вы можете записывать постройки в предметы-шаблоны или даже делиться ими вне мира.$(br2)Для начала положите гаджет копирования/вставки в верхний слот, а лист бумаги — в нижний." + }, + { + "type": "patchouli:image", + "title": "Менеджер шаблонов", + "images": [ + "buildinggadgets2:textures/book/images/templatemanager1.png" + ], + "border": true, + "text": "Шаг 1" + }, + { + "type": "patchouli:text", + "text": "Нажмите 'Сохранить', чтобы превратить бумагу в шаблон. Одновременно на экране появится рендер (проекция) структуры.$(br2)Её можно двигать и вращать кнопками мыши, а колесом — приближать/отдалять. $(br2)Чтобы загрузить структуру из шаблона обратно в гаджет, нажмите кнопку 'Загрузить'." + }, + { + "type": "patchouli:image", + "title": "Предпросмотр", + "images": [ + "buildinggadgets2:textures/book/images/templatemanager2.png" + ], + "border": true, + "text": "Красивый рендер — это красиво." + }, + { + "type": "patchouli:text", + "text": "Нажмите кнопку 'Рендер', чтобы переключиться в режим 'Материалы' — он покажет список необходимых ресурсов почти так же, как обычный список материалов.$(br2)Нажмите кнопку материалов ещё раз, чтобы вернуться к рендеру." + }, + { + "type": "patchouli:image", + "title": "Список материалов", + "images": [ + "buildinggadgets2:textures/book/images/templatemanager3.png" + ], + "border": true, + "text": "Сколько всего нужно…" + }, + { + "type": "patchouli:text", + "text": "Шаблонам можно задавать имя — оно будет отображаться на предмете-шаблоне.$(br2)Кнопка 'Копировать' создаёт JSON-строку и кладёт её в буфер обмена вашего компьютера. Её можно отправить друзьям вне Minecraft. Если они скопируют эту строку к себе и нажмут кнопку 'Вставить' в этом интерфейсе — структура появится у них!$(br2)Только убедитесь, что в нижнем слоте есть бумага, когда нажимаете 'Вставить'." + }, + { + "type": "patchouli:image", + "title": "Название", + "images": [ + "buildinggadgets2:textures/book/images/templatemanager4.png" + ], + "border": true, + "text": "Ну домик и правда симпатичный." + } + ] +} From c9a2395ee93c80add6d2478efa9b5ebdcec4c1ba Mon Sep 17 00:00:00 2001 From: Mqrius Date: Wed, 14 Jan 2026 11:13:51 +0100 Subject: [PATCH 098/474] Update CHANGELOG.md Signed-off-by: Mqrius --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e93c65248..6031babb0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ - Single block steam generators are now more expensive to craft, so there isn't such a huge gap between steam, gas, and combustion generators @TomPlop ### Performance improvements - Fixed the huge amount of lag from looking at lots of interconnected trees @Mqrius -- Fixed tree chopping also stripping nearby trees of all their leaves (note that this will only also apply to newly generated mars trees, old trees will have the old behaviour) @Mqrius +- Fixed tree chopping also stripping nearby trees of all their leaves (note that this will only also apply to earth trees and newly generated Mars trees, old Mars trees will have the old behaviour) @Mqrius - Fixed tree chopping not working on trees that had no leaves @Mqrius - Fixed tree chopping working on player-placed logs (yes, this means you can't place logs to chop down many trees at once any more) @Mqrius - Fixed a huge amount of lag from TFC Ambiental @Mqrius @@ -45,6 +45,7 @@ - Fixed invar crucible alloying using the wrong amounts of iron and nickel @Pyritie - Fixed inconsistent saturation values from cooked long pig filet (#2714) @Pyritie - Fixed soaked paper in a helve hammer having a blow count of less than 1 for some anvils (#2655) @Pyritie +- Fixed casting of rods and gears for various metals @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare From b94347d9e17e76a831629318525a0f9b5447d06d Mon Sep 17 00:00:00 2001 From: MetenBouldry <94766011+MetenBouldry@users.noreply.github.com> Date: Wed, 14 Jan 2026 20:34:50 +0200 Subject: [PATCH 099/474] Translate book uk_ua (#2743) * Translate Book Ukraine * Update Crowdin configuration file * Update Crowdin configuration file * Update Crowdin configuration file * Update Crowdin configuration file * Delete basic_automation.json * Up Translate * Translate Book * Delete kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/infinite_resources.json Signed-off-by: Pyritie * Delete kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/beneath/burpflower.json Signed-off-by: Pyritie * Translate Book uk_ua * Del * Book Restructuring of the book * Update book uk_ua * Update primitive_alloys.json Signed-off-by: MetenBouldry <94766011+MetenBouldry@users.noreply.github.com> * Fix typo in blast furnace entry text Signed-off-by: MetenBouldry <94766011+MetenBouldry@users.noreply.github.com> * Update bloomery.json Signed-off-by: MetenBouldry <94766011+MetenBouldry@users.noreply.github.com> --------- Signed-off-by: Pyritie Signed-off-by: MetenBouldry <94766011+MetenBouldry@users.noreply.github.com> Co-authored-by: Pyritie --- crowdin.yml | 3 + .../field_guide/uk_ua/categories/beneath.json | 6 ++ .../field_guide/uk_ua/categories/tfg.json | 6 -- .../uk_ua/categories/tfg_ores.json | 4 +- .../uk_ua/categories/tfg_tips.json | 2 +- .../uk_ua/entries/firmaciv/beneath.json | 37 ++++++++++ .../getting_started/primitive_alloys.json | 4 +- .../uk_ua/entries/mechanics/anvils.json | 10 +++ .../entries/mechanics/blast_furnace.json | 10 +-- .../uk_ua/entries/mechanics/bloomery.json | 6 +- .../uk_ua/entries/mechanics/crops.json | 2 +- .../entries/roadsandroofs/paving_cart.json | 58 +++++++++++++++ .../uk_ua/entries/tfg_ores/hazards.json | 71 ------------------- .../uk_ua/entries/tfg_ores/ore_basics.json | 59 --------------- .../entries/tfg_tips/anvil_working_guide.json | 2 +- .../entries/tfg_tips/basic_automation.json | 38 ---------- .../entries/tfg_tips/blast_furnace_tips.json | 6 +- .../uk_ua/entries/tfg_tips/faqs.json | 2 +- .../tfg_tips/inventory_management.json | 2 +- .../entries/tfg_tips/mars_tree_index.json | 48 +++++++++++++ .../uk_ua/entries/tfg_tips/space_crops.json | 2 +- 21 files changed, 183 insertions(+), 195 deletions(-) create mode 100644 crowdin.yml create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/beneath.json delete mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/tfg.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/firmaciv/beneath.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/roadsandroofs/paving_cart.json delete mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/hazards.json delete mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/ore_basics.json delete mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/basic_automation.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/mars_tree_index.json diff --git a/crowdin.yml b/crowdin.yml new file mode 100644 index 000000000..da031c463 --- /dev/null +++ b/crowdin.yml @@ -0,0 +1,3 @@ +files: + - source: kubejs/assets/tfc/patchouli_books/field_guide/en_us + translation: lang diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/beneath.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/beneath.json new file mode 100644 index 000000000..21baf2083 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/beneath.json @@ -0,0 +1,6 @@ +{ + "name": "Незер...?", + "description": "Все про те, що лежить у Безодні", + "icon": "minecraft:netherrack", + "sortnum": 10 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/tfg.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/tfg.json deleted file mode 100644 index dacfa9ccd..000000000 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/tfg.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "Зміни в TFG", - "description": "Відмінності TerraFirmaGreg від базового TFC.", - "icon": "gtceu:basic_electronic_circuit", - "sortnum": 200 -} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/tfg_ores.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/tfg_ores.json index adad0ea46..ef41a5318 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/tfg_ores.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/tfg_ores.json @@ -1,6 +1,6 @@ { "name": "Руди в TFG", - "description": "TFG має власну систему генерації руди, схожу на TFC, з величезними, але рідкісними жилами, але з кількома мінералами в одній жилі. У цій категорії перераховані всі типи жил і те, де їх можна знайти.$(br2)Жили названі на честь найбільш домінуючої руди, але більшість жил містять 3-5 мінералів.$(br2)Дивіться також: $(l:the_world/geology)Геологію$(), $(l:getting_started/finding_ores)Індикатори$()", - "icon": "gtceu:raw_pyrite", + "description": "TFG має власну систему генерації руд, яка схожа на систему TFC із великими, але рідкісними жилами, проте з декількома мінералами в одній жилі. У цій категорії наведено всі типи жил та місця, де їх можна знайти.$(br2)Жили названі на честь найпоширенішої руди, але більшість жил містить 3–5 мінералів.$(br2)Дивіться також: $(l:the_world/geology)Геологія$(), $(l:getting_started/finding_ores)Індикатори$()", + "icon": "tfc:ore/pyrite", "sortnum": 60 } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/tfg_tips.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/tfg_tips.json index 3a53a082a..dec7a08e2 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/tfg_tips.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/categories/tfg_tips.json @@ -1,6 +1,6 @@ { "name": "Інформація та поради TFG", "description": "Інформація про речі в TerraFirmaGreg, які відрізняються від базових TFC та GTCEu.", - "icon": "gtceu:basic_electronic_circuit", + "icon": "tfg:terra_firma_greg", "sortnum": 200 } diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/firmaciv/beneath.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/firmaciv/beneath.json new file mode 100644 index 000000000..a87765014 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/firmaciv/beneath.json @@ -0,0 +1,37 @@ +{ + "name": "Марсіанські човни", + "category": "tfc:firmaciv", + "icon": "beneath:wood/sapling/crimson", + "flag": "mod:beneath", + "read_by_default": true, + "sortnum": 100, + "pages": [ + { + "type": "patchouli:text", + "text": "Далеко на віддалених просторах Марса можна знайти як багряне, так і химерне дерево, щоб створити доволі яскраві $(l:firmaciv/watercraft)Човни$()." + }, + { + "type": "patchouli:empty" + }, + { + "type": "patchouli:spotlight", + "title": "Хвойні породи деревини", + "text": "Хвойні породи деревини мають достатньо м’яку деревину та кору, тож вони ідеально підходять для створення $(l:firmaciv/canoe)Довбаних каное$()", + "item": "beneath:wood/stripped_log/crimson" + }, + { + "type": "patchouli:text", + "text": "$(li)Багряне$()" + }, + { + "type": "patchouli:spotlight", + "title": "Тверді породи деревини", + "text": "Відомі своєю винятковою міцністю, тверді породи деревини ідеально підходять для створення більших і витончених водних суден, таких як $(l:firmaciv/rowboat)Веслові човни$() та $(l:firmaciv/sloop)Шлюпи$()", + "item": "beneath:wood/planks/warped" + }, + { + "type": "patchouli:text", + "text": "$(li)Химерне$()" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/getting_started/primitive_alloys.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/getting_started/primitive_alloys.json index c9d01025d..b9b9445e0 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/getting_started/primitive_alloys.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/getting_started/primitive_alloys.json @@ -14,7 +14,7 @@ }, { "type": "patchouli:text", - "text": "Наприклад, щоб створити 1000 mB $(thing)Бронзи$() (показано праворуч), вам знадобиться від 880 до 920 mB $(thing)Міді$() та від 80 до 120 mB $(thing)Оловa$().$(br2)Наступні три сторінки показують рецепти трьох видів бронзи. Кожен тип бронзи можна використовувати для виготовлення інструментів, $(l:mechanics/armor)Броні$() та інших металевих предметів. Вони дещо відрізняються, тому готові інструменти матимуть різну міцність, ефективність і шкоду атаки." + "text": "Наприклад, щоб створити 1000 мБ $(thing)Бронзи$() (показано праворуч), вам знадобиться від 700 до 800 мБ $(thing)Міді$() та від 200 до 300 мБ $(thing)Оловa$().$(br2)Наступні три сторінки показують рецепти трьох видів бронзи. Кожен тип бронзи можна використовувати для виготовлення інструментів, $(l:mechanics/armor)Броні$() та інших металевих предметів. Вони трохи відрізняються, тому отримані інструменти матимуть різну міцність, ефективність та шкоду при атаці." }, { "type": "patchouli:spotlight", @@ -73,4 +73,4 @@ "gtceu:black_bronze_ingot": 5, "create:brass_ingot": 7 } -} \ No newline at end of file +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/anvils.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/anvils.json index 02987441c..4e5443190 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/anvils.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/anvils.json @@ -92,6 +92,16 @@ "title": "Ідеально Виковане", "link_recipes": false, "text": "Є чотири рівні бонусу кування:$(li)Погано Викувано$(li)Добре Викувано$(li)Майстерно Викувано$(li)Ідеально Викувано$(br2)Ці бонуси підвищують ефективність вашого інструмента — він рідше ламається, швидше копає та/або завдає більшої шкоди в бою, залежно від типу інструмента." + }, + { + "type": "patchouli:text", + "anchor": "welding", + "text": "Зварювання — це процес, за допомогою якого два предмети з’єднуються разом, щоб створити новий предмет. Зварювання працює однаково як на $(l:getting_started/primitive_anvils)кам'яному$() так і на металевому ковадлі.$(br2)Спочатку потрібно помістити два предмети, що зварюються, на ковадло. Це можна зробити прямо на ковадлі, або за допомогою інтерфейса ковадла, вставивши їх у два крайні ліві слоти.", + "title": "Зварювання" + }, + { + "type": "patchouli:text", + "text": "Також необхідно мати у ковадлі хоч одну одиницю $(l:mechanics/flux)флюсу$() для процесу зварення. Коли обидва зварювані предмета будуть $(l:mechanics/heating)достатньо гарячими$(), про що буде вказано \"можна зварювати\", то потрібно застосувати $(thing)молот$() по ковадлу. Буде чутно відповідний звук та предмети будуть зварені. Потім зварений предмет можна забрати пустою рукою з ковадла, застосувавши $(item)$(k:key.use)$()." } ], "read_by_default": true, diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/blast_furnace.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/blast_furnace.json index 19facb910..6ab27bcea 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/blast_furnace.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/blast_furnace.json @@ -6,16 +6,16 @@ "pages": [ { "type": "patchouli:text", - "text": "$(thing)Доменна піч$() — це вдосконалений пристрій, який використовується для створення $(thing)Сталі$(). Змішуючи $(l:getting_started/finding_ores)залізні руди$(), $(l:tfg_tips/basic_automation)кокс$() або $(l:beneath/ores_and_minerals#cursecoal)антрацит$() та $(l:mechanics/flux)флюс$() у контрольованому гарячому середовищі, можна отримати міцніший метал, ніж чавун чи коване залізо.$(br2)Щоб отримати доменну піч, вам спершу знадобиться $(l:mechanics/crucible)тигель$() і багато $(thing)листів кованого заліза$()." + "text": "$(thing)Доменна піч$() — це вдосконалений пристрій, який використовується для створення $(thing)Сталі$(). Змішуючи $(l:getting_started/finding_ores)залізні руди$(), $(l:tfg_tips/basic_automation)кокс$() або $(l:beneath/ores_and_minerals#cursecoal)антрацит$() та $(l:mechanics/flux)флюс$() у контрольованому гарячому середовищі, можна отримати міцніший метал, ніж чавун чи коване залізо.$(br2)Щоб отримати доменну піч, вам спершу знадобиться $(l:mechanics/crucible)тигель$() і багато $(thing)пластин кованого заліза$()." }, { "type": "patchouli:crafting", "recipe": "tfc:crafting/blast_furnace", - "text": "Створення самої доменної печі потребує $(thing)Тигель$(), а також частини $(thing)Листів Кованого заліза$(), які вам знадобляться." + "text": "Створення самої доменної печі потребує $(thing)Тигель$(), а також частини $(thing)подвійних пластин кованого заліза$(), які вам знадобляться." }, { "type": "patchouli:text", - "text": "Потім потрібно збудувати доменну піч разом із її $(thing)димарем$(). Димар має бути зроблений із $(l:mechanics/fire_clay#fire_bricks)армованої вогнетривкої цегли$(), оскільки вона достатньо міцна, щоб витримувати надзвичайно високу температуру. Її можна виготовити з блоків вогнетривкої цегли та листів із чавуну або кованого заліза. Листи можна прикріпити до кожної відкритої грані цегли, натиснувши $(item)$(k:key.use)$(), тримаючи лист у руці, або ж використати їх для створення $(l:mechanics/blast_furnace_insulation)ізоляції доменної печі$()." + "text": "Потім потрібно збудувати доменну піч разом із її $(thing)димарем$(). Димар має бути зроблений із $(l:mechanics/fire_clay#fire_bricks)армованої вогнетривкої цегли$(), оскільки вона достатньо міцна, щоб витримувати надзвичайно високу температуру. Її можна виготовити з блоків вогнетривкої цегли та пластин із чавуну або кованого заліза. Пластини можна прикріпити до кожної відкритої грані цегли, натиснувши $(item)$(k:key.sneak)$() + $(item)$(k:key.use)$() тримаючи пластину у руці, або ж використати їх для створення $(l:mechanics/blast_furnace_insulation)ізоляції доменної печі$()." }, { "type": "patchouli:multiblock", @@ -26,7 +26,7 @@ }, { "type": "patchouli:text", - "text": "Димар доменної печі може складатися максимум із п’яти шарів — для завершення кожного шару потрібно чотири $(thing)Вогнетривкі Цеглини$() та дванадцять $(thing)Листів Кованого Заліза$(). Більша кількість шарів збільшує загальну місткість доменної печі, дозволяючи виплавляти більше сталі за раз. Кожен шар димаря, до максимуму з п’яти, додає печі місце для чотирьох додаткових предметів руди." + "text": "Димар доменної печі може складатися максимум із п’яти шарів — для завершення кожного шару потрібно чотири $(thing)Вогнетривкі Цеглини$() та дванадцять $(thing)пластин кованого заліза$(). Більша кількість шарів збільшує загальну місткість доменної печі, дозволяючи виплавляти більше сталі за раз. Кожен шар димаря, до максимуму з п’яти, додає печі місце для чотирьох додаткових предметів руди." }, { "type": "patchouli:text", @@ -57,7 +57,7 @@ }, { "type": "patchouli:text", - "text": "Нарешті, щоб розпочати, підпаліть доменну піч за допомогою $(l:getting_started/firepit#firestarter)розпалювача$(), $(thing)кременю та піриту$() або $(thing)кременю та сталі$(). Вона почне нагрівати руди всередині. Слідкуйте, щоб у доменній печі завжди було паливо, та використовуйте міх для подачі повітря після того, як внутрішня температура печі досягне максимуму для деревного вугілля. Коли руди всередині достатньо нагріються, вони розплавляться та перетворяться на $(l:mechanics/steel)чавун$()." + "text": "Щоб почати процес плавлення, піч треба запалити $(l:getting_started/firepit#firestarter)запальничкою$() або $(thing)кресалом$(). Руда всередині печі почне нагріватись. Переконайся, що в доменній печі залишається паливо, і використовуй міхи, щоб додати повітря в доменну піч після того, як її внутрішня температура досягне максимуму для деревного вугілля. Після того як руда всередині нагріється та розплавиться, вона перетвориться на $(l:mechanics/steel)чавун$()." }, { "type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/bloomery.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/bloomery.json index 22acc24fc..65a00dee5 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/bloomery.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/bloomery.json @@ -1,6 +1,6 @@ { "__comment__": "This file was automatically created by mcresources", - "name": "Горно", + "name": "Горн", "category": "tfc:mechanics", "icon": "tfc:bloomery", "pages": [ @@ -11,7 +11,7 @@ { "type": "patchouli:crafting", "recipe": "tfc:crafting/bloomery", - "text": "Горн виготовляється з 8 $(thing)подвійних листів бронзи$()." + "text": "Горн виготовляється з 8 $(thing)Подвійних бронзових пластин$()." }, { "type": "patchouli:multiblock", @@ -77,4 +77,4 @@ "tfc:raw_iron_bloom": 7, "tfc:refined_iron_bloom": 8 } -} \ No newline at end of file +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/crops.json index e1bfaead3..c2c028409 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/crops.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/crops.json @@ -3769,7 +3769,7 @@ } } ], - "text": "$(thing)Дикий льон$() росте при температурі від -5 до 27 °C та кількості опадів від 175 до 475 мм." + "text": "$(thing)Дикий льон$() росте при температурі від -5 до 23 °C та кількості опадів від 175 до 475 мм." } ], "read_by_default": true, diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/roadsandroofs/paving_cart.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/roadsandroofs/paving_cart.json new file mode 100644 index 000000000..298ec01da --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/roadsandroofs/paving_cart.json @@ -0,0 +1,58 @@ +{ + "name": "Візок для мощення", + "category": "tfc:roadsandroofs", + "icon": "tfg:rnr_plow", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)Асфальтувальний візок$() — це спеціалізований візок, який використовується для швидкого та ефективного укладання дорожнього покриття. Його можна заповнити дорожніми матеріалами та $(thing)Подрібненою основою$() для створення доріг. Візок також може заповнювати вже наявні блоки основи" + }, + { + "type": "patchouli:image", + "title": "Візок для мощення", + "images": [ + "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart.png" + ], + "border": true + }, + { + "type": "patchouli:image", + "title": "Повзунок регулювання ширини", + "images": [ + "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_width.png" + ], + "border": true, + "text": "Візок дозволяє регулювати ширину шляху через GUI" + }, + { + "type": "patchouli:image", + "title": "Шлях змінної ширини", + "images": [ + "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_width.png" + ], + "border": true + }, + { + "type": "patchouli:image", + "title": "Кнопка випадкового вибору", + "images": [ + "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_random.png" + ], + "border": true, + "text": "Візок має режим, у якому матеріали укладаються у випадковий візерунок." + }, + { + "type": "patchouli:image", + "title": "Шлях із випадкових матеріалів", + "images": [ + "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_random.png" + ], + "border": true + } + ], + "read_by_default": true, + "extra_recipe_mappings": { + "tfg:rnr_plow": 0 + }, + "sortnum": 20 +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/hazards.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/hazards.json deleted file mode 100644 index 930f7c77c..000000000 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/hazards.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "name": "Робота з Небезпеками", - "icon": "createdeco:decal_skull", - "category": "tfc:tfg_ores", - "priority": true, - "sortnum": 1, - "pages": [ - { - "type": "patchouli:text", - "text": "Деякі руди небезпечні! Якщо вони є у вашому інвентарі, то завдають постійної шкоди від отрути.$(br2)У нас тут повний $(thing)захисний костюм$(), але це ще не все. $(thing)MV$(), то що ви можете зробити замість цього?$(br2)Ось кілька порад, поки TFG не зможе оновитися до новішої версії GregTech, яка надає власне примітивне обладнання для захисту." - }, - { - "type": "patchouli:text", - "text": "Пізніше, якщо ви захочете переміщати небезпечні матеріали, ви можете перевантажити їх з невеликих ємностей у скрині та посудини за допомогою $(thing)ПКМ$() на посудині. Таким чином, він ніколи не потрапить до вашого інвентарю!$(br2)Нарешті, якщо вам не подобаються небезпеки, ви можете вимкнути їх у налаштуваннях GregTech." - }, - { - "type": "patchouli:spotlight", - "title": "Каміння", - "item": { - "tag": "tfc:rock_knapping" - }, - "text": "Найпростіший спосіб запобігти потраплянню небезпечних предметів до вашого інвентарю - не брати їх взагалі.$(br)Поповнення вашого інвентарю $(thing)Камінням$(), наприклад, дозволить вам вибрати, які предмети ви хочете забрати, а з небезпечними ви зможете розібратися пізніше." - }, - { - "type": "patchouli:spotlight", - "title": "Контейнери", - "text": "Як уже згадувалося, небезпечні матеріали завдають шкоди лише тоді, коли вони знаходяться у вашому $(thing)інвентарі$(), але це не стосується інших контейнерів!$(br)Небезпечні матеріали не завдадуть шкоди, якщо вони знаходяться в іншому контейнері, наприклад, в $(l:mechanics/crankshaft)Рюкзаку$() або $(l:getting_started/pottery#vessel)Пусудині$().", - "item": "sophisticatedbackpacks:backpack,tfc:ceramic/vessel,tfc:ceramic/large_vessel" - }, - { - "type": "patchouli:spotlight", - "title": "Обладунок", - "text": "Краща броня зменшить шкоду від небезпечних матеріалів.", - "item": { - "tag": "minecraft:trimmable_armor" - } - }, - { - "type": "patchouli:spotlight", - "title": "Джерельна вода", - "item": "tfc:bucket/spring_water", - "text": "Стоячи у $(thing)Джерельній воді$() забезпечить повільний $(thing)Регенеративний$() ефект." - }, - { - "type": "patchouli:spotlight", - "title": "Витриманий алкоголь", - "text": "$(thing)Витриманий алкоголь$() дасть бафи зілля, деякі з яких можуть стати вам у пригоді.$(br2)Ви можете пити їх з $(l:getting_started/pottery#jug)Глечика$() або $(l:waterflasks/recipes)Фляг$().", - "item": "tfcagedalcohol:bucket/aged_beer,tfcagedalcohol:bucket/aged_cider,tfcagedalcohol:bucket/aged_rum,tfcagedalcohol:bucket/aged_sake,tfcagedalcohol:bucket/aged_vodka,tfcagedalcohol:bucket/aged_whiskey,tfcagedalcohol:bucket/aged_corn_whiskey,tfcagedalcohol:bucket/aged_rye_whiskey" - }, - { - "type": "patchouli:text", - "text": "Витримане Пиво: Абсорбція II (20:00)$(br2)Витриманий Сидр: Швидкість (5:20)$(br2)Витриманий Ром: Швидкість II (2:40)$(br2)Витримане Саке: Опір (5:20)$(br2)Витримана Горілка: Опір II (2:40)$(br2)Витриманий Кукурудзяний Віскі: Поспіх (5:20)$(br2)Витриманий Житній Віскі: Поспіх (5:20)$(br2)Витриманий Віскі: Поспіх II (2:40)" - }, - { - "type": "patchouli:spotlight", - "item": { - "tag": "tfc:foods" - }, - "title": "Харчування", - "text": "Їсти кращу їжу з більшою кількістю $(l:getting_started/food_and_water#nutrients)поживностей$() підвищить ваш максимальний рівень здоров'я на значну кількість одиниць.$(br2)$(l:mechanics/pot#soup)Супи$(), $(l:mechanics/sandwiches)Бутерброди$(), та $(l:mechanics/salad)Салати$() чудово підходять для цього." - }, - { - "type": "patchouli:spotlight", - "title": "Ліжко", - "item": { - "tag": "minecraft:beds" - }, - "text": "Якщо нічого іншого не допомагає, варто взяти з собою ліжко для відродження.$(br2)Якщо у вас немає доступу до $(thing)Вовни$() або $(thing)Палиць$(), Ви також можете зробити $(l:getting_started/a_place_to_sleep)Настил$()." - } - ] -} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/ore_basics.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/ore_basics.json deleted file mode 100644 index 5a8d8f4ab..000000000 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/ore_basics.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "name": "Видобуток у TFG", - "icon": "minecraft:diamond_pickaxe", - "category": "tfc:tfg_ores", - "priority": true, - "sortnum": 0, - "pages": [ - { - "type": "patchouli:text", - "text": "Існує два способи видобутку руд - за допомогою $(thing)Кайла$(), або з $(thing)Молотом$().$(br)Як правило, вам слід видобувати все, що можна розплавити (наприклад $(thing)Мідь$()) молотком, а все інше - киркою, але перевірте JEI, якщо ви не впевнені." - }, - { - "type": "patchouli:spotlight", - "title": "Кайло", - "text": "Якщо розбити рудну брилу киркою, то вийде $(thing)Сирі$() руди (бідні, нормальні або багаті), а також трохи кам'яного пилу. Кожна з них менше mB, і вам знадобиться кілька, щоб зробити один злиток, проте деякі інші мінерали можна використовувати тільки в такому стані, наприклад, такі як $(thing)Вугілля$().", - "item": { - "tag": "minecraft:pickaxes" - } - }, - { - "type": "patchouli:spotlight", - "title": "Молот", - "text": "Якщо розбити рудну брилу молотком, то вийде 1-2 $(thing)Подрібнених руд$(). Вони вже плавляться на більше mB, ніж сирі руди, але з невеликою $(l:tfg_ores/ore_basics#processing)додатковою обробкою$() вони можуть давати ще більше!", - "item": { - "tag": "forge:tools/hammers" - } - }, - { - "type": "patchouli:spotlight", - "title": "Гірничий молот", - "text": "Це, по суті, кайло з діапазоном 3х3, і вона дасть $(thing)Сирі$() також руди. Також добре підходить для очищення каменю після того, як ви вибили руду!$(br2)Тримайти$(thing)Присісти$() розбиває лише один блок за раз.", - "item": { - "tag": "forge:tools/mining_hammers" - } - }, - { - "type": "patchouli:spotlight", - "title": "Базова перероблення руди", - "anchor": "processing", - "item": "gtceu:copper_dust", - "text": "Щоб ваша подрібнена руда переплавилася в ще більше mB, спочатку помістіть її в решітку для крафтингу разом з $(thing)Молотом$(). Це призведе до $(thing)Брудного пилу$().$(br2)Щоб додатково очистити його, киньте пил у воду і зачекайте кілька секунд або клацніть правою кнопкою миші на $(thing)Казан$() наповнений водою." - }, - { - "type": "patchouli:crafting", - "title": "Брудний пил", - "recipe": "gtceu:shapeless/crushed_ore_to_dust_copper" - }, - { - "type": "patchouli:spotlight", - "title": "Парова Ера", - "text": "Як тільки ви отримаєте $(thing)Парові машини$(), ви можете видобувати все за допомогою $(thing)Гірничого молотка$() - поміщаючи сиру руду в $(thing)Паровий молот$() або $(thing)Паровий подрібнювач$() дає приблизно такий самий результат, як і самостійний видобуток за допомогою Молота.", - "item": "gtceu:hp_steam_forge_hammer,gtceu:hp_steam_macerator" - }, - { - "type": "patchouli:text", - "text": "Пізніше, коли ви будете в LV, перевірте квести LV, щоб дізнатися про всі різні машини для переробки руди та додаткові побічні продукти, які вони можуть вам дати. Пам'ятайте про $(thing)Подрібнювач$() не дає побічних продуктів до тих пір, до$(thing)HV$()!$(br2)Ось тут $(l:https://docs.google.com/spreadsheets/d/1P3Baz4y5vgJ3XrCoNs4l3BXGPiFEPlW7i4taPEWpTB4/edit?usp=sharing)Електронна таблиця$() якщо ви бажаєте бачити дані про видобуток руди в цьому розділі саме так." - } - ] -} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/anvil_working_guide.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/anvil_working_guide.json index 7cd5fb2d7..a7e9bfd4c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/anvil_working_guide.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/anvil_working_guide.json @@ -153,7 +153,7 @@ }, { "type": "patchouli:text", - "text": "Цільове значення для стрижня: $(bold)78$()$(br)\nНеобхідні кроки: Витягування → Витягування → Згинання$(br)\n«requiredWork»: (-15 × 2) + 7 = -23$(br)\nОтримане значення: 78 + 23 = 101.$(br)\nДосягнення значення: (Стискання × 5) → (Згинання × 3)$(br)\nОтримання предмета: 101 - 15 - 15 + 7 = 101." + "text": "Цільове значення для стрижня: $(bold)78$()$(br) Необхідні кроки: Витягування → Витягування → Згинання$(br) «requiredWork»: (-15 × 2) + 7 = -23$(br) Отримане значення: 78 + 23 = 101.$(br) Досягнення значення: (Стискання × 5) → (Згинання × 3)$(br) Отримання предмета: 101 - 15 - 15 + 7 = 78." }, { "type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/basic_automation.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/basic_automation.json deleted file mode 100644 index 70416896e..000000000 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/basic_automation.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "Базова автоматизація", - "category": "tfc:tfg_tips", - "icon": "gtceu:coke_oven", - "pages": [ - { - "type": "patchouli:text", - "title": "Базова автоматизація", - "text": "Набридло добувати вугілля у величезних ямах? Отримавши $(l:mechanics/bloomery)Ковке Залізо$(), ви зможете створити свій перший мультиблок GregTech - $(item)Коксову Піч$().$(br)Він автоматично перетворюватиме колоди на $(thing)деревинне вугілля$(), а також покращуватиме будь-яке $(thing)Вугілля$() на $(thing)Кокс$(), який горить удвічі довше у $(l:mechanics/charcoal_forge)Кузні$().$(br)Усі рецепти виводять $(thing)Креозот$(), який можна використовувати як паливо для ламп, і який потрібен для $(l:mechanics/pumps)Create$()." - }, - { - "type": "patchouli:spotlight", - "title": "Коксова піч", - "item": "gtceu:coke_oven,gtceu:coke_oven_bricks,gtceu:coke_oven_hatch", - "text": "Використовуйте JEI для попереднього перегляду багатоблоку, подивившись на $(thing)Коксову Піч$() та натиснути $(item)$(k:jei.showUses)$(). Ви можете натиснути на окремі блоки, щоб побачити, що там.$(br2)Зверніть увагу, що центр порожнистий, і до 5 $(thing)Люків Коксових Печей$() можна класти будь-де замість цегли." - }, - { - "type": "patchouli:spotlight", - "item": "gtceu:tin_small_item_pipe", - "title": "Предметні Труби", - "text": "Люки автоматично втягують у себе предмети і виштовхують рідини та предмети, тож ви можете розмістити $(l:mechanics/crankshaft#crates)Ящики$(), $(l:mechanics/crankshaft#drums)Бочки$() і $(l:mechanics/barrels)Діжки$() прямо навпроти них, але якщо ви бажаєте мати більше контролю, вам краще використовувати труби від GregTech.$(br2)$(item)Предметні Труби$() не витягуються з жодного інвентарю, до якого вони прикріплені, тому вам слід використовувати $(thing)Жолоб(Chute)$() або $(thing)Лійку(Hopper)$(), щоб витягнути їх з інвентарю і заштовхнути у трубу." - }, - { - "type": "patchouli:text", - "text": "Різні яруси труб переміщують різну кількість предметів, але найдешевшою для початку є $(item)Мала Олов'яна Предметна Труба$().$(br2)Предметні труби переміщують предмети миттєво, надаючи пріоритет найближчим інвентарям. Ви можете зробити труби односторонніми за допомогою $(thing)Пкм$(), витягти їх за допомогою $(thing)Гайкового Ключа$() у порожню руку.$(br2)Ви також можете керувати переміщенням предметів за допомогою $(thing)Фільтру Предметів$(), $(thing)Фільтру Тегів Предметів$() і $(thing)Обмежені Предметні Труби$()." - }, - { - "type": "patchouli:spotlight", - "item": "gtceu:wood_normal_fluid_pipe,gtceu:bronze_normal_fluid_pipe", - "title": "Рідинні труби", - "text": "Не дивно, що $(item)Рідинні Труби$() призначені для переміщення рідин. На відміну від труб для предметів, труби для рідини не переміщують рідину миттєво, а будуть «ковзати» туди-сюди, тому варто зробити їх односторонніми за допомогою $(thing)ПКМ$() з $(thing)Wrench$() у вільній руці." - }, - { - "type": "patchouli:text", - "text": "Різні типи труб можуть утримувати різні речі. Наприклад, $(thing)Дерев'яні Труби$() не можуть утримувати гази і згорять, якщо ви спробуєте покласти в них щось гаряче. Інші металеві труби, такі як $(thing)Бронзові$(), можуть витримати деякі гарячі речовини, такі як пара і лава, але не кислоти.$(br2)Утримуйте shift над трубою з рідиною, щоб побачити, що вона може витримати." - } - ] -} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/blast_furnace_tips.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/blast_furnace_tips.json index 51b7c01c4..e208efc44 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/blast_furnace_tips.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/blast_furnace_tips.json @@ -12,7 +12,7 @@ { "type": "patchouli:spotlight", "item": "tfc:ceramic/unfired_fire_brick", - "text": "Перед тим, як ви використаєте всю свою вогнетривку глину на 20 цеглин, зауважте, що як тільки ви потрапите в парову епоху, ви зможете створювати цеглини лише з глини за допомогою $(item)Пресованої Вогнетривкої Глини$() (вам знадобляться парові машини для отримання глиняного пилу). Це дозволить вам зберегти $(item)Каолініт$() та $(item)Графіт$() для $(thing)Ливарного столу$()." + "text": "Перш ніж витратити всю вогнетривку глину на 20 вогнетривких цеглин, зауважте, що з настанням парової епохи їх можна буде виготовляти значно дешевше. Це дозволяє зберегти $(item)Каолініт$() і $(item)Графіт$() для $(thing)Ливарних столів$()." }, { "type": "patchouli:spotlight", @@ -32,11 +32,11 @@ }, { "type": "patchouli:text", - "text": "Ви можете відкачувати рідину безпосередньо з доменної печі за допомогою функції Create $(item)Mechanical Pump$(). Перекачуйте рідину на $(l:tfc:tfcchannelcasting/channel_casting)Форма для виливку$() і виймайте злитки за допомогою лійки або жолоба: Легка автоматизація!$(br2)Ви також можете автоматизувати роботу з сильфоном за допомогою $(item)Розгортальника$()! Тільки будьте обережні, оскільки використання сильфонів надмірно споживає більше палива і швидше ламає вашу $(thing)фурму$().$(br2)Ви можете обробляти отриманий $(item)Чавун$() і $(item)Високовуглецеву Сталь$() за допомогою $(thing)Ковальського Молота$()." + "text": "Ви можете відкачувати рідину безпосередньо з доменної печі за допомогою функції Create $(item)Mechanical Pump$(). Перекачуйте рідину на $(l:tfc:tfcchannelcasting/channel_casting)Форма для виливку$() і виймайте злитки за допомогою лійки або жолоба: Легка автоматизація!$(br2)Ви також можете автоматизувати роботу з сильфоном за допомогою $(item)Розгортальника$()! Тільки будьте обережні, оскільки використання сильфонів надмірно споживає більше палива і швидше ламає вашу $(thing)фурму$().$(br2)Ви можете обробляти отриманий $(item)Чавун$() і $(item)Високовуглецеву Сталь$() за допомогою $(thing)Ковальського Молота$() або $(thing)Молота на колоді$()." }, { "type": "patchouli:text", - "text": "Ви можете автоматично замінити зламані фурми на лійці, спрямований в доменну піч." + "text": "Ви можете автоматично замінювати зламані тюєри, використовуючи лійку або трубопровід для предметів, спрямований у домену піч." } ] } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/faqs.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/faqs.json index 2797b56d2..9835b8124 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/faqs.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/faqs.json @@ -12,7 +12,7 @@ }, { "type": "patchouli:text", - "text": "$(li)$(l:tfg_tips/faqs#boats)Чому мій човен потонув?$()\n$(li)$(l:tfg_tips/faqs#dried_fruit)Як зробити закваску?$()\n$(li)$(l:tfg_tips/faqs#dried_fruit)Як зробити волокно з ананаса?$()$()\n$(li)$(l:tfg_tips/faqs#resin)Як зробити гуму?$()\n$(li)$(l:tfg_tips/faqs#chunks)Як примусово завантажити чанк або збільшити ліміт?$()" + "text": "$(li)$(l:tfg_tips/faqs#boats)Чому мій човен потонув?$() $(li)$(l:tfg_tips/faqs#dried_fruit)Як зробити закваску для дріжджів?$() $(li)$(l:tfg_tips/faqs#dried_fruit)Як виготовити волокно з ананаса?$() $(li)$(l:tfg_tips/faqs#resin)Як зробити гуму?$() $(li)$(l:tfg_tips/faqs#chunks)Як примусово завантажити чанк або збільшити ліміт?$()" }, { "type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/inventory_management.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/inventory_management.json index 61849a538..a9421b2b0 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/inventory_management.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/inventory_management.json @@ -29,7 +29,7 @@ "type": "patchouli:text", "title": "Бочки", "anchor": "drums", - "text": "Для зберігання рідин у GregTech є $(item)Бочки$(). Вони можуть утримувати велику кількість одного типу рідини, а різні рівні вміщують більше, так само, як і ящики.$(br2)На відміну від ящиків, бочки зберігають рідину навіть після того, як їх зняти з місця, що робить їх ідеальними для транспортування рідин.$(br2)Бочки можуть автоматично виштовхувати рідину через нижню грань, якщо натиснути на них правою кнопкою миші за допомогою $(thing)Викрутки$()." + "text": "Для зберігання рідин у GregTech є $(item)Бочки$(). Вони можуть утримувати велику кількість одного типу рідини, а різні рівні вміщують більше, так само, як і ящики.$(br2)На відміну від ящиків, бочки зберігають рідину навіть після того, як їх зняти з місця, що робить їх ідеальними для транспортування рідин.$(br2)Бочки можуть автоматично виштовхувати рідину через нижню грань, якщо натиснути на них правою кнопкою миші за допомогою $(thing)Киянки$() або $(thing)Викрутки$()." }, { "type": "patchouli:crafting", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/mars_tree_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/mars_tree_index.json new file mode 100644 index 000000000..1e60ab10c --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/mars_tree_index.json @@ -0,0 +1,48 @@ +{ + "name": "Марсіанський індекс грибів", + "category": "tfc:tfg_tips", + "icon": "tfg:saplings/aeronos", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Це список усіх велетенських грибів на Марсі та кліматів, у яких вони ростуть.$(br2)Шукаєте певний тип грибного стовбура для декору вашої бази? Цей список допоможе його знайти. Сортування виконано за абеткою за типом стовбура.$(br2)Також перегляньте $(l:tfc:arborfirmacraft/earth_tree_index)Індекс земних дерев$()." + }, + { + "type": "patchouli:spotlight", + "title": "Аеронос", + "item": "ad_astra:aeronos_stem", + "text": "$(bold)Гриб Аеронос$()$(br)$(thing)Температура$(): від -100°C і вище$(br)Зустрічається частіше на сході." + }, + { + "type": "patchouli:spotlight", + "title": "Альфацен", + "item": "species:alphacene_mushroom_block", + "text": "$(bold)Гриб Альфацен$()$(br)$(thing)Температура$(): від -85°C і вище$(br)Зустрічається як на сході, так і на заході." + }, + { + "type": "patchouli:spotlight", + "title": "Багрянець", + "item": "beneath:wood/log/crimson", + "text": "$(bold)Багряний гриб$()$(br)$(thing)Температура$(): від -109 до -13°C$(br)Зустрічається частіше на сході." + }, + { + "type": "patchouli:spotlight", + "title": "Ґлаціан", + "item": "ad_astra:glacian_log", + "text": "$(bold)Ґлаціанський гриб$()$(br)$(thing)Температура$(): -107°C і нижче$(br)Зустрічається як на сході, так і на заході." + }, + { + "type": "patchouli:spotlight", + "title": "Строфар", + "item": "ad_astra:strophar_stem", + "text": "$(bold)Гриб Строфар$()$(br)$(thing)Температура$(): від -100°C і вище$(br)Зустрічається частіше на заході." + }, + { + "type": "patchouli:spotlight", + "title": "Химера", + "item": "beneath:wood/log/warped", + "text": "$(bold)Химерний гриб$()$(br)$(thing)Температура$(): від -109 до -13°C$(br)Зустрічається частіше на заході." + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/space_crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/space_crops.json index 7b4872ac3..ba8180ca5 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/space_crops.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/space_crops.json @@ -6,7 +6,7 @@ { "type": "patchouli:text", "title": "Позаземні рослини", - "text": "Виявляється, Земля — не єдине небесне тіло з життям. Під час подорожей ви можете натрапити на інші види їстівної фауни. Усі вони використовують ті ж самі механіки, що й на Землі (з деякими винятками), і можуть вирощуватися як на звичайних ріллях, так і у теплиці Firmalife $(l:firmalife/greenhouse)Теплиці$(), або ж у електричній теплиці GregTech — залежно від ваших потреб." + "text": "Виявляється, Земля — не єдине небесне тіло з життям. Під час подорожей ви можете натрапити на інші види їстівної флори. Усі вони використовують ті ж самі механіки, що й на Землі (з деякими винятками), і можуть вирощуватися як на звичайних ріллях, так і у теплиці Firmalife $(l:firmalife/greenhouse)Теплиці$(), або ж у електричній теплиці GregTech — залежно від ваших потреб." }, { "type": "patchouli:text", From 8c6551dda615a9f8ea973b8d3438b609ee8fe1e4 Mon Sep 17 00:00:00 2001 From: Inceitious <124896643+Inceitious@users.noreply.github.com> Date: Thu, 15 Jan 2026 03:04:59 +0800 Subject: [PATCH 100/474] Feature/tidying recipes (#2733) * Added tags to support recycling * Cleaned up recipe bloat for recycling * Merged loops * Remove constant * Remove constant * I think this is what you mean * Updated tags * Sorry! --------- Co-authored-by: Redeix --- .../gregtech/recipes.recycling.js | 98 +++++-------------- kubejs/server_scripts/tfc/tags.js | 8 ++ 2 files changed, 35 insertions(+), 71 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.recycling.js b/kubejs/server_scripts/gregtech/recipes.recycling.js index 04175df2f..36effdb6f 100644 --- a/kubejs/server_scripts/gregtech/recipes.recycling.js +++ b/kubejs/server_scripts/gregtech/recipes.recycling.js @@ -16,91 +16,47 @@ function registerGTCEURecyclingRecipes(event) { // Iron Door TFGHelpers.registerMaterialInfo('minecraft:iron_door', { 'iron': 2 }) - // #region Fix TFC hanging sign metal dupe for Macerator and Arc Furnace - - const SIGN_METALS = [ - GTMaterials.Copper, - GTMaterials.Bronze, - GTMaterials.BlackBronze, - GTMaterials.BismuthBronze, - GTMaterials.WroughtIron, - GTMaterials.Steel, - GTMaterials.BlackSteel, - GTMaterials.RedSteel, - GTMaterials.BlueSteel - ]; - - SIGN_METALS.forEach(metal => { - // Arc furnace - global.TFC_WOOD_TYPES.forEach(wood => { - event.remove(`gtceu:arc_furnace/arc_wood/hanging_sign/${metal.getName()}/${wood}`) - event.recipes.gtceu.arc_furnace(`gtceu:arc_furnace/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) - .itemInputs(`tfc:wood/hanging_sign/${metal.getName()}/${wood}`) + // #region Hanging Signs + global.TFC_EQUIPMENT_METALS.forEach(metal => { + // Recycling Hardwood + // Arc Recycling Hardwood + event.recipes.gtceu.arc_furnace(`tfg:arc_recycling/${metal}/hardwood`) + .itemInputs(`#tfg:hanging_sign/${metal}/hardwood`) .itemOutputs('gtceu:tiny_ash_dust') - .chancedOutput(ChemicalHelper.get(TagPrefix.nugget, metal, 1), 3750, 0) - .inputFluids(Fluid.of('gtceu:oxygen', 12)) + .chancedOutput(`#forge:nuggets/${metal}`, 3750, 0) .duration(12) .EUt(30) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - }) - - global.AFC_WOOD_TYPES.forEach(wood => { - event.recipes.gtceu.arc_furnace(`gtceu:arc_furnace/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) - .itemInputs(`afc:wood/hanging_sign/${metal.getName()}/${wood}`) + // Macerating Hardwood + event.recipes.gtceu.macerator(`tfg:macerating/hanging_sign/'${metal}/hardwood`) + .itemInputs(`#tfg:hanging_sign/${metal}/hardwood`) + .itemOutputs('gtceu:hardwood_dust') + .chancedOutput(`#forge:tiny_dusts/${metal}`, 3750, 0) + .duration(108) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + + // Recycling Softwood + // Arc Recycling Softwood + event.recipes.gtceu.arc_furnace(`tfg:arc_recycling/${metal}/softwood`) + .itemInputs(`#tfg:hanging_sign/${metal}/softwood`) .itemOutputs('gtceu:tiny_ash_dust') - .chancedOutput(ChemicalHelper.get(TagPrefix.nugget, metal, 1), 3750, 0) - .inputFluids(Fluid.of('gtceu:oxygen', 12)) + .chancedOutput(`#forge:nuggets/${metal}`, 3750, 0) .duration(12) .EUt(30) .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - }) - - // Macerator - global.TFC_HARDWOOD_TYPES.forEach(wood => { - removeMaceratorRecipe(event, `macerate_wood/hanging_sign/${metal.getName()}/${wood}`) - event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) - .itemInputs(`tfc:wood/hanging_sign/${metal.getName()}/${wood}`) - .itemOutputs('gtceu:hardwood_dust') - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0) - .duration(108) - .EUt(8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - }) - - global.TFC_SOFTWOOD_TYPES.forEach(wood => { - removeMaceratorRecipe(event, `macerate_wood/hanging_sign/${metal.getName()}/${wood}`) - event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) - .itemInputs(`tfc:wood/hanging_sign/${metal.getName()}/${wood}`) + // Macerating Softwood + event.recipes.gtceu.macerator(`tfg:macerating/hanging_sign/'${metal}/softwood`) + .itemInputs(`#tfg:hanging_sign/${metal}/softwood`) .itemOutputs('gtceu:wood_dust') - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0) + .chancedOutput(`#forge:tiny_dusts/${metal}`, 3750, 0) .duration(108) .EUt(8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - }) - - global.AFC_HARDWOOD_TYPES.forEach(wood => { - event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) - .itemInputs(`afc:wood/hanging_sign/${metal.getName()}/${wood}`) - .itemOutputs('gtceu:hardwood_dust') - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0) - .duration(108) - .EUt(8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - }) - - global.AFC_SOFTWOOD_TYPES.forEach(wood => { - event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) - .itemInputs(`afc:wood/hanging_sign/${metal.getName()}/${wood}`) - .itemOutputs('gtceu:wood_dust') - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0) - .duration(108) - .EUt(8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - }) + .category(GTRecipeCategories.MACERATOR_RECYCLING) }) // #endregion - //#region support recycling + //#region Supports event.recipes.gtceu.macerator(`hardwood_support_to_dust`) .itemInputs('#tfg:hardwood_supports') .itemOutputs('gtceu:hardwood_dust') diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index f1ca9d2e4..6e128859a 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -434,6 +434,14 @@ function registerTFCItemTags(event) { event.add('forge:dyes/green', 'tfc:powder/malachite') event.add('forge:dyes/brown', 'tfc:powder/garnierite') event.add('forge:dyes/yellow', 'tfc:powder/limonite') + + //Hanging Signs Soft & Hard Wood + global.TFC_EQUIPMENT_METALS.forEach(metal => { + event.add(`tfg:hanging_sign/${metal}/hardwood`, global.TFC_HARDWOOD_TYPES.map(wood => `tfc:wood/hanging_sign/${metal}/${wood}`)) + event.add(`tfg:hanging_sign/${metal}/softwood`, global.TFC_SOFTWOOD_TYPES.map(wood => `tfc:wood/hanging_sign/${metal}/${wood}`)) + event.add(`tfg:hanging_sign/${metal}/hardwood`, global.AFC_HARDWOOD_TYPES.map(wood => `afc:wood/hanging_sign/${metal}/${wood}`)) + event.add(`tfg:hanging_sign/${metal}/softwood`, global.AFC_SOFTWOOD_TYPES.map(wood => `afc:wood/hanging_sign/${metal}/${wood}`)) + }) } /** @param {TagEvent.Block} event */ From 2e10938e1cb53e2a372f40633a424569c15ec533 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 14 Jan 2026 21:36:52 +0000 Subject: [PATCH 101/474] Refactor of material recipes (#2732) * refactor * phew * drive-by fix * all done I think * cleaned up some lines that didn't do anything, added more comments, removed log spam --- .../en_us/entries/beneath/piglins.json | 2 +- kubejs/server_scripts/firmalife/recipes.js | 7 - kubejs/server_scripts/gregtech/recipes.js | 1 - .../gregtech/recipes.materials.js | 1269 ------------- .../gregtech/recipes.removes.js | 1 + kubejs/server_scripts/gregtech/utility.js | 129 -- kubejs/server_scripts/main_server_script.js | 1 + kubejs/server_scripts/rnr/recipes.js | 65 +- kubejs/server_scripts/sacksnstuff/recipes.js | 24 +- kubejs/server_scripts/tfc/recipes.js | 46 +- .../server_scripts/tfc/recipes.materials.js | 1612 ----------------- kubejs/server_scripts/tfc/recipes.metals.js | 97 +- kubejs/server_scripts/tfc/recipes.removes.js | 41 +- .../tfc_grooming_station/recipes.js | 12 +- kubejs/server_scripts/tfc_scraping/recipes.js | 8 + kubejs/server_scripts/tfcscraping/recipes.js | 0 .../tfg/natural_blocks/recipes.rocks.js | 16 +- .../recipes.material_ores.js | 527 ++++++ .../recipes.material_tag_prefixes.js | 576 ++++++ .../recipes.material_tfc.js | 298 +++ .../recipes.material_tools.js | 186 ++ .../ores_and_materials/recipes.materials.js | 360 +++- .../gtceu/material_modification.js | 127 +- kubejs/startup_scripts/tfg/icon_sets.js | 5 +- 24 files changed, 2107 insertions(+), 3303 deletions(-) delete mode 100644 kubejs/server_scripts/gregtech/recipes.materials.js delete mode 100644 kubejs/server_scripts/tfc/recipes.materials.js create mode 100644 kubejs/server_scripts/tfc_scraping/recipes.js delete mode 100644 kubejs/server_scripts/tfcscraping/recipes.js create mode 100644 kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js create mode 100644 kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tag_prefixes.js create mode 100644 kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tfc.js create mode 100644 kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/piglins.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/piglins.json index 7efc3b3c4..79dafe71f 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/piglins.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/piglins.json @@ -27,7 +27,7 @@ { "type": "patchouli:text", "title": "Bastions", - "text": "Raiding a $(thing)Bastion$() might be very dangerous, but they can also be very rewarding! You can find things like:$(li)Gold, Rose Gold, Pig Iron, Black Bronze, and Silver ingots$(li)Black Bronze weapons, tools, and armor$(li)Kaolin clay and graphite$(li)Permanent light sources$(li)Cloth, leather, seeds, and food$(li)And other treasures!" + "text": "Raiding a $(thing)Bastion$() might be very dangerous, but they can also be very rewarding! You can find things like:$(li)Gold, Rose Gold, Pig Iron, Black Bronze, and Silver ingots$(li)Black Bronze weapons, tools, and armor$(li)Kaolin clay and graphite$(li)Lanterns$(li)Cloth, leather, seeds, and food$(li)And other treasures!" }, { "type": "patchouli:spotlight", diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 71565820f..25ebbc211 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -394,13 +394,6 @@ const registerFirmaLifeRecipes = (event) => { //#endregion - //#region Plated blocks - - generatePlatedBlockRecipe(event, GTMaterials.Chromium); - generatePlatedBlockRecipe(event, GTMaterials.StainlessSteel); - - // #endregion - // #region Drying mat alternatives event.shaped('firmalife:drying_mat', ['AAA'], { A: 'tfc:plant/leafy_kelp' }).id('tfg:shaped/drying_mat_leafy_kelp') diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 90f5c6cef..dc213996a 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -7,7 +7,6 @@ */ const registerGTCEURecipes = (event) => { - registerGTCEUMetalRecipes(event) registerGTCEURecyclingRecipes(event) registerGTCEuMachineRecipes(event) diff --git a/kubejs/server_scripts/gregtech/recipes.materials.js b/kubejs/server_scripts/gregtech/recipes.materials.js deleted file mode 100644 index c82eee714..000000000 --- a/kubejs/server_scripts/gregtech/recipes.materials.js +++ /dev/null @@ -1,1269 +0,0 @@ -// priority: 0 -"use strict"; - -/** - * @param {Internal.RecipesEventJS} event - */ -function registerGTCEUMetalRecipes(event) { - - function getExtractorEUt(material) { - return (material.hasProperty(PropertyKey.BLAST) && material !== GTMaterials.BismuthBronze && material !== GTMaterials.BlackBronze - ? GTValues.VA[GTValues.MV] - : GTValues.VA[GTValues.LV]); - } - - /** - * @param {GTToolType} toolType - * @param {String} tagPrefixName - * @param {TagPrefix} headTagPrefix - * @param {Internal.ItemStack} extruderMold - * @param {number} circuitMeta - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - * @returns - */ - function makeToolRecipe(toolType, tagPrefixName, headTagPrefix, extruderMold, circuitMeta, material) { - const toolItem = ToolHelper.get(toolType, material) - - if (toolItem.isEmpty()) return - - const toolHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) - - if (toolHeadItem.isEmpty()) return - - // Skip this one because it has a duping bug, and you can't remove the macerator/arc furnace iron pick recipes - if (material === GTMaterials.Iron) return; - - if (toolType === GTToolType.WRENCH) { - event.recipes.tfc.advanced_shaped_crafting( - TFC.itemStackProvider.of(toolItem).copyForgingBonus().copyHeat(), [ - 'ABC', - 'DB ' - ], { - A: toolHeadItem, - B: `#forge:rods/${material.getName()}`, - C: '#forge:tools/screwdrivers', - D: `#forge:bolts/${material.getName()}` - }, 0, 0) - .id(`gtceu:shaped/${toolType.name}_${material.getName()}`) - } else if (toolType === GTToolType.WIRE_CUTTER) { - event.recipes.tfc.advanced_shaped_crafting( - TFC.itemStackProvider.of(toolItem).copyForgingBonus().copyHeat(), [ - ' AD', - 'CBC' - ], { - A: toolHeadItem, - B: `#forge:small_springs`, - C: `#forge:rods/${material.getName()}`, - D: '#forge:tools/screwdrivers' - }, 0, 1) - .id(`gtceu:shaped/${toolType.name}_${material.getName()}`) - } else { - event.recipes.tfc.advanced_shapeless_crafting( - TFC.itemStackProvider.of(toolItem).copyForgingBonus().copyHeat(), - [toolHeadItem, '#forge:rods/wooden'], toolHeadItem) - .id(`gtceu:shaped/${toolType.name}_${material.getName()}`) - } - - processToolHead(headTagPrefix, tagPrefixName, extruderMold, circuitMeta, material) - } - - /** - * @param {TagPrefix} headTagPrefix - * @param {String} tagPrefixName - * @param {Internal.ItemStack} extruderMold - * @param {number} circuitMeta - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - function processToolHead(headTagPrefix, tagPrefixName, extruderMold, circuitMeta, material) { - - const toolHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) - if (toolHeadItem.isEmpty()) - return - - event.remove({ mod: 'gtceu', type: 'minecraft:crafting_shaped', output: toolHeadItem }) - - if (material.hasProperty(PropertyKey.INGOT)) { - 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); - - event.recipes.gtceu.extruder(`tfg:extrude_${material.getName()}_ingot_to_${tagPrefixName}`) - .itemInputs(ingotItem.copyWithCount(materialAmount)) - .notConsumable(extruderMold) - .itemOutputs(toolHeadItem) - .duration(material.getMass() * 6) - .EUt(GTValues.VA[GTValues.LV]) - - 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}`) - - if (GTMaterials.Stone !== material) { - removeMaceratorRecipe(event, `macerate_${material.getName()}_${tagPrefixName}`) - event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_${tagPrefixName}`) - .itemInputs(toolHeadItem) - .itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, materialAmount)) - .duration(material.getMass() * 6 * materialAmount) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.arc_furnace(`gtceu:arc_${material.getName()}_${tagPrefixName}`) - .itemInputs(toolHeadItem) - .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, materialAmount)) - .duration(material.getMass() * 6 * materialAmount) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.extractor(`gtceu:extract_${material.getName()}_${tagPrefixName}`) - .itemInputs(toolHeadItem) - .outputFluids(Fluid.of(material.getFluid(), materialAmount * 144)) - .duration(material.getMass() * 6 * materialAmount) - .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(getExtractorEUt(material)) - } - - } else if (material.hasProperty(PropertyKey.GEM)) { - - 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) - .notConsumable(ChemicalHelper.get(TagPrefix.lens, GTMaterials.Glass, 1)) - .circuit(circuitMeta) - .itemOutputs(toolHeadItem) - .duration(material.getMass() * 6) - .EUt(GTValues.VA[GTValues.LV]) - - removeMaceratorRecipe(event, `macerate_${material.getName()}_${tagPrefixName}`) - event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_${tagPrefixName}`) - .itemInputs(toolHeadItem) - .itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 1)) - .duration(material.getMass() * 6) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - } - // else: ignore :3 - } - - /** - * @param {GTToolType} toolType - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - function processToolMortar(toolType, material) { - const toolItem = ToolHelper.get(toolType, material) - if (toolItem.isEmpty()) - return - - const usableTagPrefix = material.hasProperty(PropertyKey.GEM) ? TagPrefix.gem : TagPrefix.ingot; - const usableItem = ChemicalHelper.get(usableTagPrefix, material, 1) - - if (usableItem.isEmpty()) - return - - event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped(toolItem, [ - 'CA ', - ' B ' - ], { - A: usableItem, - B: '#tfc:rock/raw', - C: '#tfc:chisels' - }) - ).id(`gtceu:shaped/mortar_${material.getName()}`) - } - - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - function processIngot(material) { - const ingotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1) - - if (material.hasFlag(MaterialFlags.GENERATE_PLATE) - && material !== GTMaterials.Wood - && material !== GTMaterials.TreatedWood - && material !== GTMaterials.Stone - && !material.hasProperty(PropertyKey.POLYMER)) - { - const plateStack = ChemicalHelper.get(TagPrefix.plate, material, 1) - const blockStack = ChemicalHelper.get(TagPrefix.block, material, 1) - - let matAmount = TagPrefix.block.getMaterialAmount(material) / GTValues.M; - - if (!plateStack.isEmpty() && !plateStack.hasTag('c:hidden_from_recipe_viewers')) { - - event.custom({ - type: "createaddition:rolling", - input: ingotStack, - result: plateStack, - //processingTime: material.getMass() // TODO - controlled by a global config argh - }).id(`tfg:rolling/${material.getName()}_plate`) - - if (!blockStack.isEmpty() && GTMaterials.Stone !== material) { - let ingotArray = []; - for (let i = 0; i < matAmount; i++) - ingotArray.push(ingotStack) - - // 9х Слиток -> Блок - event.recipes.greate.compacting(blockStack, ingotArray) - .recipeTier(1) - .circuitNumber(9) - .heated() - .id(`greate:compacting/${material.getName()}_block`) - } - } else { - if (!blockStack.isEmpty() && !blockStack.hasTag('c:hidden_from_recipe_viewers')) { - // Блок из гемов -> 9 Пластин - event.recipes.greate.cutting(plateStack.withCount(matAmount), blockStack) - .recipeTier(1) - .id(`greate:cutting/${material.getName()}_plate`) - } - } - } - } - - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - function processPlate(material) { - const item = ChemicalHelper.get(TagPrefix.plate, material, 1) - if (item.isEmpty()) return - - event.remove({ id: `gtceu:shaped/plate_${material.getName()}` }) - } - - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - function processPlateDouble(material) { - const doublePlateItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) - if (doublePlateItem.isEmpty() || doublePlateItem.hasTag('c:hidden_from_recipe_viewers')) return - const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) - - event.remove({ id: `gtceu:shaped/plate_double_${material.getName()}` }) - - if (material.getProperty(TFGPropertyKey.TFC_PROPERTY) === null) { - event.recipes.greate.compacting(doublePlateItem, [plateItem, plateItem, 'tfc:powder/flux']) - .heated() - .recipeTier(2) - .id(`greate:compacting/${material.getName()}_double_plate`) - - event.remove({ id: `gtceu:bender/bend_${material.getName()}_plate_to_double_plate` }) - event.recipes.gtceu.bender(`bend_${material.getName()}_plate_to_double_plate_electric_only`) - .itemInputs(plateItem.withCount(2)) - .itemOutputs(doublePlateItem) - .circuit(2) - .duration(20 * 5.8) - .EUt(24) - } - } - - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - function processBlock(material) { - const item = ChemicalHelper.get(TagPrefix.block, material, 1) - if (item.isEmpty()) - return - - event.remove({ id: `gtceu:compressor/compress_${material.getName()}_to_block` }) - } - - //Foils - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - function processFoil(material) { - const foilItem = ChemicalHelper.get(TagPrefix.foil, material, 4) - const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) - - if (plateItem !== null && foilItem !== null && !plateItem.hasTag('c:hidden_from_recipe_viewers')) { - event.custom({ - type: "createaddition:rolling", - input: plateItem, - result: foilItem, - // TODO - processing time is controlled by a global config instead of setting it per-recipe... - //processingTime: material.getMass() - }).id(`tfg:rolling/${material.getName()}_foil`) - } - } - - //Rods - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - function processRodLong(material) { - const longRodItem = ChemicalHelper.get(TagPrefix.rodLong, material, 1) - if (longRodItem.isEmpty() || longRodItem.hasTag('c:hidden_from_recipe_viewers')) - return - const shortRodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) - if (shortRodItem.isEmpty() || shortRodItem.hasTag('c:hidden_from_recipe_viewers')) - return; - - event.remove({ id: `gtceu:shaped/stick_long_stick_${material.getName()}` }) - - // Rod welding recipes for all of the other non-tfc materials, since those were handled in tfc/recipes.materials.js - if (!material.hasProperty(TFGPropertyKey.TFC_PROPERTY)) { - event.recipes.greate.compacting(longRodItem, [shortRodItem, shortRodItem, 'tfc:powder/flux']) - .heated() - .recipeTier(1) - .id(`greate:compacting/${material.getName()}_long_rod`) - } - } - - //Double Ingots - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - function processIngotDouble(material) { - if (!material.hasFlag(TFGMaterialFlags.GENERATE_DOUBLE_INGOTS)) - return; - - const doubleIngotStack = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1); - - if (material.hasProperty(PropertyKey.FLUID)) { - - event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_double_ingot`) - .itemInputs(doubleIngotStack) - .outputFluids(Fluid.of(material.getFluid(), 288)) - .duration(material.getMass()) - .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(getExtractorEUt(material)) - } - - if (material.hasProperty(PropertyKey.DUST)) { - event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_double_ingot`) - .itemInputs(doubleIngotStack) - .itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 2)) - .duration(material.getMass()) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - } - - const twoIngotStack = ChemicalHelper.get(TagPrefix.ingot, material, 2); - - event.recipes.gtceu.arc_furnace(`tfg:arc_furnace_${material.getName()}_double_ingot`) - .itemInputs(doubleIngotStack) - .itemOutputs(twoIngotStack) - .duration(material.getMass() * 6) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.bender(`tfg:bend_${material.getName()}_double_ingot_electric_only`) - .itemInputs(twoIngotStack) - .itemOutputs(doubleIngotStack) - .duration(material.getMass() * 6) - .EUt(GTValues.VA[GTValues.LV]) - .circuit(3) - } - - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - function processSmallOre(material) { - if (!material.hasFlag(TFGMaterialFlags.HAS_SMALL_TFC_ORE)) return; - - const smallOre = ChemicalHelper.get(TFGTagPrefix.oreSmall, material, 1); - const smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1); - - event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_small_ore`) - .itemInputs(smallOre) - .itemOutputs(smallDust) - .duration(material.getMass()) - .category(GTRecipeCategories.ORE_CRUSHING) - .EUt(GTValues.VA[GTValues.ULV]) - - let tfcName = material.getName(); - if (material === GTMaterials.Bismuth) - tfcName = "bismuthinite"; - else if (material === GTMaterials.YellowLimonite) - tfcName = "limonite"; - - event.recipes.tfc.quern(smallDust, smallOre) - .id(`tfc:quern/small_${tfcName}`) - } - - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - const processSmallNativeOre = (material) => { - if (!material.hasFlag(TFGMaterialFlags.HAS_SMALL_NATIVE_TFC_ORE)) return; - - const smallNativeOre = ChemicalHelper.get(TFGTagPrefix.oreSmallNative, material, 1); - const smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1); - - event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_small_native_ore`) - .itemInputs(smallNativeOre) - .itemOutputs(smallDust) - .duration(material.getMass()) - .category(GTRecipeCategories.ORE_CRUSHING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.tfc.quern(smallDust, smallNativeOre) - .id(`tfc:quern/small_native_${material.getName()}`) - } - - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - * @param {*} oreProperty - * @param {number} multiplier - * @param {Internal.ItemStack} oreItem - * @param {string} type - */ - function smeltOre(material, oreProperty, multiplier, oreItem, type) { - const smeltingMaterial = oreProperty.getDirectSmeltResult().isNull() ? material : oreProperty.getDirectSmeltResult(); - if (!material.hasProperty(PropertyKey.BLAST) && !material.hasFlag(MaterialFlags.NO_ORE_SMELTING)) { - let ingotItem; - if (smeltingMaterial.hasProperty(PropertyKey.INGOT)) { - ingotItem = ChemicalHelper.getIngot(smeltingMaterial, GTValues.M * multiplier) - } - else if (smeltingMaterial.hasProperty(PropertyKey.GEM)) { - if (multiplier >= 1) { - ingotItem = ChemicalHelper.get(TagPrefix.gem, smeltingMaterial, multiplier) - } - else { - ingotItem = ChemicalHelper.get(TagPrefix.gemFlawed, smeltingMaterial, 1) - } - } - else { - ingotItem = ChemicalHelper.getDust(smeltingMaterial, GTValues.M * multiplier) - } - - if (!ingotItem.isEmpty()) { - event.smelting(ingotItem, oreItem).id(`gtceu:smelting/smelt_${type}_${material.getName()}_ore_to_ingot`) - } - } - } - - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - const processPoorRawOre = (material) => { - const poorOreItem = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1) - const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) - - if (poorOreItem === null || crushedOreItem === null) return; - - const oreProperty = material.getProperty(PropertyKey.ORE) - const multiplier = oreProperty.getOreMultiplier(); - crushedOreItem.setCount(crushedOreItem.getCount() * multiplier) - - // Forge hammer - let hammerRecipe = event.recipes.gtceu.forge_hammer(`hammer_poor_raw_${material.getName()}_to_crushed_ore`) - .itemInputs(poorOreItem) - .category(GTRecipeCategories.ORE_FORGING) - .duration(100) - .EUt(16) - - if (material.hasProperty(PropertyKey.GEM)) { - const gemItem = ChemicalHelper.get(TagPrefix.gem, material, crushedOreItem.getCount()); - hammerRecipe.chancedOutput(gemItem, 7500, 950) - - event.recipes.greate.pressing(Item.of(gemItem).withChance(0.75), poorOreItem) - .recipeTier(1) - .id(`greate:pressing/poor_raw_${material.getName()}_to_gem`) - - let polishingCount = Math.max(crushedOreItem.getCount() / 2, 1); - event.recipes.create.sandpaper_polishing(gemItem.copyWithCount(polishingCount), poorOreItem) - .id(`tfg:polishing/poor_raw_${material.getName()}_to_gem`) - } else { - hammerRecipe.chancedOutput(crushedOreItem, 7500, 950) - - event.recipes.greate.pressing(Item.of(crushedOreItem).withChance(0.75), poorOreItem) - .recipeTier(1) - .id(`greate:pressing/poor_raw_${material.getName()}_to_crushed_ore`) - } - - // Macerator - let maceratorRecipe = event.recipes.gtceu.macerator(`macerate_poor_raw_${material.getName()}_ore_to_crushed_ore`) - .itemInputs(poorOreItem) - .category(GTRecipeCategories.ORE_CRUSHING) - .duration(400) - .EUt(2) - - if (multiplier > 1) { - maceratorRecipe.itemOutputs(crushedOreItem.copyWithCount(multiplier / 2)) - } else { - maceratorRecipe.chancedOutput(crushedOreItem, 5000, 750) - } - maceratorRecipe.chancedOutput(crushedOreItem.copyWithCount(1), 2500, 500) - maceratorRecipe.chancedOutput(crushedOreItem.copyWithCount(1), 1250, 250) - - // Quern - if (multiplier > 1) { - event.recipes.tfc.quern( - crushedOreItem.copyWithCount(multiplier / 2), - poorOreItem - ).id(`tfg:quern/${material.getName()}_crushed_ore_from_poor_raw_ore`) - } else { - event.recipes.tfc.quern( - ChemicalHelper.get(TagPrefix.dustSmall, material, 2), - poorOreItem - ).id(`tfg:quern/${material.getName()}_crushed_ore_from_poor_raw_ore`) - } - - // Smelting - smeltOre(material, oreProperty, multiplier / 2, poorOreItem, 'poor') - } - - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - const processNormalRawOre = (material) => { - const oreProperty = material.getProperty(PropertyKey.ORE) - const multiplier = oreProperty.getOreMultiplier(); - const normalOreItem = ChemicalHelper.get(TagPrefix.rawOre, material, 1) - const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, multiplier) - - if (normalOreItem === null || crushedOreItem === null) - return; - - // Forge hammer - let hammerRecipe = event.recipes.gtceu.forge_hammer(`hammer_raw_${material.getName()}_to_crushed_ore`) - .itemInputs(normalOreItem) - .category(GTRecipeCategories.ORE_FORGING) - .duration(100) - .EUt(16) - - if (material.hasProperty(PropertyKey.GEM)) { - const gemItem = ChemicalHelper.get(TagPrefix.gem, material, crushedOreItem.getCount()) - hammerRecipe.itemOutputs(gemItem) - - event.recipes.greate.pressing(gemItem, normalOreItem) - .recipeTier(1) - .id(`greate:pressing/raw_${material.getName()}_to_gem`) - - event.recipes.create.sandpaper_polishing(gemItem, normalOreItem) - .id(`tfg:polishing/raw_${material.getName()}_to_gem`) - } else { - hammerRecipe.itemOutputs(crushedOreItem) - - event.recipes.greate.pressing(crushedOreItem, normalOreItem) - .recipeTier(1) - .id(`greate:pressing/raw_${material.getName()}_to_crushed_ore`) - } - - event.remove({ id: `greate:milling/integration/gtceu/macerator/macerate_raw_${material.getName()}_ore_to_crushed_ore` }) - - // Macerator - event.recipes.gtceu.macerator(`macerate_raw_${material.getName()}_ore_to_crushed_ore`) - .itemInputs(normalOreItem) - .itemOutputs(crushedOreItem) - .chancedOutput(crushedOreItem.copyWithCount(1), 5000, 500) - .chancedOutput(crushedOreItem.copyWithCount(1), 2500, 250) - .chancedOutput(crushedOreItem.copyWithCount(1), 1250, 250) - .category(GTRecipeCategories.ORE_CRUSHING) - .duration(400) - .EUt(2) - - // Quern - event.recipes.tfc.quern(crushedOreItem, normalOreItem) - .id(`tfg:quern/${material.getName()}_crushed_ore_from_normal_raw_ore`) - - // Remove ore block recipes - event.remove({ id: `gtceu:compressor/compress_${material.getName()}_to_raw_ore_block` }) - event.remove({ id: `gtceu:forge_hammer/decompress_${material.getName()}_to_raw_ore` }) - - // Smelting - smeltOre(material, oreProperty, multiplier, normalOreItem, 'raw') - } - - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - const processRichRawOre = (material) => { - const oreProperty = material.getProperty(PropertyKey.ORE) - const multiplier = oreProperty.getOreMultiplier() * 2; - const richOreItem = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1) - const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, multiplier) - - if (richOreItem === null || crushedOreItem === null) - return; - - // Forge hammer - let hammerRecipe = event.recipes.gtceu.forge_hammer(`hammer_rich_raw_${material.getName()}_to_crushed_ore`) - .itemInputs(richOreItem) - .category(GTRecipeCategories.ORE_FORGING) - .duration(100) - .EUt(16) - - if (material.hasProperty(PropertyKey.GEM)) { - const gemItem = ChemicalHelper.get(TagPrefix.gem, material, crushedOreItem.getCount()) - hammerRecipe.itemOutputs(gemItem) - - event.recipes.greate.pressing(gemItem, richOreItem) - .recipeTier(1) - .id(`greate:pressing/rich_raw_${material.getName()}_to_gem`) - - event.recipes.create.sandpaper_polishing(gemItem, richOreItem) - .id(`tfg:polishing/rich_raw_${material.getName()}_to_gem`) - } else { - hammerRecipe.itemOutputs(crushedOreItem) - - event.recipes.greate.pressing(crushedOreItem, richOreItem) - .recipeTier(1) - .id(`greate:pressing/rich_raw_${material.getName()}_to_crushed_ore`) - } - - // Macerator - event.recipes.gtceu.macerator(`macerate_rich_raw_${material.getName()}_ore_to_crushed_ore`) - .itemInputs(richOreItem) - .itemOutputs(crushedOreItem) - .chancedOutput(crushedOreItem.copyWithCount(1), 5000, 750) - .chancedOutput(crushedOreItem.copyWithCount(1), 2500, 500) - .chancedOutput(crushedOreItem.copyWithCount(1), 1250, 250) - .category(GTRecipeCategories.ORE_CRUSHING) - .duration(400) - .EUt(2) - - // Quern - event.recipes.tfc.quern(crushedOreItem, richOreItem) - .id(`tfg:quern/${material.getName()}_crushed_ore_from_rich_raw_ore`) - - // Smelting - smeltOre(material, oreProperty, multiplier, richOreItem, 'rich') - } - - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - const processCrushedOre = (material) => { - const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) - const impureDustItem = ChemicalHelper.get(TagPrefix.dustImpure, material, 1) - const pureOreItem = ChemicalHelper.get(TagPrefix.crushedPurified, material, 1) - - if (crushedOreItem !== null && pureOreItem !== null) { - - // Bulk washing - let byproductMaterial = material.getProperty(PropertyKey.ORE).getOreByProduct(0, material); - const byproductItem = ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1) - - event.recipes.greate.splashing([pureOreItem, Item.of(byproductItem).withChance(0.333), 'gtceu:stone_dust'], crushedOreItem) - .id(`tfg:splashing/${material.getName()}_purified_ore`) - - // Dropping in water - event.custom({ - type: "ae2:transform", - circumstance: { - type: "fluid", - tag: "tfc:any_water" - }, - ingredients: [ - crushedOreItem.toJson() - ], - result: pureOreItem.toJson() - }).id(`tfg:ae_transform/${material.getName()}_purified_ore`) - - event.recipes.tfc.barrel_instant() - .inputItem(crushedOreItem) - .inputFluid(Fluid.of("minecraft:water", 100)) - .outputItem(pureOreItem) - .id(`tfg:instant_barrel/${material.getName()}_purified_ore`) - } - - if (crushedOreItem !== null && impureDustItem !== null) { - event.recipes.greate.pressing(impureDustItem, crushedOreItem) - .recipeTier(1) - .id(`greate:pressing/crushed_${material.getName()}_to_impure_dust`) - } - } - - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - const processPurifiedOre = (material) => { - const pureOreItem = ChemicalHelper.get(TagPrefix.crushedPurified, material, 1) - const pureDustItem = ChemicalHelper.get(TagPrefix.dustPure, material, 1) - - if (pureOreItem !== null && pureDustItem !== null) { - event.recipes.greate.pressing(pureDustItem, pureOreItem) - .recipeTier(1) - .id(`greate:pressing/pure_crushed_${material.getName()}_to_pure_dust`) - } - } - - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - const processRefinedOre = (material) => { - const refinedOreItem = ChemicalHelper.get(TagPrefix.crushedRefined, material, 1) - const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1) - - if (refinedOreItem !== null && dustItem !== null) { - event.recipes.greate.pressing(dustItem, refinedOreItem) - .recipeTier(1) - .id(`greate:pressing/refined_${material.getName()}_to_dust`) - } - } - - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - const processImpureDust = (material) => { - const impureDustItem = ChemicalHelper.get(TagPrefix.dustImpure, material, 1) - const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1) - - if (impureDustItem !== null && dustItem !== null) { - - // Bulk washing - event.recipes.greate.splashing(dustItem, impureDustItem) - .id(`tfg:splashing/${material.getName()}_dust_from_impure`) - - event.recipes.tfc.barrel_instant() - .inputItem(impureDustItem) - .inputFluid(Fluid.of("minecraft:water", 100)) - .outputItem(dustItem) - .id(`tfg:instant_barrel/${material.getName()}_dust_from_impure`) - - // Centrifuging - let byproductMaterial = material.getProperty(PropertyKey.ORE).getOreByProduct(0, material); - - event.recipes.vintageimprovements.centrifugation( - [dustItem, Item.of(ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1)).withChance(0.111)], - impureDustItem) - .processingTime(material.getMass() * 10 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) - .id(`tfg:vi/centrifuge/${material.getName()}_dust_from_impure`) - - // Dropping in water - event.custom({ - type: "ae2:transform", - circumstance: { - type: "fluid", - tag: "tfc:any_water" - }, - ingredients: [ - impureDustItem.toJson() - ], - result: dustItem.toJson() - }).id(`tfg:ae_transform/${material.getName()}_dust_from_impure`) - } - } - - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - const processPureDust = (material) => { - const pureDust = ChemicalHelper.get(TagPrefix.dustPure, material, 1) - const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1) - - if (pureDust !== null && dustItem !== null) { - - // Bulk washing - event.recipes.greate.splashing(dustItem, pureDust) - .id(`tfg:splashing/${material.getName()}_dust_from_pure`) - - event.recipes.tfc.barrel_instant() - .inputItem(pureDust) - .inputFluid(Fluid.of("minecraft:water", 100)) - .outputItem(dustItem) - .id(`tfg:instant_barrel/${material.getName()}_dust_from_pure`) - - // Centrifuging - let byproductMaterial = material.getProperty(PropertyKey.ORE).getOreByProduct(1, material); - - event.recipes.vintageimprovements.centrifugation( - [dustItem, Item.of(ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1)).withChance(0.111)], - pureDust) - .processingTime(material.getMass() * 10 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) - .id(`tfg:vi/centrifuge/${material.getName()}_dust_from_pure`) - - // Dropping in water - event.custom({ - type: "ae2:transform", - circumstance: { - type: "fluid", - tag: "tfc:any_water" - }, - ingredients: [ - pureDust.toJson() - ], - result: dustItem.toJson() - }).id(`tfg:ae_transform/${material.getName()}_dust_from_pure`) - } - } - - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - const processGems = (material) => { - let gem = ChemicalHelper.get(TagPrefix.gem, material, 1); - if (gem.hasTag('c:hidden_from_recipe_viewers')) - return - - let chipped = ChemicalHelper.get(TagPrefix.gemChipped, material, 1) - let smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1) - - event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless( - ChemicalHelper.get(TFGTagPrefix.budIndicator, material, 1), [gem, '#tfc:chisels'])) - .id(`shapeless/${material.getName()}_bud_indicator`) - - event.shaped(smallDust, - ['A', 'B'], - { A: chipped, B: '#forge:tools/mortars' }) - .id(`shapeless/mortar_chipped_${material.getName()}`) - - let amount = 9; - if (material === GTMaterials.NetherQuartz || material === GTMaterials.CertusQuartz || material === GTMaterials.Amethyst) - amount = 4; - - 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`) - } - - //Anvils - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - const processAnvil = (material) => { - const anvilStack = ChemicalHelper.get(TFGTagPrefix.anvil, material, 1) - if (anvilStack === null) return; - - event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_anvil`) - .itemInputs(anvilStack) - .itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 14)) - .duration(material.getMass() * 32) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_anvil`) - .itemInputs(anvilStack) - .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, 14)) - .duration(material.getMass() * 32) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_anvil`) - .itemInputs(anvilStack) - .outputFluids(Fluid.of(material.getFluid(), 14 * 144)) - .duration(material.getMass() * 32) - .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(getExtractorEUt(material)) - - event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_anvil`) - .itemInputs(ChemicalHelper.get(TagPrefix.ingot, material, 14)) - .notConsumable('gtceu:anvil_casting_mold') - .itemOutputs(anvilStack) - .duration(material.getMass() * 32) - .EUt(GTValues.VA[GTValues.ULV]) - .category(GTRecipeCategories.INGOT_MOLDING) - - event.recipes.gtceu.fluid_solidifier(`tfg:solidify_${material.getName()}_anvil`) - .inputFluids(Fluid.of(material.getFluid(), 14 * 144)) - .notConsumable('gtceu:anvil_casting_mold') - .itemOutputs(anvilStack) - .duration(material.getMass() * 32) - .EUt(GTValues.VA[GTValues.LV]) - } - - //Unfinished Lamps - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - const processLamp = (material) => { - const finishedLampStack = ChemicalHelper.get(TFGTagPrefix.lamp, material, 1) - if (finishedLampStack === null) return; - - const materialDustStack = ChemicalHelper.get(TagPrefix.dust, material, 1) - const materialIngotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1) - const glassDustStack = ChemicalHelper.get(TagPrefix.dust, GTMaterials.Glass, 1) - const unfinishedLampStack = ChemicalHelper.get(TFGTagPrefix.lampUnfinished, material, 1) - - event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_lamp`) - .itemInputs(finishedLampStack) - .itemOutputs([materialDustStack, glassDustStack]) - .duration(material.getMass() * 8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_lamp`) - .itemInputs(finishedLampStack) - .itemOutputs([materialIngotStack, glassDustStack]) - .duration(material.getMass() * 8) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.assembler(`tfg:${material.getName()}_lamp`) - .itemInputs("tfc:lamp_glass", unfinishedLampStack) - .itemOutputs(finishedLampStack) - .duration(material.getMass() * 7) - .circuit(12) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.assembler(`tfg:${material.getName()}_lamp_from_liquid`) - .itemInputs(unfinishedLampStack) - .inputFluids(Fluid.of(GTMaterials.Glass.getFluid(), 144)) - .itemOutputs(finishedLampStack) - .duration(material.getMass() * 7) - .circuit(13) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_unfinished_lamp`) - .itemInputs(unfinishedLampStack) - .itemOutputs(materialDustStack) - .duration(material.getMass() * 8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_unfinished_lamp`) - .itemInputs(unfinishedLampStack) - .itemOutputs(materialIngotStack) - .duration(material.getMass() * 8) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_unfinished_lamp`) - .itemInputs(unfinishedLampStack) - .outputFluids(Fluid.of(material.getFluid(), 144)) - .duration(material.getMass() * 8) - .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(getExtractorEUt(material)) - - event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_unfinished_lamp`) - .itemInputs(materialIngotStack) - .notConsumable('tfg:lamp_casting_mold') - .itemOutputs(unfinishedLampStack) - .duration(material.getMass() * 8) - .category(GTRecipeCategories.INGOT_MOLDING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.fluid_solidifier(`tfg:solidify_${material.getName()}_unfinished_lamp`) - .inputFluids(Fluid.of(material.getFluid(), 144)) - .notConsumable('tfg:lamp_casting_mold') - .itemOutputs(unfinishedLampStack) - .duration(material.getMass() * 8) - .EUt(GTValues.VA[GTValues.LV]) - } - - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - const processTrapdoor = (material) => { - const trapdoorStack = ChemicalHelper.get(TFGTagPrefix.trapdoor, material, 1) - if (trapdoorStack === null) return; - - const materialDustStack = ChemicalHelper.get(TagPrefix.dust, material, 1) - const materialIngotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1) - - event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_trapdoor`) - .itemInputs(trapdoorStack) - .itemOutputs(materialDustStack) - .duration(material.getMass() * 7) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_trapdoor`) - .itemInputs(trapdoorStack) - .itemOutputs(materialIngotStack) - .duration(material.getMass() * 7) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_trapdoor`) - .itemInputs(trapdoorStack) - .outputFluids(Fluid.of(material.getFluid(), 144)) - .duration(material.getMass() * 7) - .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(getExtractorEUt(material)) - - - event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_trapdoor`) - .itemInputs(materialIngotStack) - .notConsumable('tfg:trapdoor_casting_mold') - .itemOutputs(trapdoorStack) - .duration(material.getMass() * 8) - .category(GTRecipeCategories.INGOT_MOLDING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.fluid_solidifier(`tfg:solidify_${material.getName()}_trapdoor`) - .inputFluids(Fluid.of(material.getFluid(), 144)) - .notConsumable('tfg:trapdoor_casting_mold') - .itemOutputs(trapdoorStack) - .duration(material.getMass() * 7) - .EUt(GTValues.VA[GTValues.LV]) - } - - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - const processChain = (material) => { - const chainStack = ChemicalHelper.get(TFGTagPrefix.chain, material, 1) - if (chainStack === null) return; - - const chain2Stack = ChemicalHelper.get(TFGTagPrefix.chain, material, 2) - - const materialDustTinyStack = ChemicalHelper.get(TagPrefix.dustTiny, material, 1) - const materialNuggetStack = ChemicalHelper.get(TagPrefix.nugget, material, 1) - const materialIngotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1) - - event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_chain`) - .itemInputs(chain2Stack) - .itemOutputs(materialDustTinyStack) - .duration(material.getMass() * 3) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_chain`) - .itemInputs(chain2Stack) - .itemOutputs(materialNuggetStack) - .duration(material.getMass() * 3) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_chain`) - .itemInputs(chainStack) - .outputFluids(Fluid.of(material.getFluid(), 9)) - .duration(material.getMass() * 3) - .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(getExtractorEUt(material)) - - event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_chain`) - .itemInputs(materialIngotStack) - .notConsumable('tfg:chain_casting_mold') - .itemOutputs(ChemicalHelper.get(TFGTagPrefix.chain, material, 16)) - .duration(material.getMass() * 3) - .category(GTRecipeCategories.INGOT_MOLDING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.fluid_solidifier(`tfg:solidify_${material.getName()}_chain`) - .inputFluids(Fluid.of(material.getFluid(), 9)) - .notConsumable('tfg:chain_casting_mold') - .itemOutputs(chainStack) - .duration(material.getMass() * 3) - .EUt(GTValues.VA[GTValues.LV]) - } - - //Bell - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - const processBell = (material) => { - const bellStack = ChemicalHelper.get(TFGTagPrefix.bell, material, 1) - if (bellStack === null) return; - - const materialDustStack = ChemicalHelper.get(TagPrefix.dust, material, 1) - const materialIngotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1) - - event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_bell`) - .itemInputs(bellStack) - .itemOutputs(materialDustStack) - .duration(material.getMass() * 5) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.arc_furnace(`tfg:arc_${material.getName()}_bell`) - .itemInputs(bellStack) - .itemOutputs(materialIngotStack) - .duration(material.getMass() * 5) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_bell`) - .itemInputs(bellStack) - .outputFluids(Fluid.of(material.getFluid(), 144)) - .duration(material.getMass() * 5) - .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.alloy_smelter(`tfg:cast_${material.getName()}_bell`) - .itemInputs(materialIngotStack) - .notConsumable('tfg:bell_casting_mold') - .itemOutputs(bellStack) - .duration(material.getMass() * 5) - .category(GTRecipeCategories.INGOT_MOLDING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.fluid_solidifier(`tfg:solidify_${material.getName()}_bell`) - .inputFluids(Fluid.of(material.getFluid(), 144)) - .notConsumable('tfg:bell_casting_mold') - .itemOutputs(bellStack) - .duration(material.getMass() * 5) - .EUt(GTValues.VA[GTValues.LV]) - } - - //Buzzsaws - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - const processBuzzsawBlade = (material) => { - const buzzsawBladeItem = ChemicalHelper.get(TagPrefix.toolHeadBuzzSaw, material, 1) - const doublePlateItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) - if (buzzsawBladeItem === null || doublePlateItem === null) return; - - let isLowTier = material.hasProperty(TFGPropertyKey.TFC_PROPERTY) - - event.recipes.gtceu.lathe(`buzzsaw_gear_${material.getName()}`) - .itemInputs(doublePlateItem) - .itemOutputs(buzzsawBladeItem) - .duration(material.getMass() * 6) - .EUt(GTValues.VA[isLowTier ? GTValues.LV : GTValues.MV]) - - if (isLowTier) { - event.recipes.vintageimprovements.polishing(buzzsawBladeItem, doublePlateItem) - .speedLimits(0) - .processingTime(material.getMass() * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) - .id(`tfg:vi/lathe/${material.getName()}_buzzsaw`) - } - - removeMaceratorRecipe(event, `macerate_${material.getName()}_buzz_saw_blade`) - event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_buzz_saw_blade`) - .itemInputs(buzzsawBladeItem) - .itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 2)) - .duration(material.getMass() * 6 * 2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.remove({ id: `gtceu:arc_furnace/arc_${material.getName()}_buzz_saw_blade` }) - event.recipes.gtceu.arc_furnace(`tfg:arc_furnace_${material.getName()}_buzz_saw_blade`) - .itemInputs(buzzsawBladeItem) - .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, 2)) - .duration(material.getMass() * 6 * 2) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - - event.remove({ id: `gtceu:extractor/extract_${material.getName()}_buzz_saw_blade` }) - event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_buzz_saw_blade`) - .itemInputs(buzzsawBladeItem) - .outputFluids(Fluid.of(material.getFluid(), 2 * 144)) - .duration(material.getMass() * 6 * 2) - .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(getExtractorEUt(material)) - - event.remove({ id: `gtceu:shaped/buzzsaw_blade_${material.getName()}` }) - } - - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - const removePowerToolRecycling = (material) => { - removeMaceratorRecipe(event, `macerate_lv_${material.getName()}_wrench`) - event.remove({ id: `gtceu:arc_furnace/arc_lv_${material.getName()}_wrench` }) - removeMaceratorRecipe(event, `macerate_hv_${material.getName()}_wrench`) - event.remove({ id: `gtceu:arc_furnace/arc_hv_${material.getName()}_wrench` }) - removeMaceratorRecipe(event, `macerate_iv_${material.getName()}_wrench`) - event.remove({ id: `gtceu:arc_furnace/arc_iv_${material.getName()}_wrench` }) - removeMaceratorRecipe(event, `macerate_lv_${material.getName()}_chainsaw`) - event.remove({ id: `gtceu:arc_furnace/arc_lv_${material.getName()}_chainsaw` }) - removeMaceratorRecipe(event, `macerate_${material.getName()}_buzzsaw`) - event.remove({ id: `gtceu:arc_furnace/arc_${material.getName()}_buzzsaw` }) - removeMaceratorRecipe(event, `macerate_lv_${material.getName()}_drill`) - event.remove({ id: `gtceu:arc_furnace/arc_lv_${material.getName()}_drill` }) - removeMaceratorRecipe(event, `macerate_mv_${material.getName()}_drill`) - event.remove({ id: `gtceu:arc_furnace/arc_mv_${material.getName()}_drill` }) - removeMaceratorRecipe(event, `macerate_hv_${material.getName()}_drill`) - event.remove({ id: `gtceu:arc_furnace/arc_hv_${material.getName()}_drill` }) - removeMaceratorRecipe(event, `macerate_ev_${material.getName()}_drill`) - event.remove({ id: `gtceu:arc_furnace/arc_ev_${material.getName()}_drill` }) - removeMaceratorRecipe(event, `macerate_iv_${material.getName()}_drill`) - event.remove({ id: `gtceu:arc_furnace/arc_iv_${material.getName()}_drill` }) - removeMaceratorRecipe(event, `macerate_lv_${material.getName()}_screwdriver`) - event.remove({ id: `gtceu:arc_furnace/arc_lv_${material.getName()}_screwdriver` }) - removeMaceratorRecipe(event, `macerate_lv_${material.getName()}_wirecutter`) - event.remove({ id: `gtceu:arc_furnace/arc_lv_${material.getName()}_wirecutter` }) - removeMaceratorRecipe(event, `macerate_hv_${material.getName()}_wirecutter`) - event.remove({ id: `gtceu:arc_furnace/arc_hv_${material.getName()}_wirecutter` }) - removeMaceratorRecipe(event, `macerate_iv_${material.getName()}_wirecutter`) - event.remove({ id: `gtceu:arc_furnace/arc_iv_${material.getName()}_wirecutter` }) - } - - const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") - - forEachMaterial(material => { - // greate moment - if (material === $GreateMaterials.AndesiteAlloy - || material === $GreateMaterials.RefinedRadiance - || material === $GreateMaterials.ShadowSteel - || material === $GreateMaterials.ChromaticCompound - || material === GTMaterials.DamascusSteel) - { return; } - - const toolProperty = material.getProperty(PropertyKey.TOOL) - const ingotProperty = material.getProperty(PropertyKey.INGOT) - const oreProperty = material.getProperty(PropertyKey.ORE) - - if (toolProperty !== null) { - let circuit = 1; - makeToolRecipe(GTToolType.SWORD, "sword_head", TFGTagPrefix.toolHeadSword, 'tfg:sword_head_extruder_mold', circuit++, material) - makeToolRecipe(GTToolType.PICKAXE, "pickaxe_head", TFGTagPrefix.toolHeadPickaxe, 'tfg:pickaxe_head_extruder_mold', circuit++, material) - makeToolRecipe(GTToolType.AXE, "axe_head", TFGTagPrefix.toolHeadAxe, 'tfg:axe_head_extruder_mold', circuit++, material) - makeToolRecipe(GTToolType.SHOVEL, "shovel_head", TFGTagPrefix.toolHeadShovel, 'tfg:shovel_head_extruder_mold', circuit++, material) - makeToolRecipe(GTToolType.HOE, "hoe_head", TFGTagPrefix.toolHeadHoe, 'tfg:hoe_head_extruder_mold', circuit++, material) - makeToolRecipe(GTToolType.KNIFE, "knife_head", TFGTagPrefix.toolHeadKnife, 'tfg:knife_head_extruder_mold', circuit++, material) - makeToolRecipe(GTToolType.FILE, "file_head", TFGTagPrefix.toolHeadFile, 'tfg:file_head_extruder_mold', circuit++, material) - makeToolRecipe(GTToolType.SAW, "saw_head", TFGTagPrefix.toolHeadSaw, 'tfg:saw_head_extruder_mold', circuit++, material) - makeToolRecipe(GTToolType.SPADE, "spade_head", TFGTagPrefix.toolHeadSpade, 'tfg:spade_head_extruder_mold', circuit++, material) - makeToolRecipe(GTToolType.MINING_HAMMER, "mining_hammer_head", TFGTagPrefix.toolHeadMiningHammer, 'tfg:mining_hammer_head_extruder_mold', circuit++, material) - makeToolRecipe(GTToolType.SCYTHE, "scythe_head", TFGTagPrefix.toolHeadScythe, 'tfg:scythe_head_extruder_mold', circuit++, material) - makeToolRecipe(GTToolType.HARD_HAMMER, "hammer_head", TFGTagPrefix.toolHeadHammer, 'tfg:hammer_head_extruder_mold', circuit++, material) - makeToolRecipe(GTToolType.BUTCHERY_KNIFE, "butchery_knife_head", TFGTagPrefix.toolHeadButcheryKnife, 'tfg:butchery_knife_head_extruder_mold', circuit++, material) - makeToolRecipe(GTToolType.SCREWDRIVER, "screwdriver_tip", TagPrefix.toolHeadScrewdriver, 'tfg:screwdriver_tip_extruder_mold', circuit++, material) - makeToolRecipe(GTToolType.WRENCH, "wrench_tip", TagPrefix.toolHeadWrench, 'tfg:wrench_tip_extruder_mold', circuit++, material) - makeToolRecipe(GTToolType.WIRE_CUTTER, "wire_cutter_head", TagPrefix.toolHeadWireCutter, 'tfg:wire_cutter_head_extruder_mold', circuit++, material) - - processToolMortar(GTToolType.MORTAR, material) - - processToolHead(TFGTagPrefix.toolHeadPropick, "propick_head", 'tfg:propick_head_extruder_mold', circuit++, material) - processToolHead(TFGTagPrefix.toolHeadJavelin, "javelin_head", 'tfg:javelin_head_extruder_mold', circuit++, material) - processToolHead(TFGTagPrefix.toolHeadChisel, "chisel_head", 'tfg:chisel_head_extruder_mold', circuit++, material) - processToolHead(TFGTagPrefix.toolHeadMace, "mace_head", 'tfg:mace_head_extruder_mold', circuit++, material) - processToolHead(TFGTagPrefix.toolHeadMattock, "mattock_head", 'tfg:mattock_head_extruder_mold', circuit++, material) - processToolHead(TFGTagPrefix.toolHeadHook, "fish_hook", 'tfg:fish_hook_extruder_mold', circuit, material) - - removePowerToolRecycling(material) - } - - if (ingotProperty !== null) { - processIngot(material) - processPlate(material) - processPlateDouble(material) - processBlock(material) - processFoil(material) - processRodLong(material) - processIngotDouble(material) - - processAnvil(material) - processLamp(material) - processTrapdoor(material) - processChain(material) - processBell(material) - processBuzzsawBlade(material) - - event.remove({ id: `gtceu:shaped/spring_${material.getName()}` }) - event.remove({ id: `gtceu:shaped/spring_small_${material.getName()}` }) - } - - if (oreProperty !== null && material !== GTMaterials.Plutonium239) { - - processSmallOre(material) - processSmallNativeOre(material) - processPoorRawOre(material) - processNormalRawOre(material) - processRichRawOre(material) - - processCrushedOre(material) - processPurifiedOre(material) - processRefinedOre(material) - processImpureDust(material) - processPureDust(material) - - if (material.hasProperty(PropertyKey.GEM)) { - processGems(material) - } - - // Indicators - event.replaceInput({ id: `gtceu:shaped/${material.getName()}_surface_indicator` }, - 'minecraft:gravel', '#tfc:rock/gravel') - } - }) -} diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index d180a6450..f4353e569 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -778,6 +778,7 @@ function removeGTCEURecipes(event) { event.remove({ id: 'greate:mixing/integration/gtceu/mixer/mossy_red_granite_cobblestone_from_vine' }) event.remove({ id: 'gtceu:lathe/stone_rod_from_cobblestone' }) + event.remove({ id: 'gtceu:extractor/extract_sodium_hydroxide_dust' }) // who the hell is grinding metal ingots with their bare hands? event.remove({ id: 'gtceu:shaped/mortar_grind_antimony' }) diff --git a/kubejs/server_scripts/gregtech/utility.js b/kubejs/server_scripts/gregtech/utility.js index b16721aed..8c5176bf1 100644 --- a/kubejs/server_scripts/gregtech/utility.js +++ b/kubejs/server_scripts/gregtech/utility.js @@ -66,135 +66,6 @@ const generateCutterRecipe = (event, input, output, duration, EUt, id) => { //#endregion -//#region Filling NBT -/** - * Function to get fluid filling NBT. - * - * @param {string} material -Fluid - * @param {number} amount -mB - * @returns {{ tank: { FluidName: string; Amount: number; }; }} - */ -const getFillingNBT = (material, amount) => { - return { - tank: { - FluidName: Fluid.of(material.getFluid()).getId(), - Amount: amount - } - } -} -//#endregion - -//#region Plated Blocks -/** - * Function for generating plated block recipes. - * - * @param {*} event - * @param {GTMaterial} material - */ -function generatePlatedBlockRecipe(event, material) { - // firmaciv plated blocks don't have this property - const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) - const outputMaterial = (tfcProperty === null || tfcProperty.getOutputMaterial() === null) ? material : tfcProperty.getOutputMaterial() - - const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1); - - const platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1); - const platedSlab = ChemicalHelper.get(TFGTagPrefix.slabPlated, material, 1); - const platedStair = ChemicalHelper.get(TFGTagPrefix.stairPlated, material, 1); - - if (platedBlock === null) return; - - let tfcMetalName = material.getName(); - if (tfcMetalName === "iron") { - tfcMetalName = "cast_iron"; - } - - event.shapeless(platedBlock, ['#forge:stone_bricks', plateItem, '#forge:tools/hammers']) - .id(`tfg:shapeless/${material.getName()}_plated_block`) - event.recipes.gtceu.assembler(`tfg:${material.getName()}_plated_block`) - .itemInputs('#forge:stone_bricks', plateItem) - .itemOutputs(platedBlock) - .circuit(10) - .duration(50) - .EUt(GTValues.VA[GTValues.ULV]) - - if (tfcProperty !== null) { - event.recipes.tfc.heating(platedBlock, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${tfcMetalName}_block`) - } - event.recipes.gtceu.macerator(`tfg:${material.getName()}_plated_block`) - .itemInputs(platedBlock) - .itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 1)) - .duration(material.getMass()) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.arc_furnace(`tfg:${material.getName()}_plated_block`) - .itemInputs(platedBlock) - .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, 1)) - .duration(material.getMass()) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - - - event.shapeless(platedSlab.withCount(2), ['2x #tfg:brick_slabs', plateItem, '#forge:tools/hammers']) - .id(`tfg:item_application/${material.getName()}_plated_slab`) - event.recipes.gtceu.assembler(`tfg:${material.getName()}_plated_slab`) - .itemInputs('2x #tfg:brick_slabs', plateItem) - .itemOutputs(platedSlab.withCount(2)) - .circuit(10) - .duration(50) - .EUt(GTValues.VA[GTValues.ULV]) - - if (tfcProperty !== null) { - // Slabs are lossy because it's possible to plate a double slab block with one metal plate - event.recipes.tfc.heating(platedSlab, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 72)) - .id(`tfc:heating/metal/${tfcMetalName}_block_slab`) - } - event.recipes.gtceu.macerator(`tfg:${material.getName()}_plated_slab`) - .itemInputs(platedSlab) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, material, 2)) - .duration(material.getMass()) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.arc_furnace(`tfg:${material.getName()}_plated_slab`) - .itemInputs(platedSlab) - .itemOutputs(ChemicalHelper.get(TagPrefix.nugget, material, 4)) - .duration(material.getMass()) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) - - - event.shapeless(platedStair, ['#tfg:brick_stairs', plateItem, '#forge:tools/hammers']) - .id(`tfg:item_application/${material.getName()}_plated_stair`) - event.recipes.gtceu.assembler(`tfg:${material.getName()}_plated_stair`) - .itemInputs('#tfg:brick_stairs', plateItem) - .itemOutputs(platedStair) - .circuit(10) - .duration(50) - .EUt(GTValues.VA[GTValues.ULV]) - - if (tfcProperty !== null) { - event.recipes.tfc.heating(platedStair, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${tfcMetalName}_block_stairs`) - } - event.recipes.gtceu.macerator(`tfg:${material.getName()}_plated_stair`) - .itemInputs(platedStair) - .itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 1)) - .duration(material.getMass()) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.arc_furnace(`tfg:${material.getName()}_plated_stair`) - .itemInputs(platedStair) - .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, 1)) - .duration(material.getMass()) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) -} -//#endregion - //#region forEachMaterial /** * Function for iterating through registered materials diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 1e1452714..237af4431 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -278,6 +278,7 @@ ServerEvents.recipes(event => { registerTFCGurmanRecipes(event) registerTFGRecipes(event) registerTFCTextileRecipes(event) + registerTFCScrapingKnivesRecipes(event) registerToolBeltRecipes(event) registerVintageImprovementsRecipes(event) registerWaterFlasksRecipes(event) diff --git a/kubejs/server_scripts/rnr/recipes.js b/kubejs/server_scripts/rnr/recipes.js index 54bb5abdd..e08997d9e 100644 --- a/kubejs/server_scripts/rnr/recipes.js +++ b/kubejs/server_scripts/rnr/recipes.js @@ -1,46 +1,45 @@ "use strict"; const registerRnrRecipes = (event) => { - event.remove({input: 'rnr:concrete_powder'}) - event.remove({id: 'rnr:crafting/concrete_powder'}) + event.remove({ input: 'rnr:concrete_powder' }) + event.remove({ id: 'rnr:crafting/concrete_powder' }) -//#region Recipes - event.recipes.gtceu.assembler('rnr:assembler/base_course') + event.recipes.gtceu.assembler('rnr:assembler/base_course') .itemInputs('1x rnr:crushed_base_course', '1x #tfc:dirt') .itemOutputs('2x rnr:base_course') - .circuit(7) + .circuit(7) .duration(20) .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.assembler('rnr:assembler/crushed_base_course') + + event.recipes.gtceu.assembler('rnr:assembler/crushed_base_course') .itemInputs('1x #forge:gravel', '1x #rnr:loose_rock_items') .itemOutputs('8x rnr:crushed_base_course') - .circuit(7) + .circuit(7) .duration(20) .EUt(GTValues.VA[GTValues.ULV]) - global.TFC_STONE_TYPES.forEach(stone => { - event.recipes.gtceu.cutter(`rnr:assembler/flagstone/${stone}`) - .itemInputs(`tfc:brick/${stone}`) - .itemOutputs(`2x rnr:flagstone/${stone}`) - .duration(20) - .EUt(GTValues.VA[GTValues.ULV]) + global.TFC_STONE_TYPES.forEach(stone => { + event.recipes.gtceu.cutter(`rnr:assembler/flagstone/${stone}`) + .itemInputs(`tfc:brick/${stone}`) + .itemOutputs(`2x rnr:flagstone/${stone}`) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.cutter(`rnr:assembler/flagstone/mossy_${stone}`) - .itemInputs(`tfc:rock/mossy_loose/${stone}`) - .itemOutputs(`2x rnr:flagstone/${stone}`) - .duration(20) - .EUt(GTValues.VA[GTValues.ULV]) - }); + event.recipes.gtceu.cutter(`rnr:assembler/flagstone/mossy_${stone}`) + .itemInputs(`tfc:rock/mossy_loose/${stone}`) + .itemOutputs(`2x rnr:flagstone/${stone}`) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + }); - global.SAND_COLORS.forEach(sand => { - event.recipes.gtceu.assembler(`rnr:assembler/flagstone/${sand}_sandstone`) - .itemInputs(`tfc:raw_sandstone/${sand}`) - .itemOutputs(`8x rnr:flagstone/${sand}_sandstone`) - .circuit(7) - .duration(20) - .EUt(GTValues.VA[GTValues.ULV]) - }); + global.SAND_COLORS.forEach(sand => { + event.recipes.gtceu.assembler(`rnr:assembler/flagstone/${sand}_sandstone`) + .itemInputs(`tfc:raw_sandstone/${sand}`) + .itemOutputs(`8x rnr:flagstone/${sand}_sandstone`) + .circuit(7) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + }); event.smelting( '1x rnr:terracotta_roof_tile', @@ -51,10 +50,10 @@ const registerRnrRecipes = (event) => { '1x rnr:ceramic_roof_tile', 'rnr:unfired_roof_tile' ).id('rnr:smelting/unfired_roof_tile') - - event.remove({id: 'rnr:clay_knapping/roof_tile_a'}) - event.remove({id: 'rnr:clay_knapping/roof_tile_b'}) - event.remove({id: 'rnr:clay_knapping/roof_tile_c'}) + + event.remove({ id: 'rnr:clay_knapping/roof_tile_a' }) + event.remove({ id: 'rnr:clay_knapping/roof_tile_b' }) + event.remove({ id: 'rnr:clay_knapping/roof_tile_c' }) event.recipes.tfc.knapping('10x rnr:unfired_roof_tile', 'tfc:clay', [ 'XXXXX', @@ -84,7 +83,7 @@ const registerRnrRecipes = (event) => { event.recipes.gtceu.mixer('rnr:mixer/wet_concrete_mix') .inputFluids('gtceu:concrete 200', "#tfg:clean_water 800") .outputFluids('rnr:concrete 1000') - .circuit(7) + .circuit(7) .duration(200) .EUt(GTValues.VA[GTValues.ULV]) }; \ No newline at end of file diff --git a/kubejs/server_scripts/sacksnstuff/recipes.js b/kubejs/server_scripts/sacksnstuff/recipes.js index f49d33ae7..fc0ba14d7 100644 --- a/kubejs/server_scripts/sacksnstuff/recipes.js +++ b/kubejs/server_scripts/sacksnstuff/recipes.js @@ -247,23 +247,45 @@ const registerSNSRecipes = (event) => { .circuit(4) .duration(40) .EUt(GTValues.VA[GTValues.LV]) + event.custom({ + type: "createaddition:rolling", + input: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 1), + result: 'sns:metal/horseshoe/steel' + }).id(`tfg:rolling/steel_horseshoe`) + event.recipes.gtceu.bender('sns:horseshoe_black_steel_electric_only') .itemInputs('#forge:rods/black_steel') .itemOutputs('sns:metal/horseshoe/black_steel') .circuit(4) .duration(40) .EUt(GTValues.VA[GTValues.LV]) + event.custom({ + type: "createaddition:rolling", + input: ChemicalHelper.get(TagPrefix.rod, GTMaterials.BlackSteel, 1), + result: 'sns:metal/horseshoe/black_steel' + }).id(`tfg:rolling/black_steel_horseshoe`) + event.recipes.gtceu.bender('sns:horseshoe_blue_steel_electric_only') .itemInputs('#forge:rods/blue_steel') .itemOutputs('sns:metal/horseshoe/blue_steel') .circuit(4) .duration(40) .EUt(GTValues.VA[GTValues.LV]) + event.custom({ + type: "createaddition:rolling", + input: ChemicalHelper.get(TagPrefix.rod, GTMaterials.BlueSteel, 1), + result: 'sns:metal/horseshoe/blue_steel' + }).id(`tfg:rolling/blue_steel_horseshoe`) + event.recipes.gtceu.bender('sns:horseshoe_red_steel_electric_only') .itemInputs('#forge:rods/red_steel') .itemOutputs('sns:metal/horseshoe/red_steel') .circuit(4) .duration(40) .EUt(GTValues.VA[GTValues.LV]) - + event.custom({ + type: "createaddition:rolling", + input: ChemicalHelper.get(TagPrefix.rod, GTMaterials.RedSteel, 1), + result: 'sns:metal/horseshoe/red_steel' + }).id(`tfg:rolling/red_steel_horseshoe`) } diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 18dfe338e..4289b3b0e 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -8,55 +8,11 @@ const registerTFCRecipes = (event) => { removeTFCRecipes(event) - registerTFCMaterialsRecipes(event) registerTFCMetalsRecipes(event) registerTFCDyeRecipes(event) - // Добавление рецептов - 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" }, - { 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/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/rock_salt", output: "4x tfc:powder/sylvite", name: "rock_salt" }, - { 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: "#forge:dusts/charcoal", output: "4x tfc:powder/charcoal", name: "charcoal" }, - { input: "tfc:ore/sylvite", output: "4x tfc:powder/sylvite", name: "sylvite" }, - ]); + event.remove({ mod: 'tfc', type: 'tfc:casting' }); - TFC_QUERN_POWDER_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.macerator(`tfg:${element.name}`) - .itemInputs(element.input) - .itemOutputs(element.output) - .duration(60) - .EUt(2) - - event.recipes.tfc.quern(element.output, element.input) - .id(`tfg:quern/${element.name}`) - }) // Доменная печь event.recipes.gtceu.shaped('tfc:blast_furnace', [ 'AAA', diff --git a/kubejs/server_scripts/tfc/recipes.materials.js b/kubejs/server_scripts/tfc/recipes.materials.js deleted file mode 100644 index ca01ca3d1..000000000 --- a/kubejs/server_scripts/tfc/recipes.materials.js +++ /dev/null @@ -1,1612 +0,0 @@ -// priority: 0 -"use strict"; - -function getExtractorEUt(material) { - return (material.hasProperty(PropertyKey.BLAST) && material !== GTMaterials.BismuthBronze && material !== GTMaterials.BlackBronze - ? GTValues.VA[GTValues.MV] - : GTValues.VA[GTValues.LV]); - } - -function registerTFCMaterialsRecipes(event) { - - forEachMaterial(material => { - let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) - - if (tfcProperty === null) { - return; - } - - let outputMaterial = (tfcProperty.getOutputMaterial() === null) ? material : tfcProperty.getOutputMaterial() - - // Ingots - let ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) - if (!ingotItem.isEmpty()) { - - // Декрафт слитка в жидкость - event.recipes.tfc.heating(ingotItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_ingot`) - - if (material !== GTMaterials.WroughtIron) { - - // Отливка слитка в обычной форме - event.recipes.tfc.casting(ingotItem, 'tfc:ceramic/ingot_mold', Fluid.of(outputMaterial.getFluid(), 144), 0.1) - .id(`tfc:casting/${material.getName()}_ingot`) - - // Отливка слитка в огнеупорной форме - event.recipes.tfc.casting(ingotItem, 'tfc:ceramic/fire_ingot_mold', Fluid.of(outputMaterial.getFluid(), 144), 0.01) - .id(`tfc:casting/${material.getName()}_fire_ingot`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/ingot_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/ingot_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_ingot`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/fire_ingot_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/fire_ingot_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_fire_ingot`) - } - - // Double Ingots - let doubleIngotItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1) - if (!doubleIngotItem.isEmpty()) { - - // Декрафт двойного слитка в жидкость - event.recipes.tfc.heating(doubleIngotItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_double_ingot`) - - // 2 слитка -> Двойной слиток - event.recipes.tfc.welding(doubleIngotItem, ingotItem, ingotItem, tfcProperty.getTier() - 1) - .id(`tfc:welding/${material.getName()}_double_ingot`) - - event.recipes.greate.compacting(doubleIngotItem, [ingotItem, ingotItem, 'tfc:powder/flux']) - .heated() - .recipeTier(tfcProperty.getTier() < 5 ? 0 : 1) - .circuitNumber(0) - .id(`greate:compacting/${material.getName()}_double_ingot`) - - // Plates - let plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) - if (!plateItem.isEmpty()) { - - // Декрафт пластины в жидкость - event.recipes.tfc.heating(plateItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_sheet`) - - // Двойной слиток -> Пластина - event.recipes.tfc.anvil(plateItem, doubleIngotItem, ['hit_last', 'hit_second_last', 'hit_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_sheet`) - - // Double Plate - let doublePlateItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) - if (!doublePlateItem.isEmpty()) { - - // Декрафт двойных пластин - event.recipes.tfc.heating(doublePlateItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_double_sheet`) - - // Две пластины -> Двойная пластина - event.recipes.tfc.welding(doublePlateItem, plateItem, plateItem) - .tier(tfcProperty.getTier()) - .id(`tfc:welding/${material.getName()}_double_sheet`) - - event.recipes.greate.compacting(doublePlateItem, [plateItem, plateItem, 'tfc:powder/flux']) - .heated() - .recipeTier(tfcProperty.getTier() < 4 ? 0 : 1) - .id(`greate:compacting/${material.getName()}_double_sheet`) - - // Armor - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_ARMOR)) { - //#region Шлем - - // Декрафт незавершенного шлема в жидкость - event.recipes.tfc.heating(`tfc:metal/unfinished_helmet/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_unfinished_helmet`) - - // Незавершенный шлем - event.recipes.tfc.anvil(`tfc:metal/unfinished_helmet/${material.getName()}`, doublePlateItem, ['hit_last', 'bend_second_last', 'bend_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_unfinished_helmet`) - - // Декрафт шлема в жидкость - event.recipes.tfc.heating(`tfc:metal/helmet/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 432)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_helmet`) - - // Шлем - event.recipes.tfc.welding(`tfc:metal/helmet/${material.getName()}`, `tfc:metal/unfinished_helmet/${material.getName()}`, plateItem) - .tier(tfcProperty.getTier()) - .id(`tfc:welding/${material.getName()}_helmet`) - - event.recipes.greate.compacting(`tfc:metal/helmet/${material.getName()}`, [`tfc:metal/unfinished_helmet/${material.getName()}`, plateItem, 'tfc:powder/flux']) - .heated() - .recipeTier(tfcProperty.getTier() < 4 ? 0 : 1) - .id(`greate:compacting/${material.getName()}_helmet`) - - //#endregion - - //#region Нагрудник - - // Декрафт незавершенного нагрудника в жидкость - event.recipes.tfc.heating(`tfc:metal/unfinished_chestplate/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_unfinished_chestplate`) - - // Незавершенный нагрудник - event.recipes.tfc.anvil(`tfc:metal/unfinished_chestplate/${material.getName()}`, doublePlateItem, ['hit_last', 'hit_second_last', 'upset_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_unfinished_chestplate`) - - // Декрафт нагрудника в жидкость - event.recipes.tfc.heating(`tfc:metal/chestplate/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 576)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_chestplate`) - - // Нагрудник - event.recipes.tfc.welding(`tfc:metal/chestplate/${material.getName()}`, `tfc:metal/unfinished_chestplate/${material.getName()}`, doublePlateItem) - .tier(tfcProperty.getTier()) - .id(`tfc:welding/${material.getName()}_chestplate`) - - event.recipes.greate.compacting(`tfc:metal/chestplate/${material.getName()}`, [`tfc:metal/unfinished_chestplate/${material.getName()}`, doublePlateItem, 'tfc:powder/flux']) - .heated() - .recipeTier(tfcProperty.getTier() < 4 ? 0 : 1) - .id(`greate:compacting/${material.getName()}_chestplate`) - - //#endregion - - //#region Поножи - - // Декрафт незавершенных поножей в жидкость - event.recipes.tfc.heating(`tfc:metal/unfinished_greaves/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_unfinished_greaves`) - - // Незавершенные поножи - event.recipes.tfc.anvil(`tfc:metal/unfinished_greaves/${material.getName()}`, doublePlateItem, ['bend_any', 'draw_any', 'hit_any']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_unfinished_greaves`) - - // Декрафт поножей в жидкость - event.recipes.tfc.heating(`tfc:metal/greaves/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 432)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_greaves`) - - // Поножи - event.recipes.tfc.welding(`tfc:metal/greaves/${material.getName()}`, `tfc:metal/unfinished_greaves/${material.getName()}`, plateItem) - .tier(tfcProperty.getTier()) - .id(`tfc:welding/${material.getName()}_greaves`) - - event.recipes.greate.compacting(`tfc:metal/greaves/${material.getName()}`, [`tfc:metal/unfinished_greaves/${material.getName()}`, plateItem, 'tfc:powder/flux']) - .heated() - .recipeTier(tfcProperty.getTier() < 4 ? 0 : 1) - .id(`greate:compacting/${material.getName()}_greaves`) - - //#endregion - - //#region Ботинки - - // Декрафт незавершенных ботинок в жидкость - event.recipes.tfc.heating(`tfc:metal/unfinished_boots/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_unfinished_boots`) - - // Незавершенные ботинки - event.recipes.tfc.anvil(`tfc:metal/unfinished_boots/${material.getName()}`, plateItem, ['bend_last', 'bend_second_last', 'shrink_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_unfinished_boots`) - - // Декрафт ботинок в жидкость - event.recipes.tfc.heating(`tfc:metal/boots/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_boots`) - - // Ботинки - event.recipes.tfc.welding(`tfc:metal/boots/${material.getName()}`, `tfc:metal/unfinished_boots/${material.getName()}`, plateItem) - .tier(tfcProperty.getTier()) - .id(`tfc:welding/${material.getName()}_boots`) - - event.recipes.greate.compacting(`tfc:metal/boots/${material.getName()}`, [`tfc:metal/unfinished_boots/${material.getName()}`, plateItem, 'tfc:powder/flux']) - .heated() - .recipeTier(tfcProperty.getTier() < 4 ? 0 : 1) - .id(`greate:compacting/${material.getName()}_boots`) - - //#endregion - } - - // Tools (From Double Plate) - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { - //#region Фурма - - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/tuyere/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_tuyere`) - - // Фурма - event.recipes.tfc.anvil(`tfc:metal/tuyere/${material.getName()}`, doublePlateItem, ['bend_last', 'bend_second_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_tuyere`) - - // These aren't TFC recipes but they go here since they don't have a tag prefix - // and I'm too lazy to make them one - event.recipes.vintageimprovements.curving(`tfc:metal/tuyere/${material.getName()}`, doublePlateItem) - .head('gtceu:bottle_extruder_mold') - .id(`tfg:vi/curving/${material.getName()}_tuyere`) - - event.recipes.gtceu.extruder(`tfg:${material.getName()}_tuyere`) - .itemInputs(doublePlateItem) - .notConsumable('gtceu:bottle_extruder_mold') - .itemOutputs(`tfc:metal/tuyere/${material.getName()}`) - .duration(material.getMass() * 6) - .EUt(GTValues.VA[GTValues.LV]) - //#endregion - - //#region Щит - - // Декрафт щита в жидкость - event.recipes.tfc.heating(`tfc:metal/shield/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_shield`) - - // Щит - event.recipes.tfc.anvil(`tfc:metal/shield/${material.getName()}`, doublePlateItem, ['upset_last', 'bend_second_last', 'bend_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_shield`) - - event.recipes.vintageimprovements.curving(`tfc:metal/shield/${material.getName()}`, doublePlateItem) - .head('gtceu:plate_extruder_mold') - .id(`tfg:vi/curving/${material.getName()}_shield`) - - event.recipes.gtceu.extruder(`tfg:${material.getName()}_shield`) - .itemInputs(doublePlateItem) - .notConsumable('gtceu:plate_extruder_mold') - .itemOutputs(`tfc:metal/shield/${material.getName()}`) - .duration(material.getMass() * 6) - .EUt(GTValues.VA[GTValues.LV]) - //#endregion - - //#region Конская броня - - // Декрафт конской брони в жидкость - event.recipes.tfc.heating(`tfc:metal/horse_armor/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 864)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_horse_armor`) - - //#endregion - } - - // Buzzsaw blade - let buzzsawBladeItem = ChemicalHelper.get(TagPrefix.toolHeadBuzzSaw, material, 1) - if (!buzzsawBladeItem.isEmpty()) { - event.recipes.tfc.heating(buzzsawBladeItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_buzzsaw_blade`) - - event.recipes.tfc.anvil(buzzsawBladeItem, doublePlateItem, ['bend_last', 'hit_second_last', 'draw_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_buzzsaw_blade`) - } - } - - // Tools (From Plate) - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { - //#region Удочка - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(`tfc:metal/fish_hook/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_fish_hook`) - - // Крюк удочки - event.recipes.tfc.anvil(`tfc:metal/fish_hook/${material.getName()}`, plateItem, ['bend_any', 'hit_any', 'draw_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_fish_hook`) - - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/fishing_rod/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_fishing_rod`) - - //#endregion - } - - generatePlatedBlockRecipe(event, material); - } - - // Tools (From Double Ingots) - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL) || material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) { - //#region Меч - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/sword/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let swordItem = ToolHelper.get(GTToolType.SWORD, material) - if (!swordItem.isEmpty()) { - - event.recipes.tfc.heating(swordItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_sword`) - - } - - let swordHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSword, material, 1) - if (!swordHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(swordHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_sword_blade`) - - // Крафт оголовья - event.recipes.tfc.anvil(swordHeadItem, doubleIngotItem, ['punch_last', 'bend_not_last', 'draw_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_sword_blade`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(swordHeadItem, 'tfc:ceramic/sword_blade_mold', Fluid.of(outputMaterial.getFluid(), 288), 1) - .id(`tfc:casting/${material.getName()}_sword_blade`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/sword_blade_mold', getFillingNBT(outputMaterial, 288)), - [ - Fluid.of(outputMaterial.getFluid(), 288), - Item.of('tfc:ceramic/sword_blade_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_sword_blade`) - } - } - - //#endregion - - //#region Дубина - - if (!material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) { - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/mace/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_mace`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(`tfc:metal/mace_head/${material.getName()}`, 'tfc:ceramic/mace_head_mold', Fluid.of(outputMaterial.getFluid(), 288), 1) - .id(`tfc:casting/${material.getName()}_mace_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/mace_head_mold', getFillingNBT(outputMaterial, 288)), - [ - Fluid.of(outputMaterial.getFluid(), 288), - Item.of('tfc:ceramic/mace_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_mace_head`) - } - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(`tfc:metal/mace_head/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_mace_head`) - } - //#endregion - - //#region Мясницкий нож - - // Декрафт инструмента в жидкость - let butcheryKnifeItem = ToolHelper.get(GTToolType.BUTCHERY_KNIFE, material) - if (!butcheryKnifeItem.isEmpty()) { - - event.recipes.tfc.heating(butcheryKnifeItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_butchery_knife`) - - } - - let butcheryKnifeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadButcheryKnife, material, 1) - if (!butcheryKnifeHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(butcheryKnifeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_knife_butchery_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(butcheryKnifeHeadItem, `#forge:ingots/${material.getName()}`, ['punch_last', 'bend_not_last', 'bend_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_knife_butchery_head`) - - } - - //#endregion - - //#region Молот шахтера - - // Декрафт инструмента в жидкость - let miningHammerItem = ToolHelper.get(GTToolType.MINING_HAMMER, material) - if (!miningHammerItem.isEmpty()) { - - event.recipes.tfc.heating(miningHammerItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_mining_hammer`) - - } - - - let miningHammerHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadMiningHammer, material, 1) - if (!miningHammerHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(miningHammerHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_mining_hammer_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(miningHammerHeadItem, doubleIngotItem, ['punch_last', 'shrink_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_mining_hammer_head`) - - } - - //#endregion - - //#region Большая лопата - - // Декрафт инструмента в жидкость - let spadeItem = ToolHelper.get(GTToolType.SPADE, material) - if (!spadeItem.isEmpty()) { - - event.recipes.tfc.heating(spadeItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_spade`) - - } - - let spadeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSpade, material, 1) - if (!spadeHeadItem.isEmpty()) { - - // Крафт оголовья - event.recipes.tfc.anvil(spadeHeadItem, doubleIngotItem, ['punch_last', 'hit_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_spade_head`) - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(spadeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_spade_head`) - - } - - //#endregion - } - - } - - // Rods - let rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) - if (!rodItem.isEmpty()) { - - // Декрафт стержня в жидкость - event.recipes.tfc.heating(rodItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 72)) - .id(`tfc:heating/metal/${material.getName()}_rod`) - - // Слиток -> 2 Стержня - 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) - if (!longRodItem.isEmpty()) { - - // Декрафт длинного стержня в жидкость - event.recipes.tfc.heating(longRodItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_long_rod`) - - // Стержни -> Длинный стержень - event.recipes.tfc.welding(longRodItem, rodItem, rodItem) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_long_rod`) - - event.recipes.greate.compacting(longRodItem, [rodItem, rodItem, 'tfc:powder/flux']) - .heated() - .recipeTier(tfcProperty.getTier() < 4 ? 0 : 1) - .id(`greate:compacting/${material.getName()}_long_rod`) - } - - // Bolt - let boltItem = ChemicalHelper.get(TagPrefix.bolt, material, 1) - if (!boltItem.isEmpty()) { - - // Болт -> Металл - event.recipes.tfc.heating(boltItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) - .id(`tfc:heating/metal/${material.getName()}_bolt`) - - // Стержень -> Болт - event.recipes.tfc.anvil(boltItem.withCount(2), rodItem, ['punch_last', 'draw_second_last', 'draw_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_bolt`) - - } - - // Screw - let screwItem = ChemicalHelper.get(TagPrefix.screw, material, 1) - if (!screwItem.isEmpty()) { - - // Винт -> Металл - event.recipes.tfc.heating(screwItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) - .id(`tfc:heating/metal/${material.getName()}_screw`) - - // Стержень -> Винт - event.recipes.tfc.anvil(screwItem, rodItem, ['punch_last', 'punch_second_last', 'shrink_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_screw`) - - } - - // Ring - let ringItem = ChemicalHelper.get(TagPrefix.ring, material, 1) - if (!ringItem.isEmpty()) { - - // Кольцо -> Металл - event.recipes.tfc.heating(ringItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) - .id(`tfc:heating/metal/${material.getName()}_ring`) - - // Стержень -> Кольцо - event.recipes.tfc.anvil(ringItem, rodItem, ['hit_last', 'hit_second_last', 'hit_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_ring`) - - } - - // Spring - let springItem = ChemicalHelper.get(TagPrefix.spring, material, 1) - if (!springItem.isEmpty() && !longRodItem.isEmpty()) { - - event.recipes.tfc.heating(springItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_spring`) - - event.recipes.tfc.anvil(springItem, longRodItem, ['hit_last', 'bend_second_last', 'bend_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_spring`) - } - - // Small spring - let smallSpringItem = ChemicalHelper.get(TagPrefix.springSmall, material, 1) - if (!smallSpringItem.isEmpty() && !rodItem.isEmpty()) { - - event.recipes.tfc.heating(smallSpringItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) - .id(`tfc:heating/metal/${material.getName()}_small_spring`) - - event.recipes.tfc.anvil(smallSpringItem, rodItem, ['hit_last', 'bend_second_last', 'bend_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_small_spring`) - } - - // Nugget - let nuggetItem = ChemicalHelper.get(TagPrefix.nugget, material, 9) - if (!nuggetItem.isEmpty()) { - - event.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144/9)) - .id(`tfc:heating/metal/${material.getName()}_nugget`) - - 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`) - } - } - } - - // Small Gears - let smallGearItem = ChemicalHelper.get(TagPrefix.gearSmall, material, 1) - if (!smallGearItem.isEmpty()) { - - event.recipes.tfc.heating(smallGearItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/small_${material.getName()}_gear`) - - 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, 'tfg:small_gear_mold', Fluid.of(outputMaterial.getFluid(), 144), 0.05) - .id(`tfc:casting/small_${material.getName()}_gear`) - } - } - - // Large Gears - let largeGearItem = ChemicalHelper.get(TagPrefix.gear, material, 1) - if (!largeGearItem.isEmpty()) { - event.recipes.tfc.heating(largeGearItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144 * 4)) - .id(`tfc:heating/large_${material.getName()}_gear`) - - let doublePlateItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) - if (!doublePlateItem.isEmpty()) { - event.recipes.tfc.welding(largeGearItem, doublePlateItem, doublePlateItem, tfcProperty.getTier()) - .id(`tfc:welding/${material.getName()}_large_gear`) - - event.recipes.greate.compacting(largeGearItem, [doublePlateItem, doublePlateItem, 'tfc:powder/flux']) - .heated() - .recipeTier(tfcProperty.getTier() < 4 ? 0 : 1) - .id(`greate:compacting/${material.getName()}_large gear`) - } - } - - // Tools (From Ingot) - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL) || material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) { - - //#region pickaxe - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/pickaxe/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let pickaxeItem = ToolHelper.get(GTToolType.PICKAXE, material) - if (!pickaxeItem.isEmpty()) { - - event.recipes.tfc.heating(`gtceu:${material.getName()}_pickaxe`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_pickaxe`) - - } - - let pickaxeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadPickaxe, material, 1) - if (!pickaxeHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(pickaxeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_pickaxe_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(pickaxeHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_pickaxe_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(pickaxeHeadItem, 'tfc:ceramic/pickaxe_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_pickaxe_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/pickaxe_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/pickaxe_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_pickaxe_head`) - } - - } - //#endregion - - // #region mattock - if (!material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) { - event.recipes.tfc.heating(`rnr:metal/mattock/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`rnr:heating/metal/${material.getName()}_mattock`) - - event.recipes.tfc.heating(`rnr:metal/mattock_head/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`rnr:heating/metal/${material.getName()}_mattock_head`) - } - //#endregion - - // #region screwdriver - event.recipes.tfc.heating(`gtceu:${material.getName()}_screwdriver`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`gtceu:heating/metal/${material.getName()}_screwdriver`) - - event.recipes.tfc.heating(`gtceu:${material.getName()}_screwdriver_tip`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`gtceu:heating/metal/${material.getName()}_screwdriver_tip`) - - event.recipes.tfc.anvil(`gtceu:${material.getName()}_screwdriver_tip`, ingotItem, ['draw_last', 'hit_second_last', 'hit_third_last']) - .tier(tfcProperty.getTier()) - .id(`gtceu:anvil/${material.getName()}_screwdriver_tip`) - //#endregion - - //#region wrench - event.recipes.tfc.heating(`gtceu:${material.getName()}_wrench`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288 + 144 + 18)) - .useDurability(true) - .id(`gtceu:heating/metal/${material.getName()}_wrench`) - - event.recipes.tfc.heating(`gtceu:${material.getName()}_wrench_tip`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`gtceu:heating/metal/${material.getName()}_wrench_tip`) - - event.recipes.tfc.anvil(`gtceu:${material.getName()}_wrench_tip`, doubleIngotItem, ['draw_last', 'hit_second_last', 'hit_third_last']) - .tier(tfcProperty.getTier()) - .id(`gtceu:anvil/${material.getName()}_wrench_tip`) - //#endregion - - //#region crowbar - let crowbarItem = ToolHelper.get(GTToolType.CROWBAR, material) - if (!crowbarItem.isEmpty()) { - event.recipes.tfc.heating(crowbarItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 216)) - .useDurability(true) - .id(`gtceu:heating/metal/${material.getName()}_crowbar`) - } - //#endregion - - //#region mortar - let mortarItem = ToolHelper.get(GTToolType.MORTAR, material) - if (!mortarItem.isEmpty()) { - event.recipes.tfc.heating(mortarItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`gtceu:heating/metal/${material.getName()}_mortar`) - } - //#endregion - - //#region wire cutters - event.recipes.tfc.heating(`gtceu:${material.getName()}_wire_cutter`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288 + 144 + 18)) - .useDurability(true) - .id(`gtceu:heating/metal/${material.getName()}_wire_cutter`) - - event.recipes.tfc.heating(`gtceu:${material.getName()}_wire_cutter_head`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`gtceu:heating/metal/${material.getName()}_wire_cutter_head`) - - event.recipes.tfc.anvil(`gtceu:${material.getName()}_wire_cutter_head`, doubleIngotItem, ['draw_last', 'hit_second_last', 'hit_third_last']) - .tier(tfcProperty.getTier()) - .id(`gtceu:anvil/${material.getName()}_wire_cutter_head`) - //#endregion - - //#region axe - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/axe/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let axeItem = ToolHelper.get(GTToolType.AXE, material) - if (!axeItem.isEmpty()) { - - event.recipes.tfc.heating(axeItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_axe`) - - } - - let axeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadAxe, material, 1) - if (!axeHeadItem.isEmpty()) { - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(axeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_axe_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(axeHeadItem, ingotItem, ['punch_last', 'hit_second_last', 'upset_third_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_axe_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(axeHeadItem, 'tfc:ceramic/axe_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_axe_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/axe_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/axe_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_axe_head`) - } - } - - //#endregion - - //#region shovel - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/shovel/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let shovelItem = ToolHelper.get(GTToolType.SHOVEL, material) - if (!shovelItem.isEmpty()) { - - event.recipes.tfc.heating(shovelItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_shovel`) - - } - - let shovelHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadShovel, material, 1) - if (!shovelHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(shovelHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_shovel_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(shovelHeadItem, ingotItem, ['punch_last', 'hit_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_shovel_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(shovelHeadItem, 'tfc:ceramic/shovel_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_shovel_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/shovel_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/shovel_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_shovel_head_mold`) - } - - } - - //#endregion - - //#region hoe - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/hoe/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let hoeItem = ToolHelper.get(GTToolType.HOE, material) - if (!hoeItem.isEmpty()) { - event.recipes.tfc.heating(hoeItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_hoe`) - } - - let hoeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadHoe, material, 1) - if (!hoeHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(hoeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_hoe_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(hoeHeadItem, ingotItem, ['punch_last', 'hit_not_last', 'bend_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_hoe_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(hoeHeadItem, 'tfc:ceramic/hoe_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_hoe_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/hoe_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/hoe_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_hoe_head_mold`) - } - - } - - //#endregion - - //#region crafting hammer - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/hammer/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let hammerItem = ToolHelper.get(GTToolType.HARD_HAMMER, material) - if (!hammerItem.isEmpty()) { - - event.recipes.tfc.heating(hammerItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_hammer`) - - } - - let hammerHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadHammer, material, 1) - if (!hammerHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(hammerHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_hammer_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(hammerHeadItem, ingotItem, ['punch_last', 'shrink_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_hammer_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(hammerHeadItem, 'tfc:ceramic/hammer_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_hammer_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/hammer_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/hammer_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_hammer_head_mold`) - } - - } - - //#endregion - - //#region saw - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/saw/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let sawItem = ToolHelper.get(GTToolType.SAW, material) - if (!sawItem.isEmpty()) { - - event.recipes.tfc.heating(sawItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_saw`) - - } - - let sawHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSaw, material, 1) - if (!sawHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(sawHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_saw_blade`) - - // Крафт оголовья - event.recipes.tfc.anvil(sawHeadItem, ingotItem, ['hit_last', 'hit_second_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_saw_blade`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(sawHeadItem, 'tfc:ceramic/saw_blade_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_saw_blade`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/saw_blade_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/saw_blade_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_saw_blade_mold`) - } - - } - - //#endregion - - //#region scythe - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/scythe/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let scytheItem = ToolHelper.get(GTToolType.SCYTHE, material) - if (!scytheItem.isEmpty()) { - event.recipes.tfc.heating(scytheItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_scythe`) - } - - let scytheHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadScythe, material, 1) - if (!scytheHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(scytheHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_scythe_blade`) - - // Крафт оголовья - event.recipes.tfc.anvil(scytheHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_scythe_blade`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(scytheHeadItem, 'tfc:ceramic/scythe_blade_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_scythe_blade`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/scythe_blade_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/scythe_blade_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_scythe_blade_mold`) - } - - } - - //#endregion - - //#region file - - // Декрафт инструмента в жидкость - let fileItem = ToolHelper.get(GTToolType.FILE, material) - if (!fileItem.isEmpty()) { - event.recipes.tfc.heating(fileItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_file`) - } - - let fileHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadFile, material, 1) - if (!fileHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(fileHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_file_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(fileHeadItem, ingotItem, ['upset_last', 'bend_not_last', 'punch_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_file_head`) - - } - - //#endregion - - //#region knife - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/knife/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let knifeItem = ToolHelper.get(GTToolType.KNIFE, material) - if (!knifeItem.isEmpty()) { - event.recipes.tfc.heating(knifeItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_knife`) - } - - let knifeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadKnife, material, 1) - if (!knifeHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(knifeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_knife_blade`) - - // Крафт оголовья - event.recipes.tfc.anvil(knifeHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_knife_blade`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(knifeHeadItem, 'tfc:ceramic/knife_blade_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_knife_blade`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/knife_blade_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/knife_blade_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_knife_blade_mold`) - } - - //#region shears - - // Сварка оголовий - if (!material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) { - event.recipes.tfc.welding(`tfc:metal/shears/${material.getName()}`, knifeHeadItem, knifeHeadItem, tfcProperty.getTier()) - .id(`tfc:welding/${material.getName()}_shears`) - - event.recipes.greate.compacting(`tfc:metal/shears/${material.getName()}`, [knifeHeadItem, knifeHeadItem, 'tfc:powder/flux']) - .heated() - .recipeTier(tfcProperty.getTier() < 4 ? 0 : 1) - .id(`greate:compacting/${material.getName()}_shears`) - - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/shears/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_shears`) - - event.recipes.gtceu.forge_hammer(`tfc:metal/shears/${material.getName()}`) - .itemInputs(knifeHeadItem.withCount(2)) - .itemOutputs(`tfc:metal/shears/${material.getName()}`) - .duration(40) - .EUt(7) - } - //#endregion - - } - - //#endregion - - //#region prospector pick - - if (!material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) { - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/propick/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_propick`) - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(`tfc:metal/propick_head/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_propick_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(`tfc:metal/propick_head/${material.getName()}`, 'tfc:ceramic/propick_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_propick_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/propick_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/propick_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_propick_head_mold`) - } - } - //#endregion - - //#region chisel - if (!material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) { - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/chisel/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_chisel`) - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(`tfc:metal/chisel_head/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_chisel_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(`tfc:metal/chisel_head/${material.getName()}`, 'tfc:ceramic/chisel_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_chisel_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/chisel_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/chisel_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_chisel_head_mold`) - } - } - //#endregion - - //#region javelin - if (!material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) { - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/javelin/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_javelin`) - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(`tfc:metal/javelin_head/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_javelin_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(`tfc:metal/javelin_head/${material.getName()}`, 'tfc:ceramic/javelin_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_javelin_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/javelin_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/javelin_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_javelin_head_mold`) - } - } - //#endregion - - //#region Scraping Knife - if (!material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) { - - // Anvil - event.remove({ output: `tfcscraping:metal/scraping_knife_blade/${material.getName()}`, type: 'tfc:anvil'}); - event.recipes.tfc.anvil(`tfcscraping:metal/scraping_knife_blade/${material.getName()}`, `#forge:double_ingots/${material.getName()}`,['hit_last','draw_not_last', 'draw_second_last']) - .bonus(true) - - // Melting tool - event.remove({input: `tfcscraping:metal/scraping_knife/${material.getName()}`, type: 'tfc:heating'}); - event.recipes.tfc.heating(`tfcscraping:metal/scraping_knife/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfg:heating/scraping_knife/${material.getName()}`) - - // Melting tool head - event.remove({input: `tfcscraping:metal/scraping_knife_blade/${material.getName()}`, type: 'tfc:heating'}); - event.recipes.tfc.heating(`tfcscraping:metal/scraping_knife_blade/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfg:heating/scraping_knife_blade/${material.getName()}`) - - // Crafting tool - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.remove({ input: 'tfcscraping:ceramic/scraping_knife_blade_mold'}) - event.recipes.tfc.casting(`tfcscraping:metal/scraping_knife_blade/${material.getName()}`, 'tfcscraping:ceramic/scraping_knife_blade_mold', Fluid.of(outputMaterial.getFluid(), 288), 1) - .id(`tfc:casting/scraping_knife_blade/${material.getName()}`) - - event.recipes.create.filling( - Item.of('tfcscraping:ceramic/scraping_knife_blade_mold', getFillingNBT(outputMaterial, 288)),[ - Fluid.of(outputMaterial.getFluid(), 288), - Item.of('tfcscraping:ceramic/scraping_knife_blade_mold').strongNBT() - ]) - .id(`tfg:tfc/filling/${material.getName()}_scraping_knife_blade_mold`) - } - - //Recycling - let doubleMap = {}; - doubleMap[material.getName()] = 2; - TFGHelpers.registerMaterialInfo(`tfcscraping:metal/scraping_knife_blade/${material.getName()}`, doubleMap) - - event.recipes.gtceu.extractor(`tfg:extract/scraping_knife_blade/${material.getName()}`) - .itemInputs(`tfcscraping:metal/scraping_knife_blade/${material.getName()}`) - .outputFluids(Fluid.of(material.getFluid(), 288)) - .duration(material.getMass() * 6) - .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(getExtractorEUt(material)) - - } - //#endregion - } - } - - // Blocks - let blockItem = ChemicalHelper.get(TagPrefix.block, material, 1) - if (!blockItem.isEmpty()) { - - // Декрафт блока в жидкость - event.recipes.tfc.heating(`#forge:storage_blocks/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 1296)) - .id(`tfc:heating/metal/${material.getName()}_storage_block`) - - } - - // Anvils, Lamps, Trapdors, Chains - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_UTILITY)) { - - // Декрафт незавершенной лампы в жидкость - event.recipes.tfc.heating(`tfc:metal/unfinished_lamp/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_unfinished_lamp`) - - // Декрафт лампы в жидкость - event.recipes.tfc.heating(`tfc:metal/lamp/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_lamp`) - - // Декрафт люка в жидкость - event.recipes.tfc.heating(`tfc:metal/trapdoor/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_trapdoor`) - - let plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1); - - // Люк - event.recipes.tfc.anvil(`tfc:metal/trapdoor/${material.getName()}`, plateItem, - ['bend_last', 'draw_second_last', 'draw_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_trapdoor`) - - // Декрафт решетки в жидкость - event.recipes.tfc.heating(`tfc:metal/bars/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) - .id(`tfc:heating/metal/${material.getName()}_bars`) - - // 8x Решетка - event.recipes.tfc.anvil(`4x tfc:metal/bars/${material.getName()}`, ingotItem, - ['upset_last', 'punch_second_last', 'punch_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_bars`) - - 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']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_bars_double`) - - // Декрафт цепи в жидкость - event.recipes.tfc.heating(`tfc:metal/chain/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 9)) - .id(`tfc:heating/metal/${material.getName()}_chain`) - - // Декрафт наковальни в жидкость - event.recipes.tfc.heating(`tfc:metal/anvil/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 2016)) - .id(`tfc:heating/metal/${material.getName()}_anvil`) - } - - //#region tongs - let tongsStack = Item.of(`tfchotornot:tongs/${material.getName()}`) - let tongPartStack = Item.of(`tfchotornot:tong_part/${material.getName()}`) - - if (!tongsStack.isEmpty() && !tongPartStack.isEmpty() && material !== GTMaterials.Iron) { - // tong parts - event.recipes.vintageimprovements.curving(tongPartStack, `#forge:rods/long/${material.getName()}`) - .head('gtceu:rod_extruder_mold') - .id(`tfg:vi/curving/${material.getName()}_tong`) - - event.recipes.gtceu.extruder(`tfg:${material.getName()}_tong`) - .itemInputs(`#forge:rods/long/${material.getName()}`) - .notConsumable('gtceu:rod_extruder_mold') - .itemOutputs(tongPartStack) - .duration(material.getMass()) - .EUt(GTValues.VA[GTValues.LV]) - - // tongs - event.recipes.tfc.advanced_shaped_crafting( - TFC.isp.of(tongsStack).copyForgingBonus(), [ - 'AA', - 'BC' - ], { - A: tongPartStack, - B: Ingredient.of('#forge:bolts').subtract('gtceu:wood_bolt'), - C: '#forge:tools/hammers' - }, 0, 0).id(`tfchotornot:crafting/tongs/${material.getName()}`) - - event.recipes.gtceu.forge_hammer(`tfg:${material.getName()}_tong`) - .itemInputs(tongPartStack.withCount(2)) - .itemOutputs(tongsStack) - .duration(material.getMass()) - .EUt(GTValues.VA[GTValues.ULV]) - - // tong heating - event.recipes.tfc.heating(tongPartStack, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfchotornot:heating/tong_part/${material.getName()}`) - - event.recipes.tfc.heating(tongsStack, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfchotornot:heating/tongs/${material.getName()}`) - - //recycling - let Map = {}; - Map[material.getName()] = 1; - TFGHelpers.registerMaterialInfo(`tfchotornot:tong_part/${material.getName()}`, Map) - - event.recipes.gtceu.extractor(`tfg:extract/${tongPartStack}`) - .itemInputs(tongPartStack) - .outputFluids(Fluid.of(material.getFluid(), 144)) - .duration(material.getMass() * 6) - .category(GTRecipeCategories.EXTRACTOR_RECYCLING) - .EUt(getExtractorEUt(material)) - } - //#endregion - - // Small TFC Ores - if (material.hasFlag(TFGMaterialFlags.HAS_SMALL_TFC_ORE)) { - - // Workaround for limonite/bismuth - let materialName = material.getName(); - if (materialName === "yellow_limonite") { - materialName = "limonite"; - } else if (materialName === "bismuth") { - materialName = "bismuthinite"; - } - - // Декрафт мелкого кусочка в жидкость - event.recipes.tfc.heating(`tfc:ore/small_${materialName}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) - .id(`tfc:heating/ore/small_${materialName}`) - } - - // Small Native TFC Ores - if (material.hasFlag(TFGMaterialFlags.HAS_SMALL_NATIVE_TFC_ORE)) { - // Декрафт мелкого кусочка в жидкость - event.recipes.tfc.heating(`tfc:ore/small_native_${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) - .id(`tfc:heating/ore/small_native_${material.getName()}`) - } - - // Any Dusts from GTCEu - if (material.hasProperty(PropertyKey.DUST)) { - - // Декрафт мелкой пыли - let tinyDust = ChemicalHelper.get(TagPrefix.dustTiny, material, 1) - if (!tinyDust.isEmpty()) { - - event.recipes.tfc.heating(tinyDust, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(16, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/tiny_dust/${material.getName()}`) - - } - - // Декрафт средней пыли - let smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1) - if (!smallDust.isEmpty()) { - - event.recipes.tfc.heating(smallDust, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(36, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/small_dust/${material.getName()}`) - - } - - // Декрафт пыли - let dust = ChemicalHelper.get(TagPrefix.dust, material, 1) - if (!dust.isEmpty()) { - - event.recipes.tfc.heating(dust, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(144, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/dust/${material.getName()}`) - - } - - // Декрафт грязной пыли - let impureDust = ChemicalHelper.get(TagPrefix.dustImpure, material, 1) - if (!impureDust.isEmpty()) { - - event.recipes.tfc.heating(impureDust, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(80, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/impure_dust/${material.getName()}`) - - } - - // Декрафт очищенной пыли - let purifiedDust = ChemicalHelper.get(TagPrefix.dustPure, material, 1) - if (!purifiedDust.isEmpty()) { - - event.recipes.tfc.heating(purifiedDust, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(120, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/purified_dust/${material.getName()}`) - - } - - } - - // Any Ores from GTCEu - if (material.hasProperty(PropertyKey.ORE)) { - - // Декрафт ломанной руды - let crushedOre = ChemicalHelper.get(TagPrefix.crushed, material, 1) - if (!crushedOre.isEmpty()) { - - event.recipes.tfc.heating(crushedOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(80, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_ore/${material.getName()}`) - - } - - // Декрафт ломанной очищенной руды - let crushedPurifiedOre = ChemicalHelper.get(TagPrefix.crushedPurified, material, 1) - if (!crushedPurifiedOre.isEmpty()) { - - event.recipes.tfc.heating(crushedPurifiedOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(100, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_purified_ore/${material.getName()}`) - - } - - // Декрафт центрифугированной ломанной руды - let crushedRefinedOre = ChemicalHelper.get(TagPrefix.crushedRefined, material, 1) - if (!crushedRefinedOre.isEmpty()) { - - event.recipes.tfc.heating(crushedRefinedOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(110, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_refined_ore/${material.getName()}`) - - } - - // Декрафт богатого куска руды - let richRawOre = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1) - if (!richRawOre.isEmpty()) { - - event.recipes.tfc.heating(richRawOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/rich_raw/${material.getName()}`) - } - - // Декрафт нормального куска руды - let normalRawOre = ChemicalHelper.get(TagPrefix.rawOre, material, 1) - if (!normalRawOre.isEmpty()) { - - event.recipes.tfc.heating(normalRawOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/raw/${material.getName()}`) - } - - // Декрафт бедного куска руды - let poorRawOre = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1) - if (!poorRawOre.isEmpty()) { - event.recipes.tfc.heating(poorRawOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/poor_raw/${material.getName()}`) - } - } - - // Nuggets - let nuggetItem = ChemicalHelper.get(TagPrefix.nugget, material, 1) - if (!nuggetItem.isEmpty()) { - - // Декрафт самородков пыли - event.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/nugget/${material.getName()}`) - } - }) -} diff --git a/kubejs/server_scripts/tfc/recipes.metals.js b/kubejs/server_scripts/tfc/recipes.metals.js index 7b75b628f..141d85062 100644 --- a/kubejs/server_scripts/tfc/recipes.metals.js +++ b/kubejs/server_scripts/tfc/recipes.metals.js @@ -48,68 +48,6 @@ function registerTFCMetalsRecipes(event) { //#endregion - - //#region Фикс рецептов колоколов - - //#region Из золота - - event.recipes.tfc.casting(`minecraft:bell`, 'tfc:ceramic/bell_mold', Fluid.of('gtceu:gold', 144), 1) - .id(`tfc:casting/gold_bell`) - - event.recipes.tfc.heating(`minecraft:bell`, 1060) - .resultFluid(Fluid.of('gtceu:gold', 144)) - .id(`tfc:heating/gold_bell`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/bell_mold', getFillingNBT(GTMaterials.Gold, 144)), - [ - Fluid.of(GTMaterials.Gold.getFluid(), 144), - Item.of('tfc:ceramic/bell_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${GTMaterials.Gold.getName()}_bell_mold`) - - //#endregion - - //#region Из латуни - - event.recipes.tfc.casting(`tfc:brass_bell`, 'tfc:ceramic/bell_mold', Fluid.of('gtceu:brass', 144), 1) - .id(`tfc:casting/brass_bell`) - - event.recipes.tfc.heating(`tfc:brass_bell`, 930) - .resultFluid(Fluid.of('gtceu:brass', 144)) - .id(`tfc:heating/brass_bell`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/bell_mold', getFillingNBT(GTMaterials.Brass, 144)), - [ - Fluid.of(GTMaterials.Brass.getFluid(), 144), - Item.of('tfc:ceramic/bell_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${GTMaterials.Brass.getName()}_bell_mold`) - - //#endregion - - //#region Из бронзы - - event.recipes.tfc.casting(`tfc:bronze_bell`, 'tfc:ceramic/bell_mold', Fluid.of('gtceu:bronze', 144), 1) - .id(`tfc:casting/bronze_bell`) - - event.recipes.tfc.heating(`tfc:bronze_bell`, 930) - .resultFluid(Fluid.of('gtceu:bronze', 144)) - .id(`tfc:heating/bronze_bell`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/bell_mold', getFillingNBT(GTMaterials.Bronze, 144)), - [ - Fluid.of(GTMaterials.Bronze.getFluid(), 144), - Item.of('tfc:ceramic/bell_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${GTMaterials.Bronze.getName()}_bell_mold`) - - //#endregion - - //#endregion - //#region Рецепты ковки TFC слитков в GT машинах // Сырая крица -> Укрепленная крица @@ -162,6 +100,8 @@ function registerTFCMetalsRecipes(event) { .EUt(4) // Слабая сталь + Чугун -> Высокоуглеродная черная сталь + event.recipes.tfc.welding('tfc:metal/ingot/high_carbon_black_steel', 'tfc:metal/ingot/weak_steel', 'tfc:metal/ingot/pig_iron', 4) + event.recipes.greate.compacting('tfc:metal/ingot/high_carbon_black_steel', ['tfc:metal/ingot/weak_steel', 'tfc:metal/ingot/pig_iron', 'tfc:powder/flux']) .heated() @@ -175,6 +115,8 @@ function registerTFCMetalsRecipes(event) { .EUt(4) // Слабая синяя сталь + Черная сталь -> Высокоуглеродная синяя сталь + event.recipes.tfc.welding('tfc:metal/ingot/high_carbon_blue_steel', 'tfc:metal/ingot/weak_blue_steel', 'tfc:metal/ingot/black_steel', 5) + event.recipes.greate.compacting('tfc:metal/ingot/high_carbon_blue_steel', ['tfc:metal/ingot/weak_blue_steel', 'tfc:metal/ingot/black_steel', 'tfc:powder/flux']) .heated() @@ -188,6 +130,8 @@ function registerTFCMetalsRecipes(event) { .EUt(4) // Слабая красная сталь + Черная сталь -> Высокоуглеродная красная сталь + event.recipes.tfc.welding('tfc:metal/ingot/high_carbon_red_steel', 'tfc:metal/ingot/weak_red_steel', 'tfc:metal/ingot/black_steel', 5) + event.recipes.greate.compacting('tfc:metal/ingot/high_carbon_red_steel', ['tfc:metal/ingot/weak_red_steel', 'tfc:metal/ingot/black_steel', 'tfc:powder/flux']) .heated() @@ -370,33 +314,4 @@ function registerTFCMetalsRecipes(event) { event.smelting('minecraft:iron_ingot', '#forge:ingots/wrought_iron') .id('tfg:revert_wrought_iron_ingot') - - - // Melting powders - - const METAL_POWDERS = [ - { powder: 'tfc:powder/native_copper', material: GTMaterials.Copper }, - { powder: 'tfc:powder/native_gold', material: GTMaterials.Gold }, - { powder: 'tfc:powder/hematite', material: GTMaterials.Hematite }, - { powder: 'tfc:powder/native_silver', material: GTMaterials.Silver }, - { powder: 'tfc:powder/cassiterite', material: GTMaterials.Cassiterite }, - { powder: 'tfc:powder/bismuthinite', material: GTMaterials.Bismuth }, - { powder: 'tfc:powder/garnierite', material: GTMaterials.Garnierite }, - { powder: 'tfc:powder/malachite', material: GTMaterials.Malachite }, - { powder: 'tfc:powder/magnetite', material: GTMaterials.Magnetite }, - { powder: 'tfc:powder/limonite', material: GTMaterials.YellowLimonite }, - { powder: 'tfc:powder/sphalerite', material: GTMaterials.Sphalerite }, - { powder: 'tfc:powder/tetrahedrite', material: GTMaterials.Tetrahedrite }, - { powder: 'tfc:powder/pyrite', material: GTMaterials.Pyrite } - ] - - METAL_POWDERS.forEach(x => { - const tfcProperty = x.material.getProperty(TFGPropertyKey.TFC_PROPERTY) - - let outputMaterial = (tfcProperty.getOutputMaterial() === null) ? x.material : tfcProperty.getOutputMaterial() - - event.recipes.tfc.heating(x.powder, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(36, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/powder/${x.material.getName()}`) - }) } diff --git a/kubejs/server_scripts/tfc/recipes.removes.js b/kubejs/server_scripts/tfc/recipes.removes.js index aae1a9790..0c577ec15 100644 --- a/kubejs/server_scripts/tfc/recipes.removes.js +++ b/kubejs/server_scripts/tfc/recipes.removes.js @@ -3,58 +3,47 @@ function removeTFCRecipes(event) { - // Удаление рецептов руд TFC - event.remove({ id: /tfc:heating\/ore\/poor_*/ }) - event.remove({ id: /tfc:heating\/ore\/normal_*/ }) - event.remove({ id: /tfc:heating\/ore\/rich_*/ }) + global.TFC_DISABLED_ITEMS.forEach(item => { + event.remove({ input: item }) + event.remove({ output: item }) + }) + + event.remove({ mod: 'tfc', type: 'tfc:welding' }) + event.remove({ id: /tfc:heating\/metal\/*/ }) + event.remove({ id: /tfc:heating\/ore\/*/ }) // Удаление рецептов блоков event.remove({ id: /tfc:crafting\/metal\/block\/*/ }) - event.remove({ id: /tfc:heating\/metal\/*_block/ }) // Удаление рецептов ступеней event.remove({ id: /tfc:crafting\/metal\/block\/*_stairs/ }) - event.remove({ id: /tfc:heating\/metal\/*_block_stairs/ }) // Удалание рецептов полублоков event.remove({ id: /tfc:crafting\/metal\/block\/*_slab/ }) - event.remove({ id: /tfc:heating\/metal\/*_block_slab/ }) //#region Удаление рецептов для предметов из Cast Iron // Блок event.remove({ id: `tfc:crafting/metal/block/cast_iron` }) - event.remove({ id: `tfc:heating/metal/cast_iron_block` }) // Ступень event.remove({ id: `tfc:crafting/metal/block/cast_iron_stairs` }) - event.remove({ id: `tfc:heating/metal/cast_iron_block_stairs` }) // Полублок event.remove({ id: `tfc:crafting/metal/block/cast_iron_slab` }) - event.remove({ id: `tfc:heating/metal/cast_iron_block_slab` }) // Слиток event.remove({ id: `tfc:casting/cast_iron_ingot` }) event.remove({ id: `tfc:casting/cast_iron_fire_ingot` }) - event.remove({ id: `tfc:heating/metal/cast_iron_ingot` }) event.remove({ id: `tfc:welding/cast_iron_double_ingot` }) event.remove({ id: `tfc:anvil/cast_iron_rod` }) // Двойной слиток - event.remove({ id: `tfc:heating/metal/cast_iron_double_ingot` }) event.remove({ id: `tfc:anvil/cast_iron_sheet` }) // Пластина - event.remove({ id: `tfc:heating/metal/cast_iron_sheet` }) event.remove({ id: `tfc:welding/cast_iron_double_sheet` }) - // Двойная пластина - event.remove({ id: `tfc:heating/metal/cast_iron_double_sheet` }) - - // Стержень - event.remove({ id: `tfc:heating/metal/cast_iron_rod` }) - //#endregion @@ -73,6 +62,18 @@ function removeTFCRecipes(event) { event.remove({ id: 'tfc:quern/graphite' }) event.remove({ id: 'tfc:quern/lapis_lazuli' }) event.remove({ id: 'tfc:quern/lapis_lazuli_cut' }) + event.remove({ id: 'tfc:quern/small_bismuthinite' }) + event.remove({ id: 'tfc:quern/small_cassiterite' }) + event.remove({ id: 'tfc:quern/small_garnierite' }) + event.remove({ id: 'tfc:quern/small_hematite' }) + event.remove({ id: 'tfc:quern/small_limonite' }) + event.remove({ id: 'tfc:quern/small_magnetite' }) + event.remove({ id: 'tfc:quern/small_malachite' }) + event.remove({ id: 'tfc:quern/small_native_copper' }) + event.remove({ id: 'tfc:quern/small_native_gold' }) + event.remove({ id: 'tfc:quern/small_native_silver' }) + event.remove({ id: 'tfc:quern/small_sphalerite' }) + event.remove({ id: 'tfc:quern/small_tetrahedrite' }) event.remove({ id: 'tfc:quern/normal_bismuthinite' }) event.remove({ id: 'tfc:quern/normal_cassiterite' }) event.remove({ id: 'tfc:quern/normal_garnierite' }) @@ -145,7 +146,7 @@ function removeTFCRecipes(event) { event.remove({ id: `tfc:crafting/crankshaft` }) event.remove({ id: 'tfc:crafting/sandpaper' }) event.remove({ id: 'tfc:crafting/vanilla/redstone/observer' }) - + event.remove({ id: 'tfc:crafting/vanilla/brick_stairs' }) event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_minecart' }) event.remove({ id: 'tfc:crafting/vanilla/redstone/minecart' }) event.remove({ id: 'tfc:crafting/cake' }) diff --git a/kubejs/server_scripts/tfc_grooming_station/recipes.js b/kubejs/server_scripts/tfc_grooming_station/recipes.js index fa47f8487..73e3c7cb9 100644 --- a/kubejs/server_scripts/tfc_grooming_station/recipes.js +++ b/kubejs/server_scripts/tfc_grooming_station/recipes.js @@ -3,15 +3,19 @@ const registerTFCGroomingStationRecipes = (event) => { - global.TFC_EQUIPMENT_METALS.forEach(material => { - event.recipes.gtceu.shaped(`tfcgroomer:${material}_grooming_station`, [ + global.TFC_EQUIPMENT_METALS.forEach(materialName => { + const trough = `tfcgroomer:${materialName}_grooming_station`; + + event.recipes.gtceu.shaped(trough, [ 'ABA', 'AAA', 'C C' ], { - A: `#forge:plates/${material}`, + A: `#forge:plates/${materialName}`, B: '#forge:tools/hammers', C: 'tfc:wattle' - }).addMaterialInfo().id(`tfcgroomer:${material}_grooming_station`) + }).addMaterialInfo().id(`tfcgroomer:${materialName}_grooming_station`) + + addMaterialRecyclingNoTagPrefix(event, trough, GTMaterials.get(materialName), 'grooming_station', 5); }) } diff --git a/kubejs/server_scripts/tfc_scraping/recipes.js b/kubejs/server_scripts/tfc_scraping/recipes.js new file mode 100644 index 000000000..213a3e86e --- /dev/null +++ b/kubejs/server_scripts/tfc_scraping/recipes.js @@ -0,0 +1,8 @@ +// priority: 0 +"use strict"; + +function registerTFCScrapingKnivesRecipes(event) { + event.remove({ mod: 'tfcscraping', type: 'tfc:anvil' }); + event.remove({ mod: 'tfcscraping', type: 'tfc:heating' }); + event.remove({ mod: 'tfcscraping', type: 'tfc:casting' }); +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfcscraping/recipes.js b/kubejs/server_scripts/tfcscraping/recipes.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index 76dbd241f..7a95b5fe0 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -426,16 +426,18 @@ function registerTFGRockRecipes(event) { // (spacing for region titles) // let CUT_GRIND = [ + { raw: 'minecraft:bricks', stair: 'minecraft:brick_stairs', slab: 'minecraft:brick_slab', wall: 'minecraft:brick_wall', + dust: 'gtceu:brick_dust', loose: null, stonecutting: false }, // #region Nether // Deepslate - { raw: 'minecraft:deepslate', stair: 'tfg:rock/deepslate_stairs', slab: 'tfg:rock/deepslate_slab', wall: 'tfg:rock/deepslate_wall', - dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Raw + { raw: 'minecraft:deepslate', stair: 'tfg:rock/deepslate_stairs', slab: 'tfg:rock/deepslate_slab', wall: 'tfg:rock/deepslate_wall', + dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Raw - { raw: 'minecraft:cobbled_deepslate', stair: 'minecraft:cobbled_deepslate_stairs', slab: 'minecraft:cobbled_deepslate_slab', wall: 'minecraft:cobbled_deepslate_wall', - dust: 'gtceu:deepslate_dust', loose: 'tfg:loose/deepslate', stonecutting: false }, // Cobble + { raw: 'minecraft:cobbled_deepslate', stair: 'minecraft:cobbled_deepslate_stairs', slab: 'minecraft:cobbled_deepslate_slab', wall: 'minecraft:cobbled_deepslate_wall', + dust: 'gtceu:deepslate_dust', loose: 'tfg:loose/deepslate', stonecutting: false }, // Cobble - { raw: 'tfg:rock/mossy_cobble_deepslate', stair: 'tfg:rock/mossy_cobble_deepslate_stairs', slab: 'tfg:rock/mossy_cobble_deepslate_slab', wall: 'tfg:rock/mossy_cobble_deepslate_wall', - dust: 'gtceu:deepslate_dust', loose: null, stonecutting: true }, // Cobble - Mossy + { raw: 'tfg:rock/mossy_cobble_deepslate', stair: 'tfg:rock/mossy_cobble_deepslate_stairs', slab: 'tfg:rock/mossy_cobble_deepslate_slab', wall: 'tfg:rock/mossy_cobble_deepslate_wall', + dust: 'gtceu:deepslate_dust', loose: null, stonecutting: true }, // Cobble - Mossy { raw: 'minecraft:polished_deepslate', stair: 'minecraft:polished_deepslate_stairs', slab: 'minecraft:polished_deepslate_slab', wall: 'minecraft:polished_deepslate_wall', dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Smooth @@ -539,6 +541,8 @@ function registerTFGRockRecipes(event) { { raw: 'tfg:rock/mossy_bricks_nether', stair: 'tfg:rock/mossy_bricks_nether_stairs', slab: 'tfg:rock/mossy_bricks_nether_slab', wall: 'tfg:rock/mossy_bricks_nether_wall', dust: 'gtceu:netherrack_dust', loose: null, stonecutting: true }, // Bricks - Mossy + { raw: 'minecraft:nether_brick_wall', stair: null, slab: null, wall: 'minecraft:nether_brick_fence', + dust: null, loose: null, stonecutting: true }, // #endregion Nether ] diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js new file mode 100644 index 000000000..b6c81368a --- /dev/null +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js @@ -0,0 +1,527 @@ +// priority: 0 +"use strict"; + +// TODO: merge these two tag prefixes + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material +*/ +function processSmallOre(event, material) { + if (!material.hasFlag(TFGMaterialFlags.HAS_SMALL_TFC_ORE)) + return; + + const smallOre = ChemicalHelper.get(TFGTagPrefix.oreSmall, material, 1); + const smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1); + + let materialName = material.getName(); + event.recipes.gtceu.macerator(`tfg:macerate_${materialName}_small_ore`) + .itemInputs(smallOre) + .itemOutputs(smallDust) + .duration(material.getMass()) + .category(GTRecipeCategories.ORE_CRUSHING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.tfc.quern(smallDust, smallOre) + .id(`tfg:quern/small_${materialName}`) + + if (material.hasProperty(TFGPropertyKey.TFC_PROPERTY)) { + addTFCMelting(event, smallOre, material, 16, 'small_ore'); + } +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + * @param {*} oreProperty + * The material's ore property + * @param {number} multiplier + * How many ingots/gems/dusts each ore item should smelt into. + * Can be a non-integer, in which case it'll smelt into nuggets/small dusts etc. + * @param {Internal.ItemStack} oreItem + * The input item to be smelted + * @param {string} type + * The type of ore being smelted, used for recipe IDs + */ +function smeltOre(event, material, oreProperty, multiplier, oreItem, type) { + const smeltingMaterial = oreProperty.getDirectSmeltResult().isNull() ? material : oreProperty.getDirectSmeltResult(); + if (!material.hasProperty(PropertyKey.BLAST) && !material.hasFlag(MaterialFlags.NO_ORE_SMELTING)) { + let ingotItem; + if (smeltingMaterial.hasProperty(PropertyKey.INGOT)) { + ingotItem = ChemicalHelper.getIngot(smeltingMaterial, GTValues.M * multiplier) + } + else if (smeltingMaterial.hasProperty(PropertyKey.GEM)) { + if (multiplier >= 1) { + ingotItem = ChemicalHelper.get(TagPrefix.gem, smeltingMaterial, multiplier) + } + else { + ingotItem = ChemicalHelper.get(TagPrefix.gemFlawed, smeltingMaterial, 1) + } + } + else { + ingotItem = ChemicalHelper.getDust(smeltingMaterial, GTValues.M * multiplier) + } + + if (!ingotItem.isEmpty()) { + event.smelting(ingotItem, oreItem).id(`gtceu:smelting/smelt_${type}_${material.getName()}_ore_to_ingot`) + } + } +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processPoorRawOre(event, material) { + const poorOreItem = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1) + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + + if (poorOreItem === null || crushedOreItem === null) + return; + + const materialName = material.getName(); + const oreProperty = material.getProperty(PropertyKey.ORE) + const multiplier = oreProperty.getOreMultiplier(); + crushedOreItem.setCount(crushedOreItem.getCount() * multiplier) + + // Forge hammer + let hammerRecipe = event.recipes.gtceu.forge_hammer(`hammer_poor_raw_${materialName}_to_crushed_ore`) + .itemInputs(poorOreItem) + .category(GTRecipeCategories.ORE_FORGING) + .duration(100) + .EUt(16) + + if (material.hasProperty(PropertyKey.GEM)) { + const gemItem = ChemicalHelper.get(TagPrefix.gem, material, crushedOreItem.getCount()); + hammerRecipe.chancedOutput(gemItem, 7500, 950) + + event.recipes.greate.pressing(Item.of(gemItem).withChance(0.75), poorOreItem) + .recipeTier(1) + .id(`greate:pressing/poor_raw_${materialName}_to_gem`) + + let polishingCount = Math.max(crushedOreItem.getCount() / 2, 1); + event.recipes.create.sandpaper_polishing(gemItem.copyWithCount(polishingCount), poorOreItem) + .id(`tfg:polishing/poor_raw_${materialName}_to_gem`) + } else { + hammerRecipe.chancedOutput(crushedOreItem, 7500, 950) + + event.recipes.greate.pressing(Item.of(crushedOreItem).withChance(0.75), poorOreItem) + .recipeTier(1) + .id(`greate:pressing/poor_raw_${materialName}_to_crushed_ore`) + } + + // Macerator + let maceratorRecipe = event.recipes.gtceu.macerator(`macerate_poor_raw_${materialName}_ore_to_crushed_ore`) + .itemInputs(poorOreItem) + .category(GTRecipeCategories.ORE_CRUSHING) + .duration(400) + .EUt(2) + + if (multiplier > 1) { + maceratorRecipe.itemOutputs(crushedOreItem.copyWithCount(multiplier / 2)) + } else { + maceratorRecipe.chancedOutput(crushedOreItem, 5000, 750) + } + maceratorRecipe.chancedOutput(crushedOreItem.copyWithCount(1), 2500, 500) + maceratorRecipe.chancedOutput(crushedOreItem.copyWithCount(1), 1250, 250) + + // Quern + if (multiplier > 1) { + event.recipes.tfc.quern( + crushedOreItem.copyWithCount(multiplier / 2), + poorOreItem + ).id(`tfg:quern/${materialName}_crushed_ore_from_poor_raw_ore`) + } else { + event.recipes.tfc.quern( + ChemicalHelper.get(TagPrefix.dustSmall, material, 2), + poorOreItem + ).id(`tfg:quern/${materialName}_crushed_ore_from_poor_raw_ore`) + } + + // Smelting + smeltOre(event, material, oreProperty, multiplier / 2, poorOreItem, 'poor') + + // Melting + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + if (tfcProperty !== null) { + addTFCMelting(event, poorOreItem, material, global.calcAmountOfMetalProcessed(24, tfcProperty.getPercentOfMaterial()), 'poor_raw_ore'); + } +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processNormalRawOre(event, material) { + const oreProperty = material.getProperty(PropertyKey.ORE) + const multiplier = oreProperty.getOreMultiplier(); + const normalOreItem = ChemicalHelper.get(TagPrefix.rawOre, material, 1) + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, multiplier) + + if (normalOreItem === null || crushedOreItem === null) + return; + + const materialName = material.getName(); + + // Forge hammer + let hammerRecipe = event.recipes.gtceu.forge_hammer(`hammer_raw_${materialName}_to_crushed_ore`) + .itemInputs(normalOreItem) + .category(GTRecipeCategories.ORE_FORGING) + .duration(100) + .EUt(16) + + if (material.hasProperty(PropertyKey.GEM)) { + const gemItem = ChemicalHelper.get(TagPrefix.gem, material, crushedOreItem.getCount()) + hammerRecipe.itemOutputs(gemItem) + + event.recipes.greate.pressing(gemItem, normalOreItem) + .recipeTier(1) + .id(`greate:pressing/raw_${materialName}_to_gem`) + + event.recipes.create.sandpaper_polishing(gemItem, normalOreItem) + .id(`tfg:polishing/raw_${materialName}_to_gem`) + } else { + hammerRecipe.itemOutputs(crushedOreItem) + + event.recipes.greate.pressing(crushedOreItem, normalOreItem) + .recipeTier(1) + .id(`greate:pressing/raw_${materialName}_to_crushed_ore`) + } + + event.remove({ id: `greate:milling/integration/gtceu/macerator/macerate_raw_${materialName}_ore_to_crushed_ore` }) + + // Macerator + event.recipes.gtceu.macerator(`macerate_raw_${materialName}_ore_to_crushed_ore`) + .itemInputs(normalOreItem) + .itemOutputs(crushedOreItem) + .chancedOutput(crushedOreItem.copyWithCount(1), 5000, 500) + .chancedOutput(crushedOreItem.copyWithCount(1), 2500, 250) + .chancedOutput(crushedOreItem.copyWithCount(1), 1250, 250) + .category(GTRecipeCategories.ORE_CRUSHING) + .duration(400) + .EUt(2) + + // Quern + event.recipes.tfc.quern(crushedOreItem, normalOreItem) + .id(`tfg:quern/${materialName}_crushed_ore_from_normal_raw_ore`) + + // Remove ore block recipes + event.remove({ id: `gtceu:compressor/compress_${materialName}_to_raw_ore_block` }) + event.remove({ id: `gtceu:forge_hammer/decompress_${materialName}_to_raw_ore` }) + + // Smelting + smeltOre(event, material, oreProperty, multiplier, normalOreItem, 'raw') + + // Melting + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + if (tfcProperty !== null) { + addTFCMelting(event, normalOreItem, material, global.calcAmountOfMetalProcessed(36, tfcProperty.getPercentOfMaterial()), 'raw_ore'); + } +} + +/** +* @param {Internal.RecipesEventJS} event +* @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material +*/ +function processRichRawOre(event, material) { + const oreProperty = material.getProperty(PropertyKey.ORE) + const multiplier = oreProperty.getOreMultiplier() * 2; + const richOreItem = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1) + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, multiplier) + + if (richOreItem === null || crushedOreItem === null) + return; + + const materialName = material.getName(); + + // Forge hammer + let hammerRecipe = event.recipes.gtceu.forge_hammer(`hammer_rich_raw_${materialName}_to_crushed_ore`) + .itemInputs(richOreItem) + .category(GTRecipeCategories.ORE_FORGING) + .duration(100) + .EUt(16) + + if (material.hasProperty(PropertyKey.GEM)) { + const gemItem = ChemicalHelper.get(TagPrefix.gem, material, crushedOreItem.getCount()) + hammerRecipe.itemOutputs(gemItem) + + event.recipes.greate.pressing(gemItem, richOreItem) + .recipeTier(1) + .id(`greate:pressing/rich_raw_${materialName}_to_gem`) + + event.recipes.create.sandpaper_polishing(gemItem, richOreItem) + .id(`tfg:polishing/rich_raw_${materialName}_to_gem`) + } else { + hammerRecipe.itemOutputs(crushedOreItem) + + event.recipes.greate.pressing(crushedOreItem, richOreItem) + .recipeTier(1) + .id(`greate:pressing/rich_raw_${materialName}_to_crushed_ore`) + } + + // Macerator + event.recipes.gtceu.macerator(`macerate_rich_raw_${materialName}_ore_to_crushed_ore`) + .itemInputs(richOreItem) + .itemOutputs(crushedOreItem) + .chancedOutput(crushedOreItem.copyWithCount(1), 5000, 750) + .chancedOutput(crushedOreItem.copyWithCount(1), 2500, 500) + .chancedOutput(crushedOreItem.copyWithCount(1), 1250, 250) + .category(GTRecipeCategories.ORE_CRUSHING) + .duration(400) + .EUt(2) + + // Quern + event.recipes.tfc.quern(crushedOreItem, richOreItem) + .id(`tfg:quern/${materialName}_crushed_ore_from_rich_raw_ore`) + + // Smelting + smeltOre(event, material, oreProperty, multiplier, richOreItem, 'rich') + + // Melting + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + if (tfcProperty !== null) { + addTFCMelting(event, richOreItem, material, global.calcAmountOfMetalProcessed(48, tfcProperty.getPercentOfMaterial()), 'rich_raw_ore'); + } +} + +/** +* @param {Internal.RecipesEventJS} event +* @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material +*/ +function processCrushedOre(event, material) { + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + const impureDustItem = ChemicalHelper.get(TagPrefix.dustImpure, material, 1) + const pureOreItem = ChemicalHelper.get(TagPrefix.crushedPurified, material, 1) + + const materialName = material.getName(); + if (crushedOreItem !== null && pureOreItem !== null) { + // Bulk washing + let byproductMaterial = material.getProperty(PropertyKey.ORE).getOreByProduct(0, material); + const byproductItem = ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1) + + event.recipes.greate.splashing([pureOreItem, Item.of(byproductItem).withChance(0.333), 'gtceu:stone_dust'], crushedOreItem) + .id(`tfg:splashing/${materialName}_purified_ore`) + + // Dropping in water + event.custom({ + type: "ae2:transform", + circumstance: { + type: "fluid", + tag: "tfc:any_water" + }, + ingredients: [ + crushedOreItem.toJson() + ], + result: pureOreItem.toJson() + }).id(`tfg:ae_transform/${materialName}_purified_ore`) + + event.recipes.tfc.barrel_instant() + .inputItem(crushedOreItem) + .inputFluid(Fluid.of("minecraft:water", 10)) + .outputItem(pureOreItem) + .id(`tfg:instant_barrel/${materialName}_purified_ore`) + + // Melting + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + if (tfcProperty !== null) { + addTFCMelting(event, crushedOreItem, material, global.calcAmountOfMetalProcessed(80, tfcProperty.getPercentOfMaterial()), 'purified_ore'); + } + } + + if (crushedOreItem !== null && impureDustItem !== null) { + event.recipes.greate.pressing(impureDustItem, crushedOreItem) + .recipeTier(1) + .id(`greate:pressing/crushed_${materialName}_to_impure_dust`) + } +} + +/** +* @param {Internal.RecipesEventJS} event +* @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material +*/ +function processPurifiedOre(event, material) { + const pureOreItem = ChemicalHelper.get(TagPrefix.crushedPurified, material, 1) + const pureDustItem = ChemicalHelper.get(TagPrefix.dustPure, material, 1) + + if (pureOreItem !== null && pureDustItem !== null) { + event.recipes.greate.pressing(pureDustItem, pureOreItem) + .recipeTier(1) + .id(`greate:pressing/pure_crushed_${material.getName()}_to_pure_dust`) + + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + if (tfcProperty !== null) { + addTFCMelting(event, pureOreItem, material, global.calcAmountOfMetalProcessed(100, tfcProperty.getPercentOfMaterial()), 'pure_crushed'); + } + } +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material +*/ +function processRefinedOre(event, material) { + const refinedOreItem = ChemicalHelper.get(TagPrefix.crushedRefined, material, 1) + const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1) + + if (refinedOreItem !== null && dustItem !== null) { + event.recipes.greate.pressing(dustItem, refinedOreItem) + .recipeTier(1) + .id(`greate:pressing/refined_${material.getName()}_to_dust`) + + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + if (tfcProperty !== null) { + addTFCMelting(event, refinedOreItem, material, global.calcAmountOfMetalProcessed(110, tfcProperty.getPercentOfMaterial()), 'refined_crushed'); + } + } +} + + +/** +* @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material +*/ +function processImpureDust(event, material) { + const impureDustItem = ChemicalHelper.get(TagPrefix.dustImpure, material, 1) + const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1) + + if (impureDustItem !== null && dustItem !== null) { + const materialName = material.getName(); + + // Bulk washing + event.recipes.greate.splashing(dustItem, impureDustItem) + .id(`tfg:splashing/${materialName}_dust_from_impure`) + + event.recipes.tfc.barrel_instant() + .inputItem(impureDustItem) + .inputFluid(Fluid.of("minecraft:water", 10)) + .outputItem(dustItem) + .id(`tfg:instant_barrel/${materialName}_dust_from_impure`) + + // Centrifuging + let byproductMaterial = material.getProperty(PropertyKey.ORE).getOreByProduct(0, material); + + event.recipes.vintageimprovements.centrifugation( + [dustItem, Item.of(ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1)).withChance(0.111)], + impureDustItem) + .processingTime(material.getMass() * 10 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/centrifuge/${materialName}_dust_from_impure`) + + // Dropping in water + event.custom({ + type: "ae2:transform", + circumstance: { + type: "fluid", + tag: "tfc:any_water" + }, + ingredients: [ + impureDustItem.toJson() + ], + result: dustItem.toJson() + }).id(`tfg:ae_transform/${materialName}_dust_from_impure`) + + // Melting + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + if (tfcProperty !== null) { + addTFCMelting(event, impureDustItem, material, global.calcAmountOfMetalProcessed(100, tfcProperty.getPercentOfMaterial()), 'impure_dust'); + } + } +} + +/** +* @param {Internal.RecipesEventJS} event +* @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material +*/ +function processPureDust(event, material) { + const pureDustItem = ChemicalHelper.get(TagPrefix.dustPure, material, 1); + const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1); + + if (pureDustItem !== null && dustItem !== null) { + const materialName = material.getName(); + + // Bulk washing + event.recipes.greate.splashing(dustItem, pureDustItem) + .id(`tfg:splashing/${materialName}_dust_from_pure`) + + event.recipes.tfc.barrel_instant() + .inputItem(pureDustItem) + .inputFluid(Fluid.of("minecraft:water", 10)) + .outputItem(dustItem) + .id(`tfg:instant_barrel/${materialName}_dust_from_pure`) + + // Centrifuging + let byproductMaterial = material.getProperty(PropertyKey.ORE).getOreByProduct(1, material); + + event.recipes.vintageimprovements.centrifugation( + [dustItem, Item.of(ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1)).withChance(0.111)], + pureDustItem) + .processingTime(material.getMass() * 10 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/centrifuge/${materialName}_dust_from_pure`) + + // Dropping in water + event.custom({ + type: "ae2:transform", + circumstance: { + type: "fluid", + tag: "tfc:any_water" + }, + ingredients: [ + pureDustItem.toJson() + ], + result: dustItem.toJson() + }).id(`tfg:ae_transform/${materialName}_dust_from_pure`) + + // Melting + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + if (tfcProperty !== null) { + addTFCMelting(event, pureDustItem, material, global.calcAmountOfMetalProcessed(120, tfcProperty.getPercentOfMaterial()), 'pure_dust'); + } + } +} + +/** +* @param {Internal.RecipesEventJS} event +* @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material +*/ +function processGems(event, material) { + const gemItem = ChemicalHelper.get(TagPrefix.gem, material, 1); + if (gemItem.isEmpty() || gemItem.hasTag('c:hidden_from_recipe_viewers')) + return; + + const materialName = material.getName(); + + const budItem = ChemicalHelper.get(TFGTagPrefix.budIndicator, material, 1); + if (!budItem.isEmpty()) { + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless(budItem, [gemItem, '#tfc:chisels'])) + .id(`shapeless/${materialName}_bud_indicator`) + } + + const chipped = ChemicalHelper.get(TagPrefix.gemChipped, material, 1) + const smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1) + if (!chipped.isEmpty()) { + event.shaped(smallDust, [ + 'A', 'B' + ], { + A: chipped, + B: '#forge:tools/mortars' + }).id(`shapeless/mortar_chipped_${materialName}`) + } + + const amount = getMaterialAmount(TagPrefix.block, material); + event.recipes.greate.pressing(ChemicalHelper.get(TagPrefix.gem, material, amount), ChemicalHelper.get(TagPrefix.block, material, 1)) + .recipeTier(0) + .id(`greate:pressing/unpacking_${materialName}_block`) + + event.recipes.tfc.quern(ChemicalHelper.get(TagPrefix.dust, material, 1), gemItem) + .id(`tfg:quern/${materialName}_gem_to_dust`) + + // Melting + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + if (tfcProperty !== null) { + addTFCMelting(event, ChemicalHelper.get(TagPrefix.gemChipped, material, 1), material, global.calcAmountOfMetalProcessed(144 / 4, tfcProperty.getPercentOfMaterial()), 'gem_chipped'); + addTFCMelting(event, ChemicalHelper.get(TagPrefix.gemFlawed, material, 1), material, global.calcAmountOfMetalProcessed(144 / 2, tfcProperty.getPercentOfMaterial()), 'gem_flawed'); + addTFCMelting(event, gemItem, material, global.calcAmountOfMetalProcessed(144, tfcProperty.getPercentOfMaterial()), 'gem'); + addTFCMelting(event, ChemicalHelper.get(TagPrefix.gemFlawless, material, 1), material, global.calcAmountOfMetalProcessed(144 * 2, tfcProperty.getPercentOfMaterial()), 'gem_flawless'); + addTFCMelting(event, ChemicalHelper.get(TagPrefix.gemExquisite, material, 1), material, global.calcAmountOfMetalProcessed(144 * 4, tfcProperty.getPercentOfMaterial()), 'gem_exquisite'); + } +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tag_prefixes.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tag_prefixes.js new file mode 100644 index 000000000..05e50be06 --- /dev/null +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tag_prefixes.js @@ -0,0 +1,576 @@ +// priority: 0 +"use strict"; + + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processDust(event, material) { + // Melting + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + if (tfcProperty !== null) { + const tinyDust = ChemicalHelper.get(TagPrefix.dustTiny, material, 1); + addTFCMelting(event, tinyDust, material, global.calcAmountOfMetalProcessed(144 / 9, tfcProperty.getPercentOfMaterial()), 'tiny_dust'); + const smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1); + addTFCMelting(event, smallDust, material, global.calcAmountOfMetalProcessed(144 / 4, tfcProperty.getPercentOfMaterial()), 'small_dust'); + const dust = ChemicalHelper.get(TagPrefix.dust, material, 1); + addTFCMelting(event, dust, material, global.calcAmountOfMetalProcessed(144, tfcProperty.getPercentOfMaterial()), 'dust'); + } +} + + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processPowder(event, material) { + const powderItem = ChemicalHelper.get(TFGTagPrefix.powder, material, 1); + + if (powderItem.isEmpty()) + return; + + const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1); + const materialName = material.getName(); + + event.recipes.gtceu.macerator(`tfg:${materialName}_to_powder`) + .itemInputs(dustItem) + .itemOutputs(powderItem.withCount(4)) + .duration(60) + .EUt(2) + + event.recipes.tfc.quern(powderItem.withCount(4), dustItem) + .id(`tfg:quern/${materialName}`) + + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + if (tfcProperty !== null) { + addTFCMelting(event, powderItem, material, global.calcAmountOfMetalProcessed(144 / 4, tfcProperty.getPercentOfMaterial()), 'powder'); + } + + if (material.hasProperty(PropertyKey.FLUID)) { + event.recipes.gtceu.extractor(`tfg:${materialName}_powder`) + .itemInputs(powderItem) + .outputFluids(Fluid.of(material.getFluid(), global.calcAmountOfMetalProcessed(144 / 4, tfcProperty.getPercentOfMaterial()))) + .duration(material.getMass() / 4) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + .EUt(getFluidRecipeEUt(material)) + } +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processIngot(event, material) { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1); + + if (ingotItem.isEmpty() + || ingotItem.hasTag('c:hidden_from_recipe_viewers') + || material === GTMaterials.Stone) + return; + + if (material.hasProperty(TFGPropertyKey.TFC_PROPERTY)) { + addTFCMelting(event, ingotItem, material, 144, 'ingot'); + addMaterialCasting(event, ingotItem, 'tfc:ceramic/ingot_mold', false, null, material, 'ingot', 144); + addMaterialCasting(event, ingotItem, 'tfc:ceramic/fire_ingot_mold', true, null, material, 'ingot', 144); + } +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processIngotDouble(event, material) { + if (!material.hasFlag(TFGMaterialFlags.GENERATE_DOUBLE_INGOTS)) + return; + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1); + const doubleIngotItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1); + + addMaterialRecycling(event, doubleIngotItem, material, "double_ingot", TFGTagPrefix.ingotDouble); + addMaterialWelding(event, doubleIngotItem, ingotItem, ingotItem, material, 5, 1); + + event.recipes.gtceu.bender(`tfg:bend_${material.getName()}_double_ingot_electric_only`) + .itemInputs(ingotItem.withCount(2)) + .itemOutputs(doubleIngotItem) + .duration(material.getMass() * 6) + .EUt(GTValues.VA[GTValues.LV]) + .circuit(3) +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processBlock(event, material) { + const blockItem = ChemicalHelper.get(TagPrefix.block, material, 1); + + if (blockItem.isEmpty() + || blockItem.hasTag('c:hidden_from_recipe_viewers') + || GTMaterials.Stone === material + || material.hasProperty(PropertyKey.POLYMER)) + return; + + const matAmount = getMaterialAmount(TagPrefix.block, material); + const materialName = material.getName(); + + if (material.hasProperty(PropertyKey.INGOT)) { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1); + let ingotArray = []; + for (let i = 0; i < matAmount; i++) + ingotArray.push(ingotItem) + + event.recipes.greate.compacting(blockItem, ingotArray) + .recipeTier(1) + .circuitNumber(9) + .heated() + .id(`greate:compacting/${materialName}_block`) + } + else if (material.hasProperty(PropertyKey.GEM)) { + const gemItem = ChemicalHelper.get(TagPrefix.gem, material, 1); + let gemArray = []; + for (let i = 0; i < matAmount; i++) + gemArray.push(gemItem) + + event.recipes.greate.compacting(blockItem, gemArray) + .recipeTier(1) + .circuitNumber(9) + .id(`greate:compacting/${materialName}_block`) + } + + if (material.hasProperty(TFGPropertyKey.TFC_PROPERTY)) { + addTFCMelting(event, blockItem, material, 144 * matAmount, 'block'); + } +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processPlate(event, material) { + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (plateItem.isEmpty() || plateItem.hasTag('c:hidden_from_recipe_viewers')) + return; + + const materialName = material.getName(); + event.remove({ id: `gtceu:shaped/plate_${materialName}` }) + + if (material === GTMaterials.Stone + || material === GTMaterials.Wood + || material === GTMaterials.TreatedWood + || material.hasProperty(PropertyKey.POLYMER)) + return; + + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + if (tfcProperty !== null) { + addTFCMelting(event, plateItem, material, 144, 'plate'); + + const doubleIngotItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1); + addAnvilRecipe(event, plateItem, doubleIngotItem, ['hit_last', 'hit_second_last', 'hit_third_last'], false, material, 'sheet'); + } + + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1); + if (!ingotItem.isEmpty()) { + event.custom({ + type: "createaddition:rolling", + input: ingotItem, + result: plateItem, + //processingTime: material.getMass() // TODO - controlled by a global config argh + }).id(`tfg:rolling/${materialName}_plate`) + } +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processPlateDouble(event, material) { + const doublePlateItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) + if (doublePlateItem.isEmpty() || doublePlateItem.hasTag('c:hidden_from_recipe_viewers')) + return; + + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1); + + event.remove({ id: `gtceu:shaped/plate_double_${material.getName()}` }) + + if (material.hasProperty(TFGPropertyKey.TFC_PROPERTY)) { + addTFCMelting(event, doublePlateItem, material, 288, 'double_plate'); + + // If it's a TFC-era material, allow double plates in LV + event.remove({ id: `gtceu:bender/bend_${material.getName()}_plate_to_double_plate` }) + event.recipes.gtceu.bender(`tfg:bend_${material.getName()}_plate_to_double_plate_electric_only`) + .itemInputs(plateItem.withCount(2)) + .itemOutputs(doublePlateItem) + .circuit(2) + .duration(material.getMass() * 2) + .EUt(24) + } + + addMaterialWelding(event, doublePlateItem, plateItem, plateItem, material, 4, 2); +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processFoil(event, material) { + const foilItem = ChemicalHelper.get(TagPrefix.foil, material, 4) + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + + if (plateItem.isEmpty() || foilItem.isEmpty() || plateItem.hasTag('c:hidden_from_recipe_viewers')) + return; + + event.custom({ + type: "createaddition:rolling", + input: plateItem, + result: foilItem, + // TODO - processing time is controlled by a global config instead of setting it per-recipe... + //processingTime: material.getMass() + }).id(`tfg:rolling/${material.getName()}_foil`) +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processRod(event, material) { + if (material === GTMaterials.Wood || material === GTMaterials.TreatedWood) + return; + + // Short rods + const shortRodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (shortRodItem.isEmpty() || shortRodItem.hasTag('c:hidden_from_recipe_viewers')) + return; + + const materialName = material.getName(); + + addMaterialCasting(event, shortRodItem, 'tfg:rod_mold', true, null, material, 'rod', 144 / 2); + + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + if (tfcProperty !== null) { + addTFCMelting(event, shortRodItem, material, 144 / 2, 'rod'); + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + addAnvilRecipe(event, shortRodItem.withCount(2), ingotItem, ['draw_last'], false, material, 'rod'); + } + + // Every material with a short rod also has a long rod + const longRodItem = ChemicalHelper.get(TagPrefix.rodLong, material, 1) + if (longRodItem.isEmpty() || longRodItem.hasTag('c:hidden_from_recipe_viewers')) + return; + + event.remove({ id: `gtceu:shaped/stick_long_stick_${materialName}` }) + + if (tfcProperty !== null) { + addTFCMelting(event, longRodItem, material, 144, 'long_rod'); + } + + addMaterialWelding(event, longRodItem, shortRodItem, shortRodItem, material, 4, 1); +} + + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processBolt(event, material) { + if (material === GTMaterials.Wood || material === GTMaterials.TreatedWood) + return; + + const boltItem = ChemicalHelper.get(TagPrefix.bolt, material, 1); + if (boltItem.isEmpty()) + return; + + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + if (tfcProperty !== null) { + addTFCMelting(event, boltItem, material, getMaterialAmount(TagPrefix.bolt, material) * 144, 'bolt'); + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + addAnvilRecipe(event, boltItem.withCount(4), rodItem, ['punch_last', 'draw_second_last', 'draw_third_last'], false, material, 'bolt'); + } +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processScrew(event, material) { + if (material === GTMaterials.Wood || material === GTMaterials.TreatedWood) + return; + + const screwItem = ChemicalHelper.get(TagPrefix.screw, material, 1); + if (screwItem.isEmpty()) + return; + + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + if (tfcProperty !== null) { + addTFCMelting(event, screwItem, material, getMaterialAmount(TagPrefix.screw, material) * 144, 'screw'); + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1); + addAnvilRecipe(event, screwItem.withCount(4), rodItem, ['punch_last', 'punch_second_last', 'shrink_third_last'], false, material, 'screw'); + } +} + +function processRing(event, material) { + const ringItem = ChemicalHelper.get(TagPrefix.ring, material, 1) + if (ringItem.isEmpty()) + return; + + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + if (tfcProperty !== null) { + addTFCMelting(event, ringItem, material, getMaterialAmount(TagPrefix.ring, material) * 144, 'ring'); + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1); + addAnvilRecipe(event, ringItem.withCount(2), rodItem, ['hit_last', 'hit_second_last', 'hit_third_last'], false, material, 'ring'); + } +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processAnvil(event, material) { + const anvilItem = ChemicalHelper.get(TFGTagPrefix.anvil, material, 1) + if (anvilItem.isEmpty()) + return; + + addMaterialRecycling(event, anvilItem, material, 'anvil', TFGTagPrefix.anvil); + addMaterialCasting(event, anvilItem, null, false, 'gtceu:anvil_casting_mold', material, 'anvil', getMaterialAmount(TFGTagPrefix.anvil, material) * 144); +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processLamp(event, material) { + const finishedLampItem = ChemicalHelper.get(TFGTagPrefix.lamp, material, 1) + const unfinishedLampItem = ChemicalHelper.get(TFGTagPrefix.lampUnfinished, material, 1) + if (finishedLampItem.isEmpty() || unfinishedLampItem.isEmpty()) + return; + + const materialName = material.getName(); + + // Unfinished lamp + let matMap = { 'glass': 1 }; + matMap[materialName] = 1; + TFGHelpers.registerMaterialInfo(finishedLampItem, matMap); + addTFCMelting(event, finishedLampItem, material, 144, 'lamp'); + + addMaterialRecycling(event, unfinishedLampItem, material, 'unfinished_lamp', TFGTagPrefix.lampUnfinished); + addMaterialCasting(event, unfinishedLampItem, null, false, 'tfg:lamp_casting_mold', material, 'unfinished_lamp', getMaterialAmount(TFGTagPrefix.lampUnfinished, material) * 144); + + // Finished lamp + event.recipes.gtceu.packer(`tfg:${materialName}_lamp`) + .itemInputs("tfc:lamp_glass", unfinishedLampItem) + .itemOutputs(finishedLampItem) + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.fluid_solidifier(`tfg:${materialName}_lamp_from_liquid`) + .itemInputs(unfinishedLampItem) + .inputFluids(Fluid.of(GTMaterials.Glass.getFluid(), 144)) + .itemOutputs(finishedLampItem) + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator(`tfg:macerate_${materialName}_lamp`) + .itemInputs(finishedLampItem) + .itemOutputs(`#forge:dusts/${materialName}`, `#forge:dusts/glass`) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .duration(material.getMass()) + .EUt(2); + + event.recipes.gtceu.arc_furnace(`tfg:arc_${materialName}_lamp`) + .itemInputs(finishedLampItem) + .itemOutputs(`#forge:ingots/${materialName}`) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .duration(material.getMass()) + .EUt(30); +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processTrapdoor(event, material) { + const trapdoorItem = ChemicalHelper.get(TFGTagPrefix.trapdoor, material, 1) + if (trapdoorItem.isEmpty()) + return; + + addMaterialRecycling(event, trapdoorItem, material, 'trapdoor', TFGTagPrefix.trapdoor); + addMaterialCasting(event, trapdoorItem, null, false, 'tfg:trapdoor_casting_mold', material, 'trapdoor', getMaterialAmount(TFGTagPrefix.trapdoor, material) * 144); + + if (material.hasProperty(TFGPropertyKey.TFC_PROPERTY)) { + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1); + addAnvilRecipe(event, trapdoorItem, plateItem, ['bend_last', 'draw_second_last', 'draw_third_last'], false, material, 'trapdoor'); + } +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processBell(event, material) { + const bellItem = ChemicalHelper.get(TFGTagPrefix.bell, material, 1) + if (bellItem.isEmpty()) + return; + + const materialName = material.getName(); + + event.remove({ id: `tfc:heating/${materialName}_bell` }) + + addMaterialRecycling(event, bellItem, material, 'bell', TFGTagPrefix.bell); + addMaterialCasting(event, bellItem, 'tfc:ceramic/bell_mold', false, 'tfg:bell_casting_mold', material, 'bell', getMaterialAmount(TFGTagPrefix.bell, material) * 144); +} + +function processChain(event, material) { + const chainItem = ChemicalHelper.get(TFGTagPrefix.chain, material, 1); + if (chainItem.isEmpty()) + return; + + addMaterialRecycling(event, chainItem, material, 'chain', TFGTagPrefix.chain); + addMaterialCasting(event, chainItem.withCount(16), null, false, 'tfg:chain_casting_mold', material, 'chain', 144); +} + +function processBars(event, material) { + const barsItem = ChemicalHelper.get(TFGTagPrefix.bars, material, 1); + if (barsItem.isEmpty()) + return; + + addMaterialRecycling(event, barsItem, material, 'bars', TFGTagPrefix.bars); + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1); + event.stonecutting(barsItem.withCount(4), ingotItem); + + if (material.hasProperty(TFGPropertyKey.TFC_PROPERTY)) { + addAnvilRecipe(event, barsItem.withCount(4), ingotItem, ['upset_last', 'punch_second_last', 'punch_third_last'], false, material, 'bars'); + + const doubleIngotItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1); + addAnvilRecipe(event, barsItem.withCount(8), doubleIngotItem, ['upset_last', 'punch_second_last', 'punch_third_last'], false, material, 'bars_double'); + } +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processBuzzsawBlade(event, material) { + const buzzsawBladeItem = ChemicalHelper.get(TagPrefix.toolHeadBuzzSaw, material, 1) + const doublePlateItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) + if (buzzsawBladeItem.isEmpty() || doublePlateItem.isEmpty()) + return; + + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + const materialName = material.getName(); + + event.recipes.gtceu.lathe(`buzzsaw_gear_${materialName}`) + .itemInputs(doublePlateItem) + .itemOutputs(buzzsawBladeItem) + .duration(material.getMass() * 6) + .EUt(GTValues.VA[tfcProperty !== null ? GTValues.LV : GTValues.MV]) + + if (tfcProperty !== null) { + addAnvilRecipe(event, buzzsawBladeItem, doublePlateItem, ['bend_last', 'hit_second_last', 'draw_third_last'], false, material, 'buzzsaw_blade'); + + event.recipes.vintageimprovements.polishing(buzzsawBladeItem, doublePlateItem) + .speedLimits(0) + .processingTime(material.getMass() * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/${materialName}_buzzsaw`) + } + + addMaterialRecycling(event, buzzsawBladeItem, material, 'buzz_saw_blade', TagPrefix.toolHeadBuzzSaw); + + event.remove({ id: `gtceu:shaped/buzzsaw_blade_${materialName}` }) +} + + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processSpring(event, material) { + const springItem = ChemicalHelper.get(TagPrefix.spring, material, 1); + const materialName = material.getName(); + + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + + if (springItem !== null) { + event.remove({ id: `gtceu:shaped/spring_${materialName}` }); + + if (tfcProperty !== null) { + addTFCMelting(event, springItem, material, getMaterialAmount(TagPrefix.spring, material) * 144, 'spring'); + + const longRodItem = ChemicalHelper.get(TagPrefix.rodLong, material, 1); + addAnvilRecipe(event, springItem, longRodItem, ['hit_last', 'bend_second_last', 'bend_third_last'], false, material, 'spring'); + } + } + + const smallSpringItem = ChemicalHelper.get(TagPrefix.springSmall, material, 1); + if (smallSpringItem !== null) { + event.remove({ id: `gtceu:shaped/spring_small_${materialName}` }); + + if (tfcProperty !== null) { + addTFCMelting(event, smallSpringItem, material, getMaterialAmount(TagPrefix.springSmall, material) * 144, 'spring_small'); + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1); + addAnvilRecipe(event, smallSpringItem, rodItem, ['hit_last', 'bend_second_last', 'bend_third_last'], false, material, 'small_spring'); + } + } +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processNugget(event, material) { + const nuggetItem = ChemicalHelper.get(TagPrefix.nugget, material, 1); + if (nuggetItem.isEmpty()) + return; + + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + if (tfcProperty !== null) { + addTFCMelting(event, nuggetItem, material, 144 / 9, 'nugget'); + addMaterialCasting(event, nuggetItem.withCount(4), 'tfg:nugget_mold', false, null, material, 'nugget', 144 * (4/9)); + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1); + addAnvilRecipe(event, nuggetItem.withCount(9), ingotItem, ['punch_last', 'hit_second_last', 'punch_third_last'], false, material, 'nugget'); + } +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processSmallGear(event, material) { + const smallGearItem = ChemicalHelper.get(TagPrefix.gearSmall, material, 1); + if (smallGearItem.isEmpty()) + return; + + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + if (tfcProperty !== null) { + addTFCMelting(event, smallGearItem, material, 144, 'small_gear'); + addMaterialCasting(event, smallGearItem, 'tfg:small_gear_mold', true, null, material, 'small_gear', 144); + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1); + addAnvilRecipe(event, smallGearItem, ingotItem, ['hit_last', 'shrink_second_last', 'draw_third_last'], false, material, 'small_gear'); + } +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processLargeGear(event, material) { + const gearItem = ChemicalHelper.get(TagPrefix.gear, material, 1); + if (gearItem.isEmpty()) + return; + + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + if (tfcProperty !== null) { + addTFCMelting(event, gearItem, material, 144 * 4, 'gear'); + + let doublePlateItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) + addMaterialWelding(event, gearItem, doublePlateItem, doublePlateItem, material, 4, 1); + } +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tfc.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tfc.js new file mode 100644 index 000000000..bffed8d62 --- /dev/null +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tfc.js @@ -0,0 +1,298 @@ +// priority: 0 +"use strict"; + + +/** + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processTFCArmor(event, material) { + + const materialName = material.getName(); + + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1); + const doublePlateItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1); + + // Helmet + const unfinishedHelmet = `tfc:metal/unfinished_helmet/${materialName}`; + const finishedHelmet = `tfc:metal/helmet/${materialName}`; + + addAnvilRecipe(event, unfinishedHelmet, doublePlateItem, ['hit_last', 'bend_second_last', 'bend_third_last'], true, material, 'unfinished_helmet'); + addTFCMelting(event, unfinishedHelmet, material, 144 * 2, 'unfinished_helmet'); + addTFCMelting(event, finishedHelmet, material, 144 * 3, 'helmet'); + addMaterialWelding(event, finishedHelmet, unfinishedHelmet, plateItem, material, 4, 0); + + // Chestplate + const unfinishedChestplate = `tfc:metal/unfinished_chestplate/${materialName}`; + const finishedChestplate = `tfc:metal/chestplate/${materialName}`; + + addAnvilRecipe(event, unfinishedChestplate, doublePlateItem, ['hit_last', 'hit_second_last', 'upset_third_last'], true, material, 'unfinished_chestplate'); + addTFCMelting(event, unfinishedChestplate, material, 144 * 2, 'unfinished_chestplate'); + addTFCMelting(event, finishedChestplate, material, 144 * 4, 'chestplate'); + addMaterialWelding(event, finishedChestplate, unfinishedChestplate, doublePlateItem, material, 4, 0); + + // Greaves + const unfinishedGreaves = `tfc:metal/unfinished_greaves/${materialName}`; + const finishedGreaves = `tfc:metal/greaves/${materialName}`; + + addAnvilRecipe(event, unfinishedGreaves, doublePlateItem, ['bend_any', 'draw_any', 'hit_any'], true, material, 'unfinished_greaves'); + addTFCMelting(event, unfinishedGreaves, material, 144 * 2, 'unfinished_greaves'); + addTFCMelting(event, finishedGreaves, material, 144 * 3, 'greaves'); + addMaterialWelding(event, finishedGreaves, unfinishedGreaves, plateItem, material, 4, 0); + + // Boots + const unfinishedBoots = `tfc:metal/unfinished_boots/${materialName}`; + const finishedBoots = `tfc:metal/boots/${materialName}`; + + addAnvilRecipe(event, unfinishedBoots, plateItem, ['bend_last', 'bend_second_last', 'shrink_third_last'], true, material, 'unfinished_boots'); + addTFCMelting(event, unfinishedBoots, material, 144, 'unfinished_boots'); + addTFCMelting(event, finishedBoots, material, 144 * 2, 'boots'); + addMaterialWelding(event, finishedBoots, unfinishedBoots, plateItem, material, 4, 0); +} + + +/** + * Processes the TFC items for the TFC "tool material" metals + * @param {Internal.RecipesEventJS} event + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processTFCTool(event, material) { + const materialName = material.getName(); + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1); + const doubleIngotItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1); + const doublePlateItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1); + const knifeHead = ChemicalHelper.get(TFGTagPrefix.toolHeadKnife, material, 1) + + // Helper methods + function addExtruderRecipe(outputItem, inputItem, mold, id) { + event.recipes.vintageimprovements.curving(outputItem, inputItem) + .head(mold) + .id(`tfg:vi/curving/${materialName}_${id}`) + + event.recipes.gtceu.extruder(`tfg:${materialName}_${id}`) + .itemInputs(inputItem) + .notConsumable(mold) + .itemOutputs(outputItem) + .duration(material.getMass() * 6) + .EUt(GTValues.VA[GTValues.LV]) + } + + // For tools that are pure TFC + + if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { + // Tuyere + let tuyere = `tfc:metal/tuyere/${materialName}`; + addTFCMelting(event, tuyere, material, 144 * 2, 'tuyere'); + addExtruderRecipe(tuyere, doublePlateItem, 'gtceu:bottle_extruder_mold', 'tuyere'); + addAnvilRecipe(event, tuyere, doublePlateItem, ['bend_last', 'bend_second_last'], true, material, 'tuyere'); + + // Shield + let shield = `tfc:metal/shield/${materialName}`; + addTFCMelting(event, shield, material, 144 * 2, 'shield'); + addExtruderRecipe(shield, doublePlateItem, 'gtceu:plate_extruder_mold', 'shield'); + addAnvilRecipe(event, shield, doublePlateItem, ['upset_last', 'bend_second_last', 'bend_third_last'], true, material, 'shield'); + + // Horse armor + let horseArmor = `tfc:metal/horse_armor/${materialName}`; + addTFCMelting(event, horseArmor, material, 144 * 6, 'horse_armor'); + + // Fish hook + let fishHook = `tfc:metal/fish_hook/${materialName}`; + addAnvilRecipe(event, fishHook, ingotItem, ['bend_any', 'hit_any', 'draw_not_last'], false, material, 'fish_hook'); + addTFCMelting(event, `tfc:metal/fishing_rod/${materialName}`, material, 144, 'fishing_rod'); + + // Mace + let mace = `tfc:metal/mace/${materialName}`; + addTFCMelting(event, mace, material, 144 * 2, 'mace'); + + // Mattock + event.remove({ id: `rnr:heating/metal/${materialName}_mattock` }) + event.remove({ id: `rnr:heating/metal/${materialName}_mattock_head` }) + let mattock = `rnr:metal/mattock/${materialName}`; + addTFCMelting(event, mattock, material, 144, 'mattock'); + + // Shears + let shears = `tfc:metal/shears/${materialName}`; + addMaterialWelding(event, shears, knifeHead, knifeHead, material, 4, 1); + addTFCMelting(event, shears, material, 144 * 2, 'shears'); + + event.recipes.gtceu.forge_hammer(`tfg:shears/${materialName}`) + .itemInputs(knifeHead.withCount(2)) + .itemOutputs(shears) + .duration(40) + .EUt(7); + + // Prospector pick + let propick = `tfc:metal/propick/${materialName}`; + addTFCMelting(event, propick, material, 144, 'propick'); + + // Chisel + let chisel = `tfc:metal/chisel/${materialName}`; + addTFCMelting(event, chisel, material, 144, 'chisel'); + + // Javelin + let javelin = `tfc:metal/javelin/${materialName}`; + addTFCMelting(event, javelin, material, 144, 'javelin'); + + // Scraping knife + let scrapingKnife = `tfcscraping:metal/scraping_knife/${materialName}`; + let scrapingKnifeBlade = `tfcscraping:metal/scraping_knife_blade/${materialName}`; + addAnvilRecipe(event, scrapingKnifeBlade, doubleIngotItem, ['hit_last','draw_not_last', 'draw_second_last'], true, material, 'scraping_knife_blade'); + addTFCMelting(event, scrapingKnife, material, 144 * 2, 'scraping_knife'); + addMaterialRecyclingNoTagPrefix(event, scrapingKnifeBlade, material, 'scraping_knife_blade', 2); + addMaterialCasting(event, scrapingKnifeBlade, 'tfcscraping:ceramic/scraping_knife_blade_mold', false, null, material, 'scraping_knife_blade', 144 * 2); + + // Tongs + let tongPart = `tfchotornot:tong_part/${materialName}`; + let tong = `tfchotornot:tongs/${materialName}`; + addExtruderRecipe(tongPart, ChemicalHelper.get(TagPrefix.rodLong, material, 1), 'gtceu:rod_extruder_mold', 'tong_part'); + addMaterialRecyclingNoTagPrefix(event, tongPart, material, 'tong_part', 1); + addTFCMelting(event, tong, material, 144 * 2, 'tong'); + + event.recipes.tfc.advanced_shaped_crafting( + TFC.isp.of(tong).copyForgingBonus(), [ + 'AA', + 'BC' + ], { + A: tongPart, + B: Ingredient.of('#forge:bolts').subtract('gtceu:wood_bolt'), + C: '#forge:tools/hammers' + }, 0, 0).id(`tfchotornot:crafting/tongs/${materialName}`) + + event.recipes.gtceu.forge_hammer(tong) + .itemInputs(`2x ${tongPart}`) + .itemOutputs(tong) + .duration(material.getMass()) + .EUt(GTValues.VA[GTValues.ULV]) + + event.remove({ id: `tfchotornot:heating/tongs/${materialName}` }) + event.remove({ id: `tfchotornot:heating/tong_part/${materialName}` }) + } + + // Sword + const swordBlade = ChemicalHelper.get(TFGTagPrefix.toolHeadSword, material, 1); + event.remove({ id: `tfc:crafting/metal/sword/${materialName}` }) + addAnvilRecipe(event, swordBlade, doubleIngotItem, ['punch_last', 'bend_not_last', 'draw_not_last'], true, material, 'sword_blade'); + + // Butchery Knife + const butcheryKnifeHead = ChemicalHelper.get(TFGTagPrefix.toolHeadButcheryKnife, material, 1); + addAnvilRecipe(event, butcheryKnifeHead, ingotItem, ['punch_last', 'bend_not_last', 'bend_not_last'], true, material, 'knife_butchery_head'); + + // Mining Hammer + const miningHammerHead = ChemicalHelper.get(TFGTagPrefix.toolHeadMiningHammer, material, 1); + addAnvilRecipe(event, miningHammerHead, doubleIngotItem, ['punch_last', 'shrink_not_last'], true, material, 'mining_hammer_head'); + + // Spade + const spadeHead = ChemicalHelper.get(TFGTagPrefix.toolHeadSpade, material, 1); + addAnvilRecipe(event, spadeHead, doubleIngotItem, ['punch_last', 'hit_not_last'], true, material, 'spade_head'); + + // Pickaxe + const pickaxeHead = ChemicalHelper.get(TFGTagPrefix.toolHeadPickaxe, material, 1); + event.remove({ id: `tfc:crafting/metal/pickaxe/${materialName}` }); + addAnvilRecipe(event, pickaxeHead, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last'], true, material, 'pickaxe_head'); + + // Screwdriver + const screwdriverHead = ChemicalHelper.get(TagPrefix.toolHeadScrewdriver, material, 1); + addAnvilRecipe(event, screwdriverHead, ingotItem, ['draw_last', 'hit_second_last', 'hit_third_last'], true, material, 'screwdriver_tip'); + + // Wrench + const wrenchHead = ChemicalHelper.get(TagPrefix.toolHeadWrench, material, 1); + addAnvilRecipe(event, wrenchHead, doubleIngotItem, ['draw_last', 'hit_second_last', 'hit_third_last'], true, material, 'wrench_tip'); + + // Crowbar + const crowbar = ToolHelper.get(GTToolType.CROWBAR, material); + addTFCMelting(event, crowbar, material, 144 * 1.5, 'crowbar'); + + // Wire cutters + const wireCutterHead = ChemicalHelper.get(TagPrefix.toolHeadWireCutter, material, 1); + addAnvilRecipe(event, wireCutterHead, doubleIngotItem, ['draw_last', 'hit_second_last', 'hit_third_last'], true, material, 'wire_cutter_head'); + + // Axe + const axeHead = ChemicalHelper.get(TFGTagPrefix.toolHeadAxe, material, 1); + event.remove({ id: `tfc:crafting/metal/axe/${materialName}` }); + addAnvilRecipe(event, axeHead, ingotItem, ['punch_last', 'hit_second_last', 'upset_third_last'], true, material, 'axe_head'); + + // Shovel + const shovelHead = ChemicalHelper.get(TFGTagPrefix.toolHeadShovel, material, 1); + event.remove({ id: `tfc:crafting/metal/shovel/${materialName}` }); + addAnvilRecipe(event, shovelHead, ingotItem, ['punch_last', 'hit_not_last'], true, material, 'shovel_head'); + + // Hoe + const hoeHead = ChemicalHelper.get(TFGTagPrefix.toolHeadHoe, material, 1); + event.remove({ id: `tfc:crafting/metal/hoe/${materialName}` }); + addAnvilRecipe(event, hoeHead, ingotItem, ['punch_last', 'hit_not_last', 'bend_not_last'], true, material, 'hoe_head'); + + // Hammer + const hammerHead = ChemicalHelper.get(TFGTagPrefix.toolHeadHammer, material, 1); + event.remove({ id: `tfc:crafting/metal/hammer/${materialName}` }); + addAnvilRecipe(event, hammerHead, ingotItem, ['punch_last', 'shrink_not_last'], true, material, 'hammer_head'); + + // Saw + const sawHead = ChemicalHelper.get(TFGTagPrefix.toolHeadSaw, material, 1); + event.remove({ id: `tfc:crafting/metal/saw/${materialName}` }); + addAnvilRecipe(event, sawHead, ingotItem, ['hit_last', 'hit_second_last'], true, material, 'saw_blade'); + + // Scythe + const scytheHead = ChemicalHelper.get(TFGTagPrefix.toolHeadScythe, material, 1); + event.remove({ id: `tfc:crafting/metal/scythe/${materialName}` }) + addAnvilRecipe(event, scytheHead, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last'], true, material, 'scythe_blade'); + + // File + const fileHead = ChemicalHelper.get(TFGTagPrefix.toolHeadFile, material, 1); + addAnvilRecipe(event, fileHead, ingotItem, ['upset_last', 'bend_not_last', 'punch_not_last'], true, material, 'file_head'); + + // Knife + addAnvilRecipe(event, knifeHead, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last'], true, material, 'knife_blade'); +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {GTMaterial} material + */ +function processPlatedBlock(event, material) { + const platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1); + if (platedBlock === null) + return; + + const platedSlab = ChemicalHelper.get(TFGTagPrefix.slabPlated, material, 1); + const platedStair = ChemicalHelper.get(TFGTagPrefix.stairPlated, material, 1); + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1); + + const materialName = material.getName(); + + event.shapeless(platedBlock, ['#forge:stone_bricks', plateItem, '#forge:tools/hammers']) + .id(`tfg:shapeless/${materialName}_plated_block`) + event.recipes.gtceu.assembler(`tfg:${materialName}_plated_block`) + .itemInputs('#forge:stone_bricks', plateItem) + .itemOutputs(platedBlock) + .circuit(10) + .duration(50) + .EUt(GTValues.VA[GTValues.ULV]) + + addMaterialRecycling(event, platedBlock, material, 'plated_block', TFGTagPrefix.blockPlated); + + + event.shapeless(platedSlab.withCount(2), ['2x #tfg:brick_slabs', plateItem, '#forge:tools/hammers']) + .id(`tfg:item_application/${materialName}_plated_slab`) + event.recipes.gtceu.assembler(`tfg:${materialName}_plated_slab`) + .itemInputs('2x #tfg:brick_slabs', plateItem) + .itemOutputs(platedSlab.withCount(2)) + .circuit(10) + .duration(50) + .EUt(GTValues.VA[GTValues.ULV]) + + addMaterialRecycling(event, platedSlab, material, 'plated_slab', TFGTagPrefix.slabPlated); + + + event.shapeless(platedStair, ['#tfg:brick_stairs', plateItem, '#forge:tools/hammers']) + .id(`tfg:item_application/${materialName}_plated_stair`) + event.recipes.gtceu.assembler(`tfg:${materialName}_plated_stair`) + .itemInputs('#tfg:brick_stairs', plateItem) + .itemOutputs(platedStair) + .circuit(10) + .duration(50) + .EUt(GTValues.VA[GTValues.ULV]) + + addMaterialRecycling(event, platedStair, material, 'plated_stair', TFGTagPrefix.stairPlated); +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js new file mode 100644 index 000000000..bdc455e77 --- /dev/null +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js @@ -0,0 +1,186 @@ +// priority: 0 +"use strict"; + + +/** + * @param {Internal.RecipesEventJS} event + * @param {GTToolType} toolType + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processToolMortar(event, toolType, material) { + const toolItem = ToolHelper.get(toolType, material) + if (toolItem.isEmpty()) + return; + + const usableItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (usableItem.isEmpty()) + return; + + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped(toolItem, [ + 'CA ', + ' B ' + ], { + A: usableItem, + B: '#tfc:rock/raw', + C: '#tfc:chisels' + }) + ).id(`gtceu:shaped/mortar_${material.getName()}`); + + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + if (tfcProperty !== null) { + addTFCMelting(event, toolItem, material, 144, 'mortar'); + } +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {GTToolType} toolType + * @param {String} tagPrefixName + * @param {TagPrefix} headTagPrefix + * @param {Internal.ItemStack} extruderMold + * @param {Internal.ItemStack} ceramicMold + * @param {number} circuitMeta + * Used for the laser engraver recipes for gem tools. + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processGTToolHead(event, toolType, tagPrefixName, headTagPrefix, extruderMold, ceramicMold, circuitMeta, material) { + const toolItem = ToolHelper.get(toolType, material); + const toolHeadItem = ChemicalHelper.get(headTagPrefix, material, 1); + + if (toolItem.isEmpty() || toolHeadItem.isEmpty()) + return; + + // Skip this one because it has a duping bug, and you can't remove the macerator/arc furnace iron pick recipes + if (material === GTMaterials.Iron) + return; + + const materialName = material.getName(); + + if (toolType === GTToolType.WRENCH) { + event.recipes.tfc.advanced_shaped_crafting( + TFC.itemStackProvider.of(toolItem).copyForgingBonus().copyHeat(), [ + 'ABC', + 'DB ' + ], { + A: toolHeadItem, + B: `#forge:rods/${materialName}`, + C: '#forge:tools/screwdrivers', + D: `#forge:bolts/${materialName}` + }, 0, 0) + .id(`gtceu:shaped/${toolType.name}_${materialName}`); + } else if (toolType === GTToolType.WIRE_CUTTER) { + event.recipes.tfc.advanced_shaped_crafting( + TFC.itemStackProvider.of(toolItem).copyForgingBonus().copyHeat(), [ + ' AD', + 'CBC' + ], { + A: toolHeadItem, + B: `#forge:small_springs`, + C: `#forge:rods/${materialName}`, + D: '#forge:tools/screwdrivers' + }, 0, 1) + .id(`gtceu:shaped/${toolType.name}_${materialName}`); + } else { + event.recipes.tfc.advanced_shapeless_crafting( + TFC.itemStackProvider.of(toolItem).copyForgingBonus().copyHeat(), + [toolHeadItem, '#forge:rods/wooden'], + toolHeadItem + ) + .id(`gtceu:shaped/${toolType.name}_${materialName}`); + } + + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + if (tfcProperty !== null) { + const materialAmount = getMaterialAmount(headTagPrefix, material); + addTFCMelting(event, toolItem, material, materialAmount * 144, toolType.name); + } + + processToolHead(event, headTagPrefix, tagPrefixName, extruderMold, ceramicMold, circuitMeta, material); +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {TagPrefix} headTagPrefix + * @param {String} tagPrefixName + * @param {Internal.ItemStack} extruderMold + * @param {Internal.ItemStack} ceramicMold + * @param {number} circuitMeta + * Used for the laser engraver recipes for gem tools. + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function processToolHead(event, headTagPrefix, tagPrefixName, extruderMold, ceramicMold, circuitMeta, material) { + const toolHeadItem = ChemicalHelper.get(headTagPrefix, material, 1); + if (toolHeadItem.isEmpty()) + return; + + event.remove({ mod: 'gtceu', type: 'minecraft:crafting_shaped', output: toolHeadItem }) + + const materialName = material.getName(); + const materialAmount = getMaterialAmount(headTagPrefix, material); + + // Metal-based tools + if (material.hasProperty(PropertyKey.INGOT)) { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1); + if (ingotItem.hasTag('c:hidden_from_recipe_viewers')) + return + + event.recipes.gtceu.extruder(`tfg:extrude_${materialName}_ingot_to_${tagPrefixName}`) + .itemInputs(ingotItem.copyWithCount(materialAmount)) + .notConsumable(extruderMold) + .itemOutputs(toolHeadItem) + .duration(material.getMass() * 6) + .EUt(GTValues.VA[GTValues.LV]) + + 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/${materialName}_ingot_to_${tagPrefixName}`) + + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED) && ceramicMold !== null) { + addMaterialCasting(event, toolHeadItem, ceramicMold, false, null, material, tagPrefixName, materialAmount * 144); + } + } + // Gem tools + else if (material.hasProperty(PropertyKey.GEM)) { + const gemItem = ChemicalHelper.get(TagPrefix.gem, material, materialAmount) + if (gemItem.isEmpty() || gemItem.hasTag('c:hidden_from_recipe_viewers')) + return + + event.recipes.gtceu.laser_engraver(`tfg:engrave_${materialName}_gem_to_${tagPrefixName}`) + .itemInputs(gemItem) + .notConsumable(ChemicalHelper.get(TagPrefix.lens, GTMaterials.Glass, 1)) + .circuit(circuitMeta) + .itemOutputs(toolHeadItem) + .duration(material.getMass() * 6) + .EUt(GTValues.VA[GTValues.LV]) + } + + addMaterialRecycling(event, toolHeadItem, material, tagPrefixName, headTagPrefix); +} + + +/** + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function modifyRecyclingAmounts(material) { + TagPrefix.toolHeadWrench.modifyMaterialAmount(material, 2); + TagPrefix.toolHeadBuzzSaw.modifyMaterialAmount(material, 2); + TagPrefix.toolHeadScrewdriver.modifyMaterialAmount(material, 1); + TagPrefix.toolHeadWireCutter.modifyMaterialAmount(material, 2); + TFGTagPrefix.toolHeadSword.modifyMaterialAmount(material, 2); + TFGTagPrefix.toolHeadButcheryKnife.modifyMaterialAmount(material, 1); + TFGTagPrefix.toolHeadMiningHammer.modifyMaterialAmount(material, 2); + TFGTagPrefix.toolHeadSpade.modifyMaterialAmount(material, 2); + TFGTagPrefix.toolHeadPickaxe.modifyMaterialAmount(material, 1); + TFGTagPrefix.toolHeadAxe.modifyMaterialAmount(material, 1); + TFGTagPrefix.toolHeadShovel.modifyMaterialAmount(material, 1); + TFGTagPrefix.toolHeadHoe.modifyMaterialAmount(material, 1); + TFGTagPrefix.toolHeadHammer.modifyMaterialAmount(material, 1); + TFGTagPrefix.toolHeadSaw.modifyMaterialAmount(material, 1); + TFGTagPrefix.toolHeadFile.modifyMaterialAmount(material, 1); + TFGTagPrefix.toolHeadKnife.modifyMaterialAmount(material, 1); +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js index 6497a967b..4e54a2db7 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js @@ -1,28 +1,352 @@ -// priority: 0 +// priority: 0 "use strict"; -//function getMaterialRecyclingExtractorEUt(material) { -// // Special case for bis/black bronze because removing the blast property doesn't change the tier of -// // the extractor recipes retroactively -// return material.hasProperty(PropertyKey.BLAST) && material !== GTMaterials.BismuthBronze && material !== GTMaterials.BlackBronze -// ? GTValues.VA[GTValues.MV] -// : GTValues.VA[GTValues.LV]; -//} -//function addMaterialRecycling(event, item, materialMap) { - +/** + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + */ +function getFluidRecipeEUt(material) { + // Special case for bis/black bronze because removing the blast property doesn't change the tier of + // the extractor recipes retroactively + return material.hasProperty(PropertyKey.BLAST) && material !== GTMaterials.BismuthBronze && material !== GTMaterials.BlackBronze + ? GTValues.VA[GTValues.MV] + : GTValues.VA[GTValues.LV]; +} -// const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); -// if (tfcProperty !== null) { -// const outputMaterial = (tfcProperty.getOutputMaterial() === null) ? material : tfcProperty.getOutputMaterial(); +/** + * @param {TagPrefix} tagPrefix + */ +function getMaterialAmount(tagPrefix, material) { + return tagPrefix.getMaterialAmount(material) / GTValues.M; +} -// event.recipes.tfc.heating(ingotItem, tfcProperty.getMeltTemp()) -// .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) -// .id(`tfc:heating/metal/${material.getName()}_ingot`) -// } -//} +/** + * @param {Internal.RecipesEventJS} event + * @param {Internal.ItemStack} inputItem + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + * @param {number} mbAmount + * @param {String} recipeIdSuffix + */ +function addTFCMelting(event, inputItem, material, mbAmount, recipeIdSuffix) { + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + const outputMaterial = (tfcProperty.getOutputMaterial() === null) ? material : tfcProperty.getOutputMaterial(); + if (!outputMaterial.hasProperty(PropertyKey.FLUID)) + return; + + event.recipes.tfc.heating(inputItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), mbAmount)) + .useDurability(true) + .id(`tfg:heating/metal/${material.getName()}_${recipeIdSuffix}`); +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {Internal.ItemStack} outputItem + * @param {Internal.ItemStack} inputItem + * @param {String[]} steps + * @param {boolean} bonus + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + * @param {String} recipeIdSuffix + */ +function addAnvilRecipe(event, outputItem, inputItem, steps, bonus, material, recipeIdSuffix) { + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + event.recipes.tfc.anvil(outputItem, inputItem, steps) + .tier(tfcProperty.getTier()) + .bonus(bonus) + .id(`tfc:anvil/${material.getName()}_${recipeIdSuffix}`); +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {Internal.ItemStack} inputItem + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + * @param {String} tagPrefixName + * @param {TagPrefix} tagPrefix + */ +function addMaterialRecycling(event, inputItem, material, tagPrefixName, tagPrefix) { + const ingotAmount = getMaterialAmount(tagPrefix, material); + addMaterialRecyclingNoTagPrefix(event, inputItem, material, tagPrefixName, ingotAmount); +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {Internal.ItemStack} inputItem + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + * @param {String} recipeSuffix + * @param {number} ingotAmount + */ +function addMaterialRecyclingNoTagPrefix(event, inputItem, material, recipeSuffix, ingotAmount) { + const materialName = material.getName(); + const mbAmount = ingotAmount * 144; + + if (material.hasProperty(PropertyKey.FLUID)) { + if (material.hasProperty(TFGPropertyKey.TFC_PROPERTY)) { + addTFCMelting(event, inputItem, material, mbAmount, recipeSuffix); + } + + // Add an extractor recipe + event.recipes.gtceu.extractor(`gtceu:extract_${materialName}_${recipeSuffix}`) + .itemInputs(inputItem) + .outputFluids(Fluid.of(material.getFluid(), mbAmount)) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING) + .duration(material.getMass() * ingotAmount) + .EUt(getFluidRecipeEUt(material)); + } + + // Remove existing macerator recipes because Greate + removeMaceratorRecipe(event, `macerate_${materialName}_${recipeSuffix}`); + + const maceratorOutput = ChemicalHelper.getDust(material, GTValues.M * ingotAmount); + if (!maceratorOutput.isEmpty()) { + event.recipes.gtceu.macerator(`tfg:macerate_${materialName}_${recipeSuffix}`) + .itemInputs(inputItem) + .itemOutputs(maceratorOutput) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .duration(material.getMass() * ingotAmount) + .EUt(2); + } + + const arcOutput = ChemicalHelper.getIngot(material, GTValues.M * ingotAmount); + if (!arcOutput.isEmpty()) { + event.recipes.gtceu.arc_furnace(`tfg:arc_${materialName}_${recipeSuffix}`) + .itemInputs(inputItem) + .itemOutputs(arcOutput) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + .duration(material.getMass() * ingotAmount) + .EUt(30); + } + + let matmap = {}; + matmap[materialName] = ingotAmount; + TFGHelpers.registerMaterialInfo(inputItem, matmap); +} + +/** + * Function to get fluid filling NBT. + * + * @param {string} material + * Fluid + * @param {number} amount + * mB + * @returns {{ tank: { FluidName: string; Amount: number; }; }} + */ +const getFillingNBT = (material, amount) => { + return { + tank: { + FluidName: Fluid.of(material.getFluid()).getId(), + Amount: amount + } + } +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {Internal.ItemStack} outputItem + * @param {String} ceramicMold + * @param {boolean} isFireMold + * @param {String} gtMold + * The mold item for the fluid solidifier/alloy smelter. + * Pass null for built-in GT molds, since GT already generates recipes for those + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + * @param {String} tagPrefixName + * @param {number} mbAmount + */ +function addMaterialCasting(event, outputItem, ceramicMold, isFireMold, gtMold, material, tagPrefixName, mbAmount) { + const materialName = material.getName(); + + // If it's a TFC material, add ceramic mold casting + create spouting + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + if (tfcProperty !== null + && ceramicMold !== null + && material !== GTMaterials.WroughtIron + && material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) + { + const outputMaterial = (tfcProperty.getOutputMaterial() === null) ? material : tfcProperty.getOutputMaterial(); + const id = `${materialName}_${tagPrefixName}_${isFireMold ? 'fire' : 'ceramic'}`; + + event.recipes.tfc.casting(outputItem, ceramicMold, Fluid.of(outputMaterial.getFluid(), mbAmount), isFireMold ? 0.01 : 0.1) + .id(`tfg:casting/${id}`); + + event.recipes.create.filling(Item.of(ceramicMold, getFillingNBT(outputMaterial, mbAmount)), [ + Fluid.of(outputMaterial.getFluid(), mbAmount), + Item.of(ceramicMold).strongNBT() + ]).id(`tfg:filling/${id}`); + } + + // If there's a gregtech mold, add alloy smelter/fluid solidifier recipes. + if (gtMold !== null) { + const ingotAmount = mbAmount / 144; + + event.recipes.gtceu.alloy_smelter(`tfg:cast_${materialName}_${tagPrefixName}`) + .itemInputs(ChemicalHelper.get(TagPrefix.ingot, material, ingotAmount)) + .notConsumable(gtMold) + .itemOutputs(outputItem) + .duration(material.getMass() * 2 * ingotAmount) + .EUt(getFluidRecipeEUt(material)) + .category(GTRecipeCategories.INGOT_MOLDING) + + event.recipes.gtceu.fluid_solidifier(`tfg:solidify_${materialName}_${tagPrefixName}`) + .inputFluids(Fluid.of(material.getFluid(), mbAmount)) + .notConsumable(gtMold) + .itemOutputs(outputItem) + .duration(material.getMass() * 2 * ingotAmount) + .EUt(getFluidRecipeEUt(material)) + } +} + +/** + * @param {Internal.RecipesEventJS} event + * @param {Internal.ItemStack} outputItem + * @param {Internal.ItemStack} inputItem1 + * @param {Internal.ItemStack} inputItem2 + * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material + * @param {number} tierThreshold + * Should be 4 for everything except double ingots, which should be 5 + * @param {number} nonTfcTier + * What recipe tier should non-tfc materials use? 0 for ulv, 1 for lv, etc + */ +function addMaterialWelding(event, outputItem, inputItem1, inputItem2, material, tierThreshold, nonTfcTier) { + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); + const id = `${material.getName()}_${linuxUnfucker(outputItem)}`; + let compactingTier = nonTfcTier; + + if (tfcProperty !== null) { + + event.recipes.tfc.welding(outputItem, inputItem1, inputItem2, tfcProperty.getTier() - 1) + .id(`tfc:welding/${id}`); + + compactingTier = tfcProperty.getTier() < tierThreshold ? 0 : 1; + } + + event.recipes.greate.compacting(outputItem, [inputItem1, inputItem2, 'tfc:powder/flux']) + .heated() + .recipeTier(compactingTier) + .circuitNumber(0) + .id(`tfg:compacting/${id}`); + + event.recipes.gtceu.forming_press(`tfg:${id}`) + .itemInputs(inputItem1, inputItem2, 'tfc:powder/flux') + .itemOutputs(outputItem) + .duration(material.getMass()) + .EUt(GTValues.VA[compactingTier]); +} + +/** + * @param {Internal.RecipesEventJS} event + */ function registerTFGMaterialRecipes(event) { + const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") + forEachMaterial(material => { + // greate moment + if (material === $GreateMaterials.AndesiteAlloy + || material === $GreateMaterials.RefinedRadiance + || material === $GreateMaterials.ShadowSteel + || material === $GreateMaterials.ChromaticCompound + || material === GTMaterials.DamascusSteel) + { return; } + if (material.hasProperty(PropertyKey.DUST)) { + processDust(event, material) + processPowder(event, material) + } + + const toolProperty = material.getProperty(PropertyKey.TOOL) + if (toolProperty !== null) { + modifyRecyclingAmounts(material) + let circuit = 1; + processGTToolHead(event, GTToolType.SWORD, "sword_head", TFGTagPrefix.toolHeadSword, 'tfg:sword_head_extruder_mold', 'tfc:ceramic/sword_blade_mold', circuit++, material) + processGTToolHead(event, GTToolType.PICKAXE, "pickaxe_head", TFGTagPrefix.toolHeadPickaxe, 'tfg:pickaxe_head_extruder_mold', 'tfc:ceramic/pickaxe_head_mold', circuit++, material) + processGTToolHead(event, GTToolType.AXE, "axe_head", TFGTagPrefix.toolHeadAxe, 'tfg:axe_head_extruder_mold', 'tfc:ceramic/axe_head_mold', circuit++, material) + processGTToolHead(event, GTToolType.SHOVEL, "shovel_head", TFGTagPrefix.toolHeadShovel, 'tfg:shovel_head_extruder_mold', 'tfc:ceramic/shovel_head_mold', circuit++, material) + processGTToolHead(event, GTToolType.HOE, "hoe_head", TFGTagPrefix.toolHeadHoe, 'tfg:hoe_head_extruder_mold', 'tfc:ceramic/hoe_head_mold', circuit++, material) + processGTToolHead(event, GTToolType.KNIFE, "knife_head", TFGTagPrefix.toolHeadKnife, 'tfg:knife_head_extruder_mold', 'tfc:ceramic/knife_blade_mold', circuit++, material) + processGTToolHead(event, GTToolType.FILE, "file_head", TFGTagPrefix.toolHeadFile, 'tfg:file_head_extruder_mold', null, circuit++, material) + processGTToolHead(event, GTToolType.SAW, "saw_head", TFGTagPrefix.toolHeadSaw, 'tfg:saw_head_extruder_mold', 'tfc:ceramic/saw_blade_mold', circuit++, material) + processGTToolHead(event, GTToolType.SPADE, "spade_head", TFGTagPrefix.toolHeadSpade, 'tfg:spade_head_extruder_mold', null, circuit++, material) + processGTToolHead(event, GTToolType.MINING_HAMMER, "mining_hammer_head", TFGTagPrefix.toolHeadMiningHammer, 'tfg:mining_hammer_head_extruder_mold', null, circuit++, material) + processGTToolHead(event, GTToolType.SCYTHE, "scythe_head", TFGTagPrefix.toolHeadScythe, 'tfg:scythe_head_extruder_mold', 'tfc:ceramic/scythe_blade_mold', circuit++, material) + processGTToolHead(event, GTToolType.HARD_HAMMER, "hammer_head", TFGTagPrefix.toolHeadHammer, 'tfg:hammer_head_extruder_mold', 'tfc:ceramic/hammer_head_mold', circuit++, material) + processGTToolHead(event, GTToolType.BUTCHERY_KNIFE, "butchery_knife_head", TFGTagPrefix.toolHeadButcheryKnife, 'tfg:butchery_knife_head_extruder_mold', null, circuit++, material) + processGTToolHead(event, GTToolType.SCREWDRIVER, "screwdriver_tip", TagPrefix.toolHeadScrewdriver, 'tfg:screwdriver_tip_extruder_mold', null, circuit++, material) + processGTToolHead(event, GTToolType.WRENCH, "wrench_tip", TagPrefix.toolHeadWrench, 'tfg:wrench_tip_extruder_mold', null, circuit++, material) + processGTToolHead(event, GTToolType.WIRE_CUTTER, "wire_cutter_head", TagPrefix.toolHeadWireCutter, 'tfg:wire_cutter_head_extruder_mold', null, circuit++, material) + + processToolMortar(event, GTToolType.MORTAR, material) + + processToolHead(event, TFGTagPrefix.toolHeadPropick, "propick_head", 'tfg:propick_head_extruder_mold', 'tfc:ceramic/propick_head_mold', circuit++, material) + processToolHead(event, TFGTagPrefix.toolHeadJavelin, "javelin_head", 'tfg:javelin_head_extruder_mold', 'tfc:ceramic/javelin_head_mold', circuit++, material) + processToolHead(event, TFGTagPrefix.toolHeadChisel, "chisel_head", 'tfg:chisel_head_extruder_mold', 'tfc:ceramic/chisel_head_mold', circuit++, material) + processToolHead(event, TFGTagPrefix.toolHeadMace, "mace_head", 'tfg:mace_head_extruder_mold', 'tfc:ceramic/mace_head_mold', circuit++, material) + processToolHead(event, TFGTagPrefix.toolHeadMattock, "mattock_head", 'tfg:mattock_head_extruder_mold', null, circuit++, material) + processToolHead(event, TFGTagPrefix.toolHeadHook, "fish_hook", 'tfg:fish_hook_extruder_mold', null, circuit++, material) + } + + if (material.hasProperty(PropertyKey.INGOT)) { + processIngot(event, material) + processIngotDouble(event, material) + processPlate(event, material) + processPlateDouble(event, material) + processBlock(event, material) + processFoil(event, material) + processRod(event, material) + processBars(event, material) + processBolt(event, material) + processScrew(event, material) + processRing(event, material) + processSpring(event, material) + processNugget(event, material) + processSmallGear(event, material) + processLargeGear(event, material) + + processBuzzsawBlade(event, material) + processPlatedBlock(event, material) + } + + if (material.hasProperty(PropertyKey.GEM)) { + processGems(event, material) + processPlate(event, material) + processBlock(event, material) + processRod(event, material) + processBolt(event, material) + processScrew(event, material) + processSmallGear(event, material) + processLargeGear(event, material) + processBuzzsawBlade(event, material) + } + + if (material.hasProperty(TFGPropertyKey.TFC_PROPERTY)) { + processAnvil(event, material) + processLamp(event, material) + processTrapdoor(event, material) + processChain(event, material) + processBell(event, material) + } + + if (material.hasFlag(TFGMaterialFlags.HAS_TFC_ARMOR)) { + processTFCArmor(event, material) + } + + if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL) || material.hasFlag(TFGMaterialFlags.HAS_GT_TOOL)) { + processTFCTool(event, material) + } + + const oreProperty = material.getProperty(PropertyKey.ORE); + if (oreProperty !== null) { + processSmallOre(event, material) + processPoorRawOre(event, material) + processNormalRawOre(event, material) + processRichRawOre(event, material) + + processCrushedOre(event, material) + processPurifiedOre(event, material) + processRefinedOre(event, material) + processImpureDust(event, material) + processPureDust(event, material) + + // Indicators + event.replaceInput({ id: `gtceu:shaped/${material.getName()}_surface_indicator` }, 'minecraft:gravel', '#tfc:rock/gravel') + } + }) } \ 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 38e798697..a1243dc84 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -9,6 +9,7 @@ const registerGTCEuMaterialModification = (event) => { const $INGOT_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.IngotProperty') const $DUST_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.DustProperty'); const $BLAST_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.BlastProperty') + const $FLUID_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.FluidProperty') const $ITEM_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.ItemPipeProperties') const $FLUID_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.FluidPipeProperties') const $HAZARD_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.HazardProperty') @@ -17,6 +18,7 @@ const registerGTCEuMaterialModification = (event) => { const $MATERIAL_FLAGS = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.info.MaterialFlags') const $FluidStorageKeys = Java.loadClass('com.gregtechceu.gtceu.api.fluids.store.FluidStorageKeys') + const $FluidBuilder = Java.loadClass('com.gregtechceu.gtceu.api.fluids.FluidBuilder'); const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") @@ -29,7 +31,6 @@ const registerGTCEuMaterialModification = (event) => { GENERATE_BELL, GENERATE_DOUBLE_INGOTS, HAS_SMALL_TFC_ORE, - HAS_SMALL_NATIVE_TFC_ORE, GENERATE_DUSTY_ORES, } = TFGMaterialFlags @@ -86,7 +87,6 @@ const registerGTCEuMaterialModification = (event) => { GTToolType.CROWBAR, ] - /* TFC Проперти для материалов */ // TFC_PROPERTY = (forging temp, welding temp, melt temp, material, tier, percent of material) // OR = (forging temp, welding temp, melt temp, tier) @@ -116,7 +116,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Iron.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3)); GTMaterials.Hematite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); - GTMaterials.YellowLimonite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); + GTMaterials.Limonite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); GTMaterials.Magnetite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); GTMaterials.Pyrite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); GTMaterials.Goethite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); @@ -153,26 +153,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Pollucite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, AlSi, 1, 25)) - GTMaterials.Gold.addFlags(GENERATE_BELL); - GTMaterials.Brass.addFlags(GENERATE_BELL); - GTMaterials.Bronze.addFlags(GENERATE_BELL); - - // - // - // /* Имеют двойные слитки */ - GTMaterials.Iron.addFlags(GENERATE_DOUBLE_INGOTS); - GTMaterials.Gold.addFlags(GENERATE_DOUBLE_INGOTS); - GTMaterials.Bismuth.addFlags(GENERATE_DOUBLE_INGOTS); - GTMaterials.Brass.addFlags(GENERATE_DOUBLE_INGOTS); - GTMaterials.Nickel.addFlags(GENERATE_DOUBLE_INGOTS); - GTMaterials.RoseGold.addFlags(GENERATE_DOUBLE_INGOTS); - GTMaterials.Silver.addFlags(GENERATE_DOUBLE_INGOTS); - GTMaterials.Tin.addFlags(GENERATE_DOUBLE_INGOTS); - GTMaterials.Zinc.addFlags(GENERATE_DOUBLE_INGOTS, GENERATE_BOLT_SCREW); - GTMaterials.SterlingSilver.addFlags(GENERATE_DOUBLE_INGOTS); - - //#region Generate Dusty Ores for Infinite Ores - + // Generate Dusty Ores for Infinite Ores GTMaterials.Goethite.addFlags(GENERATE_DUSTY_ORES); GTMaterials.Diamond.addFlags(GENERATE_DUSTY_ORES); GTMaterials.CertusQuartz.addFlags(GENERATE_DUSTY_ORES); @@ -188,9 +169,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Uraninite.addFlags(GENERATE_DUSTY_ORES); GTMaterials.Hematite.addFlags(GENERATE_DUSTY_ORES); - //#endregion - // - // /* Castable stuff */ + // Castable stuff GTMaterials.Copper.addFlags(CAN_BE_UNMOLDED); GTMaterials.BismuthBronze.addFlags(CAN_BE_UNMOLDED); GTMaterials.BlackBronze.addFlags(CAN_BE_UNMOLDED); @@ -208,8 +187,8 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Lead.addFlags(CAN_BE_UNMOLDED); GTMaterials.Potin.addFlags(CAN_BE_UNMOLDED); GTMaterials.Iron.addFlags(CAN_BE_UNMOLDED); - // - // /* Имеют инструменты, броню TFC, двойные слитки */ + + // TFC tool tiers 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); @@ -219,25 +198,34 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.BlackSteel.addFlags(GENERATE_DOUBLE_INGOTS, GENERATE_ROTOR, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); GTMaterials.RedSteel.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); GTMaterials.BlueSteel.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); - // - // /* Имеют маленькие куски руды TFC */ + + // TFC ores GTMaterials.Bismuth.addFlags(HAS_SMALL_TFC_ORE); GTMaterials.Cassiterite.addFlags(HAS_SMALL_TFC_ORE); GTMaterials.Garnierite.addFlags(HAS_SMALL_TFC_ORE); GTMaterials.Hematite.addFlags(HAS_SMALL_TFC_ORE); - GTMaterials.YellowLimonite.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Limonite.addFlags(HAS_SMALL_TFC_ORE); GTMaterials.Magnetite.addFlags(HAS_SMALL_TFC_ORE); GTMaterials.Malachite.addFlags(HAS_SMALL_TFC_ORE); GTMaterials.Sphalerite.addFlags(HAS_SMALL_TFC_ORE); GTMaterials.Tetrahedrite.addFlags(HAS_SMALL_TFC_ORE); GTMaterials.Chromite.addFlags(HAS_SMALL_TFC_ORE); - // - // /* Имеют маленькие чистые куски руды TFC */ - GTMaterials.Copper.addFlags(HAS_SMALL_NATIVE_TFC_ORE); - GTMaterials.Gold.addFlags(HAS_SMALL_NATIVE_TFC_ORE); - GTMaterials.Silver.addFlags(HAS_SMALL_NATIVE_TFC_ORE); - // - // /* Имеют двойные слитки */ + GTMaterials.Copper.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Gold.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Silver.addFlags(HAS_SMALL_TFC_ORE); + + // Other materials that are compatible with TFC + GTMaterials.Iron.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.Gold.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.Bismuth.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.Brass.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.Nickel.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.RoseGold.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.Silver.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.Tin.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.Zinc.addFlags(GENERATE_DOUBLE_INGOTS, GENERATE_BOLT_SCREW); + GTMaterials.SterlingSilver.addFlags(GENERATE_DOUBLE_INGOTS); + GTMaterials.RedAlloy.addFlags(GENERATE_DOUBLE_INGOTS, GENERATE_SMALL_GEAR); GTMaterials.TinAlloy.addFlags(GENERATE_DOUBLE_INGOTS); GTMaterials.Lead.addFlags(GENERATE_DOUBLE_INGOTS); @@ -245,8 +233,8 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Potin.addFlags(GENERATE_DOUBLE_INGOTS, ); GTMaterials.Cobalt.addFlags(GENERATE_DOUBLE_INGOTS); GTMaterials.CobaltBrass.addFlags(GENERATE_DOUBLE_INGOTS, HAS_GT_TOOL); - // - // /* Superconductors */ + + // Superconductors GTMaterials.ManganesePhosphide.addFlags(GENERATE_FINE_WIRE); GTMaterials.MagnesiumDiboride.addFlags(GENERATE_FINE_WIRE); GTMaterials.MercuryBariumCalciumCuprate.addFlags(GENERATE_FINE_WIRE); @@ -256,18 +244,31 @@ const registerGTCEuMaterialModification = (event) => { //GTMaterials.UraniumRhodiumDinaquadide.addFlags(); //GTMaterials.EnrichedNaquadahTriniumEuropiumDuranide.addFlags(); GTMaterials.RutheniumTriniumAmericiumNeutronate.addFlags(GENERATE_FINE_WIRE); - // - // /* Другое (Other) */ - // TODO: Exception needs to check the wizardry + // Ores GTMaterials.Bismuth.setProperty(PropertyKey.ORE, new $ORE_PROPERTY()); - GTMaterials.EXT2_METAL.forEach(tag => GTMaterials.Bismuth.addFlags(tag)) - GTMaterials.Borax.setProperty(PropertyKey.ORE, new $ORE_PROPERTY()); + + let rose_quartz = $GreateMaterials.RoseQuartz; + rose_quartz.setProperty(PropertyKey.ORE, new $ORE_PROPERTY()); + rose_quartz.getProperty(PropertyKey.ORE).setOreByProducts(rose_quartz, GTMaterials.Redstone, rose_quartz); + + // Change byproducts so you can't get certus from normal quartzite + GTMaterials.Quartzite.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.NetherQuartz, GTMaterials.Barite, GTMaterials.NetherQuartz); + GTMaterials.CertusQuartz.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.CertusQuartz, GTMaterials.Quartzite, GTMaterials.CertusQuartz); + + // Change Beryllium to add Chemical Bath recipe and Thorium byproduct + GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.Emerald, GTMaterials.Emerald, GTMaterials.Thorium, GTMaterials.Thorium); + GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setWashedIn(GTMaterials.SodiumPersulfate); + // Other flags GTMaterials.CertusQuartz.addFlags(GENERATE_ROD); GTMaterials.NetherQuartz.addFlags(GENERATE_ROD); + GTMaterials.Gold.addFlags(GENERATE_BELL); + GTMaterials.Brass.addFlags(GENERATE_BELL); + GTMaterials.Bronze.addFlags(GENERATE_BELL); + GTMaterials.Copper.addFlags(GENERATE_FRAME); GTMaterials.BlackBronze.addFlags(GENERATE_FRAME); GTMaterials.BismuthBronze.addFlags(GENERATE_FRAME); @@ -304,7 +305,8 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.TinAlloy.addFlags(GENERATE_RING); GTMaterials.SterlingSilver.addFlags(GENERATE_RING); - GTMaterials.IronMagnetic.addFlags(GENERATE_PLATE) + GTMaterials.Bismuth.addFlags(GENERATE_PLATE, GENERATE_ROD, GENERATE_BOLT_SCREW); + GTMaterials.IronMagnetic.addFlags(GENERATE_PLATE); GTMaterials.Silicon.addFlags(GENERATE_DENSE); GTMaterials.RTMAlloy.addFlags(GENERATE_DENSE, GENERATE_SPRING); @@ -315,7 +317,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.TreatedWood.addFlags(GENERATE_LONG_ROD); // Hide ore processing tab for plutonium - GTMaterials.Plutonium239.addFlags(GENERATE_ROD, NO_ORE_PROCESSING_TAB, NO_ORE_SMELTING) + GTMaterials.Plutonium239.addFlags(GENERATE_ROD, GENERATE_LONG_ROD, NO_ORE_PROCESSING_TAB, NO_ORE_SMELTING) GTMaterials.Thorium.addFlags(NO_ORE_SMELTING) // Unhiding elements @@ -323,7 +325,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Zirconium.setProperty(PropertyKey.INGOT, new $INGOT_PROPERTY()); GTMaterials.Zirconium.setProperty(PropertyKey.BLAST, new $BLAST_PROPERTY(4200, 'mid', GTValues.VA[GTValues.EV], 1300, GTValues.VA[GTValues.HV], 14.7*20)); GTMaterials.Zirconium.addFlags(GENERATE_FINE_WIRE, GENERATE_PLATE, NO_ORE_SMELTING); - + // Tools GTMaterials.Stone.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(1.2, 1.0, 8, 1, [ GTToolType.AXE, @@ -385,14 +387,10 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.RedSteel.getProperty(PropertyKey.BLAST).setBlastTemperature(1000) GTMaterials.BlueSteel.getProperty(PropertyKey.BLAST).setBlastTemperature(1000) - // Change byproducts so you can't get certus from normal quartzite - GTMaterials.Quartzite.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.NetherQuartz, GTMaterials.Barite, GTMaterials.NetherQuartz); - GTMaterials.CertusQuartz.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.CertusQuartz, GTMaterials.Quartzite, GTMaterials.CertusQuartz); - - // Change Beryllium to add Chemical Bath recipe and Thorium byproduct - GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.Emerald, GTMaterials.Emerald, GTMaterials.Thorium, GTMaterials.Thorium); - GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setWashedIn(GTMaterials.SodiumPersulfate); - + // BLAST property + let zirconium_diboride = TFGHelpers.getMaterial('zirconium_diboride'); + zirconium_diboride.setProperty(PropertyKey.BLAST, new $BLAST_PROPERTY(4500, "high", GTValues.VA[GTValues.EV], 2700, GTValues.VA[GTValues.HV], 12.5*20)); + // Color Adjustments GTMaterials.BismuthBronze.setMaterialARGB(0x5A966E) GTMaterials.BismuthBronze.setMaterialSecondaryARGB(0x203E2A) @@ -404,7 +402,6 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.RedSteel.setMaterialSecondaryARGB(0xE12323) GTMaterials.BlueSteel.setMaterialARGB(0xA0B6EC) GTMaterials.BlueSteel.setMaterialSecondaryARGB(0x2B5CD8) - GTMaterials.Bismuth.setMaterialARGB(0x66847E) GTMaterials.Bismuth.setMaterialSecondaryARGB(0x25465B) GTMaterials.Iron.setMaterialARGB(0x503d32) @@ -446,22 +443,22 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Diamond.setMaterialARGB(0x4AEDD9) GTMaterials.Diamond.setMaterialSecondaryARGB(0x1AAAA7) - + // Fluids global.MINECRAFT_DYE_NAMES.forEach(colorName => { let material = GTMaterials.get(`gtceu:${colorName}_dye`); let property = material.getProperty(PropertyKey.FLUID); property.getStorage().store($FluidStorageKeys.LIQUID, () => Fluid.of(`tfc:${colorName}_dye`).fluid, null); }); + let lyeFluidProperty = new $FLUID_PROPERTY(); + lyeFluidProperty.getStorage().store($FluidStorageKeys.LIQUID, () => Fluid.of('tfc:lye').fluid, null); + GTMaterials.SodiumHydroxide.setProperty(PropertyKey.FLUID, lyeFluidProperty); - let rose_quartz = $GreateMaterials.RoseQuartz; - rose_quartz.setProperty(PropertyKey.ORE, new $ORE_PROPERTY()); - rose_quartz.getProperty(PropertyKey.ORE).setOreByProducts(rose_quartz, GTMaterials.Redstone, rose_quartz); - rose_quartz.setMaterialIconSet(GTMaterialIconSet.getByName('nether_quartz')) + //let bismuthFluidProperty = new $FLUID_PROPERTY(); + //bismuthFluidProperty.getStorage().enqueueRegistration($FluidStorageKeys.LIQUID, new $FluidBuilder()); + //GTMaterials.Bismuth.setProperty(PropertyKey.FLUID, bismuthFluidProperty); - let zirconium_diboride = TFGHelpers.getMaterial('zirconium_diboride'); - zirconium_diboride.setProperty(PropertyKey.BLAST, new $BLAST_PROPERTY(4500, "high", GTValues.VA[GTValues.EV], 2700, GTValues.VA[GTValues.HV], 12.5*20)); - + // Components and formulas GTMaterials.CertusQuartz.setComponents('1x unknown', '1x silicon', '2x oxygen') GTMaterials.Glowstone.setComponents('1x gold', '1x redstone') GTMaterials.GraniteRed.setComponents([]) diff --git a/kubejs/startup_scripts/tfg/icon_sets.js b/kubejs/startup_scripts/tfg/icon_sets.js index 78a554510..fed183e4d 100644 --- a/kubejs/startup_scripts/tfg/icon_sets.js +++ b/kubejs/startup_scripts/tfg/icon_sets.js @@ -69,7 +69,7 @@ function modifyTFGIconSets(event) { GTMaterials.Garnierite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_garnierite')) GTMaterials.Nickel.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_garnierite')) GTMaterials.Hematite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_hematite')) - GTMaterials.YellowLimonite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_limonite')) + GTMaterials.Limonite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_limonite')) GTMaterials.Magnetite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_magnetite')) GTMaterials.Malachite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_malachite')) GTMaterials.Copper.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_copper')) @@ -151,4 +151,7 @@ function modifyTFGIconSets(event) { GTMaterials.RutheniumTriniumAmericiumNeutronate.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) GTMaterials.Zirconium.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) + + const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") + $GreateMaterials.RoseQuartz.setMaterialIconSet(GTMaterialIconSet.getByName('nether_quartz')) } \ No newline at end of file From 73f232433d1dd0d5eced8d15c0dcd5888fbb2cb8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 14 Jan 2026 21:42:50 +0000 Subject: [PATCH 102/474] fix #2729 --- CHANGELOG.md | 6 ++++-- kubejs/startup_scripts/gtceu/material_modification.js | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6031babb0..d37db98da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,7 +28,7 @@ - You can now also use mars water in gregtech and create boilers @Pyritie - Changed the texture of out-of-season blood lilies so they're findable year-round @Pyritie - Added alloy smelter recipes for jar lids (#2705) @thederpysockdude123 -- Reduced the amount of ambient wolf sounds at night, and crickets/cicadas now require grass plants instead of grass blocks (#2680) @Pyritie +- Reduced the amount of ambient awoos at night, and crickets/cicadas now require grass plants instead of grass blocks (#2680) @Pyritie ### Bug fixes - Fixed not being able to craft Paracetamol or Rad-Away @Pyritie - Fixed the missing dried fruit to yeast starter recipe (#2673) @Mqrius @@ -46,10 +46,12 @@ - Fixed inconsistent saturation values from cooked long pig filet (#2714) @Pyritie - Fixed soaked paper in a helve hammer having a blow count of less than 1 for some anvils (#2655) @Pyritie - Fixed casting of rods and gears for various metals @Pyritie +- Fixed a dupe with scraping knives (#2716) @Inceitious ### Translation updates - Chinese (simplified) @jmecn -- Russian @Petr211071 + @Nixieeunrare +- Russian @Petr211071 + @Nixieeunrare + @Maxiffon - Japanese @sakura-gondra +- Ukranian @MetEnBouldry ## [0.11.16] - 05-01-2026 ### Changes diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index a1243dc84..20de037a6 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -276,8 +276,8 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Wood.addFlags(GENERATE_SMALL_GEAR); GTMaterials.Brass.addFlags(GENERATE_SMALL_GEAR, GENERATE_RING); - GTMaterials.BlackBronze.addFlags(GENERATE_SMALL_GEAR); - GTMaterials.BismuthBronze.addFlags(GENERATE_SMALL_GEAR); + GTMaterials.BlackBronze.addFlags(GENERATE_SMALL_GEAR, GENERATE_RING); + GTMaterials.BismuthBronze.addFlags(GENERATE_SMALL_GEAR, GENERATE_RING); GTMaterials.Nickel.addFlags(GENERATE_ROD, GENERATE_LONG_ROD); GTMaterials.Zinc.addFlags(GENERATE_LONG_ROD); @@ -293,6 +293,8 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Cupronickel.addFlags(GENERATE_BOLT_SCREW, GENERATE_RING); + GTMaterials.BlackBronze.addFlags(GENERATE_ROTOR) + GTMaterials.BismuthBronze.addFlags(GENERATE_ROTOR) GTMaterials.Ultimet.addFlags(GENERATE_ROTOR) GTMaterials.CobaltBrass.addFlags(GENERATE_ROTOR) GTMaterials.Magnalium.addFlags(GENERATE_ROTOR) From 8556a19e3f49a74ba3a30879da5298c87e16aca8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 14 Jan 2026 21:46:34 +0000 Subject: [PATCH 103/474] update pakku --- pakku-lock.json | 154 ++++++++++++++++++++++++------------------------ 1 file changed, 77 insertions(+), 77 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index e46fbb24b..557ceb395 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -5531,7 +5531,7 @@ "files": [ { "type": "modrinth", - "file_name": "ExtremeSoundMuffler-3.49.2-forge-1.20.1.jar", + "file_name": "ExtremeSoundMuffler-3.50-forge-1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -5539,20 +5539,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/5IIKsxiL/versions/7daeCqUP/ExtremeSoundMuffler-3.49.2-forge-1.20.1.jar", - "id": "7daeCqUP", + "url": "https://cdn.modrinth.com/data/5IIKsxiL/versions/ZPvfUsYs/ExtremeSoundMuffler-3.50-forge-1.20.1.jar", + "id": "ZPvfUsYs", "parent_id": "5IIKsxiL", "hashes": { - "sha512": "5fb4ef6bdcf344dae3af9f39a8ce510ebb3fe5d928ce17ba3067bb1e034e3eeb953c0fd905fa4462c1eb6b0d075d84f9fbf734dfc3b31423a75054b30281518a", - "sha1": "3b73ae534ff7e4f9c65e78c1f868655a23ab90c7" + "sha512": "1562d91374a88edda9604a8ca2e413a6b83084101282630153beb45b19cf6577c5039aa884b08a328a87eb6ab885259c6270bd29505cca1ffd0fdbdacf144ade", + "sha1": "f10e7176a75760a316ee4a829efcfc487d2ff2f6" }, "required_dependencies": [], - "size": 267751, - "date_published": "2025-12-23T21:58:19.811834Z" + "size": 267750, + "date_published": "2026-01-13T00:43:23.303899Z" }, { "type": "curseforge", - "file_name": "ExtremeSoundMuffler-3.49.2-forge-1.20.1.jar", + "file_name": "ExtremeSoundMuffler-3.50-forge-1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -5560,16 +5560,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7371/8/ExtremeSoundMuffler-3.49.2-forge-1.20.1.jar", - "id": "7371008", + "url": "https://edge.forgecdn.net/files/7452/801/ExtremeSoundMuffler-3.50-forge-1.20.1.jar", + "id": "7452801", "parent_id": "363363", "hashes": { - "sha1": "3b73ae534ff7e4f9c65e78c1f868655a23ab90c7", - "md5": "d03d1852c5a1701657af88f690ac5bb2" + "sha1": "f10e7176a75760a316ee4a829efcfc487d2ff2f6", + "md5": "fe23d4e4d2938c006658188438e03f1e" }, "required_dependencies": [], - "size": 267751, - "date_published": "2025-12-23T21:58:17.897Z" + "size": 267750, + "date_published": "2026-01-13T00:43:21.610Z" } ] }, @@ -7004,7 +7004,7 @@ "files": [ { "type": "modrinth", - "file_name": "greate-0.0.61.jar", + "file_name": "greate-0.0.62.jar", "mc_versions": [ "1.20.1" ], @@ -7013,23 +7013,23 @@ "neoforge" ], "release_type": "alpha", - "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/bZDj2HqJ/greate-0.0.61.jar", - "id": "bZDj2HqJ", + "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/FDjUACYa/greate-0.0.62.jar", + "id": "FDjUACYa", "parent_id": "8wDcQuht", "hashes": { - "sha512": "bfee9bf3bbaaf4f0027100008030d6cd69fb09fd6a352b644a910523e2bf53837123cd6221fc5606d670637584901693d278e27b7d1485b592a4b4650a15944d", - "sha1": "1ad889dbd2838045a2df194bfc757b9bae57d273" + "sha512": "8458d070ec94b6a130944f80a67a72fbf89d099e8378ab0a76eb0130eaa60f5e9af3d61b43f968694c78653a4c6f453b63a9fb8947910c06ad9934bd3c7c120e", + "sha1": "0e4ffe5e88f97df724172b3061a1691028f45582" }, "required_dependencies": [ - "7tG215v7", - "LNytGWDc" + "LNytGWDc", + "7tG215v7" ], - "size": 1253065, - "date_published": "2026-01-01T21:21:45.604190Z" + "size": 1253198, + "date_published": "2026-01-13T16:37:04.520883Z" }, { "type": "curseforge", - "file_name": "greate-0.0.61.jar", + "file_name": "greate-0.0.62.jar", "mc_versions": [ "1.20.1" ], @@ -7038,19 +7038,19 @@ "neoforge" ], "release_type": "alpha", - "url": "https://edge.forgecdn.net/files/7405/523/greate-0.0.61.jar", - "id": "7405523", + "url": "https://edge.forgecdn.net/files/7455/72/greate-0.0.62.jar", + "id": "7455072", "parent_id": "901996", "hashes": { - "sha1": "1ad889dbd2838045a2df194bfc757b9bae57d273", - "md5": "0446ffaa7cafa06d3148a1944a81b431" + "sha1": "0e4ffe5e88f97df724172b3061a1691028f45582", + "md5": "b4c8e38c9c69a88266d5eb64fcc21f18" }, "required_dependencies": [ - "890405", - "328085" + "328085", + "890405" ], - "size": 1253065, - "date_published": "2026-01-01T21:21:43.007Z" + "size": 1253198, + "date_published": "2026-01-13T16:35:06.893Z" } ] }, @@ -9454,7 +9454,7 @@ "files": [ { "type": "modrinth", - "file_name": "moonlight-1.20-2.16.21-forge.jar", + "file_name": "moonlight-1.20-2.16.22-forge.jar", "mc_versions": [ "1.20.1" ], @@ -9463,20 +9463,20 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/jToYHMM9/moonlight-1.20-2.16.21-forge.jar", - "id": "jToYHMM9", + "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/HzfmyWBj/moonlight-1.20-2.16.22-forge.jar", + "id": "HzfmyWBj", "parent_id": "twkfQtEc", "hashes": { - "sha512": "9dcda73161f86e752b079a5855c936977b15b8ded3ac1407b191ce605b8de5c2ed18c33ccef5f85b6bd7080b8b81ca3ea5f7dfafb51b8d237e2078e2b01904f9", - "sha1": "81054a1ec290b7a5263c60d3ab8fa73005b79274" + "sha512": "7e9709340795f1acb1bf828b90369b1274e830ed924fddbbd688592753ce8e50f90d9b95f5fbb61ea7b1e5cdce1b2f91a444225c075b2af3e2413a2242e87ea3", + "sha1": "5291622341a2138bb420cd6f851d9cbf1cb72a73" }, "required_dependencies": [], - "size": 1389157, - "date_published": "2026-01-08T00:26:57.943185Z" + "size": 1389715, + "date_published": "2026-01-14T00:45:22.835110Z" }, { "type": "curseforge", - "file_name": "moonlight-1.20-2.16.21-forge.jar", + "file_name": "moonlight-1.20-2.16.22-forge.jar", "mc_versions": [ "1.20.1" ], @@ -9485,16 +9485,16 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7431/825/moonlight-1.20-2.16.21-forge.jar", - "id": "7431825", + "url": "https://edge.forgecdn.net/files/7456/599/moonlight-1.20-2.16.22-forge.jar", + "id": "7456599", "parent_id": "499980", "hashes": { - "sha1": "81054a1ec290b7a5263c60d3ab8fa73005b79274", - "md5": "fb8baef04164b20185028d8d6f74e351" + "sha1": "5291622341a2138bb420cd6f851d9cbf1cb72a73", + "md5": "10dce0da9c4e9d29ce8c9705af4e62b5" }, "required_dependencies": [], - "size": 1389157, - "date_published": "2026-01-08T00:26:49.470Z" + "size": 1389715, + "date_published": "2026-01-14T00:42:01.090Z" } ] }, @@ -13015,33 +13015,9 @@ "modrinth": "GJoZTKwF" }, "files": [ - { - "type": "curseforge", - "file_name": "tfclunchbox-1.20.1-1.0.0.26.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7018/662/tfclunchbox-1.20.1-1.0.0.26.jar", - "id": "7018662", - "parent_id": "1283445", - "hashes": { - "sha1": "e9ddf2c2ea8a3458c06ef31712543d201a1cb499", - "md5": "574470b68082c6ca738468c372d7dbe0" - }, - "required_dependencies": [ - "302973" - ], - "size": 148782, - "date_published": "2025-09-21T11:20:27.443Z" - }, { "type": "modrinth", - "file_name": "tfclunchbox-1.20.1-1.0.0.24.jar", + "file_name": "tfclunchbox-1.20.1-1.0.0.26.jar", "mc_versions": [ "1.20.1" ], @@ -13050,18 +13026,42 @@ "neoforge" ], "release_type": "beta", - "url": "https://cdn.modrinth.com/data/GJoZTKwF/versions/FBCKL0ph/tfclunchbox-1.20.1-1.0.0.24.jar", - "id": "FBCKL0ph", + "url": "https://cdn.modrinth.com/data/GJoZTKwF/versions/oLBw4c0k/tfclunchbox-1.20.1-1.0.0.26.jar", + "id": "oLBw4c0k", "parent_id": "GJoZTKwF", "hashes": { - "sha512": "710c87bada49f42833f0a9885be50d2c26f0487066727c24b185c2246ee69856fe77a06ea3cb889e38168ad4513ec0d7e6f5846b2a9f1c4009ff55c7f78dd699", - "sha1": "2b08da39c36d2590f0855e8ca5294f385b68f5ba" + "sha512": "8a9bdd6c09965df91cd12ab2327888204149b5600af0a7c4c86c6f6a1e697a4417312f00bea9daf7fca53f4ae80ef74c85f32770bb7621b72053f33767a07841", + "sha1": "e9ddf2c2ea8a3458c06ef31712543d201a1cb499" }, "required_dependencies": [ "JaCEZUhg" ], - "size": 148531, - "date_published": "2025-08-01T04:08:36.783768Z" + "size": 148782, + "date_published": "2025-10-16T11:04:01.581223Z" + }, + { + "type": "curseforge", + "file_name": "tfclunchbox-1.20.1-1.0.0.27.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "beta", + "url": "https://edge.forgecdn.net/files/7458/423/tfclunchbox-1.20.1-1.0.0.27.jar", + "id": "7458423", + "parent_id": "1283445", + "hashes": { + "sha1": "1226f74ab23c97398f23700a8f571e200fe311f0", + "md5": "718421027553531294b611f80719da0c" + }, + "required_dependencies": [ + "302973" + ], + "size": 129776, + "date_published": "2026-01-14T13:05:43.293Z" } ] }, From c5f8fd771be67cff8f8c0477ff90cb702c0054d7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 14 Jan 2026 21:56:05 +0000 Subject: [PATCH 104/474] lunchbox --- CHANGELOG.md | 4 ++++ kubejs/server_scripts/tfclunchbox/recipes.js | 4 ---- kubejs/server_scripts/tfclunchbox/tags.js | 9 --------- 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d37db98da..3d955ab46 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ - Changed the texture of out-of-season blood lilies so they're findable year-round @Pyritie - Added alloy smelter recipes for jar lids (#2705) @thederpysockdude123 - Reduced the amount of ambient awoos at night, and crickets/cicadas now require grass plants instead of grass blocks (#2680) @Pyritie +- You can now use any wrench to remove the extruder molds from the curving press instead of just the create wrench @Pyritie ### Bug fixes - Fixed not being able to craft Paracetamol or Rad-Away @Pyritie - Fixed the missing dried fruit to yeast starter recipe (#2673) @Mqrius @@ -47,6 +48,9 @@ - Fixed soaked paper in a helve hammer having a blow count of less than 1 for some anvils (#2655) @Pyritie - Fixed casting of rods and gears for various metals @Pyritie - Fixed a dupe with scraping knives (#2716) @Inceitious +- Fixed a rendering issue with the lunchboxes when held @Thomasx0 +- Fixed the cooling lunchbox not stacking empty cells correctly (#2475) @Thomasx0 +- Fixed the lunchboxes not removing the "cooling" trait when items were removed with the number keys @Thomasx0 ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare + @Maxiffon diff --git a/kubejs/server_scripts/tfclunchbox/recipes.js b/kubejs/server_scripts/tfclunchbox/recipes.js index 4267488c6..b2b032cae 100644 --- a/kubejs/server_scripts/tfclunchbox/recipes.js +++ b/kubejs/server_scripts/tfclunchbox/recipes.js @@ -2,8 +2,4 @@ "use strict"; function registerTFCLunchBoxRecipes(event) { - // Убираем оригинальные рецепты капсул - // Remove original capsule recipes - event.remove({ id: 'tfclunchbox:universal_capsule' }) - event.remove({ id: 'tfclunchbox:fill_capsule_with_ice' }) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfclunchbox/tags.js b/kubejs/server_scripts/tfclunchbox/tags.js index 0ac986a2b..3639258b9 100644 --- a/kubejs/server_scripts/tfclunchbox/tags.js +++ b/kubejs/server_scripts/tfclunchbox/tags.js @@ -3,14 +3,5 @@ function registerTFCLunchboxItemTags(event) { - const DISABLED_ITEMS = [ - 'tfclunchbox:universal_capsule', - ] - - DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) - }) - event.add('tfclunchbox:ice', 'tfg:dry_ice') } \ No newline at end of file From cff9ab16f1d4ced6b0201962616f02cc4c9da6bd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 14 Jan 2026 21:58:30 +0000 Subject: [PATCH 105/474] add portable cells and drums to the railgun blacklist --- .../tfg/space_general/tags.railgun.js | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/kubejs/server_scripts/tfg/space_general/tags.railgun.js b/kubejs/server_scripts/tfg/space_general/tags.railgun.js index 0ad284fb5..e9d9a973b 100644 --- a/kubejs/server_scripts/tfg/space_general/tags.railgun.js +++ b/kubejs/server_scripts/tfg/space_general/tags.railgun.js @@ -9,11 +9,21 @@ function registerTFGRailgunItemTags(event) { event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_16k') event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_64k') event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_256k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:portable_item_cell_1k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:portable_item_cell_4k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:portable_item_cell_16k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:portable_item_cell_64k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:portable_item_cell_256k') event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_1k') event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_4k') event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_16k') event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_64k') event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_256k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:portable_fluid_cell_1k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:portable_fluid_cell_4k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:portable_fluid_cell_16k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:portable_fluid_cell_64k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:portable_fluid_cell_256k') event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_2') event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_16') event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_128') @@ -21,10 +31,18 @@ function registerTFGRailgunItemTags(event) { event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_4m') event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_16m') event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_64m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:portable_item_cell_1m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:portable_item_cell_4m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:portable_item_cell_16m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:portable_item_cell_64m') event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_1m') event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_4m') event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_16m') event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_64m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:portable_fluid_cell_1m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:portable_fluid_cell_4m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:portable_fluid_cell_16m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:portable_fluid_cell_64m') event.add('tfg:cannot_launch_in_railgun', 'create:minecart_contraption') event.add('tfg:cannot_launch_in_railgun', 'tfg:railgun_ammo_shell') event.add('tfg:cannot_launch_in_railgun', 'create:cardboard_package_12x10') @@ -57,6 +75,15 @@ function registerTFGRailgunItemTags(event) { event.add('tfg:cannot_launch_in_railgun', 'gtceu:stainless_steel_crate') event.add('tfg:cannot_launch_in_railgun', 'gtceu:titanium_crate') event.add('tfg:cannot_launch_in_railgun', 'gtceu:tungsten_steel_crate') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:gold_drum') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:bronze_drum') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:black_bronze_drum') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:bismuth_bronze_drum') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:steel_drum') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:aluminium_drum') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:stainless_steel_drum') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:titanium_drum') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:tungsten_steel_drum') event.add('tfg:cannot_launch_in_railgun', '#create:toolboxes') event.add('tfg:cannot_launch_in_railgun', 'gtceu:ulv_super_chest') event.add('tfg:cannot_launch_in_railgun', 'gtceu:lv_super_chest') From 9153cb084b768681d61a00bd8efde641bd2fd475 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 14 Jan 2026 22:33:39 +0000 Subject: [PATCH 106/474] fixed missing raw oil in blaze burner fuels --- kubejs/data/create_liquid_fuel/blaze_burner_fuel/lava.json | 6 ++++++ .../data/create_liquid_fuel/blaze_burner_fuel/raw_oil.json | 2 +- kubejs/data/create_liquid_fuel/blaze_burner_fuel/steam.json | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 kubejs/data/create_liquid_fuel/blaze_burner_fuel/lava.json diff --git a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/lava.json b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/lava.json new file mode 100644 index 000000000..639a0a542 --- /dev/null +++ b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/lava.json @@ -0,0 +1,6 @@ +{ + "fluid": "minecraft:lava", + "burnTime": 25, + "superHeat": false, + "amountConsumedPerTick" : 25 +} diff --git a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/raw_oil.json b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/raw_oil.json index 8ba4d1621..775781f27 100644 --- a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/raw_oil.json +++ b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/raw_oil.json @@ -1,5 +1,5 @@ { - "fluid": "gtceu:raw_oil", + "fluid": "gtceu:oil_medium", "burnTime": 50, "superHeat": false, "amountConsumedPerTick" : 32 diff --git a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/steam.json b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/steam.json index 16675090b..1f7c9c0e4 100644 --- a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/steam.json +++ b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/steam.json @@ -1,6 +1,6 @@ { "fluid": "gtceu:steam", - "burnTime": 1, + "burnTime": 10, "superHeat": false, - "amountConsumedPerTick" : 128 + "amountConsumedPerTick" : 1280 } From 9df19277c6f919e519c7708558a61128495f858c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 14 Jan 2026 22:37:22 +0000 Subject: [PATCH 107/474] bloomery update --- CHANGELOG.md | 1 + .../en_us/entries/mechanics/bloomery.json | 154 +++++++++--------- .../blaze_burner_fuel/light_oil.json | 2 +- kubejs/server_scripts/tfc/recipes.metals.js | 2 +- .../tfg/machines/recipes.steam_bloomery.js | 4 +- kubejs/server_scripts/tfg/tags.js | 12 +- 6 files changed, 87 insertions(+), 88 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d955ab46..4b4ff29ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,7 @@ - Added alloy smelter recipes for jar lids (#2705) @thederpysockdude123 - Reduced the amount of ambient awoos at night, and crickets/cicadas now require grass plants instead of grass blocks (#2680) @Pyritie - You can now use any wrench to remove the extruder molds from the curving press instead of just the create wrench @Pyritie +- You can now use coal as bloomery fuel! Both the vanilla item as well as any of the raw coals ### Bug fixes - Fixed not being able to craft Paracetamol or Rad-Away @Pyritie - Fixed the missing dried fruit to yeast starter recipe (#2673) @Mqrius diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/bloomery.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/bloomery.json index 7a8671585..4bf3920e4 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/bloomery.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/bloomery.json @@ -1,80 +1,80 @@ { - "__comment__": "This file was automatically created by mcresources", - "name": "Bloomery", - "category": "tfc:mechanics", - "icon": "tfc:bloomery", - "pages": [ - { - "type": "patchouli:text", - "text": "The $(thing)Bloomery$() is a device used to smelt $(thing)Iron Ore$() into $(thing)Iron Blooms$() which can be worked into $(thing)Wrought Iron$(). The iron ores are $(l:the_world/ores_and_minerals#hematite)Hematite$(), $(l:the_world/ores_and_minerals#limonite)Limonite$(), and $(l:the_world/ores_and_minerals#magnetite)Magnetite$(). These ores melt into $(thing)Cast Iron$() rather than $(thing)Wrought Iron$(). All iron-bearing items melt into Cast Iron. To turn them into usable iron, the bloomery is needed. Any iron item can be used in the bloomery, including iron tools and cast iron ingots!" - }, - { - "type": "patchouli:crafting", - "recipe": "tfc:crafting/bloomery", - "text": "The bloomery is made from 8 $(thing)Bronze Double Plates$()." - }, - { - "type": "patchouli:multiblock", - "multiblock_id": "tfc:bloomery", - "name": "A Bloomery", - "text": "A minimum size bloomery. The bloomery block will open and close with $(item)$(k:key.use)$().", - "enable_visualize": true - }, - { - "type": "patchouli:text", - "text": "The bloomery can contain up to a maximum of 48 $(thing)Inputs$(), with 16 items per layer of the chimney. To add layers to the chimney, stack up two more layers of stone blocks.$(br2)To add items to the bloomery, climb up to the top and throw items inside. A tower of grey ore should form." - }, - { - "type": "patchouli:image", - "images": [ - "tfc:textures/gui/book/tutorial/bloomery_hole.png" - ], - "text": "Adding items to the bloomery.", - "border": true - }, - { - "type": "patchouli:text", - "text": "The bloomery consumes $(thing)1 Charcoal$() and $(thing)144 mB of Cast Iron$() to produce one $(thing)Bloom$(). After filling the bloomery with a combination of $(thing)Charcoal$() and $(thing)Ore$(), light the bloomery block, and wait 15 hours for the bloomery to smelt. When the bloomery shuts off, it leaves behind a $(thing)Bloom$() block. This contains $(thing)Raw Iron Blooms$() which can be obtained by mining the $(thing)Bloom$() repeatedly with a pickaxe." - }, - { - "type": "patchouli:multiblock", - "multiblock": { - "pattern": [ - [ - "X" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:bloom[layers=8]" - } - }, - "name": "The Bloom Block", + "__comment__": "This file was automatically created by mcresources", + "name": "Bloomery", + "category": "tfc:mechanics", + "icon": "tfc:bloomery", + "pages": [ + { + "type": "patchouli:text", + "text": "The $(thing)Bloomery$() is a device used to smelt $(thing)Iron Ore$() into $(thing)Iron Blooms$() which can be worked into $(thing)Wrought Iron$(). Some common iron ores are $(l:tfg_ores/earth_vein_index#normal_hematite)Hematite$(), $(l:tfg_ores/earth_vein_index#normal_limonite)Limonite$(), and $(l:tfg_ores/earth_vein_index#normal_magnetite)Magnetite$(). These ores melt into $(thing)Cast Iron$() rather than $(thing)Wrought Iron$(). All iron-bearing items melt into Cast Iron. To turn them into usable iron, the bloomery is needed. Any iron item can be used in the bloomery, including iron tools and cast iron ingots!" + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/bloomery", + "text": "The bloomery is made from 8 $(thing)Bronze Double Plates$()." + }, + { + "type": "patchouli:multiblock", + "multiblock_id": "tfc:bloomery", + "name": "A Bloomery", + "text": "A minimum size bloomery. The bloomery block will open and close with $(item)$(k:key.use)$().", + "enable_visualize": true + }, + { + "type": "patchouli:text", + "text": "The bloomery can contain up to a maximum of 48 $(thing)Inputs$(), with 16 items per layer of the chimney. To add layers to the chimney, stack up two more layers of stone blocks.$(br2)To add items to the bloomery, climb up to the top and throw items inside. A tower of grey ore should form.$(br2)You can use both $(item)Charcoal$() and $(item)Coal$() as fuel for your bloomery." + }, + { + "type": "patchouli:image", + "images": [ + "tfc:textures/gui/book/tutorial/bloomery_hole.png" + ], + "text": "The bloomery consumes $(thing)1 item of Fuel$() and $(thing)144 mB of Cast Iron$() to produce one $(thing)Bloom$().", + "border": true + }, + { + "type": "patchouli:text", + "text": "If you don't want to do the math, we recommend $(item)25 metal ore dusts$() and $(item)22 fuel items$().$(br2)After filling the bloomery with a combination of $(thing)Fuel$() and $(thing)Ore$(), light the bloomery block, and wait 15 hours for the bloomery to smelt. When the bloomery shuts off, it leaves behind a $(thing)Bloom$() block. This contains $(thing)Raw Iron Blooms$() which can be obtained by mining the $(thing)Bloom$() repeatedly with a pickaxe." + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:bloom[layers=8]" + } + }, + "name": "The Bloom Block", "text": "A large $(thing)Bloom$().", - "enable_visualize": false - }, - { - "type": "tfc:anvil_recipe", - "recipe": "tfc:anvil/refined_iron_bloom", - "text": "The $(thing)Raw Iron Bloom$() must be worked in a $(l:mechanics/anvils)anvil$() to make $(thing)Refined Iron Bloom$()." - }, - { - "type": "tfc:anvil_recipe", - "recipe": "tfc:anvil/wrought_iron_from_bloom", - "text": "The $(thing)Refined Iron Bloom$() must be worked in a $(l:mechanics/anvils)anvil$() to make $(thing)Wrought Iron Ingots$()." - }, - { - "type": "patchouli:text", - "text": "$(li)If the bloomery finds itself with more items contained than it can handle based on its chimney, it will try to spit them out the front.$()$(li)To retrieve your items from a bloomery that is not lit, do not break the molten block tower. Break the bloomery block.$()$(li)Blooms will only melt into cast iron, not wrought iron. They must be worked!$()", - "title": "Smith's Notes" - } - ], - "read_by_default": true, - "extra_recipe_mappings": { - "tfc:bloom": 6, - "tfc:raw_iron_bloom": 7, - "tfc:refined_iron_bloom": 8 - } + "enable_visualize": false + }, + { + "type": "tfc:anvil_recipe", + "recipe": "tfc:anvil/refined_iron_bloom", + "text": "The $(thing)Raw Iron Bloom$() must be worked in a $(l:mechanics/anvils)anvil$() to make $(thing)Refined Iron Bloom$()." + }, + { + "type": "tfc:anvil_recipe", + "recipe": "tfc:anvil/wrought_iron_from_bloom", + "text": "The $(thing)Refined Iron Bloom$() must be worked in a $(l:mechanics/anvils)anvil$() to make $(thing)Wrought Iron Ingots$()." + }, + { + "type": "patchouli:text", + "text": "$(li)If the bloomery finds itself with more items contained than it can handle based on its chimney, it will try to spit them out the front.$()$(li)To retrieve your items from a bloomery that is not lit, do not break the molten block tower. Break the bloomery block.$()$(li)Blooms will only melt into cast iron, not wrought iron. They must be worked!$()", + "title": "Smith's Notes" + } + ], + "read_by_default": true, + "extra_recipe_mappings": { + "tfc:bloom": 6, + "tfc:raw_iron_bloom": 7, + "tfc:refined_iron_bloom": 8 + } } \ No newline at end of file diff --git a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/light_oil.json b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/light_oil.json index 6956a6e5f..b09cd0825 100644 --- a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/light_oil.json +++ b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/light_oil.json @@ -1,5 +1,5 @@ { - "fluid": "gtceu:light_oil", + "fluid": "gtceu:oil_light", "burnTime": 50, "superHeat": false, "amountConsumedPerTick" : 32 diff --git a/kubejs/server_scripts/tfc/recipes.metals.js b/kubejs/server_scripts/tfc/recipes.metals.js index 141d85062..4b150403c 100644 --- a/kubejs/server_scripts/tfc/recipes.metals.js +++ b/kubejs/server_scripts/tfc/recipes.metals.js @@ -273,7 +273,7 @@ function registerTFCMetalsRecipes(event) { .id('tfc:anvil/blue_steel_ingot') // Cast iron -> Raw Iron Bloom - event.recipes.tfc.bloomery('tfc:raw_iron_bloom', 'minecraft:charcoal', Fluid.of('gtceu:iron', 144), 15000) + event.recipes.tfc.bloomery('tfc:raw_iron_bloom', '#tfg:bloomery_basic_fuels', Fluid.of('gtceu:iron', 144), 15000) .id('tfc:bloomery/raw_iron_bloom') // Cast Iron -> Pig Iron diff --git a/kubejs/server_scripts/tfg/machines/recipes.steam_bloomery.js b/kubejs/server_scripts/tfg/machines/recipes.steam_bloomery.js index 7f5b1888e..75595e711 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.steam_bloomery.js +++ b/kubejs/server_scripts/tfg/machines/recipes.steam_bloomery.js @@ -3,7 +3,7 @@ function registerTFGSteamBloomeryRecipes(event) { event.recipes.gtceu.steam_bloomery('steam_raw_iron_bloom_coal') - .itemInputs('#forge:ingots/iron', '#tfg:steam_bloomery_basic_fuels') + .itemInputs('#forge:ingots/iron', '#tfg:bloomery_basic_fuels') .itemOutputs('tfc:raw_iron_bloom') .duration(2400) .EUt(2) @@ -23,7 +23,7 @@ function registerTFGSteamBloomeryRecipes(event) { const outputMaterial = tfcProperty.getOutputMaterial() === null ? material : tfcProperty.getOutputMaterial() if (outputMaterial === GTMaterials.Iron) { event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coal_${material.getName()}`) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, material, 1), '#tfg:steam_bloomery_basic_fuels') + .itemInputs(ChemicalHelper.get(TagPrefix.dust, material, 1), '#tfg:bloomery_basic_fuels') .itemOutputs('tfc:raw_iron_bloom') .duration(2400) .EUt(2) diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 539c5cb42..f1f792a98 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -82,13 +82,11 @@ const registerTFGItemTags = (event) => { event.add('forge:screws/any_bronze', '#forge:screws/black_bronze') // Steam Bloomery - event.add("tfg:steam_bloomery_basic_fuels", "minecraft:coal"); - event.add("tfg:steam_bloomery_basic_fuels", "minecraft:charcoal"); - event.add("tfg:steam_bloomery_basic_fuels", "gtceu:rich_raw_coal"); - event.add("tfg:steam_bloomery_basic_fuels", "gtceu:raw_coal"); - event.add("tfg:steam_bloomery_basic_fuels", "gtceu:poor_raw_coal"); - event.add("tfg:steam_bloomery_basic_fuels", "gtceu:coal_dust"); - event.add("tfg:steam_bloomery_basic_fuels", "gtceu:charcoal_dust"); + event.add("tfg:bloomery_basic_fuels", "minecraft:coal"); + event.add("tfg:bloomery_basic_fuels", "minecraft:charcoal"); + event.add("tfg:bloomery_basic_fuels", "gtceu:rich_raw_coal"); + event.add("tfg:bloomery_basic_fuels", "gtceu:raw_coal"); + event.add("tfg:bloomery_basic_fuels", "gtceu:poor_raw_coal"); //#region holder materials event.remove('forge:dusts', 'tfg:nitrocellulose') From 91c65c75f756fa1ba667a6b2e7ff48d66dd18faa Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 14 Jan 2026 22:43:58 +0000 Subject: [PATCH 108/474] added wrapped locometal to facades #2726 --- CHANGELOG.md | 3 ++- kubejs/server_scripts/tfg/machines/tags.facades.js | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b4ff29ee..16b09a46d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ - Added tree index field guide entries for Earth and Mars (#2638) @Jeuvke - Added drinkable effects field guide entry (#2676) @FlightingFalcon - Ice slush is now drinkable, for a cooling effect (#2708) @Inceitious +- You can now use coal as bloomery fuel! Both the vanilla item as well as any of the raw coals (#2731) @Pyritie - The crucible now holds 4608mB (32 ingots) instead of 4032mB (28 ingots) (#2634) @Pyritie - Large gears can now be crafted in an anvil/mechanical press @Pyritie - Added recipe to make tubes from volcanic glass batches (#2667) @Redeix @@ -30,7 +31,7 @@ - Added alloy smelter recipes for jar lids (#2705) @thederpysockdude123 - Reduced the amount of ambient awoos at night, and crickets/cicadas now require grass plants instead of grass blocks (#2680) @Pyritie - You can now use any wrench to remove the extruder molds from the curving press instead of just the create wrench @Pyritie -- You can now use coal as bloomery fuel! Both the vanilla item as well as any of the raw coals +- Added wrapped locometal to gregtech facade blocks (#2726) @Pyritie ### Bug fixes - Fixed not being able to craft Paracetamol or Rad-Away @Pyritie - Fixed the missing dried fruit to yeast starter recipe (#2673) @Mqrius diff --git a/kubejs/server_scripts/tfg/machines/tags.facades.js b/kubejs/server_scripts/tfg/machines/tags.facades.js index 4afd087c3..2be1288a0 100644 --- a/kubejs/server_scripts/tfg/machines/tags.facades.js +++ b/kubejs/server_scripts/tfg/machines/tags.facades.js @@ -238,6 +238,10 @@ function registerTFGFacadeWhitelistItemTags(event) { event.add('tfg:whitelisted/facades', `gtceu:${ facade_material }_studs`) event.add('tfg:whitelisted/facades', `#railways:palettes/cycle_groups/${ facade_material }`) }); + + event.add('tfg:whitelisted/facades', '#railways:palettes/dye_groups/brass_wrapped_slashed') + event.add('tfg:whitelisted/facades', '#railways:palettes/dye_groups/copper_wrapped_slashed') + event.add('tfg:whitelisted/facades', '#railways:palettes/dye_groups/iron_wrapped_slashed') //create copper create_copper_fm.forEach(facade_material => { From 4c5c04d6ccb407f4957748a995ac294d0ccea0e1 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Thu, 15 Jan 2026 07:04:48 +0500 Subject: [PATCH 109/474] Update ranks.snbt --- .../defaultconfigs/ftbranks/ranks.snbt | 40 +++++++++++++++---- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/.pakku/server-overrides/defaultconfigs/ftbranks/ranks.snbt b/.pakku/server-overrides/defaultconfigs/ftbranks/ranks.snbt index 71004f076..eb5c49722 100644 --- a/.pakku/server-overrides/defaultconfigs/ftbranks/ranks.snbt +++ b/.pakku/server-overrides/defaultconfigs/ftbranks/ranks.snbt @@ -1,14 +1,14 @@ { - member: { - name: "Player" - power: 1 + novice: { + name: "Novice" + power: 0 condition: "always_active" - ftbranks.name_format: "&a{name}" - ftbchunks.max_claimed: 50 - ftbchunks.max_force_loaded: 6 + ftbranks.name_format: "&7{name}" + ftbchunks.max_claimed: 10 + ftbchunks.max_force_loaded: 0 ftbchunks.chunk_load_offline: false - - command.enderchest: false + + command.enderchest: false command.ldlib: false command.compass_server: false command.chunky: false @@ -41,6 +41,21 @@ command.tpx: false command.trashcan: true + } + + member: { + name: "Player" + power: 1 + condition: { + type: "playtime" + time: 5 + time_unit: "days" + } + ftbranks.name_format: "&a{name}" + ftbchunks.max_claimed: 50 + ftbchunks.max_force_loaded: 6 + ftbchunks.chunk_load_offline: false + } vip: { @@ -57,6 +72,15 @@ ftbranks.name_format: "&b{name}" ftbchunks.max_claimed: 200 ftbchunks.max_force_loaded: 8 + + command.ftbchunks.admin.bypass_protection: true + command.ban: true + command.ban-ip: true + command.pardon: true + command.pardon-ip: true + command.kick: true + command.clear: true + command.invsee: true } admin: { name: "Admin" From 906e0402be9fbbc51e2e452d6df71e6317add308 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 15 Jan 2026 21:26:26 +0000 Subject: [PATCH 110/474] pakku update, also add ae2 cosmolite dark theme --- pakku-lock.json | 118 +++++++++++++++++++++++++++++++----------------- 1 file changed, 76 insertions(+), 42 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 557ceb395..a53982d0e 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -185,6 +185,34 @@ } ] }, + { + "pakku_id": "tIIGT85PQd5pJGf0", + "type": "MOD", + "slug": { + "github": "Frontiers-PackForge/AE2-Midnight-and-Daybreak" + }, + "name": { + "github": "AE2-Midnight-and-Daybreak" + }, + "id": { + "github": "1083466923" + }, + "files": [ + { + "type": "github", + "file_name": "midnight-ae2-355ee99.zip", + "release_type": "release", + "url": "https://github.com/Frontiers-PackForge/AE2-Midnight-and-Daybreak/releases/download/midnight-ae2-latest/midnight-ae2-355ee99.zip", + "id": "340540365", + "parent_id": "1083466923", + "hashes": { + "sha256": "c36974deb70ded2e0a1b75f0f3594b907cb573ac35e729c512e801e755ca1acd" + }, + "size": 5653580, + "date_published": "2026-01-14T18:07:27Z" + } + ] + }, { "pakku_id": "f1zNCW1T31PKFnSo", "type": "MOD", @@ -7175,39 +7203,46 @@ "files": [ { "type": "modrinth", - "file_name": "[ver_0.21]_GT_Revival 32x_1.19.2-1.20.1-1.21.zip", + "file_name": "[ver_0.22]_GT_Revival 32x_1.19.2-1.20.1-1.21.zip", "mc_versions": [ - "1.20.1" + "1.19.2", + "1.20", + "1.20.1", + "1.21", + "1.21.1" + ], + "loaders": [ + "minecraft" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/fUawEtti/versions/dJTMr36Q/[ver_0.21]_GT_Revival 32x_1.19.2-1.20.1-1.21.zip", - "id": "dJTMr36Q", + "url": "https://cdn.modrinth.com/data/fUawEtti/versions/peiL81bR/[ver_0.22]_GT_Revival 32x_1.19.2-1.20.1-1.21.zip", + "id": "peiL81bR", "parent_id": "fUawEtti", "hashes": { - "sha512": "bfba7726c5c08f8663299535270eec1bcdfad8e0c48367044e918760f01895f44c9763ededd422049474f10118af937dd84b5ad8affe963c905584ee89964b64", - "sha1": "1cc628acd1cdc56d2ae38a4d7838031eb439eccc" + "sha512": "8fbe2a520a2b3dcae3a677871517fb66c930865a318665f4d7a92278353724cf155a94a0a9703f515433d0697f6958ecc6066b84ab4daeea5e40cb61c11b50d0", + "sha1": "56e46338a29a64c3218191e3418f21d731b5a17e" }, "required_dependencies": [], - "size": 8851849, - "date_published": "2025-09-25T14:27:06.141084Z" + "size": 8884123, + "date_published": "2026-01-05T16:23:46.810793Z" }, { "type": "curseforge", - "file_name": "[ver_0.21]_GT_Revival 32x_1.19.2-1.20.1-1.21.zip", + "file_name": "[ver_0.22]_GT_Revival 32x_1.19.2-1.20.1-1.21.zip", "mc_versions": [ "1.20.1" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7032/236/[ver_0.21]_GT_Revival 32x_1.19.2-1.20.1-1.21.zip", - "id": "7032236", + "url": "https://edge.forgecdn.net/files/7397/183/[ver_0.22]_GT_Revival 32x_1.19.2-1.20.1-1.21.zip", + "id": "7397183", "parent_id": "964322", "hashes": { - "sha1": "1cc628acd1cdc56d2ae38a4d7838031eb439eccc", - "md5": "8725fb81b0f272dee125caed9023de2a" + "sha1": "56e46338a29a64c3218191e3418f21d731b5a17e", + "md5": "914085c283ce8b0fb10cdfaf063cb2c8" }, "required_dependencies": [], - "size": 8851849, - "date_published": "2025-09-25T14:25:41.027Z" + "size": 8884123, + "date_published": "2025-12-30T17:57:31.660Z" } ] }, @@ -7736,46 +7771,45 @@ "modrinth": "dOV2wnYX" }, "files": [ - { - "type": "curseforge", - "file_name": "Improved AE 2 1.20.1 ver 0.03 - 32x32.zip", - "mc_versions": [ - "1.20.2", - "1.20.1", - "1.20.4" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/5064/623/Improved AE 2 1.20.1 ver 0.03 - 32x32.zip", - "id": "5064623", - "parent_id": "891816", - "hashes": { - "sha1": "298baeaea7237a0c5361fd3186e4f5ad5bc0c266", - "md5": "eee7211a342f9e59fe6d4c99f3988657" - }, - "required_dependencies": [], - "size": 1987955, - "date_published": "2024-01-28T10:09:14.360Z" - }, { "type": "modrinth", - "file_name": "Improved AE 2 1.20.1 ver 0.03 - 32x32.zip", + "file_name": "[1.20.1_ver_0.05]_Improved_AE_2_32x.zip", "mc_versions": [ + "1.20", "1.20.1" ], "loaders": [ "minecraft" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/dOV2wnYX/versions/rZ9MKijP/Improved AE 2 1.20.1 ver 0.03 - 32x32.zip", - "id": "rZ9MKijP", + "url": "https://cdn.modrinth.com/data/dOV2wnYX/versions/Ww3GLvVA/[1.20.1_ver_0.05]_Improved_AE_2_32x.zip", + "id": "Ww3GLvVA", "parent_id": "dOV2wnYX", "hashes": { - "sha512": "c12562cdf7b411bf0d63d096a4690a7172e4986d0fd253c733182ff04668bbe19a8559504d5243e9fe0da8b9a8b34f8d7b1b8e0475e13e17a71fdc9bebc2c0bc", - "sha1": "298baeaea7237a0c5361fd3186e4f5ad5bc0c266" + "sha512": "1538ae239d35dcf57b83190b3a9f27a36299b0d5ab4a1c73884c7fa904b4f05c89806ca99af568367103280d123a218fa93607935698864ffd76ccc4578654e2", + "sha1": "c34d762042a4c04d4e7293937b7ce8bb5c6c4e32" }, "required_dependencies": [], - "size": 1987955, - "date_published": "2025-07-16T05:36:29.702562Z" + "size": 2702030, + "date_published": "2026-01-05T16:26:57.406085Z" + }, + { + "type": "curseforge", + "file_name": "[1.20.1_ver_0.05]_Improved_AE_2_32x.zip", + "mc_versions": [ + "1.20.1" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7421/592/[1.20.1_ver_0.05]_Improved_AE_2_32x.zip", + "id": "7421592", + "parent_id": "891816", + "hashes": { + "sha1": "c34d762042a4c04d4e7293937b7ce8bb5c6c4e32", + "md5": "8cad22a0fc22ed05d025e08394f17369" + }, + "required_dependencies": [], + "size": 2702030, + "date_published": "2026-01-05T16:27:10.323Z" } ] }, From ec62c392dd3812aaba8d99705e9d80645e915fd6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 15 Jan 2026 21:31:45 +0000 Subject: [PATCH 111/474] fix GENERATE_BELL --- kubejs/startup_scripts/gtceu/material_modification.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 20de037a6..9ac84ed1d 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -28,7 +28,6 @@ const registerGTCEuMaterialModification = (event) => { HAS_TFC_ARMOR, HAS_TFC_UTILITY, CAN_BE_UNMOLDED, - GENERATE_BELL, GENERATE_DOUBLE_INGOTS, HAS_SMALL_TFC_ORE, GENERATE_DUSTY_ORES, @@ -265,10 +264,6 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.CertusQuartz.addFlags(GENERATE_ROD); GTMaterials.NetherQuartz.addFlags(GENERATE_ROD); - GTMaterials.Gold.addFlags(GENERATE_BELL); - GTMaterials.Brass.addFlags(GENERATE_BELL); - GTMaterials.Bronze.addFlags(GENERATE_BELL); - GTMaterials.Copper.addFlags(GENERATE_FRAME); GTMaterials.BlackBronze.addFlags(GENERATE_FRAME); GTMaterials.BismuthBronze.addFlags(GENERATE_FRAME); From e6f7b5e4ee96375b4ff338961a5f2782ba64f57d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 15 Jan 2026 22:41:53 +0000 Subject: [PATCH 112/474] sound tweaks --- .../ambientsounds/basic/regions/lake.json | 17 +++++++++++++++-- .../ambientsounds/basic/regions/river.json | 18 ++++++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 kubejs/assets/ambientsounds/basic/regions/river.json diff --git a/kubejs/assets/ambientsounds/basic/regions/lake.json b/kubejs/assets/ambientsounds/basic/regions/lake.json index 169fb9015..7ae2da97f 100644 --- a/kubejs/assets/ambientsounds/basic/regions/lake.json +++ b/kubejs/assets/ambientsounds/basic/regions/lake.json @@ -1,7 +1,6 @@ { "name": "lake", "biomes": [ - "river", "lake", "mountain_lake", "old_mountain_lake", @@ -20,7 +19,21 @@ "files": [ "ambientsounds:water.ocean" ], - "volume": 0.4 + "volume": 0.1 + }, + { + "name": "frog", + "category": "animal", + "files": [ + "ambientsounds:animals.frog1", + "ambientsounds:animals.frog2" + ], + "pause": { + "min": 2500, + "max": 7500 + }, + "day": 0.05, + "night": 0.15 } ] } diff --git a/kubejs/assets/ambientsounds/basic/regions/river.json b/kubejs/assets/ambientsounds/basic/regions/river.json new file mode 100644 index 000000000..fe9a3e92a --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/regions/river.json @@ -0,0 +1,18 @@ +{ + "name": "river", + "biomes": [ + "river" + ], + "features": [ + "water" + ], + "sounds": [ + { + "name": "ocean", + "files": [ + "ambientsounds:water.ocean" + ], + "volume": 0.65 + } + ] +} From e3a365fa846ca44f28b40739664ee2c279251168 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 15 Jan 2026 22:58:10 +0000 Subject: [PATCH 113/474] who is peat and why does he have a use? --- CHANGELOG.md | 4 +++- .../gregtech/recipes.machines.js | 19 +++++++++++++++++++ .../tfg/powergen/recipes.coal.js | 5 +++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16b09a46d..27947abf0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,9 +29,11 @@ - You can now also use mars water in gregtech and create boilers @Pyritie - Changed the texture of out-of-season blood lilies so they're findable year-round @Pyritie - Added alloy smelter recipes for jar lids (#2705) @thederpysockdude123 -- Reduced the amount of ambient awoos at night, and crickets/cicadas now require grass plants instead of grass blocks (#2680) @Pyritie +- Reduced the amount of ambient awoos at night, and crickets/cicadas now require grass plants instead of grass blocks. Rivers now have a louder water sound and lakes have a quieter one. (#2680) @Pyritie - You can now use any wrench to remove the extruder molds from the curving press instead of just the create wrench @Pyritie - Added wrapped locometal to gregtech facade blocks (#2726) @Pyritie +- Peat can now be turned into creosote @Pyritie +- Coke oven bricks now require mortar to craft @Pyritie ### Bug fixes - Fixed not being able to craft Paracetamol or Rad-Away @Pyritie - Fixed the missing dried fruit to yeast starter recipe (#2673) @Mqrius diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index 33e2fdc9a..652ba3d16 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -238,6 +238,25 @@ function registerGTCEuMachineRecipes(event) { //#region CokeOven + event.remove({ id: 'gtceu:shaped/casing_coke_bricks' }) + event.remove({ id: 'gtceu:compressor/coke_bricks' }) + + event.shaped('gtceu:coke_oven_bricks', [ + 'ABA', + 'BAB', + 'ABA' + ], { + A: 'tfc:mortar', + B: 'gtceu:coke_oven_brick' + }).id('tfg:shaped/coke_oven_bricks') + + event.recipes.gtceu.assembler('tfg:coke_oven_bricks') + .itemInputs('4x gtceu:coke_oven_bricks') + .inputFluids(Fluid.of('gtceu:concrete 90')) + .itemOutputs('gtceu:coke_oven_bricks') + .duration(50) + .EUt(2); + // Coke Oven removeMaceratorRecipe(event, 'macerate_coke_oven') event.recipes.gtceu.shaped('gtceu:coke_oven', [ diff --git a/kubejs/server_scripts/tfg/powergen/recipes.coal.js b/kubejs/server_scripts/tfg/powergen/recipes.coal.js index 6c9227430..a037b573a 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.coal.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.coal.js @@ -20,6 +20,11 @@ function registerTFGCoalRecipes(event) { .outputFluids(Fluid.of('gtceu:creosote', 2000)) .duration(900) + event.recipes.gtceu.coke_oven("tfg:peat") + .itemInputs('tfc:peat') + .outputFluids(Fluid.of('gtceu:creosote', 1000)) + .duration(900) + event.recipes.gtceu.pyrolyse_oven("tfg:rich_coal_to_tar") .itemInputs('3x gtceu:rich_raw_coal') .chancedOutput('gtceu:dark_ash_dust', 5000, 0) From ac426c01c2966df0238f4efdfc56be63612a42b6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 15 Jan 2026 22:59:57 +0000 Subject: [PATCH 114/474] minor spelling mistake --- kubejs/server_scripts/gregtech/recipes.machines.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index 652ba3d16..17f880fdb 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -251,7 +251,7 @@ function registerGTCEuMachineRecipes(event) { }).id('tfg:shaped/coke_oven_bricks') event.recipes.gtceu.assembler('tfg:coke_oven_bricks') - .itemInputs('4x gtceu:coke_oven_bricks') + .itemInputs('4x gtceu:coke_oven_brick') .inputFluids(Fluid.of('gtceu:concrete 90')) .itemOutputs('gtceu:coke_oven_bricks') .duration(50) From f02c40fc99e1fc4917a036ce0d8891348e936748 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 17 Jan 2026 11:54:53 +0000 Subject: [PATCH 115/474] disable electrolsis of clay this way instead --- kubejs/server_scripts/tfg/primitive/recipes.clay.js | 3 --- kubejs/startup_scripts/gtceu/material_modification.js | 10 +++++----- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.clay.js b/kubejs/server_scripts/tfg/primitive/recipes.clay.js index 9d6db8bbe..5ea2bf0fd 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.clay.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.clay.js @@ -202,9 +202,6 @@ function registerTFGClayRecipes(event) { .EUt(2) // Renewable clay - - event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_clay' }) - event.recipes.gtceu.rock_breaker("clay_duping") .notConsumable('minecraft:clay') .itemOutputs('minecraft:clay') diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 9ac84ed1d..75885b8e7 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -48,7 +48,8 @@ const registerGTCEuMaterialModification = (event) => { GENERATE_FOIL, GENERATE_FINE_WIRE, NO_ORE_PROCESSING_TAB, - NO_ORE_SMELTING + NO_ORE_SMELTING, + DISABLE_DECOMPOSITION } = $MATERIAL_FLAGS const metalTooling = [ @@ -86,6 +87,9 @@ const registerGTCEuMaterialModification = (event) => { GTToolType.CROWBAR, ] + GTMaterials.Clay.addFlags(DISABLE_DECOMPOSITION); + GTMaterials.Brick.addFlags(DISABLE_DECOMPOSITION); + // TFC_PROPERTY = (forging temp, welding temp, melt temp, material, tier, percent of material) // OR = (forging temp, welding temp, melt temp, tier) @@ -451,10 +455,6 @@ const registerGTCEuMaterialModification = (event) => { lyeFluidProperty.getStorage().store($FluidStorageKeys.LIQUID, () => Fluid.of('tfc:lye').fluid, null); GTMaterials.SodiumHydroxide.setProperty(PropertyKey.FLUID, lyeFluidProperty); - //let bismuthFluidProperty = new $FLUID_PROPERTY(); - //bismuthFluidProperty.getStorage().enqueueRegistration($FluidStorageKeys.LIQUID, new $FluidBuilder()); - //GTMaterials.Bismuth.setProperty(PropertyKey.FLUID, bismuthFluidProperty); - // Components and formulas GTMaterials.CertusQuartz.setComponents('1x unknown', '1x silicon', '2x oxygen') GTMaterials.Glowstone.setComponents('1x gold', '1x redstone') From 7df7e733013fd6383c007afede5bc62085c313e1 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 17 Jan 2026 11:55:04 +0000 Subject: [PATCH 116/474] make glowstone mineable with a pick --- 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 5e5e68334..b0b4393fb 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -57,4 +57,5 @@ const registerMinecraftBlockTags = (event) => { // Теперь обсидиан сторадж блок event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') + event.add('minecraft:mineable/pickaxe', 'minecraft:glowstone') } \ No newline at end of file From ed144cb8fe11f57d5b5f8c650e4e3b96cd239c6e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 17 Jan 2026 12:00:45 +0000 Subject: [PATCH 117/474] remove WAB structures --- kubejs/server_scripts/main_server_script.js | 1 + .../server_scripts/wan_ancient_beasts/tags.js | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 237af4431..bca24d1f4 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -133,6 +133,7 @@ ServerEvents.tags('worldgen/biome', event => { registerAdAstraBiomeTags(event) registerCreatePickyWheelsBiomeTags(event) registerTFGBiomeTags(event) + registerWansAncientBeastsBiomeTags(event) }) ServerEvents.tags('entity_type', event => { diff --git a/kubejs/server_scripts/wan_ancient_beasts/tags.js b/kubejs/server_scripts/wan_ancient_beasts/tags.js index 5e5e95e49..1a7c110d4 100644 --- a/kubejs/server_scripts/wan_ancient_beasts/tags.js +++ b/kubejs/server_scripts/wan_ancient_beasts/tags.js @@ -58,4 +58,23 @@ const registerWABEntityTypeTags = (event) => { event.add('wan_ancient_beasts:eater_ignore', 'species:springling') event.add('wan_ancient_beasts:eater_ignore', 'species:quake') +} + +const registerWansAncientBeastsBiomeTags = (event) => { + event.removeAll('wan_ancient_beasts:toxlacanth_spawn'); + event.removeAll('wan_ancient_beasts:has_structure/abandoned_village'); + event.removeAll('wan_ancient_beasts:has_structure/ancient_nest'); + event.removeAll('wan_ancient_beasts:has_structure/dead_coral'); + event.removeAll('wan_ancient_beasts:has_structure/desert_ruins'); + event.removeAll('wan_ancient_beasts:has_structure/digsite_badlands'); + event.removeAll('wan_ancient_beasts:has_structure/digsite_desert'); + event.removeAll('wan_ancient_beasts:has_structure/digsite_icespikes'); + event.removeAll('wan_ancient_beasts:has_structure/digsite_jungle'); + event.removeAll('wan_ancient_beasts:has_structure/digsite_oldgrowthtaiga'); + event.removeAll('wan_ancient_beasts:has_structure/digsite_peaks'); + event.removeAll('wan_ancient_beasts:has_structure/digsite_plains'); + event.removeAll('wan_ancient_beasts:has_structure/digsite_savanna'); + event.removeAll('wan_ancient_beasts:has_structure/digsite_taiga'); + event.removeAll('wan_ancient_beasts:has_structure/ice_spike_castle'); + event.removeAll('wan_ancient_beasts:has_structure/mesa_temple'); } \ No newline at end of file From 9e93ce86022b0cd282a47893c2d91ebd1a9c301b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 17 Jan 2026 12:29:09 +0000 Subject: [PATCH 118/474] #2753 --- CHANGELOG.md | 2 + kubejs/server_scripts/chalk/data.js | 2 + kubejs/server_scripts/chalk/recipes.js | 178 +++++++++++++++++-------- 3 files changed, 125 insertions(+), 57 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 27947abf0..686c47837 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,8 @@ - Added wrapped locometal to gregtech facade blocks (#2726) @Pyritie - Peat can now be turned into creosote @Pyritie - Coke oven bricks now require mortar to craft @Pyritie +- Glowstone can now be quickly broken with a pickaxe/mining hammer @Pyritie +- Added some more knapping recipes for chalk items, improved the durability of others (#2753) @Pyritie ### Bug fixes - Fixed not being able to craft Paracetamol or Rad-Away @Pyritie - Fixed the missing dried fruit to yeast starter recipe (#2673) @Mqrius diff --git a/kubejs/server_scripts/chalk/data.js b/kubejs/server_scripts/chalk/data.js index c2eefba1c..e2790c2dc 100644 --- a/kubejs/server_scripts/chalk/data.js +++ b/kubejs/server_scripts/chalk/data.js @@ -8,4 +8,6 @@ const registerTFCDataForChalk = (evt) => { global.MINECRAFT_DYE_NAMES.forEach(dyeName => { evt.itemHeat(`tfg:wet_${dyeName}_chalk`, 1, null, null, `tfg:heating/wet_${dyeName}_chalk`) }) + + evt.itemHead('tfg:unfired_chalk', 1, null, null, 'tfg:heating/unfired_chalk') } \ No newline at end of file diff --git a/kubejs/server_scripts/chalk/recipes.js b/kubejs/server_scripts/chalk/recipes.js index 8fdd01e3d..8ebe2909d 100644 --- a/kubejs/server_scripts/chalk/recipes.js +++ b/kubejs/server_scripts/chalk/recipes.js @@ -8,65 +8,125 @@ const registerChalkRecipes = (evt) => { evt.remove({ output: "#chalk:chalks" }) evt.shaped('chalk:chalk_box', [ - 'ABA', + 'ABA', ' A ' ], { - A: 'paper', - B: ['tfc:glue'] - }).id('chalk:chalk_box') + A: 'paper', + B: ['tfc:glue'] + }).id('chalk:chalk_box') - // only 1/4 durability remaining + // only 1/2 durability remaining evt.recipes.tfc.knapping( - Item.of('chalk:white_chalk', '{Damage:48}'), - 'tfc:rock', - [ - ' X ', - ' X ', - ' X ', - ' X ', - ' X ' - ] - ).ingredient('tfc:rock/loose/chalk') - .id('tfg:knapping/chalk') - - evt.recipes.tfc.knapping( - Item.of('chalk:light_gray_chalk', '{Damage:48}'), - 'tfc:rock', - [ - ' X ', - ' X ', - ' X ', - ' X ', - ' X ' - ] - ).ingredient('tfc:rock/loose/limestone') - .id('tfg:knapping/limestone_chalk') + Item.of('chalk:white_chalk', '{Damage:32}'), + 'tfc:rock', + [ + 'X', + 'X', + 'X', + 'X', + 'X' + ] + ).ingredient('tfc:rock/loose/chalk') + .outsideSlotRequired(false) + .id('tfg:knapping/chalk') evt.recipes.tfc.knapping( - Item.of('chalk:brown_chalk', '{Damage:48}'), - 'tfc:rock', - [ - ' X ', - ' X ', - ' X ', - ' X ', - ' X ' - ] - ).ingredient('tfg:loose/dripstone') - .id('tfg:knapping/travertine_chalk') + Item.of('chalk:light_gray_chalk'), + 'tfc:rock', + [ + 'X', + 'X', + 'X', + 'X', + 'X' + ] + ).ingredient('tfc:rock/loose/limestone') + .outsideSlotRequired(false) + .id('tfg:knapping/limestone_chalk') evt.recipes.tfc.knapping( - Item.of('chalk:orange_chalk', '{Damage:48}'), - 'tfc:rock', - [ - ' X ', - ' X ', - ' X ', - ' X ', - ' X ' - ] - ).ingredient('tfc:rock/loose/claystone') - .id('tfg:knapping/claystone_chalk') + Item.of('chalk:light_gray_chalk', '{Damage:48}'), + 'tfc:rock', + [ + 'X', + 'X', + 'X', + 'X', + 'X' + ] + ).ingredient('tfc:rock/loose/conglomerate') + .outsideSlotRequired(false) + .id('tfg:knapping/conglomerate_chalk') + + evt.recipes.tfc.knapping( + Item.of('chalk:black_chalk'), + 'tfc:rock', + [ + 'X', + 'X', + 'X', + 'X', + 'X' + ] + ).ingredient('tfc:rock/loose/dolomite') + .outsideSlotRequired(false) + .id('tfg:knapping/dolomite_chalk') + + evt.recipes.tfc.knapping( + Item.of('chalk:gray_chalk'), + 'tfc:rock', + [ + 'X', + 'X', + 'X', + 'X', + 'X' + ] + ).ingredient('tfc:rock/loose/shale') + .outsideSlotRequired(false) + .id('tfg:knapping/shale_chalk') + + evt.recipes.tfc.knapping( + Item.of('chalk:brown_chalk'), + 'tfc:rock', + [ + 'X', + 'X', + 'X', + 'X', + 'X' + ] + ).ingredient('tfg:loose/dripstone') + .outsideSlotRequired(false) + .id('tfg:knapping/travertine_chalk') + + evt.recipes.tfc.knapping( + Item.of('chalk:orange_chalk'), + 'tfc:rock', + [ + 'X', + 'X', + 'X', + 'X', + 'X' + ] + ).ingredient('tfc:rock/loose/claystone') + .outsideSlotRequired(false) + .id('tfg:knapping/claystone_chalk') + + evt.recipes.tfc.knapping( + Item.of('chalk:orange_chalk'), + 'tfc:rock', + [ + 'X', + 'X', + 'X', + 'X', + 'X' + ] + ).ingredient('tfg:loose/mars_stone') + .outsideSlotRequired(false) + .id('tfg:knapping/mars_chalk') //Mix dusts for chalk sticks with clay to make an unfired chalk stick. Greggy or Create lets you use tiny dusts if needed @@ -74,13 +134,17 @@ const registerChalkRecipes = (evt) => { .itemIngredients(["minecraft:clay_ball", "#chalk:dusts_for_chalks"]) .outputItem("tfg:unfired_chalk") .id(`chalk:mixing_bowl/unfired_chalk_stick_from_dust`) - + + + evt.recipes.tfc.heating(`tfg:unfired_chalk`, 700) + .resultItem(`chalk:white_chalk`) + .id(`chalk:heating/undyed_chalk`) global.MINECRAFT_DYE_NAMES.forEach(dyeName => { evt.recipes.tfc.barrel_sealed(1000) - .inputItem('chalk:white_chalk') - .inputFluid(Fluid.of(`tfc:${dyeName}_dye`, 25)) - .outputItem(`chalk:${dyeName}_chalk`) + .inputItem('chalk:white_chalk') + .inputFluid(Fluid.of(`tfc:${dyeName}_dye`, 25)) + .outputItem(`chalk:${dyeName}_chalk`) .id(`chalk:barrel/dye/${dyeName}_chalk`) //gt mixer works as is @@ -100,7 +164,7 @@ const registerChalkRecipes = (evt) => { evt.recipes.create.mixing(`chalk:${dyeName}_chalk`, createIngredients) .heated() .id(`chalk:create_mixer/${dyeName}_chalk_from_dust`); - + //Unfired chalk sticks need to be placed in a barrel full of dye to colorize. Then heated until cured. evt.recipes.tfc.barrel_instant() @@ -111,7 +175,7 @@ const registerChalkRecipes = (evt) => { evt.recipes.tfc.heating(`tfg:wet_${dyeName}_chalk`, 700) .resultItem(`chalk:${dyeName}_chalk`) .id(`chalk:heating/${dyeName}_chalk`) - + evt.smelting( `chalk:${dyeName}_chalk`, `tfg:wet_${dyeName}_chalk` From 5f4a16d8d827bd0206876f5b1212cb1de0a6eef7 Mon Sep 17 00:00:00 2001 From: Petr211071 <55793813+Petr211071@users.noreply.github.com> Date: Sat, 17 Jan 2026 15:42:59 +0300 Subject: [PATCH 119/474] Ru ru translation (#2758) * Sticky resin * Add lang files and translation for irrigation * TFG's AFC chapter tranlastion * ArborFirmaCraft and Rnr * Some translation * Fix outdated chapter --------- Signed-off-by: Petr211071 <55793813+Petr211071@users.noreply.github.com> --- .../entries/getting_started/finding_ores.json | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/getting_started/finding_ores.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/getting_started/finding_ores.json index 88bda084f..9ebe38576 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/getting_started/finding_ores.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/getting_started/finding_ores.json @@ -60,16 +60,21 @@ { "type": "patchouli:text", "anchor": "casting", - "text": "В TerraFirmaCraft руды содержат определённое количество $(thing)единиц$(), или $(thing)мБ (миллибакетов)$() фактического металла, который можно извлечь. Такие маленькие руды, найденные на поверхности, являются рудами самого низкого качества и обеспечивают только $(thing)10 мБ$() металла. Чтобы извлечь этот металл, его нужно $(thing)расплавить$(), и изготовить из него инструменты с помощью процесса, называемого $(thing)литьём$().", + "text": "В TerraFirmaCraft руды содержат определённое количество $(thing)единиц$(), или $(thing)мБ (миллибакетов)$() фактического металла, который можно извлечь. Такие маленькие руды, найденные на поверхности, являются рудами самого низкого качества и обеспечивают только $(thing)16 мБ$() металла. Чтобы извлечь этот металл, его нужно $(thing)расплавить$(), и изготовить из него инструменты с помощью процесса, называемого $(thing)литьём$().", "title": "Литьё" }, { "type": "patchouli:text", - "text": "Вам понадобится: $(br)$(li)$(l:getting_started/pottery#vessel)Маленький сосуд$()$(li)Достаточно материалов для $(l:getting_started/pit_kiln)Земляной печи$().$(li)Одна или несколько $(l:getting_started/pottery#mold)Форм(ы)$() для заливки расплавленного металла.$(li)И, наконец, как минимум 100 мБ металла, подходящего для литья: $(thing)медь$(), в одной или нескольких её рудных формах.$(br2)$(br)$(italic)Примечание: Литьё также можно проводить с некоторыми $(l:getting_started/primitive_alloys)Сплавами$()" + "text": "Вам понадобится: $(br)$(li)$(l:getting_started/pottery#vessel)Cосуд$()$(li)Достаточно материалов для $(l:getting_started/pit_kiln)Земляной печи$().$(li)Одна или несколько $(l:getting_started/pottery#mold)Форм$() для заливки расплавленного металла.$(li)И, наконец, как минимум 144 мБ металла, подходящего для литья: $(thing)медь$(), в одной или нескольких её рудных формах.$(br2)$(br)$(italic)Примечание: Литьё также можно проводить с некоторыми $(l:getting_started/primitive_alloys)Сплавами$()" + }, + { + "type": "patchouli:crafting", + "recipe": "tfchotornot:crafting/tongs/wood", + "text": "Осторожно, сосуд будет горячим! Скрафти $(thing)Деревянные клещи$() с помощью двух палок и ножа и возьми их во вторую руку, чтобы безопасно держать горячий сосуд." }, { "type": "patchouli:text", - "text": "Сначала откройте $(thing)Маленький сосуд$() и поместите в него руды. Тщательно подсчитайте общее количество металла в рудах! Затем вам нужно построить $(l:getting_started/pit_kiln)Земляную печь$() с заполненным маленьким сосудом внутри. По мере нагрева сосуда руды внутри него расплавятся, и у вас останется сосуд с расплавленным металлом.$(br2)Выньте сосуд и $(item)$(k:key.use)$() его, чтобы открыть $(thing)Интерфейс литья$()." + "text": "Сначала откройте $(thing)Cосуд$() и поместите в него руды. Тщательно подсчитайте общее количество металла в рудах! Затем вам нужно построить $(l:getting_started/pit_kiln)Земляную печь$() с заполненным маленьким сосудом внутри. По мере нагрева сосуда руды внутри него расплавятся, и у вас останется сосуд с расплавленным металлом.$(br2)Выньте сосуд и $(item)$(k:key.use)$() его, чтобы открыть $(thing)Интерфейс литья$()." }, { "type": "patchouli:image", @@ -86,8 +91,19 @@ { "type": "patchouli:crafting", "recipe": "tfc:crafting/metal/pickaxe/copper", - "text": "С головкой инструмента в руке вы теперь можете сделать свою первую кирку! Найдите достаточно меди для изготовления головки кирки, обожгите форму для кирки и расплавьте руду в земляной печи, затем отлейте головку. Прикрепите её к палке, и вуаля!" + "text": "С головкой инструмента в руке вы теперь можете сделать свою первую кирку! Найдите достаточно меди для изготовления головки кирки, обожгите форму для кирки и расплавьте руду в земляной печи, затем отлейте головку. Прикрепите её к палке, и вуаля! Теперь ты можешь копать $(l:tfg_ores/index)руду$()." + }, + { + "type": "patchouli:spotlight", + "item": "tfc:metal/chisel/copper", + "text": "Парочку других полезных металлических инструментов теперь доступны для прогрессии.$(l:mechanics/chisel)Зубило$() полезно для работы с каменными блоками для строительства и других рецептов." + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:copper_saw", + "text": "Пила позволяет тебе перерабатывать брёвна в $(l:mechanics/support_beams)опоры$() и $(thing)доски$(), которые могут быть использованы для крафта блоков досок, верстака, бочек и сундуков, помимо других вещей. Также она полезна для создания $(l:firmaciv/canoe)каноэ$()." } + ], "read_by_default": true, "sortnum": 4 From 98cd6a74f1a494c2d0bd9d653b654a8ac934e8c0 Mon Sep 17 00:00:00 2001 From: awfulworldkid Date: Sat, 17 Jan 2026 10:39:18 -0500 Subject: [PATCH 120/474] Adds new AE2 smart cable recipe & changes AE2 items to use smart cables (#2756) * Add smart cable recipe & change recipes to use smart cables Signed-off-by: awfulworldkid * Change a recipe from cable to smart cable Signed-off-by: awfulworldkid * fix smart cable recipes to use tag Signed-off-by: awfulworldkid * see above fix Signed-off-by: awfulworldkid --------- Signed-off-by: awfulworldkid --- kubejs/server_scripts/ae2/recipes.js | 43 +++++++++++++-------- kubejs/server_scripts/mega_cells/recipes.js | 2 +- 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/kubejs/server_scripts/ae2/recipes.js b/kubejs/server_scripts/ae2/recipes.js index de386e5f0..8e464897b 100644 --- a/kubejs/server_scripts/ae2/recipes.js +++ b/kubejs/server_scripts/ae2/recipes.js @@ -59,7 +59,7 @@ const registerAE2Recipes = (event) => { ], { A: 'ae2:wireless_receiver', B: 'ae2:calculation_processor', - C: '#ae2:glass_cable', + C: '#ae2:smart_cable', }).addMaterialInfo().id('tfg:crafting/wireless_access_point') // Wireless Receiver @@ -68,7 +68,7 @@ const registerAE2Recipes = (event) => { 'CDC', 'AEA' ], { - A: '#ae2:glass_cable', + A: '#ae2:smart_cable', B: 'ae2:fluix_pearl', C: 'gtceu:ev_sensor', D: '#forge:rods/titanium', @@ -94,7 +94,7 @@ const registerAE2Recipes = (event) => { ' A ' ], { A: '#forge:plates/red_alloy', - B: '#ae2:glass_cable', + B: '#ae2:smart_cable', C: 'minecraft:lever' }).addMaterialInfo().id('tfg:crafting/toggle_bus') @@ -297,7 +297,7 @@ const registerAE2Recipes = (event) => { ' A ' ], { A: '#forge:plates/steel', - B: '#ae2:glass_cable', + B: '#ae2:smart_cable', C: 'minecraft:redstone_torch', D: 'ae2:calculation_processor', }).addMaterialInfo().id('tfg:crafting/level_emitter') @@ -309,7 +309,7 @@ const registerAE2Recipes = (event) => { ' A ' ], { A: '#forge:plates/steel', - B: '#ae2:glass_cable', + B: '#ae2:smart_cable', C: 'minecraft:redstone_torch', D: 'ae2:calculation_processor', E: 'ae2:charged_certus_quartz_crystal' @@ -346,7 +346,7 @@ const registerAE2Recipes = (event) => { ], { A: '#forge:plates/stainless_steel', B: '#gtceu:circuits/mv', - C: '#ae2:glass_cable', + C: '#ae2:smart_cable', D: 'gtceu:aluminium_crate', E: 'ae2:terminal' }).addMaterialInfo().id('tfg:crafting/me_chest') @@ -359,7 +359,7 @@ const registerAE2Recipes = (event) => { ], { A: '#forge:plates/steel', B: 'ae2:engineering_processor', - C: '#ae2:glass_cable', + C: '#ae2:smart_cable', D: '#gtceu:circuits/mv', E: '#forge:plates/titanium' }).addMaterialInfo().id('tfg:crafting/drive') @@ -371,7 +371,7 @@ const registerAE2Recipes = (event) => { ], { A: '#forge:plates/steel', B: 'ae2:engineering_processor', - C: '#ae2:glass_cable', + C: '#ae2:smart_cable', D: '#gtceu:circuits/mv', E: 'minecraft:shulker_shell' }).id('tfg:crafting/drive_shulker') @@ -383,7 +383,7 @@ const registerAE2Recipes = (event) => { 'ABA' ], { A: '#forge:plates/glass', - B: '#ae2:glass_cable', + B: '#ae2:smart_cable', C: '#forge:dusts/fluix', D: '#forge:gems/fluix', }).addMaterialInfo().id('tfg:crafting/spatial_pylon') @@ -396,7 +396,7 @@ const registerAE2Recipes = (event) => { ], { A: '#forge:plates/glass', B: 'ae2:drive', - C: '#ae2:glass_cable', + C: '#ae2:smart_cable', D: '#forge:plates/titanium', E: 'ae2:engineering_processor' }).addMaterialInfo().id('tfg:crafting/io_port') @@ -408,7 +408,7 @@ const registerAE2Recipes = (event) => { ], { A: '#forge:plates/glass', B: 'ae2:drive', - C: '#ae2:glass_cable', + C: '#ae2:smart_cable', D: 'minecraft:shulker_shell', E: 'ae2:engineering_processor' }).id('tfg:crafting/io_port_shulker') @@ -420,7 +420,7 @@ const registerAE2Recipes = (event) => { 'DED' ], { A: '#forge:plates/glass', - B: '#ae2:glass_cable', + B: '#ae2:smart_cable', C: 'ae2:io_port', D: '#forge:plates/titanium', E: 'ae2:engineering_processor' @@ -432,7 +432,7 @@ const registerAE2Recipes = (event) => { 'DED' ], { A: '#forge:plates/glass', - B: '#ae2:glass_cable', + B: '#ae2:smart_cable', C: 'ae2:io_port', D: 'minecraft:shulker_shell', E: 'ae2:engineering_processor' @@ -739,6 +739,15 @@ const registerAE2Recipes = (event) => { .circuit(2) .duration(10) .EUt(480) + + event.recipes.gtceu.assembler('fluix_smart_cable_from_covered') + .itemInputs( + '4x ae2:fluix_covered_cable', + '#forge:dusts/redstone') + .itemOutputs('4x ae2:fluix_smart_cable') + .circuit(1) + .duration(10) + .EUt(480) // Covered dense cable @@ -1146,7 +1155,7 @@ const registerAE2Recipes = (event) => { event.recipes.gtceu.assembler('ae2:level_emitter') .itemInputs( 'minecraft:redstone_torch', - '#ae2:glass_cable', + '#ae2:smart_cable', '#forge:plates/steel', 'ae2:calculation_processor') .itemOutputs('ae2:level_emitter') @@ -1160,7 +1169,7 @@ const registerAE2Recipes = (event) => { .itemInputs( '#ae2:interface', '2x gtceu:mv_electric_piston', - '#ae2:glass_cable') + '#ae2:smart_cable') .inputFluids(Fluid.of('tfg:fluix', 144)) .itemOutputs('ae2:storage_bus') .circuit(1) @@ -1174,7 +1183,7 @@ const registerAE2Recipes = (event) => { '#forge:plates/wrought_iron', 'ae2:annihilation_core', '2x gtceu:mv_robot_arm', - '#ae2:glass_cable') + '#ae2:smart_cable') .inputFluids(Fluid.of('tfg:fluix', 144)) .itemOutputs('ae2:import_bus') .circuit(2) @@ -1188,7 +1197,7 @@ const registerAE2Recipes = (event) => { '#forge:plates/wrought_iron', 'ae2:formation_core', '2x gtceu:mv_robot_arm', - '#ae2:glass_cable') + '#ae2:smart_cable') .inputFluids(Fluid.of('tfg:fluix', 144)) .itemOutputs('ae2:export_bus') .circuit(3) diff --git a/kubejs/server_scripts/mega_cells/recipes.js b/kubejs/server_scripts/mega_cells/recipes.js index c6e37506f..90a7969d2 100644 --- a/kubejs/server_scripts/mega_cells/recipes.js +++ b/kubejs/server_scripts/mega_cells/recipes.js @@ -113,7 +113,7 @@ const registerMegaCellsRecipes = (event) => { ], { A: '#forge:plates/steel', B: 'ae2:engineering_processor', - C: '#ae2:glass_cable', + C: '#ae2:smart_cable', D: '#gtceu:circuits/lv', }).addMaterialInfo().id('tfg:crafting/megacells_cell_dock') From 05738e334c87ff7a97a259e2e1dfbf71b247b965 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 18 Jan 2026 00:56:44 +0000 Subject: [PATCH 121/474] removing the glowing from framed glowstone --- defaultconfigs/framedblocks-server.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaultconfigs/framedblocks-server.toml b/defaultconfigs/framedblocks-server.toml index 6e5137517..4cf51958c 100644 --- a/defaultconfigs/framedblocks-server.toml +++ b/defaultconfigs/framedblocks-server.toml @@ -12,5 +12,5 @@ consumeCamoItem = true #The light level to emit when glowstone dust is applied to a framed block #Range: 0 ~ 15 - glowstoneLightLevel = 15 + glowstoneLightLevel = 3 From 7adc25e104613ae63be124a2fd0c063726c4ad60 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Sat, 17 Jan 2026 22:04:44 -0600 Subject: [PATCH 122/474] little typo Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- kubejs/server_scripts/chalk/data.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/chalk/data.js b/kubejs/server_scripts/chalk/data.js index e2790c2dc..0287b7374 100644 --- a/kubejs/server_scripts/chalk/data.js +++ b/kubejs/server_scripts/chalk/data.js @@ -9,5 +9,5 @@ const registerTFCDataForChalk = (evt) => { evt.itemHeat(`tfg:wet_${dyeName}_chalk`, 1, null, null, `tfg:heating/wet_${dyeName}_chalk`) }) - evt.itemHead('tfg:unfired_chalk', 1, null, null, 'tfg:heating/unfired_chalk') -} \ No newline at end of file + evt.itemHeat('tfg:unfired_chalk', 1, null, null, 'tfg:heating/unfired_chalk') +} From 77c9aa2f4616232cb7de604f22a4985cab7e2c9b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 18 Jan 2026 11:48:26 +0000 Subject: [PATCH 123/474] fix typo, my bad gang --- kubejs/server_scripts/chalk/data.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/chalk/data.js b/kubejs/server_scripts/chalk/data.js index e2790c2dc..0e0e2e549 100644 --- a/kubejs/server_scripts/chalk/data.js +++ b/kubejs/server_scripts/chalk/data.js @@ -9,5 +9,5 @@ const registerTFCDataForChalk = (evt) => { evt.itemHeat(`tfg:wet_${dyeName}_chalk`, 1, null, null, `tfg:heating/wet_${dyeName}_chalk`) }) - evt.itemHead('tfg:unfired_chalk', 1, null, null, 'tfg:heating/unfired_chalk') + evt.itemHeat('tfg:unfired_chalk', 1, null, null, 'tfg:heating/unfired_chalk') } \ No newline at end of file From ba38ab65d77cacd5983a7d343f1aff8edb19654e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 18 Jan 2026 13:04:57 +0000 Subject: [PATCH 124/474] fix charnia --- kubejs/server_scripts/firmalife/recipes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 25ebbc211..e12232d36 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -398,7 +398,7 @@ const registerFirmaLifeRecipes = (event) => { event.shaped('firmalife:drying_mat', ['AAA'], { A: 'tfc:plant/leafy_kelp' }).id('tfg:shaped/drying_mat_leafy_kelp') event.shaped('firmalife:drying_mat', ['AAA'], { A: 'tfc:plant/winged_kelp' }).id('tfg:shaped/drying_mat_winged_kelp') - event.shaped('firmalife:drying_mat', ['AAA'], { A: 'tfg:charnia' }).id('tfg:shaped/drying_mat_charnia') + event.shaped('firmalife:drying_mat', ['AAA'], { A: '#tfg:charnia' }).id('tfg:shaped/drying_mat_charnia') // #endregion From 7df74b47b32e105ff26557d334dc0e7b689613e5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 18 Jan 2026 14:30:55 +0000 Subject: [PATCH 125/474] fixed recycling issues from the material rewrite, updated everything to the new recycling helper method --- kubejs/server_scripts/create/recipes.js | 51 ++++++------ kubejs/server_scripts/createdeco/recipes.js | 36 ++++----- kubejs/server_scripts/greate/recipes.js | 64 +++++++-------- .../server_scripts/greate/recipes.removes.js | 1 + .../gregtech/recipes.recycling.js | 80 +++++++++---------- kubejs/server_scripts/tfcbetterbf/recipes.js | 14 +--- .../tfg/machines/recipes.molds.js | 30 +------ .../recipes.material_tag_prefixes.js | 18 +---- .../ores_and_materials/recipes.materials.js | 24 +----- .../tfg/recipes.miscellaneous.js | 4 +- .../vintage_improvements/recipes.js | 6 +- 11 files changed, 126 insertions(+), 202 deletions(-) diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 0d18febee..6258d640e 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -288,7 +288,7 @@ const registerCreateRecipes = (event) => { .circuit(1) .EUt(GTValues.VA[GTValues.ULV]) - TFGHelpers.registerMaterialInfo('create:hose_pulley', { 'copper': 3 }); + TFGHelpers.registerMaterialInfo('create:hose_pulley', [GTMaterials.Copper, 3, GTMaterials.Rubber, 1/8]); // Слив из предметов event.shaped('create:item_drain', [ @@ -416,7 +416,7 @@ const registerCreateRecipes = (event) => { .EUt(GTValues.VA[GTValues.ULV]) .circuit(22) - TFGHelpers.registerMaterialInfo('create:rope_pulley', { 'wood': 1, 'wrought_iron': 2 }); + TFGHelpers.registerMaterialInfo('create:rope_pulley', [GTMaterials.Wood, 1, GTMaterials.WroughtIron, 2]); // Шкиф подъемника event.shaped('create:elevator_pulley', [ @@ -438,7 +438,7 @@ const registerCreateRecipes = (event) => { .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - TFGHelpers.registerMaterialInfo('create:elevator_pulley', { 'wood': 1, 'brass': 1, 'steel': 1 }); + TFGHelpers.registerMaterialInfo('create:elevator_pulley', [GTMaterials.Wood, 1, GTMaterials.Brass, 1, GTMaterials.Steel, 1]); // Сборщик вагонеток event.shaped('create:cart_assembler', [ @@ -528,7 +528,7 @@ const registerCreateRecipes = (event) => { .EUt(GTValues.VA[GTValues.ULV]) .circuit(19) - TFGHelpers.registerMaterialInfo('create:mechanical_drill', { 'wood': 1, 'steel': 4, 'wrought_iron': 3 }); + TFGHelpers.registerMaterialInfo('create:mechanical_drill', [GTMaterials.Wood, 1, GTMaterials.Steel, 4, GTMaterials.WroughtIron, 3]); event.shaped('create:mechanical_roller', [ 'GBG', @@ -551,7 +551,7 @@ const registerCreateRecipes = (event) => { .EUt(GTValues.VA[GTValues.ULV]) .circuit(20) - TFGHelpers.registerMaterialInfo('create:mechanical_roller', { 'wood': 1,'wrought_iron': 4 }); + TFGHelpers.registerMaterialInfo('create:mechanical_roller', [GTMaterials.Wood, 1, GTMaterials.WroughtIron, 4]); // Редстоуновый контакт event.shaped('2x create:redstone_contact', [ @@ -595,7 +595,7 @@ const registerCreateRecipes = (event) => { .duration(200) .EUt(20) - TFGHelpers.registerMaterialInfo('create:mechanical_harvester', { 'wood': 1, 'wrought_iron': 3 }); + TFGHelpers.registerMaterialInfo('create:mechanical_harvester', [GTMaterials.Wood, 1, GTMaterials.WroughtIron, 3]); // Механический плуг event.shaped('create:mechanical_plough', [ @@ -618,7 +618,7 @@ const registerCreateRecipes = (event) => { .duration(200) .EUt(20) - TFGHelpers.registerMaterialInfo('create:mechanical_plough', { 'wood': 1, 'wrought_iron': 3 }); + TFGHelpers.registerMaterialInfo('create:mechanical_plough', [GTMaterials.Wood, 1, GTMaterials.WroughtIron, 3]); // Create sail creation using custom sail items. @@ -828,7 +828,7 @@ const registerCreateRecipes = (event) => { .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - TFGHelpers.registerMaterialInfo('create:andesite_funnel', { 'wrought_iron': 1 }); + TFGHelpers.registerMaterialInfo('create:andesite_funnel', [GTMaterials.WroughtIron, 1]); // Умный раздатчик/приемник из латуни event.shaped('2x create:brass_funnel', [ @@ -869,7 +869,7 @@ const registerCreateRecipes = (event) => { .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - TFGHelpers.registerMaterialInfo('create:brass_funnel', { 'brass': 1 }); + TFGHelpers.registerMaterialInfo('create:brass_funnel', [GTMaterials.Brass, 1]); // Тунель из железа event.shaped('create:andesite_tunnel', [ @@ -906,7 +906,7 @@ const registerCreateRecipes = (event) => { .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - TFGHelpers.registerMaterialInfo('create:andesite_tunnel', { 'wrought_iron': 1 }); + TFGHelpers.registerMaterialInfo('create:andesite_tunnel', [GTMaterials.WroughtIron, 1]); // Тунель из латуни event.shaped('create:brass_tunnel', [ @@ -945,7 +945,7 @@ const registerCreateRecipes = (event) => { .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - TFGHelpers.registerMaterialInfo('create:brass_tunnel', { 'brass': 1 }); + TFGHelpers.registerMaterialInfo('create:brass_tunnel', [GTMaterials.Brass, 1]); // Дисплей столешница (чзх) event.shaped('create:display_board', [ @@ -1015,7 +1015,7 @@ const registerCreateRecipes = (event) => { .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - TFGHelpers.registerMaterialInfo('create:deployer', { 'brass': 12/9, 'wrought_iron': 8 }); + TFGHelpers.registerMaterialInfo('create:deployer', [GTMaterials.Brass, 12/9, GTMaterials.WroughtIron, 8]); // Соединятор вагонеток event.shapeless('create:minecart_coupling', [ @@ -1242,7 +1242,7 @@ const registerCreateRecipes = (event) => { A: '#forge:rods/tin_alloy' }).id('tfg:create/shaped/andesite_ladder') - TFGHelpers.registerMaterialInfo('create:andesite_ladder', { 'tin_alloy': 0.5 }) + TFGHelpers.registerMaterialInfo('create:andesite_ladder', [GTMaterials.TinAlloy, 0.5]) // Лестница из латуни event.shaped('7x create:brass_ladder', [ @@ -1253,7 +1253,7 @@ const registerCreateRecipes = (event) => { A: '#forge:rods/brass' }).id('tfg:create/shaped/brass_ladder') - TFGHelpers.registerMaterialInfo('create:brass_ladder', { 'brass': 0.5 }) + TFGHelpers.registerMaterialInfo('create:brass_ladder', [GTMaterials.Brass, 0.5]) // Лестница из железа event.shaped('7x create:copper_ladder', [ @@ -1264,7 +1264,7 @@ const registerCreateRecipes = (event) => { A: '#forge:rods/copper' }).id('tfg:create/shaped/copper_ladder') - TFGHelpers.registerMaterialInfo('create:copper_ladder', { 'copper': 0.5 }) + TFGHelpers.registerMaterialInfo('create:copper_ladder', [GTMaterials.Copper, 0.5]) // Леса из железа event.shaped('4x create:andesite_scaffolding', [ @@ -1563,7 +1563,7 @@ const registerCreateRecipes = (event) => { .EUt(GTValues.VA[GTValues.ULV]) .circuit(1) - TFGHelpers.registerMaterialInfo('create:windmill_bearing', { 'wood': 1.5, 'brass': 1, 'wrought_iron': 1 }); + TFGHelpers.registerMaterialInfo('create:windmill_bearing', [GTMaterials.Wood, 1.5, GTMaterials.Brass, 1, GTMaterials.WroughtIron, 1]); // #endregion @@ -2085,7 +2085,7 @@ const registerCreateRecipes = (event) => { .EUt(GTValues.VA[GTValues.ULV]) .circuit(17) - TFGHelpers.registerMaterialInfo('create:redstone_link', { 'wrought_iron': 3 }); + TFGHelpers.registerMaterialInfo('create:redstone_link', [GTMaterials.WroughtIron, 3]); event.shaped('create:display_link', [ 'FED', @@ -2127,6 +2127,8 @@ const registerCreateRecipes = (event) => { .duration(50) .EUt(GTValues.VA[GTValues.ULV]) + TFGHelpers.registerMaterialInfo('create:rotation_speed_controller', [GTMaterials.Wood, 1, GTMaterials.Brass, 3, GTMaterials.RedAlloy, 1]); + event.shaped('create:pulse_timer', [ 'E E', 'ABC', @@ -2167,7 +2169,7 @@ const registerCreateRecipes = (event) => { .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - TFGHelpers.registerMaterialInfo('create:sequenced_gearshift', { 'wood': 1, 'steel': 4, 'wrought_iron': 3 }); + TFGHelpers.registerMaterialInfo('create:sequenced_gearshift', [GTMaterials.Wood, 1, GTMaterials.Steel, 4, GTMaterials.WroughtIron, 3]); event.shaped('create:mechanical_bearing', [ 'CBE', @@ -2189,7 +2191,7 @@ const registerCreateRecipes = (event) => { .EUt(GTValues.VA[GTValues.ULV]) .circuit(15) - TFGHelpers.registerMaterialInfo('create:mechanical_bearing', { 'wood': 1, 'wrought_iron': 2 }); + TFGHelpers.registerMaterialInfo('create:mechanical_bearing', [GTMaterials.Wood, 1, GTMaterials.WroughtIron, 2]); event.shaped('create:gantry_carriage', [ 'DCE', @@ -2211,7 +2213,7 @@ const registerCreateRecipes = (event) => { .EUt(GTValues.VA[GTValues.ULV]) .circuit(2) - TFGHelpers.registerMaterialInfo('create:gantry_carriage', { 'wood': 1.5, 'wrought_iron': 1 }); + TFGHelpers.registerMaterialInfo('create:gantry_carriage', [GTMaterials.Wood, 1, GTMaterials.WroughtIron, 1]); event.shaped('create:weighted_ejector', [ ' B ', @@ -2233,7 +2235,7 @@ const registerCreateRecipes = (event) => { .circuit(16) .addMaterialInfo(true) - TFGHelpers.registerMaterialInfo('create:gantry_carriage', { 'wood': 1, 'wrought_iron': 3 }); + TFGHelpers.registerMaterialInfo('create:gantry_carriage', [GTMaterials.Wood, 1, GTMaterials.WroughtIron, 3]); event.shaped('create:turntable', [ 'DA ', @@ -2271,7 +2273,7 @@ const registerCreateRecipes = (event) => { .EUt(GTValues.VA[GTValues.ULV]) .addMaterialInfo(true) - TFGHelpers.registerMaterialInfo('create:gearshift', { 'wood': 1, 'wrought_iron': 1, 'redstone': 1 }); + TFGHelpers.registerMaterialInfo('create:gearshift', [GTMaterials.Wood, 1, GTMaterials.WroughtIron, 1, GTMaterials.Redstone, 1]); event.shaped('create:clutch', [ ' C ', @@ -2387,13 +2389,10 @@ const registerCreateRecipes = (event) => { ]; create_metals.forEach(bar => { - let quarterMap = {}; - quarterMap[bar.material] = 0.25; - event.recipes.tfc.anvil(`4x create:${bar.metal}_bars`, `#forge:ingots/${bar.material}`, ['upset_last', 'punch_second_last', 'punch_third_last']) .tier(bar.tier).id(`tfg:anvil/create_${bar.metal}_bars`) - TFGHelpers.registerMaterialInfo(`create:${bar.metal}_bars`, quarterMap) + TFGHelpers.registerMaterialInfo(`create:${bar.metal}_bars`, [GTMaterials.get(bar.material), 0.25]) event.recipes.tfc.anvil(`8x create:${bar.metal}_bars`, `#forge:double_ingots/${bar.material}`, ['upset_last', 'punch_second_last', 'punch_third_last']) .tier(bar.tier).id(`tfg:anvil/create_${bar.metal}_bars_double`) diff --git a/kubejs/server_scripts/createdeco/recipes.js b/kubejs/server_scripts/createdeco/recipes.js index 1833b692b..81d86924e 100644 --- a/kubejs/server_scripts/createdeco/recipes.js +++ b/kubejs/server_scripts/createdeco/recipes.js @@ -240,8 +240,6 @@ 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 @@ -252,7 +250,7 @@ const registerCreatedecoRecipes = (event) => { event.stonecutting(`4x createdeco:${bar.metal}_bars`, `#forge:ingots/${bar.material}`) - TFGHelpers.registerMaterialInfo(`createdeco:${bar.metal}_bars`, quarterMap) + TFGHelpers.registerMaterialInfo(`createdeco:${bar.metal}_bars`, [GTMaterials.get(bar.material), 0.25]) event.recipes.tfc.anvil(`8x createdeco:${bar.metal}_bars`, `#forge:double_ingots/${bar.material}`, ['upset_last', 'punch_second_last', 'punch_third_last']) .tier(bar.tier).id(`tfg:anvil/createdeco_${bar.metal}_bars_double`) @@ -269,7 +267,7 @@ const registerCreatedecoRecipes = (event) => { let twoMap = {}; twoMap[bar.material] = 2; - TFGHelpers.registerMaterialInfo(`createdeco:${bar.metal}_door`, twoMap) + TFGHelpers.registerMaterialInfo(`createdeco:${bar.metal}_door`, [GTMaterials.get(bar.material), 2]) } // Overlay bars @@ -283,7 +281,7 @@ const registerCreatedecoRecipes = (event) => { event.recipes.tfc.anvil(`8x createdeco:${bar.metal}_bars_overlay`, `#forge:double_ingots/${bar.material}`, ['upset_last', 'punch_second_last', 'punch_third_last']) .tier(bar.tier).id(`tfg:anvil/createdeco_${bar.metal}_bars_overlay_double`) - TFGHelpers.registerMaterialInfo(`createdeco:${bar.metal}_bars_overlay`, quarterMap) + TFGHelpers.registerMaterialInfo(`createdeco:${bar.metal}_bars_overlay`, [GTMaterials.get(bar.material), 0.25]) // Facade event.shaped(`4x createdeco:${bar.metal}_facade`, [ @@ -302,11 +300,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 }) + TFGHelpers.registerMaterialInfo('createdeco:copper_trapdoor', [GTMaterials.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 }) + TFGHelpers.registerMaterialInfo('createdeco:industrial_iron_trapdoor', [GTMaterials.Steel, 1]) // TODO: move these two into the tag prefixes in tfg-core, then remove these recipes @@ -328,7 +326,7 @@ const registerCreatedecoRecipes = (event) => { .duration(GTMaterials.Brass.getMass()) .EUt(GTValues.VA[GTValues.ULV]) - TFGHelpers.registerMaterialInfo('createdeco:brass_trapdoor', { 'brass': 1 }) + TFGHelpers.registerMaterialInfo('createdeco:brass_trapdoor', [GTMaterials.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`) @@ -348,7 +346,7 @@ const registerCreatedecoRecipes = (event) => { .duration(GTMaterials.Zinc.getMass()) .EUt(GTValues.VA[GTValues.ULV]) - TFGHelpers.registerMaterialInfo('createdeco:zinc_trapdoor', { 'zinc': 1 }) + TFGHelpers.registerMaterialInfo('createdeco:zinc_trapdoor', [GTMaterials.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`) @@ -368,7 +366,7 @@ const registerCreatedecoRecipes = (event) => { .duration(GTMaterials.TinAlloy.getMass()) .EUt(GTValues.VA[GTValues.ULV]) - TFGHelpers.registerMaterialInfo('createdeco:andesite_trapdoor', { 'tin_alloy': 1 }) + TFGHelpers.registerMaterialInfo('createdeco:andesite_trapdoor', [GTMaterials.TinAlloy, 1]) // #endregion @@ -475,7 +473,7 @@ const registerCreatedecoRecipes = (event) => { event.stonecutting('2x createdeco:iron_ladder', '#forge:ingots/wrought_iron') - TFGHelpers.registerMaterialInfo('createdeco:iron_ladder', { 'wrought_iron': 0.5 }) + TFGHelpers.registerMaterialInfo('createdeco:iron_ladder', [GTMaterials.WroughtIron, 0.5]) event.shaped('7x createdeco:zinc_ladder', [ 'A A', @@ -485,7 +483,7 @@ const registerCreatedecoRecipes = (event) => { A: '#forge:rods/zinc' }).id('tfg:createdeco/shaped/zinc_ladder') - TFGHelpers.registerMaterialInfo('createdeco:zinc_ladder', { 'zinc': 0.5 }) + TFGHelpers.registerMaterialInfo('createdeco:zinc_ladder', [GTMaterials.Zinc, 0.5]) event.shaped('7x createdeco:industrial_iron_ladder', [ 'A A', @@ -495,7 +493,7 @@ const registerCreatedecoRecipes = (event) => { A: '#forge:rods/steel' }).id('tfg:createdeco/shaped/industrial_iron_ladder') - TFGHelpers.registerMaterialInfo('createdeco:industrial_iron_ladder', { 'steel': 0.5 }) + TFGHelpers.registerMaterialInfo('createdeco:industrial_iron_ladder', [GTMaterials.Steel, 0.5]) // #endregion @@ -534,17 +532,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 }) + TFGHelpers.registerMaterialInfo('createdeco:andesite_sheet_metal', [GTMaterials.TinAlloy, 0.25]) event.stonecutting('4x createdeco:brass_sheet_metal', '#forge:plates/brass') - TFGHelpers.registerMaterialInfo('createdeco:brass_sheet_metal', { 'brass': 0.25 }) + TFGHelpers.registerMaterialInfo('createdeco:brass_sheet_metal', [GTMaterials.Brass, 0.25]) event.stonecutting('4x createdeco:iron_sheet_metal', '#forge:plates/wrought_iron') - TFGHelpers.registerMaterialInfo('createdeco:iron_sheet_metal', { 'wrought_iron': 0.25 }) + TFGHelpers.registerMaterialInfo('createdeco:iron_sheet_metal', [GTMaterials.WroughtIron, 0.25]) event.stonecutting('4x createdeco:copper_sheet_metal', '#forge:plates/copper') - TFGHelpers.registerMaterialInfo('createdeco:copper_sheet_metal', { 'copper': 0.25 }) + TFGHelpers.registerMaterialInfo('createdeco:copper_sheet_metal', [GTMaterials.Copper, 0.25]) event.stonecutting('4x createdeco:industrial_iron_sheet_metal', '#forge:plates/steel') - TFGHelpers.registerMaterialInfo('createdeco:industrial_iron_sheet_metal', { 'steel': 0.25 }) + TFGHelpers.registerMaterialInfo('createdeco:industrial_iron_sheet_metal', [GTMaterials.Steel, 0.25]) event.stonecutting('4x createdeco:zinc_sheet_metal', '#forge:plates/zinc') - TFGHelpers.registerMaterialInfo('createdeco:zinc_sheet_metal', { 'zinc': 0.25 }) + TFGHelpers.registerMaterialInfo('createdeco:zinc_sheet_metal', [GTMaterials.Zinc, 0.25]) // #endregion }; diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js index 2f48a8e4f..aa6173590 100644 --- a/kubejs/server_scripts/greate/recipes.js +++ b/kubejs/server_scripts/greate/recipes.js @@ -121,20 +121,20 @@ function registerGreateRecipes(event) { }) - TFGHelpers.registerMaterialInfo('greate:andesite_alloy_gearbox', { 'wood': 1, 'wrought_iron': 1 }); - TFGHelpers.registerMaterialInfo('greate:andesite_alloy_vertical_gearbox', { 'wood': 1, 'wrought_iron': 1 }); + TFGHelpers.registerMaterialInfo('greate:andesite_alloy_gearbox', [GTMaterials.Wood, 1, GTMaterials.WroughtIron, 1]); + TFGHelpers.registerMaterialInfo('greate:andesite_alloy_vertical_gearbox', [GTMaterials.Wood, 1, GTMaterials.WroughtIron, 1]); - TFGHelpers.registerMaterialInfo('greate:steel_gearbox', { 'wood': 1, 'wrought_iron': 1, 'steel': 4/9 }); - TFGHelpers.registerMaterialInfo('greate:steel_vertical_gearbox', { 'wood': 1, 'wrought_iron': 1, 'steel': 4/9 }); + TFGHelpers.registerMaterialInfo('greate:steel_gearbox', [GTMaterials.Wood, 1, GTMaterials.WroughtIron, 1, GTMaterials.Steel, 4/9]); + TFGHelpers.registerMaterialInfo('greate:steel_vertical_gearbox', [GTMaterials.Wood, 1, GTMaterials.WroughtIron, 1, GTMaterials.Steel, 4/9]); - TFGHelpers.registerMaterialInfo('greate:aluminium_gearbox', { 'wood': 1, 'wrought_iron': 1, 'aluminium': 4/9 }); - TFGHelpers.registerMaterialInfo('greate:aluminium_vertical_gearbox', { 'wood': 1, 'wrought_iron': 1, 'aluminium': 4/9 }); + TFGHelpers.registerMaterialInfo('greate:aluminium_gearbox', [GTMaterials.Wood, 1, GTMaterials.WroughtIron, 1, GTMaterials.Aluminium, 4/9]); + TFGHelpers.registerMaterialInfo('greate:aluminium_vertical_gearbox', [GTMaterials.Wood, 1, GTMaterials.WroughtIron, 1, GTMaterials.Aluminium, 4/9]); - TFGHelpers.registerMaterialInfo('greate:stainless_steel_gearbox', { 'wood': 1, 'wrought_iron': 1, 'stainless_steel': 4/9 }); - TFGHelpers.registerMaterialInfo('greate:stainless_steel_vertical_gearbox', { 'wood': 1, 'wrought_iron': 1, 'stainless_steel': 4/9 }); + TFGHelpers.registerMaterialInfo('greate:stainless_steel_gearbox', [GTMaterials.Wood, 1, GTMaterials.WroughtIron, 1, GTMaterials.StainlessSteel, 4/9]); + TFGHelpers.registerMaterialInfo('greate:stainless_steel_vertical_gearbox', [GTMaterials.Wood, 1, GTMaterials.WroughtIron, 1, GTMaterials.StainlessSteel, 4/9]); - TFGHelpers.registerMaterialInfo('greate:titanium_gearbox', { 'wood': 1, 'wrought_iron': 1, 'titanium': 4/9 }); - TFGHelpers.registerMaterialInfo('greate:titanium_vertical_gearbox', { 'wood': 1, 'wrought_iron': 1, 'titanium': 4/9 }); + TFGHelpers.registerMaterialInfo('greate:titanium_gearbox', [GTMaterials.Wood, 1, GTMaterials.WroughtIron, 1, GTMaterials.Titanium, 4/9]); + TFGHelpers.registerMaterialInfo('greate:titanium_vertical_gearbox', [GTMaterials.Wood, 1, GTMaterials.WroughtIron, 1, GTMaterials.Titanium, 4/9]); // #endregion @@ -147,8 +147,8 @@ function registerGreateRecipes(event) { event.shapeless('greate:large_andesite_alloy_cogwheel', ['greate:andesite_alloy_cogwheel', '#forge:small_gears/wood']) .id('tfg:shapeless/large_andesite_alloy_cogwheel_upgrade'); - TFGHelpers.registerMaterialInfo('greate:andesite_alloy_cogwheel', { 'wood': 1 }); - TFGHelpers.registerMaterialInfo('greate:large_andesite_alloy_cogwheel', { 'wood': 2 }); + TFGHelpers.registerMaterialInfo('greate:andesite_alloy_cogwheel', [GTMaterials.Wood, 1]); + TFGHelpers.registerMaterialInfo('greate:large_andesite_alloy_cogwheel', [GTMaterials.Wood, 2]); event.shapeless('greate:steel_cogwheel', ['greate:steel_shaft', '#forge:small_gears/wrought_iron']) .id('tfg:shapeless/steel_cogwheel') @@ -157,8 +157,8 @@ function registerGreateRecipes(event) { event.shapeless('greate:large_steel_cogwheel', ['greate:steel_cogwheel', '#forge:small_gears/wrought_iron']) .id('tfg:shapeless/large_steel_cogwheel_upgrade'); - TFGHelpers.registerMaterialInfo('greate:steel_cogwheel', { 'wrought_iron': 1, 'steel': 1/9 }); - TFGHelpers.registerMaterialInfo('greate:large_steel_cogwheel', { 'wrought_iron': 2, 'steel': 1/9 }); + TFGHelpers.registerMaterialInfo('greate:steel_cogwheel', [GTMaterials.WroughtIron, 1, GTMaterials.Steel, 1/9]); + TFGHelpers.registerMaterialInfo('greate:large_steel_cogwheel', [GTMaterials.WroughtIron, 2, GTMaterials.Steel, 1/9]); event.shapeless('greate:aluminium_cogwheel', ['greate:aluminium_shaft', '#forge:small_gears/steel']) .id('tfg:shapeless/aluminium_cogwheel') @@ -167,8 +167,8 @@ function registerGreateRecipes(event) { event.shapeless('greate:large_aluminium_cogwheel', ['greate:aluminium_cogwheel', '#forge:small_gears/steel']) .id('tfg:shapeless/large_aluminium_cogwheel_upgrade'); - TFGHelpers.registerMaterialInfo('greate:aluminium_cogwheel', { 'steel': 1, 'aluminium': 1/9 }); - TFGHelpers.registerMaterialInfo('greate:large_aluminium_cogwheel', { 'steel': 2, 'aluminium': 1/9 }); + TFGHelpers.registerMaterialInfo('greate:aluminium_cogwheel', [GTMaterials.Steel, 1, GTMaterials.Aluminium, 1/9]); + TFGHelpers.registerMaterialInfo('greate:large_aluminium_cogwheel', [GTMaterials.Steel, 2, GTMaterials.Aluminium, 1/9]); event.shapeless('greate:stainless_steel_cogwheel', ['greate:stainless_steel_shaft', '#forge:small_gears/aluminium']) .id('tfg:shapeless/stainless_steel_cogwheel') @@ -177,8 +177,8 @@ function registerGreateRecipes(event) { event.shapeless('greate:large_stainless_steel_cogwheel', ['greate:stainless_steel_cogwheel', '#forge:small_gears/aluminium']) .id('tfg:shapeless/large_stainless_steel_cogwheel_upgrade'); - TFGHelpers.registerMaterialInfo('greate:stainless_steel_cogwheel', { 'aluminium': 1, 'stainless_steel': 1/9 }); - TFGHelpers.registerMaterialInfo('greate:large_stainless_steel_cogwheel', { 'aluminium': 2, 'stainless_steel': 1/9 }); + TFGHelpers.registerMaterialInfo('greate:stainless_steel_cogwheel', [GTMaterials.Aluminium, 1, GTMaterials.StainlessSteel, 1/9]); + TFGHelpers.registerMaterialInfo('greate:large_stainless_steel_cogwheel', [GTMaterials.Aluminium, 2, GTMaterials.StainlessSteel, 1/9]); event.shapeless('greate:titanium_cogwheel', ['greate:titanium_shaft', '#forge:small_gears/stainless_steel']) .id('tfg:shapeless/titanium_cogwheel') @@ -187,8 +187,8 @@ function registerGreateRecipes(event) { event.shapeless('greate:large_titanium_cogwheel', ['greate:titanium_cogwheel', '#forge:small_gears/stainless_steel']) .id('tfg:shapeless/large_titanium_cogwheel_upgrade'); - TFGHelpers.registerMaterialInfo('greate:titanium_cogwheel', { 'stainless_steel': 1, 'titanium': 1/9 }); - TFGHelpers.registerMaterialInfo('greate:large_titanium_cogwheel', { 'stainless_steel': 2, 'titanium': 1/9 }); + TFGHelpers.registerMaterialInfo('greate:titanium_cogwheel', [GTMaterials.StainlessSteel, 1, GTMaterials.Titanium, 1/9]); + TFGHelpers.registerMaterialInfo('greate:large_titanium_cogwheel', [GTMaterials.StainlessSteel, 2, GTMaterials.Titanium, 1/9]); // #endregion @@ -230,7 +230,7 @@ function registerGreateRecipes(event) { E: '#forge:tools/saws' }).id('greate:shaped/andesite_alloy_millstone3') - TFGHelpers.registerMaterialInfo('greate:andesite_alloy_millstone', { 'stone': 9 }); + TFGHelpers.registerMaterialInfo('greate:andesite_alloy_millstone', [GTMaterials.Stone, 9]); event.shaped('greate:steel_millstone', [ 'FBF', @@ -327,7 +327,7 @@ function registerGreateRecipes(event) { D: '#forge:gems/diamond' }).id('greate:steel_crushing_wheel') - TFGHelpers.registerMaterialInfo('greate:steel_crushing_wheel', { 'wrought_iron': 14, 'tin_alloy': 8, 'steel': 4, 'diamond': 4 }); + TFGHelpers.registerMaterialInfo('greate:steel_crushing_wheel', [GTMaterials.WroughtIron, 14, GTMaterials.TinAlloy, 8, GTMaterials.Steel, 4, GTMaterials.Diamond, 4]); event.recipes.createMechanicalCrafting('2x greate:aluminium_crushing_wheel', [ ' AAA ', @@ -342,7 +342,7 @@ function registerGreateRecipes(event) { D: '#forge:gems/diamond' }).id('greate:aluminium_crushing_wheel') - TFGHelpers.registerMaterialInfo('greate:aluminium_crushing_wheel', { 'steel': 14, 'vanadium_steel': 8, 'aluminium': 4, 'diamond': 4 }); + TFGHelpers.registerMaterialInfo('greate:aluminium_crushing_wheel', [GTMaterials.Steel, 14, GTMaterials.VanadiumSteel, 8, GTMaterials.Aluminium, 4, GTMaterials.Diamond, 4]); event.recipes.createMechanicalCrafting('2x greate:stainless_steel_crushing_wheel', [ ' AAA ', @@ -357,7 +357,7 @@ function registerGreateRecipes(event) { D: 'gtceu:diamond_grinding_head' }).id('greate:stainless_steel_crushing_wheel') - TFGHelpers.registerMaterialInfo('greate:stainless_steel_crushing_wheel', { 'aluminium': 14, 'blue_alloy': 8, 'stainless_steel': 4, 'steel': 32, 'diamond': 20 }); + TFGHelpers.registerMaterialInfo('greate:stainless_steel_crushing_wheel', [GTMaterials.Aluminium, 4, GTMaterials.BlueAlloy, 8, GTMaterials.StainlessSteel, 4, GTMaterials.Steel, 32, GTMaterials.Diamond, 20]); event.recipes.createMechanicalCrafting('2x greate:titanium_crushing_wheel', [ ' AAA ', @@ -372,7 +372,7 @@ function registerGreateRecipes(event) { D: 'gtceu:diamond_grinding_head' }).id('greate:titanium_crushing_wheel') - TFGHelpers.registerMaterialInfo('greate:titanium_crushing_wheel', { 'stainless_steel': 14, 'ultimet': 8, 'titanium': 4, 'steel': 32, 'diamond': 20 }); + TFGHelpers.registerMaterialInfo('greate:titanium_crushing_wheel', [GTMaterials.StainlessSteel, 14, GTMaterials.Ultimet, 8, GTMaterials.Titanium, 4, GTMaterials.Steel, 32, GTMaterials.Diamond, 20]); // #endregion @@ -481,7 +481,7 @@ function registerGreateRecipes(event) { .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - TFGHelpers.registerMaterialInfo('greate:andesite_alloy_mechanical_saw', { 'wood': 1, 'wrought_iron': 3 }); + TFGHelpers.registerMaterialInfo('greate:andesite_alloy_mechanical_saw', [GTMaterials.Wood, 1, GTMaterials.WroughtIron, 3]); event.shaped('greate:steel_mechanical_saw', [ 'ABA', @@ -651,7 +651,7 @@ function registerGreateRecipes(event) { event.remove({ id: 'gtceu:extractor/extract_andesite_alloy_belt_connector' }) event.remove({ id: 'gtceu:arc_furnace/arc_andesite_alloy_belt_connector' }) - TFGHelpers.registerMaterialInfo('greate:andesite_alloy_belt_connector', { 'wood': 1 }); + TFGHelpers.registerMaterialInfo('greate:andesite_alloy_belt_connector', [GTMaterials.Wood, 1]); // Leather event.recipes.tfc.damage_inputs_shaped_crafting( @@ -674,7 +674,7 @@ function registerGreateRecipes(event) { removeMaceratorRecipe(event, 'macerate_stone_belt_connector') event.remove({ id: 'greate:shaped/stone_belt_connector' }) - TFGHelpers.registerMaterialInfo('greate:stone_belt_connector', { 'air': 1 }); + TFGHelpers.registerMaterialInfo('greate:stone_belt_connector', [GTMaterials.Air, 1]); // Rubber event.shaped('greate:rubber_belt_connector', [ @@ -698,7 +698,7 @@ function registerGreateRecipes(event) { removeMaceratorRecipe(event, 'macerate_rubber_belt_connector') event.remove({ id: 'gtceu:extractor/extract_rubber_belt_connector' }) - TFGHelpers.registerMaterialInfo('greate:rubber_belt_connector', { 'rubber': 3 }); + TFGHelpers.registerMaterialInfo('greate:rubber_belt_connector', [GTMaterials.Rubber, 3]); // Silicone rubber event.shaped('greate:silicone_rubber_belt_connector', [ @@ -722,7 +722,7 @@ function registerGreateRecipes(event) { removeMaceratorRecipe(event, 'macerate_silicone_rubber_belt_connector') event.remove({ id: 'gtceu:extractor/extract_silicone_rubber_belt_connector' }) - TFGHelpers.registerMaterialInfo('greate:silicone_rubber_belt_connector', { 'silicone_rubber': 3 }); + TFGHelpers.registerMaterialInfo('greate:silicone_rubber_belt_connector', [GTMaterials.SiliconeRubber, 3]); // SBR rubber event.shaped('greate:styrene_butadiene_rubber_belt_connector', [ @@ -746,7 +746,7 @@ function registerGreateRecipes(event) { removeMaceratorRecipe(event, 'macerate_styrene_butadiene_rubber_belt_connector') event.remove({ id: 'gtceu:extractor/extract_styrene_butadiene_rubber_belt_connector' }) - TFGHelpers.registerMaterialInfo('greate:styrene_butadiene_rubber_belt_connector', { 'styrene_butadiene_rubber': 3 }); + TFGHelpers.registerMaterialInfo('greate:styrene_butadiene_rubber_belt_connector', [GTMaterials.StyreneButadieneRubber, 3]); // #endregion // #region Mixer @@ -1035,7 +1035,7 @@ function registerGreateRecipes(event) { F: 'greate:andesite_alloy_shaft' }).id('greate:shaped/andesite_alloy_mechanical_press') - TFGHelpers.registerMaterialInfo('greate:andesite_alloy_mechanical_press', { 'iron': 2 }); + TFGHelpers.registerMaterialInfo('greate:andesite_alloy_mechanical_press', [GTMaterials.Iron, 2]); event.shaped('greate:steel_mechanical_press', [ ' AD', diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index 0177031bf..1c267e4cb 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -41,6 +41,7 @@ function removeGreateRecipes(event) { event.remove({ id: `gtceu:extractor/extract_${tier}` }) event.remove({ id: `gtceu:extractor/extract_${tier}_shaft` }) event.remove({ id: `gtceu:extractor/extract_${tier}_cogwheel` }) + event.remove({ id: `gtceu:extractor/extract_large_${tier}_cogwheel` }) event.remove({ id: `gtceu:extractor/extract_${tier}_alloy` }) event.remove({ id: `gtceu:extractor/extract_${tier}_gearbox` }) event.remove({ id: `gtceu:extractor/extract_${tier}_vertical_gearbox` }) diff --git a/kubejs/server_scripts/gregtech/recipes.recycling.js b/kubejs/server_scripts/gregtech/recipes.recycling.js index 36effdb6f..809491ee1 100644 --- a/kubejs/server_scripts/gregtech/recipes.recycling.js +++ b/kubejs/server_scripts/gregtech/recipes.recycling.js @@ -7,52 +7,52 @@ function registerGTCEURecyclingRecipes(event) { // Capacitors - TFGHelpers.registerMaterialInfo('gtceu:tantalum_capacitor', { 'tantalum': 1/9, 'polyethylene': 1/9 }) - TFGHelpers.registerMaterialInfo('gtceu:capacitor', { 'polyethylene': 1/9 }) + TFGHelpers.registerMaterialInfo('gtceu:tantalum_capacitor', [GTMaterials.Tantalum, 1/9, GTMaterials.Polyethylene, 1/9]) + TFGHelpers.registerMaterialInfo('gtceu:capacitor', [GTMaterials.Polyethylene, 1/9]) // Empty batteries - TFGHelpers.registerMaterialInfo('gtceu:empty_tier_i_battery', { 'ultimet': 6 }) - TFGHelpers.registerMaterialInfo('gtceu:empty_tier_ii_battery', { 'ruridit': 6 }) - TFGHelpers.registerMaterialInfo('gtceu:empty_tier_iii_battery', { 'neutronium': 6 }) + TFGHelpers.registerMaterialInfo('gtceu:empty_tier_i_battery', [GTMaterials.Ultimet, 6]) + TFGHelpers.registerMaterialInfo('gtceu:empty_tier_ii_battery', [GTMaterials.Ruridit, 6]) + TFGHelpers.registerMaterialInfo('gtceu:empty_tier_iii_battery', [GTMaterials.Neutronium, 6]) // Iron Door - TFGHelpers.registerMaterialInfo('minecraft:iron_door', { 'iron': 2 }) + TFGHelpers.registerMaterialInfo('minecraft:iron_door', [GTMaterials.Iron, 2]) // #region Hanging Signs - global.TFC_EQUIPMENT_METALS.forEach(metal => { + global.TFC_EQUIPMENT_METALS.forEach(metal => { // Recycling Hardwood - // Arc Recycling Hardwood - event.recipes.gtceu.arc_furnace(`tfg:arc_recycling/${metal}/hardwood`) - .itemInputs(`#tfg:hanging_sign/${metal}/hardwood`) - .itemOutputs('gtceu:tiny_ash_dust') - .chancedOutput(`#forge:nuggets/${metal}`, 3750, 0) - .duration(12) - .EUt(30) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - // Macerating Hardwood - event.recipes.gtceu.macerator(`tfg:macerating/hanging_sign/'${metal}/hardwood`) - .itemInputs(`#tfg:hanging_sign/${metal}/hardwood`) - .itemOutputs('gtceu:hardwood_dust') - .chancedOutput(`#forge:tiny_dusts/${metal}`, 3750, 0) - .duration(108) - .EUt(8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - + // Arc Recycling Hardwood + event.recipes.gtceu.arc_furnace(`tfg:arc_recycling/${metal}/hardwood`) + .itemInputs(`#tfg:hanging_sign/${metal}/hardwood`) + .itemOutputs('gtceu:tiny_ash_dust') + .chancedOutput(`#forge:nuggets/${metal}`, 3750, 0) + .duration(12) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + // Macerating Hardwood + event.recipes.gtceu.macerator(`tfg:macerating/hanging_sign/'${metal}/hardwood`) + .itemInputs(`#tfg:hanging_sign/${metal}/hardwood`) + .itemOutputs('gtceu:hardwood_dust') + .chancedOutput(`#forge:tiny_dusts/${metal}`, 3750, 0) + .duration(108) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + // Recycling Softwood - // Arc Recycling Softwood - event.recipes.gtceu.arc_furnace(`tfg:arc_recycling/${metal}/softwood`) - .itemInputs(`#tfg:hanging_sign/${metal}/softwood`) - .itemOutputs('gtceu:tiny_ash_dust') - .chancedOutput(`#forge:nuggets/${metal}`, 3750, 0) - .duration(12) - .EUt(30) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - // Macerating Softwood - event.recipes.gtceu.macerator(`tfg:macerating/hanging_sign/'${metal}/softwood`) - .itemInputs(`#tfg:hanging_sign/${metal}/softwood`) - .itemOutputs('gtceu:wood_dust') - .chancedOutput(`#forge:tiny_dusts/${metal}`, 3750, 0) - .duration(108) - .EUt(8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) + // Arc Recycling Softwood + event.recipes.gtceu.arc_furnace(`tfg:arc_recycling/${metal}/softwood`) + .itemInputs(`#tfg:hanging_sign/${metal}/softwood`) + .itemOutputs('gtceu:tiny_ash_dust') + .chancedOutput(`#forge:nuggets/${metal}`, 3750, 0) + .duration(12) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + // Macerating Softwood + event.recipes.gtceu.macerator(`tfg:macerating/hanging_sign/'${metal}/softwood`) + .itemInputs(`#tfg:hanging_sign/${metal}/softwood`) + .itemOutputs('gtceu:wood_dust') + .chancedOutput(`#forge:tiny_dusts/${metal}`, 3750, 0) + .duration(108) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) }) // #endregion diff --git a/kubejs/server_scripts/tfcbetterbf/recipes.js b/kubejs/server_scripts/tfcbetterbf/recipes.js index 12cc0d3db..86cc9ad9e 100644 --- a/kubejs/server_scripts/tfcbetterbf/recipes.js +++ b/kubejs/server_scripts/tfcbetterbf/recipes.js @@ -15,17 +15,5 @@ const registerTFCBetterBFRecipes = (event) => { .resultFluid(Fluid.of('gtceu:iron', 432)) .id(`tfcbetterbf:heating/insulated_fire_bricks`) - event.recipes.gtceu.macerator('tfcbetterbf:insulated_fire_bricks') - .itemInputs('tfcbetterbf:insulated_fire_bricks') - .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.WroughtIron, 3)) - .duration(GTMaterials.WroughtIron.getMass() * 3) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.arc_furnace('tfcbetterbf:insulated_fire_bricks') - .itemInputs('tfcbetterbf:insulated_fire_bricks') - .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.WroughtIron, 3)) - .duration(GTMaterials.Steel.getMass() * 3) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) + TFGHelpers.registerMaterialInfo('tfcbetterbf:insulated_fire_bricks', [GTMaterials.WroughtIron, 3]) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/machines/recipes.molds.js b/kubejs/server_scripts/tfg/machines/recipes.molds.js index fbc41a399..74bf13c2e 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.molds.js +++ b/kubejs/server_scripts/tfg/machines/recipes.molds.js @@ -281,19 +281,7 @@ function registerTFGMoldRecipes(event) { global.TFG_EXTRUDER_MOLDS.forEach(mold => { - event.recipes.gtceu.arc_furnace(`arc_${linuxUnfucker(mold)}`) - .itemInputs(mold) - .itemOutputs(steelIngots) - .duration(224) - .EUt(GTValues.VA[GTValues.LV]) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - - event.recipes.gtceu.macerator(`macerate_${linuxUnfucker(mold)}`) - .itemInputs(mold) - .itemOutputs(steelDusts) - .duration(224) - .EUt(GTValues.VA[GTValues.ULV]) - .category(GTRecipeCategories.MACERATOR_RECYCLING) + TFGHelpers.registerMaterialInfo(mold, [GTMaterials.Steel, 4]) event.recipes.gtceu.forming_press(`copy_shape_${linuxUnfucker(mold)}`) .itemInputs('gtceu:empty_mold') @@ -304,20 +292,8 @@ function registerTFGMoldRecipes(event) { }) global.TFG_CASTING_MOLDS.forEach(mold => { - - event.recipes.gtceu.arc_furnace(`arc_${linuxUnfucker(mold)}`) - .itemInputs(mold) - .itemOutputs(steelIngots) - .duration(224) - .EUt(GTValues.VA[GTValues.LV]) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - - event.recipes.gtceu.macerator(`macerate_${linuxUnfucker(mold)}`) - .itemInputs(mold) - .itemOutputs(steelDusts) - .duration(224) - .EUt(GTValues.VA[GTValues.ULV]) - .category(GTRecipeCategories.MACERATOR_RECYCLING) + + TFGHelpers.registerMaterialInfo(mold, [GTMaterials.Steel, 4]) event.recipes.gtceu.forming_press(`copy_shape_${linuxUnfucker(mold)}`) .itemInputs('gtceu:empty_mold') diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tag_prefixes.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tag_prefixes.js index 05e50be06..9bc386672 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tag_prefixes.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tag_prefixes.js @@ -352,9 +352,7 @@ function processLamp(event, material) { const materialName = material.getName(); // Unfinished lamp - let matMap = { 'glass': 1 }; - matMap[materialName] = 1; - TFGHelpers.registerMaterialInfo(finishedLampItem, matMap); + TFGHelpers.registerMaterialInfo(finishedLampItem, [material, 1, GTMaterials.Glass, 1]); addTFCMelting(event, finishedLampItem, material, 144, 'lamp'); addMaterialRecycling(event, unfinishedLampItem, material, 'unfinished_lamp', TFGTagPrefix.lampUnfinished); @@ -373,20 +371,6 @@ function processLamp(event, material) { .itemOutputs(finishedLampItem) .duration(100) .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.macerator(`tfg:macerate_${materialName}_lamp`) - .itemInputs(finishedLampItem) - .itemOutputs(`#forge:dusts/${materialName}`, `#forge:dusts/glass`) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .duration(material.getMass()) - .EUt(2); - - event.recipes.gtceu.arc_furnace(`tfg:arc_${materialName}_lamp`) - .itemInputs(finishedLampItem) - .itemOutputs(`#forge:ingots/${materialName}`) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .duration(material.getMass()) - .EUt(30); } /** diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js index 4e54a2db7..eaaad9b3a 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js @@ -97,29 +97,7 @@ function addMaterialRecyclingNoTagPrefix(event, inputItem, material, recipeSuffi // Remove existing macerator recipes because Greate removeMaceratorRecipe(event, `macerate_${materialName}_${recipeSuffix}`); - const maceratorOutput = ChemicalHelper.getDust(material, GTValues.M * ingotAmount); - if (!maceratorOutput.isEmpty()) { - event.recipes.gtceu.macerator(`tfg:macerate_${materialName}_${recipeSuffix}`) - .itemInputs(inputItem) - .itemOutputs(maceratorOutput) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .duration(material.getMass() * ingotAmount) - .EUt(2); - } - - const arcOutput = ChemicalHelper.getIngot(material, GTValues.M * ingotAmount); - if (!arcOutput.isEmpty()) { - event.recipes.gtceu.arc_furnace(`tfg:arc_${materialName}_${recipeSuffix}`) - .itemInputs(inputItem) - .itemOutputs(arcOutput) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .duration(material.getMass() * ingotAmount) - .EUt(30); - } - - let matmap = {}; - matmap[materialName] = ingotAmount; - TFGHelpers.registerMaterialInfo(inputItem, matmap); + TFGHelpers.registerMaterialInfo(inputItem, [material, ingotAmount]); } /** diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index fe3ec5369..5392b40ab 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -119,7 +119,7 @@ function registerTFGMiscellaneousRecipes(event) { .duration(20 * 10) .EUt(GTValues.VA[GTValues.LV]) }); - TFGHelpers.registerMaterialInfo('tfg:cobalt_brass_wheel', { 'rubber': 1, 'cobalt_brass': 4 }); + TFGHelpers.registerMaterialInfo('tfg:cobalt_brass_wheel', [GTMaterials.Rubber, 1, GTMaterials.CobaltBrass, 4]); event.recipes.create.mechanical_crafting('tfg:cobalt_brass_wheel', [ ' D ', @@ -166,7 +166,7 @@ function registerTFGMiscellaneousRecipes(event) { G: `#forge:mattock_heads/${type}_steel` }).id(`tfg:mechanical_crafter/rnr_plow/${type}_steel`) }); - TFGHelpers.registerMaterialInfo('tfg:rnr_plow', { 'cobalt_brass': 9, 'invar': 4, 'steel': 2, 'wrought_iron': 3, 'treated_wood': 2 }); + TFGHelpers.registerMaterialInfo('tfg:rnr_plow', [GTMaterials.CobaltBrass, 9, GTMaterials.Invar, 4, GTMaterials.Steel, 2, GTMaterials.WroughtIron, 3, GTMaterials.TreatedWood, 2]); //#endregion diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index 3ec5b8a8f..d94a75582 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -56,13 +56,13 @@ function registerVintageImprovementsRecipes(event) { ' A ' ], { A: '#forge:plates/treated_wood', - B: '#forge:rods/long/steel', + B: '#forge:rods/black_steel', C: 'create:andesite_casing', D: '#forge:frames/treated_wood', E: 'greate:steel_cogwheel' }).id('tfg:vi/mechanical_crafting/centrifuge') - TFGHelpers.registerMaterialInfo('vintageimprovements:centrifuge', { 'black_steel': 1, 'wrought_iron': 3 }); + TFGHelpers.registerMaterialInfo('vintageimprovements:centrifuge', [GTMaterials.WroughtIron, 3, GTMaterials.BlackSteel, 2]); event.recipes.gtceu.shaped('vintageimprovements:curving_press', [ 'DBD', @@ -90,7 +90,7 @@ function registerVintageImprovementsRecipes(event) { F: '#forge:tools/hammers' }).id('tfg:vi/shaped/helve_hammer') - TFGHelpers.registerMaterialInfo('vintageimprovements:helve_hammer', { 'iron': 2 }); + TFGHelpers.registerMaterialInfo('vintageimprovements:helve_hammer', [GTMaterials.Iron, 2]); event.shaped('vintageimprovements:grinder_belt', [ 'AAA', From c60e64ae51ff7cc2d11c22d0b0924ddad952c1bb Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 18 Jan 2026 14:49:54 +0000 Subject: [PATCH 126/474] foils are 1/4, not 1/8 --- kubejs/server_scripts/create/recipes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 6258d640e..864673961 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -288,7 +288,7 @@ const registerCreateRecipes = (event) => { .circuit(1) .EUt(GTValues.VA[GTValues.ULV]) - TFGHelpers.registerMaterialInfo('create:hose_pulley', [GTMaterials.Copper, 3, GTMaterials.Rubber, 1/8]); + TFGHelpers.registerMaterialInfo('create:hose_pulley', [GTMaterials.Copper, 3, GTMaterials.Rubber, 1/4]); // Слив из предметов event.shaped('create:item_drain', [ From 47d44a6b5c39493359ab73490c77e05ea328513c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 18 Jan 2026 16:51:13 +0000 Subject: [PATCH 127/474] tiny cleanup --- kubejs/server_scripts/createdeco/recipes.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/kubejs/server_scripts/createdeco/recipes.js b/kubejs/server_scripts/createdeco/recipes.js index 81d86924e..862e7a9b8 100644 --- a/kubejs/server_scripts/createdeco/recipes.js +++ b/kubejs/server_scripts/createdeco/recipes.js @@ -265,8 +265,6 @@ const registerCreatedecoRecipes = (event) => { .duration(100) .EUt(GTValues.VA[GTValues.LV]) - let twoMap = {}; - twoMap[bar.material] = 2; TFGHelpers.registerMaterialInfo(`createdeco:${bar.metal}_door`, [GTMaterials.get(bar.material), 2]) } From d1f1ff212b08b15a2f1a5a997a781efa417fd339 Mon Sep 17 00:00:00 2001 From: Mqrius Date: Sun, 18 Jan 2026 23:34:31 +0100 Subject: [PATCH 128/474] Add space foods to tfc:foods --- kubejs/startup_scripts/tfg/items.food.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kubejs/startup_scripts/tfg/items.food.js b/kubejs/startup_scripts/tfg/items.food.js index b2a3589d1..37685e0de 100644 --- a/kubejs/startup_scripts/tfg/items.food.js +++ b/kubejs/startup_scripts/tfg/items.food.js @@ -21,6 +21,7 @@ function registerTFGFoodItems(event) { ctx.player.give('tfg:used_foil_pack') })) .texture('tfg:item/food/meal_bag') + .tag('tfc:foods') .tag('tfg:space_food') // Birt @@ -60,6 +61,7 @@ function registerTFGFoodItems(event) { event.create(`tfg:food/freeze_dried/${fruit.name}`) .translationKey(`item.tfg.food.freeze_dried/${fruit.name}`) .texture(`tfg:item/food/freeze_dried_${fruit.name}`) + .tag('tfc:foods') .tag('tfg:space_food') .food(food => food.hunger(4).saturation(1) .eaten(ctx => { @@ -75,6 +77,7 @@ function registerTFGFoodItems(event) { ctx.player.give('tfg:used_foil_pack') })) .texture('tfg:item/food/calorie_paste') + .tag('tfc:foods') .tag('tfg:space_food') // Sunflower seeds From cfa0a14122c01b4130cb35277f246af8336310f4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 19 Jan 2026 11:32:50 +0000 Subject: [PATCH 129/474] #2771 made me check which wood was which, and what the hell happened here --- kubejs/server_scripts/beneath/tags.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kubejs/server_scripts/beneath/tags.js b/kubejs/server_scripts/beneath/tags.js index 692fa2288..5b2b85a49 100644 --- a/kubejs/server_scripts/beneath/tags.js +++ b/kubejs/server_scripts/beneath/tags.js @@ -30,10 +30,10 @@ const registerBeneathBlockTags = (event) => { event.add('tfg:softwood', 'beneath:wood/wood/crimson') event.add('tfg:stripped_softwood', 'beneath:wood/stripped_log/crimson') event.add('tfg:stripped_softwood', 'beneath:wood/stripped_wood/crimson') - event.add('tfg:hardwood', 'beneath:wood/log/crimson') - event.add('tfg:hardwood', 'beneath:wood/wood/crimson') - event.add('tfg:strippedhardwood', 'beneath:wood/stripped_log/crimson') - event.add('tfg:strippedhardwood', 'beneath:wood/stripped_wood/crimson') + event.add('tfg:hardwood', 'beneath:wood/log/warped') + event.add('tfg:hardwood', 'beneath:wood/wood/warped') + event.add('tfg:stripped_hardwood', 'beneath:wood/stripped_log/warped') + event.add('tfg:stripped_hardwood', 'beneath:wood/stripped_wood/warped') } const registerBeneathItemTags = (event) => { From bb51d1626dd0c84562e474f2fff572e03beb0666 Mon Sep 17 00:00:00 2001 From: Inceitious <124896643+Inceitious@users.noreply.github.com> Date: Mon, 19 Jan 2026 19:33:47 +0800 Subject: [PATCH 130/474] Added beneath wood compat (#2771) * Added beneath wood compat * crimson is a softwood Signed-off-by: Pyritie --------- Signed-off-by: Pyritie Co-authored-by: Pyritie --- kubejs/server_scripts/tfc/tags.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 6e128859a..8356510e9 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -441,6 +441,8 @@ function registerTFCItemTags(event) { event.add(`tfg:hanging_sign/${metal}/softwood`, global.TFC_SOFTWOOD_TYPES.map(wood => `tfc:wood/hanging_sign/${metal}/${wood}`)) event.add(`tfg:hanging_sign/${metal}/hardwood`, global.AFC_HARDWOOD_TYPES.map(wood => `afc:wood/hanging_sign/${metal}/${wood}`)) event.add(`tfg:hanging_sign/${metal}/softwood`, global.AFC_SOFTWOOD_TYPES.map(wood => `afc:wood/hanging_sign/${metal}/${wood}`)) + event.add(`tfg:hanging_sign/${metal}/hardwood`, `beneath:wood/hanging_sign/${metal}/warped`) + event.add(`tfg:hanging_sign/${metal}/softwood`, `beneath:wood/hanging_sign/${metal}/crimson`) }) } From 42fa3ba2715f9bde3d408abb5b7bcee8346949b5 Mon Sep 17 00:00:00 2001 From: Mqrius Date: Mon, 19 Jan 2026 12:56:58 +0100 Subject: [PATCH 131/474] Fix backups to hourly again Got broken in commit fa5c1c6, release 0.11.15 Also removing the free space needed flag. Signed-off-by: Mqrius --- config/ftbbackups2.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/ftbbackups2.json b/config/ftbbackups2.json index bedb47018..32efe057c 100644 --- a/config/ftbbackups2.json +++ b/config/ftbbackups2.json @@ -27,7 +27,7 @@ More info here (http://www.cronmaker.com) */ - "backup_cron": "0 15 10 * * ? *", + "backup_cron": "0 0 0/1 1/1 * ? *", // Time between manual backups using the command "manual_backups_time": 0, // Only run a backup if a player has been online since the last backup @@ -52,9 +52,9 @@ // Specify the backup format. Valid options are ZIP and DIRECTORY "backup_format": "ZIP", // Minimum free disk space in MB. If a backup's creation would leave less than this amount of disk space remaining, the backup will be aborted. - "minimum_free_space": 51200, + "minimum_free_space": 0, // If the previous backup failed due to lack of space, the oldest backup will be deleted to free space. - "free_space_if_needed": true, + "free_space_if_needed": false, /* Specify files or folders to be excluded. Can specify a file name, path relative to server directory or wildcard file path Examples: (All file paths are relative to server root) From fb34e947e0ed79e9e24227482e78ca8cb753c388 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 19 Jan 2026 14:01:59 +0000 Subject: [PATCH 132/474] fix overzealous tfc recipe removing --- kubejs/server_scripts/tfc/recipes.removes.js | 32 -------------------- 1 file changed, 32 deletions(-) diff --git a/kubejs/server_scripts/tfc/recipes.removes.js b/kubejs/server_scripts/tfc/recipes.removes.js index 0c577ec15..a4dd78bbc 100644 --- a/kubejs/server_scripts/tfc/recipes.removes.js +++ b/kubejs/server_scripts/tfc/recipes.removes.js @@ -4,7 +4,6 @@ function removeTFCRecipes(event) { global.TFC_DISABLED_ITEMS.forEach(item => { - event.remove({ input: item }) event.remove({ output: item }) }) @@ -12,41 +11,10 @@ function removeTFCRecipes(event) { event.remove({ id: /tfc:heating\/metal\/*/ }) event.remove({ id: /tfc:heating\/ore\/*/ }) - // Удаление рецептов блоков event.remove({ id: /tfc:crafting\/metal\/block\/*/ }) - - // Удаление рецептов ступеней event.remove({ id: /tfc:crafting\/metal\/block\/*_stairs/ }) - - // Удалание рецептов полублоков event.remove({ id: /tfc:crafting\/metal\/block\/*_slab/ }) - //#region Удаление рецептов для предметов из Cast Iron - - // Блок - event.remove({ id: `tfc:crafting/metal/block/cast_iron` }) - - // Ступень - event.remove({ id: `tfc:crafting/metal/block/cast_iron_stairs` }) - - // Полублок - event.remove({ id: `tfc:crafting/metal/block/cast_iron_slab` }) - - // Слиток - event.remove({ id: `tfc:casting/cast_iron_ingot` }) - event.remove({ id: `tfc:casting/cast_iron_fire_ingot` }) - event.remove({ id: `tfc:welding/cast_iron_double_ingot` }) - event.remove({ id: `tfc:anvil/cast_iron_rod` }) - - // Двойной слиток - event.remove({ id: `tfc:anvil/cast_iron_sheet` }) - - // Пластина - event.remove({ id: `tfc:welding/cast_iron_double_sheet` }) - - //#endregion - - // #region Удаление рецептов event.remove({ id: 'tfc:quern/amethyst' }) event.remove({ id: 'tfc:quern/amethyst_cut' }) From 0a648ac68da1dc5580ca031b943463fc8a307d93 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 19 Jan 2026 14:11:55 +0000 Subject: [PATCH 133/474] remove create additions fluid tags --- kubejs/server_scripts/create_additions/tags.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kubejs/server_scripts/create_additions/tags.js b/kubejs/server_scripts/create_additions/tags.js index 044e30042..fae354d9b 100644 --- a/kubejs/server_scripts/create_additions/tags.js +++ b/kubejs/server_scripts/create_additions/tags.js @@ -23,5 +23,7 @@ const registerCreateAdditionsFluidTags = (event) => { // Добавляем тег для скрытия в EMI event.add('c:hidden_from_recipe_viewers', 'createaddition:seed_oil') + event.removeAllTagsFrom('createaddition:seed_oil') event.add('c:hidden_from_recipe_viewers', 'createaddition:bioethanol') + event.removeAllTagsFrom('createaddition:bioethanol') } \ No newline at end of file From ce7302a8abb93ce787af05907df9488b6ab43631 Mon Sep 17 00:00:00 2001 From: Inceitious <124896643+Inceitious@users.noreply.github.com> Date: Tue, 20 Jan 2026 01:06:32 +0800 Subject: [PATCH 134/474] Consumes Wool Hat/ Silk Cowl (#2770) --- kubejs/server_scripts/diggerhelmet/recipes.js | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/kubejs/server_scripts/diggerhelmet/recipes.js b/kubejs/server_scripts/diggerhelmet/recipes.js index 4b4400559..5d27d5839 100644 --- a/kubejs/server_scripts/diggerhelmet/recipes.js +++ b/kubejs/server_scripts/diggerhelmet/recipes.js @@ -46,11 +46,19 @@ function registerDiggerHelmetRecipes(event) { C: '#forge:foils/rubber' }).id('tfg:shaped/auto_drink_modifier_rubber') - event.recipes.tfc.damage_inputs_shapeless_crafting( - event.shapeless('diggerhelmet:silk_lining', ['tfcambiental:silk_cowl', '#forge:string', '#tfc:sewing_needles']) - ).id('tfg:shapeless/diggerhelmet/silk_lining') - - event.recipes.tfc.damage_inputs_shapeless_crafting( - event.shapeless('diggerhelmet:wool_lining', ['tfcambiental:wool_hat', '#forge:string', '#tfc:sewing_needles']) - ).id('tfg:shapeless/diggerhelmet/wool_lining') + event.shapeless('diggerhelmet:silk_lining', [ + 'tfcambiental:silk_cowl', + '#forge:string', + '#tfc:sewing_needles' + ]) + .damageIngredient('#tfc:sewing_needles', 1) + .id('tfg:shapeless/diggerhelmet/silk_lining'); + + event.shapeless('diggerhelmet:wool_lining', [ + 'tfcambiental:wool_hat', + '#forge:string', + '#tfc:sewing_needles' + ]) + .damageIngredient('#tfc:sewing_needles', 1) + .id('tfg:shapeless/diggerhelmet/wool_lining'); } \ No newline at end of file From bd1efd7d406fa1e84eca1f2d0f2fcf00e3bd48e1 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 19 Jan 2026 21:37:30 +0000 Subject: [PATCH 135/474] #2759 more latex plants --- kubejs/server_scripts/beneath/tags.js | 78 +++++++++++++------------ kubejs/server_scripts/minecraft/tags.js | 2 + 2 files changed, 43 insertions(+), 37 deletions(-) diff --git a/kubejs/server_scripts/beneath/tags.js b/kubejs/server_scripts/beneath/tags.js index 5b2b85a49..ab0397f98 100644 --- a/kubejs/server_scripts/beneath/tags.js +++ b/kubejs/server_scripts/beneath/tags.js @@ -1,41 +1,5 @@ "use strict"; -const registerBeneathBlockTags = (event) => { - - global.BENEATH_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) - }) - - - event.add('forge:ores', 'beneath:ore/nether_cursecoal') - event.add('forge:ores', 'beneath:ore/blackstone_sylvite') - event.add('beneath:mushrooms', 'minecraft:red_mushroom') - event.add('beneath:mushrooms', 'minecraft:brown_mushroom') - event.add('beneath:poisonous_mushrooms', 'minecraft:red_mushroom') - - event.add('tfc:can_landslide', 'beneath:soul_clay') - - event.remove('beneath:sparks_on_sulfur') - - event.add('beneath:blackstone_decor', 'minecraft:blackstone'); - event.remove('beneath:blackstone') - - event.remove('minecraft:leaves', 'beneath:wood/leaves/crimson') - event.remove('minecraft:leaves', 'beneath:wood/leaves/warped') - event.add('tfg:do_not_destroy_in_space', 'beneath:wood/leaves/crimson') - event.add('tfg:do_not_destroy_in_space', 'beneath:wood/leaves/warped') - - event.add('tfg:softwood', 'beneath:wood/log/crimson') - event.add('tfg:softwood', 'beneath:wood/wood/crimson') - event.add('tfg:stripped_softwood', 'beneath:wood/stripped_log/crimson') - event.add('tfg:stripped_softwood', 'beneath:wood/stripped_wood/crimson') - event.add('tfg:hardwood', 'beneath:wood/log/warped') - event.add('tfg:hardwood', 'beneath:wood/wood/warped') - event.add('tfg:stripped_hardwood', 'beneath:wood/stripped_log/warped') - event.add('tfg:stripped_hardwood', 'beneath:wood/stripped_wood/warped') -} - const registerBeneathItemTags = (event) => { global.BENEATH_DISABLED_ITEMS.forEach(item => { @@ -63,4 +27,44 @@ const registerBeneathItemTags = (event) => { event.add('tfg:do_not_destroy_in_space', 'beneath:wood/leaves/warped') event.add('tfc:sewing_tables', 'beneath:wood/sewing_table/crimson') event.add('tfc:sewing_tables', 'beneath:wood/sewing_table/warped') -} \ No newline at end of file + + event.add('tfg:softwood', 'beneath:wood/log/crimson') + event.add('tfg:softwood', 'beneath:wood/wood/crimson') + event.add('tfg:stripped_softwood', 'beneath:wood/stripped_log/crimson') + event.add('tfg:stripped_softwood', 'beneath:wood/stripped_wood/crimson') + event.add('tfg:hardwood', 'beneath:wood/log/warped') + event.add('tfg:hardwood', 'beneath:wood/wood/warped') + event.add('tfg:stripped_hardwood', 'beneath:wood/stripped_log/warped') + event.add('tfg:stripped_hardwood', 'beneath:wood/stripped_wood/warped') + + event.add("tfg:rubber_plants", "beneath:gleamflower") + event.add("tfg:rubber_plants", "beneath:burpflower") + event.add("tfg:rubber_plants", "beneath:fools_funnel") +} + +const registerBeneathBlockTags = (event) => { + + global.BENEATH_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) + + + event.add('forge:ores', 'beneath:ore/nether_cursecoal') + event.add('forge:ores', 'beneath:ore/blackstone_sylvite') + event.add('beneath:mushrooms', 'minecraft:red_mushroom') + event.add('beneath:mushrooms', 'minecraft:brown_mushroom') + event.add('beneath:poisonous_mushrooms', 'minecraft:red_mushroom') + + event.add('tfc:can_landslide', 'beneath:soul_clay') + + event.remove('beneath:sparks_on_sulfur') + + event.add('beneath:blackstone_decor', 'minecraft:blackstone'); + event.remove('beneath:blackstone') + + event.remove('minecraft:leaves', 'beneath:wood/leaves/crimson') + event.remove('minecraft:leaves', 'beneath:wood/leaves/warped') + event.add('tfg:do_not_destroy_in_space', 'beneath:wood/leaves/crimson') + event.add('tfg:do_not_destroy_in_space', 'beneath:wood/leaves/warped') +} diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index b0b4393fb..6f1e0529f 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -43,6 +43,8 @@ const registerMinecraftItemTags = (event) => { event.add('create:blaze_burner_fuel/regular', 'minecraft:coal') event.add('create:blaze_burner_fuel/regular', 'minecraft:charcoal') + event.add("tfg:rubber_plants", "minecraft:spore_blossom") + } const registerMinecraftBlockTags = (event) => { From 766b2f1948f5aa4068599ff68c0c40ca2089a628 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 19 Jan 2026 22:13:51 +0000 Subject: [PATCH 136/474] red elk now drop more meat when killed with a butchery knife, and also they drop bladders rarely (10%, same as deer) #2778 --- kubejs/server_scripts/beneath/loot.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 kubejs/server_scripts/beneath/loot.js diff --git a/kubejs/server_scripts/beneath/loot.js b/kubejs/server_scripts/beneath/loot.js new file mode 100644 index 000000000..9291e0015 --- /dev/null +++ b/kubejs/server_scripts/beneath/loot.js @@ -0,0 +1,12 @@ +// priority: 0 +"use strict"; + +function registerBeneathLoots(event) { + event.addEntityLootModifier('beneath:red_elk') + .addLoot(LootEntry.of('waterflasks:bladder').when(c => c.randomChance(0.1))) + + event.addEntityLootModifier('beneath:red_elk') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([2, 4], ['tfc:food/venison']) + .addWeightedLoot([1, 2], ['tfc:blubber']) +} \ No newline at end of file From 624d7de7e09c39ccbd7e8c34ca3505be32fa0f6f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 19 Jan 2026 22:15:56 +0000 Subject: [PATCH 137/474] change fern loot tables to add straw --- .../minecraft/loot_tables/blocks/fern.json | 44 ++++++++++++++++++- .../loot_tables/blocks/large_fern.json | 44 ++++++++++++++++++- kubejs/server_scripts/main_server_script.js | 1 + 3 files changed, 85 insertions(+), 4 deletions(-) diff --git a/kubejs/data/minecraft/loot_tables/blocks/fern.json b/kubejs/data/minecraft/loot_tables/blocks/fern.json index 0fb7c8aec..92a0520a1 100644 --- a/kubejs/data/minecraft/loot_tables/blocks/fern.json +++ b/kubejs/data/minecraft/loot_tables/blocks/fern.json @@ -1,5 +1,45 @@ { "type": "minecraft:block", - "pools": [], - "random_sequence": "minecraft:blocks/fern" + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "minecraft:fern", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "tag": "forge:shears" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:straw", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "tag": "tfc:sharp_tools" + } + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] } \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/blocks/large_fern.json b/kubejs/data/minecraft/loot_tables/blocks/large_fern.json index 0fb7c8aec..84c61375f 100644 --- a/kubejs/data/minecraft/loot_tables/blocks/large_fern.json +++ b/kubejs/data/minecraft/loot_tables/blocks/large_fern.json @@ -1,5 +1,45 @@ { "type": "minecraft:block", - "pools": [], - "random_sequence": "minecraft:blocks/fern" + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "minecraft:large_fern", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "tag": "forge:shears" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:straw", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "tag": "tfc:sharp_tools" + } + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] } \ No newline at end of file diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index bca24d1f4..169755c01 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -179,6 +179,7 @@ TFCEvents.data(event => { */ LootJS.modifiers((event) => { registerAdAstraLoots(event) + registerBeneathLoots(event) registerTFGOreLoots(event) registerLootrLoots(event) registerPrimitiveCreaturesLoots(event) From 88eee093bed37663dc18550bda75f1f6c6e98b68 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 19 Jan 2026 22:21:06 +0000 Subject: [PATCH 138/474] #2740 and #2759 --- CHANGELOG.md | 4 ++++ kubejs/server_scripts/ad_astra/recipes.js | 3 +++ kubejs/server_scripts/afc/recipes.js | 3 +++ kubejs/server_scripts/gregtech/utility.js | 3 +++ kubejs/server_scripts/minecraft/recipes.js | 6 ++++++ kubejs/server_scripts/minecraft/recipes.removes.js | 3 ++- .../server_scripts/tfg/primitive/recipes.wood.js | 14 ++++++++++++++ 7 files changed, 35 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 686c47837..e5c07ddbc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,10 @@ - Coke oven bricks now require mortar to craft @Pyritie - Glowstone can now be quickly broken with a pickaxe/mining hammer @Pyritie - Added some more knapping recipes for chalk items, improved the durability of others (#2753) @Pyritie +- Red elk now drop bladders rarely, and have increased meat drops when killed with a butchery knife (#2778) @Pyritie +- Vanilla ferns and large ferns now break into straw with a knife, so Beneath start is a bit less painful early on @Pyritie +- Added shapeless pressure plate to button recipes (#2740) @Pyritie +- Added some Beneath plants to the `#tfg:rubber_plants` tag (#2759) @Pyritie ### Bug fixes - Fixed not being able to craft Paracetamol or Rad-Away @Pyritie - Fixed the missing dried fruit to yeast starter recipe (#2673) @Mqrius diff --git a/kubejs/server_scripts/ad_astra/recipes.js b/kubejs/server_scripts/ad_astra/recipes.js index b953d9c70..79270e13e 100644 --- a/kubejs/server_scripts/ad_astra/recipes.js +++ b/kubejs/server_scripts/ad_astra/recipes.js @@ -410,6 +410,9 @@ const registerAdAstraRecipes = (event) => { .EUt(2) // Buttons + event.shapeless(`3x ad_astra:${x.type}_plating_button`, [`ad_astra:${x.type}_plating_pressure_plate`, '#forge:tools/saws']) + .id(`tfg:shapeless/saw_${x.type}_pressure_plate_to_button`) + generateCutterRecipe(event, `ad_astra:${x.type}_plating_pressure_plate`, `6x ad_astra:${x.type}_plating_button`, 50, 7, `ad_astra_${x.type}_button`) // Doors diff --git a/kubejs/server_scripts/afc/recipes.js b/kubejs/server_scripts/afc/recipes.js index 3cf811739..1fcc394c8 100644 --- a/kubejs/server_scripts/afc/recipes.js +++ b/kubejs/server_scripts/afc/recipes.js @@ -71,6 +71,9 @@ const registerAFCRecipes = (event) => { // ? -> Деревянная кнопка event.remove({ id: `afc:crafting/wood/${wood}_button` }) + event.shapeless(`3x afc:wood/planks/${wood}_button`, [`afc:wood/planks/${wood}_pressure_plate`, '#forge:tools/saws']) + .id(`tfg:shapeless/saw_${wood}_pressure_plate_to_button`) + generateCutterRecipe(event, `afc:wood/planks/${wood}_pressure_plate`, `6x afc:wood/planks/${wood}_button`, 50, 2, `${wood}_button`) //Stomping Barrel diff --git a/kubejs/server_scripts/gregtech/utility.js b/kubejs/server_scripts/gregtech/utility.js index 8c5176bf1..b81f7b361 100644 --- a/kubejs/server_scripts/gregtech/utility.js +++ b/kubejs/server_scripts/gregtech/utility.js @@ -331,6 +331,9 @@ function woodBuilder(event, name, lumber, logs, log, stripped_log, plank, stair, .itemOutputs(`6x ${button}`) .duration(50) .EUt(GTValues.VA[GTValues.ULV]) + + event.shapeless(`3x ${button}`, [pressure_plate, '#forge:tools/saws']) + .id(`tfg:shapeless/saw_${name}_pressure_plate_to_button`) } } //#endregion diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index a274981ab..3aa3c0ce3 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -1051,6 +1051,12 @@ const registerMinecraftRecipes = (event) => { .EUt(2) }) + event.shapeless('3x minecraft:polished_blackstone_button', ['minecraft:polished_blackstone_pressure_plate', '#forge:tools/saws']) + .id(`tfg:shapeless/saw_blackstone_pressure_plate_to_button`) + + event.shapeless('3x minecraft:bamboo_button', ['minecraft:bamboo_pressure_plate', '#forge:tools/saws']) + .id(`tfg:shapeless/saw_bamboo_pressure_plate_to_button`) + // #endregion // Minecart w/ Furnace diff --git a/kubejs/server_scripts/minecraft/recipes.removes.js b/kubejs/server_scripts/minecraft/recipes.removes.js index da3192bef..883168c8e 100644 --- a/kubejs/server_scripts/minecraft/recipes.removes.js +++ b/kubejs/server_scripts/minecraft/recipes.removes.js @@ -1157,7 +1157,8 @@ function removeMinecraftRecipes(event) { //#endregion //#region Выход: Кнопка из черного камня - + + event.remove({ id: 'gtceu:shaped/stone_button' }) event.remove({ id: 'minecraft:polished_blackstone_button' }) //#endregion diff --git a/kubejs/server_scripts/tfg/primitive/recipes.wood.js b/kubejs/server_scripts/tfg/primitive/recipes.wood.js index 79017f62a..2965d5783 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.wood.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.wood.js @@ -96,13 +96,24 @@ function registerTFGWoodRecipes(event) { .duration(50) .EUt(2) + event.shapeless(`3x gtceu:treated_wood_button`, [`gtceu:treated_wood_pressure_plate`, '#forge:tools/saws']) + .id(`tfg:shapeless/saw_treated_wood_pressure_plate_to_button`) + event.replaceOutput({ id: 'gtceu:cutter/treated_button' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button') event.replaceOutput({ id: 'gtceu:cutter/treated_button_water' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button') event.replaceOutput({ id: 'gtceu:cutter/treated_button_distilled_water' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button') + + event.replaceOutput({ id: 'greate:cutting/integration/gtceu/cutter/treated_button' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button') + event.replaceOutput({ id: 'greate:cutting/integration/gtceu/cutter/treated_button_water' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button') + event.replaceOutput({ id: 'greate:cutting/integration/gtceu/cutter/treated_button_distilled_water' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button') event.replaceOutput({ id: 'gtceu:cutter/bamboo_button' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button') event.replaceOutput({ id: 'gtceu:cutter/bamboo_button_water' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button') event.replaceOutput({ id: 'gtceu:cutter/bamboo_button_distilled_water' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button') + + event.replaceOutput({ id: 'greate:cutting/integration/gtceu/bamboo_button' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button') + event.replaceOutput({ id: 'greate:cutting/integration/gtceu/bamboo_button_water' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button') + event.replaceOutput({ id: 'greate:cutting/integration/gtceu/bamboo_button_distilled_water' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button') // Empty Wooden Form event.shaped('gtceu:empty_wooden_form', [ @@ -202,6 +213,9 @@ function registerTFGWoodRecipes(event) { // ? -> Деревянная кнопка event.remove({ id: `tfc:crafting/wood/${wood}_button` }) + event.shapeless(`3x tfc:wood/planks/${wood}_button`, [`tfc:wood/planks/${wood}_pressure_plate`, '#forge:tools/saws']) + .id(`tfg:shapeless/saw_${wood}_pressure_plate_to_button`) + generateCutterRecipe(event, `tfc:wood/planks/${wood}_pressure_plate`, `6x tfc:wood/planks/${wood}_button`, 50, 7, `${wood}_button`) // Stripped logs From 89030d3564eebd77b0a3c19155e399d1004001e6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 19 Jan 2026 22:39:15 +0000 Subject: [PATCH 139/474] Stone dust rework (#2782) * geology * starting some loot table stuff * more stuff * swap some rocks * refactor * phew * drive-by fix * all done I think * remove sylvite * oh yeah baby it's all coming together * cleaned up some lines that didn't do anything, added more comments, removed log spam * blah blah * fix drying mat * fix ladders * tfc, beneath, and moon stuff done...? this is gonna take 5ever * a * some sand stuff, more stone types * wrong way around * unifying various brick block recipes * remove shaped create deco brick recipes * some progress on block creation * we got into the create world screen! * getting somewhere * Reloaded with no KubeJS errors! * new assets * I thiiiink that's about everything * fix some stonecutting * recipe declared but never used --- .../quests/chapters/ev__extreme_voltage.snbt | 2 +- kubejs/assets/buildinggadgets2/lang/lang.json | 116 + .../textures/block/rock/cobble_flavolite.png | Bin 0 -> 546 bytes .../block/rock/cobble_moon_deepslate.png | Bin 936 -> 657 bytes .../block/rock/cobble_sandy_jadestone.png | Bin 0 -> 485 bytes .../textures/block/rock/cobble_scorchia.png | Bin 0 -> 499 bytes .../tfg/textures/block/rock/cobble_scoria.png | Bin 0 -> 507 bytes .../textures/block/rock/gravel_flavolite.png | Bin 0 -> 464 bytes .../block/rock/gravel_sandy_jadestone.png | Bin 0 -> 458 bytes .../textures/block/rock/gravel_scorchia.png | Bin 0 -> 630 bytes .../tfg/textures/block/rock/gravel_scoria.png | Bin 0 -> 631 bytes .../tfg/textures/item/brick/flavolite.png | Bin 0 -> 476 bytes .../tfg/textures/item/brick/glacio_stone.png | Bin 540 -> 350 bytes .../tfg/textures/item/brick/mars_stone.png | Bin 553 -> 358 bytes .../tfg/textures/item/brick/mercury_stone.png | Bin 573 -> 365 bytes .../tfg/textures/item/brick/moon_stone.png | Bin 568 -> 360 bytes .../textures/item/brick/sandy_jadestone.png | Bin 0 -> 506 bytes .../tfg/textures/item/brick/scorchia.png | Bin 0 -> 359 bytes .../assets/tfg/textures/item/brick/scoria.png | Bin 0 -> 364 bytes .../tfg/textures/item/brick/venus_stone.png | Bin 555 -> 360 bytes .../tfg/textures/item/loose/flavolite.png | Bin 0 -> 304 bytes .../textures/item/loose/sandy_jadestone.png | Bin 0 -> 388 bytes .../tfg/textures/item/loose/scorchia.png | Bin 0 -> 372 bytes .../assets/tfg/textures/item/loose/scoria.png | Bin 0 -> 374 bytes kubejs/data/ad_astra/dimension/mars.json | 4 +- .../minecraft/trim_material/glass_tfc.json | 9 - kubejs/data/tfc/trim_material/glass_tfc.json | 9 - kubejs/server_scripts/chalk/recipes.js | 12 +- kubejs/server_scripts/chalk/tags.js | 4 - kubejs/server_scripts/createdeco/recipes.js | 64 +- .../domum_ornamentum/recipes.js | 122 +- .../server_scripts/framed_blocks/recipes.js | 28 +- kubejs/server_scripts/gregtech/recipes.js | 7 +- .../gregtech/recipes.removes.js | 2 +- kubejs/server_scripts/minecraft/recipes.js | 56 +- kubejs/server_scripts/minecraft/tags.js | 3 +- kubejs/server_scripts/tfc/tags.js | 17 +- .../server_scripts/tfg/events.interactions.js | 396 +--- .../tfg/json_tool.armor_trim.js | 1 - kubejs/server_scripts/tfg/mars/tags.mars.js | 16 - .../tfg/moon/recipes.regolith.js | 2 +- .../tfg/natural_blocks/recipes.collapse.js | 127 +- .../tfg/natural_blocks/recipes.concrete.js | 19 +- .../tfg/natural_blocks/recipes.rocks.js | 1679 ++++---------- .../tfg/natural_blocks/recipes.sand.js | 137 +- .../tfg/natural_blocks/recipes.stone_dusts.js | 297 +-- .../tfg/natural_blocks/recipes.tfc_stone.js | 468 +--- .../tfg/natural_blocks/tags.stones.js | 736 +++--- .../tfg/ores_and_materials/loot.ores.js | 144 +- .../tfg/powergen/nuclear/recipes.nuclear.js | 2 +- .../tfg/primitive/recipes.supports.js | 92 +- kubejs/server_scripts/tfg/tags.interaction.js | 63 - kubejs/server_scripts/tfg/tags.js | 2 +- .../server_scripts/tfg/venus/recipes.venus.js | 17 - kubejs/server_scripts/tfg/venus/tags.venus.js | 17 - .../tfg/worldgen/tags.general_worldgen.js | 155 +- kubejs/startup_scripts/create/materials.js | 16 + .../startup_scripts/createdeco/constants.js | 2 +- kubejs/startup_scripts/gtceu/constants.js | 69 +- .../gtceu/material_modification.js | 5 +- kubejs/startup_scripts/main_startup_script.js | 1 - kubejs/startup_scripts/tfg/blocks.js | 4 +- kubejs/startup_scripts/tfg/constants.js | 157 +- .../tfg/primitive/blocks.supports.js | 309 +-- .../tfg/stone_types/blocks.aqueducts.js | 86 - .../tfg/stone_types/blocks.rocks.js | 1987 ++--------------- .../tfg/stone_types/blocks.vanilla_stone.js | 56 - .../tfg/stone_types/constants.rocks.js | 1145 ++++++++++ .../tfg/stone_types/items.rocks.js | 44 +- .../tfg/stone_types/materials.rocks.js | 57 +- .../stone_types/tag_prefixes.rocks.js} | 11 +- kubejs/startup_scripts/tfg/tag_prefixes.js | 2 + .../tfg/venus/blocks.venus_deco.js | 54 +- 73 files changed, 2894 insertions(+), 5936 deletions(-) create mode 100644 kubejs/assets/buildinggadgets2/lang/lang.json create mode 100644 kubejs/assets/tfg/textures/block/rock/cobble_flavolite.png create mode 100644 kubejs/assets/tfg/textures/block/rock/cobble_sandy_jadestone.png create mode 100644 kubejs/assets/tfg/textures/block/rock/cobble_scorchia.png create mode 100644 kubejs/assets/tfg/textures/block/rock/cobble_scoria.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_flavolite.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_sandy_jadestone.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_scorchia.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_scoria.png create mode 100644 kubejs/assets/tfg/textures/item/brick/flavolite.png create mode 100644 kubejs/assets/tfg/textures/item/brick/sandy_jadestone.png create mode 100644 kubejs/assets/tfg/textures/item/brick/scorchia.png create mode 100644 kubejs/assets/tfg/textures/item/brick/scoria.png create mode 100644 kubejs/assets/tfg/textures/item/loose/flavolite.png create mode 100644 kubejs/assets/tfg/textures/item/loose/sandy_jadestone.png create mode 100644 kubejs/assets/tfg/textures/item/loose/scorchia.png create mode 100644 kubejs/assets/tfg/textures/item/loose/scoria.png delete mode 100644 kubejs/data/minecraft/trim_material/glass_tfc.json delete mode 100644 kubejs/data/tfc/trim_material/glass_tfc.json delete mode 100644 kubejs/server_scripts/tfg/tags.interaction.js delete mode 100644 kubejs/startup_scripts/tfg/stone_types/blocks.aqueducts.js delete mode 100644 kubejs/startup_scripts/tfg/stone_types/blocks.vanilla_stone.js create mode 100644 kubejs/startup_scripts/tfg/stone_types/constants.rocks.js rename kubejs/startup_scripts/{tfc/tag_prefixes.js => tfg/stone_types/tag_prefixes.rocks.js} (90%) diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 587b6037c..40fd2428b 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -905,7 +905,7 @@ Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "item_tag(forge:mars_stone_dusts)" + "ftbfiltersystem:filter": "item_tag(forge:dusts/ochrum)" } } type: "item" diff --git a/kubejs/assets/buildinggadgets2/lang/lang.json b/kubejs/assets/buildinggadgets2/lang/lang.json new file mode 100644 index 000000000..dc82296e0 --- /dev/null +++ b/kubejs/assets/buildinggadgets2/lang/lang.json @@ -0,0 +1,116 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.buildinggadgets2.render_block": "Служебный блок рендера (НЕ ИСПОЛЬЗОВАТЬ)", + "block.buildinggadgets2.template_manager": "Менеджер шаблонов", + "buildinggadgets2.book.landing_text": "Строить стало проще! (Даже если Грег опять требует EU.)", + "buildinggadgets2.book.name": "Гаджеты для чайников", + "buildinggadgets2.buttons.copy": "Копирование", + "buildinggadgets2.buttons.load": "Загрузить", + "buildinggadgets2.buttons.materials": "Материалы", + "buildinggadgets2.buttons.paste": "Вставка", + "buildinggadgets2.buttons.render": "Режим рендера", + "buildinggadgets2.buttons.save": "Сохранить", + "buildinggadgets2.fade": "Затухание", + "buildinggadgets2.grow": "Расширение области", + "buildinggadgets2.growup": "Расширение вверх", + "buildinggadgets2.gui.range": "Рабочий радиус", + "buildinggadgets2.keymapping.mode-switch": "Смена режима гаджета", + "buildinggadgets2.messages.anchorcleared": "Якорь сброшен", + "buildinggadgets2.messages.anchorset": "Якорь установлен: ", + "buildinggadgets2.messages.areatoolarge": "Превышен допустимый размер области. Максимум: %d. Текущий: %d", + "buildinggadgets2.messages.bindfailed": "Ошибка привязки: недопустимый блок", + "buildinggadgets2.messages.bindremoved": "Привязка удалена", + "buildinggadgets2.messages.bindsuccess": "Инвентарь привязан к: %s", + "buildinggadgets2.messages.copyblocks": "Скопировано блоков: %d", + "buildinggadgets2.messages.copycoordsfailed": "Ошибка копирования координат", + "buildinggadgets2.messages.cutblocks": "Вырезано блоков: %d", + "buildinggadgets2.messages.cutinprogress": "Операция вырезания выполняется", + "buildinggadgets2.messages.invalidblock": "Недопустимый блок", + "buildinggadgets2.messages.namealreadyexists": "Указанное имя уже используется", + "buildinggadgets2.messages.namerequired": "Для редпринта требуется имя", + "buildinggadgets2.messages.notenoughenergy": "Недостаточно EU для выполнения операции. Требуется: %d EU. Доступно: %d EU", + "buildinggadgets2.messages.outofpower": "Энергия гаджета исчерпана", + "buildinggadgets2.messages.overwritecut": "В гаджете уже сохранены данные. Повторное действие перезапишет их", + "buildinggadgets2.messages.range_set": "Рабочий радиус установлен: %d", + "buildinggadgets2.messages.redprintgivefail": "Не удалось выдать редпринт %s игроку %s", + "buildinggadgets2.messages.redprintremovefail": "Ошибка удаления редпринта: %s", + "buildinggadgets2.messages.redprintremovesuccess": "Редпринт удалён: %s", + "buildinggadgets2.messages.relativepaste": "Относительная вставка: [%s]", + "buildinggadgets2.messages.render_set": "Тип рендера установлен: %s", + "buildinggadgets2.messages.undofailedunloaded": "Отмена невозможна: чанки не загружены: %s", + "buildinggadgets2.modes.build_to_me": "Построение к игроку", + "buildinggadgets2.modes.copy": "Режим копирования", + "buildinggadgets2.modes.cut": "Режим вырезания", + "buildinggadgets2.modes.grid": "Сеточный режим", + "buildinggadgets2.modes.horizontal_row": "Горизонтальный ряд", + "buildinggadgets2.modes.horizontal_wall": "Горизонтальная стена", + "buildinggadgets2.modes.paste": "Режим вставки", + "buildinggadgets2.modes.stairs": "Лестничный режим", + "buildinggadgets2.modes.surface": "Режим поверхности", + "buildinggadgets2.modes.vertical_column": "Вертикальная колонна", + "buildinggadgets2.modes.vertical_wall": "Вертикальная стена", + "buildinggadgets2.radialmenu.anchor": "Якорь", + "buildinggadgets2.radialmenu.bind": "Привязка инвентаря", + "buildinggadgets2.radialmenu.connected_area": "Связанная область", + "buildinggadgets2.radialmenu.copypastemenu": "Меню параметров", + "buildinggadgets2.radialmenu.cut": "Вырезание", + "buildinggadgets2.radialmenu.fuzzy": "Нечёткое сопоставление", + "buildinggadgets2.radialmenu.materiallist": "Список материалов", + "buildinggadgets2.radialmenu.raytracefluids": "Учитывать жидкости", + "buildinggadgets2.radialmenu.rotate": "Поворот", + "buildinggadgets2.radialmenu.undo": "Отмена операции", + "buildinggadgets2.riseup": "Подъём", + "buildinggadgets2.screen.absolutecoords": "Абсолютные координаты", + "buildinggadgets2.screen.affecttiles": "Обрабатывать блок-сущности", + "buildinggadgets2.screen.cancel": "Отмена", + "buildinggadgets2.screen.clear": "Очистить", + "buildinggadgets2.screen.close": "Закрыть", + "buildinggadgets2.screen.confirm": "Подтвердить", + "buildinggadgets2.screen.copyheading": "Параметры выделения", + "buildinggadgets2.screen.copysubheading": "Абсолютный режим использует координаты блоков", + "buildinggadgets2.screen.depth": "Глубина", + "buildinggadgets2.screen.destructiontoolarge": "Область разрушения превышает лимит", + "buildinggadgets2.screen.down": "Вниз", + "buildinggadgets2.screen.end": "Конец", + "buildinggadgets2.screen.invalidjson": "Недопустимый JSON", + "buildinggadgets2.screen.left": "Влево", + "buildinggadgets2.screen.missingasc": "Не хватает (по возр.)", + "buildinggadgets2.screen.missingdesc": "Не хватает (по убыв.)", + "buildinggadgets2.screen.namefieldtext": "имя?", + "buildinggadgets2.screen.paste_replace": "Заменять блоки (дроп отсутствует)", + "buildinggadgets2.screen.pasteheading": "Параметры размещения", + "buildinggadgets2.screen.placeatop": "Разместить сверху", + "buildinggadgets2.screen.relativecoords": "Относительные координаты", + "buildinggadgets2.screen.requiredasc": "Требуется (по возр.)", + "buildinggadgets2.screen.requireddesc": "Требуется (по убыв.)", + "buildinggadgets2.screen.revert": "Сброс", + "buildinggadgets2.screen.right": "Вправо", + "buildinggadgets2.screen.sortaz": "Сортировать А–Я", + "buildinggadgets2.screen.sortza": "Сортировать Я–А", + "buildinggadgets2.screen.start": "Начало", + "buildinggadgets2.screen.templateplaceholder": "Имя шаблона", + "buildinggadgets2.screen.up": "Вверх", + "buildinggadgets2.snap": "ЩЁЛК!", + "buildinggadgets2.squish": "Сжатие", + "buildinggadgets2.templatename": "Имя: %s", + "buildinggadgets2.tooltips.blockstate": "Блок: %s", + "buildinggadgets2.tooltips.boundto": "Привязано к: %s:%s", + "buildinggadgets2.tooltips.energy": "Энергия: %d / %d EU", + "buildinggadgets2.tooltips.holdshift": "Удерживайте Shift для технической информации", + "buildinggadgets2.tooltips.mode": "Режим: %s", + "buildinggadgets2.tooltips.range": "Рабочий радиус: %d", + "buildinggadgets2.voidwarning": "ВНИМАНИЕ: удалённые блоки не оставляют дроп", + "item.buildinggadgets2.gadget_building": "Строительный гаджет", + "item.buildinggadgets2.gadget_copy_paste": "Гаджет копирования и вставки", + "item.buildinggadgets2.gadget_cut_paste": "Гаджет вырезания и вставки", + "item.buildinggadgets2.gadget_destruction": "Гаджет разрушения", + "item.buildinggadgets2.gadget_exchanging": "Гаджет замены", + "item.buildinggadgets2.redprint": "Редпринт", + "item.buildinggadgets2.template": "Шаблон", + "itemGroup.buildinggadgets2": "Строительные гаджеты 2", + "key.buildinggadgets2.anchor": "Якорь", + "key.buildinggadgets2.category": "Строительные гаджеты 2", + "key.buildinggadgets2.range": "Рабочий радиус", + "key.buildinggadgets2.settings_menu": "Меню параметров", + "key.buildinggadgets2.undo": "Отмена" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/rock/cobble_flavolite.png b/kubejs/assets/tfg/textures/block/rock/cobble_flavolite.png new file mode 100644 index 0000000000000000000000000000000000000000..b647a107422f9fb03e21855c268b676e7dfce888 GIT binary patch literal 546 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0XB4ude`@%$Aj z3=E7{JY5_^G$#56ZS1;ZAW*w)jjjIiB*l)&Pqk(r?LM0q6T8>7?!mvec8a-nilMhc z_9gN1ZB#7yI9Jh$PePh|qKL4Ilw$9_GkdO)213NV`~4b zs_(U{Ja_Sx0*m-V1>6ce+dXF$?)z9*`+v>6*W2HJYvZ*3%HXzks#H(p=Es~3lf83m z^Ga1*YS((OHF$7nCZ98pz1EAgUDBhhI7RBs74|Q+ z7V$f-rp$4^y>h$5q_ic+XOv#CD#*wZ<#hB_VsN-_7Ici^#OhyBm4`382RWx-H#5;W zXU?+p*89`d3~ikaZ0<*^vDFIEwN>QUoL9T*(x?BeC%wJ!h0v}ZSUw|VqzT_91$Ix?Cl$D=iqMd;O^w?6&xCEYv*ci zVQ*w);pG$L;}>G@=x$~0WMOGuhde7aN}%5*A}&mO=s@9N;_;o|OV z3sT_f=Hch)g5*@<{uPcZQ~RXm0<7WVPa|%5ES9)>=_mj=j#{Z z;~yFoo9yc5Yiwd=W$pOhk^LwG0|RG)M`SSr1K(i~W;~w1B87p0L9)a(q9iy!t)x7$ zD3u`~F*C13&(AeP!Bo#s&(N@oL+l&_1H)%e7sn8dV9~R$qnaEov)}-y z2$Ra;D;is8Ih;A?TK4T<{?eE4f6aRy%aD?M`NplhnbuPZy9)(&WLsDNUUz-kvBvWZ z0?apGwp~n|vxHNesp@9n{M$XU>Y68+MGP!nHrw{3`glC*-6U5~&*N7Y6_I{%=Sx49 zf*I$m?s8vWbo8kxE2Gmyh5dTo(yJ8NyKc>p-g@>}-{ydzI|>DQnj4<3b$-wB%$tuv zYwvXa{=OP1n_yq3XvIm>Bct}2^`rn vk(OHN(r5owmaUuqC#)@EeWk^zKlU5EFgZf>FlgfP?VpR znUl)EpfRy_qOHea2brVs!AF%uS*<%XQdant1q$Bv675b{xJ5Lo)L`cq?pY=(ntFXr z*#{5yA6?bly?Gtqx+aAmjF0pzGYb1^4F9-CmH5@$fWK{6wDVm zpA%*Ey!MfRwkOv|%a1LN;wp7dcD?x|{e013rt>_KGq2bbc0}luZMbuAP0ETRmyaa6 zUe$;{v1?7iy+>=pveuOP|2vcr7wuU*_Zi2d2qz}bjtPOzlA;kE7gkM7QgZ!m$p3%C zWB*CsYT=SSGTbYiTA%zl`2Ruq_O!&TOTJvk8s3TD{wKj)Ro0kxciaB{+})K-Kjt@T zuYJ4Ttl_5rrPsN-H7sB9nZ>W?`rc#KD{ok+9&4oH{^_y^7wdz+J^M7-dG0ao&CbhT zTRX>&LGo4BPc{n+mSf#h_P+c0&LKVj|Gdnv-`Ki;O^-g5Z=fq&cMLf;OXKRqH#WU(%q~(1_G`7!;*8lkFH_X zY~wAAUwUEnzW>Z6-eNAykpkUQjtZSTnx~s zU%49gt#7ncud=aJPwFWPFFSnT@Iwc$?ee+TgR)FBE!BVB+pKmme-qoZD8?N}JnmOd zUUA^Bg^};&bUsCvwnT#kzlwSl&KdrnbGC`end8b*g#&6LsXL|J_k5pL65GXl(ftZ@ zLeN(p#fVK(*KT#K(0N;NzgH|`<8FV$_p76CzTYLl-`=e2=(Rl|?p(U`iUZrS3wt+6x2=6Hz+|cZ nPqzO}TjMT~ct$IH_yT8MJy4(a; z4wK%^o6l7hzk0Y(w0gsq*XH@p%#Gvg{`}#4@b~T4PtR6WR{0sqpUKOo|eVg2>rH!g+)d0W{O9x=F> zu2=HQS>PbK__ELZnCtAj#ihGe@#G$VqjXN+d2`JPv9I?Gd%V6%o|BN> zKRfO8wh0ztEBw}F8x?Q}T5XAaA3N*ijRXBWDIMQ0l%1?_k?4DBTopLAYtfHcX;s^! zmd{+aYsIM!KYiEVFOF=e=zDeYbnM}{^Uu03lxd~)M@%;lk6B{BU#?Tm|NY!Y9Let) zc|JW{c5{}Er?KpbR6^Ti~ECv%2R@eR)zmeDI`SX!F}%-n@lq^b`~JmjYld4#=6q*on6|G> zV-`FQ_iRb6 z*nZ(w%h{(DN3ZMoFni=WEfHaOx{k-UTWfLtJDsON7M!h%PNn%S*LYel)0WRwHa9pV zQbVGharSzrjXXCu%zgRg)3W7|Yd`(y_Vw}ia;F7FFdxX2V6@mFxK^~NOvTV|?rdD6Z^CV^eoUNzsHx{E7l$~CP^6Gf`bH?9gQo2@1`S#9s^MJqQ;FyA%& z^>N0b|DP3g`0`XTXB$Z^-MVNUPi}D1W|L#l5r+$AF3Ov{vLc)@=lai_TP$BRJR6J} zf4}oc~p1R7VlJvSyw_CWbd3foo)X4;YEJQE%$syt|e@qa?ke<^D2Fwg^!pQ-D6;2 OVDNPHb6Mw<&;$UmTH_-C literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/gravel_flavolite.png b/kubejs/assets/tfg/textures/block/rock/gravel_flavolite.png new file mode 100644 index 0000000000000000000000000000000000000000..6be6fc499e64196146dc66b819d9bd5e40c1e879 GIT binary patch literal 464 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0XB4ude`@%$Aj z3=E7-o-U3d8WVkke6tTZ2+UpADEsQ*gr?Oh)4wfX+4IHxd-@OgC=I88B}x)!*myU$ zpL(MJxW%`q*+U@lnZ(tdTC;Z_y`$UU?lR4?a+zF9xlQtAqPo|mZ0F36lSp=s^+yBEwl1swk*hX{u% z)*8i%rSe{Mc@pz9hIPTtXa$WTRhg#O=j%_r zowb)!DOvULZ^mdKI;Vst0O%vn9smFU literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/gravel_sandy_jadestone.png b/kubejs/assets/tfg/textures/block/rock/gravel_sandy_jadestone.png new file mode 100644 index 0000000000000000000000000000000000000000..5d4fdd15eb7cf86dab35e825cd12b064063207c1 GIT binary patch literal 458 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0XB4ude`@%$Aj z3=E7lo-U3d8WUrKE@mAv5ZU|MYxTipQQTXVpDnCjVG#d!=HDxIN%fC!e>iBQro*x{ zKs#*ZHl;TYa~A46d8qdM&g99HZT9Tl|H?9u#B*2(l9U9mPRqkOO6#mg}_ zRycfp%&|=NT!3=SD;{pi@4uQiN+gygo_Ot}cxT(Hw*hR=VhbLp82)~~q?%Xy+yS=I z-Ip?q&-X{Ado8)76~fu(@w9B|?rB`1R&zvG-O;(;sx@(j=qZN(?0UZU+~n%dwS2Uw z|9DuXtoqycbP0l+XkKAsf}A literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/gravel_scorchia.png b/kubejs/assets/tfg/textures/block/rock/gravel_scorchia.png new file mode 100644 index 0000000000000000000000000000000000000000..62c082a39316ccd1645bb5c88ffede98646ba7e9 GIT binary patch literal 630 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mY#PZ!4!i{8}9zW%ozL|pkFBpi!(nS7#8q?Kir*9MKqt9UgJ z(y+CQxvp-Mx-MCr7BIJ`{k)W1 zzBw|xRoX)5l@x5E>c97Uha`nH>1o{32^m6j~saP?PdG{>fwXCg9F{PWZ^LKPSD zMTKUBZrr^h`_2K!)m@j(^*=667cn_|U{|EJ^4^U}nQJ#(y_G)i+|Hf5j+HW}TroWA zImc+9g}VRqXmR~lv+f=|x$z^v!fwHB0z7`d+kEmxCM_@STJz-Dt6LgdS`U0$+OBWg zwZ`N{*BTZ7=PHF=x-70?vmT_F8_g7n+{w4`gjdbWg`ufCvO^{3-z-Tp_~xeg_QM2! zdAnrpgY&8{?7Oo)TIHj@T)6fz@#hh`-A31^>{PPh+IgM7q+0Rx(Md+v@6_&gc9Wgf zt$IzZIKJvw_GItm)id{;EvT>ifAHMukFTHm`kzg-ws~^;`1)w)rJ-N%Yee(*DQWvQ zhFuL?(0tjh(#rhs)in=qPKY%xm=M^WW2OAt)>Pl*VOD6apy#723w$4ytUWOO-mKL^ zI~tRXeta*^71G=^>7GW)dCL#_@4qtZA5&g4%~k0CqnDg(!njvoJ;W>X&!_m?Td}B6 mn{{D7+H+6E6t0*5!JWA~{H2!dzoiTe3=E#GelF{r5}E+xY9IIj literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/gravel_scoria.png b/kubejs/assets/tfg/textures/block/rock/gravel_scoria.png new file mode 100644 index 0000000000000000000000000000000000000000..f358f4ac588c7397190a4a7dd70947e685d22809 GIT binary patch literal 631 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mZgPZ!4!i{8-5j{dg|B--So#Ff<3c(ZSDWHO5KUf`Q!QGBEHf71Sz``e21J%UYr zr>=1Dn!T#=*2XhZ2l*7mzMh=;$MXJfoB7|@ZTh@@^JTk@T{F%VG3XuF{9NNYjc>-e zq9q~`(aK916ujBbd=|ZS?akjmAOGggThCC&x6&XXP$E8O)vQFJ1&12Sj%qFXyzxee zsTR+MZEOisTvA>#XtwJ2g&tXC@K5Mso||XO6g~z`*6u?;G;(iWj_g|}vslF`oG;eW z>Y7>o)v1qv-JTKQy03YgM1s|6!_c?U`HMM%uX?=Puq|!pJ%gRq3S6vW=c_r`U-R$=lPGJ&U-4WqB<@6`n2oed_F2%SE@J-i(+xPd5IN@|$jDS+_s8uh~eSzW=)^@KR0rnzegp zoi2Q}d0Wh_h+SC@t2ZQytnNsCDDd{lR+(FWkDfG~eBXG@+L`A*m23C@E}ODAz=UVb zTFtGF;b#?Io_fo$*TOPw=e-{fv#vk2Si1O7L*S*J=bH-V6>x`#=N&&`6JNRYbIsKf zfz>bWW;^doO;~%gGDg04%B=}YnRmH=y1cfwFsAmbz+JuX{n_^_mR^5-;dN<1qC;Sw r#f|(cdE3{2`Tg6**7{BNWBX5r(dOT@!++uMMg2m{88hbFp(?^^u+j`3pd|Gjqm>T}aCcmCa~|BsE4 zL-9h?<4U3>#wfEGs{{m9TAoc_b=(x98%E z9Gaq`p=BFF>^_z`@4uhE|NiC(9ShstLP=(GZ!A|ougTp!rE8N;UC7hGsjSB&YVNZi zC{_I;bLjm1i1pVku0>6CukwQ9$u?0#*}ZRJM_c^ZPc7HLcfVtOFM$IkG{M*ZeJK^Cb7l|GNl zU+gB@Hcbs$6Sn#q!-93$Tdt{iHogDdlGq`@q^TMjDtj<;n&JHOj5~Jh5k2?v=F}e_ z-c4oQ74bHGr|g_%nzPR?+r4|op4uJk=GUK>8AvSHs@9jhNk_SB(S0ZT*DETEYx5fU f{s@1`e<`gHbnK2yoAPA_1_lOCS3j3^P6i(`mI@6}1RS%(co8tkVxy=i-N<>ZW`&d2X9*#6?eW)T}Uo39#{ zUi|@kRz!A9m3XYtlvHluzj5xrHE)?09(TU~ecprz_g&`Y?y|XEa=Ge*w93y=k%f~w z?#_Og`S-z2*hfodsQBRN5KDoZh0QyEwoHx6B_pk0$ z%c_iB-7E@zP7HDJChXZeSuVJq)QYX};N#lkCH}8#mqy{SMN=N#y|VX!WcM=_!A70f zDHpadSUeB#dN_yq1#56;$)e1^j*Thy5!FH(OB2c%eQ)>gUF&|g?PuQpb;%<&bk?n)g?odEyBbd&k2PqEGF4-2ZU>ivGx%v2gd(6>+{v3=9km Mp00i_>zopr0QGl{S^xk5 delta 493 zcmcb|G>2t^W&Jr%7sn8b-m8;*vxNgC+|IY0eByWcj6|08#Tm;?53ZQqq+Q>%|KQpk z8aoQtN;|G7S^Qv|(^~05MZHxbT^+3bk(Jw)f@EJ0kO$7Gwrao40;LT(qn2e2>YeQyoGt zu$N}d-_K~UXZ{xHHy3j~mwc(O{P{?CT5965Nj<5@Gu)+JUR|}i9ltFzM0!u;zXKm8 zG|F{8@aoi7T{@L3UOM+x?)=Wq;1^EMgHvT0j+X`ezJ9q!;?U=cPZ^vHr#Ds2<(TZ4 z%y4^~Wst;DXNPA2)0SOUnsp&y`x7y+ zWw#$~t+d(6eW1Dhau-v<%SR;vC+52G9MPD5UE;jlQ6JUnqn5gH)4M9>u{^lKnZ_~rZWv+CENSV_Ut>pKeIayE$BS7K=Rt!`wDZ<>!fO(Eencdk1(Ek zB+IZZJ@7Q!?c4VAFOoN|1l4fkiXpe(eQ6^>>pkh0b^F9r7v#Vd1d~xa#yc^=e{GJ!%N&hqoFJ& z>3eF#{M*b8f-EIE+{zpkW~P!8JLIP_JYw!@%w5b8oN&W%Ur3k7ZO7YUizE}iq+eXP z%*535-yvqjW#{EC_f2(td)__RMPpLg!lo?SgRzuZ0{%eDT; zgx>1UYo^w?W5F7pwa3`cEZN;yVdZHw^Ju+o^R050 z|H-Xodslxedno7^#b{u%Y4+BqQl{sfcj_5tCNN3#s>x<1pK|Q_zK+qw>wfLo&mA+F ztT*=E37EFv@(~Y@Gt-}{2Bitj3~Jf8Of+lC>!8mzckZYyS)6et+alBT(A|@7i>K&X+lMUhC$Z zdfj~3QY_p~IKTDG-pE&4sw&I%&;R@Ouu5urpZulxXhw$gyfc44djFUG&Gt!isl=bi TDKi-u7#KWV{an^LB{Ts5OMLIe diff --git a/kubejs/assets/tfg/textures/item/brick/mercury_stone.png b/kubejs/assets/tfg/textures/item/brick/mercury_stone.png index 51f69a0803fb3445b2b9a0d860b40f68faf2c1e7..ecd2c905c3968481743dbdb469db655c1101cddc 100644 GIT binary patch delta 317 zcmdnX@|J0WWxc$oi(`mI@6|~g^9~sZIK*EG>zysOxTIkz_oQfKh{_YRk%s+wm9^bd9 zsY%9puUxq7vFF!MG8;lq zIo-YM!SE}HX+uYnS=Mn=2MP6_HfHXb&1`bK?B6;Q=S+~(E{YA9w<>CaoOXss&w(`t zejS@^8Rlu9C=GmH8OFU!=(6UiZx!n{+@1Zw?JYx=<2vqna_>4e+3pL_xt__L@$6T? zr00?ho3Gy4xc|YuxQ9EN7O0y=th+3>hF|sR%j&kY)jxmANObNz=^tPmmdKI;Vst0Ak;&mD8aJIw*_V~<|mvPzkxp+p6xy9t+WZ2I>sLQI`AYlcY`0ta zyXxL;^0pMYDk&q$ctF2C-S^I}v(48pPm=ziyz-{#lOHb=!)@%1op-piA9((`z(9)m z!M`6C{P*`yS#ssV3XWBZZpV+sbZy+jshy#l-d|Gr#drDX)Cv17Sled{|UhiNRzZbvcpAElzZ@;nOyz*ZR3=9k$p00i_>zopr08x<#lK=n! diff --git a/kubejs/assets/tfg/textures/item/brick/moon_stone.png b/kubejs/assets/tfg/textures/item/brick/moon_stone.png index 72baa3320e28cb01318ab7d7c576ce6651d5e144..14f1a3369466c0381ca44367232281d2df8e4928 100644 GIT binary patch delta 312 zcmdnN@`7oCWxbTAi(`mI@6|~g^O_9=9OQEsYAno}+t|BQ{=!2011AnWFMBDp(s@~p zW7?#JT_Tei#14ABm~ew>kx6!Sx4-)S^7Nk%?z_xck~?R~+YRsTH2K)c*+1%Ydy;+f z`t$audMwT-xSelpI>O0xYZJ>0&pFu>1ei3Jwzdl7Y&z4`bEI=}{g&F=dS|c9g%2}T z7@Rm5_K9<^$~w<{K<)Glmx--sT$%kBovZj z@P6l&-eccmxGXr^gf6ctzq!A^lim0HQL7?I!chK;V5pY$$r`i0cbJt8C;wq9T^w%mJK;d~h5KFd-7|NX Vzkc4<#=yY9;OXk;vd$@?2>=R9mjVC) delta 522 zcmaFCw1Z`WW&JBp7sn8b-m8AtTK6x!e6A!aYk{t;+}0aWCK)Cyix;^0-VqRA zcVtJyl1;5!|4E4d67J#L#`f4abBo}|jeEfQ$S$F)>1C#}$u9=-|+&e`p)oYepl7{E%ylwdbzoXa`ZrnY)cD6Z# zgv1?o2c28|2UdNPoPMM6iD0Me?~A<5({(NeuB~%7=MmX2AMY>Gux_0~cB{>``fF-? zC(603cS_PY`SPP-7*}N&S7p~~)*^m6u1BBM`&k30<(6yo>?*E2sca>!Go9B<{+{v) zqx|V{n`WG~vS)Z;qJD19*2%wxL-vIh?!KFGOPnS0Sk(O=XTP{J95`_@xa@GwgCfp7 iC!dy?{*C^{7E zT;ALAuc16vUO;C1de@I17AVKPwKZn&I$3GH^4-G+MGo%|C70cQ{O#*u`x`g!o2>pS zI>$})JTJ#z#=qQy?c`{)ev{xUBMzN{_n@&|Ga;h?kzi}sAjvwih+TF N!PC{xWt~$(69A`~bA3Mj{e1r1f&H9{Q^kT_zAybRmGUX>%YoYWd=ASuuS|b+&-6v4TFz(L zyE_h>-Dmt@ciuqhpX!SFE^DSsbAO+F;+eq)zZ%7LFOj{H4-Mi6urOehmZ1p$WTIaU7cP zC%N#RQ{D>NpMQUBDwn8;)~tqUHG;h= zu~Q_~MPF~Lon2{TQU2~s?T7qR#i1{EuKHsseqG`2cDXE*ckdZO_wDtUu`OTc*c{g$ zD{?vO%1u{8hSU85x=MPEcguw9rKNV<&YLway+`=r&Q&$Ffj@3vaQMbKWA@g7?RQnY zjBLWEG9~PaFqHbHJ>hMF$(z~ge&X7TRFr-DpHwzJ-nr_E{1VqK4ZOKc`Qkxbm%emN zVX{Brr|IIEHs{8KDa#k+RD7?rI67mQ`#ibVIZZRdlv9l2!x?tpm*;wR%<7d#*`$XHoi@*V)I%S?oL`L(jMD-an{+Yt6Y4$yP6gs;d-Mn zWzm_d<#9<{+&nlhaQzb69XwMz{6_osRW@8b*LdDLo!V2oL?^ba;c{v0)jjolm<(p? z+kEF{u5Xwy>0*h`G(GErSi`G1*R;zg-K;6R#~zmC|4Fz+YVMM^?A&op|H5h*=elnF V(_mHfpMima!PC{xWt~$(69Br3jGzDj delta 508 zcmaFCw3=mtW&K@G7sn8b-m8;NXA38a9IZE=InzhY_wpp8`MFJ*JY|9tgkA~%WsV7* zpx5fOJ+iA>euqZMLhhGdF*BzAh|uDirsTAQV`@-r#^(khV?#CGEF;fkJMn81w>^q_ z|IY55<@93xKjs^^7${E{OM7x}*EjPEmsdYmX~=sSahRRsc;CeOvpJ`@w-=pSFPW;Z zvEAbJN}j%>oUWI5|Jv&}eQSF8jD3GxK5`UwZ@$D4$?)R}Bim#5i+|YK7GBP;Td+QA z$6UR=+qzXJF|5(Q|Mbn#_O3~1=S zIA5H2U#;s2OYC#ec7Ol(ITx4|;%j#SDj@q=PbZ>M#Kou1A)(~Q@_ z*fcCZp80?n6NA0h)|yK8EvyYIfBpPX*PP$GKEu=`D6uusx=oVf(p$3)tqTG)N{v!l zIa+dGJ!QJ+(&M3Yw%Pr=jsLp)@!=v3KX+=*lPvnMN)D>>< zHlJQT_n!B&=gXda3~5^RSl~ diff --git a/kubejs/assets/tfg/textures/item/loose/flavolite.png b/kubejs/assets/tfg/textures/item/loose/flavolite.png new file mode 100644 index 0000000000000000000000000000000000000000..570c904ee6ed262a081c5227ec78609e21793356 GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p*lo-U3d7QJ^TE%akG6mUH+6!LV*s+a0}^&J%Fxh)QSv0PBYq^aK_|C_K`=-Cq+ z->=Nvb(huqP^ho^^KbXIeYifWPO7GUU(E5nQQFHtryhR8BjcmVsGzh$OX<)i9qY-N zE!6@FEe$gn7p$5RWTy6ASx2cwAmX~H;K4Hip$uM{Yr9^r^Pf=c7HYUzY;U`5?D}a7 zu650vSe)nFFYk2Y&cTI^@;sia6$8&hI#XtFFaxUvxKcp&sLl%eS|GxUO0!&EwvjwLFk>&c{3Pd*2x7HuA36%BB#; zl`iXb^vv@0JGMT5_bal5i^sir6(^I2Ca0nTL%Qwir|j1v^77}g9C&Caqun}X($gfz zH6n^EbG9}poG(&R>M{JfoZXlGugTF!Z;pq@cilZy={8Aa?b>Yi)JP$x1@o7EEl7^{ zicEiS`g|UvR^#S%bynG(QhB_Ymu4+qG?C{En0u9gS?yShBvNu*Z)fs^Rocmq|5Q zH(p$O(_z^?HD&sHPAB;Wqty%rOBLeOudGu1|MS{}-M4vtjvtuHbbIr<;KHQ`rZyR^ z=5Ug~Y$$Qx|HI$Z+tv%ict2Vxa@6jvn;H7%lP!aM{(A-=b^e%h%m49-7GkEIPHqM{-ghu a_)4js1#-<9pBNYz7(8A5T-G@yGywp9W19p3 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/loose/scoria.png b/kubejs/assets/tfg/textures/item/loose/scoria.png new file mode 100644 index 0000000000000000000000000000000000000000..cddb2dcd26237802e4290351f8355cd7b6848b65 GIT binary patch literal 374 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nkAPZ!4!i{85v&t@G;5OD2Zlxbi;L%~tUCBxBMJnz=`dS>yrUfg;-Ax=`CTK@b8h63otU;~zg=R6*0qp@8t1NjWfcq$Qf9n; zI8Wgb*Li-;F5|vjGxlzwOM9kFzCHiNpR&j6*6lKzbhd5TqgwS#pZ{`KGn#u?Ul;qg c_y=pqot|rJG{gQdFfcH9y85}Sb4q9e0QFj)m;e9( literal 0 HcmV?d00001 diff --git a/kubejs/data/ad_astra/dimension/mars.json b/kubejs/data/ad_astra/dimension/mars.json index 56143d3e6..4d9fc2375 100644 --- a/kubejs/data/ad_astra/dimension/mars.json +++ b/kubejs/data/ad_astra/dimension/mars.json @@ -40,8 +40,8 @@ "hardened": "tfg:rock/hardened_red_granite", "gravel": "tfg:rock/gravel_red_granite", "cobble": "gtceu:red_granite_cobblestone", - "sand": "tfc:sand/red", - "sandstone": "tfc:raw_sandstone/red", + "sand": "minecraft:red_sand", + "sandstone": "minecraft:red_sandstone", "spike": "tfg:spike/red_granite_spike", "loose": "tfg:loose/red_granite" }, diff --git a/kubejs/data/minecraft/trim_material/glass_tfc.json b/kubejs/data/minecraft/trim_material/glass_tfc.json deleted file mode 100644 index 386f866a6..000000000 --- a/kubejs/data/minecraft/trim_material/glass_tfc.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "asset_name": "glass_tfc", - "description": { - "color": "#c2c2c6", - "translate": "trim_material.tfc.glass_tfc" - }, - "ingredient": "gtceu:exquisite_glass_gem", - "item_model_index": 0.189 -} \ No newline at end of file diff --git a/kubejs/data/tfc/trim_material/glass_tfc.json b/kubejs/data/tfc/trim_material/glass_tfc.json deleted file mode 100644 index 386f866a6..000000000 --- a/kubejs/data/tfc/trim_material/glass_tfc.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "asset_name": "glass_tfc", - "description": { - "color": "#c2c2c6", - "translate": "trim_material.tfc.glass_tfc" - }, - "ingredient": "gtceu:exquisite_glass_gem", - "item_model_index": 0.189 -} \ No newline at end of file diff --git a/kubejs/server_scripts/chalk/recipes.js b/kubejs/server_scripts/chalk/recipes.js index 8ebe2909d..51ff9664c 100644 --- a/kubejs/server_scripts/chalk/recipes.js +++ b/kubejs/server_scripts/chalk/recipes.js @@ -131,25 +131,25 @@ const registerChalkRecipes = (evt) => { //Mix dusts for chalk sticks with clay to make an unfired chalk stick. Greggy or Create lets you use tiny dusts if needed evt.recipes.firmalife.mixing_bowl() - .itemIngredients(["minecraft:clay_ball", "#chalk:dusts_for_chalks"]) + .itemIngredients(["minecraft:clay_ball", "tfg:sedimentary_carbonate_dust"]) .outputItem("tfg:unfired_chalk") .id(`chalk:mixing_bowl/unfired_chalk_stick_from_dust`) - - + + evt.recipes.tfc.heating(`tfg:unfired_chalk`, 700) .resultItem(`chalk:white_chalk`) .id(`chalk:heating/undyed_chalk`) global.MINECRAFT_DYE_NAMES.forEach(dyeName => { evt.recipes.tfc.barrel_sealed(1000) - .inputItem('chalk:white_chalk') + .inputItem('#chalk:chalks') .inputFluid(Fluid.of(`tfc:${dyeName}_dye`, 25)) .outputItem(`chalk:${dyeName}_chalk`) .id(`chalk:barrel/dye/${dyeName}_chalk`) //gt mixer works as is evt.recipes.gtceu.chemical_bath(`chalk:gt_mixer/${dyeName}_chalk_from_dust`) - .itemInputs(["minecraft:clay_ball", `#chalk:dusts_for_chalks`]) + .itemInputs(["minecraft:clay_ball", `tfg:sedimentary_carbonate_dust`]) .inputFluids([Fluid.of(`tfc:${dyeName}_dye`, 36)]) .itemOutputs([`chalk:${dyeName}_chalk`]) .duration(600) @@ -157,7 +157,7 @@ const registerChalkRecipes = (evt) => { .category(GTRecipeCategories.CHEM_DYES); //create mixer creates the unfired colored stick, unless heated. - let createIngredients = ["minecraft:clay_ball", `#chalk:dusts_for_chalks`, Fluid.of(`tfc:${dyeName}_dye`, 36)] + let createIngredients = ["minecraft:clay_ball", `tfg:sedimentary_carbonate_dust`, Fluid.of(`tfc:${dyeName}_dye`, 36)] evt.recipes.create.mixing(`tfg:wet_${dyeName}_chalk`, createIngredients) .id(`chalk:create_mixer/wet_${dyeName}_chalk_from_dust`); diff --git a/kubejs/server_scripts/chalk/tags.js b/kubejs/server_scripts/chalk/tags.js index b8c6642ff..681145b65 100644 --- a/kubejs/server_scripts/chalk/tags.js +++ b/kubejs/server_scripts/chalk/tags.js @@ -5,8 +5,4 @@ * @param {TagEvent.Item} evt */ const registerChalkItemTags = (evt) => { - evt.add(`chalk:dusts_for_chalks`, `tfg:chalk_dust`) - evt.add(`chalk:dusts_for_chalks`, `tfg:limestone_dust`) - evt.add(`chalk:dusts_for_chalks`, `tfg:dripstone_dust`) - evt.add(`chalk:dusts_for_chalks`, `tfg:claystone_dust`) } \ No newline at end of file diff --git a/kubejs/server_scripts/createdeco/recipes.js b/kubejs/server_scripts/createdeco/recipes.js index 862e7a9b8..ff015f84f 100644 --- a/kubejs/server_scripts/createdeco/recipes.js +++ b/kubejs/server_scripts/createdeco/recipes.js @@ -138,42 +138,52 @@ const registerCreatedecoRecipes = (event) => { //#endregion //#region Brick Recipes - const brickTypes = ['blue', 'verdant', 'pearl', 'dean', 'dusk', 'scarlet', 'umber'] - const powderTypes = ['lapis_lazuli', 'malachite', 'soda_ash', 'limonite', 'charcoal', 'hematite', 'cassiterite'] - - event.recipes.gtceu.assembler(`assembler_bricks`) - .itemInputs('5x minecraft:brick') - .inputFluids(Fluid.of('gtceu:concrete', 144)) - .itemOutputs(`4x minecraft:bricks`) - .duration(50) - .circuit(2) - .EUt(7) - - brickTypes.forEach(type => { + const dyeTypes = ['blue', 'green', 'white', 'yellow', 'black', 'red', 'brown'] + + global.CREATE_DECO_BRICK_TYPES.forEach((type, index) => { event.remove({ output: `createdeco:${type}_bricks` }); - }); + event.remove({ output: `createdeco:${type}_brick_stairs` }); + event.remove({ output: `createdeco:short_${type}_brick_stairs` }); + event.remove({ output: `createdeco:tiled_${type}_brick_stairs` }); + event.remove({ output: `createdeco:long_${type}_brick_stairs` }); + event.remove({ output: `createdeco:corner_${type}_brick_stairs` }); + event.remove({ output: `createdeco:cracked_${type}_brick_stairs` }); + event.remove({ output: `createdeco:mossy_${type}_brick_stairs` }); + event.remove({ output: `createdeco:${type}_brick_slab` }); + event.remove({ output: `createdeco:short_${type}_brick_slab` }); + event.remove({ output: `createdeco:tiled_${type}_brick_slab` }); + event.remove({ output: `createdeco:long_${type}_brick_slab` }); + event.remove({ output: `createdeco:corner_${type}_brick_slab` }); + event.remove({ output: `createdeco:cracked_${type}_brick_slab` }); + event.remove({ output: `createdeco:mossy_${type}_brick_slab` }); + event.remove({ output: `createdeco:${type}_brick_wall` }); + event.remove({ output: `createdeco:short_${type}_brick_wall` }); + event.remove({ output: `createdeco:tiled_${type}_brick_wall` }); + event.remove({ output: `createdeco:long_${type}_brick_wall` }); + event.remove({ output: `createdeco:corner_${type}_brick_wall` }); + event.remove({ output: `createdeco:cracked_${type}_brick_wall` }); + event.remove({ output: `createdeco:mossy_${type}_brick_wall` }); - brickTypes.forEach((type, index) => { - const powder = `tfc:powder/${powderTypes[index]}`; - event.shaped(Item.of(`createdeco:${type}_bricks`, 4), - [ + if (type !== "red") { + const dye = `#forge:dyes/${dyeTypes[index]}`; + event.shaped(`4x createdeco:${type}_bricks`, [ 'BDB', 'MBM', 'BMB' - ], - { + ], { B: `minecraft:brick`, - D: powder, + D: dye, M: `tfc:mortar` }); - event.recipes.gtceu.assembler(`createdeco:${type}_bricks`) - .itemInputs('5x minecraft:brick', powder) - .inputFluids(Fluid.of('gtceu:concrete', 144)) - .itemOutputs(`4x createdeco:${type}_bricks`) - .circuit(3) - .duration(50) - .EUt(7) + event.recipes.gtceu.assembler(`createdeco:${type}_bricks`) + .itemInputs('5x minecraft:brick', dye) + .inputFluids(Fluid.of('gtceu:concrete', 144)) + .itemOutputs(`4x createdeco:${type}_bricks`) + .circuit(3) + .duration(50) + .EUt(7) + } }); //#endregion diff --git a/kubejs/server_scripts/domum_ornamentum/recipes.js b/kubejs/server_scripts/domum_ornamentum/recipes.js index efcd5245c..1cdacb52d 100644 --- a/kubejs/server_scripts/domum_ornamentum/recipes.js +++ b/kubejs/server_scripts/domum_ornamentum/recipes.js @@ -90,7 +90,7 @@ const registerDomumOrnamentumRecipes = (event) => { A: '#forge:plates/wrought_iron', B: '#tfc:lumber', C: '#forge:plates/brass', - D: '#forge:small_gears', + D: '#forge:small_gears/brass', E: '#forge:buzz_saw_heads' }).id('domum_ornamentum:architectscutter'); @@ -145,126 +145,126 @@ const registerDomumOrnamentumRecipes = (event) => { //Brown Bricks event.shaped(Item.of('domum_ornamentum:brown_bricks', 4), [ - 'BAB', - 'CBC', - 'BAB' + 'BMB', + 'MBM', + 'BDB' ], { - A: 'tfc:brick/chert', - B: 'tfc:mortar', - C: 'minecraft:brick', + B: `minecraft:brick`, + D: '#forge:dyes/brown', + M: `tfc:mortar` }).id('domum_ornamentum:brown_bricks'); event.shaped(Item.of('domum_ornamentum:brown_stone_bricks', 4), [ - 'BCB', - 'ABA', - 'BCB' + 'BMB', + 'MBM', + 'BDB' ], { - A: 'tfc:brick/chert', - B: 'tfc:mortar', - C: 'minecraft:brick', + B: `#tfg:stone_brick`, + D: '#forge:dyes/brown', + M: `tfc:mortar` }).id('domum_ornamentum:brown_stone_bricks'); //Beige Bricks event.shaped(Item.of('domum_ornamentum:beige_bricks', 4), [ - 'BAB', - 'CBC', - 'BAB' + 'BMB', + 'MBM', + 'BDB' ], { - A: 'tfc:brick/conglomerate', - B: 'tfc:mortar', - C: 'minecraft:brick', + B: `minecraft:brick`, + D: '#forge:dyes/light_gray', + M: `tfc:mortar` }).id('domum_ornamentum:beige_bricks'); event.shaped(Item.of('domum_ornamentum:beige_stone_bricks', 4), [ - 'BCB', - 'ABA', - 'BCB' + 'BMB', + 'MBM', + 'BDB' ], { - A: 'tfc:brick/conglomerate', - B: 'tfc:mortar', - C: 'minecraft:brick', + B: `#tfg:stone_brick`, + D: '#forge:dyes/light_gray', + M: `tfc:mortar` }).id('domum_ornamentum:beige_stone_bricks'); //Cream Bricks event.shaped(Item.of('domum_ornamentum:cream_bricks', 4), [ - 'BAB', - 'CBC', - 'BAB' + 'BMB', + 'MBM', + 'BDB' ], { - A: 'tfc:brick/gneiss', - B: 'tfc:mortar', - C: 'minecraft:brick', + B: `minecraft:brick`, + D: '#forge:dyes/orange', + M: `tfc:mortar` }).id('domum_ornamentum:cream_bricks'); event.shaped(Item.of('domum_ornamentum:cream_stone_bricks', 4), [ - 'BCB', - 'ABA', - 'BCB' + 'BMB', + 'MBM', + 'BDB' ], { - A: 'tfc:brick/gneiss', - B: 'tfc:mortar', - C: 'minecraft:brick', + B: `#tfg:stone_brick`, + D: '#forge:dyes/orange', + M: `tfc:mortar` }).id('domum_ornamentum:cream_stone_bricks'); //Roan Bricks event.shaped(Item.of('domum_ornamentum:roan_bricks', 4), [ - 'BAB', - 'CBC', - 'BAB' + 'BMB', + 'MBM', + 'BDB' ], { - A: 'tfc:brick/claystone', - B: 'tfc:mortar', - C: 'minecraft:brick', + B: `minecraft:brick`, + D: '#forge:dyes/red', + M: `tfc:mortar` }).id('domum_ornamentum:roan_bricks'); event.shaped(Item.of('domum_ornamentum:roan_stone_bricks', 4), [ - 'BCB', - 'ABA', - 'BCB' + 'BMB', + 'MBM', + 'BDB' ], { - A: 'tfc:brick/claystone', - B: 'tfc:mortar', - C: 'minecraft:brick', + B: `#tfg:stone_brick`, + D: '#forge:dyes/red', + M: `tfc:mortar` }).id('domum_ornamentum:roan_stone_bricks'); //Sand Bricks event.shaped(Item.of('domum_ornamentum:sand_bricks', 4), [ - 'BAB', - 'CBC', - 'BAB' + 'BMB', + 'MBM', + 'BDB' ], { - A: 'tfc:brick/limestone', - B: 'tfc:mortar', - C: 'minecraft:brick', + B: `minecraft:brick`, + D: '#forge:dyes/yellow', + M: `tfc:mortar` }).id('domum_ornamentum:sand_bricks'); event.shaped(Item.of('domum_ornamentum:sand_stone_bricks', 4), [ - 'BCB', - 'ABA', - 'BCB' + 'BMB', + 'MBM', + 'BDB' ], { - A: 'tfc:brick/limestone', - B: 'tfc:mortar', - C: 'minecraft:brick', + B: `#tfg:stone_brick`, + D: '#forge:dyes/yellow', + M: `tfc:mortar` }).id('domum_ornamentum:sand_stone_bricks'); //#endregion }; \ No newline at end of file diff --git a/kubejs/server_scripts/framed_blocks/recipes.js b/kubejs/server_scripts/framed_blocks/recipes.js index 260d3f25b..571a8438b 100644 --- a/kubejs/server_scripts/framed_blocks/recipes.js +++ b/kubejs/server_scripts/framed_blocks/recipes.js @@ -405,7 +405,7 @@ const registerFramedBlocksRecipes = (event) => { }).id('framedblocks:framed_fence_gate') // Framed Ladder - event.shaped('3x framedblocks:framed_ladder', [ + event.shaped('8x framedblocks:framed_ladder', [ 'A A', 'ABA', 'A A' @@ -416,24 +416,26 @@ const registerFramedBlocksRecipes = (event) => { // Framing Saw event.shaped('framedblocks:framing_saw', [ - ' B ', - 'AAA', + ' E ', + 'CAC', + 'BDB' ], { - A: 'framedblocks:framed_cube', - B: 'gtceu:wrought_iron_buzz_saw_blade' - }).id('framedblocks:framing_saw') + A: '#forge:plates/wrought_iron', + B: 'framedblocks:framed_cube', + C: '#forge:plates/brass', + D: '#forge:small_gears/brass', + E: '#forge:buzz_saw_heads' + }).id('framedblocks:framing_saw'); // Powered Framing Saw event.shaped('framedblocks:powered_framing_saw', [ - 'ABA', - 'CAD', - 'EEE' + 'A', + 'B', + 'C' ], { A: '#forge:glass', - B: 'gtceu:wrought_iron_buzz_saw_blade', - C: 'gtceu:lv_electric_motor', - D: 'gtceu:lv_electric_motor', - E: 'framedblocks:framed_cube' + B: 'framedblocks:framing_saw', + C: 'gtceu:lv_electric_motor' }).id('framedblocks:powered_framing_saw') // Framed Chest diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index dc213996a..cc007dfc9 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -382,10 +382,15 @@ const registerGTCEURecipes = (event) => { .EUt(GTValues.VA[GTValues.LV]) // Ladder consistency + + const nonAdAstraLumber = Ingredient.of('#tfc:lumber').subtract('tfg:wood/lumber/aeronos').subtract('tfg:wood/lumber/strophar'); + event.replaceOutput({ id: 'gtceu:assembler/ladder' }, 'minecraft:ladder', '8x minecraft:ladder') + event.replaceInput({ id: 'tfc:crafting/vanilla/ladder' }, '#tfc:lumber', nonAdAstraLumber) + event.recipes.gtceu.assembler('tfg:ladder_from_lumber') - .itemInputs('#tfc:lumber') + .itemInputs(nonAdAstraLumber.withCount(7)) .itemOutputs('8x minecraft:ladder') .circuit(7) .duration(40) diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index f4353e569..a566cfdec 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -723,7 +723,7 @@ function removeGTCEURecipes(event) { removeMaceratorRecipe(event, 'macerate_marble') removeMaceratorRecipe(event, 'macerate_red_granite') - + removeMaceratorRecipe(event, 'macerate_calcite') removeMaceratorRecipe(event, 'macerate_wool') removeMaceratorRecipe(event, 'macerate_enchanting_table') diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 3aa3c0ce3..738582ec0 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -756,6 +756,22 @@ const registerMinecraftRecipes = (event) => { B: 'minecraft:brick' }).id('tfc:crafting/bricks') + event.recipes.gtceu.assembler(`assembler_bricks`) + .itemInputs('5x minecraft:brick') + .inputFluids(Fluid.of('gtceu:concrete', 144)) + .itemOutputs(`4x minecraft:bricks`) + .duration(50) + .circuit(2) + .EUt(7) + + event.recipes.gtceu.alloy_smelter('tfg:brick_dust_to_brick') + .itemInputs('#forge:dusts/brick') + .notConsumable('gtceu:ingot_casting_mold') + .itemOutputs('minecraft:brick') + .duration(50) + .EUt(GTValues.VA[GTValues.ULV]) + .category(GTRecipeCategories.INGOT_MOLDING) + //#endregion //#region Выход: Элитра, elytra @@ -963,22 +979,18 @@ const registerMinecraftRecipes = (event) => { //#region Stonecutter - event.shaped('minecraft:stonecutter', - [ - ' E ', - 'CAC', - 'BDB' - ], - { - A: '#forge:plates/wrought_iron', - B: '#tfc:lumber', - C: '#forge:plates/brass', - D: '#forge:small_gears', - E: '#forge:buzz_saw_heads' - }).id('tfg:shaped/stonecutter'); + event.shaped('minecraft:stonecutter', [ + ' E ', + 'CAC', + 'BDB' + ], { + A: '#forge:plates/wrought_iron', + B: '#tfc:lumber', + C: '#forge:plates/brass', + D: '#forge:small_gears/brass', + E: '#forge:buzz_saw_heads' + }).id('tfg:shaped/stonecutter'); - event.stonecutting('minecraft:smooth_quartz', 'minecraft:quartz_block') - event.stonecutting('create:cut_deepslate', 'minecraft:polished_deepslate') //#endregion //#region Glowing Ink Sacs @@ -1059,12 +1071,12 @@ const registerMinecraftRecipes = (event) => { // #endregion - // Minecart w/ Furnace - event.shapeless('minecraft:furnace_minecart', ['minecraft:water_bucket', 'gtceu:hp_steam_solid_boiler', 'minecraft:minecart']); + // Minecart w/ Furnace + event.shapeless('minecraft:furnace_minecart', ['minecraft:water_bucket', 'gtceu:hp_steam_solid_boiler', 'minecraft:minecart']); - event.recipes.gtceu.assembler('minecraft:furnace_minecart') - .itemInputs('minecraft:water_bucket', 'gtceu:hp_steam_solid_boiler', 'minecraft:minecart') - .itemOutputs('minecraft:furnace_minecart') - .duration(100) - .EUt(4) + event.recipes.gtceu.assembler('minecraft:furnace_minecart') + .itemInputs('minecraft:water_bucket', 'gtceu:hp_steam_solid_boiler', 'minecraft:minecart') + .itemOutputs('minecraft:furnace_minecart') + .duration(100) + .EUt(4) } diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 6f1e0529f..2c029750c 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -35,8 +35,6 @@ const registerMinecraftItemTags = (event) => { event.add('tfc:bells', 'minecraft:bell') - event.add('tfc:hematitic_sand', 'minecraft:red_sand') - event.add('tfc:makes_black_dye', 'minecraft:ink_sac') event.add('tfc:makes_white_dye', 'minecraft:bone_meal') @@ -45,6 +43,7 @@ const registerMinecraftItemTags = (event) => { event.add("tfg:rubber_plants", "minecraft:spore_blossom") + event.add('tfg:stonecutting/crackrack', 'minecraft:nether_brick_fence') } const registerMinecraftBlockTags = (event) => { diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 8356510e9..595c83b78 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -263,6 +263,12 @@ function registerTFCItemTags(event) { event.add("tfc:green_gravel", "tfc:rock/gravel/schist"); // Розовый event.add("tfc:pink_gravel", "tfc:rock/gravel/granite"); + + // Glassworking sands + event.add('tfc:hematitic_sand', 'minecraft:red_sand'); + event.add('tfc:hematitic_sand', 'ad_astra:mars_sand'); + event.add('tfc:hematitic_sand', 'ad_astra:venus_sand'); + event.add('tfc:olivine_sand', 'ad_astra:moon_sand'); // Теги для объединения наковален event.add("tfc:red_or_blue_anvil", "tfc:metal/anvil/blue_steel"); @@ -444,6 +450,8 @@ function registerTFCItemTags(event) { event.add(`tfg:hanging_sign/${metal}/hardwood`, `beneath:wood/hanging_sign/${metal}/warped`) event.add(`tfg:hanging_sign/${metal}/softwood`, `beneath:wood/hanging_sign/${metal}/crimson`) }) + + event.add('tfc:fluxstone', 'tfg:loose/dripstone') } /** @param {TagEvent.Block} event */ @@ -484,14 +492,7 @@ function registerTFCBlockTags(event) { event.add("tfc:can_start_collapse", "#tfc:rock/smooth"); event.add("tfc:can_trigger_collapse", "#tfc:rock/smooth"); - // Возможность обрушения руды - event.add("tfc:can_collapse", "#forge:ores"); - event.add("tfc:can_start_collapse", "#forge:ores"); - event.add("tfc:can_trigger_collapse", "#forge:ores"); - - event.add("tfc:monster_spawns_on", "#forge:ores"); - event.add("tfc:prospectable", "#forge:ores"); - + // Glassworking blocks event.add("tfc:glass_basin_blocks", "create:brass_block"); event.add("tfc:glass_pouring_table", "create:brass_block"); diff --git a/kubejs/server_scripts/tfg/events.interactions.js b/kubejs/server_scripts/tfg/events.interactions.js index 963d0160d..6a46842ac 100644 --- a/kubejs/server_scripts/tfg/events.interactions.js +++ b/kubejs/server_scripts/tfg/events.interactions.js @@ -1,254 +1,3 @@ - -/** - * @typedef {Object} BrickVariant - * @property {string} brick_type - The name of the brick variant. - * @property {string|null} brick - Main brick block ID. - * @property {string|null} brick_stairs - Brick stairs block ID. - * @property {string|null} brick_slab - Brick slab block ID. - * @property {string|null} brick_wall - Brick wall block ID. - * @property {string|null} cracked_brick - Cracked brick block ID. - * @property {string|null} cracked_stairs - Cracked brick stairs block ID. - * @property {string|null} cracked_slab - Cracked brick slab block ID. - * @property {string|null} cracked_wall - Cracked brick wall block ID. - * @property {string|null} mossy_brick - Mossy brick block ID. - * @property {string|null} mossy_stairs - Mossy brick stairs block ID. - * @property {string|null} mossy_slab - Mossy brick slab block ID. - * @property {string|null} mossy_wall - Mossy brick wall block ID. - * @property {string|null} smooth_brick - Smooth brick block ID. - * @property {string|null} smooth_stairs - Smooth brick stairs block ID. - * @property {string|null} smooth_slab - Smooth brick slab block ID. - * @property {string|null} smooth_wall - Smooth brick wall block ID. - * @property {string|null} chiseled_brick - Chiseled brick block ID. - */ - -const AA_REGULAR_STONES = ['moon', 'mars', 'venus', 'mercury', 'glacio'] - -// #region BRICK_INDEX -/** @type {BrickVariant[]} */ -global.BRICK_INDEX = (global.TFC_STONE_TYPES ? global.TFC_STONE_TYPES : []).map(tfc_stone => ({ - brick_type: tfc_stone, - brick: `tfc:rock/bricks/${tfc_stone}`, brick_stairs: `tfc:rock/bricks/${tfc_stone}_stairs`, brick_slab: `tfc:rock/bricks/${tfc_stone}_slab`, brick_wall: `tfc:rock/bricks/${tfc_stone}_wall`, - cracked_brick: `tfc:rock/cracked_bricks/${tfc_stone}`, cracked_stairs: `tfc:rock/cracked_bricks/${tfc_stone}_stairs`, cracked_slab: `tfc:rock/cracked_bricks/${tfc_stone}_slab`, cracked_wall: `tfc:rock/cracked_bricks/${tfc_stone}_wall`, - mossy_brick: `tfc:rock/mossy_bricks/${tfc_stone}`, mossy_stairs: `tfc:rock/mossy_bricks/${tfc_stone}_stairs`, mossy_slab: `tfc:rock/mossy_bricks/${tfc_stone}_slab`, mossy_wall: `tfc:rock/mossy_bricks/${tfc_stone}_wall`, - smooth_brick: `tfc:rock/smooth/${tfc_stone}`, smooth_stairs: `tfc:rock/smooth/${tfc_stone}_stairs`, smooth_slab: `tfc:rock/smooth/${tfc_stone}_slab`, smooth_wall: `tfc:rock/smooth/${tfc_stone}_wall`, - chiseled_brick: `tfc:rock/chiseled/${tfc_stone}` -})); -(global.CREATE_DECO_BRICK_TYPES ? global.CREATE_DECO_BRICK_TYPES : []).slice(0, -1).forEach(create_brick => { - global.BRICK_INDEX.push({ - brick_type: create_brick, - brick: `createdeco:${create_brick}_bricks`, brick_stairs: `createdeco:${create_brick}_brick_stairs`, brick_slab: `createdeco:${create_brick}_brick_slab`, brick_wall: `createdeco:${create_brick}_brick_wall`, - cracked_brick: `createdeco:cracked_${create_brick}_bricks`, cracked_stairs: `createdeco:cracked_${create_brick}_brick_stairs`, cracked_slab: `createdeco:cracked_${create_brick}_brick_slab`, cracked_wall: `createdeco:cracked_${create_brick}_brick_wall`, - mossy_brick: `createdeco:mossy_${create_brick}_bricks`, mossy_stairs: `createdeco:mossy_${create_brick}_brick_stairs`, mossy_slab: `createdeco:mossy_${create_brick}_brick_slab`, mossy_wall: `createdeco:mossy_${create_brick}_brick_wall`, - smooth_brick: `createdeco:corner_${create_brick}_bricks`, smooth_stairs: `createdeco:corner_${create_brick}_brick_stairs`, smooth_slab: `createdeco:corner_${create_brick}_brick_slab`, smooth_wall: `createdeco:corner_${create_brick}_brick_wall`, - chiseled_brick: `createdeco:tiled_${create_brick}_bricks` - }) -}); -global.BRICK_INDEX = global.BRICK_INDEX.concat([ - // { brick_type: '', - // brick: '', brick_stairs: '', brick_slab: '', brick_wall: '', - // cracked_brick: '', cracked_stairs: '', cracked_slab: '', cracked_wall: '', - // mossy_brick: '', mossy_stairs: '', mossy_slab: '', mossy_wallL: '', - // smooth_brick: '', smooth_stairs: '', smooth_slab: '', smooth_wall: '', - // chiseled_brick: '' }, - - { - brick_type: 'red', - brick: 'minecraft:bricks', brick_stairs: 'minecraft:brick_stairs', brick_slab: 'minecraft:brick_slab', brick_wall: 'minecraft:brick_wall', - cracked_brick: 'createdeco:cracked_red_bricks', cracked_stairs: 'createdeco:cracked_red_brick_stairs', cracked_slab: 'createdeco:cracked_red_brick_slab', cracked_wall: 'createdeco:cracked_red_brick_wall', - mossy_brick: 'createdeco:mossy_red_bricks', mossy_stairs: 'createdeco:mossy_red_brick_stairs', mossy_slab: 'createdeco:mossy_red_brick_slab', mossy_wall: 'createdeco:mossy_red_brick_wall', - smooth_brick: 'createdeco:corner_red_bricks', smooth_stairs: 'createdeco:corner_red_brick_stairs', smooth_slab: 'createdeco:corner_red_brick_slab', smooth_wall: 'createdeco:corner_red_brick_wall', - chiseled_brick: 'createdeco:tiled_red_bricks' - }, - - { - brick_type: 'light_concrete', - brick: 'gtceu:light_concrete_bricks', brick_stairs: null, brick_slab: null, brick_wall: null, - cracked_brick: 'gtceu:cracked_light_concrete_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null, - mossy_brick: 'gtceu:mossy_light_concrete_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null, - smooth_brick: 'gtceu:polished_light_concrete', smooth_stairs: null, smooth_slab: null, smooth_wall: null, - chiseled_brick: 'gtceu:chiseled_light_concrete' - }, - - { - brick_type: 'dark_concrete', - brick: 'gtceu:dark_concrete_bricks', brick_stairs: null, brick_slab: null, brick_wall: null, - cracked_brick: 'gtceu:cracked_dark_concrete_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null, - mossy_brick: 'gtceu:mossy_dark_concrete_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null, - smooth_brick: 'gtceu:polished_dark_concrete', smooth_stairs: null, smooth_slab: null, smooth_wall: null, - chiseled_brick: 'gtceu:chiseled_dark_concrete' - }, - - { - brick_type: 'deepslate', - brick: 'minecraft:deepslate_bricks', brick_stairs: 'minecraft:deepslate_brick_stairs', brick_slab: 'minecraft:deepslate_brick_slab', brick_wall: 'minecraft:deepslate_brick_wall', - cracked_brick: 'minecraft:cracked_deepslate_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_deepslate_stairs', cracked_slab: 'tfg:rock/cracked_bricks_deepslate_slab', cracked_wall: 'tfg:rock/cracked_bricks_deepslate_wall', - mossy_brick: 'tfg:rock/mossy_bricks_deepslate', mossy_stairs: 'tfg:rock/mossy_bricks_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_bricks_deepslate_slab', mossy_wall: 'tfg:rock/mossy_bricks_deepslate_wall', - smooth_brick: 'minecraft:polished_deepslate', smooth_stairs: 'minecraft:polished_deepslate_stairs', smooth_slab: 'minecraft:polished_deepslate_slab', smooth_wall: 'minecraft:polished_deepslate_wall', - chiseled_brick: 'minecraft:chiseled_deepslate' - }, - - { - brick_type: 'deepslate_tiles', - brick: 'minecraft:deepslate_tiles', brick_stairs: 'minecraft:deepslate_tile_stairs', brick_slab: 'minecraft:deepslate_tile_slab', brick_wall: 'minecraft:deepslate_tile_wall', - cracked_brick: 'minecraft:cracked_deepslate_tiles', cracked_stairs: 'tfg:rock/cracked_tiles_deepslate_stairs', cracked_slab: 'tfg:rock/cracked_tiles_deepslate_slab', cracked_wall: 'tfg:rock/cracked_tiles_deepslate_wall', - mossy_brick: null, mossy_stairs: null, mossy_slab: null, mossy_wall: null, - smooth_brick: 'minecraft:polished_deepslate', smooth_stairs: 'minecraft:polished_deepslate_stairs', smooth_slab: 'minecraft:polished_deepslate_slab', smooth_wall: 'minecraft:polished_deepslate_wall', - chiseled_brick: 'minecraft:chiseled_deepslate' - }, - - { - brick_type: 'blackstone', - brick: 'minecraft:polished_blackstone_bricks', brick_stairs: 'minecraft:polished_blackstone_brick_stairs', brick_slab: 'minecraft:polished_blackstone_brick_slab', brick_wall: 'minecraft:polished_blackstone_brick_wall', - cracked_brick: 'minecraft:cracked_polished_blackstone_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_blackstone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_blackstone_slab', cracked_wall: 'tfg:rock/cracked_bricks_blackstone_wall', - mossy_brick: 'tfg:rock/mossy_bricks_blackstone', mossy_stairs: 'tfg:rock/mossy_bricks_blackstone_stairs', mossy_slab: 'tfg:rock/mossy_bricks_blackstone_slab', mossy_wall: 'tfg:rock/mossy_bricks_blackstone_wall', - smooth_brick: 'minecraft:polished_blackstone', smooth_stairs: 'minecraft:polished_blackstone_stairs', smooth_slab: 'minecraft:polished_blackstone_slab', smooth_wall: 'minecraft:polished_blackstone_wall', - chiseled_brick: 'minecraft:chiseled_polished_blackstone' - }, - - { - brick_type: 'dripstone', - brick: 'create:cut_dripstone_bricks', brick_stairs: 'create:cut_dripstone_brick_stairs', brick_slab: 'create:cut_dripstone_brick_slab', brick_wall: 'create:cut_dripstone_brick_wall', - cracked_brick: 'tfg:rock/cracked_bricks_dripstone', cracked_stairs: 'tfg:rock/cracked_bricks_dripstone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_dripstone_slab', cracked_wall: 'tfg:rock/cracked_bricks_dripstone_wall', - mossy_brick: 'tfg:rock/mossy_bricks_dripstone', mossy_stairs: 'tfg:rock/mossy_bricks_dripstone_stairs', mossy_slab: 'tfg:rock/mossy_bricks_dripstone_slab', mossy_wall: 'tfg:rock/mossy_bricks_dripstone_wall', - smooth_brick: 'create:polished_cut_dripstone', smooth_stairs: 'create:polished_cut_dripstone_stairs', smooth_slab: 'create:polished_cut_dripstone_slab', smooth_wall: 'create:polished_cut_dripstone_wall', - chiseled_brick: 'create:small_dripstone_bricks' - }, - - { - brick_type: 'crackrack', - brick: 'minecraft:nether_bricks', brick_stairs: 'minecraft:nether_bricks_stairs', brick_slab: 'minecraft:nether_bricks_slab', brick_wall: 'minecraft:nether_bricks_wall', - cracked_brick: 'minecraft:cracked_nether_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_nether_stairs', cracked_slab: 'tfg:rock/cracked_bricks_nether_slab', cracked_wall: 'tfg:rock/cracked_bricks_nether_wall', - mossy_brick: 'tfg:rock/mossy_bricks_nether', mossy_stairs: 'tfg:rock/mossy_bricks_nether_stairs', mossy_slab: 'tfg:rock/mossy_bricks_nether_slab', mossy_wall: 'tfg:rock/mossy_bricks_nether_wall', - smooth_brick: 'tfg:rock/polished_crackrack', smooth_stairs: 'tfg:rock/polished_crackrack_stairs', smooth_slab: 'tfg:rock/polished_crackrack_slab', smooth_wall: 'tfg:rock/polished_crackrack_wall', - chiseled_brick: 'minecraft:chiseled_nether_bricks' - }, - - { - brick_type: 'moon_deepslate', - brick: 'tfg:rock/bricks_moon_deepslate', brick_stairs: 'tfg:rock/bricks_moon_deepslate_stairs', brick_slab: 'tfg:rock/bricks_moon_deepslate_slab', brick_wall: 'tfg:rock/bricks_moon_deepslate_wall', - cracked_brick: 'tfg:rock/cracked_bricks_moon_deepslate', cracked_stairs: 'tfg:rock/cracked_bricks_moon_deepslate_stairs', cracked_slab: 'tfg:rock/cracked_bricks_moon_slab', cracked_wall: 'tfg:rock/cracked_bricks_moon_wall', - mossy_brick: 'tfg:rock/mossy_bricks_moon_deepslate', mossy_stairs: 'tfg:rock/mossy_bricks_moon_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_bricks_moon_slab', mossy_wall: 'tfg:rock/mossy_bricks_moon_deepslate_wall', - smooth_brick: 'tfg:rock/polished_moon_deepslate', smooth_stairs: 'tfg:rock/polished_moon_deepslate_stairs', smooth_slab: 'ad_astra:polished_moon_stone_slab', smooth_wall: 'tfg:rock/polished_moon_deepslate_wall', - chiseled_brick: 'tfg:rock/chiseled_bricks_moon_deepslate' - }, - - { - brick_type: 'permafrost', - brick: 'ad_astra:permafrost_bricks', brick_stairs: 'ad_astra:permafrost_brick_stairs', brick_slab: 'ad_astra:permafrost_brick_slab', brick_wall: 'ad_astra:permafrost_brick_wall', - cracked_brick: 'ad_astra:cracked_permafrost_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_permafrost_stairs', cracked_slab: 'tfg:rock/cracked_bricks_permafrost_slab', cracked_wall: 'tfg:rock/cracked_bricks_permafrost_wall', - mossy_brick: 'tfg:rock/mossy_bricks_permafrost', mossy_stairs: 'tfg:rock/mossy_bricks_permafrost_stairs', mossy_slab: 'tfg:rock/mossy_bricks_permafrost_slab', mossy_wall: 'tfg:rock/mossy_bricks_permafrost_wall', - smooth_brick: 'ad_astra:polished_permafrost', smooth_stairs: 'ad_astra:polished_permafrost_stairs', smooth_slab: 'ad_astra:polished_permafrost_slab', smooth_wall: 'tfg:rock/polished_permafrost_wall', - chiseled_brick: 'ad_astra:chiseled_permafrost_bricks' - }, - - { - brick_type: 'red_granite', - brick: 'gtceu:red_granite_bricks', brick_stairs: 'tfg:rock/bricks_red_granite_stairs', brick_slab: 'tfg:rock/bricks_red_granite_slab', brick_wall: 'tfg:rock/bricks_red_granite_wall', - cracked_brick: 'gtceu:cracked_red_granite_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_red_granite_stairs', cracked_slab: 'tfg:rock/cracked_bricks_red_granite_slab', cracked_wall: 'tfg:rock/cracked_bricks_red_granite_wall', - mossy_brick: 'gtceu:mossy_red_granite_bricks', mossy_stairs: 'tfg:rock/mossy_bricks_red_granite_stairs', mossy_slab: 'tfg:rock/mossy_bricks_red_granite_slab', mossy_wall: 'tfg:rock/mossy_bricks_red_granite_wall', - smooth_brick: 'gtceu:polished_red_granite', smooth_stairs: 'tfg:rock/polished_red_granite_stairs', smooth_slab: 'tfg:rock/polished_red_granite_slab', smooth_wall: 'tfg:rock/polished_red_granite_wall', - chiseled_brick: 'gtceu:chiseled_red_granite' - }, - - { - brick_type: 'venus_sandstone', - brick: 'ad_astra:venus_sandstone_bricks', brick_stairs: 'ad_astra:venus_sandstone_brick_stairs', brick_slab: 'ad_astra:venus_sandstone_brick_slab', brick_wall: 'tfg:rock/bricks_venus_sandstone_wall', - cracked_brick: 'ad_astra:cracked_venus_sandstone_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_venus_sandstone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_venus_sandstone_slab', cracked_wall: 'tfg:rock/cracked_bricks_stone_wall', - mossy_brick: null, mossy_stairs: null, mossy_slab: null, mossy_wall: null, - smooth_brick: null, smooth_stairs: null, smooth_slab: null, smooth_wall: null, - chiseled_brick: null - }, - - { - brick_type: 'stone', - brick: 'minecraft:stone_bricks', brick_stairs: 'minecraft:stone_brick_stairs', brick_slab: 'minecraft:stone_brick_slab', brick_wall: 'minecraft:stone_brick_wall', - cracked_brick: 'minecraft:cracked_stone_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_stone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_stone_slab', cracked_wall: 'tfg:rock/cracked_bricks_stone_wall', - mossy_brick: 'minecraft:mossy_stone_bricks', mossy_stairs: 'minecraft:mossy_stone_brick_stairs', mossy_slab: 'minecraft:mossy_stone_brick_slab', mossy_wall: 'minecraft:mossy_stone_brick_wall', - smooth_brick: 'minecraft:smooth_stone', smooth_stairs: 'tfg:rock/smooth_stone_stairs', smooth_slab: 'minecraft:smooth_stone_slab', smooth_wall: 'tfg:rock/smooth_stone_wall', - chiseled_brick: 'minecraft:chiseled_stone_bricks' - } -]); - -global.BRICK_INDEX = global.BRICK_INDEX.concat((AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( - { - brick_type: stone, - brick: `ad_astra:${stone}_stone_bricks`, brick_stairs: `ad_astra:${stone}_stone_brick_stairs`, brick_slab: `ad_astra:${stone}_stone_brick_slab`, brick_wall: `ad_astra:${stone}_stone_brick_wall`, - cracked_brick: `ad_astra:cracked_${stone}_stone_bricks`, cracked_stairs: `tfg:rock/cracked_bricks_${stone}_stairs`, cracked_slab: `tfg:rock/cracked_bricks_${stone}_slab`, cracked_wall: `tfg:rock/cracked_bricks_${stone}_wall`, - mossy_brick: `tfg:rock/mossy_bricks_${stone}`, mossy_stairs: `tfg:rock/mossy_bricks_${stone}_stairs`, mossy_slab: `tfg:rock/mossy_bricks_${stone}_slab`, mossy_wall: `tfg:rock/mossy_bricks_${stone}_wall`, - smooth_brick: `ad_astra:polished_${stone}_stone`, smooth_stairs: `ad_astra:polished_${stone}_stone_stairs`, smooth_slab: `ad_astra:polished_${stone}_stone_slab`, smooth_wall: `tfg:rock/polished_${stone}_wall`, - chiseled_brick: `ad_astra:chiseled_${stone}_stone_bricks` - } -))) - -// #endregion BRICK_INDEX - -// #region COBBLE_INDEX -global.COBBLE_INDEX = (global.TFC_STONE_TYPES ? global.TFC_STONE_TYPES : []).map(tfc_stone => ({ - cobble_type: tfc_stone, - block: `tfc:rock/cobble/${tfc_stone}`, stairs: `tfc:rock/cobble/${tfc_stone}_stairs`, slab: `tfc:rock/cobble/${tfc_stone}_slab`, wall: `tfc:rock/cobble/${tfc_stone}_wall`, - mossy_block: `tfc:rock/mossy_cobble/${tfc_stone}`, mossy_stairs: `tfc:rock/mossy_cobble/${tfc_stone}_stairs`, mossy_slab: `tfc:rock/mossy_cobble/${tfc_stone}_slab`, mossy_wall: `tfc:rock/mossy_cobble/${tfc_stone}_wall` -})); - -global.COBBLE_INDEX = global.COBBLE_INDEX.concat([ - { - cobble_type: 'deepslate', - block: 'minecraft:cobbled_deepslate', stairs: 'minecraft:cobbled_deepslate_stairs', slab: 'minecraft:cobbled_deepslate_slab', wall: 'minecraft:cobbled_deepslate_wall', - mossy_block: 'tfg:rock/mossy_cobble_deepslate', mossy_stairs: 'tfg:rock/mossy_cobble_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_cobble_deepslate_slab', mossy_wall: 'tfg:rock/mossy_cobble_deepslate_wall' - }, - - { - cobble_type: 'blackstone', - block: 'tfg:rock/cobble_blackstone', stairs: 'tfg:rock/cobble_blackstone_stairs', slab: 'tfg:rock/cobble_blackstone_slab', wall: 'tfg:rock/cobble_blackstone_wall', - mossy_block: 'tfg:rock/mossy_cobble_blackstone', mossy_stairs: 'tfg:rock/mossy_cobble_blackstone_stairs', mossy_slab: 'tfg:rock/mossy_cobble_blackstone_slab', mossy_wall: 'tfg:rock/mossy_cobble_blackstone_wall' - }, - - { - cobble_type: 'dripstone', - block: 'tfg:rock/cobble_dripstone', stairs: 'tfg:rock/cobble_dripstone_stairs', slab: 'tfg:rock/cobble_dripstone_slab', wall: 'tfg:rock/cobble_dripstone_wall', - mossy_block: 'tfg:rock/mossy_cobble_dripstone', mossy_stairs: 'tfg:rock/mossy_cobble_dripstone_stairs', mossy_slab: 'tfg:rock/mossy_cobble_dripstone_slab', mossy_wall: 'tfg:rock/mossy_cobble_dripstone_wall' - }, - - { - cobble_type: 'crackrack', - block: 'tfg:rock/cobble_crackrack', stairs: 'tfg:rock/cobble_crackrack_stairs', slab: 'tfg:rock/cobble_crackrack_slab', wall: 'tfg:rock/cobble_crackrack_wall', - mossy_block: 'tfg:rock/mossy_cobble_crackrack', mossy_stairs: 'tfg:rock/mossy_cobble_crackrack_stairs', mossy_slab: 'tfg:rock/mossy_cobble_crackrack_slab', mossy_wall: 'tfg:rock/mossy_cobble_crackrack_wall' - }, - - { - cobble_type: 'moon_deepslate', - block: 'tfg:rock/cobble_moon_deepslate', stairs: 'tfg:rock/cobble_moon_deepslate_stairs', slab: 'tfg:rock/cobble_moon_deepslate_slab', wall: 'tfg:rock/cobble_moon_deepslate_wall', - mossy_block: 'tfg:rock/mossy_cobble_moon_deepslate', mossy_stairs: 'tfg:rock/mossy_cobble_moon_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_cobble_moon_deepslate_slab', mossy_wall: 'tfg:rock/mossy_cobble_moon_deepslate_wall' - }, - - { - cobble_type: 'permafrost', - block: 'tfg:rock/cobble_permafrost', stairs: 'tfg:rock/cobble_permafrost_stairs', slab: 'tfg:rock/cobble_permafrost_slab', wall: 'tfg:rock/cobble_permafrost_wall', - mossy_block: 'tfg:rock/mossy_cobble_permafrost', mossy_stairs: 'tfg:rock/mossy_cobble_permafrost_stairs', mossy_slab: 'tfg:rock/mossy_cobble_permafrost_slab', mossy_wall: 'tfg:rock/mossy_cobble_permafrost_wall' - }, - - { - cobble_type: 'red_granite', - block: 'gtceu:red_granite_cobblestone', stairs: 'tfg:rock/cobble_red_granite_stairs', slab: 'tfg:rock/cobble_red_granite_slab', wall: 'tfg:rock/cobble_red_granite_wall', - mossy_block: 'gtceu:mossy_red_granite_cobblestone', mossy_stairs: 'tfg:rock/mossy_cobble_red_granite_stairs', mossy_slab: 'tfg:rock/mossy_cobble_red_granite_slab', mossy_wall: 'tfg:rock/mossy_cobble_red_granite_wall' - }, - - { - cobble_type: 'stone', - block: 'minecraft:cobblestone', stairs: 'minecraft:cobblestone_stairs', slab: 'minecraft:cobblestone_slab', wall: 'minecraft:cobblestone_wall', - mossy_block: 'minecraft:mossy_cobblestone', mossy_stairs: 'minecraft:mossy_cobblestone_stairs', mossy_slab: 'minecraft:mossy_cobblestone_slab', mossy_wall: 'minecraft:mossy_cobblestone_wall' - } -]); - -global.COBBLE_INDEX = global.COBBLE_INDEX.concat((AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( - { - cobble_type: stone, - block: `ad_astra:${stone}_cobblestone`, stairs: `ad_astra:${stone}_cobblestone_stairs`, slab: `ad_astra:${stone}_cobblestone_slab`, wall: `tfg:rock/cobble_${stone}_wall`, - mossy_block: `tfg:rock/mossy_cobble_${stone}`, mossy_stairs: `tfg:rock/mossy_cobble_${stone}_stairs`, mossy_slab: `tfg:rock/mossy_cobble_${stone}_slab`, mossy_wall: `tfg:rock/mossy_cobble_${stone}_wall` - } -))) - -// #endregion COBBLE_INDEX - /** * Function for replacing a block with another block by crouch-right-clicking with a tool. * @@ -408,85 +157,80 @@ function transformBlockWithItem(event, inputBlock, outputBlock, itemId, consumeI event.server.runCommandSilent(`execute in ${event.block.level.name.getString()} run setblock ${block.x} ${block.y} ${block.z} ${outputBlock}${state}`) }; +// ================================================ +// Looking to add a recipe to JEI? It's in TFG-Core +// ================================================ + // Declare Events BlockEvents.rightClicked(event => { //Brick index events - for (const b of global.BRICK_INDEX) { - //brick -> cracked - transformBlockWithTool(event, b.brick, b.cracked_brick, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithTool(event, b.brick_stairs, b.cracked_stairs, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithTool(event, b.brick_slab, b.cracked_slab, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithTool(event, b.brick_wall, b.cracked_wall, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - //brick -> mossy - transformBlockWithItem(event, b.brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick_stairs, b.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick_stairs, b.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick_slab, b.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick_slab, b.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick_wall, b.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick_wall, b.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - //cracked -> mossy - transformBlockWithItem(event, b.cracked_brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_stairs, b.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_stairs, b.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_slab, b.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_slab, b.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_wall, b.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_wall, b.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - //mossy -> cracked - transformBlockWithTool(event, b.mossy_brick, b.cracked_brick, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithTool(event, b.mossy_stairs, b.cracked_stairs, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithTool(event, b.mossy_slab, b.cracked_slab, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithTool(event, b.mossy_wall, b.cracked_wall, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - //mossy -> brick - transformBlockWithTool(event, b.mossy_brick, b.brick, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.mossy_brick, b.brick, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithTool(event, b.mossy_stairs, b.brick_stairs, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.mossy_stairs, b.brick_stairs, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithTool(event, b.mossy_slab, b.brick_slab, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.mossy_slab, b.brick_slab, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithTool(event, b.mossy_wall, b.brick_wall, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.mossy_wall, b.brick_wall, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - //cracked -> brick - transformBlockWithItem(event, b.cracked_brick, b.brick, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); - transformBlockWithItem(event, b.cracked_stairs, b.brick_stairs, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); - transformBlockWithItem(event, b.cracked_slab, b.brick_slab, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); - transformBlockWithItem(event, b.cracked_wall, b.brick_wall, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); - // brick -> smooth - transformBlockWithTool(event, b.brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); - transformBlockWithTool(event, b.mossy_brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); - transformBlockWithTool(event, b.cracked_brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); - // smooth -> brick - transformBlockWithTool(event, b.smooth_brick, b.cracked_brick, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithItem(event, b.smooth_brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.smooth_brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithTool(event, b.smooth_brick, b.brick, '#forge:tools/files', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); + for (let [rockId, rock] of Object.entries(global.BIG_ROCK_TABLE)) { + if (rock.bricks != null) { + if (rock.bricks.cracked != null) { + //brick -> cracked + transformBlockWithTool(event, rock.bricks.block, rock.bricks.cracked.block, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, rock.bricks.stair, rock.bricks.cracked.stair, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, rock.bricks.slab, rock.bricks.cracked.slab, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, rock.bricks.wall, rock.bricks.cracked.wall, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + //cracked -> brick + transformBlockWithItem(event, rock.bricks.cracked.block, rock.bricks.block, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); + transformBlockWithItem(event, rock.bricks.cracked.stair, rock.bricks.stair, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); + transformBlockWithItem(event, rock.bricks.cracked.slab, rock.bricks.slab, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); + transformBlockWithItem(event, rock.bricks.cracked.wall, rock.bricks.wall, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); + } + if (rock.bricks.mossy != null) { + //brick -> mossy + transformBlockWithItem(event, rock.bricks.block, rock.bricks.mossy.block, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, rock.bricks.stair, rock.bricks.mossy.stair, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, rock.bricks.slab, rock.bricks.mossy.slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, rock.bricks.wall, rock.bricks.mossy.wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + //mossy -> brick + transformBlockWithTool(event, rock.bricks.mossy.block, rock.bricks.block, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, rock.bricks.mossy.block, rock.bricks.block, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, rock.bricks.mossy.stair, rock.bricks.stair, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, rock.bricks.mossy.stair, rock.bricks.stair, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, rock.bricks.mossy.slab, rock.bricks.slab, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, rock.bricks.mossy.slab, rock.bricks.slab, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, rock.bricks.mossy.wall, rock.bricks.wall, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, rock.bricks.mossy.wall, rock.bricks.wall, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + } + if (rock.bricks.cracked != null && rock.bricks.mossy != null) { + //cracked -> mossy + transformBlockWithItem(event, rock.bricks.cracked.block, rock.bricks.mossy.block, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, rock.bricks.cracked.stair, rock.bricks.mossy.stair, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, rock.bricks.cracked.slab, rock.bricks.mossy.slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, rock.bricks.cracked.wall, rock.bricks.mossy.wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + //mossy -> cracked + transformBlockWithTool(event, rock.bricks.mossy.block, rock.bricks.cracked.block, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, rock.bricks.mossy.stair, rock.bricks.cracked.stair, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, rock.bricks.mossy.slab, rock.bricks.cracked.slab, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, rock.bricks.mossy.wall, rock.bricks.cracked.wall, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + } + if (rock.polished != null) { + // brick -> smooth + transformBlockWithTool(event, rock.bricks.block, rock.polished.block, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); + transformBlockWithTool(event, rock.bricks.mossy.block, rock.polished.block, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); + transformBlockWithTool(event, rock.bricks.cracked.block, rock.polished.block, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); + } + } + if (rock.cobble != null && rock.cobble.mossy) { + //cobble -> mossy + transformBlockWithItem(event, rock.cobble.block, rock.cobble.mossy.block, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, rock.cobble.stair, rock.cobble.mossy.stair, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, rock.cobble.slab, rock.cobble.mossy.slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, rock.cobble.wall, rock.cobble.mossy.wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + //mossy -> cobble + transformBlockWithTool(event, rock.cobble.mossy.block, rock.cobble.block, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, rock.cobble.mossy.block, rock.cobble.block, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, rock.cobble.mossy.stair, rock.cobble.stair, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, rock.cobble.mossy.stair, rock.cobble.stair, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, rock.cobble.mossy.slab, rock.cobble.slab, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, rock.cobble.mossy.slab, rock.cobble.slab, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, rock.cobble.mossy.wall, rock.cobble.wall, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, rock.cobble.mossy.wall, rock.cobble.wall, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + } } - - //Cobble index events - for (const c of global.COBBLE_INDEX) { - //cobble -> mossy - transformBlockWithItem(event, c.block, c.mossy_block, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.block, c.mossy_block, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.stairs, c.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.stairs, c.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.slab, c.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.slab, c.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.wall, c.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.wall, c.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - //mossy -> cobble - transformBlockWithTool(event, c.mossy_block, c.block, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.mossy_block, c.block, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithTool(event, c.mossy_stairs, c.stairs, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.mossy_stairs, c.stairs, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithTool(event, c.mossy_slab, c.slab, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.mossy_slab, c.slab, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithTool(event, c.mossy_wall, c.wall, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.mossy_wall, c.wall, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - } - + //Misc Events transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:glacian_wool_frame', 'tfg:glacian_wool', true, 2, 'block.wool.place', 'minecraft:happy_villager', true); transformBlockWithToolReturn(event, 'tfg:glacian_wool_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:glacian_wool', 2,'#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); diff --git a/kubejs/server_scripts/tfg/json_tool.armor_trim.js b/kubejs/server_scripts/tfg/json_tool.armor_trim.js index d7bbc80b6..688d5c890 100644 --- a/kubejs/server_scripts/tfg/json_tool.armor_trim.js +++ b/kubejs/server_scripts/tfg/json_tool.armor_trim.js @@ -38,7 +38,6 @@ const materials = [ {materialName: 'quartzite_tfc', nameColor: '#b8bab8', itemName: 'gtceu:exquisite_quartzite_gem', indexNumber: 0.186}, {materialName: 'realgar_tfc', nameColor: '#c22e28', itemName: 'gtceu:exquisite_realgar_gem', indexNumber: 0.187}, {materialName: 'malachite_tfc', nameColor: '#00b789', itemName: 'gtceu:exquisite_malachite_gem', indexNumber: 0.188}, - {materialName: 'glass_tfc', nameColor: '#c2c2c6', itemName: 'gtceu:exquisite_glass_gem', indexNumber: 0.189}, {materialName: 'olivine_tfc', nameColor: '#7fad03', itemName: 'gtceu:exquisite_olivine_gem', indexNumber: 0.171}, {materialName: 'opal_tfc', nameColor: '#bdadb6', itemName: 'gtceu:exquisite_opal_gem', indexNumber: 0.172}, {materialName: 'amethyst_tfc', nameColor: '#9b78ba', itemName: 'gtceu:exquisite_amethyst_gem', indexNumber: 0.173}, diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js index a6605e02c..12ac9db8a 100644 --- a/kubejs/server_scripts/tfg/mars/tags.mars.js +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -326,22 +326,6 @@ function registerTFGMarsBlockTags(event) { event.add('tfg:decorative_plant_attachable', 'tfg:warped_wart_block') event.add('tfg:decorative_plant_attachable', 'betterend:cave_bush') event.add('tfg:decorative_plant_attachable', 'betterend:lucernia_leaves') - - event.add('minecraft:mineable/shovel', 'tfg:ash_pile') - event.add('minecraft:mineable/shovel', 'tfg:pile/black_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/white_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/brown_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/red_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/yellow_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/pink_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/green_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/moon_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/mars_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/venus_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/hematitic_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/mars_sand_covering') - event.add('minecraft:mineable/shovel', 'tfg:pile/venus_sand_covering') - event.add('minecraft:mineable/shovel', 'tfg:pile/hematitic_sand_covering') } function registerTFGMarsBiomeTags(event) { diff --git a/kubejs/server_scripts/tfg/moon/recipes.regolith.js b/kubejs/server_scripts/tfg/moon/recipes.regolith.js index 1d43f7489..3ccc3fc83 100644 --- a/kubejs/server_scripts/tfg/moon/recipes.regolith.js +++ b/kubejs/server_scripts/tfg/moon/recipes.regolith.js @@ -37,7 +37,7 @@ function registerTFGMoonRegolithRecipes(event) { //#region Regolith Vapor Processing event.recipes.gtceu.mixer('tfg:regolith_slurry_suspension') - .itemInputs('ad_astra:moon_sand', 'tfg:dry_ice') + .itemInputs('#forge:dusts/asurine', 'tfg:dry_ice') .itemOutputs('#forge:dusts/regolith_mush') .dimension('ad_astra:moon') .duration(20 * 60) diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.collapse.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.collapse.js index 25c6a741b..bc51a4789 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.collapse.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.collapse.js @@ -5,97 +5,44 @@ * @param {Internal.RecipesEventJS} event */ function registerTFGCollapseRecipes(event) { + + // Rocks + for (let [rockId, rock] of Object.entries(global.BIG_ROCK_TABLE)) { - // #region Nether - event.recipes.tfc.collapse('minecraft:cobbled_deepslate', 'minecraft:deepslate') - event.recipes.tfc.collapse('minecraft:cobbled_deepslate', 'tfg:rock/hardened_deepslate') - event.recipes.tfc.collapse('tfg:rock/cobble_blackstone', 'minecraft:blackstone') - event.recipes.tfc.collapse('tfg:rock/cobble_blackstone', 'tfg:rock/hardened_blackstone') - event.recipes.tfc.collapse('tfg:rock/cobble_dripstone', 'minecraft:dripstone_block') - event.recipes.tfc.collapse('tfg:rock/cobble_dripstone', 'tfg:rock/hardened_dripstone') - event.recipes.tfc.collapse('tfg:rock/cobble_crackrack', 'beneath:crackrack') - event.recipes.tfc.collapse('tfc:rock/cobble/basalt', 'minecraft:basalt') + if (rock.cobble != null) { + if (rock.raw != null) { + event.recipes.tfc.collapse(rock.cobble.block, rock.raw.block); + } + if (rock.hardened != null) { + event.recipes.tfc.collapse(rock.cobble.block, rock.hardened); + } - event.recipes.tfc.collapse('minecraft:cobbled_deepslate', '#forge:ores_in_ground/deepslate') - event.recipes.tfc.collapse('tfg:rock/cobble_blackstone', '#forge:ores_in_ground/pyroxenite') - event.recipes.tfc.collapse('tfg:rock/cobble_dripstone', '#forge:ores_in_ground/dripstone') - + event.recipes.tfc.collapse(rock.cobble.block, `#forge:ores_in_ground/${rockId}`) + + event.recipes.tfc.landslide(rock.cobble.block, rock.cobble.block); + + if (rock.cobble.mossy != null) { + event.recipes.tfc.landslide(rock.cobble.mossy.block, rock.cobble.mossy.block); + } + } + + if (rock.gravel != null) { + event.recipes.tfc.landslide(rock.gravel, rock.gravel); + } + } + + event.recipes.tfc.collapse('#tfg:rock_slabs').id('tfg:collapse/rock_slabs') + event.recipes.tfc.collapse('#tfg:rock_stairs').id('tfg:collapse/rock_stairs') + event.recipes.tfc.collapse('#tfg:rock_walls').id('tfg:collapse/rock_walls') + + // Nether + event.recipes.tfc.collapse('tfc:rock/cobble/basalt', 'minecraft:basalt') event.recipes.tfc.landslide('tfg:ash_pile', 'tfg:ash_pile') - event.recipes.tfc.landslide('minecraft:cobbled_deepslate', 'minecraft: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') - event.recipes.tfc.landslide('tfg:rock/mossy_cobble_dripstone', 'tfg:rock/mossy_cobble_dripstone') - event.recipes.tfc.landslide('tfg:rock/cobble_crackrack', 'tfg:rock/cobble_crackrack') - event.recipes.tfc.landslide('tfg:rock/mossy_cobble_crackrack', 'tfg:rock/mossy_cobble_crackrack') - - event.recipes.tfc.landslide('tfg:rock/gravel_deepslate', 'tfg:rock/gravel_deepslate') - event.recipes.tfc.landslide('tfg:rock/gravel_blackstone', 'tfg:rock/gravel_blackstone') - event.recipes.tfc.landslide('tfg:rock/gravel_dripstone', 'tfg:rock/gravel_dripstone') - event.recipes.tfc.landslide('tfg:rock/gravel_crackrack', 'tfg:rock/gravel_crackrack') - - // #endregion Nether - - // #region Space - event.recipes.tfc.collapse('ad_astra:moon_cobblestone', 'ad_astra:moon_stone') - event.recipes.tfc.collapse('ad_astra:moon_cobblestone', 'tfg:rock/hardened_moon_stone') - event.recipes.tfc.landslide('ad_astra:moon_cobblestone', 'ad_astra:moon_cobblestone') - event.recipes.tfc.collapse('ad_astra:moon_cobblestone', '#forge:ores_in_ground/moon_stone') - event.recipes.tfc.landslide('tfg:rock/mossy_cobble_moon', 'tfg:rock/mossy_cobble_moon') - event.recipes.tfc.landslide('tfg:rock/gravel_moon', 'tfg:rock/gravel_moon') - - event.recipes.tfc.collapse('ad_astra:moon_deepslate', 'ad_astra:moon_deepslate') - event.recipes.tfc.collapse('ad_astra:moon_deepslate', 'tfg:rock/hardened_moon_deepslate') - event.recipes.tfc.collapse('ad_astra:moon_deepslate', '#forge:ores_in_ground/moon_deepslate') - event.recipes.tfc.landslide('tfg:rock/cobble_moon_deepslate', 'tfg:rock/cobble_moon_deepslate') - event.recipes.tfc.landslide('tfg:rock/mossy_cobble_moon_deepslate', 'tfg:rock/mossy_cobble_moon_deepslate') - event.recipes.tfc.landslide('tfg:rock/gravel_moon_deepslate', 'tfg:rock/gravel_moon_deepslate') + // Space event.recipes.tfc.landslide('ad_astra:moon_sand', 'ad_astra:moon_sand') - - event.recipes.tfc.collapse('ad_astra:glacio_cobblestone', 'ad_astra:glacio_stone') - event.recipes.tfc.collapse('ad_astra:glacio_cobblestone', 'tfg:rock/hardened_glacio_stone') - event.recipes.tfc.collapse('ad_astra:glacio_cobblestone', '#forge:ores_in_ground/glacio_stone') - event.recipes.tfc.landslide('ad_astra:glacio_cobblestone', 'ad_astra:glacio_cobblestone') - event.recipes.tfc.landslide('tfg:rock/mossy_cobble_glacio', 'tfg:rock/mossy_cobble_glacio') - event.recipes.tfc.landslide('tfg:rock/gravel_glacio', 'tfg:rock/gravel_glacio') - - event.recipes.tfc.collapse('ad_astra:mars_cobblestone', 'ad_astra:mars_stone') - event.recipes.tfc.collapse('ad_astra:mars_cobblestone', 'tfg:rock/hardened_mars_stone') - event.recipes.tfc.collapse('ad_astra:mars_cobblestone', '#forge:ores_in_ground/mars_stone') - event.recipes.tfc.landslide('ad_astra:mars_cobblestone', 'ad_astra:mars_cobblestone') - event.recipes.tfc.landslide('tfg:rock/mossy_cobble_mars', 'tfg:rock/mossy_cobble_mars') - event.recipes.tfc.landslide('tfg:rock/gravel_mars', 'tfg:rock/gravel_mars') event.recipes.tfc.landslide('ad_astra:mars_sand', 'ad_astra:mars_sand') - - event.recipes.tfc.collapse('ad_astra:venus_cobblestone', 'ad_astra:venus_stone') - event.recipes.tfc.collapse('ad_astra:venus_cobblestone', 'tfg:rock/hardened_venus_stone') - event.recipes.tfc.collapse('ad_astra:venus_cobblestone', '#forge:ores_in_ground/venus_stone') - event.recipes.tfc.landslide('ad_astra:venus_cobblestone', 'ad_astra:venus_cobblestone') - event.recipes.tfc.landslide('tfg:rock/mossy_cobble_venus', 'tfg:rock/mossy_cobble_venus') - event.recipes.tfc.landslide('tfg:rock/gravel_venus', 'tfg:rock/gravel_venus') event.recipes.tfc.landslide('ad_astra:venus_sand', 'ad_astra:venus_sand') - - event.recipes.tfc.collapse('ad_astra:mercury_cobblestone', 'ad_astra:mercury_stone') - event.recipes.tfc.collapse('ad_astra:mercury_cobblestone', 'tfg:rock/hardened_mercury_stone') - event.recipes.tfc.collapse('ad_astra:mercury_cobblestone', '#forge:ores_in_ground/mercury_stone') - event.recipes.tfc.landslide('ad_astra:mercury_cobblestone', 'ad_astra:mercury_cobblestone') - event.recipes.tfc.landslide('tfg:rock/mossy_cobble_mercury', 'tfg:rock/mossy_cobble_mercury') - event.recipes.tfc.landslide('tfg:rock/gravel_mercury', 'tfg:rock/gravel_mercury') - - event.recipes.tfc.collapse('tfg:rock/cobble_permafrost', 'ad_astra:permafrost') - event.recipes.tfc.collapse('tfg:rock/cobble_permafrost', '#forge:ores_in_ground/permafrost') - event.recipes.tfc.landslide('tfg:rock/cobble_permafrost', 'tfg:rock/cobble_permafrost') - event.recipes.tfc.landslide('tfg:rock/mossy_cobble_permafrost', 'tfg:rock/mossy_cobble_permafrost') - event.recipes.tfc.landslide('tfg:rock/gravel_permafrost', 'tfg:rock/gravel_permafrost') - - event.recipes.tfc.collapse('gtceu:red_granite_cobblestone', 'gtceu:red_granite') - event.recipes.tfc.collapse('gtceu:red_granite_cobblestone', 'tfg:rock/hardened_red_granite') - event.recipes.tfc.collapse('gtceu:red_granite_cobblestone', '#forge:ores_in_ground/red_granite') - event.recipes.tfc.landslide('gtceu:red_granite_cobblestone', 'gtceu:red_granite_cobblestone') - event.recipes.tfc.landslide('tfg:rock/mossy_cobble_red_granite', 'tfg:rock/mossy_cobble_red_granite') - event.recipes.tfc.landslide('tfg:rock/gravel_red_granite', 'tfg:rock/gravel_red_granite') event.recipes.tfc.landslide('minecraft:red_sand', 'minecraft:red_sand') event.recipes.tfc.landslide('tfg:grass/mars_dirt', 'tfg:grass/mars_dirt') @@ -119,15 +66,7 @@ function registerTFGCollapseRecipes(event) { event.recipes.tfc.landslide('tfg:sand/fluorapatite/orange', 'tfg:sand/fluorapatite/orange') event.recipes.tfc.landslide('tfg:sand/fluorapatite/white', 'tfg:sand/fluorapatite/white') event.recipes.tfc.landslide('tfg:sand/fluorapatite/yellow', 'tfg:sand/fluorapatite/yellow') - // #endregion - // #region Other - event.recipes.tfc.collapse('#tfg:rock_slabs').id('tfg:collapse/rock_slabs') - event.recipes.tfc.collapse('#tfg:rock_stairs').id('tfg:collapse/rock_stairs') - event.recipes.tfc.collapse('#tfg:rock_walls').id('tfg:collapse/rock_walls') - - event.recipes.tfc.collapse('minecraft:cobblestone', 'minecraft:stone') - event.recipes.tfc.landslide('minecraft:cobblestone', 'minecraft:cobblestone') - event.recipes.tfc.landslide('minecraft:mossy_cobblestone', 'minecraft:mossy_cobblestone') - // #endregion + // Other + event.recipes.tfc.collapse("#forge:raw_ore_blocks"); } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js index b305c5209..fe60118ed 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js @@ -1,19 +1,28 @@ "use strict"; function registerTFGConcreteRecipes(event) { + + event.remove({ id: 'gtceu:mixer/concrete_from_marble' }) + event.remove({ id: 'greate:mixing/integration/gtceu/mixer/concrete_from_marble' }) - const recipe = event.recipes.gtceu.mixer('concrete_from_marble') - .itemInputs(Ingredient.of('#tfg:stone_dusts').subtract('gtceu:marble_dust').withCount(2), 'gtceu:marble_dust', 'gtceu:gypsum_dust') + event.recipes.gtceu.mixer('tfg:concrete_from_marble') + .itemInputs( + Ingredient.of('#tfg:stone_dusts').subtract('tfg:sedimentary_carbonate_dust').withCount(2), + '#forge:dusts/sedimentary_carbonate', + 'gtceu:gypsum_dust') .inputFluids("#tfg:clean_water 1000") .outputFluids('gtceu:concrete 1152') .duration(40) .EUt(16) generateMixerRecipe(event, ['3x #tfg:stone_dusts', 'gtceu:clay_dust'], - "#tfg:clean_water 500", [], null, 'gtceu:concrete 576', 20, 16, 64, 'concrete_from_clay') + "#tfg:clean_water 500", [], null, 'gtceu:concrete 576', 20, 16, 64, 'tfg:concrete_from_clay') generateMixerRecipe(event, ['3x #tfg:stone_dusts', 'gtceu:calcite_dust', 'gtceu:gypsum_dust'], - "#tfg:clean_water 1000", [], null, 'gtceu:concrete 1152', 40, 16, 64, 'concrete_from_calcite') + "#tfg:clean_water 1000", [], null, 'gtceu:concrete 1152', 40, 16, 64, 'tfg:concrete_from_calcite') + + + //GT light/dark concrete recipe fix @@ -61,7 +70,7 @@ function registerTFGConcreteRecipes(event) { // Handcrafted artisanal concrete event.recipes.firmalife.mixing_bowl() - .ingredients(['#tfg:stone_dusts', '#tfg:stone_dusts', '#forge:dusts/marble', '#forge:dusts/gypsum'], Fluid.of('minecraft:water', 1000)) + .ingredients(['#tfg:stone_dusts', '#tfg:stone_dusts', '#forge:dusts/sedimentary_carbonate', '#forge:dusts/gypsum'], Fluid.of('minecraft:water', 1000)) .outputFluid(Fluid.of('gtceu:concrete', 1000)) event.recipes.firmalife.mixing_bowl() diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index 7a95b5fe0..8918df150 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -5,407 +5,464 @@ * @param {Internal.RecipesEventJS} event */ function registerTFGRockRecipes(event) { + function rawToPolished(id, addChiselRecipes, input, output) { + if (addChiselRecipes) { + event.recipes.tfc.chisel(output, input, 'smooth') + .id(`tfg:chisel/${id}`); - - // #region GLUEING_TOGETHER - // raw rock to hardened, bricks to brick blocks - const GLUEING_TOGETHER = [ - { loose: 'tfg:brick/deepslate', block: '4x minecraft:deepslate_bricks' }, - { loose: 'beneath:blackstone_brick', block: '4x minecraft:polished_blackstone_bricks' }, - { loose: 'tfg:brick/dripstone', block: '4x create:cut_dripstone_bricks' }, - { loose: 'minecraft:nether_brick', block: '4x minecraft:nether_bricks' }, - { loose: 'tfg:brick/moon_stone', block: '4x ad_astra:moon_stone_bricks' }, - { loose: 'tfg:brick/moon_deepslate', block: '4x tfg:rock/bricks_moon_deepslate' }, - { loose: 'tfg:brick/mars_stone', block: '4x ad_astra:mars_stone_bricks' }, - { loose: 'tfg:brick/venus_stone', block: '4x ad_astra:venus_stone_bricks' }, - { loose: 'tfg:brick/red_granite', block: '4x gtceu:red_granite_bricks' }, - { loose: 'tfg:brick/mercury_stone', block: '4x ad_astra:mercury_stone_bricks' }, - { loose: 'tfg:brick/glacio_stone', block: '4x ad_astra:glacio_stone_bricks' }, - { 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' }, - { 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 => { - const id = linuxUnfucker(`${x.loose}_to_${x.block}`); - - event.shaped(x.block, [ - 'ABA', - 'BAB', - 'ABA' - ], { - A: x.loose, - B: 'tfc:mortar' - }).id(`tfg:shaped/${id}`) - - event.recipes.gtceu.assembler(`tfg:${id}`) - .itemInputs(`5x ${x.loose}`) - .inputFluids(Fluid.of('gtceu:concrete', 72)) - .itemOutputs(x.block) - .circuit(1) - .duration(50) - .EUt(2) - }) - // #endregion GLUEING_TOGETHER - - // #region COBBLE_TO_LOOSE - const COBBLE_TO_LOOSE = [ - { 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: '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 => { - const cobbleId = linuxUnfucker(x.cobble); - - event.shapeless(`4x ${x.loose}`, [x.cobble]) - .id(`tfg:shapeless/unpacking_${cobbleId}`); - - event.shaped(x.cobble, [ - 'AA', - 'AA' - ], { - A: x.loose - }) - .id(`tfg:shaped/packing_${cobbleId}`); - - event.recipes.gtceu.packer(`tfg:unpacking_${cobbleId}`) - .itemInputs(`1x ${x.cobble}`) - .itemOutputs(`4x ${x.loose}`) - .circuit(1) - .duration(20) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.packer(`tfg:packing_${cobbleId}`) - .itemInputs(`4x ${x.loose}`) - .itemOutputs(`1x ${x.cobble}`) - .circuit(1) - .duration(20) - .EUt(GTValues.VA[GTValues.ULV]) - }) - // #endregion COBBLE_TO_LOOSE - - // #region LOOSE_TO_BRICKS - const LOOSE_TO_BRICKS = [ - { loose: 'tfg:loose/deepslate', brick: 'tfg:brick/deepslate' }, - { loose: 'tfg:loose/dripstone', brick: 'tfg:brick/dripstone' }, - { loose: 'tfg:loose/crackrack', brick: 'minecraft:nether_brick' }, - { loose: 'tfg:loose/moon_stone', brick: 'tfg:brick/moon_stone' }, - { loose: 'tfg:loose/moon_deepslate', brick: 'tfg:brick/moon_deepslate' }, - { loose: 'tfg:loose/mars_stone', brick: 'tfg:brick/mars_stone' }, - { loose: 'tfg:loose/venus_stone', brick: 'tfg:brick/venus_stone' }, - { loose: 'tfg:loose/mercury_stone', brick: 'tfg:brick/mercury_stone' }, - { loose: 'tfg:loose/glacio_stone', brick: 'tfg:brick/glacio_stone' }, - { loose: 'tfg:loose/permafrost', brick: 'tfg:brick/permafrost' }, - { loose: 'tfg:loose/red_granite', brick: 'tfg:brick/red_granite' }, - { loose: 'beneath:blackstone_pebble', brick: 'beneath:blackstone_brick' } - ] - - LOOSE_TO_BRICKS.forEach(x => { - const id = linuxUnfucker(`${x.loose}_to_${x.brick}`); - - event.recipes.tfc.damage_inputs_shapeless_crafting(event.shapeless( - x.brick, [x.loose, '#tfc:chisels'] - )) - .id(`tfg:shapeless/${id}`); - - event.recipes.gtceu.cutter(`tfg:${id}`) - .itemInputs(x.loose) - .itemOutputs(x.brick) - .duration(10) - .EUt(2); - }) - // #endregion LOOSE_TO_BRICKS - - // #region AQUEDUCTS - const AQUEDUCTS = [ - { brick: 'tfg:brick/deepslate', aqueduct: 'tfg:rock/aqueduct_deepslate' }, - { brick: 'beneath:blackstone_brick', aqueduct: 'beneath:blackstone_aqueduct' }, - { brick: 'tfg:brick/dripstone', aqueduct: 'tfg:rock/aqueduct_dripstone' }, - { brick: 'minecraft:nether_brick', aqueduct: 'tfg:rock/aqueduct_nether' }, - { brick: 'tfg:brick/moon_stone', aqueduct: 'tfg:rock/aqueduct_moon_stone' }, - { brick: 'tfg:brick/moon_deepslate', aqueduct: 'tfg:rock/aqueduct_moon_deepslate' }, - { brick: 'tfg:brick/mars_stone', aqueduct: 'tfg:rock/aqueduct_mars_stone' }, - { brick: 'tfg:brick/venus_stone', aqueduct: 'tfg:rock/aqueduct_venus_stone' }, - { brick: 'tfg:brick/mercury_stone', aqueduct: 'tfg:rock/aqueduct_mercury_stone' }, - { brick: 'tfg:brick/glacio_stone', aqueduct: 'tfg:rock/aqueduct_glacio_stone' }, - { brick: 'tfg:brick/permafrost', aqueduct: 'tfg:rock/aqueduct_permafrost' }, - { brick: 'tfg:brick/red_granite', aqueduct: 'tfg:rock/aqueduct_red_granite' }, - { brick: 'gtceu:stone_ingot', aqueduct: 'tfg:rock/aqueduct_stone' } - ] - - AQUEDUCTS.forEach(x => { - const id = linuxUnfucker(`${x.brick}_to_${x.aqueduct}`); - - event.shaped(x.aqueduct, [ - 'A A', - 'BAB' - ], { - A: x.brick, - B: 'tfc:mortar' - }) - .id(`tfg:shaped/${id}`); - - event.recipes.gtceu.assembler(`tfg:${id}`) - .itemInputs(`3x ${x.brick}`) - .circuit(3) - .inputFluids(Fluid.of('gtceu:concrete', 16)) - .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(`tfg:${linuxUnfucker(x.mossy)}_cobble_rocks_to_mossy_cobble`) - .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 = [ - // Beneath - { raw: 'minecraft:deepslate', polished: 'minecraft:polished_deepslate' }, - { raw: 'tfg:rock/hardened_deepslate', polished: 'minecraft:polished_deepslate' }, - { raw: 'create:cut_deepslate', polished: 'create:polished_cut_deepslate' }, - { raw: 'minecraft:deepslate_bricks', polished: 'minecraft:deepslate_tiles' }, - { raw: 'minecraft:deepslate_tiles', polished: 'minecraft:chiseled_deepslate' }, - { raw: 'minecraft:chiseled_deepslate', polished: 'minecraft:deepslate_bricks' }, - - { raw: 'minecraft:blackstone', polished: 'minecraft:polished_blackstone' }, - { raw: 'tfg:rock/hardened_blackstone', polished: 'minecraft:polished_blackstone' }, - { raw: 'minecraft:polished_blackstone_bricks', polished: 'minecraft:chiseled_polished_blackstone' }, - { raw: 'minecraft:chiseled_polished_blackstone', polished: 'minecraft:polished_blackstone_bricks' }, - - { raw: 'minecraft:dripstone_block', polished: 'create:polished_cut_dripstone' }, - { raw: 'tfg:rock/hardened_dripstone', polished: 'create:polished_cut_dripstone' }, - { raw: 'create:cut_dripstone', polished: 'create:polished_cut_dripstone' }, - { raw: 'create:cut_dripstone_bricks', polished: 'create:small_dripstone_bricks' }, - { raw: 'create:small_dripstone_bricks', polished: 'create:cut_dripstone_bricks' }, - - { raw: 'beneath:crackrack', polished: 'tfg:rock/polished_crackrack' }, - { raw: 'minecraft:nether_bricks', polished: 'minecraft:chiseled_nether_bricks' }, - { raw: 'minecraft:chiseled_nether_bricks', polished: 'minecraft:nether_bricks' }, - - { raw: 'minecraft:basalt', polished: 'minecraft:smooth_basalt' }, - { raw: 'minecraft:smooth_basalt', polished: 'minecraft:polished_basalt' }, - - // Moon - { raw: 'ad_astra:moon_stone', polished: 'ad_astra:polished_moon_stone' }, - { raw: 'tfg:rock/hardened_moon_stone', polished: 'ad_astra:polished_moon_stone' }, - { raw: 'ad_astra:moon_stone_bricks', polished: 'ad_astra:chiseled_moon_stone_bricks' }, - { raw: 'ad_astra:chiseled_moon_stone_bricks', polished: 'ad_astra:moon_stone_bricks' }, - - { raw: 'ad_astra:moon_deepslate', polished: 'tfg:rock/polished_moon_deepslate' }, - { raw: 'tfg:rock/hardened_moon_deepslate', polished: 'tfg:rock/polished_moon_deepslate' }, - { raw: 'tfg:rock/bricks_moon_deepslate', polished: 'tfg:rock/chiseled_bricks_moon_deepslate' }, - { raw: 'tfg:rock/chiseled_bricks_moon_deepslate', polished: 'tfg:rock/bricks_moon_deepslate' }, - - { raw: 'ad_astra:glacio_stone', polished: 'ad_astra:polished_glacio_stone' }, - { raw: 'tfg:rock/hardened_glacio_stone', polished: 'ad_astra:polished_glacio_stone' }, - { raw: 'ad_astra:glacio_stone_bricks', polished: 'ad_astra:chiseled_glacio_stone_bricks' }, - { raw: 'ad_astra:chiseled_glacio_stone_bricks', polished: 'ad_astra:glacio_stone_bricks' }, - - // Mars - { raw: 'ad_astra:mars_stone', polished: 'ad_astra:polished_mars_stone' }, - { raw: 'tfg:rock/hardened_mars_stone', polished: 'ad_astra:polished_mars_stone' }, - { raw: 'ad_astra:mars_stone_bricks', polished: 'ad_astra:chiseled_mars_stone_bricks' }, - { raw: 'ad_astra:chiseled_mars_stone_bricks', polished: 'ad_astra:mars_stone_bricks' }, - - { raw: 'ad_astra:venus_stone', polished: 'ad_astra:polished_venus_stone' }, - { raw: 'tfg:rock/hardened_venus_stone', polished: 'ad_astra:polished_venus_stone' }, - { raw: 'ad_astra:venus_stone_bricks', polished: 'ad_astra:chiseled_venus_stone_bricks' }, - { raw: 'ad_astra:venus_sandstone', polished: 'ad_astra:venus_sandstone_bricks' }, - { raw: 'ad_astra:venus_sandstone_bricks', polished: 'ad_astra:venus_sandstone' }, - - { raw: 'gtceu:red_granite', polished: 'gtceu:polished_red_granite' }, - { raw: 'tfg:rock/hardened_red_granite', polished: 'gtceu:polished_red_granite' }, - { raw: 'gtceu:red_granite_bricks', polished: 'gtceu:red_granite_tile' }, - { raw: 'gtceu:red_granite_tile', polished: 'gtceu:square_red_granite_bricks' }, - { raw: 'gtceu:square_red_granite_bricks', polished: 'gtceu:red_granite_windmill_a' }, - { raw: 'gtceu:red_granite_windmill_a', polished: 'gtceu:red_granite_windmill_b' }, - { raw: 'gtceu:red_granite_windmill_b', polished: 'gtceu:small_red_granite_bricks' }, - { raw: 'gtceu:small_red_granite_bricks', polished: 'gtceu:red_granite_small_tile' }, - { raw: 'gtceu:red_granite_small_tile', polished: 'gtceu:chiseled_red_granite' }, - { raw: 'gtceu:chiseled_red_granite', polished: 'gtceu:red_granite_bricks' }, - - { raw: 'minecraft:smooth_red_sandstone', polished: 'minecraft:cut_red_sandstone' }, - { raw: 'minecraft:cut_red_sandstone', polished: 'minecraft:chiseled_red_sandstone' }, - { raw: 'minecraft:chiseled_red_sandstone', polished: 'minecraft:smooth_red_sandstone' }, - - // Mercury - { raw: 'ad_astra:mercury_stone', polished: 'ad_astra:polished_mercury_stone' }, - { raw: 'tfg:rock/hardened_mercury_stone', polished: 'ad_astra:polished_mercury_stone' }, - { raw: 'ad_astra:mercury_stone_bricks', polished: 'ad_astra:chiseled_mercury_stone_bricks' }, - { raw: 'ad_astra:chiseled_mercury_stone_bricks', polished: 'ad_astra:mercury_stone_bricks' }, - - // Europa - { raw: 'ad_astra:permafrost', polished: 'ad_astra:polished_permafrost' }, - { raw: 'ad_astra:permafrost_bricks', polished: 'ad_astra:chiseled_permafrost_bricks' }, - { raw: 'ad_astra:chiseled_permafrost_bricks', polished: 'ad_astra:permafrost_tiles' }, - { raw: 'ad_astra:permafrost_tiles', polished: 'ad_astra:chiseled_permafrost_bricks' }, - - // Misc - { raw: 'ae2:sky_stone_block', polished: 'ae2:smooth_sky_stone_block' }, - { raw: 'ae2:smooth_sky_stone_block', polished: 'ae2:sky_stone_brick' }, - { raw: 'ae2:sky_stone_brick', polished: 'ae2:sky_stone_small_brick' }, - { raw: 'ae2:sky_stone_small_brick', polished: 'ae2:smooth_sky_stone_block' }, - { raw: 'tfc:alabaster/raw', polished: 'tfc:alabaster/polished' }, - - // Concrete - { raw: 'tfg:titanium_concrete', polished: 'tfg:polished_titanium_concrete' }, - - // Recon Stone - { raw: 'minecraft:stone', polished: 'minecraft:smooth_stone' }, - { raw: 'minecraft:smooth_stone', polished: 'minecraft:stone' }, - - { raw: 'minecraft:stone_bricks', polished: 'minecraft:chiseled_stone_bricks' }, - { raw: 'minecraft:chiseled_stone_bricks', polished: 'minecraft:stone_bricks' }, - - // Quartz - { raw: 'minecraft:quartz_block', polished: 'minecraft:smooth_quartz' }, - { raw: 'minecraft:smooth_quartz', polished: 'minecraft:quartz_bricks' }, - { raw: 'minecraft:quartz_bricks', polished: 'minecraft:chiseled_quartz_block' }, - { raw: 'minecraft:chiseled_quartz_block', polished: 'minecraft:quartz_block' }, - - // Certus Quartz - { raw: 'ae2:quartz_block', polished: 'gtceu:certus_quartz_block' }, - { raw: 'gtceu:certus_quartz_block', polished: 'ae2:cut_quartz_block' }, - { raw: 'ae2:cut_quartz_block', polished: 'ae2:quartz_bricks' }, - { raw: 'ae2:quartz_bricks', polished: 'ae2:chiseled_quartz_block' }, - { raw: 'ae2:chiseled_quartz_block', polished: 'ae2:quartz_block' }, - - // Other @Create Blocks - { raw: 'create:cut_andesite', polished: 'create:polished_cut_andesite' }, - { raw: 'create:cut_granite', polished: 'create:polished_cut_granite' }, - { raw: 'create:cut_diorite', polished: 'create:polished_cut_diorite' }, - { raw: 'create:limestone', polished: 'create:polished_cut_limestone' }, - { raw: 'create:cut_limestone', polished: 'create:polished_cut_limestone' }, - - { raw: 'minecraft:calcite', polished: 'create:polished_cut_calcite' }, - { raw: 'create:cut_calcite', polished: 'create:polished_cut_calcite' }, - { raw: 'create:asurine', polished: 'create:polished_cut_asurine' }, - { raw: 'create:cut_asurine', polished: 'create:polished_cut_asurine' }, - { raw: 'create:crimsite', polished: 'create:polished_cut_crimsite' }, - { raw: 'create:cut_crimsite', polished: 'create:polished_cut_crimsite' }, - { raw: 'create:ochrum', polished: 'create:polished_cut_ochrum' }, - { raw: 'create:cut_ochrum', polished: 'create:polished_cut_ochrum' }, - { raw: 'create:scorchia', polished: 'create:polished_cut_scorchia' }, - { raw: 'create:cut_scorchia', polished: 'create:polished_cut_scorchia' }, - { raw: 'create:scoria', polished: 'create:polished_cut_scoria' }, - { raw: 'create:cut_scoria', polished: 'create:polished_cut_scoria' }, - { raw: 'minecraft:tuff', polished: 'create:polished_cut_tuff' }, - { raw: 'create:cut_tuff', polished: 'create:polished_cut_tuff' }, - { raw: 'create:veridium', polished: 'create:polished_cut_veridium' }, - { raw: 'create:cut_veridium', polished: 'create:polished_cut_veridium' } - ] - - RAW_TO_POLISHED.forEach(x => { - const id = linuxUnfucker(`${x.raw}_to_${x.polished}`); - - event.recipes.tfc.chisel(`${x.polished}`, `${x.raw}`, 'smooth') - .id(`tfg:chisel/${id}`); - - event.recipes.tfc.damage_inputs_shapeless_crafting(event.shapeless( - x.polished, [x.raw, '#tfc:chisels'] - )) - .id(`tfg:shapeless/${id}`); + event.recipes.tfc.damage_inputs_shapeless_crafting(event.shapeless( + output, [input, '#tfc:chisels'] + )) + .id(`tfg:shapeless/${id}`); + } event.recipes.gtceu.laser_engraver(`tfg:${id}`) - .itemInputs(x.raw) - .itemOutputs(x.polished) + .itemInputs(input) + .itemOutputs(output) .notConsumable('tfc:lens') .duration(30) .EUt(GTValues.VA[GTValues.ULV]); - }) + } - // #endregion RAW_TO_POLISHED + rawToPolished('vanilla_basalt_to_smooth', true, 'minecraft:basalt', 'minecraft:smooth_basalt'); + rawToPolished('vanilla_smooth_to_polished', true, 'minecraft:smooth_basalt', 'minecraft:polished_basalt'); + + function looseToCobble(id, rock, loose, rockEntry) { + if (!rock.isTFC) { + event.shapeless(`4x ${loose}`, [rockEntry.block]) + .id(`tfg:shapeless/unpacking_${id}_cobble`); + + event.shaped(rockEntry.block, [ + 'AA', + 'AA' + ], { + A: loose + }) + .id(`tfg:shaped/packing_${id}_cobble`); + + if (rockEntry.stair != null) { + event.shapeless(`3x ${loose}`, [rockEntry.stair]); + } + if (rockEntry.slab != null) { + event.shapeless(`2x ${loose}`, [rockEntry.slab]); + } + } + + event.recipes.gtceu.packer(`tfg:unpacking_${id}_cobble`) + .itemInputs(`1x ${rockEntry.block}`) + .itemOutputs(`4x ${loose}`) + .circuit(1) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.packer(`tfg:packing_${id}_cobble`) + .itemInputs(`4x ${loose}`) + .itemOutputs(`1x ${rockEntry.block}`) + .circuit(1) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + + if (rockEntry.wall != null) { + event.shapeless(`2x ${loose}`, [rockEntry.wall]); + } + } + + function changeForms(rockId, rock, blockEntry) { + if (!rock.isTFC) { + if (blockEntry.stair != null) { + if (blockEntry.block != null) { + let id = linuxUnfucker(`${blockEntry.block}_to_${blockEntry.stair}`); + + event.recipes.tfc.chisel(blockEntry.stair, blockEntry.block, 'stair') + .id(`tfg:chisel/${id}`); + + event.stonecutting(blockEntry.stair, blockEntry.block) + .id(`tfg:stonecutter/${id}`); + } + } + if (blockEntry.slab != null) { + if (blockEntry.block != null) { + let id = linuxUnfucker(`${blockEntry.block}_to_${blockEntry.slab}`); + + event.recipes.tfc.chisel(blockEntry.slab, blockEntry.block, 'slab') + .extraDrop(blockEntry.slab) + .id(`tfg:chisel/${id}`); + + event.stonecutting(`2x ${blockEntry.slab}`, blockEntry.block) + .id(`tfg:stonecutting/${id}`); + } + } + } + if (blockEntry.wall != null) { + if (blockEntry.block != null) { + if (!rock.isTFC) { + event.stonecutting(blockEntry.wall, blockEntry.block) + .id(`tfg:stonecutting/${linuxUnfucker(blockEntry.block)}_to_${linuxUnfucker(blockEntry.wall)}`) + } + } + if (blockEntry.slab != null) { + event.recipes.tfc.chisel(blockEntry.wall, blockEntry.slab, 'smooth'); + } + } + } + + for (let [rockId, rock] of Object.entries(global.BIG_ROCK_TABLE)) { + + // Raw to Hardened + if (rock.raw != null && rock.hardened != null) { + if (!rock.isTFC) { + event.shaped(`2x ${rock.hardened}`, [ + 'ABA', + 'BAB', + 'ABA' + ], { + A: rock.raw.block, + B: 'tfc:mortar' + }).id(`tfg:shaped/${rockId}_raw_to_hardened`) + } + + event.recipes.gtceu.assembler(`tfg:${rockId}_raw_to_hardened`) + .itemInputs(`4x ${rock.raw.block}`) + .inputFluids(Fluid.of('gtceu:concrete', 72)) + .itemOutputs(`2x ${rock.hardened}`) + .circuit(1) + .duration(50) + .EUt(2) + } + + // Raw to cobble + if (rock.raw != null && rock.cobble != null) { + event.recipes.gtceu.forge_hammer(`${rockId}_raw_to_cobble`) + .itemInputs(rock.raw.block) + .itemOutputs(rock.cobble.block) + .duration(10) + .EUt(7) + + event.recipes.greate.pressing(rock.cobble.block, rock.raw.block) + .recipeTier(0) + .id(`greate:pressing/${rockId}_raw_to_cobble`) + } + + // Loose to cobble + if (rock.loose != null && rock.cobble != null) { + looseToCobble(rockId, rock, rock.loose, rock.cobble); + + if (rock.mossyLoose != null && rock.cobble.mossy != null) { + looseToCobble(`mossy_${rockId}`, rock, rock.mossyLoose, rock.cobble.mossy); + } + } + + // Loose to brick + if (rock.loose != null && rock.brick != null) { + if (!rock.isTFC) { + event.recipes.tfc.damage_inputs_shapeless_crafting(event.shapeless( + rock.brick, [rock.loose, '#tfc:chisels'] + )) + .id(`tfg:shapeless/${rockId}_loose_to_brick`); + } + + event.recipes.gtceu.cutter(`tfg:${rockId}_loose_to_brick`) + .itemInputs(rock.loose) + .itemOutputs(rock.brick) + .duration(10) + .EUt(2); + } + + if (rock.mossyLoose != null && rock.brick != null) { + if (!rock.isTFC) { + event.recipes.tfc.damage_inputs_shapeless_crafting(event.shapeless( + rock.brick, [rock.mossyLoose, '#tfc:chisels'] + )) + .id(`tfg:shapeless/${rockId}_mossy_loose_to_brick`); + } + + event.recipes.gtceu.cutter(`tfg:${rockId}_mossy_loose_to_brick`) + .itemInputs(rock.mossyLoose) + .itemOutputs(rock.brick) + .duration(10) + .EUt(2); + } + + // Cobble to Gravel + if (rock.cobble != null && rock.gravel != null) { + event.recipes.gtceu.forge_hammer(`${rockId}_cobble_to_gravel`) + .itemInputs(rock.cobble.block) + .itemOutputs(rock.gravel) + .duration(10) + .EUt(7) + + event.recipes.greate.pressing(rock.gravel, rock.cobble.block) + .recipeTier(0) + .id(`greate:pressing/${rockId}_cobble_to_gravel`) + } + + // Cobble to mossy cobble + if (rock.cobble != null && rock.cobble.mossy != null) { + event.recipes.gtceu.mixer(`tfg:${rockId}_cobble_rocks_to_mossy_cobble`) + .itemInputs(rock.cobble.block, '#tfc:compost_greens_low') + .circuit(1) + .inputFluids("#tfg:clean_water 144") + .itemOutputs(rock.cobble.mossy.block) + .duration(50) + .EUt(2) + } + + // Bricks to brick blocks + if (rock.brick != null && rock.bricks != null) { + if (!rock.isTFC) { + event.shaped(`4x ${rock.bricks.block}`, [ + 'ABA', + 'BAB', + 'ABA' + ], { + A: rock.brick, + B: 'tfc:mortar' + }).id(`tfg:shaped/${rockId}_brick_to_bricks`) + } + + event.recipes.gtceu.assembler(`tfg:${rockId}_brick_to_bricks`) + .itemInputs(`5x ${rock.brick}`) + .inputFluids(Fluid.of('gtceu:concrete', 72)) + .itemOutputs(`4x ${rock.bricks.block}`) + .circuit(1) + .duration(50) + .EUt(2) + } + + // Bricks to mossy bricks + if (rock.bricks != null && rock.bricks.mossy != null) { + event.recipes.gtceu.mixer(`tfg:${rockId}_bricks_to_mossy_bricks`) + .itemInputs(rock.bricks.block, '#tfc:compost_greens_low') + .circuit(1) + .inputFluids("#tfg:clean_water 144") + .itemOutputs(rock.bricks.mossy.block) + .duration(50) + .EUt(2) + } + + // Bricks to cracked bricks + if (rock.bricks != null && rock.bricks.cracked != null) { + if (!rock.isTFC) { + event.recipes.tfc.damage_inputs_shapeless_crafting(event.shapeless( + rock.bricks.cracked.block, [rock.bricks.block, '#tfc:hammers'] + )) + .id(`tfg:shapeless/${rockId}_bricks_to_cracked`); + } + + event.recipes.gtceu.forge_hammer(`tfg:${rockId}_bricks_to_cracked`) + .itemInputs(rock.bricks.block) + .itemOutputs(rock.bricks.cracked.block) + .duration(12) + .EUt(8); + + event.recipes.greate.pressing(rock.bricks.cracked.block, rock.bricks.block) + .recipeTier(0) + .id(`tfg:pressing/${rockId}_bricks_to_cracked`); + } + + // Raw to polished + if (rock.raw != null && rock.polished != null) { + rawToPolished(`${rockId}_raw_to_polished`, !rock.isTFC, rock.raw.block, rock.polished.block); + + event.recipes.gtceu.assembler(`tfg:${rockId}_raw_to_polished`) + .itemInputs(`8x ${rock.raw.block}`) + .circuit(2) + .inputFluids(Fluid.of('gtceu:concrete', 72)) + .itemOutputs(`8x ${rock.polished.block}`) + .duration(250) + .EUt(8) + } + + if (rock.hardened != null && rock.polished != null) { + rawToPolished(`${rockId}_hardened_to_polished`, !rock.isTFC, rock.hardened, rock.polished.block); + } + + if (rock.chiseled != null && rock.bricks != null) { + rawToPolished(`${rockId}_bricks_to_chiseled`, !rock.isTFC, rock.bricks.block, rock.chiseled.block); + } + + // Aqueducts + if (rock.brick != null && rock.aqueduct != null) { + if (!rock.isTFC) { + event.shaped(rock.aqueduct, [ + 'A A', + 'BAB' + ], { + A: rock.brick, + B: 'tfc:mortar' + }) + .id(`tfg:shaped/${rockId}_aqueduct`); + } + + event.recipes.gtceu.assembler(`tfg:${rockId}_aqueduct`) + .itemInputs(`3x ${rock.brick}`) + .circuit(3) + .inputFluids(Fluid.of('gtceu:concrete', 16)) + .itemOutputs(rock.aqueduct) + .duration(50) + .EUt(2); + } + + // Pillars + if (rock.bricks != null && rock.pillar != null) { + event.shaped(`2x ${rock.pillar}`, [ + 'A', + 'A' + ], { + A: rock.bricks.block + }) + .id(`tfg:shaped/${rockId}_pillar`); + + event.stonecutting(rock.pillar, rock.bricks.block) + .id(`tfg:stonecutting/${rockId}_pillar`); + } + + if (rock.bricks != null && rock.pillar2 != null) { + event.shaped(`2x ${rock.pillar2}`, [ + 'AA' + ], { + A: rock.bricks.block + }) + .id(`tfg:shaped/${rockId}_pillar2`); + + event.stonecutting(rock.pillar2, rock.bricks.block) + .id(`tfg:stonecutting/${rockId}_pillar2`); + } + + // Chiseling + if (rock.raw != null) { + changeForms(rockId, rock, rock.raw); + } + if (rock.cobble != null) { + changeForms(rockId, rock, rock.cobble); + if (rock.cobble.mossy != null) { + changeForms(rockId, rock, rock.cobble.mossy); + } + } + if (rock.bricks != null) { + changeForms(rockId, rock, rock.bricks); + if (rock.bricks.mossy != null) { + changeForms(rockId, rock, rock.bricks.mossy); + } + if (rock.bricks.cracked != null) { + changeForms(rockId, rock, rock.bricks.cracked); + } + } + if (rock.polished != null) { + changeForms(rockId, rock, rock.polished); + } + if (rock.chiseled != null) { + changeForms(rockId, rock, rock.chiseled); + } + if (rock.stonecutting != null) { + rock.stonecutting.forEach(stonecuttingEntry => { + changeForms(rockId, rock, stonecuttingEntry); + }) + } + + // Stonecutting + if (rock.stonecutterTag != null) { + // The create tags are already filled out, so just add the polished/chiseled blocks to it + if (rock.stonecutterTag.startsWith('create')) { + if (rock.polished != null) + event.stonecutting(rock.polished.block, `#${rock.stonecutterTag}`); + if (rock.chiseled != null) + event.stonecutting(rock.chiseled.block, `#${rock.stonecutterTag}`); + } + else { + let tag_array = Ingredient.of(`#${rock.stonecutterTag}`).itemIds.toArray().map(String); + tag_array.forEach(item => { + event.stonecutting(item, Ingredient.of(`#${rock.stonecutterTag}`).subtract(item)) + .id(`tfg:stonecutter/${linuxUnfucker(item)}`) + }) + } + } + + // Supports + if (rock.support != null && rock.loose != null) { + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped(`8x ${rock.support}`, [ + 'AB ', + 'AC ', + 'AC ' + ], { + A: rock.loose, + B: '#tfc:chisels', + C: 'tfc:mortar' + }).id(`tfg:shaped/${rockId}_support`) + ) + + event.recipes.gtceu.assembler(`tfg:${rockId}_support`) + .circuit(11) + .inputFluids(Fluid.of('gtceu:concrete', 36)) + .itemOutputs(`8x ${rock.support}`) + .itemInputs(`3x ${rock.loose}`) + .duration(40) + .EUt(GTValues.VA[GTValues.ULV]) + } + + if (rock.support != null && rock.mossyLoose != null) { + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped(`8x ${rock.support}`, [ + 'AB ', + 'AC ', + 'AC ' + ], { + A: rock.mossyLoose, + B: '#tfc:chisels', + C: 'tfc:mortar' + }).id(`tfg:shaped/${rockId}_mossy_support`) + ) + + event.recipes.gtceu.assembler(`tfg:${rockId}_mossy_support`) + .circuit(11) + .inputFluids(Fluid.of('gtceu:concrete', 36)) + .itemOutputs(`8x ${rock.support}`) + .itemInputs(`3x ${rock.mossyLoose}`) + .duration(40) + .EUt(GTValues.VA[GTValues.ULV]) + } + + // Rock duping + if (rock.isTFC) { + if (rock.raw != null) { + event.recipes.gtceu.rock_breaker(`tfg:${rockId}_raw`) + .notConsumable(rock.raw.block) + .itemOutputs(rock.raw.block) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + } + + if (rock.cobble != null) { + event.recipes.gtceu.rock_breaker(`tfg:${rockId}_cobble`) + .notConsumable(rock.cobble.block) + .itemOutputs(rock.cobble.block) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + } + } else if (rock.dimensions != null && rock.dimensions != []) { + if (rock.raw != null) { + let rawRecipe = event.recipes.gtceu.rock_breaker(`tfg:${rockId}_raw`) + .notConsumable(rock.raw.block) + .itemOutputs(rock.raw.block) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + rock.dimensions.forEach(dim => rawRecipe.dimension(dim)); + } + + if (rock.cobble != null) { + let cobbleRecipe = event.recipes.gtceu.rock_breaker(`tfg:${rockId}_cobble`) + .notConsumable(rock.cobble.block) + .itemOutputs(rock.cobble.block) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + rock.dimensions.forEach(dim => cobbleRecipe.dimension(dim)); + } + } + } - // #region CRACKING - const CRACKING = [ - { raw: 'minecraft:deepslate_bricks', cracked: 'minecraft:cracked_deepslate_bricks' }, - { raw: 'minecraft:deepslate_tiles', cracked: 'minecraft:cracked_deepslate_tiles' }, - { raw: 'minecraft:nether_bricks', cracked: 'minecraft:cracked_nether_bricks' }, - { raw: 'ad_astra:moon_stone_bricks', cracked: 'ad_astra:cracked_moon_stone_bricks' }, - { raw: 'tfg:rock/bricks_moon_deepslate', cracked: 'tfg:rock/cracked_bricks_moon_deepslate' }, - { raw: 'ad_astra:mars_stone_bricks', cracked: 'ad_astra:cracked_mars_stone_bricks' }, - { raw: 'ad_astra:venus_stone_bricks', cracked: 'ad_astra:cracked_venus_stone_bricks' }, - { raw: 'ad_astra:venus_sandstone_bricks', cracked: 'ad_astra:cracked_venus_sandstone_bricks' }, - { raw: 'ad_astra:mercury_stone_bricks', cracked: 'ad_astra:cracked_mercury_stone_bricks' }, - { raw: 'ad_astra:glacio_stone_bricks', cracked: 'ad_astra:cracked_glacio_stone_bricks' }, - { raw: 'ad_astra:permafrost_bricks', cracked: 'ad_astra:cracked_permafrost_bricks' }, - { raw: 'gtceu:red_granite_bricks', cracked: 'gtceu:cracked_red_granite_bricks' } - ] - CRACKING.forEach(x => { - const id = linuxUnfucker(`${x.raw}_to_${x.cracked}`); - - event.recipes.tfc.damage_inputs_shapeless_crafting(event.shapeless( - x.cracked, [x.raw, '#tfc:hammers'] - )) - .id(`tfg:shapeless/${id}`); - - event.recipes.gtceu.forge_hammer(`tfg:${id}`) - .itemInputs(x.raw) - .itemOutputs(x.cracked) - .duration(12) - .EUt(8); - - event.recipes.greate.pressing(x.cracked, x.raw) - .recipeTier(0) - .id(`tfg:pressing/${id}`); - }) - // #endregion CRACKING - - // #region HAMMERING - // Defined in kubejs/startup_scripts/tfg/constants.js + // Misc hammering recipes global.HAMMERING.forEach(x => { const id = linuxUnfucker(`${x.raw}_to_${x.hammered}`); @@ -419,572 +476,6 @@ function registerTFGRockRecipes(event) { .recipeTier(x.eu <= 8 ? 0 : 1) .id(`tfg:pressing/${id}`); }) - // #endregion HAMMERING - - // #region CUT_GRIND - // - // (spacing for region titles) - // - let CUT_GRIND = [ - { raw: 'minecraft:bricks', stair: 'minecraft:brick_stairs', slab: 'minecraft:brick_slab', wall: 'minecraft:brick_wall', - dust: 'gtceu:brick_dust', loose: null, stonecutting: false }, - // #region Nether - // Deepslate - { raw: 'minecraft:deepslate', stair: 'tfg:rock/deepslate_stairs', slab: 'tfg:rock/deepslate_slab', wall: 'tfg:rock/deepslate_wall', - dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Raw - - { raw: 'minecraft:cobbled_deepslate', stair: 'minecraft:cobbled_deepslate_stairs', slab: 'minecraft:cobbled_deepslate_slab', wall: 'minecraft:cobbled_deepslate_wall', - dust: 'gtceu:deepslate_dust', loose: 'tfg:loose/deepslate', stonecutting: false }, // Cobble - - { raw: 'tfg:rock/mossy_cobble_deepslate', stair: 'tfg:rock/mossy_cobble_deepslate_stairs', slab: 'tfg:rock/mossy_cobble_deepslate_slab', wall: 'tfg:rock/mossy_cobble_deepslate_wall', - dust: 'gtceu:deepslate_dust', loose: null, stonecutting: true }, // Cobble - Mossy - - { raw: 'minecraft:polished_deepslate', stair: 'minecraft:polished_deepslate_stairs', slab: 'minecraft:polished_deepslate_slab', wall: 'minecraft:polished_deepslate_wall', - dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Smooth - - { raw: 'create:cut_deepslate', stair: 'create:cut_deepslate_stairs', slab: 'create:cut_deepslate_slab', wall: 'create:cut_deepslate_wall', - dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Smooth - Extra - - { raw: 'create:polished_cut_deepslate', stair: 'create:polished_cut_deepslate_stairs', slab: 'create:polished_cut_deepslate_slab', wall: 'create:polished_cut_deepslate_wall', - dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Smooth - Extra - - { raw: 'minecraft:deepslate_bricks', stair: 'minecraft:deepslate_brick_stairs', slab: 'minecraft:deepslate_brick_slab', wall: 'minecraft:deepslate_brick_wall', - dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Bricks - - { raw: 'minecraft:cracked_deepslate_bricks', stair: 'tfg:rock/cracked_bricks_deepslate_stairs', slab: 'tfg:rock/cracked_bricks_deepslate_slab', wall: 'tfg:rock/cracked_bricks_deepslate_wall', - dust: 'gtceu:deepslate_dust', loose: null, stonecutting: true }, // Bricks - Cracked - - { raw: 'tfg:rock/mossy_bricks_deepslate', stair: 'tfg:rock/mossy_bricks_deepslate_stairs', slab: 'tfg:rock/mossy_bricks_deepslate_slab', wall: 'tfg:rock/mossy_bricks_deepslate_wall', - dust: 'gtceu:deepslate_dust', loose: null, stonecutting: true }, // Bricks - Mossy - - { raw: 'minecraft:deepslate_tiles', stair: 'minecraft:deepslate_tile_stairs', slab: 'minecraft:deepslate_tile_slab', wall: 'minecraft:deepslate_tile_wall', - dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Bricks - Extra - - { raw: 'minecraft:cracked_deepslate_tiles', stair: 'tfg:rock/cracked_tiles_deepslate_stairs', slab: 'tfg:rock/cracked_tiles_deepslate_slab', wall: 'tfg:rock/cracked_tiles_deepslate_wall', - dust: 'gtceu:deepslate_dust', loose: null, stonecutting: true }, // Bricks - Cracked - Extra - - { raw: 'create:cut_deepslate_bricks', stair: 'create:cut_deepslate_brick_stairs', slab: 'create:cut_deepslate_brick_slab', wall: 'create:cut_deepslate_brick_wall', - dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Bricks - Extra - - { raw: 'create:small_deepslate_bricks', stair: 'create:small_deepslate_brick_stairs', slab: 'create:small_deepslate_brick_slab', wall: 'create:small_deepslate_brick_wall', - dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Bricks - Extra - - // Blackstone - { raw: 'minecraft:blackstone', stair: 'minecraft:blackstone_stairs', slab: 'minecraft:blackstone_slab', wall: 'minecraft:blackstone_wall', - dust: 'gtceu:blackstone_dust', loose: null, stonecutting: false }, // Raw - - { raw: 'tfg:rock/cobble_blackstone', stair: 'tfg:rock/cobble_blackstone_stairs', slab: 'tfg:rock/cobble_blackstone_slab', wall: 'tfg:rock/cobble_blackstone_wall', - dust: 'gtceu:blackstone_dust', loose: 'beneath:blackstone_pebble', stonecutting: true }, // Cobble - - { raw: 'tfg:rock/mossy_cobble_blackstone', stair: 'tfg:rock/mossy_cobble_blackstone_stairs', slab: 'tfg:rock/mossy_cobble_blackstone_slab', wall: 'tfg:rock/mossy_cobble_blackstone_wall', - dust: 'gtceu:blackstone_dust', loose: null, stonecutting: true }, // Cobble - Mossy - - { raw: 'minecraft:polished_blackstone', stair: 'minecraft:polished_blackstone_stairs', slab: 'minecraft:polished_blackstone_slab', wall: 'minecraft:polished_blackstone_wall', - dust: 'gtceu:blackstone_dust', loose: null, stonecutting: false }, // Smooth - - { raw: 'minecraft:polished_blackstone_bricks', stair: 'minecraft:polished_blackstone_brick_stairs', slab: 'minecraft:polished_blackstone_brick_slab', wall: 'minecraft:polished_blackstone_brick_wall', - dust: 'gtceu:blackstone_dust', loose: null, stonecutting: false }, // Bricks - - { raw: 'minecraft:cracked_polished_blackstone_bricks', stair: 'tfg:rock/cracked_bricks_blackstone_stairs', slab: 'tfg:rock/cracked_bricks_blackstone_slab', wall: 'tfg:rock/cracked_bricks_blackstone_wall', - dust: 'gtceu:blackstone_dust', loose: null, stonecutting: true }, // Bricks - Cracked - - { raw: 'tfg:rock/mossy_bricks_blackstone', stair: 'tfg:rock/mossy_bricks_blackstone_stairs', slab: 'tfg:rock/mossy_bricks_blackstone_slab', wall: 'tfg:rock/mossy_bricks_blackstone_wall', - dust: 'gtceu:blackstone_dust', loose: null, stonecutting: true }, // Bricks - Mossy - - // Dripstone - { raw: 'minecraft:dripstone_block', stair: 'tfg:rock/dripstone_stairs', slab: 'tfg:rock/dripstone_slab', wall: 'tfg:rock/dripstone_wall', - dust: 'tfg:dripstone_dust', loose: null, stonecutting: true }, // Raw - - { raw: 'tfg:rock/cobble_dripstone', stair: 'tfg:rock/cobble_dripstone_stairs', slab: 'tfg:rock/cobble_dripstone_slab', wall: 'tfg:rock/cobble_dripstone_wall', - dust: 'tfg:dripstone_dust', loose: 'tfg:loose/dripstone', stonecutting: true }, // Cobble - - { raw: 'tfg:rock/mossy_cobble_dripstone', stair: 'tfg:rock/mossy_cobble_dripstone_stairs', slab: 'tfg:rock/mossy_cobble_dripstone_slab', wall: 'tfg:rock/mossy_cobble_dripstone_wall', - dust: 'tfg:dripstone_dust', loose: null, stonecutting: true }, // Cobble - Mossy - - { raw: 'create:polished_cut_dripstone', stair: 'create:polished_cut_dripstone_stairs', slab: 'create:polished_cut_dripstone_slab', wall: 'create:polished_cut_dripstone_wall', - dust: 'tfg:dripstone_dust', loose: null, stonecutting: false }, // Smooth - - { raw: 'create:cut_dripstone', stair: 'create:cut_dripstone_stairs', slab: 'create:cut_dripstone_slab', wall: 'create:cut_dripstone_wall', - dust: 'tfg:dripstone_dust', loose: null, stonecutting: false }, // Smooth - - { raw: 'create:cut_dripstone_bricks', stair: 'create:cut_dripstone_brick_stairs', slab: 'create:cut_dripstone_brick_slab', wall: 'create:cut_dripstone_brick_wall', - dust: 'tfg:dripstone_dust', loose: null, stonecutting: false }, // Bricks - - { raw: 'tfg:rock/cracked_bricks_dripstone', stair: 'tfg:rock/cracked_bricks_dripstone_stairs', slab: 'tfg:rock/cracked_bricks_dripstone_slab', wall: 'tfg:rock/cracked_bricks_dripstone_wall', - dust: 'tfg:dripstone_dust', loose: null, stonecutting: true }, // Bricks - Cracked - - { raw: 'tfg:rock/mossy_bricks_dripstone', stair: 'tfg:rock/mossy_bricks_dripstone_stairs', slab: 'tfg:rock/mossy_bricks_dripstone_slab', wall: 'tfg:rock/mossy_bricks_dripstone_wall', - dust: 'tfg:dripstone_dust', loose: null, stonecutting: true }, // Bricks - Mossy - - { raw: 'create:small_dripstone_bricks', stair: 'create:small_dripstone_brick_stairs', slab: 'create:small_dripstone_brick_slab', wall: 'create:small_dripstone_brick_wall', - dust: 'tfg:dripstone_dust', loose: null, stonecutting: false }, // Bricks - Extra - - // Crackrack / Nether - { raw: 'beneath:crackrack', stair: 'tfg:rock/crackrack_stairs', slab: 'tfg:rock/crackrack_slab', wall: 'tfg:rock/crackrack_wall', - dust: 'gtceu:netherrack_dust', loose: null, stonecutting: true }, // Raw - - { raw: 'tfg:rock/cobble_crackrack', stair: 'tfg:rock/cobble_crackrack_stairs', slab: 'tfg:rock/cobble_crackrack_slab', wall: 'tfg:rock/cobble_crackrack_wall', - dust: 'gtceu:netherrack_dust', loose: 'tfg:loose/crackrack', stonecutting: true }, // Cobble - - { raw: 'tfg:rock/mossy_cobble_crackrack', stair: 'tfg:rock/mossy_cobble_crackrack_stairs', slab: 'tfg:rock/mossy_cobble_crackrack_slab', wall: 'tfg:rock/mossy_cobble_crackrack_wall', - dust: 'gtceu:netherrack_dust', loose: null, stonecutting: true }, // Cobble - Mossy - - { raw: 'tfg:rock/polished_crackrack', stair: 'tfg:rock/polished_crackrack_stairs', slab: 'tfg:rock/polished_crackrack_slab', wall: 'tfg:rock/polished_crackrack_wall', - dust: 'gtceu:netherrack_dust', loose: null, stonecutting: true }, // Smooth - - { raw: 'minecraft:nether_bricks', stair: 'minecraft:nether_brick_stairs', slab: 'minecraft:nether_brick_slab', wall: 'minecraft:nether_brick_wall', - dust: 'gtceu:netherrack_dust', loose: null, stonecutting: true }, // Bricks - - { raw: 'minecraft:cracked_nether_bricks', stair: 'tfg:rock/cracked_bricks_nether_stairs', slab: 'tfg:rock/cracked_bricks_nether_slab', wall: 'tfg:rock/cracked_bricks_nether_wall', - dust: 'gtceu:netherrack_dust', loose: null, stonecutting: true }, // Bricks - Cracked - - { raw: 'tfg:rock/mossy_bricks_nether', stair: 'tfg:rock/mossy_bricks_nether_stairs', slab: 'tfg:rock/mossy_bricks_nether_slab', wall: 'tfg:rock/mossy_bricks_nether_wall', - dust: 'gtceu:netherrack_dust', loose: null, stonecutting: true }, // Bricks - Mossy - - { raw: 'minecraft:nether_brick_wall', stair: null, slab: null, wall: 'minecraft:nether_brick_fence', - dust: null, loose: null, stonecutting: true }, - // #endregion Nether - ] - - // #region Space - const AA_REGULAR_STONES = ['moon', 'mars', 'venus', 'mercury', 'glacio'] - - CUT_GRIND = CUT_GRIND.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( - { raw: `ad_astra:${stone}_stone`, stair: `ad_astra:${stone}_stone_stairs`, slab: `ad_astra:${stone}_stone_slab`, wall: `tfg:rock/${stone}_stone_wall`, - dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Raw - )) ) - CUT_GRIND = CUT_GRIND.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( - { raw: `ad_astra:${stone}_cobblestone`, stair: `ad_astra:${stone}_cobblestone_stairs`, slab: `ad_astra:${stone}_cobblestone_slab`, wall: `tfg:rock/cobble_${stone}_wall`, - dust: `tfg:${stone}_stone_dust`, loose: `tfg:loose/${stone}_stone`, stonecutting: true } // Cobble - )) ) - CUT_GRIND = CUT_GRIND.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( - { raw: `tfg:rock/mossy_cobble_${stone}`, stair: `tfg:rock/mossy_cobble_${stone}_stairs`, slab: `tfg:rock/mossy_cobble_${stone}_slab`, wall: `tfg:rock/mossy_cobble_${stone}_wall`, - dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Cobble - Mossy - )) ) - CUT_GRIND = CUT_GRIND.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( - { raw: `ad_astra:polished_${stone}_stone`, stair: `ad_astra:polished_${stone}_stone_stairs`, slab: `ad_astra:polished_${stone}_stone_slab`, wall: `tfg:rock/polished_${stone}_wall`, - dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Smooth - )) ) - CUT_GRIND = CUT_GRIND.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( - { raw: `ad_astra:${stone}_stone_bricks`, stair: `ad_astra:${stone}_stone_brick_stairs`, slab: `ad_astra:${stone}_stone_brick_slab`, wall: `ad_astra:${stone}_stone_brick_wall`, - dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Bricks - )) ) - CUT_GRIND = CUT_GRIND.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( - { raw: `ad_astra:cracked_${stone}_stone_bricks`, stair: `tfg:rock/cracked_bricks_${stone}_stairs`, slab: `tfg:rock/cracked_bricks_${stone}_slab`, wall: `tfg:rock/cracked_bricks_${stone}_wall`, - dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Bricks - Cracked - )) ) - CUT_GRIND = CUT_GRIND.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( - { raw: `tfg:rock/mossy_bricks_${stone}`, stair: `tfg:rock/mossy_bricks_${stone}_stairs`, slab: `tfg:rock/mossy_bricks_${stone}_slab`, wall: `tfg:rock/mossy_bricks_${stone}_wall`, - dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Bricks - Mossy - )) ) - CUT_GRIND = CUT_GRIND.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( - { raw: `ad_astra:chiseled_${stone}_stone_bricks`, stair: `ad_astra:chiseled_${stone}_stone_stairs`, slab: `ad_astra:chiseled_${stone}_stone_slab`, wall: `tfg:rock/chiseled_bricks_${stone}_wall`, - dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Bricks - Extra - )) ) - - CUT_GRIND = CUT_GRIND.concat([ - // Moon Deepstone - { raw: 'ad_astra:moon_deepslate', stair: 'tfg:rock/moon_deepslate_stairs', slab: 'tfg:rock/moon_deepslate_slab', wall: 'tfg:rock/moon_deepslate_wall', - dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Raw - - { raw: 'tfg:rock/cobble_moon_deepslate', stair: 'tfg:rock/cobble_moon_deepslate_stairs', slab: 'tfg:rock/cobble_moon_deepslate_slab', wall: 'tfg:rock/cobble_moon_deepslate_wall', - dust: 'tfg:moon_deepslate_dust', loose: 'tfg:loose/moon_deepslate', stonecutting: true }, // Cobble - - { raw: 'tfg:rock/mossy_cobble_moon_deepslate', stair: 'tfg:rock/mossy_cobble_moon_deepslate_stairs', slab: 'tfg:rock/mossy_cobble_moon_deepslate_slab', wall: 'tfg:rock/mossy_cobble_moon_deepslate_wall', - dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Cobble - Mossy - - { raw: 'tfg:rock/polished_moon_deepslate', stair: 'tfg:rock/polished_moon_deepslate_stairs', slab: 'tfg:rock/polished_moon_deepslate_slab', wall: 'tfg:rock/polished_moon_deepslate_wall', - dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Smooth - - { raw: 'tfg:rock/bricks_moon_deepslate', stair: 'tfg:rock/bricks_moon_deepslate_stairs', slab: 'tfg:rock/bricks_moon_deepslate_slab', wall: 'tfg:rock/bricks_moon_deepslate_wall', - dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks - - { raw: 'tfg:rock/cracked_bricks_moon_deepslate', stair: 'tfg:rock/cracked_bricks_moon_deepslate_stairs', slab: 'tfg:rock/cracked_bricks_moon_deepslate_slab', wall: 'tfg:rock/cracked_bricks_moon_deepslate_wall', - dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks - Cracked - - { raw: 'tfg:rock/mossy_bricks_moon_deepslate', stair: 'tfg:rock/mossy_bricks_moon_deepslate_stairs' , slab: 'tfg:rock/mossy_bricks_moon_deepslate_slab', wall: 'tfg:rock/mossy_bricks_moon_deepslate_wall', - dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks - Mossy - - { raw: 'tfg:rock/chiseled_bricks_moon_deepslate', stair: 'tfg:rock/chiseled_bricks_moon_deepslate_stairs', slab: 'tfg:rock/chiseled_bricks_moon_deepslate_slab', wall: 'tfg:rock/chiseled_bricks_moon_deepslate_wall', - dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks - Extra - - // Permafrost - { raw: 'ad_astra:permafrost', stair: 'tfg:rock/permafrost_stairs', slab: 'tfg:rock/permafrost_slab', wall: 'tfg:rock/permafrost_wall', - dust: 'gtceu:ice_dust', loose: null, stonecutting: true }, // Raw - - { raw: 'tfg:rock/cobble_permafrost', stair: 'tfg:rock/cobble_permafrost_stairs', slab: 'tfg:rock/cobble_permafrost_slab', wall: 'tfg:rock/cobble_permafrost_wall', - dust: 'gtceu:ice_dust', loose: 'tfg:loose/permafrost', stonecutting: true }, // Cobble - - { raw: 'tfg:rock/mossy_cobble_permafrost', stair: 'tfg:rock/mossy_cobble_permafrost_stairs', slab: 'tfg:rock/mossy_cobble_permafrost_slab', wall: 'tfg:rock/mossy_cobble_permafrost_wall', - dust: 'gtceu:ice_dust', loose: null, stonecutting: true }, // Cobble - Mossy - - { raw: 'ad_astra:polished_permafrost', stair: 'ad_astra:polished_permafrost_stairs', slab: 'ad_astra:polished_permafrost_slab', wall: 'tfg:rock/polished_permafrost_wall', - dust: 'gtceu:ice_dust', loose: null, stonecutting: true }, // Smooth - - { raw: 'ad_astra:permafrost_bricks', stair: 'ad_astra:permafrost_brick_stairs', slab: 'ad_astra:permafrost_brick_slab', wall: 'ad_astra:permafrost_brick_wall', - dust: 'gtceu:ice_dust', loose: null, stonecutting: true }, // Bricks - - { raw: 'ad_astra:cracked_permafrost_bricks', stair: 'tfg:rock/cracked_bricks_permafrost_stairs', slab: 'tfg:rock/cracked_bricks_permafrost_slab', wall: 'tfg:rock/cracked_bricks_permafrost_wall', - dust: 'gtceu:ice_dust', loose: null, stonecutting: true }, // Bricks - Cracked - - { raw: 'tfg:rock/mossy_bricks_permafrost', stair: 'tfg:rock/mossy_bricks_permafrost_stairs', slab: 'tfg:rock/mossy_bricks_permafrost_slab', wall: 'tfg:rock/mossy_bricks_permafrost_wall', - dust: 'gtceu:ice_dust', loose: null, stonecutting: true }, // Bricks - Mossy - - { raw: 'ad_astra:chiseled_permafrost_bricks', stair: 'ad_astra:chiseled_permafrost_brick_stairs', slab: 'ad_astra:chiseled_permafrost_brick_slab', wall: 'tfg:rock/chiseled_bricks_permafrost_wall', - dust: 'gtceu:ice_dust', loose: null, stonecutting: true }, // Bricks - Extra - - // Red Granite - { raw: 'gtceu:red_granite', stair: 'tfg:rock/red_granite_stairs', slab: 'tfg:rock/red_granite_slab', wall: 'tfg:rock/red_granite_wall', - dust: 'gtceu:granite_red_dust', loose: null, stonecutting: true }, // Raw - - { raw: 'gtceu:red_granite_cobblestone', stair: 'tfg:rock/cobble_red_granite_stairs', slab: 'tfg:rock/cobble_red_granite_slab', wall: 'tfg:rock/cobble_red_granite_wall', - dust: 'gtceu:granite_red_dust', loose: 'tfg:loose/red_granite', stonecutting: true }, // Cobble - - { raw: 'gtceu:mossy_red_granite_cobblestone', stair: 'tfg:rock/mossy_cobble_red_granite_stairs', slab: 'tfg:rock/mossy_cobble_red_granite_slab', wall: 'tfg:rock/mossy_cobble_red_granite_wall', - dust: 'gtceu:granite_red_dust', loose: null, stonecutting: true }, // Cobble - Mossy - - { raw: 'gtceu:polished_red_granite', stair: 'tfg:rock/polished_red_granite_stairs', slab: 'tfg:rock/polished_red_granite_slab', wall: 'tfg:rock/polished_red_granite_wall', - dust: 'gtceu:granite_red_dust', loose: null, stonecutting: true }, // Smooth - - { raw: 'gtceu:red_granite_bricks', stair: 'tfg:rock/bricks_red_granite_stairs', slab: 'tfg:rock/bricks_red_granite_slab', wall: 'tfg:rock/bricks_red_granite_wall', - dust: 'gtceu:granite_red_dust', loose: null, stonecutting: true }, // Bricks - - { raw: 'gtceu:cracked_red_granite_bricks', stair: 'tfg:rock/cracked_bricks_red_granite_stairs', slab: 'tfg:rock/cracked_bricks_red_granite_slab', wall: 'tfg:rock/cracked_bricks_red_granite_wall', - dust: 'gtceu:granite_red_dust', loose: null, stonecutting: true }, // Bricks - Cracked - - { raw: 'gtceu:mossy_red_granite_bricks', stair: 'tfg:rock/mossy_bricks_red_granite_stairs', slab: 'tfg:rock/mossy_bricks_red_granite_slab', wall: 'tfg:rock/mossy_bricks_red_granite_wall', - dust: 'gtceu:granite_red_dust', loose: null, stonecutting: true }, // Bricks - Mossy - - // Red Sandstone - { raw: 'minecraft:red_sandstone', stair: 'minecraft:red_sandstone_stairs', slab: 'minecraft:red_sandstone_slab', wall: 'minecraft:red_sandstone_wall', - dust: null, loose: null, stonecutting: true }, // Raw - - { raw: 'minecraft:smooth_red_sandstone', stair: 'minecraft:smooth_red_sandstone_stairs', slab: 'minecraft:smooth_red_sandstone_slab', wall: 'tfg:rock/smooth_red_sandstone_wall', - dust: null, loose: null, stonecutting: true }, // Smooth - - { raw: 'minecraft:cut_red_sandstone', stair: 'tfg:rock/cut_red_sandstone_stairs', slab: 'minecraft:smooth_red_sandstone_slab', wall: 'tfg:rock/cut_red_sandstone_wall', - dust: null, loose: null, stonecutting: true }, // Smooth - Extra - - // Venus Sandstone - { raw: 'ad_astra:venus_sandstone_bricks', stair: 'ad_astra:venus_sandstone_brick_stairs', slab: 'ad_astra:venus_sandstone_brick_slab', wall: 'tfg:rock/bricks_venus_sandstone_wall', - dust: null, loose: null, stonecutting: true }, // Bricks - - { raw: 'ad_astra:cracked_venus_sandstone_bricks', stair: 'tfg:rock/cracked_bricks_venus_sandstone_stairs', slab: 'tfg:rock/cracked_bricks_venus_sandstone_slab', wall: 'tfg:rock/cracked_bricks_venus_sandstone_wall', - dust: null, loose: null, stonecutting: true }, // Bricks - Cracked - - // Certus Quartz - { raw: 'ae2:quartz_block', stair: 'ae2:quartz_stairs', slab: 'ae2:quartz_slab', wall: 'ae2:quartz_wall', - dust: null, loose: null, stonecutting: false }, // Raw - - { raw: 'ae2:cut_quartz_block', stair: 'ae2:cut_quartz_stairs', slab: 'ae2:cut_quartz_slab', wall: 'ae2:cut_quartz_wall', - dust: null, loose: null, stonecutting: false }, // Smooth - - { raw: 'ae2:quartz_bricks', stair: 'ae2:quartz_brick_stairs', slab: 'ae2:quartz_brick_slab', wall: 'ae2:quartz_brick_wall', - dust: null, loose: null, stonecutting: false }, // Bricks - - { raw: 'ae2:chiseled_quartz_block', stair: 'ae2:chiseled_quartz_stairs', slab: 'ae2:chiseled_quartz_slab', wall: 'ae2:chiseled_quartz_wall', - dust: null, loose: null, stonecutting: false }, // Chiseled - - { raw: 'ae2:quartz_pillar', stair: 'ae2:quartz_pillar_stairs', slab: 'ae2:quartz_pillar_slab', wall: 'ae2:quartz_pillar_wall', - dust: null, loose: null, stonecutting: false }, // Pillar - - // Other Space Blocks - { raw: 'ae2:sky_stone_block', stair: 'ae2:sky_stone_stairs', slab: 'ae2:sky_stone_slab', wall: 'ae2:sky_stone_wall', - dust: 'ae2:sky_dust', loose: null, stonecutting: true }, - - { raw: 'ae2:smooth_sky_stone_block', stair: 'ae2:smooth_sky_stone_stairs', slab: 'ae2:smooth_sky_stone_slab', wall: 'ae2:smooth_sky_stone_wall', - dust: 'ae2:sky_dust', loose: null, stonecutting: true }, - - { raw: 'ae2:sky_stone_brick', stair: 'ae2:sky_stone_brick_stairs', slab: 'ae2:sky_stone_brick_slab', wall: 'ae2:sky_stone_brick_wall', - dust: 'ae2:sky_dust', loose: null, stonecutting: true }, - - { raw: 'ae2:sky_stone_small_brick', stair: 'ae2:sky_stone_small_brick_stairs', slab: 'ae2:sky_stone_small_brick_slab', wall: 'ae2:sky_stone_small_brick_wall', - dust: 'ae2:sky_dust', loose: null, stonecutting: true }, - - { raw: 'ae2:fluix_block', stair: 'ae2:fluix_stairs', slab: 'ae2:fluix_slab', wall: 'ae2:fluix_wall', - dust: 'ae2:fluix_dust', loose: null, stonecutting: true }, - - { raw: 'minecraft:purpur_block', stair: 'minecraft:purpur_stairs', slab: 'minecraft:purpur_slab', wall: null, - dust: null, loose: null, stonecutting: true }, - // #endregion Space - - // #region Vanilla Blocks - // Reconstituted Stone - { raw: 'minecraft:stone', stair: 'minecraft:stone_stairs', slab: 'minecraft:stone_slab', wall: 'tfg:rock/stone_wall', - dust: 'gtceu:stone_dust', loose: null, stonecutting: true }, // Raw - - { raw: 'minecraft:cobblestone', stair: 'minecraft:cobblestone_stairs', slab: 'minecraft:cobblestone_slab', wall: 'minecraft:cobblestone_wall', - dust: 'gtceu:stone_dust', loose: null, stonecutting: true }, // Cobble - - { raw: 'minecraft:mossy_cobblestone', stair: 'minecraft:mossy_cobblestone_stairs', slab: 'minecraft:mossy_cobblestone_slab', wall: 'minecraft:mossy_cobblestone_wall', - dust: 'gtceu:stone_dust', loose: null, stonecutting: true }, // Cobble - Mossy - - { raw: 'minecraft:smooth_stone', stair: 'tfg:rock/smooth_stone_stairs', slab: 'minecraft:smooth_stone_slab', wall: 'tfg:rock/smooth_stone_wall', - dust: 'gtceu:stone_dust', loose: null, stonecutting: true }, // Smooth - - { raw: 'minecraft:stone_bricks', stair: 'minecraft:stone_brick_stairs', slab: 'minecraft:stone_brick_slab', wall: 'minecraft:stone_brick_wall', - dust: 'gtceu:stone_dust', loose: null, stonecutting: true }, // Brick - - { raw: 'minecraft:cracked_stone_bricks', stair: 'tfg:rock/cracked_bricks_stone_stairs', slab: 'tfg:rock/cracked_bricks_stone_slab', wall: 'tfg:rock/cracked_bricks_stone_wall', - dust: 'gtceu:stone_dust', loose: null, stonecutting: true }, // Brick - Cracked - - { raw: 'minecraft:mossy_stone_bricks', stair: 'minecraft:mossy_stone_brick_stairs', slab: 'minecraft:mossy_stone_brick_slab', wall: 'minecraft:mossy_stone_brick_wall', - dust: 'gtceu:stone_dust', loose: null, stonecutting: true }, // Brick - Mossy - - // Quartz - { raw: 'minecraft:quartz_block', stair: 'minecraft:quartz_stairs', slab: 'minecraft:quartz_slab', wall: 'tfg:rock/quartz_wall', - dust: null, loose: null, stonecutting: false }, // Raw - - { raw: 'minecraft:smooth_quartz', stair: 'minecraft:smooth_quartz_stairs', slab: 'minecraft:quartz_slab', wall: 'tfg:rock/smooth_quartz_wall', - dust: null, loose: null, stonecutting: false }, // Smooth - - // #endregion Vanilla Blocks - // #region @Create Stones - // @Create Andesite - { raw: 'create:cut_andesite', stair: 'create:cut_andesite_stairs', slab: 'create:cut_andesite_slab', wall: 'create:cut_andesite_wall', - dust: 'gtceu:andesite_dust', loose: null, stonecutting: false }, // Raw - - { raw: 'create:polished_cut_andesite', stair: 'create:polished_cut_andesite_stairs', slab: 'create:polished_cut_andesite_slab', wall: 'create:polished_cut_andesite_wall', - dust: 'gtceu:andesite_dust', loose: null, stonecutting: false }, // Smooth - - { raw: 'create:cut_andesite_bricks', stair: 'create:cut_andesite_brick_stairs', slab: 'create:cut_andesite_brick_slab', wall: 'create:cut_andesite_brick_wall', - dust: 'gtceu:andesite_dust', loose: null, stonecutting: false }, // Bricks - - { raw: 'create:small_andesite_bricks', stair: 'create:small_andesite_brick_stairs', slab: 'create:small_andesite_brick_slab', wall: 'create:small_andesite_brick_wall', - dust: 'gtceu:andesite_dust', loose: null, stonecutting: false }, // Bricks - Extra - - // @Create Calcite - { raw: 'create:cut_calcite', stair: 'create:cut_calcite_stairs', slab: 'create:cut_calcite_slab', wall: 'create:cut_calcite_wall', - dust: 'gtceu:calcite_dust', loose: null, stonecutting: false }, // Raw - - { raw: 'create:polished_cut_calcite', stair: 'create:polished_cut_calcite_stairs', slab: 'create:polished_cut_calcite_slab', wall: 'create:polished_cut_calcite_wall', - dust: 'gtceu:calcite_dust', loose: null, stonecutting: false }, // Smooth - - { raw: 'create:cut_calcite_bricks', stair: 'create:cut_calcite_brick_stairs', slab: 'create:cut_calcite_brick_slab', wall: 'create:cut_calcite_brick_wall', - dust: 'gtceu:calcite_dust', loose: null, stonecutting: false }, // Bricks - - { raw: 'create:small_calcite_bricks', stair: 'create:small_calcite_brick_stairs', slab: 'create:small_calcite_brick_slab', wall: 'create:small_calcite_brick_wall', - dust: 'gtceu:calcite_dust', loose: null, stonecutting: false }, // Bricks - Extra - - // @Create Granite (Chert) - { raw: 'create:cut_granite', stair: 'create:cut_granite_stairs', slab: 'create:cut_granite_slab', wall: 'create:cut_granite_wall', - dust: 'tfg:chert_dust', loose: null, stonecutting: false }, // Raw - - { raw: 'create:polished_cut_granite', stair: 'create:polished_cut_granite_stairs', slab: 'create:polished_cut_granite_slab', wall: 'create:polished_cut_granite_wall', - dust: 'tfg:chert_dust', loose: null, stonecutting: false }, // Smooth - - { raw: 'create:cut_granite_bricks', stair: 'create:cut_granite_brick_stairs', slab: 'create:cut_granite_brick_slab', wall: 'create:cut_granite_brick_wall', - dust: 'tfg:chert_dust', loose: null, stonecutting: false }, // Bricks - - { raw: 'create:small_granite_bricks', stair: 'create:small_granite_brick_stairs', slab: 'create:small_granite_brick_slab', wall: 'create:small_granite_brick_wall', - dust: 'tfg:chert_dust', loose: null, stonecutting: false }, // Bricks - Extra - - // @Create Diorite - { raw: 'create:cut_diorite', stair: 'create:cut_diorite_stairs', slab: 'create:cut_diorite_slab', wall: 'create:cut_diorite_wall', - dust: 'gtceu:diorite_dust', loose: null, stonecutting: false }, // Raw - - { raw: 'create:polished_cut_diorite', stair: 'create:polished_cut_diorite_stairs', slab: 'create:polished_cut_diorite_slab', wall: 'create:polished_cut_diorite_wall', - dust: 'gtceu:diorite_dust', loose: null, stonecutting: false }, // Smooth - - { raw: 'create:cut_diorite_bricks', stair: 'create:cut_diorite_brick_stairs', slab: 'create:cut_diorite_brick_slab', wall: 'create:cut_diorite_brick_wall', - dust: 'gtceu:diorite_dust', loose: null, stonecutting: false }, // Bricks - - { raw: 'create:small_diorite_bricks', stair: 'create:small_diorite_brick_stairs', slab: 'create:small_diorite_brick_slab', wall: 'create:small_diorite_brick_wall', - dust: 'gtceu:diorite_dust', loose: null, stonecutting: false }, // Bricks - Extra - - // @Create Limestone - { raw: 'create:cut_limestone', stair: 'create:cut_limestone_stairs', slab: 'create:cut_limestone_slab', wall: 'create:cut_limestone_wall', - dust: 'tfg:limestone_dust', loose: null, stonecutting: false }, // Raw - - { raw: 'create:polished_cut_limestone', stair: 'create:polished_cut_limestone_stairs', slab: 'create:polished_cut_limestone_slab', wall: 'create:polished_cut_limestone_wall', - dust: 'tfg:limestone_dust', loose: null, stonecutting: false }, // Smooth - - { raw: 'create:cut_limestone_bricks', stair: 'create:cut_limestone_brick_stairs', slab: 'create:cut_limestone_brick_slab', wall: 'create:cut_limestone_brick_wall', - dust: 'tfg:limestone_dust', loose: null, stonecutting: false }, // Bricks - - { raw: 'create:small_limestone_bricks', stair: 'create:small_limestone_brick_stairs', slab: 'create:small_limestone_brick_slab', wall: 'create:small_limestone_brick_wall', - dust: 'tfg:limestone_dust', loose: null, stonecutting: false }, // Bricks - Extra - - // @Create Asurine - { raw: 'create:cut_asurine', stair: 'create:cut_asurine_stairs', slab: 'create:cut_asurine_slab', wall: 'create:cut_asurine_wall', - dust: 'gtceu:asurine_dust', loose: null, stonecutting: false }, // Raw - - { raw: 'create:polished_cut_asurine', stair: 'create:polished_cut_asurine_stairs', slab: 'create:polished_cut_asurine_slab', wall: 'create:polished_cut_asurine_wall', - dust: 'gtceu:asurine_dust', loose: null, stonecutting: false }, // Smooth - - { raw: 'create:cut_asurine_bricks', stair: 'create:cut_asurine_brick_stairs', slab: 'create:cut_asurine_brick_slab', wall: 'create:cut_asurine_brick_wall', - dust: 'gtceu:asurine_dust', loose: null, stonecutting: false }, // Bricks - - { raw: 'create:small_asurine_bricks', stair: 'create:small_asurine_brick_stairs', slab: 'create:small_asurine_brick_slab', wall: 'create:small_asurine_brick_wall', - dust: 'gtceu:asurine_dust', loose: null, stonecutting: false }, // Bricks - Extra - - // @Create Crimsite - { raw: 'create:cut_crimsite', stair: 'create:cut_crimsite_stairs', slab: 'create:cut_crimsite_slab', wall: 'create:cut_crimsite_wall', - dust: null, loose: null, stonecutting: false }, // Raw - - { raw: 'create:polished_cut_crimsite', stair: 'create:polished_cut_crimsite_stairs', slab: 'create:polished_cut_crimsite_slab', wall: 'create:polished_cut_crimsite_wall', - dust: null, loose: null, stonecutting: false }, // Smooth - - { raw: 'create:cut_crimsite_bricks', stair: 'create:cut_crimsite_brick_stairs', slab: 'create:cut_crimsite_brick_slab', wall: 'create:cut_crimsite_brick_wall', - dust: null, loose: null, stonecutting: false }, // Bricks - - { raw: 'create:small_crimsite_bricks', stair: 'create:small_crimsite_brick_stairs', slab: 'create:small_crimsite_brick_slab', wall: 'create:small_crimsite_brick_wall', - dust: null, loose: null, stonecutting: false }, // Bricks - Extra - - // @Create Ochrum - { raw: 'create:cut_ochrum', stair: 'create:cut_ochrum_stairs', slab: 'create:cut_ochrum_slab', wall: 'create:cut_ochrum_wall', - dust: 'gtceu:ochrum_dust', loose: null, stonecutting: false }, // Raw - - { raw: 'create:polished_cut_ochrum', stair: 'create:polished_cut_ochrum_stairs', slab: 'create:polished_cut_ochrum_slab', wall: 'create:polished_cut_ochrum_wall', - dust: 'gtceu:ochrum_dust', loose: null, stonecutting: false }, // Smooth - - { raw: 'create:cut_ochrum_bricks', stair: 'create:cut_ochrum_brick_stairs', slab: 'create:cut_ochrum_brick_slab', wall: 'create:cut_ochrum_brick_wall', - dust: 'gtceu:ochrum_dust', loose: null, stonecutting: false }, // Bricks - - { raw: 'create:small_ochrum_bricks', stair: 'create:small_ochrum_brick_stairs', slab: 'create:small_ochrum_brick_slab', wall: 'create:small_ochrum_brick_wall', - dust: 'gtceu:ochrum_dust', loose: null, stonecutting: false }, // Bricks - Extra - - // @Create Scorchia - { raw: 'create:cut_scorchia', stair: 'create:cut_scorchia_stairs', slab: 'create:cut_scorchia_slab', wall: 'create:cut_scorchia_wall', - dust: null, loose: null, stonecutting: false }, // Raw - - { raw: 'create:polished_cut_scorchia', stair: 'create:polished_cut_scorchia_stairs', slab: 'create:polished_cut_scorchia_slab', wall: 'create:polished_cut_scorchia_wall', - dust: null, loose: null, stonecutting: false }, // Smooth - - { raw: 'create:cut_scorchia_bricks', stair: 'create:cut_scorchia_brick_stairs', slab: 'create:cut_scorchia_brick_slab', wall: 'create:cut_scorchia_brick_wall', - dust: null, loose: null, stonecutting: false }, // Bricks - - { raw: 'create:small_scorchia_bricks', stair: 'create:small_scorchia_brick_stairs', slab: 'create:small_scorchia_brick_slab', wall: 'create:small_scorchia_brick_wall', - dust: null, loose: null, stonecutting: false }, // Bricks - Extra - - // @Create Scoria - { raw: 'create:cut_scoria', stair: 'create:cut_scoria_stairs', slab: 'create:cut_scoria_slab', wall: 'create:cut_scoria_wall', - dust: null, loose: null, stonecutting: false }, // Raw - - { raw: 'create:polished_cut_scoria', stair: 'create:polished_cut_scoria_stairs', slab: 'create:polished_cut_scoria_slab', wall: 'create:polished_cut_scoria_wall', - dust: null, loose: null, stonecutting: false }, // Smooth - - { raw: 'create:cut_scoria_bricks', stair: 'create:cut_scoria_brick_stairs', slab: 'create:cut_scoria_brick_slab', wall: 'create:cut_scoria_brick_wall', - dust: null, loose: null, stonecutting: false }, // Bricks - - { raw: 'create:small_scoria_bricks', stair: 'create:small_scoria_brick_stairs', slab: 'create:small_scoria_brick_slab', wall: 'create:small_scoria_brick_wall', - dust: null, loose: null, stonecutting: false }, // Bricks - Extra - - // @Create Tuff - { raw: 'create:cut_tuff', stair: 'create:cut_tuff_stairs', slab: 'create:cut_tuff_slab', wall: 'create:cut_tuff_wall', - dust: null, loose: null, stonecutting: false }, // Raw - - { raw: 'create:polished_cut_tuff', stair: 'create:polished_cut_tuff_stairs', slab: 'create:polished_cut_tuff_slab', wall: 'create:polished_cut_tuff_wall', - dust: null, loose: null, stonecutting: false }, // Smooth - - { raw: 'create:cut_tuff_bricks', stair: 'create:cut_tuff_brick_stairs', slab: 'create:cut_tuff_brick_slab', wall: 'create:cut_tuff_brick_wall', - dust: null, loose: null, stonecutting: false }, // Bricks - - { raw: 'create:small_tuff_bricks', stair: 'create:small_tuff_brick_stairs', slab: 'create:small_tuff_brick_slab', wall: 'create:small_tuff_brick_wall', - dust: null, loose: null, stonecutting: false }, // Bricks - Extra - - // @Create Veridium - { raw: 'create:cut_veridium', stair: 'create:cut_veridium_stairs', slab: 'create:cut_veridium_slab', wall: 'create:cut_veridium_wall', - dust: null, loose: null, stonecutting: false }, // Raw - - { raw: 'create:polished_cut_veridium', stair: 'create:polished_cut_veridium_stairs', slab: 'create:polished_cut_veridium_slab', wall: 'create:polished_cut_veridium_wall', - dust: null, loose: null, stonecutting: false }, // Smooth - - { raw: 'create:cut_veridium_bricks', stair: 'create:cut_veridium_brick_stairs', slab: 'create:cut_veridium_brick_slab', wall: 'create:cut_veridium_brick_wall', - dust: null, loose: null, stonecutting: false }, // Bricks - - { raw: 'create:small_veridium_bricks', stair: 'create:small_veridium_brick_stairs', slab: 'create:small_veridium_brick_slab', wall: 'create:small_veridium_brick_wall', - dust: null, loose: null, stonecutting: false }, // Bricks - Extra - - // #endregion @Create Stones - ]) - - CUT_GRIND.forEach(x => { - if (x.raw != null && x.dust != null) { - event.recipes.gtceu.macerator(`tfg:macerate_${linuxUnfucker(x.raw)}`) - .itemInputs(x.raw) - .itemOutputs(x.dust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - } - if (x.stair != null) { - if (x.raw != null) { - const id = linuxUnfucker(`${x.raw}_to_${x.stair}`); - - event.recipes.tfc.chisel(x.stair, x.raw, 'stair') - .id(`tfg:chisel/${id}`); - - if (x.stonecutting) { - event.stonecutting(x.stair, x.raw) - .id(`tfg:stonecutter/${id}`); - } - } - - if (x.dust != null) { - event.recipes.gtceu.macerator(`tfg:macerate_${linuxUnfucker(x.stair)}`) - .itemInputs(x.stair) - .itemOutputs(x.dust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING); - } - - if (x.loose != null) { - event.shapeless(`3x ${x.loose}`, [x.stair]); - } - } - if (x.slab != null) { - if (x.raw != null) { - const id = linuxUnfucker(`${x.raw}_to_${x.slab}`); - - event.recipes.tfc.chisel(x.slab, x.raw, 'slab') - .extraDrop(x.slab) - .id(`tfg:chisel/${id}`); - - if (x.stonecutting) { - event.stonecutting(`2x ${x.slab}`, x.raw) - .id(`tfg:stonecutting/${id}`); - } - } - - if (x.dust != null) { - event.recipes.gtceu.macerator(`tfg:macerate_${linuxUnfucker(x.slab)}`) - .itemInputs(`2x ${x.slab}`) - .itemOutputs(x.dust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING); - } - - if (x.loose != null) { - event.shapeless(`2x ${x.loose}`, [x.slab]); - } - } - if (x.wall != null) { - if (x.raw != null) { - if (x.stonecutting) { - event.stonecutting(x.wall, x.raw) - .id(`tfg:stonecutting/${linuxUnfucker(x.raw)}_to_${linuxUnfucker(x.wall)}`) - } - } - if (x.slab != null) { - event.recipes.tfc.chisel(x.wall, x.slab, 'smooth'); - } - - if (x.dust != null) { - event.recipes.gtceu.macerator(`tfg:macerate_${linuxUnfucker(x.wall)}`) - .itemInputs(`2x ${x.wall}`) - .itemOutputs(x.dust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING); - } - if (x.loose != null) { - event.shapeless(`2x ${x.loose}`, [x.wall]); - } - } - }) // Alabaster event.recipes.gtceu.cutter("tfg:raw_alabaster_to_bricks") @@ -993,243 +484,41 @@ function registerTFGRockRecipes(event) { .duration(40) .EUt(2) - // #endregion CUT_GRIND + // TODO: do alabaster properly - // #region MACERATOR - // For all the blocks not already handles bu the CUTTER loop. - const MACERATOR = [ - { block: 'tfg:rock/hardened_deepslate', dust: 'gtceu:deepslate_dust' }, - { block: 'minecraft:chiseled_deepslate', dust: 'gtceu:deepslate_dust' }, - { block: 'tfg:rock/hardened_blackstone', dust: 'gtceu:blackstone_dust' }, - { block: 'minecraft:chiseled_polished_blackstone', dust: 'gtceu:blackstone_dust' }, - { block: 'tfg:rock/hardened_dripstone', dust: 'tfg:dripstone_dust' }, - { block: 'minecraft:chiseled_nether_bricks', dust: 'gtceu:netherrack_dust' }, - { block: 'tfg:rock/hardened_moon_stone', dust: 'tfg:moon_stone_dust' }, - { block: 'ad_astra:moon_pillar', dust: 'tfg:moon_stone_dust' }, - { block: 'tfg:rock/hardened_moon_deepslate', dust: 'tfg:moon_deepslate_dust' }, - { block: 'tfg:rock/pillar_moon_deepslate', dust: 'tfg:moon_deepslate_dust' }, - { block: 'tfg:rock/hardened_mars_stone', dust: 'tfg:mars_stone_dust' }, - { block: 'ad_astra:mars_pillar', dust: 'tfg:mars_stone_dust' }, - { block: 'tfg:rock/hardened_venus_stone', dust: 'tfg:venus_stone_dust' }, - { block: 'ad_astra:venus_pillar', dust: 'tfg:venus_stone_dust' }, - { block: 'tfg:rock/hardened_mercury_stone', dust: 'tfg:mercury_stone_dust' }, - { block: 'ad_astra:mercury_pillar', dust: 'tfg:mercury_stone_dust' }, - { block: 'tfg:rock/hardened_glacio_stone', dust: 'tfg:glacio_stone_dust' }, - { block: 'ad_astra:glacio_pillar', dust: 'tfg:glacio_stone_dust' }, - { block: 'tfg:rock/hardened_red_granite', dust: 'gtceu:granite_red_dust' }, - { block: 'gtceu:red_granite_tile', dust: 'gtceu:granite_red_dust' }, - { block: 'gtceu:square_red_granite_bricks', dust: 'gtceu:granite_red_dust' }, - { block: 'gtceu:red_granite_windmill_a', dust: 'gtceu:granite_red_dust' }, - { block: 'gtceu:red_granite_windmill_b', dust: 'gtceu:granite_red_dust' }, - { block: 'gtceu:small_red_granite_bricks', dust: 'gtceu:granite_red_dust' }, - { block: 'gtceu:red_granite_small_tile', dust: 'gtceu:granite_red_dust' }, - { block: 'gtceu:chiseled_red_granite', dust: 'gtceu:granite_red_dust' } - ] + // MACERATOR + let ROCK_COMPOSITIONS = []; + for (let [rockId, rock] of Object.entries(global.BIG_ROCK_TABLE)) { + if (rock.material != null && !ROCK_COMPOSITIONS.includes(rock.material)) { + ROCK_COMPOSITIONS.push(rock.material); + } + } - MACERATOR.forEach(x => { - event.recipes.gtceu.macerator(`tfg:macerate_${linuxUnfucker(x.block)}`) - .itemInputs(x.block) - .itemOutputs(x.dust) + ROCK_COMPOSITIONS.forEach(composition => { + let material = GTMaterials.get(composition); + + let compositionId = composition.replace(/tfg:/g, ''); + + event.recipes.gtceu.macerator(`tfg:macerate_${compositionId}`) + .itemInputs(`#tfg:stone_composition/${compositionId}`) + .itemOutputs(ChemicalHelper.getDust(material, GTValues.M)) .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING); - }) - //#endregion - // #endregion MACERATOR - - // #region STONECUTTER - const STONECUTTER = [ - [ 'minecraft:deepslate_bricks', 'minecraft:deepslate_tiles', 'minecraft:chiseled_deepslate' ], - [ 'minecraft:polished_blackstone_bricks', 'minecraft:chiseled_polished_blackstone' ], - [ 'minecraft:nether_bricks', 'minecraft:nether_bricks' ], - [ 'ad_astra:moon_stone_bricks', 'ad_astra:chiseled_moon_stone_bricks', ], - [ 'tfg:rock/bricks_moon_deepslate', 'tfg:rock/chiseled_bricks_moon_deepslate', ], - [ 'ad_astra:mars_stone_bricks', 'ad_astra:chiseled_mars_stone_bricks', ], - [ 'ad_astra:venus_stone_bricks', 'ad_astra:chiseled_venus_stone_bricks', ], - [ 'ad_astra:mercury_stone_bricks', 'ad_astra:chiseled_mercury_stone_bricks', ], - [ 'ad_astra:glacio_stone_bricks', 'ad_astra:chiseled_glacio_stone_bricks', ], - [ 'ad_astra:permafrost_bricks', 'ad_astra:chiseled_permafrost_bricks', ], - [ 'gtceu:red_granite_bricks', 'gtceu:red_granite_tile', 'gtceu:square_red_granite_bricks', - 'gtceu:red_granite_windmill_a', 'gtceu:red_granite_windmill_b', 'gtceu:small_red_granite_bricks', - 'gtceu:red_granite_small_tile', 'gtceu:chiseled_red_granite' ], - [ 'minecraft:stone_bricks', 'minecraft:chiseled_stone_bricks' ] - ] - - STONECUTTER.forEach(set => { - set.forEach(block1 => { - set.forEach(block2 => { - if (block1 !== block2) { - event.stonecutting(block1, block2); - } - }) - }) - }) - // #endregion STONECUTTER - - // #region PILLARS - const PILLARS = [ - { raw: 'tfc:rock/smooth/andesite', pillar: 'create:andesite_pillar' }, - { raw: 'create:cut_andesite', pillar: 'create:andesite_pillar' }, - { raw: 'create:polished_cut_calcite', pillar: 'create:calcite_pillar' }, - { raw: 'tfc:rock/smooth/chert', pillar: 'create:granite_pillar' }, - { raw: 'create:cut_granite', pillar: 'create:granite_pillar' }, - { raw: 'tfc:rock/smooth/diorite', pillar: 'create:diorite_pillar' }, - { raw: 'create:cut_diorite', pillar: 'create:diorite_pillar' }, - { raw: 'tfc:rock/smooth/limestone', pillar: 'create:limestone_pillar' }, - { raw: 'create:cut_limestone', pillar: 'create:limestone_pillar' }, - { raw: 'minecraft:polished_deepslate', pillar: 'create:deepslate_pillar' }, - { raw: 'create:polished_cut_deepslate', pillar: 'create:deepslate_pillar' }, - { raw: 'create:polished_cut_dripstone', pillar: 'create:dripstone_pillar' }, - { raw: 'create:cut_dripstone', pillar: 'create:dripstone_pillar' }, - { raw: 'ad_astra:moon_stone_bricks', pillar: 'ad_astra:moon_pillar' }, - { raw: 'tfg:rock/pillar_moon_deepslate', pillar: 'tfg:rock/bricks_moon_deepslate' }, - { raw: 'ad_astra:mars_stone_bricks', pillar: 'ad_astra:mars_pillar' }, - { raw: 'ad_astra:venus_stone_bricks', pillar: 'ad_astra:venus_pillar' }, - { raw: 'ad_astra:mercury_stone_bricks', pillar: 'ad_astra:mercury_pillar' }, - { raw: 'ad_astra:glacio_stone_bricks', pillar: 'ad_astra:glacio_pillar' }, - { raw: 'ad_astra:permafrost_bricks', pillar: 'ad_astra:permafrost_pillar' }, - { raw: 'create:cut_asurine', pillar: 'create:asurine_pillar' }, - { raw: 'create:polished_cut_asurine', pillar: 'create:asurine_pillar' }, - { raw: 'create:cut_crimsite', pillar: 'create:crimsite_pillar' }, - { raw: 'create:polished_cut_crimsite', pillar: 'create:crimsite_pillar' }, - { raw: 'create:cut_ochrum', pillar: 'create:ochrum_pillar' }, - { raw: 'create:polished_cut_ochrum', pillar: 'create:ochrum_pillar' }, - { raw: 'create:cut_scorchia', pillar: 'create:scorchia_pillar' }, - { raw: 'create:polished_cut_scorchia', pillar: 'create:scorchia_pillar' }, - { raw: 'create:cut_scoria', pillar: 'create:scoria_pillar' }, - { raw: 'create:polished_cut_scoria', pillar: 'create:scoria_pillar' }, - { raw: 'create:cut_tuff', pillar: 'create:tuff_pillar' }, - { raw: 'create:polished_cut_tuff', pillar: 'create:tuff_pillar' }, - { raw: 'create:cut_veridium', pillar: 'create:veridium_pillar' }, - { raw: 'create:polished_cut_veridium', pillar: 'create:veridium_pillar' }, - { raw: 'minecraft:purpur_block', pillar: 'minecraft:purpur_pillar' }, - { raw: 'minecraft:quartz_block', pillar: 'minecraft:quartz_pillar' }, - { raw: 'ae2:quartz_block', pillar: 'ae2:quartz_pillar' } - ] - - PILLARS.forEach(x => { - const id = linuxUnfucker(`${x.raw}_to_${x.pillar}`); - - event.shaped(`2x ${x.pillar}`, [ - 'A', - 'A' - ], { - A: x.raw - }) - .id(`tfg:shaped/${id}`); - - event.stonecutting(x.pillar, x.raw) - .id(`tfg:stonecutting/${id}`); - }) - - // horizontal shaped recipes - const PILLARS_H = [ - { raw: 'tfc:rock/smooth/andesite', pillar: 'create:layered_andesite' }, - { raw: 'create:polished_cut_andesite', pillar: 'create:layered_andesite' }, - { raw: 'tfc:rock/smooth/chert', pillar: 'create:layered_granite' }, - { raw: 'create:polished_cut_granite', pillar: 'create:layered_granite' }, - { raw: 'create:polished_cut_calcite', pillar: 'create:layered_calcite' }, - { raw: 'tfc:rock/smooth/diorite', pillar: 'create:layered_diorite' }, - { raw: 'create:polished_cut_diorite', pillar: 'create:layered_diorite' }, - { raw: 'tfc:rock/smooth/limestone', pillar: 'create:layered_limestone' }, - { raw: 'create:polished_cut_limestone', pillar: 'create:layered_limestone' }, - { raw: 'minecraft:polished_deepslate', pillar: 'create:layered_deepslate' }, - { raw: 'create:polished_cut_deepslate', pillar: 'create:layered_deepslate' }, - { raw: 'create:cut_dripstone', pillar: 'create:layered_dripstone' }, - { raw: 'create:polished_cut_dripstone', pillar: 'create:layered_dripstone' }, - - { raw: 'create:cut_asurine', pillar: 'create:layered_asurine' }, - { raw: 'create:polished_cut_asurine', pillar: 'create:layered_asurine' }, - { raw: 'create:cut_crimsite', pillar: 'create:layered_crimsite' }, - { raw: 'create:polished_cut_crimsite', pillar: 'create:layered_crimsite' }, - { raw: 'create:cut_ochrum', pillar: 'create:layered_ochrum' }, - { raw: 'create:polished_cut_ochrum', pillar: 'create:layered_ochrum' }, - { raw: 'create:cut_scorchia', pillar: 'create:layered_scorchia' }, - { raw: 'create:polished_cut_scorchia', pillar: 'create:layered_scorchia' }, - { raw: 'create:cut_scoria', pillar: 'create:layered_scoria' }, - { raw: 'create:polished_cut_scoria', pillar: 'create:layered_scoria' }, - { raw: 'create:cut_tuff', pillar: 'create:layered_tuff' }, - { raw: 'create:polished_cut_tuff', pillar: 'create:layered_tuff' }, - { raw: 'create:cut_veridium', pillar: 'create:layered_veridium' }, - { raw: 'create:polished_cut_veridium', pillar: 'create:layered_veridium' } - ] - - PILLARS_H.forEach(x => { - event.shaped(`2x ${x.pillar}`, [ - 'AA' - ], { - A: x.raw - }) - }) - - // #endregion PILLARS - - // #region ROCK_DUPING (Breaker) - const ROCK_DUPING = [ - { block: 'minecraft:deepslate', dimension: null }, - { block: 'minecraft:cobbled_deepslate', dimension: null }, - { block: 'minecraft:blackstone', dimension: null }, - { block: 'tfg:rock/cobble_blackstone', dimension: null }, - { block: 'minecraft:dripstone_block', dimension: null }, - { block: 'tfg:rock/cobble_dripstone', dimension: null }, - { block: 'beneath:crackrack', dimension: null }, - { block: 'tfg:rock/cobble_crackrack', dimension: null }, - { block: 'minecraft:basalt', dimension: null }, - { block: 'minecraft:calcite', dimension: null }, - { block: 'ad_astra:moon_stone', dimension: 'ad_astra:moon' }, - { block: 'ad_astra:moon_cobblestone', dimension: 'ad_astra:moon' }, - { block: 'ad_astra:moon_deepslate', dimension: 'ad_astra:moon' }, - { block: 'tfg:rock/cobble_moon_deepslate', dimension: 'ad_astra:moon' }, - { block: 'ad_astra:glacio_stone', dimension: 'ad_astra:moon' }, - { block: 'ad_astra:glacio_cobblestone', dimension: 'ad_astra:moon' }, - { block: 'create:asurine', dimension: 'ad_astra:moon' }, - { block: 'ae2:sky_stone_block', dimension: 'ad_astra:moon' }, - { block: 'ad_astra:mars_stone', dimension: 'ad_astra:mars' }, - { block: 'ad_astra:mars_cobblestone', dimension: 'ad_astra:mars' }, - { block: 'ad_astra:venus_stone', dimension: 'ad_astra:mars' }, - { block: 'ad_astra:venus_cobblestone', dimension: 'ad_astra:mars' }, - { block: 'gtceu:red_granite', dimension: 'ad_astra:mars' }, - { block: 'gtceu:red_granite_cobblestone', dimension: 'ad_astra:mars' }, - { block: 'create:ochrum', dimension: 'ad_astra:mars' }, - { block: 'create:scoria', dimension: 'ad_astra:venus' }, - { block: 'minecraft:tuff', dimension: 'ad_astra:venus' }, - { block: 'betterend:flavolite', dimension: 'ad_astra:venus' }, - { block: 'betterend:sandy_jadestone', dimension: 'ad_astra:venus' }, - { block: 'betterend:sulphuric_rock', dimension: 'ad_astra:venus' }, - { block: 'betterend:brimstone', dimension: 'ad_astra:venus' }, - { block: 'ad_astra:mercury_stone', dimension: 'ad_astra:mercury' }, - { block: 'ad_astra:mercury_cobblestone', dimension: 'ad_astra:mercury' }, - { block: 'create:crimsite', dimension: 'ad_astra:mercury' }, - { block: 'create:scorchia', dimension: null }, - { block: 'ad_astra:permafrost', dimension: 'ad_astra:glacio' }, - { block: 'tfg:rock/cobble_permafrost', dimension: 'ad_astra:glacio' }, - { block: 'create:veridium', dimension: 'ad_astra:glacio' }, - { block: 'tfc:alabaster/raw', dimension: null } - ] - - ROCK_DUPING.forEach(x => { - const id = linuxUnfucker(x.block); - - if (x.dimension != null) { - event.recipes.gtceu.rock_breaker(`tfg:${id}`) - .notConsumable(x.block) - .itemOutputs(x.block) - .duration(16) - .EUt(7) - .dimension(x.dimension) - } else { - event.recipes.gtceu.rock_breaker(`tfg:${id}`) - .notConsumable(x.block) - .itemOutputs(x.block) - .duration(16) - .EUt(7) + // check if any items have this tag otherwise it errors + let half = Ingredient.of(`#tfg:stone_composition/${compositionId}_half`).itemIds.toArray(); + if (half.length > 0) { + event.recipes.gtceu.macerator(`tfg:macerate_${compositionId}_half`) + .itemInputs(half) + .itemOutputs(ChemicalHelper.getDust(material, GTValues.M / 2)) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING); } }) - // #endregion ROCK_DUPING (Breaker) - - // #region COMPRESSOR + // COMPRESSOR event.recipes.gtceu.compressor('tfg:permafrost') .itemInputs('4x tfg:loose/permafrost') .itemOutputs('ad_astra:permafrost') @@ -1242,13 +531,12 @@ function registerTFGRockRecipes(event) { .duration(40*20) .EUt(2) - // #endregion COMPRESSOR - //#region Magma Blocks + // Magma Blocks event.remove({id: 'gtceu:compressor/magma_block'}) event.remove({id: 'greate:splashing/obsidian'}) - //magma block + stone group + // Magma block + stone group const MAGMA_BLOCKS = [ { magma: 'minecraft:magma_block', rock: 'minecraft:blackstone' }, { magma: 'tfc:rock/magma/granite', rock: 'tfc:rock/raw/granite' }, @@ -1276,19 +564,6 @@ function registerTFGRockRecipes(event) { .EUt(GTValues.VA[GTValues.LV]) }) - //#endregion Magma Blocks - - //#region GT marble - event.stonecutting('gtceu:polished_marble', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_polished_marble') - event.stonecutting('gtceu:chiseled_marble', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_chiseled_marble') - event.stonecutting('gtceu:marble_tile', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_marble_tile') - event.stonecutting('gtceu:marble_small_tile', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_marble_small_tile') - event.stonecutting('gtceu:marble_windmill_a', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_marble_windmill_a') - event.stonecutting('gtceu:marble_windmill_b', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_marble_windmill_b') - event.stonecutting('gtceu:small_marble_bricks', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_small_marble_bricks') - event.stonecutting('gtceu:square_marble_bricks', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_square_marble_bricks') - //#endregion - // Blackstone Buttons removeCutterRecipe(event, 'blackstone_button') removeCutterRecipe(event, 'blackstone_button_water') diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.sand.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.sand.js index 6b035dca2..01760bc28 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.sand.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.sand.js @@ -3,7 +3,6 @@ function registerTFGSandRecipes(event) { - // Нефтеносный -> Желтый песок event.recipes.gtceu.centrifuge('oilsands_ore_separation') .itemInputs('#forge:ores/oilsands') .chancedOutput('tfc:sand/yellow', 5000, 5000) @@ -11,7 +10,6 @@ function registerTFGSandRecipes(event) { .duration(200) .EUt(30) - // Пыль нефтеносного песка -> Желтый песок event.recipes.gtceu.centrifuge('oilsands_dust_separation') .itemInputs('gtceu:oilsands_dust') .chancedOutput('tfc:sand/yellow', 5000, 5000) @@ -19,7 +17,6 @@ function registerTFGSandRecipes(event) { .duration(200) .EUt(30) - // Земля -> Желтый песок event.recipes.gtceu.centrifuge('dirt_separation') .itemInputs('#tfc:dirt') .chancedOutput('gtceu:plant_ball', 1250, 700) @@ -28,9 +25,8 @@ function registerTFGSandRecipes(event) { .duration(250) .EUt(30) - // Рецепты где нужно итерироваться по всем цветам global.SAND_COLORS.forEach(sandColor => { - // Песчанник -> Песок + // Raw sandstone -> sand event.recipes.gtceu.forge_hammer(`raw_${sandColor}_sandstone_to_sand`) .itemInputs(`tfc:raw_sandstone/${sandColor}`) .itemOutputs(`4x tfc:sand/${sandColor}`) @@ -41,7 +37,7 @@ function registerTFGSandRecipes(event) { .recipeTier(1) .id(`greate:pressing/raw_${sandColor}_sandstone_to_sand`) - // Гладкий песчанник -> Песок + // Smooth sandstone -> sand event.recipes.gtceu.forge_hammer(`smooth_${sandColor}_sandstone_to_sand`) .itemInputs(`tfc:smooth_sandstone/${sandColor}`) .itemOutputs(`4x tfc:sand/${sandColor}`) @@ -52,7 +48,7 @@ function registerTFGSandRecipes(event) { .recipeTier(1) .id(`greate:pressing/smooth_${sandColor}_sandstone_to_sand`) - // Обрезанный песчанник -> Песок + // Cut sandstone -> sand event.recipes.gtceu.forge_hammer(`cut_${sandColor}_sandstone_to_sand`) .itemInputs(`tfc:cut_sandstone/${sandColor}`) .itemOutputs(`4x tfc:sand/${sandColor}`) @@ -63,154 +59,87 @@ function registerTFGSandRecipes(event) { .recipeTier(1) .id(`greate:pressing/cut_${sandColor}_sandstone_to_sand`) - // Песок -> Песчанник + // Sand -> sandstone event.recipes.gtceu.compressor(`sand_${sandColor}_to_sandstone`) .itemInputs(`4x tfc:sand/${sandColor}`) .itemOutputs(`tfc:raw_sandstone/${sandColor}`) .duration(400) .EUt(2) - // Песчанник -> Гладкий песчанник + // Gravel -> Sand + event.recipes.gtceu.forge_hammer(`${sandColor}_gravel_to_sand`) + .itemInputs(`#tfc:${sandColor}_gravel`) + .itemOutputs(`tfc:sand/${sandColor}`) + .duration(20*3.5) + .EUt(2) + + event.recipes.greate.pressing(`tfc:sand/${sandColor}`, `#tfc:${sandColor}_gravel`) + .recipeTier(1) + .id(`greate:pressing/${sandColor}_gravel_to_sand`) + + // Smooth -> Raw event.stonecutting(`tfc:smooth_sandstone/${sandColor}`, `tfc:raw_sandstone/${sandColor}`) .id(`tfg:stonecutting/raw_sandstone_${sandColor}_to_smooth_sandstone`) - // Песчанник -> Обрезанный песчанник + // Cut -> Raw event.stonecutting(`tfc:cut_sandstone/${sandColor}`, `tfc:raw_sandstone/${sandColor}`) .id(`raw_sandstone_${sandColor}_to_cut_sandstone`) - // Песчанник -> Ступень + // Raw -> Stairs event.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_stairs` }) event.stonecutting(`tfc:raw_sandstone/${sandColor}_stairs`, `tfc:raw_sandstone/${sandColor}`) .id(`tfg:stonecutting/${sandColor}_sandstone_to_stairs`) - // Песчанник -> Плита + // Raw -> Slab event.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_slab` }) event.stonecutting(`2x tfc:raw_sandstone/${sandColor}_slab`, `tfc:raw_sandstone/${sandColor}`) .id(`tfg:stonecutting/${sandColor}_sandstone_to_slabs`) - // Песчанник -> Стена + // Raw -> Wall event.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_wall` }) event.stonecutting(`tfc:raw_sandstone/${sandColor}_wall`, `tfc:raw_sandstone/${sandColor}`) .id(`tfg:stonecutting/${sandColor}_sandstone_to_wall`) - // Гладкий песчанник -> Ступень + // Smooth -> Stairs event.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_stairs` }) event.stonecutting(`tfc:smooth_sandstone/${sandColor}_stairs`, `tfc:smooth_sandstone/${sandColor}`) .id(`tfg:stonecutting/${sandColor}_smooth_sandstone_to_stairs`) - // Гладкий песчанник -> Плита + // Smooth -> Slab event.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_slab` }) event.stonecutting(`2x tfc:smooth_sandstone/${sandColor}_slab`, `tfc:smooth_sandstone/${sandColor}`) .id(`tfg:stonecutting/${sandColor}_smooth_sandstone_to_slab`) - // Гладкий песчанник -> Стена + // Smooth -> Wall event.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_wall` }) event.stonecutting(`tfc:smooth_sandstone/${sandColor}_wall`, `tfc:smooth_sandstone/${sandColor}`) .id(`tfg:stonecutting/${sandColor}_smooth_sandstone_to_wall`) - // Обрезанный песчанник -> Ступень + // Cut -> Stairs event.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_stairs` }) event.stonecutting(`tfc:cut_sandstone/${sandColor}_stairs`, `tfc:cut_sandstone/${sandColor}`) .id(`tfg:stonecutting/${sandColor}_cut_sandstone_to_stairs`) - // Обрезанный песчанник -> Плита + // Cut -> Slab event.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_slab` }) event.stonecutting(`2x tfc:cut_sandstone/${sandColor}_slab`, `tfc:cut_sandstone/${sandColor}`) .id(`tfg:stonecutting/${sandColor}_cut_sandstone_to_slab`) - // Обрезанный песчанник -> Стена + // Cut -> Wall event.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_wall` }) event.stonecutting(`tfc:cut_sandstone/${sandColor}_wall`, `tfc:cut_sandstone/${sandColor}`) .id(`tfg:stonecutting/${sandColor}_cut_sandstone_to_wall`) - }) - // Коричневый гравий -> Песок - event.recipes.gtceu.forge_hammer('brown_gravel_to_sand') - .itemInputs('#tfc:brown_gravel') - .itemOutputs('tfc:sand/brown') - .duration(20*3.5) - .EUt(2) - - event.recipes.greate.pressing('tfc:sand/brown', '#tfc:brown_gravel') - .recipeTier(1) - .id(`greate:pressing/brown_gravel_to_sand`) - - // Белый гравий -> Песок - event.recipes.gtceu.forge_hammer('white_gravel_to_sand') - .itemInputs('#tfc:white_gravel') - .itemOutputs('tfc:sand/white') - .duration(20*3.5) - .EUt(2) - - event.recipes.greate.pressing('tfc:sand/white', '#tfc:white_gravel') - .recipeTier(1) - .id(`greate:pressing/white_gravel_to_sand`) - - // Черный гравий -> Песок - event.recipes.gtceu.forge_hammer('black_gravel_to_sand') - .itemInputs('#tfc:black_gravel') - .itemOutputs('tfc:sand/black') - .duration(20*3.5) - .EUt(2) - - event.recipes.greate.pressing('tfc:sand/black', '#tfc:black_gravel') - .recipeTier(1) - .id(`greate:pressing/black_gravel_to_sand`) - - // Красный гравий -> Песок - event.recipes.gtceu.forge_hammer('red_gravel_to_sand') - .itemInputs('#tfc:red_gravel') - .itemOutputs('tfc:sand/red') - .duration(20*3.5) - .EUt(2) - - event.recipes.greate.pressing('tfc:sand/red', '#tfc:red_gravel') - .recipeTier(1) - .id(`greate:pressing/red_gravel_to_sand`) - - // Желтый гравий -> Песок - event.recipes.gtceu.forge_hammer('yellow_gravel_to_sand') - .itemInputs('#tfc:yellow_gravel') - .itemOutputs('tfc:sand/yellow') - .duration(20*3.5) - .EUt(2) - - event.recipes.greate.pressing('tfc:sand/yellow', '#tfc:yellow_gravel') - .recipeTier(1) - .id(`greate:pressing/yellow_gravel_to_sand`) - - // Зеленый гравий -> Песок - event.recipes.gtceu.forge_hammer('green_gravel_to_sand') - .itemInputs('#tfc:green_gravel') - .itemOutputs('tfc:sand/green') - .duration(20*3.5) - .EUt(2) - - event.recipes.greate.pressing('tfc:sand/green', '#tfc:green_gravel') - .recipeTier(1) - .id(`greate:pressing/green_gravel_to_sand`) - - // Розовый гравий -> Песок - event.recipes.gtceu.forge_hammer('pink_gravel_to_sand') - .itemInputs('#tfc:pink_gravel') - .itemOutputs('tfc:sand/pink') - .duration(20*3.5) - .EUt(2) - - event.recipes.greate.pressing('tfc:sand/pink', '#tfc:pink_gravel') - .recipeTier(1) - .id(`greate:pressing/pink_gravel_to_sand`) - // Quartz sand event.shaped('gtceu:quartz_sand_dust', [ 'A', @@ -231,4 +160,18 @@ function registerTFGSandRecipes(event) { .itemOutputs('gtceu:silicon_dioxide_dust') .duration(500) .EUt(25) + + event.recipes.gtceu.centrifuge('gtceu:quartz_sand_separation') + .EUt(GTValues.VA[GTValues.LV]) + .duration(60) + .itemInputs('2x gtceu:quartz_sand_dust') + .itemOutputs('gtceu:quartzite_dust') + .chancedOutput('#forge:dusts/nether_quartz', 2000, 0) + + event.recipes.gtceu.autoclave('tfg:quartz_sand_autoclave') + .itemInputs('gtceu:quartz_sand_dust') + .inputFluids(Fluid.of('minecraft:water', 250)) + .chancedOutput('gtceu:quartzite_gem', 4500, 0) + .duration(60 * 20) + .EUt(GTValues.VA[GTValues.LV]) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.stone_dusts.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.stone_dusts.js index e753c0c09..26f82dfdd 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.stone_dusts.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.stone_dusts.js @@ -6,280 +6,18 @@ */ function registerTFGStoneDustRecipes(event) { + // Same outputs as base GT, but with small dusts instead event.recipes.gtceu.centrifuge('gtceu:stone_dust_separation') .itemInputs('gtceu:stone_dust') .chancedOutput('#forge:small_dusts/quartzite', 2500, 0) .chancedOutput('#forge:small_dusts/potassium_feldspar', 2500, 0) - .chancedOutput('#forge:small_dusts/marble', 2222, 0) + .chancedOutput('#forge:small_dusts/calcite', 2222, 0) .chancedOutput('#forge:small_dusts/biotite', 1111, 0) .chancedOutput('#forge:small_dusts/metal_mixture', 825, 80) .chancedOutput('#forge:small_dusts/sodalite', 550, 55) .duration(12 * 20) .EUt(GTValues.VA[GTValues.HV]) - event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_blackstone' }) - - event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__diorite') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Diorite, 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Clay, 1), 4500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Mirabilite, 1), 2000, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 5)) - - event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__marble') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Marble, 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcite, 1), 6000, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Magnesium, 1), 1500, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 12)) - - event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__andesite') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Andesite, 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Asbestos, 1), 6000, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Saltpeter, 1), 2000, 0) - - event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__basalt') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Basalt, 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Flint, 1), 5000, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Olivine, 1), 1500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcite, 1), 1500, 0) - - event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__granite') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Granite, 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Redrock, 1), 3000, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 5)) - - event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__deepslate') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Deepslate, 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Olivine, 1), 3500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Biotite, 1), 2000, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 12)) - - event.recipes.gtceu.centrifuge('blackstone_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Blackstone, 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Magnesium, 1), 4500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Graphite, 1), 3500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Gold, 1), 3500, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 16)) - - event.recipes.gtceu.centrifuge('red_granite_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.GraniteRed, 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Hematite, 1), 4500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Perlite, 1), 3500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Redrock, 1), 1500, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 8)) - - // TFC - - event.recipes.gtceu.centrifuge('gabbro_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('gabbro'), 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Magnetite, 1), 2500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 0) - - event.recipes.gtceu.centrifuge('shale_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('shale'), 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Sodium, 1), 6500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 16)) - - event.recipes.gtceu.centrifuge('claystone_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('claystone'), 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Hematite, 1), 3500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Clay, 1), 3000, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Bauxite, 1), 2500, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 5)) - - event.recipes.gtceu.centrifuge('limestone_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('limestone'), 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 5500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 36)) - - event.recipes.gtceu.centrifuge('conglomerate_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('conglomerate'), 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Hematite, 1), 3500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.TricalciumPhosphate, 1), 3500, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 5)) - - event.recipes.gtceu.centrifuge('dolomite_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('dolomite'), 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Magnesium, 1), 6500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 5500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3500, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 16)) - - event.recipes.gtceu.centrifuge('chert_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('chert'), 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Redrock, 1), 5500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 3500, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 24)) - - event.recipes.gtceu.centrifuge('chalk_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('chalk'), 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 6500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Carbon, 1), 3500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 12)) - - event.recipes.gtceu.centrifuge('rhyolite_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('rhyolite'), 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 0) - - event.recipes.gtceu.centrifuge('dacite_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('dacite'), 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Sodium, 1), 6500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 5500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Kyanite, 1), 3500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 12)) - - event.recipes.gtceu.centrifuge('slate_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('slate'), 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Sapphire, 1), 1500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 1500, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 24)) - - event.recipes.gtceu.centrifuge('phyllite_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('phyllite'), 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Quartzite, 1), 5500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CalciumChloride, 1), 1500, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 5)) - - event.recipes.gtceu.centrifuge('schist_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('schist'), 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Mica, 1), 6500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Talc, 1), 5500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1), 500, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 12)) - - event.recipes.gtceu.centrifuge('gneiss_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('gneiss'), 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Quartzite, 1), 6500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Biotite, 1), 3500, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 5)) - - event.recipes.gtceu.centrifuge('dripstone_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('dripstone'), 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CalciumCarbonate, 1), 8500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CalciumHydroxide, 1), 1500, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 12)) - - // Ad astra - - event.recipes.gtceu.centrifuge('moon_stone_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(10 * 20) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('moon_stone'), 1)) - .chancedOutput('ae2:sky_dust', 5000, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 4500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Magnetite, 1), 2000, 0) - .outputFluids(Fluid.of('gtceu:helium_3', 200)) - - event.recipes.gtceu.centrifuge('moon_deepslate_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(10 * 20) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('moon_deepslate'), 1)) - .chancedOutput('ae2:sky_dust', 5000, 500) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Olivine, 1), 4500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcium, 1), 3000, 0) - .outputFluids(Fluid.of('gtceu:helium_3', 200)) - - event.recipes.gtceu.centrifuge('glacio_stone_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(10 * 20) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('glacio_stone'), 1)) - .chancedOutput('ae2:sky_dust', 3000, 500) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Sodium, 1), 4000, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Potassium, 1), 3000, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 50), Fluid.of('gtceu:helium_3', 300)) - - event.recipes.gtceu.centrifuge('mars_stone_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('mars_stone'), 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, TFGHelpers.getMaterial('aluminium_silicate'), 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Hematite, 1), 4500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Calcite, 1), 4000, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Beryllium, 1), 2000, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 36)) - - event.recipes.gtceu.centrifuge('venus_stone_dust_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('venus_stone'), 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, TFGHelpers.getMaterial('aluminium_silicate'), 1), 3500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Potassium, 1), 2500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Lithium, 1), 2000, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 32)) // AE2 @@ -294,35 +32,20 @@ function registerTFGStoneDustRecipes(event) { event.recipes.gtceu.centrifuge('asurine_dust_separation') .EUt(GTValues.VA[GTValues.MV]) - .duration(480) + .duration(10 * 20) .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('asurine'), 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CertusQuartz, 1), 4500, 0) + .chancedOutput('ae2:sky_dust', 6000, 0) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CertusQuartz, 1), 5000, 0) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Olivine, 1), 4500, 0) .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Zinc, 1), 3500, 0) + .outputFluids(Fluid.of('gtceu:helium_3', 200)) event.recipes.gtceu.centrifuge('ochrum_dust_separation') .EUt(GTValues.VA[GTValues.MV]) .duration(480) .itemInputs(ChemicalHelper.get(TagPrefix.dust, TFGHelpers.getMaterial('ochrum'), 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Gold, 1), 3500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Silver, 1), 3500, 0) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Quartzite, 1), 5000, 0) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Hematite, 1), 3500, 0) + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Gold, 1), 3500, 0) - // Misc dust - - event.recipes.gtceu.centrifuge('gtceu:quartz_sand_separation') - .EUt(30) - .duration(60) - .itemInputs('2x gtceu:quartz_sand_dust') - .itemOutputs('gtceu:quartzite_dust') - .chancedOutput('#forge:dusts/nether_quartz', 2000, 0) - - // Keratophyre - event.recipes.gtceu.centrifuge('netherrack_separation') - .EUt(GTValues.VA[GTValues.MV]) - .duration(480) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Netherrack, 1)) - .itemOutputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.SiliconDioxide, 1)) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Graphite, 1), 3500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Sodium, 1), 4500, 0) - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Sulfur, 1), 3500, 0) - .outputFluids(Fluid.of('gtceu:oxygen', 12)) } \ No newline at end of file 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 d60074501..e74720fc3 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.tfc_stone.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.tfc_stone.js @@ -9,36 +9,6 @@ function registerTFCStoneRecipes(event) { global.TFC_STONE_TYPES.forEach(stone => { - let stoneMaterial = TFGHelpers.getMaterial(stone); - let stoneDust = ChemicalHelper.get(TagPrefix.dust, stoneMaterial, 1) - - // Brick (item) - event.recipes.gtceu.cutter(`tfg:tfc/${stone}_loose_to_brick`) - .itemInputs(`tfc:rock/loose/${stone}`) - .itemOutputs(`tfc:brick/${stone}`) - .duration(10) - .EUt(2) - - //#region Raw Stone - - // Breaker Duping - event.recipes.gtceu.rock_breaker(`${stone}_raw`) - .notConsumable(`tfc:rock/raw/${stone}`) - .itemOutputs(`tfc:rock/raw/${stone}`) - .duration(16) - .EUt(7) - - // Hammering - event.recipes.gtceu.forge_hammer(`${stone}_raw_to_cobble`) - .itemInputs(`tfc:rock/raw/${stone}`) - .itemOutputs(`tfc:rock/cobble/${stone}`) - .duration(10) - .EUt(7) - - event.recipes.greate.pressing(`tfc:rock/cobble/${stone}`, `tfc:rock/raw/${stone}`) - .recipeTier(0) - .id(`greate:pressing/${stone}_raw_to_cobble`) - // Raw Pressure Plate event.shaped(`tfc:rock/pressure_plate/${stone}`, [ ' B ', @@ -63,40 +33,10 @@ function registerTFCStoneRecipes(event) { generateCutterRecipe(event, `tfc:rock/pressure_plate/${stone}`, `6x tfc:rock/button/${stone}`, 50, 2, `${stone}_raw_button`) - // Cobble Packing - event.recipes.gtceu.packer(`tfc:gtceu/packer/packing_loose_${stone}_to_cobble`) - .itemInputs(`4x tfc:rock/loose/${stone}`) - .itemOutputs(`1x tfc:rock/cobble/${stone}`) - .circuit(1) - .duration(30) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.packer(`tfc:gtceu/packer/packing_mossy_loose_${stone}_to_cobble`) - .itemInputs(`4x tfc:rock/mossy_loose/${stone}`) - .itemOutputs(`1x tfc:rock/mossy_cobble/${stone}`) - .circuit(1) - .duration(30) - .EUt(GTValues.VA[GTValues.ULV]) - - // Cobble Unpacking - event.recipes.gtceu.packer(`tfc:gtceu/packer/unpacking_${stone}_cobble_into_loose`) - .itemInputs(`1x tfc:rock/cobble/${stone}`) - .itemOutputs(`4x tfc:rock/loose/${stone}`) - .circuit(1) - .duration(20) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.packer(`tfc:gtceu/packer/unpacking_mossy_${stone}_cobble_into_loose`) - .itemInputs(`1x tfc:rock/mossy_cobble/${stone}`) - .itemOutputs(`4x tfc:rock/mossy_loose/${stone}`) - .circuit(1) - .duration(20) - .EUt(GTValues.VA[GTValues.ULV]) - - //#endregion + event.shapeless(`3x tfc:rock/button/${stone}`, [`tfc:rock/pressure_plate/${stone}`, '#forge:tools/saws']) + .id(`tfg:shapeless/${stone}_pressure_plate_to_button`) // #region Stonecutting - // Raw event.remove({ id: `tfc:crafting/rock/${stone}_raw_stairs` }) event.remove({ id: `tfc:crafting/rock/${stone}_raw_slab` }) @@ -106,11 +46,13 @@ function registerTFCStoneRecipes(event) { event.remove({ id: `tfc:crafting/rock/${stone}_cobble_stairs` }) event.remove({ id: `tfc:crafting/rock/${stone}_cobble_slab` }) event.remove({ id: `tfc:crafting/rock/${stone}_cobble_wall` }) + event.remove({ id: `tfc:crafting/rock/${stone}_cobble_wall_undo` }) // Mossy Cobble event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_stairs` }) event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_slab` }) event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_wall` }) + event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_wall_undo` }) // Smooth event.remove({ id: `tfc:crafting/rock/${stone}_smooth_stairs` }) @@ -131,408 +73,6 @@ function registerTFCStoneRecipes(event) { event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_stairs` }) event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_slab` }) event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_wall` }) - - // Hardened -> Smooth - event.stonecutting(`tfc:rock/smooth/${stone}`, `tfc:rock/hardened/${stone}`).id(`hardened_${stone}_to_smooth`) - - // Chiseled Brick -> Brick - event.stonecutting(`tfc:rock/chiseled/${stone}`, `tfc:rock/bricks/${stone}`).id(`chiseled_${stone}`) - // #endregion - - //#region Cobblestone - - // Breaker Dupe - event.recipes.gtceu.rock_breaker(`${stone}_cobble`) - .notConsumable(`tfc:rock/cobble/${stone}`) - .itemOutputs(`tfc:rock/cobble/${stone}`) - .duration(16) - .EUt(7) - - // Hammering Cobble -> Gravel - event.recipes.gtceu.forge_hammer(`${stone}_cobble_to_gravel`) - .itemInputs(`tfc:rock/cobble/${stone}`) - .itemOutputs(`tfc:rock/gravel/${stone}`) - .duration(10) - .EUt(7) - - event.recipes.greate.pressing(`tfc:rock/gravel/${stone}`, `tfc:rock/cobble/${stone}`) - .recipeTier(0) - .id(`greate:pressing/${stone}_cobble_to_gravel`) - - // #endregion - - - //#region Bricks Glueing - - event.recipes.gtceu.assembler(`bricks_${stone}`) - .itemInputs(`5x tfc:brick/${stone}`) - .circuit(1) - .inputFluids(Fluid.of('gtceu:concrete', 72)) - .itemOutputs(`4x tfc:rock/bricks/${stone}`) - .duration(50) - .EUt(2) - - //#endregion - - //#region Cracking Bricks - - event.recipes.gtceu.forge_hammer(`cracked_bricks_${stone}`) - .itemInputs(`tfc:rock/bricks/${stone}`) - .itemOutputs(`tfc:rock/cracked_bricks/${stone}`) - .duration(25) - .EUt(7) - - event.recipes.greate.pressing(`tfc:rock/cracked_bricks/${stone}`, `tfc:rock/bricks/${stone}`) - .recipeTier(0) - .id(`greate:pressing/cracked_bricks_${stone}`) - - //#endregion - - //#region Mossy Cobble - - // Cobble -> Mossy Cobble - - event.recipes.gtceu.assembler(`${stone}_cobble_rocks_to_mossy_cobble`) - .itemInputs(`tfc:rock/cobble/${stone}`, '#tfc:compost_greens_low') - .circuit(0) - .inputFluids("#tfg:clean_water 144") - .itemOutputs(`tfc:rock/mossy_cobble/${stone}`) - .duration(50) - .EUt(2) - - //#endregion - - //#region Bricks -> Mossy Bricks - - event.recipes.gtceu.assembler(`mossy_bricks_${stone}`) - .itemInputs(`tfc:rock/bricks/${stone}`, '#tfc:compost_greens_low') - .circuit(0) - .inputFluids("#tfg:clean_water 144") - .itemOutputs(`tfc:rock/mossy_bricks/${stone}`) - .duration(50) - .EUt(2) - - //#endregion - - //#region Hardened - - event.recipes.gtceu.assembler(`hardened_${stone}`) - .itemInputs(`5x tfc:rock/raw/${stone}`) - .circuit(0) - .inputFluids(Fluid.of('gtceu:concrete', 72)) - .itemOutputs(`2x tfc:rock/hardened/${stone}`) - .duration(250) - .EUt(8) - - //#endregion - - //#region Smooth - - event.recipes.gtceu.assembler(`smooth_${stone}`) - .itemInputs(`8x tfc:rock/raw/${stone}`) - .circuit(2) - .inputFluids(Fluid.of('gtceu:concrete', 72)) - .itemOutputs(`8x tfc:rock/smooth/${stone}`) - .duration(250) - .EUt(8) - - //#endregion - - //#region Aqueduct - - event.recipes.gtceu.assembler(`aqueduct_${stone}`) - .itemInputs(`3x tfc:brick/${stone}`) - .circuit(3) - .inputFluids(Fluid.of('gtceu:concrete', 16)) - .itemOutputs(`tfc:rock/aqueduct/${stone}`) - .duration(50) - .EUt(2) - - //#endregion - - //#region Macerator - // - // - // - // - //#region Whole Blocks - - // Raw - event.recipes.gtceu.macerator(`raw_${stone}_to_dust`) - .itemInputs(`tfc:rock/raw/${stone}`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Hardened - event.recipes.gtceu.macerator(`hardened_${stone}_to_dust`) - .itemInputs(`tfc:rock/hardened/${stone}`) - .itemOutputs(stoneDust.withCount(2)) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Cobble - event.recipes.gtceu.macerator(`cobble_${stone}_to_dust`) - .itemInputs(`tfc:rock/cobble/${stone}`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Mossy Cobble - event.recipes.gtceu.macerator(`mossy_cobble_${stone}_to_dust`) - .itemInputs(`tfc:rock/mossy_cobble/${stone}`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Smooth - event.recipes.gtceu.macerator(`smooth_${stone}_to_dust`) - .itemInputs(`tfc:rock/smooth/${stone}`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Bricks - event.recipes.gtceu.macerator(`bricks_${stone}_to_dust`) - .itemInputs(`tfc:rock/bricks/${stone}`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Cracked Bricks - event.recipes.gtceu.macerator(`cracked_bricks_${stone}_to_dust`) - .itemInputs(`tfc:rock/cracked_bricks/${stone}`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Mossy Bricks - event.recipes.gtceu.macerator(`mossy_bricks_${stone}_to_dust`) - .itemInputs(`tfc:rock/mossy_bricks/${stone}`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Chiseled - event.recipes.gtceu.macerator(`chiseled_${stone}_to_dust`) - .itemInputs(`tfc:rock/chiseled/${stone}`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - //#endregion - - //#region Stairs - - // Raw - event.recipes.gtceu.macerator(`raw_stairs_${stone}_to_dust`) - .itemInputs(`tfc:rock/raw/${stone}_stairs`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Cobble - event.recipes.gtceu.macerator(`cobble_stairs_${stone}_to_dust`) - .itemInputs(`tfc:rock/cobble/${stone}_stairs`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Mossy Cobble - event.recipes.gtceu.macerator(`mossy_cobble_stairs_${stone}_to_dust`) - .itemInputs(`tfc:rock/mossy_cobble/${stone}_stairs`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Smooth - event.recipes.gtceu.macerator(`smooth_stairs_${stone}_to_dust`) - .itemInputs(`tfc:rock/smooth/${stone}_stairs`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Bricks - event.recipes.gtceu.macerator(`bricks_stairs_${stone}_to_dust`) - .itemInputs(`tfc:rock/bricks/${stone}_stairs`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Cracked Bricks - event.recipes.gtceu.macerator(`cracked_bricks_stairs_${stone}_to_dust`) - .itemInputs(`tfc:rock/cracked_bricks/${stone}_stairs`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Mossy Bricks - event.recipes.gtceu.macerator(`mossy_bricks_stairs_${stone}_to_dust`) - .itemInputs(`tfc:rock/mossy_bricks/${stone}_stairs`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - //#endregion - - //#region Slab - - // Raw - event.recipes.gtceu.macerator(`raw_slab_${stone}_to_dust`) - .itemInputs(`2x tfc:rock/raw/${stone}_slab`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Cobble - event.recipes.gtceu.macerator(`cobble_slab_${stone}_to_dust`) - .itemInputs(`tfc:rock/cobble/${stone}_slab`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Mossy Cobble - event.recipes.gtceu.macerator(`mossy_cobble_slab_${stone}_to_dust`) - .itemInputs(`2x tfc:rock/mossy_cobble/${stone}_slab`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Smooth - event.recipes.gtceu.macerator(`smooth_slab_${stone}_to_dust`) - .itemInputs(`2x tfc:rock/smooth/${stone}_slab`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Bricks - event.recipes.gtceu.macerator(`bricks_slab_${stone}_to_dust`) - .itemInputs(`2x tfc:rock/bricks/${stone}_slab`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Cracked Bricks - event.recipes.gtceu.macerator(`cracked_bricks_slab_${stone}_to_dust`) - .itemInputs(`2x tfc:rock/cracked_bricks/${stone}_slab`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Mossy Bricks - event.recipes.gtceu.macerator(`mossy_bricks_slab_${stone}_to_dust`) - .itemInputs(`2x tfc:rock/mossy_bricks/${stone}_slab`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - //#endregion - - //#region Walls - - event.recipes.tfc.chisel(`tfc:rock/raw/${stone}_wall`, `tfc:rock/raw/${stone}_slab`, 'smooth') - event.recipes.tfc.chisel(`tfc:rock/cobble/${stone}_wall`, `tfc:rock/cobble/${stone}_slab`, 'smooth') - event.recipes.tfc.chisel(`tfc:rock/smooth/${stone}_wall`, `tfc:rock/smooth/${stone}_slab`, 'smooth') - event.recipes.tfc.chisel(`tfc:rock/bricks/${stone}_wall`, `tfc:rock/bricks/${stone}_slab`, 'smooth') - event.recipes.tfc.chisel(`tfc:rock/cracked_bricks/${stone}_wall`, `tfc:rock/cracked_bricks/${stone}_slab`, 'smooth') - event.recipes.tfc.chisel(`tfc:rock/mossy_cobble/${stone}_wall`, `tfc:rock/mossy_cobble/${stone}_slab`, 'smooth') - event.recipes.tfc.chisel(`tfc:rock/mossy_bricks/${stone}_wall`, `tfc:rock/mossy_bricks/${stone}_slab`, 'smooth') - - // Raw - event.recipes.gtceu.macerator(`raw_wall_${stone}_to_dust`) - .itemInputs(`2x tfc:rock/raw/${stone}_wall`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Cobble - event.recipes.gtceu.macerator(`cobble_wall_${stone}_to_dust`) - .itemInputs(`2x tfc:rock/cobble/${stone}_wall`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Mossy Cobble - event.recipes.gtceu.macerator(`mossy_cobble_wall_${stone}_to_dust`) - .itemInputs(`2x tfc:rock/mossy_cobble/${stone}_wall`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Smooth - event.recipes.gtceu.macerator(`smooth_wall_${stone}_to_dust`) - .itemInputs(`2x tfc:rock/smooth/${stone}_wall`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Bricks - event.recipes.gtceu.macerator(`bricks_wall_${stone}_to_dust`) - .itemInputs(`2x tfc:rock/bricks/${stone}_wall`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Cracked Bricks - event.recipes.gtceu.macerator(`cracked_bricks_wall_${stone}_to_dust`) - .itemInputs(`2x tfc:rock/cracked_bricks/${stone}_wall`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - // Mossy Bricks - event.recipes.gtceu.macerator(`mossy_bricks_wall_${stone}_to_dust`) - .itemInputs(`2x tfc:rock/mossy_bricks/${stone}_wall`) - .itemOutputs(stoneDust) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - //#endregion - - //#region Recycle beam - let dustSmall = ChemicalHelper.get(TagPrefix.dustSmall, stoneMaterial, 1); - event.recipes.gtceu.macerator(`${stone}_support_to_dust`) - .itemInputs(`tfg:${stone}_support`) - .itemOutputs(dustSmall) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING); - - //#endregion - //#endregion - - event.recipes.tfc.collapse(`tfc:rock/cobble/${stone}`, `#forge:ores_in_ground/${stone}`) - .id(`tfg:collapse/${stone}_gt_ores`) }) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js index 2df6ade7c..9a3fe6eaf 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js +++ b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js @@ -2,433 +2,365 @@ function registerTFGStoneItemTags(event) { - event.add('tfc:fluxstone', 'tfg:loose/dripstone') - + function addToTfcTag(rock, block) { + if (rock.tfcTag != null) { + event.add(rock.tfcTag, block); + } + } - // Brick Index - const BRICK_KEYS = [ - "brick", - "brick_stairs", - "brick_slab", - "brick_wall", - "cracked_brick", - "cracked_stairs", - "cracked_slab", - "cracked_wall", - "mossy_brick", - "mossy_stairs", - "mossy_slab", - "mossy_wall", - "smooth_brick", - "smooth_stairs", - "smooth_slab", - "smooth_wall", - "chiseled_brick" - ]; - - global.BRICK_INDEX.forEach(brickObj => { - BRICK_KEYS.forEach(key => { - const id = brickObj[key]; - if (typeof id === 'string' && id) { - event.add('tfg:brick_index', id); + function addToMaterialTag(material, block) { + if (material != null) { + if (block.endsWith('_slab') || block.endsWith('_wall')) { + event.add(`tfg:stone_composition/${material}_half`, block); } - }); - }); - - // Mars stone dust - event.add('forge:mars_stone_dusts', 'tfg:venus_stone_dust') - event.add('forge:mars_stone_dusts', 'gtceu:granite_red_dust') - event.add('forge:mars_stone_dusts', 'tfg:mars_stone_dust') + else { + event.add(`tfg:stone_composition/${material}`, block); + } + } + } - //#region Stone Dusts Tag - event.add('tfg:stone_dusts', 'tfg:gabbro_dust') - event.add('tfg:stone_dusts', 'tfg:shale_dust') - event.add('tfg:stone_dusts', 'tfg:claystone_dust') - event.add('tfg:stone_dusts', 'tfg:limestone_dust') - event.add('tfg:stone_dusts', 'tfg:conglomerate_dust') - event.add('tfg:stone_dusts', 'tfg:dolomite_dust') - event.add('tfg:stone_dusts', 'tfg:chert_dust') - event.add('tfg:stone_dusts', 'tfg:chalk_dust') - event.add('tfg:stone_dusts', 'tfg:rhyolite_dust') - event.add('tfg:stone_dusts', 'tfg:dacite_dust') - event.add('tfg:stone_dusts', 'gtceu:quartzite_dust') - event.add('tfg:stone_dusts', 'tfg:slate_dust') - event.add('tfg:stone_dusts', 'tfg:phyllite_dust') - event.add('tfg:stone_dusts', 'tfg:schist_dust') - event.add('tfg:stone_dusts', 'tfg:gneiss_dust') - event.add('tfg:stone_dusts', 'gtceu:marble_dust') - event.add('tfg:stone_dusts', 'gtceu:basalt_dust') - event.add('tfg:stone_dusts', 'gtceu:diorite_dust') - event.add('tfg:stone_dusts', 'gtceu:andesite_dust') - event.add('tfg:stone_dusts', 'gtceu:granite_dust') - event.add('tfg:stone_dusts', 'gtceu:deepslate_dust') - event.add('tfg:stone_dusts', 'gtceu:blackstone_dust') - event.add('tfg:stone_dusts', 'tfg:dripstone_dust') - event.add('tfg:stone_dusts', 'tfg:moon_stone_dust') - event.add('tfg:stone_dusts', 'tfg:moon_deepslate_dust') - event.add('tfg:stone_dusts', 'tfg:mars_stone_dust') - event.add('tfg:stone_dusts', 'tfg:venus_stone_dust') - event.add('tfg:stone_dusts', 'tfg:mercury_stone_dust') - event.add('tfg:stone_dusts', 'tfg:glacio_stone_dust') + const SHAPES = ['stair', 'slab', 'wall']; + + for (let [rockId, rock] of Object.entries(global.BIG_ROCK_TABLE)) { + + let material = null; + if (rock.material != null) + material = rock.material.replace(/tfg:/g, ''); + + if (rock.raw != null) { + event.add('tfc:rock/raw', rock.raw.block); + event.add('forge:stone', rock.raw.block); + addToTfcTag(rock.raw.block); + addToMaterialTag(material, rock.raw.block); + + SHAPES.forEach(shape => { + if (rock.raw[shape] != null) { + event.add(`tfg:rock_${shape}s`, rock.raw[shape]); + addToTfcTag(rock.raw[shape]); + addToMaterialTag(material, rock.raw[shape]); + } + }) + } + + if (rock.cobble != null) { + event.add('tfg:interaction/cobble', rock.cobble.block); + event.add('forge:cobblestone', rock.cobble.block); + event.add('forge:cobblestone/normal', rock.cobble.block); + addToTfcTag(rock.cobble.block); + addToMaterialTag(material, rock.cobble.block); + + SHAPES.forEach(shape => { + if (rock.cobble[shape] != null) { + event.add(`tfg:interaction/cobble_${shape.replace(/stair/g, 'stairs')}`, rock.cobble[shape]); + event.add(`tfg:rock_${shape}s`, rock.cobble[shape]); + addToTfcTag(rock.cobble[shape]); + addToMaterialTag(material, rock.cobble[shape]); + } + }) + + if (rock.cobble.mossy != null) { + event.add('tfg:interaction/mossy_cobble', rock.cobble.mossy.block); + event.add('forge:cobblestone/mossy', rock.cobble.block); + addToTfcTag(rock.cobble.mossy.block); + addToMaterialTag(material, rock.cobble.mossy.block); + + SHAPES.forEach(shape => { + if (rock.cobble.mossy[shape] != null) { + event.add(`tfg:interaction/mossy_cobble_${shape.replace(/stair/g, 'stairs')}`, rock.cobble.mossy[shape]); + event.add(`tfg:rock_${shape}s`, rock.cobble.mossy[shape]); + addToTfcTag(rock.cobble.mossy[shape]); + addToMaterialTag(material, rock.cobble.mossy[shape]); + } + }) + } + } + + if (rock.bricks != null) { + event.add('tfg:brick_index', rock.bricks.block); + event.add('tfg:interaction/brick', rock.bricks.block); + event.add('minecraft:stone_bricks', rock.bricks.block); + event.add('forge:stone_bricks', rock.bricks.block); + event.add('tfc:rock/bricks', rock.bricks.block); + addToTfcTag(rock.bricks.block); + addToMaterialTag(material, rock.bricks.block); + + SHAPES.forEach(shape => { + if (rock.bricks[shape] != null) { + event.add('tfg:brick_index', rock.bricks[shape]); + event.add(`tfg:interaction/brick_${shape.replace(/stair/g, 'stairs')}`, rock.bricks[shape]); + event.add(`tfg:brick_${shape}s`, rock.bricks[shape]); + addToTfcTag(rock.bricks[shape]); + addToMaterialTag(material, rock.bricks[shape]); + } + }) + + if (rock.bricks.mossy != null) { + event.add('tfg:brick_index', rock.bricks.mossy.block); + event.add('tfg:interaction/mossy_brick', rock.bricks.mossy.block); + event.add('tfc:rock/bricks', rock.bricks.block); + event.add('tfc:rock/mossy_bricks', rock.bricks.block); + addToTfcTag(rock.bricks.mossy.block); + addToMaterialTag(material, rock.bricks.mossy.block); + + SHAPES.forEach(shape => { + if (rock.bricks.mossy[shape] != null) { + event.add('tfg:brick_index', rock.bricks.mossy[shape]); + event.add(`tfg:interaction/mossy_brick_${shape.replace(/stair/g, 'stairs')}`, rock.bricks.mossy[shape]); + event.add(`tfg:brick_${shape}s`, rock.bricks.mossy[shape]); + addToTfcTag(rock.bricks.mossy[shape]); + addToMaterialTag(material, rock.bricks.mossy[shape]); + } + }) + } + + if (rock.bricks.cracked != null) { + event.add('tfg:brick_index', rock.bricks.cracked.block); + event.add('tfg:interaction/cracked_brick', rock.bricks.cracked.block); + event.add('tfc:rock/bricks', rock.bricks.block); + event.add('tfc:rock/cracked_bricks', rock.bricks.block); + addToTfcTag(rock.bricks.cracked.block); + addToMaterialTag(material, rock.bricks.cracked.block); + + SHAPES.forEach(shape => { + if (rock.bricks.cracked[shape] != null) { + event.add('tfg:brick_index', rock.bricks.cracked[shape]); + event.add(`tfg:interaction/cracked_brick_${shape.replace(/stair/g, 'stairs')}`, rock.bricks.cracked[shape]); + event.add(`tfg:brick_${shape}s`, rock.bricks.cracked[shape]); + addToTfcTag(rock.bricks.cracked[shape]); + addToMaterialTag(material, rock.bricks.cracked[shape]); + } + }) + } + } + + if (rock.polished != null) { + event.add('tfg:brick_index', rock.polished.block); + event.add('tfg:interaction/smooth_brick', rock.polished.block); + event.add('tfc:rock/smooth', rock.polished.block); + event.add('forge:smooth_stone', rock.polished.block); + addToTfcTag(rock.polished.block); + addToMaterialTag(material, rock.polished.block); + if (rock.stonecutterTag != null) { + event.add(rock.stonecutterTag, rock.polished.block); + } + + SHAPES.forEach(shape => { + if (rock.polished[shape] != null) { + event.add('tfg:brick_index', rock.polished[shape]); + event.add(`tfg:rock_${shape}s`, rock.polished[shape]); + addToTfcTag(rock.polished[shape]); + addToMaterialTag(material, rock.polished[shape]); + + if (shape == 'slab') { + event.add('forge:smooth_stone_slabs', rock.polished.slab); + } + } + }) + } + + if (rock.chiseled != null) { + event.add('tfc:rock/bricks', rock.chiseled.block); + event.add('tfc:rock/chiseled_bricks', rock.chiseled.block); + addToTfcTag(rock.chiseled.block); + addToMaterialTag(material, rock.chiseled.block); + if (rock.stonecutterTag != null) { + event.add(rock.stonecutterTag, rock.chiseled.block); + addToMaterialTag(material, rock.chiseled.block); + } + } + + if (rock.gravel != null) { + addToTfcTag(rock.gravel); + addToMaterialTag(material, rock.gravel); + if (rock.gravelTag != null) { + event.add(rock.gravelTag, rock.gravel); + } + } + + if (rock.hardened != null) { + addToTfcTag(rock.hardened); + addToMaterialTag(material, rock.hardened); + } + + if (rock.loose != null) { + event.add('rnr:loose_rock_items', rock.loose); + addToTfcTag(rock.loose); + } + + if (rock.brick != null) { + event.add('tfg:stone_brick', rock.brick); + addToTfcTag(rock.brick); + } + + if (rock.support != null) { + addToTfcTag(rock.support); + addToMaterialTag(material, rock.support); + } + + if (rock.aqueduct != null) { + addToTfcTag(rock.aqueduct); + addToMaterialTag(material, rock.aqueduct); + } + + if (rock.spike != null) { + addToTfcTag(rock.spike); + } + + if (rock.pillar != null) { + addToTfcTag(rock.pillar); + addToMaterialTag(material, rock.pillar); + if (rock.stonecutterTag != null) { + event.add(rock.stonecutterTag, rock.pillar); + } + } + + if (rock.pillar2 != null) { + addToTfcTag(rock.pillar2); + addToMaterialTag(material, rock.pillar2); + if (rock.stonecutterTag != null) { + event.add(rock.stonecutterTag, rock.pillar2); + } + } + + if (rock.stonecutting != null) { + rock.stonecutting.forEach(blockForms => { + event.add('tfc:rock/bricks', blockForms.block); + event.add('tfc:rock/chiseled_bricks', blockForms.block); + addToTfcTag(blockForms.block); + addToMaterialTag(material, blockForms.block); + if (rock.stonecutterTag != null) { + event.add(rock.stonecutterTag, blockForms.block); + } + + SHAPES.forEach(shape => { + if (blockForms[shape] != null) { + addToTfcTag(blockForms[shape]); + addToMaterialTag(material, blockForms[shape]); + if (rock.stonecutterTag != null) { + event.add(rock.stonecutterTag, blockForms[shape]); + } + } + }) + }) + } + } + + // Stone Dusts Tag event.add('tfg:stone_dusts', 'gtceu:stone_dust') - event.add('tfg:stone_dusts', 'gtceu:red_granite_dust') - event.add('tfg:stone_dusts', 'gtceu:netherrack_dust') - //#endregion + event.add('tfg:stone_dusts', 'tfg:sedimentary_clastic_dust') + event.add('tfg:stone_dusts', 'tfg:sedimentary_carbonate_dust') + event.add('tfg:stone_dusts', 'tfg:sedimentary_organic_dust') + event.add('tfg:stone_dusts', 'tfg:metamorphic_dust') + event.add('tfg:stone_dusts', 'tfg:igneous_ultramafic_dust') + event.add('tfg:stone_dusts', 'tfg:igneous_mafic_dust') + event.add('tfg:stone_dusts', 'tfg:igneous_intermediate_dust') + event.add('tfg:stone_dusts', 'tfg:igneous_felsic_dust') - const SHAPES = ['stairs', 'slab', 'wall'] - const SHAPES_AA = ['stairs', 'slab'] - - const STONE_TYPES = { - deepslate: "metamorphic", - blackstone: "igneous_intrusive", - dripstone: "sedimentary", - crackrack: "igneous_intrusive", - basalt: "igneous_extrusive", - moon: "igneous_intrusive", - moon_deepslate: "igneous_intrusive", - mars: "sedimentary", - venus: "igneous_extrusive", - mercury: "igneous_intrusive", - glacio: "igneous_extrusive", - red_granite: "igneous_intrusive" - } - - function getStoneType(stone) { - const stoneType = STONE_TYPES[stone.toLowerCase()]; - return stoneType ? stoneType : `Stone "${stone}" not found`; - } - - const AA_REGULAR_STONES = ['moon', 'mars', 'venus', 'mercury', 'glacio'] - - // #region Nether blocks - - // Deepslate (Migmatite) [Metamorphic] - const create_deepslate_blocks = Ingredient.of('#create:stone_types/deepslate').itemIds.toArray().map(String); - create_deepslate_blocks.forEach(block => { - event.add(`tfc:${STONE_TYPES.deepslate}_items`, block) - }) - - event.add(`tfc:${STONE_TYPES.deepslate}_items`, 'minecraft:deepslate') - - event.add(`tfc:${STONE_TYPES.deepslate}_items`, 'minecraft:cobbled_deepslate') - - SHAPES.forEach(shape => { - event.add(`tfc:${STONE_TYPES.deepslate}_items`, `minecraft:cobbled_deepslate_${shape}`) - event.add(`tfg:rock_${shape}`.replace(/ss/g, 's'), `minecraft:cobbled_deepslate_${shape}`) - }) - - event.add('forge:smooth_stone', 'minecraft:polished_deepslate') - event.add(`tfc:${STONE_TYPES.deepslate}_items`, 'minecraft:polished_deepslate') - event.add('tfc:rock/smooth', 'minecraft:polished_deepslate') - event.add('create:stone_types/deepslate', 'minecraft:polished_deepslate') - - SHAPES.forEach(shape => { - event.add(`tfc:${STONE_TYPES.deepslate}_items`, `minecraft:polished_deepslate_${shape}`) - event.add(`tfg:rock_${shape}`.replace(/ss/g, 's'), `minecraft:polished_deepslate_${shape}`) - }) - - event.add('forge:stone_bricks', 'minecraft:deepslate_bricks') - event.add(`tfc:${STONE_TYPES.deepslate}_items`, 'minecraft:deepslate_bricks') - event.add('tfc:rock/bricks', 'minecraft:deepslate_bricks') - - event.add('forge:stone_bricks', 'minecraft:deepslate_tiles') - event.add(`tfc:${STONE_TYPES.deepslate}_items`, 'minecraft:deepslate_tiles') - event.add('tfc:rock/bricks', 'minecraft:deepslate_tiles') - event.add('tfc:rock/chiseled_bricks', 'minecraft:deepslate_tiles') - - SHAPES.forEach(shape => { - event.add(`tfc:${STONE_TYPES.deepslate}_items`, `minecraft:deepslate_tile_${shape}`) - event.add(`tfg:brick_${shape}`.replace(/ss/g, 's'), `minecraft:deepslate_tile_${shape}`) - }) - - event.add('forge:stone_bricks', 'minecraft:cracked_deepslate_tiles') - event.add(`tfc:${STONE_TYPES.deepslate}_items`, 'minecraft:cracked_deepslate_tiles') - event.add('tfc:rock/bricks', 'minecraft:cracked_deepslate_tiles') - event.add('tfc:rock/chiseled_bricks', 'minecraft:cracked_deepslate_tiles') - - event.add('forge:stone_bricks', 'minecraft:chiseled_deepslate') - event.add(`tfc:${STONE_TYPES.deepslate}_items`, 'minecraft:chiseled_deepslate') - event.add('tfc:rock/bricks', 'minecraft:chiseled_deepslate') - event.add('tfc:rock/chiseled_bricks', 'minecraft:chiseled_deepslate') - - // Blackstone (Pyroxenite) [Igneous Intrusive] - event.remove('tfc:metamorphic_rock', 'beneath:blackstone_pebble') - event.add(`tfc:${STONE_TYPES.blackstone}_rock`, 'beneath:blackstone_pebble') - event.add(`tfc:${STONE_TYPES.blackstone}_items`, 'beneath:blackstone_pebble') - event.add('rnr:loose_rock_items', 'beneath:blackstone_pebble') - - event.add(`tfc:${STONE_TYPES.blackstone}_items`, 'beneath:blackstone_brick') - - event.add('forge:stone', 'minecraft:blackstone') - event.add(`tfc:${STONE_TYPES.blackstone}_items`, 'minecraft:blackstone') - - SHAPES.forEach(shape => { - event.add(`tfc:${STONE_TYPES.blackstone}_items`, `minecraft:blackstone_${shape}`) - event.add(`tfg:rock_${shape}`.replace(/ss/g, 's'), `minecraft:blackstone_${shape}`) - }) - - event.add(`tfc:${STONE_TYPES.blackstone}_items`, 'minecraft:gilded_blackstone') - - event.add('forge:smooth_stone', 'minecraft:polished_blackstone') - event.add(`tfc:${STONE_TYPES.blackstone}_items`, 'minecraft:polished_blackstone') - event.add('tfc:rock/smooth', 'minecraft:polished_blackstone') - - event.add('forge:stone_bricks', 'minecraft:polished_blackstone_bricks') - event.add(`tfc:${STONE_TYPES.blackstone}_items`, 'minecraft:polished_blackstone_bricks') - event.add('tfc:rock/bricks', 'minecraft:polished_blackstone_bricks') - - SHAPES.forEach(shape => { - event.add(`tfc:${STONE_TYPES.blackstone}_items`, `minecraft:polished_blackstone_${shape}`) - event.add(`tfg:rock_${shape}`.replace(/ss/g, 's'), `minecraft:polished_blackstone_${shape}`) - }) - - event.add('forge:stone_bricks', 'minecraft:cracked_polished_blackstone_bricks') - event.add(`tfc:${STONE_TYPES.blackstone}_items`, 'minecraft:cracked_polished_blackstone_bricks') - event.add('tfc:rock/bricks', 'minecraft:cracked_polished_blackstone_bricks') - event.add('tfc:rock/cracked_bricks', 'minecraft:cracked_polished_blackstone_bricks') - - SHAPES.forEach(shape => { - event.add(`tfc:${STONE_TYPES.blackstone}_items`, `minecraft:polished_blackstone_brick_${shape}`) - event.add(`tfg:brick_${shape}`.replace(/ss/g, 's'), `minecraft:polished_blackstone_brick_${shape}`) - }) - - event.add('forge:stone_bricks', 'minecraft:polished_blackstone_bricks') - event.add(`tfc:${STONE_TYPES.blackstone}_items`, 'minecraft:polished_blackstone_bricks') - event.add('tfc:rock/bricks', 'minecraft:polished_blackstone_bricks') - - event.add('forge:stone_bricks', 'minecraft:chiseled_polished_blackstone') - event.add(`tfc:${STONE_TYPES.blackstone}_items`, 'minecraft:chiseled_polished_blackstone') - event.add('tfc:rock/bricks', 'minecraft:chiseled_polished_blackstone') - event.add('tfc:rock/chiseled_bricks', 'minecraft:chiseled_polished_blackstone') - - event.add(`tfc:${STONE_TYPES.blackstone}_items`, 'beneath:blackstone_aqueduct') - - // Dripstone (Travertine) [Sedimentary] - const create_dripstone_blocks = Ingredient.of('#create:stone_types/dripstone').itemIds.toArray().map(String); - create_dripstone_blocks.forEach(block => { - event.add(`tfc:${STONE_TYPES.dripstone}_items`, block) - }) - - event.add('forge:stone', 'minecraft:dripstone_block') - event.add(`tfc:${STONE_TYPES.dripstone}_items`, 'minecraft:dripstone_block') - - event.add('forge:smooth_stone', 'create:cut_dripstone') - event.add(`tfc:${STONE_TYPES.dripstone}_items`, 'create:cut_dripstone') - event.add('tfc:rock/smooth', 'create:cut_dripstone') - - SHAPES.forEach(shape => { - event.add(`tfc:${STONE_TYPES.dripstone}_items`, `create:cut_dripstone_${shape}`) - event.add(`tfg:rock_${shape}`.replace(/ss/g, 's'), `create:cut_dripstone_${shape}`) - }) - - event.add('forge:smooth_stone', 'ad_astra:polished_cut_dripstone') - event.add('tfc:rock/smooth', 'create:polished_cut_dripstone') - - SHAPES.forEach(shape => { - event.add(`tfc:${STONE_TYPES.dripstone}_items`, `create:polished_cut_dripstone_${shape}`) - event.add(`tfg:rock_${shape}`.replace(/ss/g, 's'), `create:polished_cut_dripstone_${shape}`) - }) - - event.add('forge:stone_bricks', 'create:cut_dripstone_bricks') - event.add(`tfc:${STONE_TYPES.dripstone}_items`, 'create:cut_dripstone_bricks') - event.add('tfc:rock/bricks', 'create:cut_dripstone_bricks') - - SHAPES.forEach(shape => { - event.add(`tfc:${STONE_TYPES.dripstone}_items`, `create:cut_dripstone_brick_${shape}`) - event.add(`tfg:brick_${shape}`.replace(/ss/g, 's'), `create:cut_dripstone_brick_${shape}`) - }) - - event.add('forge:stone_bricks', 'create:small_dripstone_bricks') - event.add(`tfc:${STONE_TYPES.dripstone}_items`, 'create:small_dripstone_bricks') - event.add('tfc:rock/bricks', 'create:small_dripstone_bricks') - event.add('tfc:rock/chiseled_bricks', 'create:small_dripstone_bricks') - - SHAPES.forEach(shape => { - event.add(`tfc:${STONE_TYPES.dripstone}_items`, `create:small_dripstone_brick_${shape}`) - event.add(`tfg:brick_${shape}`.replace(/ss/g, 's'), `create:small_dripstone_brick_${shape}`) - }) - - // Crackrack / "Nether" (Keratophyre) [Igneous Intrusive] - event.add('forge:stone', 'beneath:crackrack') - event.add(`tfc:${STONE_TYPES.crackrack}_items`, 'beneath:crackrack') - - event.add('forge:stone_bricks', 'minecraft:nether_bricks') - event.add(`tfc:${STONE_TYPES.crackrack}_items`, 'minecraft:nether_bricks') - event.add('tfc:rock/bricks', 'minecraft:nether_bricks') - - SHAPES.forEach(shape => { - event.add(`tfc:${STONE_TYPES.crackrack}_items`, `minecraft:nether_brick_${shape}`) - event.add(`tfg:brick_${shape}`.replace(/ss/g, 's'), `minecraft:nether_brick_${shape}`) - }) - - event.add('forge:stone_bricks', 'minecraft:cracked_nether_bricks') - event.add(`tfc:${STONE_TYPES.crackrack}_items`, 'minecraft:cracked_nether_bricks') - event.add('tfc:rock/bricks', 'minecraft:cracked_nether_bricks') - event.add('tfc:rock/cracked_bricks', 'minecraft:cracked_nether_bricks') - - event.add('forge:stone_bricks', 'minecraft:chiseled_nether_bricks') - event.add(`tfc:${STONE_TYPES.crackrack}_items`, 'minecraft:chiseled_nether_bricks') - event.add('tfc:rock/bricks', 'minecraft:chiseled_nether_bricks') - event.add('tfc:rock/chiseled_bricks', 'minecraft:chiseled_nether_bricks') - - // Basalt + // Extra basalt blocks event.add('forge:stone', 'minecraft:basalt') - event.add(`tfc:${STONE_TYPES.basalt}_items`, 'minecraft:basalt') + event.add(`tfc:igneous_extrusive_items`, 'minecraft:basalt') event.add('forge:smooth_stone', 'minecraft:smooth_basalt') - event.add(`tfc:${STONE_TYPES.basalt}_items`, 'minecraft:smooth_basalt') + event.add(`tfc:igneous_extrusive_items`, 'minecraft:smooth_basalt') event.add('tfc:rock/smooth', 'minecraft:smooth_basalt') event.add('forge:smooth_stone', 'minecraft:polished_basalt') - event.add(`tfc:${STONE_TYPES.basalt}_items`, 'minecraft:polished_basalt') + event.add(`tfc:igneous_extrusive_items`, 'minecraft:polished_basalt') event.add('tfc:rock/smooth', 'minecraft:polished_basalt') - // #endregion +} - // #region Space blocks - AA_REGULAR_STONES.forEach(stone => { - event.add('forge:stone', `ad_astra:${stone}_stone`) - event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:${stone}_stone`) - SHAPES_AA.forEach(shape => { - event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:${stone}_stone_${shape}`) - event.add(`tfg:rock_${shape}`.replace(/ss/g, 's'), `ad_astra:${stone}_stone_${shape}`) - }) +function registerTFGStoneBlockTags(event) { - event.add('forge:cobblestone', `ad_astra:${stone}_cobblestone`) - event.add('forge:cobblestone/normal', `ad_astra:${stone}_cobblestone`) - event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:${stone}_cobblestone`) + const SHAPES = ['stair', 'slab', 'wall']; - SHAPES_AA.forEach(shape => { - event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:${stone}_cobblestone_${shape}`) - event.add(`tfg:rock_${shape}`.replace(/ss/g, 's'), `ad_astra:${stone}_cobblestone_${shape}`) - }) + for (let [rockId, rock] of Object.entries(global.BIG_ROCK_TABLE)) { - event.add('forge:smooth_stone', `ad_astra:polished_${stone}_stone`) - event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:polished_${stone}_stone`) - event.add('tfc:rock/smooth', `ad_astra:polished_${stone}_stone`) + if (rock.raw != null) { + event.add('forge:stone', rock.raw.block) + event.add('tfc:breaks_when_isolated', rock.raw.block) + event.add('tfc:rock/raw', rock.raw.block) + event.add('minecraft:mineable/pickaxe', rock.raw.block) + event.add('tfc:can_carve', rock.raw.block) + // Collapse tags also require a collapse recipe to work. + // Don't add the recipe if you don't want them to actually collapse! + event.add('tfc:can_collapse', rock.raw.block) + event.add('tfc:can_trigger_collapse', rock.raw.block) + event.add('tfc:can_start_collapse', rock.raw.block) + event.add('tfc:powderkeg_breaking_blocks', rock.raw.block) + event.add('tfc:bloomery_insulation', rock.raw.block) + event.add('firmalife:oven_insulation', rock.raw.block) + event.add('tfc:forge_insulation', rock.raw.block) - SHAPES_AA.forEach(shape => { - event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:polished_${stone}_stone_${shape}`) - event.add(`tfg:rock_${shape}`.replace(/ss/g, 's'), `ad_astra:polished_${stone}_stone_${shape}`) - }) + SHAPES.forEach(shape => { + if (rock.raw[shape] != null) { + event.add(`tfg:rock_${shape}s`, rock.raw[shape]); + } + }) + } - event.add('forge:stone_bricks', `ad_astra:${stone}_stone_bricks`) - event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:${stone}_stone_bricks`) - event.add('tfc:rock/bricks', `ad_astra:${stone}_stone_bricks`) + if (rock.hardened != null) { + event.add('minecraft:mineable/pickaxe', rock.hardened) + event.add('tfc:can_collapse', rock.hardened) + event.add('tfc:can_trigger_collapse', rock.hardened) + event.add('tfc:powderkeg_breaking_blocks', rock.hardened) + event.add('tfc:bloomery_insulation', rock.hardened) + event.add('firmalife:oven_insulation', rock.hardened) + event.add('tfc:forge_insulation', rock.hardened) + event.add('tfc:can_carve', rock.hardened) + } + + if (rock.cobble != null) { + event.add('tfc:can_landslide', rock.cobble.block) + event.add('forge:cobblestone', rock.cobble.block) + } - SHAPES.forEach(shape => { - event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:${stone}_stone_brick_${shape}`) - event.add(`tfg:brick_${shape}`.replace(/ss/g, 's'), `ad_astra:${stone}_stone_brick_${shape}`) - }) + if (rock.gravel != null) { + event.add('tfc:can_landslide', rock.gravel) + } - event.add('forge:stone_bricks', `ad_astra:cracked_${stone}_stone_bricks`) - event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:cracked_${stone}_stone_bricks`) - event.add('tfc:rock/bricks', `ad_astra:cracked_${stone}_stone_bricks`) - event.add('tfc:rock/cracked_bricks', `ad_astra:cracked_${stone}_stone_bricks`) + if (rock.polished != null) { + event.add('tfc:bloomery_insulation', rock.polished.block); + event.add('tfc:forge_insulation', rock.polished.block); + event.add('firmalife:oven_insulation', rock.polished.block); - event.add('forge:stone_bricks', `ad_astra:chiseled_${stone}_stone_bricks`) - event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:chiseled_${stone}_stone_bricks`) - event.add('tfc:rock/bricks', `ad_astra:chiseled_${stone}_stone_bricks`) - event.add('tfc:rock/chiseled_bricks', `ad_astra:chiseled_${stone}_stone_bricks`) + SHAPES.forEach(shape => { + if (rock.polished[shape] != null) { + event.add(`tfg:rock_${shape}s`, rock.polished[shape]); + } + }) + } - SHAPES_AA.forEach(shape => { - event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:chiseled_${stone}_stone_brick_${shape}`) - event.add(`tfg:brick_${shape}`.replace(/ss/g, 's'), `ad_astra:chiseled_${stone}_stone_brick_${shape}`) - }) + if (rock.chiseled != null) { + event.add('tfc:bloomery_insulation', rock.chiseled.block); + event.add('tfc:forge_insulation', rock.chiseled.block); + event.add('firmalife:oven_insulation', rock.chiseled.block); + } - event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:${stone}_pillar`) - }) + if (rock.bricks != null) { + event.add('tfc:bloomery_insulation', rock.bricks.block); + event.add('tfc:forge_insulation', rock.bricks.block); + event.add('firmalife:oven_insulation', rock.bricks.block); - // Moon Deepslate (Norite) [Igneous Intrusive] - event.add('forge:stone', 'ad_astra:moon_deepslate') - event.add(`tfc:${STONE_TYPES.moon_deepslate}_items`, 'ad_astra:moon_deepslate') - - // Red Granite [Igneous Intrusive] - event.add('forge:stone', 'gtceu:red_granite') - event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:red_granite') + if (rock.bricks.mossy != null) { + event.add('tfc:bloomery_insulation', rock.bricks.mossy.block); + event.add('tfc:forge_insulation', rock.bricks.mossy.block); + event.add('firmalife:oven_insulation', rock.bricks.mossy.block); + } - event.add('forge:cobblestone', 'gtceu:red_granite_cobblestone') - event.add('forge:cobblestone/normal', 'gtceu:red_granite_cobblestone') - event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:red_granite_cobblestone') - - event.add('forge:cobblestone', 'gtceu:mossy_red_granite_cobblestone') - event.add('forge:cobblestone/normal', 'gtceu:mossy_red_granite_cobblestone') - event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:mossy_red_granite_cobblestone') - - event.add('forge:smooth_stone', 'gtceu:polished_red_granite') - event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:polished_red_granite') - event.add('tfc:rock/smooth', 'gtceu:polished_red_granite') - - event.add('forge:stone_bricks', 'gtceu:red_granite_bricks') - event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:red_granite_bricks') - event.add('tfc:rock/bricks', 'gtceu:red_granite_bricks') - - event.add('forge:stone_bricks', 'gtceu:mossy_red_granite_bricks') - event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:mossy_red_granite_bricks') - event.add('tfc:rock/bricks', 'gtceu:mossy_red_granite_bricks') - event.add('tfc:rock/mossy_bricks', 'gtceu:mossy_red_granite_bricks') - - event.add('forge:stone_bricks', 'gtceu:cracked_red_granite_bricks') - event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:cracked_red_granite_bricks') - event.add('tfc:rock/bricks', 'gtceu:cracked_red_granite_bricks') - event.add('tfc:rock/cracked_bricks', 'gtceu:cracked_red_granite_bricks') - - event.add('forge:stone_bricks', 'gtceu:red_granite_tile') - event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:red_granite_tile') - event.add('tfc:rock/bricks', 'gtceu:red_granite_tile') - event.add('tfc:rock/chiseled_bricks', 'gtceu:red_granite_tile') - - event.add('forge:stone_bricks', 'gtceu:square_red_granite_bricks') - event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:square_red_granite_bricks') - event.add('tfc:rock/bricks', 'gtceu:square_red_granite_bricks') - event.add('tfc:rock/chiseled_bricks', 'gtceu:square_red_granite_bricks') - - event.add('forge:stone_bricks', 'gtceu:red_granite_windmill_a') - event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:red_granite_windmill_a') - event.add('tfc:rock/bricks', 'gtceu:red_granite_windmill_a') - event.add('tfc:rock/chiseled_bricks', 'gtceu:red_granite_windmill_a') - - event.add('forge:stone_bricks', 'gtceu:red_granite_windmill_b') - event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:red_granite_windmill_b') - event.add('tfc:rock/bricks', 'gtceu:red_granite_windmill_b') - event.add('tfc:rock/chiseled_bricks', 'gtceu:red_granite_windmill_b') - - event.add('forge:stone_bricks', 'gtceu:small_red_granite_bricks') - event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:small_red_granite_bricks') - event.add('tfc:rock/bricks', 'gtceu:small_red_granite_bricks') - event.add('tfc:rock/chiseled_bricks', 'gtceu:small_red_granite_bricks') - - event.add('forge:stone_bricks', 'gtceu:red_granite_small_tile') - event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:red_granite_small_tile') - event.add('tfc:rock/bricks', 'gtceu:red_granite_small_tile') - event.add('tfc:rock/chiseled_bricks', 'gtceu:red_granite_small_tile') - - event.add('forge:stone_bricks', 'gtceu:chiseled_red_granite') - event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:chiseled_red_granite') - event.add('tfc:rock/bricks', 'gtceu:chiseled_red_granite') - event.add('tfc:rock/chiseled_bricks', 'gtceu:chiseled_red_granite') - - // Smooth stone slabs - event.add('forge:smooth_stone_slabs', 'tfg:rock/polished_crackrack_slab') - event.add('forge:smooth_stone_slabs', 'tfg:rock/polished_moon_deepslate_slab') - event.add('forge:smooth_stone_slabs', 'tfg:rock/polished_red_granite_slab') - - // Permafrost (???) [NA] - event.remove('tfc:metamorphic_rock', 'tfg:loose/permafrost') - event.add('forge:stone', 'ad_astra:permafrost') - - event.add('forge:smooth_stone', 'ad_astra:polished_permafrost') - event.add('tfc:rock/smooth', 'ad_astra:polished_permafrost') - - event.add('forge:stone_bricks', 'ad_astra:permafrost_bricks') - event.add('tfc:rock/bricks', 'ad_astra:permafrost_bricks') - - event.add('forge:stone_bricks', 'ad_astra:cracked_permafrost_bricks') - event.add('tfc:rock/bricks', 'ad_astra:cracked_permafrost_bricks') - event.add('tfc:rock/cracked_bricks', 'ad_astra:cracked_permafrost_bricks') - - event.add('forge:stone_bricks', 'ad_astra:chiseled_permafrost_bricks') - event.add('tfc:rock/bricks', 'ad_astra:chiseled_permafrost_bricks') - event.add('tfc:rock/chiseled_bricks', 'ad_astra:chiseled_permafrost_bricks') + if (rock.bricks.cracked != null) { + event.add('tfc:bloomery_insulation', rock.bricks.cracked.block); + event.add('tfc:forge_insulation', rock.bricks.cracked.block); + event.add('firmalife:oven_insulation', rock.bricks.cracked.block); + } + } + if (rock.stonecutting != null) { + rock.stonecutting.forEach(blockForms => { + event.add('tfc:bloomery_insulation', blockForms.block); + event.add('tfc:forge_insulation', blockForms.block); + event.add('firmalife:oven_insulation', blockForms.block); + }) + } + } } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js b/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js index 60fb0ca79..32c1dab7a 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js @@ -1,58 +1,68 @@ // priority: 10 "use strict"; -const STONE_TYPES_TO_COBBLE = { - gabbro: 'tfc:rock/cobble/gabbro', - shale: 'tfc:rock/cobble/shale', - claystone: 'tfc:rock/cobble/claystone', - limestone: 'tfc:rock/cobble/limestone', - conglomerate: 'tfc:rock/cobble/conglomerate', - dolomite: 'tfc:rock/cobble/dolomite', - chert: 'tfc:rock/cobble/chert', - chalk: 'tfc:rock/cobble/chalk', - rhyolite: 'tfc:rock/cobble/rhyolite', - dacite: 'tfc:rock/cobble/dacite', - quartzite: 'tfc:rock/cobble/quartzite', - slate: 'tfc:rock/cobble/slate', - phyllite: 'tfc:rock/cobble/phyllite', - schist: 'tfc:rock/cobble/schist', - gneiss: 'tfc:rock/cobble/gneiss', - marble: 'tfc:rock/cobble/marble', - basalt: 'tfc:rock/cobble/basalt', - diorite: 'tfc:rock/cobble/diorite', - andesite: 'tfc:rock/cobble/andesite', - granite: 'tfc:rock/cobble/granite', - deepslate: 'minecraft:cobbled_deepslate', - pyroxenite: 'tfg:rock/cobble_blackstone', - dripstone: 'tfg:rock/cobble_dripstone', - keratophyre: 'tfg:rock/cobble_crackrack', - moon_stone: 'ad_astra:moon_cobblestone', - 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: 'tfg:rock/cobble_permafrost' -} -const registerTFGOreLoots = (event) => { - // Have to define these here because normal loot table jsons don't support checking for hammers +const registerTFGOreLoots = (event) => { + // Rock to cobble, cobble to gravel + for (let [rockId, rock] of Object.entries(global.BIG_ROCK_TABLE)) { + if (rock.raw != null && rock.cobble != null) { + event.addBlockLootModifier(rock.raw.block) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(rock.cobble.block) + } - // Crush raw rock into cobble - global.TFC_STONE_TYPES.forEach(stoneType => { - event.addBlockLootModifier(`tfc:rock/raw/${stoneType}`) - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot(STONE_TYPES_TO_COBBLE[stoneType]); + if (rock.hardened != null && rock.cobble != null) { + event.addBlockLootModifier(rock.hardened) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(rock.cobble.block) + } + + if (rock.cobble != null && rock.gravel != null) { + event.addBlockLootModifier(rock.cobble.block) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(rock.gravel) + + if (rock.cobble.mossy != null) { + event.addBlockLootModifier(rock.cobble.mossy.block) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(rock.gravel) + } + } + } + + // Sand + global.SAND_COLORS.forEach(sandColor => { + let tag_array = Ingredient.of(`#tfc:${sandColor}_gravel`).itemIds.toArray().map(String); + tag_array.forEach(item => { + event.addBlockLootModifier(item) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(`tfc:sand/${sandColor}`) + }) }) - // Defined in kubejs/startup_scripts/tfg/constants.js global.HAMMERING.forEach(x => { - event.addBlockLootModifier(x.raw) - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot(x.hammered) + if (x.raw.startsWith('#')) { + let tag_array = Ingredient.of(x.raw).itemIds.toArray().map(String); + tag_array.forEach(item => { + event.addBlockLootModifier(item) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(x.hammered) + }) + } + else { + event.addBlockLootModifier(x.raw) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(x.hammered) + } }) + // Other rocks event.addBlockLootModifier('minecraft:gilded_blackstone') .matchMainHand('#forge:tools/hammers') .removeLoot(ItemFilter.ALWAYS_TRUE) @@ -61,6 +71,16 @@ const registerTFGOreLoots = (event) => { LootEntry.of('tfc:powder/native_gold') ) + event.addBlockLootModifier('beneath:ore/blackstone_sylvite') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([ + Item.of('gtceu:rich_raw_rock_salt').withChance(0.2), + Item.of('gtceu:raw_rock_salt').withChance(0.6), + Item.of('gtceu:poor_raw_rock_salt').withChance(0.2) + ]) + .addLoot(LootEntry.of('tfg:igneous_ultramafic_dust').when((c) => c.randomChance(0.2))) + .addLoot(LootEntry.of('gtceu:tiny_rock_salt_dust').when(c => c.randomChance(0.05))); + // Go through all materials const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") @@ -83,30 +103,23 @@ const registerTFGOreLoots = (event) => { let richRawOre = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1) let normalRawOre = ChemicalHelper.get(TagPrefix.rawOre, material, 1) let poorRawOre = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1) + let dustOre = ChemicalHelper.get(TagPrefix.dustTiny, material, 1) let rawOreBlock = ChemicalHelper.get(TagPrefix.rawOreBlock, material, 1).getItem().id; event.addBlockLootModifier(rawOreBlock) .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([4, 6], - [ - richRawOre.withChance(0.2), - normalRawOre.withChance(0.6), - poorRawOre.withChance(0.2) - ]); + .addWeightedLoot([4, 6], [ + richRawOre.withChance(0.2), + normalRawOre.withChance(0.6), + poorRawOre.withChance(0.2) + ]) + .addLoot(LootEntry.of(dustOre).when(c => c.randomChance(0.2))); // Stone ores global.ORE_BEARING_STONES.forEach(stoneType => { - let stoneTypeMaterial = TFGHelpers.getMaterial(stoneType) - - // Material doesn't work here because of reasons - if (stoneTypeMaterial === null) { - if (stoneType === "pyroxenite") - stoneTypeMaterial = GTMaterials.Blackstone; - else if (stoneType === "deepslate") - stoneTypeMaterial = GTMaterials.Deepslate; - } - + let stoneTypeMaterial = GTMaterials.get(global.BIG_ROCK_TABLE[stoneType === "pyroxenite" ? "blackstone" : stoneType].material); + let stoneTypeDust = ChemicalHelper.get(TagPrefix.dust, stoneTypeMaterial, 1) let namespace = material === $GreateMaterials.RoseQuartz ? 'greate' : 'gtceu'; @@ -118,14 +131,13 @@ const registerTFGOreLoots = (event) => { normalRawOre.withChance(0.6), poorRawOre.withChance(0.2) ]) - .addLoot( - LootEntry.of(stoneTypeDust).when((c) => c.randomChance(0.25)) - ) + .addLoot(LootEntry.of(stoneTypeDust).when((c) => c.randomChance(0.2))) + .addLoot(LootEntry.of(dustOre).when(c => c.randomChance(0.05))); // break with hammer event.addBlockLootModifier(`${namespace}:${stoneType}_${material.getName()}_ore`) .matchMainHand('#forge:tools/hammers') - .addLoot(STONE_TYPES_TO_COBBLE[stoneType]); + .addLoot(LootEntry.of(GTBlocks.COBBLE_BLOCKS.get(TagPrefix.get(stoneType)).get().getBlock().id)); }) } }) diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js index e548d5e55..fca0005e1 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js @@ -87,7 +87,7 @@ function registerTFGNuclearRecipes(event) { // Martian Sludge event.recipes.gtceu.chemical_bath('dirty_hexafluorosilicic_acid') - .itemInputs('32x #forge:mars_stone_dusts') + .itemInputs('32x #forge:dusts/ochrum') .inputFluids(Fluid.of('gtceu:hydrofluoric_acid', 1000)) .outputFluids(Fluid.of('gtceu:dirty_hexafluorosilicic_acid', 1000)) .duration(20*8) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.supports.js b/kubejs/server_scripts/tfg/primitive/recipes.supports.js index 90a296b6d..dc5311736 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.supports.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.supports.js @@ -87,97 +87,7 @@ function registerTFGSupportRecipes(event) { .duration(40) .EUt(GTValues.VA[GTValues.ULV]) - // Stone Supports - global.TFC_STONE_TYPES.forEach(stone => { - event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped(`8x tfg:${stone}_support`, [ - 'AB ', - 'AC ', - 'AC ' - ], { - A: `tfc:rock/loose/${stone}`, - B: '#tfc:chisels', - C: 'tfc:mortar' - }).id(`tfg:shaped/${stone}_support`)) - - event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped(`8x tfg:${stone}_support`, [ - 'AB ', - 'AC ', - 'AC ' - ], { - A: `tfc:rock/mossy_loose/${stone}`, - B: '#tfc:chisels', - C: 'tfc:mortar' - }).id(`tfg:shaped/mossy/${stone}_support`)) - - event.recipes.gtceu.assembler(`tfg:gtceu/assembler/${stone}_support`) - .circuit(11) - .inputFluids(Fluid.of('gtceu:concrete', 36)) - .itemOutputs(`8x tfg:${stone}_support`) - .itemInputs(`3x tfc:rock/loose/${stone}`) - .duration(40) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.assembler(`tfg:gtceu/assembler/mossy/${stone}_support`) - .circuit(11) - .inputFluids(Fluid.of('gtceu:concrete', 36)) - .itemOutputs(`8x tfg:${stone}_support`) - .itemInputs(`3x tfc:rock/mossy_loose/${stone}`) - .duration(40) - .EUt(GTValues.VA[GTValues.ULV]) - }) - - // REDO w/ table and loop - const EXO_STONE_SUPPORTS = [ - { loose: 'tfg:loose/deepslate', support: 'tfg:migmatite_support', material: 'deepslate' }, - { loose: 'beneath:blackstone_pebble', support: 'tfg:pyroxenite_support', material: 'blackstone', }, - { loose: 'tfg:loose/dripstone', support: 'tfg:travertine_support', material: 'dripstone' }, - { loose: 'tfg:loose/crackrack', support: 'tfg:keratophyre_support', material: 'netherrack' }, - { loose: 'tfg:loose/moon_stone', support: 'tfg:anorthosite_support', material: 'moon_stone' }, - { loose: 'tfg:loose/moon_deepslate', support: 'tfg:norite_support', material: 'moon_deepslate' }, - { loose: 'tfg:loose/mars_stone', support: 'tfg:argillite_support', material: 'mars_stone' }, - { loose: 'tfg:loose/venus_stone', support: 'tfg:trachyte_support', material: 'venus_stone', }, - { loose: 'tfg:loose/mercury_stone', support: 'tfg:komatiite_support', material: 'mercury_stone' }, - { loose: 'tfg:loose/glacio_stone', support: 'tfg:phonolite_support', material: 'glacio_stone' }, - { loose: 'tfg:loose/permafrost', support: 'tfg:permafrost_support', material: 'ice' }, - { loose: 'tfg:loose/red_granite', support: 'tfg:red_granite_support', material: 'granite_red' }, - { loose: 'gtceu:stone_ingot', support: 'tfg:stone_support', material: 'stone' } - ] - - EXO_STONE_SUPPORTS.forEach(s => { - event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped(`8x ${s.support}`, [ - 'AB ', - 'AC ', - 'AC ' - ], { - A: s.loose, - B: '#tfc:chisels', - C: 'tfc:mortar' - }).id(`tfg:shaped/${s.support.split(':')[1]}`) - ) - - event.recipes.gtceu.assembler(`tfg:gtceu/assembler/${s.support.split(':')[1]}`) - .circuit(11) - .inputFluids(Fluid.of('gtceu:concrete', 36)) - .itemOutputs(`8x ${s.support}`) - .itemInputs(`3x ${s.loose}`) - .duration(40) - .EUt(GTValues.VA[GTValues.ULV]) - - let regexMatch = s.support.match(/tfg:(.*?)_support/); - let supportName = regexMatch[1]; - let stoneMaterial = TFGHelpers.getMaterial(s.material); - let dustSmall = ChemicalHelper.get(TagPrefix.dustSmall, stoneMaterial, 1) - - event.recipes.gtceu.macerator(`${supportName}_support_to_dust`) - .itemInputs(s.support) - .itemOutputs(dustSmall) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING); - }) + // Stone supports are in recipes.rocks.js // Metal Supports event.shaped('8x tfg:rebar_support', [ diff --git a/kubejs/server_scripts/tfg/tags.interaction.js b/kubejs/server_scripts/tfg/tags.interaction.js deleted file mode 100644 index ad0c2bea0..000000000 --- a/kubejs/server_scripts/tfg/tags.interaction.js +++ /dev/null @@ -1,63 +0,0 @@ -// priority: 0 -"use strict"; - -function registerBlockInteractionItemTags(event) { - - /** - * @typedef {Object} BrickVariant - * @property {string} brick_type - The name of the brick variant. - * @property {string|null} brick - Main brick block ID. - * @property {string|null} brick_stairs - Brick stairs block ID. - * @property {string|null} brick_slab - Brick slab block ID. - * @property {string|null} brick_wall - Brick wall block ID. - * @property {string|null} cracked_brick - Cracked brick block ID. - * @property {string|null} cracked_stairs - Cracked brick stairs block ID. - * @property {string|null} cracked_slab - Cracked brick slab block ID. - * @property {string|null} cracked_wall - Cracked brick wall block ID. - * @property {string|null} mossy_brick - Mossy brick block ID. - * @property {string|null} mossy_stairs - Mossy brick stairs block ID. - * @property {string|null} mossy_slab - Mossy brick slab block ID. - * @property {string|null} mossy_wall - Mossy brick wall block ID. - * @property {string|null} smooth_brick - Smooth brick block ID. - * @property {string|null} smooth_stairs - Smooth brick stairs block ID. - * @property {string|null} smooth_slab - Smooth brick slab block ID. - * @property {string|null} smooth_wall - Smooth brick wall block ID. - * @property {string|null} chiseled_brick - Chiseled brick block ID. - */ - - for (const b of global.BRICK_INDEX) { - if (b.brick !== null) { event.add('tfg:interaction/brick', b.brick) } - if (b.brick_stairs !== null) { event.add('tfg:interaction/brick_stairs', b.brick_stairs) } - if (b.brick_slab !== null) { event.add('tfg:interaction/brick_slab', b.brick_slab) } - if (b.brick_wall !== null) { event.add('tfg:interaction/brick_wall', b.brick_wall) } - - if (b.cracked_brick !== null) { event.add('tfg:interaction/cracked_brick', b.cracked_brick) } - if (b.cracked_stairs !== null) { event.add('tfg:interaction/cracked_brick_stairs', b.cracked_stairs) } - if (b.cracked_slab !== null) { event.add('tfg:interaction/cracked_brick_slab', b.cracked_slab) } - if (b.cracked_wall !== null) { event.add('tfg:interaction/cracked_brick_wall', b.cracked_wall) } - - if (b.mossy_brick !== null) { event.add('tfg:interaction/mossy_brick', b.mossy_brick) } - if (b.mossy_stairs !== null) { event.add('tfg:interaction/mossy_brick_stairs', b.mossy_stairs) } - if (b.mossy_slab !== null) { event.add('tfg:interaction/mossy_brick_slab', b.mossy_slab) } - if (b.mossy_wall !== null) { event.add('tfg:interaction/mossy_brick_wall', b.mossy_wall) } - - if (b.smooth_brick !== null) { event.add('tfg:interaction/smooth_brick', b.smooth_brick) } - //event.add('tfg:interaction/smooth_bricks', b.smooth_stairs) - //event.add('tfg:interaction/smooth_bricks', b.smooth_slab) - //event.add('tfg:interaction/smooth_bricks', b.smooth_wall) - } - - - for (const c of global.COBBLE_INDEX) { - - event.add('tfg:interaction/cobble', c.block) - event.add('tfg:interaction/cobble_stairs', c.stairs) - event.add('tfg:interaction/cobble_slab', c.slab) - event.add('tfg:interaction/cobble_wall', c.wall) - - event.add('tfg:interaction/mossy_cobble', c.mossy_block) - event.add('tfg:interaction/mossy_cobble_stairs', c.mossy_stairs) - event.add('tfg:interaction/mossy_cobble_slab', c.mossy_slab) - event.add('tfg:interaction/mossy_cobble_wall', c.mossy_wall) - } -} diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index f1f792a98..240456478 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -4,7 +4,6 @@ const registerTFGItemTags = (event) => { registerTFGTrimItemTags(event) registerTFGFacadeWhitelistItemTags(event) - registerBlockInteractionItemTags(event) registerTFGStoneItemTags(event) registerTFGFoodItemTags(event); registerTFGMedicineItemTags(event); @@ -109,6 +108,7 @@ const registerTFGBlockTags = (event) => { registerTFGPrimitiveBlockTags(event) registerTFGFoodBlockTags(event) + registerTFGStoneBlockTags(event) registerTFGGeneralWorldgenBlockTags(event) registerTFGBeneathBlockTags(event) registerTFGMoonBlockTags(event) diff --git a/kubejs/server_scripts/tfg/venus/recipes.venus.js b/kubejs/server_scripts/tfg/venus/recipes.venus.js index 51e2a90cc..b8225e15c 100644 --- a/kubejs/server_scripts/tfg/venus/recipes.venus.js +++ b/kubejs/server_scripts/tfg/venus/recipes.venus.js @@ -2,21 +2,4 @@ function registerTFGVenusRecipes(event) { - event.stonecutting('betterend:flavolite', '#tfg:leucitite_blocks') - event.stonecutting('betterend:flavolite_bricks', '#tfg:leucitite_blocks') - event.stonecutting('betterend:flavolite_pillar', '#tfg:leucitite_blocks') - event.stonecutting('betterend:flavolite_polished', '#tfg:leucitite_blocks') - event.stonecutting('betterend:flavolite_tiles', '#tfg:leucitite_blocks') - - event.stonecutting('betterend:sandy_jadestone', '#tfg:lamproite_blocks') - event.stonecutting('betterend:sandy_jadestone_bricks', '#tfg:lamproite_blocks') - event.stonecutting('betterend:sandy_jadestone_pillar', '#tfg:lamproite_blocks') - event.stonecutting('betterend:sandy_jadestone_polished', '#tfg:lamproite_blocks') - event.stonecutting('betterend:sandy_jadestone_tiles', '#tfg:lamproite_blocks') - - event.stonecutting('betterend:sulphuric_rock', '#tfg:ignimbrite_blocks') - event.stonecutting('betterend:sulphuric_rock_bricks', '#tfg:ignimbrite_blocks') - event.stonecutting('betterend:sulphuric_rock_pillar', '#tfg:ignimbrite_blocks') - event.stonecutting('betterend:sulphuric_rock_polished', '#tfg:ignimbrite_blocks') - event.stonecutting('betterend:sulphuric_rock_tiles', '#tfg:ignimbrite_blocks') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/venus/tags.venus.js b/kubejs/server_scripts/tfg/venus/tags.venus.js index e9be39331..7b480c219 100644 --- a/kubejs/server_scripts/tfg/venus/tags.venus.js +++ b/kubejs/server_scripts/tfg/venus/tags.venus.js @@ -1,23 +1,6 @@ "use strict"; function registerTFGVenusItemTags(event) { - event.add('tfg:leucitite_blocks', 'betterend:flavolite') - event.add('tfg:leucitite_blocks', 'betterend:flavolite_bricks') - event.add('tfg:leucitite_blocks', 'betterend:flavolite_pillar') - event.add('tfg:leucitite_blocks', 'betterend:flavolite_polished') - event.add('tfg:leucitite_blocks', 'betterend:flavolite_tiles') - - event.add('tfg:lamproite_blocks', 'betterend:sandy_jadestone') - event.add('tfg:lamproite_blocks', 'betterend:sandy_jadestone_bricks') - event.add('tfg:lamproite_blocks', 'betterend:sandy_jadestone_pillar') - event.add('tfg:lamproite_blocks', 'betterend:sandy_jadestone_polished') - event.add('tfg:lamproite_blocks', 'betterend:sandy_jadestone_tiles') - - event.add('tfg:ignimbrite_blocks', 'betterend:sulphuric_rock') - event.add('tfg:ignimbrite_blocks', 'betterend:sulphuric_rock_bricks') - event.add('tfg:ignimbrite_blocks', 'betterend:sulphuric_rock_pillar') - event.add('tfg:ignimbrite_blocks', 'betterend:sulphuric_rock_polished') - event.add('tfg:ignimbrite_blocks', 'betterend:sulphuric_rock_tiles') } diff --git a/kubejs/server_scripts/tfg/worldgen/tags.general_worldgen.js b/kubejs/server_scripts/tfg/worldgen/tags.general_worldgen.js index 55ba87c95..6a8a9aeb9 100644 --- a/kubejs/server_scripts/tfg/worldgen/tags.general_worldgen.js +++ b/kubejs/server_scripts/tfg/worldgen/tags.general_worldgen.js @@ -22,28 +22,6 @@ function registerTFGGeneralWorldgenItemTags(event) { event.add('c:hidden_from_recipe_viewers', 'tfg:pile/hematitic_sand_covering') event.add('c:hidden_from_recipe_viewers', 'tfg:pile/mars_snow_covering') - event.add('forge:cobblestone', 'ad_astra:moon_cobblestone') - event.add('forge:cobblestone', 'ad_astra:mars_cobblestone') - event.add('forge:cobblestone', 'ad_astra:venus_cobblestone') - event.add('forge:cobblestone', 'ad_astra:mercury_cobblestone') - event.add('forge:cobblestone', 'ad_astra:glacio_cobblestone') - - event.add('forge:smooth_stone_slab', 'ad_astra:polished_moon_stone_slab') - event.add('forge:smooth_stone_slab', 'ad_astra:polished_mars_stone_slab') - event.add('forge:smooth_stone_slab', 'ad_astra:polished_venus_stone_slab') - event.add('forge:smooth_stone_slab', 'ad_astra:polished_mercury_stone_slab') - event.add('forge:smooth_stone_slab', 'ad_astra:polished_glacio_stone_slab') - event.add('forge:smooth_stone_slab', 'ad_astra:polished_permafrost_slab') - event.add('forge:smooth_stone_slab', 'minecraft:polished_deepslate_slab') - event.add('forge:smooth_stone_slab', 'minecraft:polished_blackstone_slab') - event.add('forge:smooth_stone_slab', 'minecraft:polished_blackstone_brick_slab') - - event.add('tfc:rock/smooth', 'minecraft:smooth_stone') - - event.add('tfc:rock/raw', 'minecraft:deepslate') - event.add('tfc:rock/raw', 'minecraft:blackstone') - event.add('tfc:rock/raw', 'minecraft:dripstone_block') - event.add('minecraft:wart_blocks', 'ad_astra:aeronos_cap') event.add('minecraft:wart_blocks', 'ad_astra:strophar_cap') event.add('minecraft:wart_blocks', 'minecraft:mushroom_stem') @@ -53,79 +31,9 @@ function registerTFGGeneralWorldgenItemTags(event) { function registerTFGGeneralWorldgenBlockTags(event) { - // All new stones - global.EXTRATERRESTRIAL_RAW_ROCKS.forEach(rock => { - event.add('forge:stone', rock) - event.add('tfc:breaks_when_isolated', rock) - event.add('tfc:rock/raw', rock) - event.add('minecraft:mineable/pickaxe', rock) - event.add('tfc:can_carve', rock) - // Collapse tags also require a collapse recipe to work. - // Don't add the recipe if you don't want them to actually collapse! - event.add('tfc:can_collapse', rock) - event.add('tfc:can_trigger_collapse', rock) - event.add('tfc:can_start_collapse', rock) - event.add('tfc:powderkeg_breaking_blocks', rock) - event.add('tfc:bloomery_insulation', rock) - event.add('firmalife:oven_insulation', rock) - event.add('tfc:forge_insulation', rock) - }) - - global.EXTRATERRESTRIAL_HARDENED_ROCKS.forEach(rock => { - event.add('minecraft:mineable/pickaxe', rock) - event.add('tfc:can_collapse', rock) - event.add('tfc:can_trigger_collapse', rock) - event.add('tfc:powderkeg_breaking_blocks', rock) - event.add('tfc:bloomery_insulation', rock) - event.add('firmalife:oven_insulation', rock) - event.add('tfc:forge_insulation', rock) - event.add('tfc:can_carve', rock) - }) - - event.add('tfc:can_landslide', 'minecraft:cobbled_deepslate') - event.add('forge:cobblestone/normal', 'minecraft:cobbled_deepslate') - - event.add('tfc:breaks_when_isolated', 'minecraft:deepslate') - event.add('tfc:breaks_when_isolated', 'minecraft:blackstone') event.add('tfc:breaks_when_isolated', 'minecraft:gilded_blackstone') - event.add('tfc:breaks_when_isolated', 'minecraft:dripstone_block') - - event.add('forge:stone', 'minecraft:blackstone') - - event.add('tfg:rock_stairs', 'minecraft:cobbled_deepslate_stairs') - event.add('tfg:rock_slabs', 'minecraft:cobbled_deepslate_slab') - event.add('tfg:rock_walls', 'minecraft:cobbled_deepslate_wall') - event.add('tfg:brick_stairs', 'minecraft:deepslate_brick_stairs') - event.add('tfg:brick_slabs', 'minecraft:deepslate_brick_slab') - event.add('tfg:brick_walls', 'minecraft:deepslate_brick_wall') - event.add('tfg:brick_stairs', 'minecraft:deepslate_tile_stairs') - event.add('tfg:brick_slabs', 'minecraft:deepslate_tile_slab') - event.add('tfg:brick_walls', 'minecraft:deepslate_tile_wall') - event.add('tfg:rock_stairs', 'minecraft:blackstone_stairs') - event.add('tfg:rock_slabs', 'minecraft:blackstone_slab') - event.add('tfg:rock_walls', 'minecraft:blackstone_wall') - event.add('tfg:brick_stairs', 'minecraft:blackstone_stairs') - event.add('tfg:brick_slabs', 'minecraft:blackstone_slab') - event.add('tfg:brick_walls', 'minecraft:blackstone_wall') - - event.add('tfc:bloomery_insulation', 'minecraft:polished_deepslate'); - event.add('tfc:forge_insulation', 'minecraft:polished_deepslate'); - event.add('tfc:bloomery_insulation', 'minecraft:polished_blackstone'); - event.add('tfc:forge_insulation', 'minecraft:polished_blackstone'); - event.add('tfc:bloomery_insulation', 'minecraft:deepslate_tiles'); - event.add('tfc:forge_insulation', 'minecraft:deepslate_tiles'); - event.add('tfc:bloomery_insulation', 'minecraft:cracked_deepslate_tiles'); - event.add('tfc:forge_insulation', 'minecraft:cracked_deepslate_tiles'); - event.add('tfc:bloomery_insulation', 'minecraft:chiseled_deepslate'); - event.add('tfc:forge_insulation', 'minecraft:chiseled_deepslate'); - event.add('tfc:bloomery_insulation', 'minecraft:chiseled_polished_blackstone'); - event.add('tfc:forge_insulation', 'minecraft:chiseled_polished_blackstone'); event.add('tfc:bloomery_insulation', 'minecraft:gilded_blackstone'); event.add('tfc:forge_insulation', 'minecraft:gilded_blackstone'); - event.add('tfc:bloomery_insulation', 'minecraft:basalt'); - event.add('tfc:forge_insulation', 'minecraft:basalt'); - event.add('tfc:bloomery_insulation', 'minecraft:smooth_basalt'); - event.add('tfc:forge_insulation', 'minecraft:smooth_basalt'); // Ores event.add("minecraft:mineable/pickaxe", "#forge:ores"); @@ -135,11 +43,15 @@ function registerTFGGeneralWorldgenBlockTags(event) { event.add("tfc:can_start_collapse", "#forge:ores"); event.add("tfc:can_trigger_collapse", "#forge:ores"); event.add("c:hidden_from_recipe_viewers", "#forge:ores"); + event.add("tfc:monster_spawns_on", "#forge:ores"); + event.add("tfc:prospectable", "#forge:ores"); event.add("tfc:can_collapse", "#forge:raw_ore_blocks"); event.add("tfc:can_start_collapse", "#forge:raw_ore_blocks"); event.add("tfc:can_trigger_collapse", "#forge:raw_ore_blocks"); event.add("c:hidden_from_recipe_viewers", "#forge:raw_ore_blocks"); + event.add("tfc:monster_spawns_on", "#forge:raw_ore_blocks"); + event.add("tfc:prospectable", "#forge:raw_ore_blocks"); // Let GT indicators be covered by snow forEachMaterial((material) => { @@ -162,51 +74,26 @@ function registerTFGGeneralWorldgenBlockTags(event) { } }); - // More rock tags - event.add('tfc:can_landslide', 'ad_astra:moon_sand') - event.add('tfc:can_landslide', 'ad_astra:mars_sand') - event.add('tfc:can_landslide', 'ad_astra:venus_sand') - event.add('tfc:can_landslide', 'minecraft:red_sand') - - event.add('tfc:can_landslide', 'ad_astra:moon_cobblestone') - event.add('tfc:can_landslide', 'ad_astra:mars_cobblestone') - event.add('tfc:can_landslide', 'ad_astra:venus_cobblestone') - event.add('tfc:can_landslide', 'ad_astra:mercury_cobblestone') - event.add('tfc:can_landslide', 'ad_astra:glacio_cobblestone') - event.add('tfc:can_landslide', 'gtceu:red_granite_cobblestone') - - event.add('forge:cobblestone', 'ad_astra:moon_cobblestone') - event.add('forge:cobblestone', 'ad_astra:mars_cobblestone') - event.add('forge:cobblestone', 'ad_astra:venus_cobblestone') - event.add('forge:cobblestone', 'ad_astra:mercury_cobblestone') - event.add('forge:cobblestone', 'ad_astra:glacio_cobblestone') - - event.add('tfc:can_landslide', 'ad_astra:moon_cobblestone_slab') - event.add('tfc:can_landslide', 'ad_astra:mars_cobblestone_slab') - event.add('tfc:can_landslide', 'ad_astra:venus_cobblestone_slab') - event.add('tfc:can_landslide', 'ad_astra:mercury_cobblestone_slab') - event.add('tfc:can_landslide', 'ad_astra:glacio_cobblestone_slab') - - event.add('tfc:can_landslide', 'ad_astra:moon_cobblestone_stairs') - event.add('tfc:can_landslide', 'ad_astra:mars_cobblestone_stairs') - event.add('tfc:can_landslide', 'ad_astra:venus_cobblestone_stairs') - event.add('tfc:can_landslide', 'ad_astra:mercury_cobblestone_stairs') - event.add('tfc:can_landslide', 'ad_astra:glacio_cobblestone_stairs') - - event.add('tfg:rock_stairs', 'ad_astra:moon_stone_stairs') - event.add('tfg:rock_stairs', 'ad_astra:mars_stone_stairs') - event.add('tfg:rock_stairs', 'ad_astra:venus_stone_stairs') - event.add('tfg:rock_stairs', 'ad_astra:mercury_stone_stairs') - event.add('tfg:rock_stairs', 'ad_astra:glacio_stone_stairs') - - event.add('tfg:rock_slabs', 'ad_astra:moon_stone_slab') - event.add('tfg:rock_slabs', 'ad_astra:mars_stone_slab') - event.add('tfg:rock_slabs', 'ad_astra:venus_stone_slab') - event.add('tfg:rock_slabs', 'ad_astra:mercury_stone_slab') - event.add('tfg:rock_slabs', 'ad_astra:glacio_stone_slab') + event.add('tfc:can_landslide', '#forge:sand') event.add('minecraft:mushroom_grow_block', '#tfc:dirt') event.add('minecraft:mushroom_grow_block', '#tfc:grass') event.add('minecraft:mushroom_grow_block', '#forge:sand') event.add('minecraft:mushroom_grow_block', '#forge:gravel') + + event.add('minecraft:mineable/shovel', 'tfg:ash_pile') + event.add('minecraft:mineable/shovel', 'tfg:pile/black_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/white_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/brown_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/red_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/yellow_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/pink_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/green_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/moon_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/mars_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/venus_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/hematitic_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/mars_sand_covering') + event.add('minecraft:mineable/shovel', 'tfg:pile/venus_sand_covering') + event.add('minecraft:mineable/shovel', 'tfg:pile/hematitic_sand_covering') } diff --git a/kubejs/startup_scripts/create/materials.js b/kubejs/startup_scripts/create/materials.js index f3dd87136..93b91c9c0 100644 --- a/kubejs/startup_scripts/create/materials.js +++ b/kubejs/startup_scripts/create/materials.js @@ -6,10 +6,26 @@ function registerCreateMaterials(event) { event.create('asurine') .color(0x7DB8D1) .secondaryColor(0x4C5D7B) + .components('1x certus_quartz', '1x olivine', '1x zinc') .dust() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) event.create('ochrum') .color(0xB6995E) .secondaryColor(0x865840) + .components('1x quartzite', '1x hematite', '1x gold') .dust() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('crimsite') + .color(0xA0504B) + .secondaryColor(0x7D2F3B) + .dust() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('veridium') + .color(0x4F957C) + .secondaryColor(0x2A5C4A) + .dust() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) } \ No newline at end of file diff --git a/kubejs/startup_scripts/createdeco/constants.js b/kubejs/startup_scripts/createdeco/constants.js index 3387d561e..68800e997 100644 --- a/kubejs/startup_scripts/createdeco/constants.js +++ b/kubejs/startup_scripts/createdeco/constants.js @@ -1,4 +1,4 @@ -// priority: -100 +// priority: 0 "use strict"; /** @global */ diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 5cc22aa8c..d6d660eae 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -186,26 +186,23 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:titanium_boots", // Sculk - "gtceu:tiny_echo_shard_dust", - "gtceu:small_echo_shard_dust", - "gtceu:echo_shard_dust", + "gtceu:echo_shard_block", + "gtceu:echo_shard_plate", + "gtceu:echo_shard_rod", "gtceu:chipped_echo_shard_gem", "gtceu:flawed_echo_shard_gem", "gtceu:flawless_echo_shard_gem", "gtceu:exquisite_echo_shard_gem", - "gtceu:echo_shard_plate", - "gtceu:echo_shard_rod", - "gtceu:echo_shard_block", - "gtceu:tiny_sculk_dust", - "gtceu:small_sculk_dust", - "gtceu:sculk_dust", + "gtceu:tiny_echo_shard_dust", + "gtceu:small_echo_shard_dust", + "gtceu:echo_shard_dust", // Ender eye - "gtceu:ender_eye_plate", "gtceu:ender_eye_block", - "gtceu:ender_eye_dust", - "gtceu:small_ender_eye_dust", + "gtceu:ender_eye_plate", "gtceu:tiny_ender_eye_dust", + "gtceu:small_ender_eye_dust", + "gtceu:ender_eye_dust", // Marble "gtceu:marble", @@ -220,30 +217,42 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:hv_bedrock_ore_miner", "gtceu:ev_bedrock_ore_miner", - // Plutonium ores - "gtceu:raw_plutonium", - "gtceu:poor_raw_plutonium", - "gtceu:rich_raw_plutonium", - "gtceu:raw_plutonium_block", - "gtceu:refined_plutonium_ore", - "gtceu:purified_plutonium_ore", - "gtceu:crushed_plutonium_ore", - "gtceu:impure_plutonium_dust", - "gtceu:pure_plutonium_dust", - "gtceu:plutonium_surface_rock", - // (Normal) thorium bits - "gtceu:thorium_nugget", - "gtceu:thorium_ingot", - "gtceu:thorium_block", "gtceu:thorium_plate", - "gtceu:double_thorium_plate", "gtceu:thorium_rod", - "gtceu:thorium_bucket", // Replaced with our own "gtceu:paracetamol_pill", - "gtceu:rad_away_pill" + "gtceu:rad_away_pill", + + // GT gets upset if you try to remove the dust property from these + "gtceu:blackstone_dust", + "gtceu:small_blackstone_dust", + "gtceu:tiny_blackstone_dust", + "gtceu:basalt_dust", + "gtceu:small_basalt_dust", + "gtceu:tiny_basalt_dust", + "gtceu:granite_dust", + "gtceu:small_granite_dust", + "gtceu:tiny_granite_dust", + "gtceu:marble_dust", + "gtceu:small_marble_dust", + "gtceu:tiny_marble_dust", + "gtceu:diorite_dust", + "gtceu:small_diorite_dust", + "gtceu:tiny_diorite_dust", + "gtceu:netherrack_dust", + "gtceu:small_netherrack_dust", + "gtceu:tiny_netherrack_dust", + "gtceu:granite_red_dust", + "gtceu:small_granite_red_dust", + "gtceu:tiny_granite_red_dust", + "gtceu:deepslate_dust", + "gtceu:small_deepslate_dust", + "gtceu:tiny_deepslate_dust", + "gtceu:andesite_dust", + "gtceu:small_andesite_dust", + "gtceu:tiny_andesite_dust" ]); //#endregion diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 75885b8e7..fbcf005a3 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -392,6 +392,9 @@ const registerGTCEuMaterialModification = (event) => { let zirconium_diboride = TFGHelpers.getMaterial('zirconium_diboride'); zirconium_diboride.setProperty(PropertyKey.BLAST, new $BLAST_PROPERTY(4500, "high", GTValues.VA[GTValues.EV], 2700, GTValues.VA[GTValues.HV], 12.5*20)); + // Remove properties + GTMaterials.Glass.getProperties().removeProperty(PropertyKey.GEM) + // Color Adjustments GTMaterials.BismuthBronze.setMaterialARGB(0x5A966E) GTMaterials.BismuthBronze.setMaterialSecondaryARGB(0x203E2A) @@ -458,8 +461,6 @@ const registerGTCEuMaterialModification = (event) => { // Components and formulas GTMaterials.CertusQuartz.setComponents('1x unknown', '1x silicon', '2x oxygen') GTMaterials.Glowstone.setComponents('1x gold', '1x redstone') - GTMaterials.GraniteRed.setComponents([]) - GTMaterials.GraniteRed.setFormula("?") GTMaterials.Thorium.setFormula('ThO2') GTMaterials.Americium.setFormula('Am²⁴³') } \ No newline at end of file diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index 52bf3b253..f3be25bfb 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -44,7 +44,6 @@ GTCEuStartupEvents.registry('gtceu:machine', event => { GTCEuStartupEvents.registry('gtceu:tag_prefix', event => { registerAE2TagPrefixes(event) registerGTCEuTagPrefixes(event) - registerTFCTagPrefixes(event) registerTFGTagPrefixes(event) }) diff --git a/kubejs/startup_scripts/tfg/blocks.js b/kubejs/startup_scripts/tfg/blocks.js index c358ce8c7..68aa954ed 100644 --- a/kubejs/startup_scripts/tfg/blocks.js +++ b/kubejs/startup_scripts/tfg/blocks.js @@ -6,10 +6,8 @@ const registerTFGBlocks = (event) => { registerTFGCrops(event) registerTFGVaseBlocks(event) - registerTFGSupportBlocks(event) - registerTFGAqueductBlocks(event) registerTFGRockBlocks(event) - registerTFGVanillaStoneBlocks(event) + registerTFGSupportBlocks(event) registerTFGWorldGenTrees(event) registerTFGWorldGenBeneathDecoBlocks(event) diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index ecaab9035..f838803e0 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -25,39 +25,6 @@ global.AIRCRAFT_UPGRADES = [ "titanium_hull_reinforcement" ] -/** - * @type {string[]} - Item IDs - */ -global.EXTRATERRESTRIAL_RAW_ROCKS = [ - 'minecraft:deepslate', - 'minecraft:blackstone', - 'minecraft:dripstone_block', - 'ad_astra:moon_stone', - 'ad_astra:moon_deepslate', - 'ad_astra:mars_stone', - 'ad_astra:venus_stone', - 'ad_astra:mercury_stone', - 'ad_astra:glacio_stone', - 'gtceu:red_granite', - 'beneath:crackrack' -] - -/** - * @type {string[]} - Item IDs - */ -global.EXTRATERRESTRIAL_HARDENED_ROCKS = [ - 'tfg:rock/hardened_moon_stone', - 'tfg:rock/hardened_moon_deepslate', - 'tfg:rock/hardened_mars_stone', - 'tfg:rock/hardened_venus_stone', - 'tfg:rock/hardened_mercury_stone', - 'tfg:rock/hardened_glacio_stone', - 'tfg:rock/hardened_red_granite', - 'tfg:rock/hardened_deepslate', - 'tfg:rock/hardened_blackstone', - 'tfg:rock/hardened_dripstone', - 'tfg:rock/hardened_crackrack' -] /** * @type {string[]} - Stone Names @@ -192,116 +159,24 @@ global.FOOD_FRUIT = [ {name: 'shadow_berry', id: 'betterend:shadow_berry_cooked', saturation: 1, water: 5, fruit: 1.5, decay: 2 } ]; - -global.STONE_CHARACS = { // Sets of stone block properties used for block registry. - deepslate: { sound: 'deepslate', type: "metamorphic", mapColor: 'terracotta_grey' }, - blackstone: { sound: 'stone', type: "igneous_intrusive", mapColor: 'color_black' }, - dripstone: { sound: 'dripstone_block', type: "sedimentary", mapColor: 'terracotta_brown' }, - crackrack: { sound: 'netherrack', type: "igneous_intrusive", mapColor: 'crimson_stem' }, - nether: { sound: 'nether_bricks', type: "igneous_intrusive", mapColor: 'nether' }, - moon: { sound: 'stone', type: "igneous_intrusive", mapColor: 'terracotta_cyan' }, - moon_deepslate: { sound: 'deepslate', type: "igneous_intrusive", mapColor: 'terracotta_blue' }, - mars: { sound: 'stone', type: "sedimentary", mapColor: 'terracotta_orange' }, - venus: { sound: 'stone', type: "igneous_extrusive", mapColor: 'terracotta_yellow' }, - mercury: { sound: 'stone', type: "igneous_intrusive", mapColor: 'terracotta_purple' }, - glacio: { sound: 'stone', type: "igneous_extrusive", mapColor: 'terracotta_light_blue' }, - permafrost: { sound: 'stone', type: null, mapColor: 'snow' }, - red_granite: { sound: 'stone', type: "igneous_intrusive", mapColor: 'terracotta_red' }, - reconstituted: { sound: 'stone', type: null, mapColor: 'stone' }, - light_concrete: { sound: 'stone', type: null, mapColor: 'color_light_gray' }, - dark_concrete: { sound: 'stone', type: null, mapColor: 'color_gray' } -} - - /** @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: 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: 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: 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: 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: 7 }, - - // Moon - { 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: 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: 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: 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: 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: 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: 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: 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: 7 }, - - { raw: 'minecraft:stone', hammered: 'minecraft:cobblestone', duration: 10, eu: 7 } - ] + { raw: 'minecraft:basalt', hammered: 'tfc:rock/cobble/basalt', duration: 10, eu: 7 }, + { raw: 'tfg:rock/gravel_permafrost', hammered: '4x gtceu:ice_dust', duration: 70, eu: 16 }, + // TODO: make a big sand/sandstone table like the rock table? + { raw: 'minecraft:red_sandstone', hammered: '4x minecraft:red_sand', duration: 10, eu: 16 }, + { raw: 'ad_astra:venus_sandstone', hammered: '4x ad_astra:venus_sand', duration: 70, eu: 16 }, + { raw: 'tfg:sandstone/raw/fluorapatite/blue', hammered: '4x tfg:sand/fluorapatite/blue', duration: 70, eu: 16 }, + { raw: 'tfg:sandstone/raw/fluorapatite/green', hammered: '4x tfg:sand/fluorapatite/green', duration: 70, eu: 16 }, + { raw: 'tfg:sandstone/raw/fluorapatite/brown', hammered: '4x tfg:sand/fluorapatite/brown', duration: 70, eu: 16 }, + { raw: 'tfg:sandstone/raw/fluorapatite/orange', hammered: '4x tfg:sand/fluorapatite/orange', duration: 70, eu: 16 }, + { raw: 'tfg:sandstone/raw/fluorapatite/white', hammered: '4x tfg:sand/fluorapatite/white', duration: 70, eu: 16 }, + { raw: 'tfg:sandstone/raw/fluorapatite/yellow', hammered: '4x tfg:sand/fluorapatite/yellow', duration: 70, eu: 16 }, + { raw: '#tfg:moon_gravel', hammered: 'ad_astra:moon_sand', duration: 70, eu: 16 }, + { raw: '#tfg:mars_gravel', hammered: 'ad_astra:mars_sand', duration: 70, eu: 16 }, + { raw: '#tfg:venus_gravel', hammered: 'ad_astra:venus_sand', duration: 70, eu: 16 }, + { raw: '#tfg:hematitic_gravel', hammered: 'minecraft:red_sand', duration: 70, eu: 16 }, +] global.COOLING_FOODS = [ 'firmalife:food/vanilla_ice_cream', diff --git a/kubejs/startup_scripts/tfg/primitive/blocks.supports.js b/kubejs/startup_scripts/tfg/primitive/blocks.supports.js index be0b6aa3f..b843316a6 100644 --- a/kubejs/startup_scripts/tfg/primitive/blocks.supports.js +++ b/kubejs/startup_scripts/tfg/primitive/blocks.supports.js @@ -55,314 +55,23 @@ function registerTFGSupportBlocks(event) { .mapColor('crimson_stem') .tagBlock('minecraft:mineable/axe') .requiresTool(false) - - // Stone - global.TFC_STONE_TYPES.forEach(stone => { - event.create(`tfg:${stone}_support`, 'tfc:support') - .textureAll(`tfc:block/rock/raw/${stone}`) - .horizontal(horizontal => { - horizontal.textureAll(`tfc:block/rock/raw/${stone}`) - horizontal.soundType('stone') - horizontal.hardness(5) - horizontal.resistance(8) - horizontal.mapColor('color_gray') - horizontal.tagBlock('minecraft:mineable/pickaxe') - horizontal.requiresTool(true) - }) - .soundType('stone') - .hardness(5) - .resistance(8) - .mapColor('color_gray') - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - }) - - event.create(`tfg:migmatite_support`, 'tfc:support') - .textureAll('minecraft:block/deepslate') - .horizontal(horizontal => { - horizontal.textureAll('minecraft:block/deepslate') - horizontal.soundType(global.STONE_CHARACS.deepslate.sound) - horizontal.hardness(5) - horizontal.resistance(8) - horizontal.mapColor(global.STONE_CHARACS.deepslate.mapColor) - horizontal.tagBlock('minecraft:mineable/pickaxe') - horizontal.requiresTool(true) - }) - .soundType(global.STONE_CHARACS.deepslate.sound) - .hardness(5) - .resistance(8) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - - event.create(`tfg:pyroxenite_support`, 'tfc:support') - .textureAll('minecraft:block/blackstone') - .horizontal(horizontal => { - horizontal.textureAll('minecraft:block/blackstone') - horizontal.soundType(global.STONE_CHARACS.blackstone.sound) - horizontal.hardness(5) - horizontal.resistance(8) - horizontal.mapColor(global.STONE_CHARACS.blackstone.mapColor) - horizontal.tagBlock('minecraft:mineable/pickaxe') - horizontal.requiresTool(true) - }) - .soundType(global.STONE_CHARACS.blackstone.sound) - .hardness(5) - .resistance(8) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - - event.create(`tfg:travertine_support`, 'tfc:support') - .textureAll('minecraft:block/dripstone_block') - .horizontal(horizontal => { - horizontal.textureAll('minecraft:block/dripstone_block') - horizontal.soundType(global.STONE_CHARACS.dripstone.sound) - horizontal.hardness(5) - horizontal.resistance(8) - horizontal.mapColor(global.STONE_CHARACS.dripstone.mapColor) - horizontal.tagBlock('minecraft:mineable/pickaxe') - horizontal.requiresTool(true) - }) - .soundType(global.STONE_CHARACS.dripstone.sound) - .hardness(5) - .resistance(8) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - - event.create(`tfg:keratophyre_support`, 'tfc:support') - .textureAll('beneath:block/crackrack') - .horizontal(horizontal => { - horizontal.textureAll('beneath:block/crackrack') - horizontal.soundType(global.STONE_CHARACS.crackrack.sound) - horizontal.hardness(5) - horizontal.resistance(8) - horizontal.mapColor(global.STONE_CHARACS.crackrack.mapColor) - horizontal.tagBlock('minecraft:mineable/pickaxe') - horizontal.requiresTool(true) - }) - .soundType(global.STONE_CHARACS.crackrack.sound) - .hardness(5) - .resistance(8) - .mapColor(global.STONE_CHARACS.crackrack.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - - event.create(`tfg:anorthosite_support`, 'tfc:support') - .textureAll('ad_astra:block/moon_stone') - .horizontal(horizontal => { - horizontal.textureAll('ad_astra:block/moon_stone') - horizontal.soundType(global.STONE_CHARACS.moon.sound) - horizontal.hardness(5) - horizontal.resistance(8) - horizontal.mapColor(global.STONE_CHARACS.moon.mapColor) - horizontal.tagBlock('minecraft:mineable/pickaxe') - horizontal.requiresTool(true) - }) - .soundType(global.STONE_CHARACS.moon.sound) - .hardness(5) - .resistance(8) - .mapColor(global.STONE_CHARACS.moon.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - - event.create(`tfg:norite_support`, 'tfc:support') - .textureAll('ad_astra:block/moon_deepslate') - .horizontal(horizontal => { - horizontal.textureAll('ad_astra:block/moon_deepslate') - horizontal.soundType(global.STONE_CHARACS.moon_deepslate.sound) - horizontal.hardness(5) - horizontal.resistance(8) - horizontal.mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - horizontal.tagBlock('minecraft:mineable/pickaxe') - horizontal.requiresTool(true) - }) - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .hardness(5) - .resistance(8) - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - - event.create(`tfg:argillite_support`, 'tfc:support') - .textureAll('ad_astra:block/mars_stone') - .horizontal(horizontal => { - horizontal.textureAll('ad_astra:block/mars_stone') - horizontal.soundType(global.STONE_CHARACS.mars.sound) - horizontal.hardness(5) - horizontal.resistance(8) - horizontal.mapColor(global.STONE_CHARACS.mars.mapColor) - horizontal.tagBlock('minecraft:mineable/pickaxe') - horizontal.requiresTool(true) - }) - .soundType(global.STONE_CHARACS.mars.sound) - .hardness(5) - .resistance(8) - .mapColor(global.STONE_CHARACS.mars.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - - event.create(`tfg:trachyte_support`, 'tfc:support') - .textureAll('ad_astra:block/venus_stone') - .horizontal(horizontal => { - horizontal.textureAll('ad_astra:block/venus_stone') - horizontal.soundType(global.STONE_CHARACS.venus.sound) - horizontal.hardness(5) - horizontal.resistance(8) - horizontal.mapColor(global.STONE_CHARACS.venus.mapColor) - horizontal.tagBlock('minecraft:mineable/pickaxe') - horizontal.requiresTool(true) - }) - .soundType(global.STONE_CHARACS.venus.sound) - .hardness(5) - .resistance(8) - .mapColor(global.STONE_CHARACS.venus.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - - event.create(`tfg:komatiite_support`, 'tfc:support') - .textureAll('ad_astra:block/mercury_stone') - .horizontal(horizontal => { - horizontal.textureAll('ad_astra:block/mercury_stone') - horizontal.soundType(global.STONE_CHARACS.mercury.sound) - horizontal.hardness(5) - horizontal.resistance(8) - horizontal.mapColor(global.STONE_CHARACS.mercury.mapColor) - horizontal.tagBlock('minecraft:mineable/pickaxe') - horizontal.requiresTool(true) - }) - .soundType(global.STONE_CHARACS.mercury.sound) - .hardness(5) - .resistance(8) - .mapColor(global.STONE_CHARACS.mercury.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - - event.create(`tfg:phonolite_support`, 'tfc:support') - .textureAll('ad_astra:block/glacio_stone') - .horizontal(horizontal => { - horizontal.textureAll('ad_astra:block/glacio_stone') - horizontal.soundType(global.STONE_CHARACS.glacio.sound) - horizontal.hardness(5) - horizontal.resistance(8) - horizontal.mapColor(global.STONE_CHARACS.glacio.mapColor) - horizontal.tagBlock('minecraft:mineable/pickaxe') - horizontal.requiresTool(true) - }) - .soundType(global.STONE_CHARACS.glacio.sound) - .hardness(5) - .resistance(8) - .mapColor(global.STONE_CHARACS.glacio.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - - event.create(`tfg:permafrost_support`, 'tfc:support') - .textureAll('ad_astra:block/permafrost') - .horizontal(horizontal => { - horizontal.textureAll('ad_astra:block/permafrost') - horizontal.soundType(global.STONE_CHARACS.permafrost.sound) - horizontal.hardness(5) - horizontal.resistance(8) - horizontal.mapColor(global.STONE_CHARACS.permafrost.mapColor) - horizontal.tagBlock('minecraft:mineable/pickaxe') - horizontal.requiresTool(true) - }) - .soundType(global.STONE_CHARACS.permafrost.sound) - .hardness(5) - .resistance(8) - .mapColor(global.STONE_CHARACS.permafrost.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - - event.create(`tfg:red_granite_support`, 'tfc:support') - .textureAll('gtceu:block/stones/red_granite/stone') - .horizontal(horizontal => { - horizontal.textureAll('gtceu:block/stones/red_granite/stone') - horizontal.soundType(global.STONE_CHARACS.red_granite.sound) - horizontal.hardness(5) - horizontal.resistance(8) - horizontal.mapColor(global.STONE_CHARACS.red_granite.mapColor) - horizontal.tagBlock('minecraft:mineable/pickaxe') - horizontal.requiresTool(true) - }) - .soundType(global.STONE_CHARACS.red_granite.sound) - .hardness(5) - .resistance(8) - .mapColor(global.STONE_CHARACS.red_granite.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - - event.create(`tfg:stone_support`, 'tfc:support') - .textureAll('minecraft:block/stone') - .horizontal(horizontal => { - horizontal.textureAll('minecraft:block/stone') - horizontal.soundType(global.STONE_CHARACS.reconstituted.sound) - horizontal.hardness(5) - horizontal.resistance(8) - horizontal.mapColor(global.STONE_CHARACS.reconstituted.mapColor) - horizontal.tagBlock('minecraft:mineable/pickaxe') - horizontal.requiresTool(true) - }) - .soundType(global.STONE_CHARACS.reconstituted.sound) - .hardness(5) - .resistance(8) - .mapColor(global.STONE_CHARACS.reconstituted.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - // Concrete - event.create('tfg:light_concrete_support', 'tfc:support') - .textureAll('gtceu:block/stones/light_concrete/stone') - .horizontal(horizontal => { - horizontal.textureAll('gtceu:block/stones/light_concrete/stone') - horizontal.soundType(global.STONE_CHARACS.light_concrete.sound) - horizontal.hardness(5) - horizontal.resistance(16) - horizontal.mapColor(global.STONE_CHARACS.light_concrete.mapColor) - horizontal.tagBlock('minecraft:mineable/pickaxe') - horizontal.requiresTool(true) - }) - .soundType(global.STONE_CHARACS.light_concrete.sound) - .hardness(5) - .resistance(16) - .mapColor(global.STONE_CHARACS.light_concrete.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - + // Reinforced Concrete event.create('tfg:reinforced_light_concrete_support', 'tfc:support') .textureAll('gtceu:block/stones/light_concrete/stone') .horizontal(horizontal => { horizontal.textureAll('gtceu:block/stones/light_concrete/stone') - horizontal.soundType(global.STONE_CHARACS.light_concrete.sound) + horizontal.soundType(global.BIG_ROCK_TABLE.light_concrete.sound) horizontal.hardness(5) horizontal.resistance(64) - horizontal.mapColor(global.STONE_CHARACS.light_concrete.mapColor) + horizontal.mapColor(global.BIG_ROCK_TABLE.light_concrete.mapColor) horizontal.tagBlock('minecraft:mineable/pickaxe') horizontal.requiresTool(true) }) - .soundType(global.STONE_CHARACS.light_concrete.sound) + .soundType(global.BIG_ROCK_TABLE.light_concrete.sound) .hardness(5) .resistance(64) - .mapColor(global.STONE_CHARACS.light_concrete.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - - event.create('tfg:dark_concrete_support', 'tfc:support') - .textureAll('gtceu:block/stones/dark_concrete/stone') - .horizontal(horizontal => { - horizontal.textureAll('gtceu:block/stones/dark_concrete/stone') - horizontal.soundType(global.STONE_CHARACS.dark_concrete.sound) - horizontal.hardness(5) - horizontal.resistance(16) - horizontal.mapColor(global.STONE_CHARACS.dark_concrete.mapColor) - horizontal.tagBlock('minecraft:mineable/pickaxe') - horizontal.requiresTool(true) - }) - .soundType(global.STONE_CHARACS.dark_concrete.sound) - .hardness(5) - .resistance(16) - .mapColor(global.STONE_CHARACS.dark_concrete.mapColor) + .mapColor(global.BIG_ROCK_TABLE.light_concrete.mapColor) .tagBlock('minecraft:mineable/pickaxe') .requiresTool(true) @@ -370,17 +79,17 @@ function registerTFGSupportBlocks(event) { .textureAll('gtceu:block/stones/dark_concrete/stone') .horizontal(horizontal => { horizontal.textureAll('gtceu:block/stones/dark_concrete/stone') - horizontal.soundType(global.STONE_CHARACS.dark_concrete.sound) + horizontal.soundType(global.BIG_ROCK_TABLE.dark_concrete.sound) horizontal.hardness(5) horizontal.resistance(64) - horizontal.mapColor(global.STONE_CHARACS.dark_concrete.mapColor) + horizontal.mapColor(global.BIG_ROCK_TABLE.dark_concrete.mapColor) horizontal.tagBlock('minecraft:mineable/pickaxe') horizontal.requiresTool(true) }) - .soundType(global.STONE_CHARACS.dark_concrete.sound) + .soundType(global.BIG_ROCK_TABLE.dark_concrete.sound) .hardness(5) .resistance(64) - .mapColor(global.STONE_CHARACS.dark_concrete.mapColor) + .mapColor(global.BIG_ROCK_TABLE.dark_concrete.mapColor) .tagBlock('minecraft:mineable/pickaxe') .requiresTool(true) diff --git a/kubejs/startup_scripts/tfg/stone_types/blocks.aqueducts.js b/kubejs/startup_scripts/tfg/stone_types/blocks.aqueducts.js deleted file mode 100644 index ce661e143..000000000 --- a/kubejs/startup_scripts/tfg/stone_types/blocks.aqueducts.js +++ /dev/null @@ -1,86 +0,0 @@ -function registerTFGAqueductBlocks(event) { - - // Nether - event.create('tfg:rock/aqueduct_deepslate', 'tfc:aqueduct') - .soundType(global.STONE_CHARACS.deepslate.sound) - .textureAll('minecraft:block/deepslate_bricks') - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .tagBoth('tfg:rock/aqueducts') - - event.create('tfg:rock/aqueduct_dripstone', 'tfc:aqueduct') - .soundType(global.STONE_CHARACS.dripstone.sound) - .textureAll('create:block/palettes/stone_types/brick/dripstone_cut_brick') - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .tagBoth('tfg:rock/aqueducts') - - event.create('tfg:rock/aqueduct_nether', 'tfc:aqueduct') - .soundType(global.STONE_CHARACS.nether.sound) - .textureAll('minecraft:block/nether_bricks') - .mapColor(global.STONE_CHARACS.nether.mapColor) - .tagBoth(`tfc:${global.STONE_CHARACS.nether.type}_items`) - .tagBoth('tfg:rock/aqueducts') - - event.create('tfg:rock/aqueduct_moon_stone', 'tfc:aqueduct') - .soundType(global.STONE_CHARACS.moon.sound) - .textureAll('ad_astra:block/moon_stone_bricks') - .mapColor(global.STONE_CHARACS.moon.mapColor) - .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) - .tagBoth('tfg:rock/aqueducts') - - event.create('tfg:rock/aqueduct_moon_deepslate', 'tfc:aqueduct') - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .textureAll('tfg:block/rock/bricks_moon_deepslate') - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .tagBoth('tfg:rock/aqueducts') - - event.create('tfg:rock/aqueduct_mars_stone', 'tfc:aqueduct') - .soundType(global.STONE_CHARACS.mars.sound) - .textureAll('ad_astra:block/mars_stone_bricks') - .mapColor(global.STONE_CHARACS.mars.mapColor) - .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) - .tagBoth('tfg:rock/aqueducts') - - event.create('tfg:rock/aqueduct_venus_stone', 'tfc:aqueduct') - .soundType(global.STONE_CHARACS.venus.sound) - .textureAll('ad_astra:block/venus_stone_bricks') - .mapColor(global.STONE_CHARACS.venus.mapColor) - .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) - .tagBoth('tfg:rock/aqueducts') - - event.create('tfg:rock/aqueduct_mercury_stone', 'tfc:aqueduct') - .soundType(global.STONE_CHARACS.mercury.sound) - .textureAll('ad_astra:block/mercury_stone_bricks') - .mapColor(global.STONE_CHARACS.mercury.mapColor) - .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) - .tagBoth('tfg:rock/aqueducts') - - event.create('tfg:rock/aqueduct_glacio_stone', 'tfc:aqueduct') - .soundType(global.STONE_CHARACS.glacio.sound) - .textureAll('ad_astra:block/glacio_stone_bricks') - .mapColor(global.STONE_CHARACS.glacio.mapColor) - .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) - .tagBoth('tfg:rock/aqueducts') - - event.create('tfg:rock/aqueduct_permafrost', 'tfc:aqueduct') - .soundType(global.STONE_CHARACS.permafrost.sound) - .textureAll('ad_astra:block/permafrost_bricks') - .mapColor(global.STONE_CHARACS.permafrost.mapColor) - .tagBoth('tfg:rock/aqueducts') - - event.create('tfg:rock/aqueduct_red_granite', 'tfc:aqueduct') - .soundType(global.STONE_CHARACS.red_granite.sound) - .textureAll('gtceu:block/stones/red_granite/bricks') - .mapColor(global.STONE_CHARACS.red_granite.mapColor) - .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) - .tagBoth('tfg:rock/aqueducts') - - event.create('tfg:rock/aqueduct_stone', 'tfc:aqueduct') - .soundType(global.STONE_CHARACS.reconstituted.sound) - .textureAll('minecraft:block/stone_bricks') - .mapColor(global.STONE_CHARACS.reconstituted.mapColor) - .tagBoth('tfg:rock/aqueducts') - -} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/stone_types/blocks.rocks.js b/kubejs/startup_scripts/tfg/stone_types/blocks.rocks.js index be5727415..8b49bb1b7 100644 --- a/kubejs/startup_scripts/tfg/stone_types/blocks.rocks.js +++ b/kubejs/startup_scripts/tfg/stone_types/blocks.rocks.js @@ -1,1790 +1,243 @@ "use strict"; function registerTFGRockBlocks(event) { - - const SHAPES = ['stairs', 'slab', 'wall'] - const AA_REGULAR_STONES = ['moon', 'mars', 'venus', 'mercury', 'glacio'] + const SHAPES = ['stair', 'slab', 'wall']; - // #region Raw Stones + function createMissingForms(rock, blockEntry) { + if (blockEntry === undefined || blockEntry === null) + return; - SHAPES.forEach(shape => { - event.create(`tfg:rock/deepslate_${shape}`, shape) - .soundType(global.STONE_CHARACS.deepslate.sound) - .textureAll('minecraft:block/deepslate') - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) + let texture = blockEntry.texture ?? blockEntry.block.replace(/:/g, ":block/"); - SHAPES.forEach(shape => { - event.create(`tfg:rock/dripstone_${shape}`, shape) - .soundType(global.STONE_CHARACS.dripstone.sound) - .textureAll('minecraft:block/dripstone_block') - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) + if (blockEntry.block.startsWith('tfg:rock/')) { + let block = event.create(blockEntry.block) + .textureAll(texture) + .soundType(rock.sound ?? 'stone') + .mapColor(rock.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) - SHAPES.forEach(shape => { - event.create(`tfg:rock/crackrack_${shape}`, shape) - .soundType(global.STONE_CHARACS.crackrack.sound) - .textureAll('beneath:block/crackrack') - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) - .mapColor(global.STONE_CHARACS.crackrack.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/moon_stone_wall', 'wall') - .soundType(global.STONE_CHARACS.moon.sound) - .textureAll('ad_astra:block/moon_stone') - .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) - .mapColor(global.STONE_CHARACS.moon.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) + if (rock.tfcTag != null) { + block.tagBoth(rock.tfcTag); + } + } - SHAPES.forEach(shape => { - event.create(`tfg:rock/moon_deepslate_${shape}`, shape) - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .textureAll('ad_astra:block/moon_deepslate') - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) + SHAPES.forEach(shape => { + if (blockEntry[shape] != null && blockEntry[shape].startsWith('tfg:rock/')) { + let block = event.create(blockEntry[shape], shape.replace(/stair/g, 'stairs')) + .textureAll(texture) + .soundType(rock.sound ?? 'stone') + .mapColor(rock.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) - event.create('tfg:rock/mars_stone_wall', 'wall') - .soundType(global.STONE_CHARACS.mars.sound) - .textureAll('ad_astra:block/mars_stone') - .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) - .mapColor(global.STONE_CHARACS.mars.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/venus_stone_wall', 'wall') - .soundType(global.STONE_CHARACS.venus.sound) - .textureAll('ad_astra:block/venus_stone') - .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) - .mapColor(global.STONE_CHARACS.venus.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/mercury_stone_wall', 'wall') - .soundType(global.STONE_CHARACS.mercury.sound) - .textureAll('ad_astra:block/mercury_stone') - .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) - .mapColor(global.STONE_CHARACS.mercury.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/glacio_stone_wall', 'wall') - .soundType(global.STONE_CHARACS.glacio.sound) - .textureAll('ad_astra:block/glacio_stone') - .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) - .mapColor(global.STONE_CHARACS.glacio.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/permafrost_${shape}`, shape) - .soundType(global.STONE_CHARACS.permafrost.sound) - .textureAll('ad_astra:block/permafrost') - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .mapColor(global.STONE_CHARACS.permafrost.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/red_granite_${shape}`, shape) - .soundType(global.STONE_CHARACS.red_granite.sound) - .textureAll('gtceu:block/stones/red_granite/stone') - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) - .mapColor(global.STONE_CHARACS.red_granite.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // #endregion Raw Stones - - // #region Hardened Stones - event.create('tfg:rock/hardened_deepslate') - .soundType(global.STONE_CHARACS.deepslate.sound) - .property(BlockProperties.AXIS) - .requiresTool(true) - .item(item => { - item.modelJson({ parent: 'minecraft:item/deepslate' }) + if (rock.tfcTag != null) { + block.tagBoth(rock.tfcTag); + } + } }) - .tagBlock('tfc:can_carve') - .tagBoth('forge:stone') - .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) + } - event.create('tfg:rock/hardened_blackstone') - .soundType(global.STONE_CHARACS.blackstone.sound) - .requiresTool(true) - .item(item => { - item.modelJson({ parent: 'minecraft:item/blackstone' }) - }) - .tagBlock('tfc:can_carve') - .tagBoth('forge:stone') - .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - event.create('tfg:rock/hardened_dripstone') - .soundType(global.STONE_CHARACS.dripstone.sound) - .stoneSoundType() - .requiresTool(true) - .item(item => { - item.modelJson({ parent: 'minecraft:item/dripstone_block' }) - }) - .tagBlock('tfc:can_carve') - .tagBoth('forge:stone') - .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) + for (let [rockId, rock] of Object.entries(global.BIG_ROCK_TABLE)) { + // Do raw separately because of the tfc:raw_rock builder + let rawTexture = ""; + if (rock.raw != null) { + rawTexture = rock.raw.texture ?? rock.raw.block.replace(/:/g, ":block/"); - event.create('tfg:rock/hardened_moon_stone') - .soundType(global.STONE_CHARACS.moon.sound) - .requiresTool(true) - .item(item => { - item.modelJson({ parent: 'ad_astra:item/moon_stone' }) - }) - .tagBlock('tfc:can_carve') - .tagBoth('forge:stone') - .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) - .mapColor(global.STONE_CHARACS.moon.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) + if (rock.raw.block.startsWith('tfg:rock/')) { + let block = event.create(rock.raw.block, 'tfc:raw_rock') + .textureAll(rawTexture) + .soundType(rock.sound ?? 'stone') + .mapColor(rock.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + .naturallySupported(false) - event.create('tfg:rock/hardened_moon_deepslate') - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .requiresTool(true) - .item(item => { - item.modelJson({ parent: 'ad_astra:item/moon_deepslate' }) - }) - .tagBlock('tfc:can_carve') - .tagBoth('forge:stone') - .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) + if (rock.tfcTag != null) { + block.tagBoth(rock.tfcTag); + } + } - event.create('tfg:rock/hardened_mars_stone') - .soundType(global.STONE_CHARACS.mars.sound) - .requiresTool(true) - .item(item => { - item.modelJson({ parent: 'ad_astra:item/mars_stone' }) - }) - .tagBlock('tfc:can_carve') - .tagBoth('forge:stone') - .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) - .mapColor(global.STONE_CHARACS.mars.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) + SHAPES.forEach(shape => { + if (rock.raw[shape] != null && rock.raw[shape].startsWith('tfg:rock/')) { + let block = event.create(rock.raw[shape], shape.replace(/stair/g, 'stairs')) + .textureAll(rawTexture) + .soundType(rock.sound ?? 'stone') + .mapColor(rock.mapColor) + .tagBoth(`tfg:rock_${shape}s`) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) - event.create('tfg:rock/hardened_venus_stone') - .soundType(global.STONE_CHARACS.venus.sound) - .requiresTool(true) - .item(item => { - item.modelJson({ parent: 'ad_astra:item/venus_stone' }) - }) - .tagBlock('tfc:can_carve') - .tagBoth('forge:stone') - .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) - .mapColor(global.STONE_CHARACS.venus.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) + if (rock.tfcTag != null) { + block.tagBoth(rock.tfcTag); + } + } + }) + } - event.create('tfg:rock/hardened_mercury_stone') - .soundType(global.STONE_CHARACS.mercury.sound) - .requiresTool(true) - .item(item => { - item.modelJson({ parent: 'ad_astra:item/mercury_stone' }) - }) - .tagBlock('tfc:can_carve') - .tagBoth('forge:stone') - .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) - .mapColor(global.STONE_CHARACS.mercury.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) + createMissingForms(rock, rock.cobble); + if (rock.cobble != null) { + createMissingForms(rock, rock.cobble.mossy); + } + createMissingForms(rock, rock.bricks); + if (rock.bricks != null) { + createMissingForms(rock, rock.bricks.mossy); + createMissingForms(rock, rock.bricks.cracked); + } + createMissingForms(rock, rock.polished); + createMissingForms(rock, rock.chiseled); - event.create('tfg:rock/hardened_glacio_stone') - .soundType(global.STONE_CHARACS.glacio.sound) - .requiresTool(true) - .item(item => { - item.modelJson({ parent: 'ad_astra:item/glacio_stone' }) - }) - .tagBlock('tfc:can_carve') - .tagBoth('forge:stone') - .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) - .mapColor(global.STONE_CHARACS.glacio.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) + if (rock.stonecutting != null) { + rock.stonecutting.forEach(stonecuttingEntry => { + createMissingForms(rock, stonecuttingEntry); + createMissingForms(rock, stonecuttingEntry.mossy); + createMissingForms(rock, stonecuttingEntry.cracked); + }); + } - event.create('tfg:rock/hardened_red_granite') - .soundType(global.STONE_CHARACS.red_granite.sound) - .requiresTool(true) - .item(item => { - item.modelJson({ parent: 'gtceu:item/red_granite' }) - }) - .tagBlock('tfc:can_carve') - .tagBoth('forge:stone') - .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) - .mapColor(global.STONE_CHARACS.red_granite.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) + // Individual blocks - // #endregion Hardened Stones - - // #region Loose Stones - event.create('tfg:loose/deepslate', 'tfc:loose_rock') - .soundType(global.STONE_CHARACS.deepslate.sound) - .itemTexture('tfg:item/loose/deepslate') - .rockTypeModel(global.STONE_CHARACS.deepslate.type) - .translationKey("block.tfg.loose.deepslate") - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('tfc:loose_rocks') - .tagItem('tfc:any_knapping') - .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${global.STONE_CHARACS.deepslate.type}_rock`) - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .tagItem("rnr:loose_rock_items") + // Hardened + if (rock.raw != null && rock.hardened != null && rock.hardened.startsWith('tfg:rock/')) { + let hardened = event.create(rock.hardened) + .textureAll(rawTexture) + .soundType(rock.sound ?? 'stone') + .property(BlockProperties.AXIS) + .requiresTool(true) + .tagBlock('tfc:can_carve') + .tagBoth('forge:stone') + .tagBoth('tfc:rock/hardened') + .mapColor(rock.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) - event.create('tfg:loose/dripstone', 'tfc:loose_rock') - .soundType(global.STONE_CHARACS.dripstone.sound) - .itemTexture('tfg:item/loose/dripstone') - .rockTypeModel(global.STONE_CHARACS.dripstone.type) - .translationKey("block.tfg.loose.dripstone") - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('tfc:loose_rocks') - .tagItem('tfc:any_knapping') - .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${global.STONE_CHARACS.dripstone.type}_rock`) - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .tagItem("rnr:loose_rock_items") - - event.create('tfg:loose/crackrack', 'tfc:loose_rock') - .soundType(global.STONE_CHARACS.crackrack.sound) - .itemTexture('tfg:item/loose/crackrack') - .rockTypeModel(global.STONE_CHARACS.crackrack.type) - .translationKey("block.tfg.loose.crackrack") - .mapColor(global.STONE_CHARACS.crackrack.mapColor) - .tagBlock('tfc:loose_rocks') - .tagItem('tfc:any_knapping') - .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${global.STONE_CHARACS.crackrack.type}_rock`) - .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) - .tagItem("rnr:loose_rock_items") - - event.create('tfg:loose/moon_stone', 'tfc:loose_rock') - .soundType(global.STONE_CHARACS.moon.sound) - .itemTexture('tfg:item/loose/moon_stone') - .rockTypeModel(global.STONE_CHARACS.moon.type) - .tagBlock('tfc:loose_rocks') - .tagItem('tfc:any_knapping') - .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${global.STONE_CHARACS.moon.type}_rock`) - .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) - .tagItem("rnr:loose_rock_items") - - event.create('tfg:loose/moon_deepslate', 'tfc:loose_rock') - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .itemTexture('tfg:item/loose/moon_deepslate') - .rockTypeModel(global.STONE_CHARACS.moon_deepslate.type) - .tagBlock('tfc:loose_rocks') - .tagItem('tfc:any_knapping') - .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_rock`) - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .tagItem("rnr:loose_rock_items") - - event.create('tfg:loose/mars_stone', 'tfc:loose_rock') - .soundType(global.STONE_CHARACS.mars.sound) - .itemTexture('tfg:item/loose/mars_stone') - .rockTypeModel(global.STONE_CHARACS.mars.type) - .tagBlock('tfc:loose_rocks') - .tagItem('tfc:any_knapping') - .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${global.STONE_CHARACS.mars.type}_rock`) - .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) - .tagItem("rnr:loose_rock_items") - - event.create('tfg:loose/venus_stone', 'tfc:loose_rock') - .soundType(global.STONE_CHARACS.venus.sound) - .itemTexture('tfg:item/loose/venus_stone') - .rockTypeModel(global.STONE_CHARACS.venus.type) - .tagBlock('tfc:loose_rocks') - .tagItem('tfc:any_knapping') - .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${global.STONE_CHARACS.venus.type}_rock`) - .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) - .tagItem("rnr:loose_rock_items") - - event.create('tfg:loose/mercury_stone', 'tfc:loose_rock') - .soundType(global.STONE_CHARACS.mercury.sound) - .itemTexture('tfg:item/loose/mercury_stone') - .rockTypeModel(global.STONE_CHARACS.mercury.type) - .tagBlock('tfc:loose_rocks') - .tagItem('tfc:any_knapping') - .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${global.STONE_CHARACS.mercury.type}_rock`) - .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) - .tagItem("rnr:loose_rock_items") - - event.create('tfg:loose/glacio_stone', 'tfc:loose_rock') - .soundType(global.STONE_CHARACS.glacio.sound) - .itemTexture('tfg:item/loose/glacio_stone') - .rockTypeModel(global.STONE_CHARACS.glacio.type) - .tagBlock('tfc:loose_rocks') - .tagItem('tfc:any_knapping') - .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${global.STONE_CHARACS.glacio.type}_rock`) - .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) - .tagItem("rnr:loose_rock_items") - - event.create('tfg:loose/permafrost', 'tfc:loose_rock') - .soundType(global.STONE_CHARACS.permafrost.sound) - .itemTexture('tfg:item/loose/permafrost') - .rockTypeModel(global.STONE_CHARACS.permafrost.type) - .tagBlock('tfc:loose_rocks') - .tagItem('tfc:any_knapping') - .tagItem('tfc:rock_knapping') - .tagItem("rnr:loose_rock_items") - - event.create('tfg:loose/red_granite', 'tfc:loose_rock') - .soundType(global.STONE_CHARACS.red_granite.sound) - .itemTexture('tfg:item/loose/red_granite') - .rockTypeModel(global.STONE_CHARACS.red_granite.type) - .tagBlock('tfc:loose_rocks') - .tagItem('tfc:any_knapping') - .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${global.STONE_CHARACS.red_granite.type}_rock`) - .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) - .tagItem("rnr:loose_rock_items") - - // #endregion Loose stones - - // #region Spikes - - event.create('tfg:spike/deepslate_spike', 'tfc:rock_spike') - .textureAll('minecraft:block/deepslate') - .soundType(global.STONE_CHARACS.deepslate.sound) - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .hardness(0.8) - .resistance(0.8) - .requiresTool(true) - - event.create('tfg:spike/blackstone_spike', 'tfc:rock_spike') - .textureAll('minecraft:block/blackstone') - .soundType(global.STONE_CHARACS.blackstone.sound) - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .hardness(0.8) - .resistance(0.8) - .requiresTool(true) - - event.create('tfg:spike/dripstone_spike', 'tfc:rock_spike') - .textureAll('minecraft:block/dripstone_block') - .soundType(global.STONE_CHARACS.dripstone.sound) - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .hardness(0.8) - .resistance(0.8) - .requiresTool(true) - - event.create('tfg:spike/moon_stone_spike', 'tfc:rock_spike') - .textureAll('ad_astra:block/moon_stone') - .soundType(global.STONE_CHARACS.moon.sound) - .tagBlock('minecraft:mineable/pickaxe') - .hardness(0.8) - .resistance(0.8) - .requiresTool(true) - - event.create('tfg:spike/moon_deepslate_spike', 'tfc:rock_spike') - .textureAll('ad_astra:block/moon_deepslate') - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .tagBlock('minecraft:mineable/pickaxe') - .hardness(0.8) - .resistance(0.8) - .requiresTool(true) - - event.create('tfg:spike/mars_stone_spike', 'tfc:rock_spike') - .textureAll('ad_astra:block/mars_stone') - .soundType(global.STONE_CHARACS.mars.sound) - .tagBlock('minecraft:mineable/pickaxe') - .hardness(0.8) - .resistance(0.8) - .requiresTool(true) - - event.create('tfg:spike/venus_stone_spike', 'tfc:rock_spike') - .textureAll('ad_astra:block/venus_stone') - .soundType(global.STONE_CHARACS.venus.sound) - .tagBlock('minecraft:mineable/pickaxe') - .hardness(0.8) - .resistance(0.8) - .requiresTool(true) - - event.create('tfg:spike/mercury_stone_spike', 'tfc:rock_spike') - .textureAll('ad_astra:block/mercury_stone') - .soundType(global.STONE_CHARACS.mercury.sound) - .tagBlock('minecraft:mineable/pickaxe') - .hardness(0.8) - .resistance(0.8) - .requiresTool(true) - - event.create('tfg:spike/glacio_stone_spike', 'tfc:rock_spike') - .textureAll('ad_astra:block/glacio_stone') - .soundType(global.STONE_CHARACS.glacio.sound) - .tagBlock('minecraft:mineable/pickaxe') - .hardness(0.8) - .resistance(0.8) - .requiresTool(true) - - event.create('tfg:spike/permafrost_spike', 'tfc:rock_spike') - .textureAll('ad_astra:block/permafrost') - .soundType(global.STONE_CHARACS.permafrost.sound) - .tagBlock('minecraft:mineable/pickaxe') - .hardness(0.8) - .resistance(0.8) - .requiresTool(true) - - event.create('tfg:spike/red_granite_spike', 'tfc:rock_spike') - .textureAll('gtceu:block/stones/red_granite/stone') - .soundType(global.STONE_CHARACS.red_granite.sound) - .tagBlock('minecraft:mineable/pickaxe') - .hardness(0.8) - .resistance(0.8) - .requiresTool(true) - - // #endregion Spikes - - // #region Cobblestones - - // Deepslate - event.create('tfg:rock/mossy_cobble_deepslate') - .soundType(global.STONE_CHARACS.deepslate.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_cobble_deepslate_${shape}`, shape) - .soundType(global.STONE_CHARACS.deepslate.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Blackstone - event.create('tfg:rock/cobble_blackstone') - .soundType(global.STONE_CHARACS.blackstone.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/cobble_blackstone_${shape}`, shape) - .soundType(global.STONE_CHARACS.blackstone.sound) - .textureAll('minecraft:block/blackstone_top') - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_cobble_blackstone') - .soundType(global.STONE_CHARACS.blackstone.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_cobble_blackstone_${shape}`, shape) - .soundType(global.STONE_CHARACS.blackstone.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Dripstone - event.create('tfg:rock/cobble_dripstone') - .soundType(global.STONE_CHARACS.dripstone.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/cobble_dripstone_${shape}`, shape) - .soundType(global.STONE_CHARACS.dripstone.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_cobble_dripstone') - .soundType(global.STONE_CHARACS.dripstone.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_cobble_dripstone_${shape}`, shape) - .soundType(global.STONE_CHARACS.dripstone.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Crackrack - event.create('tfg:rock/cobble_crackrack') - .soundType(global.STONE_CHARACS.crackrack.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) - .mapColor(global.STONE_CHARACS.crackrack.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/cobble_crackrack_${shape}`, shape) - .soundType(global.STONE_CHARACS.crackrack.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) - .mapColor(global.STONE_CHARACS.crackrack.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_cobble_crackrack') - .soundType(global.STONE_CHARACS.crackrack.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) - .mapColor(global.STONE_CHARACS.crackrack.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_cobble_crackrack_${shape}`, shape) - .soundType(global.STONE_CHARACS.crackrack.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) - .mapColor(global.STONE_CHARACS.crackrack.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Moon - event.create('tfg:rock/cobble_moon_wall', 'wall') - .soundType(global.STONE_CHARACS.moon.sound) - .textureAll('ad_astra:block/moon_cobblestone') - .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) - .mapColor(global.STONE_CHARACS.moon.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/mossy_cobble_moon') - .soundType(global.STONE_CHARACS.moon.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) - .mapColor(global.STONE_CHARACS.moon.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_cobble_moon_${shape}`, shape) - .soundType(global.STONE_CHARACS.moon.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) - .mapColor(global.STONE_CHARACS.moon.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Moon Deepslate - event.create('tfg:rock/cobble_moon_deepslate') - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/cobble_moon_deepslate_${shape}`, shape) - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_cobble_moon_deepslate') - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_cobble_moon_deepslate_${shape}`, shape) - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Mars - event.create('tfg:rock/cobble_mars_wall', 'wall') - .soundType(global.STONE_CHARACS.mars.sound) - .textureAll('ad_astra:block/mars_cobblestone') - .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) - .mapColor(global.STONE_CHARACS.mars.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) + if (rock.tfcTag != null) { + hardened.tagBoth(rock.tfcTag); + } + } - event.create('tfg:rock/mossy_cobble_mars') - .soundType(global.STONE_CHARACS.mars.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) - .mapColor(global.STONE_CHARACS.mars.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_cobble_mars_${shape}`, shape) - .soundType(global.STONE_CHARACS.mars.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) - .mapColor(global.STONE_CHARACS.mars.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - // Venus - event.create('tfg:rock/cobble_venus_wall', 'wall') - .soundType(global.STONE_CHARACS.venus.sound) - .textureAll('ad_astra:block/venus_cobblestone') - .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) - .mapColor(global.STONE_CHARACS.venus.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) + // Loose + if (rock.raw != null && rock.loose != null && rock.loose.startsWith('tfg:loose/')) { + let looseRock = event.create(rock.loose, 'tfc:loose_rock') + .soundType(rock.sound ?? 'stone') + .itemTexture(rock.loose.replace(/:/g, ":item/")) + .textureAll(rawTexture) + .mapColor(rock.mapColor) + .tagBlock('tfc:loose_rocks') + .tagItem('tfc:any_knapping') + .tagItem('tfc:rock_knapping') + .tagBoth(rock.tfcTag) + .tagItem("rnr:loose_rock_items") + + if (rock.tfcTag != null) { + let tfcRockType = rock.tfcTag.replace(/tfc:/g, "").replace(/_items/g, ""); + looseRock.rockTypeModel(tfcRockType); + looseRock.tagBoth(rock.tfcTag) + looseRock.tagItem(`tfc:${tfcRockType}_rock`) + } + else { + looseRock.rockTypeModel('sedimentary'); + } + } + + // Spike + if (rock.raw != null && rock.spike != null && rock.spike.startsWith('tfg:spike/')) { + let spike = event.create(rock.spike, 'tfc:rock_spike') + .textureAll(rawTexture) + .soundType(rock.sound ?? 'stone') + .mapColor(rock.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .hardness(0.8) + .resistance(0.8) + .requiresTool(true) + + if (rock.tfcTag != null) { + spike.tagBoth(rock.tfcTag); + } + } + + // Gravel + if (rock.gravel != null && rock.gravel.startsWith('tfg:rock/')) { + let gravel = event.create(rock.gravel) + .soundType('gravel') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .mapColor(rock.mapColor) + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + if (rock.tfcTag != null) { + gravel.tagBoth(rock.tfcTag); + } + if (rock.gravelTag != null) { + gravel.tagItem(rock.gravelTag) + } + } + + // Aqueducts + if (rock.bricks != null && rock.aqueduct != null && rock.aqueduct.startsWith('tfg:rock/')) { + let aqueduct = event.create(rock.aqueduct, 'tfc:aqueduct') + .soundType(rock.sound ?? 'stone') + .textureAll(rock.bricks.texture ?? rock.bricks.block.replace(/:/g, ":block/")) + .mapColor(rock.mapColor) + .tagBoth('tfg:rock/aqueducts') + + if (rock.tfcTag != null) { + aqueduct.tagBoth(rock.tfcTag); + } + } + + // Supports + if (rock.raw != null && rock.support != null && rock.support.startsWith('tfg:')) { + let support = event.create(rock.support, 'tfc:support') + .textureAll(rawTexture) + .horizontal(horizontal => { + horizontal.textureAll(rawTexture) + horizontal.soundType(rock.sound ?? 'stone') + horizontal.hardness(5) + horizontal.resistance(8) + horizontal.mapColor(rock.mapColor) + horizontal.tagBlock('minecraft:mineable/pickaxe') + horizontal.requiresTool(true) + }) + .soundType(rock.sound ?? 'stone') + .hardness(5) + .resistance(8) + .mapColor(rock.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + + if (rock.tfcTag != null) { + support.tagBoth(rock.tfcTag); + } + } + + // Pillar + if (rock.pillar != null && rock.pillar.startsWith('tfg:rock/')) { + let block = event.create(rock.pillar) + .textureAll(rock.pillar.replace(/:/g, ":block/")) + .soundType(rock.sound ?? 'stone') + .mapColor(rock.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + if (rock.tfcTag != null) { + block.tagBoth(rock.tfcTag); + } + } + } - event.create('tfg:rock/mossy_cobble_venus') - .soundType(global.STONE_CHARACS.venus.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) - .mapColor(global.STONE_CHARACS.venus.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_cobble_venus_${shape}`, shape) - .soundType(global.STONE_CHARACS.venus.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) - .mapColor(global.STONE_CHARACS.venus.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Mercury - event.create('tfg:rock/cobble_mercury_wall', 'wall') - .soundType(global.STONE_CHARACS.mercury.sound) - .textureAll('ad_astra:block/mercury_cobblestone') - .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) - .mapColor(global.STONE_CHARACS.mercury.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/mossy_cobble_mercury') - .soundType(global.STONE_CHARACS.mercury.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) - .mapColor(global.STONE_CHARACS.mercury.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_cobble_mercury_${shape}`, shape) - .soundType(global.STONE_CHARACS.mercury.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) - .mapColor(global.STONE_CHARACS.mercury.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Glacio - event.create('tfg:rock/cobble_glacio_wall', 'wall') - .soundType(global.STONE_CHARACS.glacio.sound) - .textureAll('ad_astra:block/glacio_cobblestone') - .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) - .mapColor(global.STONE_CHARACS.glacio.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/mossy_cobble_glacio') - .soundType(global.STONE_CHARACS.glacio.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) - .mapColor(global.STONE_CHARACS.glacio.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_cobble_glacio_${shape}`, shape) - .soundType(global.STONE_CHARACS.glacio.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) - .mapColor(global.STONE_CHARACS.glacio.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Permafrost - event.create('tfg:rock/cobble_permafrost') - .soundType(global.STONE_CHARACS.permafrost.sound) - .tagBoth('forge:cobblestone') - .mapColor(global.STONE_CHARACS.permafrost.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/cobble_permafrost_${shape}`, shape) - .textureAll('ad_astra:block/permafrost_top') - .soundType(global.STONE_CHARACS.permafrost.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .mapColor(global.STONE_CHARACS.permafrost.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_cobble_permafrost') - .soundType(global.STONE_CHARACS.permafrost.sound) - .tagBoth('forge:cobblestone') - .mapColor(global.STONE_CHARACS.permafrost.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_cobble_permafrost_${shape}`, shape) - .soundType(global.STONE_CHARACS.permafrost.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .mapColor(global.STONE_CHARACS.permafrost.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Red Granite - SHAPES.forEach(shape => { - event.create(`tfg:rock/cobble_red_granite_${shape}`, shape) - .soundType(global.STONE_CHARACS.red_granite.sound) - .textureAll('gtceu:block/stones/red_granite/cobble') - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) - .mapColor(global.STONE_CHARACS.red_granite.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_cobble_red_granite_${shape}`, shape) - .soundType(global.STONE_CHARACS.red_granite.sound) - .textureAll('gtceu:block/stones/red_granite/cobble_mossy') - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) - .mapColor(global.STONE_CHARACS.red_granite.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // #endregion Cobblestones - - // #region Gravels - event.create('tfg:rock/gravel_deepslate') - .soundType('gravel') - .tagBoth('forge:gravel') - .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/shovel') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/gravel_blackstone') - .soundType('gravel') - .tagBoth('forge:gravel') - .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/shovel') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/gravel_dripstone') - .soundType('gravel') - .tagBoth('forge:gravel') - .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/shovel') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/gravel_crackrack') - .soundType('gravel') - .tagBoth('forge:gravel') - .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) - .mapColor(global.STONE_CHARACS.crackrack.mapColor) - .tagBlock('minecraft:mineable/shovel') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/gravel_moon') - .soundType('gravel') - .tagBoth('forge:gravel') - .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) - .mapColor(global.STONE_CHARACS.moon.mapColor) - .tagBlock('minecraft:mineable/shovel') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/gravel_moon_deepslate') - .soundType('gravel') - .tagBoth('forge:gravel') - .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBlock('minecraft:mineable/shovel') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/gravel_mars') - .soundType('gravel') - .tagBoth('forge:gravel') - .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) - .mapColor(global.STONE_CHARACS.mars.mapColor) - .tagBlock('minecraft:mineable/shovel') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/gravel_venus') - .soundType('gravel') - .tagBoth('forge:gravel') - .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) - .mapColor(global.STONE_CHARACS.venus.mapColor) - .tagBlock('minecraft:mineable/shovel') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/gravel_mercury') - .soundType('gravel') - .tagBoth('forge:gravel') - .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) - .mapColor(global.STONE_CHARACS.mercury.mapColor) - .tagBlock('minecraft:mineable/shovel') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/gravel_glacio') - .soundType('gravel') - .tagBoth('forge:gravel') - .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) - .mapColor(global.STONE_CHARACS.glacio.mapColor) - .tagBlock('minecraft:mineable/shovel') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/gravel_permafrost') - .soundType('gravel') - .tagBoth('forge:gravel') - .tagBoth('tfc:rock/gravel') - .mapColor(global.STONE_CHARACS.permafrost.mapColor) - .tagBlock('minecraft:mineable/shovel') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/gravel_red_granite') - .soundType('gravel') - .tagBoth('forge:gravel') - .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) - .mapColor(global.STONE_CHARACS.red_granite.mapColor) - .tagBlock('minecraft:mineable/shovel') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - // #endregion Gravels - - // #region Smooth (Polished/Cut) Stones - - event.create('tfg:rock/polished_crackrack') - .soundType(global.STONE_CHARACS.crackrack.sound) - .tagBoth('forge:smooth_stone') - .tagBoth('tfc:igneous_intrusive_items') - .tagBoth('tfc:rock/smooth') - .mapColor('crimson_stem') - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/polished_crackrack_${shape}`, shape) - .soundType(global.STONE_CHARACS.crackrack.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) - .mapColor(global.STONE_CHARACS.crackrack.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/polished_moon_wall', 'wall') - .soundType(global.STONE_CHARACS.moon.sound) - .textureAll('ad_astra:block/polished_moon_stone') - .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) - .mapColor(global.STONE_CHARACS.moon.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/polished_moon_deepslate') - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .tagBoth('forge:smooth_stone') - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .tagBoth('tfc:rock/smooth') - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/polished_moon_deepslate_${shape}`, shape) - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/polished_mars_wall', 'wall') - .soundType(global.STONE_CHARACS.mars.sound) - .textureAll('ad_astra:block/polished_mars_stone') - .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) - .mapColor(global.STONE_CHARACS.mars.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/polished_venus_wall', 'wall') - .soundType(global.STONE_CHARACS.venus.sound) - .textureAll('ad_astra:block/polished_venus_stone') - .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) - .mapColor(global.STONE_CHARACS.venus.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/polished_mercury_wall', 'wall') - .soundType(global.STONE_CHARACS.mercury.sound) - .textureAll('ad_astra:block/polished_mercury_stone') - .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) - .mapColor(global.STONE_CHARACS.mercury.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/polished_glacio_wall', 'wall') - .soundType(global.STONE_CHARACS.glacio.sound) - .textureAll('ad_astra:block/polished_glacio_stone') - .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) - .mapColor(global.STONE_CHARACS.glacio.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/polished_permafrost_wall', 'wall') - .soundType(global.STONE_CHARACS.permafrost.sound) - .textureAll('ad_astra:block/polished_permafrost') - .tagBoth('tfg:rock_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.permafrost.type}_items`) - .mapColor(global.STONE_CHARACS.permafrost.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/polished_red_granite_${shape}`, shape) - .soundType(global.STONE_CHARACS.red_granite.sound) - .textureAll('gtceu:block/stones/red_granite/polished') - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) - .mapColor(global.STONE_CHARACS.red_granite.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // #endregion Smooth (Polished/Cut) Stones - - // #region Bricks / Decorative - - // Deepslate - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_bricks_deepslate_${shape}`, shape) - .soundType(global.STONE_CHARACS.deepslate.sound) - .textureAll('minecraft:block/cracked_deepslate_bricks') - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_tiles_deepslate_${shape}`, shape) - .soundType(global.STONE_CHARACS.deepslate.sound) - .textureAll('minecraft:block/cracked_deepslate_tiles') - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_bricks_deepslate') - .soundType(global.STONE_CHARACS.deepslate.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_bricks_deepslate_${shape}`, shape) - .soundType(global.STONE_CHARACS.deepslate.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Blackstone - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_bricks_blackstone_${shape}`, shape) - .soundType(global.STONE_CHARACS.blackstone.sound) - .textureAll('minecraft:block/cracked_polished_blackstone_bricks') - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_bricks_blackstone') - .soundType(global.STONE_CHARACS.blackstone.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_bricks_blackstone_${shape}`, shape) - .soundType(global.STONE_CHARACS.blackstone.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Dripstone - event.create('tfg:rock/cracked_bricks_dripstone') - .soundType(global.STONE_CHARACS.dripstone.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_bricks_dripstone_${shape}`, shape) - .soundType(global.STONE_CHARACS.dripstone.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_bricks_dripstone') - .soundType(global.STONE_CHARACS.dripstone.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_bricks_dripstone_${shape}`, shape) - .soundType(global.STONE_CHARACS.dripstone.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Crackrack - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_bricks_nether_${shape}`, shape) - .soundType(global.STONE_CHARACS.nether.sound) - .textureAll('minecraft:block/cracked_nether_bricks') - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.nether.type}_items`) - .mapColor(global.STONE_CHARACS.nether.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_bricks_nether') - .soundType(global.STONE_CHARACS.nether.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${global.STONE_CHARACS.nether.type}_items`) - .mapColor(global.STONE_CHARACS.nether.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_bricks_nether_${shape}`, shape) - .soundType(global.STONE_CHARACS.nether.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.nether.type}_items`) - .mapColor(global.STONE_CHARACS.nether.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Moon Stone - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_bricks_moon_${shape}`, shape) - .soundType(global.STONE_CHARACS.moon.sound) - .textureAll('ad_astra:block/cracked_moon_stone_bricks') - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) - .mapColor(global.STONE_CHARACS.moon.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_bricks_moon') - .soundType(global.STONE_CHARACS.moon.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) - .mapColor(global.STONE_CHARACS.moon.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_bricks_moon_${shape}`, shape) - .soundType(global.STONE_CHARACS.moon.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) - .mapColor(global.STONE_CHARACS.moon.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/chiseled_bricks_moon_wall', 'wall') - .soundType(global.STONE_CHARACS.moon.sound) - .textureAll('ad_astra:block/chiseled_moon_stone_bricks') - .tagBoth('tfg:brick_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) - .mapColor(global.STONE_CHARACS.moon.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - // Moon Deepslate - event.create('tfg:rock/bricks_moon_deepslate') - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/bricks_moon_deepslate_${shape}`, shape) - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/cracked_bricks_moon_deepslate') - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth('tfc:rock/cracked_bricks') - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_bricks_moon_deepslate_${shape}`, shape) - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_bricks_moon_deepslate') - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_bricks_moon_deepslate_${shape}`, shape) - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/chiseled_bricks_moon_deepslate') - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth('tfc:rock/chiseled_bricks') - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/chiseled_bricks_moon_deepslate_${shape}`, shape) - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/pillar_moon_deepslate') - .soundType(global.STONE_CHARACS.moon_deepslate.sound) - .property(BlockProperties.AXIS) - .placementState(event => event.set(BlockProperties.AXIS, event.clickedFace.axis)) - .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - // Mars Stone - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_bricks_mars_${shape}`, shape) - .soundType(global.STONE_CHARACS.mars.sound) - .textureAll('ad_astra:block/cracked_mars_stone_bricks') - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) - .mapColor(global.STONE_CHARACS.mars.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_bricks_mars') - .soundType(global.STONE_CHARACS.mars.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) - .mapColor(global.STONE_CHARACS.mars.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_bricks_mars_${shape}`, shape) - .soundType(global.STONE_CHARACS.mars.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) - .mapColor(global.STONE_CHARACS.mars.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/chiseled_bricks_mars_wall', 'wall') - .soundType(global.STONE_CHARACS.mars.sound) - .textureAll('ad_astra:block/chiseled_mars_stone_bricks') - .tagBoth('tfg:brick_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) - .mapColor(global.STONE_CHARACS.mars.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - // Venus Stone - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_bricks_venus_${shape}`, shape) - .soundType(global.STONE_CHARACS.venus.sound) - .textureAll('ad_astra:block/cracked_venus_stone_bricks') - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) - .mapColor(global.STONE_CHARACS.venus.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_bricks_venus') - .soundType(global.STONE_CHARACS.venus.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) - .mapColor(global.STONE_CHARACS.venus.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_bricks_venus_${shape}`, shape) - .soundType(global.STONE_CHARACS.venus.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) - .mapColor(global.STONE_CHARACS.venus.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/chiseled_bricks_venus_wall', 'wall') - .soundType(global.STONE_CHARACS.venus.sound) - .textureAll('ad_astra:block/chiseled_venus_stone_bricks') - .tagBoth('tfg:brick_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) - .mapColor(global.STONE_CHARACS.venus.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - // Mercury Stone - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_bricks_mercury_${shape}`, shape) - .soundType(global.STONE_CHARACS.mercury.sound) - .textureAll('ad_astra:block/cracked_mercury_stone_bricks') - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) - .mapColor(global.STONE_CHARACS.mercury.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_bricks_mercury') - .soundType(global.STONE_CHARACS.mercury.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) - .mapColor(global.STONE_CHARACS.mercury.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_bricks_mercury_${shape}`, shape) - .soundType(global.STONE_CHARACS.mercury.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) - .mapColor(global.STONE_CHARACS.mercury.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/chiseled_bricks_mercury_wall', 'wall') - .soundType(global.STONE_CHARACS.mercury.sound) - .textureAll('ad_astra:block/chiseled_mercury_stone_bricks') - .tagBoth('tfg:brick_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) - .mapColor(global.STONE_CHARACS.mercury.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - // Glacio Stone - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_bricks_glacio_${shape}`, shape) - .soundType(global.STONE_CHARACS.glacio.sound) - .textureAll('ad_astra:block/cracked_glacio_stone_bricks') - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) - .mapColor(global.STONE_CHARACS.glacio.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_bricks_glacio') - .soundType(global.STONE_CHARACS.glacio.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) - .mapColor(global.STONE_CHARACS.glacio.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_bricks_glacio_${shape}`, shape) - .soundType(global.STONE_CHARACS.glacio.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) - .mapColor(global.STONE_CHARACS.glacio.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/chiseled_bricks_glacio_wall', 'wall') - .soundType(global.STONE_CHARACS.glacio.sound) - .textureAll('ad_astra:block/chiseled_glacio_stone_bricks') - .tagBoth('tfg:brick_walls') - .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) - .mapColor(global.STONE_CHARACS.glacio.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - // Permafrost - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_bricks_permafrost_${shape}`, shape) - .soundType(global.STONE_CHARACS.permafrost.sound) - .textureAll('ad_astra:block/cracked_permafrost_bricks') - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.permafrost.type}_items`) - .mapColor(global.STONE_CHARACS.permafrost.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_bricks_permafrost') - .soundType(global.STONE_CHARACS.permafrost.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth('tfc:rock/mossy_bricks') - .mapColor(global.STONE_CHARACS.permafrost.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_bricks_permafrost_${shape}`, shape) - .soundType(global.STONE_CHARACS.permafrost.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .mapColor(global.STONE_CHARACS.permafrost.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/chiseled_bricks_permafrost_wall', 'wall') - .soundType(global.STONE_CHARACS.permafrost.sound) - .textureAll('ad_astra:block/chiseled_permafrost_bricks') - .tagBoth('tfg:brick_walls') - .mapColor(global.STONE_CHARACS.permafrost.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - // Red Granite - - SHAPES.forEach(shape => { - event.create(`tfg:rock/bricks_red_granite_${shape}`, shape) - .soundType(global.STONE_CHARACS.red_granite.sound) - .textureAll('gtceu:block/stones/red_granite/bricks') - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) - .mapColor(global.STONE_CHARACS.red_granite.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_bricks_red_granite_${shape}`, shape) - .soundType(global.STONE_CHARACS.red_granite.sound) - .textureAll('gtceu:block/stones/red_granite/bricks_cracked') - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) - .mapColor(global.STONE_CHARACS.red_granite.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_bricks_red_granite_${shape}`, shape) - .soundType(global.STONE_CHARACS.red_granite.sound) - .textureAll('gtceu:block/stones/red_granite/bricks_mossy') - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) - .mapColor(global.STONE_CHARACS.red_granite.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // #endregion Bricks / Decorative // #region Sandstone event.create('tfg:rock/smooth_red_sandstone_wall', 'wall') @@ -1814,17 +267,17 @@ function registerTFGRockBlocks(event) { event.create('tfg:rock/bricks_venus_sandstone_wall', 'wall') .soundType('stone') .textureAll('ad_astra:block/venus_sandstone_bricks') - .mapColor(global.STONE_CHARACS.venus.mapColor) + .mapColor(global.BIG_ROCK_TABLE.venus_stone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_bricks_venus_sandstone_${shape}`, shape) - .soundType(global.STONE_CHARACS.venus.sound) + event.create(`tfg:rock/cracked_bricks_venus_sandstone_${shape}`, shape.replace(/stair/g, 'stairs')) + .soundType(global.BIG_ROCK_TABLE.venus_stone.sound) .textureAll('ad_astra:block/cracked_venus_sandstone_bricks') - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .mapColor(global.STONE_CHARACS.venus.mapColor) + .tagBoth(`tfg:brick_${shape}s`) + .mapColor(global.BIG_ROCK_TABLE.venus_stone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) diff --git a/kubejs/startup_scripts/tfg/stone_types/blocks.vanilla_stone.js b/kubejs/startup_scripts/tfg/stone_types/blocks.vanilla_stone.js deleted file mode 100644 index 98d0e933a..000000000 --- a/kubejs/startup_scripts/tfg/stone_types/blocks.vanilla_stone.js +++ /dev/null @@ -1,56 +0,0 @@ -"use strict"; - -function registerTFGVanillaStoneBlocks(event) { - - event.create(`tfg:rock/stone_wall`, 'wall') - .soundType(global.STONE_CHARACS.reconstituted.sound) - .textureAll('minecraft:block/stone') - .tagBoth('tfg:rock_wall') - .mapColor(global.STONE_CHARACS.reconstituted.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - let SHAPES = ['stairs', 'wall'] - SHAPES.forEach(shape => { - event.create(`tfg:rock/smooth_stone_${shape}`, shape) - .soundType(global.STONE_CHARACS.reconstituted.sound) - .textureAll('minecraft:block/smooth_stone') - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .mapColor(global.STONE_CHARACS.reconstituted.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - SHAPES = ['stairs', 'slab', 'wall'] - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_bricks_stone_${shape}`, shape) - .soundType(global.STONE_CHARACS.reconstituted.sound) - .textureAll('minecraft:block/cracked_stone_bricks') - .tagBoth(`tfg:brick_${shape}s`.replace(/ss/g, 's')) - .mapColor(global.STONE_CHARACS.reconstituted.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/quartz_wall', 'wall') - .soundType('stone') - .textureAll('minecraft:block/quartz_block_side') - .tagBoth('tfg:rock_wall') - .mapColor('snow') - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/smooth_quartz_wall', 'wall') - .soundType('stone') - .textureAll('minecraft:block/quartz_block_bottom') - .tagBoth('tfg:rock_wall') - .mapColor('snow') - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - -} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js b/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js new file mode 100644 index 000000000..bd9ee61f1 --- /dev/null +++ b/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js @@ -0,0 +1,1145 @@ +// priority: -1 +"use strict"; + +/** + * @typedef {Object} BlockForms + * @property {string} block + * @property {string?} stair + * @property {string?} slab + * @property {string?} wall + * @property {BlockForms?} mossy - If this block has a mossy variant + * @property {BlockForms?} cracked - If this block has a cracked variant + */ + +/** + * @typedef {Object} RockType + * @property {String?} material + * Material ID if this rock type can be macerated + * @property {String?} tfcTag + * Item tag that everything in this rock type should be added to + * @property {boolean} isTFC + * If this is a built-in TFC rock type or not + * @property {String?} stonecutterTag + * Item tag for stonecutting + * @property {String?} gravelTag + * Item tag for what kind of sand this gravel should be turned into + * @property {String?} mapColor + * @property {String?} sound + * @property {String[]?} dimensions + * Used for generating rock breaker recipes. + * TFC rocks can be used on any dimension, null/empty array on other types will not have any recipes. + * @property {String?} hardened + * @property {String?} gravel + * @property {String?} loose + * @property {String?} mossyLoose + * @property {String?} brick + * ID of the brick item + * @property {String?} support + * @property {String?} aqueduct + * @property {String?} spike + * @property {String?} pillar + * @property {String?} pillar2 + * @property {BlockForms?} raw + * @property {BlockForms?} cobble + * @property {BlockForms?} bricks + * @property {BlockForms?} polished + * @property {BlockForms?} chiseled + * @property {BlockForms[]?} stonecutting + * Extra blocks that you can use a stonecutter to get + */ + +/** + * Generates an object of block, stair, slab, and wall strings. + * @param {String} id + * The internal ID of a rock type. For example, migmatite is 'deepslate'. + * @param {String} pattern + * A pattern to use to generate the other rock form strings. + * %s will be replaced with the id above. + * "_stairs", "_slab", or "_wall" will be appended on the end. + * @param {BlockForms?} [mossy=null] + * If this rock block has a mossy subset, put it here. + * @param {BlockForms?} [cracked=null] + * If this rock block has a cracked subset, put it here. + * @returns {BlockForms?} + */ +function generateForms(id, pattern, mossy, cracked) { + let replaced = pattern.replace('%s', id); + return { + block: `${replaced}`, + stair: `${replaced}_stairs`, + slab: `${replaced}_slab`, + wall: `${replaced}_wall`, + mossy: mossy, + cracked: cracked + }; +} + +/** + * Generates an object of block, stair, slab, and wall strings. + * @param {String} id + * The internal ID of a rock type. For example, migmatite is 'deepslate'. + * @param {String} pattern + * A pattern to use to generate the other rock form strings. + * %s will be replaced with the id above. + * "_stairs", "_slab", or "_wall" will be appended on the end. + * @param {BlockForms} table + * Another table of forms to overwrite this one. Good if there's already an existing block. + * @param {BlockForms?} [mossy=null] + * If this rock block has a mossy subset, put it here. + * @param {BlockForms?} [cracked=null] + * If this rock block has a cracked subset, put it here. + * @returns {BlockForms} + */ +function generateFormsExisting(id, pattern, table, mossy, cracked) { + let generated = generateForms(id, pattern, mossy, cracked); + + if (table.block == null) + table.block = generated.block; + if (table.stair == null) + table.stair = generated.stair; + if (table.slab == null) + table.slab = generated.slab; + if (table.wall == null) + table.wall = generated.wall; + if (table.mossy == null) + table.mossy = generated.mossy; + if (table.cracked == null) + table.cracked = generated.cracked; + + return table; +} + + +/** + * Same as above but a special case for Ad Astra because they're allergic to walls. + * @param {String} id + * The internal ID of a rock type. For example, migmatite is 'deepslate'. + * @param {String} pattern + * A pattern to use to generate the other rock form strings. + * %s will be replaced with the id above. + * "_stairs", "_slab", or "_wall" will be appended on the end. + * @param {String} wall + * The TFG wall block. + * @param {BlockForms?} [mossy=null] + * If this rock block has a mossy subset, put it here. + * @param {BlockForms?} [cracked=null] + * If this rock block has a cracked subset, put it here. + * @returns {BlockForms} + */ +function generateFormsExceptWall(id, pattern, wall, mossy, cracked) { + let replaced = pattern.replace('%s', id); + return { + block: replaced, + stair: `${replaced}_stairs`, + slab: `${replaced}_slab`, + wall: wall, + mossy: mossy, + cracked: cracked + }; +} + +/** + * Fills out a rock type for the TFC blocks, since they already exist and have known IDs. + * @param {String} id + * The internal ID of a rock type. + * @param {RockType} table + * The table with all the other blocks. + * @returns {RockType} + */ +function generateTFC(id, table) { + table.stonecutterTag = `tfg:stone_types/${id}`; + table.hardened = `tfc:rock/hardened/${id}`; + table.gravel = `tfc:rock/gravel/${id}`; + table.loose = `tfc:rock/loose/${id}`; + table.mossyLoose = `tfc:rock/mossy_loose/${id}`; + table.brick = `tfc:brick/${id}`; + table.support = `tfg:${id}_support`; + table.aqueduct = `tfc:rock/aqueduct/${id}`; + table.spike = `tfc:rock/spike/${id}`; + + table.raw = generateForms(id, 'tfc:rock/raw/%s'), + table.cobble = generateForms(id, 'tfc:rock/cobble/%s', + generateForms(id, 'tfc:rock/mossy_cobble/%s')); + table.bricks = generateForms(id, 'tfc:rock/bricks/%s', + generateForms(id, 'tfc:rock/mossy_bricks/%s'), + generateForms(id, 'tfc:rock/cracked_bricks/%s')); + table.polished = generateForms(id, 'tfc:rock/smooth/%s'); + table.chiseled = { block: `tfc:rock/chiseled/${id}` }; + + table.isTFC = true; + return table; +} + +/** + * Generates some missing rock-type blocks that don't have stair/slab/wall blocks. + * @param {String} id + * The internal ID of a rock type. For example, migmatite is 'deepslate'. + * @param {RockType} table + * A table of different rock blocks. + * @returns {RockType} + */ +function generateMissing(id, table) { + table.stonecutterTag = `tfg:stonecutting/${id}`; + if (table.hardened === undefined) + table.hardened = `tfg:rock/hardened_${id}`; + if (table.gravel === undefined) + table.gravel = `tfg:rock/gravel_${id}`; + if (table.loose === undefined) + table.loose = `tfg:loose/${id}`; + if (table.brick === undefined) + table.brick = `tfg:brick/${id}`; + if (table.support === undefined) + table.support = `tfg:${id}_support`; + if (table.aqueduct === undefined) + table.aqueduct = `tfg:rock/aqueduct_${id}`; + if (table.spike === undefined) + table.spike = `tfg:spike/${id}_spike`; + + table.isTFC = false; + return table; +} + +// This can also be used for things that aren't really rock types, if you want to generate similar recipes. +/** @global */ +global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ + + ///////////////////////////////////////////////////////////////////////////////////////////// + // TFC ROCKS + ///////////////////////////////////////////////////////////////////////////////////////////// + + "gabbro": generateTFC('gabbro', { + material: 'tfg:igneous_mafic', + tfcTag: 'tfc:igneous_intrusive_items' + }), + "diorite": generateTFC('diorite', { + material: 'tfg:igneous_intermediate', + tfcTag: 'tfc:igneous_intrusive_items', + pillar: 'create:diorite_pillar', + pillar2: 'create:layered_diorite', + stonecutterTag: 'create:stone_types/diorite', + stonecutting: [ + generateForms('diorite', 'create:cut_%s'), + generateForms('diorite', 'create:polished_cut_%s'), + generateFormsExisting('diorite', 'create:cut_%s_brick', { block: 'create:cut_diorite_bricks' }), + generateFormsExisting('diorite', 'create:small_%s_brick', { block: 'create:small_diorite_bricks' }) + ] + }), + "granite": generateTFC('granite', { + material: 'tfg:igneous_felsic', + tfcTag: 'tfc:igneous_intrusive_items' + }), + "basalt": generateTFC('basalt', { + material: 'tfg:igneous_mafic', + tfcTag: 'tfc:igneous_extrusive_items', + pillar: 'minecraft:polished_basalt', + pillar2: 'minecraft:smooth_basalt', + }), + "andesite": generateTFC('andesite', { + material: 'tfg:igneous_intermediate', + tfcTag: 'tfc:igneous_extrusive_items', + pillar: 'create:andesite_pillar', + pillar2: 'create:layered_andesite', + stonecutterTag: 'create:stone_types/andesite', + stonecutting: [ + generateForms('andesite', 'create:cut_%s'), + generateForms('andesite', 'create:polished_cut_%s'), + generateFormsExisting('andesite', 'create:cut_%s_brick', { block: 'create:cut_andesite_bricks' }), + generateFormsExisting('andesite', 'create:small_%s_brick', { block: 'create:small_andesite_bricks' }) + ] + }), + "dacite": generateTFC('dacite', { + material: 'tfg:igneous_intermediate', + tfcTag: 'tfc:igneous_extrusive_items' + }), + "rhyolite": generateTFC('rhyolite', { + material: 'tfg:igneous_felsic', + tfcTag: 'tfc:igneous_extrusive_items' + }), + "shale": generateTFC('shale', { + material: 'tfg:sedimentary_clastic', + tfcTag: 'tfc:sedimentary_items' + }), + "claystone": generateTFC('claystone', { + material: 'tfg:sedimentary_clastic', + tfcTag: 'tfc:sedimentary_items' + }), + "conglomerate": generateTFC('conglomerate', { + material: 'tfg:sedimentary_clastic', + tfcTag: 'tfc:sedimentary_items' + }), + "limestone": generateTFC('limestone', { + material: 'tfg:sedimentary_carbonate', + tfcTag: 'tfc:sedimentary_items', + pillar: 'create:limestone_pillar', + pillar2: 'create:layered_limestone', + stonecutterTag: 'create:stone_types/limestone', + stonecutting: [ + { block: 'create:limestone' }, + generateForms('limestone', 'create:cut_%s'), + generateForms('limestone', 'create:polished_cut_%s'), + generateFormsExisting('limestone', 'create:cut_%s_brick', { block: 'create:cut_limestone_bricks' }), + generateFormsExisting('limestone', 'create:small_%s_brick', { block: 'create:small_limestone_bricks' }) + ] + }), + "dolomite": generateTFC('dolomite', { + material: 'tfg:sedimentary_carbonate', + tfcTag: 'tfc:sedimentary_items' + }), + "chalk": generateTFC('chalk', { + material: 'tfg:sedimentary_carbonate', + tfcTag: 'tfc:sedimentary_items' + }), + "chert": generateTFC('chert', { + material: 'tfg:sedimentary_organic', + tfcTag: 'tfc:sedimentary_items', + pillar: 'create:granite_pillar', + pillar2: 'create:layered_granite', + stonecutterTag: 'create:stone_types/granite', + stonecutting: [ + generateForms('granite', 'create:cut_%s'), + generateForms('granite', 'create:polished_cut_%s'), + generateFormsExisting('granite', 'create:cut_%s_brick', { block: 'create:cut_granite_bricks' }), + generateFormsExisting('granite', 'create:small_%s_brick', { block: 'create:small_granite_bricks' }) + ] + }), + "slate": generateTFC('slate', { + material: 'tfg:metamorphic', + tfcTag: 'tfc:metamorphic_items' + }), + "phyllite": generateTFC('phyllite', { + material: 'tfg:metamorphic', + tfcTag: 'tfc:metamorphic_items' + }), + "schist": generateTFC('schist', { + material: 'tfg:metamorphic', + tfcTag: 'tfc:metamorphic_items' + }), + "gneiss": generateTFC('gneiss', { + material: 'tfg:metamorphic', + tfcTag: 'tfc:metamorphic_items' + }), + "marble": generateTFC('marble', { + material: 'tfg:metamorphic', + tfcTag: 'tfc:metamorphic_items', + stonecutting: [ + { block: 'gtceu:polished_marble' }, + { block: 'gtceu:chiseled_marble' }, + { block: 'gtceu:marble_tile' }, + { block: 'gtceu:marble_small_tile' }, + { block: 'gtceu:marble_windmill_a' }, + { block: 'gtceu:marble_windmill_b' }, + { block: 'gtceu:small_marble_bricks' }, + { block: 'gtceu:square_marble_bricks' } + ] + }), + "quartzite": generateTFC('quartzite', { + material: 'tfg:metamorphic', + tfcTag: 'tfc:metamorphic_items' + }), + + ///////////////////////////////////////////////////////////////////////////////////////////// + // BENEATH ROCKS + ///////////////////////////////////////////////////////////////////////////////////////////// + + // Nether quartz + "nether_quartz": { + // No material because GT already has recycling for these + sound: 'stone', + mapColor: 'quartz', + raw: { + block: 'minecraft:quartz_block', + stair: 'minecraft:quartz_stairs', + slab: 'minecraft:quartz_slab', + wall: 'tfg:rock/quartz_wall', + texture: 'minecraft:block/quartz_block_side' + }, + polished: { + block: 'minecraft:smooth_quartz', + stair: 'minecraft:smooth_quartz_stairs', + slab: 'minecraft:smooth_quartz_slab', + wall: 'tfg:rock/smooth_quartz_wall', + texture: 'minecraft:block/quartz_block_bottom' + } + }, + // Migmatite + "deepslate": generateMissing('deepslate', { + material: 'tfg:metamorphic', + tfcTag: 'tfc:metamorphic_items', + gravelTag: 'tfc:black_gravel', + sound: 'deepslate', + mapColor: 'terracotta_grey', + dimensions: ['minecraft:overworld', 'minecraft:the_nether', 'ad_astra:venus'], + support: 'tfg:migmatite_support', + pillar: 'create:deepslate_pillar', + pillar2: 'create:layered_deepslate', + stonecutterTag: 'create:stone_types/deepslate', + raw: generateFormsExisting('deepslate', 'tfg:rock/%s', { block: 'minecraft:deepslate' }), + cobble: generateForms('deepslate', 'minecraft:cobbled_%s', + generateForms('deepslate', 'tfg:rock/mossy_cobble_%s')), + bricks: generateFormsExisting('deepslate', 'minecraft:%s_brick', { block: 'minecraft:deepslate_bricks' }, + generateForms('deepslate', 'tfg:rock/mossy_bricks_%s'), + generateFormsExisting('deepslate', 'tfg:rock/cracked_bricks_%s', { block: 'minecraft:cracked_deepslate_bricks' })), + polished: generateForms('deepslate', 'minecraft:polished_%s'), + chiseled: { block: 'minecraft:chiseled_deepslate' }, + stonecutting: [ + generateFormsExisting('deepslate', 'minecraft:%s_tile', { block: 'minecraft:deepslate_tiles' }, null, + generateFormsExisting('deepslate', 'tfg:rock/cracked_tiles_%s', { block: 'minecraft:cracked_deepslate_tiles' })), + generateForms('deepslate', 'create:cut_%s'), + generateForms('deepslate', 'create:polished_cut_%s'), + generateFormsExisting('deepslate', 'create:cut_%s_brick', { block: 'create:cut_deepslate_bricks' }), + generateFormsExisting('deepslate', 'create:small_%s_brick', { block: 'create:small_deepslate_bricks' }) + ] + }), + // Travertine + "dripstone": generateMissing('dripstone', { + material: 'tfg:sedimentary_carbonate', + tfcTag: 'tfc:sedimentary_items', + gravelTag: 'tfc:brown_gravel', + sound: 'dripstone_block', + mapColor: 'terracotta_brown', + dimensions: ['minecraft:overworld', 'minecraft:the_nether', 'ad_astra:venus'], + support: 'tfg:travertine_support', + pillar: 'create:dripstone_pillar', + pillar2: 'create:layered_dripstone', + stonecutterTag: 'create:stone_types/dripstone', + raw: generateFormsExisting('dripstone', 'tfg:rock/%s', { block: 'minecraft:dripstone_block' }), + cobble: generateForms('dripstone', 'tfg:rock/cobble_%s', + generateForms('dripstone', 'tfg:rock/mossy_cobble_%s')), + bricks: generateFormsExisting('dripstone', 'create:cut_%s_brick', { + block: 'create:cut_dripstone_bricks', + texture: 'create:block/palettes/stone_types/brick/dripstone_cut_brick' + }, + generateForms('dripstone', 'tfg:rock/mossy_bricks_%s'), + generateForms('dripstone', 'tfg:rock/cracked_bricks_%s')), + polished: generateForms('dripstone', 'create:cut_%s'), + stonecutting: [ + generateForms('dripstone', 'create:polished_cut_%s'), + generateFormsExisting('dripstone', 'create:small_%s_brick', { block: 'create:small_dripstone_bricks' }) + ] + }), + // Pyroxenite + "blackstone": generateMissing('blackstone', { + material: 'tfg:igneous_ultramafic', + tfcTag: 'tfc:igneous_intrusive_items', + gravelTag: 'tfc:black_gravel', + sound: 'stone', + mapColor: 'color_black', + dimensions: ['minecraft:overworld', 'minecraft:the_nether', 'ad_astra:mercury'], + support: 'tfg:pyroxenite_support', + pillar: 'beneath:ancient_altar', + loose: 'beneath:blackstone_pebble', + brick: 'beneath:blackstone_brick', + aqueduct: 'beneath:blackstone_aqueduct', + raw: generateForms('blackstone', 'minecraft:%s'), + cobble: generateFormsExisting('blackstone', 'tfg:rock/cobble_%s', { texture: 'minecraft:block/blackstone_top' }, + generateForms('blackstone', 'tfg:rock/mossy_cobble_%s')), + bricks: generateFormsExisting('blackstone', 'minecraft:polished_%s_brick', { block: 'minecraft:polished_blackstone_bricks' }, + generateForms('blackstone', 'tfg:rock/mossy_bricks_%s'), + generateFormsExisting('blackstone', 'tfg:rock/cracked_bricks_%s', { block: 'minecraft:cracked_polished_blackstone_bricks' })), + polished: generateForms('blackstone', 'minecraft:polished_%s'), + chiseled: { block: 'minecraft:chiseled_polished_blackstone' }, + }), + // Keratophyre + "crackrack": generateMissing('crackrack', { + material: 'tfg:igneous_intermediate', + tfcTag: 'tfc:igneous_extrusive_items', + gravelTag: 'tfc:pink_gravel', + sound: 'netherrack', + mapColor: 'crimson_stem', + dimensions: ['minecraft:overworld', 'minecraft:the_nether', 'ad_astra:venus'], + support: 'tfg:keratophyre_support', + brick: 'minecraft:nether_brick', + aqueduct: 'tfg:rock/aqueduct_nether', + raw: generateFormsExisting('crackrack', 'tfg:rock/%s', { block: 'beneath:crackrack' }), + cobble: generateForms('crackrack', 'tfg:rock/cobble_%s', + generateForms('crackrack', 'tfg:rock/mossy_cobble_%s')), + bricks: generateFormsExisting('nether', 'minecraft:%s_brick', { block: 'minecraft:nether_bricks' }, + generateForms('nether', 'tfg:rock/mossy_bricks_%s'), + generateFormsExisting('nether', 'tfg:rock/cracked_bricks_%s', { block: 'minecraft:cracked_nether_bricks' })), + polished: generateForms('crackrack', 'tfg:rock/polished_%s'), + chiseled: { block: 'minecraft:chiseled_nether_bricks' }, + stonecutting: [ + { block: 'minecraft:nether_brick_fence' } + ] + }), + "calcite": { + material: 'calcite', + tfcTag: 'tfc:sedimentary_items', + stonecutterTag: 'create:stone_types/calcite', + isTFC: false, + dimensions: ['minecraft:overworld', 'minecraft:the_nether', 'ad_astra:venus'], + pillar: 'create:calcite_pillar', + pillar2: 'create:layered_calcite', + raw: { block: 'minecraft:calcite' }, + stonecutting: [ + generateForms('calcite', 'create:cut_%s'), + generateForms('calcite', 'create:polished_cut_%s'), + generateFormsExisting('calcite', 'create:cut_%s_brick', { block: 'create:cut_calcite_bricks' }), + generateFormsExisting('calcite', 'create:small_%s_brick', { block: 'create:small_calcite_bricks' }) + ] + }, + "tuff": { + material: 'tfg:igneous_felsic', + tfcTag: 'tfc:igneous_extrusive_items', + stonecutterTag: 'create:stone_types/tuff', + isTFC: false, + sound: 'tuff', + mapColor: 'terracotta_gray', + dimensions: ['minecraft:overworld', 'minecraft:the_nether', 'ad_astra:venus'], + pillar: 'create:tuff_pillar', + pillar2: 'create:layered_tuff', + raw: { block: 'minecraft:tuff' }, + stonecutting: [ + generateForms('tuff', 'create:cut_%s'), + generateForms('tuff', 'create:polished_cut_%s'), + generateFormsExisting('tuff', 'create:cut_%s_brick', { block: 'create:cut_tuff_bricks' }), + generateFormsExisting('tuff', 'create:small_%s_brick', { block: 'create:small_tuff_bricks' }) + ] + }, + + ///////////////////////////////////////////////////////////////////////////////////////////// + // MOON ROCKS + ///////////////////////////////////////////////////////////////////////////////////////////// + + // Anorthosite + "moon_stone": generateMissing('moon_stone', { + material: 'tfg:igneous_mafic', + tfcTag: 'tfc:igneous_intrusive_items', + gravelTag: 'tfg:moon_gravel', + sound: 'stone', + mapColor: 'terracotta_cyan', + dimensions: ['ad_astra:moon'], + support: 'tfg:anorthosite_support', + pillar: 'ad_astra:moon_pillar', + gravel: 'tfg:rock/gravel_moon', + raw: generateFormsExceptWall('moon_stone', 'ad_astra:%s', 'tfg:rock/moon_stone_wall'), + cobble: generateFormsExceptWall('moon', 'ad_astra:%s_cobblestone', 'tfg:rock/cobble_moon_wall', + generateForms('moon', 'tfg:rock/mossy_cobble_%s')), + bricks: generateFormsExisting('moon_stone', 'ad_astra:%s_brick', { block: 'ad_astra:moon_stone_bricks' }, + generateForms('moon', 'tfg:rock/mossy_bricks_%s'), + generateFormsExisting('moon', 'tfg:rock/cracked_bricks_%s', { block: 'ad_astra:cracked_moon_stone_bricks' })), + polished: generateFormsExceptWall('moon_stone', 'ad_astra:polished_%s', 'tfg:rock/polished_moon_wall'), + chiseled: { + block: 'ad_astra:chiseled_moon_stone_bricks', + stair: 'ad_astra:chiseled_moon_stone_stairs', + slab: 'ad_astra:chiseled_moon_stone_slab', + wall: 'tfg:rock/chiseled_bricks_moon_wall' + } + }), + // Norite + "moon_deepslate": generateMissing('moon_deepslate', { + material: 'tfg:igneous_mafic', + tfcTag: 'tfc:igneous_intrusive_items', + gravelTag: 'tfg:moon_gravel', + sound: 'deepslate', + mapColor: 'terracotta_blue', + dimensions: ['ad_astra:moon', 'ad_astra:venus'], + support: 'tfg:norite_support', + pillar: 'tfg:rock/pillar_moon_deepslate', + raw: generateFormsExisting('moon_deepslate', 'tfg:rock/%s', { block: 'ad_astra:moon_deepslate' }), + cobble: generateForms('moon_deepslate', 'tfg:rock/cobble_%s', + generateForms('moon_deepslate', 'tfg:rock/mossy_cobble_%s')), + bricks: generateForms('moon_deepslate', 'tfg:rock/bricks_%s', + generateForms('moon_deepslate', 'tfg:rock/mossy_bricks_%s'), + generateForms('moon_deepslate', 'tfg:rock/cracked_bricks_%s')), + polished: generateForms('moon_deepslate', 'tfg:rock/polished_%s'), + chiseled: generateForms('moon_deepslate', 'tfg:rock/chiseled_bricks_%s') + }), + // Phonolite + "glacio_stone": generateMissing('glacio_stone', { + material: 'tfg:igneous_intermediate', + tfcTag: 'tfc:igneous_extrusive_items', + gravelTag: 'tfc:white_gravel', + sound: 'stone', + mapColor: 'terracotta_purple', + dimensions: ['ad_astra:moon'], + support: 'tfg:phonolite_support', + pillar: 'ad_astra:glacio_pillar', + gravel: 'tfg:rock/gravel_glacio', + raw: generateFormsExceptWall('glacio_stone', 'ad_astra:%s', 'tfg:rock/glacio_stone_wall'), + cobble: generateFormsExceptWall('glacio', 'ad_astra:%s_cobblestone', 'tfg:rock/cobble_glacio_wall', + generateForms('glacio', 'tfg:rock/mossy_cobble_%s')), + bricks: generateFormsExisting('glacio_stone', 'ad_astra:%s_brick', { block: 'ad_astra:glacio_stone_bricks' }, + generateForms('glacio', 'tfg:rock/mossy_bricks_%s'), + generateFormsExisting('glacio', 'tfg:rock/cracked_bricks_%s', { block: 'ad_astra:cracked_glacio_stone_bricks' })), + polished: generateFormsExceptWall('glacio_stone', 'ad_astra:polished_%s', 'tfg:rock/polished_glacio_wall'), + chiseled: { + block: 'ad_astra:chiseled_glacio_stone_bricks', + stair: 'ad_astra:chiseled_glacio_stone_stairs', + slab: 'ad_astra:chiseled_glacio_stone_slab', + wall: 'tfg:rock/chiseled_bricks_glacio_wall' + } + }), + // Suevite + "sky_stone": { + isTFC: false, + dimensions: ['ad_astra:moon'], + stonecutterTag: 'tfg:stone_types/suevite', + raw: generateFormsExisting('sky_stone', 'ae2:%s', { block: 'ae2:sky_stone_block' }), + polished: generateFormsExisting('sky_stone', 'ae2:smooth_%s', { block: 'ae2:smooth_sky_stone_block' }), + bricks: generateForms('sky_stone', 'ae2:%s_brick'), + chiseled: generateForms('sky_stone', 'ae2:%s_small_brick') + }, + "purpur": { + isTFC: false, + brick: 'minecraft:popped_chorus_fruit', + bricks: { + block: 'minecraft:purpur_block', + stair: 'minecraft:purpur_stairs', + slab: 'minecraft:purpur_slab' + }, + pillar: 'minecraft:purpur_pillar' + }, + + ///////////////////////////////////////////////////////////////////////////////////////////// + // MARS ROCKS + ///////////////////////////////////////////////////////////////////////////////////////////// + + // Argillite + "mars_stone": generateMissing('mars_stone', { + material: 'tfg:sedimentary_clastic', + tfcTag: 'tfc:sedimentary_items', + gravelTag: 'tfg:mars_gravel', + sound: 'stone', + mapColor: 'terracotta_orange', + dimensions: ['ad_astra:mars'], + support: 'tfg:argillite_support', + pillar: 'ad_astra:mars_pillar', + gravel: 'tfg:rock/gravel_mars', + raw: generateFormsExceptWall('mars_stone', 'ad_astra:%s', 'tfg:rock/mars_stone_wall'), + cobble: generateFormsExceptWall('mars', 'ad_astra:%s_cobblestone', 'tfg:rock/cobble_mars_wall', + generateForms('mars', 'tfg:rock/mossy_cobble_%s')), + bricks: generateFormsExisting('mars_stone', 'ad_astra:%s_brick', { block: 'ad_astra:mars_stone_bricks' }, + generateForms('mars', 'tfg:rock/mossy_bricks_%s'), + generateFormsExisting('mars', 'tfg:rock/cracked_bricks_%s', { block: 'ad_astra:cracked_mars_stone_bricks'})), + polished: generateFormsExceptWall('mars_stone', 'ad_astra:polished_%s', 'tfg:rock/polished_mars_wall'), + chiseled: { + block: 'ad_astra:chiseled_mars_stone_bricks', + stair: 'ad_astra:chiseled_mars_stone_stairs', + slab: 'ad_astra:chiseled_mars_stone_slab', + wall: 'tfg:rock/chiseled_bricks_mars_wall' + } + }), + // Trachyte + "venus_stone": generateMissing('venus_stone', { + material: 'tfg:igneous_felsic', + tfcTag: 'tfc:igneous_extrusive_items', + gravelTag: 'tfg:venus_gravel', + sound: 'stone', + mapColor: 'terracotta_yellow', + dimensions: ['ad_astra:mars', 'ad_astra:venus'], + support: 'tfg:trachyte_support', + pillar: 'ad_astra:venus_pillar', + gravel: 'tfg:rock/gravel_venus', + raw: generateFormsExceptWall('venus_stone', 'ad_astra:%s', 'tfg:rock/venus_stone_wall'), + cobble: generateFormsExceptWall('venus', 'ad_astra:%s_cobblestone', 'tfg:rock/cobble_venus_wall', + generateForms('venus', 'tfg:rock/mossy_cobble_%s')), + bricks: generateFormsExisting('venus_stone', 'ad_astra:%s_brick', { block: 'ad_astra:venus_stone_bricks' }, + generateForms('venus', 'tfg:rock/mossy_bricks_%s'), + generateFormsExisting('venus', 'tfg:rock/cracked_bricks_%s', { block: 'ad_astra:cracked_venus_stone_bricks' })), + polished: generateFormsExceptWall('venus_stone', 'ad_astra:polished_%s', 'tfg:rock/polished_venus_wall'), + chiseled: { + block: 'ad_astra:chiseled_venus_stone_bricks', + stair: 'ad_astra:chiseled_venus_stone_stairs', + slab: 'ad_astra:chiseled_venus_stone_slab', + wall: 'tfg:rock/chiseled_bricks_venus_wall' + } + }), + "red_granite": generateMissing('red_granite', { + material: 'tfg:igneous_felsic', + tfcTag: 'tfc:igneous_intrusive_items', + gravelTag: 'tfg:hematitic_gravel', + sound: 'stone', + mapColor: 'terracotta_red', + dimensions: ['ad_astra:mars', 'ad_astra:venus'], + support: 'tfg:red_granite_support', + raw: { + block: 'gtceu:red_granite', + stair: 'tfg:rock/red_granite_stair', + slab: 'tfg:rock/red_granite_slab', + wall: 'tfg:rock/red_granite_wall', + texture: 'gtceu:block/stones/red_granite/stone' + }, + cobble: generateFormsExisting('red_granite', 'tfg:rock/cobble_%s', { + block: 'gtceu:red_granite_cobblestone', + texture: 'gtceu:block/stones/red_granite/cobble', + mossy: generateFormsExisting('red_granite', 'tfg:rock/mossy_cobble_%s', { + block: 'gtceu:mossy_red_granite_cobblestone', + texture: 'gtceu:block/stones/red_granite/cobble_mossy' + }), + }), + bricks: generateFormsExisting('red_granite', 'tfg:rock/bricks_%s', { + block: 'gtceu:red_granite_bricks', + texture: 'gtceu:block/stones/red_granite/bricks', + mossy: generateFormsExisting('red_granite', 'tfg:rock/mossy_bricks_%s', { + block: 'gtceu:mossy_red_granite_bricks', + texture: 'gtceu:block/stones/red_granite/bricks_mossy' + }), + cracked: generateFormsExisting('red_granite', 'tfg:rock/cracked_bricks_%s', { + block: 'gtceu:cracked_red_granite_bricks', + texture: 'gtceu:block/stones/red_granite/bricks_cracked' + }) + }), + polished: generateFormsExisting('red_granite', 'tfg:rock/polished_%s', { + block: 'gtceu:polished_red_granite', + texture: 'gtceu:block/stones/red_granite/polished' + }), + chiseled: { block: 'gtceu:chiseled_red_granite' }, + stonecutting: [ + { block: 'gtceu:red_granite_tile' }, + { block: 'gtceu:red_granite_small_tile' }, + { block: 'gtceu:red_granite_windmill_a' }, + { block: 'gtceu:red_granite_windmill_b' }, + { block: 'gtceu:small_red_granite_bricks' }, + { block: 'gtceu:square_red_granite_bricks' } + ] + }), + + + ///////////////////////////////////////////////////////////////////////////////////////////// + // VENUS ROCKS + ///////////////////////////////////////////////////////////////////////////////////////////// + + //"geyserite": { + // material: organic, + // tfcTag: 'tfc:sedimentary', + // dimensions: ['ad_astra:venus'], + // raw: { block: 'tfg:rock/raw/geyserite' } + //}, + // Ignimbrite + "flavolite": generateMissing('flavolite', { + material: 'tfg:igneous_felsic', + tfcTag: 'tfc:igneous_extrusive_items', + sound: 'deepslate', + mapColor: 'sand', + gravelTag: 'tfc:yellow_gravel', + dimensions: ['ad_astra:venus'], + pillar: 'betterend:flavolite_pillar', + support: 'tfg:flavolite_support', + raw: generateFormsExisting('flavolite', 'tfg:rock/%s', { block: 'betterend:flavolite' }), + cobble: generateForms('flavolite', 'tfg:rock/cobble_%s'), + bricks: generateFormsExisting('flavolite', 'tfg:rock/bricks_%s', { block: 'betterend:flavolite_bricks' }), + polished: generateFormsExisting('flavolite', 'tfg:rock/polished_%s', { block: 'betterend:flavolite_polished' }), + chiseled: generateFormsExisting('flavolite', 'tfg:rock/chiseled_%s', { block: 'betterend:flavolite_tiles' }) + }), + // Lamproite + "sandy_jadestone": generateMissing('sandy_jadestone', { + material: 'tfg:igneous_ultramafic', + tfcTag: 'tfc:igneous_extrusive_items', + gravelTag: 'tfc:green_gravel', + sound: 'stone', + mapColor: 'grass', + dimensions: ['ad_astra:venus'], + pillar: 'betterend:sandy_jadestone_pillar', + support: 'tfg:lamproite_support', + raw: generateFormsExisting('sandy_jadestone', 'tfg:rock/%s', { block: 'betterend:sandy_jadestone' }), + cobble: generateForms('sandy_jadestone', 'tfg:rock/cobble_%s'), + bricks: generateFormsExisting('sandy_jadestone', 'tfg:rock/bricks_%s', { block: 'betterend:sandy_jadestone_bricks' }), + polished: generateFormsExisting('sandy_jadestone', 'tfg:rock/polished_%s', { block: 'betterend:sandy_jadestone_polished' }), + chiseled: generateFormsExisting('sandy_jadestone', 'tfg:rock/chiseled_%s', { block: 'betterend:sandy_jadestone_tiles' }) + }), + // Thermal Vent Deposit + "sulphuric_rock": { + material: 'tfg:igneous_mafic', + isTFC: false, + sound: 'dripstone_block', + mapColor: 'terracotta_light_gray', + tfcTag: 'tfc:igneous_extrusive_items', + stonecutterTag: 'tfg:stone_types/thermal_vent_deposit', + dimensions: ['ad_astra:venus'], + pillar: 'betterend:sulphuric_rock_pillar', + raw: { block: 'betterend:sulphuric_rock' }, + bricks: { block: 'betterend:sulphuric_rock_bricks' }, + polished: { block: 'betterend:sulphuric_rock_polished' }, + chiseled: { block: 'betterend:sulphuric_rock_tiles' } + }, + "scoria": generateMissing('scoria', { + material: 'tfg:igneous_mafic', + tfcTag: 'tfc:igneous_extrusive_items', + gravelTag: 'tfc:brown_gravel', + sound: 'stone', + mapColor: 'terracotta_brown', + dimensions: ['ad_astra:venus'], + pillar: 'create:scoria_pillar', + pillar2: 'create:layered_scoria', + raw: generateFormsExisting('scoria', 'tfg:rock/%s', { + block: 'create:scoria', + texture: 'create:block/palettes/stone_types/scoria' + }), + cobble: generateForms('scoria', 'tfg:rock/cobble_%s'), + bricks: generateFormsExisting('scoria', 'create:cut_%s_brick', { + block: 'create:cut_scoria_bricks', + texture: 'create:block/palettes/stone_types/brick/scoria_cut_brick' + }), + polished: generateForms('scoria', 'create:polished_cut_%s'), + stonecutting: [ + generateForms('scoria', 'create:cut_%s'), + generateFormsExisting('scoria', 'create:small_%s_brick', { block: 'create:small_scoria_bricks' }) + ] + }), + "scorchia": generateMissing('scorchia', { + material: 'tfg:igneous_mafic', + tfcTag: 'tfc:igneous_extrusive_items', + gravelTag: 'tfc:black_gravel', + sound: 'stone', + mapColor: 'terracotta_black', + dimensions: ['ad_astra:moon', 'ad_astra:mars', 'ad_astra:venus'], + pillar: 'create:scorchia_pillar', + pillar2: 'create:layered_scorchia', + raw: generateFormsExisting('scorchia', 'tfg:rock/%s', { + block: 'create:scorchia', + texture: 'create:block/palettes/stone_types/scorchia' + }), + cobble: generateForms('scorchia', 'tfg:rock/cobble_%s'), + bricks: generateFormsExisting('scorchia', 'create:cut_%s_brick', { + block: 'create:cut_scorchia_bricks', + texture: 'create:block/palettes/stone_types/brick/scorchia_cut_brick' + }), + polished: generateForms('scorchia', 'create:polished_cut_%s'), + stonecutting: [ + generateForms('scorchia', 'create:cut_%s'), + generateFormsExisting('scorchia', 'create:small_%s_brick', { block: 'create:small_scorchia_bricks' }) + ] + }), + // Mesa caprock + "caprock": { + material: 'tfg:sedimentary_clastic', + tfcTag: 'tfc:sedimentary_items', + isTFC: false, + dimensions: ['ad_astra:venus'], + raw: { block: 'ad_astra:conglomerate' }, + gravel: 'tfc:rock/gravel/conglomerate', + polished: { block: 'ad_astra:polished_conglomerate' } + }, + + ///////////////////////////////////////////////////////////////////////////////////////////// + // MERCURY ROCKS + ///////////////////////////////////////////////////////////////////////////////////////////// + + // Komatiite + "mercury_stone": generateMissing('mercury_stone', { + material: 'tfg:igneous_ultramafic', + tfcTag: 'tfc:igneous_intrusive_items', + gravelTag: 'tfc:white_gravel', + sound: 'stone', + mapColor: 'terracotta_purple', + dimensions: ['ad_astra:mercury'], + support: 'tfg:komatiite_support', + pillar: 'ad_astra:mercury_pillar', + gravel: 'tfg:rock/gravel_mercury', + raw: generateFormsExceptWall('mercury_stone', 'ad_astra:%s', 'tfg:rock/mercury_stone_wall'), + cobble: generateFormsExceptWall('mercury', 'ad_astra:%s_cobblestone', 'tfg:rock/cobble_mercury_wall', + generateForms('mercury', 'tfg:rock/mossy_cobble_%s')), + bricks: generateFormsExisting('mercury_stone', 'ad_astra:%s_brick', { block: 'ad_astra:mercury_stone_bricks' }, + generateForms('mercury', 'tfg:rock/mossy_bricks_%s'), + generateFormsExisting('mercury', 'tfg:rock/cracked_bricks_%s', { block: 'ad_astra:cracked_mercury_stone_bricks' })), + polished: generateFormsExceptWall('mercury_stone', 'ad_astra:polished_%s', 'tfg:rock/polished_mercury_wall'), + chiseled: { + block: 'ad_astra:chiseled_mercury_stone_bricks', + stair: 'ad_astra:chiseled_mercury_stone_stairs', + slab: 'ad_astra:chiseled_mercury_stone_slab', + wall: 'tfg:rock/chiseled_bricks_mercury_wall' + } + }), + + + ///////////////////////////////////////////////////////////////////////////////////////////// + // EUROPA ROCKS + ///////////////////////////////////////////////////////////////////////////////////////////// + + // do we want to rename this + "permafrost": generateMissing('permafrost', { + material: 'ice', + sound: 'stone', + mapColor: 'snow', + dimensions: ['ad_astra:glacio'], + support: 'tfg:permafrost_support', + pillar: 'ad_astra:permafrost_pillar', + raw: generateFormsExisting('permafrost', 'tfg:rock/%s', { block: 'ad_astra:permafrost' }), + cobble: generateFormsExisting('permafrost', 'tfg:rock/cobble_%s', { texture: 'ad_astra:block/permafrost_top' }, + generateForms('permafrost', 'tfg:rock/mossy_cobble_%s')), + bricks: generateFormsExisting('permafrost', 'ad_astra:%s_brick', { block: 'ad_astra:permafrost_bricks' }, + generateForms('permafrost', 'tfg:rock/mossy_bricks_%s'), + generateFormsExisting('permafrost', 'tfg:rock/cracked_bricks_%s', { block: 'ad_astra:cracked_permafrost_bricks' })), + polished: generateFormsExceptWall('permafrost', 'ad_astra:polished_%s', 'tfg:rock/polished_permafrost_wall'), + chiseled: { + block: 'ad_astra:chiseled_permafrost_bricks', + stair: 'ad_astra:chiseled_permafrost_brick_stairs', + slab: 'ad_astra:chiseled_permafrost_brick_slab', + wall: 'tfg:rock/chiseled_bricks_permafrost_wall' + }, + stonecutting: [ + { block: 'ad_astra:permafrost_tiles' } + ] + }), + + + ///////////////////////////////////////////////////////////////////////////////////////////// + // SYNTHETIC ROCKS + ///////////////////////////////////////////////////////////////////////////////////////////// + + "stone": { + material: 'stone', + sound: 'stone', + mapColor: 'stone', + support: 'tfg:stone_support', + brick: 'gtceu:stone_ingot', + aqueduct: 'tfg:rock/aqueduct_stone', + stonecutterTag: 'tfg:stone_types/reconstituted_stone', + raw: generateFormsExceptWall('stone', 'minecraft:%s', 'tfg:rock/stone_wall'), + cobble: generateForms('cobblestone', 'minecraft:%s', + generateForms('cobblestone', 'minecraft:mossy_%s')), + bricks: generateFormsExisting('stone', 'minecraft:%s_brick', { block: 'minecraft:stone_bricks' }, + generateFormsExisting('stone', 'minecraft:mossy_%s_brick', { block: 'minecraft:mossy_stone_bricks' }), + generateFormsExisting('stone', 'tfg:rock/cracked_bricks_%s', { block: 'minecraft:cracked_stone_bricks' })), + polished: { + block: 'minecraft:smooth_stone', + stair: 'tfg:rock/smooth_stone_stairs', + slab: 'minecraft:smooth_stone_slab', + wall: 'tfg:rock/smooth_stone_wall' + }, + chiseled: { block: 'minecraft:chiseled_stone_bricks' } + }, + "light_concrete": { + material: 'concrete', + sound: 'stone', + mapColor: 'color_light_gray', + support: 'tfg:light_concrete_support', + stonecutterTag: 'tfg:stone_types/light_concrete', + raw: { + block: 'gtceu:light_concrete', + texture: 'gtceu:block/stones/light_concrete/stone' + }, + cobble: { + block: 'gtceu:light_concrete_cobblestone', + mossy: { block: 'gtceu:mossy_light_concrete_cobblestone' } + }, + bricks: { + block: 'gtceu:light_concrete_bricks', + mossy: { block: 'gtceu:mossy_light_concrete_bricks' }, + cracked: { block: 'gtceu:cracked_light_concrete_bricks' } + }, + chiseled: { block: 'gtceu:chiseled_light_concrete' }, + polished: { block: 'gtceu:polished_light_concrete' }, + stonecutting: [ + { block: 'gtceu:light_concrete_tile' }, + { block: 'gtceu:light_concrete_small_tile' }, + { block: 'gtceu:light_concrete_windmill_a' }, + { block: 'gtceu:light_concrete_windmill_b' }, + { block: 'gtceu:small_light_concrete_bricks' }, + { block: 'gtceu:square_light_concrete_bricks' } + ] + }, + "dark_concrete": { + material: 'concrete', + sound: 'stone', + mapColor: 'color_gray', + support: 'tfg:dark_concrete_support', + stonecutterTag: 'tfg:stone_types/dark_concrete', + raw: { + block: 'gtceu:dark_concrete', + texture: 'gtceu:block/stones/dark_concrete/stone' + }, + cobble: { + block: 'gtceu:dark_concrete_cobblestone', + mossy: { block: 'gtceu:mossy_dark_concrete_cobblestone' } + }, + bricks: { + block: 'gtceu:dark_concrete_bricks', + mossy: { block: 'gtceu:mossy_dark_concrete_bricks' }, + cracked: { block: 'gtceu:cracked_dark_concrete_bricks' } + }, + chiseled: { block: 'gtceu:chiseled_dark_concrete' }, + polished: { block: 'gtceu:polished_dark_concrete' }, + stonecutting: [ + { block: 'gtceu:dark_concrete_tile' }, + { block: 'gtceu:dark_concrete_small_tile' }, + { block: 'gtceu:dark_concrete_windmill_a' }, + { block: 'gtceu:dark_concrete_windmill_b' }, + { block: 'gtceu:small_dark_concrete_bricks' }, + { block: 'gtceu:square_dark_concrete_bricks' } + ] + }, + "titanium_concrete": { + sound: 'stone', + stonecutterTag: 'tfg:stone_types/titanium_concrete', + raw: { block: 'tfg:titanium_concrete' }, + bricks: { block: 'tfg:titanium_concrete_bricks' }, + chiseled: { block: 'tfg:titanium_concrete_tile' }, + polished: { block: 'tfg:polished_titanium_concrete' }, + stonecutting: [ + { block: 'tfg:titanium_concrete_tile_small' }, + { block: 'tfg:titanium_concrete_bricks_small' }, + { block: 'tfg:titanium_concrete_bricks_square' } + ] + }, + "brick": { + material: 'brick', + sound: 'stone', + stonecutterTag: 'tfg:stone_types/red_bricks', + bricks: generateFormsExisting('brick', 'minecraft:%s', { block: 'minecraft:bricks' }, + generateFormsExisting('red_brick', 'createdeco:mossy_%s', { block: 'createdeco:mossy_red_bricks' }), + generateFormsExisting('red_brick', 'createdeco:cracked_%s', { block: 'createdeco:cracked_red_bricks' })), + polished: generateFormsExisting('red_brick', 'createdeco:corner_%s', { block: 'createdeco:corner_red_bricks' }), + stonecutting: [ + generateFormsExisting('red_brick', 'createdeco:short_%s', { block: 'createdeco:short_red_bricks' }), + generateFormsExisting('red_brick', 'createdeco:tiled_%s', { block: 'createdeco:tiled_red_bricks' }), + generateFormsExisting('red_brick', 'createdeco:long_%s', { block: 'createdeco:long_red_bricks' }) + ] + }, + + // TODO: vanilla clay bricks and create deco's colored ones + + ///////////////////////////////////////////////////////////////////////////////////////////// + // CREATE'S OTHER ROCKS + ///////////////////////////////////////////////////////////////////////////////////////////// + + "asurine": { + material: 'asurine', + dimensions: ['ad_astra:moon'], + pillar: 'create:asurine_pillar', + pillar2: 'create:layered_asurine', + stonecutterTag: 'create:stone_types/asurine', + raw: { block: 'create:asurine' }, + bricks: generateFormsExisting('asurine', 'create:cut_%s_brick', { block: 'create:cut_asurine_bricks' }), + polished: generateForms('asurine', 'create:polished_cut_%s'), + stonecutting: [ + generateForms('asurine', 'create:cut_%s'), + generateFormsExisting('asurine', 'create:small_%s_brick', { block: 'create:small_asurine_bricks' }) + ] + }, + "ochrum": { + material: 'ochrum', + dimensions: ['ad_astra:mars'], + pillar: 'create:ochrum_pillar', + pillar2: 'create:layered_ochrum', + stonecutterTag: 'create:stone_types/ochrum', + raw: { block: 'create:ochrum' }, + bricks: generateFormsExisting('ochrum', 'create:cut_%s_brick', { block: 'create:cut_ochrum_bricks' }), + polished: generateForms('ochrum', 'create:polished_cut_%s'), + stonecutting: [ + generateForms('ochrum', 'create:cut_%s'), + generateFormsExisting('ochrum', 'create:small_%s_brick', { block: 'create:small_ochrum_bricks' }) + ] + }, + "crimsite": { + material: 'crimsite', + dimensions: ['ad_astra:venus'], + pillar: 'create:crimsite_pillar', + pillar2: 'create:layered_crimsite', + stonecutterTag: 'create:stone_types/crimsite', + raw: { block: 'create:crimsite' }, + bricks: generateFormsExisting('crimsite', 'create:cut_%s_brick', { block: 'create:cut_crimsite_bricks' }), + polished: generateForms('crimsite', 'create:polished_cut_%s'), + stonecutting: [ + generateForms('crimsite', 'create:cut_%s'), + generateFormsExisting('crimsite', 'create:small_%s_brick', { block: 'create:small_crimsite_bricks' }) + ] + }, + "veridium": { + material: 'veridium', + dimensions: ['ad_astra:glacio'], + pillar: 'create:veridium_pillar', + pillar2: 'create:layered_veridium', + stonecutterTag: 'create:stone_types/veridium', + raw: { block: 'create:veridium' }, + bricks: generateFormsExisting('veridium', 'create:cut_%s_brick', { block: 'create:cut_veridium_bricks' }), + polished: generateForms('veridium', 'create:polished_cut_%s'), + stonecutting: [ + generateForms('veridium', 'create:cut_%s'), + generateFormsExisting('veridium', 'create:small_%s_brick', { block: 'create:small_veridium_bricks' }) + ] + } +}) + +global.CREATE_DECO_BRICK_TYPES.forEach(color => { + // handled above + if (color === "red") + return; + + global.BIG_ROCK_TABLE[`${color}_brick`] = { + material: 'brick', + sound: 'stone', + stonecutterTag: `tfg:stone_types/${color}_brick`, + bricks: generateFormsExisting(color, 'createdeco:%s_brick', { block: `createdeco:${color}_bricks` }, + generateFormsExisting(color, 'createdeco:mossy_%s_brick', { block: `createdeco:mossy_${color}_bricks` }), + generateFormsExisting(color, 'createdeco:cracked_%s_brick', { block: `createdeco:cracked_${color}_bricks` })), + polished: generateFormsExisting(color, 'createdeco:corner_%s_brick', { block: `createdeco:corner_${color}_bricks` }), + stonecutting: [ + generateFormsExisting(color, 'createdeco:short_%s_brick', { block: `createdeco:short_${color}_bricks` }), + generateFormsExisting(color, 'createdeco:tiled_%s_brick', { block: `createdeco:tiled_${color}_bricks` }), + generateFormsExisting(color, 'createdeco:long_%s_brick', { block: `createdeco:long_${color}_bricks` }) + ] + } +}); + +/* ROCKS: + +igneous: +mafic = rich in magnesium and iron +felsic = rich in feldspar and quartz + +sedimentary: +clastic = rich in quartz, feldspar, clay, mica +carbonate = calcium carbonate (calcite etc) +chemical = stuff like flint, halite, sylvite, gypsum +organic = coal basically + +potassium_feldspar = aluminium + silicate, with sodium, calcium, potassium, barium +biotite = a type of mica (potassium, magnesium, iron, aluminium, silicon, and a little fluorine) + +gabbro: intrusive igneous mafic +diorite: intrusive igneous intermediate +granite: intrusive igneous felsic + +basalt: extrusive igneous mafic +andesite: extrusive igneous intermediate +dacite: extrusive igneous intermediate +rhyolite: extrusive igneous felsic + +shale: sedimentary clastic +claystone: sedimentary clastic +cong: sedimentary clastic +limestone: sedimentary carbonate +dolomite: sedimentary carbonate +chalk: sedimentary carbonate +chert: sedimentary chemical? apparently it's similar to flint + +slate: metamorphic from sedimentary clastic +pyllite: metamorphic from sedimentary clastic +schist: metamorphic from slate, phyllite, or igneous intrusive +gneiss: metamorphic from slate, phyllite, or igneous intrusive +marble: metamorphic from sedimentary carbonate +quartzite: metamorphic from chert + +tuff: either IE or sedi depending on who you ask - might be ok to move to earth at some point. Either in the beneath or if we port 1.21 tfc worldgen +travertine: sedimentary carbonate +migmatite: metamorphic from slate, phyllite, or igneous intrusive +pyroxenite: intrusive igneous ultramafic +keratophyre:extrusive igneous intermediate +calcite: sedimentary carbonate +obsidian: extrusive igneous felsic + +suevite ? melted rock from meteor impacts +anorthosite intrusive igneous mafic +norite intrusive igneous mafic +phonolite extrusive igneous intermediate + +argillite sedimentary clastic +trachyte extrusive igneous felsic +red granite intrusive igneous felsic + +lamproite extrusive igneous ultramafic +ignimbrite either IE or meta depending on who you ask - mostly made of tuff + pumice/scoria +sulphuric_rock mafic +scoria extrusive igneous mafic +geyserite sedimentary chemical (mostly made of opal/silica) + +komatiite intrusive igneous ultramafic +permafrost ? not really a rock + +(unused) +syenite intrusive igneous felsic (opposite of trachyte) +diabase intrusive igneous mafic (apparently common on earth?) +perlite extrusive igneous felsic (hydrated obsidian, also used in ceramics?) +*/ \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/stone_types/items.rocks.js b/kubejs/startup_scripts/tfg/stone_types/items.rocks.js index 8cf86dbb8..bea3b62ef 100644 --- a/kubejs/startup_scripts/tfg/stone_types/items.rocks.js +++ b/kubejs/startup_scripts/tfg/stone_types/items.rocks.js @@ -2,42 +2,14 @@ function registerTFGRockItems(event) { - event.create('tfg:brick/deepslate') - .tag(`tfc:metamorphic_items`) - .translationKey('item.tfg.brick.deepslate') + for (let [rockId, rock] of Object.entries(global.BIG_ROCK_TABLE)) { - event.create('tfg:brick/dripstone') - .tag(`tfc:sedimentary_items`) - .translationKey('item.tfg.brick.dripstone') + if (rock.brick != null && rock.brick.startsWith('tfg:brick/')) { + let brickItem = event.create(rock.brick); - event.create('tfg:brick/moon_stone') - .tag(`tfc:igneous_intrusive_items`) - .translationKey('item.tfg.brick.moon_stone') - - event.create('tfg:brick/moon_deepslate') - .tag(`tfc:igneous_intrusive_items`) - .translationKey('item.tfg.moon_deepslate') - - event.create('tfg:brick/mars_stone') - .tag(`tfc:sedimentary_items`) - .translationKey('item.tfg.brick.mars_stone') - - event.create('tfg:brick/venus_stone') - .tag(`tfc:igneous_extrusive_items`) - .translationKey('item.tfg.brick.venus_stone') - - event.create('tfg:brick/mercury_stone') - .tag(`tfc:igneous_intrusive_items`) - .translationKey('item.tfg.brick.mercury_stone') - - event.create('tfg:brick/glacio_stone') - .tag(`tfc:igneous_extrusive_items`) - .translationKey('item.tfg.brick.glacio_stone') - - event.create('tfg:brick/permafrost') - .translationKey('item.tfg.brick.permafrost') - - event.create('tfg:brick/red_granite') - .tag(`tfc:igneous_intrusive_items`) - .translationKey('item.tfg.red_granite') + if (rock.tfcTag != null) { + brickItem.tag(rock.tfcTag) + } + } + } } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/stone_types/materials.rocks.js b/kubejs/startup_scripts/tfg/stone_types/materials.rocks.js index ee90eda0a..e5604e50b 100644 --- a/kubejs/startup_scripts/tfg/stone_types/materials.rocks.js +++ b/kubejs/startup_scripts/tfg/stone_types/materials.rocks.js @@ -2,42 +2,31 @@ "use strict"; const registerTFGRockMaterials = (event) => { - const registerStoneMaterial = (rockType, color) => - event.create(`tfg:${rockType}`) - .dust() - .color(color) - .iconSet(GTMaterialIconSet.ROUGH) - .flags( - GTMaterialFlags.MORTAR_GRINDABLE, - GTMaterialFlags.NO_SMASHING, - GTMaterialFlags.NO_SMELTING - ) - /* TFC Stone Types Materials */ - registerStoneMaterial('gabbro', 0x7F8081) - registerStoneMaterial('shale', 0x686567) - registerStoneMaterial('claystone', 0xAF9377) - registerStoneMaterial('limestone', 0xA09885) - registerStoneMaterial('conglomerate', 0xA3977F) - registerStoneMaterial('dolomite', 0x515155) - registerStoneMaterial('chert', 0x7A6756) - registerStoneMaterial('chalk', 0xA4A39F) - registerStoneMaterial('rhyolite', 0x726D69) - registerStoneMaterial('dacite', 0x979797) - registerStoneMaterial('slate', 0x989287) - registerStoneMaterial('phyllite', 0x706B61) - registerStoneMaterial('schist', 0x6E735C) - registerStoneMaterial('gneiss', 0x6A6D60) + // Specialized icon sets for TFC's own + modifyTFGIconSets(event) - registerStoneMaterial('dripstone', 0x927965) + const registerStoneMaterial = (rockType, color, components) => + event.create(`tfg:${rockType}`) + .color(color) + .dust() + .iconSet(GTMaterialIconSet.ROUGH) + .components(components) + .flags( + GTMaterialFlags.MORTAR_GRINDABLE, + GTMaterialFlags.NO_SMASHING, + GTMaterialFlags.NO_SMELTING, + GTMaterialFlags.DISABLE_DECOMPOSITION); - registerStoneMaterial('moon_stone', 0x506869) - registerStoneMaterial('moon_deepslate', 0x45474D) - registerStoneMaterial('mars_stone', 0xD08957) - registerStoneMaterial('venus_stone', 0xD5A664) - registerStoneMaterial('mercury_stone', 0x723E49) - registerStoneMaterial('glacio_stone', 0x9897BF) + // event.create() returns a material builder, not the actual material + registerStoneMaterial('sedimentary_clastic', 0xAF9377, ['quartzite', 'potassium_feldspar']); + registerStoneMaterial('sedimentary_carbonate', 0xADA67A, ['quartzite', 'calcite']); + registerStoneMaterial('sedimentary_organic', 0xA8706B, ['flint', 'unknown']); - // Specialized icon sets for TFC's own - modifyTFGIconSets(event) + registerStoneMaterial('metamorphic', 0x876981, ['marble', 'deepslate']); + + registerStoneMaterial('igneous_ultramafic', 0x45474D, ['blackstone']); + registerStoneMaterial('igneous_mafic', 0x525D6B, ['basalt']); + registerStoneMaterial('igneous_intermediate', 0x71818A, ['andesite']); + registerStoneMaterial('igneous_felsic', 0x97B2BF, ['granite_red']); } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfc/tag_prefixes.js b/kubejs/startup_scripts/tfg/stone_types/tag_prefixes.rocks.js similarity index 90% rename from kubejs/startup_scripts/tfc/tag_prefixes.js rename to kubejs/startup_scripts/tfg/stone_types/tag_prefixes.rocks.js index 8b864f8ac..81354e3ef 100644 --- a/kubejs/startup_scripts/tfc/tag_prefixes.js +++ b/kubejs/startup_scripts/tfg/stone_types/tag_prefixes.rocks.js @@ -1,10 +1,8 @@ // priority: 0 "use strict"; -const registerTFCTagPrefixes = (event) => { +const registerTFGRocksTagPrefixes = (event) => { - // These ores break worldgen if removed somehow? - // TagPrefix.ORES.remove(TagPrefix.ore) TagPrefix.ORES.remove(TagPrefix.oreTuff) TagPrefix.ORES.remove(TagPrefix.oreSand) TagPrefix.ORES.remove(TagPrefix.oreRedSand) @@ -13,24 +11,21 @@ const registerTFCTagPrefixes = (event) => { TagPrefix.ORES.remove(TagPrefix.oreEndstone) TagPrefix.ORES.remove(TagPrefix.oreNetherrack) TagPrefix.ORES.remove(TagPrefix.oreBlackstone) - TagPrefix.ORES.remove(TagPrefix.oreBasalt) TagPrefix.ORES.remove(TagPrefix.oreAndesite) TagPrefix.ORES.remove(TagPrefix.oreDiorite) TagPrefix.ORES.remove(TagPrefix.oreGranite) const shouldGenerateOre = (material) => { - return material.hasProperty(PropertyKey.ORE) && material !== GTMaterials.Plutonium239; + return material.hasProperty(PropertyKey.ORE); } global.TFC_STONE_TYPES.forEach(stoneTypeName => { - const material = GTCEuAPI.materialManager.getMaterial(stoneTypeName) event.create(`${stoneTypeName}`, 'ore') .stateSupplier(() => Block.getBlock('minecraft:stone').defaultBlockState()) .baseModelLocation(`tfc:block/rock/raw/${stoneTypeName}`) .unificationEnabled(true) - .materialSupplier(() => material) .materialIconType(GTMaterialIconType.ore) .generationCondition(shouldGenerateOre) @@ -48,7 +43,6 @@ const registerTFCTagPrefixes = (event) => { .unificationEnabled(true) .materialIconType(GTMaterialIconType.ore) .generationCondition(shouldGenerateOre) - .materialSupplier(() => GTMaterials.Blackstone) TFGHelpers.registerCobbleBlock('pyroxenite', 'tfg:rock/cobble_blackstone'); @@ -58,7 +52,6 @@ const registerTFCTagPrefixes = (event) => { .unificationEnabled(true) .materialIconType(GTMaterialIconType.ore) .generationCondition(shouldGenerateOre) - .materialSupplier(() => GTCEuAPI.materialManager.getMaterial('dripstone')) TFGHelpers.registerCobbleBlock('dripstone', 'tfg:rock/cobble_dripstone'); diff --git a/kubejs/startup_scripts/tfg/tag_prefixes.js b/kubejs/startup_scripts/tfg/tag_prefixes.js index d521ca895..695ed3041 100644 --- a/kubejs/startup_scripts/tfg/tag_prefixes.js +++ b/kubejs/startup_scripts/tfg/tag_prefixes.js @@ -3,6 +3,8 @@ function registerTFGTagPrefixes(event) { + registerTFGRocksTagPrefixes(event) + excludeAllGemsButNormal(GTMaterials.get('tfg:apt')); TagPrefix.block.setIgnored(GTMaterials.get('tfg:apt')); excludeAllGemsButNormal(GTMaterials.get('tfg:tetrafluoroethane')); diff --git a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js index c5fd668ca..0a7be13f0 100644 --- a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js +++ b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js @@ -242,14 +242,13 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .mapColor('gold') .box(3, 0, 3, 13, 6, 13) - const flavolite = [ 'flavolite', 'flavolite_bricks', 'flavolite_polished', 'flavolite_tiles' ]; - flavolite.forEach(f => { - event.create(`betterend:${f}`) - .soundType('deepslate') - .mapColor('sand') - .requiresTool(true) - .tagBlock('minecraft:mineable/pickaxe') - }) + + event.create(`betterend:flavolite`, 'tfc:raw_rock') + .soundType('deepslate') + .mapColor('sand') + .requiresTool(true) + .tagBlock('minecraft:mineable/pickaxe') + .naturallySupported(false) event.create(`betterend:flavolite_pillar`) .property(BlockProperties.AXIS) @@ -259,28 +258,36 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .requiresTool(true) .tagBlock('minecraft:mineable/pickaxe') - const jadestone = [ 'sandy_jadestone', 'sandy_jadestone_bricks', 'sandy_jadestone_polished', 'sandy_jadestone_tiles' ]; - jadestone.forEach(j => { - event.create(`betterend:${j}`) - .soundType('stone') - .mapColor('color_light_green') + const flavolite = [ 'flavolite_bricks', 'flavolite_polished', 'flavolite_tiles' ]; + flavolite.forEach(f => { + event.create(`betterend:${f}`) + .soundType('deepslate') + .mapColor('sand') .requiresTool(true) .tagBlock('minecraft:mineable/pickaxe') }) + + event.create(`betterend:sandy_jadestone`, 'tfc:raw_rock') + .soundType('stone') + .mapColor('grass') + .requiresTool(true) + .tagBlock('minecraft:mineable/pickaxe') + .naturallySupported(false) + event.create(`betterend:sandy_jadestone_pillar`) .property(BlockProperties.AXIS) .placementState((event) => event.set(BlockProperties.AXIS, event.clickedFace.axis)) .soundType('stone') - .mapColor('color_light_green') + .mapColor('grass') .requiresTool(true) .tagBlock('minecraft:mineable/pickaxe') - const sulphuric_rock = [ 'sulphuric_rock', 'sulphuric_rock_bricks', 'sulphuric_rock_polished', 'sulphuric_rock_tiles' ]; - sulphuric_rock.forEach(s => { - event.create(`betterend:${s}`) - .soundType('dripstone_block') - .mapColor('terracotta_light_gray') + const jadestone = [ 'sandy_jadestone_bricks', 'sandy_jadestone_polished', 'sandy_jadestone_tiles' ]; + jadestone.forEach(j => { + event.create(`betterend:${j}`) + .soundType('stone') + .mapColor('grass') .requiresTool(true) .tagBlock('minecraft:mineable/pickaxe') }) @@ -293,6 +300,15 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .requiresTool(true) .tagBlock('minecraft:mineable/pickaxe') + const sulphuric_rock = [ 'sulphuric_rock', 'sulphuric_rock_bricks', 'sulphuric_rock_polished', 'sulphuric_rock_tiles' ]; + sulphuric_rock.forEach(s => { + event.create(`betterend:${s}`) + .soundType('dripstone_block') + .mapColor('terracotta_light_gray') + .requiresTool(true) + .tagBlock('minecraft:mineable/pickaxe') + }) + // Plants event.create('betterend:hydralux_sapling', 'tfg:decorative_plant') From 46b74fb19b81c82869abf95c4b03c81b3e61dfec Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 19 Jan 2026 22:52:49 +0000 Subject: [PATCH 140/474] change fish machine to require EV circuits, move the quest --- CHANGELOG.md | 6 +++- .../quests/chapters/hv__high_voltage.snbt | 35 +++++++------------ .../tfg/aquaponics/recipes.pisciculture.js | 2 +- 3 files changed, 18 insertions(+), 25 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e5c07ddbc..d97545e1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,12 +4,13 @@ ### Breaking changes - The steam thermal centrifuge now requires a maintenance hatch. It also now requires 480mB steam per tick instead of 64mb, equivalent to how much 8 LV thermal centrifuges would use. It also now only takes 20 seconds instead of 30. It also now actually outputs byproducts like it was supposed to. @Pyritie - Single block steam generators are now more expensive to craft, so there isn't such a huge gap between steam, gas, and combustion generators @TomPlop +- The Electric Greenhouse multiblock has completely changed. It's significantly shorter and slightly narrower too. You can still grow the same things in it, but it no longer has Perfect Overclocking. Instead, it's stronger in LV but starts getting weaker in HV+. There's a new IV variant (Hydroponics Facility) which supports parallel hatches and can do any recipe on any planet. ### Performance improvements - Fixed the huge amount of lag from looking at lots of interconnected trees @Mqrius - Fixed tree chopping also stripping nearby trees of all their leaves (note that this will only also apply to earth trees and newly generated Mars trees, old Mars trees will have the old behaviour) @Mqrius - Fixed tree chopping not working on trees that had no leaves @Mqrius - Fixed tree chopping working on player-placed logs (yes, this means you can't place logs to chop down many trees at once any more) @Mqrius -- Fixed a huge amount of lag from TFC Ambiental @Mqrius +- Fixed a huge amount of lag from TFC Ambiental checking for nearby hot/cold sources @Mqrius ### Changes - Added tree index field guide entries for Earth and Mars (#2638) @Jeuvke - Added drinkable effects field guide entry (#2676) @FlightingFalcon @@ -40,6 +41,8 @@ - Vanilla ferns and large ferns now break into straw with a knife, so Beneath start is a bit less painful early on @Pyritie - Added shapeless pressure plate to button recipes (#2740) @Pyritie - Added some Beneath plants to the `#tfg:rubber_plants` tag (#2759) @Pyritie +- Cleaned up hanging sign recipes so they don't spam as much (#2733, #2771) @Inceitious +- Added recipes to change AE2 glass cables into covered/smart cables, and changed some recipes to require smart cables instead (#2756) @awfulworldkid ### Bug fixes - Fixed not being able to craft Paracetamol or Rad-Away @Pyritie - Fixed the missing dried fruit to yeast starter recipe (#2673) @Mqrius @@ -61,6 +64,7 @@ - Fixed a rendering issue with the lunchboxes when held @Thomasx0 - Fixed the cooling lunchbox not stacking empty cells correctly (#2475) @Thomasx0 - Fixed the lunchboxes not removing the "cooling" trait when items were removed with the number keys @Thomasx0 +- Digger helmet crafting now correctly consumes the cloth hat (#2770) @Inceitious ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare + @Maxiffon diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index 15446cbb0..183b2c32d 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -42,14 +42,16 @@ { id: "513464FBE4A87CB7" linked_quest: "3A2E442E4D84C891" - x: 2.5d + shape: "octagon" + size: 2.0d + x: 0.0d y: -10.0d } { id: "1B29194F9C306CFE" linked_quest: "36B9B5024356C53C" - x: 3.5d - y: -10.0d + x: 0.0d + y: -11.5d } ] quests: [ @@ -940,7 +942,7 @@ type: "item" }] title: "{quests.high_voltage.blue_alloy.title}" - x: 0.0d + x: 1.5d y: -9.0d } { @@ -1668,30 +1670,17 @@ type: "item" }] title: "{quests.gregtech_energy.reformate_gas.title}" - x: 5.0d - y: -10.0d + x: -1.5d + y: -11.5d } { - dependencies: ["7CC79617A4965F25"] + dependencies: ["6A451F43F3D7A671"] description: [ "{quests.high_voltage.pisciculture.desc.1}" "{@pagebreak}" "{quests.high_voltage.pisciculture.desc.2}" ] - icon: { - Count: 1 - ForgeCaps: { - "tfc:food": { - creationDate: -9223372036854775808L - traits: [ ] - } - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:food/tropical_fish" - } + icon: "minecraft:tropical_fish" id: "04ADA3B900F182A0" optional: true shape: "heart" @@ -1703,8 +1692,8 @@ type: "item" }] title: "{quests.high_voltage.pisciculture.title}" - x: 2.0d - y: 6.0d + x: -2.0d + y: -9.5d } ] subtitle: ["{quests.high_voltage.subtitle}"] diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js index ff4796d28..caa6b75c1 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js @@ -110,7 +110,7 @@ const registerTFGPiscicultureRecipes = (event) => { ], { A: 'gtceu:hv_machine_hull', B: 'tfg:machine_casing_aluminium_plated_steel', - C: '#gtceu:circuits/hv', + C: '#gtceu:circuits/ev', D: 'gtceu:stainless_steel_small_fluid_pipe', E: 'gtceu:hv_electric_pump', F: 'gtceu:fluid_filter' From c4cfcf4973dde7287ceab3edf65f3ef46fc21ed3 Mon Sep 17 00:00:00 2001 From: Redeix Date: Mon, 19 Jan 2026 16:54:56 -0600 Subject: [PATCH 141/474] pisciculture fishery quest update --- .../quests/chapters/hv__high_voltage.snbt | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index 15446cbb0..27c1881c2 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -1675,23 +1675,12 @@ dependencies: ["7CC79617A4965F25"] description: [ "{quests.high_voltage.pisciculture.desc.1}" + "" + "{image:tfg:textures/quests/pisciculture_fishery.png width:100 height:100 align:center}" "{@pagebreak}" "{quests.high_voltage.pisciculture.desc.2}" ] - icon: { - Count: 1 - ForgeCaps: { - "tfc:food": { - creationDate: -9223372036854775808L - traits: [ ] - } - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:food/tropical_fish" - } + icon: "tfc:bucket/tropical_fish" id: "04ADA3B900F182A0" optional: true shape: "heart" From 575ae44ce9c8536568cd497c2d0a31a853dd6371 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 19 Jan 2026 23:04:44 +0000 Subject: [PATCH 142/474] quest adjustments and fixes --- .../quests/chapters/hv__high_voltage.snbt | 34 +++++++------- .../quests/chapters/lv__low_voltage.snbt | 1 + .../quests/chapters/questssteam_age.snbt | 46 +++++++++++++++---- .../quests/chapters/queststfc_tips.snbt | 19 +++++++- 4 files changed, 74 insertions(+), 26 deletions(-) diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index 183b2c32d..098a2f631 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -11,13 +11,13 @@ id: "2583D0B64E51FAC8" linked_quest: "5063FDFFBE3E4855" x: 2.5d - y: -7.5d + y: -8.5d } { id: "308E11BE764398A1" linked_quest: "7C1FD81C5DCFB74E" x: -8.0d - y: -7.5d + y: -8.5d } { id: "33D3C2A9337335D2" @@ -45,13 +45,13 @@ shape: "octagon" size: 2.0d x: 0.0d - y: -10.0d + y: -11.0d } { id: "1B29194F9C306CFE" linked_quest: "36B9B5024356C53C" x: 0.0d - y: -11.5d + y: -13.0d } ] quests: [ @@ -355,7 +355,7 @@ }] title: "{quests.high_voltage.superconductors.title}" x: -8.0d - y: -10.0d + y: -11.0d } { dependencies: ["7E755297E9685374"] @@ -376,7 +376,7 @@ }] title: "{quests.high_voltage.nichrome_coils.title}" x: -6.5d - y: -10.0d + y: -11.0d } { dependencies: [ @@ -412,7 +412,7 @@ }] title: "{quests.high_voltage.vacuum_freezer.title}" x: -5.0d - y: -7.5d + y: -8.5d } { dependencies: ["124B32A0583A636A"] @@ -477,7 +477,7 @@ icon: "gtceu:cleanroom" id: "3568BC9742092FC5" shape: "octagon" - size: 2.0d + size: 1.5d subtitle: "{quests.high_voltage.cleanroom.subtitle}" tasks: [ { @@ -942,8 +942,8 @@ type: "item" }] title: "{quests.high_voltage.blue_alloy.title}" - x: 1.5d - y: -9.0d + x: 1.0d + y: -7.5d } { dependencies: [ @@ -954,8 +954,8 @@ description: ["{quests.high_voltage.ev_circuits.desc}"] icon: "gtceu:micro_processor_computer" id: "6A451F43F3D7A671" - shape: "square" - size: 1.0d + shape: "octagon" + size: 1.5d subtitle: "{quests.high_voltage.ev_circuits.subtitle}" tasks: [{ id: "01FE6BC2780D623B" @@ -964,7 +964,7 @@ }] title: "{quests.high_voltage.ev_circuits.title}" x: 0.0d - y: -7.5d + y: -8.5d } { description: [ @@ -999,7 +999,7 @@ }] title: "{quests.high_voltage.nichrome.title}" x: -5.0d - y: -10.0d + y: -11.0d } { dependencies: [ @@ -1671,7 +1671,7 @@ }] title: "{quests.gregtech_energy.reformate_gas.title}" x: -1.5d - y: -11.5d + y: -13.0d } { dependencies: ["6A451F43F3D7A671"] @@ -1692,8 +1692,8 @@ type: "item" }] title: "{quests.high_voltage.pisciculture.title}" - x: -2.0d - y: -9.5d + x: -2.25d + y: -11.0d } ] subtitle: ["{quests.high_voltage.subtitle}"] diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 5381cf8e0..60e1d570a 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -31,6 +31,7 @@ dependencies: ["2F7617C0C4B330DE"] description: ["{quests.low_voltage.lv_fluid_regulator.desc}"] id: "47D4545452F05E37" + optional: true shape: "square" size: 1.0d subtitle: "{quests.low_voltage.lv_fluid_regulator.subtitle}" diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt index c83057919..063f32332 100644 --- a/config/ftbquests/quests/chapters/questssteam_age.snbt +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -622,21 +622,25 @@ } { count: 3L + disable_toast: true id: "019C4D427A06DF0E" - item: { Count: 3, id: "gtceu:bronze_firebox_casing" } + item: "gtceu:bronze_firebox_casing" type: "item" } { + disable_toast: true id: "402700D6CCD2BEF1" item: "gtceu:steam_input_hatch" type: "item" } { + disable_toast: true id: "7B99996072C53AD9" item: "gtceu:steam_input_bus" type: "item" } { + disable_toast: true id: "6E4B41FDD286E184" item: "gtceu:steam_output_bus" type: "item" @@ -992,28 +996,33 @@ type: "item" } { + disable_toast: true id: "4EE63FDD07EC0467" item: "gtceu:steam_input_hatch" type: "item" } { + disable_toast: true id: "0C9D5C87DEC212D2" item: "gtceu:steam_input_bus" type: "item" } { + disable_toast: true id: "60828361A38F4E1E" item: "gtceu:steam_output_bus" type: "item" } { count: 8L + disable_toast: true id: "10EC49FF899232F6" item: "gtceu:steam_machine_casing" type: "item" } { count: 8L + disable_toast: true id: "27DDD13BE482E8A3" item: "gtceu:bronze_firebox_casing" type: "item" @@ -1565,21 +1574,25 @@ } { count: 22L + disable_toast: true id: "71D6716A2B985592" - item: { Count: 22, id: "gtceu:steam_machine_casing" } + item: "gtceu:steam_machine_casing" type: "item" } { + disable_toast: true id: "26D9013B4161E463" item: "gtceu:steam_input_hatch" type: "item" } { + disable_toast: true id: "7D354B529103D126" item: "gtceu:steam_input_bus" type: "item" } { + disable_toast: true id: "63B935735E346133" item: "gtceu:steam_output_bus" type: "item" @@ -1809,36 +1822,42 @@ type: "item" } { + disable_toast: true id: "5CC7BDBF599B405A" item: "gtceu:steam_input_hatch" type: "item" } { + disable_toast: true id: "4998CA4B8DDF6E02" item: "gtceu:steam_input_bus" type: "item" } { + disable_toast: true id: "31A69C679FC6F99A" item: "gtceu:steam_output_bus" type: "item" } { count: 12L + disable_toast: true id: "709D4C32D2F43ABD" item: "gtceu:steam_machine_casing" type: "item" } { count: 4L + disable_toast: true id: "559F1DA9AF2EC5C3" - item: { Count: 4, id: "gtceu:steel_machine_casing" } + item: "gtceu:steel_machine_casing" type: "item" } { count: 8L + disable_toast: true id: "769C82179FD4F75B" - item: { Count: 8, id: "create:metal_girder" } + item: "create:metal_girder" type: "item" } ] @@ -1861,30 +1880,35 @@ type: "item" } { + disable_toast: true id: "5496E814C911D5C1" item: "gtceu:steam_input_hatch" type: "item" } { + disable_toast: true id: "40181C28B6560C94" item: "gtceu:steam_output_bus" type: "item" } { + disable_toast: true id: "249376D261C69933" item: "gtceu:steam_input_bus" type: "item" } { count: 8L + disable_toast: true id: "790DDB716EAE9769" - item: { Count: 8, id: "gtceu:steam_machine_casing" } + item: "gtceu:steam_machine_casing" type: "item" } { count: 8L + disable_toast: true id: "266BA05C0A212C6C" - item: { Count: 8, id: "gtceu:bronze_firebox_casing" } + item: "gtceu:bronze_firebox_casing" type: "item" } ] @@ -1907,36 +1931,42 @@ type: "item" } { + disable_toast: true id: "3BBEAD3334C1E3D0" item: "gtceu:steam_input_hatch" type: "item" } { + disable_toast: true id: "6D8C5AA895D6DC15" item: "gtceu:steam_output_bus" type: "item" } { + disable_toast: true id: "0D2DC79ED3C74B1F" item: "gtceu:steam_input_bus" type: "item" } { count: 7L + disable_toast: true id: "4BDAA78AC3C92713" item: "gtceu:steam_machine_casing" type: "item" } { count: 3L + disable_toast: true id: "4DFE7CD587BFFAB9" - item: { Count: 3, id: "gtceu:bronze_machine_casing" } + item: "gtceu:bronze_machine_casing" type: "item" } { count: 6L + disable_toast: true id: "7C5983298F614109" - item: { Count: 6, id: "gtceu:steel_frame" } + item: "gtceu:steel_frame" type: "item" } ] diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index 7913c3f8a..7d9558338 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -675,6 +675,7 @@ { dependencies: ["4047EE998BC4CD03"] description: ["{quests.tfg_tips.get_milk.desc}"] + icon: "minecraft:milk_bucket" id: "3C7F170E065B60E1" subtitle: "{quests.tfg_tips.get_milk.subtitle}" tasks: [ @@ -684,7 +685,7 @@ Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "or(only_one(nbt(fuzzy:{fluid:{Amount:1000,FluidName:\"minecraft:milk\"}})item(minecraft:milk_bucket))only_one(nbt(fuzzy:{fluid:{Amount:1000,FluidName:\"firmalife:yak_milk\"}})item(firmalife:bucket/yak_milk))only_one(nbt(fuzzy:{fluid:{Amount:1000,FluidName:\"firmalife:goat_milk\"}})item(firmalife:bucket/goat_milk)))" + "ftbfiltersystem:filter": "or(item(minecraft:milk_bucket)item(firmalife:bucket/yak_milk)item(firmalife:bucket/goat_milk)item(tfc_gurman:ox_milk_bucket)item(tfc_gurman:sheep_milk_bucket)item(tfc_gurman:alpaca_milk_bucket))" } } optional_task: true @@ -827,6 +828,7 @@ ] dependency_requirement: "one_completed" description: ["{quests.tfg_tips.brine_something.desc}"] + icon: "tfc:bucket/brine" id: "71393B553550EA42" subtitle: "{quests.tfg_tips.brine_something.subtitle}" tasks: [ @@ -890,6 +892,7 @@ ] dependency_requirement: "one_completed" description: ["{quests.tfg_tips.pickle_something.desc}"] + icon: "tfc:bucket/vinegar" id: "060C84862C9BB9CE" subtitle: "{quests.tfg_tips.pickle_something.subtitle}" tasks: [ @@ -950,6 +953,7 @@ dependencies: ["52D944ADA884EFEF"] description: ["{quests.tfg_tips.dry_fruit.desc}"] guide_page: "tfc:field_guide tfc:firmalife/drying" + icon: "firmalife:drying_mat" id: "4417A395801DC4E5" subtitle: "{quests.tfg_tips.dry_fruit.subtitle}" tasks: [ @@ -995,6 +999,7 @@ { dependencies: ["52290DFBF39F0D07"] description: ["{quests.tfg_tips.salt_meat.desc}"] + icon: "tfc:powder/salt" id: "01CB939598271EC4" subtitle: "{quests.tfg_tips.salt_meat.subtitle}" tasks: [ @@ -1042,6 +1047,7 @@ dependency_requirement: "one_completed" description: ["{quests.tfg_tips.smoke_meat.desc}"] guide_page: "tfc:field_guide tfc:firmalife/smoking" + icon: "tfc:wool_yarn" id: "1FC019B45383695E" subtitle: "{quests.tfg_tips.smoke_meat.subtitle}" tasks: [ @@ -1091,6 +1097,7 @@ ] dependency_requirement: "one_completed" description: ["{quests.tfg_tips.cook_meat.desc}"] + icon: "firmalife:cured_oven_top" id: "5335969963D0A6CC" subtitle: "{quests.tfg_tips.cook_meat.subtitle}" tasks: [ @@ -1174,6 +1181,16 @@ { dependencies: ["0FCB88A64D3FBF0F"] description: ["{quests.tfg_tips.smoke_cheese.desc}"] + icon: { + Count: 1 + ForgeCaps: { + "tfc:food": { + creationDate: 53316000L + traits: [ ] + } + } + id: "ad_astra:cheese" + } id: "6FF80B0E333D2F14" subtitle: "{quests.tfg_tips.smoke_cheese.subtitle}" tasks: [ From f554ad64e723974ca70970222ecf5e6095ed388d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 19 Jan 2026 23:07:17 +0000 Subject: [PATCH 143/474] langs --- kubejs/assets/ad_astra/lang/en_us.json | 2 +- .../additionalplacements/lang/ru_ru.json | 11 + .../ae2insertexportcard/lang/ru_ru.json | 8 + kubejs/assets/arthropocolypse/lang/uk_ua.json | 84 ++-- kubejs/assets/betterend/lang/ru_ru.json | 22 + kubejs/assets/betterend/lang/uk_ua.json | 20 +- .../assets/buildinggadgets2/lang/ru_ru.json | 116 +++++ kubejs/assets/comforts/lang/ru_ru.json | 9 + kubejs/assets/framedblocks/lang/ru_ru.json | 428 ++++++++++++++++++ kubejs/assets/grapplemod/lang/ru_ru.json | 144 ++++++ kubejs/assets/gtceu/lang/en_us.json | 99 ++-- kubejs/assets/gtceu/lang/es_es.json | 265 +++++++++++ kubejs/assets/gtceu/lang/ja_jp.json | 5 - kubejs/assets/gtceu/lang/ru_ru.json | 9 +- kubejs/assets/gtceu/lang/uk_ua.json | 4 + kubejs/assets/gtceu/lang/zh_cn.json | 99 ++-- .../assets/immersive_aircraft/lang/ru_ru.json | 6 +- kubejs/assets/minecraft/lang/en_gb.json | 2 + kubejs/assets/minecraft/lang/en_us.json | 1 + kubejs/assets/morered/lang/ru_ru.json | 54 +++ kubejs/assets/sandworm_mod/lang/zh_cn.json | 5 +- kubejs/assets/simplylight/lang/ru_ru.json | 101 +++++ kubejs/assets/tfc/lang/en_us.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 10 +- .../entries/tfg_ores/earth_vein_index.json | 10 +- .../entries/tfg_ores/mars_ore_index.json | 8 +- .../entries/tfg_ores/mars_vein_index.json | 6 +- .../entries/tfg_ores/moon_ore_index.json | 2 +- .../entries/tfg_ores/moon_vein_index.json | 4 +- .../entries/tfg_ores/nether_ore_index.json | 2 +- .../entries/tfg_ores/nether_vein_index.json | 4 +- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/venus_vein_index.json | 4 +- .../entries/tfg_ores/earth_ore_index.json | 10 +- .../entries/tfg_ores/earth_vein_index.json | 10 +- .../entries/tfg_ores/mars_ore_index.json | 8 +- .../entries/tfg_ores/mars_vein_index.json | 6 +- .../entries/tfg_ores/moon_ore_index.json | 2 +- .../entries/tfg_ores/moon_vein_index.json | 4 +- .../entries/tfg_ores/nether_ore_index.json | 2 +- .../entries/tfg_ores/nether_vein_index.json | 4 +- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/venus_vein_index.json | 4 +- .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 2 +- .../entries/tfg_ores/mars_ore_index.json | 2 +- .../entries/tfg_ores/mars_vein_index.json | 2 +- .../entries/tfg_ores/moon_ore_index.json | 2 +- .../entries/tfg_ores/moon_vein_index.json | 2 +- .../entries/tfg_ores/nether_ore_index.json | 2 +- .../entries/tfg_ores/nether_vein_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 10 +- .../entries/tfg_ores/earth_vein_index.json | 4 +- .../entries/tfg_ores/mars_ore_index.json | 8 +- .../entries/tfg_ores/mars_vein_index.json | 2 +- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/venus_vein_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 10 +- .../entries/tfg_ores/earth_vein_index.json | 4 +- .../entries/tfg_ores/mars_ore_index.json | 8 +- .../entries/tfg_ores/mars_vein_index.json | 2 +- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/venus_vein_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 6 +- .../entries/tfg_ores/earth_vein_index.json | 4 +- .../entries/tfg_ores/mars_ore_index.json | 4 +- .../entries/tfg_ores/mars_vein_index.json | 2 +- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/venus_vein_index.json | 2 +- kubejs/assets/tfcastikorcarts/lang/ru_ru.json | 9 +- kubejs/assets/tfcgroomer/lang/en_gb.json | 12 + kubejs/assets/tfcscraping/lang/ru_ru.json | 24 + kubejs/assets/tfg/lang/en_us.json | 95 +++- kubejs/assets/tfg/lang/fr_fr.json | 6 +- kubejs/assets/tfg/lang/ru_ru.json | 42 +- kubejs/assets/tfg/lang/uk_ua.json | 229 ++++++---- kubejs/assets/tfg/lang/zh_cn.json | 30 +- 77 files changed, 1746 insertions(+), 393 deletions(-) create mode 100644 kubejs/assets/additionalplacements/lang/ru_ru.json create mode 100644 kubejs/assets/ae2insertexportcard/lang/ru_ru.json create mode 100644 kubejs/assets/buildinggadgets2/lang/ru_ru.json create mode 100644 kubejs/assets/comforts/lang/ru_ru.json create mode 100644 kubejs/assets/framedblocks/lang/ru_ru.json create mode 100644 kubejs/assets/grapplemod/lang/ru_ru.json create mode 100644 kubejs/assets/gtceu/lang/es_es.json create mode 100644 kubejs/assets/morered/lang/ru_ru.json create mode 100644 kubejs/assets/simplylight/lang/ru_ru.json create mode 100644 kubejs/assets/tfcgroomer/lang/en_gb.json create mode 100644 kubejs/assets/tfcscraping/lang/ru_ru.json diff --git a/kubejs/assets/ad_astra/lang/en_us.json b/kubejs/assets/ad_astra/lang/en_us.json index 761d75ef6..27474eedc 100644 --- a/kubejs/assets/ad_astra/lang/en_us.json +++ b/kubejs/assets/ad_astra/lang/en_us.json @@ -2,7 +2,7 @@ "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.ad_astra.oxygen_distributor": "Breathable Air Distributor", "block.ad_astra.infernal_spire_block": "Infernal Spire", - "block.ad_astra.moon_sand": "Lunar Sand", + "block.ad_astra.moon_sand": "Gray Sand", "block.ad_astra.moon_stone": "Raw Anorthosite", "block.ad_astra.moon_cobblestone": "Anorthosite Cobble", "block.ad_astra.moon_cobblestone_slab": "Anorthosite Cobble Slab", diff --git a/kubejs/assets/additionalplacements/lang/ru_ru.json b/kubejs/assets/additionalplacements/lang/ru_ru.json new file mode 100644 index 000000000..666899f87 --- /dev/null +++ b/kubejs/assets/additionalplacements/lang/ru_ru.json @@ -0,0 +1,11 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "tooltip.additionalplacements.vertical_placement": "Может быть размещена вертикально", + "tooltip.additionalplacements.stair_connections.all_connections": "Позволяет вертикально-горизонтальные соединения (относительно места размещения)", + "tooltip.additionalplacements.stair_connections.no_mixed_connections": "Позволяет вертикальные соединения (относительно места размещения)", + "tooltip.additionalplacements.stair_connections.no_vertical_connections": "Не позволяет вертикальные соединения (относительно места размещения)", + "tooltip.additionalplacements.ceiling_placement": "Может быть размещена на потолок", + "key.additionalplacements.placement_toggle": "Переключить логика размещения", + "msg.additionalplacements.placement_enable": "Дополнительная логика размещения включена", + "msg.additionalplacements.placement_disable": "Дополнительная логика размещения выключена" +} \ No newline at end of file diff --git a/kubejs/assets/ae2insertexportcard/lang/ru_ru.json b/kubejs/assets/ae2insertexportcard/lang/ru_ru.json new file mode 100644 index 000000000..75462941e --- /dev/null +++ b/kubejs/assets/ae2insertexportcard/lang/ru_ru.json @@ -0,0 +1,8 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "itemGroup.ae2insertexportcard": "AE2 Insert Export Card", + "item.ae2insertexportcard.insert_card": "Карта импорта", + "item.ae2insertexportcard.export_card": "Карта экспорта", + "gui.ae2insertexportcard.whitelist": "Белый список", + "gui.ae2insertexportcard.blacklist": "Чёрный список" +} \ No newline at end of file diff --git a/kubejs/assets/arthropocolypse/lang/uk_ua.json b/kubejs/assets/arthropocolypse/lang/uk_ua.json index 02d25a5ae..5fd3299ce 100644 --- a/kubejs/assets/arthropocolypse/lang/uk_ua.json +++ b/kubejs/assets/arthropocolypse/lang/uk_ua.json @@ -1,45 +1,45 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "block.arthropocolypse.beetle_fragment_block": "Chitin Block", - "block.arthropocolypse.beetle_fragment_block_bricks": "Chitin Bricks", - "block.arthropocolypse.chiseled_beetle_fragment_block": "Chiseled Chitin Block", - "block.arthropocolypse.polished_beetle_fragment_block": "Polished Chitin Block", - "block.arthropocolypse.tiled_beetle_fragment_block": "Tiled Chitin Block", - "block.arthropocolypse.beetle_fragment_block_stairs": "Chitin Block Stairs", - "block.arthropocolypse.beetle_fragment_block_bricks_stairs": "Chitin Bricks Stairs", - "block.arthropocolypse.polished_beetle_fragment_block_stairs": "Polished Chitin Stairs", - "block.arthropocolypse.tiled_beetle_fragment_block_stairs": "Tiled Chitin Stairs", - "block.arthropocolypse.beetle_fragment_block_slab": "Chitin Block Slab", - "block.arthropocolypse.beetle_fragment_block_bricks_slab": "Chitin Bricks Slab", - "block.arthropocolypse.polished_beetle_fragment_block_slab": "Polished Chitin Slab", - "block.arthropocolypse.tiled_beetle_fragment_block_slab": "Tiled Chitin Slab", - "block.arthropocolypse.beetle_fragment_block_wall": "Chitin Block Wall", - "block.arthropocolypse.beetle_fragment_block_bricks_wall": "Chitin Bricks Wall", - "block.arthropocolypse.polished_beetle_fragment_block_wall": "Polished Chitin Wall", - "block.arthropocolypse.tiled_beetle_fragment_block_wall": "Tiled Chitin Wall", - "entity.arthropocolypse.scarab": "Behemoth Mongolarachne Larva", - "entity.arthropocolypse.prairie_grasshopper": "Giant Cimbrophlebia Hopper", - "entity.arthropocolypse.field_cricket": "Glisachaemus Salthopper", - "entity.arthropocolypse.ice_crawler": "Obsidian Paleophaedon Beetle", - "entity.arthropocolypse.behemoth_desert_spider": "Behemoth Mongolarachne Queen", - "entity.arthropocolypse.behemoth_desert_scorpion": "Royal Guard Liassoscorpionides", - "entity.arthropocolypse.worker_ant": "Worker Formicium Ant", - "entity.arthropocolypse.soldier_ant": "Soldier Formicium Ant", - "entity.arthropocolypse.stag_beetle": "Horned Protognathinus Beetle", - "entity.arthropocolypse.stag_beetle_larva": "Horned Protognathinus Beetle Larva", - "entity.arthropocolypse.wharf_roach": "Arostropsis Weevil", - "entity.arthropocolypse.platerodrilus": "Bulwark Platerodrilus Beetle", - "entity.arthropocolypse.mealworm_beetle": "Manobiomorpha Flea Beetle", - "entity.arthropocolypse.mealworm": "Manobiomorpha Flea Beetle Larva", - "entity.arthropocolypse.millipede_head": "Assassin Chilognatha Millipede", - "item.arthropocolypse.scarab": "Behemoth Mongolarachne Larva", - "item.arthropocolypse.field_cricket_egg": "Glisachaemus Salthopper Egg", - "item.arthropocolypse.stag_beetle_egg": "Horned Protognathinus Beetle Egg", - "item.arthropocolypse.stag_beetle_larva": "Horned Protognathinus Beetle Larva", - "item.arthropocolypse.mealworm_egg": "Manobiomorpha Flea Beetle Egg", - "item.arthropocolypse.mealworm": "Manobiomorpha Flea Beetle Larva", - "item.arthropocolypse.ice_crawler_meat": "Raw Obsidian Paleophaedon Beetle", - "item.arthropocolypse.cooked_ice_crawler_meat": "Cooked Obsidian Paleophaedon Beetle", - "item.arthropocolypse.energy_bar": "Bug Snacks", - "item.arthropocolypse.beetle_fragment": "Chitin Fragment" + "block.arthropocolypse.beetle_fragment_block": "Блок хітину", + "block.arthropocolypse.beetle_fragment_block_bricks": "Цегла з хітину", + "block.arthropocolypse.chiseled_beetle_fragment_block": "Різьблений блок хітину", + "block.arthropocolypse.polished_beetle_fragment_block": "Полірований блок хітину", + "block.arthropocolypse.tiled_beetle_fragment_block": "Плитковий блок хітину", + "block.arthropocolypse.beetle_fragment_block_stairs": "Сходи з хітинового блоку", + "block.arthropocolypse.beetle_fragment_block_bricks_stairs": "Сходи з хітинової цегли", + "block.arthropocolypse.polished_beetle_fragment_block_stairs": "Сходи з полірованого хітину", + "block.arthropocolypse.tiled_beetle_fragment_block_stairs": "Сходи з плиткового хітину", + "block.arthropocolypse.beetle_fragment_block_slab": "Плита з хітинового блоку", + "block.arthropocolypse.beetle_fragment_block_bricks_slab": "Плита з хітинової цегли", + "block.arthropocolypse.polished_beetle_fragment_block_slab": "Плита з полірованого хітину", + "block.arthropocolypse.tiled_beetle_fragment_block_slab": "Плита з плиткового хітину", + "block.arthropocolypse.beetle_fragment_block_wall": "Стіна з хітинового блоку", + "block.arthropocolypse.beetle_fragment_block_bricks_wall": "Стіна з хітинової цегли", + "block.arthropocolypse.polished_beetle_fragment_block_wall": "Стіна з полірованого хітину", + "block.arthropocolypse.tiled_beetle_fragment_block_wall": "Стіна з плиткового хітину", + "entity.arthropocolypse.scarab": "Личинка монгольської арахніди-бегемота", + "entity.arthropocolypse.prairie_grasshopper": "Гігантський скімброфлебій-стрибунець", + "entity.arthropocolypse.field_cricket": "Глісахемус-сольовий стрибунець", + "entity.arthropocolypse.ice_crawler": "Жук обсидіановий палеофедон", + "entity.arthropocolypse.behemoth_desert_spider": "Королева монгольської арахніди-бегемота", + "entity.arthropocolypse.behemoth_desert_scorpion": "Королівський гвардієць ліасоскорпіонід", + "entity.arthropocolypse.worker_ant": "Робочий мурашка форміція", + "entity.arthropocolypse.soldier_ant": "Солдат мурашки форміція", + "entity.arthropocolypse.stag_beetle": "Рогатий жук протогнатінус", + "entity.arthropocolypse.stag_beetle_larva": "Личинка рогатого жука протогнатінуса", + "entity.arthropocolypse.wharf_roach": "Довгоносик аростропсіс", + "entity.arthropocolypse.platerodrilus": "Жук платеродрилюс бастіон", + "entity.arthropocolypse.mealworm_beetle": "Блішиний жук манобіоморфа", + "entity.arthropocolypse.mealworm": "Личинка блішиного жука манобіоморфа", + "entity.arthropocolypse.millipede_head": "Сороконіжка хілогната вбивця", + "item.arthropocolypse.scarab": "Личинка монгольської арахніди-бегемота", + "item.arthropocolypse.field_cricket_egg": "Яйце глісахемуса-сольового стрибунця", + "item.arthropocolypse.stag_beetle_egg": "Яйце рогатого жука протогнатінуса", + "item.arthropocolypse.stag_beetle_larva": "Личинка рогатого жука протогнатінуса", + "item.arthropocolypse.mealworm_egg": "Яйце блішиного жука манобіоморфа", + "item.arthropocolypse.mealworm": "Личинка блішиного жука манобіоморфа", + "item.arthropocolypse.ice_crawler_meat": "Сирий жук обсидіановий палеофедон", + "item.arthropocolypse.cooked_ice_crawler_meat": "Приготований жук обсидіановий палеофедон", + "item.arthropocolypse.energy_bar": "Комахи смаколики", + "item.arthropocolypse.beetle_fragment": "Фрагмент хітину" } \ No newline at end of file diff --git a/kubejs/assets/betterend/lang/ru_ru.json b/kubejs/assets/betterend/lang/ru_ru.json index 144183629..b56d2b477 100644 --- a/kubejs/assets/betterend/lang/ru_ru.json +++ b/kubejs/assets/betterend/lang/ru_ru.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,14 +46,21 @@ "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_small": "Гидралюкс", "block.betterend.hydralux_large": "Гидралюкс", "block.betterend.hydralux_sapling": "Отросток гидралюкса", "block.betterend.inflexia": "Инфлексия", "block.betterend.lacugrove": "Водоросли озёрного мангра", + "block.betterend.lacugrove_bark": "Адакит", "block.betterend.lamellarium": "Ламеллариум", "block.betterend.lanceleaf": "Ланцелист", "block.betterend.lanceleaf_small": "Кинжал ланцелиста", @@ -60,6 +68,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": "Мох нокс", @@ -69,11 +78,24 @@ "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.shadow_plant": "Почерневшая пепельная трава", "block.betterend.small_amaranita_mushroom": "Маленький гриб амаранит", + "block.betterend.sulphur_crystal": "Серные кристаллы", + "block.betterend.sulphuric_rock": "Thermal Vent Deposit", + "block.betterend.sulphuric_rock_bricks": "Thermal Vent Deposit Bricks", + "block.betterend.sulphuric_rock_pillar": "Thermal Vent Deposit Pillar", + "block.betterend.sulphuric_rock_polished": "Polished Thermal Vent Deposit", + "block.betterend.sulphuric_rock_tiles": "Thermal Vent Deposit 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/betterend/lang/uk_ua.json b/kubejs/assets/betterend/lang/uk_ua.json index 22b44a873..12dc9b17a 100644 --- a/kubejs/assets/betterend/lang/uk_ua.json +++ b/kubejs/assets/betterend/lang/uk_ua.json @@ -46,11 +46,11 @@ "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.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": "Глобулагус", @@ -90,11 +90,11 @@ "block.betterend.shadow_plant": "Почорнілий яснотрав", "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.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": "Химерний парасольковий мох", diff --git a/kubejs/assets/buildinggadgets2/lang/ru_ru.json b/kubejs/assets/buildinggadgets2/lang/ru_ru.json new file mode 100644 index 000000000..dc82296e0 --- /dev/null +++ b/kubejs/assets/buildinggadgets2/lang/ru_ru.json @@ -0,0 +1,116 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.buildinggadgets2.render_block": "Служебный блок рендера (НЕ ИСПОЛЬЗОВАТЬ)", + "block.buildinggadgets2.template_manager": "Менеджер шаблонов", + "buildinggadgets2.book.landing_text": "Строить стало проще! (Даже если Грег опять требует EU.)", + "buildinggadgets2.book.name": "Гаджеты для чайников", + "buildinggadgets2.buttons.copy": "Копирование", + "buildinggadgets2.buttons.load": "Загрузить", + "buildinggadgets2.buttons.materials": "Материалы", + "buildinggadgets2.buttons.paste": "Вставка", + "buildinggadgets2.buttons.render": "Режим рендера", + "buildinggadgets2.buttons.save": "Сохранить", + "buildinggadgets2.fade": "Затухание", + "buildinggadgets2.grow": "Расширение области", + "buildinggadgets2.growup": "Расширение вверх", + "buildinggadgets2.gui.range": "Рабочий радиус", + "buildinggadgets2.keymapping.mode-switch": "Смена режима гаджета", + "buildinggadgets2.messages.anchorcleared": "Якорь сброшен", + "buildinggadgets2.messages.anchorset": "Якорь установлен: ", + "buildinggadgets2.messages.areatoolarge": "Превышен допустимый размер области. Максимум: %d. Текущий: %d", + "buildinggadgets2.messages.bindfailed": "Ошибка привязки: недопустимый блок", + "buildinggadgets2.messages.bindremoved": "Привязка удалена", + "buildinggadgets2.messages.bindsuccess": "Инвентарь привязан к: %s", + "buildinggadgets2.messages.copyblocks": "Скопировано блоков: %d", + "buildinggadgets2.messages.copycoordsfailed": "Ошибка копирования координат", + "buildinggadgets2.messages.cutblocks": "Вырезано блоков: %d", + "buildinggadgets2.messages.cutinprogress": "Операция вырезания выполняется", + "buildinggadgets2.messages.invalidblock": "Недопустимый блок", + "buildinggadgets2.messages.namealreadyexists": "Указанное имя уже используется", + "buildinggadgets2.messages.namerequired": "Для редпринта требуется имя", + "buildinggadgets2.messages.notenoughenergy": "Недостаточно EU для выполнения операции. Требуется: %d EU. Доступно: %d EU", + "buildinggadgets2.messages.outofpower": "Энергия гаджета исчерпана", + "buildinggadgets2.messages.overwritecut": "В гаджете уже сохранены данные. Повторное действие перезапишет их", + "buildinggadgets2.messages.range_set": "Рабочий радиус установлен: %d", + "buildinggadgets2.messages.redprintgivefail": "Не удалось выдать редпринт %s игроку %s", + "buildinggadgets2.messages.redprintremovefail": "Ошибка удаления редпринта: %s", + "buildinggadgets2.messages.redprintremovesuccess": "Редпринт удалён: %s", + "buildinggadgets2.messages.relativepaste": "Относительная вставка: [%s]", + "buildinggadgets2.messages.render_set": "Тип рендера установлен: %s", + "buildinggadgets2.messages.undofailedunloaded": "Отмена невозможна: чанки не загружены: %s", + "buildinggadgets2.modes.build_to_me": "Построение к игроку", + "buildinggadgets2.modes.copy": "Режим копирования", + "buildinggadgets2.modes.cut": "Режим вырезания", + "buildinggadgets2.modes.grid": "Сеточный режим", + "buildinggadgets2.modes.horizontal_row": "Горизонтальный ряд", + "buildinggadgets2.modes.horizontal_wall": "Горизонтальная стена", + "buildinggadgets2.modes.paste": "Режим вставки", + "buildinggadgets2.modes.stairs": "Лестничный режим", + "buildinggadgets2.modes.surface": "Режим поверхности", + "buildinggadgets2.modes.vertical_column": "Вертикальная колонна", + "buildinggadgets2.modes.vertical_wall": "Вертикальная стена", + "buildinggadgets2.radialmenu.anchor": "Якорь", + "buildinggadgets2.radialmenu.bind": "Привязка инвентаря", + "buildinggadgets2.radialmenu.connected_area": "Связанная область", + "buildinggadgets2.radialmenu.copypastemenu": "Меню параметров", + "buildinggadgets2.radialmenu.cut": "Вырезание", + "buildinggadgets2.radialmenu.fuzzy": "Нечёткое сопоставление", + "buildinggadgets2.radialmenu.materiallist": "Список материалов", + "buildinggadgets2.radialmenu.raytracefluids": "Учитывать жидкости", + "buildinggadgets2.radialmenu.rotate": "Поворот", + "buildinggadgets2.radialmenu.undo": "Отмена операции", + "buildinggadgets2.riseup": "Подъём", + "buildinggadgets2.screen.absolutecoords": "Абсолютные координаты", + "buildinggadgets2.screen.affecttiles": "Обрабатывать блок-сущности", + "buildinggadgets2.screen.cancel": "Отмена", + "buildinggadgets2.screen.clear": "Очистить", + "buildinggadgets2.screen.close": "Закрыть", + "buildinggadgets2.screen.confirm": "Подтвердить", + "buildinggadgets2.screen.copyheading": "Параметры выделения", + "buildinggadgets2.screen.copysubheading": "Абсолютный режим использует координаты блоков", + "buildinggadgets2.screen.depth": "Глубина", + "buildinggadgets2.screen.destructiontoolarge": "Область разрушения превышает лимит", + "buildinggadgets2.screen.down": "Вниз", + "buildinggadgets2.screen.end": "Конец", + "buildinggadgets2.screen.invalidjson": "Недопустимый JSON", + "buildinggadgets2.screen.left": "Влево", + "buildinggadgets2.screen.missingasc": "Не хватает (по возр.)", + "buildinggadgets2.screen.missingdesc": "Не хватает (по убыв.)", + "buildinggadgets2.screen.namefieldtext": "имя?", + "buildinggadgets2.screen.paste_replace": "Заменять блоки (дроп отсутствует)", + "buildinggadgets2.screen.pasteheading": "Параметры размещения", + "buildinggadgets2.screen.placeatop": "Разместить сверху", + "buildinggadgets2.screen.relativecoords": "Относительные координаты", + "buildinggadgets2.screen.requiredasc": "Требуется (по возр.)", + "buildinggadgets2.screen.requireddesc": "Требуется (по убыв.)", + "buildinggadgets2.screen.revert": "Сброс", + "buildinggadgets2.screen.right": "Вправо", + "buildinggadgets2.screen.sortaz": "Сортировать А–Я", + "buildinggadgets2.screen.sortza": "Сортировать Я–А", + "buildinggadgets2.screen.start": "Начало", + "buildinggadgets2.screen.templateplaceholder": "Имя шаблона", + "buildinggadgets2.screen.up": "Вверх", + "buildinggadgets2.snap": "ЩЁЛК!", + "buildinggadgets2.squish": "Сжатие", + "buildinggadgets2.templatename": "Имя: %s", + "buildinggadgets2.tooltips.blockstate": "Блок: %s", + "buildinggadgets2.tooltips.boundto": "Привязано к: %s:%s", + "buildinggadgets2.tooltips.energy": "Энергия: %d / %d EU", + "buildinggadgets2.tooltips.holdshift": "Удерживайте Shift для технической информации", + "buildinggadgets2.tooltips.mode": "Режим: %s", + "buildinggadgets2.tooltips.range": "Рабочий радиус: %d", + "buildinggadgets2.voidwarning": "ВНИМАНИЕ: удалённые блоки не оставляют дроп", + "item.buildinggadgets2.gadget_building": "Строительный гаджет", + "item.buildinggadgets2.gadget_copy_paste": "Гаджет копирования и вставки", + "item.buildinggadgets2.gadget_cut_paste": "Гаджет вырезания и вставки", + "item.buildinggadgets2.gadget_destruction": "Гаджет разрушения", + "item.buildinggadgets2.gadget_exchanging": "Гаджет замены", + "item.buildinggadgets2.redprint": "Редпринт", + "item.buildinggadgets2.template": "Шаблон", + "itemGroup.buildinggadgets2": "Строительные гаджеты 2", + "key.buildinggadgets2.anchor": "Якорь", + "key.buildinggadgets2.category": "Строительные гаджеты 2", + "key.buildinggadgets2.range": "Рабочий радиус", + "key.buildinggadgets2.settings_menu": "Меню параметров", + "key.buildinggadgets2.undo": "Отмена" +} \ No newline at end of file diff --git a/kubejs/assets/comforts/lang/ru_ru.json b/kubejs/assets/comforts/lang/ru_ru.json new file mode 100644 index 000000000..2c0705667 --- /dev/null +++ b/kubejs/assets/comforts/lang/ru_ru.json @@ -0,0 +1,9 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "item.comforts.sleeping_bag.auto_use.tooltip.0": "Игрок сразу же укладывается спать.", + "item.comforts.sleeping_bag.auto_use.tooltip.1": "Чтобы разместить, используйте в приседе.", + "item.comforts.hammock.placement.tooltip": "Требует %s для размещения.", + "item.comforts.rope_and_nail.placement.tooltip": "Используется для размещения гамаков.", + "item.comforts.hammock.missing_rope": "Чтобы повесить гамак, на другом конце также должны быть верёвка и гвоздь", + "item.comforts.hammock.no_space": "Здесь недостаточно места, чтобы разместить гамак" +} \ No newline at end of file diff --git a/kubejs/assets/framedblocks/lang/ru_ru.json b/kubejs/assets/framedblocks/lang/ru_ru.json new file mode 100644 index 000000000..5afdad9bd --- /dev/null +++ b/kubejs/assets/framedblocks/lang/ru_ru.json @@ -0,0 +1,428 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.framedblocks.framed_activator_rail_slope": "Рамная наклонная активирующая рельса", + "block.framedblocks.framed_adj_double_copycat_panel": "Рамная регулируемая двойная имитационная панель", + "block.framedblocks.framed_adj_double_copycat_slab": "Рамная регулируемая двойная имитационная плита", + "block.framedblocks.framed_adj_double_panel": "Рамная регулируемая двойная панель", + "block.framedblocks.framed_adj_double_slab": "Рамная регулируемая двойная плита", + "block.framedblocks.framed_bars": "Рамная решётка", + "block.framedblocks.framed_bookshelf": "Рамная книжная полка", + "block.framedblocks.framed_bouncy_cube": "Рамный пружинящий куб", + "block.framedblocks.framed_button": "Рамная кнопка", + "block.framedblocks.framed_centered_panel": "Рамная центрированная панель", + "block.framedblocks.framed_centered_slab": "Рамная центрированная плита", + "block.framedblocks.framed_chain": "Рамная цепь", + "block.framedblocks.framed_checkered_cube": "Рамный клетчатый куб", + "block.framedblocks.framed_checkered_cube_segment": "Сегмент рамного клетчатого куба", + "block.framedblocks.framed_checkered_panel": "Рамная клетчатая панель", + "block.framedblocks.framed_checkered_panel_segment": "Сегмент рамной клетчатой панели", + "block.framedblocks.framed_checkered_slab": "Рамная клетчатая плита", + "block.framedblocks.framed_checkered_slab_segment": "Сегмент рамной клетчатой плиты", + "block.framedblocks.framed_chest": "Рамный сундук", + "block.framedblocks.framed_chiseled_bookshelf": "Рамная резная книжная полка", + "block.framedblocks.framed_collapsible_block": "Рамный складной блок", + "block.framedblocks.framed_collapsible_copycat_block": "Рамный складной имитационный блок", + "block.framedblocks.framed_compound_slope_panel": "Рамная составная наклонная панель", + "block.framedblocks.framed_compound_slope_slab": "Рамная составная наклонная плита", + "block.framedblocks.framed_corner_pillar": "Рамная угловая колонна", + "block.framedblocks.framed_corner_slope": "Рамный угловой склон", + "block.framedblocks.framed_corner_slope_edge": "Рамный угловой наклонный край", + "block.framedblocks.framed_corner_strip": "Рамная угловая полоса", + "block.framedblocks.framed_corner_tube": "Рамная угловая труба", + "block.framedblocks.framed_cube": "Рамный куб", + "block.framedblocks.framed_detector_rail_slope": "Рамная наклонная датчиковая рельса", + "block.framedblocks.framed_divided_panel_horizontal": "Рамная разделённая панель (горизонтальная)", + "block.framedblocks.framed_divided_panel_vertical": "Рамная разделённая панель (вертикальная)", + "block.framedblocks.framed_divided_slab": "Рамная разделённая плита", + "block.framedblocks.framed_divided_slope": "Рамный разделённый склон", + "block.framedblocks.framed_divided_stairs": "Рамные разделённые ступени", + "block.framedblocks.framed_door": "Рамная дверь", + "block.framedblocks.framed_double_corner": "Рамный двойной угол", + "block.framedblocks.framed_double_half_slope": "Рамный двойной полусклон", + "block.framedblocks.framed_double_half_stairs": "Рамные двойные полуступени", + "block.framedblocks.framed_double_panel": "Рамная двойная панель", + "block.framedblocks.framed_double_prism_corner": "Рамный двойной призматический угол", + "block.framedblocks.framed_double_slab": "Рамная двойная плита", + "block.framedblocks.framed_double_slope": "Рамный двойной склон", + "block.framedblocks.framed_double_slope_panel": "Рамная двойная наклонная панель", + "block.framedblocks.framed_double_slope_slab": "Рамная двойная наклонная плита", + "block.framedblocks.framed_double_stairs": "Рамные двойные ступени", + "block.framedblocks.framed_double_threeway_corner": "Рамный двойной трёхсторонний угол", + "block.framedblocks.framed_double_threeway_corner_pillar": "Рамная двойная трёхсторонняя угловая колонна", + "block.framedblocks.framed_elev_double_corner_slope_edge": "Рамный повышенный двойной угловой наклонный край", + "block.framedblocks.framed_elev_double_inner_corner_slope_edge": "Рамный повышенный двойной внутренний угловой наклонный край", + "block.framedblocks.framed_elevated_corner_slope_edge": "Рамный повышенный угловой наклонный край", + "block.framedblocks.framed_elevated_double_slope_edge": "Рамный повышенный двойной наклонный край", + "block.framedblocks.framed_elevated_double_slope_slab": "Рамная повышенная двойная наклонная плита", + "block.framedblocks.framed_elevated_inner_corner_slope_edge": "Рамный повышенный внутренний угловой наклонный край", + "block.framedblocks.framed_elevated_inner_double_prism": "Рамная двойная призма", + "block.framedblocks.framed_elevated_inner_double_sloped_prism": "Рамная двойная наклонная призма", + "block.framedblocks.framed_elevated_inner_prism": "Рамная внутренняя призма", + "block.framedblocks.framed_elevated_inner_sloped_prism": "Рамная внутренняя наклонная призма", + "block.framedblocks.framed_elevated_pyramid_slab": "Рамная повышенная пирамидальная плита", + "block.framedblocks.framed_elevated_slope_edge": "Рамный повышенный наклонный край", + "block.framedblocks.framed_elevated_slope_slab": "Рамная повышенная наклонная плита", + "block.framedblocks.framed_ext_corner_slope_panel": "Рамная удлинённая угловая наклонная панель", + "block.framedblocks.framed_ext_corner_slope_panel_w": "Рамная удлинённая угловая наклонная панель", + "block.framedblocks.framed_ext_double_corner_slope_panel": "Рамная удлинённая двойная угловая наклонная панель", + "block.framedblocks.framed_ext_double_corner_slope_panel_w": "Рамная удлинённая двойная угловая наклонная панель", + "block.framedblocks.framed_ext_inner_corner_slope_panel": "Рамная удлинённая внутренняя угловая наклонная панель", + "block.framedblocks.framed_ext_inner_corner_slope_panel_w": "Рамная удлинённая внутренняя угловая наклонная панель", + "block.framedblocks.framed_ext_inner_double_corner_slope_panel": "Рамная удлинённая внутренняя двойная угловая наклонная панель", + "block.framedblocks.framed_ext_inner_double_corner_slope_panel_w": "Рамная удлинённая внутренняя двойная угловая наклонная панель", + "block.framedblocks.framed_extended_double_slope_panel": "Рамная удлинённая двойная наклонная панель", + "block.framedblocks.framed_extended_slope_panel": "Рамная удлинённая наклонная панель", + "block.framedblocks.framed_fancy_activator_rail": "Рамная декоративная активирующая рельса", + "block.framedblocks.framed_fancy_activator_rail_slope": "Рамная декоративная наклонная активирующая рельса", + "block.framedblocks.framed_fancy_detector_rail": "Рамная декоративная датчиковая рельса", + "block.framedblocks.framed_fancy_detector_rail_slope": "Рамная декоративная наклонная датчиковая рельса", + "block.framedblocks.framed_fancy_powered_rail": "Рамная декоративная рельса с питанием", + "block.framedblocks.framed_fancy_powered_rail_slope": "Рамная декоративная наклонная рельса с питанием", + "block.framedblocks.framed_fancy_rail": "Рамная декоративная рельса", + "block.framedblocks.framed_fancy_rail_slope": "Рамная декоративная наклонная рельса", + "block.framedblocks.framed_fence": "Рамный забор", + "block.framedblocks.framed_fence_gate": "Рамная калитка", + "block.framedblocks.framed_flat_double_slope_panel_corner": "Рамный плоский двойной наклонный угловой элемент панели", + "block.framedblocks.framed_flat_double_slope_slab_corner": "Рамный плоский двойной наклонный угловой элемент плиты", + "block.framedblocks.framed_flat_elev_double_slope_slab_corner": "Рамный плоский повышенный двойной наклонный угловой элемент плиты", + "block.framedblocks.framed_flat_elev_inner_double_slope_slab_corner": "Рамный плоский повышенный внутренний двойной наклонный угловой элемент плиты", + "block.framedblocks.framed_flat_elev_inner_slope_slab_corner": "Рамный плоский повышенный внутренний наклонный угловой элемент плиты", + "block.framedblocks.framed_flat_elev_slope_slab_corner": "Рамный плоский повышенный наклонный угловой элемент плиты", + "block.framedblocks.framed_flat_ext_double_slope_panel_corner": "Рамный плоский удлинённый двойной наклонный угловой элемент панели", + "block.framedblocks.framed_flat_ext_inner_double_slope_panel_corner": "Рамный плоский удлинённый внутренний двойной наклонный угловой элемент панели", + "block.framedblocks.framed_flat_ext_inner_slope_panel_corner": "Рамный плоский удлинённый внутренний наклонный угловой элемент панели", + "block.framedblocks.framed_flat_ext_slope_panel_corner": "Рамный плоский удлинённый наклонный угловой элемент панели", + "block.framedblocks.framed_flat_inner_slope_panel_corner": "Рамный плоский внутренний наклонный угловой элемент панели", + "block.framedblocks.framed_flat_inner_slope_slab_corner": "Рамный плоский внутренний наклонный угловой элемент плиты", + "block.framedblocks.framed_flat_inv_double_slope_panel_corner": "Рамный плоский инвертированный двойной наклонный угловой элемент панели", + "block.framedblocks.framed_flat_inv_double_slope_slab_corner": "Рамный плоский инвертированный двойной наклонный угловой элемент плиты", + "block.framedblocks.framed_flat_slope_panel_corner": "Рамный плоский наклонный угловой элемент панели", + "block.framedblocks.framed_flat_slope_slab_corner": "Рамный плоский наклонный угловой элемент плиты", + "block.framedblocks.framed_flat_stacked_inner_slope_panel_corner": "Рамный плоский составной внутренний наклонный угловой элемент панели", + "block.framedblocks.framed_flat_stacked_inner_slope_slab_corner": "Рамный плоский составной внутренний наклонный угловой элемент плиты", + "block.framedblocks.framed_flat_stacked_slope_panel_corner": "Рамный плоский составной наклонный угловой элемент панели", + "block.framedblocks.framed_flat_stacked_slope_slab_corner": "Рамный плоский составной наклонный угловой элемент плиты", + "block.framedblocks.framed_floor_board": "Рамная напольная доска", + "block.framedblocks.framed_flower_pot": "Рамный цветочный горшок", + "block.framedblocks.framed_gate": "Рамная решётчатая дверь", + "block.framedblocks.framed_glowing_cube": "Рамный светящийся куб", + "block.framedblocks.framed_glowing_item_frame": "Рамная светящаяся рамка для предмета", + "block.framedblocks.framed_gold_pressure_plate": "Рамная лёгкая нажимная плита", + "block.framedblocks.framed_half_pillar": "Рамная полуколонна", + "block.framedblocks.framed_half_slope": "Рамный полусклон", + "block.framedblocks.framed_half_stairs": "Рамные полуступени", + "block.framedblocks.framed_hanging_sign": "Рамная подвесная табличка", + "block.framedblocks.framed_horizontal_pane": "Рамная горизонтальная перегородка", + "block.framedblocks.framed_inner_corner_slope": "Рамный внутренний угловой склон", + "block.framedblocks.framed_inner_corner_slope_edge": "Рамный внутренний угловой наклонный край", + "block.framedblocks.framed_inner_prism_corner": "Рамный внутренний призматический угол", + "block.framedblocks.framed_inner_threeway_corner": "Рамный внутренний трёхсторонний угол", + "block.framedblocks.framed_inner_threeway_corner_slope_edge": "Рамный внутренний трёхсторонний угловой наклонный край", + "block.framedblocks.framed_inv_double_corner_slope_panel": "Рамная инвертированная двойная угловая наклонная панель", + "block.framedblocks.framed_inv_double_corner_slope_panel_w": "Рамная инвертированная двойная угловая наклонная панель", + "block.framedblocks.framed_inv_double_slope_panel": "Рамная инвертированная двойная наклонная панель", + "block.framedblocks.framed_inv_double_slope_slab": "Рамная инвертированная двойная наклонная плита", + "block.framedblocks.framed_iron_door": "Рамная железная дверь", + "block.framedblocks.framed_iron_gate": "Рамная железная решётчатая дверь", + "block.framedblocks.framed_iron_pressure_plate": "Рамная тяжёлая нажимная плита", + "block.framedblocks.framed_iron_trapdoor": "Рамный железный люк", + "block.framedblocks.framed_item_frame": "Рамная рамка для предмета", + "block.framedblocks.framed_ladder": "Рамная лестница", + "block.framedblocks.framed_lantern": "Рамный фонарь", + "block.framedblocks.framed_large_button": "Большая рамная кнопка", + "block.framedblocks.framed_large_corner_slope_panel": "Рамная крупная угловая наклонная панель", + "block.framedblocks.framed_large_corner_slope_panel_w": "Рамная крупная угловая наклонная панель", + "block.framedblocks.framed_large_double_corner_slope_panel": "Рамная крупная двойная угловая наклонная панель", + "block.framedblocks.framed_large_double_corner_slope_panel_w": "Рамная крупная двойная угловая наклонная панель", + "block.framedblocks.framed_large_inner_corner_slope_panel": "Рамная крупная внутренняя угловая наклонная панель", + "block.framedblocks.framed_large_inner_corner_slope_panel_w": "Рамная крупная внутренняя угловая наклонная панель", + "block.framedblocks.framed_large_stone_button": "Большая рамная каменная кнопка", + "block.framedblocks.framed_lattice_block": "Рамная решётка", + "block.framedblocks.framed_lever": "Рамный рычаг", + "block.framedblocks.framed_masonry_corner": "Рамный каменный угловой элемент", + "block.framedblocks.framed_masonry_corner_segment": "Сегмент рамного каменного углового элемента", + "block.framedblocks.framed_mini_cube": "Рамный мини-куб", + "block.framedblocks.framed_obsidian_pressure_plate": "Рамная обсидиановая нажимная плита", + "block.framedblocks.framed_one_way_window": "Рамное одностороннее окно", + "block.framedblocks.framed_pane": "Рамная перегородка", + "block.framedblocks.framed_panel": "Рамная панель", + "block.framedblocks.framed_pillar": "Рамная колонна", + "block.framedblocks.framed_post": "Рамный столб", + "block.framedblocks.framed_powered_rail_slope": "Рамная наклонная рельса с питанием", + "block.framedblocks.framed_pressure_plate": "Рамная нажимная плита", + "block.framedblocks.framed_prism": "Рамная призма", + "block.framedblocks.framed_prism_corner": "Рамный призматический угол", + "block.framedblocks.framed_pyramid": "Рамная пирамида", + "block.framedblocks.framed_pyramid_slab": "Рамная пирамидальная плита", + "block.framedblocks.framed_rail_slope": "Рамная наклонная рельса", + "block.framedblocks.framed_redstone_block": "Рамный редстоуновый блок", + "block.framedblocks.framed_redstone_torch": "Рамный редстоуновый факел", + "block.framedblocks.framed_secret_storage": "Рамное секретное хранилище", + "block.framedblocks.framed_sign": "Рамная табличка", + "block.framedblocks.framed_slab": "Рамная плита", + "block.framedblocks.framed_slab_corner": "Рамный угловой элемент плиты", + "block.framedblocks.framed_slab_edge": "Рамный краевой элемент плиты", + "block.framedblocks.framed_sliced_stairs_panel": "Рамные срезанные ступени (панель)", + "block.framedblocks.framed_sliced_stairs_slab": "Рамные срезанные ступени (плита)", + "block.framedblocks.framed_slope": "Рамный склон", + "block.framedblocks.framed_slope_edge": "Рамный наклонный край", + "block.framedblocks.framed_slope_panel": "Рамная наклонная панель", + "block.framedblocks.framed_slope_slab": "Рамная наклонная плита", + "block.framedblocks.framed_sloped_prism": "Рамная наклонная призма", + "block.framedblocks.framed_sloped_stairs": "Рамные наклонные ступени", + "block.framedblocks.framed_small_corner_slope_panel": "Рамная малая угловая наклонная панель", + "block.framedblocks.framed_small_corner_slope_panel_w": "Рамная малая угловая наклонная панель", + "block.framedblocks.framed_small_double_corner_slope_panel": "Рамная малая двойная угловая наклонная панель", + "block.framedblocks.framed_small_double_corner_slope_panel_w": "Рамная малая двойная угловая наклонная панель", + "block.framedblocks.framed_small_inner_corner_slope_panel": "Рамная малая внутренняя угловая наклонная панель", + "block.framedblocks.framed_small_inner_corner_slope_panel_w": "Рамная малая внутренняя угловая наклонная панель", + "block.framedblocks.framed_soul_lantern": "Рамный факел душ", + "block.framedblocks.framed_soul_torch": "Рамный душевный факел", + "block.framedblocks.framed_stacked_corner_slope_edge": "Рамный составной угловой наклонный край", + "block.framedblocks.framed_stacked_corner_slope_panel": "Рамная составная угловая наклонная панель", + "block.framedblocks.framed_stacked_corner_slope_panel_w": "Рамная составная угловая наклонная панель", + "block.framedblocks.framed_stacked_inner_corner_slope_edge": "Рамный составной внутренний угловой наклонный край", + "block.framedblocks.framed_stacked_inner_corner_slope_panel": "Рамная составная внутренняя угловая наклонная панель", + "block.framedblocks.framed_stacked_inner_corner_slope_panel_w": "Рамная составная внутренняя угловая наклонная панель", + "block.framedblocks.framed_stacked_pyramid_slab": "Рамная составная пирамидальная плита", + "block.framedblocks.framed_stacked_slope_edge": "Рамный составной наклонный край", + "block.framedblocks.framed_stacked_slope_panel": "Рамная составная наклонная панель", + "block.framedblocks.framed_stacked_slope_slab": "Рамная составная наклонная плита", + "block.framedblocks.framed_stairs": "Рамные ступени", + "block.framedblocks.framed_stone_button": "Рамная каменная кнопка", + "block.framedblocks.framed_stone_pressure_plate": "Рамная каменная нажимная плита", + "block.framedblocks.framed_tank": "Рамный резервуар", + "block.framedblocks.framed_target": "Рамная мишень", + "block.framedblocks.framed_thick_lattice": "Рамная толстая решётка", + "block.framedblocks.framed_threeway_corner": "Рамный трёхсторонний угол", + "block.framedblocks.framed_threeway_corner_pillar": "Рамная трёхсторонняя угловая колонна", + "block.framedblocks.framed_threeway_corner_slope_edge": "Рамный трёхсторонний угловой наклонный край", + "block.framedblocks.framed_torch": "Рамный факел", + "block.framedblocks.framed_trapdoor": "Рамный люк", + "block.framedblocks.framed_tube": "Рамная труба", + "block.framedblocks.framed_upper_pyramid_slab": "Рамная верхняя пирамидальная плита", + "block.framedblocks.framed_vertical_divided_stairs": "Рамные вертикальные разделённые ступени", + "block.framedblocks.framed_vertical_double_half_slope": "Рамный вертикальный двойной полусклон", + "block.framedblocks.framed_vertical_double_half_stairs": "Рамные вертикальные двойные полуступени", + "block.framedblocks.framed_vertical_double_stairs": "Рамные вертикальные двойные ступени", + "block.framedblocks.framed_vertical_half_slope": "Рамный вертикальный полусклон", + "block.framedblocks.framed_vertical_half_stairs": "Рамные вертикальные полуступени", + "block.framedblocks.framed_vertical_sliced_stairs": "Рамные вертикальные срезанные ступени", + "block.framedblocks.framed_vertical_sloped_double_stairs": "Рамные вертикальные наклонные двойные ступени", + "block.framedblocks.framed_vertical_sloped_stairs": "Рамные вертикальные наклонные ступени", + "block.framedblocks.framed_vertical_stairs": "Рамные вертикальные ступени", + "block.framedblocks.framed_wall": "Рамная стена", + "block.framedblocks.framed_wall_board": "Рамная настенная доска", + "block.framedblocks.framed_wall_hanging_sign": "Рамная подвесная табличка", + "block.framedblocks.framed_wall_sign": "Рамная табличка", + "block.framedblocks.framed_waterloggable_gold_pressure_plate": "Рамная лёгкая нажимная плита", + "block.framedblocks.framed_waterloggable_iron_pressure_plate": "Рамная тяжёлая нажимная плита", + "block.framedblocks.framed_waterloggable_obsidian_pressure_plate": "Рамная обсидиановая нажимная плита", + "block.framedblocks.framed_waterloggable_pressure_plate": "Рамная нажимная плита", + "block.framedblocks.framed_waterloggable_stone_pressure_plate": "Рамная каменная нажимная плита", + "block.framedblocks.framing_saw": "Рамная пила", + "block.framedblocks.powered_framing_saw": "Электрическая рамная пила", + "config.framedblocks.client.altGhostRenderer": "Использовать альтернативный рендерер предпросмотра размещения", + "config.framedblocks.client.camoMessageVerbosity": "Уровень подробности сообщений о недопустимом камуфляже", + "config.framedblocks.client.camoRotationMode": "Наложение поворота камуфляжа: режим отображения", + "config.framedblocks.client.conTexDisabled": "Отключить поддержку соединённых текстур", + "config.framedblocks.client.conTexMode": "Режим соединённых текстур", + "config.framedblocks.client.copycatStyleMode": "Наложение стиля имитации: режим отображения", + "config.framedblocks.client.detailedCulling": "Подробное отсечение", + "config.framedblocks.client.discreteUVSteps": "Использовать дискретные шаги UV", + "config.framedblocks.client.fancyHitboxes": "Продвинутые хитбоксы", + "config.framedblocks.client.forceAoOnGlowingBlocks": "Принудительно включать ambient occlusion для светящихся рамных блоков", + "config.framedblocks.client.ghostRenderOpacity": "Прозрачность предпросмотра размещения", + "config.framedblocks.client.itemFrameBackgroundMode": "Фон рамки для предмета: режим отображения", + "config.framedblocks.client.maxOverlayMode": "Режим отображения максимального наложения", + "config.framedblocks.client.oneWayWindowMode": "Наложение одностороннего окна: режим отображения", + "config.framedblocks.client.prismOffsetMode": "Наложение смещения призмы: режим отображения", + "config.framedblocks.client.reinforcedMode": "Наложение усиления: режим отображения", + "config.framedblocks.client.renderCamoInJade": "Отображать камуфляж в оверлее Jade", + "config.framedblocks.client.renderItemModelsWithCamo": "Отображать модели предметов с камуфляжем", + "config.framedblocks.client.showAllRecipePermutationsInEmi": "Показывать все перестановки рецептов рамной пилы в EMI", + "config.framedblocks.client.showButtonPlateTypeOverlay": "Показывать наложение типа кнопки и нажимной плиты", + "config.framedblocks.client.showGhostBlocks": "Показывать призрачные блоки", + "config.framedblocks.client.showSpecialCubeTypeOverlay": "Показывать наложение типа специального куба", + "config.framedblocks.client.solidFrameMode": "Режим сплошной рамы", + "config.framedblocks.client.splitLineMode": "Наложение линии раздела складного блока: режим отображения", + "config.framedblocks.client.stateLockMode": "Наложение блокировки состояния: режим отображения", + "config.framedblocks.client.toggleWaterlogMode": "Наложение возможности заполнения водой: режим отображения", + "config.framedblocks.client.toggleYSlopeMode": "Наложение Y-склона: режим отображения", + "config.framedblocks.client.trapdoorTextureRotationMode": "Наложение поворота текстуры люка: режим отображения", + "config.framedblocks.devtools.connectionDebug": "Отладка ConnectionPredicate", + "config.framedblocks.devtools.doubleBlockPartDebug": "Отладка частей двойных блоков", + "config.framedblocks.devtools.occlusionShapeDebug": "Отладка формы затенения", + "config.framedblocks.devtools.quadWindingDebug": "Отладка направления квадов", + "config.framedblocks.devtools.stateMergerDebug": "Отладка StateMerger", + "config.framedblocks.devtools.stateMergerDebugFilter": "Фильтр отладки StateMerger", + "config.framedblocks.server.allowBlockEntities": "Разрешить BlockEntities", + "config.framedblocks.server.consumeCamoItem": "Потреблять предмет камуфляжа", + "config.framedblocks.server.consumption": "Потребление", + "config.framedblocks.server.craftingDuration": "Длительность крафта", + "config.framedblocks.server.enableIntangibleFeature": "Включить функцию нематериальности", + "config.framedblocks.server.energyCapacity": "Ёмкость энергии", + "config.framedblocks.server.fireproofBlocks": "Огнеупорные блоки", + "config.framedblocks.server.glowstoneLightLevel": "Уровень освещения светящегося камня", + "config.framedblocks.server.maxReceive": "Макс. вход", + "config.framedblocks.server.oneWayWindowOwnable": "Возможность владения односторонним окном", + "config.jade.plugin_framedblocks.framed_block_generic": "Камуфляж FramedBlocks", + "config.jade.plugin_framedblocks.framed_item_frame": "Рамная рамка для предмета", + "desc.framedblocks.block.fluid_tank.contents": "Содержимое резервуара: %s", + "desc.framedblocks.block.fluid_tank.contents.empty": "Пусто", + "desc.framedblocks.block.stored_camo": "Камуфляж: %s", + "desc.framedblocks.blueprint_block": "Содержащийся блок: %s", + "desc.framedblocks.blueprint_camo": "Блок камуфляжа: %s", + "desc.framedblocks.blueprint_cant_copy": "[Чертёж Framed] Этот блок сейчас невозможно скопировать!", + "desc.framedblocks.blueprint_cant_place_fluid_camo": "[Чертёж Framed] Сейчас невозможно копировать блоки с жидкостным камуфляжем!", + "desc.framedblocks.blueprint_false": "ложь", + "desc.framedblocks.blueprint_illuminated": "Подсвечено: %s", + "desc.framedblocks.blueprint_intangible": "Нематериально: %s", + "desc.framedblocks.blueprint_invalid": "Недопустимо", + "desc.framedblocks.blueprint_missing_materials": "[Чертёж Framed] Отсутствуют необходимые материалы:", + "desc.framedblocks.blueprint_none": "Нет", + "desc.framedblocks.blueprint_reinforced": "Усилено: %s", + "desc.framedblocks.blueprint_true": "истина", + "desc.framedblocks.camo.empty": "Пусто", + "desc.framedblocks.slope_slab.place_upside_down": "Удерживайте клавишу приседания, чтобы разместить вверх ногами", + "framedblocks.configuration.general": "Общие", + "framedblocks.configuration.overlay": "Наложения", + "framedblocks.configuration.powered_framing_saw": "Электрическая рамная пила", + "framedblocks.configuration.section.framedblocks.devtools.toml": "Настройки инструментов разработчика", + "framedblocks.configuration.section.framedblocks.devtools.toml.title": "Конфигурация инструментов разработчика FramedBlocks", + "framedblocks.key.categories.framedblocks": "FramedBlocks", + "framedblocks.key.update_cull": "Обновить кэш отсечения", + "framedblocks.key.wipe_cache": "Очистить кэш моделей", + "item.framedblocks.framed_blueprint": "Чертёж Framed", + "item.framedblocks.framed_hammer": "Рамный молоток", + "item.framedblocks.framed_key": "Рамный ключ", + "item.framedblocks.framed_reinforcement": "Рамное упрочнение", + "item.framedblocks.framed_screwdriver": "Рамная отвёртка", + "item.framedblocks.framed_wrench": "Рамный гаечный ключ", + "item.framedblocks.framing_saw_pattern": "Шаблон рамной пилы", + "item.framedblocks.phantom_paste": "Фантомная паста", + "itemGroup.framed_blocks": "FramedBlocks", + "label.framedblocks.jade.camo.double.one": "Камуфляж один: %s", + "label.framedblocks.jade.camo.double.two": "Камуфляж два: %s", + "label.framedblocks.jade.camo.single": "Камуфляж: %s", + "label.framedblocks.source_tooltip.anim_splitter.frames": "Кадры", + "label.framedblocks.source_tooltip.anim_splitter.texture": "Текстура", + "msg.framedblocks.camo.blacklisted": "Этот блок недопустим в качестве камуфляжа!", + "msg.framedblocks.camo.block_entity": "Блоки с BlockEntities нельзя вставлять в рамные блоки!", + "msg.framedblocks.camo.non_solid": "Нетегированные неплотные блоки нельзя вставлять в рамные блоки!", + "msg.framedblocks.camo_application.camo.most_supported": "Поддерживает большинство предметов, которые можно использовать для нанесения камуфляжа через взаимодействие с блоком", + "msg.framedblocks.feature.intangibility.disabled": "Функция нематериальности отключена, поэтому этот предмет бесполезен!", + "msg.framedblocks.frame_crafter.fail.camo_present": "Входной предмет не должен иметь камуфляж", + "msg.framedblocks.frame_crafter.fail.incorrect_additive_0": "Неверный добавочный ингредиент в первом слоте", + "msg.framedblocks.frame_crafter.fail.incorrect_additive_1": "Неверный добавочный ингредиент во втором слоте", + "msg.framedblocks.frame_crafter.fail.incorrect_additive_2": "Неверный добавочный ингредиент в третьем слоте", + "msg.framedblocks.frame_crafter.fail.insufficient_additive_0": "Недостаточное количество добавочного ингредиента в первом слоте", + "msg.framedblocks.frame_crafter.fail.insufficient_additive_1": "Недостаточное количество добавочного ингредиента во втором слоте", + "msg.framedblocks.frame_crafter.fail.insufficient_additive_2": "Недостаточное количество добавочного ингредиента в третьем слоте", + "msg.framedblocks.frame_crafter.fail.material_lcm": "Слишком мало входных предметов для равномерного преобразования в этот результат", + "msg.framedblocks.frame_crafter.fail.material_value": "Недостаточно входного материала", + "msg.framedblocks.frame_crafter.fail.missing_additive_0": "Отсутствует добавочный ингредиент в первом слоте", + "msg.framedblocks.frame_crafter.fail.missing_additive_1": "Отсутствует добавочный ингредиент во втором слоте", + "msg.framedblocks.frame_crafter.fail.missing_additive_2": "Отсутствует добавочный ингредиент в третьем слоте", + "msg.framedblocks.frame_crafter.fail.output_size": "Количество результата превышает максимальный размер стака", + "msg.framedblocks.frame_crafter.fail.success": "Можно скрафтить", + "msg.framedblocks.frame_crafter.fail.unexpected_additive_0": "Неожиданный добавочный ингредиент в первом слоте", + "msg.framedblocks.frame_crafter.fail.unexpected_additive_1": "Неожиданный добавочный ингредиент во втором слоте", + "msg.framedblocks.frame_crafter.fail.unexpected_additive_2": "Неожиданный добавочный ингредиент в третьем слоте", + "msg.framedblocks.framing_saw.search": "Поиск...", + "msg.framedblocks.framing_saw.transfer.invalid_recipe": "Недопустимый рецепт", + "msg.framedblocks.framing_saw.transfer.not_implemented": "Передача не реализована, предметы не будут перемещены", + "msg.framedblocks.lock_state": "Состояние этого блока теперь %s", + "msg.framedblocks.lock_state.locked": "заблокировано", + "msg.framedblocks.lock_state.unlocked": "разблокировано", + "msg.framedblocks.powered_saw.status": "Статус: ", + "msg.framedblocks.powered_saw.status.no_match": "Рецепт не соответствует", + "msg.framedblocks.powered_saw.status.no_recipe": "Рецепт не выбран", + "msg.framedblocks.powered_saw.status.ready": "Готово", + "msg.framedblocks.prism_offset.switch": "Ударьте рамным молотком, чтобы переключить смещение", + "msg.framedblocks.split_line.switch": "Ударьте рамным ключом, чтобы изменить ориентацию разделяющей линии", + "tag.block.framedblocks.group.full": "Полные рамные блоки", + "tag.item.c.tools.wrench": "Гаечные ключи", + "tag.item.framedblocks.disable_intangible": "Отключить нематериальность", + "title.framedblocks.framed_chest": "Рамный сундук", + "title.framedblocks.framed_hopper": "Рамная воронка для предметов", + "title.framedblocks.framed_secret_storage": "Рамное секретное хранилище", + "title.framedblocks.framing_saw": "Рамная пила", + "title.framedblocks.powered_framing_saw": "Электрическая рамная пила", + "title.framedblocks.powered_saw.target_block": "Цель:", + "tooltip.framedblocks.camo_rotation.false": "Выбранный камуфляж нельзя повернуть", + "tooltip.framedblocks.camo_rotation.true": "Выбранный камуфляж можно повернуть", + "tooltip.framedblocks.copycat_style.set_copycat": "Ударьте рамным молотком, чтобы использовать имитационный стиль", + "tooltip.framedblocks.copycat_style.set_standard": "Ударьте рамным молотком, чтобы использовать стандартный стиль", + "tooltip.framedblocks.copycat_style.use_copycat": "Выбранный блок использует имитационный стиль", + "tooltip.framedblocks.copycat_style.use_standard": "Выбранный блок использует стандартный стиль", + "tooltip.framedblocks.frame_bg.set_camo": "Ударьте рамным молотком, чтобы использовать камуфляж в качестве фона", + "tooltip.framedblocks.frame_bg.set_leather": "Ударьте рамным молотком, чтобы использовать кожу в качестве фона", + "tooltip.framedblocks.frame_bg.use_camo": "Рамная рамка для предмета использует камуфляж в качестве фона", + "tooltip.framedblocks.frame_bg.use_leather": "Рамная рамка для предмета использует кожу в качестве фона", + "tooltip.framedblocks.framing_saw.have_item_none": "нет", + "tooltip.framedblocks.framing_saw.have_x_but_need_y_item": "Есть %s, но нужно %s", + "tooltip.framedblocks.framing_saw.have_x_but_need_y_item_count": "Есть %s предмет(ов), но нужно как минимум %s предмет(ов)", + "tooltip.framedblocks.framing_saw.have_x_but_need_y_item_multi": "Есть %s, но нужно %s или перечисленные альтернативы", + "tooltip.framedblocks.framing_saw.have_x_but_need_y_material_count": "Есть %s материала, но нужно как минимум %s материала", + "tooltip.framedblocks.framing_saw.have_x_but_need_y_tag": "Есть %s, но нужно любой %s", + "tooltip.framedblocks.framing_saw.loose_additive": "Предмет был скрафчен с добавочными ингредиентами, они будут потеряны", + "tooltip.framedblocks.framing_saw.material": "Значение материала: %s", + "tooltip.framedblocks.framing_saw.mode.crafting": "Крафт", + "tooltip.framedblocks.framing_saw.mode.pattern_encode": "Кодирование шаблона AE2", + "tooltip.framedblocks.framing_saw.output_count": "Размер результата: %s, максимум: %s", + "tooltip.framedblocks.framing_saw.press_to_show": "Нажмите [%s], чтобы показать все возможные предметы", + "tooltip.framedblocks.framing_saw.use_intermediate": "Используйте меньший блок как промежуточный шаг", + "tooltip.framedblocks.is_waterloggable.false": "Блок не может быть заполнен водой.", + "tooltip.framedblocks.is_waterloggable.true": "Блок может быть заполнен водой.", + "tooltip.framedblocks.lock_state": "Состояние %s", + "tooltip.framedblocks.make_waterloggable.false": "Ударьте рамным молотком, чтобы сделать блок непроницаемым для воды", + "tooltip.framedblocks.make_waterloggable.true": "Ударьте рамным молотком, чтобы сделать блок проницаемым для воды", + "tooltip.framedblocks.one_way_window.clear_face": "Ударьте рамным ключом в приседе, чтобы очистить прозрачную сторону", + "tooltip.framedblocks.one_way_window.curr_face": "Текущая прозрачная сторона: %s", + "tooltip.framedblocks.one_way_window.dir.down": "Вниз", + "tooltip.framedblocks.one_way_window.dir.east": "Восток", + "tooltip.framedblocks.one_way_window.dir.north": "Север", + "tooltip.framedblocks.one_way_window.dir.south": "Юг", + "tooltip.framedblocks.one_way_window.dir.up": "Вверх", + "tooltip.framedblocks.one_way_window.dir.west": "Запад", + "tooltip.framedblocks.one_way_window.face.down": "Вниз", + "tooltip.framedblocks.one_way_window.face.east": "Восток", + "tooltip.framedblocks.one_way_window.face.none": "Нет", + "tooltip.framedblocks.one_way_window.face.north": "Север", + "tooltip.framedblocks.one_way_window.face.south": "Юг", + "tooltip.framedblocks.one_way_window.face.up": "Вверх", + "tooltip.framedblocks.one_way_window.face.west": "Запад", + "tooltip.framedblocks.one_way_window.face_abbr.down": "В", + "tooltip.framedblocks.one_way_window.face_abbr.east": "В", + "tooltip.framedblocks.one_way_window.face_abbr.none": "-", + "tooltip.framedblocks.one_way_window.face_abbr.north": "С", + "tooltip.framedblocks.one_way_window.face_abbr.south": "Ю", + "tooltip.framedblocks.one_way_window.face_abbr.up": "Вв", + "tooltip.framedblocks.one_way_window.face_abbr.west": "З", + "tooltip.framedblocks.one_way_window.set_face": "Ударьте рамным ключом, чтобы установить прозрачную сторону на %s", + "tooltip.framedblocks.powered_saw.energy": "%s / %s FE", + "tooltip.framedblocks.powered_saw.status.no_recipe": "Рецепт не выбран; нажмите на целевой слот любым рамным блоком, чтобы выбрать рецепт", + "tooltip.framedblocks.prism_offset.false": "Текстура треугольника не смещена.", + "tooltip.framedblocks.prism_offset.true": "Текстура треугольника смещена на полблока.", + "tooltip.framedblocks.reinforce_state": "Блок %s.", + "tooltip.framedblocks.reinforce_state.false": "не усилен", + "tooltip.framedblocks.reinforce_state.true": "усилен", + "tooltip.framedblocks.split_line.false": "Разделяющая линия деформированной грани идёт по крутой диагонали.", + "tooltip.framedblocks.split_line.true": "Разделяющая линия деформированной грани идёт по пологой диагонали.", + "tooltip.framedblocks.trapdoor_texture_rotation.false": "Текстура камуфляжа не будет поворачиваться при открытии люка", + "tooltip.framedblocks.trapdoor_texture_rotation.toggle": "Ударьте рамным молотком, чтобы переключить поворот текстуры", + "tooltip.framedblocks.trapdoor_texture_rotation.true": "Текстура камуфляжа будет поворачиваться при открытии люка", + "tooltip.framedblocks.y_slope": "Блок использует %s грани для вертикальных наклонных граней.", + "tooltip.framedblocks.y_slope.alt": "Блок использует грань %s для горизонтальных наклонных граней.", + "tooltip.framedblocks.y_slope.alt.toggle": "Ударьте рамным ключом, чтобы переключиться на грань %s", + "tooltip.framedblocks.y_slope.front": "переднюю", + "tooltip.framedblocks.y_slope.horizontal": "горизонтальную", + "tooltip.framedblocks.y_slope.side": "правую", + "tooltip.framedblocks.y_slope.toggle": "Ударьте рамным ключом, чтобы переключиться на %s грани", + "tooltip.framedblocks.y_slope.vertical": "вертикальную", + "block.framedblocks.framed_inner_prism": "Рамная внутренняя призма", + "block.framedblocks.framed_double_prism": "Рамная двойная призма", + "block.framedblocks.framed_inner_sloped_prism": "Рамная внутренняя наклонная призма", + "block.framedblocks.framed_double_sloped_prism": "Рамная двойная наклонная призма" +} \ No newline at end of file diff --git a/kubejs/assets/grapplemod/lang/ru_ru.json b/kubejs/assets/grapplemod/lang/ru_ru.json new file mode 100644 index 000000000..a70cb08b9 --- /dev/null +++ b/kubejs/assets/grapplemod/lang/ru_ru.json @@ -0,0 +1,144 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "item.grapplemod.grapplinghook": "Кошка", + "item.grapplemod.hookshot": "Моторизованная кошка", + "item.grapplemod.launcheritem": "Посох эндера", + "item.grapplemod.longfallboots": "Сапоги долгого падения", + "item.grapplemod.wallrunboots": "Ботинки для бега по стенам", + "item.grapplemod.enderhook": "Кошка эндера", + "item.grapplemod.magnethook": "Магнитная кошка", + "item.grapplemod.repeller": "Магнитный силовой щит", + "item.grapplemod.doublemotorhook": "Двойная моторизованная кошка", + "item.grapplemod.smarthook": "Умная моторизованная кошка", + "item.grapplemod.baseupgradeitem": "Базовое улучшения для кошки", + "item.grapplemod.doubleupgradeitem": "Улучшение: Двойная кошка", + "item.grapplemod.forcefieldupgradeitem": "Улучшение: Кошка с силовым щитом", + "item.grapplemod.motorupgradeitem": "Улучшение: Моторизованная кошка", + "item.grapplemod.magnetupgradeitem": "Улучшение: Магнитная кошка", + "item.grapplemod.ropeupgradeitem": "Улучшение: Верёвка кошки", + "item.grapplemod.staffupgradeitem": "Улучшение: Кошка посоха эндера", + "item.grapplemod.swingupgradeitem": "Улучшение: Размах кошкой", + "item.grapplemod.throwupgradeitem": "Улучшение: Метатель крюков кошки", + "item.grapplemod.limitsupgradeitem": "Улучшение: Ограничитель для кошки", + "item.grapplemod.rocketupgradeitem": "Улучшение: Ракетная кошка", + "block.grapplemod.block_grapple_modifier": "Модификатор кошки", + "key.grapplemod.category": "Grappling Hook Mod", + "key.motoronoff.desc": "Мотор вкл/выкл", + "key.jumpanddetach.desc": "Прыгнуть и отделить", + "key.slow.desc": "Замедлиться / Остановить раскачивание", + "key.climb.desc": "Взобраться", + "key.climbup.desc": "Подняться", + "key.climbdown.desc": "Опуститься", + "key.leftthrow.desc": "Кинуть левый крюк", + "key.rightthrow.desc": "Кинуть правый крюк", + "key.boththrow.desc": "Кинуть крюк(и)", + "key.enderlaunch.desc": "Запустить крюк эндера", + "key.rocket.desc": "Взлететь", + "key.slide.desc": "Скользить", + "enchantment.grapplemod.wallrunenchantment": "Бег по стенам", + "enchantment.grapplemod.doublejumpenchantment": "Двойной прыжок", + "enchantment.grapplemod.slidingenchantment": "Скольжение", + "tabs.grapplemod.main_tab": "Grappling Hook Mod", + "grapplecustomization.maxlen": "Длина веревки", + "grapplecustomization.phaserope": "Фазовая веревка", + "grapplecustomization.hookgravity": "Гравитация при прицеплении", + "grapplecustomization.throwspeed": "Ск-сть броска", + "grapplecustomization.reelin": "Присесть, чтобы замотать", + "grapplecustomization.verticalthrowangle": "Вертикальный угол броска", + "grapplecustomization.motor": "Мотор включен", + "grapplecustomization.motormaxspeed": "Максимальная скорость мотора", + "grapplecustomization.motoracceleration": "Ускорение мотора", + "grapplecustomization.motorwhencrouching": "Мотор, когда удерживается кнопка вкл/выкл", + "grapplecustomization.motorwhennotcrouching": "Мотор, когда кнопка вкл/выкл не удерживается", + "grapplecustomization.smartmotor": "Умный мотор", + "grapplecustomization.motordampener": "Боковой глушитель движения", + "grapplecustomization.pullbackwards": "Потяните назад", + "grapplecustomization.playermovementmult": "Скорость раскачивания", + "grapplecustomization.enderstaff": "Посох эндера", + "grapplecustomization.repel": "Силовой щит включен", + "grapplecustomization.repelforce": "Сила отталкивания", + "grapplecustomization.attract": "Магнит включен", + "grapplecustomization.attractradius": "Радиус притяжения", + "grapplecustomization.doublehook": "Двойная кошка", + "grapplecustomization.smartdoublemotor": "Умный мотор", + "grapplecustomization.angle": "Угол", + "grapplecustomization.sneakingangle": "Угол в присяди", + "grapplecustomization.oneropepull": "Разрешить тянуть одной веревкой", + "grapplecustomization.sneakingverticalthrowangle": "Вертикальный угол в присяди", + "grapplecustomization.climbkey": "Выделенная клавиша для лазания", + "grapplecustomization.sticky": "Липкая верёвка", + "grapplecustomization.detachonkeyrelease": "Отсоединить кнопку включения/отпускания", + "grapplecustomization.rocket": "Взлёт", + "grapplecustomization.rocket_force": "Сила взлёта", + "grapplecustomization.rocket_active_time": "Время взлёта (с)", + "grapplecustomization.rocket_refuel_ratio": "Соотношение времени восстановления топлива", + "grapplecustomization.rocket_vertical_angle": "Вертикальный угол взлёта", + "grapplecustomization.maxlen.desc": "Длина веревки", + "grapplecustomization.phaserope.desc": "Позволяет веревке проходить через блоки", + "grapplecustomization.hookgravity.desc": "Гравитация крюка при броске", + "grapplecustomization.throwspeed.desc": "Скорость крюка при броске", + "grapplecustomization.reelin.desc": "Прежде чем прикрепить крючок, прсядьте, чтобы остановить движение крюка и медленно намотать его", + "grapplecustomization.verticalthrowangle.desc": "Бросает крюк над перекрестием на этот угол", + "grapplecustomization.motor.desc": "Тянет игрока к крючку", + "grapplecustomization.motormaxspeed.desc": "Максимальная скорость мотора", + "grapplecustomization.motoracceleration.desc": "Ускорение мотора", + "grapplecustomization.motorwhencrouching.desc": "Двигатель активен, когда кнопка включения/выключения (по умолчанию: shift) удерживается", + "grapplecustomization.motorwhennotcrouching.desc": "Двигатель активен, когда кнопка включения/выключения (по умолчанию: shift) не удерживается", + "grapplecustomization.smartmotor.desc": "Регулирует скорость мотора так, чтобы игрок двигался к перекрестию (вверх/вниз)", + "grapplecustomization.motordampener.desc": "Уменьшает движение перпендикулярно верёвке, так что веревка тянет прямее", + "grapplecustomization.pullbackwards.desc": "Мотор тянет, даже если вы направлены в другую сторону", + "grapplecustomization.playermovementmult.desc": "Ускорение игрока при использовании клавиш движения во время раскачивания", + "grapplecustomization.enderstaff.desc": "Левый клик запускает игрока вперед", + "grapplecustomization.repel.desc": "Игрок отталкивается от соседних блоков при размахе", + "grapplecustomization.repelforce.desc": "Заставит соседние блоки повлиять на игрока", + "grapplecustomization.attract.desc": "Крюк притягивается к соседним блокам при броске", + "grapplecustomization.attractradius.desc": "Радиус притяжения", + "grapplecustomization.doublehook.desc": "Два крючка брошены одновременно", + "grapplecustomization.smartdoublemotor.desc": "Регулирует скорость мотора так, чтобы игрок двигался к перекрестию (влево/вправо) при использовании с мотором", + "grapplecustomization.angle.desc": "Угол поворота каждого крючка из центра", + "grapplecustomization.sneakingangle.desc": "Угол поворота каждого крючка из центра при сгибании (не включайте \"Присесть, чтобы замотать\", если вы хотите использовать это)", + "grapplecustomization.oneropepull.desc": "Когда двигатель включен и подключен только один крючок, активирует двигатель (если отключен, подождите, пока оба крючка не будут прикреплены, прежде чем тянуть)", + "grapplecustomization.sneakingverticalthrowangle.desc": "Бросает крюк над перекрестием на этот угол при наклоне", + "grapplecustomization.climbkey.desc": "Игнорировать клавиши подняться/опуститься, если не нажата клавиша 'Взобраться'", + "grapplecustomization.sticky.desc": "Если веревка огибает блок во время его переброса, прикрепите на повороте", + "grapplecustomization.detachonkeyrelease.desc": "Когда эта функция включена, зацепка отключена только при нажатой кнопке / клавише. Вместо того, чтобы снова кликать / нажимать клавишу для отсоединения крючка, отпустите кнопку / клавишу для отсоединения крючка.", + "grapplecustomization.rocket.desc": "Продвигает игрока вперед, пока нажата кнопка", + "grapplecustomization.rocket_force.desc": "Как быстро взлёт движет игрока", + "grapplecustomization.rocket_active_time.desc": "Время, когда взлёт может быть использован, пока он не заправится (топливо автоматически регенерирует, когда оно не используется)", + "grapplecustomization.rocket_refuel_ratio.desc": "Соотношение времени, которое взлёт затрачивает на регенерацию топлива, и времени, в течение которого взлёт используется. (например 2.0 означает, что единица топлива, которая расходуется за 1 секунду, потребует 2 секунды для восстановления. Чем меньше, тем лучше. )", + "grapplecustomization.rocket_vertical_angle.desc": "Угол наклона, на который прикладывается сила взлёта", + "grappletooltip.throw.desc": "- Бросить крюк", + "grappletooltip.release.desc": "again - Отпустить", + "grappletooltip.double.desc": "Два раза-", + "grappletooltip.releaseandthrow.desc": "- Отпустить и брость снова", + "grappletooltip.jump.desc": "- Отпустить и прыгнуть (пока в воздухе)", + "grappletooltip.slow.desc": "- Прекратить раскачиваться", + "grappletooltip.swing.desc": "- Раскачиваться", + "grappletooltip.climbup.desc": "- Подняться", + "grappletooltip.climbdown.desc": "- Опуститься", + "grappletooltip.shiftcontrols.desc": "(Удерживайте Shift, чтобы увидеть элементы управления)", + "grappletooltip.controlconfiguration.desc": "(Удерживайте Control, чтобы увидеть полную конфигурацию)", + "grappletooltip.enderlaunch.desc": "- Запуск (посох эндера)", + "grappletooltip.rocket.desc": "(удерж.) - Взлететь", + "grappletooltip.motoron.desc": "- Мотор вкл.", + "grappletooltip.motoroff.desc": "- Мотор выкл.", + "grappletooltip.throwalt.desc": "- Бросить (альтернативный)", + "grappletooltip.throwleft.desc": "- Бросить левый крюк", + "grappletooltip.throwright.desc": "- Бросить правый крюк", + "grappletooltip.throwhold.desc": "- Бросить кошку (удерживайте, отпустите, чтобы отделить)", + "grappletooltip.throwlefthold.desc": "(удерж.) - Бросить левый крюк", + "grappletooltip.throwrighthold.desc": "(удерж.) - Бросить правый крюк", + "grapplemodifier.close.desc": "Закрыть", + "grapplemodifier.reset.desc": "Сбросить", + "grapplemodifier.back.desc": "Назад", + "grapplemodifier.incompatability.desc": "Несовместимость с другими опциями", + "grapplemodifier.limits.desc": "Используйте улучшение лимитов, чтобы разблокировать", + "grapplemodifier.locked.desc": "Опция заблокирована из-за файла конфигурации (включите_... > 1)", + "grapplemodifier.unlock1.desc": "Категория не разблокирована:", + "grapplemodifier.unlock2.desc": "Пожалуйста, щелкните правой кнопкой мыши по этому блоку", + "grapplemodifier.unlock3.desc": "с предметом:", + "grapplemodifier.unlock4.desc": "чтобы разблокировать", + "grapplemodifier.apply.desc": "Щелкните ПКМ с помощью кошки, чтобы применить", + "grapplemodifier.helpbutton.desc": "Помощь", + "grapplemodifier.help.desc": "Щелкните ПКМ с помощью кошки, чтобы применить.\\nЩелкните ПКМ с во время падения\\n IV алмазные сапоги, чтобы получить сапоги долгого падения.\\nОтремонтируйте кошку кожей на наковальне\\n или почините.\\nУдерживайте Shift при просмотре всплывающей подсказки,\\n чтобы увидеть управление" +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index a2504cccb..4f656545c 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -1,6 +1,7 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.bud_indicator": "%s Surface Bud", + "block.gtceu.salt_block": "Block of Salt", "block.gtceu.greenhouse": "Greenhouse", "block.tfg.steam_bloomery": "Steam Bloomery", "block.tfg.steam_thermal_centrifuge": "Steam Thermal Centrifuge", @@ -23,9 +24,6 @@ "block.gtceu.ulv_super_chest": "Basic Super Chest", "block.gtceu.ulv_hermetic_casing": "Basic Hermetic Casing", "block.gtceu.hv_energy_output_hatch_4a": "§6HV 4A Dynamo Hatch§r", - "block.tfg.bioreactor": "Bioreactor", - "block.tfg.growth_chamber": "Growth Chamber", - "block.tfg.single_itemstack_bus": "Limiting Input Bus", "block.gtceu.red_granite_cobblestone": "Red Granite Cobble", "block.gtceu.mossy_red_granite_cobblestone": "Mossy Red Granite Cobble", "block.gtceu.copper_crate": "Copper Crate", @@ -36,47 +34,11 @@ "block.gtceu.bismuth_bronze_drum": "Bismuth Bronze Drum", "block.gtceu.overworld_marker": "Earth", "block.gtceu.the_nether_marker": "The Beneath", + "block.tfg.bioreactor": "Bioreactor", + "block.tfg.growth_chamber": "Growth Chamber", + "block.tfg.single_itemstack_bus": "Limiting Input Bus", "block.tfg.hydroponics_facility": "Hydroponics Facility", "block.tfg.pisciculture_fishery": "Pisciculture Fishery", - "gtceu.greenhouse": "Electric Greenhouse", - "gtceu.steam_bloomery": "Steam Bloomery", - "gtceu.food_oven": "Food Oven", - "gtceu.food_processor": "Food Processor", - "gtceu.large_solar_panel": "Large Solar Array MK I", - "gtceu.large_solar_panel_tier2": "Large Solar Array MK II", - "gtceu.large_solar_panel_tier3": "Large Solar Array MK III", - "gtceu.gas_pressurizer": "Gas Pressurizer", - "gtceu.nuclear_fuel_factory": "Nuclear Fuel Factory", - "gtceu.nuclear_turbine": "Nuclear Steam Turbine", - "gtceu.heat_exchanger": "Heat Exchanger", - "gtceu.fission_reactor": "Fission Reactor", - "gtceu.evaporation_tower": "Evaporation Tower", - "gtceu.ostrum_harvester": "Ostrum Harvester", - "gtceu.moon_dust_harvester": "Moon Dust Harvester", - "gtceu.ostrum_linear_accelerator": "Ostrum Linear Accelerator", - "gtceu.bioreactor": "Bioreactor", - "gtceu.growth_chamber": "Growth Chamber", - "gtceu.coal_liquefaction_tower": "Liquefaction Tower", - "gtceu.smr_generator": "Small Modular Turbine", - "gtceu.hydroponics_facility": "Hydroponics Facility", - "gtceu.pisciculture_fishery": "Pisciculture Fishery", - "gtceu.tooltip.machine.moon_dust_harvester_1": "§7Extraterrestrial Vacuum Cleaner§r", - "gtceu.tooltip.machine.moon_dust_harvester_2": "§7Harvests infinite Regolith Dust depending on the biome its placed in.§r", - "gtceu.tooltip.machine.ostrum_harvester_1": "§7Legally Distinct Spice Crawler§r", - "gtceu.tooltip.machine.ostrum_harvester_2": "§7Harvests infinite Ostrum Dust when placed over an Ostrum deposit.§r", - "gtceu.tooltip.machine.ostrum_harvester_3": "§7Requires drilling fluid to work.§r", - "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7Higgs Boson not included§r", - "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7Breaks down Ostrum Dust into its components. Requires various fluids from fission line.§r", - "gtceu.tooltip.machine.heat_exchanger_1": "§7Heating up Fluids with other hot Fluids§r", - "gtceu.tooltip.machine.heat_exchanger_2": "§7Transfers heat from one fluid to another.§r", - "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7Producing extra spicy Rods§r", - "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7Processes raw radioactive material into fissile fuel.§r", - "gtceu.tooltip.machine.steam_bloomery_1": "§7Upgrade your Bloomery with the power of Steam!§r", - "gtceu.tooltip.machine.steam_bloomery_2": "§7Processes Iron-bearing Dusts or Ingots into Raw Iron Blooms.§r", - "gtceu.tooltip.machine.steam_bloomery_3": "§7Fueling it with Coke or Anthracite will double the output.§r", - "gtceu.tooltip.machine.steam_parallel": "§7Can process up to 8 recipes at once, which changes how much Steam is required.§r", - "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Smoothie Maker§r", - "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Extracts gas and liquids from carbonic solids§r", "item.gtceu.tiny_wood_dust": "Tiny Pile of Softwood Pulp", "item.gtceu.small_wood_dust": "Small Pile of Softwood Pulp", "item.gtceu.wood_dust": "Softwood Pulp", @@ -130,21 +92,22 @@ "item.gtceu.naquadah_credit": "§7262,144 Credits", "item.gtceu.neutronium_credit": "§72,097,152 Credits", "item.gtceu.wood_plate": "Medium Density Fiberboard", + "item.gtceu.salt_dust": "Salt", + "item.gtceu.small_salt_dust": "Small Pile of Salt", + "item.gtceu.tiny_salt_dust": "Tiny Pile of Salt", "item.gtceu.chipped_salt_gem": "Chipped Salt Crystal", - "item.gtceu.chipped_rock_salt_gem": "Chipped Rock Salt Crystal", "item.gtceu.flawed_salt_gem": "Flawed Salt Crystal", - "item.gtceu.flawed_rock_salt_gem": "Flawed Rock Salt Crystal", "item.gtceu.salt_gem": "Salt Crystal", - "item.gtceu.rock_salt_gem": "Rock Salt Crystal", "item.gtceu.exquisite_salt_gem": "Exquisite Salt Crystal", - "item.gtceu.exquisite_rock_salt_gem": "Exquisite Rock Salt Crystal", "item.gtceu.flawless_salt_gem": "Flawless Salt Crystal", - "item.gtceu.flawless_rock_salt_gem": "Flawless Rock Salt Crystal", "material.gtceu.ice": "Ice Slush", "material.gtceu.damascus_steel": "Swine-steel", "material.gtceu.air": "Earth Air", "material.gtceu.liquid_air": "Liquid Earth Air", "material.gtceu.cooperite": "Cooperite", + "material.gtceu.rock_salt": "Sylvite", + "material.gtceu.salt": "Halite", + "material.gtceu.quartzite": "Quartz", "material.gtceu.armalcolite": "Armalcolite", "material.gtceu.desh": "Desh", "material.gtceu.ostrum": "Ostrum", @@ -152,6 +115,7 @@ "material.tfg.etrium": "Etrium", "material.gtceu.tarkianite": "Tarkianite", "material.gtceu.thorium": "Thorianite", + "material.gtceu.dimethylbenzene": "Xylene", "material.gtceu.aluminium_silicate": "Aluminium Silicate", "material.gtceu.rocket_alloy_t1": "R-Aluminosteel Rocket Alloy", "material.gtceu.rocket_alloy_t2": "ASM 4914 Titanium Rocket Alloy", @@ -226,6 +190,28 @@ "block.gtceu.wire_coil.tooltip_cracking": "§8Cracking Unit, Moon and Ostrum Harvesters:§r", "tooltip.moldraw.shift_view_molecule": "§7§oHold (Shift) for Molecular Structure§r", "tooltip.moldraw.shift_view_alloy": "§7§oHold (Shift) for Alloy Composition§r", + "gtceu.greenhouse": "Electric Greenhouse", + "gtceu.steam_bloomery": "Steam Bloomery", + "gtceu.food_oven": "Food Oven", + "gtceu.food_processor": "Food Processor", + "gtceu.large_solar_panel": "Large Solar Array MK I", + "gtceu.large_solar_panel_tier2": "Large Solar Array MK II", + "gtceu.large_solar_panel_tier3": "Large Solar Array MK III", + "gtceu.gas_pressurizer": "Gas Pressurizer", + "gtceu.nuclear_fuel_factory": "Nuclear Fuel Factory", + "gtceu.nuclear_turbine": "Nuclear Steam Turbine", + "gtceu.heat_exchanger": "Heat Exchanger", + "gtceu.fission_reactor": "Fission Reactor", + "gtceu.evaporation_tower": "Evaporation Tower", + "gtceu.ostrum_harvester": "Ostrum Harvester", + "gtceu.moon_dust_harvester": "Moon Dust Harvester", + "gtceu.ostrum_linear_accelerator": "Ostrum Linear Accelerator", + "gtceu.bioreactor": "Bioreactor", + "gtceu.growth_chamber": "Growth Chamber", + "gtceu.coal_liquefaction_tower": "Liquefaction Tower", + "gtceu.smr_generator": "Small Modular Turbine", + "gtceu.hydroponics_facility": "Hydroponics Facility", + "gtceu.pisciculture_fishery": "Pisciculture Fishery", "tagprefix.sword_head": "%s Sword Head", "tagprefix.pickaxe_head": "%s Pickaxe Head", "tagprefix.shovel_head": "%s Shovel Head", @@ -261,5 +247,22 @@ "tagprefix.marble": "Marble %s Ore", "tagprefix.deepslate": "Migmatite %s Ore", "tagprefix.pyroxenite": "Pyroxenite %s Ore", - "tagprefix.dripstone": "Travertine %s Ore" + "tagprefix.dripstone": "Travertine %s Ore", + "gtceu.tooltip.machine.moon_dust_harvester_1": "§7Extraterrestrial Vacuum Cleaner§r", + "gtceu.tooltip.machine.moon_dust_harvester_2": "§7Harvests infinite Regolith Dust depending on the biome its placed in.§r", + "gtceu.tooltip.machine.ostrum_harvester_1": "§7Legally Distinct Spice Crawler§r", + "gtceu.tooltip.machine.ostrum_harvester_2": "§7Harvests infinite Ostrum Dust when placed over an Ostrum deposit.§r", + "gtceu.tooltip.machine.ostrum_harvester_3": "§7Requires drilling fluid to work.§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7Higgs Boson not included§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7Breaks down Ostrum Dust into its components. Requires various fluids from fission line.§r", + "gtceu.tooltip.machine.heat_exchanger_1": "§7Heating up Fluids with other hot Fluids§r", + "gtceu.tooltip.machine.heat_exchanger_2": "§7Transfers heat from one fluid to another.§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7Producing extra spicy Rods§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7Processes raw radioactive material into fissile fuel.§r", + "gtceu.tooltip.machine.steam_bloomery_1": "§7Upgrade your Bloomery with the power of Steam!§r", + "gtceu.tooltip.machine.steam_bloomery_2": "§7Processes Iron-bearing Dusts or Ingots into Raw Iron Blooms.§r", + "gtceu.tooltip.machine.steam_bloomery_3": "§7Fueling it with Coke or Anthracite will double the output.§r", + "gtceu.tooltip.machine.steam_parallel": "§7Can process up to 8 recipes at once, which changes how much Steam is required.§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Smoothie Maker§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Extracts gas and liquids from carbonic solids§r" } \ No newline at end of file diff --git a/kubejs/assets/gtceu/lang/es_es.json b/kubejs/assets/gtceu/lang/es_es.json new file mode 100644 index 000000000..a7aefb4f9 --- /dev/null +++ b/kubejs/assets/gtceu/lang/es_es.json @@ -0,0 +1,265 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.bud_indicator": "Brote Superficial de %s", + "block.gtceu.greenhouse": "Invernadero", + "block.tfg.steam_bloomery": "Ferrería a Vapor", + "block.tfg.steam_thermal_centrifuge": "Centrifuradora Térmica a Vapor", + "block.tfg.steam_fuser": "Fusor de Vapor", + "block.tfg.steam_squasher": "Aplastador de Vapor", + "block.tfg.steam_presser": "Prensa de Vapor", + "block.gtceu.large_solar_panel": "§9Conjunto Solar Grande Mk I", + "block.gtceu.large_solar_panel_tier2": "§bConjunto Solar Grande Mk II", + "block.gtceu.large_solar_panel_tier3": "§cConjunto Solar Grande Mk III", + "block.gtceu.gas_pressurizer": "Presurizador de Gases", + "block.gtceu.nuclear_fuel_factory": "Fábrica de Combustible Nuclear", + "block.gtceu.heat_exchanger": "Intercambiador de Calor", + "block.gtceu.fission_reactor": "Reactor de Fisión", + "block.gtceu.evaporation_tower": "Torre de Evaporación", + "block.gtceu.ostrum_harvester": "Recolector de Ostreum", + "block.gtceu.moon_dust_harvester": "Recolector de Polvo Lunar", + "block.tfg.ostrum_linear_accelerator": "Acelerador Lineal de Ostreum", + "block.gtceu.coal_liquefaction_tower": "Torre de Liquefacción", + "block.gtceu.ulv_super_tank": "Supertanque Básico", + "block.gtceu.ulv_super_chest": "Supercofre Básico", + "block.gtceu.ulv_hermetic_casing": "Carcasa Hermética Básica", + "block.gtceu.hv_energy_output_hatch_4a": "Escotilla Dinamo §64A HV", + "block.tfg.bioreactor": "Bioreactor", + "block.tfg.growth_chamber": "Recámara de Crecimiento", + "block.tfg.single_itemstack_bus": "Bus de Entrada Limitante", + "block.tfg.hydroponics_facility": "Instalación Hidropónica", + "block.tfg.pisciculture_fishery": "Pescador de Piscicultura", + "block.gtceu.red_granite_cobblestone": "Roca de Granito Rojo", + "block.gtceu.mossy_red_granite_cobblestone": "Roca de Granito Rojo Musgosa", + "block.gtceu.copper_crate": "Caja de Cobre", + "block.gtceu.copper_drum": "Tambor de Cobre", + "block.gtceu.black_bronze_crate": "Caja de Bronce Negro", + "block.gtceu.black_bronze_drum": "Tambor de Bronce Negro", + "block.gtceu.bismuth_bronze_crate": "Caja de Bronce de Bismuto", + "block.gtceu.bismuth_bronze_drum": "Tambor de Bronce de Bismuto", + "block.gtceu.overworld_marker": "La Tierra", + "block.gtceu.the_nether_marker": "El Más Allá", + "gtceu.greenhouse": "Invernadero Eléctrico", + "gtceu.steam_bloomery": "Ferrería a Vapor", + "gtceu.food_oven": "Horno Alimenticio", + "gtceu.food_processor": "Procesador Alimenticio", + "gtceu.large_solar_panel": "Conjunto Solar Grande MK I", + "gtceu.large_solar_panel_tier2": "Conjunto Solar Grande MK II", + "gtceu.large_solar_panel_tier3": "Conjunto Solar Grande MK III", + "gtceu.gas_pressurizer": "Presurizador de Gases", + "gtceu.nuclear_fuel_factory": "Fabrica de Combustible Nuclear", + "gtceu.nuclear_turbine": "Turbina de Vapor Nuclear", + "gtceu.heat_exchanger": "Intercambiador de Calor", + "gtceu.fission_reactor": "Reactor de Fisión", + "gtceu.evaporation_tower": "Torre de Evaporación", + "gtceu.ostrum_harvester": "Recolector de Ostreum", + "gtceu.moon_dust_harvester": "Recolector de Polvo Lunar", + "gtceu.ostrum_linear_accelerator": "Acelerador Lineal de Ostreum", + "gtceu.bioreactor": "Bioreactor", + "gtceu.growth_chamber": "Recamara de Crecimiento", + "gtceu.coal_liquefaction_tower": "Torre de Liquefacción", + "gtceu.smr_generator": "Turbina Modular Pequeña", + "gtceu.hydroponics_facility": "Instalación Hidropónica", + "gtceu.pisciculture_fishery": "Pescador de Piscicultura", + "gtceu.tooltip.machine.moon_dust_harvester_1": "§7Limpiador de Vacío Extraterrestre§r", + "gtceu.tooltip.machine.moon_dust_harvester_2": "§7Recolecta Polvo de Regolito dependiendo en el bioma en el que se coloca.§r", + "gtceu.tooltip.machine.ostrum_harvester_1": "§7Legally Distinct Spice Crawler§r", + "gtceu.tooltip.machine.ostrum_harvester_2": "§7Recolecta Polvo de Ostreum infinitamente al colocar sobre un depósito de Ostreum.§r", + "gtceu.tooltip.machine.ostrum_harvester_3": "§7Requiere fluído de taladro para funcionar.§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7No incluye bosón de Higgs§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7Descompone Polvo de Ostreum en sus componentes. Requiere varios fluídos de la línea de fisión.§r", + "gtceu.tooltip.machine.heat_exchanger_1": "§7Calentando Fluídos con otros fluídos calientes§r", + "gtceu.tooltip.machine.heat_exchanger_2": "§7Transfiere calor de un fluído a otro.§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7Produciendo varas extra calientes§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7Produce el material radioactivo crudo en combustible fisionable.§r", + "gtceu.tooltip.machine.steam_bloomery_1": "§7Mejora tu forja de hierro con el poder del vapor!§r", + "gtceu.tooltip.machine.steam_bloomery_2": "§7Procesa Polvos o Lingotes ferríferos en flores de hierro.§r", + "gtceu.tooltip.machine.steam_bloomery_3": "§7Alimentarlo con Coque o Antracita duplicará la salida.§r", + "gtceu.tooltip.machine.steam_bloomery_4": "§7Puede procesar hasta 8 recetas a la vez, lo que cambia el Vapor requerido.§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Productor de batidos§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Extrae gases y líquidos de solidos carbónicos§r", + "item.gtceu.tiny_wood_dust": "Pulpa Diminuta de Madera Suave", + "item.gtceu.small_wood_dust": "Pulpa Pequeña de Madera Suave", + "item.gtceu.wood_dust": "Pulpa de Madera Suave", + "item.gtceu.tiny_hardwood_dust": "Pulpa Diminuta de Madera Dura", + "item.gtceu.small_hardwood_dust": "Pulpa Pequeña de Madera Dura", + "item.gtceu.hardwood_dust": "Pulpa de Madera Dura", + "item.gtceu.tiny_thermochemically_treated_hardwood_dust": "Pulpa Diminuta de Madera Dura Termoquímicamente Tratada", + "item.gtceu.small_thermochemically_treated_hardwood_dust": "Pulpa Pequeña de Madera Dura Termoquímicamente Tratada", + "item.gtceu.thermochemically_treated_hardwood_dust": "Pulpa de Madera Dura Termoquímicamente Tratada", + "item.gtceu.tool.behavior.canoe_creator": "§5Embarcador: §fPuede Crear Canoas", + "item.gtceu.deepslate_dust": "Migmatita", + "item.gtceu.small_deepslate_dust": "Polvo Pequeño de Migmatita", + "item.gtceu.tiny_deepslate_dust": "Polvo Diminuto de Migmatita", + "item.gtceu.blackstone_dust": "Piroxenita", + "item.gtceu.small_blackstone_dust": "Polvo Pequeño de Piroxenita", + "item.gtceu.tiny_blackstone_dust": "Polvo Diminuto de Piroxenita", + "item.gtceu.netherrack_dust": "Queratofiro", + "item.gtceu.small_netherrack_dust": "Polvo Pequeño de Queratofiro", + "item.gtceu.tiny_netherrack_dust": "Polvo Diminuto de Queratofiro", + "item.gtceu.iron_ring": "Anillo de Hierro Fundido", + "item.gtceu.small_iron_gear": "Engranaje de Hierro Fundido Pequeño", + "item.gtceu.iron_gear": "Engranaje de Hierro Fundido", + "item.gtceu.iron_plate": "Placa de Hierro Fundido", + "item.gtceu.double_iron_plate": "Placa de Hierro Fundido Doble", + "item.gtceu.iron_rod": "Vara de Hierro Fundido", + "item.gtceu.long_iron_rod": "Vara de Hierro Fundido Larga", + "item.gtceu.iron_rotor": "Rotor de Hierro Fundido", + "item.gtceu.iron_spring": "Resorte de Hierro Fundido", + "item.gtceu.small_iron_spring": "Resorte de Hierro Fundido Pequeño", + "item.gtceu.iron_bolt": "Perno de Hierro Fundido", + "item.gtceu.iron_screw": "Tornillo de Hierro Fundido", + "item.gtceu.iron_turbine_blade": "Hoja de Turbina de Hierro Fundido", + "item.gtceu.iron_round": "Ronda de Hierro Fundido", + "item.gtceu.iron_single_wire": "Cable 1x de Hierro Fundido", + "item.gtceu.iron_double_wire": "Cable 2x de Hierro Fundido", + "item.gtceu.iron_quadruple_wire": "Cable 4x de Hierro Fundido", + "item.gtceu.iron_octal_wire": "Cable 8x de Hierro Fundido", + "item.gtceu.iron_hex_wire": "Cable 16x de Hierro Fundido", + "item.gtceu.iron_single_cable": "Cable Aislado 1x de Hierro Fundido", + "item.gtceu.iron_double_cable": "Cable Aislado 2x de Hierro Fundido", + "item.gtceu.iron_quadruple_cable": "Cable Aislado 4x de Hierro Fundido", + "item.gtceu.iron_octal_cable": "Cable Aislado 8x de Hierro Fundido", + "item.gtceu.iron_hex_cable": "Cable Aislado 16x de Hierro Fundido", + "item.gtceu.ice_bucket": "Cubo de Granizado de Hielo", + "item.gtceu.copper_credit": "§71 Créditos", + "item.gtceu.cupronickel_credit": "§78 Créditos", + "item.gtceu.silver_credit": "§764 Créditos", + "item.gtceu.gold_credit": "§7512 Créditos", + "item.gtceu.platinum_credit": "§74,096 Créditos", + "item.gtceu.osmium_credit": "§732,768 Créditos", + "item.gtceu.naquadah_credit": "§7262,144 Créditos", + "item.gtceu.neutronium_credit": "§72,097,152 Créditos", + "item.gtceu.wood_plate": "Tablero de fibra de densidad media", + "item.gtceu.chipped_salt_gem": "Cristal de Sal Quebrado", + "item.gtceu.chipped_rock_salt_gem": "Cristal de Sal Gema Quebrado", + "item.gtceu.flawed_salt_gem": "Cristal de Sal Defectuoso", + "item.gtceu.flawed_rock_salt_gem": "Cristal de Sal Gema Defectuoso", + "item.gtceu.salt_gem": "Cristal de Sal", + "item.gtceu.rock_salt_gem": "Cristal de Sal Gema", + "item.gtceu.exquisite_salt_gem": "Cristal de Sal Exquisito", + "item.gtceu.exquisite_rock_salt_gem": "Cristal de Sal Gema Exquisito", + "item.gtceu.flawless_salt_gem": "Cristal de Sal Impecable", + "item.gtceu.flawless_rock_salt_gem": "Cristal de Sal Gema Impecable", + "material.gtceu.ice": "Granizado de Hielo", + "material.gtceu.damascus_steel": "Acero Porcino", + "material.gtceu.air": "Aire Terrestre", + "material.gtceu.liquid_air": "Aire Terrestre Líquido", + "material.gtceu.cooperite": "Cooperita", + "material.gtceu.armalcolite": "Armalcolita", + "material.gtceu.desh": "Desh", + "material.gtceu.ostrum": "Ostreum", + "material.tfg.calorite": "Calorita", + "material.tfg.etrium": "Etrio", + "material.gtceu.tarkianite": "Tarkianita", + "material.gtceu.thorium": "Torianita", + "material.gtceu.aluminium_silicate": "Silicato de Aluminio", + "material.gtceu.rocket_alloy_t1": "Aleación de Cohete R-Aluminacero", + "material.gtceu.rocket_alloy_t2": "Aleación de Cohete de Titanio ASM 4914", + "material.gtceu.rocket_alloy_t3": "Aleación de Cohete de Acero de Tungsteno 45-Ti", + "material.gtceu.vitrified_asbestos": "Amianto Vitrificado", + "material.gtceu.liquid_carbon_dioxide": "Dióxido de Carbono Líquido", + "material.gtceu.hot_debrominated_brine": "Salmuera Desbromada Caliente", + "material.gtceu.hydrogen_iodide": "Ioduro de Hidrógeno", + "material.gtceu.dense_steam": "Vapor a Alta Presión", + "material.gtceu.radioactive_steam": "Vapor Radioactivo", + "material.gtceu.radioactive_waste": "Residuo Radioactivo", + "material.gtceu.irradiated_steam": "Vapor Irradiado", + "material.gtceu.heavy_water": "Agua Densa", + "material.gtceu.uranium_waste": "Residuo de Uranio", + "material.gtceu.nuclear_waste": "Residuo Nuclear", + "material.gtceu.dirty_hexafluorosilicic_acid": "Ácido Hexafluorosilícico Sucio", + "material.gtceu.martian_sludge": "Lodo Marciano", + "material.gtceu.dioxygen_difluoride": "Difluoruro de Dioxígeno", + "material.gtceu.tritiated_water": "Agua Tritiada", + "material.gtceu.raw_rich_brine": "Salmuera Rica Sin Procesar", + "material.gtceu.hot_iodine_brine": "Salmuera de Iodo Caliente", + "material.gtceu.brominated_iodine_vapor": "Vapor de Iodo Bromado", + "material.gtceu.basic_bromine_exhaust": "Residuo de Bromo Básico", + "material.gtceu.dirty_flibe": "FLiBe Sucio", + "material.gtceu.flibe": "FLiBe", + "material.gtceu.hot_flibe": "FLiBe Caliente", + "material.gtceu.raw_brine": "Salmuera Cruda", + "material.gtceu.hot_brine": "Salmuera Caliente", + "material.gtceu.hot_chlorinated_brominated_brine": "Salmuera Caliente Clorada y Bromada", + "material.gtceu.brominated_chlorine_vapor": "Vapor de Cloro Bromado", + "material.gtceu.acidic_bromine_solution": "Solución Acídica de Bromo", + "material.gtceu.concentrated_bromine_solution": "Solución de Bromo Concentrada", + "material.gtceu.debrominated_brine": "Salmuera Desbromada", + "material.gtceu.acidic_bromine_exhaust": "Residuo Ácido de Bromo", + "material.gtceu.hot_alkaline_debrominated_brine": "Salmuera Alcalina Desbromada Caliente", + "material.gtceu.lithium_carbonate": "Carbonato de Litio", + "material.gtceu.lithium_fluoride": "Fluoruro de Litio", + "material.gtceu.tetrafluoroberyllate": "Tetrafluoroberiliato", + "material.gtceu.thorium_230": "Torio 230", + "material.gtceu.thorium_232": "Torio 232", + "material.gtceu.tbu-232_pellet": "Pastilla de TBU 232", + "material.gtceu.plutonium_pellet": "Pastilla de Plutonio", + "material.gtceu.uranium_pellet": "Pastilla de Uranio", + "material.gtceu.thorium_pellet": "Pastilla de Torio", + "material.gtceu.ostrum_iodide": "Ioduro de Ostreum", + "material.gtceu.americium": "Americio 243", + "material.gtceu.uranium": "Uraniuo 238", + "material.gtceu.plutonium": "Plutonio 239", + "material.gtceu.residual_radioactive_concoction": "Mezcla Radiactiva Residual", + "material.gtceu.regolith_vapor": "Vapor de Regolito", + "material.gtceu.dense_ostrum_vapor": "Vapor de Ostreum Denso", + "material.gtceu.lightweight_ostrum_vapor": "Vapor de Ostreum Ligero", + "material.gtceu.ostrum_vapor": "Vapor de Ostreum", + "metaitem.dust.tooltip.purify": "Deja remojar en agua para obtener polvo limpio", + "metaitem.crushed.tooltip.purify": "Deja remojar en agua para obtener la mena purificada", + "item.gtceu.tool.behavior.silk_ice": "§dEscultor:§r Recolecta Hielo Compacto", + "item.gtceu.tool.butchery_knife.tooltip": "§cCarnicero:§r Carnea animales para recibir más carne", + "item.gtceu.tool.tooltip.repair_info": "", + "item.gtceu.tool.tooltip.repair_material": "", + "gtceu.machine.lp_steam_extractor.tooltip": "§7No extrae fluídos", + "gtceu.machine.hp_steam_extractor.tooltip": "§7No extrae fluídos", + "gtceu.jei.bedrock_fluid.nether_natural_gas_deposit": "Depósito de Gas Natural del Más Allá", + "gtceu.jei.bedrock_fluid.moon_helium": "Depósito de Helio Lunar", + "gtceu.jei.bedrock_fluid.moon_helium_3": "Depósito de Helio-3 Lunar", + "gtceu.jei.bedrock_fluid.moon_argon": "Depósito de Argón Lunar", + "gtceu.jei.bedrock_fluid.semiheavy_ammoniacal_water": "Depósito de Agua Semi-densa Amoníaca Marciano", + "gtceu.jei.bedrock_fluid.liquid_carbon_dioxide": "Depósito de Dióxido de Carbono Líquido Marciano", + "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "Depósito de Agua Densa Amoníaca Marciano", + "gtceu.jei.bedrock_fluid.liquid_ice": "Depósito de Hielo Marciano", + "gtceu.recipe.category.ingot_molding": "Moldeado de Materiales", + "block.gtceu.wire_coil.tooltip_pyro": "§8Horno de Pirólisis, Torre de Liquefacción y Fábrica de Combustible Nuclear:§r", + "block.gtceu.wire_coil.tooltip_cracking": "§8Unidad de Cracking, Recolectores Lunar y de Ostreum:§r", + "tooltip.moldraw.shift_view_molecule": "§7§oMantén (Shift) para Estructura Molecular§r", + "tooltip.moldraw.shift_view_alloy": "§7§oMantén (Shift) para Composición de Aleación§r", + "tagprefix.sword_head": "Hoja de Espada de %s", + "tagprefix.pickaxe_head": "Cabezal de Pico de %s", + "tagprefix.shovel_head": "Hoja de Pala de %s", + "tagprefix.axe_head": "Cabezal de Hacha de %s", + "tagprefix.hoe_head": "Cabezal de Azada de %s", + "tagprefix.scythe_head": "Hoja de Hoz de %s", + "tagprefix.file_head": "Cabezal de Lima de %s", + "tagprefix.hammer_head": "Cabezal de Martillo de %s", + "tagprefix.saw_head": "Cabezal de Sierra de %s", + "tagprefix.knife_head": "Hoja de Cuchillo de %s", + "tagprefix.butchery_knife_head": "Hoja de Cuchilla de Carnicero de %s", + "tagprefix.mining_hammer_head": "Cabezal de Martillo de Minería de %s", + "tagprefix.spade_head": "Cabezal de Pala de %s", + "tagprefix.double_ingot": "%s Double Ingot", + "tagprefix.poor_raw": "%s en Bruto Pobre", + "tagprefix.rich_raw": "%s en Bruto Rico", + "tagprefix.dusty_raw": "%s en Bruto Polvoriento", + "tagprefix.gabbro": "Mineral de %s de Gabro", + "tagprefix.shale": "Mineral de %s de Pizarra Oscura", + "tagprefix.claystone": "Mineral de %s de Lutita", + "tagprefix.limestone": "Mineral de %s de Caliza", + "tagprefix.conglomerate": "Mineral de %s de Conglomerado", + "tagprefix.dolomite": "Mineral de %s de Dolomita", + "tagprefix.chert": "Mineral de %s de Sílex", + "tagprefix.chalk": "Mineral de %s de Tiza", + "tagprefix.rhyolite": "Mineral de %s de Riolita", + "tagprefix.dacite": "Mineral de %s de Dacita", + "tagprefix.quartzite": "Mineral de %s de Cuarcita", + "tagprefix.slate": "Mineral de %s de Pizarra", + "tagprefix.phyllite": "Mineral de %s de Filita", + "tagprefix.schist": "Mineral de %s de Esquisto", + "tagprefix.gneiss": "Mineral de %s de Gneis", + "tagprefix.marble": "Mineral de %s de Mármol", + "tagprefix.deepslate": "Mineral de %s de Migmatita", + "tagprefix.pyroxenite": "Mineral de %s de Piroxenita", + "tagprefix.dripstone": "Mineral de %s de Travertina" +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/lang/ja_jp.json b/kubejs/assets/gtceu/lang/ja_jp.json index a8dabe166..555415ec9 100644 --- a/kubejs/assets/gtceu/lang/ja_jp.json +++ b/kubejs/assets/gtceu/lang/ja_jp.json @@ -127,15 +127,10 @@ "item.gtceu.neutronium_credit": "§72,097,152 Credits", "item.gtceu.wood_plate": "繊維板", "item.gtceu.chipped_salt_gem": "欠けた塩の結晶", - "item.gtceu.chipped_rock_salt_gem": "欠けた岩塩の結晶", "item.gtceu.flawed_salt_gem": "傷のある塩の結晶", - "item.gtceu.flawed_rock_salt_gem": "傷のある岩塩の結晶", "item.gtceu.salt_gem": "塩の結晶", - "item.gtceu.rock_salt_gem": "岩塩の結晶", "item.gtceu.exquisite_salt_gem": "精巧な塩の結晶", - "item.gtceu.exquisite_rock_salt_gem": "精巧な岩塩の結晶", "item.gtceu.flawless_salt_gem": "傷のない塩の結晶", - "item.gtceu.flawless_rock_salt_gem": "傷のない岩塩の結晶", "material.gtceu.ice": "氷泥", "material.gtceu.damascus_steel": "豚鋼", "material.gtceu.air": "空気", diff --git a/kubejs/assets/gtceu/lang/ru_ru.json b/kubejs/assets/gtceu/lang/ru_ru.json index b8db882e4..00e39cc53 100644 --- a/kubejs/assets/gtceu/lang/ru_ru.json +++ b/kubejs/assets/gtceu/lang/ru_ru.json @@ -36,6 +36,8 @@ "block.gtceu.bismuth_bronze_drum": "Бочка из висмутовой бронзы", "block.gtceu.overworld_marker": "Земля", "block.gtceu.the_nether_marker": "Бездна", + "block.tfg.hydroponics_facility": "Гидропонная установка", + "block.tfg.pisciculture_fishery": "Промышленный рыболов", "gtceu.greenhouse": "Электрическая теплица", "gtceu.steam_bloomery": "Паровой сыродутный горн", "gtceu.food_oven": "Духовка", @@ -56,6 +58,8 @@ "gtceu.growth_chamber": "Ростовая камера", "gtceu.coal_liquefaction_tower": "Башня сжижения угля", "gtceu.smr_generator": "Малая модульная турбина", + "gtceu.hydroponics_facility": "Гидропонная установка", + "gtceu.pisciculture_fishery": "Промышленный рыболов", "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", @@ -127,15 +131,10 @@ "item.gtceu.neutronium_credit": "§72,097,152 Credits", "item.gtceu.wood_plate": "МДФ доска", "item.gtceu.chipped_salt_gem": "Соль (Осколок)", - "item.gtceu.chipped_rock_salt_gem": "Каменная соль (Осколок)", "item.gtceu.flawed_salt_gem": "Соль (Необработанный)", - "item.gtceu.flawed_rock_salt_gem": "Каменная соль (Необработанный)", "item.gtceu.salt_gem": "Соль (Кристалл)", - "item.gtceu.rock_salt_gem": "Каменная соль (Кристалл)", "item.gtceu.exquisite_salt_gem": "Соль (Безупречный)", - "item.gtceu.exquisite_rock_salt_gem": "Каменная соль (Безупречный)", "item.gtceu.flawless_salt_gem": "Соль (Изысканный)", - "item.gtceu.flawless_rock_salt_gem": "Каменная соль (Изысканный)", "item.gtceu.sticky_resin": "Липкая смола", "material.gtceu.ice": "Ледяная слякоть", "material.gtceu.damascus_steel": "Свинячья сталь", diff --git a/kubejs/assets/gtceu/lang/uk_ua.json b/kubejs/assets/gtceu/lang/uk_ua.json index 99ec950bf..7a886c648 100644 --- a/kubejs/assets/gtceu/lang/uk_ua.json +++ b/kubejs/assets/gtceu/lang/uk_ua.json @@ -36,6 +36,8 @@ "block.gtceu.bismuth_bronze_drum": "Бочка з Вісмутової Бронзи", "block.gtceu.overworld_marker": "Земля", "block.gtceu.the_nether_marker": "Безодня", + "block.tfg.hydroponics_facility": "Гідропонічний комплекс", + "block.tfg.pisciculture_fishery": "Рибна ферма", "gtceu.greenhouse": "Електрична теплиця", "gtceu.steam_bloomery": "Парова Сиродутна Піч", "gtceu.food_oven": "Духова піч", @@ -56,6 +58,8 @@ "gtceu.growth_chamber": "Камера росту", "gtceu.coal_liquefaction_tower": "Вежа зрідження", "gtceu.smr_generator": "Мала модульна турбіна", + "gtceu.hydroponics_facility": "Гідропонічний комплекс", + "gtceu.pisciculture_fishery": "Рибна ферма", "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", diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index a239f9f99..ede962ce3 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -1,6 +1,7 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.bud_indicator": "%s 表面芽", + "block.gtceu.salt_block": "盐块", "block.gtceu.greenhouse": "温室", "block.tfg.steam_bloomery": "蒸汽锻铁炉", "block.tfg.steam_thermal_centrifuge": "大型蒸汽热力离心机", @@ -23,9 +24,6 @@ "block.gtceu.ulv_super_chest": "基础超级箱", "block.gtceu.ulv_hermetic_casing": "基础密封机械方块", "block.gtceu.hv_energy_output_hatch_4a": "§6HV 4A 动力仓§r", - "block.tfg.bioreactor": "生物反应器", - "block.tfg.growth_chamber": "生长室", - "block.tfg.single_itemstack_bus": "限速输入总线", "block.gtceu.red_granite_cobblestone": "红花岗岩圆石", "block.gtceu.mossy_red_granite_cobblestone": "覆苔红花岗岩圆石", "block.gtceu.copper_crate": "铜板条箱", @@ -36,47 +34,11 @@ "block.gtceu.bismuth_bronze_drum": "铋青铜桶", "block.gtceu.overworld_marker": "地球", "block.gtceu.the_nether_marker": "幽冥之地", + "block.tfg.bioreactor": "生物反应器", + "block.tfg.growth_chamber": "生长室", + "block.tfg.single_itemstack_bus": "限速输入总线", "block.tfg.hydroponics_facility": "水培设施", "block.tfg.pisciculture_fishery": "水产养殖场", - "gtceu.greenhouse": "电力温室", - "gtceu.steam_bloomery": "蒸汽锻铁炉", - "gtceu.food_oven": "食物烤炉", - "gtceu.food_processor": "食物处理机", - "gtceu.large_solar_panel": "大型太阳能阵列 MK I", - "gtceu.large_solar_panel_tier2": "大型太阳能阵列 MK II", - "gtceu.large_solar_panel_tier3": "大型太阳能阵列 MK III", - "gtceu.gas_pressurizer": "气体加压器", - "gtceu.nuclear_fuel_factory": "核燃料工厂", - "gtceu.nuclear_turbine": "核能蒸汽涡轮", - "gtceu.heat_exchanger": "热交换器", - "gtceu.fission_reactor": "裂变反应堆", - "gtceu.evaporation_tower": "蒸发塔", - "gtceu.ostrum_harvester": "紫金采集器", - "gtceu.moon_dust_harvester": "月壤采集器", - "gtceu.ostrum_linear_accelerator": "紫金线性加速器", - "gtceu.bioreactor": "生物反应器", - "gtceu.growth_chamber": "生长室", - "gtceu.coal_liquefaction_tower": "液化塔", - "gtceu.smr_generator": "小型模块化涡轮", - "gtceu.hydroponics_facility": "水培设施", - "gtceu.pisciculture_fishery": "水产养殖场", - "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_3": "§7需消耗钻井液。§r", - "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7不含希格斯玻色子§r", - "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7将紫金矿粉分解为组分原料。需配合裂变产线多种流体。§r", - "gtceu.tooltip.machine.heat_exchanger_1": "§7用高温流体加热其他流体§r", - "gtceu.tooltip.machine.heat_exchanger_2": "§7实现流体间的热量传递§r", - "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7超劲爆燃料棒制造厂§r", - "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7将原始放射性材料加工成裂变燃料§r", - "gtceu.tooltip.machine.steam_bloomery_1": "§7用蒸汽动力升级你的锻铁炉!§r", - "gtceu.tooltip.machine.steam_bloomery_2": "§7将含铁矿粉或锭加工成生铁方坯。§r", - "gtceu.tooltip.machine.steam_bloomery_3": "§7使用焦煤或无烟煤可倍增产量。§r", - "gtceu.tooltip.machine.steam_parallel": "§7支持最多8组配方并行处理,相应调整蒸汽需求。§r", - "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7奶昔制造机§r", - "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7从碳质固体中提取燃气和流体§r", "item.gtceu.tiny_wood_dust": "小撮软木浆", "item.gtceu.small_wood_dust": "小堆软木浆", "item.gtceu.wood_dust": "软木浆", @@ -130,21 +92,22 @@ "item.gtceu.naquadah_credit": "§7262,144币值", "item.gtceu.neutronium_credit": "§72,097,152币值", "item.gtceu.wood_plate": "中密度纤维板", + "item.gtceu.salt_dust": "盐", + "item.gtceu.small_salt_dust": "小堆盐", + "item.gtceu.tiny_salt_dust": "小撮盐", "item.gtceu.chipped_salt_gem": "破碎的盐晶体", - "item.gtceu.chipped_rock_salt_gem": "破碎的岩盐晶体", "item.gtceu.flawed_salt_gem": "有瑕的盐晶体", - "item.gtceu.flawed_rock_salt_gem": "有瑕的岩盐晶体", "item.gtceu.salt_gem": "盐晶体", - "item.gtceu.rock_salt_gem": "岩盐晶体", "item.gtceu.exquisite_salt_gem": "精致的盐晶体", - "item.gtceu.exquisite_rock_salt_gem": "精致的岩盐晶体", "item.gtceu.flawless_salt_gem": "无暇的盐晶体", - "item.gtceu.flawless_rock_salt_gem": "无暇的岩盐晶体", "material.gtceu.ice": "冰泥", "material.gtceu.damascus_steel": "猪灵钢", "material.gtceu.air": "地球空气", "material.gtceu.liquid_air": "液态地球空气", "material.gtceu.cooperite": "硫铂矿", + "material.gtceu.rock_salt": "钾石盐", + "material.gtceu.salt": "岩盐", + "material.gtceu.quartzite": "石英", "material.gtceu.armalcolite": "阿姆阿尔柯尔矿", "material.gtceu.desh": "戴斯", "material.gtceu.ostrum": "紫金", @@ -152,6 +115,7 @@ "material.tfg.etrium": "埃忒恩", "material.gtceu.tarkianite": "塔基安矿", "material.gtceu.thorium": "方钍石", + "material.gtceu.dimethylbenzene": "二甲苯", "material.gtceu.aluminium_silicate": "硅酸铝", "material.gtceu.rocket_alloy_t1": "R型铝钢火箭合金", "material.gtceu.rocket_alloy_t2": "ASM 4914 钛合金火箭合金", @@ -226,6 +190,28 @@ "block.gtceu.wire_coil.tooltip_cracking": "§8裂化机,月壤和紫金采集器:§r", "tooltip.moldraw.shift_view_molecule": "§7§o按住(Shift)查看分子结构§r", "tooltip.moldraw.shift_view_alloy": "§7§o按住(Shift)查看合金成分§r", + "gtceu.greenhouse": "电力温室", + "gtceu.steam_bloomery": "蒸汽锻铁炉", + "gtceu.food_oven": "电烤箱", + "gtceu.food_processor": "食物处理机", + "gtceu.large_solar_panel": "大型太阳能阵列 MK I", + "gtceu.large_solar_panel_tier2": "大型太阳能阵列 MK II", + "gtceu.large_solar_panel_tier3": "大型太阳能阵列 MK III", + "gtceu.gas_pressurizer": "气体加压器", + "gtceu.nuclear_fuel_factory": "核燃料工厂", + "gtceu.nuclear_turbine": "核能蒸汽涡轮", + "gtceu.heat_exchanger": "热交换器", + "gtceu.fission_reactor": "裂变反应堆", + "gtceu.evaporation_tower": "蒸发塔", + "gtceu.ostrum_harvester": "紫金采集器", + "gtceu.moon_dust_harvester": "月壤采集器", + "gtceu.ostrum_linear_accelerator": "紫金线性加速器", + "gtceu.bioreactor": "生物反应器", + "gtceu.growth_chamber": "生长室", + "gtceu.coal_liquefaction_tower": "液化塔", + "gtceu.smr_generator": "小型模块化涡轮", + "gtceu.hydroponics_facility": "水培设施", + "gtceu.pisciculture_fishery": "水产养殖场", "tagprefix.sword_head": "%s剑身", "tagprefix.pickaxe_head": "%s镐头", "tagprefix.shovel_head": "%s铲头", @@ -261,5 +247,22 @@ "tagprefix.marble": "大理岩%s矿石", "tagprefix.deepslate": "混合岩%s矿石", "tagprefix.pyroxenite": "辉石岩%s矿石", - "tagprefix.dripstone": "石灰华%s矿石" + "tagprefix.dripstone": "石灰华%s矿石", + "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_3": "§7需要钻井液才能工作。§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7不含希格斯玻色子§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7将紫金矿粉分解为组分原料。需配合裂变产线多种流体。§r", + "gtceu.tooltip.machine.heat_exchanger_1": "§7用高温流体加热其他流体§r", + "gtceu.tooltip.machine.heat_exchanger_2": "§7实现流体间的热量传递§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7超劲爆燃料棒制造厂§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7将原始放射性材料加工成裂变燃料§r", + "gtceu.tooltip.machine.steam_bloomery_1": "§7用蒸汽动力升级你的锻铁炉!§r", + "gtceu.tooltip.machine.steam_bloomery_2": "§7将含铁矿粉或锭加工成生铁方坯。§r", + "gtceu.tooltip.machine.steam_bloomery_3": "§7使用焦煤或无烟煤可倍增产量。§r", + "gtceu.tooltip.machine.steam_parallel": "§7支持最多8组配方并行处理,相应调整蒸汽需求。§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7奶昔制造机§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7从碳质固体中提取燃气和流体§r" } \ No newline at end of file diff --git a/kubejs/assets/immersive_aircraft/lang/ru_ru.json b/kubejs/assets/immersive_aircraft/lang/ru_ru.json index 07e0fb5fe..95b5eb155 100644 --- a/kubejs/assets/immersive_aircraft/lang/ru_ru.json +++ b/kubejs/assets/immersive_aircraft/lang/ru_ru.json @@ -6,5 +6,9 @@ "item.immersive_aircraft.enhanced_propeller": "Пропеллер самолёта (Алюминий)", "item.immersive_aircraft.improved_landing_gear": "Шасси (Чёрная сталь)", "item.immersive_aircraft.hull_reinforcement": "Усиление корпуса (Чёрная сталь)", - "item.immersive_aircraft.bamboo_hopper": "Воронка (Алюминий)" + "item.immersive_aircraft.bamboo_hopper": "Воронка (Алюминий)", + "item.immersive_aircraft.gyroscope_dials": "Продвинутый гироскоп", + "item.immersive_aircraft.gyroscope_hud": "Электронный гироскоп", + "immersive_aircraft.upgrade.dials": "Механичекая приборная панель", + "immersive_aircraft.upgrade.hud": "Электронная приборная панель" } \ No newline at end of file diff --git a/kubejs/assets/minecraft/lang/en_gb.json b/kubejs/assets/minecraft/lang/en_gb.json index e0456b5e5..fb366b886 100644 --- a/kubejs/assets/minecraft/lang/en_gb.json +++ b/kubejs/assets/minecraft/lang/en_gb.json @@ -94,10 +94,12 @@ "item.minecraft.iron_ingot": "Cast Iron Ingot", "item.minecraft.iron_block": "Cast Iron Block", "item.minecraft.netherite_leggings": "Blue Steel Diving Leggings", + "item.minecraft.netherite_boots": "Blue Steel Lavaproof Boots", "item.minecraft.string": "Silk Thread", "item.minecraft.glow_ink_sac": "Glowing Dye", "item.minecraft.nether_brick": "Keratophyre Brick", "item.minecraft.furnace_minecart": "Minecart with Boiler", + "item.minecraft.milk_bucket": "Cow Milk Bucket", "material.tfg.dripstone": "Travertine", "death.attack.magic": "%1$s was killed by deadly poison", "death.attack.magic.player": "%1$s was killed by deadly poison whilst trying to escape %2$s" diff --git a/kubejs/assets/minecraft/lang/en_us.json b/kubejs/assets/minecraft/lang/en_us.json index 067dbdcad..48f1c9820 100644 --- a/kubejs/assets/minecraft/lang/en_us.json +++ b/kubejs/assets/minecraft/lang/en_us.json @@ -100,6 +100,7 @@ "item.minecraft.glow_ink_sac": "Glowing Dye", "item.minecraft.nether_brick": "Keratophyre Brick", "item.minecraft.furnace_minecart": "Minecart with Boiler", + "item.minecraft.milk_bucket": "Cow Milk Bucket", "material.tfg.dripstone": "Travertine", "death.attack.magic": "%1$s was killed by deadly poison", "death.attack.magic.player": "%1$s was killed by deadly poison whilst trying to escape %2$s" diff --git a/kubejs/assets/morered/lang/ru_ru.json b/kubejs/assets/morered/lang/ru_ru.json new file mode 100644 index 000000000..b7fc97c81 --- /dev/null +++ b/kubejs/assets/morered/lang/ru_ru.json @@ -0,0 +1,54 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.morered.and_2_gate": "Двухвходовой элемент И", + "block.morered.and_gate": "Элемент И", + "block.morered.bitwise_and_gate": "Побитовый элемент И", + "block.morered.bitwise_diode": "Побитовый диод", + "block.morered.bitwise_not_gate": "Побитовый элемент НЕ", + "block.morered.bitwise_or_gate": "Побитовый элемент ИЛИ", + "block.morered.bitwise_xnor_gate": "Побитовый элемент ИСКЛЮЧАЮЩЕЕ ИЛИ-НЕ", + "block.morered.bitwise_xor_gate": "Побитовый элемент ИСКЛЮЧАЮЩЕЕ ИЛИ", + "block.morered.black_network_cable": "Чёрный сетевой кабель", + "block.morered.blue_network_cable": "Синий сетевой кабель", + "block.morered.brown_network_cable": "Коричневый сетевой кабель", + "block.morered.bundled_cable_post": "Стойка пучкового кабеля", + "block.morered.bundled_cable_relay_plate": "Релейная пластина пучкового кабеля", + "block.morered.bundled_network_cable": "Пучковый сетевой кабель", + "block.morered.cyan_network_cable": "Бирюзовый сетевой кабель", + "block.morered.diode": "Диод", + "block.morered.gray_network_cable": "Серый сетевой кабель", + "block.morered.green_network_cable": "Зелёный сетевой кабель", + "block.morered.hexidecrubrometer": "Шестнадцатеричный монитор", + "block.morered.latch": "Триггер", + "block.morered.light_blue_network_cable": "Голубой сетевой кабель", + "block.morered.light_gray_network_cable": "Светло-серый сетевой кабель", + "block.morered.lime_network_cable": "Лаймовый сетевой кабель", + "block.morered.magenta_network_cable": "Пурпурный сетевой кабель", + "block.morered.multiplexer": "Мультиплексор", + "block.morered.nand_2_gate": "Двухвходовой элемент И-НЕ", + "block.morered.nand_gate": "Элемент И-НЕ", + "block.morered.nor_gate": "Элемент ИЛИ-НЕ", + "block.morered.not_gate": "Элемент НЕ", + "block.morered.or_gate": "Элемент ИЛИ", + "block.morered.orange_network_cable": "Оранжевый сетевой кабель", + "block.morered.pink_network_cable": "Розовый сетевой кабель", + "block.morered.pulse_gate": "Импульсный элемент", + "block.morered.purple_network_cable": "Фиолетовый сетевой кабель", + "block.morered.red_alloy_wire": "Провод из красного сплава", + "block.morered.red_network_cable": "Красный сетевой кабель", + "block.morered.redwire_post": "Стойка красного провода", + "block.morered.redwire_post_plate": "Пластина стойки красного провода", + "block.morered.redwire_post_relay_plate": "Релейная пластина стойки красного провода", + "block.morered.soldering_table": "Паяльный стол", + "block.morered.stone_plate": "Каменная пластина", + "block.morered.white_network_cable": "Белый сетевой кабель", + "block.morered.xnor_gate": "Элемент ИСКЛЮЧАЮЩЕЕ ИЛИ-НЕ", + "block.morered.xor_gate": "Элемент ИСКЛЮЧАЮЩЕЕ ИЛИ", + "block.morered.yellow_network_cable": "Жёлтый сетевой кабель", + "emi.category.morered.soldering": "Пайка", + "gui.morered.category.soldering": "Пайка", + "item.morered.bundled_cable_spool": "Катушка пучкового кабеля", + "item.morered.red_alloy_ingot": "Слиток красного сплава", + "item.morered.redwire_spool": "Катушка красного провода", + "itemGroup.morered": "More Red" +} \ No newline at end of file diff --git a/kubejs/assets/sandworm_mod/lang/zh_cn.json b/kubejs/assets/sandworm_mod/lang/zh_cn.json index a2b8d28a6..8d90bbd0e 100644 --- a/kubejs/assets/sandworm_mod/lang/zh_cn.json +++ b/kubejs/assets/sandworm_mod/lang/zh_cn.json @@ -2,5 +2,8 @@ "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "entity.sandworm_mod.worm_chain": "沙虫", "entity.sandworm_mod.worm_head_segment": "沙虫头部", - "entity.sandworm_mod.worm_segment": "沙虫躯体" + "entity.sandworm_mod.worm_segment": "沙虫躯体", + "death.attack.worm": "%1$s葬身虫腹", + "item.sandworm_mod.sandworm_tooth": "沙虫牙齿", + "block.sandworm_mod.thumper": "震击器" } \ No newline at end of file diff --git a/kubejs/assets/simplylight/lang/ru_ru.json b/kubejs/assets/simplylight/lang/ru_ru.json new file mode 100644 index 000000000..ccfa1828b --- /dev/null +++ b/kubejs/assets/simplylight/lang/ru_ru.json @@ -0,0 +1,101 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.simplylight.illuminant_block_on": "Освещающий блок (Инвертированный)", + "simplylight.redstone": "Редстоун сигналом", + "block.simplylight.rodlamp": "Осветительный стержень", + "block.simplylight.illuminant_black_block": "Освещающий черный блок", + "block.simplylight.illuminant_black_block.info": "Простой блок света,", + "block.simplylight.illuminant_black_block.info2": "Активируется %s.", + "block.simplylight.illuminant_black_block_on": "Освещающий черный блок (Инвертированный)", + "block.simplylight.illuminant_black_block_on.info": "Простой блок света,", + "block.simplylight.illuminant_black_block_on.info2": "Деактивируется %s.", + "block.simplylight.illuminant_blue_block": "Освещающий синий блок", + "block.simplylight.illuminant_blue_block.info": "Простой блок света,", + "block.simplylight.illuminant_blue_block.info2": "Активируется %s.", + "block.simplylight.illuminant_blue_block_on": "Освещающий синий блок (Инвертированный)", + "block.simplylight.illuminant_blue_block_on.info": "Простой блок света,", + "block.simplylight.illuminant_blue_block_on.info2": "Деактивируется %s.", + "block.simplylight.illuminant_brown_block": "Освещающий коричневый блок", + "block.simplylight.illuminant_brown_block.info": "Простой блок света,", + "block.simplylight.illuminant_brown_block.info2": "Активируется %s.", + "block.simplylight.illuminant_brown_block_on": "Освещающий коричневый блок (Инвертированный)", + "block.simplylight.illuminant_brown_block_on.info": "Простой блок света,", + "block.simplylight.illuminant_brown_block_on.info2": "Деактивируется %s.", + "block.simplylight.illuminant_cyan_block": "Освещающий бирюзовый блок", + "block.simplylight.illuminant_cyan_block.info": "Простой блок света,", + "block.simplylight.illuminant_cyan_block.info2": "Активируется %s.", + "block.simplylight.illuminant_cyan_block_on": "Освещающий бирюзовый блок (Инвертированный)", + "block.simplylight.illuminant_cyan_block_on.info": "Простой блок света,", + "block.simplylight.illuminant_cyan_block_on.info2": "Деактивируется %s.", + "block.simplylight.illuminant_gray_block": "Освещающий серый блок", + "block.simplylight.illuminant_gray_block.info": "Простой блок света,", + "block.simplylight.illuminant_gray_block.info2": "Активируется %s.", + "block.simplylight.illuminant_gray_block_on": "Освещающий серый блок (Инвертированный)", + "block.simplylight.illuminant_gray_block_on.info": "Простой блок света,", + "block.simplylight.illuminant_gray_block_on.info2": "Деактивируется %s.", + "block.simplylight.illuminant_green_block": "Освещающий зелёный блок", + "block.simplylight.illuminant_green_block.info": "Простой блок света,", + "block.simplylight.illuminant_green_block.info2": "Активируется %s.", + "block.simplylight.illuminant_green_block_on": "Освещающий зелёный блок (Инвертированный)", + "block.simplylight.illuminant_green_block_on.info": "Простой блок света,", + "block.simplylight.illuminant_green_block_on.info2": "Деактивируется %s.", + "block.simplylight.illuminant_light_blue_block": "Освещающий голубой блок", + "block.simplylight.illuminant_light_blue_block.info": "Простой блок света,", + "block.simplylight.illuminant_light_blue_block.info2": "Активируется %s.", + "block.simplylight.illuminant_light_blue_block_on": "Освещающий голубой блок (Инвертированный)", + "block.simplylight.illuminant_light_blue_block_on.info": "Простой блок света,", + "block.simplylight.illuminant_light_blue_block_on.info2": "Деактивируется %s.", + "block.simplylight.illuminant_light_gray_block": "Освещающий светло-серый блок", + "block.simplylight.illuminant_light_gray_block.info": "Простой блок света,", + "block.simplylight.illuminant_light_gray_block.info2": "Активируется %s.", + "block.simplylight.illuminant_light_gray_block_on": "Освещающий светло-серый блок (Инвертированный)", + "block.simplylight.illuminant_light_gray_block_on.info": "Простой блок света,", + "block.simplylight.illuminant_light_gray_block_on.info2": "Деактивируется %s.", + "block.simplylight.illuminant_lime_block": "Освещающий лаймовый блок", + "block.simplylight.illuminant_lime_block.info": "Простой блок света,", + "block.simplylight.illuminant_lime_block.info2": "Активируется %s.", + "block.simplylight.illuminant_lime_block_on": "Освещающий лаймовый блок (Инвертированный)", + "block.simplylight.illuminant_lime_block_on.info": "Простой блок света,", + "block.simplylight.illuminant_lime_block_on.info2": "Деактивируется %s.", + "block.simplylight.illuminant_magenta_block": "Освещающий пурпурный блок", + "block.simplylight.illuminant_magenta_block.info": "Простой блок света,", + "block.simplylight.illuminant_magenta_block.info2": "Активируется %s.", + "block.simplylight.illuminant_magenta_block_on": "Освещающий пурпурный блок (Инвертированный)", + "block.simplylight.illuminant_magenta_block_on.info": "Простой блок света,", + "block.simplylight.illuminant_magenta_block_on.info2": "Деактивируется %s.", + "block.simplylight.illuminant_orange_block": "Освещающий оранжевый блок", + "block.simplylight.illuminant_orange_block.info": "Простой блок света,", + "block.simplylight.illuminant_orange_block.info2": "Активируется %s.", + "block.simplylight.illuminant_orange_block_on": "Освещающий оранжевый блок (Инвертированный)", + "block.simplylight.illuminant_orange_block_on.info": "Простой блок света,", + "block.simplylight.illuminant_orange_block_on.info2": "Деактивируется %s.", + "block.simplylight.illuminant_pink_block": "Освещающий розовый блок", + "block.simplylight.illuminant_pink_block.info": "Простой блок света,", + "block.simplylight.illuminant_pink_block.info2": "Активируется %s.", + "block.simplylight.illuminant_pink_block_on": "Освещающий розовый блок (Инвертированный)", + "block.simplylight.illuminant_pink_block_on.info": "Простой блок света,", + "block.simplylight.illuminant_pink_block_on.info2": "Деактивируется %s.", + "block.simplylight.illuminant_purple_block": "Освещающий фиолетовый блок", + "block.simplylight.illuminant_purple_block.info": "Простой блок света,", + "block.simplylight.illuminant_purple_block.info2": "Активируется %s.", + "block.simplylight.illuminant_purple_block_on": "Освещающий фиолетовый блок (Инвертированный)", + "block.simplylight.illuminant_purple_block_on.info": "Простой блок света,", + "block.simplylight.illuminant_purple_block_on.info2": "Деактивируется %s.", + "block.simplylight.illuminant_red_block": "Освещающий красный блок", + "block.simplylight.illuminant_red_block.info": "Простой блок света,", + "block.simplylight.illuminant_red_block.info2": "Активируется %s.", + "block.simplylight.illuminant_red_block_on": "Освещающий красный блок (Инвертированный)", + "block.simplylight.illuminant_red_block_on.info": "Простой блок света,", + "block.simplylight.illuminant_red_block_on.info2": "Деактивируется %s.", + "block.simplylight.illuminant_yellow_block": "Освещающий жёлтый блок", + "block.simplylight.illuminant_yellow_block.info": "Простой блок света,", + "block.simplylight.illuminant_yellow_block.info2": "Активируется %s.", + "block.simplylight.illuminant_yellow_block_on": "Освещающий жёлтый блок (Инвертированный)", + "block.simplylight.illuminant_yellow_block_on.info": "Простой блок света,", + "block.simplylight.illuminant_yellow_block_on.info2": "Деактивируется %s.", + "block.simplylight.lamp_post": "Фонарный столб", + "block.simplylight.lamp_post.info": "Фонарный столб высотой 3 блока.", + "block.simplylight.lamp_post.info2": "Верхний блок излучает свет.", + "block.simplylight.rodlamp.info": "Простой светящийся стержень.", + "block.simplylight.rodlamp.info2": "Можно размещать в любом направлении." +} \ No newline at end of file diff --git a/kubejs/assets/tfc/lang/en_us.json b/kubejs/assets/tfc/lang/en_us.json index 7b9b9af21..291a5e7bc 100644 --- a/kubejs/assets/tfc/lang/en_us.json +++ b/kubejs/assets/tfc/lang/en_us.json @@ -41,7 +41,7 @@ "trim_material.tfc.rutile_tfc": "Rutile", "trim_material.tfc.lazurite_tfc": "Lazurite", "trim_material.tfc.pyrope_tfc": "Pyrope", - "trim_material.tfc.rock_salt_tfc": "Rock Salt", + "trim_material.tfc.rock_salt_tfc": "Sylvite", "trim_material.tfc.ruby_tfc": "Ruby", "trim_material.tfc.salt_tfc": "salt", "trim_material.tfc.sapphire_tfc": "Sapphire", 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 bd7ec360f..f7d325389 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 @@ -24,27 +24,27 @@ }, { "Type": "patchouli:text", - "text": "$(li)Electrotine: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()$(li)Emerald: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Fuller's Earth: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)Galena: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Garnet Sand: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Garnierite: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Glauconite Sand: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Goethite: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Granitic Mineral Sand: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Graphite: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)Green Sapphire: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)Grossular: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)Gypsum: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)Hematite: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()", + "text": "$(li)Electrotine: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()$(li)Emerald: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Fuller's Earth: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)Galena: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Garnet Sand: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Garnierite: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Glauconite Sand: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Goethite: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Granitic Mineral Sand: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Graphite: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)Green Sapphire: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)Grossular: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)Gypsum: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)Halite: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Kyanite: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Lapis: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesite: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Malachite: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molybdenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazite: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Native Copper: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()", + "text": "$(li)Hematite: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Kyanite: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Lapis: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesite: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Malachite: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molybdenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazite: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Native Copper: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)Pyrolusite: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", + "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", "type": "patchouli:text" }, { "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), $(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)$()", + "text": "$(li)Pyrolusite: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Pyrope: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)Quartz: $(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)Ruby: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/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)$()$(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)$()", "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)Thorianite: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)35%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()", + "text": "$(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)Sylvite: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tarkianite: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorianite: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)35%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json index 6304b79f6..e0316d381 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 @@ -2638,7 +2638,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Quartzite", + "name": "Quartz", "multiblock": { "mapping": { "0": "#forge:ores/quartzite" @@ -2864,7 +2864,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Rock Salt", + "name": "Sylvite", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -2884,7 +2884,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Salt", + "name": "Halite", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -3443,7 +3443,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Salt", + "name": "Halite", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -3463,7 +3463,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Rock Salt", + "name": "Sylvite", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_ore_index.json index 77f69f3df..6c6d16cce 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_ore_index.json @@ -19,22 +19,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)Cobaltite: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Cooperite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)Diamond: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Electrotine: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Emerald: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Galena: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Garnierite: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Glauconite Sand: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Goethite: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Graphite: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Green Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Grossular: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Gypsum: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Hematite: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()", + "text": "$(li)Cobaltite: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Cooperite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)Diamond: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Electrotine: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Emerald: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Galena: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Garnierite: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Glauconite Sand: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Goethite: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Graphite: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Green Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Grossular: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Gypsum: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Halite: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Lapis: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Monazite: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Native Copper: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Native Gold: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Neodymium: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Nickel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Platinum: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()", + "text": "$(li)Hematite: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)Lapis: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Monazite: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Native Copper: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Native Gold: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Neodymium: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Nickel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Pyrite: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Pyrolusite: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Pyrope: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Quartzite: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Realgar: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Redstone: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Ruby: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Salt: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Scheelite: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Soapstone: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()", + "text": "$(li)Platinum: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Pyrite: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Pyrolusite: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Pyrope: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Quartz: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Realgar: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Redstone: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Ruby: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Scheelite: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Soapstone: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Sodalite: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Sodalite: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Spessartine: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Spodumene: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Sulfur: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Talc: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalite: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Thorianite: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Tin: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Tungstate: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()", + "text": "$(li)Spessartine: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Spodumene: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Sulfur: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Sylvite: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Talc: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalite: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Thorianite: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Tin: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Tungstate: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json index 0a984dd10..f4980a0ad 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json @@ -1567,7 +1567,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Quartzite", + "name": "Quartz", "multiblock": { "mapping": { "0": "#forge:ores/quartzite" @@ -1746,7 +1746,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Salt", + "name": "Halite", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -1766,7 +1766,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Rock Salt", + "name": "Sylvite", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_ore_index.json index 4001c0bec..0b6c50ff2 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_ore_index.json @@ -34,7 +34,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Pyrope: $(l:tfg_ores/moon_vein_index#moon_sapphire)27%$(/l)$()$(li)Quartzite: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)Red Garnet: $(l:tfg_ores/moon_vein_index#moon_garnet)9%$(/l)$()$(li)Redstone: $(l:tfg_ores/moon_vein_index#moon_redstone)42%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/moon_vein_index#moon_beryllium)18%$(/l)$()$(li)Ruby: $(l:tfg_ores/moon_vein_index#moon_redstone)33%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()$(li)Sapphire: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)Scheelite: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)Soapstone: $(l:tfg_ores/moon_vein_index#moon_lubricant)30%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)20%$(/l)$()$(li)Spessartine: $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/moon_vein_index#moon_sphalerite)50%$(/l)$()$(li)Stibnite: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)20%$(/l)$()$(li)Talc: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()", + "text": "$(li)Pyrope: $(l:tfg_ores/moon_vein_index#moon_sapphire)27%$(/l)$()$(li)Quartz: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)Red Garnet: $(l:tfg_ores/moon_vein_index#moon_garnet)9%$(/l)$()$(li)Redstone: $(l:tfg_ores/moon_vein_index#moon_redstone)42%$(/l)$()$(li)Ruby: $(l:tfg_ores/moon_vein_index#moon_redstone)33%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()$(li)Sapphire: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)Scheelite: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)Soapstone: $(l:tfg_ores/moon_vein_index#moon_lubricant)30%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)20%$(/l)$()$(li)Spessartine: $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/moon_vein_index#moon_sphalerite)50%$(/l)$()$(li)Stibnite: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)20%$(/l)$()$(li)Sylvite: $(l:tfg_ores/moon_vein_index#moon_beryllium)18%$(/l)$()$(li)Talc: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_vein_index.json index ce57c4a20..8353cf942 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_vein_index.json @@ -511,7 +511,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Quartzite", + "name": "Quartz", "multiblock": { "mapping": { "0": "#forge:ores/quartzite" @@ -894,7 +894,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Rock Salt", + "name": "Sylvite", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" 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 d7124bacc..039aa2204 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 @@ -39,7 +39,7 @@ }, { "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), $(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)$()", + "text": "$(li)Quartz: $(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)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)$()$(li)Sylvite: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/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 650a6e0eb..0009ea1f4 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 @@ -779,7 +779,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Rock Salt", + "name": "Sylvite", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -1870,7 +1870,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Quartzite", + "name": "Quartz", "multiblock": { "mapping": { "0": "#forge:ores/quartzite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_ore_index.json index c5ed949ce..71d0bf136 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Lepidolite: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Pyrite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)Salt: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()$(li)Spodumene: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Sulfur: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()", + "text": "$(li)Halite: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Pyrite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()$(li)Spodumene: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Sulfur: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)Sylvite: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json index 277be576e..0167853c8 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json @@ -26,7 +26,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Salt", + "name": "Halite", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -46,7 +46,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Rock Salt", + "name": "Sylvite", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" 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 bd7ec360f..f7d325389 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 @@ -24,27 +24,27 @@ }, { "Type": "patchouli:text", - "text": "$(li)Electrotine: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()$(li)Emerald: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Fuller's Earth: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)Galena: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Garnet Sand: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Garnierite: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Glauconite Sand: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Goethite: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Granitic Mineral Sand: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Graphite: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)Green Sapphire: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)Grossular: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)Gypsum: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)Hematite: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()", + "text": "$(li)Electrotine: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()$(li)Emerald: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Fuller's Earth: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)Galena: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Garnet Sand: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Garnierite: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Glauconite Sand: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Goethite: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Granitic Mineral Sand: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Graphite: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)Green Sapphire: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)Grossular: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)Gypsum: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)Halite: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Kyanite: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Lapis: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesite: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Malachite: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molybdenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazite: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Native Copper: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()", + "text": "$(li)Hematite: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Kyanite: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Lapis: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesite: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Malachite: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molybdenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazite: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Native Copper: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)Pyrolusite: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", + "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", "type": "patchouli:text" }, { "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), $(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)$()", + "text": "$(li)Pyrolusite: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Pyrope: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)Quartz: $(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)Ruby: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/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)$()$(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)$()", "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)Thorianite: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)35%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()", + "text": "$(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)Sylvite: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tarkianite: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorianite: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)35%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_vein_index.json index 6304b79f6..e0316d381 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 @@ -2638,7 +2638,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Quartzite", + "name": "Quartz", "multiblock": { "mapping": { "0": "#forge:ores/quartzite" @@ -2864,7 +2864,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Rock Salt", + "name": "Sylvite", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -2884,7 +2884,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Salt", + "name": "Halite", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -3443,7 +3443,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Salt", + "name": "Halite", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -3463,7 +3463,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Rock Salt", + "name": "Sylvite", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_ore_index.json index 77f69f3df..6c6d16cce 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_ore_index.json @@ -19,22 +19,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)Cobaltite: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Cooperite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)Diamond: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Electrotine: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Emerald: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Galena: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Garnierite: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Glauconite Sand: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Goethite: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Graphite: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Green Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Grossular: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Gypsum: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Hematite: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()", + "text": "$(li)Cobaltite: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Cooperite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)Diamond: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Electrotine: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Emerald: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Galena: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Garnierite: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Glauconite Sand: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Goethite: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Graphite: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Green Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Grossular: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Gypsum: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Halite: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Lapis: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Monazite: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Native Copper: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Native Gold: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Neodymium: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Nickel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Platinum: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()", + "text": "$(li)Hematite: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)Lapis: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Monazite: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Native Copper: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Native Gold: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Neodymium: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Nickel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Pyrite: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Pyrolusite: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Pyrope: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Quartzite: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Realgar: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Redstone: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Ruby: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Salt: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Scheelite: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Soapstone: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()", + "text": "$(li)Platinum: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Pyrite: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Pyrolusite: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Pyrope: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Quartz: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Realgar: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Redstone: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Ruby: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Scheelite: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Soapstone: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Sodalite: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Sodalite: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Spessartine: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Spodumene: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Sulfur: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Talc: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalite: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Thorianite: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Tin: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Tungstate: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()", + "text": "$(li)Spessartine: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Spodumene: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Sulfur: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Sylvite: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Talc: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalite: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Thorianite: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Tin: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Tungstate: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json index 0a984dd10..f4980a0ad 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json @@ -1567,7 +1567,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Quartzite", + "name": "Quartz", "multiblock": { "mapping": { "0": "#forge:ores/quartzite" @@ -1746,7 +1746,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Salt", + "name": "Halite", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -1766,7 +1766,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Rock Salt", + "name": "Sylvite", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_ore_index.json index 4001c0bec..0b6c50ff2 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_ore_index.json @@ -34,7 +34,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Pyrope: $(l:tfg_ores/moon_vein_index#moon_sapphire)27%$(/l)$()$(li)Quartzite: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)Red Garnet: $(l:tfg_ores/moon_vein_index#moon_garnet)9%$(/l)$()$(li)Redstone: $(l:tfg_ores/moon_vein_index#moon_redstone)42%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/moon_vein_index#moon_beryllium)18%$(/l)$()$(li)Ruby: $(l:tfg_ores/moon_vein_index#moon_redstone)33%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()$(li)Sapphire: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)Scheelite: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)Soapstone: $(l:tfg_ores/moon_vein_index#moon_lubricant)30%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)20%$(/l)$()$(li)Spessartine: $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/moon_vein_index#moon_sphalerite)50%$(/l)$()$(li)Stibnite: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)20%$(/l)$()$(li)Talc: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()", + "text": "$(li)Pyrope: $(l:tfg_ores/moon_vein_index#moon_sapphire)27%$(/l)$()$(li)Quartz: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)Red Garnet: $(l:tfg_ores/moon_vein_index#moon_garnet)9%$(/l)$()$(li)Redstone: $(l:tfg_ores/moon_vein_index#moon_redstone)42%$(/l)$()$(li)Ruby: $(l:tfg_ores/moon_vein_index#moon_redstone)33%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()$(li)Sapphire: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)Scheelite: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)Soapstone: $(l:tfg_ores/moon_vein_index#moon_lubricant)30%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)20%$(/l)$()$(li)Spessartine: $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/moon_vein_index#moon_sphalerite)50%$(/l)$()$(li)Stibnite: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)20%$(/l)$()$(li)Sylvite: $(l:tfg_ores/moon_vein_index#moon_beryllium)18%$(/l)$()$(li)Talc: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_vein_index.json index ce57c4a20..8353cf942 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_vein_index.json @@ -511,7 +511,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Quartzite", + "name": "Quartz", "multiblock": { "mapping": { "0": "#forge:ores/quartzite" @@ -894,7 +894,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Rock Salt", + "name": "Sylvite", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" 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 d7124bacc..039aa2204 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 @@ -39,7 +39,7 @@ }, { "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), $(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)$()", + "text": "$(li)Quartz: $(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)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)$()$(li)Sylvite: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/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 650a6e0eb..0009ea1f4 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 @@ -779,7 +779,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Rock Salt", + "name": "Sylvite", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -1870,7 +1870,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Quartzite", + "name": "Quartz", "multiblock": { "mapping": { "0": "#forge:ores/quartzite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_ore_index.json index c5ed949ce..71d0bf136 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Lepidolite: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Pyrite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)Salt: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()$(li)Spodumene: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Sulfur: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()", + "text": "$(li)Halite: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Pyrite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()$(li)Spodumene: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Sulfur: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)Sylvite: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json index 277be576e..0167853c8 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json @@ -26,7 +26,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Salt", + "name": "Halite", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -46,7 +46,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Rock Salt", + "name": "Sylvite", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" 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 ce258f730..e60d9b334 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 @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Pedra-sabão: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Pentlandita: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pirita: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pirocloro: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Piropo: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)Platina: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Polucita: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellita: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Quartzito: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)Realgar: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Redstone: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)Rubi: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()", + "text": "$(li)Pedra-sabão: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Pentlandita: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pirita: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pirocloro: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Piropo: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)Platina: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Polucita: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellita: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Quartz: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)Realgar: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Redstone: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)Rubi: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_vein_index.json index f23671fd0..a9fcbdac7 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 @@ -3105,7 +3105,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Quartzito", + "name": "Quartz", "multiblock": { "mapping": { "0": "#forge:ores/quartzite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json index 7424f3006..1bcccab39 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Neodímio: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Níquel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Ouro Nativo: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Pechblenda: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Pedra-sabão: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Pentlandita: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pirita: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Pirocloro: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Piropo: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Platina: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Quartzito: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Realgar: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()", + "text": "$(li)Neodímio: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Níquel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Ouro Nativo: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Pechblenda: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Pedra-sabão: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Pentlandita: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pirita: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Pirocloro: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Piropo: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Platina: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Quartz: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Realgar: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json index 56de9236d..600c70815 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json @@ -1751,7 +1751,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Quartzito", + "name": "Quartz", "multiblock": { "mapping": { "0": "#forge:ores/quartzite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_ore_index.json index 820ba44e8..1c7f53f20 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_ore_index.json @@ -34,7 +34,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Pirocloro: $(l:tfg_ores/moon_vein_index#moon_apatite)38%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)38%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)Piropo: $(l:tfg_ores/moon_vein_index#moon_sapphire)27%$(/l)$()$(li)Platina: $(l:tfg_ores/moon_vein_index#moon_sheldonite)15%$(/l)$()$(li)Powellita: $(l:tfg_ores/moon_vein_index#moon_molybdenum)16%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/moon_vein_index#moon_silver)42%$(/l)$()$(li)Quartzito: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)Quartzo Certus: $(l:tfg_ores/moon_vein_index#moon_quartz)45%$(/l)$()$(li)Quartzo do Nether: $(l:tfg_ores/moon_vein_index#moon_quartz)30%$(/l)$()$(li)Redstone: $(l:tfg_ores/moon_vein_index#moon_redstone)42%$(/l)$()$(li)Rubi: $(l:tfg_ores/moon_vein_index#moon_redstone)33%$(/l)$()$(li)Safira: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)5%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/moon_vein_index#moon_beryllium)18%$(/l)$()", + "text": "$(li)Pirocloro: $(l:tfg_ores/moon_vein_index#moon_apatite)38%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)38%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)Piropo: $(l:tfg_ores/moon_vein_index#moon_sapphire)27%$(/l)$()$(li)Platina: $(l:tfg_ores/moon_vein_index#moon_sheldonite)15%$(/l)$()$(li)Powellita: $(l:tfg_ores/moon_vein_index#moon_molybdenum)16%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/moon_vein_index#moon_silver)42%$(/l)$()$(li)Quartz: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)Quartzo Certus: $(l:tfg_ores/moon_vein_index#moon_quartz)45%$(/l)$()$(li)Quartzo do Nether: $(l:tfg_ores/moon_vein_index#moon_quartz)30%$(/l)$()$(li)Redstone: $(l:tfg_ores/moon_vein_index#moon_redstone)42%$(/l)$()$(li)Rubi: $(l:tfg_ores/moon_vein_index#moon_redstone)33%$(/l)$()$(li)Safira: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)5%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/moon_vein_index#moon_beryllium)18%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_vein_index.json index e910b8b1f..02e7dbea8 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_vein_index.json @@ -1839,7 +1839,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Quartzito", + "name": "Quartz", "multiblock": { "mapping": { "0": "#forge:ores/quartzite" 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 22f0139b6..f1ea0726d 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 @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Pirocloro: $(l:tfg_ores/nether_vein_index#nether_apatite)15%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)Piropo: $(l:tfg_ores/nether_vein_index#nether_sapphire)27%$(/l)$()$(li)Platina: $(l:tfg_ores/nether_vein_index#nether_sheldonite)5%$(/l)$()$(li)Polucita: $(l:tfg_ores/nether_vein_index#nether_mica)20%$(/l)$()$(li)Powellita: $(l:tfg_ores/nether_vein_index#nether_molybdenum)10%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/nether_vein_index#nether_silver)35%$(/l)$()$(li)Quartzito: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)Quartzo do Nether: $(l:tfg_ores/nether_vein_index#nether_quartz)54%$(/l)$()$(li)Redstone: $(l:tfg_ores/nether_vein_index#nether_redstone)45%$(/l)$()$(li)Rubi: $(l:tfg_ores/nether_vein_index#nether_redstone)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)20%$(/l)$()$(li)Safira: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/l)$()", + "text": "$(li)Pirocloro: $(l:tfg_ores/nether_vein_index#nether_apatite)15%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)Piropo: $(l:tfg_ores/nether_vein_index#nether_sapphire)27%$(/l)$()$(li)Platina: $(l:tfg_ores/nether_vein_index#nether_sheldonite)5%$(/l)$()$(li)Polucita: $(l:tfg_ores/nether_vein_index#nether_mica)20%$(/l)$()$(li)Powellita: $(l:tfg_ores/nether_vein_index#nether_molybdenum)10%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/nether_vein_index#nether_silver)35%$(/l)$()$(li)Quartz: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)Quartzo do Nether: $(l:tfg_ores/nether_vein_index#nether_quartz)54%$(/l)$()$(li)Redstone: $(l:tfg_ores/nether_vein_index#nether_redstone)45%$(/l)$()$(li)Rubi: $(l:tfg_ores/nether_vein_index#nether_redstone)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)20%$(/l)$()$(li)Safira: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/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 c471b02aa..8e5d0e638 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 @@ -1912,7 +1912,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Quartzito", + "name": "Quartz", "multiblock": { "mapping": { "0": "#forge:ores/quartzite" 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 45e775a3e..ca34e0cc1 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_ore_index.json @@ -19,27 +19,27 @@ }, { "Type": "patchouli:text", - "text": "$(li)Ванадий магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Висмут: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Вольфрамат: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Вульфенит: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Галена: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Гарниерит: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Гематит: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Гётит: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Гипс: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)Глауконитовый песок: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Гранатовый песок: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Гранитовый минеральный песок: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Графит: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()", + "text": "$(li)Ванадий магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Висмут: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Вольфрамат: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Вульфенит: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Галена: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Галит: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Гарниерит: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Гематит: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Гётит: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Гипс: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)Глауконитовый песок: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Гранатовый песок: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Гранитовый минеральный песок: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Графит: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()", "type": "patchouli:text" }, { "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)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)$()", + "text": "$(li)Гроссуляр: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/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#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)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лазурит 2: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Литий: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахит: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молибденит: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Нефтеносный песок: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Никель: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Оливин: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()", + "text": "$(li)Красный гранат: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лазурит 2: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Литий: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахит: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молибденит: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Нефтеносный песок: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Никель: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "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)$()", + "text": "$(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)$()$(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)$()", "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), $(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)$()", + "text": "$(li)Самородная Золото: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Самородная Медь: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Самородная Серебро: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Сапфир: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Свинец: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Селитра: $(l:tfg_ores/earth_vein_index#normal_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_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 7c8777efe..25ef6cffc 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 @@ -2899,7 +2899,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Соль", + "name": "Галит", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -2991,7 +2991,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Соль", + "name": "Галит", "multiblock": { "mapping": { "0": "#forge:ores/salt" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json index 79da86b26..791a499b8 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json @@ -14,22 +14,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)Алмаз: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Альмандин: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Апатит: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Асбест: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Барит: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Бастнезит: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Бериллий: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Боксит: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Борнит: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Висмут: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Вольфрамат: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)Галена: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Гарниерит: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Гематит: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()", + "text": "$(li)Алмаз: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Альмандин: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Апатит: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Асбест: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Барит: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Бастнезит: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Бериллий: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Боксит: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Борнит: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Висмут: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Вольфрамат: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)Галена: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Галит: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Гарниерит: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Гётит: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Гипс: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Глауконитовый песок: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Графит: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Жёлтый лимонит: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Зелёный сапфир: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Изумруд: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Кальцит: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Каменная соль: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Касситерит: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Кварцит: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Лазурит: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()", + "text": "$(li)Гематит: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)Гётит: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Гипс: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Глауконитовый песок: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Графит: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Жёлтый лимонит: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Зелёный сапфир: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Изумруд: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Кальцит: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Каменная соль: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Касситерит: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Кварцит: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Лазурит 2: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Литий: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Монацит: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Неодим: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Никель: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Олово: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Пентландит: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Пирит: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Пиролюзит: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Пироп: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Пирохлор: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Платина: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()", + "text": "$(li)Лазурит: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Лазурит 2: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Литий: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Монацит: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Неодим: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Никель: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Олово: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Пентландит: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Пирит: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Пиролюзит: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Пироп: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Пирохлор: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Реальгар: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Редстоун: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Рубин: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Самородная Золото: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Самородная Медь: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Самородная Серебро: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Сапфир: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Свинец: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Селитра: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Сера: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Содалит: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Соль: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Спасерит: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Сподумен: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()", + "text": "$(li)Платина: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Реальгар: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Редстоун: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Рубин: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Самородная Золото: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Самородная Медь: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Самородная Серебро: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Сапфир: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Свинец: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Селитра: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Сера: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Содалит: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Спасерит: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Сподумен: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json index 3d39d30b7..f27f27834 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json @@ -1652,7 +1652,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Соль", + "name": "Галит", "multiblock": { "mapping": { "0": "#forge:ores/salt" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json index f98950921..a6fd32673 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Каменная соль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Пирит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Сера: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)Соль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Сподумен: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()", + "text": "$(li)Галит: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Каменная соль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Пирит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Сера: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)Сподумен: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json index 654d6f469..dbaaa0ef0 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json @@ -26,7 +26,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Соль", + "name": "Галит", "multiblock": { "mapping": { "0": "#forge:ores/salt" 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 0b0ce6aa8..a6ba90640 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_ore_index.json @@ -19,27 +19,27 @@ }, { "Type": "patchouli:text", - "text": "$(li)Ванадієвий магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Вісмут: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Вольфрам: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Вугілля: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)Вульфеніт: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Галена: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Гарнієрит: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Гематит: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Гетит: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Гіпс: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)Главконітний пісок: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Гранатовий пісок: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Гранітний мінеральний пісок: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Графіт: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()", + "text": "$(li)Ванадієвий магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Вісмут: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Вольфрам: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Вугілля: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)Вульфеніт: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Галена: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Галіт: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Гарнієрит: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Гематит: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Гетит: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Гіпс: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)Главконітний пісок: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Гранатовий пісок: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Гранітний мінеральний пісок: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Гроссуляр: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)Діамант: $(l:tfg_ores/earth_vein_index#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)$()", + "text": "$(li)Графіт: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(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)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Кіновар: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)Кобальт: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лапіс: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Літій: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахіт: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молібденіт: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Нафтові піски: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()", + "text": "$(li)Кіаніт: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/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#normal_lapis)35%$(/l)$()$(li)Лапіс: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Літій: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахіт: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молібденіт: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Нафтові піски: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()", "type": "patchouli:text" }, { "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), $(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)$()", + "text": "$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(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)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Редстоун: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)Рубін: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)Самородна Золото: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Самородна Мідь: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Самородна Срібла: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Сапфір: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Свинець: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Сіль: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Сірка: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Слюда: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Смарагд: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Соапостон: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Содаліт: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Спесартін: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", + "text": "$(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)$()$(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#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Слюда: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Смарагд: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Соапостон: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Содаліт: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Спесартін: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json index e500d59e9..b3e3b5545 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 @@ -2844,7 +2844,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Сіль", + "name": "Галіт", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -2936,7 +2936,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Сіль", + "name": "Галіт", "multiblock": { "mapping": { "0": "#forge:ores/salt" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json index 4db55a423..b453cbfe8 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json @@ -14,22 +14,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)Азбест: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Алмандін: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Апатит: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Барит: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Бастнезит: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Берилій: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Боксит: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Борніт: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Вісмут: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Вольфрам: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)Вугілля: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)Галена: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Гарнієрит: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Гематит: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()", + "text": "$(li)Азбест: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Алмандін: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Апатит: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Барит: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Бастнезит: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Берилій: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Боксит: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Борніт: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Вісмут: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Вольфрам: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)Вугілля: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)Галена: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Галіт: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Гарнієрит: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Гетит: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Гіпс: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Главконітний пісок: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Графіт: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Діамант: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Електротин: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Жовтий лимоніт: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Зелений сапфір: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Кальцит: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Кам’яна сіль: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Каситерит: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Кварцит: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()", + "text": "$(li)Гематит: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)Гетит: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Гіпс: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Главконітний пісок: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Графіт: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Діамант: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Електротин: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Жовтий лимоніт: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Зелений сапфір: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Кальцит: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Кам’яна сіль: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Каситерит: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Кварцит: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Лазурит: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Лапіс: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Літій: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Монацит: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Неодим: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Нікель: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Нітрат калію: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Олово: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Пентландит: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Пірит: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Піролюзит: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Піроп: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Пірохлор: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()", + "text": "$(li)Кобальтит: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Лазурит: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Лапіс: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Літій: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Монацит: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Неодим: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Нікель: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Нітрат калію: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Олово: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Пентландит: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Пірит: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Піролюзит: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Піроп: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Платина: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Реальгар: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Редстоун: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Рубін: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Самородна Золото: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Самородна Мідь: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Самородна Срібла: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Сапфір: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Свинець: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Сіль: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Сірка: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Смарагд: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Соапостон: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Содаліт: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()", + "text": "$(li)Пірохлор: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Платина: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Реальгар: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Редстоун: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Рубін: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Самородна Золото: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Самородна Мідь: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Самородна Срібла: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Сапфір: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Свинець: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Сірка: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Смарагд: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Соапостон: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Содаліт: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json index 2606457be..9e5422254 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json @@ -1746,7 +1746,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Сіль", + "name": "Галіт", "multiblock": { "mapping": { "0": "#forge:ores/salt" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json index bd6266b92..570f2fd95 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Кам’яна сіль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Пірит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Сіль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Сірка: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)Сподумен: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()", + "text": "$(li)Галіт: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Кам’яна сіль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Пірит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Сірка: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)Сподумен: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json index 735043c1f..342b3dda3 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json @@ -93,7 +93,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Сіль", + "name": "Галіт", "multiblock": { "mapping": { "0": "#forge:ores/salt" 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 3bb43fe46..4dec4ba18 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_ore_index.json @@ -14,17 +14,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)云母: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)原生金: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)原生银: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)塔基安矿: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)天然碱: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)孔雀石: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)岩盐: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)方钍石: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)方钠石: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)明矾石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()", + "text": "$(li)云母: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)原生金: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)原生银: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)塔基安矿: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)天然碱: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)孔雀石: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)岩盐: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)岩盐: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)方钍石: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)方钠石: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)晶质铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)朱砂: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)橄榄石: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)沸石: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)油砂: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)滑石: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)漂白土: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)烧绿石: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)煤炭: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)独居石: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)玄武岩矿砂: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()", + "text": "$(li)明矾石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)朱砂: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)橄榄石: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)沸石: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)油砂: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)滑石: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)漂白土: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)烧绿石: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)煤炭: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)独居石: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)白钨矿: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)皂石: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)盐: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)石棉: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)石榴石矿砂: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)石膏: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)石英岩: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)石墨: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)硅藻土: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)硝石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)10%$(/l)$()$(li)硫: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)硼砂: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()", + "text": "$(li)玄武岩矿砂: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)白钨矿: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)皂石: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)石棉: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)石榴石矿砂: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)石膏: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)石英岩: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)石墨: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)硅藻土: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)硝石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)10%$(/l)$()$(li)硫: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)硼砂: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()", "type": "patchouli:text" }, { 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 119016ffc..9464af967 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 @@ -520,7 +520,7 @@ }, { "Type": "patchouli:multiblock", - "name": "盐", + "name": "岩盐", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -3192,7 +3192,7 @@ }, { "Type": "patchouli:multiblock", - "name": "盐", + "name": "岩盐", "multiblock": { "mapping": { "0": "#forge:ores/salt" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json index a4d5f7832..7280e6e87 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json @@ -14,12 +14,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)原生金: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)原生银: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)天然碱: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)岩盐: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)方解石: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)方钍石: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)方钠石: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()", + "text": "$(li)原生金: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)原生银: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)天然碱: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)岩盐: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)岩盐: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)方解石: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)方钍石: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)方钠石: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)滑石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)烧绿石: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)煤炭: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)独居石: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)白钨矿: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)皂石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)盐: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)石棉: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)石膏: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)石英岩: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)石墨: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)硝石: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)硫: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()", + "text": "$(li)海绿石矿砂: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)滑石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)烧绿石: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)煤炭: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)独居石: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)白钨矿: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)皂石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)石棉: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)石膏: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)石英岩: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)石墨: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)硝石: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)硫: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json index db5bbf7a0..4b7a97e07 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json @@ -650,7 +650,7 @@ }, { "Type": "patchouli:multiblock", - "name": "盐", + "name": "岩盐", "multiblock": { "mapping": { "0": "#forge:ores/salt" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json index 57bbc45ee..0f9710012 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)岩盐: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)盐: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)硫: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)锂云母: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)锂辉石: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)闪锌矿: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()$(li)黄铁矿: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()", + "text": "$(li)岩盐: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)岩盐: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)硫: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)锂云母: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)锂辉石: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)闪锌矿: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()$(li)黄铁矿: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json index 0f53ef214..267991f0e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json @@ -26,7 +26,7 @@ }, { "Type": "patchouli:multiblock", - "name": "盐", + "name": "岩盐", "multiblock": { "mapping": { "0": "#forge:ores/salt" diff --git a/kubejs/assets/tfcastikorcarts/lang/ru_ru.json b/kubejs/assets/tfcastikorcarts/lang/ru_ru.json index 2ee9cee4d..ddc2e910b 100644 --- a/kubejs/assets/tfcastikorcarts/lang/ru_ru.json +++ b/kubejs/assets/tfcastikorcarts/lang/ru_ru.json @@ -932,5 +932,12 @@ "item.tfcastikorcarts.wheel.yellow_jacaranda": "Yellow Jacaranda колесо", "item.tfcastikorcarts.wheel.yellow_meranti": "Yellow Meranti колесо", "item.tfcastikorcarts.wheel.yew": "Yew колесо", - "item.tfcastikorcarts.wheel.zebrawood": "Zebrawood колесо" + "item.tfcastikorcarts.wheel.zebrawood": "Zebrawood колесо", + "item.tfcastikorcarts.wheel.mangrove": "Колесо из мангрового дерева", + "item.tfcastikorcarts.animal_cart.mangrove": "Скотовоз из мангрового дерева", + "item.tfcastikorcarts.plow.mangrove": "Плуг из мангрового дерева", + "item.tfcastikorcarts.supply_cart.mangrove": "Грузовая тележка из мангрового дерева", + "entity.tfcastikorcarts.animal_cart.mangrove": "Скотовоз из мангрового дерева", + "entity.tfcastikorcarts.plow.mangrove": "Плуг из мангрового дерева", + "entity.tfcastikorcarts.supply_cart.mangrove": "Грузовая тележка из мангрового дерева" } \ No newline at end of file diff --git a/kubejs/assets/tfcgroomer/lang/en_gb.json b/kubejs/assets/tfcgroomer/lang/en_gb.json new file mode 100644 index 000000000..233ad89f2 --- /dev/null +++ b/kubejs/assets/tfcgroomer/lang/en_gb.json @@ -0,0 +1,12 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.tfcgroomer.copper_grooming_station": "Copper Feeding Trough", + "block.tfcgroomer.bronze_grooming_station": "Bronze Feeding Trough", + "block.tfcgroomer.bismuth_bronze_grooming_station": "Bismuth Bronze Feeding Trough", + "block.tfcgroomer.black_bronze_grooming_station": "Black Bronze Feeding Trough", + "block.tfcgroomer.wrought_iron_grooming_station": "Wrought Iron Feeding Trough", + "block.tfcgroomer.steel_grooming_station": "Steel Feeding Trough", + "block.tfcgroomer.black_steel_grooming_station": "Black Steel Feeding Trough", + "block.tfcgroomer.red_steel_grooming_station": "Red Steel Feeding Trough", + "block.tfcgroomer.blue_steel_grooming_station": "Blue Steel Feeding Trough" +} \ No newline at end of file diff --git a/kubejs/assets/tfcscraping/lang/ru_ru.json b/kubejs/assets/tfcscraping/lang/ru_ru.json new file mode 100644 index 000000000..d3d408f34 --- /dev/null +++ b/kubejs/assets/tfcscraping/lang/ru_ru.json @@ -0,0 +1,24 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "item.tfcscraping.metal.scraping_knife.bismuth_bronze": "Нож для соскребания (Висмутовая бронза)", + "item.tfcscraping.metal.scraping_knife_blade.bismuth_bronze": "Висмутовая бронза (Оголовье ножа для соскребания)", + "item.tfcscraping.metal.scraping_knife.black_bronze": "Нож для соскребания (Чёрная бронза)", + "item.tfcscraping.metal.scraping_knife_blade.black_bronze": "Чёрная бронза (Оголовье ножа для соскребания)", + "item.tfcscraping.metal.scraping_knife.bronze": "Нож для соскребания (Бронза)", + "item.tfcscraping.metal.scraping_knife_blade.bronze": "Бронза (Оголовье ножа для соскребания)", + "item.tfcscraping.metal.scraping_knife.copper": "Нож для соскребания (Медь)", + "item.tfcscraping.metal.scraping_knife_blade.copper": "Медь (Оголовье ножа для соскребания)", + "item.tfcscraping.metal.scraping_knife.wrought_iron": "Нож для соскребания (Кованное железо)", + "item.tfcscraping.metal.scraping_knife_blade.wrought_iron": "Кованное железо (Оголовье ножа для соскребания)", + "item.tfcscraping.metal.scraping_knife.steel": "Нож для соскребания (Сталь)", + "item.tfcscraping.metal.scraping_knife_blade.steel": "Сталь (Оголовье ножа для соскребания)", + "item.tfcscraping.metal.scraping_knife.black_steel": "Нож для соскребания (Черная сталь)", + "item.tfcscraping.metal.scraping_knife_blade.black_steel": "Черная сталь (Оголовье ножа для соскребания)", + "item.tfcscraping.metal.scraping_knife.blue_steel": "Нож для соскребания (Синяя сталь)", + "item.tfcscraping.metal.scraping_knife_blade.blue_steel": "Синяя сталь (Оголовье ножа для соскребания)", + "item.tfcscraping.metal.scraping_knife.red_steel": "Нож для соскребания (Красная сталь)", + "item.tfcscraping.metal.scraping_knife_blade.red_steel": "Красная сталь (Оголовье ножа для соскребания)", + "item.tfcscraping.ceramic.unfired_scraping_knife_blade_mold": "Необоженная форма оголовья ножа для соскребания", + "item.tfcscraping.ceramic.scraping_knife_blade_mold": "Форма оголовья ножа для соскребания", + "tfcscraping.creative_tab.scraping": "Scraping Knives" +} \ 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 77bd806ed..4ba846220 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -437,6 +437,76 @@ "block.tfg.loose.red_granite": "Loose Red Granite Rock", "block.tfg.spike.red_granite_spike": "Red Granite Spike", "block.tfg.rock.aqueduct_red_granite": "Red Granite Aqueduct", + "block.tfg.rock.sandy_jadestone_stairs": "Raw Lamproite Stairs", + "block.tfg.rock.sandy_jadestone_slab": "Raw Lamproite Slab", + "block.tfg.rock.sandy_jadestone_wall": "Raw Lamproite Wall", + "block.tfg.rock.hardened_sandy_jadestone": "Hardened Lamproite", + "block.tfg.spike.sandy_jadestone_spike": "Lamproite Spike", + "block.tfg.sandy_jadestone_support": "Lamproite Support", + "block.tfg.rock.cobble_sandy_jadestone": "Lamproite Cobble", + "block.tfg.rock.cobble_sandy_jadestone_stairs": "Lamproite Cobble Stairs", + "block.tfg.rock.cobble_sandy_jadestone_slab": "Lamproite Cobble Slab", + "block.tfg.rock.cobble_sandy_jadestone_wall": "Lamproite Cobble Wall", + "block.tfg.rock.gravel_sandy_jadestone": "Lamproite Gravel", + "block.tfg.rock.aqueduct_sandy_jadestone": "Lamproite Aqueduct", + "block.tfg.rock.bricks_sandy_jadestone_stairs": "Lamproite Brick Stairs", + "block.tfg.rock.bricks_sandy_jadestone_slab": "Lamproite Brick Slab", + "block.tfg.rock.bricks_sandy_jadestone_wall": "Lamproite Brick Wall", + "block.tfg.rock.polished_sandy_jadestone_stairs": "Polished Lamproite Stairs", + "block.tfg.rock.polished_sandy_jadestone_slab": "Polished Lamproite Slab", + "block.tfg.rock.polished_sandy_jadestone_wall": "Polished Lamproite Wall", + "block.tfg.rock.chiseled_sandy_jadestone_stairs": "Lamproite Tile Stairs", + "block.tfg.rock.chiseled_sandy_jadestone_slab": "Lamproite Tile Slab", + "block.tfg.rock.chiseled_sandy_jadestone_wall": "Lamproite Tile Wall", + "block.tfg.loose.sandy_jadestone": "Loose Lamproite Rock", + "block.tfg.rock.flavolite_stairs": "Raw Ignimbrite Stairs", + "block.tfg.rock.flavolite_slab": "Raw Ignimbrite Slab", + "block.tfg.rock.flavolite_wall": "Raw Ignimbrite Wall", + "block.tfg.rock.hardened_flavolite": "Hardened Ignimbrite", + "block.tfg.spike.flavolite_spike": "Ignimbrite Spike", + "block.tfg.flavolite_support": "Ignimbrite Support", + "block.tfg.rock.cobble_flavolite": "Ignimbrite Cobble", + "block.tfg.rock.cobble_flavolite_stairs": "Ignimbrite Cobble Stairs", + "block.tfg.rock.cobble_flavolite_slab": "Ignimbrite Cobble Slab", + "block.tfg.rock.cobble_flavolite_wall": "Ignimbrite Cobble Wall", + "block.tfg.rock.gravel_flavolite": "Ignimbrite Gravel", + "block.tfg.rock.aqueduct_flavolite": "Ignimbrite Aqueduct", + "block.tfg.rock.bricks_flavolite_stairs": "Ignimbrite Brick Stairs", + "block.tfg.rock.bricks_flavolite_slab": "Ignimbrite Brick Slab", + "block.tfg.rock.bricks_flavolite_wall": "Ignimbrite Brick Wall", + "block.tfg.rock.polished_flavolite_stairs": "Polished Ignimbrite Stairs", + "block.tfg.rock.polished_flavolite_slab": "Polished Ignimbrite Slab", + "block.tfg.rock.polished_flavolite_wall": "Polished Ignimbrite Wall", + "block.tfg.rock.chiseled_flavolite_stairs": "Ignimbrite Tile Stairs", + "block.tfg.rock.chiseled_flavolite_slab": "Ignimbrite Tile Slab", + "block.tfg.rock.chiseled_flavolite_wall": "Ignimbrite Tile Wall", + "block.tfg.loose.flavolite": "Loose Ignimbrite Rock", + "block.tfg.rock.scoria_stairs": "Raw Scoria Stairs", + "block.tfg.rock.scoria_slab": "Raw Scoria Slab", + "block.tfg.rock.scoria_wall": "Raw Scoria Wall", + "block.tfg.rock.hardened_scoria": "Hardened Scoria", + "block.tfg.spike.scoria_spike": "Scoria Spike", + "block.tfg.scoria_support": "Scoria Support", + "block.tfg.rock.cobble_scoria": "Scoria Cobble", + "block.tfg.rock.cobble_scoria_stairs": "Scoria Cobble Stairs", + "block.tfg.rock.cobble_scoria_slab": "Scoria Cobble Slab", + "block.tfg.rock.cobble_scoria_wall": "Scoria Cobble Wall", + "block.tfg.rock.gravel_scoria": "Scoria Gravel", + "block.tfg.rock.aqueduct_scoria": "Scoria Aqueduct", + "block.tfg.loose.scoria": "Loose Scoria Rock", + "block.tfg.rock.scorchia_stairs": "Raw Scorchia Stairs", + "block.tfg.rock.scorchia_slab": "Raw Scorchia Slab", + "block.tfg.rock.scorchia_wall": "Raw Scorchia Wall", + "block.tfg.rock.hardened_scorchia": "Hardened Scorchia", + "block.tfg.spike.scorchia_spike": "Scorchia Spike", + "block.tfg.scorchia_support": "Scorchia Support", + "block.tfg.rock.cobble_scorchia": "Scorchia Cobble", + "block.tfg.rock.cobble_scorchia_stairs": "Scorchia Cobble Stairs", + "block.tfg.rock.cobble_scorchia_slab": "Scorchia Cobble Slab", + "block.tfg.rock.cobble_scorchia_wall": "Scorchia Cobble Wall", + "block.tfg.rock.gravel_scorchia": "Scorchia Gravel", + "block.tfg.rock.aqueduct_scorchia": "Scorchia Aqueduct", + "block.tfg.loose.scorchia": "Loose Scorchia Rock", "block.tfg.rock.stone_wall": "Reconstituted Stone Wall", "block.tfg.rock.smooth_stone_stairs": "Polished Reconstituted Stone Stairs", "block.tfg.rock.smooth_stone_wall": "Polished Reconstituted Stone Wall", @@ -806,22 +876,18 @@ "item.tfg.unfinished_inscriber_accumulation_press": "Unfinished Inscriber Accumulation Press", "item.tfg.brick.deepslate": "Migmatite Brick", "item.tfg.brick.dripstone": "Travertine Brick", - "item.tfg.loose.moon_stone": "Loose Anorthosite", "item.tfg.brick.moon_stone": "Anorthosite Brick", - "item.tfg.loose.moon_deepslate": "Loose Norite", "item.tfg.brick.moon_deepslate": "Norite Brick", - "item.tfg.loose.mars_stone": "Loose Argillite", "item.tfg.brick.mars_stone": "Argillite Brick", - "item.tfg.loose.venus_stone": "Loose Trachyte", "item.tfg.brick.venus_stone": "Trachyte Brick", - "item.tfg.loose.mercury_stone": "Loose Komatiite", "item.tfg.brick.mercury_stone": "Komatiite Brick", - "item.tfg.loose.glacio_stone": "Loose Phonolite", "item.tfg.brick.glacio_stone": "Phonolite Brick", - "item.tfg.loose.permafrost": "Permafrost Chunk", "item.tfg.brick.permafrost": "Permafrost Brick", - "item.tfg.loose.red_granite": "Loose Red Granite", "item.tfg.brick.red_granite": "Red Granite Brick", + "item.tfg.brick.sandy_jadestone": "Lamproite Brick", + "item.tfg.brick.flavolite": "Ignimbrite Brick", + "item.tfg.brick.scoria": "Scoria Brick", + "item.tfg.brick.scorchia": "Scorchia Brick", "item.tfg.terra_firma_greg": "TerraFirmaGreg", "item.tfg.scaffolding_frame": "Scaffolding Frame", "item.tfg.airship_hull": "Airship Hull", @@ -1526,7 +1592,7 @@ "trim_material.tfc.rutile_tfc": "Rutile", "trim_material.tfc.lazurite_tfc": "Lazurite", "trim_material.tfc.pyrope_tfc": "Pyrope", - "trim_material.tfc.rock_salt_tfc": "Rock Salt", + "trim_material.tfc.rock_salt_tfc": "Sylvite", "trim_material.tfc.ruby_tfc": "Ruby", "trim_material.tfc.salt_tfc": "salt", "trim_material.tfc.sapphire_tfc": "Sapphire", @@ -2395,7 +2461,7 @@ "quests.extreme_voltage.radiation.task": "Safety First!", "quests.extreme_voltage.hexafluorosilic_acid.title": "Hexafluorosilic Acid", "quests.extreme_voltage.hexafluorosilic_acid.subtitle": "There's something in the water...", - "quests.extreme_voltage.hexafluorosilic_acid.desc": "Hexafluorosilic Acid is obtained by bathing Red Granite, Trachyte, or Argillite Dust in Hydrofluoric acid. You can get an infinite amount of this dust from a Rock Crusher.", + "quests.extreme_voltage.hexafluorosilic_acid.desc": "Hexafluorosilic Acid is obtained by bathing Ochrum Dust in Hydrofluoric acid. You can get an infinite amount of this dust from a Rock Crusher.", "quests.extreme_voltage.martian_sludge.title": "Martian Sludge", "quests.extreme_voltage.martian_sludge.subtitle": "The Slop Line", "quests.extreme_voltage.martian_sludge.desc": "Centrifuge the Hexafluorosilic Acid to get your Fluorine back, along with some &6Martian Sludge&r - required for Radon and Nuclear Residue.", @@ -2791,7 +2857,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 &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.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• &7Asurine Dust&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", @@ -3302,7 +3368,7 @@ "quests.medium_voltage.mv_energy_hatch.desc": "A &7LV&r Battery Buffer and two &7LV&r Energy Hatches likely won't cut it anymore. Let's remedy that!\n\nUpgrade your Electric Blast Furnace with a &3MV Energy Hatch&r. Now, you can run it with &bMV&r Generators without having to mess around with &3Transformers&r.", "quests.medium_voltage.mv_kanthal_coil.title": "Kanthal Coils", "quests.medium_voltage.mv_kanthal_coil.subtitle": "Is it getting hot in here?", - "quests.medium_voltage.mv_kanthal_coil.desc": "&3Kanthal Heating Coils&r are the next major step in progression. They increase the temperature of your &3Blast Furnace&r to &d2,700K&r, allowing you to process new materials. They may also &eaccelerate&r less hot recipes - check the &aEnergy&r chapter to the top-left for details.\n\nRemember that you &ccannot&r mix coils in an EBF.", + "quests.medium_voltage.mv_kanthal_coil.desc": "&3Kanthal Heating Coils&r are the next major step in progression. They increase the temperature of your &3Blast Furnace&r to &d2,700K&r, allowing you to process new materials. They may also &eaccelerate&r less hot recipes - check the &aGregTech Energy&r chapter to the top-left for details about how Blast Furnace overclocks work.\n\nRemember that you &ccannot&r mix coils in an EBF.", "quests.medium_voltage.mv_kanthal_ingot.title": "Kanthal", "quests.medium_voltage.mv_kanthal_ingot.subtitle": "This one is hot", "quests.medium_voltage.mv_kanthal_ingot.desc.1": "Oh good lord 128 ingots, that’s a lot of &cKanthal&r needed here... And what the heck is this &chot ingot&r thing again? &cYes, again!&r\n\nHere we are with a mechanic you should remember from &aTerrafirmaCraft&r—it hasn't been that long, right?\n\n&cHot ingots&r will &cburn you&r if you carry them around and you don't have &cany way&r to counter it using Tongs...\n\nAlso unlike &aTFC&r, &cthey don’t cool down naturally&r! You’ll need to actively &acool them&r down.", @@ -3367,7 +3433,7 @@ "quests.metal_age.copper_diving.desc": "Struggling with aquifers in your ore veins? You can craft a set of copper diving equipment, with an air supply that can last for 20 minutes!", "quests.metal_age.bloomery.title": "Bloomery", "quests.metal_age.bloomery.subtitle": "Required if you seek the Iron Age.", - "quests.metal_age.bloomery.desc": "The Bloomery is a Multiblock from TerraFirmaCraft that allows you to create Wrought Iron. Melting iron in a forge will produce Cast Iron, which is brittle and nowhere near as strong or durable as Wrought Iron.\n\nThe Bloomery is expensive, so it will be worth investing some time into setting up automatic plate production and ore processing.\n\nThe Field Guide contains a detailed entry on how the Bloomery works and the correct ratios of iron and charcoal that it needs.", + "quests.metal_age.bloomery.desc": "The Bloomery is a Multiblock from TerraFirmaCraft that allows you to create Wrought Iron. Melting iron in a forge will produce Cast Iron, which is brittle and nowhere near as strong or durable as Wrought Iron.\n\nThe Bloomery is expensive, so it will be worth investing some time into setting up automatic plate production and ore processing.\n\nThe Field Guide contains a detailed entry on how the Bloomery works and the correct ratios of iron and fuel that it needs.", "quests.metal_age.mining.title": "Mining in the Metallurgy Age", "quests.metal_age.mining.subtitle": "ROCK AND STONE!", "quests.metal_age.mining.desc": "Extracting valuable resources from the ground is a major part of this modpack, and the Metallurgy Age is no exception! You will consume a &llot&r of metal to progress, and one way to mine a lot of it at once is with a Mining Hammer! This is a tool that can mine blocks in a 3x3x1 area at the cost of a slower mining speed. You can also hold sneak to break single blocks at a time.", @@ -3991,7 +4057,7 @@ "quests.steam_age.paper.desc": "If you haven't made any yet, there's three different ways to get paper without electricity.\n\n1) Craft vellum out of a hide, pumice, and an egg.\n\n2) Weave together papyrus.\n\n3) Craft it out of hardwood through a lengthy process.\n\nYou can later turn wood pulp directly into paper with fewer steps.", "quests.steam_age.lv_circuit.title": "Your first circuit!", "quests.steam_age.lv_circuit.subtitle": "The dawn of a new age", - "quests.steam_age.lv_circuit.desc": "The recipe for these may look intimidating at first, but if you've spent an appropriate amount of time in the Steam Age, everything should be easily automatable. You'll be making a lot of these for a while, but your next few electic machines will help make them even cheaper until you get your hands on a Circuit Assembler late into LV.", + "quests.steam_age.lv_circuit.desc": "The recipe for these may look intimidating at first, but if you've spent an appropriate amount of time in the Steam Age, everything should be easily automatable. You'll be making a lot of these for a while, but your next few electric machines will help make them even cheaper until you get your hands on a Circuit Assembler late into LV.", "quests.steam_age.what_next.title": "What Next?", "quests.steam_age.what_next.subtitle": "Y'know, besides \"more GregTech\"", "quests.steam_age.what_next.desc": "If you rushed straight here, we suggest machines like the LV Bender, Wiremill, or Mixer first.\nOtherwise, if you made the kinetic machines below, we suggest the Assembler, Arc Furnace, Chemical Reactor, or Polarizer.", @@ -4884,6 +4950,7 @@ "quests.tfg_tips.cellar_blocks.title": "Cellar Storage", "quests.tfg_tips.cellar_blocks.subtitle": "Stuff to put your food in", "quests.tfg_tips.cellar_blocks.desc": "&bFood Shelves&r can be used to store virtually any kind of food. &bHangers&r can be used to store &aMeat&r and &aGarlic.&r Food stored in these receive a powerful preservation trait greater than that of &dVessels.&r", + "quests.tfg_tips.cellar_blocks.task": "Any food shelf or hanger", "quests.tfg_tips.beneath.title": "The Beneath", "quests.tfg_tips.beneath.subtitle": "Journey to the Center of the Earth", "quests.tfg_tips.beneath.desc": "Deep, DEEP underground, past the &dBedrock&r, you'll find &4The Beneath&r, a complex network of huge caves filled with dangers and strange flora and fauna. While &4The Beneath&r is completely optional, it contains a lot of resources as well as some quality of life improvements.", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index da26d0517..e4693bfd5 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -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 &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.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• &7Asurine Dust&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", @@ -2562,7 +2562,7 @@ "quests.metal_age.copper_diving.desc": "Struggling with aquifers in your ore veins? You can craft a set of copper diving equipment, with an air supply that can last for 20 minutes!", "quests.metal_age.bloomery.title": "Bloomery", "quests.metal_age.bloomery.subtitle": "Required if you seek the Iron Age.", - "quests.metal_age.bloomery.desc": "The Bloomery is a Multiblock from TerraFirmaCraft that allows you to create Wrought Iron. Melting iron in a forge will produce Cast Iron, which is brittle and nowhere near as strong or durable as Wrought Iron.\n\nThe Bloomery is expensive, so it will be worth investing some time into setting up automatic plate production and ore processing.\n\nThe Field Guide contains a detailed entry on how the Bloomery works and the correct ratios of iron and charcoal that it needs.", + "quests.metal_age.bloomery.desc": "The Bloomery is a Multiblock from TerraFirmaCraft that allows you to create Wrought Iron. Melting iron in a forge will produce Cast Iron, which is brittle and nowhere near as strong or durable as Wrought Iron.\n\nThe Bloomery is expensive, so it will be worth investing some time into setting up automatic plate production and ore processing.\n\nThe Field Guide contains a detailed entry on how the Bloomery works and the correct ratios of iron and fuel that it needs.", "quests.metal_age.mining.title": "Mining in the Metallurgy Age", "quests.metal_age.mining.subtitle": "ROCK AND STONE!", "quests.metal_age.mining.desc": "Extracting valuable resources from the ground is a major part of this modpack, and the Metallurgy Age is no exception! You will consume a &llot&r of metal to progress, and one way to mine a lot of it at once is with a Mining Hammer! This is a tool that can mine blocks in a 3x3x1 area at the cost of a slower mining speed. You can also hold sneak to break single blocks at a time.", @@ -3091,7 +3091,7 @@ "quests.steam_age.paper.desc": "If you haven't made any yet, there's three different ways to get paper without electricity.\n\n1) Craft vellum out of a hide, pumice, and an egg.\n\n2) Weave together papyrus.\n\n3) Craft it out of hardwood through a lengthy process.\n\nYou can later turn wood pulp directly into paper with fewer steps.", "quests.steam_age.lv_circuit.title": "Your first circuit!", "quests.steam_age.lv_circuit.subtitle": "The dawn of a new age", - "quests.steam_age.lv_circuit.desc": "The recipe for these may look intimidating at first, but if you've spent an appropriate amount of time in the Steam Age, everything should be easily automatable. You'll be making a lot of these for a while, but your next few electic machines will help make them even cheaper until you get your hands on a Circuit Assembler late into LV.", + "quests.steam_age.lv_circuit.desc": "The recipe for these may look intimidating at first, but if you've spent an appropriate amount of time in the Steam Age, everything should be easily automatable. You'll be making a lot of these for a while, but your next few electric machines will help make them even cheaper until you get your hands on a Circuit Assembler late into LV.", "quests.steam_age.what_next.title": "What Next?", "quests.steam_age.what_next.subtitle": "Y'know, besides \"more GregTech\"", "quests.steam_age.what_next.desc": "If you rushed straight here, we suggest machines like the LV Bender, Wiremill, or Mixer first.\nOtherwise, if you made the kinetic machines below, we suggest the Assembler, Arc Furnace, Chemical Reactor, or Polarizer.", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index e7f3b5579..0fc24da57 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1083,10 +1083,6 @@ "item.tfg.impure_graphite_rod": "Стержень из нечистого графита", "item.tfg.annealed_graphite_rod": "Отожженный графитовый стержень", "item.tfg.impure_annealed_graphite_rod": "Нечистый отожженный графитовый стержень", - "item.tfg.moderate_core": "Стабилизирующее ядро", - "item.tfg.impure_moderate_core": "Нечистый стабилизирующее ядро", - "item.tfg.moderate_core_frame": "Каркас с стабилизирующее ядром", - "item.tfg.impure_moderate_core_frame": "Каркас с нечистым стабилизирующее ядром", "item.tfg.graphite_moderator": "Графитный стабилизатор", "item.tfg.impure_graphite_moderator": "Нечистый графитный стабилизатор", "item.tfg.advanced_polymer_binder": "Усовершенствованное полимерное связующее", @@ -1594,6 +1590,7 @@ "tfg.tooltip.machine.perfect_overclock": "Эта машина имеет §2Идеальное ускорение§r!", "tfg.tooltip.machine.parallel": "Возможно распараллеливание с помощью люков контроля параллелей.", "tfg.tooltip.machine.customize_interior": "§7Интерьер можно настроить! Ознакомьтесь с многоблочным предварительным просмотром в JEI.", + "tfg.tooltip.machine.customize_greenhouse": "§7Стены этого мультиблока могут быть любым подходящим блоком для §eЖелезной теплицы§7. Проверь multiblock preview в EMI.", "tfg.tooltip.armor.copper_diving_suit_warmth": "§7Терморегуляция: -1", "tfg.tooltip.armor.copper_diving_suit_insulation": "§7Термоизоляция: +1", "tfg.tooltip.armor.netherite_diving_suit_warmth": "§7Терморегуляция: -2", @@ -1639,10 +1636,14 @@ "tfg.tooltip.machine.growth_chamber_2": "§7Содержит все необходимое для биоинженерных работ.§r", "tfg.tooltip.machine.evaporation_tower_1": "§7Не путать с ректификационной колонной.§r", "tfg.tooltip.machine.evaporation_tower_2": "§7Удаляет избыток растворителя для конденсации растворов.§r", - "tfg.tooltip.machine.electric_greenhouse_1": "§7Внедрение промышленная фермы в завод§r", + "tfg.tooltip.machine.electric_greenhouse_1": "§7§oВнедрение промышленная фермы в завод§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.machine.hydroponics_facility_1": "§7§oФермерство доООлгим путем§r", + "tfg.tooltip.machine.hydroponics_facility_2": "§7Усовершенствованная версия электротеплицы! Гидропонная установка имеет большие шансы выходных предметов и не имеет ограничений к насыщению кислородом.§r", + "tfg.tooltip.machine.pisciculture_fishery_1": "§7§o1-ая Рыбка, 2-ая Рыбка...§r", + "tfg.tooltip.machine.pisciculture_fishery_2": "§7Промышленный рыболов является не только источником свежей рыбы, но и играет важную роль в увеличении производства в теплицах благодаря §3аквапонике§7. Структура может быть заполнена любой жидкостью с тегом §o#tfg:pisciculture_fishery_fluids", "tfg.tooltip.obsolete.depreciated": "§cDeprecated, cannot be crafted any more", "tfg.tooltip.dna_syringe.empty": "Пустой шприц.", "tfg.tooltip.dna_syringe.dirty1": "Использованный шприц.", @@ -1682,6 +1683,15 @@ "tfg.tooltip.fake_nutrition_info_listener": "§7§oУдерживайте (Shift) для получения информации о питательности", "tfg.tooltip.fake_nutrition_info": "§7Питательность:", "tfg.tooltip.cheese_slice_microplastics": "§b- Микропластик: 1.9", + "tfg.tooltip.recipe_condition.oxygenated.true": "§bВ насыщенной кислородом среде", + "tfg.tooltip.recipe_condition.oxygenated.false": "§5В условиях недостатка кислорода", + "tfg.tooltip.recipe_condition.climate_rain": "Осадки мм", + "tfg.tooltip.recipe_condition.climate_temp": "Климат °C", + "tfg.tooltip.recipe_condition.gravity": "Гравитация m/s²", + "tfg.tooltip.firmalife_greenhouse.oxygen_required": "§cНеобходима среда, насыщенная кислородом!", + "tfg.tooltip.firmalife_greenhouse.oxygen_required.block": "§7Необходима среда, насыщенная кислородом, так каа теплица в космосе.", + "tfg.tooltip.grow_light_disapointment": "§7Нет. Это не ускорит рост ваших растений...", + "tfg.tooltip.rotten_voiding_cover": "§7Удаление гнили(Улучшение) работает как Удаление предметов(Улучшение), но уничтожает только §cГнилые предметы.", "tfg.gui.menu.field_guide_splash_text": "Совет: Читай полевое руководство!!!", "tfg.gui.menu.ram_usage": "RAM:", "tfg.gui.menu.fps_count": "FPS:", @@ -2305,7 +2315,7 @@ "quests.extreme_voltage.radiation.task": "Safety First!", "quests.extreme_voltage.hexafluorosilic_acid.title": "Hexafluorosilic Acid", "quests.extreme_voltage.hexafluorosilic_acid.subtitle": "There's something in the water...", - "quests.extreme_voltage.hexafluorosilic_acid.desc": "Hexafluorosilic Acid is obtained by bathing Red Granite, Trachyte, or Argillite Dust in Hydrofluoric acid. You can get an infinite amount of this dust from a Rock Crusher.", + "quests.extreme_voltage.hexafluorosilic_acid.desc": "Hexafluorosilic Acid is obtained by bathing Ochrum Dust in Hydrofluoric acid. You can get an infinite amount of this dust from a Rock Crusher.", "quests.extreme_voltage.martian_sludge.title": "Martian Sludge", "quests.extreme_voltage.martian_sludge.subtitle": "The Slop Line", "quests.extreme_voltage.martian_sludge.desc": "Centrifuge the Hexafluorosilic Acid to get your Fluorine back, along with some &6Martian Sludge&r - required for Radon and Nuclear Residue.", @@ -2467,7 +2477,7 @@ "quests.gregtech_energy.overclock.subtitle": "Базовая механика улучшения", "quests.gregtech_energy.overclock.desc.1": "Ты слышал про ускорение (Overclocking), но не до конца понимаешь, что это такое? Давай разберёмся.\n\nНачнём с основ:\n&dLV&r соответствует максимуму в 32 EU/t — иногда меньше, но никогда больше.\n&dMV&r доходит до 128 EU/t.\n&dHV&r достигает 512 EU/t.\nПроще говоря, каждый следующий тир — это увеличение потребления энергии в 4 раза.", "quests.gregtech_energy.overclock.desc.2": "Что происходит, когда ты запускаешь рецепт более низкого тира в машине более высокого тира? Это и называется &eускорением (Overclocking)&r!\n\nРецепт &dMV&r (33–128 EU/t), запущенный в машине &dHV&r, будет одновременно: 1) потреблять в 4 раза больше энергии и 2) выполняться в 2 раза быстрее.\n\nТот же рецепт MV в машине &dEV&r? Потребление энергии вырастет в 16 раз, но скорость увеличится лишь в 4 раза.\n\nКак видишь, с точки зрения энергоэффективности выгоднее использовать несколько машин, чем разгонять одну.\nНо давай честно: в большинстве сетапов ты предпочтёшь ускорение строительству кучи одинаковых машин.\n\nТем не менее, полезно понимать это заранее — особенно на ранних этапах, когда энергии не хватает.", - "quests.gregtech_energy.overclock.desc.3": "Существует особый вид ускорения, доступный лишь для некоторых мультиблоков: &eидеальное ускорение (Perfect Overclocking)&r.\nЗдесь вместо 4× энергии за 2× скорости ты получаешь &a4× энергии&r за &a4× скорости&r! Это делает его столь же эффективным, как использование нескольких машин одновременно.\n\nВ настоящее время в TerraFirmaGreg идеальный разгон поддерживают только следующие мультиблоки:\n- Электрическая доменная печь\n- Доменная печь для сплавов\n- Карусельная печь\n- Большой химический реактор\n- Электротеплица\n- Теплообменник", + "quests.gregtech_energy.overclock.desc.3": "Существует особый вид ускорения, доступный лишь для некоторых мультиблоков: &eидеальное ускорение (Perfect Overclocking)&r.\nЗдесь вместо 4× энергии за 2× скорости ты получаешь &a4× энергии&r за &a4× скорости&r! Это делает его столь же эффективным, как использование нескольких машин одновременно.\n\nВ настоящее время в TerraFirmaGreg идеальный разгон поддерживают только следующие мультиблоки:\n- Электрическая доменная печь\n- Доменная печь для сплавов\n- Карусельная печь\n- Большой химический реактор\n- Теплообменник", "quests.gregtech_energy.overclock.task": "Значит красненькие быстрее, понял", "quests.gregtech_energy.blast_oc.title": "Доменное ускорение", "quests.gregtech_energy.blast_oc.subtitle": "Это тебе не нужно понимать", @@ -2701,6 +2711,10 @@ "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.high_voltage.pisciculture.title": "Промышленный рыболов", + "quests.high_voltage.pisciculture.subtitle": "Мультиблок для поклёва", + "quests.high_voltage.pisciculture.desc.1": "&bПромышленный рыболов&r не только твой источник бесконечной рыбы, но также одна из составляющих &3Аквапонического цикла&r. Это круговой цикл рецептов в Промышленном рыболове и &2Электротеплице&r которые взаимно повышают урожайность друг друга и, при правильном подходе, не потребуют никаких внешних ресурсов.", + "quests.high_voltage.pisciculture.desc.2": "&5Примечание:&r Структура может быть заполнена любой жидкостью с тегом &o&7#tfg:pisciculture_fishery_fluids&r&r. Однако имейте в виду, что некоторые жидкости замерзают в космосе, и что некоторые рецепты могут не работать, если контроллер мультиблока находится не в среде, &nпригодной для дыхания&r.", "quests.low_voltage": "&7LV&r - Низкое Напряжение", "quests.low_voltage.subtitle": "Подчините электричество и начните свое путешествие в GregTech", "quests.low_voltage.lv_machine_hull.title": "Корпус вашей второй машины", @@ -2859,7 +2873,7 @@ "quests.low_voltage.lv_chemical_bath.title": "Обычная Химическая Ванная", "quests.low_voltage.lv_chemical_bath.subtitle": "Химическая Ванна Химичит", "quests.low_voltage.lv_chemical_bath.desc.1": "&lПомимо переработки руды:&r\n\nВы можете использовать Химическую ванну вместо рецептов с &6бочкой&r, что делает изготовление бумаги и кожи &6простым&r.\n\nЕсть и другие, менее важные рецепты, такие как окрашивание различных предметов и блоков или их отбеливание.", - "quests.low_voltage.lv_chemical_bath.desc.2": "&lДля переработки руды:&r\n\nНекоторые &aизмельчённые руды&r имеют альтернативные пути при промывке в &aочищенную руду&r, включающие обработку в &aртуте&r или &aперсульфате натрия&r. Этот этап не является критически важным, если только вы действительно не хотите получить особый &6побочный продукт&r. Это также может стать неплохим альтернативным источником серебра (*подмигивание).", + "quests.low_voltage.lv_chemical_bath.desc.2": "&lДля переработки руды:&r\n\nНекоторые &aизмельчённые руды&r имеют альтернативные пути при промывке в &aочищенную руду&r, включающие обработку в &aртути&r или &aперсульфате натрия&r. Этот этап не является критически важным, если только вы действительно не хотите получить особый &6побочный продукт&r. Это также может стать неплохим альтернативным источником серебра (*подмигивание).", "quests.low_voltage.lv_electroliser.title": "Обычный Электролизер", "quests.low_voltage.lv_electroliser.subtitle": "Электролизер говорит - Бзззз", "quests.low_voltage.lv_electroliser.desc.1": "&lПомимо переработки руды:&r\n\nПодобно Центрифуге, эта машина выполняет множество функций — перечислить их все невозможно! К счастью, это одна из самых дешёвых машин уровня &7LV&r, так что приобретайте её, как только она станет необходимой.", @@ -2894,10 +2908,10 @@ "quests.low_voltage.lv_circuit_assembler.desc.1": "Отныне все схемы следует изготавливать в &3Сборщике Микросхем&r. Используйте его сейчас, чтобы получать &6значительно более дешёвые схемы уровней LV и MV&r.\n\nКаждый раз, когда вы улучшаете &3Сборщик Микросхем&r до нового уровня, вы получаете возможность создавать более &dпродвинутые разновидности&r схем. Для них потребуются &cсложные&r и &mпорой&r незнакомые ингредиенты, но их создание будет гораздо более эффективным в целом.", "quests.low_voltage.lv_circuit_assembler.desc.2": "&l&3Инетересный Факт:&r&o Сборщик схем появлялся и исчезал в разных версиях GregTech. В GT5 его не было, но он был повторно добавлен в GT5 Unofficial. GTCE решил не переносить его, и борьба за его существование продолжилась с его возвращением в GTCEu.", "quests.low_voltage.lv_greenhouse.title": "Электротеплица", - "quests.low_voltage.lv_greenhouse.subtitle": "Сила KubeJS", - "quests.low_voltage.lv_greenhouse.desc.1": "Мультиблочная &3Электротеплица&r может служить вашим источником &aбрёвен&r и других растений, если вы предпочитаете создавать машины GregTech, а не механизмы Create. У неё также есть уникальная особенность — возможность выращивать больше декоративных растений из TFC!\n\nЭто одна из немногих машин, обладающих &2идеальным оверклокинго&r, что означает, что каждый более высокий уровень подачи EU увеличивает скорость выполнения рецептов в 4 раза вместо обычных 2!", - "quests.low_voltage.lv_greenhouse.desc.2": "&9Примечание:&r Для рецептов, требующих более 32 EU/t, мультиблоку понадобится либо один &bMV&r энергоприёмник, либо два &7LV&r энергоприёмника. Мультиблоки &cне используют&r 2 ампера одного уровня, чтобы достичь следующего уровня напряжения, необходимого для выполнения рецепта.\n\nДругими словами, контроллер должен отображать как минимум &bMV&r в интерфейсе, чтобы выполнять рецепты, обозначенные как &bMV&r в EMI, даже если он способен потреблять достаточно EU/t при конфигурации энергоприёмников более низкого уровня.\n\n&9Примечание:&r Эта структура требует большое количество &7стали&r. Убедитесь, что у вас есть &3Электрическая Доменная Печь&r для её производства.", - "quests.low_voltage.lv_greenhouse.desc.3": "&l&3Интересный Факт:&r&o Этот мультиблок изначально был создан для GTCEu Community Pack, но также доступен в документации разработчиков GTCEu. Он значительно медленнее стандартного, чтобы соответствовать более медленным скоростям роста деревьев в TFC, однако до выхода TFG 0.9 на выполнение каждого рецепта уходил почти час!", + "quests.low_voltage.lv_greenhouse.subtitle": "Сила &mKubeJS&r... Java", + "quests.low_voltage.lv_greenhouse.desc.1": "Мультиблочная &3Электротеплица&r может служить вашим источником &aбрёвен&r и других растений, если вы предпочитаете создавать машины GregTech, а не механизмы Create. У неё также есть уникальная особенность — возможность выращивать больше декоративных растений из TFC!", + "quests.low_voltage.lv_greenhouse.desc.2": "&9Примечание: &rДля стен многоблока можно использовать любые допустимые блоки теплицы железного уровня. Проверь EMI multiblock preview для большей вариативности используемых блоков. Электротеплица можкт быть улучшена несколькими способами, включая удобрения или позже в &cHV&r - &3Аквапоническим циклом&r", + "quests.low_voltage.lv_greenhouse.desc.3": "&l&3Интересный Факт:&r&o Этот мультиблок изначально был создан для GTCEu Community Pack, но также доступен в документации разработчиков GTCEu. Он значительно медленнее стандартного, чтобы соответствовать более медленным скоростям роста деревьев в TFC, однако до выхода TFG 0.9 на выполнение каждого рецепта уходил почти час!\n\nВ TFG 0.11 она была переработана с нуля с использованием новых рецептов, новой структуры, версии Mk2 в виде гидропонной установки и рендеров от RubenVerg.\n\nПервоначальный подзаголовок этого задания был \"Сила Kubejs\" изначально это был пример самодельного мультиблока, который можно было создать в Kubejs--В dev kit-е. Но теперь вся структура полностью создана на Java, чтобы поддерживать свойства TFC-шной еды корректно.", "quests.low_voltage.lv_centrifuge.title": "Базовая Центрифуга", "quests.low_voltage.lv_centrifuge.subtitle": "Это противоположность Миксера", "quests.low_voltage.lv_centrifuge.desc.1": "&lПомимо обработки Руды:&r\n\nУхх, чего она только не может? Рецепты разложения для разделения видов пыли, разделения воздуха, уплата ваших налогов и многое другое...\n\nВозможностям нет придела! Скажем так &cВам НУЖНА Центрифуга&r.", @@ -3869,9 +3883,9 @@ "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&3Предистория:&r &oЭта машина существовала в более ранних версиях TFG, но он делал стержни вместо пластин, и лучший способ делать пластины до LV прокатного станка имел 20-и процентный шанс неудачи!&r", - "quests.steam_age.steel_mixer.title": "Стальной Мехнический Смешиватель", + "quests.steam_age.steel_mixer.title": "Стальной Механический Смешиватель", "quests.steam_age.steel_mixer.subtitle": "Ранний LV Смешиватель", - "quests.steam_age.steel_mixer.desc": "Стальной Механический Смеситель — это ещё одна из лучших машин Паровой Эпохи. Он может смешивать цветные стальные порошки гораздо эффективнее, чем Тигель! Он также способен выполнять множество других рецептов, включая некоторые с газами… особо об этом не задумывайтесь.\n\nДля рецептов, требующих нагрева, можно использовать Charcoal Forge или Горелку Всполоха, а Механическая Рука может автоматически подбрасывать топливо в любую из них.", + "quests.steam_age.steel_mixer.desc": "Стальной Механический Смеситель — это ещё одна из лучших машин Паровой Эпохи. Он может смешивать цветные стальные порошки гораздо эффективнее, чем Тигель! Он также способен выполнять множество других рецептов, включая некоторые с газами… особо об этом не задумывайтесь.\n\nДля рецептов, требующих нагрева, можно использовать угольную кузню или Горелку Всполоха, а Механическая Рука может автоматически подбрасывать топливо в любую из них.", "quests.steam_age.potin.title": "(Потин) Potin Seller...", "quests.steam_age.potin.subtitle": "...I'm going into battle, and I need only your finest Potin.", "quests.steam_age.potin.desc.1": "&dТрубы из Потина&r обладают &oочень высокой пропускной способностью&r для своего уровня и стоимости. Возможно, стоит рассмотреть их использование для логистики жидкостей.\n\nЧтобы получить &dПотин&r, начните с создания его &eпорошка&r.\n\nДля выполнения квеста подойдет труба любого размера — маленькая или обычная.", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index 765c4c256..81dca5214 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -168,9 +168,9 @@ "block.tfg.rock.mossy_cobble_deepslate_stairs": "Мігматитові замохлі круглякові сходи", "block.tfg.rock.mossy_cobble_deepslate_slab": "Мігматитова замохла круглякова плита", "block.tfg.rock.mossy_cobble_deepslate_wall": "Мігматитова замохла круглякова стіна", - "block.tfg.rock.cracked_bricks_deepslate_stairs": "Тріщинуваті мігматитові цегляні сходи", - "block.tfg.rock.cracked_bricks_deepslate_slab": "Тріщинувата мігматитова цегляна плита", - "block.tfg.rock.cracked_bricks_deepslate_wall": "Тріщинувата мігматитова цегляна стіна", + "block.tfg.rock.cracked_bricks_deepslate_stairs": "Тріснуті мігматитові цегляні сходи", + "block.tfg.rock.cracked_bricks_deepslate_slab": "Тріснута мігматитова цегляна плита", + "block.tfg.rock.cracked_bricks_deepslate_wall": "Тріснута мігматитова цегляна стіна", "block.tfg.rock.cracked_tiles_deepslate_stairs": "Тріщинуваті мігматитові плиткові сходи", "block.tfg.rock.cracked_tiles_deepslate_slab": "Тріщинувата мігматитова плиткова плита", "block.tfg.rock.cracked_tiles_deepslate_wall": "Тріщинувата мігматитова плиткова стіна", @@ -191,9 +191,9 @@ "block.tfg.rock.mossy_cobble_blackstone_stairs": "Піроксенітові замохлі круглякові сходи", "block.tfg.rock.mossy_cobble_blackstone_slab": "Піроксенітова замохла круглякова плита", "block.tfg.rock.mossy_cobble_blackstone_wall": "Піроксенітова замохла круглякова стіна", - "block.tfg.rock.cracked_bricks_blackstone_stairs": "Тріщинуваті піроксенітові цегляні сходи", - "block.tfg.rock.cracked_bricks_blackstone_slab": "Тріщинувата піроксенітова цегляна плита", - "block.tfg.rock.cracked_bricks_blackstone_wall": "Тріщинувата піроксенітова цегляна стіна", + "block.tfg.rock.cracked_bricks_blackstone_stairs": "Тріснуті піроксенітові цегляні сходи", + "block.tfg.rock.cracked_bricks_blackstone_slab": "Тріснуті піроксенітова цегляна плита", + "block.tfg.rock.cracked_bricks_blackstone_wall": "Тріснута піроксенітова цегляна стіна", "block.tfg.rock.mossy_bricks_blackstone": "Замохлі піроксенітові цеглини", "block.tfg.rock.mossy_bricks_blackstone_stairs": "Замохлі піроксенітові цегляні сходи", "block.tfg.rock.mossy_bricks_blackstone_slab": "Замохла піроксенітова цегляна плита", @@ -251,24 +251,24 @@ "block.tfg.rock.aqueduct_nether": "Акведук з кератофіту", "block.tfg.rock.hardened_moon_stone": "Затверділий Анорозит", "block.tfg.rock.moon_stone_wall": "Стіна з необробленого анортозиту", - "block.tfg.rock.cobble_moon_wall": "Anorthosite Cobble Wall", + "block.tfg.rock.cobble_moon_wall": "Стіна з анортозитового кругляка", "block.tfg.rock.mossy_cobble_moon": "Анортозитовий моховитий кругляк", "block.tfg.rock.mossy_cobble_moon_stairs": "Сходи з анортозитового моховитого кругляка", "block.tfg.rock.mossy_cobble_moon_slab": "Плита з анортозитового моховитого кругляка", "block.tfg.rock.mossy_cobble_moon_wall": "Стіна з анортозитового моховитого кругляка", - "block.tfg.rock.mossy_bricks_moon": "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.mossy_bricks_moon": "Мохові анортозитові цеглини", + "block.tfg.rock.mossy_bricks_moon_stairs": "Сходи з мохових анортозитових цеглин", + "block.tfg.rock.mossy_bricks_moon_slab": "Плита з мохових анортозитових цеглин", + "block.tfg.rock.mossy_bricks_moon_wall": "Стіна з мохових анортозитових цеглин", "block.tfg.rock.chiseled_bricks_moon_wall": "Стіна з різьбленого анортозиту", "block.tfg.rock.gravel_moon": "Гравій анортозиту", "block.tfg.spike.moon_stone_spike": "Шип з Анорозиту", "block.tfg.loose.moon_stone": "Рихлий Анорозитовий Камінь", "block.tfg.rock.aqueduct_moon_stone": "Акведук з анортозиту", - "block.tfg.rock.polished_moon_wall": "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.polished_moon_wall": "Полірована анортозитова стіна", + "block.tfg.rock.cracked_bricks_moon_stairs": "Тріснуті анортозитові цегляні сходи", + "block.tfg.rock.cracked_bricks_moon_slab": "Тріснута анортозитова цегляна плита", + "block.tfg.rock.cracked_bricks_moon_wall": "Тріснута анортозитова цегляна стіна", "block.tfg.rock.hardened_moon_deepslate": "Затверділий Норит", "block.tfg.rock.moon_deepslate_stairs": "Сходи з необробленого нориту", "block.tfg.rock.moon_deepslate_slab": "Плита з необробленого нориту", @@ -302,25 +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.mossy_bricks_moon_deepslate": "Моховита норитова цегла", + "block.tfg.rock.mossy_bricks_moon_deepslate_stairs": "Мохові норитові цегляні сходи", + "block.tfg.rock.mossy_bricks_moon_deepslate_slab": "Плита з моховитої норитової цегли", + "block.tfg.rock.mossy_bricks_moon_deepslate_wall": "Стіна з моховитої норитової цегли", "block.tfg.rock.hardened_mars_stone": "Затверділий Аргіліт", "block.tfg.rock.mars_stone_wall": "Стіна з необробленого аргіліту", - "block.tfg.rock.cobble_mars_wall": "Argillite Cobble Wall", + "block.tfg.rock.cobble_mars_wall": "Стіна з кругляку аргіліту", "block.tfg.rock.mossy_cobble_mars": "Аргілітовий моховий кругляк", "block.tfg.rock.mossy_cobble_mars_stairs": "Сходи з аргілітового мохового кругляку", "block.tfg.rock.mossy_cobble_mars_slab": "Плита з аргілітового мохового кругляку", "block.tfg.rock.mossy_cobble_mars_wall": "Стіна з аргілітового мохового кругляку", "block.tfg.rock.polished_mars_wall": "Полірована аргілітова стіна", - "block.tfg.rock.mossy_bricks_mars": "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.mossy_bricks_mars": "Моховиті аргілітові цеглини", + "block.tfg.rock.mossy_bricks_mars_stairs": "Сходи з моховитих аргілітових цеглин", + "block.tfg.rock.mossy_bricks_mars_slab": "Плита з моховитих аргілітових цеглин", + "block.tfg.rock.mossy_bricks_mars_wall": "Стіна з моховитих аргілітових цеглин", + "block.tfg.rock.cracked_bricks_mars_stairs": "Тріснуті аргіллітові цегляні сходи", + "block.tfg.rock.cracked_bricks_mars_slab": "Тріснута аргіллітова цегляна плита", + "block.tfg.rock.cracked_bricks_mars_wall": "Тріснута аргіллітова цегляна стіна", "block.tfg.rock.chiseled_bricks_mars_wall": "Стіна з тесаного аргіліту", "block.tfg.rock.gravel_mars": "Гравій аргіліту", "block.tfg.spike.mars_stone_spike": "Аргілітовий шип", @@ -328,19 +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_wall": "Trachyte Cobble Wall", + "block.tfg.rock.cobble_venus_wall": "Стіна з трахітового кругляку", "block.tfg.rock.mossy_cobble_venus": "Трахітовий моховий кругляк", "block.tfg.rock.mossy_cobble_venus_stairs": "Сходи з трахітового мохового кругляку", "block.tfg.rock.mossy_cobble_venus_slab": "Плита з трахітового мохового кругляку", "block.tfg.rock.mossy_cobble_venus_wall": "Стіна з трахітового мохового кругляку", "block.tfg.rock.polished_venus_wall": "Полірована трахітова стіна", - "block.tfg.rock.mossy_bricks_venus": "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.mossy_bricks_venus": "Моховиті трахітові цеглини", + "block.tfg.rock.mossy_bricks_venus_stairs": "Сходи з моховитих трахітових цеглин", + "block.tfg.rock.mossy_bricks_venus_slab": "Плита з моховитих трахітових цеглин", + "block.tfg.rock.mossy_bricks_venus_wall": "Стіна з моховитих трахітових цеглин", + "block.tfg.rock.cracked_bricks_venus_stairs": "Тріснуті трахітові цегляні сходи", + "block.tfg.rock.cracked_bricks_venus_slab": "Тріснута трахітова цегляна плита", + "block.tfg.rock.cracked_bricks_venus_wall": "Тріснута трахітова цегляна стіна", "block.tfg.rock.chiseled_bricks_venus_wall": "Стіна з тесаного трахіту", "block.tfg.rock.gravel_venus": "Гравій трахіту", "block.tfg.spike.venus_stone_spike": "Трахітовий шип", @@ -348,19 +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_wall": "Komatiite Cobble Wall", + "block.tfg.rock.cobble_mercury_wall": "Стіна з коматитового кругляку", "block.tfg.rock.mossy_cobble_mercury": "Коматитовий моховий кругляк", "block.tfg.rock.mossy_cobble_mercury_stairs": "Сходи з коматитового мохового кругляку", "block.tfg.rock.mossy_cobble_mercury_slab": "Плита з коматитового мохового кругляку", "block.tfg.rock.mossy_cobble_mercury_wall": "Стіна з коматитового мохового кругляку", "block.tfg.rock.polished_mercury_wall": "Полірована коматіїтова стіна", - "block.tfg.rock.mossy_bricks_mercury": "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.mossy_bricks_mercury": "Моховиті коматіїтові цеглини", + "block.tfg.rock.mossy_bricks_mercury_stairs": "Сходи з моховитих коматіїтових цеглин", + "block.tfg.rock.mossy_bricks_mercury_slab": "Плита з моховитих коматіїтових цеглин", + "block.tfg.rock.mossy_bricks_mercury_wall": "Стіна з моховитих коматіїтових цеглин", + "block.tfg.rock.cracked_bricks_mercury_stairs": "Тріснуті коматіїтові цегляні сходи", + "block.tfg.rock.cracked_bricks_mercury_slab": "Тріснута коматіїтова цегляна плита", + "block.tfg.rock.cracked_bricks_mercury_wall": "Тріснута коматіїтова цегляна стіна", "block.tfg.rock.chiseled_bricks_mercury_wall": "Стіна з тесаного коматіїту", "block.tfg.rock.gravel_mercury": "Гравій коматіїту", "block.tfg.spike.mercury_stone_spike": "Коматитовий шип", @@ -368,19 +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_wall": "Phonolite Cobble Wall", + "block.tfg.rock.cobble_glacio_wall": "Стіна з фонолітового кругляку", "block.tfg.rock.mossy_cobble_glacio": "Фонолітовий моховий кругляк", "block.tfg.rock.mossy_cobble_glacio_stairs": "Сходи з фонолітового мохового кругляку", "block.tfg.rock.mossy_cobble_glacio_slab": "Плита з фонолітового мохового кругляку", "block.tfg.rock.mossy_cobble_glacio_wall": "Стіна з фонолітового мохового кругляку", "block.tfg.rock.polished_glacio_wall": "Полірована фонолітова стіна", - "block.tfg.rock.mossy_bricks_glacio": "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.mossy_bricks_glacio": "Моховиті фонолітові цеглини", + "block.tfg.rock.mossy_bricks_glacio_stairs": "Сходи з моховитих фонолітових цеглин", + "block.tfg.rock.mossy_bricks_glacio_slab": "Плита з моховитих фонолітових цеглин", + "block.tfg.rock.mossy_bricks_glacio_wall": "Стіна з моховитих фонолітових цеглин", + "block.tfg.rock.cracked_bricks_glacio_stairs": "Тріснуті фонолітові цегляні сходи", + "block.tfg.rock.cracked_bricks_glacio_slab": "Тріснута фонолітова цегляна плита", + "block.tfg.rock.cracked_bricks_glacio_wall": "Тріснута фонолітова цегляна стіна", "block.tfg.rock.chiseled_bricks_glacio_wall": "Стіна з тесаного фоноліту", "block.tfg.rock.gravel_glacio": "Гравій фоноліту", "block.tfg.spike.glacio_stone_spike": "Фонолітовий шип", @@ -394,19 +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": "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.mossy_cobble_permafrost": "Моховита бруківка з вічної мерзлоти", + "block.tfg.rock.mossy_cobble_permafrost_stairs": "Моховиті бруківкові сходи з вічної мерзлоти", + "block.tfg.rock.mossy_cobble_permafrost_slab": "Моховита бруківкова плита з вічної мерзлоти", + "block.tfg.rock.mossy_cobble_permafrost_wall": "Моховита бруківкова стіна з вічної мерзлоти", "block.tfg.rock.polished_permafrost_wall": "Полірована вічномерзлотна стіна", "block.tfg.rock.mossy_bricks_permafrost": "Моховиті цеглини з вічної мерзлоти", "block.tfg.rock.mossy_bricks_permafrost_stairs": "Сходи з моховитих цеглин з вічної мерзлоти", "block.tfg.rock.mossy_bricks_permafrost_slab": "Плита з моховитих цеглин з вічної мерзлоти", "block.tfg.rock.mossy_bricks_permafrost_wall": "Стіна з моховитих цеглин з вічної мерзлоти", - "block.tfg.rock.cracked_bricks_permafrost_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.cracked_bricks_permafrost_stairs": "Тріснуті цегляні сходи з вічної мерзлоти", + "block.tfg.rock.cracked_bricks_permafrost_slab": "Тріснута цегляна плита з вічної мерзлоти", + "block.tfg.rock.cracked_bricks_permafrost_wall": "Тріснута цегляна стіна з вічної мерзлоти", + "block.tfg.rock.chiseled_bricks_permafrost_wall": "Різьблена стіна з вічної мерзлоти", "block.tfg.rock.gravel_permafrost": "Гравій вічної мерзлоти", "block.tfg.spike.permafrost_spike": "Шип з Вічномерзлого Ґрунту", "block.tfg.loose.permafrost": "Відокремлений камінь вічної мерзлоти", @@ -445,29 +445,29 @@ "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_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.bricks_venus_sandstone_wall": "Трахітова пісковикова цегляна стіна", + "block.tfg.rock.cracked_bricks_venus_sandstone_stairs": "Тріснуті трахітові пісковикові цегляні сходи", + "block.tfg.rock.cracked_bricks_venus_sandstone_slab": "Тріснута трахітова пісковикова цегляна плита", + "block.tfg.rock.cracked_bricks_venus_sandstone_wall": "Тріснута трахітова пісковикова цегляна стіна", + "block.tfg.rock.quartz_wall": "Кварцова стіна", + "block.tfg.rock.smooth_quartz_wall": "Гладка кварцова стіна", "block.tfg.rock.raw.stromatolite": "Сирий строматоліт", "block.tfg.rock.spike.stromatolite": "Строматолітовий шип", "block.tfg.stromatolite_cluster_small": "Малий кластер строматолітів", "block.tfg.stromatolite_cluster_medium": "Великий кластер строматолітів", "block.tfg.rock.raw.geyserite": "Сирий Гейзерит", "block.tfg.rock.spike.geyserite": "Гейзеритовий шип", - "block.tfg.geyser_source_small": "Small Steaming Geyser", - "block.tfg.geyser_source": "Steaming Geyser", - "block.tfg.smoker_source": "Volcanic Smoker", - "block.tfg.lava_source": "Lava Vent", - "block.tfg.rock.halite": "Halite", + "block.tfg.geyser_source_small": "Малий паруючий гейзер", + "block.tfg.geyser_source": "Паруючий гейзер", + "block.tfg.smoker_source": "Вулканічний димар", + "block.tfg.lava_source": "Лавовий отвір", + "block.tfg.rock.halite": "Галіт", "block.tfg.mushroom_roots": "Коріння грибів", "block.tfg.mushroom_sprouts": "Паростки грибів", "block.tfg.charred_log": "Обвуглена колода", - "block.tfg.ash_pile": "Wood Ash Pile", + "block.tfg.ash_pile": "Купа деревного попелу", "block.tfg.pile.white_sand": "Білий пісок", "block.tfg.pile.black_sand": "Чорний пісок", "block.tfg.pile.brown_sand": "Коричневий пісок", @@ -482,7 +482,7 @@ "block.tfg.pile.venus_sand_covering": "Трахітовий пісок", "block.tfg.pile.hematitic_sand": "Гематитний пісок", "block.tfg.pile.hematitic_sand_covering": "Гематитний пісок", - "block.tfg.pile.volcanic_ash": "Volcanic Ash Pile", + "block.tfg.pile.volcanic_ash": "Купа вулканічного попелу", "block.tfg.lunar_roots": "Місячні світлоквіти", "block.tfg.lunar_sprouts": "Місячна світлотрава", "block.tfg.lunar_chorus_plant": "Хорусовий Паросток", @@ -495,8 +495,8 @@ "block.tfg.glacian_leaves_fallen": "Мала глаціальна ламела", "block.tfg.crimson_wart_block": "Багряний капелюшок", "block.tfg.warped_wart_block": "Химернний капелюшок", - "block.tfg.aeronos_cap": "Aeronos Cap", - "block.tfg.strophar_cap": "Strophar Cap", + "block.tfg.aeronos_cap": "Аероносова шапка", + "block.tfg.strophar_cap": "Строфарова шапка", "block.tfg.marker.moon": "Місяць", "block.tfg.marker.mars": "Марс", "block.tfg.marker.venus": "Венера", @@ -696,6 +696,31 @@ "block.tfg.large_nest_box": "Велике багряне гніздо", "tfg.block_entity.large_nest_box": "Велика гніздова скринька", "block.tfg.large_nest_box_warped": "Велике химерне гніздо", + "block.tfg.cultivation_monitor": "Монітор культивації", + "block.tfg.egh_planter": "Садовий горщик", + "block.tfg.grow_light": "Штучне сонячне світло", + "block.tfg.casings.machine_casing_egh": "Садовий корпус", + "block.tfg.pisciculture_core": "Ротор ядра рибної ферми", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_0": "§nБездоганна§r воском просочена дерев’яна стіна теплиці", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_1": "§nВертикальна§r воском просочена дерев’яна стіна теплиці", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_2": "§nГоризонтальна§r воском просочена дерев’яна стіна теплиці", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_3": "§nНубійська§r воском просочена дерев’яна стіна теплиці", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_4": "§nОрнаментована§r воском просочена дерев’яна стіна теплиці", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_0": "§nБездоганна§r мідна стіна теплиці", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_1": "§nВертикальна§r мідна стіна теплиці", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_2": "§nГоризонтальна§r мідна стіна теплиці", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_3": "§nНубійська§r мідна стіна теплиці", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_4": "§nОрнаментована§r мідна стіна теплиці", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_0": "§nБездоганна§r залізна стіна теплиці", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_1": "§nВертикальна§r залізна стіна теплиці", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_2": "§nГоризонтальна§r залізна стіна теплиці", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_3": "§nНубійська§r залізна стіна теплиці", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_4": "§nОрнаментована§r залізна стіна теплиці", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_0": "§nБездоганна§r стіна теплиці з нержавної сталі", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_1": "§nВертикальна§r стіна теплиці з нержавної сталі", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_2": "§nГоризонтальна§r стіна теплиці з нержавної сталі", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_3": "§nНубійська§r стіна теплиці з нержавної сталі", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_4": "§nОрнаментована§r стіна теплиці з нержавної сталі", "block.tfg.titanium_concrete": "Бетон з титановою арматурою", "block.tfg.polished_titanium_concrete": "Полірований бетон з титановою арматурою", "block.tfg.titanium_concrete_tile": "Бетонна плита з титановою арматурою", @@ -1106,6 +1131,9 @@ "item.tfg.unfired_rod_mold": "Невипалена форма для вогняного стрижня", "item.tfg.unfired_small_gear_mold": "Невипалена форма для малої вогняної шестерні", "item.tfg.unfired_nugget_mold": "Невипалена форма для самородка", + "item.tfg.fish_roe": "%s Ікра", + "item.tfg.rotten_voiding_cover": "Гнила покривка Поглинання", + "item.tfg.flora_pellets": "Пелети з флори", "material.tfg.latex": "Латекс", "material.tfg.vulcanized_latex": "Вулканізований Латекс", "material.tfg.fluix": "Флюс", @@ -1132,6 +1160,14 @@ "material.tfg.venus_stone": "Трахіт", "material.tfg.mercury_stone": "Коматіїт", "material.tfg.glacio_stone": "Фоноліт", + "material.tfg.sedimentary_clastic": "Осадовий уламок", + "material.tfg.sedimentary_carbonate": "Карбонатний осад", + "material.tfg.sedimentary_organic": "Органогенний осад", + "material.tfg.metamorphic": "Метаморфічний", + "material.tfg.igneous_ultramafic": "Магматична ультраоснова", + "material.tfg.igneous_mafic": "Магматична основа", + "material.tfg.igneous_intermediate": "Магматичний інтермедіат", + "material.tfg.igneous_felsic": "Фельзична магматична", "material.gtceu.thermochemically_treated_hardwood": "Термохімічно Оброблена Тверда Деревина", "material.gtceu.hardwood": "Тверда деревина", "material.gtceu.asurine": "Азурин", @@ -1270,6 +1306,9 @@ "material.tfg.clean_powder": "Повторно силікатне очищення", "material.tfg.catalyser_powder": "Реній каталізатор ZSM-5", "material.tfg.sodium_aluminium": "Натрій алюміній", + "material.tfg.chloroplasts": "Хлоропласти", + "material.tfg.nitrate_rich_water": "Вода, багата на нітрати", + "material.tfg.nitrate_rich_semiheavy_ammoniacal_water": "Вода, багата на нітрати, напівважка, аміачна", "ore_vein.tfg.deep_sheldonite": "Шелдоніт і Борніт", "ore_vein.tfg.deep_garnet_amethyst": "Аметист і Гранат", "ore_vein.tfg.deep_garnet_opal": "Опал і Гранат", @@ -1515,7 +1554,7 @@ "trim_material.tfc.pyrite_tfc": "Пірит", "trim_material.tfc.redx_tfc": "RedX", "tfg.emi.ore_veins.rock_types": "Зустрічається в типах порід:", - "tfg.emi.ore_veins.rarity": "Рідкість: %d", + "tfg.emi.ore_veins.rarity": "Рідкість: 1/%d чанків", "tfg.emi.ore_veins.density": "Щільність: %d", "tfg.emi.ore_veins.y_ranges": "Рівень Y: %d до %d", "tfg.emi.ore_veins.size": "Розмір: %d", @@ -1548,8 +1587,9 @@ "tfg.tooltip.obsolete.fridge": "§4Застаріле§f: Замінено на TFG Refrigerator, можна створити з цього предмета, просто поклавши його на верстак!", "tfg.tooltip.blaze_burner": "§cНаджар§r §7за допомогою коксу, антрациту або бездоганних і вишуканих вугільних самоцвітів.", "tfg.tooltip.machine.perfect_overclock": "Ця машина має §2Ідеальний розгін§r!", - "tfg.tooltip.machine.parallel": "Може працювати паралельно за допомогою паралельних керуючих люків.", - "tfg.tooltip.machine.customize_interior": "§7Інтер'єр можна налаштувати! Перевірте попередній перегляд мультиблоку в JEI.", + "tfg.tooltip.machine.parallel": "Може §dпаралелитися§r за допомогою паралельних контрольних люків.", + "tfg.tooltip.machine.customize_interior": "§7Інтер'єр можна налаштувати! Перевірте попередній перегляд мультиблоку в EMI.", + "tfg.tooltip.machine.customize_greenhouse": "§7Стіни цієї мультиструктури можуть використовувати будь-які допустимі блоки рівня §eЗалізної теплиці§7. Перевірте попередній перегляд мультиструктури в EMI.", "tfg.tooltip.armor.copper_diving_suit_warmth": "§7Тепло: -1", "tfg.tooltip.armor.copper_diving_suit_insulation": "§7Ізоляція: +1", "tfg.tooltip.armor.netherite_diving_suit_warmth": "§7Тепло: -2", @@ -1595,10 +1635,14 @@ "tfg.tooltip.machine.growth_chamber_2": "§7Містить усе необхідне для біоінженерії.§r", "tfg.tooltip.machine.evaporation_tower_1": "§7Not to be confused with the Distillation Tower§r", "tfg.tooltip.machine.evaporation_tower_2": "§7Позбавляється надлишкового розчинника, щоб сконденсувати розчини.§r", - "tfg.tooltip.machine.electric_greenhouse_1": "§7Додає «Фабрику» у фабричне тваринництво§r", - "tfg.tooltip.machine.electric_greenhouse_2": "§7Використовує воду для вирощування дерев, культур та інших рослин. Може бути прискорено за допомогою добрив. Швидше й простіше, ніж інші способи вирощування рослин, але коштує енергії.§r", + "tfg.tooltip.machine.electric_greenhouse_1": "§7§oВпроваджуємо фабрику у фабричне фермерство§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.machine.hydroponics_facility_1": "§7§oФермерство поооо-справжньому довгим шляхом§r", + "tfg.tooltip.machine.hydroponics_facility_2": "§7Покращена версія ЕТ! Гідропонічна установка підвищує шанси на врожай у теплиці та не має обмежень щодо насичення киснем.§r", + "tfg.tooltip.machine.pisciculture_fishery_1": "§7§o1 рибка, 2 рибка...§r", + "tfg.tooltip.machine.pisciculture_fishery_2": "§7Рибні ферми — це не лише джерело свіжої риби, а й важливий елемент підвищення продуктивності теплиць завдяки §3аквапоніці.§7 Структуру можна заповнити будь-якою рідиною з тегом §o#tfg:pisciculture_fishery_fluids§r", "tfg.tooltip.obsolete.depreciated": "§cЗастаріле, більше не створюється", "tfg.tooltip.antipoison_pill": "§9Лікує отруєння", "tfg.tooltip.antipoison_tablet": "§9Усуває всі активні шкідливі ефекти", @@ -1638,6 +1682,15 @@ "tfg.tooltip.fake_nutrition_info_listener": "§7§oУтримуйте (Shift), щоб переглянути інформацію про поживність", "tfg.tooltip.fake_nutrition_info": "§7Поживність:", "tfg.tooltip.cheese_slice_microplastics": "§b- Мікропластик: 1.9", + "tfg.tooltip.recipe_condition.oxygenated.true": "§bУ кисневому середовищі", + "tfg.tooltip.recipe_condition.oxygenated.false": "§5У безкисневому середовищі", + "tfg.tooltip.recipe_condition.climate_rain": "Опади, мм", + "tfg.tooltip.recipe_condition.climate_temp": "Клімат, °C", + "tfg.tooltip.recipe_condition.gravity": "Гравітація, м/с²", + "tfg.tooltip.firmalife_greenhouse.oxygen_required": "§cПотрібне кисневе середовище!", + "tfg.tooltip.firmalife_greenhouse.oxygen_required.block": "§7Для роботи як теплиця в космосі потрібне кисневе середовище.", + "tfg.tooltip.grow_light_disapointment": "§7Ні. Це не пришвидшить ріст ваших культур...", + "tfg.tooltip.rotten_voiding_cover": "§7Гнила кришка утилізації працює так само, як і звичайна кришка утилізації предметів, але націлюється лише на §cгнилі предмети.", "tfg.gui.menu.field_guide_splash_text": "Порада: Прочитайте польовий посібник!!!", "tfg.gui.menu.ram_usage": "RAM:", "tfg.gui.menu.fps_count": "FPS:", @@ -2508,7 +2561,7 @@ "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, буде: \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- Електрична теплиця \n- Теплообмінник", + "quests.gregtech_energy.overclock.desc.3": "Існує особливий вид розгону, доступний лише для кількох багатоблокових машин: &eІдеальний розгін&r. \nТут, замість 4x енергії за 2x швидкість, ви отримуєте &a4x енергії&r за &a4x швидкість&r! \nЦе робить його таким же ефективним, як і робота кількох машин одночасно. \n\nНаразі в TerraFirmaGreg цей режим підтримують лише такі багатоблокові машини: \n- Електрична доменна піч \n- Доменна піч для сплавів \n- Обертовий горновий агрегат \n- Великий хімічний реактор \n- Теплообмінник", "quests.gregtech_energy.overclock.task": "Тобто червоні швидші, зрозуміло", "quests.gregtech_energy.blast_oc.title": "Вибуховий Розгін", "quests.gregtech_energy.blast_oc.subtitle": "Тобі не потрібно це розуміти", @@ -2743,6 +2796,10 @@ "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.high_voltage.pisciculture.title": "Рибна ферма", + "quests.high_voltage.pisciculture.subtitle": "Багатоблок для минтая.", + "quests.high_voltage.pisciculture.desc.1": "&bРибна ферма&r — це не лише універсальне джерело нескінченної риби, а й допоміжний багатоблок у складі &3Аквапонічного циклу&r. \nЦе замкнене коло рецептів між рибною фермою та &2Електричною теплицею&r, які підсилюють врожайність одне одного і, якщо все налаштовано правильно, — не потребують жодних зовнішніх ресурсів.", + "quests.high_voltage.pisciculture.desc.2": "&5Примітка:&r Структуру можна заповнити будь-якою рідиною з тегом &o&7#tfg:pisciculture_fishery_fluids&r&r. Але майте на увазі, що деякі рідини можуть замерзати у космосі, а деякі рецепти можуть не працювати, якщо контролер багатоблоку не перебуває в &nоксигенованому середовищі&r.", "quests.low_voltage": "&7LV&r – Низька напруга", "quests.low_voltage.subtitle": "Приборкай електрику та розпочни свою подорож у GregTech", "quests.low_voltage.lv_machine_hull.title": "Твій другий корпус машини", @@ -2936,10 +2993,10 @@ "quests.low_voltage.lv_circuit_assembler.desc.1": "Відтепер усі Схеми слід створювати у &3Збирачі Схем&r. Використовуй його зараз, щоб насолодитися &6набагато дешевшими LV та MV схемами&r. \n\nКожного разу, коли ти оновлюєш рівень &3Збирача Схем&r, ти зможеш створювати більш &dдосконалі&r варіанти схем. Вони використовуватимуть &cскладні&r та &mіноді&r незнайомі інгредієнти, але загалом будуть ефективнішими у створенні.", "quests.low_voltage.lv_circuit_assembler.desc.2": "&l&3Лор:&r&o Збирач Схем з'являвся і зникав у різних версіях GregTech. У GT5 його не було, але він був повторно доданий у GT5 Unofficial. GTCE вирішив не переносити його, і боротьба за його включення триває у GTCEu.", "quests.low_voltage.lv_greenhouse.title": "Електрична теплиця", - "quests.low_voltage.lv_greenhouse.subtitle": "Сила KubeJS", - "quests.low_voltage.lv_greenhouse.desc.1": "Багатоблокова &3Електрична Теплиця&r може бути твоїм джерелом &aКолод&r \nта інших рослин, якщо ти віддаєш перевагу створенню машин GregTech \nзамість механізмів Create. Вона також має унікальну властивість — здатність вирощувати більше декоративних рослин з TFC! \n\nЦе одна з небагатьох машин, що має &2Ідеальне Перевантаження&r, що означає, що кожен вищий рівень подачі EU збільшує швидкість рецепту у 4 рази замість звичайних 2!", - "quests.low_voltage.lv_greenhouse.desc.2": "&9Примітка:&r Для рецептів, що потребують понад 32 EU/t, багатоблокова структура потребує або 1 &bMV&r енергетичний люк, або 2 &7LV&r енергетичних люки. \n\nБагатоблоки &cне&r використовують 2A одного рівня для досягнення наступного рівня мінімальної напруги рецепту. \n\nІншими словами, контролер повинен показувати принаймні &bMV&r у GUI, щоб запускати рецепти, які в EMI позначені як &bMV&r, навіть якщо вони можуть отримати достатньо EU/t з конфігурацією люків нижчого рівня. \n\n&9Примітка:&r Ця структура потребує багато &7Сталі&r. Переконайся, що у тебе є &3ЕДП&r для цього.", - "quests.low_voltage.lv_greenhouse.desc.3": "&l&3Лор:&r&o Ця багато блокова структура була спочатку створена для GTCEu Community Pack, але також доступна у документації розробників GTCEu. Вона значно повільніша за стандартну, щоб відповідати повільним темпам росту дерев у TFC, але до версії TFG 0.9 кожен рецепт займав майже годину!", + "quests.low_voltage.lv_greenhouse.subtitle": "Сила &mKubeJS&r... Java", + "quests.low_voltage.lv_greenhouse.desc.1": "Багатоблокова &3Електрична теплиця&r може стати вашим джерелом &aколод&r та інших рослин, якщо ви надаєте перевагу машинам GregTech замість механізмів Create. Вона також має унікальну властивість — здатність вирощувати більше декоративних рослин з TFC!", + "quests.low_voltage.lv_greenhouse.desc.2": "&9Примітка:&r Цей багатоблок дозволяє налаштовувати стіни, використовуючи будь-які допустимі блоки теплиці залізного рівня. Перегляньте попередній перегляд багатоблоку в EMI, щоб побачити більше сумісних блоків. ЕТ також можна покращити кількома способами — зокрема, за допомогою добрив або пізніше, на &cHV&r, у складі &3Гідропонічного циклу&r", + "quests.low_voltage.lv_greenhouse.desc.3": "&l&3Лор:&r&o Цей багатоблок спочатку був створений для GTCEu Community Pack, але також доступний у документації для розробників GTCEu. \nВін значно повільніший за стандартні аналоги, щоб відповідати повільному росту дерев у TFC, а до версії TFG 0.9 один рецепт міг тривати майже годину!\n\nУ TFG 0.11 його повністю переробили: нові рецепти, нова структура, версія mk2 у вигляді гідропонічного комплексу та кастомні рендери від RubenVerg.\n\nПочатковий підзаголовок цього квесту був \"Сила KubeJS\", адже спершу це був приклад кастомної машини, створеної через KubeJS — набір інструментів для розробників. \nАле тепер структура повністю реалізована на Java, щоб коректно підтримувати харчові властивості TFC.", "quests.low_voltage.lv_centrifuge.title": "Базова Центрифуга", "quests.low_voltage.lv_centrifuge.subtitle": "Воно робить протилежне до Змішувача", "quests.low_voltage.lv_centrifuge.desc.1": "&lПоза межами обробки руди:&r \n\nОх, що тільки ця машина не робить? Розкладання рецептів для розділення типів пилу, розділення повітря, заповнення податкових декларацій та багато іншого... \n\nСписок надто довгий! Просто скажемо, що &cтобі потрібна Центрифуга&r.", @@ -4826,7 +4883,7 @@ "quests.tfg_tips.beneath_prep.desc": "&4Безодня&r — це дуже ворожий простір. Через її значну глибину середня температура завжди &cперевищує 15°C&r і підвищується, чим глибше ти спускаєшся. Не кажучи вже про кількість ворожих істот, що заповнюють ці печери. \nПов’язані з цим завдання допоможуть тобі підготуватися до пригоди.", "quests.tfg_tips.beneath_temp_management.title": "Активне керування температурою", "quests.tfg_tips.beneath_temp_management.subtitle": "Речі для швидкого охолодження", - "quests.tfg_tips.beneath_temp_management.desc": "У &4Безодні&r, де температура досить висока, тобі варто взяти &aВоду&r для миттєвого охолодження або &bУпакований лід&r, добутий у полярних регіонах, якщо плануєш створити тимчасову базу.", + "quests.tfg_tips.beneath_temp_management.desc": "У &4Безодні&r, де температура досить висока, варто взяти з собою трохи &aВоди&r або &aРідкого льодяного шламу&r для миттєвого охолодження, \nабо ж &bУщільнений лід&r, видобутий у полярних регіонах, якщо ви плануєте облаштувати тимчасову базу.", "quests.tfg_tips.beneath_clothes.title": "Пасивне керування температурою", "quests.tfg_tips.beneath_clothes.subtitle": "Речі для пасивного охолодження", "quests.tfg_tips.beneath_clothes.desc": "&bОдяг&r також відіграє важливу роль у охолодженні. Найпростіший варіант для створення перед походом у &4Безодню&r — це &dМішковий одяг.&r \n\n&dШовковий одяг&r вимагає &aНитки&r, яку можна знайти у великій кількості в біомі Безодні, що називається &cПавутинне лігво.&r \n\nОднак є краща альтернатива, якщо у тебе є доступ до &9Синьої сталі&r...", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 342621840..a3dfa089a 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -463,7 +463,7 @@ "block.tfg.geyser_source": "蒸汽间歇泉", "block.tfg.smoker_source": "熔岩烟道", "block.tfg.lava_source": "熔岩喷口", - "block.tfg.rock.halite": "岩晶", + "block.tfg.rock.halite": "岩盐", "block.tfg.mushroom_roots": "菌丝根须", "block.tfg.mushroom_sprouts": "菌丝嫩芽", "block.tfg.charred_log": "焦化原木", @@ -519,19 +519,19 @@ "block.tfg.luv_food_processor": "§d精英食物处理机 II§r", "block.tfg.zpm_food_processor": "§c精英食物处理机 III§r", "block.tfg.uv_food_processor": "§3终极食物处理机§r", - "block.tfg.lv_food_oven": "基础电炉", - "block.tfg.mv_food_oven": "§b高级电炉§r", - "block.tfg.hv_food_oven": "§6高级电炉 II§r", - "block.tfg.ev_food_oven": "§5高级电炉 III§r", + "block.tfg.lv_food_oven": "基础电烤箱", + "block.tfg.mv_food_oven": "§b进阶电烤箱§r", + "block.tfg.hv_food_oven": "§6进阶电烤箱 II§r", + "block.tfg.ev_food_oven": "§5进阶电烤箱 III§r", "block.tfg.iv_food_oven": "§9精英电烤箱§r", "block.tfg.luv_food_oven": "§d精英电烤箱 II§r", "block.tfg.zpm_food_oven": "§c精英电烤箱 III§r", "block.tfg.uv_food_oven": "§3终极电烤箱§r", - "block.tfg.lv_food_refrigerator": "基础冰箱", - "block.tfg.mv_food_refrigerator": "§b高级冰箱", - "block.tfg.hv_food_refrigerator": "§6高级冰箱 II§r", - "block.tfg.ev_food_refrigerator": "§5高级冰箱 III§r", - "block.tfg.iv_food_refrigerator": "§9精英冰箱§r", + "block.tfg.lv_food_refrigerator": "基础电冰箱", + "block.tfg.mv_food_refrigerator": "§b进阶电冰箱", + "block.tfg.hv_food_refrigerator": "§6进阶电冰箱 II§r", + "block.tfg.ev_food_refrigerator": "§5进阶电冰箱 III§r", + "block.tfg.iv_food_refrigerator": "§9精英电冰箱§r", "block.tfg.lv_gas_pressurizer": "基础气体加压器", "block.tfg.mv_gas_pressurizer": "§b高级气体加压器§r", "block.tfg.hv_gas_pressurizer": "§6高级气体加压器 II§r", @@ -1678,7 +1678,7 @@ "tfg.tooltip.yeast_starter": "§7用干果制成", "tfg.tooltip.beehive": "§7需要填满空框,并周围种植花朵,以吸引蜜蜂。", "tfg.tooltip.obsolete.tree_tap": "§4已淘汰§f:已被 AFC 树汁导管取代,你可以通过把这个物品放在工作台上制作出它!", - "tfg.tooltip.obsolete.fridge": "§4已过时§f:已被TFG冰箱取代,你可以通过将这个物品放在工作台上制作出它!", + "tfg.tooltip.obsolete.fridge": "§4已过时§f:已被TFG的电冰箱取代,你可以将这个物品放在工作台上制作出电冰箱!", "tfg.tooltip.blaze_burner": "§c超高温§r §7使用焦炭、无烟煤或完美与精致的煤炭宝石。", "tfg.tooltip.machine.perfect_overclock": "这台机器具有§2完美超频§r!", "tfg.tooltip.machine.parallel": "通过并行控制仓让机器实现§d并行处理§r。", @@ -3452,7 +3452,7 @@ "quests.metal_age.copper_diving.desc": "在你的矿脉中为含水层而苦恼?你可以制作一套铜制潜水装备,其空气供应可以持续20分钟!", "quests.metal_age.bloomery.title": "锻铁炉", "quests.metal_age.bloomery.subtitle": "如果你追求铁器时代,这是必需的。", - "quests.metal_age.bloomery.desc": "锻铁炉是来自群峦传说模组的一个多方块结构,允许你制造锻铁。在锻炉中熔化铁会产生生铁,生铁很脆,远不如锻铁坚固或耐用。\n\n锻铁炉非常昂贵,因此值得投入一些时间来建立自动板件生产和矿石处理。\n\n《野外指南》包含关于锻铁炉如何工作以及所需铁和木炭的正确比例的详细条目。", + "quests.metal_age.bloomery.desc": "锻铁炉是来自群峦传说模组的一个多方块结构,允许你制造锻铁。在锻炉中熔化铁会产生生铁,生铁很脆,远不如锻铁坚固或耐用。\n\n锻铁炉非常昂贵,因此值得投入一些时间来建立自动板件生产和矿石处理。\n\n《野外指南》包含关于锻铁炉如何工作以及所需铁和燃料的正确比例的详细条目。", "quests.metal_age.mining.title": "冶金时代的采矿", "quests.metal_age.mining.subtitle": "岩石和石头!", "quests.metal_age.mining.desc": "从地下提取宝贵资源是这个整合包的主要部分,冶金时代也不例外!你将消耗&l大量&r金属来进步,一次开采大量金属的一种方法是使用采矿锤!这是一种可以以较慢的采矿速度为代价开采3x3x1区域方块的工具。你也可以按住潜行来一次破坏单个方块。", @@ -4874,7 +4874,7 @@ "quests.tfg_tips.candles.desc": "蜡烛可用&a石蜡、蜂蜡&r或&a松香&r制作。\n蜡烛是比火把更好的光源,可持续发光1月零2天。", "quests.tfg_tips.oven.title": "烤炉", "quests.tfg_tips.oven.subtitle": "小心,烫!", - "quests.tfg_tips.oven.desc": "&3烤箱&r是一种多块结构,可用于轻松烹饪食物以及制作专属配方。&a烤炉底&r、&a烤炉顶&r和&a烤炉烟囱&r是必需组件。别忘了使用&d钳子&r从&a烤炉顶&r中取出食物。\n\n如何建造&3烤箱&r的更多信息,请参考&2野外指南&r。\n&3&l提示:&r&o:唯一能满足全部5种营养需求的食物&c披萨&f,必须在烤箱中烹饪。", + "quests.tfg_tips.oven.desc": "&3烤炉&r是一种多块结构,可用于轻松烹饪食物以及制作专属配方。&a烤炉底&r、&a烤炉顶&r和&a烤炉烟囱&r是必需组件。别忘了使用&d钳子&r从&a烤炉顶&r中取出食物。\n\n如何建造&3烤炉&r的更多信息,请参考&2野外指南&r。\n&3&l提示:&r&o:唯一能满足全部5种营养需求的食物&c披萨&f,必须在烤箱中烹饪。", "quests.tfg_tips.oven_appliances.title": "烤炉配件", "quests.tfg_tips.oven_appliances.subtitle": "从烤炉中获取更多", "quests.tfg_tips.oven_appliances.desc": "&3烤炉配件&r是可选组件,必须放置在&a烤炉底&r上方才能接收热量。请记住,一个多方块结构中可以存在&c多个&r&a烤炉底&r。\n\n&d锻铁烤架&r:能以更快的速度烹饪食物,并&c延长&r其保质期。\n&d不锈钢锅&r:可批量处理炖煮配方!对于制作&e乳胶&r和&a果酱&r极为有用。\n&d装罐台&r:必须放置在&b不锈钢锅&r旁边,用于将&a果酱&r装入罐中。\n&d陶锅&r:用于烹制汤类料理。", @@ -4963,9 +4963,9 @@ "quests.tfg_tips.cellar.subtitle": "妈妈的地下室", "quests.tfg_tips.cellar.desc": "&3地窖&r是一个用于长期保存食物的多方块结构。食物必须存放在&a食物架&r和&a悬挂架&r上。你也可以在这里&b熟化奶酪&r。\n关于如何建造&3地窖&r,请查阅&2野外指南&r获取详情。", "quests.tfg_tips.cellar.task": "任何形式的密封入口", - "quests.tfg_tips.refrigerator.title": "冰箱", + "quests.tfg_tips.refrigerator.title": "电冰箱", "quests.tfg_tips.refrigerator.subtitle": "这东西可能过于强大了", - "quests.tfg_tips.refrigerator.desc": "若你已进入&bMV&r时代,便可制造一台&d冰箱&r。它通过消耗电力,为所有食物提供&o最佳&r的通用保存效果——无论是生食、熟食,还是三明治等复合食品皆适用。", + "quests.tfg_tips.refrigerator.desc": "若你已进入&bMV&r时代,便可制造一台&d电冰箱&r。它通过消耗电力,为所有食物提供&o最佳&r的通用保存效果——无论是生食、熟食,还是三明治等复合食品皆适用。", "quests.tfg_tips.cellar_blocks.title": "地窖存储", "quests.tfg_tips.cellar_blocks.subtitle": "存放食物的容器", "quests.tfg_tips.cellar_blocks.desc": "&b食物架&r可用于储存几乎所有类型的食物。&b悬挂架&r则专门用于存放&a肉类&r和&a大蒜&r。存放在这些设备中的食物会获得比&d大缸&r更强大的保存效果。", From c5ada8c1368817bda08f3bf3ba6f38502ace443b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 19 Jan 2026 23:12:05 +0000 Subject: [PATCH 144/474] changelog --- CHANGELOG.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d97545e1c..69a97efde 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,13 +4,18 @@ ### Breaking changes - The steam thermal centrifuge now requires a maintenance hatch. It also now requires 480mB steam per tick instead of 64mb, equivalent to how much 8 LV thermal centrifuges would use. It also now only takes 20 seconds instead of 30. It also now actually outputs byproducts like it was supposed to. @Pyritie - Single block steam generators are now more expensive to craft, so there isn't such a huge gap between steam, gas, and combustion generators @TomPlop -- The Electric Greenhouse multiblock has completely changed. It's significantly shorter and slightly narrower too. You can still grow the same things in it, but it no longer has Perfect Overclocking. Instead, it's stronger in LV but starts getting weaker in HV+. There's a new IV variant (Hydroponics Facility) which supports parallel hatches and can do any recipe on any planet. +#### Electric Greenhouse +- The Electric Greenhouse multiblock has completely changed. It's significantly shorter and slightly narrower too. You can still grow the same things in it, but it no longer has Perfect Overclocking. Instead, it's stronger in LV but starts getting weaker in HV+. @Redeix +- There's a new IV variant (Hydroponics Facility) which supports parallel hatches and can do any recipe on any planet. @Redeix +- Added a new Pisciculture Fishery to mid HV which, when properly looped, will improve the Electric Greenhouse further than just fertiliser. It also breeds fish! @Redeix +- Removed the single-block fishing machines ### Performance improvements - Fixed the huge amount of lag from looking at lots of interconnected trees @Mqrius - Fixed tree chopping also stripping nearby trees of all their leaves (note that this will only also apply to earth trees and newly generated Mars trees, old Mars trees will have the old behaviour) @Mqrius - Fixed tree chopping not working on trees that had no leaves @Mqrius - Fixed tree chopping working on player-placed logs (yes, this means you can't place logs to chop down many trees at once any more) @Mqrius - Fixed a huge amount of lag from TFC Ambiental checking for nearby hot/cold sources @Mqrius +- Improved food stacking performance @Mqrius ### Changes - Added tree index field guide entries for Earth and Mars (#2638) @Jeuvke - Added drinkable effects field guide entry (#2676) @FlightingFalcon @@ -43,9 +48,11 @@ - Added some Beneath plants to the `#tfg:rubber_plants` tag (#2759) @Pyritie - Cleaned up hanging sign recipes so they don't spam as much (#2733, #2771) @Inceitious - Added recipes to change AE2 glass cables into covered/smart cables, and changed some recipes to require smart cables instead (#2756) @awfulworldkid +- Crop, tree tap, and beehive tooltips, and the climate tab, now show the accurate current temperature when in an oxygenated area @Mqrius ### Bug fixes - Fixed not being able to craft Paracetamol or Rad-Away @Pyritie - Fixed the missing dried fruit to yeast starter recipe (#2673) @Mqrius +- Fixed crash when disassembling a train with computercraft @Mqrius - Water wheels now spin the correct direction in rivers (#2450) @zehmaria - Water wheels now also work with flowing water from aqueducts, instead of requiring an adjacent source block @zehmaria - Added locometal to the domum ornamentum whitelist (#2651) @thederpysockdude123 @@ -65,6 +72,7 @@ - Fixed the cooling lunchbox not stacking empty cells correctly (#2475) @Thomasx0 - Fixed the lunchboxes not removing the "cooling" trait when items were removed with the number keys @Thomasx0 - Digger helmet crafting now correctly consumes the cloth hat (#2770) @Inceitious +- Fixed an exploit with the schematicannon @Mqrius ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare + @Maxiffon From 69cde26b65b888b2b18b26917dbf477e73cdae9f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 19 Jan 2026 23:23:22 +0000 Subject: [PATCH 145/474] reduced required rpm for the VI centrifuge because it works badly on low tps servers --- kubejs/server_scripts/tfg/mars/recipes.mars.js | 1 + .../tfg/ores_and_materials/recipes.material_ores.js | 2 ++ kubejs/server_scripts/tfg/primitive/recipes.cloth.js | 2 ++ 3 files changed, 5 insertions(+) diff --git a/kubejs/server_scripts/tfg/mars/recipes.mars.js b/kubejs/server_scripts/tfg/mars/recipes.mars.js index 34ee5fee4..08bc07077 100644 --- a/kubejs/server_scripts/tfg/mars/recipes.mars.js +++ b/kubejs/server_scripts/tfg/mars/recipes.mars.js @@ -49,6 +49,7 @@ function registerTFGMarsRecipes(event) { event.recipes.vintageimprovements.centrifugation([Fluid.of('tfg:semiheavy_water', 500), '2x #forge:tiny_dusts/ammonium_chloride'], Fluid.of('tfg:semiheavy_ammoniacal_water', 1000)) .processingTime(200 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .minimalRPM(32) .id('tfg:vi/centrifuge_mars_semiheavy_water') event.recipes.gtceu.distillery('mars_semiheavy_water') diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js index b6c81368a..f2a38a7ec 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js @@ -404,6 +404,7 @@ function processImpureDust(event, material) { [dustItem, Item.of(ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1)).withChance(0.111)], impureDustItem) .processingTime(material.getMass() * 10 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .minimalRPM(32) .id(`tfg:vi/centrifuge/${materialName}_dust_from_impure`) // Dropping in water @@ -455,6 +456,7 @@ function processPureDust(event, material) { [dustItem, Item.of(ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1)).withChance(0.111)], pureDustItem) .processingTime(material.getMass() * 10 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .minimalRPM(32) .id(`tfg:vi/centrifuge/${materialName}_dust_from_pure`) // Dropping in water diff --git a/kubejs/server_scripts/tfg/primitive/recipes.cloth.js b/kubejs/server_scripts/tfg/primitive/recipes.cloth.js index 624402e90..725c86449 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.cloth.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.cloth.js @@ -196,10 +196,12 @@ function registerTFGClothRecipes(event) { event.recipes.vintageimprovements.centrifugation(['2x tfg:flax_line', 'tfg:flax_tow', 'tfc:groundcover/humus'], 'tfg:flax_product') .processingTime(200 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .minimalRPM(32) .id('tfg:vi_seperate_flax') event.recipes.vintageimprovements.centrifugation(['18x tfg:flax_line', '9x tfg:flax_tow', '9x tfc:groundcover/humus'], 'tfg:flax_bundle') .processingTime(1500 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .minimalRPM(32) .id('tfg:vi_seperate_flax_from_bundle') // #endregion From 04559c30710e533e5877d2722ef329701089d706 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 19 Jan 2026 23:23:29 +0000 Subject: [PATCH 146/474] update CL + pakku --- CHANGELOG.md | 1 + pakku-lock.json | 132 ++++++++++++++++++++++++------------------------ 2 files changed, 67 insertions(+), 66 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 69a97efde..4a9a760ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ### Breaking changes - The steam thermal centrifuge now requires a maintenance hatch. It also now requires 480mB steam per tick instead of 64mb, equivalent to how much 8 LV thermal centrifuges would use. It also now only takes 20 seconds instead of 30. It also now actually outputs byproducts like it was supposed to. @Pyritie - Single block steam generators are now more expensive to craft, so there isn't such a huge gap between steam, gas, and combustion generators @TomPlop +- A lot of backend code has been cleaned up and refactored, so there may be duplicate, missing, or incorrect recipes. If you find any, please report them in [our github](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/issues)! #### Electric Greenhouse - The Electric Greenhouse multiblock has completely changed. It's significantly shorter and slightly narrower too. You can still grow the same things in it, but it no longer has Perfect Overclocking. Instead, it's stronger in LV but starts getting weaker in HV+. @Redeix - There's a new IV variant (Hydroponics Facility) which supports parallel hatches and can do any recipe on any planet. @Redeix diff --git a/pakku-lock.json b/pakku-lock.json index a53982d0e..0734a5a9c 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -2762,7 +2762,7 @@ "files": [ { "type": "modrinth", - "file_name": "colorwheel-forge-1.2.0+mc1.20.1.jar", + "file_name": "colorwheel-forge-1.2.1+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -2770,22 +2770,22 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/BzHgFoGz/versions/sMMng3Id/colorwheel-forge-1.2.0+mc1.20.1.jar", - "id": "sMMng3Id", + "url": "https://cdn.modrinth.com/data/BzHgFoGz/versions/UGEPiYlo/colorwheel-forge-1.2.1+mc1.20.1.jar", + "id": "UGEPiYlo", "parent_id": "BzHgFoGz", "hashes": { - "sha512": "603ad678a8dfc3fbcad5f1173e396125244eaad55727d47f7ddd4b66df725c59d90fabaf608f6db82db006a1fe7b12196cdf7cddf5135807e8549242645632a1", - "sha1": "b4caaa01971dd398d4d6112a896eea6db856c971" + "sha512": "e123bf3abd64f95dcea4b8cc0681389e497bbd925d6d9729dedcea8daf439ce366ea6aeaae0735ae1bd2654a706a36b682d2aa8244e8ad39b70dc45ed78111be", + "sha1": "791578afecd261f0d03669db993b35d14badc1a9" }, "required_dependencies": [ "GchcoXML" ], - "size": 374988, - "date_published": "2026-01-03T13:14:56.723620Z" + "size": 375232, + "date_published": "2026-01-19T20:10:00.768744Z" }, { "type": "curseforge", - "file_name": "colorwheel-forge-1.2.0+mc1.20.1.jar", + "file_name": "colorwheel-forge-1.2.1+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -2793,18 +2793,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7412/169/colorwheel-forge-1.2.0+mc1.20.1.jar", - "id": "7412169", + "url": "https://edge.forgecdn.net/files/7490/340/colorwheel-forge-1.2.1+mc1.20.1.jar", + "id": "7490340", "parent_id": "1254143", "hashes": { - "sha1": "b4caaa01971dd398d4d6112a896eea6db856c971", - "md5": "0bf318b01e6e1fcea03db73014a2abe3" + "sha1": "791578afecd261f0d03669db993b35d14badc1a9", + "md5": "7dee13300a006b9abca868185ef4416d" }, "required_dependencies": [ "581495" ], - "size": 374988, - "date_published": "2026-01-03T13:14:54.440Z" + "size": 375232, + "date_published": "2026-01-19T20:09:58.163Z" } ] }, @@ -5513,7 +5513,7 @@ "files": [ { "type": "curseforge", - "file_name": "ExtendedAE-1.20-1.4.9-forge.jar", + "file_name": "ExtendedAE-1.20-1.4.10-forge.jar", "mc_versions": [ "1.20.1" ], @@ -5522,20 +5522,20 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7248/944/ExtendedAE-1.20-1.4.9-forge.jar", - "id": "7248944", + "url": "https://edge.forgecdn.net/files/7472/662/ExtendedAE-1.20-1.4.10-forge.jar", + "id": "7472662", "parent_id": "892005", "hashes": { - "sha1": "55a8c773659036176142242ded460a4b88ee6fb0", - "md5": "25b69893094daf52bd8b77964404bfdc" + "sha1": "267400e92be8b51479158b95a6ce414654c78562", + "md5": "5fc29cfc55d980deea333931a7605bdb" }, "required_dependencies": [ - "957920", "223794", + "957920", "1173950" ], - "size": 2672648, - "date_published": "2025-11-22T11:56:02.143Z" + "size": 2675008, + "date_published": "2026-01-17T09:48:13.923Z" } ] }, @@ -5559,7 +5559,7 @@ "files": [ { "type": "modrinth", - "file_name": "ExtremeSoundMuffler-3.50-forge-1.20.1.jar", + "file_name": "ExtremeSoundMuffler-3.51-forge-1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -5567,20 +5567,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/5IIKsxiL/versions/ZPvfUsYs/ExtremeSoundMuffler-3.50-forge-1.20.1.jar", - "id": "ZPvfUsYs", + "url": "https://cdn.modrinth.com/data/5IIKsxiL/versions/drxm9tKI/ExtremeSoundMuffler-3.51-forge-1.20.1.jar", + "id": "drxm9tKI", "parent_id": "5IIKsxiL", "hashes": { - "sha512": "1562d91374a88edda9604a8ca2e413a6b83084101282630153beb45b19cf6577c5039aa884b08a328a87eb6ab885259c6270bd29505cca1ffd0fdbdacf144ade", - "sha1": "f10e7176a75760a316ee4a829efcfc487d2ff2f6" + "sha512": "144a21b27d6ae4ea31c165c8bd7936df6cdf2822d8c20e727218ecedac3d2c685eeded405cd7e2a10ccaae090f435e86721aca566b35f81463f2c47edc0dcee9", + "sha1": "025499c74e1e9305fa931b44c3832f43b1925ec7" }, "required_dependencies": [], - "size": 267750, - "date_published": "2026-01-13T00:43:23.303899Z" + "size": 270331, + "date_published": "2026-01-16T18:46:57.602582Z" }, { "type": "curseforge", - "file_name": "ExtremeSoundMuffler-3.50-forge-1.20.1.jar", + "file_name": "ExtremeSoundMuffler-3.51-forge-1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -5588,16 +5588,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7452/801/ExtremeSoundMuffler-3.50-forge-1.20.1.jar", - "id": "7452801", + "url": "https://edge.forgecdn.net/files/7469/697/ExtremeSoundMuffler-3.51-forge-1.20.1.jar", + "id": "7469697", "parent_id": "363363", "hashes": { - "sha1": "f10e7176a75760a316ee4a829efcfc487d2ff2f6", - "md5": "fe23d4e4d2938c006658188438e03f1e" + "sha1": "025499c74e1e9305fa931b44c3832f43b1925ec7", + "md5": "b7821e5adbeeea69b6877851f803e350" }, "required_dependencies": [], - "size": 267750, - "date_published": "2026-01-13T00:43:21.610Z" + "size": 270331, + "date_published": "2026-01-16T18:46:55.740Z" } ] }, @@ -5611,7 +5611,7 @@ "e7thBe1Z6fvyxUtU" ], "type": "MOD", - "side": "BOTH", + "side": "CLIENT", "slug": { "curseforge": "ftb-backups-2" }, @@ -9488,7 +9488,7 @@ "files": [ { "type": "modrinth", - "file_name": "moonlight-1.20-2.16.22-forge.jar", + "file_name": "moonlight-1.20-2.16.23-forge.jar", "mc_versions": [ "1.20.1" ], @@ -9497,20 +9497,20 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/HzfmyWBj/moonlight-1.20-2.16.22-forge.jar", - "id": "HzfmyWBj", + "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/XCFIOCRA/moonlight-1.20-2.16.23-forge.jar", + "id": "XCFIOCRA", "parent_id": "twkfQtEc", "hashes": { - "sha512": "7e9709340795f1acb1bf828b90369b1274e830ed924fddbbd688592753ce8e50f90d9b95f5fbb61ea7b1e5cdce1b2f91a444225c075b2af3e2413a2242e87ea3", - "sha1": "5291622341a2138bb420cd6f851d9cbf1cb72a73" + "sha512": "2baeeafd86a7df76b81d41cf20f6dde2f1ecfed3bfda19f299d6acd59fd52eedda47829b56ac0f4da4647e9f7be50a8ec6f677c421f91c0bb5c8f5f8d0710b49", + "sha1": "c63750ef54ac17d0dc1e58c246c6dac3d8d9ac87" }, "required_dependencies": [], - "size": 1389715, - "date_published": "2026-01-14T00:45:22.835110Z" + "size": 1390855, + "date_published": "2026-01-16T18:52:42.739110Z" }, { "type": "curseforge", - "file_name": "moonlight-1.20-2.16.22-forge.jar", + "file_name": "moonlight-1.20-2.16.23-forge.jar", "mc_versions": [ "1.20.1" ], @@ -9519,16 +9519,16 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7456/599/moonlight-1.20-2.16.22-forge.jar", - "id": "7456599", + "url": "https://edge.forgecdn.net/files/7469/722/moonlight-1.20-2.16.23-forge.jar", + "id": "7469722", "parent_id": "499980", "hashes": { - "sha1": "5291622341a2138bb420cd6f851d9cbf1cb72a73", - "md5": "10dce0da9c4e9d29ce8c9705af4e62b5" + "sha1": "c63750ef54ac17d0dc1e58c246c6dac3d8d9ac87", + "md5": "a6659ba4650f16630293ce633c3ae4e7" }, "required_dependencies": [], - "size": 1389715, - "date_published": "2026-01-14T00:42:01.090Z" + "size": 1390855, + "date_published": "2026-01-16T18:52:33.317Z" } ] }, @@ -10660,7 +10660,7 @@ "3Hn4sTVbBvKyQJJS" ], "type": "MOD", - "side": "CLIENT", + "side": "BOTH", "slug": { "curseforge": "pick-up-notifier", "modrinth": "pick-up-notifier" @@ -15132,7 +15132,7 @@ "files": [ { "type": "modrinth", - "file_name": "applied_ammo_box-1.0.0.jar", + "file_name": "applied_ammo_box-1.0.2.jar", "mc_versions": [ "1.20.1" ], @@ -15140,23 +15140,23 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/VQOi9K8E/versions/AluWzzYV/applied_ammo_box-1.0.0.jar", - "id": "AluWzzYV", + "url": "https://cdn.modrinth.com/data/VQOi9K8E/versions/gWlHJiok/applied_ammo_box-1.0.2.jar", + "id": "gWlHJiok", "parent_id": "VQOi9K8E", "hashes": { - "sha512": "496d8d6fd91260346730fb4b986b16b5ddb42b53e41f4581929ffc08a75365a2edd05266c0e11c5f272dbe0899c5bdfd2d0144e01c59735131a4990d37eac040", - "sha1": "3fc67723dc70b544b57ab0d0a34e2be991d285f9" + "sha512": "68a4737236cd9860b5ed90705ad600403fe9e994f8c6f287a9cb533b2e53cb778506890b3d94a14531dd8b33434f0449af886518041cac6e38a57d6c8e1a5c7f", + "sha1": "ab97dbd5bef9a488be8dea88672028963d3c0104" }, "required_dependencies": [ "SzzJttH8", "XxWD5pD3" ], - "size": 70111, - "date_published": "2025-12-19T14:14:18.551065Z" + "size": 70291, + "date_published": "2026-01-16T05:09:51.040036Z" }, { "type": "curseforge", - "file_name": "applied_ammo_box-1.0.0.jar", + "file_name": "applied_ammo_box-1.0.2.jar", "mc_versions": [ "1.20.1" ], @@ -15164,19 +15164,19 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7353/104/applied_ammo_box-1.0.0.jar", - "id": "7353104", + "url": "https://edge.forgecdn.net/files/7466/970/applied_ammo_box-1.0.2.jar", + "id": "7466970", "parent_id": "1338332", "hashes": { - "sha1": "3fc67723dc70b544b57ab0d0a34e2be991d285f9", - "md5": "a6f67bd0ced376be1ef8dbf41e09fa51" + "sha1": "ab97dbd5bef9a488be8dea88672028963d3c0104", + "md5": "c40bdf7f68011830dbf06bd5929e4cfb" }, "required_dependencies": [ "1028108", "223794" ], - "size": 70111, - "date_published": "2025-12-19T10:36:12.707Z" + "size": 70291, + "date_published": "2026-01-16T05:02:54.280Z" } ] }, From 653583e39babd21b83501d0beeaf11f314af0d1d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 19 Jan 2026 23:26:37 +0000 Subject: [PATCH 147/474] #2773 Related Work Items: #277 --- .../tfg/ores_and_materials/recipes.quartzes.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) 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 7fe541927..ea00a8aae 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js @@ -66,7 +66,7 @@ function registerTFGQuartzRecipes(event) { .category(GTRecipeCategories.INGOT_MOLDING) // Empty Jar - event.recipes.gtceu.alloy_smelter('tfc:jar_alloying') + event.recipes.gtceu.alloy_smelter('tfg:jar_alloying') .itemInputs('#tfc:glass_batches_tier_2') .notConsumable('gtceu:ball_casting_mold') .itemOutputs('tfc:empty_jar') @@ -74,26 +74,34 @@ function registerTFGQuartzRecipes(event) { .EUt(2) .category(GTRecipeCategories.INGOT_MOLDING) - event.recipes.gtceu.fluid_solidifier('tfc:jar_solidification') + event.recipes.gtceu.alloy_smelter('tfg:jar_alloying_dust') + .itemInputs('#forge:dusts/glass') + .notConsumable('gtceu:ball_casting_mold') + .itemOutputs('tfc:empty_jar') + .duration(100) + .EUt(2) + .category(GTRecipeCategories.INGOT_MOLDING) + + event.recipes.gtceu.fluid_solidifier('tfg:jar_solidification') .inputFluids(Fluid.of('gtceu:glass', 144)) .notConsumable('gtceu:cylinder_casting_mold') .itemOutputs('tfc:empty_jar') .duration(100) .EUt(2) - event.recipes.gtceu.extractor('tfc:jar_extraction') + event.recipes.gtceu.extractor('tfg:jar_extraction') .itemInputs('#tfc:jars') .outputFluids(Fluid.of('gtceu:glass', 144)) .duration(50) .EUt(2) - event.recipes.gtceu.extractor('tfc:glass_batch_extraction') + event.recipes.gtceu.extractor('tfg:glass_batch_extraction') .itemInputs('#tfc:glass_batches') .outputFluids(Fluid.of('gtceu:glass', 144)) .duration(50) .EUt(2) - event.recipes.gtceu.lathe('tfc:lens') + event.recipes.gtceu.lathe('tfg:tfc_lens') .itemInputs('#forge:glass') .itemOutputs('tfc:lens') .duration(100) From 4ed4f8ac1a84a4e49dc99765cdc34324204bcfc9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 19 Jan 2026 23:46:02 +0000 Subject: [PATCH 148/474] this will make that one person that uses chalks very happy #2772 --- kubejs/server_scripts/chalk/recipes.js | 170 +++++++------------------ 1 file changed, 49 insertions(+), 121 deletions(-) diff --git a/kubejs/server_scripts/chalk/recipes.js b/kubejs/server_scripts/chalk/recipes.js index 51ff9664c..86bda0ebe 100644 --- a/kubejs/server_scripts/chalk/recipes.js +++ b/kubejs/server_scripts/chalk/recipes.js @@ -2,12 +2,12 @@ /** * - * @param {Internal.RecipesEventJS} evt + * @param {Internal.RecipesEventJS} event */ -const registerChalkRecipes = (evt) => { - evt.remove({ output: "#chalk:chalks" }) +const registerChalkRecipes = (event) => { + event.remove({ output: "#chalk:chalks" }) - evt.shaped('chalk:chalk_box', [ + event.shaped('chalk:chalk_box', [ 'ABA', ' A ' ], { @@ -15,140 +15,68 @@ const registerChalkRecipes = (evt) => { B: ['tfc:glue'] }).id('chalk:chalk_box') - // only 1/2 durability remaining - evt.recipes.tfc.knapping( - Item.of('chalk:white_chalk', '{Damage:32}'), - 'tfc:rock', - [ - 'X', - 'X', - 'X', - 'X', - 'X' - ] - ).ingredient('tfc:rock/loose/chalk') - .outsideSlotRequired(false) - .id('tfg:knapping/chalk') + const CHALK_KNAPPING = [ + { rock: 'tfc:rock/loose/chalk', color: 'white' }, + { rock: 'tfc:rock/loose/limestone', color: 'light_gray' }, + { rock: 'tfc:rock/loose/conglomerate', color: 'light_gray' }, + { rock: 'tfc:rock/loose/dolomite', color: 'black' }, + { rock: 'tfc:rock/loose/shale', color: 'gray' }, + { rock: 'tfg:loose/dripstone', color: 'brown' }, + { rock: 'tfc:rock/loose/claystone', color: 'orange' }, + { rock: 'tfg:loose/mars_stone', color: 'orange' }, + { rock: 'tfc:rock/loose/chert', color: 'red' } + ] - evt.recipes.tfc.knapping( - Item.of('chalk:light_gray_chalk'), - 'tfc:rock', - [ - 'X', - 'X', - 'X', - 'X', - 'X' - ] - ).ingredient('tfc:rock/loose/limestone') - .outsideSlotRequired(false) - .id('tfg:knapping/limestone_chalk') + CHALK_KNAPPING.forEach(x => { - evt.recipes.tfc.knapping( - Item.of('chalk:light_gray_chalk', '{Damage:48}'), - 'tfc:rock', - [ - 'X', - 'X', - 'X', - 'X', - 'X' - ] - ).ingredient('tfc:rock/loose/conglomerate') - .outsideSlotRequired(false) - .id('tfg:knapping/conglomerate_chalk') + // only 1/2 durability remaining + event.recipes.tfc.knapping( + Item.of(`chalk:${x.color}_chalk`, '{Damage:32}'), + 'tfc:rock', + [ + 'X', + 'X', + 'X', + 'X', + 'X' + ] + ).ingredient(x.rock) + .outsideSlotRequired(false) + .id(`tfg:knapping/${linuxUnfucker(x.rock)}_chalk`) - evt.recipes.tfc.knapping( - Item.of('chalk:black_chalk'), - 'tfc:rock', - [ - 'X', - 'X', - 'X', - 'X', - 'X' - ] - ).ingredient('tfc:rock/loose/dolomite') - .outsideSlotRequired(false) - .id('tfg:knapping/dolomite_chalk') + event.recipes.gtceu.extruder(`tfg:${linuxUnfucker(x.rock)}_chalk`) + .itemInputs(x.rock) + .notConsumable('gtceu:rod_extruder_mold') + .itemOutputs(Item.of(`chalk:${x.color}_chalk`, '{Damage:32}')) + .duration(50) + .EUt(2) - evt.recipes.tfc.knapping( - Item.of('chalk:gray_chalk'), - 'tfc:rock', - [ - 'X', - 'X', - 'X', - 'X', - 'X' - ] - ).ingredient('tfc:rock/loose/shale') - .outsideSlotRequired(false) - .id('tfg:knapping/shale_chalk') - - evt.recipes.tfc.knapping( - Item.of('chalk:brown_chalk'), - 'tfc:rock', - [ - 'X', - 'X', - 'X', - 'X', - 'X' - ] - ).ingredient('tfg:loose/dripstone') - .outsideSlotRequired(false) - .id('tfg:knapping/travertine_chalk') - - evt.recipes.tfc.knapping( - Item.of('chalk:orange_chalk'), - 'tfc:rock', - [ - 'X', - 'X', - 'X', - 'X', - 'X' - ] - ).ingredient('tfc:rock/loose/claystone') - .outsideSlotRequired(false) - .id('tfg:knapping/claystone_chalk') - - evt.recipes.tfc.knapping( - Item.of('chalk:orange_chalk'), - 'tfc:rock', - [ - 'X', - 'X', - 'X', - 'X', - 'X' - ] - ).ingredient('tfg:loose/mars_stone') - .outsideSlotRequired(false) - .id('tfg:knapping/mars_chalk') + event.recipes.vintageimprovements.curving(Item.of(`chalk:${x.color}_chalk`, '{Damage:32}'), x.rock) + .head('gtceu:rod_extruder_mold') + .id(`tfg:vi/curving/${linuxUnfucker(x.rock)}_chalk`) + }) //Mix dusts for chalk sticks with clay to make an unfired chalk stick. Greggy or Create lets you use tiny dusts if needed - evt.recipes.firmalife.mixing_bowl() + event.recipes.firmalife.mixing_bowl() .itemIngredients(["minecraft:clay_ball", "tfg:sedimentary_carbonate_dust"]) .outputItem("tfg:unfired_chalk") .id(`chalk:mixing_bowl/unfired_chalk_stick_from_dust`) - evt.recipes.tfc.heating(`tfg:unfired_chalk`, 700) + event.recipes.tfc.heating(`tfg:unfired_chalk`, 700) .resultItem(`chalk:white_chalk`) .id(`chalk:heating/undyed_chalk`) global.MINECRAFT_DYE_NAMES.forEach(dyeName => { - evt.recipes.tfc.barrel_sealed(1000) + event.recipes.tfc.barrel_sealed(1000) .inputItem('#chalk:chalks') .inputFluid(Fluid.of(`tfc:${dyeName}_dye`, 25)) .outputItem(`chalk:${dyeName}_chalk`) .id(`chalk:barrel/dye/${dyeName}_chalk`) //gt mixer works as is - evt.recipes.gtceu.chemical_bath(`chalk:gt_mixer/${dyeName}_chalk_from_dust`) + event.recipes.gtceu.chemical_bath(`chalk:gt_mixer/${dyeName}_chalk_from_dust`) .itemInputs(["minecraft:clay_ball", `tfg:sedimentary_carbonate_dust`]) .inputFluids([Fluid.of(`tfc:${dyeName}_dye`, 36)]) .itemOutputs([`chalk:${dyeName}_chalk`]) @@ -158,25 +86,25 @@ const registerChalkRecipes = (evt) => { //create mixer creates the unfired colored stick, unless heated. let createIngredients = ["minecraft:clay_ball", `tfg:sedimentary_carbonate_dust`, Fluid.of(`tfc:${dyeName}_dye`, 36)] - evt.recipes.create.mixing(`tfg:wet_${dyeName}_chalk`, createIngredients) + event.recipes.create.mixing(`tfg:wet_${dyeName}_chalk`, createIngredients) .id(`chalk:create_mixer/wet_${dyeName}_chalk_from_dust`); - evt.recipes.create.mixing(`chalk:${dyeName}_chalk`, createIngredients) + event.recipes.create.mixing(`chalk:${dyeName}_chalk`, createIngredients) .heated() .id(`chalk:create_mixer/${dyeName}_chalk_from_dust`); //Unfired chalk sticks need to be placed in a barrel full of dye to colorize. Then heated until cured. - evt.recipes.tfc.barrel_instant() + event.recipes.tfc.barrel_instant() .inputs(`tfg:unfired_chalk`, TFC.fluidStackIngredient(`tfc:${dyeName}_dye`, 36)) .outputItem(`tfg:wet_${dyeName}_chalk`) .id(`chalk:barrel/dye/wet_${dyeName}_chalk`); - evt.recipes.tfc.heating(`tfg:wet_${dyeName}_chalk`, 700) + event.recipes.tfc.heating(`tfg:wet_${dyeName}_chalk`, 700) .resultItem(`chalk:${dyeName}_chalk`) .id(`chalk:heating/${dyeName}_chalk`) - evt.smelting( + event.smelting( `chalk:${dyeName}_chalk`, `tfg:wet_${dyeName}_chalk` ).id(`chalk:smelting/${dyeName}_chalk`) From 5595cf68990007dcdbca9967c6021ab42a12eb4e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 19 Jan 2026 23:46:08 +0000 Subject: [PATCH 149/474] fix merge issue? --- kubejs/server_scripts/tfg/events.interactions.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfg/events.interactions.js b/kubejs/server_scripts/tfg/events.interactions.js index 6a46842ac..a561f24f2 100644 --- a/kubejs/server_scripts/tfg/events.interactions.js +++ b/kubejs/server_scripts/tfg/events.interactions.js @@ -209,8 +209,12 @@ BlockEvents.rightClicked(event => { if (rock.polished != null) { // brick -> smooth transformBlockWithTool(event, rock.bricks.block, rock.polished.block, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); - transformBlockWithTool(event, rock.bricks.mossy.block, rock.polished.block, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); - transformBlockWithTool(event, rock.bricks.cracked.block, rock.polished.block, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); + if (rock.bricks.mossy != null) { + transformBlockWithTool(event, rock.bricks.mossy.block, rock.polished.block, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); + } + if (rock.bricks.cracked != null) { + transformBlockWithTool(event, rock.bricks.cracked.block, rock.polished.block, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); + } } } if (rock.cobble != null && rock.cobble.mossy) { From c96f66b40353aa33ddd79d77ba6492ca83860f4b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 19 Jan 2026 23:52:50 +0000 Subject: [PATCH 150/474] fix merge issue in hv quests --- .../ftbquests/quests/chapters/hv__high_voltage.snbt | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index 37183c915..b2d05fe1f 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -1683,19 +1683,6 @@ "{quests.high_voltage.pisciculture.desc.2}" ] icon: "tfc:bucket/tropical_fish" - Count: 1 - ForgeCaps: { - "tfc:food": { - creationDate: -9223372036854775808L - traits: [ ] - } - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:food/tropical_fish" - } id: "04ADA3B900F182A0" optional: true shape: "heart" From 74414c4074686f61733c30f19d0e9ddb41a68472 Mon Sep 17 00:00:00 2001 From: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> Date: Mon, 19 Jan 2026 22:48:03 -0300 Subject: [PATCH 151/474] Vacuumizer recipes for recipes with latex (#2693) * Vacuumizer recipes for recipes with latex This will add a way to make recipes that utilize latex on the Vacuumizer, following the sugestion made on #2691. Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> * Add latex mixing recipes for vulcanized latex and sticky resin Added create recipes for mixing latex to vulcanized latex and sticky resin. Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> * Remove latex recipes from vintage improvements Removed latex ingredients recipes and related processing. Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> * Refactor mixing recipe syntax for latex and resin Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> --------- Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> --- kubejs/server_scripts/create/recipes.js | 10 ++++++++++ kubejs/server_scripts/vintage_improvements/recipes.js | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 864673961..210190e08 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -2440,4 +2440,14 @@ const registerCreateRecipes = (event) => { event.smelting('#forge:ingots/silver', 'create:crushed_raw_silver') event.smelting('#forge:ingots/tin', 'create:crushed_raw_tin') event.smelting('#forge:ingots/lead', 'create:crushed_raw_lead') + + //Rubber early automation + + event.recipes.create.mixing((Fluid.of('tfg:vulcanized_latex', 1000)), [Fluid.of('tfg:latex', 1000),'tfc:powder/sulfur']) + .heated() + .id('tfg:create/mixer/vulcanized_latex'); + + event.recipes.create.mixing('gtceu:sticky_resin', [Fluid.of('tfg:latex', 1000), 'tfc:powder/wood_ash']) + .heated() + .id('tfg:create/mixer/sticky_resin'); } diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index d94a75582..300ca2bfb 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -532,8 +532,8 @@ function registerVintageImprovementsRecipes(event) { event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:rubber', 144), '#forge:dusts/rubber') .heated() .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) - .id('tfg:vi/vacuum/rubber') - + .id('tfg:vi/vacuumizing/rubber') + // Vaccuming rubber wood stuff for latex event.recipes.vintageimprovements.vacuumizing(Fluid.of('tfg:latex', 100), '#tfg:latex_logs') .processingTime(300 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) From 3722583f23d261f6a4f08309e709efc5880464e7 Mon Sep 17 00:00:00 2001 From: Mqrius Date: Tue, 20 Jan 2026 11:44:02 +0100 Subject: [PATCH 152/474] Add info about backup frequency config Signed-off-by: Mqrius --- .pakku/server-overrides/README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.pakku/server-overrides/README.md b/.pakku/server-overrides/README.md index c335eaf31..e5f7d011c 100644 --- a/.pakku/server-overrides/README.md +++ b/.pakku/server-overrides/README.md @@ -21,3 +21,8 @@ The config files shipped with the server pack should be a good starting point fo * defaultconfigs/ftbranks/ranks.snbt * Depending on how powerful of a server you're using, you may want to change the amount of force-loaded chunks each player is allowed to have. Note that players on the same team will combine their total allowance, so small numbers can encourage team play. + +* config/ftbbackups2.json + * Backup frequency is set with cron time info. + * By default for servers this is every morning at 10:15AM: `"backup_cron": "0 15 10 * * ? *"` + * If you want it hourly like singleplayer worlds, use `"backup_cron": "0 0 0/1 1/1 * ? *"` From 2f2ccf1115d6d926a0809f70ddec38244dc01ead Mon Sep 17 00:00:00 2001 From: Mqrius Date: Tue, 20 Jan 2026 11:57:38 +0100 Subject: [PATCH 153/474] Add changelog note about backups Signed-off-by: Mqrius --- CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a9a760ef..6d652ee14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,13 @@ # Changelog ## Unreleased +### Important note +- Due to a config file error, the automatic hourly backup has not been running since 0.11.15. So before you update make sure to make a copy of your world in case anything goes wrong! This is generally good advice but extra important right now. ### Breaking changes - The steam thermal centrifuge now requires a maintenance hatch. It also now requires 480mB steam per tick instead of 64mb, equivalent to how much 8 LV thermal centrifuges would use. It also now only takes 20 seconds instead of 30. It also now actually outputs byproducts like it was supposed to. @Pyritie - Single block steam generators are now more expensive to craft, so there isn't such a huge gap between steam, gas, and combustion generators @TomPlop - A lot of backend code has been cleaned up and refactored, so there may be duplicate, missing, or incorrect recipes. If you find any, please report them in [our github](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/issues)! -#### Electric Greenhouse +### Electric Greenhouse - The Electric Greenhouse multiblock has completely changed. It's significantly shorter and slightly narrower too. You can still grow the same things in it, but it no longer has Perfect Overclocking. Instead, it's stronger in LV but starts getting weaker in HV+. @Redeix - There's a new IV variant (Hydroponics Facility) which supports parallel hatches and can do any recipe on any planet. @Redeix - Added a new Pisciculture Fishery to mid HV which, when properly looped, will improve the Electric Greenhouse further than just fertiliser. It also breeds fish! @Redeix @@ -74,6 +76,7 @@ - Fixed the lunchboxes not removing the "cooling" trait when items were removed with the number keys @Thomasx0 - Digger helmet crafting now correctly consumes the cloth hat (#2770) @Inceitious - Fixed an exploit with the schematicannon @Mqrius +- Fixed backup frequency config @Mqrius ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare + @Maxiffon From b3e710cdc3f22e90f0a3bb00142b57d77856e147 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 20 Jan 2026 11:16:39 +0000 Subject: [PATCH 154/474] new beneath textures --- kubejs/assets/beneath/blockstates/sulfur.json | 126 ++++++++++++++++++ .../assets/beneath/models/block/sulfur4.json | 7 + .../assets/beneath/models/block/sulfur5.json | 7 + .../assets/beneath/models/block/sulfur6.json | 7 + .../assets/beneath/models/block/sulfur7.json | 7 + .../textures/block/blackstone_sylvite.png | Bin 0 -> 614 bytes .../textures/block/crop/ghost_pepper0.png | Bin 0 -> 168 bytes .../textures/block/crop/ghost_pepper1.png | Bin 0 -> 241 bytes .../textures/block/crop/ghost_pepper2.png | Bin 0 -> 273 bytes .../textures/block/crop/ghost_pepper3.png | Bin 0 -> 298 bytes .../textures/block/crop/ghost_pepper4.png | Bin 0 -> 389 bytes .../textures/block/crop/ghost_pepper5.png | Bin 0 -> 476 bytes .../textures/block/crop/ghost_pepper6.png | Bin 0 -> 492 bytes .../beneath/textures/block/cursecoal.png | Bin 0 -> 702 bytes .../beneath/textures/block/hellbricks.png | Bin 1659 -> 595 bytes .../textures/block/nether_cursecoal.png | Bin 1813 -> 752 bytes .../assets/beneath/textures/block/sulfur4.png | Bin 0 -> 376 bytes .../assets/beneath/textures/block/sulfur5.png | Bin 0 -> 449 bytes .../assets/beneath/textures/block/sulfur6.png | Bin 0 -> 386 bytes .../assets/beneath/textures/block/sulfur7.png | Bin 0 -> 426 bytes .../textures/block/unposter/normal.png | Bin 0 -> 624 bytes .../block/unposter/unposter_bottom.png | Bin 0 -> 484 bytes .../textures/block/unposter/unposter_side.png | Bin 0 -> 623 bytes .../beneath/textures/entity/nether_deer.png | Bin 0 -> 5253 bytes .../textures/entity/nether_deer_fawn.png | Bin 0 -> 5334 bytes .../beneath/textures/item/cursecoal.png | Bin 0 -> 461 bytes 26 files changed, 154 insertions(+) create mode 100644 kubejs/assets/beneath/blockstates/sulfur.json create mode 100644 kubejs/assets/beneath/models/block/sulfur4.json create mode 100644 kubejs/assets/beneath/models/block/sulfur5.json create mode 100644 kubejs/assets/beneath/models/block/sulfur6.json create mode 100644 kubejs/assets/beneath/models/block/sulfur7.json create mode 100644 kubejs/assets/beneath/textures/block/blackstone_sylvite.png create mode 100644 kubejs/assets/beneath/textures/block/crop/ghost_pepper0.png create mode 100644 kubejs/assets/beneath/textures/block/crop/ghost_pepper1.png create mode 100644 kubejs/assets/beneath/textures/block/crop/ghost_pepper2.png create mode 100644 kubejs/assets/beneath/textures/block/crop/ghost_pepper3.png create mode 100644 kubejs/assets/beneath/textures/block/crop/ghost_pepper4.png create mode 100644 kubejs/assets/beneath/textures/block/crop/ghost_pepper5.png create mode 100644 kubejs/assets/beneath/textures/block/crop/ghost_pepper6.png create mode 100644 kubejs/assets/beneath/textures/block/cursecoal.png create mode 100644 kubejs/assets/beneath/textures/block/sulfur4.png create mode 100644 kubejs/assets/beneath/textures/block/sulfur5.png create mode 100644 kubejs/assets/beneath/textures/block/sulfur6.png create mode 100644 kubejs/assets/beneath/textures/block/sulfur7.png create mode 100644 kubejs/assets/beneath/textures/block/unposter/normal.png create mode 100644 kubejs/assets/beneath/textures/block/unposter/unposter_bottom.png create mode 100644 kubejs/assets/beneath/textures/block/unposter/unposter_side.png create mode 100644 kubejs/assets/beneath/textures/entity/nether_deer.png create mode 100644 kubejs/assets/beneath/textures/entity/nether_deer_fawn.png create mode 100644 kubejs/assets/beneath/textures/item/cursecoal.png diff --git a/kubejs/assets/beneath/blockstates/sulfur.json b/kubejs/assets/beneath/blockstates/sulfur.json new file mode 100644 index 000000000..b1981c438 --- /dev/null +++ b/kubejs/assets/beneath/blockstates/sulfur.json @@ -0,0 +1,126 @@ +{ + "variants": { + "": [ + { + "model": "beneath:block/sulfur0" + }, + { + "model": "beneath:block/sulfur1" + }, + { + "model": "beneath:block/sulfur2" + }, + { + "model": "beneath:block/sulfur3" + }, + { + "model": "beneath:block/sulfur4" + }, + { + "model": "beneath:block/sulfur5" + }, + { + "model": "beneath:block/sulfur6" + }, + { + "model": "beneath:block/sulfur7" + }, + { + "model": "beneath:block/sulfur0", + "y": 90 + }, + { + "model": "beneath:block/sulfur1", + "y": 90 + }, + { + "model": "beneath:block/sulfur2", + "y": 90 + }, + { + "model": "beneath:block/sulfur3", + "y": 90 + }, + { + "model": "beneath:block/sulfur4", + "y": 90 + }, + { + "model": "beneath:block/sulfur5", + "y": 90 + }, + { + "model": "beneath:block/sulfur6", + "y": 90 + }, + { + "model": "beneath:block/sulfur7", + "y": 90 + }, + { + "model": "beneath:block/sulfur0", + "y": 180 + }, + { + "model": "beneath:block/sulfur1", + "y": 180 + }, + { + "model": "beneath:block/sulfur2", + "y": 180 + }, + { + "model": "beneath:block/sulfur3", + "y": 180 + }, + { + "model": "beneath:block/sulfur4", + "y": 180 + }, + { + "model": "beneath:block/sulfur5", + "y": 180 + }, + { + "model": "beneath:block/sulfur6", + "y": 180 + }, + { + "model": "beneath:block/sulfur7", + "y": 180 + }, + { + "model": "beneath:block/sulfur0", + "y": 270 + }, + { + "model": "beneath:block/sulfur1", + "y": 270 + }, + { + "model": "beneath:block/sulfur2", + "y": 270 + }, + { + "model": "beneath:block/sulfur3", + "y": 270 + }, + { + "model": "beneath:block/sulfur4", + "y": 270 + }, + { + "model": "beneath:block/sulfur5", + "y": 270 + }, + { + "model": "beneath:block/sulfur6", + "y": 270 + }, + { + "model": "beneath:block/sulfur7", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/beneath/models/block/sulfur4.json b/kubejs/assets/beneath/models/block/sulfur4.json new file mode 100644 index 000000000..cc6129f6d --- /dev/null +++ b/kubejs/assets/beneath/models/block/sulfur4.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/groundcover/guano", + "textures": { + "0": "beneath:block/sulfur4", + "particle": "beneath:block/sulfur4" + } +} \ No newline at end of file diff --git a/kubejs/assets/beneath/models/block/sulfur5.json b/kubejs/assets/beneath/models/block/sulfur5.json new file mode 100644 index 000000000..4cf949492 --- /dev/null +++ b/kubejs/assets/beneath/models/block/sulfur5.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/groundcover/guano", + "textures": { + "0": "beneath:block/sulfur5", + "particle": "beneath:block/sulfur5" + } +} \ No newline at end of file diff --git a/kubejs/assets/beneath/models/block/sulfur6.json b/kubejs/assets/beneath/models/block/sulfur6.json new file mode 100644 index 000000000..01d82fc31 --- /dev/null +++ b/kubejs/assets/beneath/models/block/sulfur6.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/groundcover/guano", + "textures": { + "0": "beneath:block/sulfur6", + "particle": "beneath:block/sulfur6" + } +} \ No newline at end of file diff --git a/kubejs/assets/beneath/models/block/sulfur7.json b/kubejs/assets/beneath/models/block/sulfur7.json new file mode 100644 index 000000000..6fcaae78c --- /dev/null +++ b/kubejs/assets/beneath/models/block/sulfur7.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/groundcover/guano", + "textures": { + "0": "beneath:block/sulfur7", + "particle": "beneath:block/sulfur7" + } +} \ No newline at end of file diff --git a/kubejs/assets/beneath/textures/block/blackstone_sylvite.png b/kubejs/assets/beneath/textures/block/blackstone_sylvite.png new file mode 100644 index 0000000000000000000000000000000000000000..f372c455a53bb6cd91b4c1d19bef2bc36ee9e97e GIT binary patch literal 614 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orG$q&;06Ln`L@1f99k9wZzS{w`3;G64TY)q^lYxvQ$)ikwR6lh=@()^e9oA7mgq0FRX5tV>vo`+B~kk zTeh_RvugdfK;T#L?j>(8soX8ey!0(vt@g=AozH3eex}_sS6*hl-uj$b@)_F${gzK3 z9eq}I`%c?J*QTyX94%W8H{Fdsx%buU8r#fHhr_?$`UN|GS!HSdT{D}p*JsJb&&_i> znRe$JwY0dI+I(5@`fSLwq>$t5jry0~mVe<{`)4<||G85NEt?MQmX7^jY<6f$LlZ|v z;d99nQ;!t?Rk$coYdyGOfX8D^d3byO&e46+%ki+}+3J2jebDv!{l@mhN0w{fXuUU^e}zVygE!ajSuys}R)@A-aw|~1P&rp; zXZ7ycs?S>%7kXvweIIe?MANL6*T3cR`{EvaIV8!z!0`Wn!kp4l1_lN;P%>d=$jIOg Vvz)YK8Uq6ZgQu&X%Q~loCII{37Q+Al literal 0 HcmV?d00001 diff --git a/kubejs/assets/beneath/textures/block/crop/ghost_pepper0.png b/kubejs/assets/beneath/textures/block/crop/ghost_pepper0.png new file mode 100644 index 0000000000000000000000000000000000000000..50ce86c495cecb82afa839c68fb38368ea9c45dc GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7Vm)0PLn`LHIlGXz!9bw( zA^S^_o?{XoSG+lxnv>Yv9F3eqXPdm_Tf1ua>J=+ryw}_L``iM<=3{II4R#HYQ~JA8 zBh0<3g{MsWyJWLqMSfSm3B$qXkK1o`aqW2TzLtf7;s1ZF%bn917#P?<7BMrlYxB#B UW!d~@U|?YIboFyt=akR{09*AuBme*a literal 0 HcmV?d00001 diff --git a/kubejs/assets/beneath/textures/block/crop/ghost_pepper1.png b/kubejs/assets/beneath/textures/block/crop/ghost_pepper1.png new file mode 100644 index 0000000000000000000000000000000000000000..40a82da3285f9795b605a56276d7d73bf0cccab3 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7mU+53hE&XXGjToFp#YI% z_Fuys4Kg=zvc(@LIv{Q!S;N!qX^|l0@YKppLNd<2xfFTcvm^9vm9R5{HW-u8`H0v$k5ZDI}0s})*iT#XK_C*D(#}j;rG>^ z22D*F+tfDRpIB0J;j!DgITN(z7&Y{zJgzZpea?2Fb*p&F4g2IhF@Zm-jI>tNEKdI$ s=+48y@c+NN(1-a93=C`_7c(;`nrJ6%^C|LRU|?YIboFyt=akR{0LkiJUH||9 literal 0 HcmV?d00001 diff --git a/kubejs/assets/beneath/textures/block/crop/ghost_pepper2.png b/kubejs/assets/beneath/textures/block/crop/ghost_pepper2.png new file mode 100644 index 0000000000000000000000000000000000000000..38d9c52f5eb0fbe2b9b38a3b72726bfaab66906a GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7j(NH`hE&XX6QIp^$U&gi z`J8mh>$h*sarTv?imd!l#4awv2&+fx*+&&t;ucLK6TZrfO3F literal 0 HcmV?d00001 diff --git a/kubejs/assets/beneath/textures/block/crop/ghost_pepper3.png b/kubejs/assets/beneath/textures/block/crop/ghost_pepper3.png new file mode 100644 index 0000000000000000000000000000000000000000..7e57eb28ddebb8bddb4b541ad41890c278ba34ac GIT binary patch literal 298 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7?t8j8hE&X1611E5kb!{h zVx5B=0RcfS3zImHEm(YHO34=;hr@iDi$tb~7%+M7IPm<(n$Ji3lzw_%oLgKcAH8mY zfT+l#hy=r+Ju#+ro1TB(a^T?$wr9VYi|u&#u3h)tSmkr6QDaHr-^a@onMKzINSfb{ zT08B6iRqT_>Ml%mZkks+&Rm~yfV(vIec$nud3-Z}xO64(_882zVX{Z1#^YRavLy85sWm-za(ZJOcv*8_2873}KZMWjQML`!X;vFnGH9xvXELn`Jh3DWgvb`+Sa z8Q!VHA+jsC$;Cu9(_yhg1G@>|@wbl(BzWo>Z0sAlmMMBL2}_7vh4o1vi!W; z)|U-`8|J6otKQAIR)TY_#8xNs+SSt<3*x6ePEA;I`HR=dy=P7rpL_76h)?csThqy} ziLbsz>WQR3PipRHHFW-*Db+G{-aC=0F83G|O15c7T*;qT+Ue#qWYq1L;*ik{NG4?`^gXO;F{3H}g%%`roPb%GYxu zAIkj0@IJi*T(`&CT!T=DpGBR%V++oOD=yGt#H8vJ(mpHM!l@#vIBz rlaYbp|9{r3qy7vG3~ZoKWM=sCV2iSem%;}I1_lOCS3j3^P6M^pi{Mrk(bPE-cP|8aG$;IJ%$u0dGDjn^a)(Ka^Mwl$Zj+t8y_CF!Bwd=X zi1AvoNwKge?d$(-x6gY0;q8BRyubH*@BQC<)0rn1s04Y+tv!_X?S+_Y(3)$n7#eN8 zjSk+B?CySU{$PfrVt$s5kgL$$@AWJyTT)b_PPjbDQdlZ-{fNf>7Ind%Rt@Qo>SlVI z7rk|7HCpb{$=56Q;Y{bUenp|A^dkiUIkWp5e7Seedph~po*=H3MT>v3>OI$}n0B7! z&-!51Hyk|;VynZwt8RA8lAl^6$>+4Y=*~>lReiC4nWP)No~Kqf*KOmJdcC#w#MAYh zWwUQ|-k!6*cT(W5u%l})OuUpV&1IIjeWB!yr;Jm*LRY@^PP=j7;&P|FC7Xllrk2gR zp!MYa>&d}FWgGY{9eZTGT)2dN|iI8KXCOFdjsE-|V(VFkcFR8bRtO!8>_~n5 zWB1l|8Djyht(A9nkSGAS=O`s`?9tXbXWZxc^HRot~@#gbjOI(9AD@0p++@N!R1Wo4VC zqhVDw@2+*u3Z-$@Om1qE4L7Ff)V_Kcxma1Y)GuoX=WgEYMpNqrK`XU{8~6R*_T8jN z`9#pYQ*5&WOgFjh+#P;Q_Q*A{4iyp0*V$8+|2>;x^7zfOb$>oHUj4?nvuaKXm&$Bz zv250#IU<)E<}k?i3OgiElrD@(Jj++%{@|rtLIKNzr3{zeu$&Tktz4k`a9Wr+qjSAS x>-9aarhZ~)VEF$(SUBkh0|NsaD6*ItTG%e@EfZh6n1O+T!PC{xWt~$(698_6)As-X literal 0 HcmV?d00001 diff --git a/kubejs/assets/beneath/textures/block/cursecoal.png b/kubejs/assets/beneath/textures/block/cursecoal.png new file mode 100644 index 0000000000000000000000000000000000000000..32fe8e59cf92b506a421d442741c9559a6e3ad41 GIT binary patch literal 702 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orG$ialK%Ln`K|Ogfz<;waMg z`daAS%XcTg+$m||(m9cZnQM~ogq$OL6*?ZAoBICoz24~fBitHVhO3WcgqTcDsYr=B)Na-=Xb&PZQy=s?3 zVf%kCUz1;E?RC{FYT~hTR%?9}W<==sHZHkmZNYhLhwKZZWi1cp2iZlw-CoeZ`h7}Z z#{s1-rEP_4>(g(vZJH8f^yJOUw7!@cgVlDu(mOrUcK4Xy6Lh*}U9)>?zTuZ|`I>u= zevl4~cX{Nx|8rcs{?nXQTezUJ&t`ZLOgnXw$sx z3!hI!CVM)4EbBer({``n%$*s<*-hU|b%MI*t>^83WtG3&f%S$1&()Sa*;BTDJGkJw z_#YYO5{G8R=+wV)nrpA^-uvhw@4r%&=i)Cko(FQg*fDEv#@ju?r`B!z@pq9$UWlM> zOVypT@p8TXbJS*B()Khm{ZzI-n61S2w8J`8y?JZP?L*G`I0~MQD#^b$MeMHjv~$ag zjU3+v?NB&-v4ZQ+!8Pl@``7iP6~DGkoIF!ER6~Q=%z@)g6T2Ym!!@Gqyd3Ha^*c9| z$j!U7Mpar=<7ULEGTXl~*SSBYAE~vu+W$#K=;gyba$PQpTXq^nJp1u|$vw#u^UWpc zQ}0F4-q9~-tn?NgW!K=9+j8xo zm`LM(y}b&OTOH0eEjE~N<(9*TdIkoD|Np0Jn{Q`eU|<6!KW2vXXPE~2QZHH<7#J8l MUHx3vIVCg!0HhU0rT_o{ literal 0 HcmV?d00001 diff --git a/kubejs/assets/beneath/textures/block/hellbricks.png b/kubejs/assets/beneath/textures/block/hellbricks.png index 383fa459066eaa5a8f0c84c0a4069159758f5020..86ffda75bbf51ab16f441b061ed2c17cb47615f4 100644 GIT binary patch delta 571 zcmey(bD3p=ay=7=r;B4q#hjQ)yYsF%h_pR__Oa@%?}bfkCZ#!U2x2Mma1>bL;M%@m z@dM5ZMlUI=dkXywtX^}QnwYw57@|ZJnVi;?Z5EF|a!YQ$rA&I0qvfVG|NkVPui5`> z#q+(T^H)|+($y+E%W~E1K;n;uqWKj$IX6N#Y**>y(X;%#mq^;4T_W}Ut75?kb<9lhpGQ~L_b?_G-$rrr9p{=MN^9!VR#7~JZ_;c)`PV?eBp3B*7GNQsGr|s3abiMBQ&(gN4 zqDwRGnQmOE94KTS7@{b=opJX0e`kfR7Un5?=9=t%W~$dL@4R+@v-Dbf1_p-z|BsqU jO=VzUU<0KKW(LWZ!jqiVX|H2oU|{fc^>bP0l+XkKj{OxL literal 1659 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)Qa)e((;RP6H9EB zGIJBtQ}qk-(v=k8p=RZrpOatYo1c*>cZh>BAW{Oo(ilt?;S)ze%nt58Hu9<;}g>I5j znz62-QJQ&*sfDFwaw1&6OMY@GD8^y>Q%KbBUzC}inU|PDwmG1D2udne9+|}@`9+n` zoD!T`2xaADDu7dmRbnzI)!Qm1gQ7b%MF}dLNp=W8j4jVd&BK)tAS#OU(@M${i&7oa zQ}ap)q%eIu1si=(#)No4ADj)4{05do%EU0`K`w3}Cb+x-l|6O}h(awjFU3}=NXg!g zn@4dn0|TS7r;B5V#>A{}0~QW!d7> z@>rF)7G-ue+I?O$IhC!Y{mI?*`G4Q#RBCv>oTNC}ujzhiz(3R7*Gud&?mHFpwJ`m$ z^piN{9dTFYTj|a$_lv(@{oYqOIc?@{)t|xY{~~m|Srl}fqW0b1-ozjx75~O*?H#oY z-l>mGj(yt^)qebG;Hi19{L#>Y;fI^#Sv~uCKB7s+xbZ|M*+Z^4>P@ zNQN41_LtXRt+}i==j+=dN%QEE9zW*;%%&|xS1m4Yo7(r4?ZrRc*f~WRl5C2<_L{iK zuKt$SaHs5KX-(K|sb7I-OFIKrmuM$OTv@QU{JzjUo_!n#A8!bnbAaVrU2>0K#qzopr0L8F16951J diff --git a/kubejs/assets/beneath/textures/block/nether_cursecoal.png b/kubejs/assets/beneath/textures/block/nether_cursecoal.png index e263dde4b27f80277a0281b9b3cf03cce184ed45..ca0a70a14e5189aea26597d56e823e1fccc36391 100644 GIT binary patch delta 708 zcmbQr_kneSMLp9ZPZ!4!jfu9CPWuZ7iX1zix@_+mUB8*<=6=#p5Mb+4n$VWO*c=#c z)AURJ#j)1^lezyh^{S}o@TjP{hzljLESZ{qdhy(F>)iJxZGNwll+r)0_1mZa{Eyw1 zPp^)ypSyQvtLqQ@U3tt7wwuN0&(@oHt?*e+-n*6SZcpiAXi!tDcVC*ZKR2Awp~uX3 zv&dvNhK3-+>OJ|QYj5sUZ)9D%Xx;6asxmba$`sa`g$Y?lXF(bVWt*--q&R zYpcDcpAqF<<+rspE5=%(^H}jtrb)YhpH6erU;6y=y&LUOlh8dcXcjSEZoE%6byl-OjEw zciQ(}$cf>BQu!D2*&qK3980`hkaex}&}ZKR8h4fLt3Uf)-g4)dRi#b+^*Q?%_U&H9 zW=SE_Qd?%VB%EFq5%%!eq79pV%@TNI(f8P*Mc~*CdyD=k Wmy>RbQy3T+7(8A5T-G@yGywn!fJ>bK literal 1813 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?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_&aZ*ZZl4W9wu7Ra#A}EsnZ* zr0E)^q*x?cS{kI7879H>yW}UAf?^z|KZQj7{zaMTnR$shWSaxZhoGcl<&jxjl3!E_ z%_+gDg-}*brUE#1SS2QdQoXHGGAO!JQnPi6m#MttT)I3}X0ivQfKdq!Zu_)Cs zJvFa{Knl~hQ?StoWlV?%^ugHx$!}meq)ZG`9^~Q%VuH&XP}yUrfGE^b^HOY;ij?f_ zf_l{sFfcIg^>lFz(KsJF>9ki-V$$ z#OLIfZ;zkY;p?{8df|lm2X2<`-tOlo-pyZJX!rcHW&RNxb17b7o$0~->XR*%n5PBn zO+VRo_~FSEr-0R0SA2LQ8};VlhnZOdf9uvW>WZAp%-tF#{kZViBc~b@MF}1z7oM=q zH_tr(y!qxCOACu-U;oy!&2&(B@R>DttJUkTR+VuVGc`iBL^oXz51(}6cGcdQK6#fJ zv}XQ1&+h+ha>=HfI-465wL2>oDE_UBzq;VWiidhG@==&^g*^o5nxGm36r) zuf*k?iDhRZHnU4TVQV`im+&ZP<&~Eu3Yx3Z($;@|Q6}E)dilcJvebB`i2~Jv$;(z5 zx=UVeV0&kDF3;gN6H{1#)5A|M9e4G5yX+CX5$`OzLo-2*n{~JBhK-Nje7fZIeBt%# htMjwVbzWQSXZ+bM_F-A8_8L&d<>~6@vd$@?2>>9%f~x=k diff --git a/kubejs/assets/beneath/textures/block/sulfur4.png b/kubejs/assets/beneath/textures/block/sulfur4.png new file mode 100644 index 0000000000000000000000000000000000000000..71bc3e9938069a8fe36b622d0394530036afcd9e GIT binary patch literal 376 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7bv<1iLn`Jh2|hUSkO9w> znO_p77OdaFeTntxMb_)CL9HRJ{@S;nKY3)CAiyJ;@;+;8klHT;y~Rt`T<>}Q*zmb? z+_PEzkt)v=5AM3PRAO#Qs`AF4#Xk6G3TBb4KysbPHV>{^{Ob5jhCt#0nV$i=wKW$&g}RSe3@ z_OopKr?qxjOUBNxhRZ_s9281a`0#eYf!?C28s|&oq;9=_5X^nUMrPGZG41->q4}2s z99vzS`7hKLO)uT=9J-IKUOXr8h}g2;uS-*ZPR&nl?PPF%dz)qP4@L%t|NndEJh;lh gz`zCyIA(^gFPE@Nzj(ckfq{X+)78&qol`;+05M#mkN^Mx literal 0 HcmV?d00001 diff --git a/kubejs/assets/beneath/textures/block/sulfur5.png b/kubejs/assets/beneath/textures/block/sulfur5.png new file mode 100644 index 0000000000000000000000000000000000000000..6f3f65751f9aafea64ff3b2e72bdcf9c1836073b GIT binary patch literal 449 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7%RF5iLn`Jh3Eo-AY{~J6kTfVf%V*Mh>3p#^A*nOp$#}t*u8Q{swv(#cpaeVGI=frQqgs zgH^#TU{h9*Sc=B^m${iMcQ=>0%t+eTI+t7NFVdQ&MBb@ E0K-YbA^-pY literal 0 HcmV?d00001 diff --git a/kubejs/assets/beneath/textures/block/sulfur6.png b/kubejs/assets/beneath/textures/block/sulfur6.png new file mode 100644 index 0000000000000000000000000000000000000000..ef4a7c1f51102c85507a635047da1f02ce099672 GIT binary patch literal 386 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7%{^TlLn`Jh3EEwH*no%S z>mFuHC#|B^kSiRwln$q`luI34wTUS-l_i1enL|rpiuShq++5Mi-Y-}7`*L1#9si8t zz3v)EuRAveCFQ0huKM~mpvCgqlq05pj<&>v_ZBWHoqMv{UvbU4?pNhr-*zW6G9GJT zWA2E)&i}{L{)t~pO!2*QM>N;Xx2!S{cR5?BG||69-~2~AlbE%#nX}7^@(bw}Y8eZo z-$=we@Kt=$y%@{L8sQl&es1sf^tZ}OS$x*~U6#jkEbvZ#k+AJ*?aA&!LW}0aXGW$8 zFK-TP7kDFfPT{b~ySL2inHa>q7MB+8QWKw0E3m^?K#9YXd;Pnn)oI(Nw9BqAj*AOE zl$jS;I%BD>-k5%kt%0>|EPX_iMpM!KlA@t`V0&V o|Nl3-Kk#H=U|<6UAu~go&EhkYmhJn(z`(%Z>FVdQ&MBb@0E5t+L;wH) literal 0 HcmV?d00001 diff --git a/kubejs/assets/beneath/textures/block/sulfur7.png b/kubejs/assets/beneath/textures/block/sulfur7.png new file mode 100644 index 0000000000000000000000000000000000000000..faf1c8481d2c587e68d8921ce84a107c8776ea52 GIT binary patch literal 426 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7<2_v*Ln`Jh2|ieO$bn~y zai)TPENA7{-69l-IG-B*MWj<-F{tw|{*u z2UW4UHbYr-foe07g>E=fwkhV?H%8OY>m9A`px$7|BmltWMKIJU)V_^n}LCW e4HVSO44kp&AK%J<=)%Cjz~JfX=d#Wzp$PzTe6ei+ literal 0 HcmV?d00001 diff --git a/kubejs/assets/beneath/textures/block/unposter/normal.png b/kubejs/assets/beneath/textures/block/unposter/normal.png new file mode 100644 index 0000000000000000000000000000000000000000..32cf809d889768b13edcb59c3000a8cca615304c GIT binary patch literal 624 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orG$%spKkLn>}1U75xd;t|Su zVYY*W#GD&ZclYl7U-?Q;+mOR(%KyqImk(;l@%_o?U4CxPmXd%Lk=Ks$uZ#ATReIN- zu{KcJQI#X7w)URfF0ZbH63z~h{;tOvx1a7g_WW7!(eHkj>#J`#+w}9T+q-DVwp=xZ zCqYF^d#-yW`}|*Xd)MOJ-v88wHj= zD0}z!(ZkEd=B0PXZpQWLrD|y=$WVrWR;b zK2~c@{9Lxij=_=ZiWTe9ecxCPtazBeX_@I@CdbrtZR7ICBEGF j(Vv=QP3{>gr~f~n7*`R|eDF5|0|SGntDnm{r-UW|Aqyps literal 0 HcmV?d00001 diff --git a/kubejs/assets/beneath/textures/block/unposter/unposter_bottom.png b/kubejs/assets/beneath/textures/block/unposter/unposter_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..155ff6946a86fc3b5a3bba79e676491b2e947002 GIT binary patch literal 484 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/beneath/textures/entity/nether_deer_fawn.png b/kubejs/assets/beneath/textures/entity/nether_deer_fawn.png new file mode 100644 index 0000000000000000000000000000000000000000..e2449e1077dc0374b0e6dc5cbbf3532aa82c52ac GIT binary patch literal 5334 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/beneath/textures/item/cursecoal.png b/kubejs/assets/beneath/textures/item/cursecoal.png new file mode 100644 index 0000000000000000000000000000000000000000..c53cd2c019b0a20daa73274a98075c40822e098d GIT binary patch literal 461 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7n><|{Ln`Jhne46494OIt zzj&sxTXvg)o@!ois{qT&rL1OQX4C3s{NSu>kWa{dILTuPFR$XNt6|H(&%FHDL)>?< zuh;&!mhV5;KCixi_+onDm&jV?4E^bI7@cQ|1NUp9zdtkeUF1`kdxU%2(nZ#@ zEBu#E{Cy&Es^JlqgPCgmbK;xhb0@58@TdrwtJC{HDb&g6v134+gGS4iw8CQEx<8!X zrJ^SIdPpC*lq~G_;Kk-mISKDyFw6^g*&5?)HrqYUe?wAmjM}9YCbJmsRT+m~e8KcA zP2Ireof8}5rup#|e)|^1eHWaf)sb6xOT?7a4*v9(a{YC=)xoQC!ZyRl>`PX2 zPjj4lL7M;diYZ_CJ~h615fpx)e%1T)Uw9c9{{NS9`WDH+z`zEI4Q7USJ{?bQRp^#7 QFfcH9y85}Sb4q9e0FpGv3IG5A literal 0 HcmV?d00001 From 36a9dc5099373b1a8bb40cdb0747670bf1366e75 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 20 Jan 2026 11:38:46 +0000 Subject: [PATCH 155/474] add anthracite as boiler fuel, add more items to the grain tag for soups #2785 --- CHANGELOG.md | 3 +++ kubejs/server_scripts/beneath/tags.js | 2 +- kubejs/server_scripts/tfc/tags.js | 8 ++++++++ .../tfg/powergen/recipes.boiler.js | 19 +++++++++++++++++++ kubejs/startup_scripts/firmalife/constants.js | 8 +++++++- 5 files changed, 38 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a9a760ef..32e41a270 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,6 +50,8 @@ - Cleaned up hanging sign recipes so they don't spam as much (#2733, #2771) @Inceitious - Added recipes to change AE2 glass cables into covered/smart cables, and changed some recipes to require smart cables instead (#2756) @awfulworldkid - Crop, tree tap, and beehive tooltips, and the climate tab, now show the accurate current temperature when in an oxygenated area @Mqrius +- Anthracite can now be used as boiler fuel with the same duration as Coke @Pyritie +- Added more grain options for soup (#2785) @Pyritie ### Bug fixes - Fixed not being able to craft Paracetamol or Rad-Away @Pyritie - Fixed the missing dried fruit to yeast starter recipe (#2673) @Mqrius @@ -70,6 +72,7 @@ - Fixed casting of rods and gears for various metals @Pyritie - Fixed a dupe with scraping knives (#2716) @Inceitious - Fixed a rendering issue with the lunchboxes when held @Thomasx0 +- Fixed the lunchbox eating particles so now they look like the food being eaten @Thomasx0 - Fixed the cooling lunchbox not stacking empty cells correctly (#2475) @Thomasx0 - Fixed the lunchboxes not removing the "cooling" trait when items were removed with the number keys @Thomasx0 - Digger helmet crafting now correctly consumes the cloth hat (#2770) @Inceitious diff --git a/kubejs/server_scripts/beneath/tags.js b/kubejs/server_scripts/beneath/tags.js index ab0397f98..9ea5bed0e 100644 --- a/kubejs/server_scripts/beneath/tags.js +++ b/kubejs/server_scripts/beneath/tags.js @@ -39,7 +39,7 @@ const registerBeneathItemTags = (event) => { event.add("tfg:rubber_plants", "beneath:gleamflower") event.add("tfg:rubber_plants", "beneath:burpflower") - event.add("tfg:rubber_plants", "beneath:fools_funnel") + event.add("tfg:rubber_plants", "beneath:food/fools_funnel") } const registerBeneathBlockTags = (event) => { diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 595c83b78..752edea62 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -157,6 +157,14 @@ function registerTFCItemTags(event) { event.add("minecraft:fishes", "tfc:food/rainbow_trout"); event.add("minecraft:fishes", "tfc:food/smallmouth_bass"); + event.add("tfc:foods/grains", "tfc:food/cooked_rice"); + event.add("tfc:foods/grains", "tfc:food/cattail_root"); + event.add("tfc:foods/grains", "tfc:food/taro_root"); + event.add("tfc:foods/grains", "firmalife:food/tortilla_chips"); + event.add("tfc:foods/grains", "firmalife:food/cooked_rice_noodles"); + event.add("tfc:foods/grains", "firmalife:food/cooked_pasta"); + event.add("tfc:foods/grains", "firmalife:food/toast"); + // Чтобы жарились бревна из TFC в пиролиз. печке // Почему нельзя просто добавить тег в тег? (допустим minecraft:logs), потому что из-за этого ломаются все рецепты minecraft:logs, магия... global.TFC_WOOD_TYPES.forEach((woodType) => { diff --git a/kubejs/server_scripts/tfg/powergen/recipes.boiler.js b/kubejs/server_scripts/tfg/powergen/recipes.boiler.js index 81e6b8be0..0ca747411 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.boiler.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.boiler.js @@ -49,21 +49,31 @@ function registerTFGBoilerRecipes(event) { .itemInputs('#minecraft:logs') .duration(300) .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') event.recipes.gtceu.steam_boiler('tfg:saplings') .itemInputs('#minecraft:saplings') .duration(100) .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') event.recipes.gtceu.steam_boiler('tfg:planks') .itemInputs('#minecraft:planks') .duration(75) .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') + + event.recipes.gtceu.steam_boiler('tfg:anthracite') + .itemInputs('beneath:cursecoal') + .duration(160 * 20) + .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') event.recipes.gtceu.steam_boiler('tfg:flora_pellets') .itemInputs('tfg:flora_pellets') .duration(1200) .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') // Small nerf to charcoal @@ -82,48 +92,57 @@ function registerTFGBoilerRecipes(event) { .inputFluids(Fluid.of('gtceu:oil', 200)) .duration(200) .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') event.recipes.gtceu.steam_boiler('tfg:heavy_oil') .inputFluids(Fluid.of('gtceu:oil_heavy', 32)) .duration(200) .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') event.recipes.gtceu.steam_boiler('tfg:fish_oil') .inputFluids(Fluid.of('gtceu:fish_oil', 160)) .duration(200) .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') // These aren't in base GT, but they have the same stats as oil event.recipes.gtceu.steam_boiler('tfg:raw_oil') .inputFluids(Fluid.of('gtceu:oil_medium', 200)) .duration(200) .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') event.recipes.gtceu.steam_boiler('tfg:light_oil') .inputFluids(Fluid.of('gtceu:oil_light', 200)) .duration(200) .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') // Same stats as fish oil event.recipes.gtceu.steam_boiler('tfg:olive_oil') .inputFluids(Fluid.of('tfc:olive_oil', 160)) .duration(200) .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') event.recipes.gtceu.steam_boiler('tfg:seed_oil') .inputFluids(Fluid.of('gtceu:seed_oil', 160)) .duration(200) .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') event.recipes.gtceu.steam_boiler('tfg:soybean_oil') .inputFluids(Fluid.of('firmalife:soybean_oil', 160)) .duration(200) .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') event.recipes.gtceu.steam_boiler('tfg:tallow') .inputFluids(Fluid.of('tfc:tallow', 160)) .duration(200) .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') // fish oil extraction event.recipes.gtceu.extractor(`tfg:fish_oil`) diff --git a/kubejs/startup_scripts/firmalife/constants.js b/kubejs/startup_scripts/firmalife/constants.js index db7e6b48f..f6ae1a013 100644 --- a/kubejs/startup_scripts/firmalife/constants.js +++ b/kubejs/startup_scripts/firmalife/constants.js @@ -38,7 +38,13 @@ global.FIRMALIFE_DISABLED_ITEMS = [ 'firmalife:bucket/chocolate', 'firmalife:bucket/fruity_fluid', 'firmalife:bucket/metal/chromium', - 'firmalife:bucket/metal/stainless_steel' + 'firmalife:bucket/metal/stainless_steel', + + // Unimplemented + 'firmalife:food/frothy_coconut', + 'firmalife:cinnamon_bark', + 'firmalife:spice/cinnamon', + 'firmalife:spice/ground_cinnamon' ]; global.FIRMALIFE_HIDED_ITEMS = [ From bdfcc79d69b811442f14875f204c1f4fae1af818 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 20 Jan 2026 11:40:07 +0000 Subject: [PATCH 156/474] cl --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 32e41a270..ecadf441e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -52,6 +52,7 @@ - Crop, tree tap, and beehive tooltips, and the climate tab, now show the accurate current temperature when in an oxygenated area @Mqrius - Anthracite can now be used as boiler fuel with the same duration as Coke @Pyritie - Added more grain options for soup (#2785) @Pyritie +- Added a mechanical mixer recipe for crafting sticky resin (#2693) @JeanRdSz ### Bug fixes - Fixed not being able to craft Paracetamol or Rad-Away @Pyritie - Fixed the missing dried fruit to yeast starter recipe (#2673) @Mqrius From 39d2c6d1ac3867486532d72f3e8031b6696e698c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 20 Jan 2026 11:53:05 +0000 Subject: [PATCH 157/474] pakku --- pakku-lock.json | 70 ++++++++++++++++++++++++------------------------- pakku.json | 2 +- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 0734a5a9c..bccfc3f79 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -6764,7 +6764,7 @@ "files": [ { "type": "modrinth", - "file_name": "fzzy_config-0.7.4+1.20.1+forge.jar", + "file_name": "fzzy_config-0.7.5+1.20.1+forge.jar", "mc_versions": [ "1.20.1" ], @@ -6773,22 +6773,22 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/hYykXjDp/versions/wnhd0CI1/fzzy_config-0.7.4+1.20.1+forge.jar", - "id": "wnhd0CI1", + "url": "https://cdn.modrinth.com/data/hYykXjDp/versions/Dt5erL4a/fzzy_config-0.7.5+1.20.1+forge.jar", + "id": "Dt5erL4a", "parent_id": "hYykXjDp", "hashes": { - "sha512": "108f00ce546fd87ae2be853233bfe8f4deeb6abad6a61769a4ddf2735db098fd42d9b0a6ab1f98974717235e9fdf122767bdff82c042cd972cdbc14add039ebf", - "sha1": "b0213984f7591c3d1ec4ab5eebd87c605728d451" + "sha512": "a5e86b8ea8a63bf8b9102b351314393aad5ede26b2480ae8ecaf55eefc482824a27e63ffa088a6d4e30a1ab814502f5e19bc77ac5a09e5120902f191ded59439", + "sha1": "7e890f8b527ccb4523fed54a2864549a53f65fed" }, "required_dependencies": [ "ordsPcFz" ], - "size": 2353402, - "date_published": "2025-12-14T05:56:34.040088Z" + "size": 2372465, + "date_published": "2026-01-19T17:33:10.246513Z" }, { "type": "curseforge", - "file_name": "fzzy_config-0.7.4+1.20.1+forge.jar", + "file_name": "fzzy_config-0.7.5+1.20.1+forge.jar", "mc_versions": [ "1.20.1" ], @@ -6797,18 +6797,18 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7331/237/fzzy_config-0.7.4+1.20.1+forge.jar", - "id": "7331237", + "url": "https://edge.forgecdn.net/files/7489/457/fzzy_config-0.7.5+1.20.1+forge.jar", + "id": "7489457", "parent_id": "1005914", "hashes": { - "sha1": "b0213984f7591c3d1ec4ab5eebd87c605728d451", - "md5": "b6bcf0a1abc530257fcaa054157a8a16" + "sha1": "7e890f8b527ccb4523fed54a2864549a53f65fed", + "md5": "0519be93c6e6b9183c9416031db4c715" }, "required_dependencies": [ "351264" ], - "size": 2353402, - "date_published": "2025-12-14T05:56:25.963Z" + "size": 2372465, + "date_published": "2026-01-19T17:33:01.213Z" } ] }, @@ -13075,7 +13075,7 @@ }, { "type": "curseforge", - "file_name": "tfclunchbox-1.20.1-1.0.0.27.jar", + "file_name": "tfclunchbox-1.20.1-1.0.0.28.jar", "mc_versions": [ "1.20.1" ], @@ -13084,18 +13084,18 @@ "neoforge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7458/423/tfclunchbox-1.20.1-1.0.0.27.jar", - "id": "7458423", + "url": "https://edge.forgecdn.net/files/7492/687/tfclunchbox-1.20.1-1.0.0.28.jar", + "id": "7492687", "parent_id": "1283445", "hashes": { - "sha1": "1226f74ab23c97398f23700a8f571e200fe311f0", - "md5": "718421027553531294b611f80719da0c" + "sha1": "7894fbb87bc561b7c186ec9f3997118b953659d0", + "md5": "4ff015e8a9a54a81dcbe8f29bbcf84b4" }, "required_dependencies": [ "302973" ], - "size": 129776, - "date_published": "2026-01-14T13:05:43.293Z" + "size": 132712, + "date_published": "2026-01-20T05:47:48.063Z" } ] }, @@ -14045,7 +14045,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.14.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.16.jar", "mc_versions": [ "1.20.1" ], @@ -14054,23 +14054,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/m0KNpOTc/TerraFirmaGreg-Core-Modern-0.8.14.jar", - "id": "m0KNpOTc", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/t6PH6FL4/TerraFirmaGreg-Core-Modern-0.8.16.jar", + "id": "t6PH6FL4", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "e5a7b153a2efab340c8ae8ce21624ce1f20349422534dfec64d00112f50142710c16b1a6a31e7ac9387ab771a6b1a2273c8162f46becd22705895ccff6d7c47d", - "sha1": "f1b9ac2623f3058a2bcee184a024fa4111181218" + "sha512": "5e274236f4d28e53ae739302815da365c78f984122df2f7932c2223ee31b097b9d087731849d510e7a8e66dd49f04c1ffbb40565f84d3908c1d215b28c679d17", + "sha1": "579985f43bb52665b669250e4073832cbe95027f" }, "required_dependencies": [ "7tG215v7", "JaCEZUhg" ], - "size": 9376906, - "date_published": "2026-01-05T06:28:10.973810Z" + "size": 9461058, + "date_published": "2026-01-20T11:05:54.521015Z" }, { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.14.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.16.jar", "mc_versions": [ "1.20.1" ], @@ -14079,19 +14079,19 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7419/964/TerraFirmaGreg-Core-Modern-0.8.14.jar", - "id": "7419964", + "url": "https://edge.forgecdn.net/files/7493/717/TerraFirmaGreg-Core-Modern-0.8.16.jar", + "id": "7493717", "parent_id": "513402", "hashes": { - "sha1": "f1b9ac2623f3058a2bcee184a024fa4111181218", - "md5": "b09df110b3939d76ae68167b71abb8ff" + "sha1": "579985f43bb52665b669250e4073832cbe95027f", + "md5": "e158c8a6551a688142edd006ae4a7aa8" }, "required_dependencies": [ "302973", "890405" ], - "size": 9376906, - "date_published": "2026-01-05T06:28:07.297Z" + "size": 9461058, + "date_published": "2026-01-20T11:05:50.520Z" } ] }, diff --git a/pakku.json b/pakku.json index faf8a0638..43a9b4924 100644 --- a/pakku.json +++ b/pakku.json @@ -1,7 +1,7 @@ { "name": "TerraFirmaGreg-Modern", "version": "DEV", - "release_type": "release", + "release_type": "beta", "description": "An innovative modpack that contains GregTech and TerraFirmaCraft on 1.20.x.", "author": "Exception, Xikaro", "overrides": [ From 62c1ef9f35ef56bb1b5ba9385cb464c8e36ec597 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 20 Jan 2026 12:13:02 +0000 Subject: [PATCH 158/474] modlist --- config/crash_assistant/modlist.json | 90 ++++++++++++++--------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index c5cefbd89..6f6c06f41 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -130,12 +130,12 @@ "curseForgeHash": 1083459992, "modrinthHash": "b4a0e4937db9c83ec82a6809f8d53ab2b9e7a62c" }, - "applied_ammo_box-1.0.0.jar": { - "jarName": "applied_ammo_box-1.0.0.jar", + "applied_ammo_box-1.0.2.jar": { + "jarName": "applied_ammo_box-1.0.2.jar", "modId": "applied_ammo_box", - "version": "1.0.0", - "curseForgeHash": 719209453, - "modrinthHash": "3fc67723dc70b544b57ab0d0a34e2be991d285f9" + "version": "1.0.2", + "curseForgeHash": 2900950740, + "modrinthHash": "ab97dbd5bef9a488be8dea88672028963d3c0104" }, "architectury-9.2.14-forge.jar": { "jarName": "architectury-9.2.14-forge.jar", @@ -305,12 +305,12 @@ "curseForgeHash": 635589968, "modrinthHash": "c65d07748acc57ceb45d53b3964368b84f34d54f" }, - "colorwheel-forge-1.2.0+mc1.20.1.jar": { - "jarName": "colorwheel-forge-1.2.0+mc1.20.1.jar", + "colorwheel-forge-1.2.1+mc1.20.1.jar": { + "jarName": "colorwheel-forge-1.2.1+mc1.20.1.jar", "modId": "colorwheel", - "version": "1.2.0+mc1.20.1", - "curseForgeHash": 3577450487, - "modrinthHash": "b4caaa01971dd398d4d6112a896eea6db856c971" + "version": "1.2.1+mc1.20.1", + "curseForgeHash": 4138397164, + "modrinthHash": "791578afecd261f0d03669db993b35d14badc1a9" }, "colorwheel_patcher-forge-1.0.4+mc1.20.1.jar": { "jarName": "colorwheel_patcher-forge-1.0.4+mc1.20.1.jar", @@ -585,19 +585,19 @@ "curseForgeHash": 652681066, "modrinthHash": "b1ec92eeafdc97e88e0baacd5d89f4c1f89a4bbc" }, - "ExtendedAE-1.20-1.4.9-forge.jar": { - "jarName": "ExtendedAE-1.20-1.4.9-forge.jar", + "ExtendedAE-1.20-1.4.10-forge.jar": { + "jarName": "ExtendedAE-1.20-1.4.10-forge.jar", "modId": "expatternprovider", - "version": "1.20-1.4.9-forge", - "curseForgeHash": 2620237685, - "modrinthHash": "55a8c773659036176142242ded460a4b88ee6fb0" + "version": "1.20-1.4.10-forge", + "curseForgeHash": 2955081124, + "modrinthHash": "267400e92be8b51479158b95a6ce414654c78562" }, - "ExtremeSoundMuffler-3.49.2-forge-1.20.1.jar": { - "jarName": "ExtremeSoundMuffler-3.49.2-forge-1.20.1.jar", + "ExtremeSoundMuffler-3.51-forge-1.20.1.jar": { + "jarName": "ExtremeSoundMuffler-3.51-forge-1.20.1.jar", "modId": "extremesoundmuffler", - "version": "3.48", - "curseForgeHash": 382750826, - "modrinthHash": "3b73ae534ff7e4f9c65e78c1f868655a23ab90c7" + "version": "3.51", + "curseForgeHash": 2384074866, + "modrinthHash": "025499c74e1e9305fa931b44c3832f43b1925ec7" }, "fallingtrees-forge-0.12.7-1.20.jar": { "jarName": "fallingtrees-forge-0.12.7-1.20.jar", @@ -753,12 +753,12 @@ "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", + "fzzy_config-0.7.5+1.20.1+forge.jar": { + "jarName": "fzzy_config-0.7.5+1.20.1+forge.jar", "modId": "fzzy_config", - "version": "0.7.4+1.20.1+forge", - "curseForgeHash": 4069840182, - "modrinthHash": "b0213984f7591c3d1ec4ab5eebd87c605728d451" + "version": "0.7.5+1.20.1+forge", + "curseForgeHash": 1765843012, + "modrinthHash": "7e890f8b527ccb4523fed54a2864549a53f65fed" }, "geckolib-forge-1.20.1-4.8.2.jar": { "jarName": "geckolib-forge-1.20.1-4.8.2.jar", @@ -788,12 +788,12 @@ "curseForgeHash": 3324262533, "modrinthHash": "aa53625ab5e145c6aa196645335b062b37ae82da" }, - "greate-0.0.61.jar": { - "jarName": "greate-0.0.61.jar", + "greate-0.0.62.jar": { + "jarName": "greate-0.0.62.jar", "modId": "greate", - "version": "0.0.61", - "curseForgeHash": 147677561, - "modrinthHash": "1ad889dbd2838045a2df194bfc757b9bae57d273" + "version": "0.0.62", + "curseForgeHash": 4030779299, + "modrinthHash": "0e4ffe5e88f97df724172b3061a1691028f45582" }, "gtceu-1.20.1-7.4.1.jar": { "jarName": "gtceu-1.20.1-7.4.1.jar", @@ -1031,12 +1031,12 @@ "curseForgeHash": 2393054142, "modrinthHash": "fcebe51e3c2ca34793f9b132fa05b5494ffc76a4" }, - "moonlight-1.20-2.16.21-forge.jar": { - "jarName": "moonlight-1.20-2.16.21-forge.jar", + "moonlight-1.20-2.16.23-forge.jar": { + "jarName": "moonlight-1.20-2.16.23-forge.jar", "modId": "moonlight", - "version": "1.20-2.16.21", - "curseForgeHash": 831958052, - "modrinthHash": "81054a1ec290b7a5263c60d3ab8fa73005b79274" + "version": "1.20-2.16.23", + "curseForgeHash": 3524849719, + "modrinthHash": "c63750ef54ac17d0dc1e58c246c6dac3d8d9ac87" }, "morered-1.20.1-4.0.0.4.jar": { "jarName": "morered-1.20.1-4.0.0.4.jar", @@ -1395,12 +1395,12 @@ "curseForgeHash": 2679626739, "modrinthHash": "ea725f5bed9662aa22d4ec089a009bd52fb82275" }, - "TerraFirmaGreg-Core-Modern-0.8.14.jar": { - "jarName": "TerraFirmaGreg-Core-Modern-0.8.14.jar", + "TerraFirmaGreg-Core-Modern-0.8.16.jar": { + "jarName": "TerraFirmaGreg-Core-Modern-0.8.16.jar", "modId": "tfg", - "version": "0.8.14", - "curseForgeHash": 2511919579, - "modrinthHash": "f1b9ac2623f3058a2bcee184a024fa4111181218" + "version": "0.8.16", + "curseForgeHash": 3476030057, + "modrinthHash": "579985f43bb52665b669250e4073832cbe95027f" }, "tfc_gurman-1.3.0.jar": { "jarName": "tfc_gurman-1.3.0.jar", @@ -1507,12 +1507,12 @@ "curseForgeHash": 2411075624, "modrinthHash": "021052fcfdd3b51ec5c0b3e46974ecdfd641a0c8" }, - "tfclunchbox-1.20.1-1.0.0.26.jar": { - "jarName": "tfclunchbox-1.20.1-1.0.0.26.jar", + "tfclunchbox-1.20.1-1.0.0.28.jar": { + "jarName": "tfclunchbox-1.20.1-1.0.0.28.jar", "modId": "tfclunchbox", - "version": "1.0.0.26", - "curseForgeHash": 3150756370, - "modrinthHash": "e9ddf2c2ea8a3458c06ef31712543d201a1cb499" + "version": "1.0.0.28", + "curseForgeHash": 350342431, + "modrinthHash": "7894fbb87bc561b7c186ec9f3997118b953659d0" }, "tfcscraping-1.0.2.jar": { "jarName": "tfcscraping-1.0.2.jar", From 072d1e4f125dbfa227b37957b498ea5476d3f54a Mon Sep 17 00:00:00 2001 From: Mqrius Date: Tue, 20 Jan 2026 13:13:59 +0100 Subject: [PATCH 159/474] Include xaero waypoints in backups Signed-off-by: Mqrius --- config/ftbbackups2.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/config/ftbbackups2.json b/config/ftbbackups2.json index 32efe057c..ab2c179ee 100644 --- a/config/ftbbackups2.json +++ b/config/ftbbackups2.json @@ -33,7 +33,9 @@ // Only run a backup if a player has been online since the last backup "only_if_players_been_online": true, // Additional directories to include in backup - "additional_directories": [], + "additional_directories": [ + "xaero/minimap/" + ], /* Additional files and directories to include in backup. Can specify a file name, path relative to server directory or wildcard file path Examples: (All file paths are relative to server root) From bba55fdd3ff2f0fd8aa75f21f43df2a03c4545c6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 20 Jan 2026 12:38:51 +0000 Subject: [PATCH 160/474] move all the rubber/latex-related recipes into one file, removed mixer vulcanized latex recipe, buffed fluid solidifier sticky resin recipe --- kubejs/server_scripts/create/recipes.js | 10 --- kubejs/server_scripts/firmalife/recipes.js | 13 ---- .../tfg/machines/recipes.components.js | 2 +- .../tfg/primitive/recipes.rubber.js | 71 ++++++++++++++++--- .../vintage_improvements/recipes.js | 28 -------- 5 files changed, 62 insertions(+), 62 deletions(-) diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 210190e08..864673961 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -2440,14 +2440,4 @@ const registerCreateRecipes = (event) => { event.smelting('#forge:ingots/silver', 'create:crushed_raw_silver') event.smelting('#forge:ingots/tin', 'create:crushed_raw_tin') event.smelting('#forge:ingots/lead', 'create:crushed_raw_lead') - - //Rubber early automation - - event.recipes.create.mixing((Fluid.of('tfg:vulcanized_latex', 1000)), [Fluid.of('tfg:latex', 1000),'tfc:powder/sulfur']) - .heated() - .id('tfg:create/mixer/vulcanized_latex'); - - event.recipes.create.mixing('gtceu:sticky_resin', [Fluid.of('tfg:latex', 1000), 'tfc:powder/wood_ash']) - .heated() - .id('tfg:create/mixer/sticky_resin'); } diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index e12232d36..49e4e1ec5 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -347,19 +347,6 @@ const registerFirmaLifeRecipes = (event) => { .category(GTRecipeCategories.MACERATOR_RECYCLING) .EUt(GTValues.VA[GTValues.ULV]); - //#endregion - //#region Sticky Resin by Vat - - event.recipes.firmalife.vat() - .inputs('tfc:powder/wood_ash', Fluid.of('tfg:latex', 1000)) - .outputItem('gtceu:sticky_resin') - .id('tfg:vat/latex_to_sticky_resin'); - - event.recipes.firmalife.vat() - .inputs('tfc:powder/wood_ash', Fluid.of('tfg:conifer_pitch', 1000)) - .outputItem('gtceu:sticky_resin') - .id('tfg:vat/conifer_pitch_to_sticky_resin'); - //#endregion //#region Better Sugar Water diff --git a/kubejs/server_scripts/tfg/machines/recipes.components.js b/kubejs/server_scripts/tfg/machines/recipes.components.js index 5f9746144..a9643b85b 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.components.js +++ b/kubejs/server_scripts/tfg/machines/recipes.components.js @@ -87,7 +87,7 @@ function registerTFGElectronicComponentsRecipes(event) { 'gtceu:ulv_voltage_coil', ], 'gtceu:magnetic_iron_rod', [ event.recipes.createDeploying('gtceu:magnetic_iron_rod', ['gtceu:magnetic_iron_rod', '#forge:fine_wires/lead']) - ]).transitionalItem('gtceu:magnetic_iron_rod').loops(32).id('tfg:sequenced_assembly/ulv_voltage_coil') + ]).transitionalItem('gtceu:magnetic_iron_rod').loops(16).id('tfg:sequenced_assembly/ulv_voltage_coil') // LV basic circuit event.remove({ id: 'gtceu:shaped/electronic_circuit_lv' }) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.rubber.js b/kubejs/server_scripts/tfg/primitive/recipes.rubber.js index 5920707dd..4df145c70 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.rubber.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.rubber.js @@ -55,6 +55,25 @@ function registerTFGRubberRecipes(event) { .duration(750) .EUt(20) + + // Vaccuming rubber wood stuff for latex + event.recipes.vintageimprovements.vacuumizing(Fluid.of('tfg:latex', 100), '#tfg:latex_logs') + .processingTime(300 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/vacuumizing/latex_from_rubber_logs') + + event.recipes.vintageimprovements.vacuumizing(Fluid.of('tfg:latex', 25), '#tfg:rubber_saplings') + .processingTime(150 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/vacuumizing/latex_from_rubber_sapling') + + event.recipes.vintageimprovements.vacuumizing(Fluid.of('tfg:latex', 10), '#tfg:rubber_leaves') + .processingTime(75 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/vacuumizing/latex_from_rubber_leaves') + + event.recipes.vintageimprovements.vacuumizing(Fluid.of('tfg:latex', 100), ['#tfg:rubber_plants', 'tfc:powder/soda_ash', Fluid.of('tfc:salt_water', 50)]) + .heated() + .processingTime(20 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/vacuumizing/latex_from_rubber_plants') + // Sticky resin event.recipes.tfc.pot('tfc:powder/wood_ash', Fluid.of('tfg:latex', 1000), 1200, 300) .itemOutput('gtceu:sticky_resin') @@ -64,21 +83,51 @@ function registerTFGRubberRecipes(event) { .itemOutput('gtceu:sticky_resin') .id('tfg:pot/sticky_resin_from_conifer_pitch') + event.recipes.firmalife.vat() + .inputs('tfc:powder/wood_ash', Fluid.of('tfg:latex', 1000)) + .outputItem('gtceu:sticky_resin') + .id('tfg:vat/latex_to_sticky_resin'); + + event.recipes.firmalife.vat() + .inputs('tfc:powder/wood_ash', Fluid.of('tfg:conifer_pitch', 1000)) + .outputItem('gtceu:sticky_resin') + .id('tfg:vat/conifer_pitch_to_sticky_resin'); + + event.recipes.greate.mixing('gtceu:sticky_resin', [Fluid.of('tfg:latex', 1000), 'tfc:powder/wood_ash']) + .recipeTier(1) + .heated() + .id('tfg:create/mixer/sticky_resin_from_latex'); + + event.recipes.greate.mixing('gtceu:sticky_resin', [Fluid.of('tfg:conifer_pitch', 1000), 'tfc:powder/wood_ash']) + .recipeTier(1) + .heated() + .id('tfg:create/mixer/sticky_resin_from_pitch'); + event.recipes.gtceu.fluid_solidifier('tfg:fluid_solidifier/latex_to_sticky_resin') .duration(12 * 20) - .EUt(30) + .EUt(16) .itemInputs('tfc:powder/wood_ash') - .itemOutputs('gtceu:sticky_resin') + .itemOutputs('2x gtceu:sticky_resin') .inputFluids(Fluid.of('tfg:latex', 1000)) event.recipes.gtceu.fluid_solidifier('tfg:fluid_solidifier/pitch_to_sticky_resin') .duration(12 * 20) - .EUt(30) + .EUt(16) .itemInputs('tfc:powder/wood_ash') - .itemOutputs('gtceu:sticky_resin') + .itemOutputs('2x gtceu:sticky_resin') .inputFluids(Fluid.of('tfg:conifer_pitch', 1000)) - + + // Rubber + event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:rubber', 144), '#forge:dusts/rubber') + .heated() + .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/vacuumizing/rubber') + // Rubber Processing Line + event.recipes.tfc.pot('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000), 1200, 300) + .fluidOutput(Fluid.of('tfg:vulcanized_latex', 1000)) + .id('tfg:pot/vulcanized_latex') + event.recipes.firmalife.vat() .inputs('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000)) .outputFluid(Fluid.of('tfg:vulcanized_latex', 1000)) @@ -86,10 +135,6 @@ function registerTFGRubberRecipes(event) { .temperature(300) .id('tfg:vat/vulcanized_latex') - event.recipes.tfc.pot('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000), 1200, 300) - .fluidOutput(Fluid.of('tfg:vulcanized_latex', 1000)) - .id('tfg:pot/vulcanized_latex') - event.recipes.gtceu.chemical_reactor('tfg:latex_to_vulcanized_latex') .duration(100) .EUt(20) @@ -97,6 +142,12 @@ function registerTFGRubberRecipes(event) { .inputFluids(Fluid.of('tfg:latex', 1000)) .outputFluids(Fluid.of('tfg:vulcanized_latex', 1000)) + // Raw rubber pulp + event.recipes.vintageimprovements.pressurizing('#forge:dusts/raw_rubber', Fluid.of('tfg:vulcanized_latex', 250)) + .heated() + .processingTime(60 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/pressurizing/vulcanized_latex_to_raw_rubber') + event.recipes.gtceu.fluid_solidifier('tfg:vulcanized_latex_to_raw_rubber_pulp') .duration(100) .EUt(20) @@ -127,7 +178,7 @@ function registerTFGRubberRecipes(event) { .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.chemical_reactor(`tfg:treat_latex_plants_into_latex`) - .itemInputs('16x #tfg:rubber_plants', 'gtceu:tiny_sodium_hydroxide_dust') + .itemInputs('10x #tfg:rubber_plants', 'gtceu:tiny_sodium_hydroxide_dust') .circuit(1) .outputFluids(Fluid.of('tfg:latex', 1000)) .duration(200) diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index 300ca2bfb..be452a79f 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -529,34 +529,6 @@ function registerVintageImprovementsRecipes(event) { .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) .id('tfg:vi/pressurizing/glue_solidifying') - event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:rubber', 144), '#forge:dusts/rubber') - .heated() - .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) - .id('tfg:vi/vacuumizing/rubber') - - // Vaccuming rubber wood stuff for latex - event.recipes.vintageimprovements.vacuumizing(Fluid.of('tfg:latex', 100), '#tfg:latex_logs') - .processingTime(300 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) - .id('tfg:vi/vacuumizing/latex_from_rubber_logs') - - event.recipes.vintageimprovements.vacuumizing(Fluid.of('tfg:latex', 25), '#tfg:rubber_saplings') - .processingTime(150 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) - .id('tfg:vi/vacuumizing/latex_from_rubber_sapling') - - event.recipes.vintageimprovements.vacuumizing(Fluid.of('tfg:latex', 10), '#tfg:rubber_leaves') - .processingTime(75 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) - .id('tfg:vi/vacuumizing/latex_from_rubber_leaves') - - event.recipes.vintageimprovements.vacuumizing(Fluid.of('tfg:latex', 50), ['#tfg:rubber_plants', 'tfc:powder/soda_ash', Fluid.of('tfc:salt_water', 50)]) - .heated() - .processingTime(20 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) - .id('tfg:vi/vacuumizing/latex_from_rubber_plants') - - // Vulc. latex to raw rubber pulp - event.recipes.vintageimprovements.pressurizing('#forge:dusts/raw_rubber', Fluid.of('tfg:vulcanized_latex', 250)) - .heated() - .processingTime(60 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) - .id('tfg:vi/pressurizing/vulcanized_latex_to_raw_rubber') // Seed oils event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:seed_oil', 350), 'tfg:sunflower_product') From c3d2b5df649969e79aea864a86c9ce768b3622f9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 20 Jan 2026 12:54:47 +0000 Subject: [PATCH 161/474] quartz autoclave consistency --- kubejs/server_scripts/tfg/natural_blocks/recipes.sand.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.sand.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.sand.js index 01760bc28..940dfcae1 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.sand.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.sand.js @@ -170,7 +170,7 @@ function registerTFGSandRecipes(event) { event.recipes.gtceu.autoclave('tfg:quartz_sand_autoclave') .itemInputs('gtceu:quartz_sand_dust') - .inputFluids(Fluid.of('minecraft:water', 250)) + .inputFluids(Fluid.of('gtceu:distilled_water', 250)) .chancedOutput('gtceu:quartzite_gem', 4500, 0) .duration(60 * 20) .EUt(GTValues.VA[GTValues.LV]) From 22c8035b714f5658bf9249177ff83b149011ce1c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 20 Jan 2026 15:00:02 +0000 Subject: [PATCH 162/474] langs --- kubejs/assets/ad_astra/lang/zh_cn.json | 2 +- kubejs/assets/minecraft/lang/zh_cn.json | 1 + kubejs/assets/tfg/lang/zh_cn.json | 89 ++++++++++++++++++++++--- 3 files changed, 80 insertions(+), 12 deletions(-) diff --git a/kubejs/assets/ad_astra/lang/zh_cn.json b/kubejs/assets/ad_astra/lang/zh_cn.json index 4a3bc05f8..dd85057f4 100644 --- a/kubejs/assets/ad_astra/lang/zh_cn.json +++ b/kubejs/assets/ad_astra/lang/zh_cn.json @@ -2,7 +2,7 @@ "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.ad_astra.oxygen_distributor": "可呼吸空气分配器", "block.ad_astra.infernal_spire_block": "炼狱尖刺", - "block.ad_astra.moon_sand": "月沙", + "block.ad_astra.moon_sand": "灰沙", "block.ad_astra.moon_stone": "天然斜长岩", "block.ad_astra.moon_cobblestone": "斜长岩圆石", "block.ad_astra.moon_cobblestone_slab": "斜长岩圆石台阶", diff --git a/kubejs/assets/minecraft/lang/zh_cn.json b/kubejs/assets/minecraft/lang/zh_cn.json index 2e7e390a7..9249a8440 100644 --- a/kubejs/assets/minecraft/lang/zh_cn.json +++ b/kubejs/assets/minecraft/lang/zh_cn.json @@ -100,6 +100,7 @@ "item.minecraft.glow_ink_sac": "荧光染料", "item.minecraft.nether_brick": "角斑岩砖", "item.minecraft.furnace_minecart": "动力矿车", + "item.minecraft.milk_bucket": "牛奶桶", "material.tfg.dripstone": "石灰华", "death.attack.magic": "%1$s 被毒死了", "death.attack.magic.player": "%1$s在试图逃离%2$s时被毒死了" diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index a3dfa089a..3e228a053 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -437,6 +437,76 @@ "block.tfg.loose.red_granite": "红色花岗岩石子", "block.tfg.spike.red_granite_spike": "红色花岗岩尖刺", "block.tfg.rock.aqueduct_red_granite": "红花岗岩引水桥", + "block.tfg.rock.sandy_jadestone_stairs": "天然煌斑岩楼梯", + "block.tfg.rock.sandy_jadestone_slab": "天然煌斑岩台阶", + "block.tfg.rock.sandy_jadestone_wall": "天然煌斑岩墙", + "block.tfg.rock.hardened_sandy_jadestone": "硬化煌斑岩", + "block.tfg.spike.sandy_jadestone_spike": "煌斑岩尖刺", + "block.tfg.sandy_jadestone_support": "煌斑岩支撑梁", + "block.tfg.rock.cobble_sandy_jadestone": "煌斑岩圆石", + "block.tfg.rock.cobble_sandy_jadestone_stairs": "煌斑岩圆石楼梯", + "block.tfg.rock.cobble_sandy_jadestone_slab": "煌斑岩圆石台阶", + "block.tfg.rock.cobble_sandy_jadestone_wall": "煌斑岩圆石墙", + "block.tfg.rock.gravel_sandy_jadestone": "煌斑岩沙砾", + "block.tfg.rock.aqueduct_sandy_jadestone": "煌斑岩引水桥", + "block.tfg.rock.bricks_sandy_jadestone_stairs": "煌斑岩砖楼梯", + "block.tfg.rock.bricks_sandy_jadestone_slab": "煌斑岩砖台阶", + "block.tfg.rock.bricks_sandy_jadestone_wall": "煌斑岩砖墙", + "block.tfg.rock.polished_sandy_jadestone_stairs": "磨制煌斑岩楼梯", + "block.tfg.rock.polished_sandy_jadestone_slab": "磨制煌斑岩台阶", + "block.tfg.rock.polished_sandy_jadestone_wall": "磨制煌斑岩墙", + "block.tfg.rock.chiseled_sandy_jadestone_stairs": "煌斑岩瓦楼梯", + "block.tfg.rock.chiseled_sandy_jadestone_slab": "煌斑岩瓦台阶", + "block.tfg.rock.chiseled_sandy_jadestone_wall": "煌斑岩瓦墙", + "block.tfg.loose.sandy_jadestone": "煌斑岩石子", + "block.tfg.rock.flavolite_stairs": "天然熔灰岩楼梯", + "block.tfg.rock.flavolite_slab": "天然熔灰岩台阶", + "block.tfg.rock.flavolite_wall": "天然熔灰岩墙", + "block.tfg.rock.hardened_flavolite": "硬化熔灰岩", + "block.tfg.spike.flavolite_spike": "熔灰岩尖刺", + "block.tfg.flavolite_support": "熔灰岩支撑梁", + "block.tfg.rock.cobble_flavolite": "熔灰岩圆石", + "block.tfg.rock.cobble_flavolite_stairs": "熔灰岩圆石楼梯", + "block.tfg.rock.cobble_flavolite_slab": "熔灰岩圆石台阶", + "block.tfg.rock.cobble_flavolite_wall": "熔灰岩圆石墙", + "block.tfg.rock.gravel_flavolite": "熔灰岩沙砾", + "block.tfg.rock.aqueduct_flavolite": "熔灰岩引水桥", + "block.tfg.rock.bricks_flavolite_stairs": "熔灰岩砖楼梯", + "block.tfg.rock.bricks_flavolite_slab": "熔灰岩砖台阶", + "block.tfg.rock.bricks_flavolite_wall": "熔灰岩砖墙", + "block.tfg.rock.polished_flavolite_stairs": "磨制熔灰岩楼梯", + "block.tfg.rock.polished_flavolite_slab": "磨制熔灰岩台阶", + "block.tfg.rock.polished_flavolite_wall": "磨制熔灰岩墙", + "block.tfg.rock.chiseled_flavolite_stairs": "熔灰岩瓦楼梯", + "block.tfg.rock.chiseled_flavolite_slab": "熔灰岩瓦台阶", + "block.tfg.rock.chiseled_flavolite_wall": "熔灰岩瓦墙", + "block.tfg.loose.flavolite": "熔灰岩石子", + "block.tfg.rock.scoria_stairs": "天然熔渣楼梯", + "block.tfg.rock.scoria_slab": "天然熔渣台阶", + "block.tfg.rock.scoria_wall": "天然熔渣墙", + "block.tfg.rock.hardened_scoria": "硬化熔渣", + "block.tfg.spike.scoria_spike": "熔渣尖刺", + "block.tfg.scoria_support": "熔渣支撑梁", + "block.tfg.rock.cobble_scoria": "熔渣圆石", + "block.tfg.rock.cobble_scoria_stairs": "熔渣圆石楼梯", + "block.tfg.rock.cobble_scoria_slab": "熔渣圆石台阶", + "block.tfg.rock.cobble_scoria_wall": "熔渣圆石墙", + "block.tfg.rock.gravel_scoria": "熔渣沙砾", + "block.tfg.rock.aqueduct_scoria": "熔渣引水桥", + "block.tfg.loose.scoria": "熔渣石子", + "block.tfg.rock.scorchia_stairs": "天然焦黑熔渣楼梯", + "block.tfg.rock.scorchia_slab": "天然焦黑熔渣台阶", + "block.tfg.rock.scorchia_wall": "天然焦黑熔渣墙", + "block.tfg.rock.hardened_scorchia": "硬化焦黑熔渣", + "block.tfg.spike.scorchia_spike": "焦黑熔渣尖刺", + "block.tfg.scorchia_support": "焦黑熔渣支撑梁", + "block.tfg.rock.cobble_scorchia": "焦黑熔渣圆石", + "block.tfg.rock.cobble_scorchia_stairs": "焦黑熔渣圆石楼梯", + "block.tfg.rock.cobble_scorchia_slab": "焦黑熔渣圆石台阶", + "block.tfg.rock.cobble_scorchia_wall": "焦黑熔渣圆石墙", + "block.tfg.rock.gravel_scorchia": "焦黑熔渣沙砾", + "block.tfg.rock.aqueduct_scorchia": "焦黑熔渣引水桥", + "block.tfg.loose.scorchia": "焦黑熔渣石子", "block.tfg.rock.stone_wall": "再生石墙", "block.tfg.rock.smooth_stone_stairs": "磨制再生石楼梯", "block.tfg.rock.smooth_stone_wall": "磨制再生石墙", @@ -900,22 +970,18 @@ "item.tfg.unfinished_inscriber_accumulation_press": "未完成的累积压印模板", "item.tfg.brick.deepslate": "混合岩砖", "item.tfg.brick.dripstone": "石灰华砖", - "item.tfg.loose.moon_stone": "松散斜长岩", "item.tfg.brick.moon_stone": "斜长岩砖", - "item.tfg.loose.moon_deepslate": "松散苏长岩", "item.tfg.brick.moon_deepslate": "苏长岩砖", - "item.tfg.loose.mars_stone": "松散泥板岩", "item.tfg.brick.mars_stone": "泥板岩砖", - "item.tfg.loose.venus_stone": "松散粗面岩", "item.tfg.brick.venus_stone": "粗面岩砖", - "item.tfg.loose.mercury_stone": "松散科马提岩", "item.tfg.brick.mercury_stone": "科马提岩砖", - "item.tfg.loose.glacio_stone": "松散响岩", "item.tfg.brick.glacio_stone": "响岩砖", - "item.tfg.loose.permafrost": "冻土块", "item.tfg.brick.permafrost": "冻土砖", - "item.tfg.loose.red_granite": "松散红色花岗岩", "item.tfg.brick.red_granite": "红色花岗岩砖", + "item.tfg.brick.sandy_jadestone": "煌斑岩砖", + "item.tfg.brick.flavolite": "熔灰岩砖", + "item.tfg.brick.scoria": "熔渣砖", + "item.tfg.brick.scorchia": "焦黑熔渣砖", "item.tfg.terra_firma_greg": "群峦传说格雷科技", "item.tfg.scaffolding_frame": "脚手架框架", "item.tfg.airship_hull": "飞艇机身", @@ -2480,7 +2546,7 @@ "quests.extreme_voltage.radiation.task": "安全第一!", "quests.extreme_voltage.hexafluorosilic_acid.title": "六氟硅酸", "quests.extreme_voltage.hexafluorosilic_acid.subtitle": "水里有点东西……", - "quests.extreme_voltage.hexafluorosilic_acid.desc": "六氟硅酸是通过将红花岗岩、粗面岩或泥板岩粉末浸泡在氢氟酸中获得的。你可以用碎岩机无限获得这种粉末。", + "quests.extreme_voltage.hexafluorosilic_acid.desc": "六氟硅酸是通过将赭金砂粉浸泡在氢氟酸中获得的。你可以用碎岩机无限获得这种粉末。", "quests.extreme_voltage.martian_sludge.title": "火星浆液", "quests.extreme_voltage.martian_sludge.subtitle": "污水产线", "quests.extreme_voltage.martian_sludge.desc": "对六氟硅酸进行离心处理可回收氟,同时获得&6火星浆液&r——这是制备氡气与核废料的必需材料。", @@ -2876,7 +2942,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与&7碳粉&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": "三个火枪手", @@ -3387,7 +3453,7 @@ "quests.medium_voltage.mv_energy_hatch.desc": "一个&7LV&r电池箱与两个&7LV&r能源仓可能不再够用了。让我们来补救一下!\n\n为电力高炉安装&3MV能源仓&r进行升级。现在你可以用&bMV&r发电机驱动它,无需再折腾&3变压器&r了。", "quests.medium_voltage.mv_kanthal_coil.title": "坎塔尔合金线圈", "quests.medium_voltage.mv_kanthal_coil.subtitle": "这里变热了吗?", - "quests.medium_voltage.mv_kanthal_coil.desc": "&3坎塔尔合金加热线圈&r是接下来的重大进展步骤。它们能将你的&3电力高炉&r工作温度提升至&d2,700K&r,从而允许你处理新材料。同时还能&e加速&r较低温度配方的处理——具体效果请查阅左上角&a能源&r章节。\n\n请注意&c不能&r在电力高炉中混合使用不同类型的线圈。", + "quests.medium_voltage.mv_kanthal_coil.desc": "&3坎塔尔合金加热线圈&r是接下来的重大进展步骤。它们能将你的&3电力高炉&r工作温度提升至&d2,700K&r,从而允许你处理新材料。同时还能&e加速&r较低温度配方的处理——具体效果请查阅左上角&a格雷科技能量&r章节关于电力高炉完美超频机制的说明。\n\n请注意&c不能&r在电力高炉中混合使用不同类型的线圈。", "quests.medium_voltage.mv_kanthal_ingot.title": "坎塔尔合金", "quests.medium_voltage.mv_kanthal_ingot.subtitle": "这个很热", "quests.medium_voltage.mv_kanthal_ingot.desc.1": "天哪,128个锭!这得用多少&c坎塔尔合金&r啊……还有这个&c热锭&r到底是什么玩意?&c没错,又来了!&r\n\n这里涉及到&a群峦传说&r中你应该还记得的机制——毕竟也没过去多久,对吧?\n\n&c热锭&r会&c烫伤你&r,如果你随身携带却没有使用钳子来夹取的话……\n\n而且与&a群峦传说&r不同的是,&c它们不会自然冷却&r!你需要主动&c冷却&r它们。", @@ -4969,6 +5035,7 @@ "quests.tfg_tips.cellar_blocks.title": "地窖存储", "quests.tfg_tips.cellar_blocks.subtitle": "存放食物的容器", "quests.tfg_tips.cellar_blocks.desc": "&b食物架&r可用于储存几乎所有类型的食物。&b悬挂架&r则专门用于存放&a肉类&r和&a大蒜&r。存放在这些设备中的食物会获得比&d大缸&r更强大的保存效果。", + "quests.tfg_tips.cellar_blocks.task": "任何食物架或悬挂架", "quests.tfg_tips.beneath.title": "幽冥之地", "quests.tfg_tips.beneath.subtitle": "地心游记", "quests.tfg_tips.beneath.desc": "在深邃、无比深邃的地底,穿越&d基岩&r之后,你将发现&4幽冥之地&r——一个由巨大洞窟构成的错综网络,其中充满了危险与奇特的动植物。虽然探索&4幽冥之地&r完全可选,但这里蕴藏着大量资源以及一些能够改善生存体验的便利设施。", From 2d4ec6145c68692342131fe5a6b5c7453717c005 Mon Sep 17 00:00:00 2001 From: Mqrius Date: Tue, 20 Jan 2026 16:06:15 +0100 Subject: [PATCH 163/474] Include player config in backup Signed-off-by: Mqrius --- config/ftbbackups2.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/config/ftbbackups2.json b/config/ftbbackups2.json index ab2c179ee..84714db74 100644 --- a/config/ftbbackups2.json +++ b/config/ftbbackups2.json @@ -46,7 +46,11 @@ *path/ends/with.txt Any files who's path ends with *path/contains* Any files who's path contains */ - "additional_files": [], + "additional_files": [ + "/cherishedworlds-favorites.dat", + "/emi.json", + "/options.txt" + ], // Display file size in backup message "display_file_size": false, // backup location From 047c82ee13804fa6cf56b8a37a873a0b554e982b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 20 Jan 2026 16:09:55 +0000 Subject: [PATCH 164/474] 0.11.17 --- CHANGELOG.md | 11 +++++-- config/crash_assistant/modlist.json | 10 +++--- kubejs/startup_scripts/greate/constants.js | 2 ++ pakku-lock.json | 36 +++++++++++----------- 4 files changed, 33 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c503ee8b..418a94e5c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,16 @@ # Changelog ## Unreleased +### Changes +### Bug fixes + +## [0.11.17] - 20-01-2026 ### Important note - Due to a config file error, the automatic hourly backup has not been running since 0.11.15. So before you update make sure to make a copy of your world in case anything goes wrong! This is generally good advice but extra important right now. ### Breaking changes -- The steam thermal centrifuge now requires a maintenance hatch. It also now requires 480mB steam per tick instead of 64mb, equivalent to how much 8 LV thermal centrifuges would use. It also now only takes 20 seconds instead of 30. It also now actually outputs byproducts like it was supposed to. @Pyritie -- Single block steam generators are now more expensive to craft, so there isn't such a huge gap between steam, gas, and combustion generators @TomPlop -- A lot of backend code has been cleaned up and refactored, so there may be duplicate, missing, or incorrect recipes. If you find any, please report them in [our github](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/issues)! +- The steam thermal centrifuge now requires a maintenance hatch. It also now requires 480mB steam per tick instead of 64mb, equivalent to how much 8 LV thermal centrifuges would use. It also also now only takes 20 seconds instead of 30. It also also also now actually outputs byproducts like it was supposed to. @Pyritie +- Single block steam generators are now more expensive to craft, so there isn't such a huge gap between steam, gas, and combustion generators. @TomPlop +- A lot of backend code has been cleaned up and refactored, so there may be duplicate, missing, or incorrect recipes. If you find any, please report them in [our github](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/issues)! @Pyritie ### Electric Greenhouse - The Electric Greenhouse multiblock has completely changed. It's significantly shorter and slightly narrower too. You can still grow the same things in it, but it no longer has Perfect Overclocking. Instead, it's stronger in LV but starts getting weaker in HV+. @Redeix - There's a new IV variant (Hydroponics Facility) which supports parallel hatches and can do any recipe on any planet. @Redeix @@ -55,6 +59,7 @@ - Anthracite can now be used as boiler fuel with the same duration as Coke @Pyritie - Added more grain options for soup (#2785) @Pyritie - Added a mechanical mixer recipe for crafting sticky resin (#2693) @JeanRdSz +- Framed blocks that have been made "glowing" by right-clicking them with glowstone dust, now only emit a little bit of light @Pyritie ### Bug fixes - Fixed not being able to craft Paracetamol or Rad-Away @Pyritie - Fixed the missing dried fruit to yeast starter recipe (#2673) @Mqrius diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index 6f6c06f41..531b8217d 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -1395,12 +1395,12 @@ "curseForgeHash": 2679626739, "modrinthHash": "ea725f5bed9662aa22d4ec089a009bd52fb82275" }, - "TerraFirmaGreg-Core-Modern-0.8.16.jar": { - "jarName": "TerraFirmaGreg-Core-Modern-0.8.16.jar", + "TerraFirmaGreg-Core-Modern-0.8.17.jar": { + "jarName": "TerraFirmaGreg-Core-Modern-0.8.17.jar", "modId": "tfg", - "version": "0.8.16", - "curseForgeHash": 3476030057, - "modrinthHash": "579985f43bb52665b669250e4073832cbe95027f" + "version": "0.8.17", + "curseForgeHash": 2296143699, + "modrinthHash": "8a92b1d2a0a88eb0d7ffdfcdab93b0fb31e2e312" }, "tfc_gurman-1.3.0.jar": { "jarName": "tfc_gurman-1.3.0.jar", diff --git a/kubejs/startup_scripts/greate/constants.js b/kubejs/startup_scripts/greate/constants.js index 7259a3d08..c0e4eaf7c 100644 --- a/kubejs/startup_scripts/greate/constants.js +++ b/kubejs/startup_scripts/greate/constants.js @@ -115,6 +115,8 @@ global.GREATE_DISABLED_ITEMS = /** @type {const} */ ([ "greate:neutronium_vertical_gearbox", // Adding these here because they're greate's fault + "create:andesite_alloy", + "create:andesite_alloy_block", "greate:andesite_alloy_bucket", "greate:andesite_alloy_ring", "greate:tiny_andesite_alloy_dust", diff --git a/pakku-lock.json b/pakku-lock.json index bccfc3f79..f16d62b50 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -14045,7 +14045,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.16.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.17.jar", "mc_versions": [ "1.20.1" ], @@ -14054,23 +14054,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/t6PH6FL4/TerraFirmaGreg-Core-Modern-0.8.16.jar", - "id": "t6PH6FL4", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/ddL8gH3n/TerraFirmaGreg-Core-Modern-0.8.17.jar", + "id": "ddL8gH3n", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "5e274236f4d28e53ae739302815da365c78f984122df2f7932c2223ee31b097b9d087731849d510e7a8e66dd49f04c1ffbb40565f84d3908c1d215b28c679d17", - "sha1": "579985f43bb52665b669250e4073832cbe95027f" + "sha512": "e94af5ba14173453d2193f6c2d5d38e8718089a49cbbd0d179ac35426f66aa2994567b4a83e834fc214af92a1c2168f08915e7ed111bb89d0beb52b51e02b8d0", + "sha1": "8a92b1d2a0a88eb0d7ffdfcdab93b0fb31e2e312" }, "required_dependencies": [ - "7tG215v7", - "JaCEZUhg" + "JaCEZUhg", + "7tG215v7" ], - "size": 9461058, - "date_published": "2026-01-20T11:05:54.521015Z" + "size": 9460832, + "date_published": "2026-01-20T15:49:12.042661Z" }, { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.16.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.17.jar", "mc_versions": [ "1.20.1" ], @@ -14079,19 +14079,19 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7493/717/TerraFirmaGreg-Core-Modern-0.8.16.jar", - "id": "7493717", + "url": "https://edge.forgecdn.net/files/7494/761/TerraFirmaGreg-Core-Modern-0.8.17.jar", + "id": "7494761", "parent_id": "513402", "hashes": { - "sha1": "579985f43bb52665b669250e4073832cbe95027f", - "md5": "e158c8a6551a688142edd006ae4a7aa8" + "sha1": "8a92b1d2a0a88eb0d7ffdfcdab93b0fb31e2e312", + "md5": "cd491082cfcd037400291a39c466b4c5" }, "required_dependencies": [ - "302973", - "890405" + "890405", + "302973" ], - "size": 9461058, - "date_published": "2026-01-20T11:05:50.520Z" + "size": 9460832, + "date_published": "2026-01-20T15:49:06.947Z" } ] }, From dcd5e8be5fbc60e004b8b7ff46782fb805e5521d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 20 Jan 2026 16:12:21 +0000 Subject: [PATCH 165/474] fix timing with forming press compared to bender --- .../server_scripts/tfg/ores_and_materials/recipes.materials.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js index eaaad9b3a..d90ff63b8 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js @@ -206,7 +206,7 @@ function addMaterialWelding(event, outputItem, inputItem1, inputItem2, material, event.recipes.gtceu.forming_press(`tfg:${id}`) .itemInputs(inputItem1, inputItem2, 'tfc:powder/flux') .itemOutputs(outputItem) - .duration(material.getMass()) + .duration(material.getMass() * 2) .EUt(GTValues.VA[compactingTier]); } From d81acf54c49eb3301f8bdc26139a9f559c70ecbc Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 20 Jan 2026 16:24:54 +0000 Subject: [PATCH 166/474] don't know. I think it was an accident --- .gitignore | 1 + crowdin.yml | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) delete mode 100644 crowdin.yml diff --git a/.gitignore b/.gitignore index 6237e42b1..8a5d7d8da 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ package-lock.json node_modules/ Modpack-Modern.sln Modpack-Modern.esproj +crowdin.yml # Pakku build/ diff --git a/crowdin.yml b/crowdin.yml deleted file mode 100644 index da031c463..000000000 --- a/crowdin.yml +++ /dev/null @@ -1,3 +0,0 @@ -files: - - source: kubejs/assets/tfc/patchouli_books/field_guide/en_us - translation: lang From 4b35eef96c3d514ad07c751363c6dc156e9ecef1 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 20 Jan 2026 16:52:14 +0000 Subject: [PATCH 167/474] move pakku back to release so I don't forget. Also sorry for forgetting your spanish credit, niko --- CHANGELOG.md | 2 ++ pakku.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 418a94e5c..393a80683 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ ## Unreleased ### Changes ### Bug fixes +### Translation updates +- Spanish @NikoNeko17 ## [0.11.17] - 20-01-2026 ### Important note diff --git a/pakku.json b/pakku.json index 43a9b4924..faf8a0638 100644 --- a/pakku.json +++ b/pakku.json @@ -1,7 +1,7 @@ { "name": "TerraFirmaGreg-Modern", "version": "DEV", - "release_type": "beta", + "release_type": "release", "description": "An innovative modpack that contains GregTech and TerraFirmaCraft on 1.20.x.", "author": "Exception, Xikaro", "overrides": [ From c70fe1c1eade4288627a9f4ec4b2eb0d0b10acc0 Mon Sep 17 00:00:00 2001 From: Mqrius Date: Wed, 21 Jan 2026 00:36:22 +0100 Subject: [PATCH 168/474] Fix waves beach block deposits config Set to 1000 instead of the default 100. Either would be better than the current value of 1, which is a 100% chance of blocks. Signed-off-by: Mqrius --- config/waves-common.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/waves-common.toml b/config/waves-common.toml index 0d1ff05d7..b15c7359e 100644 --- a/config/waves-common.toml +++ b/config/waves-common.toml @@ -25,7 +25,7 @@ waveSpawnDistanceFromShoreMin = 4.0 waveSpriteCount = 5 #How great should the chance for waves to deposit blocks be? Lower value = higher chance. #Range: > 1 -waveBlockDepositChance = 1 +waveBlockDepositChance = 1000 #How often the waves should make a sound. Higher value = rarer. #Range: > 0 waveBreakingSoundChance = 50 From 103a7fd6f773325a81f95e7aac020f5aff235b63 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Jan 2026 23:48:09 +0000 Subject: [PATCH 169/474] Bump actions/cache from 5.0.1 to 5.0.2 in the dependencies group (#2784) Bumps the dependencies group with 1 update: [actions/cache](https://github.com/actions/cache). Updates `actions/cache` from 5.0.1 to 5.0.2 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v5.0.1...v5.0.2) --- updated-dependencies: - dependency-name: actions/cache dependency-version: 5.0.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 403e6d204..0b2db7eee 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -347,7 +347,7 @@ jobs: sed -i -e "s/MINECRAFT_VERSION/${MINECRAFT_VERSION}/g" .pakku/docker-overrides/docker-compose.yml - name: 📝 Cache Pakku - uses: actions/cache@v5.0.1 + uses: actions/cache@v5.0.2 id: cache with: path: build/.cache From 682788970cdd72529de7d0dfc92748a649c4a639 Mon Sep 17 00:00:00 2001 From: Redeix Date: Wed, 21 Jan 2026 00:35:11 -0600 Subject: [PATCH 170/474] pisciculture rebalance --- .../tfg/aquaponics/recipes.pisciculture.js | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js index ff4796d28..3de8ac17f 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js @@ -25,10 +25,10 @@ const pisciculture_base_duration = Math.max(1, greenhouse_base_duration * greenh /** @type {DimensionIndex[]} - Dimension settings array */ const pisciculture_dimension_index = [ // Overworld settings are also used as the default when no dimension is specified. - {id: 'minecraft:overworld', fluid: '#tfg:clean_water', fluid_chance: 15, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true}, - {id: 'minecraft:the_nether', fluid: '#tfg:clean_water', fluid_chance: 15, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true}, + {id: 'minecraft:overworld', fluid: '#tfg:clean_water', fluid_chance: 10, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true}, + {id: 'minecraft:the_nether', fluid: '#tfg:clean_water', fluid_chance: 10, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true}, // The moon has no fish yet :( - {id: 'ad_astra:mars', fluid: 'tfg:semiheavy_ammoniacal_water', fluid_chance: 15, fluid_out: 'tfg:nitrate_rich_semiheavy_ammoniacal_water', eut: GTValues.VA[GTValues.HV], oxygenated: null} + {id: 'ad_astra:mars', fluid: 'tfg:semiheavy_ammoniacal_water', fluid_chance: 10, fluid_out: 'tfg:nitrate_rich_semiheavy_ammoniacal_water', eut: GTValues.VA[GTValues.HV], oxygenated: null} ]; //#endregion @@ -48,11 +48,22 @@ const pisciculture_dimension_index = [ function generatePiscicultureRecipe(event, dimension, input, output, id) { // Resolve dimension based modifier defaults by comparing to the `pisciculture_dimension_index` array. + /** @type {DimensionIndex|null} */ const dimMods = dimension ? pisciculture_dimension_index.find(d => d.id === dimension) : null; + + /** @type {Internal.FluidStackIngredient_} - Resolved fluid ID or tag. Defaults to `#tfg:clean_water` */ const resolvedFluid = dimMods?.fluid ?? '#tfg:clean_water'; + + /** @type {Internal.FluidStackIngredient_} - Resolved aquaponic loop fluid ID or tag. Defaults to `tfg:nitrate_rich_water` */ const resolvedFluidOut = dimMods?.fluid_out ?? 'tfg:nitrate_rich_water'; + + /** @type {GTValues.EUt} - Resolved EUt value. Defaults to LV EUt. */ const resolvedEUt = dimMods ? dimMods.eut : GTValues.VA[GTValues.LV]; - const resolvedChance = dimMods ? (dimMods.fluid_chance * 100) : 5000; + + /** @type {number} - Resolved fluid chance multiplied by 100. Defaults to 1000. */ + const resolvedChance = dimMods ? (dimMods.fluid_chance * 100) : 1000; + + /** @type {boolean|null} - Whether the recipe requires an oxygenated environment. Defaults to true. */ const requiresOxygen = dimMods ? dimMods.oxygenated : true; // Collect errors. @@ -76,8 +87,8 @@ const pisciculture_dimension_index = [ let a = event.recipes.gtceu.pisciculture_fishery(`tfg:${id}`) .itemInputs(input) .perTick(true) - .chancedFluidInput(`${resolvedFluid} 5`, resolvedChance, 0) - .chancedFluidOutput(`${resolvedFluidOut} 5`, resolvedChance, 0) + .chancedFluidInput(`${resolvedFluid} 8`, resolvedChance, 0) + .chancedFluidOutput(`${resolvedFluidOut} 8`, resolvedChance, 0) .perTick(false) .itemOutputs(output) .duration(pisciculture_base_duration) From d680aa3e8c78fcb9c6ecedd4ad8146b0edf19c0f Mon Sep 17 00:00:00 2001 From: Redeix Date: Wed, 21 Jan 2026 00:40:21 -0600 Subject: [PATCH 171/474] changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 393a80683..0885c0198 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,12 @@ # Changelog ## Unreleased +### Important note +- OC has been fixed on the Pisciculture Fishery and Hydroponics Facility. You will have to break and replace the machine for the fix to take effect. ### Changes +- Fixed balancing issues with the Aquaponics Loop. @Redeix ### Bug fixes +- Fixed a bug preventing the Pisciculture Fishery and Hydroponics Facility from overclocking. @Redeix ### Translation updates - Spanish @NikoNeko17 From 6382aab842cd7061ef6d3c7015c36c0feaa48325 Mon Sep 17 00:00:00 2001 From: Mqrius Date: Wed, 21 Jan 2026 09:12:04 +0100 Subject: [PATCH 172/474] Update CHANGELOG.md waves config Signed-off-by: Mqrius --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0885c0198..a4861c90c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ ### Changes - Fixed balancing issues with the Aquaponics Loop. @Redeix ### Bug fixes +- Fixed a config bug causing waves to deposit shells with 100% chance. @Mqrius - Fixed a bug preventing the Pisciculture Fishery and Hydroponics Facility from overclocking. @Redeix ### Translation updates - Spanish @NikoNeko17 From 2ef32a6fe0afdf9df4a5642479579855326fd32b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 21 Jan 2026 13:31:12 +0000 Subject: [PATCH 173/474] update changelog --- CHANGELOG.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a4861c90c..16923cd3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,10 +3,18 @@ ## Unreleased ### Important note - OC has been fixed on the Pisciculture Fishery and Hydroponics Facility. You will have to break and replace the machine for the fix to take effect. +### Breaking changes we forgot to write last time +- Water wheels now *require* flowing water to work correctly. So you can't just put them in a lake, but you can make little flows off the side of it or use aqueducts and those should work. +#### Stone dusts and other rock-related changes +- Individual stone dusts for each rock type have been removed, instead being replaced with more general dusts based on rock composition. The centrifuging recipes have also been removed, though we plan on using these for something else later. +- Marble/chalk dust has been replaced with Carbonate Sedimentary dust in concrete-related recipes +- The Moon Sand in the Regolith Vapor recipe has been replaced with Asurine Dust (renewable via Rock Breaker) +- The Mars rock dusts in the Hexafluorosilic Acid recipe has been replaced with Ochrum Dust (renewable via Rock Breaker) +- Other recipe and tag unifications for consistency, like all cobbles should landslide, all slabs should be craftable the same way, etc ### Changes - Fixed balancing issues with the Aquaponics Loop. @Redeix ### Bug fixes -- Fixed a config bug causing waves to deposit shells with 100% chance. @Mqrius +- Fixed a config bug causing waves to deposit shells etc with 100% chance. @Mqrius - Fixed a bug preventing the Pisciculture Fishery and Hydroponics Facility from overclocking. @Redeix ### Translation updates - Spanish @NikoNeko17 From efb87cfb148c6a9273151a1518138fd64859f774 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 21 Jan 2026 20:32:53 +0000 Subject: [PATCH 174/474] fixed geodes causing collapses --- .../earth/geode/amethyst.json | 69 ++++++------------- .../earth/geode/barite.json | 44 ++++++------ .../earth/geode/calcite.json | 44 ++++++------ .../earth/geode/gypsum.json | 44 ++++++------ .../configured_feature/earth/geode/opal.json | 44 ++++++------ .../earth/geode/pyrite.json | 44 ++++++------ .../earth/geode/quartzite.json | 46 ++++++------- 7 files changed, 155 insertions(+), 180 deletions(-) diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/amethyst.json b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/amethyst.json index 075477e93..7c1c97c74 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/amethyst.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/amethyst.json @@ -2,17 +2,10 @@ "type": "minecraft:geode", "config": { "blocks": { - "alternate_inner_layer_provider": { - "type": "minecraft:simple_state_provider", - "state": { - "Name": "minecraft:amethyst_block" - } - }, - "cannot_replace": "#minecraft:features_cannot_replace", "filling_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "minecraft:air" + "Name": "gtceu:raw_amethyst_block" } }, "inner_layer_provider": { @@ -21,41 +14,16 @@ "Name": "gtceu:quartzite_amethyst_ore" } }, - "inner_placements": [ - { - "Name": "minecraft:small_amethyst_bud", - "Properties": { - "facing": "up", - "waterlogged": "false" - } - }, - { - "Name": "minecraft:medium_amethyst_bud", - "Properties": { - "facing": "up", - "waterlogged": "false" - } - }, - { - "Name": "minecraft:large_amethyst_bud", - "Properties": { - "facing": "up", - "waterlogged": "false" - } - }, - { - "Name": "minecraft:amethyst_cluster", - "Properties": { - "facing": "up", - "waterlogged": "false" - } + "alternate_inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:quartzite_quartzite_ore" } - ], - "invalid_blocks": "#minecraft:geode_invalid_blocks", + }, "middle_layer_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "tfc:rock/hardened/quartzite" + "Name": "minecraft:calcite" } }, "outer_layer_provider": { @@ -63,12 +31,19 @@ "state": { "Name": "tfc:rock/hardened/basalt" } - } + }, + "inner_placements": [ + { + "Name": "gtceu:quartzite_amethyst_ore" + } + ], + "cannot_replace": "#minecraft:features_cannot_replace", + "invalid_blocks": "#minecraft:geode_invalid_blocks" }, "crack": { - "base_crack_size": 2, - "crack_point_offset": 2, - "generate_crack_chance": 0.95 + "base_crack_size": 0, + "crack_point_offset": 0, + "generate_crack_chance": 0 }, "distribution_points": { "type": "minecraft:uniform", @@ -79,8 +54,8 @@ }, "invalid_blocks_threshold": 1, "layers": { - "filling": 1.7, - "inner_layer": 2.2, + "filling": 0.4, + "inner_layer": 2.1, "middle_layer": 3.2, "outer_layer": 4.2 }, @@ -102,7 +77,7 @@ "min_inclusive": 1 } }, - "use_alternate_layer0_chance": 0.15, - "use_potential_placements_chance": 0.35 + "use_alternate_layer0_chance": 0.4, + "use_potential_placements_chance": 0.3 } } diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/barite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/barite.json index 98540a91e..c2c252b0a 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/barite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/barite.json @@ -2,17 +2,10 @@ "type": "minecraft:geode", "config": { "blocks": { - "alternate_inner_layer_provider": { - "type": "minecraft:simple_state_provider", - "state": { - "Name": "gtceu:raw_barite_block" - } - }, - "cannot_replace": "#minecraft:features_cannot_replace", "filling_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "minecraft:air" + "Name": "gtceu:raw_barite_block" } }, "inner_layer_provider": { @@ -21,16 +14,16 @@ "Name": "gtceu:quartzite_barite_ore" } }, - "inner_placements": [ - { - "Name": "minecraft:air" + "alternate_inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:quartzite_quartzite_ore" } - ], - "invalid_blocks": "#minecraft:geode_invalid_blocks", + }, "middle_layer_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "tfc:rock/hardened/quartzite" + "Name": "minecraft:calcite" } }, "outer_layer_provider": { @@ -38,12 +31,19 @@ "state": { "Name": "tfc:rock/hardened/andesite" } - } + }, + "inner_placements": [ + { + "Name": "gtceu:quartzite_barite_ore" + } + ], + "cannot_replace": "#minecraft:features_cannot_replace", + "invalid_blocks": "#minecraft:geode_invalid_blocks" }, "crack": { - "base_crack_size": 2, - "crack_point_offset": 2, - "generate_crack_chance": 0.95 + "base_crack_size": 0, + "crack_point_offset": 0, + "generate_crack_chance": 0 }, "distribution_points": { "type": "minecraft:uniform", @@ -54,8 +54,8 @@ }, "invalid_blocks_threshold": 1, "layers": { - "filling": 1.7, - "inner_layer": 2.2, + "filling": 0.4, + "inner_layer": 2.1, "middle_layer": 3.2, "outer_layer": 4.2 }, @@ -77,7 +77,7 @@ "min_inclusive": 1 } }, - "use_alternate_layer0_chance": 0.3, - "use_potential_placements_chance": 0.35 + "use_alternate_layer0_chance": 0.4, + "use_potential_placements_chance": 0.30 } } diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/calcite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/calcite.json index 888da3edf..2421bde0a 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/calcite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/calcite.json @@ -2,17 +2,10 @@ "type": "minecraft:geode", "config": { "blocks": { - "alternate_inner_layer_provider": { - "type": "minecraft:simple_state_provider", - "state": { - "Name": "gtceu:raw_calcite_block" - } - }, - "cannot_replace": "#minecraft:features_cannot_replace", "filling_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "minecraft:air" + "Name": "gtceu:raw_calcite_block" } }, "inner_layer_provider": { @@ -21,16 +14,16 @@ "Name": "gtceu:quartzite_calcite_ore" } }, - "inner_placements": [ - { - "Name": "minecraft:air" + "alternate_inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:quartzite_quartzite_ore" } - ], - "invalid_blocks": "#minecraft:geode_invalid_blocks", + }, "middle_layer_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "tfc:rock/hardened/quartzite" + "Name": "minecraft:calcite" } }, "outer_layer_provider": { @@ -38,12 +31,19 @@ "state": { "Name": "tfc:rock/hardened/limestone" } - } + }, + "inner_placements": [ + { + "Name": "gtceu:quartzite_calcite_ore" + } + ], + "cannot_replace": "#minecraft:features_cannot_replace", + "invalid_blocks": "#minecraft:geode_invalid_blocks" }, "crack": { - "base_crack_size": 2, - "crack_point_offset": 2, - "generate_crack_chance": 0.95 + "base_crack_size": 0, + "crack_point_offset": 0, + "generate_crack_chance": 0 }, "distribution_points": { "type": "minecraft:uniform", @@ -54,8 +54,8 @@ }, "invalid_blocks_threshold": 1, "layers": { - "filling": 1.7, - "inner_layer": 2.2, + "filling": 0.4, + "inner_layer": 2.1, "middle_layer": 3.2, "outer_layer": 4.2 }, @@ -77,7 +77,7 @@ "min_inclusive": 1 } }, - "use_alternate_layer0_chance": 0.3, - "use_potential_placements_chance": 0.35 + "use_alternate_layer0_chance": 0.4, + "use_potential_placements_chance": 0.30 } } diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/gypsum.json b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/gypsum.json index a46e86333..3543bc03b 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/gypsum.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/gypsum.json @@ -2,17 +2,10 @@ "type": "minecraft:geode", "config": { "blocks": { - "alternate_inner_layer_provider": { - "type": "minecraft:simple_state_provider", - "state": { - "Name": "gtceu:raw_gypsum_block" - } - }, - "cannot_replace": "#minecraft:features_cannot_replace", "filling_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "minecraft:air" + "Name": "gtceu:raw_gypsum_block" } }, "inner_layer_provider": { @@ -21,16 +14,16 @@ "Name": "gtceu:quartzite_gypsum_ore" } }, - "inner_placements": [ - { - "Name": "minecraft:air" + "alternate_inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:quartzite_quartzite_ore" } - ], - "invalid_blocks": "#minecraft:geode_invalid_blocks", + }, "middle_layer_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "tfc:rock/hardened/quartzite" + "Name": "minecraft:calcite" } }, "outer_layer_provider": { @@ -38,12 +31,19 @@ "state": { "Name": "tfc:rock/hardened/shale" } - } + }, + "inner_placements": [ + { + "Name": "gtceu:quartzite_gypsum_ore" + } + ], + "cannot_replace": "#minecraft:features_cannot_replace", + "invalid_blocks": "#minecraft:geode_invalid_blocks" }, "crack": { - "base_crack_size": 2, - "crack_point_offset": 2, - "generate_crack_chance": 0.95 + "base_crack_size": 0, + "crack_point_offset": 0, + "generate_crack_chance": 0 }, "distribution_points": { "type": "minecraft:uniform", @@ -54,8 +54,8 @@ }, "invalid_blocks_threshold": 1, "layers": { - "filling": 1.7, - "inner_layer": 2.2, + "filling": 0.4, + "inner_layer": 2.1, "middle_layer": 3.2, "outer_layer": 4.2 }, @@ -77,7 +77,7 @@ "min_inclusive": 1 } }, - "use_alternate_layer0_chance": 0.3, - "use_potential_placements_chance": 0.35 + "use_alternate_layer0_chance": 0.4, + "use_potential_placements_chance": 0.30 } } diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/opal.json b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/opal.json index b89a23158..335d0f622 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/opal.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/opal.json @@ -2,17 +2,10 @@ "type": "minecraft:geode", "config": { "blocks": { - "alternate_inner_layer_provider": { - "type": "minecraft:simple_state_provider", - "state": { - "Name": "gtceu:raw_opal_block" - } - }, - "cannot_replace": "#minecraft:features_cannot_replace", "filling_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "minecraft:air" + "Name": "gtceu:raw_opal_block" } }, "inner_layer_provider": { @@ -21,16 +14,16 @@ "Name": "gtceu:quartzite_opal_ore" } }, - "inner_placements": [ - { - "Name": "minecraft:air" + "alternate_inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:quartzite_quartzite_ore" } - ], - "invalid_blocks": "#minecraft:geode_invalid_blocks", + }, "middle_layer_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "tfc:rock/hardened/quartzite" + "Name": "minecraft:calcite" } }, "outer_layer_provider": { @@ -38,12 +31,19 @@ "state": { "Name": "tfc:rock/hardened/gabbro" } - } + }, + "inner_placements": [ + { + "Name": "gtceu:quartzite_opal_ore" + } + ], + "cannot_replace": "#minecraft:features_cannot_replace", + "invalid_blocks": "#minecraft:geode_invalid_blocks" }, "crack": { - "base_crack_size": 2, - "crack_point_offset": 2, - "generate_crack_chance": 0.95 + "base_crack_size": 0, + "crack_point_offset": 0, + "generate_crack_chance": 0 }, "distribution_points": { "type": "minecraft:uniform", @@ -54,8 +54,8 @@ }, "invalid_blocks_threshold": 1, "layers": { - "filling": 1.7, - "inner_layer": 2.2, + "filling": 0.4, + "inner_layer": 2.1, "middle_layer": 3.2, "outer_layer": 4.2 }, @@ -77,7 +77,7 @@ "min_inclusive": 1 } }, - "use_alternate_layer0_chance": 0.2, - "use_potential_placements_chance": 0.35 + "use_alternate_layer0_chance": 0.4, + "use_potential_placements_chance": 0.30 } } diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/pyrite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/pyrite.json index 0a5addd17..c9fd06820 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/pyrite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/pyrite.json @@ -2,17 +2,10 @@ "type": "minecraft:geode", "config": { "blocks": { - "alternate_inner_layer_provider": { - "type": "minecraft:simple_state_provider", - "state": { - "Name": "gtceu:raw_pyrite_block" - } - }, - "cannot_replace": "#minecraft:features_cannot_replace", "filling_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "minecraft:air" + "Name": "gtceu:raw_pyrite_block" } }, "inner_layer_provider": { @@ -21,16 +14,16 @@ "Name": "gtceu:quartzite_pyrite_ore" } }, - "inner_placements": [ - { - "Name": "minecraft:air" + "alternate_inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:quartzite_quartzite_ore" } - ], - "invalid_blocks": "#minecraft:geode_invalid_blocks", + }, "middle_layer_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "tfc:rock/hardened/quartzite" + "Name": "minecraft:calcite" } }, "outer_layer_provider": { @@ -38,12 +31,19 @@ "state": { "Name": "tfc:rock/hardened/dacite" } - } + }, + "inner_placements": [ + { + "Name": "gtceu:quartzite_pyrite_ore" + } + ], + "cannot_replace": "#minecraft:features_cannot_replace", + "invalid_blocks": "#minecraft:geode_invalid_blocks" }, "crack": { - "base_crack_size": 2, - "crack_point_offset": 2, - "generate_crack_chance": 0.95 + "base_crack_size": 0, + "crack_point_offset": 0, + "generate_crack_chance": 0 }, "distribution_points": { "type": "minecraft:uniform", @@ -54,8 +54,8 @@ }, "invalid_blocks_threshold": 1, "layers": { - "filling": 1.7, - "inner_layer": 2.2, + "filling": 0.4, + "inner_layer": 2.1, "middle_layer": 3.2, "outer_layer": 4.2 }, @@ -77,7 +77,7 @@ "min_inclusive": 1 } }, - "use_alternate_layer0_chance": 0.083, - "use_potential_placements_chance": 0.35 + "use_alternate_layer0_chance": 0.4, + "use_potential_placements_chance": 0.30 } } diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/quartzite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/quartzite.json index 787a850d1..d210e63c8 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/geode/quartzite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/geode/quartzite.json @@ -2,35 +2,28 @@ "type": "minecraft:geode", "config": { "blocks": { - "alternate_inner_layer_provider": { - "type": "minecraft:simple_state_provider", - "state": { - "Name": "gtceu:raw_quartzite_block" - } - }, - "cannot_replace": "#minecraft:features_cannot_replace", "filling_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "minecraft:air" + "Name": "gtceu:raw_red_garnet_block" } }, "inner_layer_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "gtceu:quartzite_quartzite_ore" + "Name": "gtceu:quartzite_red_garnet_ore" } }, - "inner_placements": [ - { - "Name": "minecraft:air" + "alternate_inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:quartzite_yellow_garnet_ore" } - ], - "invalid_blocks": "#minecraft:geode_invalid_blocks", + }, "middle_layer_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "tfc:rock/hardened/quartzite" + "Name": "minecraft:calcite" } }, "outer_layer_provider": { @@ -38,12 +31,19 @@ "state": { "Name": "tfc:rock/hardened/dolomite" } - } + }, + "inner_placements": [ + { + "Name": "gtceu:quartzite_red_garnet_ore" + } + ], + "cannot_replace": "#minecraft:features_cannot_replace", + "invalid_blocks": "#minecraft:geode_invalid_blocks" }, "crack": { - "base_crack_size": 2, - "crack_point_offset": 2, - "generate_crack_chance": 0.95 + "base_crack_size": 0, + "crack_point_offset": 0, + "generate_crack_chance": 0 }, "distribution_points": { "type": "minecraft:uniform", @@ -54,8 +54,8 @@ }, "invalid_blocks_threshold": 1, "layers": { - "filling": 1.7, - "inner_layer": 2.2, + "filling": 0.4, + "inner_layer": 2.1, "middle_layer": 3.2, "outer_layer": 4.2 }, @@ -77,7 +77,7 @@ "min_inclusive": 1 } }, - "use_alternate_layer0_chance": 0.2, - "use_potential_placements_chance": 0.35 + "use_alternate_layer0_chance": 0.4, + "use_potential_placements_chance": 0.30 } } From 62946076163f95c8b99be37849c497fa80d385c5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 21 Jan 2026 21:05:55 +0000 Subject: [PATCH 175/474] change hellbricks recipe to match new texture --- kubejs/server_scripts/beneath/recipes.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/beneath/recipes.js b/kubejs/server_scripts/beneath/recipes.js index 7bb86d517..8cd9c484f 100644 --- a/kubejs/server_scripts/beneath/recipes.js +++ b/kubejs/server_scripts/beneath/recipes.js @@ -48,14 +48,14 @@ const registerBeneathRecipes = (event) => { }).id('beneath:crafting/unposter') event.shapeless('beneath:hellbricks', [ - '#forge:stone_bricks', + 'minecraft:nether_bricks', 'minecraft:magma_cream', 'tfc:powder/sulfur', 'tfc:soot' ]).id('tfg:shapeless/hellbricks_from_soot') event.shapeless('beneath:hellbricks', [ - '#forge:stone_bricks', + 'minecraft:nether_bricks', 'minecraft:magma_cream', 'tfc:powder/sulfur', 'tfc:powder/wood_ash' From fd76389591863c72ba29a97a9e25155b12c12cce Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Wed, 21 Jan 2026 13:16:25 -0800 Subject: [PATCH 176/474] re-added glass dust recipe for glass tubes (#2795) Signed-off-by: thederpysockdude123 --- .../tfg/ores_and_materials/recipes.quartzes.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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 ea00a8aae..3214c5bed 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js @@ -68,7 +68,7 @@ function registerTFGQuartzRecipes(event) { // Empty Jar event.recipes.gtceu.alloy_smelter('tfg:jar_alloying') .itemInputs('#tfc:glass_batches_tier_2') - .notConsumable('gtceu:ball_casting_mold') + .notConsumable('tfg:lamp_casting_mold') .itemOutputs('tfc:empty_jar') .duration(100) .EUt(2) @@ -76,7 +76,7 @@ function registerTFGQuartzRecipes(event) { event.recipes.gtceu.alloy_smelter('tfg:jar_alloying_dust') .itemInputs('#forge:dusts/glass') - .notConsumable('gtceu:ball_casting_mold') + .notConsumable('tfg:lamp_casting_mold') .itemOutputs('tfc:empty_jar') .duration(100) .EUt(2) @@ -153,4 +153,4 @@ function registerTFGQuartzRecipes(event) { .EUt(GTValues.VA[GTValues.LV]) .category(GTRecipeCategories.INGOT_MOLDING); //#endregion -} \ No newline at end of file +} From 08ef126b34ed7ec1df96c8cb26a43142569fa1ba Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 21 Jan 2026 21:26:48 +0000 Subject: [PATCH 177/474] fixed road speeds #2790, fixed water wheels #2791 --- CHANGELOG.md | 5 ++++- config/blockrunner-client.toml | 2 +- config/blockrunner.json | 21 +++++++++++++-------- config/createpickywheels-common.toml | 4 ++-- 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16923cd3c..b6d57b745 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ ### Important note - OC has been fixed on the Pisciculture Fishery and Hydroponics Facility. You will have to break and replace the machine for the fix to take effect. ### Breaking changes we forgot to write last time -- Water wheels now *require* flowing water to work correctly. So you can't just put them in a lake, but you can make little flows off the side of it or use aqueducts and those should work. +- Water wheels now *require* flowing water to work correctly. So you can't just put them in a lake, but you can make little flows off the side of it or use aqueducts and those should work. Other than that, they should have their same stress numbers as before. #### Stone dusts and other rock-related changes - Individual stone dusts for each rock type have been removed, instead being replaced with more general dusts based on rock composition. The centrifuging recipes have also been removed, though we plan on using these for something else later. - Marble/chalk dust has been replaced with Carbonate Sedimentary dust in concrete-related recipes @@ -16,6 +16,9 @@ ### Bug fixes - Fixed a config bug causing waves to deposit shells etc with 100% chance. @Mqrius - Fixed a bug preventing the Pisciculture Fishery and Hydroponics Facility from overclocking. @Redeix +- Fixed not being able to make glass tubes out of glass dust (#2795) @thederpysockdude123 +- Fixed roads losing their movement speed bonus (#2790) @Pyritie +- Fixed water wheels misbehaving again (#2791) @Pyritie ### Translation updates - Spanish @NikoNeko17 diff --git a/config/blockrunner-client.toml b/config/blockrunner-client.toml index a57e38bbd..cb8a96d4d 100644 --- a/config/blockrunner-client.toml +++ b/config/blockrunner-client.toml @@ -1,5 +1,5 @@ #Prevent running on blocks with higher speeds from changing the field of view. disable_field_of_view_changes = true #Add a tooltip to blocks that have an altered block speed with the multiplier. -block_speed_multiplier_tooltip = false +block_speed_multiplier_tooltip = true diff --git a/config/blockrunner.json b/config/blockrunner.json index 92dfc9b34..670147277 100644 --- a/config/blockrunner.json +++ b/config/blockrunner.json @@ -1,11 +1,16 @@ { "schema_version": "2", - "minecraft:dirt_path": 1, - "#blockrunner:slow_blocks": 1, - "#blockrunner:very_slow_blocks": 1, - "#blockrunner:quick_blocks": 1, - "#blockrunner:very_quick_blocks": 1, - "#blockrunner:slightly_slow_blocks": 1, - "#blockrunner:slightly_quick_blocks": 1, - "#minecraft:stone_bricks": 1 + "#tfc:paths": 1, + "rnr:hoggin": 1.1, + "rnr:hoggin_slab": 1.1, + "rnr:hoggin_stairs": 1.1, + "#rnr:gravel_road_blocks": 1.1, + "#rnr:overheight_gravel_blocks": 1.1, + "#rnr:macadam_road_blocks": 1.2, + "#rnr:sett_road_blocks": 1.2, + "#rnr:flagstones_blocks": 1.2, + "#rnr:cobbled_road_blocks": 1.2, + "#rnr:functional_concrete_roads": 1.3, + "#rnr:functional_concrete_road_stairs": 1.3, + "#rnr:functional_concrete_road_slabs": 1.3 } \ No newline at end of file diff --git a/config/createpickywheels-common.toml b/config/createpickywheels-common.toml index 925983176..5bb2bc924 100644 --- a/config/createpickywheels-common.toml +++ b/config/createpickywheels-common.toml @@ -22,7 +22,7 @@ waterwheelBiomeSTRESSPenalty = 1.0 #Body of water requirement impact (similar to infinite fluid extraction from pulley) - [waterwheels."optimal condition"] + [waterwheels."power source condition"] #When enabled waterwheels also work when under create's default conditions but at a penalty waterwheelsPorqueNoLosDos = true #Boost for Waterwheels placed on optimal conditions. @@ -65,7 +65,7 @@ #The minimum amount of points that must hit windmillRequiredRange. #Range: > 1 windmillRequiredRangePoints = 1 - #The maximum distance a windmills can consider air blocks from. + #The maximum distance a windmill can consider air blocks from. #Range: > 1 windmillMaxRange = 32 #The percentage of Generated Speed only given if windmills are raised enough. From 6c9418949ff8b847391a0fe06196ad2dba7f0cd0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 21 Jan 2026 22:00:07 +0000 Subject: [PATCH 178/474] fix casting into ingot molds #2794 #2789 --- .../tfg/ores_and_materials/recipes.materials.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js index d90ff63b8..f1854f2db 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js @@ -135,10 +135,14 @@ function addMaterialCasting(event, outputItem, ceramicMold, isFireMold, gtMold, // If it's a TFC material, add ceramic mold casting + create spouting const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); - if (tfcProperty !== null + // Check if the material is a "castable" material (i.e., pre-iron), OR if this is for the ingot mold, + // which is an exception that everything can cast into + const canBeCasted = material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED) || tagPrefixName === 'ingot'; + if (canBeCasted + && tfcProperty !== null && ceramicMold !== null - && material !== GTMaterials.WroughtIron - && material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) + // Liquid wrought iron doesn't exist in the TFC era + && material !== GTMaterials.WroughtIron) { const outputMaterial = (tfcProperty.getOutputMaterial() === null) ? material : tfcProperty.getOutputMaterial(); const id = `${materialName}_${tagPrefixName}_${isFireMold ? 'fire' : 'ceramic'}`; From 0c146a673f0564c73d8c009d7f43bb62a8830efb Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 21 Jan 2026 22:22:40 +0000 Subject: [PATCH 179/474] buff mars greenhouses so they output the same amount of logs as earth trees --- CHANGELOG.md | 2 ++ .../tfg/aquaponics/recipes.greenhouse.js | 10 +++++----- kubejs/server_scripts/tfg/mars/tags.mars.js | 7 +++++++ 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b6d57b745..6352c63e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,12 +13,14 @@ - Other recipe and tag unifications for consistency, like all cobbles should landslide, all slabs should be craftable the same way, etc ### Changes - Fixed balancing issues with the Aquaponics Loop. @Redeix +- Mars log electric greenhouse recipes now output the same amount of logs as earth log recipes @Pyritie ### Bug fixes - Fixed a config bug causing waves to deposit shells etc with 100% chance. @Mqrius - Fixed a bug preventing the Pisciculture Fishery and Hydroponics Facility from overclocking. @Redeix - Fixed not being able to make glass tubes out of glass dust (#2795) @thederpysockdude123 - Fixed roads losing their movement speed bonus (#2790) @Pyritie - Fixed water wheels misbehaving again (#2791) @Pyritie +- Fixed not being able to cast steel or higher tier materials into ceramic molds (#2789, #2794) @Pyritie ### Translation updates - Spanish @NikoNeko17 diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js index fc3a19f9b..84f2ea84e 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js @@ -504,22 +504,22 @@ const registerTFGGreenhouseRecipes = (event) => { // Mars Wood generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/strophar', [ - '64x ad_astra:strophar_stem', '4x tfg:saplings/strophar', '16x ad_astra:strophar_cap', '16x ad_astra:strophar_cap' + '64x ad_astra:strophar_stem', '4x tfg:saplings/strophar', '32x ad_astra:strophar_stem', '16x ad_astra:strophar_cap' ], 1); generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/aeronos', [ - '64x ad_astra:aeronos_stem', '4x tfg:saplings/aeronos', '16x ad_astra:aeronos_cap', '16x ad_astra:aeronos_cap' + '64x ad_astra:aeronos_stem', '4x tfg:saplings/aeronos', '32x ad_astra:aeronos_stem', '16x ad_astra:aeronos_cap' ], 1); generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/glacian', [ - '64x ad_astra:glacian_log', '4x tfg:saplings/glacian', '16x species:alphacene_moss_block', '16x species:alphacene_moss_block' + '64x ad_astra:glacian_log', '4x tfg:saplings/glacian', '32x ad_astra:glacian_log', '16x species:alphacene_moss_block' ], 1); generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/alphacene', [ '64x species:alphacene_mushroom_block', '4x tfg:saplings/alphacene', '16x minecraft:mushroom_stem', '16x minecraft:mushroom_stem' ], 1); generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/warped', [ - '64x beneath:wood/log/warped', '4x tfg:saplings/warped', '16x minecraft:warped_wart_block', '16x minecraft:warped_wart_block' + '64x beneath:wood/log/warped', '4x tfg:saplings/warped', '32x beneath:wood/log/warped', '16x minecraft:warped_wart_block' ], 1); generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/crimson', [ - '64x beneath:wood/log/crimson', '4x tfg:saplings/crimson', '16x minecraft:nether_wart_block', '16x minecraft:nether_wart_block' + '64x beneath:wood/log/crimson', '4x tfg:saplings/crimson', '32x beneath:wood/log/crimson', '16x minecraft:nether_wart_block' ], 1); // Mars Plants diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js index 12ac9db8a..e4d2a6778 100644 --- a/kubejs/server_scripts/tfg/mars/tags.mars.js +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -107,6 +107,13 @@ function registerTFGMarsItemTags(event) { event.add('tfg:charnia', 'betterend:charnia_light_blue') event.add('tfg:charnia', 'betterend:charnia_purple') event.add('tfg:charnia', 'betterend:charnia_red') + + event.add('tfg:mars_plants', 'minecraft:weeping_vines') + + event.add('tfc:compost_greens_low', 'beneath:wood/leaves/crimson') + event.add('tfc:compost_greens_low', 'beneath:wood/leaves/warped') + event.add('tfc:compost_greens_low', 'tfg:glacian_leaves') + event.add('tfc:compost_greens_low', '#tfg:mars_plants') } function registerTFGMarsBlockTags(event) { From a5d858319c3dc07505ac0991000d3cb1a8bfdd26 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 21 Jan 2026 22:24:24 +0000 Subject: [PATCH 180/474] reduced the frequency of ambient biome additions sounds --- kubejs/data/tfg/worldgen/biome/mars/amber_edge.json | 2 +- kubejs/data/tfg/worldgen/biome/mars/amber_hills.json | 2 +- kubejs/data/tfg/worldgen/biome/mars/amber_plains.json | 2 +- kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json | 2 +- kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json | 2 +- kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json | 2 +- kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json | 2 +- kubejs/data/tfg/worldgen/biome/mars/martian_river.json | 2 +- kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json | 2 +- kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json | 2 +- kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json | 2 +- kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json | 2 +- kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json | 2 +- kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json | 2 +- kubejs/data/tfg/worldgen/biome/nether/ash_forest.json | 2 +- kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json | 2 +- kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json | 2 +- kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json | 2 +- kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json | 2 +- kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json | 2 +- kubejs/data/tfg/worldgen/biome/nether/granite_caves.json | 2 +- kubejs/data/tfg/worldgen/biome/nether/lava_floes.json | 2 +- kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json | 2 +- kubejs/data/tfg/worldgen/biome/nether/schist_caves.json | 2 +- kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json | 2 +- kubejs/data/tfg/worldgen/biome/venus/arachnoids.json | 2 +- kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json | 2 +- kubejs/data/tfg/worldgen/biome/venus/fumaroles.json | 2 +- kubejs/data/tfg/worldgen/biome/venus/geysers.json | 2 +- kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json | 2 +- kubejs/data/tfg/worldgen/biome/venus/salt_flats.json | 2 +- kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json | 2 +- kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json | 2 +- kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json | 2 +- 34 files changed, 34 insertions(+), 34 deletions(-) diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json b/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json index f04a04a10..ff69d8291 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json @@ -13,7 +13,7 @@ }, "additions_sound": { "sound": "tfg:ambient.mars_desert.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "ambient_sound": "tfg:ambient.mars_desert.loop", "music": { diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json index c4bae6a19..123397ed4 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json @@ -16,7 +16,7 @@ }, "additions_sound": { "sound": "tfg:ambient.mars_land.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0011 }, "ambient_sound": "tfg:ambient.mars_land.loop", "music": { diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json index bccfe5270..449c418df 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json @@ -16,7 +16,7 @@ }, "additions_sound": { "sound": "tfg:ambient.mars_land.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "ambient_sound": "tfg:ambient.mars_land.loop", "music": { 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 40fc25932..55dc40cb3 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json @@ -16,7 +16,7 @@ }, "additions_sound": { "sound": "tfg:ambient.mars_desert.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "music": { "max_delay": 24000, 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 399101ce8..bc287325a 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json @@ -16,7 +16,7 @@ }, "additions_sound": { "sound": "tfg:ambient.mars_desert.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "music": { "max_delay": 24000, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json b/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json index 071f2bd85..5a6be0ee6 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json @@ -16,7 +16,7 @@ }, "additions_sound": { "sound": "tfg:ambient.mars_desert.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "music": { "max_delay": 24000, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json index 347185c88..36fc33433 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json @@ -17,7 +17,7 @@ }, "additions_sound": { "sound": "tfg:ambient.mars_land.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "music": { "max_delay": 24000, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json index e64f1781a..526e0aac2 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json @@ -17,7 +17,7 @@ }, "additions_sound": { "sound": "tfg:ambient.mars_land.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "music": { "max_delay": 24000, diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json index 3168d0016..426622e37 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json @@ -8,7 +8,7 @@ "ambient_sound": "tfg:ambient.mars_desert.loop", "additions_sound": { "sound": "tfg:ambient.mars_desert.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "mood_sound": { "block_search_extent": 8, diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json index 6afdb041b..51da6391a 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json @@ -17,7 +17,7 @@ }, "additions_sound": { "sound": "tfg:ambient.mars_land.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "music": { "max_delay": 24000, diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json index 0afbc1e8c..fc74372ce 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json @@ -17,7 +17,7 @@ }, "additions_sound": { "sound": "tfg:ambient.mars_land.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "music": { "max_delay": 24000, diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json index 4877e57e1..9ec2931ea 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json @@ -8,7 +8,7 @@ "ambient_sound": "tfg:ambient.mars_desert.loop", "additions_sound": { "sound": "tfg:ambient.mars_desert.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "mood_sound": { "block_search_extent": 8, diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json index c3f778902..ea1dd0460 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json @@ -17,7 +17,7 @@ }, "additions_sound": { "sound": "tfg:ambient.mars_land.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "music": { "max_delay": 24000, diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json index 8e490005f..c121e5c92 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json @@ -17,7 +17,7 @@ }, "additions_sound": { "sound": "tfg:ambient.mars_land.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "music": { "max_delay": 24000, diff --git a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json index 3dfa2a653..4e1407e4f 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json +++ b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json @@ -6,7 +6,7 @@ "effects": { "additions_sound": { "sound": "tfg:ambient.lower_nether.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "ambient_sound": "tfg:ambient.lower_nether.loop", "fog_color": 6840176, diff --git a/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json b/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json index 75f3e5720..021ca0904 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json +++ b/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json @@ -6,7 +6,7 @@ "effects": { "additions_sound": { "sound": "tfg:ambient.lower_nether.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "ambient_sound": "tfg:ambient.lower_nether.loop", "fog_color": 6840176, diff --git a/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json index 75bf12f9c..46ba6d62b 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json +++ b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json @@ -6,7 +6,7 @@ "effects": { "additions_sound": { "sound": "tfg:ambient.upper_nether.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "ambient_sound": "tfg:ambient.upper_nether_lush.loop", "fog_color": 7369031, diff --git a/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json index c9bbd3305..2eda606b4 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json @@ -7,7 +7,7 @@ "fog_color": 9868701, "additions_sound": { "sound": "tfg:ambient.upper_nether.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "ambient_sound": "tfg:ambient.upper_nether_cave.loop", "mood_sound": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json index 82e8b535d..924c75418 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json @@ -7,7 +7,7 @@ "fog_color": 5855333, "additions_sound": { "sound": "tfg:ambient.upper_nether.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "ambient_sound": "tfg:ambient.upper_nether_cave.loop", "mood_sound": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json index 74159dd98..318f7de01 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json @@ -7,7 +7,7 @@ "fog_color": 6641752, "additions_sound": { "sound": "tfg:ambient.upper_nether.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "ambient_sound": "tfg:ambient.upper_nether_cave.loop", "mood_sound": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json index 56aa7a5e7..5ff94fd88 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json @@ -7,7 +7,7 @@ "fog_color": 9533575, "additions_sound": { "sound": "tfg:ambient.upper_nether.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "ambient_sound": "tfg:ambient.upper_nether_cave.loop", "mood_sound": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json b/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json index f2e6129a8..1772b420e 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json +++ b/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json @@ -6,7 +6,7 @@ "effects": { "additions_sound": { "sound": "tfg:ambient.lower_nether.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "ambient_sound": "tfg:ambient.lower_nether.loop", "fog_color": 5450003, diff --git a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json index be5325af1..d7992093e 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json +++ b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json @@ -13,7 +13,7 @@ }, "additions_sound": { "sound": "tfg:ambient.upper_nether.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "ambient_sound": "tfg:ambient.upper_nether_lush.loop", "music": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json index e0e450472..77e64f7b3 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json @@ -7,7 +7,7 @@ "fog_color": 7175789, "additions_sound": { "sound": "tfg:ambient.upper_nether.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "ambient_sound": "tfg:ambient.upper_nether_cave.loop", "mood_sound": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json index d91609c13..709636995 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json +++ b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json @@ -19,7 +19,7 @@ }, "additions_sound": { "sound": "tfg:ambient.upper_nether_cave.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "ambient_sound": "tfg:ambient.upper_nether_cave.loop", "sky_color": 5799235, diff --git a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json index ca349ad00..b5131ddc6 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json +++ b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json @@ -6,7 +6,7 @@ "effects": { "additions_sound": { "sound": "tfg:ambient.venus_surface.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "sky_color": 10465603, "fog_color": 9938052, diff --git a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json index b1bcc3911..cb3acbedb 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json @@ -6,7 +6,7 @@ "effects": { "additions_sound": { "sound": "tfg:ambient.venus_surface.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "fog_color": 9938052, "sky_color": 10465603, diff --git a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json index 16633d82a..f5cddc92c 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json @@ -6,7 +6,7 @@ "effects": { "additions_sound": { "sound": "tfg:ambient.venus_surface.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "sky_color": 11644227, "fog_color": 10788996, diff --git a/kubejs/data/tfg/worldgen/biome/venus/geysers.json b/kubejs/data/tfg/worldgen/biome/venus/geysers.json index 869d87241..63937fc35 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/geysers.json +++ b/kubejs/data/tfg/worldgen/biome/venus/geysers.json @@ -6,7 +6,7 @@ "effects": { "additions_sound": { "sound": "tfg:ambient.venus_surface.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "sky_color": 10465603, "fog_color": 9938052, diff --git a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json index 68cd4aab3..2a092a303 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json +++ b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json @@ -6,7 +6,7 @@ "effects": { "additions_sound": { "sound": "tfg:ambient.venus_surface.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "sky_color": 10465603, "fog_color": 9938052, diff --git a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json index 4eb638dd6..8415a8167 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json +++ b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json @@ -6,7 +6,7 @@ "effects": { "additions_sound": { "sound": "tfg:ambient.venus_surface.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "sky_color": 10465603, "fog_color": 12237498, diff --git a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json index 71655ba51..7bd62eebb 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json +++ b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json @@ -6,7 +6,7 @@ "effects": { "additions_sound": { "sound": "tfg:ambient.venus_surface.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "sky_color": 5450003, "fog_color": 5450003, diff --git a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json index 54e087d94..7ac1a7cf5 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json +++ b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json @@ -6,7 +6,7 @@ "effects": { "additions_sound": { "sound": "tfg:ambient.venus_surface.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "sky_color": 11644227, "fog_color": 10788996, diff --git a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json index c9caf6c65..2088c8478 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json +++ b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json @@ -6,7 +6,7 @@ "effects": { "additions_sound": { "sound": "tfg:ambient.venus_surface.additions", - "tick_chance": 0.0111 + "tick_chance": 0.0015 }, "sky_color": 11644227, "fog_color": 11575877, From f93e33ab8e9f1d1b6e7f8c9b57f2a6ef664ae722 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 21 Jan 2026 22:36:54 +0000 Subject: [PATCH 181/474] fix pitcher plants and torchflowers self destructing on mars --- kubejs/server_scripts/beneath/tags.js | 4 ++++ kubejs/server_scripts/tfg/mars/tags.mars.js | 17 ++++++++++++----- kubejs/startup_scripts/tfg/blocks.crops.js | 4 ---- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/kubejs/server_scripts/beneath/tags.js b/kubejs/server_scripts/beneath/tags.js index 9ea5bed0e..04fc3e666 100644 --- a/kubejs/server_scripts/beneath/tags.js +++ b/kubejs/server_scripts/beneath/tags.js @@ -30,10 +30,14 @@ const registerBeneathItemTags = (event) => { event.add('tfg:softwood', 'beneath:wood/log/crimson') event.add('tfg:softwood', 'beneath:wood/wood/crimson') + event.add('tfg:softwood', 'beneath:wood/stripped_log/crimson') + event.add('tfg:softwood', 'beneath:wood/stripped_wood/crimson') event.add('tfg:stripped_softwood', 'beneath:wood/stripped_log/crimson') event.add('tfg:stripped_softwood', 'beneath:wood/stripped_wood/crimson') event.add('tfg:hardwood', 'beneath:wood/log/warped') event.add('tfg:hardwood', 'beneath:wood/wood/warped') + event.add('tfg:hardwood', 'beneath:wood/stripped_log/warped') + event.add('tfg:hardwood', 'beneath:wood/stripped_wood/warped') event.add('tfg:stripped_hardwood', 'beneath:wood/stripped_log/warped') event.add('tfg:stripped_hardwood', 'beneath:wood/stripped_wood/warped') diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js index e4d2a6778..07c37d491 100644 --- a/kubejs/server_scripts/tfg/mars/tags.mars.js +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -109,6 +109,11 @@ function registerTFGMarsItemTags(event) { event.add('tfg:charnia', 'betterend:charnia_red') event.add('tfg:mars_plants', 'minecraft:weeping_vines') + event.add('tfg:mars_plants', 'minecraft:pitcher_plant') + event.add('tfg:mars_plants', 'minecraft:torchflower') + + event.add('tfc:makes_cyan_dye', 'minecraft:pitcher_plant') + event.add('tfc:makes_orange_dye', 'minecraft:torchflower') event.add('tfc:compost_greens_low', 'beneath:wood/leaves/crimson') event.add('tfc:compost_greens_low', 'beneath:wood/leaves/warped') @@ -284,11 +289,13 @@ function registerTFGMarsBlockTags(event) { event.add('tfg:do_not_destroy_in_space', 'tfg:grass/sangnum_kaolin_mycelium') event.add('tfg:do_not_destroy_in_space', 'tfg:grass/mars_farmland') event.add('tfg:do_not_destroy_in_space', 'tfg:grass/mars_path') - - event.remove('ad_astra:destroyed_in_space', 'minecraft:pitcher_plant') - event.remove('ad_astra:destroyed_in_space', 'minecraft:torchflower') - event.remove('ad_astra:destroyed_in_space', 'tfg:blossom_berry') - event.remove('ad_astra:destroyed_in_space', 'tfg:blossom_berry_wild') + event.add('tfg:do_not_destroy_in_space', 'minecraft:pitcher_plant') + event.add('tfg:do_not_destroy_in_space', 'minecraft:torchflower') + + event.remove('minecraft:tall_flowers', 'minecraft:pitcher_plant') + event.remove('minecraft:small_flowers', 'minecraft:torchflower') + event.remove('minecraft:flowers', 'minecraft:pitcher_plant') + event.remove('minecraft:flowers', 'minecraft:torchflower') event.add('tfc:can_landslide', 'tfg:grass/mars_dirt') event.add('tfc:can_landslide', 'tfg:grass/mars_clay_dirt') diff --git a/kubejs/startup_scripts/tfg/blocks.crops.js b/kubejs/startup_scripts/tfg/blocks.crops.js index 64cbd334d..700f6610d 100644 --- a/kubejs/startup_scripts/tfg/blocks.crops.js +++ b/kubejs/startup_scripts/tfg/blocks.crops.js @@ -139,8 +139,6 @@ const registerTFGCrops = (event) => { .stages(3) .hardness(0.4) .tagBlock('minecraft:mineable/hoe') - .tagBlock('minecraft:flowers') - .tagBlock('tfg:do_not_destroy_in_space') .productItem(product => { product.food(food => { food.hunger(5) @@ -163,8 +161,6 @@ const registerTFGCrops = (event) => { .tagBoth('tfc:wild_crops') .tagBlock('minecraft:mineable/hoe') .tagBlock('tfc:can_be_snow_piled') - .tagBlock('minecraft:flowers') - .tagBlock('tfg:do_not_destroy_in_space') .tagItem('c:hidden_from_recipe_viewers') From 1e42ed442a944d66cf8e69fe384f6b4d3c26e6da Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 21 Jan 2026 22:40:31 +0000 Subject: [PATCH 182/474] . (#2796) --- .../tfg/natural_blocks/recipes.collapse.js | 21 +++++++++-- .../tfg/natural_blocks/tags.stones.js | 36 +++++++++++++++---- .../tfg/stone_types/constants.rocks.js | 24 +++++++++++++ 3 files changed, 72 insertions(+), 9 deletions(-) diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.collapse.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.collapse.js index bc51a4789..802cbadb7 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.collapse.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.collapse.js @@ -6,16 +6,33 @@ */ function registerTFGCollapseRecipes(event) { + const SHAPES = ['stair', 'slab', 'wall']; + // Rocks for (let [rockId, rock] of Object.entries(global.BIG_ROCK_TABLE)) { if (rock.cobble != null) { - if (rock.raw != null) { + if (rock.raw != null && rock.collapsible) { event.recipes.tfc.collapse(rock.cobble.block, rock.raw.block); + + SHAPES.forEach(shape => { + if (rock.raw[shape] != null) { + event.recipes.tfc.collapse(rock.cobble[shape], rock.raw[shape]); + } + }) } if (rock.hardened != null) { event.recipes.tfc.collapse(rock.cobble.block, rock.hardened); } + if (rock.polished != null && rock.collapsible) { + event.recipes.tfc.collapse(rock.cobble.block, rock.polished.block); + + SHAPES.forEach(shape => { + if (rock.polished[shape] != null) { + event.recipes.tfc.collapse(rock.cobble[shape], rock.polished[shape]); + } + }) + } event.recipes.tfc.collapse(rock.cobble.block, `#forge:ores_in_ground/${rockId}`) @@ -36,7 +53,7 @@ function registerTFGCollapseRecipes(event) { event.recipes.tfc.collapse('#tfg:rock_walls').id('tfg:collapse/rock_walls') // Nether - event.recipes.tfc.collapse('tfc:rock/cobble/basalt', 'minecraft:basalt') + event.recipes.tfc.collapse('tfc:rock/cobble/basalt', 'minecraft:basalt') event.recipes.tfc.landslide('tfg:ash_pile', 'tfg:ash_pile') // Space diff --git a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js index 9a3fe6eaf..37a7b2175 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js +++ b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js @@ -282,32 +282,42 @@ function registerTFGStoneBlockTags(event) { event.add('tfc:rock/raw', rock.raw.block) event.add('minecraft:mineable/pickaxe', rock.raw.block) event.add('tfc:can_carve', rock.raw.block) - // Collapse tags also require a collapse recipe to work. - // Don't add the recipe if you don't want them to actually collapse! - event.add('tfc:can_collapse', rock.raw.block) - event.add('tfc:can_trigger_collapse', rock.raw.block) - event.add('tfc:can_start_collapse', rock.raw.block) event.add('tfc:powderkeg_breaking_blocks', rock.raw.block) event.add('tfc:bloomery_insulation', rock.raw.block) event.add('firmalife:oven_insulation', rock.raw.block) event.add('tfc:forge_insulation', rock.raw.block) + if (rock.collapsible && rock.cobble != null) { + // Collapse tags also require a collapse recipe to work. + // Don't add the recipe if you don't want them to actually collapse! + event.add('tfc:can_collapse', rock.raw.block) + event.add('tfc:can_trigger_collapse', rock.raw.block) + event.add('tfc:can_start_collapse', rock.raw.block) + } + SHAPES.forEach(shape => { if (rock.raw[shape] != null) { event.add(`tfg:rock_${shape}s`, rock.raw[shape]); + + if (rock.collapsible && rock.cobble != null) { + event.add('tfc:can_collapse', rock.raw[shape]) + event.add('tfc:can_trigger_collapse', rock.raw[shape]) + event.add('tfc:can_start_collapse', rock.raw[shape]) + } } }) } if (rock.hardened != null) { event.add('minecraft:mineable/pickaxe', rock.hardened) - event.add('tfc:can_collapse', rock.hardened) - event.add('tfc:can_trigger_collapse', rock.hardened) event.add('tfc:powderkeg_breaking_blocks', rock.hardened) event.add('tfc:bloomery_insulation', rock.hardened) event.add('firmalife:oven_insulation', rock.hardened) event.add('tfc:forge_insulation', rock.hardened) event.add('tfc:can_carve', rock.hardened) + // hardened stone always collapses, but never starts them + event.add('tfc:can_collapse', rock.hardened) + event.add('tfc:can_trigger_collapse', rock.hardened) } if (rock.cobble != null) { @@ -324,9 +334,21 @@ function registerTFGStoneBlockTags(event) { event.add('tfc:forge_insulation', rock.polished.block); event.add('firmalife:oven_insulation', rock.polished.block); + if (rock.collapsible && rock.cobble != null) { + event.add('tfc:can_collapse', rock.polished.block) + event.add('tfc:can_trigger_collapse', rock.polished.block) + event.add('tfc:can_start_collapse', rock.polished.block) + } + SHAPES.forEach(shape => { if (rock.polished[shape] != null) { event.add(`tfg:rock_${shape}s`, rock.polished[shape]); + + if (rock.collapsible && rock.cobble != null) { + event.add('tfc:can_collapse', rock.polished[shape]) + event.add('tfc:can_trigger_collapse', rock.polished[shape]) + event.add('tfc:can_start_collapse', rock.polished[shape]) + } } }) } diff --git a/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js b/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js index bd9ee61f1..5b389c8e3 100644 --- a/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js +++ b/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js @@ -19,6 +19,8 @@ * Item tag that everything in this rock type should be added to * @property {boolean} isTFC * If this is a built-in TFC rock type or not + * @property {boolean} collapsible + * If the raw and polished blocks should collapse. If this rock type has no cobble, they will also never collapse. Cobble and gravel always landslide. * @property {String?} stonecutterTag * Item tag for stonecutting * @property {String?} gravelTag @@ -167,6 +169,7 @@ function generateTFC(id, table) { table.chiseled = { block: `tfc:rock/chiseled/${id}` }; table.isTFC = true; + table.collapsible = true; return table; } @@ -194,6 +197,8 @@ function generateMissing(id, table) { table.aqueduct = `tfg:rock/aqueduct_${id}`; if (table.spike === undefined) table.spike = `tfg:spike/${id}_spike`; + if (table.collapsible === undefined) + table.collapsible = true; table.isTFC = false; return table; @@ -346,6 +351,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ // No material because GT already has recycling for these sound: 'stone', mapColor: 'quartz', + collapsible: false, raw: { block: 'minecraft:quartz_block', stair: 'minecraft:quartz_stairs', @@ -467,6 +473,9 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ tfcTag: 'tfc:sedimentary_items', stonecutterTag: 'create:stone_types/calcite', isTFC: false, + collapsible: false, + sound: 'stone', + mapColor: 'quartz', dimensions: ['minecraft:overworld', 'minecraft:the_nether', 'ad_astra:venus'], pillar: 'create:calcite_pillar', pillar2: 'create:layered_calcite', @@ -483,6 +492,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ tfcTag: 'tfc:igneous_extrusive_items', stonecutterTag: 'create:stone_types/tuff', isTFC: false, + collapsible: false, sound: 'tuff', mapColor: 'terracotta_gray', dimensions: ['minecraft:overworld', 'minecraft:the_nether', 'ad_astra:venus'], @@ -573,6 +583,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ // Suevite "sky_stone": { isTFC: false, + collapsible: false, dimensions: ['ad_astra:moon'], stonecutterTag: 'tfg:stone_types/suevite', raw: generateFormsExisting('sky_stone', 'ae2:%s', { block: 'ae2:sky_stone_block' }), @@ -582,6 +593,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ }, "purpur": { isTFC: false, + collapsible: false, brick: 'minecraft:popped_chorus_fruit', bricks: { block: 'minecraft:purpur_block', @@ -741,6 +753,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ // Thermal Vent Deposit "sulphuric_rock": { material: 'tfg:igneous_mafic', + collapsible: false, isTFC: false, sound: 'dripstone_block', mapColor: 'terracotta_light_gray', @@ -806,6 +819,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ material: 'tfg:sedimentary_clastic', tfcTag: 'tfc:sedimentary_items', isTFC: false, + collapsible: false, dimensions: ['ad_astra:venus'], raw: { block: 'ad_astra:conglomerate' }, gravel: 'tfc:rock/gravel/conglomerate', @@ -880,6 +894,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ "stone": { material: 'stone', + collapsible: false, sound: 'stone', mapColor: 'stone', support: 'tfg:stone_support', @@ -902,6 +917,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ }, "light_concrete": { material: 'concrete', + collapsible: false, sound: 'stone', mapColor: 'color_light_gray', support: 'tfg:light_concrete_support', @@ -932,6 +948,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ }, "dark_concrete": { material: 'concrete', + collapsible: false, sound: 'stone', mapColor: 'color_gray', support: 'tfg:dark_concrete_support', @@ -961,6 +978,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ ] }, "titanium_concrete": { + collapsible: false, sound: 'stone', stonecutterTag: 'tfg:stone_types/titanium_concrete', raw: { block: 'tfg:titanium_concrete' }, @@ -975,6 +993,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ }, "brick": { material: 'brick', + collapsible: false, sound: 'stone', stonecutterTag: 'tfg:stone_types/red_bricks', bricks: generateFormsExisting('brick', 'minecraft:%s', { block: 'minecraft:bricks' }, @@ -996,6 +1015,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ "asurine": { material: 'asurine', + collapsible: false, dimensions: ['ad_astra:moon'], pillar: 'create:asurine_pillar', pillar2: 'create:layered_asurine', @@ -1010,6 +1030,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ }, "ochrum": { material: 'ochrum', + collapsible: false, dimensions: ['ad_astra:mars'], pillar: 'create:ochrum_pillar', pillar2: 'create:layered_ochrum', @@ -1024,6 +1045,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ }, "crimsite": { material: 'crimsite', + collapsible: false, dimensions: ['ad_astra:venus'], pillar: 'create:crimsite_pillar', pillar2: 'create:layered_crimsite', @@ -1038,6 +1060,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ }, "veridium": { material: 'veridium', + collapsible: false, dimensions: ['ad_astra:glacio'], pillar: 'create:veridium_pillar', pillar2: 'create:layered_veridium', @@ -1059,6 +1082,7 @@ global.CREATE_DECO_BRICK_TYPES.forEach(color => { global.BIG_ROCK_TABLE[`${color}_brick`] = { material: 'brick', + collapsible: false, sound: 'stone', stonecutterTag: `tfg:stone_types/${color}_brick`, bricks: generateFormsExisting(color, 'createdeco:%s_brick', { block: `createdeco:${color}_bricks` }, From 48d2e0b47915b232cd4d792321b5b2d268ab20b1 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 21 Jan 2026 23:30:13 +0000 Subject: [PATCH 183/474] delete sylvite --- CHANGELOG.md | 1 + kubejs/assets/gtceu/lang/ru_ru.json | 96 ++- .../en_us/entries/beneath/curious_blocks.json | 5 + .../entries/beneath/ores_and_minerals.json | 20 - .../entries/tfg_ores/earth_vein_index.json | 104 +-- .../entries/tfg_ores/mars_vein_index.json | 62 +- .../entries/tfg_ores/moon_vein_index.json | 58 +- .../entries/tfg_ores/nether_ore_index.json | 7 +- .../entries/tfg_ores/nether_vein_index.json | 103 +-- .../entries/tfg_ores/venus_vein_index.json | 6 +- .../entries/tfg_ores/earth_vein_index.json | 104 +-- .../entries/tfg_ores/mars_vein_index.json | 62 +- .../entries/tfg_ores/moon_vein_index.json | 58 +- .../entries/tfg_ores/nether_ore_index.json | 7 +- .../entries/tfg_ores/nether_vein_index.json | 103 +-- .../entries/tfg_ores/venus_vein_index.json | 6 +- .../entries/tfg_ores/earth_ore_index.json | 16 +- .../entries/tfg_ores/earth_vein_index.json | 312 ++++--- .../entries/tfg_ores/mars_ore_index.json | 15 +- .../entries/tfg_ores/mars_vein_index.json | 262 ++++-- .../entries/tfg_ores/moon_ore_index.json | 4 +- .../entries/tfg_ores/moon_vein_index.json | 64 +- .../entries/tfg_ores/nether_ore_index.json | 11 +- .../entries/tfg_ores/nether_vein_index.json | 138 ++-- .../entries/tfg_ores/venus_ore_index.json | 22 + .../entries/tfg_ores/venus_vein_index.json | 181 +++++ .../entries/tfg_ores/earth_ore_index.json | 8 +- .../entries/tfg_ores/earth_vein_index.json | 116 +-- .../entries/tfg_ores/mars_ore_index.json | 6 +- .../entries/tfg_ores/mars_vein_index.json | 72 +- .../entries/tfg_ores/moon_ore_index.json | 4 +- .../entries/tfg_ores/moon_vein_index.json | 60 +- .../entries/tfg_ores/nether_ore_index.json | 9 +- .../entries/tfg_ores/nether_vein_index.json | 109 +-- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/venus_vein_index.json | 10 +- .../entries/beneath/ores_and_minerals.json | 20 - .../entries/tfg_ores/earth_ore_index.json | 10 +- .../entries/tfg_ores/earth_vein_index.json | 446 +++++----- .../entries/tfg_ores/mars_ore_index.json | 10 +- .../entries/tfg_ores/mars_vein_index.json | 176 ++-- .../entries/tfg_ores/moon_ore_index.json | 10 +- .../entries/tfg_ores/moon_vein_index.json | 760 +++++++++--------- .../entries/tfg_ores/nether_ore_index.json | 13 +- .../entries/tfg_ores/nether_vein_index.json | 441 +++++----- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/venus_vein_index.json | 16 +- .../entries/beneath/ores_and_minerals.json | 20 - .../entries/tfg_ores/earth_ore_index.json | 8 +- .../entries/tfg_ores/earth_vein_index.json | 112 +-- .../entries/tfg_ores/mars_ore_index.json | 6 +- .../entries/tfg_ores/mars_vein_index.json | 70 +- .../entries/tfg_ores/moon_ore_index.json | 6 +- .../entries/tfg_ores/moon_vein_index.json | 60 +- .../entries/tfg_ores/nether_ore_index.json | 15 +- .../entries/tfg_ores/nether_vein_index.json | 111 +-- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/venus_vein_index.json | 8 +- .../entries/beneath/ores_and_minerals.json | 20 - .../entries/tfg_ores/earth_ore_index.json | 12 +- .../entries/tfg_ores/earth_vein_index.json | 112 +-- .../entries/tfg_ores/mars_ore_index.json | 8 +- .../entries/tfg_ores/mars_vein_index.json | 66 +- .../entries/tfg_ores/moon_ore_index.json | 10 +- .../entries/tfg_ores/moon_vein_index.json | 60 +- .../entries/tfg_ores/nether_ore_index.json | 19 +- .../entries/tfg_ores/nether_vein_index.json | 107 +-- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/venus_vein_index.json | 10 +- kubejs/assets/tfg/lang/en_us.json | 1 - kubejs/assets/tfg/lang/fr_fr.json | 1 - kubejs/assets/tfg/lang/pt_br.json | 1 - kubejs/assets/tfg/lang/ru_ru.json | 27 +- kubejs/assets/tfg/lang/uk_ua.json | 1 - kubejs/assets/tfg/lang/zh_cn.json | 1 - .../nether/vein/nether_sylvite.json | 38 - .../nether/vein/nether_sylvite.json | 5 - kubejs/server_scripts/beneath/recipes.js | 1 + kubejs/server_scripts/beneath/tags.js | 3 - kubejs/server_scripts/tfc/tags.js | 1 - kubejs/server_scripts/tfg/tags.veins.js | 1 - 81 files changed, 2576 insertions(+), 2476 deletions(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/venus_ore_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/venus_vein_index.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sylvite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sylvite.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 6352c63e4..bfc2d3886 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ ### Changes - Fixed balancing issues with the Aquaponics Loop. @Redeix - Mars log electric greenhouse recipes now output the same amount of logs as earth log recipes @Pyritie +- Geodes (in newly generated chunks) are now completely solid so they won't cause cave-ins any more @Pyritie ### Bug fixes - Fixed a config bug causing waves to deposit shells etc with 100% chance. @Mqrius - Fixed a bug preventing the Pisciculture Fishery and Hydroponics Facility from overclocking. @Redeix diff --git a/kubejs/assets/gtceu/lang/ru_ru.json b/kubejs/assets/gtceu/lang/ru_ru.json index 00e39cc53..011cd3904 100644 --- a/kubejs/assets/gtceu/lang/ru_ru.json +++ b/kubejs/assets/gtceu/lang/ru_ru.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.bud_indicator": "Поверхностная друза (%s)", + "block.gtceu.salt_block": "Соль(Блок)", "block.gtceu.greenhouse": "Теплица", "block.tfg.steam_bloomery": "Паровой сыродутный горн", "block.tfg.steam_thermal_centrifuge": "Паровая термальная центрифуга", @@ -23,9 +24,6 @@ "block.gtceu.ulv_super_chest": "Обычный супер сундук", "block.gtceu.ulv_hermetic_casing": "Обычный герметичный корпус", "block.gtceu.hv_energy_output_hatch_4a": "§6Энергетический выходной разъём (4А HV)§r", - "block.tfg.bioreactor": "Биореактор", - "block.tfg.growth_chamber": "Ростовая камера", - "block.tfg.single_itemstack_bus": "Ограничивающий входной люк", "block.gtceu.red_granite_cobblestone": "Красно-гранитный булыжник", "block.gtceu.mossy_red_granite_cobblestone": "Замшелый красно-гранитный булыжник", "block.gtceu.copper_crate": "Медный ящик", @@ -36,47 +34,11 @@ "block.gtceu.bismuth_bronze_drum": "Бочка из висмутовой бронзы", "block.gtceu.overworld_marker": "Земля", "block.gtceu.the_nether_marker": "Бездна", + "block.tfg.bioreactor": "Биореактор", + "block.tfg.growth_chamber": "Ростовая камера", + "block.tfg.single_itemstack_bus": "Ограничивающий входной люк", "block.tfg.hydroponics_facility": "Гидропонная установка", "block.tfg.pisciculture_fishery": "Промышленный рыболов", - "gtceu.greenhouse": "Электрическая теплица", - "gtceu.steam_bloomery": "Паровой сыродутный горн", - "gtceu.food_oven": "Духовка", - "gtceu.food_processor": "Кухонный комбайн", - "gtceu.large_solar_panel": "Большой солнечный массив MK I", - "gtceu.large_solar_panel_tier2": "Большой солнечный массив MK II", - "gtceu.large_solar_panel_tier3": "Большой солнечный массив MK III", - "gtceu.gas_pressurizer": "Газовый компрессор", - "gtceu.nuclear_fuel_factory": "Завод по производству ядерного топлива", - "gtceu.nuclear_turbine": "Ядерная паровая турбина", - "gtceu.heat_exchanger": "Теплообменник", - "gtceu.fission_reactor": "Ядерный реактор", - "gtceu.evaporation_tower": "Испарительная колонна", - "gtceu.ostrum_harvester": "Сборщика острума", - "gtceu.moon_dust_harvester": "Сборщик лунной пыли", - "gtceu.ostrum_linear_accelerator": "Линейный ускоритель острума", - "gtceu.bioreactor": "Биореактор", - "gtceu.growth_chamber": "Ростовая камера", - "gtceu.coal_liquefaction_tower": "Башня сжижения угля", - "gtceu.smr_generator": "Малая модульная турбина", - "gtceu.hydroponics_facility": "Гидропонная установка", - "gtceu.pisciculture_fishery": "Промышленный рыболов", - "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_3": "§7Для работы требуется буровой раствор.§r", - "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7Бозон Хиггса в сделку не входил.§r", - "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7Разлагает пыль Острума на составляющие. Требует различных жидкостей из ядерной линии.§r", - "gtceu.tooltip.machine.heat_exchanger_1": "§7Нагревание жидкостей с другими горячими жидкостями§r", - "gtceu.tooltip.machine.heat_exchanger_2": "§7Передает тепло от одной жидкости к другой.§r", - "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7Производство особо опасных стержней§r", - "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7Обрабатывает радиоактивный материал в ядерное топливо.§r", - "gtceu.tooltip.machine.steam_bloomery_1": "§7Улучшите свой горн с помощью возможностей пара!§r", - "gtceu.tooltip.machine.steam_bloomery_2": "§7Перерабатывает железосодержащую пыль или слитки в крицу.§r", - "gtceu.tooltip.machine.steam_bloomery_3": "§7Рецепты с коксом или антрацитом удвоят производительность.§r", - "gtceu.tooltip.machine.steam_parallel": "§7Может обрабатывать до 8 рецептов одновременно, что влияет на количество необходимого пара§r", - "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Аппарат для приготовления смузи§r", - "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Извлекает газы и жидкости из твердого угля§r", "item.gtceu.tiny_wood_dust": "Крохотная кучка массы из мягкого дерева", "item.gtceu.small_wood_dust": "Маленькая кучка массы из мягкого дерева", "item.gtceu.wood_dust": "Масса из мягкого дерева", @@ -130,6 +92,9 @@ "item.gtceu.naquadah_credit": "§7262,144 Credits", "item.gtceu.neutronium_credit": "§72,097,152 Credits", "item.gtceu.wood_plate": "МДФ доска", + "item.gtceu.salt_dust": "Соль", + "item.gtceu.small_salt_dust": "Соль(Маленькая кучка пыли)", + "item.gtceu.tiny_salt_dust": "Соль(Крохотная кучка пыли)", "item.gtceu.chipped_salt_gem": "Соль (Осколок)", "item.gtceu.flawed_salt_gem": "Соль (Необработанный)", "item.gtceu.salt_gem": "Соль (Кристалл)", @@ -141,11 +106,17 @@ "material.gtceu.air": "Земной воздух", "material.gtceu.liquid_air": "Сжиженный земной воздух", "material.gtceu.cooperite": "Куперит", + "material.gtceu.rock_salt": "Сильвин", + "material.gtceu.salt": "Галит", + "material.gtceu.quartzite": "Кварц", "material.gtceu.armalcolite": "Армалколит", "material.gtceu.desh": "Деш", "material.gtceu.ostrum": "Острум", "material.tfg.calorite": "Калорит", "material.tfg.etrium": "Этриум", + "material.gtceu.tarkianite": "Таркианит", + "material.gtceu.thorium": "Торианит", + "material.gtceu.dimethylbenzene": "Ксилол", "material.gtceu.aluminium_silicate": "Алюмосиликат", "material.gtceu.rocket_alloy_t1": "Красный алюминиево-стальной ракетный сплав", "material.gtceu.rocket_alloy_t2": "ASM 4914 титановый ракетный сплав", @@ -218,6 +189,28 @@ "gtceu.recipe.category.ingot_molding": "Material Molding", "tooltip.moldraw.shift_view_molecule": "§7§oЗажми Shift для молекулярной структуры§r", "tooltip.moldraw.shift_view_alloy": "§7§oЗажми Shift для состава сплава§r", + "gtceu.greenhouse": "Электрическая теплица", + "gtceu.steam_bloomery": "Паровой сыродутный горн", + "gtceu.food_oven": "Духовка", + "gtceu.food_processor": "Кухонный комбайн", + "gtceu.large_solar_panel": "Большой солнечный массив MK I", + "gtceu.large_solar_panel_tier2": "Большой солнечный массив MK II", + "gtceu.large_solar_panel_tier3": "Большой солнечный массив MK III", + "gtceu.gas_pressurizer": "Газовый компрессор", + "gtceu.nuclear_fuel_factory": "Завод по производству ядерного топлива", + "gtceu.nuclear_turbine": "Ядерная паровая турбина", + "gtceu.heat_exchanger": "Теплообменник", + "gtceu.fission_reactor": "Ядерный реактор", + "gtceu.evaporation_tower": "Испарительная колонна", + "gtceu.ostrum_harvester": "Сборщика острума", + "gtceu.moon_dust_harvester": "Сборщик лунной пыли", + "gtceu.ostrum_linear_accelerator": "Линейный ускоритель острума", + "gtceu.bioreactor": "Биореактор", + "gtceu.growth_chamber": "Ростовая камера", + "gtceu.coal_liquefaction_tower": "Башня сжижения угля", + "gtceu.smr_generator": "Малая модульная турбина", + "gtceu.hydroponics_facility": "Гидропонная установка", + "gtceu.pisciculture_fishery": "Промышленный рыболов", "tagprefix.sword_head": "%s (Оголовье меча)", "tagprefix.pickaxe_head": "%s (Оголовье кирки)", "tagprefix.shovel_head": "%s (Оголовье лопаты)", @@ -259,5 +252,22 @@ "tagprefix.mars_stone": "%s (Аргиллитовая руда)", "tagprefix.venus_stone": "%s (Трахитовая руда)", "tagprefix.mercury_stone": "%s (Коматиитовая руда)", - "tagprefix.glacio_stone": "%s (Фонолитовая руда)" + "tagprefix.glacio_stone": "%s (Фонолитовая руда)", + "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_3": "§7Для работы требуется буровой раствор.§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7Бозон Хиггса в сделку не входил.§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7Разлагает пыль Острума на составляющие. Требует различных жидкостей из ядерной линии.§r", + "gtceu.tooltip.machine.heat_exchanger_1": "§7Нагревание жидкостей с другими горячими жидкостями§r", + "gtceu.tooltip.machine.heat_exchanger_2": "§7Передает тепло от одной жидкости к другой.§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7Производство особо опасных стержней§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7Обрабатывает радиоактивный материал в ядерное топливо.§r", + "gtceu.tooltip.machine.steam_bloomery_1": "§7Улучшите свой горн с помощью возможностей пара!§r", + "gtceu.tooltip.machine.steam_bloomery_2": "§7Перерабатывает железосодержащую пыль или слитки в крицу.§r", + "gtceu.tooltip.machine.steam_bloomery_3": "§7Рецепты с коксом или антрацитом удвоят производительность.§r", + "gtceu.tooltip.machine.steam_parallel": "§7Может обрабатывать до 8 рецептов одновременно, что влияет на количество необходимого пара§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Аппарат для приготовления смузи§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Извлекает газы и жидкости из твердого угля§r" } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/curious_blocks.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/curious_blocks.json index a677605ba..7f23524fa 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/curious_blocks.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/curious_blocks.json @@ -13,6 +13,11 @@ "recipe": "tfg:shapeless/hellbricks_from_soot", "text": "Hellbricks are a building block that are also used for the Hellforge." }, + { + "type": "patchouli:showcase", + "item": "beneath:ancient_altar", + "text": "The Pyroxenite Pedestal can be used to display items you want to show off!" + }, { "type": "patchouli:crafting", "recipe": "beneath:crafting/blackstone_brick", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/ores_and_minerals.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/ores_and_minerals.json index 5f8505451..859bbe29a 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/ores_and_minerals.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/ores_and_minerals.json @@ -44,26 +44,6 @@ "name": "Anthracite", "text": "Anthracite is a powerful $(l:beneath/hellforge)fuel$(). It can be found in Migmatite in the upper half of the Beneath.", "enable_visualize": false - }, - { - "type": "patchouli:multiblock", - "anchor": "sylvite", - "multiblock": { - "pattern": [ - [ - "X" - ], - [ - "0" - ] - ], - "mapping": { - "X": "beneath:ore/blackstone_sylvite" - } - }, - "name": "Sylvite", - "text": "Sylvite is a fertiliser that can be found in Pyroxenite in the lower half of the Beneath.", - "enable_visualize": false } ], "read_by_default": true 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 e0316d381..934ef99bb 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 @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Gneiss, Limestone, Marble, Phyllite, Quartzite, Schist, Shale, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 26$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 8$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Gneiss, Limestone, Marble, Phyllite, Quartzite, Schist, Shale, Slate", "title": "Amethyst & Garnet", "type": "patchouli:text", "anchor": "deep_garnet_amethyst" @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Size$(): 34$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 120$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 34$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "normal_apatite" @@ -198,7 +198,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/205$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/205 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 50$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "normal_monazite" @@ -265,7 +265,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 30$(br)$(thing)Size$(): 26$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -40 — 30$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 26$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Bentonite & Olivine", "type": "patchouli:text", "anchor": "normal_olivine" @@ -357,7 +357,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", "title": "Bismuth (Normal)", "type": "patchouli:text", "anchor": "normal_bismuthinite" @@ -449,7 +449,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 60 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", "title": "Bismuth (Surface)", "type": "patchouli:text", "anchor": "surface_bismuthinite" @@ -541,7 +541,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Cassiterite (Normal)", "type": "patchouli:text", "anchor": "normal_cassiterite" @@ -608,7 +608,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/135$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/135 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 60 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Cassiterite (Surface)", "type": "patchouli:text", "anchor": "surface_cassiterite" @@ -675,7 +675,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 217$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 217$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Chalcopyrite & Realgar", "type": "patchouli:text", "anchor": "surface_copper" @@ -767,7 +767,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/225$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Marble, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/225 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Marble, Shale", "title": "Chromite & Magnetite", "type": "patchouli:text", "anchor": "deep_magnetite" @@ -874,7 +874,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Coal", "type": "patchouli:text", "anchor": "normal_coal" @@ -901,7 +901,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/320$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/320 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Cooperite & Bornite", "type": "patchouli:text", "anchor": "deep_sheldonite" @@ -968,7 +968,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 85$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 85$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "normal_copper" @@ -1060,7 +1060,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 50$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -1122,12 +1122,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", + "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/270$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 64$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/270 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -40 — 64$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", "title": "Garnet & Cassiterite Sands", "type": "patchouli:text", "anchor": "normal_garnet_tin" @@ -1219,7 +1219,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 70$(br2)$(thing)Stone Types$(): Diorite, Gabbro$(br2)Can't find it? Gabbro always spawns below $(thing)Basalt$(), and Gabbro dikes in oceans can be useful too!", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 70$(br2)$(thing)Stone Types$(): Diorite, Gabbro$(br2)Can't find it? Gabbro always spawns below $(thing)Basalt$(), and Gabbro dikes in oceans can be useful too!", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "normal_garnierite" @@ -1326,7 +1326,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/240$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 32$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Limestone, Marble", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/240 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 32$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Limestone, Marble", "title": "Goethite & Malachite", "type": "patchouli:text", "anchor": "deep_limonite" @@ -1418,7 +1418,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 32$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/260 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 32$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Gold (Deep)", "type": "patchouli:text", "anchor": "deep_gold" @@ -1510,7 +1510,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 12$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 12$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Gold, Limonite, & Hematite", "type": "patchouli:text", "anchor": "normal_gold" @@ -1602,7 +1602,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/80$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Size$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/80 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — -16$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "normal_graphite" @@ -1669,7 +1669,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 9$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Gypsum & Calcite", "type": "patchouli:text", "anchor": "normal_gypsum" @@ -1761,7 +1761,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "normal_hematite" @@ -1853,7 +1853,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Hematite, Goethite, & Ruby", "type": "patchouli:text", "anchor": "deep_hematite" @@ -1960,7 +1960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 36$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 36$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "normal_mica" @@ -2052,7 +2052,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -60 — 10$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -60 — 10$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Lapis, Lazurite, & Sodalite", "type": "patchouli:text", "anchor": "normal_lapis" @@ -2144,7 +2144,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Limestone, Marble", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Limestone, Marble", "title": "Limonite", "type": "patchouli:text", "anchor": "normal_limonite" @@ -2236,7 +2236,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Magnetite & Vanadium", "type": "patchouli:text", "anchor": "normal_magnetite" @@ -2328,7 +2328,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/195$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Rhyolite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/195 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Rhyolite, Shale", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "normal_manganese" @@ -2420,7 +2420,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 48$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Basalt, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 48$(br)$(thing)Height$(): 9$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Basalt, Granite", "title": "Mineral Sands", "type": "patchouli:text", "anchor": "normal_basaltic_sands" @@ -2512,7 +2512,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/185$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/185 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Oilsands", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -2539,7 +2539,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 62$(br)$(thing)Size$(): 26$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 62$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 26$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Opal & Garnet", "type": "patchouli:text", "anchor": "deep_garnet_opal" @@ -2631,7 +2631,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Gneiss, Quartzite, Schist, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Gneiss, Quartzite, Schist, Shale", "title": "Quartzes", "type": "patchouli:text", "anchor": "normal_quartz" @@ -2698,7 +2698,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Granite$(br2)Can't find it? Granite always spawns below $(thing)Rhyolite$(), and looking in oceans can be useful too!", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Granite$(br2)Can't find it? Granite always spawns below $(thing)Rhyolite$(), and looking in oceans can be useful too!", "title": "Redstone, Cinnabar, & Ruby", "type": "patchouli:text", "anchor": "normal_redstone" @@ -2765,7 +2765,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Saltpeter & Electrotine", "type": "patchouli:text", "anchor": "normal_saltpeter" @@ -2857,7 +2857,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/175$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 30 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 4$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Claystone, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/175 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 30 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 4$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Claystone, Limestone, Shale", "title": "Salts & Borax", "type": "patchouli:text", "anchor": "normal_salt" @@ -2879,7 +2879,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 40%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 40%$(br)$(thing)Source of$(): Potassium, Chlorine, Fertilizer$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { @@ -2949,7 +2949,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 32$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 32$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Rhyolite", "title": "Sapphire & Almandine", "type": "patchouli:text", "anchor": "deep_sapphire" @@ -3041,7 +3041,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/240$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/240 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "deep_scheelite" @@ -3108,7 +3108,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Granite", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "normal_silver" @@ -3175,7 +3175,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 56$(br)$(thing)Size$(): 36$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -40 — 56$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 36$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Soapstone, Talc, & Trona", "type": "patchouli:text", "anchor": "normal_lubricant" @@ -3282,7 +3282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "normal_sphalerite" @@ -3349,7 +3349,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/145$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/145 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 60 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", "title": "Sphalerite & Sulfur", "type": "patchouli:text", "anchor": "surface_sphalerite" @@ -3416,7 +3416,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 37.5%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 20 — 60$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 38%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Spodumene & Lepidolite", "type": "patchouli:text", "anchor": "normal_spodumene" @@ -3478,7 +3478,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 20%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 20%$(br)$(thing)Source of$(): Potassium, Chlorine, Fertilizer$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { @@ -3508,7 +3508,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/165$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/165 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "normal_sulfur" @@ -3575,7 +3575,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate$(br2)Only appears in deserts to the $(thing)South-West$(), with a minimum temperature of 7°C and a maximum rainfall of 100mm.", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate$(br2)Only appears in deserts to the $(thing)South-West$(), with a minimum temperature of 7°C and a maximum rainfall of 100mm.", "title": "Tarkianite & Oilsands", "type": "patchouli:text", "anchor": "normal_tarkianite" @@ -3667,7 +3667,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Tetrahedrite (Normal)", "type": "patchouli:text", "anchor": "normal_tetrahedrite" @@ -3734,7 +3734,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 60 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Tetrahedrite (Surface)", "type": "patchouli:text", "anchor": "surface_tetrahedrite" @@ -3801,7 +3801,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 7$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/260 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 26$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 28$(br)$(thing)Height$(): 7$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Topaz & Chalcocite", "type": "patchouli:text", "anchor": "deep_topaz" @@ -3893,7 +3893,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/240$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — -20$(br)$(thing)Size$(): 19$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/240 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — -20$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 19$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Uraninite & Pitchblende", "type": "patchouli:text", "anchor": "deep_pitchblende" @@ -3960,7 +3960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/245$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 10$(br)$(thing)Size$(): 26$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/245 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 10$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 26$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Wulfenite & Molybdenite", "type": "patchouli:text", "anchor": "deep_molybdenum" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json index f4980a0ad..a57acc1ba 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/280$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 65$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chert, Claystone, Diorite, Dolomite, Gabbro, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/280 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 65$(br)$(thing)Height$(): 8$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chert, Claystone, Diorite, Dolomite, Gabbro, Limestone, Red Granite, Shale, Trachyte", "title": "Almandine & Sapphire", "type": "patchouli:text", "anchor": "mars_almandine" @@ -136,7 +136,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Limestone, Red Granite, Shale, Trachyte", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "mars_apatite" @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Trachyte", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Bismuth", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/370$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Conglomerate, Dacite, Diorite, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Conglomerate, Dacite, Diorite, Red Granite, Trachyte", "title": "Bornite & Cooperite", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/135$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/135 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Cassiterite", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -571,7 +571,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 60%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 10$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 60%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 10$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Red Granite, Trachyte", "title": "Coal & Hematite", "type": "patchouli:text", "anchor": "mars_coal" @@ -623,7 +623,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Shale, Trachyte", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "mars_copper" @@ -715,7 +715,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/350$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): -20 — 50$(br)$(thing)Height$(): 40$(br)$(thing)Radius$(): 8$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/350 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 50$(br)$(thing)Height$(): 40$(br)$(thing)Radius$(): 8$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "mars_beryllium" @@ -782,7 +782,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Red Granite, Shale", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "mars_nickel" @@ -874,7 +874,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Diorite, Gabbro, Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Diorite, Gabbro, Granite, Shale", "title": "Gold, Electrotine, & Bauxite", "type": "patchouli:text", "anchor": "mars_gold" @@ -966,7 +966,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Argillite, Dacite, Diorite, Gabbro, Granite, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Argillite, Dacite, Diorite, Gabbro, Granite, Red Granite, Trachyte", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "mars_graphite" @@ -1058,7 +1058,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Red Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Red Granite", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1150,7 +1150,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1242,7 +1242,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Dolomite, Limestone, Shale", "title": "Lapis, Lazurite, & Sodalite", "type": "patchouli:text", "anchor": "mars_lapis" @@ -1334,7 +1334,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 42$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Gabbro, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 42$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Gabbro, Limestone, Red Granite, Shale, Trachyte", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "mars_tantalite" @@ -1426,7 +1426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", "title": "Pitchblende & Thorianite, & Hematite", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -1468,7 +1468,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 29%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", + "text": "$(thing)Percentage$(): 29%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1493,7 +1493,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/370$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Claystone, Dacite, Diorite, Gabbro, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Claystone, Dacite, Diorite, Gabbro, Shale, Trachyte", "title": "Pitchblende, Thorianite, & Uraninite", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -1535,7 +1535,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 26%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", + "text": "$(thing)Percentage$(): 26%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1560,7 +1560,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Quartzite, Asbestos, & Barite", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1652,7 +1652,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/370$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Limestone, Shale", "title": "Redstone & Chromite", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1719,7 +1719,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Red Granite, Trachyte", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "mars_salt" @@ -1781,7 +1781,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 20%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 20%$(br)$(thing)Source of$(): Potassium, Chlorine, Fertilizer$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { @@ -1811,7 +1811,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/280$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Dolomite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/280 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Dolomite, Limestone, Red Granite, Shale", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "mars_tungsten" @@ -1903,7 +1903,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Gabbro, Granite, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Gabbro, Granite, Red Granite, Shale", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "mars_galena" @@ -1995,7 +1995,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/150$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Sphalerite & Galena", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2102,7 +2102,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Gabbro, Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Gabbro, Granite, Trachyte", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "mars_sulfur" @@ -2194,7 +2194,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Normal)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2286,7 +2286,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Surface)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2378,7 +2378,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Red Granite, Shale", "title": "Trona, Talc, & Glauconite", "type": "patchouli:text", "anchor": "mars_lubricant" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_vein_index.json index 8353cf942..1bcb6ca3b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 7$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 10 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)Height$(): 7$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Rhyolite", "title": "Amethyst, Opal, & Garnet", "type": "patchouli:text", "anchor": "moon_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Norite", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "moon_apatite" @@ -213,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/310$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/310 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "moon_monazite" @@ -305,7 +305,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 80$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Norite, Phonolite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 80$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Norite, Phonolite, Rhyolite", "title": "Bauxite & Ilmenite", "type": "patchouli:text", "anchor": "moon_bauxite" @@ -372,7 +372,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 10 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Norite", "title": "Cassiterite & Chalcopyrite", "type": "patchouli:text", "anchor": "moon_cassiterite" @@ -464,7 +464,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 80$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 10 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 80$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", "title": "Certus Quartz", "type": "patchouli:text", "anchor": "moon_quartz" @@ -556,7 +556,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/280$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/280 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 90$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", "title": "Chromite & Magnetite", "type": "patchouli:text", "anchor": "moon_magnetite" @@ -663,7 +663,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Phonolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/260 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Phonolite", "title": "Cooperite & Bornite", "type": "patchouli:text", "anchor": "moon_sheldonite" @@ -755,7 +755,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 10 — 80$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro", "title": "Desh & Ilmenite", "type": "patchouli:text", "anchor": "moon_desh" @@ -847,7 +847,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 70$(br)$(thing)Radius$(): 8$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Phonolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/260 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 120$(br)$(thing)Height$(): 70$(br)$(thing)Radius$(): 8$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Phonolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "moon_beryllium" @@ -909,7 +909,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 18%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 18%$(br)$(thing)Source of$(): Potassium, Chlorine, Fertilizer$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { @@ -949,12 +949,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", + "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 5 — 85$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 5 — 85$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Rhyolite", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "moon_garnierite" @@ -1061,7 +1061,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 10$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Basalt, Diorite, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 10 — 80$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)Height$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Basalt, Diorite, Granite", "title": "Gold & Magnetite", "type": "patchouli:text", "anchor": "moon_gold" @@ -1153,7 +1153,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Basalt, Gabbro, Phonolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/260 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Basalt, Gabbro, Phonolite", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "moon_graphite" @@ -1220,7 +1220,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Size$(): 30$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Norite, Phonolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 10 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)Height$(): 9$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Norite, Phonolite", "title": "Gypsum & Calcite", "type": "patchouli:text", "anchor": "moon_gypsum" @@ -1327,7 +1327,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 120$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "moon_mica" @@ -1434,7 +1434,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 5 — 80$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Basalt, Dacite, Gabbro, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 5 — 80$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Basalt, Dacite, Gabbro, Norite", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "moon_manganese" @@ -1526,7 +1526,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 80$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Gabbro, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 80$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Gabbro, Norite", "title": "Pyrolusite and Cobalt", "type": "patchouli:text", "anchor": "moon_pyrolusite" @@ -1618,7 +1618,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 100$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite", "title": "Redstone, Cinnabar, & Ruby", "type": "patchouli:text", "anchor": "moon_redstone" @@ -1710,7 +1710,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Norite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 90$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Norite, Rhyolite", "title": "Saltpeter & Electrotine", "type": "patchouli:text", "anchor": "moon_saltpeter" @@ -1802,7 +1802,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/280$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Basalt, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/280 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Basalt, Norite", "title": "Sapphire & Almandine", "type": "patchouli:text", "anchor": "moon_sapphire" @@ -1909,7 +1909,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Gabbro, Phonolite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Gabbro, Phonolite, Rhyolite", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "moon_scheelite" @@ -1976,7 +1976,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 75$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Dacite, Diorite, Norite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Dacite, Diorite, Norite, Rhyolite", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "moon_silver" @@ -2068,7 +2068,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 66$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Gabbro, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 66$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Gabbro, Norite", "title": "Soapstone, Talc, & Trona", "type": "patchouli:text", "anchor": "moon_lubricant" @@ -2175,7 +2175,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/205$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 2 — 75$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro, Phonolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/205 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 2 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro, Phonolite", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "moon_sphalerite" @@ -2242,7 +2242,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 50 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 50 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", "title": "Tetrahedrite & Chalcocite", "type": "patchouli:text", "anchor": "moon_tetrahedrite" @@ -2334,7 +2334,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Size$(): 45$(br)$(thing)Height$(): 16$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 120$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)Height$(): 16$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", "title": "Topaz & Chalcocite", "type": "patchouli:text", "anchor": "moon_topaz" @@ -2426,7 +2426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/245$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 50$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Basalt, Dacite, Gabbro, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/245 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 50$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Basalt, Dacite, Gabbro, Norite", "title": "Wulfenite & Molybdenite", "type": "patchouli:text", "anchor": "moon_molybdenum" 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 039aa2204..ddc7bb62c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/nether_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/nether_ore_index.json @@ -44,12 +44,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Sylvite: $(l:tfg_ores/nether_vein_index#nether_sylvite)100%$(/l)$()$(li)Talc: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Thorianite: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Tin: $(l:tfg_ores/nether_vein_index#nether_cassiterite)54%$(/l)$()$(li)Topaz: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/nether_vein_index#nether_molybdenum)42%$(/l), $(l:tfg_ores/nether_vein_index#nether_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()", - "type": "patchouli:text" - }, - { - "Type": "patchouli:text", - "text": "$(li)Yellow Limonite: $(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)$()", + "text": "$(li)Talc: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Thorianite: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Tin: $(l:tfg_ores/nether_vein_index#nether_cassiterite)54%$(/l)$()$(li)Topaz: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/nether_vein_index#nether_molybdenum)42%$(/l), $(l:tfg_ores/nether_vein_index#nether_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()$(li)Yellow Limonite: $(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)$()", "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 0009ea1f4..3de956a2f 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 @@ -24,12 +24,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_lubricant)Soapstone, Talc, & Trona$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sphalerite)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sylvite)Sylvite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_tetrahedrite)Tetrahedrite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_molybdenum)Wulfenite & Molybdenite$()$()", + "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_lubricant)Soapstone, Talc, & Trona$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sphalerite)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_tetrahedrite)Tetrahedrite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_molybdenum)Wulfenite & Molybdenite$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Amethyst, Opal, & Garnet", "type": "patchouli:text", "anchor": "nether_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/35$(br)$(thing)Density$(): 80%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 48 — 127$(br)$(thing)Size$(): 13$(br)$(thing)Height$(): 4$(br2)$(thing)Stone Types$(): Migmatite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/35 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 80%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 48 — 127$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 13$(br)$(thing)Height$(): 4$(br2)$(thing)Stone Types$(): Migmatite", "title": "Anthracite", "type": "patchouli:text", "anchor": "nether_anthracite" @@ -148,7 +148,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Size$(): 39$(br2)$(thing)Stone Types$(): Gneiss, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 48 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 39$(br2)$(thing)Stone Types$(): Gneiss, Schist", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "nether_apatite" @@ -215,7 +215,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/245$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/245 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 24 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "nether_monazite" @@ -282,7 +282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 31$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 24 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 31$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Bentonite & Olivine", "type": "patchouli:text", "anchor": "nether_olivine" @@ -374,7 +374,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Cassiterite", "type": "patchouli:text", "anchor": "nether_cassiterite" @@ -441,7 +441,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/205$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 39$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/205 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 39$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Chromite", "type": "patchouli:text", "anchor": "nether_magnetite" @@ -548,7 +548,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Cooperite & Bornite", "type": "patchouli:text", "anchor": "nether_sheldonite" @@ -640,7 +640,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "nether_copper" @@ -732,7 +732,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "nether_beryllium" @@ -794,7 +794,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 18%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 18%$(br)$(thing)Source of$(): Potassium, Chlorine, Fertilizer$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { @@ -814,7 +814,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", + "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -824,7 +824,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/270$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Migmatite, Pyroxenite, Schist, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/270 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 24 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Migmatite, Pyroxenite, Schist, Travertine", "title": "Garnet & Cassiterite Sands", "type": "patchouli:text", "anchor": "nether_garnet_tin" @@ -916,7 +916,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 16 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Pyroxenite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 16 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Pyroxenite", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "nether_garnierite" @@ -1023,7 +1023,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/240$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 37$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/240 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 37$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Goethite", "type": "patchouli:text", "anchor": "nether_goethite" @@ -1115,7 +1115,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 37$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/260 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 37$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Gold & Hematite", "type": "patchouli:text", "anchor": "nether_gold" @@ -1207,7 +1207,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/120$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/120 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "nether_graphite" @@ -1274,7 +1274,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", "title": "Gypsum & Calcite", "type": "patchouli:text", "anchor": "nether_gypsum" @@ -1366,7 +1366,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "nether_hematite" @@ -1473,7 +1473,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "nether_mica" @@ -1540,7 +1540,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 40$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", "title": "Lapis, Lazurite, & Sodalite", "type": "patchouli:text", "anchor": "nether_lapis" @@ -1632,7 +1632,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/225$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/225 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "nether_manganese" @@ -1724,7 +1724,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Size$(): 48$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Basalt, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 48 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 48$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Basalt, Granite", "title": "Mineral Sands", "type": "patchouli:text", "anchor": "nether_basaltic_sands" @@ -1816,7 +1816,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 70%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 38$(br)$(thing)Size$(): 32$(br2)$(thing)Stone Types$(): Basalt, Pyroxenite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 70%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 38$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 32$(br2)$(thing)Stone Types$(): Basalt, Pyroxenite", "title": "Naquadah", "type": "patchouli:text", "anchor": "nether_naquadah" @@ -1843,7 +1843,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/150$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Diorite, Gabbro, Granite, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Basalt, Diorite, Gabbro, Granite, Migmatite, Pyroxenite, Travertine", "title": "Nether Quartz", "type": "patchouli:text", "anchor": "nether_quartz" @@ -1910,7 +1910,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Granite, Pyroxenite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Granite, Pyroxenite", "title": "Redstone, Cinnabar, & Ruby", "type": "patchouli:text", "anchor": "nether_redstone" @@ -1977,7 +1977,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Saltpeter & Electrotine", "type": "patchouli:text", "anchor": "nether_saltpeter" @@ -2069,7 +2069,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 33$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 33$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Sapphire & Almandine", "type": "patchouli:text", "anchor": "nether_sapphire" @@ -2161,7 +2161,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 25$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 25$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "nether_scheelite" @@ -2228,7 +2228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Granite, Pyroxenite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 24 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Granite, Pyroxenite", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "nether_silver" @@ -2295,7 +2295,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Soapstone, Talc, & Trona", "type": "patchouli:text", "anchor": "nether_lubricant" @@ -2402,7 +2402,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "nether_sphalerite" @@ -2469,7 +2469,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/165$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 50$(br2)$(thing)Stone Types$(): Basalt, Diorite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/165 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br2)$(thing)Stone Types$(): Basalt, Diorite, Pyroxenite, Schist", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "nether_sulfur" @@ -2536,34 +2536,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/75$(br)$(thing)Density$(): 60%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 64$(br)$(thing)Size$(): 17$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Pyroxenite", - "title": "Sylvite", - "type": "patchouli:text", - "anchor": "nether_sylvite" - }, - { - "Type": "patchouli:multiblock", - "name": "Sylvite", - "multiblock": { - "mapping": { - "0": "beneath:ore/blackstone_sylvite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Percentage$(): 100%$(br)$(thing)Used for$(): Fertilizer$(br)$(thing)Formula$(): KCl", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Migmatite, Pyroxenite, Schist, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Migmatite, Pyroxenite, Schist, Travertine", "title": "Tetrahedrite", "type": "patchouli:text", "anchor": "nether_tetrahedrite" @@ -2630,7 +2603,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 33$(br)$(thing)Height$(): 7$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 33$(br)$(thing)Height$(): 7$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Topaz & Chalcocite", "type": "patchouli:text", "anchor": "nether_topaz" @@ -2722,7 +2695,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 24$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 24$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Uraninite & Pitchblende", "type": "patchouli:text", "anchor": "nether_pitchblende" @@ -2789,7 +2762,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/245$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 31$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/245 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 31$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Wulfenite & Molybdenite", "type": "patchouli:text", "anchor": "nether_molybdenum" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json index 0167853c8..b24ac9b4c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/30$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Salt Flats$() biome.", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -61,7 +61,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 10%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 10%$(br)$(thing)Source of$(): Potassium, Chlorine, Fertilizer$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/30$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "venus_manual_sulfur" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/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 e0316d381..934ef99bb 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 @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Gneiss, Limestone, Marble, Phyllite, Quartzite, Schist, Shale, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 26$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 8$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Gneiss, Limestone, Marble, Phyllite, Quartzite, Schist, Shale, Slate", "title": "Amethyst & Garnet", "type": "patchouli:text", "anchor": "deep_garnet_amethyst" @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Size$(): 34$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 120$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 34$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "normal_apatite" @@ -198,7 +198,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/205$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/205 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 50$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "normal_monazite" @@ -265,7 +265,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 30$(br)$(thing)Size$(): 26$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -40 — 30$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 26$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Bentonite & Olivine", "type": "patchouli:text", "anchor": "normal_olivine" @@ -357,7 +357,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", "title": "Bismuth (Normal)", "type": "patchouli:text", "anchor": "normal_bismuthinite" @@ -449,7 +449,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 60 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", "title": "Bismuth (Surface)", "type": "patchouli:text", "anchor": "surface_bismuthinite" @@ -541,7 +541,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Cassiterite (Normal)", "type": "patchouli:text", "anchor": "normal_cassiterite" @@ -608,7 +608,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/135$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/135 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 60 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Cassiterite (Surface)", "type": "patchouli:text", "anchor": "surface_cassiterite" @@ -675,7 +675,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 217$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 217$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Chalcopyrite & Realgar", "type": "patchouli:text", "anchor": "surface_copper" @@ -767,7 +767,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/225$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Marble, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/225 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Marble, Shale", "title": "Chromite & Magnetite", "type": "patchouli:text", "anchor": "deep_magnetite" @@ -874,7 +874,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Coal", "type": "patchouli:text", "anchor": "normal_coal" @@ -901,7 +901,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/320$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/320 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Cooperite & Bornite", "type": "patchouli:text", "anchor": "deep_sheldonite" @@ -968,7 +968,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 85$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 85$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "normal_copper" @@ -1060,7 +1060,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 50$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -1122,12 +1122,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", + "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/270$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 64$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/270 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -40 — 64$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", "title": "Garnet & Cassiterite Sands", "type": "patchouli:text", "anchor": "normal_garnet_tin" @@ -1219,7 +1219,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 70$(br2)$(thing)Stone Types$(): Diorite, Gabbro$(br2)Can't find it? Gabbro always spawns below $(thing)Basalt$(), and Gabbro dikes in oceans can be useful too!", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 70$(br2)$(thing)Stone Types$(): Diorite, Gabbro$(br2)Can't find it? Gabbro always spawns below $(thing)Basalt$(), and Gabbro dikes in oceans can be useful too!", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "normal_garnierite" @@ -1326,7 +1326,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/240$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 32$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Limestone, Marble", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/240 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 32$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Limestone, Marble", "title": "Goethite & Malachite", "type": "patchouli:text", "anchor": "deep_limonite" @@ -1418,7 +1418,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 32$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/260 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 32$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Gold (Deep)", "type": "patchouli:text", "anchor": "deep_gold" @@ -1510,7 +1510,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 12$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 12$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Gold, Limonite, & Hematite", "type": "patchouli:text", "anchor": "normal_gold" @@ -1602,7 +1602,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/80$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Size$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/80 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — -16$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "normal_graphite" @@ -1669,7 +1669,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 9$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Gypsum & Calcite", "type": "patchouli:text", "anchor": "normal_gypsum" @@ -1761,7 +1761,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "normal_hematite" @@ -1853,7 +1853,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Hematite, Goethite, & Ruby", "type": "patchouli:text", "anchor": "deep_hematite" @@ -1960,7 +1960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 36$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 36$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "normal_mica" @@ -2052,7 +2052,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -60 — 10$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -60 — 10$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Lapis, Lazurite, & Sodalite", "type": "patchouli:text", "anchor": "normal_lapis" @@ -2144,7 +2144,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Limestone, Marble", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Limestone, Marble", "title": "Limonite", "type": "patchouli:text", "anchor": "normal_limonite" @@ -2236,7 +2236,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Magnetite & Vanadium", "type": "patchouli:text", "anchor": "normal_magnetite" @@ -2328,7 +2328,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/195$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Rhyolite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/195 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Rhyolite, Shale", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "normal_manganese" @@ -2420,7 +2420,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 48$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Basalt, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 48$(br)$(thing)Height$(): 9$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Basalt, Granite", "title": "Mineral Sands", "type": "patchouli:text", "anchor": "normal_basaltic_sands" @@ -2512,7 +2512,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/185$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/185 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Oilsands", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -2539,7 +2539,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 62$(br)$(thing)Size$(): 26$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 62$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 26$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Opal & Garnet", "type": "patchouli:text", "anchor": "deep_garnet_opal" @@ -2631,7 +2631,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Gneiss, Quartzite, Schist, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Gneiss, Quartzite, Schist, Shale", "title": "Quartzes", "type": "patchouli:text", "anchor": "normal_quartz" @@ -2698,7 +2698,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Granite$(br2)Can't find it? Granite always spawns below $(thing)Rhyolite$(), and looking in oceans can be useful too!", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Granite$(br2)Can't find it? Granite always spawns below $(thing)Rhyolite$(), and looking in oceans can be useful too!", "title": "Redstone, Cinnabar, & Ruby", "type": "patchouli:text", "anchor": "normal_redstone" @@ -2765,7 +2765,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Saltpeter & Electrotine", "type": "patchouli:text", "anchor": "normal_saltpeter" @@ -2857,7 +2857,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/175$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 30 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 4$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Claystone, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/175 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 30 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 4$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Claystone, Limestone, Shale", "title": "Salts & Borax", "type": "patchouli:text", "anchor": "normal_salt" @@ -2879,7 +2879,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 40%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 40%$(br)$(thing)Source of$(): Potassium, Chlorine, Fertilizer$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { @@ -2949,7 +2949,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 32$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 32$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Rhyolite", "title": "Sapphire & Almandine", "type": "patchouli:text", "anchor": "deep_sapphire" @@ -3041,7 +3041,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/240$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/240 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "deep_scheelite" @@ -3108,7 +3108,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Granite", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "normal_silver" @@ -3175,7 +3175,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 56$(br)$(thing)Size$(): 36$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -40 — 56$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 36$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Soapstone, Talc, & Trona", "type": "patchouli:text", "anchor": "normal_lubricant" @@ -3282,7 +3282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "normal_sphalerite" @@ -3349,7 +3349,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/145$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/145 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 60 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", "title": "Sphalerite & Sulfur", "type": "patchouli:text", "anchor": "surface_sphalerite" @@ -3416,7 +3416,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 37.5%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 20 — 60$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 38%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Spodumene & Lepidolite", "type": "patchouli:text", "anchor": "normal_spodumene" @@ -3478,7 +3478,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 20%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 20%$(br)$(thing)Source of$(): Potassium, Chlorine, Fertilizer$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { @@ -3508,7 +3508,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/165$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/165 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "normal_sulfur" @@ -3575,7 +3575,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate$(br2)Only appears in deserts to the $(thing)South-West$(), with a minimum temperature of 7°C and a maximum rainfall of 100mm.", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate$(br2)Only appears in deserts to the $(thing)South-West$(), with a minimum temperature of 7°C and a maximum rainfall of 100mm.", "title": "Tarkianite & Oilsands", "type": "patchouli:text", "anchor": "normal_tarkianite" @@ -3667,7 +3667,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Tetrahedrite (Normal)", "type": "patchouli:text", "anchor": "normal_tetrahedrite" @@ -3734,7 +3734,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 60 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Tetrahedrite (Surface)", "type": "patchouli:text", "anchor": "surface_tetrahedrite" @@ -3801,7 +3801,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 7$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/260 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 26$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 28$(br)$(thing)Height$(): 7$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Topaz & Chalcocite", "type": "patchouli:text", "anchor": "deep_topaz" @@ -3893,7 +3893,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/240$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — -20$(br)$(thing)Size$(): 19$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/240 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — -20$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 19$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Uraninite & Pitchblende", "type": "patchouli:text", "anchor": "deep_pitchblende" @@ -3960,7 +3960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/245$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 10$(br)$(thing)Size$(): 26$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/245 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 10$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 26$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Wulfenite & Molybdenite", "type": "patchouli:text", "anchor": "deep_molybdenum" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json index f4980a0ad..a57acc1ba 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/280$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 65$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chert, Claystone, Diorite, Dolomite, Gabbro, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/280 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 65$(br)$(thing)Height$(): 8$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chert, Claystone, Diorite, Dolomite, Gabbro, Limestone, Red Granite, Shale, Trachyte", "title": "Almandine & Sapphire", "type": "patchouli:text", "anchor": "mars_almandine" @@ -136,7 +136,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Limestone, Red Granite, Shale, Trachyte", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "mars_apatite" @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Trachyte", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Bismuth", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/370$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Conglomerate, Dacite, Diorite, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Conglomerate, Dacite, Diorite, Red Granite, Trachyte", "title": "Bornite & Cooperite", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/135$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/135 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Cassiterite", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -571,7 +571,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 60%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 10$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 60%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 10$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Red Granite, Trachyte", "title": "Coal & Hematite", "type": "patchouli:text", "anchor": "mars_coal" @@ -623,7 +623,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Shale, Trachyte", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "mars_copper" @@ -715,7 +715,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/350$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): -20 — 50$(br)$(thing)Height$(): 40$(br)$(thing)Radius$(): 8$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/350 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 50$(br)$(thing)Height$(): 40$(br)$(thing)Radius$(): 8$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "mars_beryllium" @@ -782,7 +782,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Red Granite, Shale", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "mars_nickel" @@ -874,7 +874,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Diorite, Gabbro, Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Diorite, Gabbro, Granite, Shale", "title": "Gold, Electrotine, & Bauxite", "type": "patchouli:text", "anchor": "mars_gold" @@ -966,7 +966,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Argillite, Dacite, Diorite, Gabbro, Granite, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Argillite, Dacite, Diorite, Gabbro, Granite, Red Granite, Trachyte", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "mars_graphite" @@ -1058,7 +1058,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Red Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Red Granite", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1150,7 +1150,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1242,7 +1242,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Dolomite, Limestone, Shale", "title": "Lapis, Lazurite, & Sodalite", "type": "patchouli:text", "anchor": "mars_lapis" @@ -1334,7 +1334,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 42$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Gabbro, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 42$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Gabbro, Limestone, Red Granite, Shale, Trachyte", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "mars_tantalite" @@ -1426,7 +1426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", "title": "Pitchblende & Thorianite, & Hematite", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -1468,7 +1468,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 29%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", + "text": "$(thing)Percentage$(): 29%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1493,7 +1493,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/370$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Claystone, Dacite, Diorite, Gabbro, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Claystone, Dacite, Diorite, Gabbro, Shale, Trachyte", "title": "Pitchblende, Thorianite, & Uraninite", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -1535,7 +1535,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 26%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", + "text": "$(thing)Percentage$(): 26%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1560,7 +1560,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Quartzite, Asbestos, & Barite", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1652,7 +1652,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/370$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Limestone, Shale", "title": "Redstone & Chromite", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1719,7 +1719,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Red Granite, Trachyte", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "mars_salt" @@ -1781,7 +1781,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 20%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 20%$(br)$(thing)Source of$(): Potassium, Chlorine, Fertilizer$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { @@ -1811,7 +1811,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/280$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Dolomite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/280 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Dolomite, Limestone, Red Granite, Shale", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "mars_tungsten" @@ -1903,7 +1903,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Gabbro, Granite, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Gabbro, Granite, Red Granite, Shale", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "mars_galena" @@ -1995,7 +1995,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/150$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Sphalerite & Galena", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2102,7 +2102,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Gabbro, Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Gabbro, Granite, Trachyte", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "mars_sulfur" @@ -2194,7 +2194,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Normal)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2286,7 +2286,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/140$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Surface)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2378,7 +2378,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Red Granite, Shale", "title": "Trona, Talc, & Glauconite", "type": "patchouli:text", "anchor": "mars_lubricant" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_vein_index.json index 8353cf942..1bcb6ca3b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 7$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 10 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)Height$(): 7$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Rhyolite", "title": "Amethyst, Opal, & Garnet", "type": "patchouli:text", "anchor": "moon_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Norite", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "moon_apatite" @@ -213,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/310$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/310 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "moon_monazite" @@ -305,7 +305,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 80$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Norite, Phonolite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 80$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Norite, Phonolite, Rhyolite", "title": "Bauxite & Ilmenite", "type": "patchouli:text", "anchor": "moon_bauxite" @@ -372,7 +372,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 10 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Norite", "title": "Cassiterite & Chalcopyrite", "type": "patchouli:text", "anchor": "moon_cassiterite" @@ -464,7 +464,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 80$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 10 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 80$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", "title": "Certus Quartz", "type": "patchouli:text", "anchor": "moon_quartz" @@ -556,7 +556,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/280$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/280 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 90$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", "title": "Chromite & Magnetite", "type": "patchouli:text", "anchor": "moon_magnetite" @@ -663,7 +663,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Phonolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/260 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Phonolite", "title": "Cooperite & Bornite", "type": "patchouli:text", "anchor": "moon_sheldonite" @@ -755,7 +755,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 10 — 80$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro", "title": "Desh & Ilmenite", "type": "patchouli:text", "anchor": "moon_desh" @@ -847,7 +847,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 70$(br)$(thing)Radius$(): 8$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Phonolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/260 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 120$(br)$(thing)Height$(): 70$(br)$(thing)Radius$(): 8$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Phonolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "moon_beryllium" @@ -909,7 +909,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 18%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 18%$(br)$(thing)Source of$(): Potassium, Chlorine, Fertilizer$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { @@ -949,12 +949,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", + "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 5 — 85$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 5 — 85$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Rhyolite", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "moon_garnierite" @@ -1061,7 +1061,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 10$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Basalt, Diorite, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 10 — 80$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)Height$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Basalt, Diorite, Granite", "title": "Gold & Magnetite", "type": "patchouli:text", "anchor": "moon_gold" @@ -1153,7 +1153,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Basalt, Gabbro, Phonolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/260 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Basalt, Gabbro, Phonolite", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "moon_graphite" @@ -1220,7 +1220,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Size$(): 30$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Norite, Phonolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 10 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)Height$(): 9$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Norite, Phonolite", "title": "Gypsum & Calcite", "type": "patchouli:text", "anchor": "moon_gypsum" @@ -1327,7 +1327,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 120$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "moon_mica" @@ -1434,7 +1434,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/215$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 5 — 80$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Basalt, Dacite, Gabbro, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 5 — 80$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Basalt, Dacite, Gabbro, Norite", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "moon_manganese" @@ -1526,7 +1526,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 80$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Gabbro, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 80$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Gabbro, Norite", "title": "Pyrolusite and Cobalt", "type": "patchouli:text", "anchor": "moon_pyrolusite" @@ -1618,7 +1618,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 100$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite", "title": "Redstone, Cinnabar, & Ruby", "type": "patchouli:text", "anchor": "moon_redstone" @@ -1710,7 +1710,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Norite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 90$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Norite, Rhyolite", "title": "Saltpeter & Electrotine", "type": "patchouli:text", "anchor": "moon_saltpeter" @@ -1802,7 +1802,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/280$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Basalt, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/280 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Basalt, Norite", "title": "Sapphire & Almandine", "type": "patchouli:text", "anchor": "moon_sapphire" @@ -1909,7 +1909,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Gabbro, Phonolite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Gabbro, Phonolite, Rhyolite", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "moon_scheelite" @@ -1976,7 +1976,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 75$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Dacite, Diorite, Norite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Dacite, Diorite, Norite, Rhyolite", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "moon_silver" @@ -2068,7 +2068,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 25%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 66$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Gabbro, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 66$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Gabbro, Norite", "title": "Soapstone, Talc, & Trona", "type": "patchouli:text", "anchor": "moon_lubricant" @@ -2175,7 +2175,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/205$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 2 — 75$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro, Phonolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/205 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 2 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro, Phonolite", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "moon_sphalerite" @@ -2242,7 +2242,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/190$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 50 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 50 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", "title": "Tetrahedrite & Chalcocite", "type": "patchouli:text", "anchor": "moon_tetrahedrite" @@ -2334,7 +2334,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Size$(): 45$(br)$(thing)Height$(): 16$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 120$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)Height$(): 16$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", "title": "Topaz & Chalcocite", "type": "patchouli:text", "anchor": "moon_topaz" @@ -2426,7 +2426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/245$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 50$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Basalt, Dacite, Gabbro, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/245 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 50$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Basalt, Dacite, Gabbro, Norite", "title": "Wulfenite & Molybdenite", "type": "patchouli:text", "anchor": "moon_molybdenum" 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 039aa2204..ddc7bb62c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/nether_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/nether_ore_index.json @@ -44,12 +44,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Sylvite: $(l:tfg_ores/nether_vein_index#nether_sylvite)100%$(/l)$()$(li)Talc: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Thorianite: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Tin: $(l:tfg_ores/nether_vein_index#nether_cassiterite)54%$(/l)$()$(li)Topaz: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/nether_vein_index#nether_molybdenum)42%$(/l), $(l:tfg_ores/nether_vein_index#nether_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()", - "type": "patchouli:text" - }, - { - "Type": "patchouli:text", - "text": "$(li)Yellow Limonite: $(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)$()", + "text": "$(li)Talc: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Thorianite: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Tin: $(l:tfg_ores/nether_vein_index#nether_cassiterite)54%$(/l)$()$(li)Topaz: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/nether_vein_index#nether_molybdenum)42%$(/l), $(l:tfg_ores/nether_vein_index#nether_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()$(li)Yellow Limonite: $(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)$()", "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 0009ea1f4..3de956a2f 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 @@ -24,12 +24,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_lubricant)Soapstone, Talc, & Trona$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sphalerite)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sylvite)Sylvite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_tetrahedrite)Tetrahedrite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_molybdenum)Wulfenite & Molybdenite$()$()", + "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_lubricant)Soapstone, Talc, & Trona$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sphalerite)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_tetrahedrite)Tetrahedrite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_molybdenum)Wulfenite & Molybdenite$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/230$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Amethyst, Opal, & Garnet", "type": "patchouli:text", "anchor": "nether_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/35$(br)$(thing)Density$(): 80%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 48 — 127$(br)$(thing)Size$(): 13$(br)$(thing)Height$(): 4$(br2)$(thing)Stone Types$(): Migmatite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/35 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 80%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 48 — 127$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 13$(br)$(thing)Height$(): 4$(br2)$(thing)Stone Types$(): Migmatite", "title": "Anthracite", "type": "patchouli:text", "anchor": "nether_anthracite" @@ -148,7 +148,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Size$(): 39$(br2)$(thing)Stone Types$(): Gneiss, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 48 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 39$(br2)$(thing)Stone Types$(): Gneiss, Schist", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "nether_apatite" @@ -215,7 +215,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/245$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/245 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 24 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "nether_monazite" @@ -282,7 +282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 31$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 24 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 31$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Bentonite & Olivine", "type": "patchouli:text", "anchor": "nether_olivine" @@ -374,7 +374,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Cassiterite", "type": "patchouli:text", "anchor": "nether_cassiterite" @@ -441,7 +441,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/205$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 39$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/205 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 39$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Chromite", "type": "patchouli:text", "anchor": "nether_magnetite" @@ -548,7 +548,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Cooperite & Bornite", "type": "patchouli:text", "anchor": "nether_sheldonite" @@ -640,7 +640,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "nether_copper" @@ -732,7 +732,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "nether_beryllium" @@ -794,7 +794,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 18%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 18%$(br)$(thing)Source of$(): Potassium, Chlorine, Fertilizer$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { @@ -814,7 +814,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", + "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -824,7 +824,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/270$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Migmatite, Pyroxenite, Schist, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/270 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 24 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Migmatite, Pyroxenite, Schist, Travertine", "title": "Garnet & Cassiterite Sands", "type": "patchouli:text", "anchor": "nether_garnet_tin" @@ -916,7 +916,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 16 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Pyroxenite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 16 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Pyroxenite", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "nether_garnierite" @@ -1023,7 +1023,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/240$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 37$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/240 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 37$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Goethite", "type": "patchouli:text", "anchor": "nether_goethite" @@ -1115,7 +1115,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/260$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 37$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/260 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 37$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Gold & Hematite", "type": "patchouli:text", "anchor": "nether_gold" @@ -1207,7 +1207,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/120$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/120 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "nether_graphite" @@ -1274,7 +1274,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", "title": "Gypsum & Calcite", "type": "patchouli:text", "anchor": "nether_gypsum" @@ -1366,7 +1366,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "nether_hematite" @@ -1473,7 +1473,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "nether_mica" @@ -1540,7 +1540,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/220$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 40$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", "title": "Lapis, Lazurite, & Sodalite", "type": "patchouli:text", "anchor": "nether_lapis" @@ -1632,7 +1632,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/225$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/225 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "nether_manganese" @@ -1724,7 +1724,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Size$(): 48$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Basalt, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 48 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 48$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Basalt, Granite", "title": "Mineral Sands", "type": "patchouli:text", "anchor": "nether_basaltic_sands" @@ -1816,7 +1816,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/200$(br)$(thing)Density$(): 70%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 38$(br)$(thing)Size$(): 32$(br2)$(thing)Stone Types$(): Basalt, Pyroxenite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 70%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 38$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 32$(br2)$(thing)Stone Types$(): Basalt, Pyroxenite", "title": "Naquadah", "type": "patchouli:text", "anchor": "nether_naquadah" @@ -1843,7 +1843,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/150$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Diorite, Gabbro, Granite, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Basalt, Diorite, Gabbro, Granite, Migmatite, Pyroxenite, Travertine", "title": "Nether Quartz", "type": "patchouli:text", "anchor": "nether_quartz" @@ -1910,7 +1910,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Granite, Pyroxenite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Granite, Pyroxenite", "title": "Redstone, Cinnabar, & Ruby", "type": "patchouli:text", "anchor": "nether_redstone" @@ -1977,7 +1977,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/210$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Saltpeter & Electrotine", "type": "patchouli:text", "anchor": "nether_saltpeter" @@ -2069,7 +2069,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 33$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 33$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Sapphire & Almandine", "type": "patchouli:text", "anchor": "nether_sapphire" @@ -2161,7 +2161,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 45%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 25$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 25$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "nether_scheelite" @@ -2228,7 +2228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/160$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Granite, Pyroxenite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 24 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Granite, Pyroxenite", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "nether_silver" @@ -2295,7 +2295,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 35%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Soapstone, Talc, & Trona", "type": "patchouli:text", "anchor": "nether_lubricant" @@ -2402,7 +2402,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "nether_sphalerite" @@ -2469,7 +2469,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/165$(br)$(thing)Density$(): 30%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 50$(br2)$(thing)Stone Types$(): Basalt, Diorite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/165 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br2)$(thing)Stone Types$(): Basalt, Diorite, Pyroxenite, Schist", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "nether_sulfur" @@ -2536,34 +2536,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/75$(br)$(thing)Density$(): 60%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 64$(br)$(thing)Size$(): 17$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Pyroxenite", - "title": "Sylvite", - "type": "patchouli:text", - "anchor": "nether_sylvite" - }, - { - "Type": "patchouli:multiblock", - "name": "Sylvite", - "multiblock": { - "mapping": { - "0": "beneath:ore/blackstone_sylvite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Percentage$(): 100%$(br)$(thing)Used for$(): Fertilizer$(br)$(thing)Formula$(): KCl", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/170$(br)$(thing)Density$(): 50%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Migmatite, Pyroxenite, Schist, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Migmatite, Pyroxenite, Schist, Travertine", "title": "Tetrahedrite", "type": "patchouli:text", "anchor": "nether_tetrahedrite" @@ -2630,7 +2603,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/180$(br)$(thing)Density$(): 40%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 33$(br)$(thing)Height$(): 7$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 33$(br)$(thing)Height$(): 7$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Topaz & Chalcocite", "type": "patchouli:text", "anchor": "nether_topaz" @@ -2722,7 +2695,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/250$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 24$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 24$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Uraninite & Pitchblende", "type": "patchouli:text", "anchor": "nether_pitchblende" @@ -2789,7 +2762,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/245$(br)$(thing)Density$(): 55.00000000000001%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 31$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/245 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 31$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Wulfenite & Molybdenite", "type": "patchouli:text", "anchor": "nether_molybdenum" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json index 0167853c8..b24ac9b4c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/30$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Salt Flats$() biome.", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -61,7 +61,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 10%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 10%$(br)$(thing)Source of$(): Potassium, Chlorine, Fertilizer$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 1/30$(br)$(thing)Density$(): 20%$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "venus_manual_sulfur" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_ore_index.json index 9489fa748..f7d325389 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_ore_index.json @@ -14,42 +14,42 @@ }, { "Type": "patchouli:text", - "text": "$(li)Almandine: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)Alunite: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)Amethyst: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)Apatite: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)Asbestos: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)Barite: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)Basaltic Mineral Sands: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)Bauxite: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Bentonite: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Beryllium: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)85%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)72%$(/l)$()$(li)Blue Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)Borax: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()", + "text": "$(li)Almandine: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)Alunite: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)Amethyst: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)Apatite: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)Asbestos: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)Barite: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)Basaltic Mineral Sands: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)Bauxite: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Bentonite: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Beryllium: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Blue Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)Borax: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()", "type": "patchouli:text" }, { "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" }, { "Type": "patchouli:text", - "text": "$(li)Electrotine: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()$(li)Emerald: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Fuller's Earth: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)Galena: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Garnet Sand: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Garnierite: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Glauconite Sand: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Goethite: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Granitic Mineral Sand: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Graphite: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)Green Sapphire: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)Grossular: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)Gypsum: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)Hematite: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()", + "text": "$(li)Electrotine: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()$(li)Emerald: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Fuller's Earth: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)Galena: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Garnet Sand: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Garnierite: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Glauconite Sand: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Goethite: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Granitic Mineral Sand: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Graphite: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)Green Sapphire: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)Grossular: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)Gypsum: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)Halite: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Kyanite: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Lapis: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesite: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Malachite: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molybdenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazite: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Native Copper: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()", + "text": "$(li)Hematite: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Kyanite: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Lapis: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesite: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Malachite: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molybdenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazite: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Native Copper: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)5%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)Pyrolusite: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", + "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", "type": "patchouli:text" }, { "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)Pyrolusite: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Pyrope: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)Quartz: $(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)Ruby: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/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)$()$(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)$()", "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)8%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)40%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()", + "text": "$(li)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)Sylvite: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tarkianite: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorianite: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)35%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Vanadium Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Yellow Limonite: $(l:tfg_ores/earth_vein_index#normal_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l)$()$(li)Zeolite: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()", + "text": "$(li)Uraninite: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Yellow Limonite: $(l:tfg_ores/earth_vein_index#normal_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l)$()$(li)Zeolite: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json index 11d948edc..934ef99bb 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)Wulfenite & Molybdenite$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Tarkianite & Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)Wulfenite & Molybdenite$()$()", "type": "patchouli:text" }, { @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Gneiss, Limestone, Marble, Phyllite, Quartzite, Schist, Shale, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 26$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 8$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Gneiss, Limestone, Marble, Phyllite, Quartzite, Schist, Shale, Slate", "title": "Amethyst & Garnet", "type": "patchouli:text", "anchor": "deep_garnet_amethyst" @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 34$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 120$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 34$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "normal_apatite" @@ -198,7 +198,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 205$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/205 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 50$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "normal_monazite" @@ -265,7 +265,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 30$(br)$(thing)Size$(): 26$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -40 — 30$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 26$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Bentonite & Olivine", "type": "patchouli:text", "anchor": "normal_olivine" @@ -357,7 +357,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", "title": "Bismuth (Normal)", "type": "patchouli:text", "anchor": "normal_bismuthinite" @@ -379,7 +379,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 72%$(br)$(thing)Melts into$(): Bismuth$(br)$(thing)Formula$(): Bi", + "text": "$(thing)Percentage$(): 70%$(br)$(thing)Melts into$(): Bismuth$(br)$(thing)Formula$(): Bi", "type": "patchouli:multiblock" }, { @@ -399,7 +399,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 10%$(br)$(thing)Smelts into$(): Lead$(br)$(thing)Formula$(): Pb$(br)$(thing)Hazard$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", + "text": "$(thing)Percentage$(): 11%$(br)$(thing)Smelts into$(): Lead$(br)$(thing)Formula$(): Pb$(br)$(thing)Hazard$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -419,7 +419,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 9%$(br)$(thing)Melts into$(): Silver$(br)$(thing)Formula$(): Ag", + "text": "$(thing)Percentage$(): 10%$(br)$(thing)Melts into$(): Silver$(br)$(thing)Formula$(): Ag", "type": "patchouli:multiblock" }, { @@ -439,7 +439,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 8%$(br)$(thing)Source of$(): Sulfur$(br)$(thing)Formula$(): S", + "text": "$(thing)Percentage$(): 9%$(br)$(thing)Source of$(): Sulfur$(br)$(thing)Formula$(): S", "type": "patchouli:multiblock" }, { @@ -449,7 +449,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 140$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 60 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Diorite, Dolomite, Gabbro, Granite, Limestone, Shale", "title": "Bismuth (Surface)", "type": "patchouli:text", "anchor": "surface_bismuthinite" @@ -471,7 +471,27 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 85%$(br)$(thing)Melts into$(): Bismuth$(br)$(thing)Formula$(): Bi", + "text": "$(thing)Percentage$(): 80%$(br)$(thing)Melts into$(): Bismuth$(br)$(thing)Formula$(): Bi", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Native Silver", + "multiblock": { + "mapping": { + "0": "#forge:ores/silver" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 10%$(br)$(thing)Melts into$(): Silver$(br)$(thing)Formula$(): Ag", "type": "patchouli:multiblock" }, { @@ -494,26 +514,6 @@ "text": "$(thing)Percentage$(): 7%$(br)$(thing)Smelts into$(): Lead$(br)$(thing)Formula$(): Pb$(br)$(thing)Hazard$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", "type": "patchouli:multiblock" }, - { - "Type": "patchouli:multiblock", - "name": "Native Silver", - "multiblock": { - "mapping": { - "0": "#forge:ores/silver" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Percentage$(): 5%$(br)$(thing)Melts into$(): Silver$(br)$(thing)Formula$(): Ag", - "type": "patchouli:multiblock" - }, { "Type": "patchouli:multiblock", "name": "Sulfur", @@ -541,7 +541,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Cassiterite (Normal)", "type": "patchouli:text", "anchor": "normal_cassiterite" @@ -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,17 +583,32 @@ ] }, "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", - "text": "$(thing)Rarity$(): 135$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/135 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 60 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Cassiterite (Surface)", "type": "patchouli:text", "anchor": "surface_cassiterite" @@ -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,17 +650,32 @@ ] }, "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", - "text": "$(thing)Rarity$(): 200$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 217$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 217$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Chalcopyrite & Realgar", "type": "patchouli:text", "anchor": "surface_copper" @@ -737,7 +767,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 225$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/225 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Marble, Shale", "title": "Chromite & Magnetite", "type": "patchouli:text", "anchor": "deep_magnetite" @@ -844,7 +874,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 215$(br)$(thing)Density$(): 0.55$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Coal", "type": "patchouli:text", "anchor": "normal_coal" @@ -871,7 +901,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 320$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/320 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Cooperite & Bornite", "type": "patchouli:text", "anchor": "deep_sheldonite" @@ -938,7 +968,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 85$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 85$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "normal_copper" @@ -1030,7 +1060,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 50$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -1077,7 +1107,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Thorium", + "name": "Thorianite", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1092,12 +1122,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): Th", + "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 270$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 64$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/270 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -40 — 64$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", "title": "Garnet & Cassiterite Sands", "type": "patchouli:text", "anchor": "normal_garnet_tin" @@ -1189,7 +1219,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 70$(br2)$(thing)Stone Types$(): Diorite, Gabbro$(br2)Can't find it? Gabbro always spawns below $(thing)Basalt$(), and Gabbro dikes in oceans can be useful too!", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 70$(br2)$(thing)Stone Types$(): Diorite, Gabbro$(br2)Can't find it? Gabbro always spawns below $(thing)Basalt$(), and Gabbro dikes in oceans can be useful too!", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "normal_garnierite" @@ -1296,7 +1326,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 240$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 32$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Limestone, Marble", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/240 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 32$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Limestone, Marble", "title": "Goethite & Malachite", "type": "patchouli:text", "anchor": "deep_limonite" @@ -1388,7 +1418,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 260$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 32$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/260 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 32$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Gold (Deep)", "type": "patchouli:text", "anchor": "deep_gold" @@ -1480,7 +1510,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 12$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 12$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Gold, Limonite, & Hematite", "type": "patchouli:text", "anchor": "normal_gold" @@ -1572,7 +1602,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 80$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Size$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/80 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — -16$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "normal_graphite" @@ -1639,7 +1669,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 9$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Gypsum & Calcite", "type": "patchouli:text", "anchor": "normal_gypsum" @@ -1731,7 +1761,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "normal_hematite" @@ -1823,7 +1853,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Hematite, Goethite, & Ruby", "type": "patchouli:text", "anchor": "deep_hematite" @@ -1930,7 +1960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 36$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 36$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "normal_mica" @@ -2022,7 +2052,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -60 — 10$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -60 — 10$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Lapis, Lazurite, & Sodalite", "type": "patchouli:text", "anchor": "normal_lapis" @@ -2114,7 +2144,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Limestone, Marble", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Limestone, Marble", "title": "Limonite", "type": "patchouli:text", "anchor": "normal_limonite" @@ -2206,7 +2236,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 200$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Magnetite & Vanadium", "type": "patchouli:text", "anchor": "normal_magnetite" @@ -2298,7 +2328,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 195$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Rhyolite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/195 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Rhyolite, Shale", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "normal_manganese" @@ -2390,7 +2420,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 48$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Basalt, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 48$(br)$(thing)Height$(): 9$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Basalt, Granite", "title": "Mineral Sands", "type": "patchouli:text", "anchor": "normal_basaltic_sands" @@ -2482,7 +2512,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 185$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/185 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Oilsands", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -2509,7 +2539,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 62$(br)$(thing)Size$(): 26$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 62$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 26$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Opal & Garnet", "type": "patchouli:text", "anchor": "deep_garnet_opal" @@ -2601,14 +2631,14 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Gneiss, Quartzite, Schist, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Gneiss, Quartzite, Schist, Shale", "title": "Quartzes", "type": "patchouli:text", "anchor": "normal_quartz" }, { "Type": "patchouli:multiblock", - "name": "Quartzite", + "name": "Quartz", "multiblock": { "mapping": { "0": "#forge:ores/quartzite" @@ -2668,7 +2698,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Granite$(br2)Can't find it? Granite always spawns below $(thing)Rhyolite$(), and looking in oceans can be useful too!", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Granite$(br2)Can't find it? Granite always spawns below $(thing)Rhyolite$(), and looking in oceans can be useful too!", "title": "Redstone, Cinnabar, & Ruby", "type": "patchouli:text", "anchor": "normal_redstone" @@ -2735,7 +2765,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Saltpeter & Electrotine", "type": "patchouli:text", "anchor": "normal_saltpeter" @@ -2827,14 +2857,14 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 175$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 30 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 4$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Claystone, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/175 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 30 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 4$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Claystone, Limestone, Shale", "title": "Salts & Borax", "type": "patchouli:text", "anchor": "normal_salt" }, { "Type": "patchouli:multiblock", - "name": "Rock Salt", + "name": "Sylvite", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -2849,12 +2879,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 40%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 40%$(br)$(thing)Source of$(): Potassium, Chlorine, Fertilizer$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Salt", + "name": "Halite", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -2919,7 +2949,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 32$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Rhyolite", "title": "Sapphire & Almandine", "type": "patchouli:text", "anchor": "deep_sapphire" @@ -3011,7 +3041,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 240$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/240 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "deep_scheelite" @@ -3078,7 +3108,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Granite", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "normal_silver" @@ -3145,7 +3175,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -40 — 56$(br)$(thing)Size$(): 36$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -40 — 56$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 36$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite", "title": "Soapstone, Talc, & Trona", "type": "patchouli:text", "anchor": "normal_lubricant" @@ -3252,7 +3282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "normal_sphalerite" @@ -3319,7 +3349,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 145$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/145 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 60 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gneiss, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", "title": "Sphalerite & Sulfur", "type": "patchouli:text", "anchor": "surface_sphalerite" @@ -3386,7 +3416,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.375$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 20 — 60$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 38%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Spodumene & Lepidolite", "type": "patchouli:text", "anchor": "normal_spodumene" @@ -3413,7 +3443,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Salt", + "name": "Halite", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -3433,7 +3463,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Rock Salt", + "name": "Sylvite", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -3448,7 +3478,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 20%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 20%$(br)$(thing)Source of$(): Potassium, Chlorine, Fertilizer$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { @@ -3478,7 +3508,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 165$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/165 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "normal_sulfur" @@ -3545,7 +3575,99 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate$(br2)Only appears in deserts to the $(thing)South-West$(), with a minimum temperature of 7°C and a maximum rainfall of 100mm.", + "title": "Tarkianite & Oilsands", + "type": "patchouli:text", + "anchor": "normal_tarkianite" + }, + { + "Type": "patchouli:multiblock", + "name": "Tarkianite", + "multiblock": { + "mapping": { + "0": "#forge:ores/tarkianite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 35%$(br)$(thing)Source of$(): Rhenium, Molybdenum$(br)$(thing)Formula$(): CuFeRe₄Mo₄S₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Oilsands", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 35%$(br)$(thing)Source of$(): Freedom \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Borax", + "multiblock": { + "mapping": { + "0": "#forge:ores/borax" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 20%$(br)$(thing)Source of$(): Sodium, Boron$(br)$(thing)Formula$(): Na₂B₄(H₂O)₁₀O₇", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Trona", + "multiblock": { + "mapping": { + "0": "#forge:ores/trona" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 10%$(br)$(thing)Source of$(): Sodium$(br)$(thing)Formula$(): Na₃C₂H(H₂O)₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Tetrahedrite (Normal)", "type": "patchouli:text", "anchor": "normal_tetrahedrite" @@ -3612,7 +3734,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 140$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 60 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Tetrahedrite (Surface)", "type": "patchouli:text", "anchor": "surface_tetrahedrite" @@ -3679,7 +3801,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 260$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 7$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/260 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 26$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 28$(br)$(thing)Height$(): 7$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Topaz & Chalcocite", "type": "patchouli:text", "anchor": "deep_topaz" @@ -3771,7 +3893,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 240$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — -20$(br)$(thing)Size$(): 19$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/240 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — -20$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 19$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Uraninite & Pitchblende", "type": "patchouli:text", "anchor": "deep_pitchblende" @@ -3793,7 +3915,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 62%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 62%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -3813,7 +3935,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 25%$(br)$(thing)Source of$(): Uranium$(br)$(thing)Formula$(): UO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 25%$(br)$(thing)Source of$(): Uranium$(br)$(thing)Formula$(): UO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -3838,7 +3960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 245$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 10$(br)$(thing)Size$(): 26$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/245 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 10$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 26$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Wulfenite & Molybdenite", "type": "patchouli:text", "anchor": "deep_molybdenum" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/mars_ore_index.json index 06b0267e5..6c6d16cce 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/mars_ore_index.json @@ -14,27 +14,32 @@ }, { "Type": "patchouli:text", - "text": "$(li)Almandine: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Apatite: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Asbestos: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Barite: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Bauxite: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)Beryllium: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Bornite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Calcite: $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Cassiterite: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Chalcopyrite: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Chromite: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)Coal: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()", + "text": "$(li)Almandine: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Apatite: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Asbestos: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Barite: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Bauxite: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Beryllium: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Bornite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Calcite: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Cassiterite: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Chalcopyrite: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Chromite: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)Coal: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Cobaltite: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Cooperite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)Diamond: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Electrotine: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)Emerald: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Galena: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Garnierite: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Glauconite Sand: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Goethite: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Graphite: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Green Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)Grossular: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Gypsum: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Hematite: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()", + "text": "$(li)Cobaltite: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Cooperite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)Diamond: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Electrotine: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Emerald: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Galena: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Garnierite: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Glauconite Sand: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Goethite: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Graphite: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Green Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Grossular: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Gypsum: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Halite: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Lead: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Monazite: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Native Copper: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Native Gold: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Neodymium: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Nickel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Platinum: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Pyrite: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()", + "text": "$(li)Hematite: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)Lapis: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Monazite: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Native Copper: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Native Gold: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Neodymium: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Nickel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Pyrolusite: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Pyrope: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Quartzite: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Realgar: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Redstone: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Ruby: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Salt: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Scheelite: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Soapstone: $(l:tfg_ores/mars_vein_index#mars_lubricant)14%$(/l)$()$(li)Spessartine: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()", + "text": "$(li)Platinum: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Pyrite: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Pyrolusite: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Pyrope: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Quartz: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Realgar: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Redstone: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Ruby: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Scheelite: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Soapstone: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Sodalite: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Spodumene: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Sulfur: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Talc: $(l:tfg_ores/mars_vein_index#mars_lubricant)28%$(/l)$()$(li)Tantalite: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Thorium: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Tin: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tungstate: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)Uraninite: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)Yellow Limonite: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()", + "text": "$(li)Spessartine: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Spodumene: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Sulfur: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Sylvite: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Talc: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalite: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Thorianite: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Tin: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Tungstate: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Uraninite: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)Yellow Limonite: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/mars_vein_index.json index 9a6cf256a..a57acc1ba 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/mars_vein_index.json @@ -14,12 +14,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Almandine & Sapphire$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Apatite & Pyrochlore$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Bastnasite & Monazite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Bismuth$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Bornite & Cooperite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)Cassiterite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)Coal & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)Copper & Chalcopyrite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)Emerald & Beryllium$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)Garnierite & Cobaltite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sapphire)Gold, Electrotine, & Bauxite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)Graphite & Diamond$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)Hematite & Limonite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Hematite & Limonite$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Almandine & Sapphire$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Apatite & Pyrochlore$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Bastnasite & Monazite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Bismuth$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Bornite & Cooperite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)Cassiterite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)Coal & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)Copper & Chalcopyrite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)Emerald & Beryllium$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)Garnierite & Cobaltite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_gold)Gold, Electrotine, & Bauxite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)Graphite & Diamond$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)Hematite & Limonite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Hematite & Limonite$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Manganese & Tantalum$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Pitchblende, Thorium, & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Pitchblende, Thorium, & Uraninite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Quartzite, Asbestos, & Barite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Redstone & Chromite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Sphalerite & Galena$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Trona, Talc, & Glauconite$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)Lapis, Lazurite, & Sodalite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Manganese & Tantalum$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Pitchblende & Thorianite, & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Pitchblende, Thorianite, & Uraninite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Quartzite, Asbestos, & Barite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Redstone & Chromite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Sphalerite & Galena$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Trona, Talc, & Glauconite$()$()", "type": "patchouli:text" }, { @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 280$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 65$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chert, Claystone, Diorite, Dolomite, Gabbro, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/280 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 65$(br)$(thing)Height$(): 8$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chert, Claystone, Diorite, Dolomite, Gabbro, Limestone, Red Granite, Shale, Trachyte", "title": "Almandine & Sapphire", "type": "patchouli:text", "anchor": "mars_almandine" @@ -136,7 +136,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Limestone, Red Granite, Shale, Trachyte", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "mars_apatite" @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 215$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Trachyte", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 140$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Bismuth", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 370$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Conglomerate, Dacite, Diorite, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Conglomerate, Dacite, Diorite, Red Granite, Trachyte", "title": "Bornite & Cooperite", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 135$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/135 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Cassiterite", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -571,7 +571,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 215$(br)$(thing)Density$(): 0.6$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 10$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 60%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 10$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Red Granite, Trachyte", "title": "Coal & Hematite", "type": "patchouli:text", "anchor": "mars_coal" @@ -623,7 +623,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Shale, Trachyte", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "mars_copper" @@ -715,7 +715,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 350$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): -20 — 50$(br)$(thing)Height$(): 40$(br)$(thing)Radius$(): 8$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/350 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 50$(br)$(thing)Height$(): 40$(br)$(thing)Radius$(): 8$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "mars_beryllium" @@ -782,7 +782,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 55$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Red Granite, Shale", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "mars_nickel" @@ -874,10 +874,10 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Diorite, Gabbro, Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Diorite, Gabbro, Granite, Shale", "title": "Gold, Electrotine, & Bauxite", "type": "patchouli:text", - "anchor": "mars_sapphire" + "anchor": "mars_gold" }, { "Type": "patchouli:multiblock", @@ -966,7 +966,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Argillite, Dacite, Diorite, Gabbro, Granite, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Argillite, Dacite, Diorite, Gabbro, Granite, Red Granite, Trachyte", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "mars_graphite" @@ -1058,7 +1058,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Red Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Red Granite", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1150,7 +1150,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 140$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1242,7 +1242,99 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 42$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Gabbro, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Dolomite, Limestone, Shale", + "title": "Lapis, Lazurite, & Sodalite", + "type": "patchouli:text", + "anchor": "mars_lapis" + }, + { + "Type": "patchouli:multiblock", + "name": "Lazurite", + "multiblock": { + "mapping": { + "0": "#forge:ores/lazurite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 35%$(br)$(thing)Source of$(): Aluminium, Calcium, Sodium$(br)$(thing)Formula$(): Al₆Si₆Ca₈Na₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sodalite", + "multiblock": { + "mapping": { + "0": "#forge:ores/sodalite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 25%$(br)$(thing)Source of$(): Aluminium, Sodium$(br)$(thing)Formula$(): Al₃Si₃Na₄Cl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Lapis", + "multiblock": { + "mapping": { + "0": "#forge:ores/lapis" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 25%$(br)$(thing)Source of$(): Lazurite, Sodalite, Pyrite, Calcite", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Calcite", + "multiblock": { + "mapping": { + "0": "#forge:ores/calcite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Calcium$(br)$(thing)Formula$(): CaCO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 42$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Gabbro, Limestone, Red Granite, Shale, Trachyte", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "mars_tantalite" @@ -1334,8 +1426,8 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.55$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", - "title": "Pitchblende, Thorium, & Hematite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "title": "Pitchblende & Thorianite, & Hematite", "type": "patchouli:text", "anchor": "mars_pitchblende" }, @@ -1356,12 +1448,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 41%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 41%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Thorium", + "name": "Thorianite", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1376,7 +1468,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 29%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): Th", + "text": "$(thing)Percentage$(): 29%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1401,8 +1493,8 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 370$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Claystone, Dacite, Diorite, Gabbro, Shale, Trachyte", - "title": "Pitchblende, Thorium, & Uraninite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Claystone, Dacite, Diorite, Gabbro, Shale, Trachyte", + "title": "Pitchblende, Thorianite, & Uraninite", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" }, @@ -1423,12 +1515,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 52%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 52%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Thorium", + "name": "Thorianite", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1443,7 +1535,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 26%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): Th", + "text": "$(thing)Percentage$(): 26%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1463,19 +1555,19 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 21%$(br)$(thing)Source of$(): Uranium$(br)$(thing)Formula$(): UO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 21%$(br)$(thing)Source of$(): Uranium$(br)$(thing)Formula$(): UO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Quartzite, Asbestos, & Barite", "type": "patchouli:text", "anchor": "mars_quartzite" }, { "Type": "patchouli:multiblock", - "name": "Quartzite", + "name": "Quartz", "multiblock": { "mapping": { "0": "#forge:ores/quartzite" @@ -1560,7 +1652,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 370$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Limestone, Shale", "title": "Redstone & Chromite", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1627,7 +1719,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Red Granite, Trachyte", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "mars_salt" @@ -1654,7 +1746,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Salt", + "name": "Halite", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -1674,7 +1766,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Rock Salt", + "name": "Sylvite", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -1689,7 +1781,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 20%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 20%$(br)$(thing)Source of$(): Potassium, Chlorine, Fertilizer$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { @@ -1719,7 +1811,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 280$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Dolomite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/280 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Basalt, Chalk, Chert, Claystone, Dolomite, Limestone, Red Granite, Shale", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "mars_tungsten" @@ -1811,7 +1903,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 215$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Gabbro, Granite, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Gabbro, Granite, Red Granite, Shale", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "mars_galena" @@ -1903,7 +1995,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 150$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Sphalerite & Galena", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2010,7 +2102,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 215$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Gabbro, Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Gabbro, Granite, Trachyte", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "mars_sulfur" @@ -2102,7 +2194,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Normal)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2194,7 +2286,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 140$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Surface)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2286,51 +2378,11 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Red Granite, Shale", "title": "Trona, Talc, & Glauconite", "type": "patchouli:text", "anchor": "mars_lubricant" }, - { - "Type": "patchouli:multiblock", - "name": "Talc", - "multiblock": { - "mapping": { - "0": "#forge:ores/talc" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Percentage$(): 28%$(br)$(thing)Source of$(): Magnesium$(br)$(thing)Formula$(): Mg₃Si₄H₂O₁₂", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Glauconite Sand", - "multiblock": { - "mapping": { - "0": "#forge:ores/glauconite_sand" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Percentage$(): 21%$(br)$(thing)Source of$(): Magnesium, Aluminium$(br)$(thing)Formula$(): KMg₂Al₄H₂O₁₂", - "type": "patchouli:multiblock" - }, { "Type": "patchouli:multiblock", "name": "Trona", @@ -2348,7 +2400,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 21%$(br)$(thing)Source of$(): Sodium$(br)$(thing)Formula$(): Na₃C₂H(H₂O)₂O₆", + "text": "$(thing)Percentage$(): 35%$(br)$(thing)Source of$(): Sodium$(br)$(thing)Formula$(): Na₃C₂H(H₂O)₂O₆", "type": "patchouli:multiblock" }, { @@ -2368,7 +2420,47 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 14%$(br)$(thing)Source of$(): Magnesium$(br)$(thing)Formula$(): Mg₃Si₄H₂O₁₂", + "text": "$(thing)Percentage$(): 21%$(br)$(thing)Source of$(): Magnesium$(br)$(thing)Formula$(): Mg₃Si₄H₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Talc", + "multiblock": { + "mapping": { + "0": "#forge:ores/talc" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 21%$(br)$(thing)Source of$(): Magnesium$(br)$(thing)Formula$(): Mg₃Si₄H₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Glauconite Sand", + "multiblock": { + "mapping": { + "0": "#forge:ores/glauconite_sand" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 7%$(br)$(thing)Source of$(): Magnesium, Aluminium$(br)$(thing)Formula$(): KMg₂Al₄H₂O₁₂", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/moon_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/moon_ore_index.json index c2fc92e90..0b6c50ff2 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/moon_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/moon_ore_index.json @@ -34,12 +34,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Pyrope: $(l:tfg_ores/moon_vein_index#moon_sapphire)27%$(/l)$()$(li)Quartzite: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)Red Garnet: $(l:tfg_ores/moon_vein_index#moon_garnet)9%$(/l)$()$(li)Redstone: $(l:tfg_ores/moon_vein_index#moon_redstone)42%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/moon_vein_index#moon_beryllium)18%$(/l)$()$(li)Ruby: $(l:tfg_ores/moon_vein_index#moon_redstone)33%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()$(li)Sapphire: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)Scheelite: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)Soapstone: $(l:tfg_ores/moon_vein_index#moon_lubricant)30%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)20%$(/l)$()$(li)Spessartine: $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/moon_vein_index#moon_sphalerite)50%$(/l)$()$(li)Stibnite: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)20%$(/l)$()$(li)Talc: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()", + "text": "$(li)Pyrope: $(l:tfg_ores/moon_vein_index#moon_sapphire)27%$(/l)$()$(li)Quartz: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)Red Garnet: $(l:tfg_ores/moon_vein_index#moon_garnet)9%$(/l)$()$(li)Redstone: $(l:tfg_ores/moon_vein_index#moon_redstone)42%$(/l)$()$(li)Ruby: $(l:tfg_ores/moon_vein_index#moon_redstone)33%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()$(li)Sapphire: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)Scheelite: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)Soapstone: $(l:tfg_ores/moon_vein_index#moon_lubricant)30%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)20%$(/l)$()$(li)Spessartine: $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/moon_vein_index#moon_sphalerite)50%$(/l)$()$(li)Stibnite: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)20%$(/l)$()$(li)Sylvite: $(l:tfg_ores/moon_vein_index#moon_beryllium)18%$(/l)$()$(li)Talc: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Tantalite: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)14%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)40%$(/l)$()$(li)Thorium: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)Tin: $(l:tfg_ores/moon_vein_index#moon_cassiterite)17%$(/l)$()$(li)Topaz: $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/moon_vein_index#moon_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/moon_vein_index#moon_scheelite)50%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/moon_vein_index#moon_molybdenum)44%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/moon_vein_index#moon_garnet)14%$(/l)$()$(li)Zeolite: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()", + "text": "$(li)Tantalite: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)14%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)40%$(/l)$()$(li)Thorianite: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)Tin: $(l:tfg_ores/moon_vein_index#moon_cassiterite)17%$(/l)$()$(li)Topaz: $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/moon_vein_index#moon_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/moon_vein_index#moon_scheelite)50%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/moon_vein_index#moon_molybdenum)44%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/moon_vein_index#moon_garnet)14%$(/l)$()$(li)Zeolite: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/moon_vein_index.json index 16d9728e8..1bcb6ca3b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/moon_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 7$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 10 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)Height$(): 7$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Rhyolite", "title": "Amethyst, Opal, & Garnet", "type": "patchouli:text", "anchor": "moon_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Norite", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "moon_apatite" @@ -213,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 310$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/310 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "moon_monazite" @@ -305,7 +305,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 200$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 80$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Norite, Phonolite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 80$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Norite, Phonolite, Rhyolite", "title": "Bauxite & Ilmenite", "type": "patchouli:text", "anchor": "moon_bauxite" @@ -372,7 +372,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 10 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Norite", "title": "Cassiterite & Chalcopyrite", "type": "patchouli:text", "anchor": "moon_cassiterite" @@ -464,7 +464,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 80$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 10 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 80$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", "title": "Certus Quartz", "type": "patchouli:text", "anchor": "moon_quartz" @@ -511,7 +511,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Quartzite", + "name": "Quartz", "multiblock": { "mapping": { "0": "#forge:ores/quartzite" @@ -556,7 +556,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 280$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Size$(): 50$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/280 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 90$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", "title": "Chromite & Magnetite", "type": "patchouli:text", "anchor": "moon_magnetite" @@ -663,7 +663,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 260$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Phonolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/260 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Phonolite", "title": "Cooperite & Bornite", "type": "patchouli:text", "anchor": "moon_sheldonite" @@ -755,7 +755,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 10 — 80$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro", "title": "Desh & Ilmenite", "type": "patchouli:text", "anchor": "moon_desh" @@ -847,7 +847,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 260$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 70$(br)$(thing)Radius$(): 8$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Phonolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/260 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 120$(br)$(thing)Height$(): 70$(br)$(thing)Radius$(): 8$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Phonolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "moon_beryllium" @@ -894,7 +894,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Rock Salt", + "name": "Sylvite", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -909,7 +909,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 18%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 18%$(br)$(thing)Source of$(): Potassium, Chlorine, Fertilizer$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { @@ -934,7 +934,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Thorium", + "name": "Thorianite", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -949,12 +949,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): Th", + "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 5 — 85$(br)$(thing)Size$(): 45$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 5 — 85$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Rhyolite", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "moon_garnierite" @@ -1061,7 +1061,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Size$(): 35$(br)$(thing)Height$(): 10$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Basalt, Diorite, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 10 — 80$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)Height$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Basalt, Diorite, Granite", "title": "Gold & Magnetite", "type": "patchouli:text", "anchor": "moon_gold" @@ -1153,7 +1153,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 260$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Basalt, Gabbro, Phonolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/260 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Basalt, Gabbro, Phonolite", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "moon_graphite" @@ -1220,7 +1220,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Size$(): 30$(br)$(thing)Height$(): 9$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Norite, Phonolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 10 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)Height$(): 9$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Norite, Phonolite", "title": "Gypsum & Calcite", "type": "patchouli:text", "anchor": "moon_gypsum" @@ -1327,7 +1327,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 120$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Diorite, Gabbro, Norite", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "moon_mica" @@ -1434,7 +1434,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 215$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 5 — 80$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Basalt, Dacite, Gabbro, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 5 — 80$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Basalt, Dacite, Gabbro, Norite", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "moon_manganese" @@ -1526,7 +1526,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 80$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Gabbro, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 80$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Gabbro, Norite", "title": "Pyrolusite and Cobalt", "type": "patchouli:text", "anchor": "moon_pyrolusite" @@ -1618,7 +1618,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 100$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite", "title": "Redstone, Cinnabar, & Ruby", "type": "patchouli:text", "anchor": "moon_redstone" @@ -1710,7 +1710,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Norite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 90$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Andesite, Dacite, Norite, Rhyolite", "title": "Saltpeter & Electrotine", "type": "patchouli:text", "anchor": "moon_saltpeter" @@ -1802,7 +1802,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 280$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Basalt, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/280 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 100$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Basalt, Norite", "title": "Sapphire & Almandine", "type": "patchouli:text", "anchor": "moon_sapphire" @@ -1909,7 +1909,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 200$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Gabbro, Phonolite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Gabbro, Phonolite, Rhyolite", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "moon_scheelite" @@ -1976,7 +1976,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 75$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Dacite, Diorite, Norite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Anorthosite, Dacite, Diorite, Norite, Rhyolite", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "moon_silver" @@ -2068,7 +2068,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 66$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Gabbro, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 66$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Anorthosite, Basalt, Diorite, Gabbro, Norite", "title": "Soapstone, Talc, & Trona", "type": "patchouli:text", "anchor": "moon_lubricant" @@ -2175,7 +2175,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 205$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 2 — 75$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro, Phonolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/205 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 2 — 75$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Gabbro, Phonolite", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "moon_sphalerite" @@ -2242,7 +2242,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 50 — 128$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 50 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Dacite, Phonolite, Rhyolite", "title": "Tetrahedrite & Chalcocite", "type": "patchouli:text", "anchor": "moon_tetrahedrite" @@ -2334,7 +2334,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Size$(): 45$(br)$(thing)Height$(): 16$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 120$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)Height$(): 16$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Anorthosite, Basalt, Dacite, Diorite, Gabbro, Norite, Phonolite, Rhyolite", "title": "Topaz & Chalcocite", "type": "patchouli:text", "anchor": "moon_topaz" @@ -2426,7 +2426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 245$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 50$(br)$(thing)Size$(): 35$(br)$(thing)Indicator Max Depth$(): 50$(br2)$(thing)Stone Types$(): Basalt, Dacite, Gabbro, Norite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/245 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 50$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Basalt, Dacite, Gabbro, Norite", "title": "Wulfenite & Molybdenite", "type": "patchouli:text", "anchor": "moon_molybdenum" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/nether_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/nether_ore_index.json index 066e4693c..ddc7bb62c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/nether_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/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,17 +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)Quartz: $(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)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)$()$(li)Sylvite: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/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)$()", - "type": "patchouli:text" - }, - { - "Type": "patchouli:text", - "text": "$(li)Yellow Limonite: $(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)$()", + "text": "$(li)Talc: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Thorianite: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Tin: $(l:tfg_ores/nether_vein_index#nether_cassiterite)54%$(/l)$()$(li)Topaz: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/nether_vein_index#nether_molybdenum)42%$(/l), $(l:tfg_ores/nether_vein_index#nether_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()$(li)Yellow Limonite: $(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)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/nether_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/nether_vein_index.json index 1146e818f..3de956a2f 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/nether_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/nether_vein_index.json @@ -24,12 +24,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_lubricant)Soapstone, Talc, & Trona$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sphalerite)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sylvite)Sylvite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_tetrahedrite)Tetrahedrite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_molybdenum)Wulfenite & Molybdenite$()$()", + "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_lubricant)Soapstone, Talc, & Trona$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sphalerite)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_tetrahedrite)Tetrahedrite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_molybdenum)Wulfenite & Molybdenite$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Amethyst, Opal, & Garnet", "type": "patchouli:text", "anchor": "nether_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 35$(br)$(thing)Density$(): 0.8$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 48 — 127$(br)$(thing)Size$(): 13$(br)$(thing)Height$(): 4$(br2)$(thing)Stone Types$(): Migmatite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/35 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 80%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 48 — 127$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 13$(br)$(thing)Height$(): 4$(br2)$(thing)Stone Types$(): Migmatite", "title": "Anthracite", "type": "patchouli:text", "anchor": "nether_anthracite" @@ -148,7 +148,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Size$(): 39$(br2)$(thing)Stone Types$(): Gneiss, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 48 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 39$(br2)$(thing)Stone Types$(): Gneiss, Schist", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "nether_apatite" @@ -215,7 +215,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 245$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/245 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 24 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "nether_monazite" @@ -282,7 +282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 31$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 24 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 31$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Bentonite & Olivine", "type": "patchouli:text", "anchor": "nether_olivine" @@ -374,7 +374,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Cassiterite", "type": "patchouli:text", "anchor": "nether_cassiterite" @@ -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,17 +416,32 @@ ] }, "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", - "text": "$(thing)Rarity$(): 205$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 39$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/205 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 39$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Chromite", "type": "patchouli:text", "anchor": "nether_magnetite" @@ -533,7 +548,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Cooperite & Bornite", "type": "patchouli:text", "anchor": "nether_sheldonite" @@ -625,7 +640,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "nether_copper" @@ -717,7 +732,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "nether_beryllium" @@ -764,7 +779,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Rock Salt", + "name": "Sylvite", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -779,12 +794,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 18%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 18%$(br)$(thing)Source of$(): Potassium, Chlorine, Fertilizer$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Thorium", + "name": "Thorianite", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -799,7 +814,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): Th", + "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -809,7 +824,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 270$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Migmatite, Pyroxenite, Schist, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/270 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 24 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Migmatite, Pyroxenite, Schist, Travertine", "title": "Garnet & Cassiterite Sands", "type": "patchouli:text", "anchor": "nether_garnet_tin" @@ -901,7 +916,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 16 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Pyroxenite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 16 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Pyroxenite", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "nether_garnierite" @@ -1008,7 +1023,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 240$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 37$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/240 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 37$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Goethite", "type": "patchouli:text", "anchor": "nether_goethite" @@ -1100,7 +1115,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 260$(br)$(thing)Density$(): 0.55$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 37$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/260 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 37$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Gold & Hematite", "type": "patchouli:text", "anchor": "nether_gold" @@ -1192,7 +1207,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 120$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/120 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "nether_graphite" @@ -1259,7 +1274,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 40$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", "title": "Gypsum & Calcite", "type": "patchouli:text", "anchor": "nether_gypsum" @@ -1351,7 +1366,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 35$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "nether_hematite" @@ -1458,7 +1473,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "nether_mica" @@ -1525,7 +1540,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 40$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br2)$(thing)Stone Types$(): Migmatite, Pyroxenite, Travertine", "title": "Lapis, Lazurite, & Sodalite", "type": "patchouli:text", "anchor": "nether_lapis" @@ -1617,7 +1632,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 225$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/225 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Manganese & Tantalum", "type": "patchouli:text", "anchor": "nether_manganese" @@ -1709,7 +1724,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Size$(): 48$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Basalt, Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 48 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 48$(br)$(thing)Height$(): 9$(br2)$(thing)Stone Types$(): Basalt, Granite", "title": "Mineral Sands", "type": "patchouli:text", "anchor": "nether_basaltic_sands" @@ -1801,7 +1816,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 200$(br)$(thing)Density$(): 0.7$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 38$(br)$(thing)Size$(): 32$(br2)$(thing)Stone Types$(): Basalt, Pyroxenite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 70%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 38$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 32$(br2)$(thing)Stone Types$(): Basalt, Pyroxenite", "title": "Naquadah", "type": "patchouli:text", "anchor": "nether_naquadah" @@ -1828,7 +1843,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 150$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Diorite, Gabbro, Granite, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Basalt, Diorite, Gabbro, Granite, Migmatite, Pyroxenite, Travertine", "title": "Nether Quartz", "type": "patchouli:text", "anchor": "nether_quartz" @@ -1855,7 +1870,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Quartzite", + "name": "Quartz", "multiblock": { "mapping": { "0": "#forge:ores/quartzite" @@ -1895,7 +1910,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Granite, Pyroxenite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Granite, Pyroxenite", "title": "Redstone, Cinnabar, & Ruby", "type": "patchouli:text", "anchor": "nether_redstone" @@ -1962,7 +1977,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 210$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Saltpeter & Electrotine", "type": "patchouli:text", "anchor": "nether_saltpeter" @@ -2054,7 +2069,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 33$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 33$(br)$(thing)Height$(): 8$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Sapphire & Almandine", "type": "patchouli:text", "anchor": "nether_sapphire" @@ -2146,7 +2161,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.45$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 25$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 25$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Scheelite & Tungstate", "type": "patchouli:text", "anchor": "nether_scheelite" @@ -2213,7 +2228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 160$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Granite, Pyroxenite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/160 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 24 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Granite, Pyroxenite", "title": "Silver, Galena, & Lead", "type": "patchouli:text", "anchor": "nether_silver" @@ -2280,7 +2295,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 41$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Soapstone, Talc, & Trona", "type": "patchouli:text", "anchor": "nether_lubricant" @@ -2387,7 +2402,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Sphalerite & Pyrite", "type": "patchouli:text", "anchor": "nether_sphalerite" @@ -2454,7 +2469,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 165$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 50$(br2)$(thing)Stone Types$(): Basalt, Diorite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/165 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br2)$(thing)Stone Types$(): Basalt, Diorite, Pyroxenite, Schist", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "nether_sulfur" @@ -2521,34 +2536,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 75$(br)$(thing)Density$(): 0.6$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 64$(br)$(thing)Size$(): 17$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Pyroxenite", - "title": "Sylvite", - "type": "patchouli:text", - "anchor": "nether_sylvite" - }, - { - "Type": "patchouli:multiblock", - "name": "Sylvite", - "multiblock": { - "mapping": { - "0": "beneath:ore/blackstone_sylvite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Percentage$(): 100%$(br)$(thing)Used for$(): Fertiliser$(br)$(thing)Formula$(): KCl", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.5$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Size$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Migmatite, Pyroxenite, Schist, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 50%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br2)$(thing)Stone Types$(): Gneiss, Migmatite, Pyroxenite, Schist, Travertine", "title": "Tetrahedrite", "type": "patchouli:text", "anchor": "nether_tetrahedrite" @@ -2615,7 +2603,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 33$(br)$(thing)Height$(): 7$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/180 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 33$(br)$(thing)Height$(): 7$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Topaz & Chalcocite", "type": "patchouli:text", "anchor": "nether_topaz" @@ -2707,7 +2695,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 250$(br)$(thing)Density$(): 0.55$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 24$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 24$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Uraninite & Pitchblende", "type": "patchouli:text", "anchor": "nether_pitchblende" @@ -2729,7 +2717,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 62%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 62%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2749,7 +2737,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 25%$(br)$(thing)Source of$(): Uranium$(br)$(thing)Formula$(): UO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 25%$(br)$(thing)Source of$(): Uranium$(br)$(thing)Formula$(): UO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2774,7 +2762,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 245$(br)$(thing)Density$(): 0.55$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Size$(): 31$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/245 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 31$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Pyroxenite, Schist", "title": "Wulfenite & Molybdenite", "type": "patchouli:text", "anchor": "nether_molybdenum" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/venus_ore_index.json new file mode 100644 index 000000000..71d0bf136 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/venus_ore_index.json @@ -0,0 +1,22 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Venus Ore Index", + "icon": "vintageimprovements:sulfur", + "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)Halite: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Pyrite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()$(li)Spodumene: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Sulfur: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)Sylvite: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()", + "type": "patchouli:text" + } + ], + "sortnum": 8 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/venus_vein_index.json new file mode 100644 index 000000000..b24ac9b4c --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/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)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "title": "Salts & Spodumene", + "type": "patchouli:text", + "anchor": "venus_manual_salt" + }, + { + "Type": "patchouli:multiblock", + "name": "Halite", + "multiblock": { + "mapping": { + "0": "#forge:ores/salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 80%$(br)$(thing)Source of$(): Sodium, Chlorine$(br)$(thing)Formula$(): NaCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sylvite", + "multiblock": { + "mapping": { + "0": "#forge:ores/rock_salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 10%$(br)$(thing)Source of$(): Potassium, Chlorine, Fertilizer$(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$(): 5%$(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$(): 5%$(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)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", + "title": "Sulfur & Pyrite", + "type": "patchouli:text", + "anchor": "venus_manual_sulfur" + }, + { + "Type": "patchouli:multiblock", + "name": "Sulfur", + "multiblock": { + "mapping": { + "0": "#forge:ores/sulfur" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 80%$(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$(): 15%$(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$(): 5%$(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/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_ore_index.json index e60d9b334..f407ecfb2 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 @@ -29,22 +29,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)Fosfato Tricálcico: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Galena: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Garnierita: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Gipsita: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)Glossulária: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)Goethita: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Grafite: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)Granada Amarela: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Granada Vermelha: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)Hematita: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Lápis-lazúri: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lazurita: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lepidorita: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Limonita Amarela: $(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)$()", + "text": "$(li)Fosfato Tricálcico: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Galena: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Garnierita: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Gipsita: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)Glossulária: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)Goethita: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Grafite: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)Granada Amarela: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Granada Vermelha: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)Halita: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Hematita: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Lápis-lazúri: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lazurita: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lepidorita: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Lítio: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesita: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetita: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Magnetita de Vanádio: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Malaquita: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molibdenita: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazita: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Neodímio: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Níquel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Olivina: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opala: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Ouro Nativo: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Pechblenda: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()", + "text": "$(li)Limonita Amarela: $(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ítio: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesita: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetita: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Magnetita de Vanádio: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Malaquita: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molibdenita: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazita: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Neodímio: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Níquel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Olivina: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opala: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Ouro Nativo: $(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)Pedra-sabão: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Pentlandita: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pirita: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pirocloro: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Piropo: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)Platina: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Polucita: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellita: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Quartz: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)Realgar: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Redstone: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)Rubi: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()", + "text": "$(li)Pechblenda: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Pedra-sabão: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Pentlandita: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pirita: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pirocloro: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Piropo: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)Platina: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Polucita: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellita: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Quartz: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)Realgar: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Redstone: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()", "type": "patchouli:text" }, { "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), $(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)$()", + "text": "$(li)Rubi: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(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)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)Silvita: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/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 a9fcbdac7..00139dc21 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 @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/230$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Argilito, Calcário, Cherte, Conglomerado, Dolomito, Filito, Folhelho, Giz, Gnaisse, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/230 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Argilito, Calcário, Cherte, Conglomerado, Dolomito, Filito, Folhelho, Giz, Gnaisse, Mármore, Quartzito, Xisto", "title": "Ametista e Granada", "type": "patchouli:text", "anchor": "deep_garnet_amethyst" @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Tamanho$(): 34$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/170 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Tamanho$(): 34$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", "title": "Apatita e Pirocloro", "type": "patchouli:text", "anchor": "normal_apatite" @@ -198,7 +198,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/160$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 48$(br)$(thing)Altura$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Basalto, Granito", + "text": "$(thing)Raridade$(): 1/160 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 48$(br)$(thing)Altura$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Basalto, Granito", "title": "Areias Minerais", "type": "patchouli:text", "anchor": "normal_basaltic_sands" @@ -290,7 +290,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/185$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 55$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", + "text": "$(thing)Raridade$(): 1/185 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 55$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", "title": "Areias Petrolíferas", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -317,7 +317,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/205$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", + "text": "$(thing)Raridade$(): 1/205 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", "title": "Bastnasita e Monazita", "type": "patchouli:text", "anchor": "normal_monazite" @@ -384,7 +384,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/180$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -40 — 30$(br)$(thing)Tamanho$(): 26$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", + "text": "$(thing)Raridade$(): 1/180 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -40 — 30$(br)$(thing)Tamanho$(): 26$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", "title": "Bentonita e Olivina", "type": "patchouli:text", "anchor": "normal_olivine" @@ -476,7 +476,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito", + "text": "$(thing)Raridade$(): 1/170 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito", "title": "Bismuto (Normal)", "type": "patchouli:text", "anchor": "normal_bismuthinite" @@ -568,7 +568,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/140$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito", + "text": "$(thing)Raridade$(): 1/140 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito", "title": "Bismuto (Superfície)", "type": "patchouli:text", "anchor": "surface_bismuthinite" @@ -660,7 +660,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/200$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 217$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", + "text": "$(thing)Raridade$(): 1/200 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 217$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", "title": "Calcopirita e Realgar", "type": "patchouli:text", "anchor": "surface_copper" @@ -752,7 +752,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/215$(br)$(thing)Densidade$(): 55.00000000000001%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", + "text": "$(thing)Raridade$(): 1/215 chunks$(br)$(thing)Densidade$(): 55%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", "title": "Carvão", "type": "patchouli:text", "anchor": "normal_coal" @@ -779,7 +779,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", + "text": "$(thing)Raridade$(): 1/170 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", "title": "Cassiterita (Normal)", "type": "patchouli:text", "anchor": "normal_cassiterite" @@ -846,7 +846,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/135$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", + "text": "$(thing)Raridade$(): 1/135 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", "title": "Cassiterita (Superfície)", "type": "patchouli:text", "anchor": "surface_cassiterite" @@ -913,7 +913,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/190$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Tamanho$(): 36$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/190 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Tamanho$(): 36$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", "title": "Cianita, Mica e Bauxita", "type": "patchouli:text", "anchor": "normal_mica" @@ -1005,7 +1005,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 85$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", + "text": "$(thing)Raridade$(): 1/170 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 85$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", "title": "Cobre e Calcopirita", "type": "patchouli:text", "anchor": "normal_copper" @@ -1097,7 +1097,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/320$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/320 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", "title": "Cooperita e Bornita", "type": "patchouli:text", "anchor": "deep_sheldonite" @@ -1164,7 +1164,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/225$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz, Mármore", + "text": "$(thing)Raridade$(): 1/225 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz, Mármore", "title": "Cromita e Magnetita", "type": "patchouli:text", "anchor": "deep_magnetite" @@ -1271,7 +1271,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/165$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", + "text": "$(thing)Raridade$(): 1/165 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", "title": "Enxofre e Pirita", "type": "patchouli:text", "anchor": "normal_sulfur" @@ -1338,7 +1338,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/145$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Basalto, Dacito, Filito, Gnaisse, Mármore, Quartzito, Riolito, Xisto", + "text": "$(thing)Raridade$(): 1/145 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Basalto, Dacito, Filito, Gnaisse, Mármore, Quartzito, Riolito, Xisto", "title": "Esfalerita e Enxofre", "type": "patchouli:text", "anchor": "surface_sphalerite" @@ -1405,7 +1405,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Basalto, Dacito, Filito, Gnaisse, Mármore, Quartzito, Riolito, Xisto", + "text": "$(thing)Raridade$(): 1/170 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Basalto, Dacito, Filito, Gnaisse, Mármore, Quartzito, Riolito, Xisto", "title": "Esfalerita e Pirita", "type": "patchouli:text", "anchor": "normal_sphalerite" @@ -1472,7 +1472,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 10$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", + "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 10$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", "title": "Esmeralda e Berílio", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -1534,12 +1534,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 15%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): ThO₂", + "text": "$(thing)Porcentagem$(): 15%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): ThO₂$(br)$(thing)Perigo$(): $(c)$(t:Requer Proteção Completa)Radioativo (Qualquer Contato)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/180$(br)$(thing)Densidade$(): 37.5%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 20 — 60$(br)$(thing)Tamanho$(): 35$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/180 chunks$(br)$(thing)Densidade$(): 38%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 20 — 60$(br)$(thing)Tamanho$(): 35$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", "title": "Espodumena e Lepidolita", "type": "patchouli:text", "anchor": "normal_spodumene" @@ -1566,7 +1566,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Sal", + "name": "Halita", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -1586,7 +1586,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Sal-gema", + "name": "Silvita", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -1601,7 +1601,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 20%$(br)$(thing)Fonte de$(): Potássio, Cloro$(br)$(thing)Fórmula$(): KCl", + "text": "$(thing)Porcentagem$(): 20%$(br)$(thing)Fonte de$(): Potássio, Cloro, Fertilizante$(br)$(thing)Fórmula$(): KCl", "type": "patchouli:multiblock" }, { @@ -1631,7 +1631,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/160$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 70$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro$(br2)Não consegue encontrar? O Gabro sempre gera abaixo do $(thing)Basalto$(), e diques de Gabro nos oceanos também podem ser úteis!", + "text": "$(thing)Raridade$(): 1/160 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 70$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro$(br2)Não consegue encontrar? O Gabro sempre gera abaixo do $(thing)Basalto$(), e diques de Gabro nos oceanos também podem ser úteis!", "title": "Garnierita e Cobaltita", "type": "patchouli:text", "anchor": "normal_garnierite" @@ -1738,7 +1738,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/180$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", + "text": "$(thing)Raridade$(): 1/180 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", "title": "Gipsita e Calcita", "type": "patchouli:text", "anchor": "normal_gypsum" @@ -1830,7 +1830,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/240$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Tamanho$(): 32$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Calcário, Mármore", + "text": "$(thing)Raridade$(): 1/240 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Tamanho$(): 32$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Calcário, Mármore", "title": "Goethita e Malaquita", "type": "patchouli:text", "anchor": "deep_limonite" @@ -1922,7 +1922,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/80$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Tamanho$(): 16$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Filito, Folhelho, Gabro, Giz, Gnaisse, Granito, Mármore, Quartzito, Riolito, Xisto", + "text": "$(thing)Raridade$(): 1/80 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Tamanho$(): 16$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Filito, Folhelho, Gabro, Giz, Gnaisse, Granito, Mármore, Quartzito, Riolito, Xisto", "title": "Grafite e Diamante", "type": "patchouli:text", "anchor": "normal_graphite" @@ -1989,7 +1989,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/270$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -40 — 64$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Filito, Folhelho, Gabro, Giz, Gnaisse, Granito, Mármore, Quartzito, Riolito, Xisto", + "text": "$(thing)Raridade$(): 1/270 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -40 — 64$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Filito, Folhelho, Gabro, Giz, Gnaisse, Granito, Mármore, Quartzito, Riolito, Xisto", "title": "Granada e Areia Cassiterita", "type": "patchouli:text", "anchor": "normal_garnet_tin" @@ -2081,7 +2081,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", "title": "Hematita e Limonita", "type": "patchouli:text", "anchor": "normal_hematite" @@ -2173,7 +2173,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", + "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", "title": "Hematita, Goethita e Rubi", "type": "patchouli:text", "anchor": "deep_hematite" @@ -2280,7 +2280,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -60 — 10$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/170 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -60 — 10$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", "title": "Lápis-lazúri, Lazurita e Sodalita", "type": "patchouli:text", "anchor": "normal_lapis" @@ -2372,7 +2372,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/190$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Calcário, Mármore", + "text": "$(thing)Raridade$(): 1/190 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Calcário, Mármore", "title": "Limonita", "type": "patchouli:text", "anchor": "normal_limonite" @@ -2464,7 +2464,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/200$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", + "text": "$(thing)Raridade$(): 1/200 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", "title": "Magnetita e Vanádio", "type": "patchouli:text", "anchor": "normal_magnetite" @@ -2556,7 +2556,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/195$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Dolomito, Folhelho, Giz, Riolito", + "text": "$(thing)Raridade$(): 1/195 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Dolomito, Folhelho, Giz, Riolito", "title": "Manganês e Tântalo", "type": "patchouli:text", "anchor": "normal_manganese" @@ -2648,7 +2648,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — 62$(br)$(thing)Tamanho$(): 26$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", + "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — 62$(br)$(thing)Tamanho$(): 26$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", "title": "Opala e Granada", "type": "patchouli:text", "anchor": "deep_garnet_opal" @@ -2740,7 +2740,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/260$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Tamanho$(): 32$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", + "text": "$(thing)Raridade$(): 1/260 chunks$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Tamanho$(): 32$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", "title": "Ouro (Profundo)", "type": "patchouli:text", "anchor": "deep_gold" @@ -2832,7 +2832,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 12$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", + "text": "$(thing)Raridade$(): 1/170 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 12$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", "title": "Ouro, Limonita e Hematita", "type": "patchouli:text", "anchor": "normal_gold" @@ -2924,7 +2924,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/190$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -40 — 56$(br)$(thing)Tamanho$(): 36$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", + "text": "$(thing)Raridade$(): 1/190 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -40 — 56$(br)$(thing)Tamanho$(): 36$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", "title": "Pedra-sabão, Talco e Trona", "type": "patchouli:text", "anchor": "normal_lubricant" @@ -3031,7 +3031,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/160$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Gnaisse, Granito", + "text": "$(thing)Raridade$(): 1/160 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Gnaisse, Granito", "title": "Prata, Galena e Chumbo", "type": "patchouli:text", "anchor": "normal_silver" @@ -3098,7 +3098,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/190$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Folhelho, Gnaisse, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/190 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Folhelho, Gnaisse, Quartzito, Xisto", "title": "Quartzos", "type": "patchouli:text", "anchor": "normal_quartz" @@ -3165,7 +3165,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/160$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Granito$(br2)Não consegue encontrar? O Granito sempre aparece abaixo de $(thing)Riolito$(), e procurar nos oceanos também pode ser útil!", + "text": "$(thing)Raridade$(): 1/160 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Granito$(br2)Não consegue encontrar? O Granito sempre aparece abaixo de $(thing)Riolito$(), e procurar nos oceanos também pode ser útil!", "title": "Redstone, Cinábrio e Rubi", "type": "patchouli:text", "anchor": "normal_redstone" @@ -3232,7 +3232,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/180$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — 32$(br)$(thing)Tamanho$(): 28$(br)$(thing)Altura$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Riolito", + "text": "$(thing)Raridade$(): 1/180 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — 32$(br)$(thing)Tamanho$(): 28$(br)$(thing)Altura$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Riolito", "title": "Safira e Almandina", "type": "patchouli:text", "anchor": "deep_sapphire" @@ -3324,14 +3324,14 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/175$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 30 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 4$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Folhelho", + "text": "$(thing)Raridade$(): 1/175 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 30 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 4$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Folhelho", "title": "Sais e Bórax", "type": "patchouli:text", "anchor": "normal_salt" }, { "Type": "patchouli:multiblock", - "name": "Sal-gema", + "name": "Silvita", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -3346,12 +3346,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 40%$(br)$(thing)Fonte de$(): Potássio, Cloro$(br)$(thing)Fórmula$(): KCl", + "text": "$(thing)Porcentagem$(): 40%$(br)$(thing)Fonte de$(): Potássio, Cloro, Fertilizante$(br)$(thing)Fórmula$(): KCl", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Sal", + "name": "Halita", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -3416,7 +3416,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", "title": "Salitre e Eletrotina", "type": "patchouli:text", "anchor": "normal_saltpeter" @@ -3508,7 +3508,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/240$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", + "text": "$(thing)Raridade$(): 1/240 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito", "title": "Sheelita e Tungstato", "type": "patchouli:text", "anchor": "deep_scheelite" @@ -3575,7 +3575,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/140$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 10$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Filito, Folhelho, Gabro, Giz, Gnaisse, Granito, Mármore, Quartzito, Riolito, Xisto", + "text": "$(thing)Raridade$(): 1/140 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 10$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Filito, Folhelho, Gabro, Giz, Gnaisse, Granito, Mármore, Quartzito, Riolito, Xisto", "title": "Tarcianita e Areias Petrolíferas", "type": "patchouli:text", "anchor": "normal_tarkianite" @@ -3667,7 +3667,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/170 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", "title": "Tetraedrita (Normal)", "type": "patchouli:text", "anchor": "normal_tetrahedrite" @@ -3734,7 +3734,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/140$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/140 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", "title": "Tetraedrita (Superfície)", "type": "patchouli:text", "anchor": "surface_tetrahedrite" @@ -3801,7 +3801,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/260$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Tamanho$(): 28$(br)$(thing)Altura$(): 7$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/260 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Tamanho$(): 28$(br)$(thing)Altura$(): 7$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", "title": "Topázio e Calcocita", "type": "patchouli:text", "anchor": "deep_topaz" @@ -3893,7 +3893,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/240$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — -20$(br)$(thing)Tamanho$(): 19$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/240 chunks$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — -20$(br)$(thing)Tamanho$(): 19$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", "title": "Uraninita e Pechblenda", "type": "patchouli:text", "anchor": "deep_pitchblende" @@ -3915,7 +3915,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 62%$(br)$(thing)Fonte de$(): Urânio, Tório, Chumbo$(br)$(thing)Fórmula$(): (UO₂)₃ThPb$(br)$(thing)Perigo$(): $(c)$(t:Requer Proteção Completa)Carcinogênico (Qualquer Contato)$(/t)$()", + "text": "$(thing)Porcentagem$(): 62%$(br)$(thing)Fonte de$(): Urânio, Tório, Chumbo$(br)$(thing)Fórmula$(): (UO₂)₃ThPb$(br)$(thing)Perigo$(): $(c)$(t:Requer Proteção Completa)Radioativo (Qualquer Contato)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -3935,7 +3935,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 25%$(br)$(thing)Fonte de$(): Urânio$(br)$(thing)Fórmula$(): UO₂$(br)$(thing)Perigo$(): $(c)$(t:Requer Proteção Completa)Carcinogênico (Qualquer Contato)$(/t)$()", + "text": "$(thing)Porcentagem$(): 25%$(br)$(thing)Fonte de$(): Urânio$(br)$(thing)Fórmula$(): UO₂$(br)$(thing)Perigo$(): $(c)$(t:Requer Proteção Completa)Radioativo (Qualquer Contato)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -3960,7 +3960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/245$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 10$(br)$(thing)Tamanho$(): 26$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", + "text": "$(thing)Raridade$(): 1/245 chunks$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 10$(br)$(thing)Tamanho$(): 26$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", "title": "Wulfenita e Molibdenita", "type": "patchouli:text", "anchor": "deep_molybdenum" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json index 1bcccab39..e14f53f94 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json @@ -24,17 +24,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)Fosfato Tricálcico: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Galena: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Garnierita: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Gipsita: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Glossulária: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Goethita: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Grafite: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Hematita: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)Lápis-lazúri: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Lazurita: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Lepidorita: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Limonita Amarela: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Lítio: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Monazita: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()", + "text": "$(li)Fosfato Tricálcico: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Galena: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Garnierita: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Gipsita: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Glossulária: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Goethita: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Grafite: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Halita: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Hematita: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)Lápis-lazúri: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Lazurita: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Lepidorita: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Limonita Amarela: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Lítio: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Neodímio: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Níquel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Ouro Nativo: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Pechblenda: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Pedra-sabão: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Pentlandita: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pirita: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Pirocloro: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Piropo: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Platina: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Quartz: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Realgar: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()", + "text": "$(li)Monazita: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Neodímio: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Níquel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Ouro Nativo: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Pechblenda: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Pedra-sabão: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Pentlandita: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pirita: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Pirocloro: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Piropo: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Platina: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Quartz: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Redstone: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Rubi: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Safira: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Sal: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Salitre: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Sheelita: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Sodalita: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Talco: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalita: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Torianita: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()", + "text": "$(li)Realgar: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Redstone: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Rubi: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Safira: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Salitre: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Sheelita: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Silvita: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Sodalita: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Talco: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalita: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Torianita: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json index 600c70815..fa27c0c04 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/280$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 65$(br)$(thing)Altura$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Diorito, Dolomito, Folhelho, Gabro, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/280 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 65$(br)$(thing)Altura$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Diorito, Dolomito, Folhelho, Gabro, Red Granite, Traquito", "title": "Almandine & Sapphire", "type": "patchouli:text", "anchor": "mars_almandine" @@ -136,7 +136,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Folhelho, Giz, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Folhelho, Giz, Red Granite, Traquito", "title": "Apatita e Pirocloro", "type": "patchouli:text", "anchor": "mars_apatite" @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/215$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Diorito, Dolomito, Gabro, Giz, Traquito", + "text": "$(thing)Raridade$(): 1/215 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Diorito, Dolomito, Gabro, Giz, Traquito", "title": "Bastnasita e Monazita", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/140$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/140 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", "title": "Bismuto", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/370$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Conglomerado, Dacito, Diorito, Giz, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/370 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Conglomerado, Dacito, Diorito, Giz, Red Granite, Traquito", "title": "Bornite & Cooperite", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/135$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/135 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", "title": "Cassiterita", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -571,7 +571,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/215$(br)$(thing)Densidade$(): 60%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 55$(br)$(thing)Profundidade Máxima do Indicador$(): 10$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Conglomerado, Dacito, Diorito, Dolomito, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/215 chunks$(br)$(thing)Densidade$(): 60%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 55$(br)$(thing)Profundidade Máxima do Indicador$(): 10$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Conglomerado, Dacito, Diorito, Dolomito, Giz, Granito, Red Granite, Traquito", "title": "Coal & Hematite", "type": "patchouli:text", "anchor": "mars_coal" @@ -623,7 +623,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Conglomerado, Dacito, Dolomito, Folhelho, Traquito", + "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Conglomerado, Dacito, Dolomito, Folhelho, Traquito", "title": "Cobre e Calcopirita", "type": "patchouli:text", "anchor": "mars_copper" @@ -715,7 +715,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/215$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Dacito, Diorito, Gabro, Giz, Granito, Traquito", + "text": "$(thing)Raridade$(): 1/215 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Dacito, Diorito, Gabro, Giz, Granito, Traquito", "title": "Esfalerita e Pirita", "type": "patchouli:text", "anchor": "mars_sulfur" @@ -807,7 +807,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/350$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): -20 — 50$(br)$(thing)Altura$(): 40$(br)$(thing)Raio$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", + "text": "$(thing)Raridade$(): 1/350 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): -20 — 50$(br)$(thing)Altura$(): 40$(br)$(thing)Raio$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", "title": "Esmeralda e Berílio", "type": "patchouli:text", "anchor": "mars_beryllium" @@ -874,7 +874,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 55$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Dacito, Folhelho, Giz, Granito, Red Granite", + "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 55$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Dacito, Folhelho, Giz, Granito, Red Granite", "title": "Garnierita e Cobaltita", "type": "patchouli:text", "anchor": "mars_nickel" @@ -966,7 +966,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/230$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilito, Cherte, Diorito, Folhelho, Gabro, Giz, Granito", + "text": "$(thing)Raridade$(): 1/230 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilito, Cherte, Diorito, Folhelho, Gabro, Giz, Granito", "title": "Gold, Electrotine, & Bauxite", "type": "patchouli:text", "anchor": "mars_gold" @@ -1058,7 +1058,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Argilita, Dacito, Diorito, Gabro, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Argilita, Dacito, Diorito, Gabro, Granito, Red Granite, Traquito", "title": "Grafite e Diamante", "type": "patchouli:text", "anchor": "mars_graphite" @@ -1150,7 +1150,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Conglomerado, Dacito, Dolomito, Red Granite", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Conglomerado, Dacito, Dolomito, Red Granite", "title": "Hematita e Limonita", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1242,7 +1242,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/140$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/140 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", "title": "Hematita e Limonita", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1334,7 +1334,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/200$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Calcário, Cherte, Dolomito, Folhelho, Giz", + "text": "$(thing)Raridade$(): 1/200 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Calcário, Cherte, Dolomito, Folhelho, Giz", "title": "Lápis-lazúri, Lazurita e Sodalita", "type": "patchouli:text", "anchor": "mars_lapis" @@ -1426,7 +1426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/230$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 42$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Folhelho, Gabro, Giz, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/230 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 42$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Folhelho, Gabro, Giz, Red Granite, Traquito", "title": "Manganês e Tântalo", "type": "patchouli:text", "anchor": "mars_tantalite" @@ -1518,7 +1518,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 55.00000000000001%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 55%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Red Granite, Traquito", "title": "Pitchblende & Thorianite, & Hematite", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -1540,7 +1540,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 41%$(br)$(thing)Fonte de$(): Urânio, Tório, Chumbo$(br)$(thing)Fórmula$(): (UO₂)₃ThPb$(br)$(thing)Perigo$(): $(c)$(t:Requer Proteção Completa)Carcinogênico (Qualquer Contato)$(/t)$()", + "text": "$(thing)Porcentagem$(): 41%$(br)$(thing)Fonte de$(): Urânio, Tório, Chumbo$(br)$(thing)Fórmula$(): (UO₂)₃ThPb$(br)$(thing)Perigo$(): $(c)$(t:Requer Proteção Completa)Radioativo (Qualquer Contato)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1560,7 +1560,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 29%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): ThO₂", + "text": "$(thing)Porcentagem$(): 29%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): ThO₂$(br)$(thing)Perigo$(): $(c)$(t:Requer Proteção Completa)Radioativo (Qualquer Contato)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1585,7 +1585,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/370$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Dacito, Diorito, Folhelho, Gabro, Traquito", + "text": "$(thing)Raridade$(): 1/370 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Dacito, Diorito, Folhelho, Gabro, Traquito", "title": "Pitchblende, Thorianite, & Uraninite", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -1607,7 +1607,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 52%$(br)$(thing)Fonte de$(): Urânio, Tório, Chumbo$(br)$(thing)Fórmula$(): (UO₂)₃ThPb$(br)$(thing)Perigo$(): $(c)$(t:Requer Proteção Completa)Carcinogênico (Qualquer Contato)$(/t)$()", + "text": "$(thing)Porcentagem$(): 52%$(br)$(thing)Fonte de$(): Urânio, Tório, Chumbo$(br)$(thing)Fórmula$(): (UO₂)₃ThPb$(br)$(thing)Perigo$(): $(c)$(t:Requer Proteção Completa)Radioativo (Qualquer Contato)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1627,7 +1627,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 26%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): ThO₂", + "text": "$(thing)Porcentagem$(): 26%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): ThO₂$(br)$(thing)Perigo$(): $(c)$(t:Requer Proteção Completa)Radioativo (Qualquer Contato)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1647,12 +1647,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 21%$(br)$(thing)Fonte de$(): Urânio$(br)$(thing)Fórmula$(): UO₂$(br)$(thing)Perigo$(): $(c)$(t:Requer Proteção Completa)Carcinogênico (Qualquer Contato)$(/t)$()", + "text": "$(thing)Porcentagem$(): 21%$(br)$(thing)Fonte de$(): Urânio$(br)$(thing)Fórmula$(): UO₂$(br)$(thing)Perigo$(): $(c)$(t:Requer Proteção Completa)Radioativo (Qualquer Contato)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/215$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Cherte, Dacito, Folhelho, Gabro, Giz, Granito, Red Granite", + "text": "$(thing)Raridade$(): 1/215 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Cherte, Dacito, Folhelho, Gabro, Giz, Granito, Red Granite", "title": "Prata, Galena e Chumbo", "type": "patchouli:text", "anchor": "mars_galena" @@ -1744,7 +1744,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Folhelho, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Folhelho, Giz, Granito, Red Granite, Traquito", "title": "Quartzite, Asbestos, & Barite", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1836,7 +1836,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/370$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Dacito, Folhelho, Giz", + "text": "$(thing)Raridade$(): 1/370 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Dacito, Folhelho, Giz", "title": "Redstone & Chromite", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1903,7 +1903,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Diorito, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Diorito, Giz, Granito, Red Granite, Traquito", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "mars_salt" @@ -1930,7 +1930,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Sal", + "name": "Halita", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -1950,7 +1950,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Sal-gema", + "name": "Silvita", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -1965,7 +1965,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 20%$(br)$(thing)Fonte de$(): Potássio, Cloro$(br)$(thing)Fórmula$(): KCl", + "text": "$(thing)Porcentagem$(): 20%$(br)$(thing)Fonte de$(): Potássio, Cloro, Fertilizante$(br)$(thing)Fórmula$(): KCl", "type": "patchouli:multiblock" }, { @@ -1995,7 +1995,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/280$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilito, Basalto, Calcário, Cherte, Dolomito, Folhelho, Giz, Red Granite", + "text": "$(thing)Raridade$(): 1/280 chunks$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilito, Basalto, Calcário, Cherte, Dolomito, Folhelho, Giz, Red Granite", "title": "Sheelita e Tungstato", "type": "patchouli:text", "anchor": "mars_tungsten" @@ -2087,7 +2087,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/150$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/150 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", "title": "Sphalerite & Galena", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2194,7 +2194,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Red Granite, Traquito", "title": "Tetraedrita (Normal)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2286,7 +2286,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/140$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/140 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", "title": "Tetraedrita (Superfície)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2378,7 +2378,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Granito, Red Granite", + "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Granito, Red Granite", "title": "Trona, Talc, & Glauconite", "type": "patchouli:text", "anchor": "mars_lubricant" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_ore_index.json index 1c7f53f20..c98f6ac70 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_ore_index.json @@ -34,12 +34,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Pirocloro: $(l:tfg_ores/moon_vein_index#moon_apatite)38%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)38%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)Piropo: $(l:tfg_ores/moon_vein_index#moon_sapphire)27%$(/l)$()$(li)Platina: $(l:tfg_ores/moon_vein_index#moon_sheldonite)15%$(/l)$()$(li)Powellita: $(l:tfg_ores/moon_vein_index#moon_molybdenum)16%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/moon_vein_index#moon_silver)42%$(/l)$()$(li)Quartz: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)Quartzo Certus: $(l:tfg_ores/moon_vein_index#moon_quartz)45%$(/l)$()$(li)Quartzo do Nether: $(l:tfg_ores/moon_vein_index#moon_quartz)30%$(/l)$()$(li)Redstone: $(l:tfg_ores/moon_vein_index#moon_redstone)42%$(/l)$()$(li)Rubi: $(l:tfg_ores/moon_vein_index#moon_redstone)33%$(/l)$()$(li)Safira: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)5%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/moon_vein_index#moon_beryllium)18%$(/l)$()", + "text": "$(li)Pirocloro: $(l:tfg_ores/moon_vein_index#moon_apatite)38%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)38%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)Piropo: $(l:tfg_ores/moon_vein_index#moon_sapphire)27%$(/l)$()$(li)Platina: $(l:tfg_ores/moon_vein_index#moon_sheldonite)15%$(/l)$()$(li)Powellita: $(l:tfg_ores/moon_vein_index#moon_molybdenum)16%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/moon_vein_index#moon_silver)42%$(/l)$()$(li)Quartz: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)Quartzo Certus: $(l:tfg_ores/moon_vein_index#moon_quartz)45%$(/l)$()$(li)Quartzo do Nether: $(l:tfg_ores/moon_vein_index#moon_quartz)30%$(/l)$()$(li)Redstone: $(l:tfg_ores/moon_vein_index#moon_redstone)42%$(/l)$()$(li)Rubi: $(l:tfg_ores/moon_vein_index#moon_redstone)33%$(/l)$()$(li)Safira: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)5%$(/l)$()$(li)Salitre: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Salitre: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()$(li)Sheelita: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)Talco: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()$(li)Tantalita: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)14%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)12%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)40%$(/l)$()$(li)Topázio: $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Topázio Azul: $(l:tfg_ores/moon_vein_index#moon_topaz)35%$(/l)$()$(li)Torianita: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)Trona: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)Tungstato: $(l:tfg_ores/moon_vein_index#moon_scheelite)50%$(/l)$()$(li)Wulfenita: $(l:tfg_ores/moon_vein_index#moon_molybdenum)44%$(/l)$()$(li)Zeólita: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()", + "text": "$(li)Sheelita: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)Silvita: $(l:tfg_ores/moon_vein_index#moon_beryllium)18%$(/l)$()$(li)Talco: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()$(li)Tantalita: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)14%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)12%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)40%$(/l)$()$(li)Topázio: $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Topázio Azul: $(l:tfg_ores/moon_vein_index#moon_topaz)35%$(/l)$()$(li)Torianita: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)Trona: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)Tungstato: $(l:tfg_ores/moon_vein_index#moon_scheelite)50%$(/l)$()$(li)Wulfenita: $(l:tfg_ores/moon_vein_index#moon_molybdenum)44%$(/l)$()$(li)Zeólita: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_vein_index.json index 02e7dbea8..85afed3c8 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/230$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Tamanho$(): 35$(br)$(thing)Altura$(): 7$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Riolito", + "text": "$(thing)Raridade$(): 1/230 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Tamanho$(): 35$(br)$(thing)Altura$(): 7$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Riolito", "title": "Ametista, Opala e Granada", "type": "patchouli:text", "anchor": "moon_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Diorito, Norito", + "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Diorito, Norito", "title": "Apatita e Pirocloro", "type": "patchouli:text", "anchor": "moon_apatite" @@ -213,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/310$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Dacito, Fonolito, Riolito", + "text": "$(thing)Raridade$(): 1/310 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Dacito, Fonolito, Riolito", "title": "Bastnasita e Monazita", "type": "patchouli:text", "anchor": "moon_monazite" @@ -305,7 +305,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/200$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 80$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Basalto, Diorito, Fonolito, Norito, Riolito", + "text": "$(thing)Raridade$(): 1/200 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 80$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Basalto, Diorito, Fonolito, Norito, Riolito", "title": "Bauxita e Ilmenita", "type": "patchouli:text", "anchor": "moon_bauxite" @@ -372,7 +372,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito, Norito", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito, Norito", "title": "Cassiterita e Calcopirita", "type": "patchouli:text", "anchor": "moon_cassiterite" @@ -464,7 +464,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Diorito, Gabro, Norito", + "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Diorito, Gabro, Norito", "title": "Cianita, Mica e Bauxita", "type": "patchouli:text", "anchor": "moon_mica" @@ -571,7 +571,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/260$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Fonolito", + "text": "$(thing)Raridade$(): 1/260 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Fonolito", "title": "Cooperita e Bornita", "type": "patchouli:text", "anchor": "moon_sheldonite" @@ -663,7 +663,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/280$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Diorito, Gabro, Norito", + "text": "$(thing)Raridade$(): 1/280 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Diorito, Gabro, Norito", "title": "Cromita e Magnetita", "type": "patchouli:text", "anchor": "moon_magnetite" @@ -770,7 +770,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/230$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Gabro", + "text": "$(thing)Raridade$(): 1/230 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Gabro", "title": "Desh e Ilmenita", "type": "patchouli:text", "anchor": "moon_desh" @@ -862,7 +862,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/205$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 2 — 75$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Fonolito, Gabro", + "text": "$(thing)Raridade$(): 1/205 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 2 — 75$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Fonolito, Gabro", "title": "Esfalerita e Pirita", "type": "patchouli:text", "anchor": "moon_sphalerite" @@ -929,7 +929,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/260$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Altura$(): 70$(br)$(thing)Raio$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Basalto, Fonolito", + "text": "$(thing)Raridade$(): 1/260 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Altura$(): 70$(br)$(thing)Raio$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Basalto, Fonolito", "title": "Esmeralda e Berílio", "type": "patchouli:text", "anchor": "moon_beryllium" @@ -976,7 +976,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Sal-gema", + "name": "Silvita", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -991,7 +991,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 18%$(br)$(thing)Fonte de$(): Potássio, Cloro$(br)$(thing)Fórmula$(): KCl", + "text": "$(thing)Porcentagem$(): 18%$(br)$(thing)Fonte de$(): Potássio, Cloro, Fertilizante$(br)$(thing)Fórmula$(): KCl", "type": "patchouli:multiblock" }, { @@ -1031,12 +1031,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 0%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): ThO₂", + "text": "$(thing)Porcentagem$(): 0%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): ThO₂$(br)$(thing)Perigo$(): $(c)$(t:Requer Proteção Completa)Radioativo (Qualquer Contato)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 5 — 85$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Riolito", + "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 5 — 85$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Riolito", "title": "Garnierita e Cobaltita", "type": "patchouli:text", "anchor": "moon_garnierite" @@ -1143,7 +1143,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/180$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Tamanho$(): 30$(br)$(thing)Altura$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Anortosito, Fonolito, Norito", + "text": "$(thing)Raridade$(): 1/180 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Tamanho$(): 30$(br)$(thing)Altura$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Anortosito, Fonolito, Norito", "title": "Gipsita e Calcita", "type": "patchouli:text", "anchor": "moon_gypsum" @@ -1250,7 +1250,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/260$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Basalto, Basalto, Fonolito, Gabro", + "text": "$(thing)Raridade$(): 1/260 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 9$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Basalto, Basalto, Fonolito, Gabro", "title": "Grafite e Diamante", "type": "patchouli:text", "anchor": "moon_graphite" @@ -1317,7 +1317,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/215$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 5 — 80$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Basalto, Dacito, Gabro, Norito", + "text": "$(thing)Raridade$(): 1/215 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 5 — 80$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Basalto, Dacito, Gabro, Norito", "title": "Manganês e Tântalo", "type": "patchouli:text", "anchor": "moon_manganese" @@ -1409,7 +1409,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Tamanho$(): 35$(br)$(thing)Altura$(): 10$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Basalto, Diorito, Granito", + "text": "$(thing)Raridade$(): 1/170 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Tamanho$(): 35$(br)$(thing)Altura$(): 10$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Basalto, Diorito, Granito", "title": "Ouro e Magnetita", "type": "patchouli:text", "anchor": "moon_gold" @@ -1501,7 +1501,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/190$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 66$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Anortosito, Basalto, Diorito, Gabro, Norito", + "text": "$(thing)Raridade$(): 1/190 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 66$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Anortosito, Basalto, Diorito, Gabro, Norito", "title": "Pedra-sabão, Talco e Trona", "type": "patchouli:text", "anchor": "moon_lubricant" @@ -1608,7 +1608,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 80$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Anortosito, Basalto, Gabro, Norito", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 80$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Anortosito, Basalto, Gabro, Norito", "title": "Pirolusita e Cobalto", "type": "patchouli:text", "anchor": "moon_pyrolusite" @@ -1700,7 +1700,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 75$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Dacito, Diorito, Norito, Riolito", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 75$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Anortosito, Dacito, Diorito, Norito, Riolito", "title": "Prata, Galena e Chumbo", "type": "patchouli:text", "anchor": "moon_silver" @@ -1792,7 +1792,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/230$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 80$(br2)$(thing)Tipos de Pedra$(): Andesito, Anortosito, Basalto, Dacito, Diorito, Fonolito, Gabro, Norito, Riolito", + "text": "$(thing)Raridade$(): 1/230 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 80$(br2)$(thing)Tipos de Pedra$(): Andesito, Anortosito, Basalto, Dacito, Diorito, Fonolito, Gabro, Norito, Riolito", "title": "Quartzo Certus", "type": "patchouli:text", "anchor": "moon_quartz" @@ -1884,7 +1884,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 100$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Dacito, Fonolito", + "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 100$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Dacito, Fonolito", "title": "Redstone, Cinábrio e Rubi", "type": "patchouli:text", "anchor": "moon_redstone" @@ -1976,7 +1976,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/280$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Tamanho$(): 28$(br)$(thing)Altura$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Basalto, Norito", + "text": "$(thing)Raridade$(): 1/280 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Tamanho$(): 28$(br)$(thing)Altura$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Basalto, Norito", "title": "Safira e Almandina", "type": "patchouli:text", "anchor": "moon_sapphire" @@ -2083,7 +2083,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Dacito, Norito, Riolito", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Andesito, Dacito, Norito, Riolito", "title": "Salitre e Eletrotina", "type": "patchouli:text", "anchor": "moon_saltpeter" @@ -2175,7 +2175,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/200$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Fonolito, Gabro, Riolito", + "text": "$(thing)Raridade$(): 1/200 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Fonolito, Gabro, Riolito", "title": "Sheelita e Tungstato", "type": "patchouli:text", "anchor": "moon_scheelite" @@ -2242,7 +2242,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/190$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 50 — 128$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Dacito, Fonolito, Riolito", + "text": "$(thing)Raridade$(): 1/190 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 50 — 128$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Dacito, Fonolito, Riolito", "title": "Tetraedrita e Calcocita", "type": "patchouli:text", "anchor": "moon_tetrahedrite" @@ -2334,7 +2334,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Tamanho$(): 45$(br)$(thing)Altura$(): 16$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Anortosito, Basalto, Dacito, Diorito, Fonolito, Gabro, Norito, Riolito", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Tamanho$(): 45$(br)$(thing)Altura$(): 16$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Anortosito, Basalto, Dacito, Diorito, Fonolito, Gabro, Norito, Riolito", "title": "Topázio e Calcosita", "type": "patchouli:text", "anchor": "moon_topaz" @@ -2426,7 +2426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/245$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 50$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Basalto, Dacito, Gabro, Norito", + "text": "$(thing)Raridade$(): 1/245 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 50$(br)$(thing)Tamanho$(): 35$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Basalto, Dacito, Gabro, Norito", "title": "Wulfenita e Molibdenita", "type": "patchouli:text", "anchor": "moon_molybdenum" 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 f1ea0726d..9445c1991 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 @@ -39,17 +39,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Pirocloro: $(l:tfg_ores/nether_vein_index#nether_apatite)15%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)Piropo: $(l:tfg_ores/nether_vein_index#nether_sapphire)27%$(/l)$()$(li)Platina: $(l:tfg_ores/nether_vein_index#nether_sheldonite)5%$(/l)$()$(li)Polucita: $(l:tfg_ores/nether_vein_index#nether_mica)20%$(/l)$()$(li)Powellita: $(l:tfg_ores/nether_vein_index#nether_molybdenum)10%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/nether_vein_index#nether_silver)35%$(/l)$()$(li)Quartz: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)Quartzo do Nether: $(l:tfg_ores/nether_vein_index#nether_quartz)54%$(/l)$()$(li)Redstone: $(l:tfg_ores/nether_vein_index#nether_redstone)45%$(/l)$()$(li)Rubi: $(l:tfg_ores/nether_vein_index#nether_redstone)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)20%$(/l)$()$(li)Safira: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/l)$()", + "text": "$(li)Pirocloro: $(l:tfg_ores/nether_vein_index#nether_apatite)15%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)Piropo: $(l:tfg_ores/nether_vein_index#nether_sapphire)27%$(/l)$()$(li)Platina: $(l:tfg_ores/nether_vein_index#nether_sheldonite)5%$(/l)$()$(li)Polucita: $(l:tfg_ores/nether_vein_index#nether_mica)20%$(/l)$()$(li)Powellita: $(l:tfg_ores/nether_vein_index#nether_molybdenum)10%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/nether_vein_index#nether_silver)35%$(/l)$()$(li)Quartz: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)Quartzo do Nether: $(l:tfg_ores/nether_vein_index#nether_quartz)54%$(/l)$()$(li)Redstone: $(l:tfg_ores/nether_vein_index#nether_redstone)45%$(/l)$()$(li)Rubi: $(l:tfg_ores/nether_vein_index#nether_redstone)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)20%$(/l)$()$(li)Safira: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l)$()$(li)Salitre: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_cassiterite)9%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Salitre: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_cassiterite)9%$(/l)$()$(li)Sheelita: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()$(li)Silvita: $(l:tfg_ores/nether_vein_index#nether_sylvite)100%$(/l)$()$(li)Sodalita: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)Talco: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalita: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Terra de Fuller: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gypsum)15%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Topázio: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Topázio Azul: $(l:tfg_ores/nether_vein_index#nether_topaz)35%$(/l)$()$(li)Torianita: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Tungstato: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Uraninita: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()", - "type": "patchouli:text" - }, - { - "Type": "patchouli:text", - "text": "$(li)Wulfenita: $(l:tfg_ores/nether_vein_index#nether_molybdenum)42%$(/l), $(l:tfg_ores/nether_vein_index#nether_pitchblende)12%$(/l)$()", + "text": "$(li)Sheelita: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()$(li)Silvita: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/l)$()$(li)Sodalita: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)Talco: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalita: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Terra de Fuller: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gypsum)15%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Topázio: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Topázio Azul: $(l:tfg_ores/nether_vein_index#nether_topaz)35%$(/l)$()$(li)Torianita: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Tungstato: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Uraninita: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Wulfenita: $(l:tfg_ores/nether_vein_index#nether_molybdenum)42%$(/l), $(l:tfg_ores/nether_vein_index#nether_pitchblende)12%$(/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 8e5d0e638..0baeae0ae 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 @@ -24,12 +24,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_sapphire)Safira e Almandina$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_saltpeter)Salitre e Eletrotina$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_scheelite)Sheelita e Tungstato$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sylvite)Silvita$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_tetrahedrite)Tetraedrita$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_topaz)Topázio e Calcosita$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_pitchblende)Uraninita e Pechblenda$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_molybdenum)Wulfenita e Molibdenita$()$()", + "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_sapphire)Safira e Almandina$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_saltpeter)Salitre e Eletrotina$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_scheelite)Sheelita e Tungstato$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_tetrahedrite)Tetraedrita$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_topaz)Topázio e Calcosita$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_pitchblende)Uraninita e Pechblenda$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_molybdenum)Wulfenita e Molibdenita$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/230$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 45$(br)$(thing)Altura$(): 8$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/230 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 45$(br)$(thing)Altura$(): 8$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Ametista, Opala e Granada", "type": "patchouli:text", "anchor": "nether_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/35$(br)$(thing)Densidade$(): 80%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 48 — 127$(br)$(thing)Tamanho$(): 13$(br)$(thing)Altura$(): 4$(br2)$(thing)Tipos de Pedra$(): Migmatito", + "text": "$(thing)Raridade$(): 1/35 chunks$(br)$(thing)Densidade$(): 80%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 48 — 127$(br)$(thing)Tamanho$(): 13$(br)$(thing)Altura$(): 4$(br2)$(thing)Tipos de Pedra$(): Migmatito", "title": "Antracito", "type": "patchouli:text", "anchor": "nether_anthracite" @@ -148,7 +148,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Tamanho$(): 39$(br2)$(thing)Tipos de Pedra$(): Gnaisse, Xisto", + "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Tamanho$(): 39$(br2)$(thing)Tipos de Pedra$(): Gnaisse, Xisto", "title": "Apatita e Pirocloro", "type": "patchouli:text", "anchor": "nether_apatite" @@ -215,7 +215,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/160$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Tamanho$(): 48$(br)$(thing)Altura$(): 9$(br2)$(thing)Tipos de Pedra$(): Basalto, Granito", + "text": "$(thing)Raridade$(): 1/160 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Tamanho$(): 48$(br)$(thing)Altura$(): 9$(br2)$(thing)Tipos de Pedra$(): Basalto, Granito", "title": "Areias Minerais", "type": "patchouli:text", "anchor": "nether_basaltic_sands" @@ -307,7 +307,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/245$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/245 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Bastnasita e Monazita", "type": "patchouli:text", "anchor": "nether_monazite" @@ -374,7 +374,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Tamanho$(): 31$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Tamanho$(): 31$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Bentonita e Olivina", "type": "patchouli:text", "anchor": "nether_olivine" @@ -466,7 +466,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/170 chunks$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Cassiterita", "type": "patchouli:text", "anchor": "nether_cassiterite" @@ -533,7 +533,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 41$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 41$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Cianita, Mica e Bauxita", "type": "patchouli:text", "anchor": "nether_mica" @@ -600,7 +600,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/170 chunks$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Cobre e Calcopirita", "type": "patchouli:text", "anchor": "nether_copper" @@ -692,7 +692,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 35$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 35$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Cooperita e Bornita", "type": "patchouli:text", "anchor": "nether_sheldonite" @@ -784,7 +784,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/205$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 39$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/205 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 39$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Cromita", "type": "patchouli:text", "anchor": "nether_magnetite" @@ -891,7 +891,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/165$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 50$(br2)$(thing)Tipos de Pedra$(): Basalto, Diorito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/165 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 50$(br2)$(thing)Tipos de Pedra$(): Basalto, Diorito, Piroxenito, Xisto", "title": "Enxofre e Pirita", "type": "patchouli:text", "anchor": "nether_sulfur" @@ -958,7 +958,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/170 chunks$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Esfalerita e Pirita", "type": "patchouli:text", "anchor": "nether_sphalerite" @@ -1025,7 +1025,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 12$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 12$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Esmeralda e Berílio", "type": "patchouli:text", "anchor": "nether_beryllium" @@ -1072,7 +1072,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Sal-gema", + "name": "Silvita", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -1087,7 +1087,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 18%$(br)$(thing)Fonte de$(): Potássio, Cloro$(br)$(thing)Fórmula$(): KCl", + "text": "$(thing)Porcentagem$(): 18%$(br)$(thing)Fonte de$(): Potássio, Cloro, Fertilizante$(br)$(thing)Fórmula$(): KCl", "type": "patchouli:multiblock" }, { @@ -1107,7 +1107,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 0%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): ThO₂", + "text": "$(thing)Porcentagem$(): 0%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): ThO₂$(br)$(thing)Perigo$(): $(c)$(t:Requer Proteção Completa)Radioativo (Qualquer Contato)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1117,7 +1117,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/160$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 16 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Piroxenito", + "text": "$(thing)Raridade$(): 1/160 chunks$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 16 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Piroxenito", "title": "Garnierita e Cobaltita", "type": "patchouli:text", "anchor": "nether_garnierite" @@ -1224,7 +1224,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/180$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 9$(br2)$(thing)Tipos de Pedra$(): Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/180 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 9$(br2)$(thing)Tipos de Pedra$(): Migmatito, Piroxenito, Travertino", "title": "Gipsita e Calcita", "type": "patchouli:text", "anchor": "nether_gypsum" @@ -1316,7 +1316,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/240$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 37$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/240 chunks$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 37$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Goethita", "type": "patchouli:text", "anchor": "nether_goethite" @@ -1408,7 +1408,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/120$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 12$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/120 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 12$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Grafite e Diamante", "type": "patchouli:text", "anchor": "nether_graphite" @@ -1475,7 +1475,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/270$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Migmatito, Piroxenito, Travertino, Xisto", + "text": "$(thing)Raridade$(): 1/270 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Migmatito, Piroxenito, Travertino, Xisto", "title": "Granada e Areia Cassiterita", "type": "patchouli:text", "anchor": "nether_garnet_tin" @@ -1567,7 +1567,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 35$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 35$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Hematita e Limonita", "type": "patchouli:text", "anchor": "nether_hematite" @@ -1674,7 +1674,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/220$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 40$(br2)$(thing)Tipos de Pedra$(): Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 40$(br2)$(thing)Tipos de Pedra$(): Migmatito, Piroxenito, Travertino", "title": "Lápis-lazúri, Lazurita e Sodalita", "type": "patchouli:text", "anchor": "nether_lapis" @@ -1766,7 +1766,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/225$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/225 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Manganês e Tântalo", "type": "patchouli:text", "anchor": "nether_manganese" @@ -1858,7 +1858,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/200$(br)$(thing)Densidade$(): 70%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 38$(br)$(thing)Tamanho$(): 32$(br2)$(thing)Tipos de Pedra$(): Basalto, Piroxenito", + "text": "$(thing)Raridade$(): 1/200 chunks$(br)$(thing)Densidade$(): 70%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 38$(br)$(thing)Tamanho$(): 32$(br2)$(thing)Tipos de Pedra$(): Basalto, Piroxenito", "title": "Naquadah", "type": "patchouli:text", "anchor": "nether_naquadah" @@ -1885,7 +1885,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/150$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Basalto, Diorito, Gabro, Granito, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/150 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Basalto, Diorito, Gabro, Granito, Migmatito, Piroxenito, Travertino", "title": "Nether Quartzo", "type": "patchouli:text", "anchor": "nether_quartz" @@ -1952,7 +1952,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/260$(br)$(thing)Densidade$(): 55.00000000000001%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 37$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/260 chunks$(br)$(thing)Densidade$(): 55%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 37$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Ouro e Hematita", "type": "patchouli:text", "anchor": "nether_gold" @@ -2044,7 +2044,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 41$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 41$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Pedra-sabão, Talco e Trona", "type": "patchouli:text", "anchor": "nether_lubricant" @@ -2151,7 +2151,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/160$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Gnaisse, Granito, Piroxenito", + "text": "$(thing)Raridade$(): 1/160 chunks$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Gnaisse, Granito, Piroxenito", "title": "Prata, Galena e Chumbo", "type": "patchouli:text", "anchor": "nether_silver" @@ -2218,7 +2218,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/160$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Granito, Piroxenito", + "text": "$(thing)Raridade$(): 1/160 chunks$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Granito, Piroxenito", "title": "Redstone, Cinábrio e Rubi", "type": "patchouli:text", "anchor": "nether_redstone" @@ -2285,7 +2285,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/180$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 33$(br)$(thing)Altura$(): 8$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/180 chunks$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 33$(br)$(thing)Altura$(): 8$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Safira e Almandina", "type": "patchouli:text", "anchor": "nether_sapphire" @@ -2377,7 +2377,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 50$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 50$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Salitre e Eletrotina", "type": "patchouli:text", "anchor": "nether_saltpeter" @@ -2469,7 +2469,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/180$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 25$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/180 chunks$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 25$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Sheelita e Tungstato", "type": "patchouli:text", "anchor": "nether_scheelite" @@ -2536,34 +2536,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/75$(br)$(thing)Densidade$(): 60%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 64$(br)$(thing)Tamanho$(): 17$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Piroxenito", - "title": "Silvita", - "type": "patchouli:text", - "anchor": "nether_sylvite" - }, - { - "Type": "patchouli:multiblock", - "name": "Silvita", - "multiblock": { - "mapping": { - "0": "beneath:ore/blackstone_sylvite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 100%$(br)$(thing)Usado para$(): Fertilizante$(br)$(thing)Fórmula$(): KCl", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/170$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Gnaisse, Migmatito, Piroxenito, Travertino, Xisto", + "text": "$(thing)Raridade$(): 1/170 chunks$(br)$(thing)Densidade$(): 50%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Tamanho$(): 45$(br2)$(thing)Tipos de Pedra$(): Gnaisse, Migmatito, Piroxenito, Travertino, Xisto", "title": "Tetraedrita", "type": "patchouli:text", "anchor": "nether_tetrahedrite" @@ -2630,7 +2603,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/180$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 33$(br)$(thing)Altura$(): 7$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/180 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 33$(br)$(thing)Altura$(): 7$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Topázio e Calcosita", "type": "patchouli:text", "anchor": "nether_topaz" @@ -2722,7 +2695,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/250$(br)$(thing)Densidade$(): 55.00000000000001%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 24$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 55%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 24$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Uraninita e Pechblenda", "type": "patchouli:text", "anchor": "nether_pitchblende" @@ -2744,7 +2717,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 62%$(br)$(thing)Fonte de$(): Urânio, Tório, Chumbo$(br)$(thing)Fórmula$(): (UO₂)₃ThPb$(br)$(thing)Perigo$(): $(c)$(t:Requer Proteção Completa)Carcinogênico (Qualquer Contato)$(/t)$()", + "text": "$(thing)Porcentagem$(): 62%$(br)$(thing)Fonte de$(): Urânio, Tório, Chumbo$(br)$(thing)Fórmula$(): (UO₂)₃ThPb$(br)$(thing)Perigo$(): $(c)$(t:Requer Proteção Completa)Radioativo (Qualquer Contato)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2764,7 +2737,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 25%$(br)$(thing)Fonte de$(): Urânio$(br)$(thing)Fórmula$(): UO₂$(br)$(thing)Perigo$(): $(c)$(t:Requer Proteção Completa)Carcinogênico (Qualquer Contato)$(/t)$()", + "text": "$(thing)Porcentagem$(): 25%$(br)$(thing)Fonte de$(): Urânio$(br)$(thing)Fórmula$(): UO₂$(br)$(thing)Perigo$(): $(c)$(t:Requer Proteção Completa)Radioativo (Qualquer Contato)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2789,7 +2762,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/245$(br)$(thing)Densidade$(): 55.00000000000001%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 31$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", + "text": "$(thing)Raridade$(): 1/245 chunks$(br)$(thing)Densidade$(): 55%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Tamanho$(): 31$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Gnaisse, Granito, Piroxenito, Xisto", "title": "Wulfenita e Molibdenita", "type": "patchouli:text", "anchor": "nether_molybdenum" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_ore_index.json index 0f3db8b9a..ad130c1b7 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Enxofre: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)Esfalerita: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()$(li)Espodumena: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Lepidorita: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Pirita: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Sal: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()", + "text": "$(li)Enxofre: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)Esfalerita: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()$(li)Espodumena: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Halita: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Lepidorita: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Pirita: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Silvita: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_vein_index.json index e195e663e..9fd5f17e3 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/30$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito, Traquito, Travertino", + "text": "$(thing)Raridade$(): 1/30 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito, Traquito, Travertino", "title": "Enxofre e Pirita", "type": "patchouli:text", "anchor": "venus_manual_sulfur" @@ -86,14 +86,14 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/30$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Tamanho$(): 20$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito, Traquito, Travertino$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)Raridade$(): 1/30 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Tamanho$(): 20$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, 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", + "name": "Halita", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -113,7 +113,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Sal-gema", + "name": "Silvita", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -128,7 +128,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 10%$(br)$(thing)Fonte de$(): Potássio, Cloro$(br)$(thing)Fórmula$(): KCl", + "text": "$(thing)Porcentagem$(): 10%$(br)$(thing)Fonte de$(): Potássio, Cloro, Fertilizante$(br)$(thing)Fórmula$(): KCl", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/beneath/ores_and_minerals.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/beneath/ores_and_minerals.json index 1a4d471b7..86e9a3c48 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/beneath/ores_and_minerals.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/beneath/ores_and_minerals.json @@ -44,26 +44,6 @@ "name": "Антрацит", "text": "Антрацит является мощным $(l:beneath/hellforge)топливом$(). Его можно найти в мигматите на внешних уровнях бездны.", "enable_visualize": false - }, - { - "type": "patchouli:multiblock", - "anchor": "sylvite", - "multiblock": { - "pattern": [ - [ - "X" - ], - [ - "0" - ] - ], - "mapping": { - "X": "beneath:ore/blackstone_sylvite" - } - }, - "name": "Сильвит", - "text": "Сильвит является неплохим удобрением, которое можно найти в пироксените на нижних уровнях Бездны.", - "enable_visualize": false } ], "read_by_default": true 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 ca34e0cc1..920c13227 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,12 +24,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Гроссуляр: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/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#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)$()", + "text": "$(li)Гроссуляр: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/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#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#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" }, { "Type": "patchouli:text", - "text": "$(li)Красный гранат: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лазурит 2: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Литий: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахит: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молибденит: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Нефтеносный песок: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Никель: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()", + "text": "$(li)Куперит: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лазуритит: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Литий: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахит: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молибденит: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Нефтеносный песок: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Никель: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()", "type": "patchouli:text" }, { @@ -39,17 +39,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)Самородная Золото: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Самородная Медь: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Самородная Серебро: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Сапфир: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Свинец: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Селитра: $(l:tfg_ores/earth_vein_index#normal_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_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#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Самородная Медь: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Самородная Серебро: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Сапфир: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Свинец: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Селитра: $(l:tfg_ores/earth_vein_index#normal_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#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/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_manganese)25%$(/l)$()$(li)Сподумен: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Сфалерит: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Тальк: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Танталит: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Таркианит: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Тетраэдрит: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Топаз: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Торианит: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Трона: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Уголь: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)Уранинит: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Уранит: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Халькозин: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()", + "text": "$(li)Стибнит: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Тальк: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Танталит: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Таркианит: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Тетраэдрит: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Топаз: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Торианит: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Трона: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Уголь: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)Уранинит: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Уранит: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Халькозин: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Хромит: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)Цеолит: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Ционит: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Шеелит: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)Шелдонит: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Электротин: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()", + "text": "$(li)Халькопирит: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)Хромит: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)Цеолит: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Ционит: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Шеелит: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)Электротин: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json index 25ef6cffc..628a98e3c 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 @@ -19,17 +19,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Золото (Глубокое)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Золото, Лимонит и Гематит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Изумруд и Бериллий$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Касситерит (Обычный)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Касситерит (Поверхностный)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Кварцы$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Лазурит, Лазурит 2 и Содалит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Лимонит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Магнетит и Ванадий$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Марганец и Тантал$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Медь и Халькопирит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Минеральные пески$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Мыльный камень, Тальк и Трона$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Нефтеносный песок$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Золото (Глубокое)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Золото, Лимонит и Гематит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Изумруд и Бериллий$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Касситерит (Обычный)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Касситерит (Поверхностный)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Кварцы$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Куперит и Борнит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Лазурит, Лазуритит и Содалит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Лимонит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Магнетит и Ванадий$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Марганец и Тантал$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Медь и Халькопирит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Минеральные пески$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Мыльный камень, Тальк и Трона$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Опал и гранат$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Редстоун, Киноварь и Рубин$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Сапфир и Альмандин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Селитра и Электротин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Сера и Пирит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Серебро, Галена и Свинец$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Соли и Бура$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Сподумен и Лепидолит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Сфалерит & Пирит$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Сфалерит и Сера$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Таркианит и Нефтеносный песок$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Тетраэдрит (обычный)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Тетраэдрит (Поверхностный)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Топаз и Халькозин$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Нефтеносный песок$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Опал и гранат$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Редстоун, Киноварь и Рубин$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Сапфир и Альмандин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Селитра и Электротин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Сера и Пирит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Серебро, Галена и Свинец$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Соли и Бура$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Сподумен и Лепидолит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Сфалерит & Пирит$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Сфалерит и Сера$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Таркианит и Нефтеносный песок$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Тетраэдрит (обычный)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Тетраэдрит (Поверхностный)$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Уголь$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Уранинит и Уранит$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Халькопирит и Реальгар$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Хромит и Магнетит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Ционит, Слюда и Боксит$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Шеелит и Вольфрамат$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Шелдонит и Борнит$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Топаз и Халькозин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Уголь$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Уранинит и Уранит$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Халькопирит и Реальгар$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Хромит и Магнетит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Ционит, Слюда и Боксит$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Шеелит и Вольфрамат$()$()", "type": "patchouli:text" }, { @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/230$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 26$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аспидный сланец, Гнейс, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/230 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 26$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аспидный сланец, Гнейс, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец, Филлит, Шиферный сланец", "title": "Аметист и гранат", "type": "patchouli:text", "anchor": "deep_garnet_amethyst" @@ -61,7 +61,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 65%$(br)$(thing)Хромит$(): Железо$(br)$(thing)Формула$(): (SiO₂)₄Fe", + "text": "$(thing)Процент руды$(): 65%$(br)$(thing)Используется для$(): Железо$(br)$(thing)Формула$(): (SiO₂)₄Fe", "type": "patchouli:multiblock" }, { @@ -81,7 +81,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Андрадит, Гроссуляр, Уваровит", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Андрадит, Гроссуляр, Уваровит", "type": "patchouli:multiblock" }, { @@ -101,7 +101,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Кремний, Кислород$(br)$(thing)Формула$(): (SiO₂)", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Кремний, Кислород$(br)$(thing)Формула$(): (SiO₂)", "type": "patchouli:multiblock" }, { @@ -121,7 +121,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Хромит$(): Пироп, Альмандин, Спасерит", + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Используется для$(): Пироп, Альмандин, Спасерит", "type": "patchouli:multiblock" }, { @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Размер$(): 34$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Размер$(): 34$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Апатит и Пирохлор", "type": "patchouli:text", "anchor": "normal_apatite" @@ -153,7 +153,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Хромит$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₅(PO₄)₃Cl", + "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Используется для$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₅(PO₄)₃Cl", "type": "patchouli:multiblock" }, { @@ -173,7 +173,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₃(PO₄)₂", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₃(PO₄)₂", "type": "patchouli:multiblock" }, { @@ -193,12 +193,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Ниобий$(br)$(thing)Формула$(): Ca₂Nb₂O₇", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Ниобий$(br)$(thing)Формула$(): Ca₂Nb₂O₇", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/205$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 50$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 1/205 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 50$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Бастнезит и Монацит", "type": "patchouli:text", "anchor": "normal_monazite" @@ -220,7 +220,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 62%$(br)$(thing)Хромит$(): Церий, Фтор$(br)$(thing)Формула$(): CeCFO₃", + "text": "$(thing)Процент руды$(): 62%$(br)$(thing)Используется для$(): Церий, Фтор$(br)$(thing)Формула$(): CeCFO₃", "type": "patchouli:multiblock" }, { @@ -240,7 +240,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 31%$(br)$(thing)Хромит$(): Фосфор, Редкая земля$(br)$(thing)Формула$(): ?(PO₄)", + "text": "$(thing)Процент руды$(): 31%$(br)$(thing)Используется для$(): Фосфор, Редкая земля$(br)$(thing)Формула$(): ?(PO₄)", "type": "patchouli:multiblock" }, { @@ -260,12 +260,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 6%$(br)$(thing)Хромит$(): Неодим$(br)$(thing)Формула$(): Nd", + "text": "$(thing)Процент руды$(): 6%$(br)$(thing)Используется для$(): Неодим$(br)$(thing)Формула$(): Nd", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/180$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 30$(br)$(thing)Размер$(): 26$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 1/180 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 30$(br)$(thing)Размер$(): 26$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Бентонит и Оливин", "type": "patchouli:text", "anchor": "normal_olivine" @@ -287,7 +287,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Натрий, Магний$(br)$(thing)Формула$(): NaMg₆Si₁₂H₄(H₂O)₅O₃₆", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Натрий, Магний$(br)$(thing)Формула$(): NaMg₆Si₁₂H₄(H₂O)₅O₃₆", "type": "patchouli:multiblock" }, { @@ -307,7 +307,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): MgCO₃", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): MgCO₃", "type": "patchouli:multiblock" }, { @@ -327,7 +327,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", "type": "patchouli:multiblock" }, { @@ -347,7 +347,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Магний, Алюминий$(br)$(thing)Формула$(): KMg₂Al₄H₂O₁₂", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Магний, Алюминий$(br)$(thing)Формула$(): KMg₂Al₄H₂O₁₂", "type": "patchouli:multiblock" }, { @@ -357,7 +357,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Висмут (Обычный)", "type": "patchouli:text", "anchor": "normal_bismuthinite" @@ -439,7 +439,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 9%$(br)$(thing)Хромит$(): Сера$(br)$(thing)Формула$(): S", + "text": "$(thing)Процент руды$(): 9%$(br)$(thing)Используется для$(): Сера$(br)$(thing)Формула$(): S", "type": "patchouli:multiblock" }, { @@ -449,7 +449,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/140$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/140 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Висмут (Поверхностный)", "type": "patchouli:text", "anchor": "surface_bismuthinite" @@ -531,7 +531,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 3%$(br)$(thing)Хромит$(): Сера$(br)$(thing)Формула$(): S", + "text": "$(thing)Процент руды$(): 3%$(br)$(thing)Используется для$(): Сера$(br)$(thing)Формула$(): S", "type": "patchouli:multiblock" }, { @@ -541,7 +541,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/245$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 10$(br)$(thing)Размер$(): 26$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 1/245 chunks$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 10$(br)$(thing)Размер$(): 26$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Вульфенит & Молибденит", "type": "patchouli:text", "anchor": "deep_molybdenum" @@ -563,7 +563,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 47%$(br)$(thing)Хромит$(): Свинец, Молибден$(br)$(thing)Формула$(): PbMoO₄", + "text": "$(thing)Процент руды$(): 47%$(br)$(thing)Используется для$(): Свинец, Молибден$(br)$(thing)Формула$(): PbMoO₄", "type": "patchouli:multiblock" }, { @@ -583,7 +583,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Молибден$(br)$(thing)Формула$(): MoS₂", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Молибден$(br)$(thing)Формула$(): MoS₂", "type": "patchouli:multiblock" }, { @@ -603,12 +603,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 17%$(br)$(thing)Хромит$(): Молибден$(br)$(thing)Формула$(): CaMoO₄", + "text": "$(thing)Процент руды$(): 17%$(br)$(thing)Используется для$(): Молибден$(br)$(thing)Формула$(): CaMoO₄", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/160$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 70$(br2)$(thing)Виды камней$(): Габбро, Диорит$(br2)Не получается найти это? Габбро всегда генерируется под $(thing)Базальтом$(), а на дне океана легко обнаружить столбы, ведущие к нижнему слою!", + "text": "$(thing)Редкость$(): 1/160 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 70$(br2)$(thing)Виды камней$(): Габбро, Диорит$(br2)Не получается найти это? Габбро всегда генерируется под $(thing)Базальтом$(), а на дне океана легко обнаружить столбы, ведущие к нижнему слою!", "title": "Гарниерит и Кобальтит", "type": "patchouli:text", "anchor": "normal_garnierite" @@ -670,7 +670,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -715,7 +715,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "normal_hematite" @@ -807,7 +807,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Гематит, Гётит, Рубин", "type": "patchouli:text", "anchor": "deep_hematite" @@ -869,7 +869,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Хром, Алюминий$(br)$(thing)Формула$(): CrAl₂O₃", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Хром, Алюминий$(br)$(thing)Формула$(): CrAl₂O₃", "type": "patchouli:multiblock" }, { @@ -914,7 +914,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/240$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 32$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Известняк, Мрамор", + "text": "$(thing)Редкость$(): 1/240 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 32$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Известняк, Мрамор", "title": "Гётит и Малахит", "type": "patchouli:text", "anchor": "deep_limonite" @@ -1006,7 +1006,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/180$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/180 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Гипс и Кальцит", "type": "patchouli:text", "anchor": "normal_gypsum" @@ -1048,7 +1048,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Хромит$(): Кальций$(br)$(thing)Формула$(): CaCO₃", + "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Используется для$(): Кальций$(br)$(thing)Формула$(): CaCO₃", "type": "patchouli:multiblock" }, { @@ -1068,7 +1068,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Натрий, Бор$(br)$(thing)Формула$(): Na₂B₄(H₂O)₁₀O₇", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Натрий, Бор$(br)$(thing)Формула$(): Na₂B₄(H₂O)₁₀O₇", "type": "patchouli:multiblock" }, { @@ -1088,7 +1088,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): MgSi₄H(H₂O)₄O₁₁", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): MgSi₄H(H₂O)₄O₁₁", "type": "patchouli:multiblock" }, { @@ -1098,7 +1098,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/270$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 64$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/270 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 64$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", "title": "Гранатовый и Касситеритовый песок", "type": "patchouli:text", "anchor": "normal_garnet_tin" @@ -1140,7 +1140,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Альмандин, Андрадит, Гроссуляр, Пироп, Спасерит, Уваровит", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Альмандин, Андрадит, Гроссуляр, Пироп, Спасерит, Уваровит", "type": "patchouli:multiblock" }, { @@ -1160,7 +1160,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₂H₄O₉$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Асбестоз (Вдыхание вредных веществ)$(/t)$()", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): Mg₃Si₂H₄O₉$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Асбестоз (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1180,7 +1180,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Железо, Алюминий$(br)$(thing)Формула$(): (SiO₂)₈(Fe₂O₃)(Al₂O₃)", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Железо, Алюминий$(br)$(thing)Формула$(): (SiO₂)₈(Fe₂O₃)(Al₂O₃)", "type": "patchouli:multiblock" }, { @@ -1190,7 +1190,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/80$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — -16$(br)$(thing)Размер$(): 16$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/80 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — -16$(br)$(thing)Размер$(): 16$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", "title": "Графит и Алмаз", "type": "patchouli:text", "anchor": "normal_graphite" @@ -1232,7 +1232,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Используется для$(): топливо, ректификация$(br)$(thing)Формула$(): C", + "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Используется для$(): Топливо, Ректификация$(br)$(thing)Формула$(): C", "type": "patchouli:multiblock" }, { @@ -1252,12 +1252,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Измельчители, предметы из AE2$(br)$(thing)Формула$(): C", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Измельчители, AE2$(br)$(thing)Формула$(): C", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/260$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 32$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 1/260 chunks$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 32$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Золото (Глубокое)", "type": "patchouli:text", "anchor": "deep_gold" @@ -1349,7 +1349,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 12$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 12$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Золото, Лимонит и Гематит", "type": "patchouli:text", "anchor": "normal_gold" @@ -1441,7 +1441,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): -32 — 50$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): -32 — 50$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -1463,7 +1463,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Используется для$(): компоненты уровня MV, Предметные фильтры (Тэг)$(br)$(thing)Формула$(): Be₃Al₂Si₆O₁₈", + "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Используется для$(): MV компоненты, Предметные фильтры (Тэг)$(br)$(thing)Формула$(): Be₃Al₂Si₆O₁₈", "type": "patchouli:multiblock" }, { @@ -1503,12 +1503,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Торий$(br)$(thing)Формула$(): ThO₂$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Радиоактивный (При любом контакте)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Касситерит (Обычный)", "type": "patchouli:text", "anchor": "normal_cassiterite" @@ -1570,12 +1570,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Калий, Азот$(br)$(thing)Формула$(): KNO₃", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Используется для$(): Калий, Азот$(br)$(thing)Формула$(): KNO₃", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/135$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 1/135 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Касситерит (Поверхностный)", "type": "patchouli:text", "anchor": "surface_cassiterite" @@ -1637,12 +1637,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Калий, Азот$(br)$(thing)Формула$(): KNO₃", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Используется для$(): Калий, Азот$(br)$(thing)Формула$(): KNO₃", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/190$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 100$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Сланец", + "text": "$(thing)Редкость$(): 1/190 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 100$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Сланец", "title": "Кварцы", "type": "patchouli:text", "anchor": "normal_quartz" @@ -1664,7 +1664,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 43%$(br)$(thing)Используется для$(): компоненты уровня LV$(br)$(thing)Формула$(): SiO₂", + "text": "$(thing)Процент руды$(): 43%$(br)$(thing)Используется для$(): LV компоненты$(br)$(thing)Формула$(): SiO₂", "type": "patchouli:multiblock" }, { @@ -1684,7 +1684,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 37%$(br)$(thing)Хромит$(): Барий$(br)$(thing)Формула$(): BaSO₂", + "text": "$(thing)Процент руды$(): 37%$(br)$(thing)Используется для$(): Барий$(br)$(thing)Формула$(): BaSO₂", "type": "patchouli:multiblock" }, { @@ -1704,13 +1704,80 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 18%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₂H₄O₉$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Асбестоз (Вдыхание вредных веществ)$(/t)$()", + "text": "$(thing)Процент руды$(): 18%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): Mg₃Si₂H₄O₉$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Асбестоз (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -60 — 10$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", - "title": "Лазурит, Лазурит 2 и Содалит", + "text": "$(thing)Редкость$(): 1/320 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 0$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "title": "Куперит и Борнит", + "type": "patchouli:text", + "anchor": "deep_sheldonite" + }, + { + "Type": "patchouli:multiblock", + "name": "Борнит", + "multiblock": { + "mapping": { + "0": "#forge:ores/bornite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 53%$(br)$(thing)Используется для$(): Медь$(br)$(thing)Формула$(): Cu₅FeS₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Куперит", + "multiblock": { + "mapping": { + "0": "#forge:ores/cooperite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Используется для$(): Платина, Никель, Палладий$(br)$(thing)Формула$(): Pt₃NiSPd", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Платина", + "multiblock": { + "mapping": { + "0": "#forge:ores/platinum" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 7%$(br)$(thing)Плавится в$(): Платина$(br)$(thing)Формула$(): Pt", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -60 — 10$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "title": "Лазурит, Лазуритит и Содалит", "type": "patchouli:text", "anchor": "normal_lapis" }, @@ -1731,7 +1798,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Алюминий, Кальций, Натрий$(br)$(thing)Формула$(): Al₆Si₆Ca₈Na₈", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Алюминий, Кальций, Натрий$(br)$(thing)Формула$(): Al₆Si₆Ca₈Na₈", "type": "patchouli:multiblock" }, { @@ -1751,12 +1818,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Алюминий, Натрий$(br)$(thing)Формула$(): Al₃Si₃Na₄Cl", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Алюминий, Натрий$(br)$(thing)Формула$(): Al₃Si₃Na₄Cl", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Лазурит 2", + "name": "Лазуритит", "multiblock": { "mapping": { "0": "#forge:ores/lapis" @@ -1771,7 +1838,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Лазурит, Содалит, Пирит, Кальцит", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Лазурит, Содалит, Пирит, Кальцит", "type": "patchouli:multiblock" }, { @@ -1791,7 +1858,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Кальций$(br)$(thing)Формула$(): CaCO₃", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Кальций$(br)$(thing)Формула$(): CaCO₃", "type": "patchouli:multiblock" }, { @@ -1801,7 +1868,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/190$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Известняк, Мрамор", + "text": "$(thing)Редкость$(): 1/190 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Известняк, Мрамор", "title": "Лимонит", "type": "patchouli:text", "anchor": "normal_limonite" @@ -1893,7 +1960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/200$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/200 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Магнетит и Ванадий", "type": "patchouli:text", "anchor": "normal_magnetite" @@ -1935,7 +2002,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 22%$(br)$(thing)Хромит$(): Железо, Ванадий$(br)$(thing)Формула$(): (Fe₃O₄)V", + "text": "$(thing)Процент руды$(): 22%$(br)$(thing)Используется для$(): Железо, Ванадий$(br)$(thing)Формула$(): (Fe₃O₄)V", "type": "patchouli:multiblock" }, { @@ -1975,7 +2042,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Хромит$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Раздражитель (Контакт с кожей)$(/t)$()", + "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Используется для$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Раздражитель (Контакт с кожей)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1985,7 +2052,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/195$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Риолит, Сланец", + "text": "$(thing)Редкость$(): 1/195 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Риолит, Сланец", "title": "Марганец и Тантал", "type": "patchouli:text", "anchor": "normal_manganese" @@ -2007,7 +2074,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 37%$(br)$(thing)Хромит$(): Кальций, Алюминий$(br)$(thing)Формула$(): Ca₃Al₂Si₃O₁₂", + "text": "$(thing)Процент руды$(): 37%$(br)$(thing)Используется для$(): Кальций, Алюминий$(br)$(thing)Формула$(): Ca₃Al₂Si₃O₁₂", "type": "patchouli:multiblock" }, { @@ -2027,7 +2094,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Марганец, Алюминий$(br)$(thing)Формула$(): Al₂Mn₃Si₃O₁₂", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Марганец, Алюминий$(br)$(thing)Формула$(): Al₂Mn₃Si₃O₁₂", "type": "patchouli:multiblock" }, { @@ -2047,7 +2114,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Марганец$(br)$(thing)Формула$(): MnO₂", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Марганец$(br)$(thing)Формула$(): MnO₂", "type": "patchouli:multiblock" }, { @@ -2067,7 +2134,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 12%$(br)$(thing)Хромит$(): Марганец, Тантал$(br)$(thing)Формула$(): MnTa₂O₆", + "text": "$(thing)Процент руды$(): 12%$(br)$(thing)Используется для$(): Марганец, Тантал$(br)$(thing)Формула$(): MnTa₂O₆", "type": "patchouli:multiblock" }, { @@ -2077,7 +2144,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 85$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 85$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Медь и Халькопирит", "type": "patchouli:text", "anchor": "normal_copper" @@ -2169,7 +2236,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/160$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 48$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Базальт, Гранит", + "text": "$(thing)Редкость$(): 1/160 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 48$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Базальт, Гранит", "title": "Минеральные пески", "type": "patchouli:text", "anchor": "normal_basaltic_sands" @@ -2231,7 +2298,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): MgSi₄H(H₂O)₄O₁₁", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): MgSi₄H(H₂O)₄O₁₁", "type": "patchouli:multiblock" }, { @@ -2261,7 +2328,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/190$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 56$(br)$(thing)Размер$(): 36$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 1/190 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 56$(br)$(thing)Размер$(): 36$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Мыльный камень, Тальк и Трона", "type": "patchouli:text", "anchor": "normal_lubricant" @@ -2283,7 +2350,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", + "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", "type": "patchouli:multiblock" }, { @@ -2303,7 +2370,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Магний, Алюминий$(br)$(thing)Формула$(): KMg₂Al₄H₂O₁₂", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Магний, Алюминий$(br)$(thing)Формула$(): KMg₂Al₄H₂O₁₂", "type": "patchouli:multiblock" }, { @@ -2323,7 +2390,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", "type": "patchouli:multiblock" }, { @@ -2363,12 +2430,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Натрий$(br)$(thing)Формула$(): Na₃C₂H(H₂O)₂O₆", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Используется для$(): Натрий$(br)$(thing)Формула$(): Na₃C₂H(H₂O)₂O₆", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/185$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/185 chunks$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Нефтеносный песок", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -2390,12 +2457,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 100%$(br)$(thing)Хромит$(): топливо", + "text": "$(thing)Процент руды$(): 100%$(br)$(thing)Используется для$(): Нефтепродукты", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 62$(br)$(thing)Размер$(): 26$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 62$(br)$(thing)Размер$(): 26$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Опал и гранат", "type": "patchouli:text", "anchor": "deep_garnet_opal" @@ -2417,7 +2484,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 55%$(br)$(thing)Хромит$(): Кремний, Кислород$(br)$(thing)Формула$(): (SiO₂)", + "text": "$(thing)Процент руды$(): 55%$(br)$(thing)Используется для$(): Кремний, Кислород$(br)$(thing)Формула$(): (SiO₂)", "type": "patchouli:multiblock" }, { @@ -2437,7 +2504,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Железо$(br)$(thing)Формула$(): (SiO₂)₄Fe", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Железо$(br)$(thing)Формула$(): (SiO₂)₄Fe", "type": "patchouli:multiblock" }, { @@ -2457,7 +2524,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Андрадит, Гроссуляр, Уваровит", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Андрадит, Гроссуляр, Уваровит", "type": "patchouli:multiblock" }, { @@ -2477,7 +2544,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Хромит$(): Пироп, Альмандин, Спасерит", + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Используется для$(): Пироп, Альмандин, Спасерит", "type": "patchouli:multiblock" }, { @@ -2487,7 +2554,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/160$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 100$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Гранит$(br2)Не получается найти это? На дне океана легко увидеть красное свечение!", + "text": "$(thing)Редкость$(): 1/160 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 100$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Гранит$(br2)Не получается найти это? На дне океана легко увидеть красное свечение!", "title": "Редстоун, Киноварь и Рубин", "type": "patchouli:text", "anchor": "normal_redstone" @@ -2529,7 +2596,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Хром, Алюминий$(br)$(thing)Формула$(): CrAl₂O₃", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Хром, Алюминий$(br)$(thing)Формула$(): CrAl₂O₃", "type": "patchouli:multiblock" }, { @@ -2549,12 +2616,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Ртуть$(br)$(thing)Формула$(): HgS", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Ртуть$(br)$(thing)Формула$(): HgS", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/180$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 32$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Диорит, Риолит", + "text": "$(thing)Редкость$(): 1/180 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 32$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Диорит, Риолит", "title": "Сапфир и Альмандин", "type": "patchouli:text", "anchor": "deep_sapphire" @@ -2576,7 +2643,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Хромит$(): Алюминий, Железо$(br)$(thing)Формула$(): Al₂Fe₃Si₃O₁₂", + "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Используется для$(): Алюминий, Железо$(br)$(thing)Формула$(): Al₂Fe₃Si₃O₁₂", "type": "patchouli:multiblock" }, { @@ -2596,7 +2663,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 27%$(br)$(thing)Хромит$(): Алюминий, Магний$(br)$(thing)Формула$(): Al₂Mg₃Si₃O₁₂", + "text": "$(thing)Процент руды$(): 27%$(br)$(thing)Используется для$(): Алюминий, Магний$(br)$(thing)Формула$(): Al₂Mg₃Si₃O₁₂", "type": "patchouli:multiblock" }, { @@ -2616,7 +2683,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", + "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", "type": "patchouli:multiblock" }, { @@ -2636,7 +2703,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", + "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", "type": "patchouli:multiblock" }, { @@ -2646,7 +2713,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Селитра и Электротин", "type": "patchouli:text", "anchor": "normal_saltpeter" @@ -2668,7 +2735,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Калий, Азот$(br)$(thing)Формула$(): KNO₃", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Калий, Азот$(br)$(thing)Формула$(): KNO₃", "type": "patchouli:multiblock" }, { @@ -2688,7 +2755,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Железо, Алюминий$(br)$(thing)Формула$(): (SiO₂)₈(Fe₂O₃)(Al₂O₃)", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Железо, Алюминий$(br)$(thing)Формула$(): (SiO₂)₈(Fe₂O₃)(Al₂O₃)", "type": "patchouli:multiblock" }, { @@ -2708,7 +2775,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Золото, Серебро, Редстоун$(br)$(thing)Формула$(): (Si(FeS₂)₅(CrAl₂O₃)Hg₃)(AgAu)", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Золото, Серебро, Редстоун$(br)$(thing)Формула$(): (Si(FeS₂)₅(CrAl₂O₃)Hg₃)(AgAu)", "type": "patchouli:multiblock" }, { @@ -2728,7 +2795,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Калий, Алюминий$(br)$(thing)Формула$(): KAl₃Si₂H₆O₁₄", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Калий, Алюминий$(br)$(thing)Формула$(): KAl₃Si₂H₆O₁₄", "type": "patchouli:multiblock" }, { @@ -2738,7 +2805,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/165$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 1/165 chunks$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Сера и Пирит", "type": "patchouli:text", "anchor": "normal_sulfur" @@ -2760,7 +2827,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Хромит$(): Сера$(br)$(thing)Формула$(): S", + "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Используется для$(): Сера$(br)$(thing)Формула$(): S", "type": "patchouli:multiblock" }, { @@ -2805,7 +2872,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/160$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Гнейс, Гранит", + "text": "$(thing)Редкость$(): 1/160 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Гнейс, Гранит", "title": "Серебро, Галена и Свинец", "type": "patchouli:text", "anchor": "normal_silver" @@ -2872,14 +2939,14 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/175$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 30 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 4$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Известняк, Сланец", + "text": "$(thing)Редкость$(): 1/175 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 30 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 4$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Известняк, Сланец", "title": "Соли и Бура", "type": "patchouli:text", "anchor": "normal_salt" }, { "Type": "patchouli:multiblock", - "name": "Каменная соль", + "name": "Сильвин", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -2894,7 +2961,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 40%$(br)$(thing)Хромит$(): Калий, Хлор$(br)$(thing)Формула$(): KCl", + "text": "$(thing)Процент руды$(): 40%$(br)$(thing)Используется для$(): Калий, Хлор, Удобрения$(br)$(thing)Формула$(): KCl", "type": "patchouli:multiblock" }, { @@ -2914,7 +2981,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Хромит$(): Натрий, Хлор$(br)$(thing)Формула$(): NaCl", + "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Используется для$(): Натрий, Хлор$(br)$(thing)Формула$(): NaCl", "type": "patchouli:multiblock" }, { @@ -2934,7 +3001,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Калий, Литий, Алюминий, Фтор$(br)$(thing)Формула$(): KLi₃Al₄F₂O₁₀", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Калий, Литий, Алюминий, Фтор$(br)$(thing)Формула$(): KLi₃Al₄F₂O₁₀", "type": "patchouli:multiblock" }, { @@ -2954,7 +3021,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Натрий, Бор$(br)$(thing)Формула$(): Na₂B₄(H₂O)₁₀O₇", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Натрий, Бор$(br)$(thing)Формула$(): Na₂B₄(H₂O)₁₀O₇", "type": "patchouli:multiblock" }, { @@ -2964,7 +3031,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/180$(br)$(thing)Плотность$(): 37.5%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 20 — 60$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/180 chunks$(br)$(thing)Плотность$(): 38%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 20 — 60$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Сподумен и Лепидолит", "type": "patchouli:text", "anchor": "normal_spodumene" @@ -2986,7 +3053,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Литий, Алюминий$(br)$(thing)Формула$(): LiAlSi₂O₆", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Литий, Алюминий$(br)$(thing)Формула$(): LiAlSi₂O₆", "type": "patchouli:multiblock" }, { @@ -3006,12 +3073,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Хромит$(): Натрий, Хлор$(br)$(thing)Формула$(): NaCl", + "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Используется для$(): Натрий, Хлор$(br)$(thing)Формула$(): NaCl", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Каменная соль", + "name": "Сильвин", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -3026,7 +3093,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Калий, Хлор$(br)$(thing)Формула$(): KCl", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Калий, Хлор, Удобрения$(br)$(thing)Формула$(): KCl", "type": "patchouli:multiblock" }, { @@ -3046,7 +3113,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Калий, Литий, Алюминий, Фтор$(br)$(thing)Формула$(): KLi₃Al₄F₂O₁₀", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Калий, Литий, Алюминий, Фтор$(br)$(thing)Формула$(): KLi₃Al₄F₂O₁₀", "type": "patchouli:multiblock" }, { @@ -3056,7 +3123,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", "title": "Сфалерит & Пирит", "type": "patchouli:text", "anchor": "normal_sphalerite" @@ -3098,7 +3165,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Сера$(br)$(thing)Формула$(): S", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Сера$(br)$(thing)Формула$(): S", "type": "patchouli:multiblock" }, { @@ -3123,7 +3190,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/145$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/145 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", "title": "Сфалерит и Сера", "type": "patchouli:text", "anchor": "surface_sphalerite" @@ -3145,7 +3212,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 55%$(br)$(thing)Хромит$(): Сера$(br)$(thing)Формула$(): S", + "text": "$(thing)Процент руды$(): 55%$(br)$(thing)Используется для$(): Сера$(br)$(thing)Формула$(): S", "type": "patchouli:multiblock" }, { @@ -3190,7 +3257,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/140$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/140 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец$(br2)Появляется только в пустынях на $(thing)Юго-западе$(), при минимальной температуре - 7°C и годовыми осадками 100мм.", "title": "Таркианит и Нефтеносный песок", "type": "patchouli:text", "anchor": "normal_tarkianite" @@ -3212,7 +3279,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Рений, Молибден$(br)$(thing)Формула$(): CuFeRe₄Mo₄S₈", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Рений, Молибден$(br)$(thing)Формула$(): CuFeRe₄Mo₄S₈", "type": "patchouli:multiblock" }, { @@ -3232,7 +3299,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): топливо", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Нефтепродукты", "type": "patchouli:multiblock" }, { @@ -3252,7 +3319,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Натрий, Бор$(br)$(thing)Формула$(): Na₂B₄(H₂O)₁₀O₇", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Натрий, Бор$(br)$(thing)Формула$(): Na₂B₄(H₂O)₁₀O₇", "type": "patchouli:multiblock" }, { @@ -3272,7 +3339,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Натрий$(br)$(thing)Формула$(): Na₃C₂H(H₂O)₂O₆", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Используется для$(): Натрий$(br)$(thing)Формула$(): Na₃C₂H(H₂O)₂O₆", "type": "patchouli:multiblock" }, { @@ -3282,7 +3349,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Тетраэдрит (обычный)", "type": "patchouli:text", "anchor": "normal_tetrahedrite" @@ -3349,7 +3416,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/140$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/140 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Тетраэдрит (Поверхностный)", "type": "patchouli:text", "anchor": "surface_tetrahedrite" @@ -3416,7 +3483,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/260$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 26$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 7$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/260 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 26$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 7$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Топаз и Халькозин", "type": "patchouli:text", "anchor": "deep_topaz" @@ -3438,7 +3505,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Алюминий, Фтор$(br)$(thing)Формула$(): Al₂SiF₂H₂O₆", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Алюминий, Фтор$(br)$(thing)Формула$(): Al₂SiF₂H₂O₆", "type": "patchouli:multiblock" }, { @@ -3458,7 +3525,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Алюминий, Фтор$(br)$(thing)Формула$(): Al₂SiFH₂", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Алюминий, Фтор$(br)$(thing)Формула$(): Al₂SiFH₂", "type": "patchouli:multiblock" }, { @@ -3478,7 +3545,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Медь$(br)$(thing)Формула$(): Cu₂S", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Медь$(br)$(thing)Формула$(): Cu₂S", "type": "patchouli:multiblock" }, { @@ -3498,7 +3565,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Медь$(br)$(thing)Формула$(): Cu₅FeS₄", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Медь$(br)$(thing)Формула$(): Cu₅FeS₄", "type": "patchouli:multiblock" }, { @@ -3508,7 +3575,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/215$(br)$(thing)Плотность$(): 55.00000000000001%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/215 chunks$(br)$(thing)Плотность$(): 55%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Уголь", "type": "patchouli:text", "anchor": "normal_coal" @@ -3530,12 +3597,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 100%$(br)$(thing)Используется для$(): топливо, ректификация$(br)$(thing)Формула$(): C", + "text": "$(thing)Процент руды$(): 100%$(br)$(thing)Используется для$(): Топливо, Ректификация$(br)$(thing)Формула$(): C", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/240$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — -20$(br)$(thing)Размер$(): 19$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/240 chunks$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — -20$(br)$(thing)Размер$(): 19$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Уранинит и Уранит", "type": "patchouli:text", "anchor": "deep_pitchblende" @@ -3557,7 +3624,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 62%$(br)$(thing)Хромит$(): Уран, Торий, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Канцерогенный (При любом контакте)$(/t)$()", + "text": "$(thing)Процент руды$(): 62%$(br)$(thing)Используется для$(): Уран, Торий, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Радиоактивный (При любом контакте)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -3577,7 +3644,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Уран$(br)$(thing)Формула$(): UO₂$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Канцерогенный (При любом контакте)$(/t)$()", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Уран$(br)$(thing)Формула$(): UO₂$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Радиоактивный (При любом контакте)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -3597,12 +3664,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 12%$(br)$(thing)Хромит$(): Свинец, Молибден$(br)$(thing)Формула$(): PbMoO₄", + "text": "$(thing)Процент руды$(): 12%$(br)$(thing)Используется для$(): Свинец, Молибден$(br)$(thing)Формула$(): PbMoO₄", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/200$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 217$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 1/200 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 217$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Халькопирит и Реальгар", "type": "patchouli:text", "anchor": "surface_copper" @@ -3644,7 +3711,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Хромит$(): Алюминий, Кислород$(br)$(thing)Формула$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", + "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Используется для$(): Алюминий, Кислород$(br)$(thing)Формула$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", "type": "patchouli:multiblock" }, { @@ -3664,7 +3731,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Хромит$(): Мышьяк$(br)$(thing)Формула$(): As₄S₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", + "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Используется для$(): Мышьяк$(br)$(thing)Формула$(): As₄S₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -3694,7 +3761,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/225$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец", + "text": "$(thing)Редкость$(): 1/225 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец", "title": "Хромит и Магнетит", "type": "patchouli:text", "anchor": "deep_magnetite" @@ -3716,7 +3783,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Хромит$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Раздражитель (Контакт с кожей)$(/t)$()", + "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Используется для$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Раздражитель (Контакт с кожей)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -3736,7 +3803,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Железо, Ванадий$(br)$(thing)Формула$(): (Fe₃O₄)V", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Железо, Ванадий$(br)$(thing)Формула$(): (Fe₃O₄)V", "type": "patchouli:multiblock" }, { @@ -3796,12 +3863,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 8%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", + "text": "$(thing)Процент руды$(): 8%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/190$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 36$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 1/190 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 36$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Ционит, Слюда и Боксит", "type": "patchouli:text", "anchor": "normal_mica" @@ -3823,7 +3890,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂SiO₅", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂SiO₅", "type": "patchouli:multiblock" }, { @@ -3843,7 +3910,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Калий, Алюминий, Фтор$(br)$(thing)Формула$(): KAl₃Si₃F₂O₁₀", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Калий, Алюминий, Фтор$(br)$(thing)Формула$(): KAl₃Si₃F₂O₁₀", "type": "patchouli:multiblock" }, { @@ -3863,7 +3930,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", "type": "patchouli:multiblock" }, { @@ -3883,7 +3950,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Цезий, Алюминий$(br)$(thing)Формула$(): Cs₂Al₂Si₄(H₂O)₂O₁₂", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Цезий, Алюминий$(br)$(thing)Формула$(): Cs₂Al₂Si₄(H₂O)₂O₁₂", "type": "patchouli:multiblock" }, { @@ -3893,7 +3960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/240$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 0$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)Редкость$(): 1/240 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 0$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Шеелит и Вольфрамат", "type": "patchouli:text", "anchor": "deep_scheelite" @@ -3915,7 +3982,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 45%$(br)$(thing)Хромит$(): Вольфрам$(br)$(thing)Формула$(): Ca(WO₃)O", + "text": "$(thing)Процент руды$(): 45%$(br)$(thing)Используется для$(): Вольфрам$(br)$(thing)Формула$(): Ca(WO₃)O", "type": "patchouli:multiblock" }, { @@ -3935,7 +4002,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Вольфрам, Литий$(br)$(thing)Формула$(): Li₂(WO₃)O", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Вольфрам, Литий$(br)$(thing)Формула$(): Li₂(WO₃)O", "type": "patchouli:multiblock" }, { @@ -3955,74 +4022,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Литий$(br)$(thing)Формула$(): Li", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/320$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 0$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", - "title": "Шелдонит и Борнит", - "type": "patchouli:text", - "anchor": "deep_sheldonite" - }, - { - "Type": "patchouli:multiblock", - "name": "Борнит", - "multiblock": { - "mapping": { - "0": "#forge:ores/bornite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 53%$(br)$(thing)Хромит$(): Медь$(br)$(thing)Формула$(): Cu₅FeS₄", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Шелдонит", - "multiblock": { - "mapping": { - "0": "#forge:ores/cooperite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Хромит$(): Платина, Никель, Палладий$(br)$(thing)Формула$(): Pt₃NiSPd", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Платина", - "multiblock": { - "mapping": { - "0": "#forge:ores/platinum" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 7%$(br)$(thing)Плавится в$(): Платина$(br)$(thing)Формула$(): Pt", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Литий$(br)$(thing)Формула$(): Li", "type": "patchouli:multiblock" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json index 791a499b8..768de0fff 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json @@ -19,27 +19,27 @@ }, { "Type": "patchouli:text", - "text": "$(li)Гематит: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)Гётит: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Гипс: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Глауконитовый песок: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Графит: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Жёлтый лимонит: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Зелёный сапфир: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Изумруд: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Кальцит: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Каменная соль: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Касситерит: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Кварцит: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()", + "text": "$(li)Гематит: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)Гётит: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Гипс: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Глауконитовый песок: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Графит: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Жёлтый лимонит: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Зелёный сапфир: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Изумруд: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Кальцит: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Касситерит: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Кварцит: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Куперит: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Лазурит: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Лазурит 2: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Литий: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Монацит: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Неодим: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Никель: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Олово: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Пентландит: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Пирит: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Пиролюзит: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Пироп: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Пирохлор: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()", + "text": "$(li)Лазурит: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Лазуритит: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Литий: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Монацит: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Неодим: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Никель: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Олово: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Пентландит: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Пирит: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Пиролюзит: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Пироп: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Пирохлор: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Платина: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Реальгар: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Редстоун: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Рубин: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Самородная Золото: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Самородная Медь: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Самородная Серебро: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Сапфир: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Свинец: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Селитра: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Сера: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Содалит: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Спасерит: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Сподумен: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()", + "text": "$(li)Платина: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Реальгар: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Редстоун: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Рубин: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Самородная Золото: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Самородная Медь: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Самородная Серебро: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Сапфир: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Свинец: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Селитра: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Сера: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Сильвин: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Содалит: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Спасерит: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Стибнит: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Тальк: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Танталит: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Тетраэдрит: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Торианит: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Трона: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Уголь: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)Уранинит: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)Уранит: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Хромит: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)Шеелит: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()", + "text": "$(li)Сподумен: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Стибнит: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Тальк: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Танталит: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Тетраэдрит: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Торианит: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Трона: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Уголь: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)Уранинит: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)Уранит: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Хромит: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Шелдонит: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)Электротин: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()", + "text": "$(li)Шеелит: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Электротин: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json index f27f27834..01f337525 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Альмандин & Сапфир$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Апатит и Пирохлор$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Бастнезит и Монацит$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Борнит & Куперит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Висмут$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)Гарниерит и Кобальтит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)Гематит и Лимонит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Гематит и Лимонит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)Графит и Алмаз$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_gold)Золото, Электротин & Боксит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)Изумруд и Бериллий$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)Касситерит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Кварцит, Асбест & Барит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)Лазурит, Лазурит 2 и Содалит$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Альмандин & Сапфир$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Апатит и Пирохлор$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Бастнезит и Монацит$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Борнит & Куперит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Висмут$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)Гарниерит и Кобальтит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)Гематит и Лимонит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Гематит и Лимонит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)Графит и Алмаз$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_gold)Золото, Электротин & Боксит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)Изумруд и Бериллий$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)Касситерит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Кварцит, Асбест & Барит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)Лазурит, Лазуритит и Содалит$()$()", "type": "patchouli:text" }, { @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/280$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 65$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Габбро, Диорит, Доломит, Известняк, Кремнистый сланец, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/280 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 65$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Габбро, Диорит, Доломит, Известняк, Красный гранит, Кремнистый сланец, Сланец, Трахит", "title": "Альмандин & Сапфир", "type": "patchouli:text", "anchor": "mars_almandine" @@ -51,7 +51,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 36%$(br)$(thing)Хромит$(): Алюминий, Железо$(br)$(thing)Формула$(): Al₂Fe₃Si₃O₁₂", + "text": "$(thing)Процент руды$(): 36%$(br)$(thing)Используется для$(): Алюминий, Железо$(br)$(thing)Формула$(): Al₂Fe₃Si₃O₁₂", "type": "patchouli:multiblock" }, { @@ -71,7 +71,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 26%$(br)$(thing)Хромит$(): Алюминий, Магний$(br)$(thing)Формула$(): Al₂Mg₃Si₃O₁₂", + "text": "$(thing)Процент руды$(): 26%$(br)$(thing)Используется для$(): Алюминий, Магний$(br)$(thing)Формула$(): Al₂Mg₃Si₃O₁₂", "type": "patchouli:multiblock" }, { @@ -91,7 +91,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", "type": "patchouli:multiblock" }, { @@ -111,7 +111,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", "type": "patchouli:multiblock" }, { @@ -136,7 +136,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Дацит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Дацит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Апатит и Пирохлор", "type": "patchouli:text", "anchor": "mars_apatite" @@ -158,7 +158,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 47%$(br)$(thing)Хромит$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₅(PO₄)₃Cl", + "text": "$(thing)Процент руды$(): 47%$(br)$(thing)Используется для$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₅(PO₄)₃Cl", "type": "patchouli:multiblock" }, { @@ -178,7 +178,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Хромит$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₃(PO₄)₂", + "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Используется для$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₃(PO₄)₂", "type": "patchouli:multiblock" }, { @@ -198,7 +198,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 14%$(br)$(thing)Хромит$(): Ниобий$(br)$(thing)Формула$(): Ca₂Nb₂O₇", + "text": "$(thing)Процент руды$(): 14%$(br)$(thing)Используется для$(): Ниобий$(br)$(thing)Формула$(): Ca₂Nb₂O₇", "type": "patchouli:multiblock" }, { @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/215$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Диорит, Доломит, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)Редкость$(): 1/215 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Диорит, Доломит, Кремнистый сланец, Мел, Трахит", "title": "Бастнезит и Монацит", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -250,7 +250,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 58%$(br)$(thing)Хромит$(): Церий, Фтор$(br)$(thing)Формула$(): CeCFO₃", + "text": "$(thing)Процент руды$(): 58%$(br)$(thing)Используется для$(): Церий, Фтор$(br)$(thing)Формула$(): CeCFO₃", "type": "patchouli:multiblock" }, { @@ -270,7 +270,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 29%$(br)$(thing)Хромит$(): Фосфор, Редкая земля$(br)$(thing)Формула$(): ?(PO₄)", + "text": "$(thing)Процент руды$(): 29%$(br)$(thing)Используется для$(): Фосфор, Редкая земля$(br)$(thing)Формула$(): ?(PO₄)", "type": "patchouli:multiblock" }, { @@ -290,7 +290,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Хромит$(): Неодим$(br)$(thing)Формула$(): Nd", + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Используется для$(): Неодим$(br)$(thing)Формула$(): Nd", "type": "patchouli:multiblock" }, { @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/370$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Дацит, Диорит, Конгломерат, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)Редкость$(): 1/370 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Дацит, Диорит, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Трахит", "title": "Борнит & Куперит", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -342,12 +342,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Медь$(br)$(thing)Формула$(): Cu₅FeS₄", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Медь$(br)$(thing)Формула$(): Cu₅FeS₄", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Шелдонит", + "name": "Куперит", "multiblock": { "mapping": { "0": "#forge:ores/cooperite" @@ -362,7 +362,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Платина, Никель, Палладий$(br)$(thing)Формула$(): Pt₃NiSPd", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Платина, Никель, Палладий$(br)$(thing)Формула$(): Pt₃NiSPd", "type": "patchouli:multiblock" }, { @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/140$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/140 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Висмут", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -474,7 +474,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Сера$(br)$(thing)Формула$(): S", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Сера$(br)$(thing)Формула$(): S", "type": "patchouli:multiblock" }, { @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Известняк, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Известняк, Красный гранит, Мел, Сланец", "title": "Гарниерит и Кобальтит", "type": "patchouli:text", "anchor": "mars_nickel" @@ -566,7 +566,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 28%$(br)$(thing)Хромит$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", + "text": "$(thing)Процент руды$(): 28%$(br)$(thing)Используется для$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -596,7 +596,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат", + "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Красный гранит", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "mars_hematite" @@ -688,7 +688,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/140$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/140 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -770,7 +770,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Хромит$(): Кальций$(br)$(thing)Формула$(): CaCO₃", + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Используется для$(): Кальций$(br)$(thing)Формула$(): CaCO₃", "type": "patchouli:multiblock" }, { @@ -780,7 +780,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Габбро, Гранит, Дацит, Диорит, Трахит", + "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Дацит, Диорит, Красный гранит, Трахит", "title": "Графит и Алмаз", "type": "patchouli:text", "anchor": "mars_graphite" @@ -822,7 +822,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): топливо, ректификация$(br)$(thing)Формула$(): C", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Топливо, Ректификация$(br)$(thing)Формула$(): C", "type": "patchouli:multiblock" }, { @@ -842,7 +842,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Измельчители, предметы из AE2$(br)$(thing)Формула$(): C", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Измельчители, AE2$(br)$(thing)Формула$(): C", "type": "patchouli:multiblock" }, { @@ -872,7 +872,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/230$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/230 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Кремнистый сланец, Мел, Сланец", "title": "Золото, Электротин & Боксит", "type": "patchouli:text", "anchor": "mars_gold" @@ -914,7 +914,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", "type": "patchouli:multiblock" }, { @@ -934,7 +934,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Золото, Серебро, Редстоун$(br)$(thing)Формула$(): (Si(FeS₂)₅(CrAl₂O₃)Hg₃)(AgAu)", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Золото, Серебро, Редстоун$(br)$(thing)Формула$(): (Si(FeS₂)₅(CrAl₂O₃)Hg₃)(AgAu)", "type": "patchouli:multiblock" }, { @@ -954,7 +954,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", "type": "patchouli:multiblock" }, { @@ -964,7 +964,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/350$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): -20 — 50$(br)$(thing)Высота$(): 40$(br)$(thing)Радиус$(): 8$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 1/350 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): -20 — 50$(br)$(thing)Высота$(): 40$(br)$(thing)Радиус$(): 8$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "mars_beryllium" @@ -986,7 +986,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Используется для$(): компоненты уровня MV, Предметные фильтры (Тэг)$(br)$(thing)Формула$(): Be₃Al₂Si₆O₁₈", + "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Используется для$(): MV компоненты, Предметные фильтры (Тэг)$(br)$(thing)Формула$(): Be₃Al₂Si₆O₁₈", "type": "patchouli:multiblock" }, { @@ -1026,12 +1026,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Мышьяк$(br)$(thing)Формула$(): As₄S₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Мышьяк$(br)$(thing)Формула$(): As₄S₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/135$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/135 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Касситерит", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -1093,12 +1093,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Калий, Азот$(br)$(thing)Формула$(): KNO₃", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Используется для$(): Калий, Азот$(br)$(thing)Формула$(): KNO₃", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Гранит, Известняк, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Известняк, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Кварцит, Асбест & Барит", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1120,7 +1120,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 41%$(br)$(thing)Используется для$(): компоненты уровня LV$(br)$(thing)Формула$(): SiO₂", + "text": "$(thing)Процент руды$(): 41%$(br)$(thing)Используется для$(): LV компоненты$(br)$(thing)Формула$(): SiO₂", "type": "patchouli:multiblock" }, { @@ -1140,7 +1140,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Барий$(br)$(thing)Формула$(): BaSO₂", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Барий$(br)$(thing)Формула$(): BaSO₂", "type": "patchouli:multiblock" }, { @@ -1160,7 +1160,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 17%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₂H₄O₉$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Асбестоз (Вдыхание вредных веществ)$(/t)$()", + "text": "$(thing)Процент руды$(): 17%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): Mg₃Si₂H₄O₉$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Асбестоз (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1190,8 +1190,8 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/200$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Кремнистый сланец, Мел, Сланец", - "title": "Лазурит, Лазурит 2 и Содалит", + "text": "$(thing)Редкость$(): 1/200 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Кремнистый сланец, Мел, Сланец", + "title": "Лазурит, Лазуритит и Содалит", "type": "patchouli:text", "anchor": "mars_lapis" }, @@ -1212,7 +1212,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Алюминий, Кальций, Натрий$(br)$(thing)Формула$(): Al₆Si₆Ca₈Na₈", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Алюминий, Кальций, Натрий$(br)$(thing)Формула$(): Al₆Si₆Ca₈Na₈", "type": "patchouli:multiblock" }, { @@ -1232,12 +1232,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Алюминий, Натрий$(br)$(thing)Формула$(): Al₃Si₃Na₄Cl", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Алюминий, Натрий$(br)$(thing)Формула$(): Al₃Si₃Na₄Cl", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Лазурит 2", + "name": "Лазуритит", "multiblock": { "mapping": { "0": "#forge:ores/lapis" @@ -1252,7 +1252,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Лазурит, Содалит, Пирит, Кальцит", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Лазурит, Содалит, Пирит, Кальцит", "type": "patchouli:multiblock" }, { @@ -1272,7 +1272,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Кальций$(br)$(thing)Формула$(): CaCO₃", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Кальций$(br)$(thing)Формула$(): CaCO₃", "type": "patchouli:multiblock" }, { @@ -1282,7 +1282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/230$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 42$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Известняк, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/230 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 42$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Известняк, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Марганец и Тантал", "type": "patchouli:text", "anchor": "mars_tantalite" @@ -1304,7 +1304,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 42%$(br)$(thing)Хромит$(): Марганец$(br)$(thing)Формула$(): MnO₂", + "text": "$(thing)Процент руды$(): 42%$(br)$(thing)Используется для$(): Марганец$(br)$(thing)Формула$(): MnO₂", "type": "patchouli:multiblock" }, { @@ -1324,7 +1324,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 36%$(br)$(thing)Хромит$(): Марганец, Тантал$(br)$(thing)Формула$(): MnTa₂O₆", + "text": "$(thing)Процент руды$(): 36%$(br)$(thing)Используется для$(): Марганец, Тантал$(br)$(thing)Формула$(): MnTa₂O₆", "type": "patchouli:multiblock" }, { @@ -1344,7 +1344,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Кальций, Алюминий$(br)$(thing)Формула$(): Ca₃Al₂Si₃O₁₂", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Используется для$(): Кальций, Алюминий$(br)$(thing)Формула$(): Ca₃Al₂Si₃O₁₂", "type": "patchouli:multiblock" }, { @@ -1364,7 +1364,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Марганец, Алюминий$(br)$(thing)Формула$(): Al₂Mn₃Si₃O₁₂", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Используется для$(): Марганец, Алюминий$(br)$(thing)Формула$(): Al₂Mn₃Si₃O₁₂", "type": "patchouli:multiblock" }, { @@ -1374,7 +1374,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Сланец, Трахит", "title": "Медь и Халькопирит", "type": "patchouli:text", "anchor": "mars_copper" @@ -1466,7 +1466,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/370$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Известняк, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/370 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Известняк, Кремнистый сланец, Мел, Сланец", "title": "Редстоун & Хром", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1508,7 +1508,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Хром, Алюминий$(br)$(thing)Формула$(): CrAl₂O₃", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Хром, Алюминий$(br)$(thing)Формула$(): CrAl₂O₃", "type": "patchouli:multiblock" }, { @@ -1528,12 +1528,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Раздражитель (Контакт с кожей)$(/t)$()", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Раздражитель (Контакт с кожей)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/215$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/215 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Красный гранит, Кремнистый сланец, Мел, Сланец", "title": "Серебро, Галена и Свинец", "type": "patchouli:text", "anchor": "mars_galena" @@ -1625,7 +1625,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Гранит, Диорит, Известняк, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Диорит, Известняк, Красный гранит, Кремнистый сланец, Мел, Трахит", "title": "Соли & Сподумен", "type": "patchouli:text", "anchor": "mars_salt" @@ -1647,7 +1647,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Литий, Алюминий$(br)$(thing)Формула$(): LiAlSi₂O₆", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Литий, Алюминий$(br)$(thing)Формула$(): LiAlSi₂O₆", "type": "patchouli:multiblock" }, { @@ -1667,12 +1667,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Хромит$(): Натрий, Хлор$(br)$(thing)Формула$(): NaCl", + "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Используется для$(): Натрий, Хлор$(br)$(thing)Формула$(): NaCl", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Каменная соль", + "name": "Сильвин", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -1687,7 +1687,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Калий, Хлор$(br)$(thing)Формула$(): KCl", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Калий, Хлор, Удобрения$(br)$(thing)Формула$(): KCl", "type": "patchouli:multiblock" }, { @@ -1707,7 +1707,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Калий, Литий, Алюминий, Фтор$(br)$(thing)Формула$(): KLi₃Al₄F₂O₁₀", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Калий, Литий, Алюминий, Фтор$(br)$(thing)Формула$(): KLi₃Al₄F₂O₁₀", "type": "patchouli:multiblock" }, { @@ -1717,7 +1717,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/150$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/150 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Сфалерит & Галена", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -1819,12 +1819,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 11%$(br)$(thing)Хромит$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", + "text": "$(thing)Процент руды$(): 11%$(br)$(thing)Используется для$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/215$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)Редкость$(): 1/215 chunks$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Кремнистый сланец, Мел, Трахит", "title": "Сфалерит & Пирит", "type": "patchouli:text", "anchor": "mars_sulfur" @@ -1906,7 +1906,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 14%$(br)$(thing)Хромит$(): Сера$(br)$(thing)Формула$(): S", + "text": "$(thing)Процент руды$(): 14%$(br)$(thing)Используется для$(): Сера$(br)$(thing)Формула$(): S", "type": "patchouli:multiblock" }, { @@ -1916,7 +1916,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Габбро, Дацит, Диорит, Доломит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Дацит, Диорит, Доломит, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Тетраэдрит (обычный)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2008,7 +2008,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/140$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/140 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Тетраэдрит (Поверхностный)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2100,7 +2100,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Сланец", + "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Сланец", "title": "Трона, Тальк & Глаукониты", "type": "patchouli:text", "anchor": "mars_lubricant" @@ -2122,7 +2122,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Натрий$(br)$(thing)Формула$(): Na₃C₂H(H₂O)₂O₆", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Натрий$(br)$(thing)Формула$(): Na₃C₂H(H₂O)₂O₆", "type": "patchouli:multiblock" }, { @@ -2142,7 +2142,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 21%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", + "text": "$(thing)Процент руды$(): 21%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", "type": "patchouli:multiblock" }, { @@ -2162,7 +2162,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 21%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", + "text": "$(thing)Процент руды$(): 21%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", "type": "patchouli:multiblock" }, { @@ -2182,7 +2182,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 7%$(br)$(thing)Хромит$(): Магний, Алюминий$(br)$(thing)Формула$(): KMg₂Al₄H₂O₁₂", + "text": "$(thing)Процент руды$(): 7%$(br)$(thing)Используется для$(): Магний, Алюминий$(br)$(thing)Формула$(): KMg₂Al₄H₂O₁₂", "type": "patchouli:multiblock" }, { @@ -2232,7 +2232,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/215$(br)$(thing)Плотность$(): 60%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикатора$(): 10$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Диорит, Доломит, Конгломерат, Мел, Трахит", + "text": "$(thing)Редкость$(): 1/215 chunks$(br)$(thing)Плотность$(): 60%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикатора$(): 10$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Диорит, Доломит, Конгломерат, Красный гранит, Мел, Трахит", "title": "Уголь & Гематит", "type": "patchouli:text", "anchor": "mars_coal" @@ -2254,7 +2254,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 70%$(br)$(thing)Используется для$(): топливо, ректификация$(br)$(thing)Формула$(): C", + "text": "$(thing)Процент руды$(): 70%$(br)$(thing)Используется для$(): Топливо, Ректификация$(br)$(thing)Формула$(): C", "type": "patchouli:multiblock" }, { @@ -2284,7 +2284,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/370$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Габбро, Дацит, Диорит, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/370 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Габбро, Дацит, Диорит, Сланец, Трахит", "title": "Уранинит, Торианит, & Уранит", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -2306,7 +2306,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 52%$(br)$(thing)Хромит$(): Уран, Торий, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Канцерогенный (При любом контакте)$(/t)$()", + "text": "$(thing)Процент руды$(): 52%$(br)$(thing)Используется для$(): Уран, Торий, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Радиоактивный (При любом контакте)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2326,7 +2326,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 26%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", + "text": "$(thing)Процент руды$(): 26%$(br)$(thing)Используется для$(): Торий$(br)$(thing)Формула$(): ThO₂$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Радиоактивный (При любом контакте)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2346,12 +2346,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 21%$(br)$(thing)Хромит$(): Уран$(br)$(thing)Формула$(): UO₂$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Канцерогенный (При любом контакте)$(/t)$()", + "text": "$(thing)Процент руды$(): 21%$(br)$(thing)Используется для$(): Уран$(br)$(thing)Формула$(): UO₂$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Радиоактивный (При любом контакте)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 55.00000000000001%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Габбро, Дацит, Диорит, Доломит, Конгломерат, Сланец, Трахит", + "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 55%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Дацит, Диорит, Доломит, Конгломерат, Красный гранит, Сланец, Трахит", "title": "Уранит, Торий & Гематит", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -2373,7 +2373,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 41%$(br)$(thing)Хромит$(): Уран, Торий, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Канцерогенный (При любом контакте)$(/t)$()", + "text": "$(thing)Процент руды$(): 41%$(br)$(thing)Используется для$(): Уран, Торий, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Радиоактивный (При любом контакте)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2393,7 +2393,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 29%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", + "text": "$(thing)Процент руды$(): 29%$(br)$(thing)Используется для$(): Торий$(br)$(thing)Формула$(): ThO₂$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Радиоактивный (При любом контакте)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2418,7 +2418,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/280$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Базальт, Доломит, Известняк, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 1/280 chunks$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Доломит, Известняк, Красный гранит, Кремнистый сланец, Мел, Сланец", "title": "Шеелит и Вольфрамат", "type": "patchouli:text", "anchor": "mars_tungsten" @@ -2440,7 +2440,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 42%$(br)$(thing)Хромит$(): Вольфрам$(br)$(thing)Формула$(): Ca(WO₃)O", + "text": "$(thing)Процент руды$(): 42%$(br)$(thing)Используется для$(): Вольфрам$(br)$(thing)Формула$(): Ca(WO₃)O", "type": "patchouli:multiblock" }, { @@ -2460,7 +2460,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Хромит$(): Вольфрам, Литий$(br)$(thing)Формула$(): Li₂(WO₃)O", + "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Используется для$(): Вольфрам, Литий$(br)$(thing)Формула$(): Li₂(WO₃)O", "type": "patchouli:multiblock" }, { @@ -2480,7 +2480,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Хромит$(): Литий$(br)$(thing)Формула$(): Li", + "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Используется для$(): Литий$(br)$(thing)Формула$(): Li", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_ore_index.json index 5ffe66eeb..ecfed5d96 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_ore_index.json @@ -14,17 +14,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)Armalcolite: $(l:tfg_ores/moon_vein_index#moon_bauxite)21%$(/l), $(l:tfg_ores/moon_vein_index#moon_desh)20%$(/l)$()$(li)Desh: $(l:tfg_ores/moon_vein_index#moon_desh)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_sphalerite)10%$(/l)$()$(li)Алмаз: $(l:tfg_ores/moon_vein_index#moon_graphite)36%$(/l)$()$(li)Алунит: $(l:tfg_ores/moon_vein_index#moon_gypsum)15%$(/l)$()$(li)Альмандин: $(l:tfg_ores/moon_vein_index#moon_sapphire)38%$(/l)$()$(li)Алюминий: $(l:tfg_ores/moon_vein_index#moon_desh)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_mica)14%$(/l)$()$(li)Аметист: $(l:tfg_ores/moon_vein_index#moon_garnet)38%$(/l)$()$(li)Апатит: $(l:tfg_ores/moon_vein_index#moon_apatite)23%$(/l)$()$(li)Барит: $(l:tfg_ores/moon_vein_index#moon_quartz)5%$(/l)$()$(li)Бастнезит: $(l:tfg_ores/moon_vein_index#moon_monazite)61%$(/l)$()$(li)Бериллий: $(l:tfg_ores/moon_vein_index#moon_beryllium)31%$(/l)$()$(li)Боксит: $(l:tfg_ores/moon_vein_index#moon_bauxite)36%$(/l), $(l:tfg_ores/moon_vein_index#moon_mica)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)20%$(/l)$()$(li)Борнит: $(l:tfg_ores/moon_vein_index#moon_sheldonite)35%$(/l), $(l:tfg_ores/moon_vein_index#moon_topaz)15%$(/l)$()$(li)Бура: $(l:tfg_ores/moon_vein_index#moon_gypsum)20%$(/l)$()", + "text": "$(li)Алмаз: $(l:tfg_ores/moon_vein_index#moon_graphite)36%$(/l)$()$(li)Алунит: $(l:tfg_ores/moon_vein_index#moon_gypsum)15%$(/l)$()$(li)Альмандин: $(l:tfg_ores/moon_vein_index#moon_sapphire)38%$(/l)$()$(li)Алюминий: $(l:tfg_ores/moon_vein_index#moon_desh)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_mica)14%$(/l)$()$(li)Аметист: $(l:tfg_ores/moon_vein_index#moon_garnet)38%$(/l)$()$(li)Апатит: $(l:tfg_ores/moon_vein_index#moon_apatite)23%$(/l)$()$(li)Армаколит: $(l:tfg_ores/moon_vein_index#moon_bauxite)21%$(/l), $(l:tfg_ores/moon_vein_index#moon_desh)20%$(/l)$()$(li)Барит: $(l:tfg_ores/moon_vein_index#moon_quartz)5%$(/l)$()$(li)Бастнезит: $(l:tfg_ores/moon_vein_index#moon_monazite)61%$(/l)$()$(li)Бериллий: $(l:tfg_ores/moon_vein_index#moon_beryllium)31%$(/l)$()$(li)Боксит: $(l:tfg_ores/moon_vein_index#moon_bauxite)36%$(/l), $(l:tfg_ores/moon_vein_index#moon_mica)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)20%$(/l)$()$(li)Борнит: $(l:tfg_ores/moon_vein_index#moon_sheldonite)35%$(/l), $(l:tfg_ores/moon_vein_index#moon_topaz)15%$(/l)$()$(li)Бура: $(l:tfg_ores/moon_vein_index#moon_gypsum)20%$(/l)$()$(li)Ванадий магнетит: $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Ванадий магнетит: $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)Вольфрамат: $(l:tfg_ores/moon_vein_index#moon_scheelite)50%$(/l)$()$(li)Вульфенит: $(l:tfg_ores/moon_vein_index#moon_molybdenum)44%$(/l)$()$(li)Галена: $(l:tfg_ores/moon_vein_index#moon_silver)28%$(/l)$()$(li)Гарниерит: $(l:tfg_ores/moon_vein_index#moon_garnierite)23%$(/l)$()$(li)Гипс: $(l:tfg_ores/moon_vein_index#moon_gypsum)35%$(/l)$()$(li)Глауконитовый песок: $(l:tfg_ores/moon_vein_index#moon_lubricant)25%$(/l)$()$(li)Графит: $(l:tfg_ores/moon_vein_index#moon_graphite)52%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/moon_vein_index#moon_manganese)37%$(/l)$()$(li)Жёлтый гранат: $(l:tfg_ores/moon_vein_index#moon_garnet)14%$(/l)$()$(li)Зелёный сапфир: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)5%$(/l)$()$(li)Изумруд: $(l:tfg_ores/moon_vein_index#moon_beryllium)45%$(/l)$()$(li)Ильменит: $(l:tfg_ores/moon_vein_index#moon_bauxite)42%$(/l), $(l:tfg_ores/moon_vein_index#moon_desh)30%$(/l)$()$(li)Истинный кварц: $(l:tfg_ores/moon_vein_index#moon_quartz)45%$(/l)$()", + "text": "$(li)Вольфрамат: $(l:tfg_ores/moon_vein_index#moon_scheelite)50%$(/l)$()$(li)Вульфенит: $(l:tfg_ores/moon_vein_index#moon_molybdenum)44%$(/l)$()$(li)Галена: $(l:tfg_ores/moon_vein_index#moon_silver)28%$(/l)$()$(li)Гарниерит: $(l:tfg_ores/moon_vein_index#moon_garnierite)23%$(/l)$()$(li)Гипс: $(l:tfg_ores/moon_vein_index#moon_gypsum)35%$(/l)$()$(li)Глауконитовый песок: $(l:tfg_ores/moon_vein_index#moon_lubricant)25%$(/l)$()$(li)Графит: $(l:tfg_ores/moon_vein_index#moon_graphite)52%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/moon_vein_index#moon_manganese)37%$(/l)$()$(li)Деш: $(l:tfg_ores/moon_vein_index#moon_desh)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_sphalerite)10%$(/l)$()$(li)Жёлтый гранат: $(l:tfg_ores/moon_vein_index#moon_garnet)14%$(/l)$()$(li)Зелёный сапфир: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)5%$(/l)$()$(li)Изумруд: $(l:tfg_ores/moon_vein_index#moon_beryllium)45%$(/l)$()$(li)Ильменит: $(l:tfg_ores/moon_vein_index#moon_bauxite)42%$(/l), $(l:tfg_ores/moon_vein_index#moon_desh)30%$(/l)$()$(li)Истинный кварц: $(l:tfg_ores/moon_vein_index#moon_quartz)45%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Кальцит: $(l:tfg_ores/moon_vein_index#moon_gypsum)25%$(/l)$()$(li)Каменная соль: $(l:tfg_ores/moon_vein_index#moon_beryllium)18%$(/l)$()$(li)Касситерит: $(l:tfg_ores/moon_vein_index#moon_cassiterite)41%$(/l)$()$(li)Кварцит: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)Киноварь: $(l:tfg_ores/moon_vein_index#moon_redstone)19%$(/l)$()$(li)Кобальт: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_garnierite)14%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_garnierite)19%$(/l)$()$(li)Красный гранат: $(l:tfg_ores/moon_vein_index#moon_garnet)9%$(/l)$()$(li)Литий: $(l:tfg_ores/moon_vein_index#moon_scheelite)10%$(/l)$()$(li)Магнетит: $(l:tfg_ores/moon_vein_index#moon_magnetite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)20%$(/l)$()$(li)Молибденит: $(l:tfg_ores/moon_vein_index#moon_molybdenum)33%$(/l)$()$(li)Монацит: $(l:tfg_ores/moon_vein_index#moon_monazite)30%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/moon_vein_index#moon_lubricant)30%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)20%$(/l)$()$(li)Незер-кварц: $(l:tfg_ores/moon_vein_index#moon_quartz)30%$(/l)$()", + "text": "$(li)Кальцит: $(l:tfg_ores/moon_vein_index#moon_gypsum)25%$(/l)$()$(li)Касситерит: $(l:tfg_ores/moon_vein_index#moon_cassiterite)41%$(/l)$()$(li)Кварцит: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)Киноварь: $(l:tfg_ores/moon_vein_index#moon_redstone)19%$(/l)$()$(li)Кобальт: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_garnierite)14%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_garnierite)19%$(/l)$()$(li)Красный гранат: $(l:tfg_ores/moon_vein_index#moon_garnet)9%$(/l)$()$(li)Куперит: $(l:tfg_ores/moon_vein_index#moon_sheldonite)25%$(/l)$()$(li)Литий: $(l:tfg_ores/moon_vein_index#moon_scheelite)10%$(/l)$()$(li)Магнетит: $(l:tfg_ores/moon_vein_index#moon_magnetite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)20%$(/l)$()$(li)Молибденит: $(l:tfg_ores/moon_vein_index#moon_molybdenum)33%$(/l)$()$(li)Монацит: $(l:tfg_ores/moon_vein_index#moon_monazite)30%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/moon_vein_index#moon_lubricant)30%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)20%$(/l)$()$(li)Незер-кварц: $(l:tfg_ores/moon_vein_index#moon_quartz)30%$(/l)$()", "type": "patchouli:text" }, { @@ -34,12 +34,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Самородная Золото: $(l:tfg_ores/moon_vein_index#moon_gold)55%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)Самородная Медь: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)15%$(/l)$()$(li)Самородная Серебро: $(l:tfg_ores/moon_vein_index#moon_silver)42%$(/l)$()$(li)Сапфир: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)Свинец: $(l:tfg_ores/moon_vein_index#moon_silver)23%$(/l)$()$(li)Селитра: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()$(li)Синий топаз: $(l:tfg_ores/moon_vein_index#moon_topaz)35%$(/l)$()$(li)Слюда: $(l:tfg_ores/moon_vein_index#moon_mica)23%$(/l)$()$(li)Спасерит: $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)Стибнит: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)20%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/moon_vein_index#moon_sphalerite)50%$(/l)$()$(li)Тальк: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()$(li)Танталит: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)14%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)12%$(/l)$()$(li)Тетраэдрит: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)40%$(/l)$()", + "text": "$(li)Самородная Золото: $(l:tfg_ores/moon_vein_index#moon_gold)55%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)Самородная Медь: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)15%$(/l)$()$(li)Самородная Серебро: $(l:tfg_ores/moon_vein_index#moon_silver)42%$(/l)$()$(li)Сапфир: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)Свинец: $(l:tfg_ores/moon_vein_index#moon_silver)23%$(/l)$()$(li)Селитра: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()$(li)Сильвин: $(l:tfg_ores/moon_vein_index#moon_beryllium)18%$(/l)$()$(li)Синий топаз: $(l:tfg_ores/moon_vein_index#moon_topaz)35%$(/l)$()$(li)Слюда: $(l:tfg_ores/moon_vein_index#moon_mica)23%$(/l)$()$(li)Спасерит: $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)Стибнит: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)20%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/moon_vein_index#moon_sphalerite)50%$(/l)$()$(li)Тальк: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()$(li)Танталит: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)14%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)12%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Топаз: $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Торианит: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/moon_vein_index#moon_apatite)33%$(/l)$()$(li)Трона: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)Халькозин: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/moon_vein_index#moon_cassiterite)35%$(/l)$()$(li)Хромит: $(l:tfg_ores/moon_vein_index#moon_magnetite)40%$(/l)$()$(li)Цеолит: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()$(li)Ционит: $(l:tfg_ores/moon_vein_index#moon_mica)33%$(/l)$()$(li)Шеелит: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)Шелдонит: $(l:tfg_ores/moon_vein_index#moon_sheldonite)25%$(/l)$()$(li)Электротин: $(l:tfg_ores/moon_vein_index#moon_saltpeter)37%$(/l)$()", + "text": "$(li)Тетраэдрит: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)40%$(/l)$()$(li)Топаз: $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Торианит: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/moon_vein_index#moon_apatite)33%$(/l)$()$(li)Трона: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)Халькозин: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/moon_vein_index#moon_cassiterite)35%$(/l)$()$(li)Хромит: $(l:tfg_ores/moon_vein_index#moon_magnetite)40%$(/l)$()$(li)Цеолит: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()$(li)Ционит: $(l:tfg_ores/moon_vein_index#moon_mica)33%$(/l)$()$(li)Шеелит: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)Электротин: $(l:tfg_ores/moon_vein_index#moon_saltpeter)37%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json index 755ce01b3..c29d12597 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json @@ -14,12 +14,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/moon_vein_index#moon_desh)Desh & Ilmenite$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_pyrolusite)Pyrolusite and Cobalt$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_garnet)Аметист, Опал и гранат$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_apatite)Апатит и Пирохлор$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_monazite)Бастнезит и Монацит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_bauxite)Боксит и Ильменит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_molybdenum)Вульфенит & Молибденит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_garnierite)Гарниерит и Кобальтит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_gypsum)Гипс и Кальцит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_graphite)Графит и Алмаз$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_gold)Золото и Магнетит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_beryllium)Изумруд и Бериллий$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_quartz)Истинный кварц$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_cassiterite)Касситерит и Халькопирит$()$()", + "text": "$(li)$(l:tfg_ores/moon_vein_index#moon_garnet)Аметист, Опал и гранат$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_apatite)Апатит и Пирохлор$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_monazite)Бастнезит и Монацит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_bauxite)Боксит и Ильменит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_molybdenum)Вульфенит & Молибденит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_garnierite)Гарниерит и Кобальтит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_gypsum)Гипс и Кальцит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_graphite)Графит и Алмаз$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_desh)Деш & Ильменит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_gold)Золото и Магнетит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_beryllium)Изумруд и Бериллий$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_quartz)Истинный кварц$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_cassiterite)Касситерит и Халькопирит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_sheldonite)Куперит и Борнит$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/moon_vein_index#moon_manganese)Марганец и Тантал$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_lubricant)Мыльный камень, Тальк и Трона$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_redstone)Редстоун, Киноварь и Рубин$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_sapphire)Сапфир и Альмандин$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_saltpeter)Селитра и Электротин$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_silver)Серебро, Галена и Свинец$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_sphalerite)Сфалерит & Пирит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_tetrahedrite)Тетраэдрит и Халькозин$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_topaz)Топаз и Халькозин$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_magnetite)Хромит и Магнетит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_mica)Ционит, Слюда и Боксит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_scheelite)Шеелит и Вольфрамат$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_sheldonite)Шелдонит и Борнит$()$()", + "text": "$(li)$(l:tfg_ores/moon_vein_index#moon_manganese)Марганец и Тантал$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_lubricant)Мыльный камень, Тальк и Трона$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_pyrolusite)Пирохлор и Кобальт$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_redstone)Редстоун, Киноварь и Рубин$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_sapphire)Сапфир и Альмандин$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_saltpeter)Селитра и Электротин$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_silver)Серебро, Галена и Свинец$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_sphalerite)Сфалерит & Пирит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_tetrahedrite)Тетраэдрит и Халькозин$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_topaz)Топаз и Халькозин$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_magnetite)Хромит и Магнетит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_mica)Ционит, Слюда и Боксит$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_scheelite)Шеелит и Вольфрамат$()$()", "type": "patchouli:text" }, { @@ -29,191 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/230$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 80$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит", - "title": "Desh & Ilmenite", - "type": "patchouli:text", - "anchor": "moon_desh" - }, - { - "Type": "patchouli:multiblock", - "name": "Ильменит", - "multiblock": { - "mapping": { - "0": "#forge:ores/ilmenite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Хромит$(): Железо, Титан$(br)$(thing)Формула$(): FeTiO₃", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Desh", - "multiblock": { - "mapping": { - "0": "#forge:ores/desh" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Source of$(): Iron, Titanium, Nitrogen$(br)$(thing)Формула$(): (Mg₂Fe(SiO₂)₂)₂(TiO₂)N₄", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Алюминий", - "multiblock": { - "mapping": { - "0": "#forge:ores/aluminium" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Armalcolite", - "multiblock": { - "mapping": { - "0": "#forge:ores/armalcolite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Source of$(): Magnesium, Rutile, Titanium$(br)$(thing)Формула$(): (Mg,Fe)Ti₂O₅", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 80$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Норит", - "title": "Pyrolusite and Cobalt", - "type": "patchouli:text", - "anchor": "moon_pyrolusite" - }, - { - "Type": "patchouli:multiblock", - "name": "Пиролюзит", - "multiblock": { - "mapping": { - "0": "#forge:ores/pyrolusite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Хромит$(): Марганец$(br)$(thing)Формула$(): MnO₂", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Кобальтит", - "multiblock": { - "mapping": { - "0": "#forge:ores/cobaltite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 23%$(br)$(thing)Хромит$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Кобальт", - "multiblock": { - "mapping": { - "0": "#forge:ores/cobalt" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 23%$(br)$(thing)Плавится в$(): Кобальт$(br)$(thing)Формула$(): Co", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Танталит", - "multiblock": { - "mapping": { - "0": "#forge:ores/tantalite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 14%$(br)$(thing)Хромит$(): Марганец, Тантал$(br)$(thing)Формула$(): MnTa₂O₆", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/230$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 7$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Риолит", + "text": "$(thing)Редкость$(): 1/230 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 7$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Риолит", "title": "Аметист, Опал и гранат", "type": "patchouli:text", "anchor": "moon_garnet" @@ -235,7 +51,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Хромит$(): Железо$(br)$(thing)Формула$(): (SiO₂)₄Fe", + "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Используется для$(): Железо$(br)$(thing)Формула$(): (SiO₂)₄Fe", "type": "patchouli:multiblock" }, { @@ -255,7 +71,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Хромит$(): Кремний, Кислород$(br)$(thing)Формула$(): (SiO₂)", + "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Используется для$(): Кремний, Кислород$(br)$(thing)Формула$(): (SiO₂)", "type": "patchouli:multiblock" }, { @@ -275,7 +91,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 14%$(br)$(thing)Хромит$(): Андрадит, Гроссуляр, Уваровит", + "text": "$(thing)Процент руды$(): 14%$(br)$(thing)Используется для$(): Андрадит, Гроссуляр, Уваровит", "type": "patchouli:multiblock" }, { @@ -295,7 +111,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 9%$(br)$(thing)Хромит$(): Пироп, Альмандин, Спасерит", + "text": "$(thing)Процент руды$(): 9%$(br)$(thing)Используется для$(): Пироп, Альмандин, Спасерит", "type": "patchouli:multiblock" }, { @@ -305,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 100$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Диорит, Норит", + "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 100$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Диорит, Норит", "title": "Апатит и Пирохлор", "type": "patchouli:text", "anchor": "moon_apatite" @@ -327,7 +143,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Хромит$(): Ниобий$(br)$(thing)Формула$(): Ca₂Nb₂O₇", + "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Используется для$(): Ниобий$(br)$(thing)Формула$(): Ca₂Nb₂O₇", "type": "patchouli:multiblock" }, { @@ -347,7 +163,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Хромит$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₃(PO₄)₂", + "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Используется для$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₃(PO₄)₂", "type": "patchouli:multiblock" }, { @@ -367,7 +183,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 23%$(br)$(thing)Хромит$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₅(PO₄)₃Cl", + "text": "$(thing)Процент руды$(): 23%$(br)$(thing)Используется для$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₅(PO₄)₃Cl", "type": "patchouli:multiblock" }, { @@ -387,7 +203,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Хромит$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", + "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Используется для$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", "type": "patchouli:multiblock" }, { @@ -397,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/310$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 1/310 chunks$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", "title": "Бастнезит и Монацит", "type": "patchouli:text", "anchor": "moon_monazite" @@ -419,7 +235,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 61%$(br)$(thing)Хромит$(): Церий, Фтор$(br)$(thing)Формула$(): CeCFO₃", + "text": "$(thing)Процент руды$(): 61%$(br)$(thing)Используется для$(): Церий, Фтор$(br)$(thing)Формула$(): CeCFO₃", "type": "patchouli:multiblock" }, { @@ -439,7 +255,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Хромит$(): Фосфор, Редкая земля$(br)$(thing)Формула$(): ?(PO₄)", + "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Используется для$(): Фосфор, Редкая земля$(br)$(thing)Формула$(): ?(PO₄)", "type": "patchouli:multiblock" }, { @@ -459,7 +275,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 6%$(br)$(thing)Хромит$(): Неодим$(br)$(thing)Формула$(): Nd", + "text": "$(thing)Процент руды$(): 6%$(br)$(thing)Используется для$(): Неодим$(br)$(thing)Формула$(): Nd", "type": "patchouli:multiblock" }, { @@ -479,7 +295,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 1%$(br)$(thing)Хромит$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", + "text": "$(thing)Процент руды$(): 1%$(br)$(thing)Используется для$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", "type": "patchouli:multiblock" }, { @@ -489,7 +305,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/200$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 80$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Диорит, Норит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 1/200 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 80$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Диорит, Норит, Риолит, Фонолит", "title": "Боксит и Ильменит", "type": "patchouli:text", "anchor": "moon_bauxite" @@ -511,7 +327,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 42%$(br)$(thing)Хромит$(): Железо, Титан$(br)$(thing)Формула$(): FeTiO₃", + "text": "$(thing)Процент руды$(): 42%$(br)$(thing)Используется для$(): Железо, Титан$(br)$(thing)Формула$(): FeTiO₃", "type": "patchouli:multiblock" }, { @@ -531,12 +347,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 36%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", + "text": "$(thing)Процент руды$(): 36%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Armalcolite", + "name": "Армаколит", "multiblock": { "mapping": { "0": "#forge:ores/armalcolite" @@ -551,12 +367,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 21%$(br)$(thing)Source of$(): Magnesium, Rutile, Titanium$(br)$(thing)Формула$(): (Mg,Fe)Ti₂O₅", + "text": "$(thing)Процент руды$(): 21%$(br)$(thing)Используется для$(): Магний, Рутил, Титан$(br)$(thing)Формула$(): (Mg,Fe)Ti₂O₅", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/245$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 50$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Базальт, Габбро, Дацит, Норит", + "text": "$(thing)Редкость$(): 1/245 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 50$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Базальт, Габбро, Дацит, Норит", "title": "Вульфенит & Молибденит", "type": "patchouli:text", "anchor": "moon_molybdenum" @@ -578,7 +394,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 44%$(br)$(thing)Хромит$(): Свинец, Молибден$(br)$(thing)Формула$(): PbMoO₄", + "text": "$(thing)Процент руды$(): 44%$(br)$(thing)Используется для$(): Свинец, Молибден$(br)$(thing)Формула$(): PbMoO₄", "type": "patchouli:multiblock" }, { @@ -598,7 +414,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Хромит$(): Молибден$(br)$(thing)Формула$(): MoS₂", + "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Используется для$(): Молибден$(br)$(thing)Формула$(): MoS₂", "type": "patchouli:multiblock" }, { @@ -618,7 +434,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Хромит$(): Молибден$(br)$(thing)Формула$(): CaMoO₄", + "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Используется для$(): Молибден$(br)$(thing)Формула$(): CaMoO₄", "type": "patchouli:multiblock" }, { @@ -638,7 +454,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Хромит$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Используется для$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", "type": "patchouli:multiblock" }, { @@ -648,7 +464,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 5 — 85$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Габбро, Диорит, Риолит", + "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 5 — 85$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Габбро, Диорит, Риолит", "title": "Гарниерит и Кобальтит", "type": "patchouli:text", "anchor": "moon_garnierite" @@ -730,7 +546,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Хромит$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", + "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Используется для$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -755,7 +571,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/180$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 100$(br)$(thing)Размер$(): 30$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Норит, Фонолит", + "text": "$(thing)Редкость$(): 1/180 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 100$(br)$(thing)Размер$(): 30$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Норит, Фонолит", "title": "Гипс и Кальцит", "type": "patchouli:text", "anchor": "moon_gypsum" @@ -797,7 +613,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Кальций$(br)$(thing)Формула$(): CaCO₃", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Кальций$(br)$(thing)Формула$(): CaCO₃", "type": "patchouli:multiblock" }, { @@ -817,7 +633,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Натрий, Бор$(br)$(thing)Формула$(): Na₂B₄(H₂O)₁₀O₇", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Натрий, Бор$(br)$(thing)Формула$(): Na₂B₄(H₂O)₁₀O₇", "type": "patchouli:multiblock" }, { @@ -837,7 +653,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Калий, Алюминий$(br)$(thing)Формула$(): KAl₃Si₂H₆O₁₄", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Калий, Алюминий$(br)$(thing)Формула$(): KAl₃Si₂H₆O₁₄", "type": "patchouli:multiblock" }, { @@ -857,12 +673,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Хромит$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Используется для$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/260$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Базальт, Габбро, Фонолит", + "text": "$(thing)Редкость$(): 1/260 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Базальт, Габбро, Фонолит", "title": "Графит и Алмаз", "type": "patchouli:text", "anchor": "moon_graphite" @@ -904,7 +720,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 36%$(br)$(thing)Используется для$(): Измельчители, предметы из AE2$(br)$(thing)Формула$(): C", + "text": "$(thing)Процент руды$(): 36%$(br)$(thing)Используется для$(): Измельчители, AE2$(br)$(thing)Формула$(): C", "type": "patchouli:multiblock" }, { @@ -924,12 +740,104 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Используется для$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 80$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 10$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Базальт, Гранит, Диорит", + "text": "$(thing)Редкость$(): 1/230 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 80$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит", + "title": "Деш & Ильменит", + "type": "patchouli:text", + "anchor": "moon_desh" + }, + { + "Type": "patchouli:multiblock", + "name": "Ильменит", + "multiblock": { + "mapping": { + "0": "#forge:ores/ilmenite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Используется для$(): Железо, Титан$(br)$(thing)Формула$(): FeTiO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Деш", + "multiblock": { + "mapping": { + "0": "#forge:ores/desh" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Железо, Титан, Азот$(br)$(thing)Формула$(): (Mg₂Fe(SiO₂)₂)₂(TiO₂)N₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Алюминий", + "multiblock": { + "mapping": { + "0": "#forge:ores/aluminium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Армаколит", + "multiblock": { + "mapping": { + "0": "#forge:ores/armalcolite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Магний, Рутил, Титан$(br)$(thing)Формула$(): (Mg,Fe)Ti₂O₅", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 80$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 10$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Базальт, Гранит, Диорит", "title": "Золото и Магнетит", "type": "patchouli:text", "anchor": "moon_gold" @@ -971,7 +879,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", "type": "patchouli:multiblock" }, { @@ -1011,7 +919,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", "type": "patchouli:multiblock" }, { @@ -1021,7 +929,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/260$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 70$(br)$(thing)Радиус$(): 8$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Фонолит", + "text": "$(thing)Редкость$(): 1/260 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 70$(br)$(thing)Радиус$(): 8$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Фонолит", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "moon_beryllium" @@ -1043,7 +951,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 45%$(br)$(thing)Используется для$(): компоненты уровня MV, Предметные фильтры (Тэг)$(br)$(thing)Формула$(): Be₃Al₂Si₆O₁₈", + "text": "$(thing)Процент руды$(): 45%$(br)$(thing)Используется для$(): MV компоненты, Предметные фильтры (Тэг)$(br)$(thing)Формула$(): Be₃Al₂Si₆O₁₈", "type": "patchouli:multiblock" }, { @@ -1068,7 +976,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Каменная соль", + "name": "Сильвин", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -1083,7 +991,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 18%$(br)$(thing)Хромит$(): Калий, Хлор$(br)$(thing)Формула$(): KCl", + "text": "$(thing)Процент руды$(): 18%$(br)$(thing)Используется для$(): Калий, Хлор, Удобрения$(br)$(thing)Формула$(): KCl", "type": "patchouli:multiblock" }, { @@ -1103,7 +1011,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Хромит$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", + "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Используется для$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", "type": "patchouli:multiblock" }, { @@ -1123,12 +1031,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 0%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", + "text": "$(thing)Процент руды$(): 0%$(br)$(thing)Используется для$(): Торий$(br)$(thing)Формула$(): ThO₂$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Радиоактивный (При любом контакте)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/230$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 100$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 80$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 1/230 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 100$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 80$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", "title": "Истинный кварц", "type": "patchouli:text", "anchor": "moon_quartz" @@ -1150,7 +1058,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 45%$(br)$(thing)Используется для$(): рецепты Applied Energistics 2$(br)$(thing)Формула$(): SiO₂", + "text": "$(thing)Процент руды$(): 45%$(br)$(thing)Используется для$(): Applied Energistics 2$(br)$(thing)Формула$(): SiO₂", "type": "patchouli:multiblock" }, { @@ -1170,7 +1078,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Используется для$(): рецепты Applied Energistics 2$(br)$(thing)Формула$(): SiO₂", + "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Используется для$(): Applied Energistics 2$(br)$(thing)Формула$(): SiO₂", "type": "patchouli:multiblock" }, { @@ -1190,7 +1098,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): компоненты уровня LV$(br)$(thing)Формула$(): SiO₂", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): LV компоненты$(br)$(thing)Формула$(): SiO₂", "type": "patchouli:multiblock" }, { @@ -1210,7 +1118,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Хромит$(): Барий$(br)$(thing)Формула$(): BaSO₂", + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Используется для$(): Барий$(br)$(thing)Формула$(): BaSO₂", "type": "patchouli:multiblock" }, { @@ -1220,7 +1128,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит, Норит", + "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит, Норит", "title": "Касситерит и Халькопирит", "type": "patchouli:text", "anchor": "moon_cassiterite" @@ -1302,7 +1210,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Хромит$(): Алюминий, Кислород$(br)$(thing)Формула$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Используется для$(): Алюминий, Кислород$(br)$(thing)Формула$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", "type": "patchouli:multiblock" }, { @@ -1312,7 +1220,99 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/215$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 5 — 80$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Базальт, Габбро, Дацит, Норит", + "text": "$(thing)Редкость$(): 1/260 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Фонолит", + "title": "Куперит и Борнит", + "type": "patchouli:text", + "anchor": "moon_sheldonite" + }, + { + "Type": "patchouli:multiblock", + "name": "Борнит", + "multiblock": { + "mapping": { + "0": "#forge:ores/bornite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Медь$(br)$(thing)Формула$(): Cu₅FeS₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Куперит", + "multiblock": { + "mapping": { + "0": "#forge:ores/cooperite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Платина, Никель, Палладий$(br)$(thing)Формула$(): Pt₃NiSPd", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Никель", + "multiblock": { + "mapping": { + "0": "#forge:ores/nickel" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Плавится в$(): Никель$(br)$(thing)Формула$(): Ni", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Платина", + "multiblock": { + "mapping": { + "0": "#forge:ores/platinum" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Плавится в$(): Платина$(br)$(thing)Формула$(): Pt", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 1/215 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 5 — 80$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Базальт, Габбро, Дацит, Норит", "title": "Марганец и Тантал", "type": "patchouli:text", "anchor": "moon_manganese" @@ -1334,7 +1334,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 37%$(br)$(thing)Хромит$(): Кальций, Алюминий$(br)$(thing)Формула$(): Ca₃Al₂Si₃O₁₂", + "text": "$(thing)Процент руды$(): 37%$(br)$(thing)Используется для$(): Кальций, Алюминий$(br)$(thing)Формула$(): Ca₃Al₂Si₃O₁₂", "type": "patchouli:multiblock" }, { @@ -1354,7 +1354,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Марганец, Алюминий$(br)$(thing)Формула$(): Al₂Mn₃Si₃O₁₂", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Марганец, Алюминий$(br)$(thing)Формула$(): Al₂Mn₃Si₃O₁₂", "type": "patchouli:multiblock" }, { @@ -1374,7 +1374,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Марганец$(br)$(thing)Формула$(): MnO₂", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Марганец$(br)$(thing)Формула$(): MnO₂", "type": "patchouli:multiblock" }, { @@ -1394,7 +1394,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 12%$(br)$(thing)Хромит$(): Марганец, Тантал$(br)$(thing)Формула$(): MnTa₂O₆", + "text": "$(thing)Процент руды$(): 12%$(br)$(thing)Используется для$(): Марганец, Тантал$(br)$(thing)Формула$(): MnTa₂O₆", "type": "patchouli:multiblock" }, { @@ -1404,7 +1404,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/190$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 66$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Габбро, Диорит, Норит", + "text": "$(thing)Редкость$(): 1/190 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 66$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Габбро, Диорит, Норит", "title": "Мыльный камень, Тальк и Трона", "type": "patchouli:text", "anchor": "moon_lubricant" @@ -1426,7 +1426,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", + "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", "type": "patchouli:multiblock" }, { @@ -1446,7 +1446,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Магний, Алюминий$(br)$(thing)Формула$(): KMg₂Al₄H₂O₁₂", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Магний, Алюминий$(br)$(thing)Формула$(): KMg₂Al₄H₂O₁₂", "type": "patchouli:multiblock" }, { @@ -1466,7 +1466,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", "type": "patchouli:multiblock" }, { @@ -1506,12 +1506,104 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Натрий$(br)$(thing)Формула$(): Na₃C₂H(H₂O)₂O₆", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Используется для$(): Натрий$(br)$(thing)Формула$(): Na₃C₂H(H₂O)₂O₆", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 100$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Фонолит", + "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 80$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Норит", + "title": "Пирохлор и Кобальт", + "type": "patchouli:text", + "anchor": "moon_pyrolusite" + }, + { + "Type": "patchouli:multiblock", + "name": "Пиролюзит", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrolusite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Используется для$(): Марганец$(br)$(thing)Формула$(): MnO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Кобальтит", + "multiblock": { + "mapping": { + "0": "#forge:ores/cobaltite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 23%$(br)$(thing)Используется для$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Кобальт", + "multiblock": { + "mapping": { + "0": "#forge:ores/cobalt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 23%$(br)$(thing)Плавится в$(): Кобальт$(br)$(thing)Формула$(): Co", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Танталит", + "multiblock": { + "mapping": { + "0": "#forge:ores/tantalite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 14%$(br)$(thing)Используется для$(): Марганец, Тантал$(br)$(thing)Формула$(): MnTa₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 100$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Фонолит", "title": "Редстоун, Киноварь и Рубин", "type": "patchouli:text", "anchor": "moon_redstone" @@ -1553,7 +1645,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Хромит$(): Хром, Алюминий$(br)$(thing)Формула$(): CrAl₂O₃", + "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Используется для$(): Хром, Алюминий$(br)$(thing)Формула$(): CrAl₂O₃", "type": "patchouli:multiblock" }, { @@ -1573,7 +1665,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Хромит$(): Ртуть$(br)$(thing)Формула$(): HgS", + "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Используется для$(): Ртуть$(br)$(thing)Формула$(): HgS", "type": "patchouli:multiblock" }, { @@ -1593,7 +1685,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Хромит$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", + "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Используется для$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", "type": "patchouli:multiblock" }, { @@ -1603,7 +1695,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/280$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 100$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Базальт, Норит", + "text": "$(thing)Редкость$(): 1/280 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 100$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Базальт, Норит", "title": "Сапфир и Альмандин", "type": "patchouli:text", "anchor": "moon_sapphire" @@ -1625,7 +1717,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Хромит$(): Алюминий, Железо$(br)$(thing)Формула$(): Al₂Fe₃Si₃O₁₂", + "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Используется для$(): Алюминий, Железо$(br)$(thing)Формула$(): Al₂Fe₃Si₃O₁₂", "type": "patchouli:multiblock" }, { @@ -1645,7 +1737,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 27%$(br)$(thing)Хромит$(): Алюминий, Магний$(br)$(thing)Формула$(): Al₂Mg₃Si₃O₁₂", + "text": "$(thing)Процент руды$(): 27%$(br)$(thing)Используется для$(): Алюминий, Магний$(br)$(thing)Формула$(): Al₂Mg₃Si₃O₁₂", "type": "patchouli:multiblock" }, { @@ -1665,7 +1757,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", + "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", "type": "patchouli:multiblock" }, { @@ -1685,7 +1777,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", + "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", "type": "patchouli:multiblock" }, { @@ -1705,12 +1797,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 2%$(br)$(thing)Хромит$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", + "text": "$(thing)Процент руды$(): 2%$(br)$(thing)Используется для$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 90$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Норит, Риолит", + "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 90$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Норит, Риолит", "title": "Селитра и Электротин", "type": "patchouli:text", "anchor": "moon_saltpeter" @@ -1732,7 +1824,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 37%$(br)$(thing)Хромит$(): Золото, Серебро, Редстоун$(br)$(thing)Формула$(): (Si(FeS₂)₅(CrAl₂O₃)Hg₃)(AgAu)", + "text": "$(thing)Процент руды$(): 37%$(br)$(thing)Используется для$(): Золото, Серебро, Редстоун$(br)$(thing)Формула$(): (Si(FeS₂)₅(CrAl₂O₃)Hg₃)(AgAu)", "type": "patchouli:multiblock" }, { @@ -1752,7 +1844,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 29%$(br)$(thing)Хромит$(): Калий, Азот$(br)$(thing)Формула$(): KNO₃", + "text": "$(thing)Процент руды$(): 29%$(br)$(thing)Используется для$(): Калий, Азот$(br)$(thing)Формула$(): KNO₃", "type": "patchouli:multiblock" }, { @@ -1772,7 +1864,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", "type": "patchouli:multiblock" }, { @@ -1792,7 +1884,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 12%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", + "text": "$(thing)Процент руды$(): 12%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", "type": "patchouli:multiblock" }, { @@ -1802,7 +1894,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 75$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Дацит, Диорит, Норит, Риолит", + "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 75$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Дацит, Диорит, Норит, Риолит", "title": "Серебро, Галена и Свинец", "type": "patchouli:text", "anchor": "moon_silver" @@ -1884,7 +1976,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Хромит$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", + "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Используется для$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", "type": "patchouli:multiblock" }, { @@ -1894,7 +1986,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/205$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 2 — 75$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит, Фонолит", + "text": "$(thing)Редкость$(): 1/205 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 2 — 75$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит, Фонолит", "title": "Сфалерит & Пирит", "type": "patchouli:text", "anchor": "moon_sphalerite" @@ -1941,7 +2033,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Desh", + "name": "Деш", "multiblock": { "mapping": { "0": "#forge:ores/desh" @@ -1956,12 +2048,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Source of$(): Iron, Titanium, Nitrogen$(br)$(thing)Формула$(): (Mg₂Fe(SiO₂)₂)₂(TiO₂)N₄", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Используется для$(): Железо, Титан, Азот$(br)$(thing)Формула$(): (Mg₂Fe(SiO₂)₂)₂(TiO₂)N₄", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/190$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 50 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 1/190 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 50 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", "title": "Тетраэдрит и Халькозин", "type": "patchouli:text", "anchor": "moon_tetrahedrite" @@ -2003,7 +2095,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Медь$(br)$(thing)Формула$(): Cu₂S", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Медь$(br)$(thing)Формула$(): Cu₂S", "type": "patchouli:multiblock" }, { @@ -2053,7 +2145,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Размер$(): 45$(br)$(thing)Высота$(): 16$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Размер$(): 45$(br)$(thing)Высота$(): 16$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", "title": "Топаз и Халькозин", "type": "patchouli:text", "anchor": "moon_topaz" @@ -2075,7 +2167,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Алюминий, Фтор$(br)$(thing)Формула$(): Al₂SiF₂H₂O₆", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Алюминий, Фтор$(br)$(thing)Формула$(): Al₂SiF₂H₂O₆", "type": "patchouli:multiblock" }, { @@ -2095,7 +2187,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Алюминий, Фтор$(br)$(thing)Формула$(): Al₂SiFH₂", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Алюминий, Фтор$(br)$(thing)Формула$(): Al₂SiFH₂", "type": "patchouli:multiblock" }, { @@ -2115,7 +2207,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Медь$(br)$(thing)Формула$(): Cu₂S", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Медь$(br)$(thing)Формула$(): Cu₂S", "type": "patchouli:multiblock" }, { @@ -2135,7 +2227,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Медь$(br)$(thing)Формула$(): Cu₅FeS₄", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Медь$(br)$(thing)Формула$(): Cu₅FeS₄", "type": "patchouli:multiblock" }, { @@ -2145,7 +2237,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/280$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 90$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", + "text": "$(thing)Редкость$(): 1/280 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 90$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", "title": "Хромит и Магнетит", "type": "patchouli:text", "anchor": "moon_magnetite" @@ -2167,7 +2259,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 40%$(br)$(thing)Хромит$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Раздражитель (Контакт с кожей)$(/t)$()", + "text": "$(thing)Процент руды$(): 40%$(br)$(thing)Используется для$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Раздражитель (Контакт с кожей)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2207,7 +2299,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Железо, Ванадий$(br)$(thing)Формула$(): (Fe₃O₄)V", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Железо, Ванадий$(br)$(thing)Формула$(): (Fe₃O₄)V", "type": "patchouli:multiblock" }, { @@ -2247,12 +2339,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", + "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", "title": "Ционит, Слюда и Боксит", "type": "patchouli:text", "anchor": "moon_mica" @@ -2274,7 +2366,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂SiO₅", + "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂SiO₅", "type": "patchouli:multiblock" }, { @@ -2294,7 +2386,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 23%$(br)$(thing)Хромит$(): Калий, Алюминий, Фтор$(br)$(thing)Формула$(): KAl₃Si₃F₂O₁₀", + "text": "$(thing)Процент руды$(): 23%$(br)$(thing)Используется для$(): Калий, Алюминий, Фтор$(br)$(thing)Формула$(): KAl₃Si₃F₂O₁₀", "type": "patchouli:multiblock" }, { @@ -2314,7 +2406,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 23%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", + "text": "$(thing)Процент руды$(): 23%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", "type": "patchouli:multiblock" }, { @@ -2334,7 +2426,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 14%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al", + "text": "$(thing)Процент руды$(): 14%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al", "type": "patchouli:multiblock" }, { @@ -2354,12 +2446,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Хромит$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", + "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Используется для$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/200$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Габбро, Риолит, Фонолит", + "text": "$(thing)Редкость$(): 1/200 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Габбро, Риолит, Фонолит", "title": "Шеелит и Вольфрамат", "type": "patchouli:text", "anchor": "moon_scheelite" @@ -2381,7 +2473,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Хромит$(): Вольфрам, Литий$(br)$(thing)Формула$(): Li₂(WO₃)O", + "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Используется для$(): Вольфрам, Литий$(br)$(thing)Формула$(): Li₂(WO₃)O", "type": "patchouli:multiblock" }, { @@ -2401,7 +2493,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 40%$(br)$(thing)Хромит$(): Вольфрам$(br)$(thing)Формула$(): Ca(WO₃)O", + "text": "$(thing)Процент руды$(): 40%$(br)$(thing)Используется для$(): Вольфрам$(br)$(thing)Формула$(): Ca(WO₃)O", "type": "patchouli:multiblock" }, { @@ -2421,100 +2513,8 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Литий$(br)$(thing)Формула$(): Li", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Используется для$(): Литий$(br)$(thing)Формула$(): Li", "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/260$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Фонолит", - "title": "Шелдонит и Борнит", - "type": "patchouli:text", - "anchor": "moon_sheldonite" - }, - { - "Type": "patchouli:multiblock", - "name": "Борнит", - "multiblock": { - "mapping": { - "0": "#forge:ores/bornite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Медь$(br)$(thing)Формула$(): Cu₅FeS₄", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Шелдонит", - "multiblock": { - "mapping": { - "0": "#forge:ores/cooperite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Платина, Никель, Палладий$(br)$(thing)Формула$(): Pt₃NiSPd", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Никель", - "multiblock": { - "mapping": { - "0": "#forge:ores/nickel" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Плавится в$(): Никель$(br)$(thing)Формула$(): Ni", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Платина", - "multiblock": { - "mapping": { - "0": "#forge:ores/platinum" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Плавится в$(): Платина$(br)$(thing)Формула$(): Pt", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" } ], "sortnum": 5 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 e35302162..8bc3a22bd 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)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)$()", + "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_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_sheldonite)29%$(/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)54%$(/l)$()", + "text": "$(li)Лазуритит: $(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,17 +39,12 @@ }, { "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), $(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)$()", + "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_beryllium)18%$(/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" }, { "Type": "patchouli:text", - "text": "$(li)Тетраэдрит: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Топаз: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Торианит: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Трона: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Уголь: $(l:tfg_ores/nether_vein_index#nether_graphite)15%$(/l)$()$(li)Уранинит: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Уранит: $(l:tfg_ores/nether_vein_index#nether_pitchblende)62%$(/l)$()$(li)Халькозин: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/nether_vein_index#nether_copper)20%$(/l)$()$(li)Хромит: $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Ционит: $(l:tfg_ores/nether_vein_index#nether_mica)46%$(/l)$()$(li)Шеелит: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()$(li)Шелдонит: $(l:tfg_ores/nether_vein_index#nether_sheldonite)29%$(/l)$()", - "type": "patchouli:text" - }, - { - "Type": "patchouli:text", - "text": "$(li)Электротин: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l)$()", + "text": "$(li)Тетраэдрит: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Топаз: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Торианит: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Трона: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Уголь: $(l:tfg_ores/nether_vein_index#nether_graphite)15%$(/l)$()$(li)Уранинит: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Уранит: $(l:tfg_ores/nether_vein_index#nether_pitchblende)62%$(/l)$()$(li)Халькозин: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/nether_vein_index#nether_copper)20%$(/l)$()$(li)Хромит: $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Ционит: $(l:tfg_ores/nether_vein_index#nether_mica)46%$(/l)$()$(li)Шеелит: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()$(li)Электротин: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/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 c8d789a57..96747a15c 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 @@ -19,17 +19,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_cassiterite)Касситерит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_lapis)Лазурит, Лазурит 2 и Содалит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_manganese)Марганец и Тантал$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_copper)Медь и Халькопирит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_basaltic_sands)Минеральные пески$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_lubricant)Мыльный камень, Тальк и Трона$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_naquadah)Наквада$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_quartz)Незер-кварц$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_redstone)Редстоун, Киноварь и Рубин$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sapphire)Сапфир и Альмандин$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_saltpeter)Селитра и Электротин$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sulfur)Сера и Пирит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_silver)Серебро, Галена и Свинец$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sylvite)Сильвин$()$()", + "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_cassiterite)Касситерит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sheldonite)Куперит и Борнит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_lapis)Лазурит, Лазуритит и Содалит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_manganese)Марганец и Тантал$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_copper)Медь и Халькопирит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_basaltic_sands)Минеральные пески$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_lubricant)Мыльный камень, Тальк и Трона$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_naquadah)Наквада$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_quartz)Незер-кварц$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_redstone)Редстоун, Киноварь и Рубин$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sapphire)Сапфир и Альмандин$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_saltpeter)Селитра и Электротин$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sulfur)Сера и Пирит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_silver)Серебро, Галена и Свинец$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_sphalerite)Сфалерит & Пирит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_tetrahedrite)Тетраэдрит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_topaz)Топаз и Халькозин$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_pitchblende)Уранинит и Уранит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_magnetite)Хромит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_mica)Ционит, Слюда и Боксит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_scheelite)Шеелит и Вольфрамат$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sheldonite)Шелдонит и Борнит$()$()", + "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_sphalerite)Сфалерит & Пирит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_tetrahedrite)Тетраэдрит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_topaz)Топаз и Халькозин$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_pitchblende)Уранинит и Уранит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_magnetite)Хромит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_mica)Ционит, Слюда и Боксит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_scheelite)Шеелит и Вольфрамат$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/230$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 45$(br)$(thing)Высота$(): 8$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/230 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 45$(br)$(thing)Высота$(): 8$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Аметист, Опал и гранат", "type": "patchouli:text", "anchor": "nether_garnet" @@ -51,7 +51,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Хромит$(): Железо$(br)$(thing)Формула$(): (SiO₂)₄Fe", + "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Используется для$(): Железо$(br)$(thing)Формула$(): (SiO₂)₄Fe", "type": "patchouli:multiblock" }, { @@ -71,7 +71,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Хромит$(): Кремний, Кислород$(br)$(thing)Формула$(): (SiO₂)", + "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Используется для$(): Кремний, Кислород$(br)$(thing)Формула$(): (SiO₂)", "type": "patchouli:multiblock" }, { @@ -91,7 +91,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 14%$(br)$(thing)Хромит$(): Андрадит, Гроссуляр, Уваровит", + "text": "$(thing)Процент руды$(): 14%$(br)$(thing)Используется для$(): Андрадит, Гроссуляр, Уваровит", "type": "patchouli:multiblock" }, { @@ -111,7 +111,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 9%$(br)$(thing)Хромит$(): Пироп, Альмандин, Спасерит", + "text": "$(thing)Процент руды$(): 9%$(br)$(thing)Используется для$(): Пироп, Альмандин, Спасерит", "type": "patchouli:multiblock" }, { @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/35$(br)$(thing)Плотность$(): 80%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 48 — 127$(br)$(thing)Размер$(): 13$(br)$(thing)Высота$(): 4$(br2)$(thing)Виды камней$(): Мигматит", + "text": "$(thing)Редкость$(): 1/35 chunks$(br)$(thing)Плотность$(): 80%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 48 — 127$(br)$(thing)Размер$(): 13$(br)$(thing)Высота$(): 4$(br2)$(thing)Виды камней$(): Мигматит", "title": "Антрацит", "type": "patchouli:text", "anchor": "nether_anthracite" @@ -148,7 +148,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 48 — 128$(br)$(thing)Размер$(): 39$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс", + "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 48 — 128$(br)$(thing)Размер$(): 39$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс", "title": "Апатит и Пирохлор", "type": "patchouli:text", "anchor": "nether_apatite" @@ -170,7 +170,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Хромит$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₅(PO₄)₃Cl", + "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Используется для$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₅(PO₄)₃Cl", "type": "patchouli:multiblock" }, { @@ -190,7 +190,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₃(PO₄)₂", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Кальций, Фосфор$(br)$(thing)Формула$(): Ca₃(PO₄)₂", "type": "patchouli:multiblock" }, { @@ -210,12 +210,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Ниобий$(br)$(thing)Формула$(): Ca₂Nb₂O₇", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Ниобий$(br)$(thing)Формула$(): Ca₂Nb₂O₇", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/245$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/245 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Бастнезит и Монацит", "type": "patchouli:text", "anchor": "nether_monazite" @@ -237,7 +237,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Хромит$(): Церий, Фтор$(br)$(thing)Формула$(): CeCFO₃", + "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Используется для$(): Церий, Фтор$(br)$(thing)Формула$(): CeCFO₃", "type": "patchouli:multiblock" }, { @@ -257,7 +257,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Фосфор, Редкая земля$(br)$(thing)Формула$(): ?(PO₄)", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Фосфор, Редкая земля$(br)$(thing)Формула$(): ?(PO₄)", "type": "patchouli:multiblock" }, { @@ -277,12 +277,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Неодим$(br)$(thing)Формула$(): Nd", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Неодим$(br)$(thing)Формула$(): Nd", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 31$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 31$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Бентонит и Оливин", "type": "patchouli:text", "anchor": "nether_olivine" @@ -304,7 +304,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Натрий, Магний$(br)$(thing)Формула$(): NaMg₆Si₁₂H₄(H₂O)₅O₃₆", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Натрий, Магний$(br)$(thing)Формула$(): NaMg₆Si₁₂H₄(H₂O)₅O₃₆", "type": "patchouli:multiblock" }, { @@ -324,7 +324,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): MgCO₃", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): MgCO₃", "type": "patchouli:multiblock" }, { @@ -344,7 +344,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Магний, Железо$(br)$(thing)Формула$(): Mg₂Fe(SiO₂)₂", "type": "patchouli:multiblock" }, { @@ -364,7 +364,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Магний, Алюминий$(br)$(thing)Формула$(): KMg₂Al₄H₂O₁₂", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Магний, Алюминий$(br)$(thing)Формула$(): KMg₂Al₄H₂O₁₂", "type": "patchouli:multiblock" }, { @@ -374,7 +374,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/245$(br)$(thing)Плотность$(): 55.00000000000001%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 31$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/245 chunks$(br)$(thing)Плотность$(): 55%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 31$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Вульфенит & Молибденит", "type": "patchouli:text", "anchor": "nether_molybdenum" @@ -396,7 +396,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 42%$(br)$(thing)Хромит$(): Свинец, Молибден$(br)$(thing)Формула$(): PbMoO₄", + "text": "$(thing)Процент руды$(): 42%$(br)$(thing)Используется для$(): Свинец, Молибден$(br)$(thing)Формула$(): PbMoO₄", "type": "patchouli:multiblock" }, { @@ -416,7 +416,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 31%$(br)$(thing)Хромит$(): Молибден$(br)$(thing)Формула$(): MoS₂", + "text": "$(thing)Процент руды$(): 31%$(br)$(thing)Используется для$(): Молибден$(br)$(thing)Формула$(): MoS₂", "type": "patchouli:multiblock" }, { @@ -456,7 +456,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Молибден$(br)$(thing)Формула$(): CaMoO₄", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Используется для$(): Молибден$(br)$(thing)Формула$(): CaMoO₄", "type": "patchouli:multiblock" }, { @@ -466,7 +466,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/160$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 16 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Габбро, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/160 chunks$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 16 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Габбро, Диорит, Пироксенит", "title": "Гарниерит и Кобальтит", "type": "patchouli:text", "anchor": "nether_garnierite" @@ -548,7 +548,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Хромит$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", + "text": "$(thing)Процент руды$(): 19%$(br)$(thing)Используется для$(): Кобальт, Мышьяк$(br)$(thing)Формула$(): CoAsS$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -573,7 +573,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 35$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 35$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "nether_hematite" @@ -635,7 +635,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Хром, Алюминий$(br)$(thing)Формула$(): CrAl₂O₃", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Хром, Алюминий$(br)$(thing)Формула$(): CrAl₂O₃", "type": "patchouli:multiblock" }, { @@ -680,7 +680,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/240$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 37$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/240 chunks$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 37$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Гётит", "type": "patchouli:text", "anchor": "nether_goethite" @@ -772,7 +772,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/180$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 9$(br2)$(thing)Виды камней$(): Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/180 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 9$(br2)$(thing)Виды камней$(): Мигматит, Пироксенит, Травертин", "title": "Гипс и Кальцит", "type": "patchouli:text", "anchor": "nether_gypsum" @@ -814,7 +814,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Хромит$(): Кальций$(br)$(thing)Формула$(): CaCO₃", + "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Используется для$(): Кальций$(br)$(thing)Формула$(): CaCO₃", "type": "patchouli:multiblock" }, { @@ -834,7 +834,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Натрий, Бор$(br)$(thing)Формула$(): Na₂B₄(H₂O)₁₀O₇", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Натрий, Бор$(br)$(thing)Формула$(): Na₂B₄(H₂O)₁₀O₇", "type": "patchouli:multiblock" }, { @@ -854,7 +854,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): MgSi₄H(H₂O)₄O₁₁", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): MgSi₄H(H₂O)₄O₁₁", "type": "patchouli:multiblock" }, { @@ -864,7 +864,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/270$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/270 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Мигматит, Пироксенит, Травертин", "title": "Гранатовый и Касситеритовый песок", "type": "patchouli:text", "anchor": "nether_garnet_tin" @@ -906,7 +906,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Альмандин, Андрадит, Гроссуляр, Пироп, Спасерит, Уваровит", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Альмандин, Андрадит, Гроссуляр, Пироп, Спасерит, Уваровит", "type": "patchouli:multiblock" }, { @@ -926,7 +926,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₂H₄O₉$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Асбестоз (Вдыхание вредных веществ)$(/t)$()", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): Mg₃Si₂H₄O₉$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Асбестоз (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -946,7 +946,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Железо, Алюминий$(br)$(thing)Формула$(): (SiO₂)₈(Fe₂O₃)(Al₂O₃)", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Железо, Алюминий$(br)$(thing)Формула$(): (SiO₂)₈(Fe₂O₃)(Al₂O₃)", "type": "patchouli:multiblock" }, { @@ -956,7 +956,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/120$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 12$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/120 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 12$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Графит и Алмаз", "type": "patchouli:text", "anchor": "nether_graphite" @@ -998,7 +998,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 40%$(br)$(thing)Используется для$(): Измельчители, предметы из AE2$(br)$(thing)Формула$(): C", + "text": "$(thing)Процент руды$(): 40%$(br)$(thing)Используется для$(): Измельчители, AE2$(br)$(thing)Формула$(): C", "type": "patchouli:multiblock" }, { @@ -1018,12 +1018,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): топливо, ректификация$(br)$(thing)Формула$(): C", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Топливо, Ректификация$(br)$(thing)Формула$(): C", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/260$(br)$(thing)Плотность$(): 55.00000000000001%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 37$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/260 chunks$(br)$(thing)Плотность$(): 55%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 37$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Золото и Гематит", "type": "patchouli:text", "anchor": "nether_gold" @@ -1115,7 +1115,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 12$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 12$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "nether_beryllium" @@ -1137,7 +1137,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 47%$(br)$(thing)Используется для$(): компоненты уровня MV, Предметные фильтры (Тэг)$(br)$(thing)Формула$(): Be₃Al₂Si₆O₁₈", + "text": "$(thing)Процент руды$(): 47%$(br)$(thing)Используется для$(): MV компоненты, Предметные фильтры (Тэг)$(br)$(thing)Формула$(): Be₃Al₂Si₆O₁₈", "type": "patchouli:multiblock" }, { @@ -1162,7 +1162,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Каменная соль", + "name": "Сильвин", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -1177,7 +1177,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 18%$(br)$(thing)Хромит$(): Калий, Хлор$(br)$(thing)Формула$(): KCl", + "text": "$(thing)Процент руды$(): 18%$(br)$(thing)Используется для$(): Калий, Хлор, Удобрения$(br)$(thing)Формула$(): KCl", "type": "patchouli:multiblock" }, { @@ -1197,7 +1197,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 0%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", + "text": "$(thing)Процент руды$(): 0%$(br)$(thing)Используется для$(): Торий$(br)$(thing)Формула$(): ThO₂$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Радиоактивный (При любом контакте)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1207,7 +1207,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Касситерит", "type": "patchouli:text", "anchor": "nether_cassiterite" @@ -1269,13 +1269,105 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 9%$(br)$(thing)Хромит$(): Калий, Азот$(br)$(thing)Формула$(): KNO₃", + "text": "$(thing)Процент руды$(): 9%$(br)$(thing)Используется для$(): Калий, Азот$(br)$(thing)Формула$(): KNO₃", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 40$(br2)$(thing)Виды камней$(): Мигматит, Пироксенит, Травертин", - "title": "Лазурит, Лазурит 2 и Содалит", + "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 35$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "title": "Куперит и Борнит", + "type": "patchouli:text", + "anchor": "nether_sheldonite" + }, + { + "Type": "patchouli:multiblock", + "name": "Борнит", + "multiblock": { + "mapping": { + "0": "#forge:ores/bornite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 41%$(br)$(thing)Используется для$(): Медь$(br)$(thing)Формула$(): Cu₅FeS₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Куперит", + "multiblock": { + "mapping": { + "0": "#forge:ores/cooperite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 29%$(br)$(thing)Используется для$(): Платина, Никель, Палладий$(br)$(thing)Формула$(): Pt₃NiSPd", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Никель", + "multiblock": { + "mapping": { + "0": "#forge:ores/nickel" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 23%$(br)$(thing)Плавится в$(): Никель$(br)$(thing)Формула$(): Ni", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Платина", + "multiblock": { + "mapping": { + "0": "#forge:ores/platinum" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Плавится в$(): Платина$(br)$(thing)Формула$(): Pt", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 40$(br2)$(thing)Виды камней$(): Мигматит, Пироксенит, Травертин", + "title": "Лазурит, Лазуритит и Содалит", "type": "patchouli:text", "anchor": "nether_lapis" }, @@ -1296,7 +1388,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Алюминий, Кальций, Натрий$(br)$(thing)Формула$(): Al₆Si₆Ca₈Na₈", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Алюминий, Кальций, Натрий$(br)$(thing)Формула$(): Al₆Si₆Ca₈Na₈", "type": "patchouli:multiblock" }, { @@ -1316,12 +1408,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Алюминий, Натрий$(br)$(thing)Формула$(): Al₃Si₃Na₄Cl", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Алюминий, Натрий$(br)$(thing)Формула$(): Al₃Si₃Na₄Cl", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Лазурит 2", + "name": "Лазуритит", "multiblock": { "mapping": { "0": "#forge:ores/lapis" @@ -1336,7 +1428,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Лазурит, Содалит, Пирит, Кальцит", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Лазурит, Содалит, Пирит, Кальцит", "type": "patchouli:multiblock" }, { @@ -1356,7 +1448,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Кальций$(br)$(thing)Формула$(): CaCO₃", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Кальций$(br)$(thing)Формула$(): CaCO₃", "type": "patchouli:multiblock" }, { @@ -1366,7 +1458,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/225$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/225 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Марганец и Тантал", "type": "patchouli:text", "anchor": "nether_manganese" @@ -1388,7 +1480,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 37%$(br)$(thing)Хромит$(): Кальций, Алюминий$(br)$(thing)Формула$(): Ca₃Al₂Si₃O₁₂", + "text": "$(thing)Процент руды$(): 37%$(br)$(thing)Используется для$(): Кальций, Алюминий$(br)$(thing)Формула$(): Ca₃Al₂Si₃O₁₂", "type": "patchouli:multiblock" }, { @@ -1408,7 +1500,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Марганец, Алюминий$(br)$(thing)Формула$(): Al₂Mn₃Si₃O₁₂", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Марганец, Алюминий$(br)$(thing)Формула$(): Al₂Mn₃Si₃O₁₂", "type": "patchouli:multiblock" }, { @@ -1428,7 +1520,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Марганец$(br)$(thing)Формула$(): MnO₂", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Марганец$(br)$(thing)Формула$(): MnO₂", "type": "patchouli:multiblock" }, { @@ -1448,7 +1540,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 12%$(br)$(thing)Хромит$(): Марганец, Тантал$(br)$(thing)Формула$(): MnTa₂O₆", + "text": "$(thing)Процент руды$(): 12%$(br)$(thing)Используется для$(): Марганец, Тантал$(br)$(thing)Формула$(): MnTa₂O₆", "type": "patchouli:multiblock" }, { @@ -1458,7 +1550,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Медь и Халькопирит", "type": "patchouli:text", "anchor": "nether_copper" @@ -1550,7 +1642,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/160$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 48 — 128$(br)$(thing)Размер$(): 48$(br)$(thing)Высота$(): 9$(br2)$(thing)Виды камней$(): Базальт, Гранит", + "text": "$(thing)Редкость$(): 1/160 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 48 — 128$(br)$(thing)Размер$(): 48$(br)$(thing)Высота$(): 9$(br2)$(thing)Виды камней$(): Базальт, Гранит", "title": "Минеральные пески", "type": "patchouli:text", "anchor": "nether_basaltic_sands" @@ -1612,7 +1704,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): MgSi₄H(H₂O)₄O₁₁", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): MgSi₄H(H₂O)₄O₁₁", "type": "patchouli:multiblock" }, { @@ -1642,7 +1734,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 41$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 41$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Мыльный камень, Тальк и Трона", "type": "patchouli:text", "anchor": "nether_lubricant" @@ -1664,7 +1756,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", + "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", "type": "patchouli:multiblock" }, { @@ -1684,7 +1776,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Магний, Алюминий$(br)$(thing)Формула$(): KMg₂Al₄H₂O₁₂", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Магний, Алюминий$(br)$(thing)Формула$(): KMg₂Al₄H₂O₁₂", "type": "patchouli:multiblock" }, { @@ -1704,7 +1796,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Магний$(br)$(thing)Формула$(): Mg₃Si₄H₂O₁₂", "type": "patchouli:multiblock" }, { @@ -1744,12 +1836,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Натрий$(br)$(thing)Формула$(): Na₃C₂H(H₂O)₂O₆", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Используется для$(): Натрий$(br)$(thing)Формула$(): Na₃C₂H(H₂O)₂O₆", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/200$(br)$(thing)Плотность$(): 70%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 38$(br)$(thing)Размер$(): 32$(br2)$(thing)Виды камней$(): Базальт, Пироксенит", + "text": "$(thing)Редкость$(): 1/200 chunks$(br)$(thing)Плотность$(): 70%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 38$(br)$(thing)Размер$(): 32$(br2)$(thing)Виды камней$(): Базальт, Пироксенит", "title": "Наквада", "type": "patchouli:text", "anchor": "nether_naquadah" @@ -1771,12 +1863,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 100%$(br)$(thing)Хромит$(): Наквада, Тританий$(br)$(thing)Формула$(): Nq", + "text": "$(thing)Процент руды$(): 100%$(br)$(thing)Используется для$(): Наквада, Тританий$(br)$(thing)Формула$(): Nq", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/150$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Габбро, Гранит, Диорит, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/150 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Габбро, Гранит, Диорит, Мигматит, Пироксенит, Травертин", "title": "Незер-кварц", "type": "patchouli:text", "anchor": "nether_quartz" @@ -1798,7 +1890,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 54%$(br)$(thing)Используется для$(): рецепты Applied Energistics 2$(br)$(thing)Формула$(): SiO₂", + "text": "$(thing)Процент руды$(): 54%$(br)$(thing)Используется для$(): Applied Energistics 2$(br)$(thing)Формула$(): SiO₂", "type": "patchouli:multiblock" }, { @@ -1818,7 +1910,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): компоненты уровня LV$(br)$(thing)Формула$(): SiO₂", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): LV компоненты$(br)$(thing)Формула$(): SiO₂", "type": "patchouli:multiblock" }, { @@ -1838,12 +1930,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Барий$(br)$(thing)Формула$(): BaSO₂", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Барий$(br)$(thing)Формула$(): BaSO₂", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/160$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Гранит, Пироксенит", + "text": "$(thing)Редкость$(): 1/160 chunks$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Гранит, Пироксенит", "title": "Редстоун, Киноварь и Рубин", "type": "patchouli:text", "anchor": "nether_redstone" @@ -1885,7 +1977,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Хром, Алюминий$(br)$(thing)Формула$(): CrAl₂O₃", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Хром, Алюминий$(br)$(thing)Формула$(): CrAl₂O₃", "type": "patchouli:multiblock" }, { @@ -1905,12 +1997,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Ртуть$(br)$(thing)Формула$(): HgS", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Ртуть$(br)$(thing)Формула$(): HgS", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/180$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 33$(br)$(thing)Высота$(): 8$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/180 chunks$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 33$(br)$(thing)Высота$(): 8$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Сапфир и Альмандин", "type": "patchouli:text", "anchor": "nether_sapphire" @@ -1932,7 +2024,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Хромит$(): Алюминий, Железо$(br)$(thing)Формула$(): Al₂Fe₃Si₃O₁₂", + "text": "$(thing)Процент руды$(): 38%$(br)$(thing)Используется для$(): Алюминий, Железо$(br)$(thing)Формула$(): Al₂Fe₃Si₃O₁₂", "type": "patchouli:multiblock" }, { @@ -1952,7 +2044,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 27%$(br)$(thing)Хромит$(): Алюминий, Магний$(br)$(thing)Формула$(): Al₂Mg₃Si₃O₁₂", + "text": "$(thing)Процент руды$(): 27%$(br)$(thing)Используется для$(): Алюминий, Магний$(br)$(thing)Формула$(): Al₂Mg₃Si₃O₁₂", "type": "patchouli:multiblock" }, { @@ -1972,7 +2064,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", + "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", "type": "patchouli:multiblock" }, { @@ -1992,7 +2084,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", + "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", "type": "patchouli:multiblock" }, { @@ -2002,7 +2094,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 50$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 50$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Селитра и Электротин", "type": "patchouli:text", "anchor": "nether_saltpeter" @@ -2024,7 +2116,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Калий, Азот$(br)$(thing)Формула$(): KNO₃", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Калий, Азот$(br)$(thing)Формула$(): KNO₃", "type": "patchouli:multiblock" }, { @@ -2044,7 +2136,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Железо, Алюминий$(br)$(thing)Формула$(): (SiO₂)₈(Fe₂O₃)(Al₂O₃)", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Железо, Алюминий$(br)$(thing)Формула$(): (SiO₂)₈(Fe₂O₃)(Al₂O₃)", "type": "patchouli:multiblock" }, { @@ -2064,7 +2156,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Золото, Серебро, Редстоун$(br)$(thing)Формула$(): (Si(FeS₂)₅(CrAl₂O₃)Hg₃)(AgAu)", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Золото, Серебро, Редстоун$(br)$(thing)Формула$(): (Si(FeS₂)₅(CrAl₂O₃)Hg₃)(AgAu)", "type": "patchouli:multiblock" }, { @@ -2084,7 +2176,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Калий, Алюминий$(br)$(thing)Формула$(): KAl₃Si₂H₆O₁₄", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Калий, Алюминий$(br)$(thing)Формула$(): KAl₃Si₂H₆O₁₄", "type": "patchouli:multiblock" }, { @@ -2094,7 +2186,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/165$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 50$(br2)$(thing)Виды камней$(): Аспидный сланец, Базальт, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/165 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 50$(br2)$(thing)Виды камней$(): Аспидный сланец, Базальт, Диорит, Пироксенит", "title": "Сера и Пирит", "type": "patchouli:text", "anchor": "nether_sulfur" @@ -2116,7 +2208,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Хромит$(): Сера$(br)$(thing)Формула$(): S", + "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Используется для$(): Сера$(br)$(thing)Формула$(): S", "type": "patchouli:multiblock" }, { @@ -2161,7 +2253,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/160$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Гнейс, Гранит, Пироксенит", + "text": "$(thing)Редкость$(): 1/160 chunks$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Гнейс, Гранит, Пироксенит", "title": "Серебро, Галена и Свинец", "type": "patchouli:text", "anchor": "nether_silver" @@ -2228,34 +2320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/75$(br)$(thing)Плотность$(): 60%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 64$(br)$(thing)Размер$(): 17$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Пироксенит", - "title": "Сильвин", - "type": "patchouli:text", - "anchor": "nether_sylvite" - }, - { - "Type": "patchouli:multiblock", - "name": "Сильвин", - "multiblock": { - "mapping": { - "0": "beneath:ore/blackstone_sylvite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 100%$(br)$(thing)Используется для$(): Удобрения$(br)$(thing)Формула$(): KCl", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Сфалерит & Пирит", "type": "patchouli:text", "anchor": "nether_sphalerite" @@ -2297,7 +2362,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Сера$(br)$(thing)Формула$(): S", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Сера$(br)$(thing)Формула$(): S", "type": "patchouli:multiblock" }, { @@ -2322,7 +2387,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Мигматит, Пироксенит, Травертин", "title": "Тетраэдрит", "type": "patchouli:text", "anchor": "nether_tetrahedrite" @@ -2389,7 +2454,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/180$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 33$(br)$(thing)Высота$(): 7$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/180 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 33$(br)$(thing)Высота$(): 7$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Топаз и Халькозин", "type": "patchouli:text", "anchor": "nether_topaz" @@ -2411,7 +2476,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Алюминий, Фтор$(br)$(thing)Формула$(): Al₂SiF₂H₂O₆", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Алюминий, Фтор$(br)$(thing)Формула$(): Al₂SiF₂H₂O₆", "type": "patchouli:multiblock" }, { @@ -2431,7 +2496,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Алюминий, Фтор$(br)$(thing)Формула$(): Al₂SiFH₂", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Алюминий, Фтор$(br)$(thing)Формула$(): Al₂SiFH₂", "type": "patchouli:multiblock" }, { @@ -2451,7 +2516,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Медь$(br)$(thing)Формула$(): Cu₂S", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Медь$(br)$(thing)Формула$(): Cu₂S", "type": "patchouli:multiblock" }, { @@ -2471,7 +2536,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Медь$(br)$(thing)Формула$(): Cu₅FeS₄", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Используется для$(): Медь$(br)$(thing)Формула$(): Cu₅FeS₄", "type": "patchouli:multiblock" }, { @@ -2481,7 +2546,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 55.00000000000001%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 24$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 55%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 24$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Уранинит и Уранит", "type": "patchouli:text", "anchor": "nether_pitchblende" @@ -2503,7 +2568,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 62%$(br)$(thing)Хромит$(): Уран, Торий, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Канцерогенный (При любом контакте)$(/t)$()", + "text": "$(thing)Процент руды$(): 62%$(br)$(thing)Используется для$(): Уран, Торий, Свинец$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Радиоактивный (При любом контакте)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2523,7 +2588,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Уран$(br)$(thing)Формула$(): UO₂$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Канцерогенный (При любом контакте)$(/t)$()", + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Используется для$(): Уран$(br)$(thing)Формула$(): UO₂$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Полная защита)Радиоактивный (При любом контакте)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2543,12 +2608,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 12%$(br)$(thing)Хромит$(): Свинец, Молибден$(br)$(thing)Формула$(): PbMoO₄", + "text": "$(thing)Процент руды$(): 12%$(br)$(thing)Используется для$(): Свинец, Молибден$(br)$(thing)Формула$(): PbMoO₄", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/205$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 39$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)Редкость$(): 1/205 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 39$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Хромит", "type": "patchouli:text", "anchor": "nether_magnetite" @@ -2570,7 +2635,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Хромит$(): Железо, Ванадий$(br)$(thing)Формула$(): (Fe₃O₄)V", + "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Используется для$(): Железо, Ванадий$(br)$(thing)Формула$(): (Fe₃O₄)V", "type": "patchouli:multiblock" }, { @@ -2630,7 +2695,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Раздражитель (Контакт с кожей)$(/t)$()", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Используется для$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Раздражитель (Контакт с кожей)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2650,12 +2715,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂O₃", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 41$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 41$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Ционит, Слюда и Боксит", "type": "patchouli:text", "anchor": "nether_mica" @@ -2677,7 +2742,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 46%$(br)$(thing)Хромит$(): Алюминий$(br)$(thing)Формула$(): Al₂SiO₅", + "text": "$(thing)Процент руды$(): 46%$(br)$(thing)Используется для$(): Алюминий$(br)$(thing)Формула$(): Al₂SiO₅", "type": "patchouli:multiblock" }, { @@ -2697,7 +2762,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Хромит$(): Калий, Алюминий, Фтор$(br)$(thing)Формула$(): KAl₃Si₃F₂O₁₀", + "text": "$(thing)Процент руды$(): 33%$(br)$(thing)Используется для$(): Калий, Алюминий, Фтор$(br)$(thing)Формула$(): KAl₃Si₃F₂O₁₀", "type": "patchouli:multiblock" }, { @@ -2717,12 +2782,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Цезий, Алюминий$(br)$(thing)Формула$(): Cs₂Al₂Si₄(H₂O)₂O₁₂", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Цезий, Алюминий$(br)$(thing)Формула$(): Cs₂Al₂Si₄(H₂O)₂O₁₂", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/180$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 25$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)Редкость$(): 1/180 chunks$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 25$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Шеелит и Вольфрамат", "type": "patchouli:text", "anchor": "nether_scheelite" @@ -2744,7 +2809,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 45%$(br)$(thing)Хромит$(): Вольфрам$(br)$(thing)Формула$(): Ca(WO₃)O", + "text": "$(thing)Процент руды$(): 45%$(br)$(thing)Используется для$(): Вольфрам$(br)$(thing)Формула$(): Ca(WO₃)O", "type": "patchouli:multiblock" }, { @@ -2764,7 +2829,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Вольфрам, Литий$(br)$(thing)Формула$(): Li₂(WO₃)O", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Используется для$(): Вольфрам, Литий$(br)$(thing)Формула$(): Li₂(WO₃)O", "type": "patchouli:multiblock" }, { @@ -2784,100 +2849,8 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Литий$(br)$(thing)Формула$(): Li", + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Используется для$(): Литий$(br)$(thing)Формула$(): Li", "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 35$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", - "title": "Шелдонит и Борнит", - "type": "patchouli:text", - "anchor": "nether_sheldonite" - }, - { - "Type": "patchouli:multiblock", - "name": "Борнит", - "multiblock": { - "mapping": { - "0": "#forge:ores/bornite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 41%$(br)$(thing)Хромит$(): Медь$(br)$(thing)Формула$(): Cu₅FeS₄", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Шелдонит", - "multiblock": { - "mapping": { - "0": "#forge:ores/cooperite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 29%$(br)$(thing)Хромит$(): Платина, Никель, Палладий$(br)$(thing)Формула$(): Pt₃NiSPd", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Никель", - "multiblock": { - "mapping": { - "0": "#forge:ores/nickel" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 23%$(br)$(thing)Плавится в$(): Никель$(br)$(thing)Формула$(): Ni", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:multiblock", - "name": "Платина", - "multiblock": { - "mapping": { - "0": "#forge:ores/platinum" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Плавится в$(): Платина$(br)$(thing)Формула$(): Pt", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" } ], "sortnum": 3 diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json index a6fd32673..842806cf0 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Галит: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Каменная соль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Пирит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Сера: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)Сподумен: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()", + "text": "$(li)Галит: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Пирит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Сера: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)Сильвин: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)Сподумен: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json index dbaaa0ef0..e6ece807d 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/30$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 20$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)Редкость$(): 1/30 chunks$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 20$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит$(br2)Only appears in the $(thing)Salt Flats$() biome.", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -41,12 +41,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 80%$(br)$(thing)Хромит$(): Натрий, Хлор$(br)$(thing)Формула$(): NaCl", + "text": "$(thing)Процент руды$(): 80%$(br)$(thing)Используется для$(): Натрий, Хлор$(br)$(thing)Формула$(): NaCl", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Каменная соль", + "name": "Сильвин", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -61,7 +61,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Калий, Хлор$(br)$(thing)Формула$(): KCl", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Используется для$(): Калий, Хлор, Удобрения$(br)$(thing)Формула$(): KCl", "type": "patchouli:multiblock" }, { @@ -81,7 +81,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Хромит$(): Калий, Литий, Алюминий, Фтор$(br)$(thing)Формула$(): KLi₃Al₄F₂O₁₀", + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Используется для$(): Калий, Литий, Алюминий, Фтор$(br)$(thing)Формула$(): KLi₃Al₄F₂O₁₀", "type": "patchouli:multiblock" }, { @@ -101,7 +101,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Хромит$(): Литий, Алюминий$(br)$(thing)Формула$(): LiAlSi₂O₆", + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Используется для$(): Литий, Алюминий$(br)$(thing)Формула$(): LiAlSi₂O₆", "type": "patchouli:multiblock" }, { @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/30$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит", + "text": "$(thing)Редкость$(): 1/30 chunks$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит", "title": "Сера и Пирит", "type": "patchouli:text", "anchor": "venus_manual_sulfur" @@ -133,7 +133,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 80%$(br)$(thing)Хромит$(): Сера$(br)$(thing)Формула$(): S", + "text": "$(thing)Процент руды$(): 80%$(br)$(thing)Используется для$(): Сера$(br)$(thing)Формула$(): S", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/beneath/ores_and_minerals.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/beneath/ores_and_minerals.json index 82f9e3b1d..af9d039dd 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/beneath/ores_and_minerals.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/beneath/ores_and_minerals.json @@ -50,26 +50,6 @@ "name": "Антрацит", "text": "Антрацит — це потужне $(l:beneath/hellforge)паливо$(). Його можна знайти в Мігматиті у верхній половині Безодні.", "enable_visualize": false - }, - { - "type": "patchouli:multiblock", - "anchor": "sylvite", - "multiblock": { - "pattern": [ - [ - "X" - ], - [ - "0" - ] - ], - "mapping": { - "X": "beneath:ore/blackstone_sylvite" - } - }, - "name": "Сильвін", - "text": "Сильвін — це добриво, яке можна знайти в Піроксеніті у нижній половині Безодні.", - "enable_visualize": false } ], "read_by_default": true 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 a6ba90640..4035a14c0 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,22 +24,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)Графіт: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(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)$()", + "text": "$(li)Графіт: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(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#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" }, { "Type": "patchouli:text", - "text": "$(li)Кіаніт: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/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#normal_lapis)35%$(/l)$()$(li)Лапіс: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Літій: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахіт: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молібденіт: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Нафтові піски: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()", + "text": "$(li)Кіновар: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)Кобальт: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лапіс: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Літій: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахіт: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молібденіт: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Нафтові піски: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(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)$()", + "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" }, { "Type": "patchouli:text", - "text": "$(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)$()$(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#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Слюда: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Смарагд: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Соапостон: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Содаліт: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Спесартін: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", + "text": "$(li)Редстоун: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)Рубін: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)Самородна Золото: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Самородна Мідь: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Самородна Срібла: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Сапфір: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Свинець: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Сильвін: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)Сірка: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Слюда: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Смарагд: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Соапостон: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Содаліт: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Спесартін: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json index b3e3b5545..5d52261e0 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 @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/230$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 8$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Аспідний сланець, Вапняк, Глинистий сланець, Гнейс, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/230 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 8$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Аспідний сланець, Вапняк, Глинистий сланець, Гнейс, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Філіт, Шиферний сланець", "title": "Аметист і Гранат", "type": "patchouli:text", "anchor": "deep_garnet_amethyst" @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Розмір$(): 34$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/170 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Розмір$(): 34$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Апатит і Пірохлор", "type": "patchouli:text", "anchor": "normal_apatite" @@ -198,7 +198,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/205$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", + "text": "$(thing)Рідкість$(): 1/205 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", "title": "Бастнезит і Монацит", "type": "patchouli:text", "anchor": "normal_monazite" @@ -265,7 +265,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/180$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -40 — 30$(br)$(thing)Розмір$(): 26$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/180 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -40 — 30$(br)$(thing)Розмір$(): 26$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", "title": "Бентоніт та Олівін", "type": "patchouli:text", "anchor": "normal_olivine" @@ -357,7 +357,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Габро, Глинистий сланець, Граніт, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/170 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Габро, Глинистий сланець, Граніт, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець", "title": "Вісмут (Звичайний)", "type": "patchouli:text", "anchor": "normal_bismuthinite" @@ -449,7 +449,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/140$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Габро, Глинистий сланець, Граніт, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/140 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Габро, Глинистий сланець, Граніт, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець", "title": "Вісмут (Поверхня)", "type": "patchouli:text", "anchor": "surface_bismuthinite" @@ -541,7 +541,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/215$(br)$(thing)Щільність$(): 55.00000000000001%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/215 чанків$(br)$(thing)Щільність$(): 55%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", "title": "Вугілля", "type": "patchouli:text", "anchor": "normal_coal" @@ -568,7 +568,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/245$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 10$(br)$(thing)Розмір$(): 26$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/245 чанків$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 10$(br)$(thing)Розмір$(): 26$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", "title": "Вульфеніт і Молібденіт", "type": "patchouli:text", "anchor": "deep_molybdenum" @@ -635,7 +635,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/160$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 70$(br2)$(thing)Типи каменю$(): Габро, Діорит$(br2)Не можеш знайти? Габро завжди залягає нижче $(thing)Базальту$(), і дамби з Габро в океанах теж можуть бути корисними!", + "text": "$(thing)Рідкість$(): 1/160 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 70$(br2)$(thing)Типи каменю$(): Габро, Діорит$(br2)Не можеш знайти? Габро завжди залягає нижче $(thing)Базальту$(), і дамби з Габро в океанах теж можуть бути корисними!", "title": "Гарнієрит і Кобальтит", "type": "patchouli:text", "anchor": "normal_garnierite" @@ -742,7 +742,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", "title": "Гематит та Лімоніт", "type": "patchouli:text", "anchor": "normal_hematite" @@ -834,7 +834,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", "title": "Гематит, Гетит і Рубін", "type": "patchouli:text", "anchor": "deep_hematite" @@ -941,7 +941,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/240$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Розмір$(): 32$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Вапняк, Мармур", + "text": "$(thing)Рідкість$(): 1/240 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Розмір$(): 32$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Вапняк, Мармур", "title": "Гетит і Малахіт", "type": "patchouli:text", "anchor": "deep_limonite" @@ -1033,7 +1033,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/180$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 9$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/180 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 9$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", "title": "Гіпс і Кальцит", "type": "patchouli:text", "anchor": "normal_gypsum" @@ -1125,7 +1125,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/270$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -40 — 64$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Аспідний сланець, Базальт, Вапняк, Габро, Глинистий сланець, Гнейс, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Ріоліт, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/270 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -40 — 64$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Аспідний сланець, Базальт, Вапняк, Габро, Глинистий сланець, Гнейс, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Ріоліт, Філіт, Шиферний сланець", "title": "Гранат і Каситеритові піски", "type": "patchouli:text", "anchor": "normal_garnet_tin" @@ -1217,7 +1217,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/80$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Розмір$(): 16$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Аспідний сланець, Базальт, Вапняк, Габро, Глинистий сланець, Гнейс, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Ріоліт, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/80 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Розмір$(): 16$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Аспідний сланець, Базальт, Вапняк, Габро, Глинистий сланець, Гнейс, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Ріоліт, Філіт, Шиферний сланець", "title": "Графіт і Діамант", "type": "patchouli:text", "anchor": "normal_graphite" @@ -1284,7 +1284,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/260$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Розмір$(): 32$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/260 чанків$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Розмір$(): 32$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", "title": "Золото (Глибоке)", "type": "patchouli:text", "anchor": "deep_gold" @@ -1376,7 +1376,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 12$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/170 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 12$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", "title": "Золото, Лімоніт та Гематит", "type": "patchouli:text", "anchor": "normal_gold" @@ -1468,7 +1468,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", + "text": "$(thing)Рідкість$(): 1/170 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", "title": "Каситерит (Звичайний)", "type": "patchouli:text", "anchor": "normal_cassiterite" @@ -1535,7 +1535,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/135$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", + "text": "$(thing)Рідкість$(): 1/135 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", "title": "Каситерит (Поверхнивий)", "type": "patchouli:text", "anchor": "surface_cassiterite" @@ -1602,7 +1602,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/190$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аспідний сланець, Глинистий сланець, Гнейс, Кварцит", + "text": "$(thing)Рідкість$(): 1/190 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аспідний сланець, Глинистий сланець, Гнейс, Кварцит", "title": "Кварц", "type": "patchouli:text", "anchor": "normal_quartz" @@ -1669,7 +1669,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/190$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Розмір$(): 36$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/190 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Розмір$(): 36$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Кіаніт, Слюда та Боксити", "type": "patchouli:text", "anchor": "normal_mica" @@ -1761,7 +1761,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -60 — 10$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/170 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -60 — 10$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Лапіс, Лазурит та Содаліт", "type": "patchouli:text", "anchor": "normal_lapis" @@ -1853,7 +1853,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/190$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Вапняк, Мармур", + "text": "$(thing)Рідкість$(): 1/190 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Вапняк, Мармур", "title": "Лімоніт", "type": "patchouli:text", "anchor": "normal_limonite" @@ -1945,7 +1945,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/200$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/200 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", "title": "Магнетит і Ванадій", "type": "patchouli:text", "anchor": "normal_magnetite" @@ -2037,7 +2037,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/195$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Базальт, Вапняк, Глинистий сланець, Дацит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Ріоліт", + "text": "$(thing)Рідкість$(): 1/195 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Базальт, Вапняк, Глинистий сланець, Дацит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Ріоліт", "title": "Марганець і Тантал", "type": "patchouli:text", "anchor": "normal_manganese" @@ -2129,7 +2129,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 85$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/170 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 85$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", "title": "Мідь та Халькопірит", "type": "patchouli:text", "anchor": "normal_copper" @@ -2221,7 +2221,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/160$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 48$(br)$(thing)Висота$(): 9$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Базальт, Граніт", + "text": "$(thing)Рідкість$(): 1/160 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 48$(br)$(thing)Висота$(): 9$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Базальт, Граніт", "title": "Мінеральні піски", "type": "patchouli:text", "anchor": "normal_basaltic_sands" @@ -2313,7 +2313,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/185$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 55$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/185 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 55$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", "title": "Нафтові піски", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -2340,7 +2340,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — 62$(br)$(thing)Розмір$(): 26$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — 62$(br)$(thing)Розмір$(): 26$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", "title": "Опал і Гранат", "type": "patchouli:text", "anchor": "deep_garnet_opal" @@ -2432,7 +2432,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/160$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Граніт$(br2)Не можеш знайти? Граніт завжди з’являється під $(thing)Ріолітом$(), а пошук в океанах також може бути корисним!", + "text": "$(thing)Рідкість$(): 1/160 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 100$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Граніт$(br2)Не можеш знайти? Граніт завжди з’являється під $(thing)Ріолітом$(), а пошук в океанах також може бути корисним!", "title": "Редстоун, Кіновар і Рубін", "type": "patchouli:text", "anchor": "normal_redstone" @@ -2499,7 +2499,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/180$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — 32$(br)$(thing)Розмір$(): 28$(br)$(thing)Висота$(): 8$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Діорит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/180 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — 32$(br)$(thing)Розмір$(): 28$(br)$(thing)Висота$(): 8$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Діорит, Ріоліт", "title": "Сапфір і Альмадін", "type": "patchouli:text", "anchor": "deep_sapphire" @@ -2591,7 +2591,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Селітра та Електротин", "type": "patchouli:text", "anchor": "normal_saltpeter" @@ -2683,7 +2683,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/165$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/165 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", "title": "Сірка та Пірит", "type": "patchouli:text", "anchor": "normal_sulfur" @@ -2750,7 +2750,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 10$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 10$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", "title": "Смарагд і Берилій", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -2812,19 +2812,19 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 15%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): ThO₂", + "text": "$(thing)Відсоток$(): 15%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): ThO₂$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібен повний захист)Радіоактивний (будь-який контакт)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/175$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 30 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 4$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець", + "text": "$(thing)Рідкість$(): 1/175 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 30 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 4$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець", "title": "Солі та Бура", "type": "patchouli:text", "anchor": "normal_salt" }, { "Type": "patchouli:multiblock", - "name": "Кам’яна сіль", + "name": "Сильвін", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -2839,7 +2839,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 40%$(br)$(thing)Джерело$(): Калію, Хлору$(br)$(thing)Формула$(): KCl", + "text": "$(thing)Відсоток$(): 40%$(br)$(thing)Джерело$(): Калію, Хлору, Добрива$(br)$(thing)Формула$(): KCl", "type": "patchouli:multiblock" }, { @@ -2909,7 +2909,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/180$(br)$(thing)Щільність$(): 37.5%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 20 — 60$(br)$(thing)Розмір$(): 35$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/180 чанків$(br)$(thing)Щільність$(): 38%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 20 — 60$(br)$(thing)Розмір$(): 35$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Сподумен та Лепідоліт", "type": "patchouli:text", "anchor": "normal_spodumene" @@ -2956,7 +2956,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Кам’яна сіль", + "name": "Сильвін", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -2971,7 +2971,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 20%$(br)$(thing)Джерело$(): Калію, Хлору$(br)$(thing)Формула$(): KCl", + "text": "$(thing)Відсоток$(): 20%$(br)$(thing)Джерело$(): Калію, Хлору, Добрива$(br)$(thing)Формула$(): KCl", "type": "patchouli:multiblock" }, { @@ -3001,7 +3001,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/160$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Гнейс, Граніт", + "text": "$(thing)Рідкість$(): 1/160 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Гнейс, Граніт", "title": "Срібло, Гален і Свинець", "type": "patchouli:text", "anchor": "normal_silver" @@ -3068,7 +3068,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/190$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -40 — 56$(br)$(thing)Розмір$(): 36$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", + "text": "$(thing)Рідкість$(): 1/190 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -40 — 56$(br)$(thing)Розмір$(): 36$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", "title": "Стеатит, Тальк і Трона", "type": "patchouli:text", "anchor": "normal_lubricant" @@ -3175,7 +3175,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Аспідний сланець, Базальт, Гнейс, Дацит, Кварцит, Мармур, Ріоліт, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/170 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Аспідний сланець, Базальт, Гнейс, Дацит, Кварцит, Мармур, Ріоліт, Філіт, Шиферний сланець", "title": "Сфалерит і Пірит", "type": "patchouli:text", "anchor": "normal_sphalerite" @@ -3242,7 +3242,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/145$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Аспідний сланець, Базальт, Гнейс, Дацит, Кварцит, Мармур, Ріоліт, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/145 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Аспідний сланець, Базальт, Гнейс, Дацит, Кварцит, Мармур, Ріоліт, Філіт, Шиферний сланець", "title": "Сфалерит і Сірка", "type": "patchouli:text", "anchor": "surface_sphalerite" @@ -3309,7 +3309,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/140$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 10$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Аспідний сланець, Базальт, Вапняк, Габро, Глинистий сланець, Гнейс, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Ріоліт, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/140 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 10$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Аспідний сланець, Базальт, Вапняк, Габро, Глинистий сланець, Гнейс, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Ріоліт, Філіт, Шиферний сланець", "title": "Таркіаніт та Нафтові піски", "type": "patchouli:text", "anchor": "normal_tarkianite" @@ -3401,7 +3401,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/170 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Тетраедрит (Звичайний)", "type": "patchouli:text", "anchor": "normal_tetrahedrite" @@ -3468,7 +3468,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/140$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/140 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 60 — 210$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Тетраедрит (Поверхня)", "type": "patchouli:text", "anchor": "surface_tetrahedrite" @@ -3535,7 +3535,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/260$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Розмір$(): 28$(br)$(thing)Висота$(): 7$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/260 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Розмір$(): 28$(br)$(thing)Висота$(): 7$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Топаз і Халькоцит", "type": "patchouli:text", "anchor": "deep_topaz" @@ -3627,7 +3627,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/240$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — -20$(br)$(thing)Розмір$(): 19$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/240 чанків$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — -20$(br)$(thing)Розмір$(): 19$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Ураніт & Пітчбленд", "type": "patchouli:text", "anchor": "deep_pitchblende" @@ -3649,7 +3649,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 62%$(br)$(thing)Джерело$(): Урану, Торію, Свинцю$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібен повний захист)Канцерогенне (будь-який контакт)$(/t)$()", + "text": "$(thing)Відсоток$(): 62%$(br)$(thing)Джерело$(): Урану, Торію, Свинцю$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібен повний захист)Радіоактивний (будь-який контакт)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -3669,7 +3669,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 25%$(br)$(thing)Джерело$(): Урану$(br)$(thing)Формула$(): UO₂$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібен повний захист)Канцерогенне (будь-який контакт)$(/t)$()", + "text": "$(thing)Відсоток$(): 25%$(br)$(thing)Джерело$(): Урану$(br)$(thing)Формула$(): UO₂$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібен повний захист)Радіоактивний (будь-який контакт)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -3694,7 +3694,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/200$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 217$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/200 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 217$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", "title": "Халькопірит та Реальгар", "type": "patchouli:text", "anchor": "surface_copper" @@ -3786,7 +3786,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/225$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець, Мармур", + "text": "$(thing)Рідкість$(): 1/225 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець, Мармур", "title": "Хроміт і Магнетит", "type": "patchouli:text", "anchor": "deep_magnetite" @@ -3893,7 +3893,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/240$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", + "text": "$(thing)Рідкість$(): 1/240 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит", "title": "Шеєліт та Вольфрам", "type": "patchouli:text", "anchor": "deep_scheelite" @@ -3960,7 +3960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/320$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/320 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 0$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Шелдоніт і Борніт", "type": "patchouli:text", "anchor": "deep_sheldonite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json index b453cbfe8..aaf807573 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json @@ -19,17 +19,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)Гематит: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)Гетит: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Гіпс: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Главконітний пісок: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Графіт: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Діамант: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Електротин: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Жовтий лимоніт: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Зелений сапфір: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Кальцит: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Кам’яна сіль: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Каситерит: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Кварцит: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()", + "text": "$(li)Гематит: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)Гетит: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Гіпс: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Главконітний пісок: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Графіт: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Діамант: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Електротин: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Жовтий лимоніт: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Зелений сапфір: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Кальцит: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Каситерит: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Кварцит: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Кобальтит: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Лазурит: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Лапіс: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Літій: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Монацит: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Неодим: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Нікель: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Нітрат калію: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Олово: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Пентландит: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Пірит: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Піролюзит: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Піроп: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()", + "text": "$(li)Лазурит: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Лапіс: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Літій: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Монацит: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Неодим: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Нікель: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Нітрат калію: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Олово: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Пентландит: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Пірит: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Піролюзит: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Піроп: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Пірохлор: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Пірохлор: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Платина: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Реальгар: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Редстоун: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Рубін: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Самородна Золото: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Самородна Мідь: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Самородна Срібла: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Сапфір: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Свинець: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Сірка: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Смарагд: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Соапостон: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Содаліт: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()", + "text": "$(li)Платина: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Реальгар: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Редстоун: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Рубін: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Самородна Золото: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Самородна Мідь: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Самородна Срібла: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Сапфір: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Свинець: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Сильвін: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Сірка: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Смарагд: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Соапостон: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Содаліт: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json index 9e5422254..53f19f482 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/280$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 65$(br)$(thing)Висота$(): 8$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Габро, Глинистий сланець, Діорит, Доломіт, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/280 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 65$(br)$(thing)Висота$(): 8$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Габро, Глинистий сланець, Діорит, Доломіт, Кременистий сланець, Трахіт", "title": "Альмандин і Сапфір", "type": "patchouli:text", "anchor": "mars_almandine" @@ -136,7 +136,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Базальт, Вапняк, Глинистий сланець, Дацит, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Базальт, Вапняк, Глинистий сланець, Дацит, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Апатит і Пірохлор", "type": "patchouli:text", "anchor": "mars_apatite" @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/215$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Аргіліт, Базальт, Габро, Діорит, Доломіт, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/215 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Аргіліт, Базальт, Габро, Діорит, Доломіт, Крейда, Кременистий сланець, Трахіт", "title": "Бастнезит і Монацит", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/370$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Базальт, Дацит, Діорит, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/370 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Базальт, Дацит, Діорит, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Борніт і Куперит", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/140$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/140 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Вісмут", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/215$(br)$(thing)Щільність$(): 60%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 55$(br)$(thing)Індикатор Max Depth$(): 10$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Трахіт", + "text": "$(thing)Рідкість$(): 1/215 чанків$(br)$(thing)Щільність$(): 60%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 55$(br)$(thing)Індикатор Max Depth$(): 10$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Трахіт", "title": "Вугілля і Гематит", "type": "patchouli:text", "anchor": "mars_coal" @@ -556,7 +556,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 55$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Граніт, Дацит, Крейда", + "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 55$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Граніт, Дацит, Крейда", "title": "Гарнієрит і Кобальтит", "type": "patchouli:text", "anchor": "mars_nickel" @@ -648,7 +648,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Дацит, Доломіт, Конгломерат", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Дацит, Доломіт, Конгломерат", "title": "Гематит та Лімоніт", "type": "patchouli:text", "anchor": "mars_hematite" @@ -740,7 +740,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/140$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/140 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Гематит та Лімоніт", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -832,7 +832,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 9$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Габро, Граніт, Дацит, Діорит, Трахіт", + "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 9$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Габро, Граніт, Дацит, Діорит, Трахіт", "title": "Графіт і Діамант", "type": "patchouli:text", "anchor": "mars_graphite" @@ -924,7 +924,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/230$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Аргиліт, Габро, Глинистий сланець, Граніт, Діорит, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/230 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Аргиліт, Габро, Глинистий сланець, Граніт, Діорит, Крейда, Кременистий сланець", "title": "Золото, Електротин і Боксит", "type": "patchouli:text", "anchor": "mars_gold" @@ -1016,7 +1016,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/135$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/135 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Каситерит", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -1083,7 +1083,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Глинистий сланець, Граніт, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Глинистий сланець, Граніт, Крейда, Кременистий сланець, Трахіт", "title": "Кварцит, Азбест і Барит", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1175,7 +1175,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/200$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргіліт, Вапняк, Глинистий сланець, Доломіт, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/200 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргіліт, Вапняк, Глинистий сланець, Доломіт, Крейда, Кременистий сланець", "title": "Лапіс, Лазурит та Содаліт", "type": "patchouli:text", "anchor": "mars_lapis" @@ -1267,7 +1267,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/230$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 42$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/230 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 42$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Крейда, Кременистий сланець, Трахіт", "title": "Марганець і Тантал", "type": "patchouli:text", "anchor": "mars_tantalite" @@ -1359,7 +1359,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Дацит, Доломіт, Конгломерат, Трахіт", + "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Дацит, Доломіт, Конгломерат, Трахіт", "title": "Мідь та Халькопірит", "type": "patchouli:text", "anchor": "mars_copper" @@ -1451,7 +1451,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 55.00000000000001%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Габро, Глинистий сланець, Дацит, Діорит, Доломіт, Конгломерат, Трахіт", + "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 55%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Габро, Глинистий сланець, Дацит, Діорит, Доломіт, Конгломерат, Трахіт", "title": "Настуран, Торіаніт і Гематит", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -1473,7 +1473,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 41%$(br)$(thing)Джерело$(): Урану, Торію, Свинцю$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібен повний захист)Канцерогенне (будь-який контакт)$(/t)$()", + "text": "$(thing)Відсоток$(): 41%$(br)$(thing)Джерело$(): Урану, Торію, Свинцю$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібен повний захист)Радіоактивний (будь-який контакт)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1493,7 +1493,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 29%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): ThO₂", + "text": "$(thing)Відсоток$(): 29%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): ThO₂$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібен повний захист)Радіоактивний (будь-який контакт)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1518,7 +1518,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/370$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Габро, Глинистий сланець, Дацит, Діорит, Трахіт", + "text": "$(thing)Рідкість$(): 1/370 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Габро, Глинистий сланець, Дацит, Діорит, Трахіт", "title": "Настуран, Торіаніт і Уранініт", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -1540,7 +1540,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 52%$(br)$(thing)Джерело$(): Урану, Торію, Свинцю$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібен повний захист)Канцерогенне (будь-який контакт)$(/t)$()", + "text": "$(thing)Відсоток$(): 52%$(br)$(thing)Джерело$(): Урану, Торію, Свинцю$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібен повний захист)Радіоактивний (будь-який контакт)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1560,7 +1560,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 26%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): ThO₂", + "text": "$(thing)Відсоток$(): 26%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): ThO₂$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібен повний захист)Радіоактивний (будь-який контакт)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1580,12 +1580,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 21%$(br)$(thing)Джерело$(): Урану$(br)$(thing)Формула$(): UO₂$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібен повний захист)Канцерогенне (будь-який контакт)$(/t)$()", + "text": "$(thing)Відсоток$(): 21%$(br)$(thing)Джерело$(): Урану$(br)$(thing)Формула$(): UO₂$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібен повний захист)Радіоактивний (будь-який контакт)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/370$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Дацит, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/370 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Дацит, Крейда, Кременистий сланець", "title": "Редстоун і Хроміт", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1652,7 +1652,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/350$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): -20 — 50$(br)$(thing)Висота$(): 40$(br)$(thing)Радіус$(): 8$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/350 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): -20 — 50$(br)$(thing)Висота$(): 40$(br)$(thing)Радіус$(): 8$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", "title": "Смарагд і Берилій", "type": "patchouli:text", "anchor": "mars_beryllium" @@ -1719,7 +1719,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Граніт, Діорит, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Граніт, Діорит, Крейда, Кременистий сланець, Трахіт", "title": "Солі і Сподумен", "type": "patchouli:text", "anchor": "mars_salt" @@ -1766,7 +1766,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Кам’яна сіль", + "name": "Сильвін", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -1781,7 +1781,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 20%$(br)$(thing)Джерело$(): Калію, Хлору$(br)$(thing)Формула$(): KCl", + "text": "$(thing)Відсоток$(): 20%$(br)$(thing)Джерело$(): Калію, Хлору, Добрива$(br)$(thing)Формула$(): KCl", "type": "patchouli:multiblock" }, { @@ -1811,7 +1811,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/215$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Габро, Глинистий сланець, Граніт, Дацит, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/215 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Габро, Глинистий сланець, Граніт, Дацит, Крейда, Кременистий сланець", "title": "Срібло, Гален і Свинець", "type": "patchouli:text", "anchor": "mars_galena" @@ -1903,7 +1903,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат", + "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат", "title": "Стеатит, Тальк і Глауконіт", "type": "patchouli:text", "anchor": "mars_lubricant" @@ -2035,7 +2035,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/150$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/150 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Сфалерит і Галеніт", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2142,7 +2142,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/215$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Аргіліт, Базальт, Габро, Граніт, Дацит, Діорит, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/215 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Аргіліт, Базальт, Габро, Граніт, Дацит, Діорит, Крейда, Кременистий сланець, Трахіт", "title": "Сфалерит і Пірит", "type": "patchouli:text", "anchor": "mars_sulfur" @@ -2234,7 +2234,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Базальт, Габро, Глинистий сланець, Дацит, Діорит, Доломіт, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Базальт, Габро, Глинистий сланець, Дацит, Діорит, Доломіт, Крейда, Кременистий сланець, Трахіт", "title": "Тетраедрит (Звичайний)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2326,7 +2326,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/140$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/140 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Тетраедрит (Поверхня)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2418,7 +2418,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/280$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Базальт, Вапняк, Глинистий сланець, Доломіт, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/280 чанків$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Базальт, Вапняк, Глинистий сланець, Доломіт, Крейда, Кременистий сланець", "title": "Шеєліт та Вольфрам", "type": "patchouli:text", "anchor": "mars_tungsten" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_ore_index.json index da1f5c95b..cf26218cb 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_ore_index.json @@ -24,17 +24,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)Кальцит: $(l:tfg_ores/moon_vein_index#moon_gypsum)25%$(/l)$()$(li)Кам’яна сіль: $(l:tfg_ores/moon_vein_index#moon_beryllium)18%$(/l)$()$(li)Каситерит: $(l:tfg_ores/moon_vein_index#moon_cassiterite)41%$(/l)$()$(li)Кварц Нижнього Світу: $(l:tfg_ores/moon_vein_index#moon_quartz)30%$(/l)$()$(li)Кварцит: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)Кіаніт: $(l:tfg_ores/moon_vein_index#moon_mica)33%$(/l)$()$(li)Кіновар: $(l:tfg_ores/moon_vein_index#moon_redstone)19%$(/l)$()$(li)Кобальт: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_garnierite)14%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_garnierite)19%$(/l)$()$(li)Літій: $(l:tfg_ores/moon_vein_index#moon_scheelite)10%$(/l)$()$(li)Магнетит: $(l:tfg_ores/moon_vein_index#moon_magnetite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)20%$(/l)$()$(li)Молібденіт: $(l:tfg_ores/moon_vein_index#moon_molybdenum)33%$(/l)$()$(li)Монацит: $(l:tfg_ores/moon_vein_index#moon_monazite)30%$(/l)$()$(li)Неодим: $(l:tfg_ores/moon_vein_index#moon_monazite)6%$(/l)$()", + "text": "$(li)Кальцит: $(l:tfg_ores/moon_vein_index#moon_gypsum)25%$(/l)$()$(li)Каситерит: $(l:tfg_ores/moon_vein_index#moon_cassiterite)41%$(/l)$()$(li)Кварц Нижнього Світу: $(l:tfg_ores/moon_vein_index#moon_quartz)30%$(/l)$()$(li)Кварцит: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)Кіаніт: $(l:tfg_ores/moon_vein_index#moon_mica)33%$(/l)$()$(li)Кіновар: $(l:tfg_ores/moon_vein_index#moon_redstone)19%$(/l)$()$(li)Кобальт: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_garnierite)14%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_garnierite)19%$(/l)$()$(li)Літій: $(l:tfg_ores/moon_vein_index#moon_scheelite)10%$(/l)$()$(li)Магнетит: $(l:tfg_ores/moon_vein_index#moon_magnetite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)20%$(/l)$()$(li)Молібденіт: $(l:tfg_ores/moon_vein_index#moon_molybdenum)33%$(/l)$()$(li)Монацит: $(l:tfg_ores/moon_vein_index#moon_monazite)30%$(/l)$()$(li)Неодим: $(l:tfg_ores/moon_vein_index#moon_monazite)6%$(/l)$()$(li)Нікель: $(l:tfg_ores/moon_vein_index#moon_sheldonite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_garnierite)19%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Нікель: $(l:tfg_ores/moon_vein_index#moon_sheldonite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_garnierite)19%$(/l)$()$(li)Нітрат калію: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()$(li)Оливін: $(l:tfg_ores/moon_vein_index#moon_graphite)10%$(/l), $(l:tfg_ores/moon_vein_index#moon_apatite)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_beryllium)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_gypsum)5%$(/l), $(l:tfg_ores/moon_vein_index#moon_mica)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_molybdenum)5%$(/l), $(l:tfg_ores/moon_vein_index#moon_redstone)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_silver)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_sapphire)2%$(/l), $(l:tfg_ores/moon_vein_index#moon_monazite)1%$(/l)$()$(li)Олово: $(l:tfg_ores/moon_vein_index#moon_cassiterite)17%$(/l)$()$(li)Опал: $(l:tfg_ores/moon_vein_index#moon_garnet)38%$(/l)$()$(li)Пентландит: $(l:tfg_ores/moon_vein_index#moon_garnierite)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_lubricant)15%$(/l)$()$(li)Пірит: $(l:tfg_ores/moon_vein_index#moon_sphalerite)40%$(/l)$()$(li)Піролюзит: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)38%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)Піроп: $(l:tfg_ores/moon_vein_index#moon_sapphire)27%$(/l)$()$(li)Пірохлор: $(l:tfg_ores/moon_vein_index#moon_apatite)38%$(/l)$()$(li)Платина: $(l:tfg_ores/moon_vein_index#moon_sheldonite)15%$(/l)$()$(li)Повеліт: $(l:tfg_ores/moon_vein_index#moon_molybdenum)16%$(/l)$()$(li)Поклади Істинного Кварцу: $(l:tfg_ores/moon_vein_index#moon_quartz)45%$(/l)$()$(li)Редстоун: $(l:tfg_ores/moon_vein_index#moon_redstone)42%$(/l)$()", + "text": "$(li)Нітрат калію: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()$(li)Оливін: $(l:tfg_ores/moon_vein_index#moon_graphite)10%$(/l), $(l:tfg_ores/moon_vein_index#moon_apatite)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_beryllium)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_gypsum)5%$(/l), $(l:tfg_ores/moon_vein_index#moon_mica)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_molybdenum)5%$(/l), $(l:tfg_ores/moon_vein_index#moon_redstone)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_silver)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_sapphire)2%$(/l), $(l:tfg_ores/moon_vein_index#moon_monazite)1%$(/l)$()$(li)Олово: $(l:tfg_ores/moon_vein_index#moon_cassiterite)17%$(/l)$()$(li)Опал: $(l:tfg_ores/moon_vein_index#moon_garnet)38%$(/l)$()$(li)Пентландит: $(l:tfg_ores/moon_vein_index#moon_garnierite)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_lubricant)15%$(/l)$()$(li)Пірит: $(l:tfg_ores/moon_vein_index#moon_sphalerite)40%$(/l)$()$(li)Піролюзит: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)38%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)Піроп: $(l:tfg_ores/moon_vein_index#moon_sapphire)27%$(/l)$()$(li)Пірохлор: $(l:tfg_ores/moon_vein_index#moon_apatite)38%$(/l)$()$(li)Платина: $(l:tfg_ores/moon_vein_index#moon_sheldonite)15%$(/l)$()$(li)Повеліт: $(l:tfg_ores/moon_vein_index#moon_molybdenum)16%$(/l)$()$(li)Поклади Істинного Кварцу: $(l:tfg_ores/moon_vein_index#moon_quartz)45%$(/l)$()$(li)Редстоун: $(l:tfg_ores/moon_vein_index#moon_redstone)42%$(/l)$()$(li)Рубін: $(l:tfg_ores/moon_vein_index#moon_redstone)33%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Рубін: $(l:tfg_ores/moon_vein_index#moon_redstone)33%$(/l)$()$(li)Самородна Золото: $(l:tfg_ores/moon_vein_index#moon_gold)55%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)Самородна Мідь: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)15%$(/l)$()$(li)Самородна Срібла: $(l:tfg_ores/moon_vein_index#moon_silver)42%$(/l)$()$(li)Сапфір: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)Свинець: $(l:tfg_ores/moon_vein_index#moon_silver)23%$(/l)$()$(li)Слюда: $(l:tfg_ores/moon_vein_index#moon_mica)23%$(/l)$()$(li)Смарагд: $(l:tfg_ores/moon_vein_index#moon_beryllium)45%$(/l)$()$(li)Соапостон: $(l:tfg_ores/moon_vein_index#moon_lubricant)30%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)20%$(/l)$()$(li)Спесартін: $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)Стибніт: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)20%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/moon_vein_index#moon_sphalerite)50%$(/l)$()$(li)Тальк: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()$(li)Танталіт: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)14%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)12%$(/l)$()", + "text": "$(li)Самородна Золото: $(l:tfg_ores/moon_vein_index#moon_gold)55%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)Самородна Мідь: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)15%$(/l)$()$(li)Самородна Срібла: $(l:tfg_ores/moon_vein_index#moon_silver)42%$(/l)$()$(li)Сапфір: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)Свинець: $(l:tfg_ores/moon_vein_index#moon_silver)23%$(/l)$()$(li)Сильвін: $(l:tfg_ores/moon_vein_index#moon_beryllium)18%$(/l)$()$(li)Слюда: $(l:tfg_ores/moon_vein_index#moon_mica)23%$(/l)$()$(li)Смарагд: $(l:tfg_ores/moon_vein_index#moon_beryllium)45%$(/l)$()$(li)Соапостон: $(l:tfg_ores/moon_vein_index#moon_lubricant)30%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)20%$(/l)$()$(li)Спесартін: $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)Стибніт: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)20%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/moon_vein_index#moon_sphalerite)50%$(/l)$()$(li)Тальк: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()$(li)Танталіт: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)14%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)12%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_vein_index.json index ffbb3091b..02592a496 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/230$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Розмір$(): 35$(br)$(thing)Висота$(): 7$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Ріоліт", + "text": "$(thing)Рідкість$(): 1/230 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Розмір$(): 35$(br)$(thing)Висота$(): 7$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Ріоліт", "title": "Аметист, Опал і Гранат", "type": "patchouli:text", "anchor": "moon_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Діорит, Норит", + "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Діорит, Норит", "title": "Апатит і Пірохлор", "type": "patchouli:text", "anchor": "moon_apatite" @@ -213,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/310$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Дацит, Ріоліт, Фоноліт", + "text": "$(thing)Рідкість$(): 1/310 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Дацит, Ріоліт, Фоноліт", "title": "Бастнезит і Монацит", "type": "patchouli:text", "anchor": "moon_monazite" @@ -305,7 +305,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/200$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 80$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Базальт, Діорит, Норит, Ріоліт, Фоноліт", + "text": "$(thing)Рідкість$(): 1/200 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 80$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Базальт, Діорит, Норит, Ріоліт, Фоноліт", "title": "Боксит і Ільменіт", "type": "patchouli:text", "anchor": "moon_bauxite" @@ -372,7 +372,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/245$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 50$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Базальт, Габро, Дацит, Норит", + "text": "$(thing)Рідкість$(): 1/245 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 50$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Базальт, Габро, Дацит, Норит", "title": "Вульфеніт і Молібденіт", "type": "patchouli:text", "anchor": "moon_molybdenum" @@ -464,7 +464,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 5 — 85$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Габро, Діорит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 5 — 85$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Габро, Діорит, Ріоліт", "title": "Гарнієрит і Кобальтит", "type": "patchouli:text", "anchor": "moon_garnierite" @@ -571,7 +571,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/180$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Розмір$(): 30$(br)$(thing)Висота$(): 9$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Анортозит, Норит, Фоноліт", + "text": "$(thing)Рідкість$(): 1/180 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Розмір$(): 30$(br)$(thing)Висота$(): 9$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Анортозит, Норит, Фоноліт", "title": "Гіпс і Кальцит", "type": "patchouli:text", "anchor": "moon_gypsum" @@ -678,7 +678,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/260$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 9$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Базальт, Базальт, Габро, Фоноліт", + "text": "$(thing)Рідкість$(): 1/260 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 9$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Базальт, Базальт, Габро, Фоноліт", "title": "Графіт і Діамант", "type": "patchouli:text", "anchor": "moon_graphite" @@ -745,7 +745,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/230$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Дацит", + "text": "$(thing)Рідкість$(): 1/230 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Дацит", "title": "Деш і Ільменіт", "type": "patchouli:text", "anchor": "moon_desh" @@ -837,7 +837,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Розмір$(): 35$(br)$(thing)Висота$(): 10$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Базальт, Граніт, Діорит", + "text": "$(thing)Рідкість$(): 1/170 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 10 — 80$(br)$(thing)Розмір$(): 35$(br)$(thing)Висота$(): 10$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Базальт, Граніт, Діорит", "title": "Золото і Магнетит", "type": "patchouli:text", "anchor": "moon_gold" @@ -929,7 +929,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/230$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 80$(br2)$(thing)Типи каменю$(): Андезит, Анортозит, Базальт, Габро, Дацит, Діорит, Норит, Ріоліт, Фоноліт", + "text": "$(thing)Рідкість$(): 1/230 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 10 — 100$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 80$(br2)$(thing)Типи каменю$(): Андезит, Анортозит, Базальт, Габро, Дацит, Діорит, Норит, Ріоліт, Фоноліт", "title": "Істинний Кварц", "type": "patchouli:text", "anchor": "moon_quartz" @@ -1021,7 +1021,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит, Норит", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 10 — 128$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Габро, Граніт, Діорит, Норит", "title": "Каситерит і Халькопірит", "type": "patchouli:text", "anchor": "moon_cassiterite" @@ -1113,7 +1113,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Габро, Діорит, Норит", + "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Габро, Діорит, Норит", "title": "Кіаніт, Слюда та Боксити", "type": "patchouli:text", "anchor": "moon_mica" @@ -1220,7 +1220,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/215$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 5 — 80$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Базальт, Габро, Дацит, Норит", + "text": "$(thing)Рідкість$(): 1/215 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 5 — 80$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Базальт, Габро, Дацит, Норит", "title": "Марганець і Тантал", "type": "patchouli:text", "anchor": "moon_manganese" @@ -1312,7 +1312,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 80$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Анортозит, Базальт, Габро, Норит", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 80$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Анортозит, Базальт, Габро, Норит", "title": "Піролюзит і Кобальт", "type": "patchouli:text", "anchor": "moon_pyrolusite" @@ -1404,7 +1404,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 100$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Дацит, Фоноліт", + "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 100$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Дацит, Фоноліт", "title": "Редстоун, Кіновар і Рубін", "type": "patchouli:text", "anchor": "moon_redstone" @@ -1496,7 +1496,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/280$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Розмір$(): 28$(br)$(thing)Висота$(): 8$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Базальт, Норит", + "text": "$(thing)Рідкість$(): 1/280 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 100$(br)$(thing)Розмір$(): 28$(br)$(thing)Висота$(): 8$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Базальт, Норит", "title": "Сапфір і Альмадін", "type": "patchouli:text", "anchor": "moon_sapphire" @@ -1603,7 +1603,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Дацит, Норит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Дацит, Норит, Ріоліт", "title": "Селітра та Електротин", "type": "patchouli:text", "anchor": "moon_saltpeter" @@ -1695,7 +1695,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/260$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Висота$(): 70$(br)$(thing)Радіус$(): 8$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Базальт, Фоноліт", + "text": "$(thing)Рідкість$(): 1/260 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Висота$(): 70$(br)$(thing)Радіус$(): 8$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Базальт, Фоноліт", "title": "Смарагд і Берилій", "type": "patchouli:text", "anchor": "moon_beryllium" @@ -1742,7 +1742,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Кам’яна сіль", + "name": "Сильвін", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -1757,7 +1757,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 18%$(br)$(thing)Джерело$(): Калію, Хлору$(br)$(thing)Формула$(): KCl", + "text": "$(thing)Відсоток$(): 18%$(br)$(thing)Джерело$(): Калію, Хлору, Добрива$(br)$(thing)Формула$(): KCl", "type": "patchouli:multiblock" }, { @@ -1797,12 +1797,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 0%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): ThO₂", + "text": "$(thing)Відсоток$(): 0%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): ThO₂$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібен повний захист)Радіоактивний (будь-який контакт)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 75$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Дацит, Діорит, Норит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 75$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Дацит, Діорит, Норит, Ріоліт", "title": "Срібло, Гален і Свинець", "type": "patchouli:text", "anchor": "moon_silver" @@ -1894,7 +1894,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/190$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 66$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Анортозит, Базальт, Габро, Діорит, Норит", + "text": "$(thing)Рідкість$(): 1/190 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 66$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Анортозит, Базальт, Габро, Діорит, Норит", "title": "Стеатит, Тальк і Трона", "type": "patchouli:text", "anchor": "moon_lubricant" @@ -2001,7 +2001,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/205$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 2 — 75$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Дацит, Фоноліт", + "text": "$(thing)Рідкість$(): 1/205 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 2 — 75$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Дацит, Фоноліт", "title": "Сфалерит і Пірит", "type": "patchouli:text", "anchor": "moon_sphalerite" @@ -2068,7 +2068,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/190$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 50 — 128$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Дацит, Ріоліт, Фоноліт", + "text": "$(thing)Рідкість$(): 1/190 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 50 — 128$(br)$(thing)Розмір$(): 35$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Дацит, Ріоліт, Фоноліт", "title": "Тетраедрит і Халькоцит", "type": "patchouli:text", "anchor": "moon_tetrahedrite" @@ -2160,7 +2160,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Розмір$(): 45$(br)$(thing)Висота$(): 16$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Анортозит, Базальт, Габро, Дацит, Діорит, Норит, Ріоліт, Фоноліт", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 120$(br)$(thing)Розмір$(): 45$(br)$(thing)Висота$(): 16$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Анортозит, Базальт, Габро, Дацит, Діорит, Норит, Ріоліт, Фоноліт", "title": "Топаз і Халькоцит", "type": "patchouli:text", "anchor": "moon_topaz" @@ -2252,7 +2252,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/280$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Габро, Діорит, Норит", + "text": "$(thing)Рідкість$(): 1/280 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 90$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Анортозит, Габро, Діорит, Норит", "title": "Хроміт і Магнетит", "type": "patchouli:text", "anchor": "moon_magnetite" @@ -2359,7 +2359,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/200$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Габро, Ріоліт, Фоноліт", + "text": "$(thing)Рідкість$(): 1/200 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Габро, Ріоліт, Фоноліт", "title": "Шеєліт та Вольфрам", "type": "patchouli:text", "anchor": "moon_scheelite" @@ -2426,7 +2426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/260$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Фоноліт", + "text": "$(thing)Рідкість$(): 1/260 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Фоноліт", "title": "Шелдоніт і Борніт", "type": "patchouli:text", "anchor": "moon_sheldonite" 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 f7bfffeed..d4f6b3717 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,32 +24,27 @@ }, { "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)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)$()", + "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_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)$()$(li)Кіновар: $(l:tfg_ores/nether_vein_index#nether_redstone)20%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(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_lapis)35%$(/l)$()$(li)Лапіс: $(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_naquadah)100%$(/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)$()", + "text": "$(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_lapis)35%$(/l)$()$(li)Лапіс: $(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_naquadah)100%$(/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_saltpeter)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_cassiterite)9%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "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)$()", + "text": "$(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)$()$(li)Самородна Золото: $(l:tfg_ores/nether_vein_index#nether_gold)75%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)5%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Самородна Золото: $(l:tfg_ores/nether_vein_index#nether_gold)75%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)5%$(/l)$()$(li)Самородна Мідь: $(l:tfg_ores/nether_vein_index#nether_copper)65%$(/l), $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)30%$(/l)$()$(li)Самородна Срібла: $(l:tfg_ores/nether_vein_index#nether_silver)35%$(/l)$()$(li)Сапфір: $(l:tfg_ores/nether_vein_index#nether_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_sylvite)100%$(/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_mica)33%$(/l)$()$(li)Смарагд: $(l:tfg_ores/nether_vein_index#nether_beryllium)47%$(/l)$()$(li)Соапостон: $(l:tfg_ores/nether_vein_index#nether_lubricant)30%$(/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)$()", + "text": "$(li)Самородна Мідь: $(l:tfg_ores/nether_vein_index#nether_copper)65%$(/l), $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)30%$(/l)$()$(li)Самородна Срібла: $(l:tfg_ores/nether_vein_index#nether_silver)35%$(/l)$()$(li)Сапфір: $(l:tfg_ores/nether_vein_index#nether_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_beryllium)18%$(/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_mica)33%$(/l)$()$(li)Смарагд: $(l:tfg_ores/nether_vein_index#nether_beryllium)47%$(/l)$()$(li)Соапостон: $(l:tfg_ores/nether_vein_index#nether_lubricant)30%$(/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)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Тальк: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Танталіт: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Тетраедрит: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Топаз: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Торіаніт: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Трикальційфосфат: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Трона: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Уранит: $(l:tfg_ores/nether_vein_index#nether_pitchblende)62%$(/l)$()$(li)Ураніт: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/nether_vein_index#nether_copper)20%$(/l)$()$(li)Халькоцит: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Хроміт: $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Червоний гранат: $(l:tfg_ores/nether_vein_index#nether_garnet)9%$(/l)$()$(li)Шеєліт: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()", - "type": "patchouli:text" - }, - { - "Type": "patchouli:text", - "text": "$(li)Шелдонітн: $(l:tfg_ores/nether_vein_index#nether_sheldonite)29%$(/l)$()", + "text": "$(li)Танталіт: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Тетраедрит: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Топаз: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Торіаніт: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Трикальційфосфат: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Трона: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Уранит: $(l:tfg_ores/nether_vein_index#nether_pitchblende)62%$(/l)$()$(li)Ураніт: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/nether_vein_index#nether_copper)20%$(/l)$()$(li)Халькоцит: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Хроміт: $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Червоний гранат: $(l:tfg_ores/nether_vein_index#nether_garnet)9%$(/l)$()$(li)Шеєліт: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()$(li)Шелдонітн: $(l:tfg_ores/nether_vein_index#nether_sheldonite)29%$(/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 aa5bfd365..6799e5aca 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 @@ -19,17 +19,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_quartz)Кварц Нижнього Світу$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_mica)Кіаніт, Слюда та Боксити$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_lapis)Лапіс, Лазурит та Содаліт$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_manganese)Марганець і Тантал$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_copper)Мідь та Халькопірит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_basaltic_sands)Мінеральні піски$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_naquadah)Наквадак$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_redstone)Редстоун, Кіновар і Рубін$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sapphire)Сапфір і Альмадін$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_saltpeter)Селітра та Електротин$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sylvite)Сильвін$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sulfur)Сірка та Пірит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_beryllium)Смарагд і Берилій$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_silver)Срібло, Гален і Свинець$()$()", + "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_quartz)Кварц Нижнього Світу$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_mica)Кіаніт, Слюда та Боксити$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_lapis)Лапіс, Лазурит та Содаліт$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_manganese)Марганець і Тантал$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_copper)Мідь та Халькопірит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_basaltic_sands)Мінеральні піски$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_naquadah)Наквадак$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_redstone)Редстоун, Кіновар і Рубін$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sapphire)Сапфір і Альмадін$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_saltpeter)Селітра та Електротин$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sulfur)Сірка та Пірит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_beryllium)Смарагд і Берилій$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_silver)Срібло, Гален і Свинець$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_lubricant)Стеатит, Тальк і Трона$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_lubricant)Стеатит, Тальк і Трона$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sphalerite)Сфалерит і Пірит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_tetrahedrite)Тетраедрит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_topaz)Топаз і Халькоцит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_pitchblende)Ураніт & Пітчбленд$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_magnetite)Хроміт$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_scheelite)Шеєліт та Вольфрам$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sheldonite)Шелдоніт і Борніт$()$()", + "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_sphalerite)Сфалерит і Пірит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_tetrahedrite)Тетраедрит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_topaz)Топаз і Халькоцит$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_pitchblende)Ураніт & Пітчбленд$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_magnetite)Хроміт$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_scheelite)Шеєліт та Вольфрам$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sheldonite)Шелдоніт і Борніт$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/230$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 45$(br)$(thing)Висота$(): 8$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/230 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 45$(br)$(thing)Висота$(): 8$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Аметист, Опал і Гранат", "type": "patchouli:text", "anchor": "nether_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/35$(br)$(thing)Щільність$(): 80%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 48 — 127$(br)$(thing)Розмір$(): 13$(br)$(thing)Висота$(): 4$(br2)$(thing)Типи каменю$(): Мігматит", + "text": "$(thing)Рідкість$(): 1/35 чанків$(br)$(thing)Щільність$(): 80%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 48 — 127$(br)$(thing)Розмір$(): 13$(br)$(thing)Висота$(): 4$(br2)$(thing)Типи каменю$(): Мігматит", "title": "Антрацит", "type": "patchouli:text", "anchor": "nether_anthracite" @@ -148,7 +148,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Розмір$(): 39$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс", + "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Розмір$(): 39$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс", "title": "Апатит і Пірохлор", "type": "patchouli:text", "anchor": "nether_apatite" @@ -215,7 +215,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/245$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/245 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Бастнезит і Монацит", "type": "patchouli:text", "anchor": "nether_monazite" @@ -282,7 +282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Розмір$(): 31$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Розмір$(): 31$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Бентоніт та Олівін", "type": "patchouli:text", "anchor": "nether_olivine" @@ -374,7 +374,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/245$(br)$(thing)Щільність$(): 55.00000000000001%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 31$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/245 чанків$(br)$(thing)Щільність$(): 55%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 31$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Вульфеніт і Молібденіт", "type": "patchouli:text", "anchor": "nether_molybdenum" @@ -466,7 +466,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/160$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 16 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Габро, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/160 чанків$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 16 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Габро, Діорит, Піроксеніти", "title": "Гарнієрит і Кобальтит", "type": "patchouli:text", "anchor": "nether_garnierite" @@ -573,7 +573,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 35$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 35$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Гематит та Лімоніт", "type": "patchouli:text", "anchor": "nether_hematite" @@ -680,7 +680,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/240$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 37$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/240 чанків$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 37$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Гетит", "type": "patchouli:text", "anchor": "nether_goethite" @@ -772,7 +772,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/180$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 9$(br2)$(thing)Типи каменю$(): Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/180 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 9$(br2)$(thing)Типи каменю$(): Мігматит, Піроксеніти, Травертин", "title": "Гіпс і Кальцит", "type": "patchouli:text", "anchor": "nether_gypsum" @@ -864,7 +864,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/270$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/270 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Мігматит, Піроксеніти, Травертин", "title": "Гранат і Каситеритові піски", "type": "patchouli:text", "anchor": "nether_garnet_tin" @@ -956,7 +956,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/120$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 12$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/120 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 12$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Графіт і Діамант", "type": "patchouli:text", "anchor": "nether_graphite" @@ -1023,7 +1023,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/260$(br)$(thing)Щільність$(): 55.00000000000001%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 37$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/260 чанків$(br)$(thing)Щільність$(): 55%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 37$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Золото та Гематит", "type": "patchouli:text", "anchor": "nether_gold" @@ -1115,7 +1115,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/170 чанків$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Каситерит", "type": "patchouli:text", "anchor": "nether_cassiterite" @@ -1182,7 +1182,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/150$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Базальт, Габро, Граніт, Діорит, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/150 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Базальт, Габро, Граніт, Діорит, Мігматит, Піроксеніти, Травертин", "title": "Кварц Нижнього Світу", "type": "patchouli:text", "anchor": "nether_quartz" @@ -1249,7 +1249,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 41$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 41$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Кіаніт, Слюда та Боксити", "type": "patchouli:text", "anchor": "nether_mica" @@ -1316,7 +1316,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/220$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 40$(br2)$(thing)Типи каменю$(): Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 40$(br2)$(thing)Типи каменю$(): Мігматит, Піроксеніти, Травертин", "title": "Лапіс, Лазурит та Содаліт", "type": "patchouli:text", "anchor": "nether_lapis" @@ -1408,7 +1408,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/225$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/225 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Марганець і Тантал", "type": "patchouli:text", "anchor": "nether_manganese" @@ -1500,7 +1500,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/170 чанків$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Мідь та Халькопірит", "type": "patchouli:text", "anchor": "nether_copper" @@ -1592,7 +1592,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/160$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Розмір$(): 48$(br)$(thing)Висота$(): 9$(br2)$(thing)Типи каменю$(): Базальт, Граніт", + "text": "$(thing)Рідкість$(): 1/160 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 48 — 128$(br)$(thing)Розмір$(): 48$(br)$(thing)Висота$(): 9$(br2)$(thing)Типи каменю$(): Базальт, Граніт", "title": "Мінеральні піски", "type": "patchouli:text", "anchor": "nether_basaltic_sands" @@ -1684,7 +1684,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/200$(br)$(thing)Щільність$(): 70%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 38$(br)$(thing)Розмір$(): 32$(br2)$(thing)Типи каменю$(): Базальт, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/200 чанків$(br)$(thing)Щільність$(): 70%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 38$(br)$(thing)Розмір$(): 32$(br2)$(thing)Типи каменю$(): Базальт, Піроксеніти", "title": "Наквадак", "type": "patchouli:text", "anchor": "nether_naquadah" @@ -1711,7 +1711,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/160$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Граніт, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/160 чанків$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Граніт, Піроксеніти", "title": "Редстоун, Кіновар і Рубін", "type": "patchouli:text", "anchor": "nether_redstone" @@ -1778,7 +1778,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/180$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 33$(br)$(thing)Висота$(): 8$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/180 чанків$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 33$(br)$(thing)Висота$(): 8$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Сапфір і Альмадін", "type": "patchouli:text", "anchor": "nether_sapphire" @@ -1870,7 +1870,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 50$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 50$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Селітра та Електротин", "type": "patchouli:text", "anchor": "nether_saltpeter" @@ -1962,34 +1962,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/75$(br)$(thing)Щільність$(): 60%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 64$(br)$(thing)Розмір$(): 17$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Піроксеніти", - "title": "Сильвін", - "type": "patchouli:text", - "anchor": "nether_sylvite" - }, - { - "Type": "patchouli:multiblock", - "name": "Сильвін", - "multiblock": { - "mapping": { - "0": "beneath:ore/blackstone_sylvite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Відсоток$(): 100%$(br)$(thing)Використовується для$(): Добрива$(br)$(thing)Формула$(): KCl", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/165$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 50$(br2)$(thing)Типи каменю$(): Аспідний сланець, Базальт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/165 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 50$(br2)$(thing)Типи каменю$(): Аспідний сланець, Базальт, Діорит, Піроксеніти", "title": "Сірка та Пірит", "type": "patchouli:text", "anchor": "nether_sulfur" @@ -2056,7 +2029,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 12$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 12$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Смарагд і Берилій", "type": "patchouli:text", "anchor": "nether_beryllium" @@ -2103,7 +2076,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Кам’яна сіль", + "name": "Сильвін", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -2118,7 +2091,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 18%$(br)$(thing)Джерело$(): Калію, Хлору$(br)$(thing)Формула$(): KCl", + "text": "$(thing)Відсоток$(): 18%$(br)$(thing)Джерело$(): Калію, Хлору, Добрива$(br)$(thing)Формула$(): KCl", "type": "patchouli:multiblock" }, { @@ -2138,7 +2111,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 0%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): ThO₂", + "text": "$(thing)Відсоток$(): 0%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): ThO₂$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібен повний захист)Радіоактивний (будь-який контакт)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2148,7 +2121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/160$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Гнейс, Граніт, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/160 чанків$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 24 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Гнейс, Граніт, Піроксеніти", "title": "Срібло, Гален і Свинець", "type": "patchouli:text", "anchor": "nether_silver" @@ -2215,7 +2188,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 41$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 41$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Стеатит, Тальк і Трона", "type": "patchouli:text", "anchor": "nether_lubricant" @@ -2322,7 +2295,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/170 чанків$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Сфалерит і Пірит", "type": "patchouli:text", "anchor": "nether_sphalerite" @@ -2389,7 +2362,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/170$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/170 чанків$(br)$(thing)Щільність$(): 50%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Розмір$(): 45$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Мігматит, Піроксеніти, Травертин", "title": "Тетраедрит", "type": "patchouli:text", "anchor": "nether_tetrahedrite" @@ -2456,7 +2429,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/180$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 33$(br)$(thing)Висота$(): 7$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/180 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 33$(br)$(thing)Висота$(): 7$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Топаз і Халькоцит", "type": "patchouli:text", "anchor": "nether_topaz" @@ -2548,7 +2521,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 55.00000000000001%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 24$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 55%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 24$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Ураніт & Пітчбленд", "type": "patchouli:text", "anchor": "nether_pitchblende" @@ -2570,7 +2543,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 62%$(br)$(thing)Джерело$(): Урану, Торію, Свинцю$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібен повний захист)Канцерогенне (будь-який контакт)$(/t)$()", + "text": "$(thing)Відсоток$(): 62%$(br)$(thing)Джерело$(): Урану, Торію, Свинцю$(br)$(thing)Формула$(): (UO₂)₃ThPb$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібен повний захист)Радіоактивний (будь-який контакт)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2590,7 +2563,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 25%$(br)$(thing)Джерело$(): Урану$(br)$(thing)Формула$(): UO₂$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібен повний захист)Канцерогенне (будь-який контакт)$(/t)$()", + "text": "$(thing)Відсоток$(): 25%$(br)$(thing)Джерело$(): Урану$(br)$(thing)Формула$(): UO₂$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібен повний захист)Радіоактивний (будь-який контакт)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2615,7 +2588,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/205$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 39$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/205 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 39$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Хроміт", "type": "patchouli:text", "anchor": "nether_magnetite" @@ -2722,7 +2695,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/180$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 25$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", + "text": "$(thing)Рідкість$(): 1/180 чанків$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 25$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Піроксеніти", "title": "Шеєліт та Вольфрам", "type": "patchouli:text", "anchor": "nether_scheelite" @@ -2789,7 +2762,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/250$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 35$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 128$(br)$(thing)Розмір$(): 35$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Шелдоніт і Борніт", "type": "patchouli:text", "anchor": "nether_sheldonite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json index 570f2fd95..a9655593a 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Галіт: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Кам’яна сіль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Пірит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Сірка: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)Сподумен: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()", + "text": "$(li)Галіт: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Пірит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Сильвін: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)Сірка: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)Сподумен: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json index 342b3dda3..e2cf19252 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/30$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт, Травертин, Трахіт", + "text": "$(thing)Рідкість$(): 1/30 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт, Травертин, Трахіт", "title": "Сірка та Пірит", "type": "patchouli:text", "anchor": "venus_manual_sulfur" @@ -86,7 +86,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/30$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт, Травертин, Трахіт", + "text": "$(thing)Рідкість$(): 1/30 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт, Травертин, Трахіт", "title": "Солі і Сподумен", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -113,7 +113,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Кам’яна сіль", + "name": "Сильвін", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -128,7 +128,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 10%$(br)$(thing)Джерело$(): Калію, Хлору$(br)$(thing)Формула$(): KCl", + "text": "$(thing)Відсоток$(): 10%$(br)$(thing)Джерело$(): Калію, Хлору, Добрива$(br)$(thing)Формула$(): KCl", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/ores_and_minerals.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/ores_and_minerals.json index 94983723f..fafac33ef 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/ores_and_minerals.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/ores_and_minerals.json @@ -50,26 +50,6 @@ "name": "无烟煤", "text": "无烟煤是一种强大的 $(l:beneath/hellforge)燃料$()。可在幽冥之地上层区的混合岩中找到。", "enable_visualize": false - }, - { - "type": "patchouli:multiblock", - "anchor": "sylvite", - "multiblock": { - "pattern": [ - [ - "X" - ], - [ - "0" - ] - ], - "mapping": { - "X": "beneath:ore/blackstone_sylvite" - } - }, - "name": "钾石盐", - "text": "钾石盐是一种肥料,可在幽冥之地下层区的辉石岩中找到。", - "enable_visualize": false } ], "read_by_default": true 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 4dec4ba18..2890944c0 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_ore_index.json @@ -14,32 +14,32 @@ }, { "Type": "patchouli:text", - "text": "$(li)云母: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)原生金: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)原生银: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)塔基安矿: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)天然碱: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)孔雀石: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)岩盐: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)岩盐: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)方钍石: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)方钠石: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()", + "text": "$(li)云母: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)原生金: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)原生银: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)塔基安矿: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)天然碱: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)孔雀石: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)方钍石: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)方钠石: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)明矾石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)明矾石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)朱砂: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)橄榄石: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)沸石: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)油砂: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)滑石: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)漂白土: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)烧绿石: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)煤炭: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)独居石: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()", + "text": "$(li)朱砂: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)橄榄石: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)沸石: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)油砂: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)滑石: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)漂白土: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)烧绿石: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)煤炭: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)独居石: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)玄武岩矿砂: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)白钨矿: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)玄武岩矿砂: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)白钨矿: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)皂石: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(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)$()", + "text": "$(li)皂石: $(l:tfg_ores/earth_vein_index#normal_lubricant)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_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/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" }, { "Type": "patchouli:text", - "text": "$(li)磁铁矿: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)磷灰石: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)紫水晶: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)红宝石: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)红石: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)绿宝石: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)膨润土: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)花岗岩矿砂: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)菱镁矿: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()", + "text": "$(li)磷灰石: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)紫水晶: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)红宝石: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)红石: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)绿宝石: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)膨润土: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)花岗岩矿砂: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)菱镁矿: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)蓝石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)蓝石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()$(li)蓝金石: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)蓝黄玉: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)蛋白石: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)软锰矿: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)辉钼矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)辉铜矿: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)重晶石: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)针铁矿: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)钒磁铁矿: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()", + "text": "$(li)蓝金石: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)蓝黄玉: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)蛋白石: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)软锰矿: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)辉钼矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)辉铜矿: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)重晶石: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)针铁矿: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)钒磁铁矿: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)钕矿: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)钕矿: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)钙铝榴石: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)钴矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)钻石: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)钼钨钙矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)钼铅矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)铂矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)铍矿: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)铝土矿: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()", + "text": "$(li)钙铝榴石: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)钴矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)钻石: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)钼钨钙矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)钼铅矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)钾石盐: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)铂矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)铍矿: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)铝土矿: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()", "type": "patchouli:text" }, { 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 9464af967..96183bfcd 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/140$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 20 — 120$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 10$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 燧石, 片岩, 片麻岩, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/140 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 20 — 120$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 10$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 燧石, 片岩, 片麻岩, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "塔基安矿, 油砂", "type": "patchouli:text", "anchor": "normal_tarkianite" @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/240$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — -20$(br)$(thing)尺寸$(): 19$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/240 区块$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — -20$(br)$(thing)尺寸$(): 19$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", "title": "晶质铀矿, 沥青铀矿", "type": "patchouli:text", "anchor": "deep_pitchblende" @@ -198,7 +198,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/205$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 50$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/205 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 50$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", "title": "氟碳镧铈矿, 独居石", "type": "patchouli:text", "anchor": "normal_monazite" @@ -265,7 +265,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/185$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 55$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", + "text": "$(thing)稀有度$(): 1/185 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 55$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", "title": "油砂", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -292,7 +292,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/215$(br)$(thing)密度$(): 55.00000000000001%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 210$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", + "text": "$(thing)稀有度$(): 1/215 区块$(br)$(thing)密度$(): 55%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 210$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", "title": "煤炭", "type": "patchouli:text", "anchor": "normal_coal" @@ -319,7 +319,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/240$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 0$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/240 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 0$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", "title": "白钨矿, 钨酸锂", "type": "patchouli:text", "anchor": "deep_scheelite" @@ -386,7 +386,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/190$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -40 — 56$(br)$(thing)尺寸$(): 36$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/190 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -40 — 56$(br)$(thing)尺寸$(): 36$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", "title": "皂石, 滑石, 天然碱", "type": "patchouli:text", "anchor": "normal_lubricant" @@ -493,14 +493,14 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/175$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 30 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 4$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 石灰岩, 粘土岩, 页岩", + "text": "$(thing)稀有度$(): 1/175 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 30 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 4$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 石灰岩, 粘土岩, 页岩", "title": "盐, 硼砂", "type": "patchouli:text", "anchor": "normal_salt" }, { "Type": "patchouli:multiblock", - "name": "岩盐", + "name": "钾石盐", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -515,12 +515,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 40%$(br)$(thing)来源$(): 钾, 氯$(br)$(thing)化学式$(): KCl", + "text": "$(thing)百分比$(): 40%$(br)$(thing)来源$(): 钾, 氯, 肥料$(br)$(thing)化学式$(): KCl", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "岩盐", + "name": "石鹽", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -585,7 +585,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/270$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -40 — 64$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 燧石, 片岩, 片麻岩, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/270 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -40 — 64$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 燧石, 片岩, 片麻岩, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "石榴石, 锡石矿砂", "type": "patchouli:text", "anchor": "normal_garnet_tin" @@ -677,7 +677,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/180$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 9$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", + "text": "$(thing)稀有度$(): 1/180 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 9$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", "title": "石膏, 方解石", "type": "patchouli:text", "anchor": "normal_gypsum" @@ -769,7 +769,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/190$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 100$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 石英岩, 页岩", + "text": "$(thing)稀有度$(): 1/190 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 100$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 石英岩, 页岩", "title": "石英", "type": "patchouli:text", "anchor": "normal_quartz" @@ -836,7 +836,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/80$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — -16$(br)$(thing)尺寸$(): 16$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 燧石, 片岩, 片麻岩, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/80 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — -16$(br)$(thing)尺寸$(): 16$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 燧石, 片岩, 片麻岩, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "石墨, 钻石", "type": "patchouli:text", "anchor": "normal_graphite" @@ -903,7 +903,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/160$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 48$(br)$(thing)高度$(): 9$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 玄武岩, 花岗岩", + "text": "$(thing)稀有度$(): 1/160 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 48$(br)$(thing)高度$(): 9$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 玄武岩, 花岗岩", "title": "矿砂", "type": "patchouli:text", "anchor": "normal_basaltic_sands" @@ -995,7 +995,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/160$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 70$(br2)$(thing)岩石类型$(): 辉长岩, 闪长岩$(br2)找不到吗?辉长岩总是生成在$(thing)玄武岩$()的下方,而且在海洋中的辉长岩岩脉也可能有用!", + "text": "$(thing)稀有度$(): 1/160 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 70$(br2)$(thing)岩石类型$(): 辉长岩, 闪长岩$(br2)找不到吗?辉长岩总是生成在$(thing)玄武岩$()的下方,而且在海洋中的辉长岩岩脉也可能有用!", "title": "硅镁镍矿, 辉钴矿", "type": "patchouli:text", "anchor": "normal_garnierite" @@ -1102,7 +1102,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", "title": "硝石, 蓝石", "type": "patchouli:text", "anchor": "normal_saltpeter" @@ -1194,7 +1194,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/165$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 210$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", + "text": "$(thing)稀有度$(): 1/165 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 210$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", "title": "硫, 黄铁矿", "type": "patchouli:text", "anchor": "normal_sulfur" @@ -1261,7 +1261,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/320$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 0$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", + "text": "$(thing)稀有度$(): 1/320 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 0$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", "title": "硫铂矿, 斑铜矿", "type": "patchouli:text", "anchor": "deep_sheldonite" @@ -1328,7 +1328,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/200$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", + "text": "$(thing)稀有度$(): 1/200 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", "title": "磁铁矿, 钒", "type": "patchouli:text", "anchor": "normal_magnetite" @@ -1420,7 +1420,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 120$(br)$(thing)尺寸$(): 34$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/170 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 120$(br)$(thing)尺寸$(): 34$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", "title": "磷灰石, 烧绿石", "type": "patchouli:text", "anchor": "normal_apatite" @@ -1487,7 +1487,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/230$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — 26$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 8$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 燧石, 片岩, 片麻岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 页岩", + "text": "$(thing)稀有度$(): 1/230 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — 26$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 8$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 燧石, 片岩, 片麻岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 页岩", "title": "紫水晶, 石榴石", "type": "patchouli:text", "anchor": "deep_garnet_amethyst" @@ -1579,7 +1579,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/160$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 100$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 花岗岩$(br2)找不到吗?花岗岩总是生成在$(thing)流纹岩$()的下方,而且在海洋中寻找也可能有用!", + "text": "$(thing)稀有度$(): 1/160 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 100$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 花岗岩$(br2)找不到吗?花岗岩总是生成在$(thing)流纹岩$()的下方,而且在海洋中寻找也可能有用!", "title": "红石, 朱砂, 红宝石", "type": "patchouli:text", "anchor": "normal_redstone" @@ -1646,7 +1646,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): -32 — 50$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 10$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", + "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): -32 — 50$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 10$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", "title": "绿宝石, 铍矿", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -1708,12 +1708,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 15%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): ThO₂", + "text": "$(thing)百分比$(): 15%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): ThO₂$(br)$(thing)危害$(): $(c)$(t:需要全身防护)放射性 (任何接触)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/180$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -40 — 30$(br)$(thing)尺寸$(): 26$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/180 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -40 — 30$(br)$(thing)尺寸$(): 26$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", "title": "膨润土, 橄榄石", "type": "patchouli:text", "anchor": "normal_olivine" @@ -1805,7 +1805,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/180$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — 32$(br)$(thing)尺寸$(): 28$(br)$(thing)高度$(): 8$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/180 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — 32$(br)$(thing)尺寸$(): 28$(br)$(thing)高度$(): 8$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩, 闪长岩", "title": "蓝宝石, 铁铝榴石", "type": "patchouli:text", "anchor": "deep_sapphire" @@ -1897,7 +1897,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/190$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 210$(br)$(thing)尺寸$(): 36$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/190 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 210$(br)$(thing)尺寸$(): 36$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", "title": "蓝晶石, 云母, 铝土矿", "type": "patchouli:text", "anchor": "normal_mica" @@ -1989,7 +1989,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — 62$(br)$(thing)尺寸$(): 26$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — 62$(br)$(thing)尺寸$(): 26$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", "title": "蛋白石, 石榴石", "type": "patchouli:text", "anchor": "deep_garnet_opal" @@ -2081,7 +2081,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/190$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 大理岩, 石灰岩", + "text": "$(thing)稀有度$(): 1/190 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 大理岩, 石灰岩", "title": "褐铁矿", "type": "patchouli:text", "anchor": "normal_limonite" @@ -2173,7 +2173,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", "title": "赤铁矿, 褐铁矿", "type": "patchouli:text", "anchor": "normal_hematite" @@ -2265,7 +2265,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 30$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", + "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 30$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", "title": "赤铁矿, 针铁矿, 红宝石", "type": "patchouli:text", "anchor": "deep_hematite" @@ -2372,7 +2372,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/140$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 60 — 210$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 花岗岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/140 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 60 — 210$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 花岗岩, 辉长岩, 闪长岩, 页岩", "title": "辉铋矿 (地表)", "type": "patchouli:text", "anchor": "surface_bismuthinite" @@ -2464,7 +2464,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 花岗岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/170 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 花岗岩, 辉长岩, 闪长岩, 页岩", "title": "辉铋矿 (普通)", "type": "patchouli:text", "anchor": "normal_bismuthinite" @@ -2556,7 +2556,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/260$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 30$(br)$(thing)尺寸$(): 32$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/260 区块$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 30$(br)$(thing)尺寸$(): 32$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", "title": "金矿 (深层)", "type": "patchouli:text", "anchor": "deep_gold" @@ -2648,7 +2648,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 12$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/170 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 12$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", "title": "金矿, 褐铁矿, 赤铁矿", "type": "patchouli:text", "anchor": "normal_gold" @@ -2740,7 +2740,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/240$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 30$(br)$(thing)尺寸$(): 32$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 大理岩, 石灰岩", + "text": "$(thing)稀有度$(): 1/240 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 30$(br)$(thing)尺寸$(): 32$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 大理岩, 石灰岩", "title": "针铁矿, 孔雀石", "type": "patchouli:text", "anchor": "deep_limonite" @@ -2832,7 +2832,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/245$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 10$(br)$(thing)尺寸$(): 26$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/245 区块$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 10$(br)$(thing)尺寸$(): 26$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", "title": "钼铅矿, 辉钼矿", "type": "patchouli:text", "anchor": "deep_molybdenum" @@ -2899,7 +2899,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 85$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", + "text": "$(thing)稀有度$(): 1/170 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 85$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", "title": "铜矿, 黄铜矿", "type": "patchouli:text", "anchor": "normal_copper" @@ -2991,7 +2991,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/225$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 30$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 大理岩, 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", + "text": "$(thing)稀有度$(): 1/225 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 30$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 大理岩, 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", "title": "铬铁矿, 磁铁矿", "type": "patchouli:text", "anchor": "deep_magnetite" @@ -3098,7 +3098,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/160$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 片麻岩, 花岗岩", + "text": "$(thing)稀有度$(): 1/160 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 片麻岩, 花岗岩", "title": "银矿, 方铅矿, 铅矿", "type": "patchouli:text", "anchor": "normal_silver" @@ -3165,7 +3165,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/180$(br)$(thing)密度$(): 37.5%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 20 — 60$(br)$(thing)尺寸$(): 35$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/180 区块$(br)$(thing)密度$(): 38%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 20 — 60$(br)$(thing)尺寸$(): 35$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", "title": "锂辉石, 锂云母", "type": "patchouli:text", "anchor": "normal_spodumene" @@ -3192,7 +3192,7 @@ }, { "Type": "patchouli:multiblock", - "name": "岩盐", + "name": "石鹽", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -3212,7 +3212,7 @@ }, { "Type": "patchouli:multiblock", - "name": "岩盐", + "name": "钾石盐", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -3227,7 +3227,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 20%$(br)$(thing)来源$(): 钾, 氯$(br)$(thing)化学式$(): KCl", + "text": "$(thing)百分比$(): 20%$(br)$(thing)来源$(): 钾, 氯, 肥料$(br)$(thing)化学式$(): KCl", "type": "patchouli:multiblock" }, { @@ -3257,7 +3257,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/135$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 60 — 210$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/135 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 60 — 210$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", "title": "锡石矿 (地表)", "type": "patchouli:text", "anchor": "surface_cassiterite" @@ -3324,7 +3324,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/170 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 花岗岩, 辉长岩, 闪长岩", "title": "锡石矿 (普通)", "type": "patchouli:text", "anchor": "normal_cassiterite" @@ -3391,7 +3391,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/195$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 英安岩, 页岩", + "text": "$(thing)稀有度$(): 1/195 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 英安岩, 页岩", "title": "锰矿, 钽矿", "type": "patchouli:text", "anchor": "normal_manganese" @@ -3483,7 +3483,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/145$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 60 — 210$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 片岩, 片麻岩, 玄武岩, 石英岩, 英安岩", + "text": "$(thing)稀有度$(): 1/145 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 60 — 210$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 片岩, 片麻岩, 玄武岩, 石英岩, 英安岩", "title": "闪锌矿, 硫", "type": "patchouli:text", "anchor": "surface_sphalerite" @@ -3550,7 +3550,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 片岩, 片麻岩, 玄武岩, 石英岩, 英安岩", + "text": "$(thing)稀有度$(): 1/170 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 片岩, 片麻岩, 玄武岩, 石英岩, 英安岩", "title": "闪锌矿, 黄铁矿", "type": "patchouli:text", "anchor": "normal_sphalerite" @@ -3617,7 +3617,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -60 — 10$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", + "text": "$(thing)稀有度$(): 1/170 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -60 — 10$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", "title": "青金石, 蓝金石, 方钠石", "type": "patchouli:text", "anchor": "normal_lapis" @@ -3709,7 +3709,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/260$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — 26$(br)$(thing)尺寸$(): 28$(br)$(thing)高度$(): 7$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", + "text": "$(thing)稀有度$(): 1/260 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — 26$(br)$(thing)尺寸$(): 28$(br)$(thing)高度$(): 7$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", "title": "黄玉, 辉铜矿", "type": "patchouli:text", "anchor": "deep_topaz" @@ -3801,7 +3801,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/200$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 217$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", + "text": "$(thing)稀有度$(): 1/200 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 217$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", "title": "黄铜矿, 雄黄", "type": "patchouli:text", "anchor": "surface_copper" @@ -3893,7 +3893,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/140$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 60 — 210$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", + "text": "$(thing)稀有度$(): 1/140 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 60 — 210$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", "title": "黝铜矿 (地表)", "type": "patchouli:text", "anchor": "surface_tetrahedrite" @@ -3960,7 +3960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", + "text": "$(thing)稀有度$(): 1/170 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 75$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", "title": "黝铜矿 (普通)", "type": "patchouli:text", "anchor": "normal_tetrahedrite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json index 7280e6e87..e3ee6b195 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json @@ -14,22 +14,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)原生金: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)原生银: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)天然碱: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)岩盐: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)岩盐: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)方解石: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)方钍石: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)方钠石: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()", + "text": "$(li)原生金: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)原生银: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)天然碱: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)方解石: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)方钍石: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)方钠石: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)滑石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)海绿石矿砂: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)滑石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)烧绿石: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)煤炭: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)独居石: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)白钨矿: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)皂石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)石棉: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)石膏: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)石英岩: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)石墨: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)硝石: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)硫: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()", + "text": "$(li)烧绿石: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)煤炭: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)独居石: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)白钨矿: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)皂石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)石棉: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)石膏: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)石英岩: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)石鹽: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)石墨: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)硝石: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)硫: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)硫铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)磷灰石: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)红宝石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)红石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)绿宝石: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)蓝石: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)蓝金石: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)软锰矿: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()", + "text": "$(li)磷灰石: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)红宝石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)红石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)绿宝石: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)蓝石: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)蓝金石: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)软锰矿: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)辉锑矿: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)重晶石: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)针铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)钕矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)钙铝榴石: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)钻石: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)铍矿: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)铝土矿: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()", + "text": "$(li)重晶石: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)针铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)钕矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)钙铝榴石: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)钻石: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)钾石盐: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)铍矿: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)铝土矿: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json index 4b7a97e07..38c97ca35 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/370$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -20 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 砾岩, 粗面岩, 红花岗岩, 英安岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/370 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -20 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 砾岩, 粗面岩, 红花岗岩, 英安岩, 闪长岩", "title": "斑铜矿, 硫铂矿", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/215$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 粗面岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/215 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 粗面岩, 辉长岩, 闪长岩", "title": "氟碳镧铈矿, 独居石", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -213,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/370$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -20 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 粗面岩, 粘土岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/370 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -20 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 粗面岩, 粘土岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "沥青铀矿, 方钍石, 晶质铀矿", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -255,7 +255,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 26%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): ThO₂", + "text": "$(thing)百分比$(): 26%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): ThO₂$(br)$(thing)危害$(): $(c)$(t:需要全身防护)放射性 (任何接触)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -280,7 +280,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 55.00000000000001%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 白云岩, 砾岩, 粗面岩, 红花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 55%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 白云岩, 砾岩, 粗面岩, 红花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "沥青铀矿, 方钍石, 赤铁矿", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -322,7 +322,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 29%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): ThO₂", + "text": "$(thing)百分比$(): 29%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): ThO₂$(br)$(thing)危害$(): $(c)$(t:需要全身防护)放射性 (任何接触)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -347,7 +347,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/215$(br)$(thing)密度$(): 60%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 55$(br)$(thing)指示器最大深度$(): 10$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 白垩岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/215 区块$(br)$(thing)密度$(): 60%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 55$(br)$(thing)指示器最大深度$(): 10$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 白垩岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 闪长岩", "title": "煤炭, 赤铁矿", "type": "patchouli:text", "anchor": "mars_coal" @@ -399,7 +399,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/280$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 粘土岩, 红花岗岩, 页岩", + "text": "$(thing)稀有度$(): 1/280 区块$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 粘土岩, 红花岗岩, 页岩", "title": "白钨矿, 钨酸锂", "type": "patchouli:text", "anchor": "mars_tungsten" @@ -491,7 +491,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 白云岩, 石灰岩, 砾岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 白云岩, 石灰岩, 砾岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 闪长岩, 页岩", "title": "皂石, 滑石, 海绿石矿砂", "type": "patchouli:text", "anchor": "mars_lubricant" @@ -623,7 +623,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白垩岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白垩岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 闪长岩", "title": "盐, 锂辉石", "type": "patchouli:text", "anchor": "mars_salt" @@ -650,7 +650,7 @@ }, { "Type": "patchouli:multiblock", - "name": "岩盐", + "name": "石鹽", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -670,7 +670,7 @@ }, { "Type": "patchouli:multiblock", - "name": "岩盐", + "name": "钾石盐", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -685,7 +685,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 20%$(br)$(thing)来源$(): 钾, 氯$(br)$(thing)化学式$(): KCl", + "text": "$(thing)百分比$(): 20%$(br)$(thing)来源$(): 钾, 氯, 肥料$(br)$(thing)化学式$(): KCl", "type": "patchouli:multiblock" }, { @@ -715,7 +715,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白垩岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 页岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白垩岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 页岩", "title": "石英岩, 石棉, 重晶石", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -807,7 +807,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 9$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 泥板岩, 粗面岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 9$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 泥板岩, 粗面岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", "title": "石墨, 钻石", "type": "patchouli:text", "anchor": "mars_graphite" @@ -899,7 +899,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 55$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白垩岩, 石灰岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 页岩", + "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 55$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白垩岩, 石灰岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 页岩", "title": "硅镁镍矿, 辉钴矿", "type": "patchouli:text", "anchor": "mars_nickel" @@ -991,7 +991,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 燧石, 玄武岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 英安岩, 页岩", + "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 燧石, 玄武岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 英安岩, 页岩", "title": "磷灰石, 烧绿石", "type": "patchouli:text", "anchor": "mars_apatite" @@ -1083,7 +1083,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/370$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -20 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 石灰岩, 粘土岩, 英安岩, 页岩", + "text": "$(thing)稀有度$(): 1/370 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -20 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 石灰岩, 粘土岩, 英安岩, 页岩", "title": "红石, 铬铁矿", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1150,7 +1150,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/350$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): -20 — 50$(br)$(thing)高度$(): 40$(br)$(thing)半径$(): 8$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", + "text": "$(thing)稀有度$(): 1/350 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): -20 — 50$(br)$(thing)高度$(): 40$(br)$(thing)半径$(): 8$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", "title": "绿宝石, 铍矿", "type": "patchouli:text", "anchor": "mars_beryllium" @@ -1217,7 +1217,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 石灰岩, 砾岩, 粘土岩, 红花岗岩, 英安岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 石灰岩, 砾岩, 粘土岩, 红花岗岩, 英安岩", "title": "赤铁矿, 褐铁矿", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1309,7 +1309,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/140$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/140 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "赤铁矿, 褐铁矿", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1401,7 +1401,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/140$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/140 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "辉铋矿", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -1493,7 +1493,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/230$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 燧石, 白垩岩, 粘土岩, 花岗岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/230 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 燧石, 白垩岩, 粘土岩, 花岗岩, 辉长岩, 闪长岩, 页岩", "title": "金矿, 蓝石, 铝土矿", "type": "patchouli:text", "anchor": "mars_gold" @@ -1585,7 +1585,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/280$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 65$(br)$(thing)高度$(): 8$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白云岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/280 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 65$(br)$(thing)高度$(): 8$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白云岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 辉长岩, 闪长岩, 页岩", "title": "铁铝榴石, 蓝宝石", "type": "patchouli:text", "anchor": "mars_almandine" @@ -1692,7 +1692,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 英安岩, 页岩", + "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 英安岩, 页岩", "title": "铜矿, 黄铜矿", "type": "patchouli:text", "anchor": "mars_copper" @@ -1784,7 +1784,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/215$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 页岩", + "text": "$(thing)稀有度$(): 1/215 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 页岩", "title": "银矿, 方铅矿, 铅矿", "type": "patchouli:text", "anchor": "mars_galena" @@ -1876,7 +1876,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/135$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/135 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "锡石矿", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -1943,7 +1943,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/230$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 42$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 辉长岩, 页岩", + "text": "$(thing)稀有度$(): 1/230 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 42$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 辉长岩, 页岩", "title": "锰矿, 钽矿", "type": "patchouli:text", "anchor": "mars_tantalite" @@ -2035,7 +2035,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/150$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/150 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "闪锌矿, 方铅矿", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2142,7 +2142,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/215$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 粗面岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/215 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 粗面岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", "title": "闪锌矿, 黄铁矿", "type": "patchouli:text", "anchor": "mars_sulfur" @@ -2234,7 +2234,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/200$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白云岩, 白垩岩, 石灰岩, 页岩", + "text": "$(thing)稀有度$(): 1/200 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白云岩, 白垩岩, 石灰岩, 页岩", "title": "青金石, 蓝金石, 方钠石", "type": "patchouli:text", "anchor": "mars_lapis" @@ -2326,7 +2326,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/140$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/140 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "黝铜矿 (地表)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2418,7 +2418,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 粗面岩, 红花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 粗面岩, 红花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "黝铜矿 (普通)", "type": "patchouli:text", "anchor": "mars_stibnite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_ore_index.json index 119901031..476a803ea 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_ore_index.json @@ -14,27 +14,27 @@ }, { "Type": "patchouli:text", - "text": "$(li)下界石英: $(l:tfg_ores/moon_vein_index#moon_quartz)30%$(/l)$()$(li)云母: $(l:tfg_ores/moon_vein_index#moon_mica)23%$(/l)$()$(li)原生金: $(l:tfg_ores/moon_vein_index#moon_gold)55%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)原生铜: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)15%$(/l)$()$(li)原生银: $(l:tfg_ores/moon_vein_index#moon_silver)42%$(/l)$()$(li)天然碱: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)岩盐: $(l:tfg_ores/moon_vein_index#moon_beryllium)18%$(/l)$()$(li)戴斯矿: $(l:tfg_ores/moon_vein_index#moon_desh)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_sphalerite)10%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/moon_vein_index#moon_sheldonite)35%$(/l), $(l:tfg_ores/moon_vein_index#moon_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/moon_vein_index#moon_gypsum)25%$(/l)$()$(li)方钍石: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)方铅矿: $(l:tfg_ores/moon_vein_index#moon_silver)28%$(/l)$()$(li)明矾石: $(l:tfg_ores/moon_vein_index#moon_gypsum)15%$(/l)$()$(li)朱砂: $(l:tfg_ores/moon_vein_index#moon_redstone)19%$(/l)$()", + "text": "$(li)下界石英: $(l:tfg_ores/moon_vein_index#moon_quartz)30%$(/l)$()$(li)云母: $(l:tfg_ores/moon_vein_index#moon_mica)23%$(/l)$()$(li)原生金: $(l:tfg_ores/moon_vein_index#moon_gold)55%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)原生铜: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)15%$(/l)$()$(li)原生银: $(l:tfg_ores/moon_vein_index#moon_silver)42%$(/l)$()$(li)天然碱: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)戴斯矿: $(l:tfg_ores/moon_vein_index#moon_desh)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_sphalerite)10%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/moon_vein_index#moon_sheldonite)35%$(/l), $(l:tfg_ores/moon_vein_index#moon_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/moon_vein_index#moon_gypsum)25%$(/l)$()$(li)方钍石: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)方铅矿: $(l:tfg_ores/moon_vein_index#moon_silver)28%$(/l)$()$(li)明矾石: $(l:tfg_ores/moon_vein_index#moon_gypsum)15%$(/l)$()$(li)朱砂: $(l:tfg_ores/moon_vein_index#moon_redstone)19%$(/l)$()$(li)橄榄石: $(l:tfg_ores/moon_vein_index#moon_graphite)10%$(/l), $(l:tfg_ores/moon_vein_index#moon_apatite)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_beryllium)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_gypsum)5%$(/l), $(l:tfg_ores/moon_vein_index#moon_mica)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_molybdenum)5%$(/l), $(l:tfg_ores/moon_vein_index#moon_redstone)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_silver)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_sapphire)2%$(/l), $(l:tfg_ores/moon_vein_index#moon_monazite)1%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)橄榄石: $(l:tfg_ores/moon_vein_index#moon_graphite)10%$(/l), $(l:tfg_ores/moon_vein_index#moon_apatite)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_beryllium)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_gypsum)5%$(/l), $(l:tfg_ores/moon_vein_index#moon_mica)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_molybdenum)5%$(/l), $(l:tfg_ores/moon_vein_index#moon_redstone)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_silver)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_sapphire)2%$(/l), $(l:tfg_ores/moon_vein_index#moon_monazite)1%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/moon_vein_index#moon_monazite)61%$(/l)$()$(li)沸石: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/moon_vein_index#moon_lubricant)25%$(/l)$()$(li)滑石: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()$(li)烧绿石: $(l:tfg_ores/moon_vein_index#moon_apatite)38%$(/l)$()$(li)独居石: $(l:tfg_ores/moon_vein_index#moon_monazite)30%$(/l)$()$(li)白钨矿: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)皂石: $(l:tfg_ores/moon_vein_index#moon_lubricant)30%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)20%$(/l)$()$(li)石膏: $(l:tfg_ores/moon_vein_index#moon_gypsum)35%$(/l)$()$(li)石英岩: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)石墨: $(l:tfg_ores/moon_vein_index#moon_graphite)52%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/moon_vein_index#moon_garnierite)23%$(/l)$()$(li)硝石: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()", + "text": "$(li)氟碳镧铈矿: $(l:tfg_ores/moon_vein_index#moon_monazite)61%$(/l)$()$(li)沸石: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/moon_vein_index#moon_lubricant)25%$(/l)$()$(li)滑石: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()$(li)烧绿石: $(l:tfg_ores/moon_vein_index#moon_apatite)38%$(/l)$()$(li)独居石: $(l:tfg_ores/moon_vein_index#moon_monazite)30%$(/l)$()$(li)白钨矿: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)皂石: $(l:tfg_ores/moon_vein_index#moon_lubricant)30%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)20%$(/l)$()$(li)石膏: $(l:tfg_ores/moon_vein_index#moon_gypsum)35%$(/l)$()$(li)石英岩: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)石墨: $(l:tfg_ores/moon_vein_index#moon_graphite)52%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/moon_vein_index#moon_garnierite)23%$(/l)$()$(li)硝石: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/moon_vein_index#moon_sheldonite)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)硫铂矿: $(l:tfg_ores/moon_vein_index#moon_sheldonite)25%$(/l)$()$(li)硼砂: $(l:tfg_ores/moon_vein_index#moon_gypsum)20%$(/l)$()$(li)磁铁矿: $(l:tfg_ores/moon_vein_index#moon_magnetite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)20%$(/l)$()$(li)磷灰石: $(l:tfg_ores/moon_vein_index#moon_apatite)23%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/moon_vein_index#moon_apatite)33%$(/l)$()$(li)紫水晶: $(l:tfg_ores/moon_vein_index#moon_garnet)38%$(/l)$()$(li)红宝石: $(l:tfg_ores/moon_vein_index#moon_redstone)33%$(/l)$()$(li)红石: $(l:tfg_ores/moon_vein_index#moon_redstone)42%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/moon_vein_index#moon_garnet)9%$(/l)$()$(li)绿宝石: $(l:tfg_ores/moon_vein_index#moon_beryllium)45%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)5%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/moon_vein_index#moon_mica)33%$(/l)$()$(li)蓝石: $(l:tfg_ores/moon_vein_index#moon_saltpeter)37%$(/l)$()", + "text": "$(li)硼砂: $(l:tfg_ores/moon_vein_index#moon_gypsum)20%$(/l)$()$(li)磁铁矿: $(l:tfg_ores/moon_vein_index#moon_magnetite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)20%$(/l)$()$(li)磷灰石: $(l:tfg_ores/moon_vein_index#moon_apatite)23%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/moon_vein_index#moon_apatite)33%$(/l)$()$(li)紫水晶: $(l:tfg_ores/moon_vein_index#moon_garnet)38%$(/l)$()$(li)红宝石: $(l:tfg_ores/moon_vein_index#moon_redstone)33%$(/l)$()$(li)红石: $(l:tfg_ores/moon_vein_index#moon_redstone)42%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/moon_vein_index#moon_garnet)9%$(/l)$()$(li)绿宝石: $(l:tfg_ores/moon_vein_index#moon_beryllium)45%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)5%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/moon_vein_index#moon_mica)33%$(/l)$()$(li)蓝石: $(l:tfg_ores/moon_vein_index#moon_saltpeter)37%$(/l)$()$(li)蓝黄玉: $(l:tfg_ores/moon_vein_index#moon_topaz)35%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)蓝黄玉: $(l:tfg_ores/moon_vein_index#moon_topaz)35%$(/l)$()$(li)蛋白石: $(l:tfg_ores/moon_vein_index#moon_garnet)38%$(/l)$()$(li)赛特斯石英矿: $(l:tfg_ores/moon_vein_index#moon_quartz)45%$(/l)$()$(li)软锰矿: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)38%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_garnierite)19%$(/l)$()$(li)辉钼矿: $(l:tfg_ores/moon_vein_index#moon_molybdenum)33%$(/l)$()$(li)辉铜矿: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)20%$(/l)$()$(li)重晶石: $(l:tfg_ores/moon_vein_index#moon_quartz)5%$(/l)$()$(li)钒磁铁矿: $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)钕矿: $(l:tfg_ores/moon_vein_index#moon_monazite)6%$(/l)$()$(li)钙铝榴石: $(l:tfg_ores/moon_vein_index#moon_manganese)37%$(/l)$()$(li)钛铁矿: $(l:tfg_ores/moon_vein_index#moon_bauxite)42%$(/l), $(l:tfg_ores/moon_vein_index#moon_desh)30%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/moon_vein_index#moon_scheelite)50%$(/l)$()", + "text": "$(li)蛋白石: $(l:tfg_ores/moon_vein_index#moon_garnet)38%$(/l)$()$(li)赛特斯石英矿: $(l:tfg_ores/moon_vein_index#moon_quartz)45%$(/l)$()$(li)软锰矿: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)38%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_garnierite)19%$(/l)$()$(li)辉钼矿: $(l:tfg_ores/moon_vein_index#moon_molybdenum)33%$(/l)$()$(li)辉铜矿: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)20%$(/l)$()$(li)重晶石: $(l:tfg_ores/moon_vein_index#moon_quartz)5%$(/l)$()$(li)钒磁铁矿: $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)钕矿: $(l:tfg_ores/moon_vein_index#moon_monazite)6%$(/l)$()$(li)钙铝榴石: $(l:tfg_ores/moon_vein_index#moon_manganese)37%$(/l)$()$(li)钛铁矿: $(l:tfg_ores/moon_vein_index#moon_bauxite)42%$(/l), $(l:tfg_ores/moon_vein_index#moon_desh)30%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/moon_vein_index#moon_scheelite)50%$(/l)$()$(li)钴矿: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_garnierite)14%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)钴矿: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_garnierite)14%$(/l)$()$(li)钻石: $(l:tfg_ores/moon_vein_index#moon_graphite)36%$(/l)$()$(li)钼钨钙矿: $(l:tfg_ores/moon_vein_index#moon_molybdenum)16%$(/l)$()$(li)钼铅矿: $(l:tfg_ores/moon_vein_index#moon_molybdenum)44%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)14%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)12%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/moon_vein_index#moon_sapphire)38%$(/l)$()$(li)铂矿: $(l:tfg_ores/moon_vein_index#moon_sheldonite)15%$(/l)$()$(li)铅矿: $(l:tfg_ores/moon_vein_index#moon_silver)23%$(/l)$()$(li)铍矿: $(l:tfg_ores/moon_vein_index#moon_beryllium)31%$(/l)$()$(li)铝土矿: $(l:tfg_ores/moon_vein_index#moon_bauxite)36%$(/l), $(l:tfg_ores/moon_vein_index#moon_mica)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)20%$(/l)$()$(li)铝矿: $(l:tfg_ores/moon_vein_index#moon_desh)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_mica)14%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/moon_vein_index#moon_magnetite)40%$(/l)$()$(li)锂矿: $(l:tfg_ores/moon_vein_index#moon_scheelite)10%$(/l)$()$(li)锡石矿: $(l:tfg_ores/moon_vein_index#moon_cassiterite)41%$(/l)$()", + "text": "$(li)钻石: $(l:tfg_ores/moon_vein_index#moon_graphite)36%$(/l)$()$(li)钼钨钙矿: $(l:tfg_ores/moon_vein_index#moon_molybdenum)16%$(/l)$()$(li)钼铅矿: $(l:tfg_ores/moon_vein_index#moon_molybdenum)44%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)14%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)12%$(/l)$()$(li)钾石盐: $(l:tfg_ores/moon_vein_index#moon_beryllium)18%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/moon_vein_index#moon_sapphire)38%$(/l)$()$(li)铂矿: $(l:tfg_ores/moon_vein_index#moon_sheldonite)15%$(/l)$()$(li)铅矿: $(l:tfg_ores/moon_vein_index#moon_silver)23%$(/l)$()$(li)铍矿: $(l:tfg_ores/moon_vein_index#moon_beryllium)31%$(/l)$()$(li)铝土矿: $(l:tfg_ores/moon_vein_index#moon_bauxite)36%$(/l), $(l:tfg_ores/moon_vein_index#moon_mica)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)20%$(/l)$()$(li)铝矿: $(l:tfg_ores/moon_vein_index#moon_desh)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_mica)14%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/moon_vein_index#moon_magnetite)40%$(/l)$()$(li)锂矿: $(l:tfg_ores/moon_vein_index#moon_scheelite)10%$(/l)$()$(li)锡石矿: $(l:tfg_ores/moon_vein_index#moon_cassiterite)41%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_vein_index.json index 6e69d62d6..8fe7152d2 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/230$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 10 — 80$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 安山岩, 玄武岩, 英安岩, 辉长岩", + "text": "$(thing)稀有度$(): 1/230 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 10 — 80$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 安山岩, 玄武岩, 英安岩, 辉长岩", "title": "戴斯矿, 钛铁矿", "type": "patchouli:text", "anchor": "moon_desh" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/310$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 流纹岩, 英安岩", + "text": "$(thing)稀有度$(): 1/310 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 流纹岩, 英安岩", "title": "氟碳镧铈矿, 独居石", "type": "patchouli:text", "anchor": "moon_monazite" @@ -213,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/200$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 流纹岩, 辉长岩", + "text": "$(thing)稀有度$(): 1/200 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 流纹岩, 辉长岩", "title": "白钨矿, 钨酸锂", "type": "patchouli:text", "anchor": "moon_scheelite" @@ -280,7 +280,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/190$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 66$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 斜长岩, 玄武岩, 苏长岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/190 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 66$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 斜长岩, 玄武岩, 苏长岩, 辉长岩, 闪长岩", "title": "皂石, 滑石, 天然碱", "type": "patchouli:text", "anchor": "moon_lubricant" @@ -387,7 +387,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/180$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 10 — 100$(br)$(thing)尺寸$(): 30$(br)$(thing)高度$(): 9$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 响岩, 斜长岩, 苏长岩", + "text": "$(thing)稀有度$(): 1/180 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 10 — 100$(br)$(thing)尺寸$(): 30$(br)$(thing)高度$(): 9$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 响岩, 斜长岩, 苏长岩", "title": "石膏, 方解石", "type": "patchouli:text", "anchor": "moon_gypsum" @@ -494,7 +494,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/260$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 9$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 斜长岩, 玄武岩, 玄武岩, 辉长岩", + "text": "$(thing)稀有度$(): 1/260 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 9$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 斜长岩, 玄武岩, 玄武岩, 辉长岩", "title": "石墨, 钻石", "type": "patchouli:text", "anchor": "moon_graphite" @@ -561,7 +561,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 5 — 85$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 流纹岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 5 — 85$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 流纹岩, 辉长岩, 闪长岩", "title": "硅镁镍矿, 辉钴矿", "type": "patchouli:text", "anchor": "moon_garnierite" @@ -668,7 +668,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 90$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 苏长岩, 英安岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 90$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 苏长岩, 英安岩", "title": "硝石, 蓝石", "type": "patchouli:text", "anchor": "moon_saltpeter" @@ -760,7 +760,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/260$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 玄武岩", + "text": "$(thing)稀有度$(): 1/260 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 玄武岩", "title": "硫铂矿, 斑铜矿", "type": "patchouli:text", "anchor": "moon_sheldonite" @@ -852,7 +852,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 100$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 斜长岩, 苏长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 100$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 斜长岩, 苏长岩, 闪长岩", "title": "磷灰石, 烧绿石", "type": "patchouli:text", "anchor": "moon_apatite" @@ -944,7 +944,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/230$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 10 — 128$(br)$(thing)尺寸$(): 35$(br)$(thing)高度$(): 7$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩", + "text": "$(thing)稀有度$(): 1/230 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 10 — 128$(br)$(thing)尺寸$(): 35$(br)$(thing)高度$(): 7$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩", "title": "紫水晶, 蛋白石, 石榴石", "type": "patchouli:text", "anchor": "moon_garnet" @@ -1036,7 +1036,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 100$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 英安岩", + "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 100$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 英安岩", "title": "红石, 朱砂, 红宝石", "type": "patchouli:text", "anchor": "moon_redstone" @@ -1128,7 +1128,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/260$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)高度$(): 70$(br)$(thing)半径$(): 8$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 斜长岩, 玄武岩", + "text": "$(thing)稀有度$(): 1/260 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)高度$(): 70$(br)$(thing)半径$(): 8$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 斜长岩, 玄武岩", "title": "绿宝石, 铍矿", "type": "patchouli:text", "anchor": "moon_beryllium" @@ -1175,7 +1175,7 @@ }, { "Type": "patchouli:multiblock", - "name": "岩盐", + "name": "钾石盐", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -1190,7 +1190,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 18%$(br)$(thing)来源$(): 钾, 氯$(br)$(thing)化学式$(): KCl", + "text": "$(thing)百分比$(): 18%$(br)$(thing)来源$(): 钾, 氯, 肥料$(br)$(thing)化学式$(): KCl", "type": "patchouli:multiblock" }, { @@ -1230,12 +1230,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 0%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): ThO₂", + "text": "$(thing)百分比$(): 0%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): ThO₂$(br)$(thing)危害$(): $(c)$(t:需要全身防护)放射性 (任何接触)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/280$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 100$(br)$(thing)尺寸$(): 28$(br)$(thing)高度$(): 8$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 玄武岩, 苏长岩", + "text": "$(thing)稀有度$(): 1/280 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 100$(br)$(thing)尺寸$(): 28$(br)$(thing)高度$(): 8$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 玄武岩, 苏长岩", "title": "蓝宝石, 铁铝榴石", "type": "patchouli:text", "anchor": "moon_sapphire" @@ -1342,7 +1342,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 斜长岩, 苏长岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 斜长岩, 苏长岩, 辉长岩, 闪长岩", "title": "蓝晶石, 云母, 铝土矿", "type": "patchouli:text", "anchor": "moon_mica" @@ -1449,7 +1449,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/230$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 10 — 100$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 80$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 斜长岩, 流纹岩, 玄武岩, 苏长岩, 英安岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/230 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 10 — 100$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 80$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 斜长岩, 流纹岩, 玄武岩, 苏长岩, 英安岩, 辉长岩, 闪长岩", "title": "赛特斯石英矿", "type": "patchouli:text", "anchor": "moon_quartz" @@ -1541,7 +1541,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 80$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 安山岩, 斜长岩, 玄武岩, 苏长岩, 辉长岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 80$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 安山岩, 斜长岩, 玄武岩, 苏长岩, 辉长岩", "title": "软锰矿 & 钴矿", "type": "patchouli:text", "anchor": "moon_pyrolusite" @@ -1633,7 +1633,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 10 — 80$(br)$(thing)尺寸$(): 35$(br)$(thing)高度$(): 10$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 玄武岩, 花岗岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/170 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 10 — 80$(br)$(thing)尺寸$(): 35$(br)$(thing)高度$(): 10$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 玄武岩, 花岗岩, 闪长岩", "title": "金矿, 磁铁矿", "type": "patchouli:text", "anchor": "moon_gold" @@ -1725,7 +1725,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/245$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 50$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 玄武岩, 苏长岩, 英安岩, 辉长岩", + "text": "$(thing)稀有度$(): 1/245 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 50$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 玄武岩, 苏长岩, 英安岩, 辉长岩", "title": "钼铅矿, 辉钼矿", "type": "patchouli:text", "anchor": "moon_molybdenum" @@ -1817,7 +1817,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/200$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 80$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 斜长岩, 流纹岩, 玄武岩, 苏长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/200 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 80$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 响岩, 斜长岩, 流纹岩, 玄武岩, 苏长岩, 闪长岩", "title": "铝土矿, 钛铁矿", "type": "patchouli:text", "anchor": "moon_bauxite" @@ -1884,7 +1884,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/280$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 90$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 斜长岩, 苏长岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/280 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 90$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 斜长岩, 苏长岩, 辉长岩, 闪长岩", "title": "铬铁矿, 磁铁矿", "type": "patchouli:text", "anchor": "moon_magnetite" @@ -1991,7 +1991,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 75$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 斜长岩, 流纹岩, 苏长岩, 英安岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 75$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 斜长岩, 流纹岩, 苏长岩, 英安岩, 闪长岩", "title": "银矿, 方铅矿, 铅矿", "type": "patchouli:text", "anchor": "moon_silver" @@ -2083,7 +2083,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 10 — 128$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 花岗岩, 苏长岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 10 — 128$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 花岗岩, 苏长岩, 辉长岩, 闪长岩", "title": "锡石矿, 黄铜矿", "type": "patchouli:text", "anchor": "moon_cassiterite" @@ -2175,7 +2175,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/215$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 5 — 80$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 玄武岩, 玄武岩, 苏长岩, 英安岩, 辉长岩", + "text": "$(thing)稀有度$(): 1/215 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 5 — 80$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 玄武岩, 玄武岩, 苏长岩, 英安岩, 辉长岩", "title": "锰矿, 钽矿", "type": "patchouli:text", "anchor": "moon_manganese" @@ -2267,7 +2267,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/205$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 2 — 75$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 玄武岩, 英安岩, 辉长岩", + "text": "$(thing)稀有度$(): 1/205 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 2 — 75$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 玄武岩, 英安岩, 辉长岩", "title": "闪锌矿, 黄铁矿", "type": "patchouli:text", "anchor": "moon_sphalerite" @@ -2334,7 +2334,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)尺寸$(): 45$(br)$(thing)高度$(): 16$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 斜长岩, 流纹岩, 玄武岩, 苏长岩, 英安岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 120$(br)$(thing)尺寸$(): 45$(br)$(thing)高度$(): 16$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 斜长岩, 流纹岩, 玄武岩, 苏长岩, 英安岩, 辉长岩, 闪长岩", "title": "黄玉, 辉铜矿", "type": "patchouli:text", "anchor": "moon_topaz" @@ -2426,7 +2426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/190$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 50 — 128$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 流纹岩, 英安岩", + "text": "$(thing)稀有度$(): 1/190 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 50 — 128$(br)$(thing)尺寸$(): 35$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 响岩, 安山岩, 流纹岩, 英安岩", "title": "黝铜矿, 辉铜矿", "type": "patchouli:text", "anchor": "moon_tetrahedrite" 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 c8a4018be..4baaa71bc 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_ore_index.json @@ -14,42 +14,37 @@ }, { "Type": "patchouli:text", - "text": "$(li)下界石英: $(l:tfg_ores/nether_vein_index#nether_quartz)54%$(/l)$()$(li)云母: $(l:tfg_ores/nether_vein_index#nether_mica)33%$(/l)$()$(li)原生金: $(l:tfg_ores/nether_vein_index#nether_gold)75%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/nether_vein_index#nether_copper)65%$(/l), $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)30%$(/l)$()$(li)原生银: $(l:tfg_ores/nether_vein_index#nether_silver)35%$(/l)$()$(li)天然碱: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)孔雀石: $(l:tfg_ores/nether_vein_index#nether_goethite)20%$(/l)$()$(li)岩盐: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/nether_vein_index#nether_sheldonite)41%$(/l), $(l:tfg_ores/nether_vein_index#nether_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/nether_vein_index#nether_gypsum)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_lapis)15%$(/l)$()$(li)方钍石: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)方钠石: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/nether_vein_index#nether_silver)30%$(/l)$()$(li)无烟煤: $(l:tfg_ores/nether_vein_index#nether_anthracite)100%$(/l)$()", + "text": "$(li)下界石英: $(l:tfg_ores/nether_vein_index#nether_quartz)54%$(/l)$()$(li)云母: $(l:tfg_ores/nether_vein_index#nether_mica)33%$(/l)$()$(li)原生金: $(l:tfg_ores/nether_vein_index#nether_gold)75%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/nether_vein_index#nether_copper)65%$(/l), $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)30%$(/l)$()$(li)原生银: $(l:tfg_ores/nether_vein_index#nether_silver)35%$(/l)$()$(li)天然碱: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)孔雀石: $(l:tfg_ores/nether_vein_index#nether_goethite)20%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/nether_vein_index#nether_sheldonite)41%$(/l), $(l:tfg_ores/nether_vein_index#nether_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/nether_vein_index#nether_gypsum)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_lapis)15%$(/l)$()$(li)方钍石: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)方钠石: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/nether_vein_index#nether_silver)30%$(/l)$()$(li)无烟煤: $(l:tfg_ores/nether_vein_index#nether_anthracite)100%$(/l)$()$(li)明矾石: $(l:tfg_ores/nether_vein_index#nether_saltpeter)15%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)明矾石: $(l:tfg_ores/nether_vein_index#nether_saltpeter)15%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)朱砂: $(l:tfg_ores/nether_vein_index#nether_redstone)20%$(/l)$()$(li)橄榄石: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/nether_vein_index#nether_monazite)50%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/nether_vein_index#nether_pitchblende)62%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/nether_vein_index#nether_lubricant)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_olivine)15%$(/l)$()$(li)滑石: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)漂白土: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gypsum)15%$(/l)$()$(li)烧绿石: $(l:tfg_ores/nether_vein_index#nether_apatite)15%$(/l)$()$(li)煤炭: $(l:tfg_ores/nether_vein_index#nether_graphite)15%$(/l)$()$(li)独居石: $(l:tfg_ores/nether_vein_index#nether_monazite)25%$(/l)$()$(li)玄武岩矿砂: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)35%$(/l)$()$(li)白钨矿: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()", + "text": "$(li)晶质铀矿: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)朱砂: $(l:tfg_ores/nether_vein_index#nether_redstone)20%$(/l)$()$(li)橄榄石: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/nether_vein_index#nether_monazite)50%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/nether_vein_index#nether_pitchblende)62%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/nether_vein_index#nether_lubricant)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_olivine)15%$(/l)$()$(li)滑石: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)漂白土: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gypsum)15%$(/l)$()$(li)烧绿石: $(l:tfg_ores/nether_vein_index#nether_apatite)15%$(/l)$()$(li)煤炭: $(l:tfg_ores/nether_vein_index#nether_graphite)15%$(/l)$()$(li)独居石: $(l:tfg_ores/nether_vein_index#nether_monazite)25%$(/l)$()$(li)玄武岩矿砂: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)35%$(/l)$()$(li)白钨矿: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()$(li)皂石: $(l:tfg_ores/nether_vein_index#nether_lubricant)30%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)皂石: $(l:tfg_ores/nether_vein_index#nether_lubricant)30%$(/l)$()$(li)石棉: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)25%$(/l)$()$(li)石榴石矿砂: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)25%$(/l)$()$(li)石膏: $(l:tfg_ores/nether_vein_index#nether_gypsum)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)15%$(/l)$()$(li)石英岩: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)石墨: $(l:tfg_ores/nether_vein_index#nether_graphite)45%$(/l)$()$(li)硅岩: $(l:tfg_ores/nether_vein_index#nether_naquadah)100%$(/l)$()$(li)硅藻土: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnet_tin)15%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/nether_vein_index#nether_garnierite)23%$(/l)$()$(li)硝石: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l), $(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)$()", + "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" }, { "Type": "patchouli:text", - "text": "$(li)磷灰石: $(l:tfg_ores/nether_vein_index#nether_apatite)50%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)紫水晶: $(l:tfg_ores/nether_vein_index#nether_garnet)38%$(/l)$()$(li)红宝石: $(l:tfg_ores/nether_vein_index#nether_redstone)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)20%$(/l)$()$(li)红石: $(l:tfg_ores/nether_vein_index#nether_redstone)45%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/nether_vein_index#nether_garnet)9%$(/l)$()$(li)绿宝石: $(l:tfg_ores/nether_vein_index#nether_beryllium)47%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l)$()$(li)膨润土: $(l:tfg_ores/nether_vein_index#nether_olivine)35%$(/l)$()$(li)花岗岩矿砂: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l)$()$(li)菱镁矿: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/nether_vein_index#nether_mica)46%$(/l)$()$(li)蓝石: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l)$()", + "text": "$(li)磷酸三钙: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)紫水晶: $(l:tfg_ores/nether_vein_index#nether_garnet)38%$(/l)$()$(li)红宝石: $(l:tfg_ores/nether_vein_index#nether_redstone)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)20%$(/l)$()$(li)红石: $(l:tfg_ores/nether_vein_index#nether_redstone)45%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/nether_vein_index#nether_garnet)9%$(/l)$()$(li)绿宝石: $(l:tfg_ores/nether_vein_index#nether_beryllium)47%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l)$()$(li)膨润土: $(l:tfg_ores/nether_vein_index#nether_olivine)35%$(/l)$()$(li)花岗岩矿砂: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l)$()$(li)菱镁矿: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/nether_vein_index#nether_mica)46%$(/l)$()$(li)蓝石: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l)$()$(li)蓝金石: $(l:tfg_ores/nether_vein_index#nether_lapis)35%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)蓝金石: $(l:tfg_ores/nether_vein_index#nether_lapis)35%$(/l)$()$(li)蓝黄玉: $(l:tfg_ores/nether_vein_index#nether_topaz)35%$(/l)$()$(li)蛋白石: $(l:tfg_ores/nether_vein_index#nether_garnet)38%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/nether_vein_index#nether_hematite)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_goethite)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_gold)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_copper)5%$(/l)$()$(li)软锰矿: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/nether_vein_index#nether_garnierite)19%$(/l)$()$(li)辉钼矿: $(l:tfg_ores/nether_vein_index#nether_molybdenum)31%$(/l)$()$(li)辉铜矿: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)20%$(/l)$()$(li)重晶石: $(l:tfg_ores/nether_vein_index#nether_quartz)20%$(/l)$()$(li)针铁矿: $(l:tfg_ores/nether_vein_index#nether_goethite)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gold)5%$(/l)$()$(li)钒磁铁矿: $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l)$()$(li)钕矿: $(l:tfg_ores/nether_vein_index#nether_monazite)25%$(/l)$()$(li)钙铝榴石: $(l:tfg_ores/nether_vein_index#nether_manganese)37%$(/l)$()", + "text": "$(li)蓝黄玉: $(l:tfg_ores/nether_vein_index#nether_topaz)35%$(/l)$()$(li)蛋白石: $(l:tfg_ores/nether_vein_index#nether_garnet)38%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/nether_vein_index#nether_hematite)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_goethite)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_gold)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_copper)5%$(/l)$()$(li)软锰矿: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/nether_vein_index#nether_garnierite)19%$(/l)$()$(li)辉钼矿: $(l:tfg_ores/nether_vein_index#nether_molybdenum)31%$(/l)$()$(li)辉铜矿: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)20%$(/l)$()$(li)重晶石: $(l:tfg_ores/nether_vein_index#nether_quartz)20%$(/l)$()$(li)针铁矿: $(l:tfg_ores/nether_vein_index#nether_goethite)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gold)5%$(/l)$()$(li)钒磁铁矿: $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l)$()$(li)钕矿: $(l:tfg_ores/nether_vein_index#nether_monazite)25%$(/l)$()$(li)钙铝榴石: $(l:tfg_ores/nether_vein_index#nether_manganese)37%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)钨酸锂: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)钴矿: $(l:tfg_ores/nether_vein_index#nether_garnierite)14%$(/l)$()$(li)钻石: $(l:tfg_ores/nether_vein_index#nether_graphite)40%$(/l)$()$(li)钼钨钙矿: $(l:tfg_ores/nether_vein_index#nether_molybdenum)10%$(/l)$()$(li)钼铅矿: $(l:tfg_ores/nether_vein_index#nether_molybdenum)42%$(/l), $(l:tfg_ores/nether_vein_index#nether_pitchblende)12%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)钾石盐: $(l:tfg_ores/nether_vein_index#nether_sylvite)100%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/nether_vein_index#nether_sapphire)38%$(/l)$()$(li)铂矿: $(l:tfg_ores/nether_vein_index#nether_sheldonite)5%$(/l)$()$(li)铅矿: $(l:tfg_ores/nether_vein_index#nether_silver)35%$(/l)$()$(li)铍矿: $(l:tfg_ores/nether_vein_index#nether_beryllium)33%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)铯榴石: $(l:tfg_ores/nether_vein_index#nether_mica)20%$(/l)$()$(li)锂矿: $(l:tfg_ores/nether_vein_index#nether_scheelite)20%$(/l)$()", + "text": "$(li)钴矿: $(l:tfg_ores/nether_vein_index#nether_garnierite)14%$(/l)$()$(li)钻石: $(l:tfg_ores/nether_vein_index#nether_graphite)40%$(/l)$()$(li)钼钨钙矿: $(l:tfg_ores/nether_vein_index#nether_molybdenum)10%$(/l)$()$(li)钼铅矿: $(l:tfg_ores/nether_vein_index#nether_molybdenum)42%$(/l), $(l:tfg_ores/nether_vein_index#nether_pitchblende)12%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)钾石盐: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/nether_vein_index#nether_sapphire)38%$(/l)$()$(li)铂矿: $(l:tfg_ores/nether_vein_index#nether_sheldonite)5%$(/l)$()$(li)铅矿: $(l:tfg_ores/nether_vein_index#nether_silver)35%$(/l)$()$(li)铍矿: $(l:tfg_ores/nether_vein_index#nether_beryllium)33%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)铯榴石: $(l:tfg_ores/nether_vein_index#nether_mica)20%$(/l)$()$(li)锂矿: $(l:tfg_ores/nether_vein_index#nether_scheelite)20%$(/l)$()$(li)锡石矿: $(l:tfg_ores/nether_vein_index#nether_cassiterite)36%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "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" - }, - { - "Type": "patchouli:text", - "text": "$(li)黝铜矿: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()", + "text": "$(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)$()$(li)黝铜矿: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/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 be5948682..77704041c 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 @@ -19,17 +19,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_sheldonite)硫铂矿, 斑铜矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_apatite)磷灰石, 烧绿石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_garnet)紫水晶, 蛋白石, 石榴石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_redstone)红石, 朱砂, 红宝石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_beryllium)绿宝石, 铍矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_olivine)膨润土, 橄榄石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sapphire)蓝宝石, 铁铝榴石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_mica)蓝晶石, 云母, 铝土矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_hematite)赤铁矿, 褐铁矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_gold)金矿, 赤铁矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_goethite)针铁矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_molybdenum)钼铅矿, 辉钼矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sylvite)钾石盐$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_copper)铜矿, 黄铜矿$()$()", + "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_sheldonite)硫铂矿, 斑铜矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_apatite)磷灰石, 烧绿石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_garnet)紫水晶, 蛋白石, 石榴石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_redstone)红石, 朱砂, 红宝石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_beryllium)绿宝石, 铍矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_olivine)膨润土, 橄榄石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sapphire)蓝宝石, 铁铝榴石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_mica)蓝晶石, 云母, 铝土矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_hematite)赤铁矿, 褐铁矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_gold)金矿, 赤铁矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_goethite)针铁矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_molybdenum)钼铅矿, 辉钼矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_copper)铜矿, 黄铜矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_magnetite)铬铁矿$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_magnetite)铬铁矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_silver)银矿, 方铅矿, 铅矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_cassiterite)锡石矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_manganese)锰矿, 钽矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sphalerite)闪锌矿, 黄铁矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_lapis)青金石, 蓝金石, 方钠石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_topaz)黄玉, 辉铜矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_tetrahedrite)黝铜矿$()$()", + "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_silver)银矿, 方铅矿, 铅矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_cassiterite)锡石矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_manganese)锰矿, 钽矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sphalerite)闪锌矿, 黄铁矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_lapis)青金石, 蓝金石, 方钠石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_topaz)黄玉, 辉铜矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_tetrahedrite)黝铜矿$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/150$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/150 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "下界石英", "type": "patchouli:text", "anchor": "nether_quartz" @@ -96,7 +96,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/35$(br)$(thing)密度$(): 80%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 48 — 127$(br)$(thing)尺寸$(): 13$(br)$(thing)高度$(): 4$(br2)$(thing)岩石类型$(): 混合岩", + "text": "$(thing)稀有度$(): 1/35 区块$(br)$(thing)密度$(): 80%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 48 — 127$(br)$(thing)尺寸$(): 13$(br)$(thing)高度$(): 4$(br2)$(thing)岩石类型$(): 混合岩", "title": "无烟煤", "type": "patchouli:text", "anchor": "nether_anthracite" @@ -123,7 +123,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 55.00000000000001%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 24$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 55%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 24$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "晶质铀矿, 沥青铀矿", "type": "patchouli:text", "anchor": "nether_pitchblende" @@ -190,7 +190,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/245$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 24 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/245 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 24 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "氟碳镧铈矿, 独居石", "type": "patchouli:text", "anchor": "nether_monazite" @@ -257,7 +257,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/180$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 25$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/180 区块$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 25$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "白钨矿, 钨酸锂", "type": "patchouli:text", "anchor": "nether_scheelite" @@ -324,7 +324,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 41$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 41$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "皂石, 滑石, 天然碱", "type": "patchouli:text", "anchor": "nether_lubricant" @@ -431,7 +431,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/270$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 24 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 片岩, 片麻岩, 石灰华, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/270 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 24 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 片岩, 片麻岩, 石灰华, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "石榴石, 锡石矿砂", "type": "patchouli:text", "anchor": "nether_garnet_tin" @@ -523,7 +523,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/180$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 9$(br2)$(thing)岩石类型$(): 混合岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/180 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 9$(br2)$(thing)岩石类型$(): 混合岩, 石灰华, 辉石岩", "title": "石膏, 方解石", "type": "patchouli:text", "anchor": "nether_gypsum" @@ -615,7 +615,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/120$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 12$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/120 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 12$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "石墨, 钻石", "type": "patchouli:text", "anchor": "nether_graphite" @@ -682,7 +682,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/160$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 48 — 128$(br)$(thing)尺寸$(): 48$(br)$(thing)高度$(): 9$(br2)$(thing)岩石类型$(): 玄武岩, 花岗岩", + "text": "$(thing)稀有度$(): 1/160 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 48 — 128$(br)$(thing)尺寸$(): 48$(br)$(thing)高度$(): 9$(br2)$(thing)岩石类型$(): 玄武岩, 花岗岩", "title": "矿砂", "type": "patchouli:text", "anchor": "nether_basaltic_sands" @@ -774,7 +774,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/200$(br)$(thing)密度$(): 70%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 38$(br)$(thing)尺寸$(): 32$(br2)$(thing)岩石类型$(): 玄武岩, 辉石岩", + "text": "$(thing)稀有度$(): 1/200 区块$(br)$(thing)密度$(): 70%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 38$(br)$(thing)尺寸$(): 32$(br2)$(thing)岩石类型$(): 玄武岩, 辉石岩", "title": "硅岩", "type": "patchouli:text", "anchor": "nether_naquadah" @@ -801,7 +801,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/160$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 16 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/160 区块$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 16 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 辉石岩, 辉长岩, 闪长岩", "title": "硅镁镍矿, 辉钴矿", "type": "patchouli:text", "anchor": "nether_garnierite" @@ -908,7 +908,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 50$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 50$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "硝石, 蓝石", "type": "patchouli:text", "anchor": "nether_saltpeter" @@ -1000,7 +1000,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/165$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 50$(br2)$(thing)岩石类型$(): 片岩, 玄武岩, 辉石岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/165 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 50$(br2)$(thing)岩石类型$(): 片岩, 玄武岩, 辉石岩, 闪长岩", "title": "硫, 黄铁矿", "type": "patchouli:text", "anchor": "nether_sulfur" @@ -1067,7 +1067,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 35$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 35$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "硫铂矿, 斑铜矿", "type": "patchouli:text", "anchor": "nether_sheldonite" @@ -1159,7 +1159,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 48 — 128$(br)$(thing)尺寸$(): 39$(br2)$(thing)岩石类型$(): 片岩, 片麻岩", + "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 48 — 128$(br)$(thing)尺寸$(): 39$(br2)$(thing)岩石类型$(): 片岩, 片麻岩", "title": "磷灰石, 烧绿石", "type": "patchouli:text", "anchor": "nether_apatite" @@ -1226,7 +1226,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/230$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 45$(br)$(thing)高度$(): 8$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/230 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 45$(br)$(thing)高度$(): 8$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "紫水晶, 蛋白石, 石榴石", "type": "patchouli:text", "anchor": "nether_garnet" @@ -1318,7 +1318,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/160$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 花岗岩, 辉石岩", + "text": "$(thing)稀有度$(): 1/160 区块$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 花岗岩, 辉石岩", "title": "红石, 朱砂, 红宝石", "type": "patchouli:text", "anchor": "nether_redstone" @@ -1385,7 +1385,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 12$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 12$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "绿宝石, 铍矿", "type": "patchouli:text", "anchor": "nether_beryllium" @@ -1432,7 +1432,7 @@ }, { "Type": "patchouli:multiblock", - "name": "岩盐", + "name": "钾石盐", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -1447,7 +1447,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 18%$(br)$(thing)来源$(): 钾, 氯$(br)$(thing)化学式$(): KCl", + "text": "$(thing)百分比$(): 18%$(br)$(thing)来源$(): 钾, 氯, 肥料$(br)$(thing)化学式$(): KCl", "type": "patchouli:multiblock" }, { @@ -1467,7 +1467,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 0%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): ThO₂", + "text": "$(thing)百分比$(): 0%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): ThO₂$(br)$(thing)危害$(): $(c)$(t:需要全身防护)放射性 (任何接触)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1477,7 +1477,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/250$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 24 — 128$(br)$(thing)尺寸$(): 31$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 24 — 128$(br)$(thing)尺寸$(): 31$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "膨润土, 橄榄石", "type": "patchouli:text", "anchor": "nether_olivine" @@ -1569,7 +1569,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/180$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 33$(br)$(thing)高度$(): 8$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/180 区块$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 33$(br)$(thing)高度$(): 8$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "蓝宝石, 铁铝榴石", "type": "patchouli:text", "anchor": "nether_sapphire" @@ -1661,7 +1661,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 41$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 41$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "蓝晶石, 云母, 铝土矿", "type": "patchouli:text", "anchor": "nether_mica" @@ -1728,7 +1728,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 35$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 35$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "赤铁矿, 褐铁矿", "type": "patchouli:text", "anchor": "nether_hematite" @@ -1835,7 +1835,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/260$(br)$(thing)密度$(): 55.00000000000001%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 37$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/260 区块$(br)$(thing)密度$(): 55%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 37$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "金矿, 赤铁矿", "type": "patchouli:text", "anchor": "nether_gold" @@ -1927,7 +1927,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/240$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 37$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/240 区块$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 37$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "针铁矿", "type": "patchouli:text", "anchor": "nether_goethite" @@ -2019,7 +2019,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/245$(br)$(thing)密度$(): 55.00000000000001%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 31$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/245 区块$(br)$(thing)密度$(): 55%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 31$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "钼铅矿, 辉钼矿", "type": "patchouli:text", "anchor": "nether_molybdenum" @@ -2111,34 +2111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/75$(br)$(thing)密度$(): 60%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 64$(br)$(thing)尺寸$(): 17$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 辉石岩", - "title": "钾石盐", - "type": "patchouli:text", - "anchor": "nether_sylvite" - }, - { - "Type": "patchouli:multiblock", - "name": "钾石盐", - "multiblock": { - "mapping": { - "0": "beneath:ore/blackstone_sylvite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)百分比$(): 100%$(br)$(thing)用于$(): 肥料$(br)$(thing)化学式$(): KCl", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/170 区块$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "铜矿, 黄铜矿", "type": "patchouli:text", "anchor": "nether_copper" @@ -2230,7 +2203,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/205$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 39$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/205 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 39$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "铬铁矿", "type": "patchouli:text", "anchor": "nether_magnetite" @@ -2337,7 +2310,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/160$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 24 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 片麻岩, 花岗岩, 辉石岩", + "text": "$(thing)稀有度$(): 1/160 区块$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 24 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 片麻岩, 花岗岩, 辉石岩", "title": "银矿, 方铅矿, 铅矿", "type": "patchouli:text", "anchor": "nether_silver" @@ -2404,7 +2377,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/170 区块$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", "title": "锡石矿", "type": "patchouli:text", "anchor": "nether_cassiterite" @@ -2471,7 +2444,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/225$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/225 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "锰矿, 钽矿", "type": "patchouli:text", "anchor": "nether_manganese" @@ -2563,7 +2536,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/170 区块$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "闪锌矿, 黄铁矿", "type": "patchouli:text", "anchor": "nether_sphalerite" @@ -2630,7 +2603,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/220$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 40$(br2)$(thing)岩石类型$(): 混合岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 40$(br2)$(thing)岩石类型$(): 混合岩, 石灰华, 辉石岩", "title": "青金石, 蓝金石, 方钠石", "type": "patchouli:text", "anchor": "nether_lapis" @@ -2722,7 +2695,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/180$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 33$(br)$(thing)高度$(): 7$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/180 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 128$(br)$(thing)尺寸$(): 33$(br)$(thing)高度$(): 7$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "黄玉, 辉铜矿", "type": "patchouli:text", "anchor": "nether_topaz" @@ -2814,7 +2787,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/170$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 片岩, 片麻岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/170 区块$(br)$(thing)密度$(): 50%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 45$(br2)$(thing)岩石类型$(): 混合岩, 片岩, 片麻岩, 石灰华, 辉石岩", "title": "黝铜矿", "type": "patchouli:text", "anchor": "nether_tetrahedrite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json index 0f9710012..be35c9263 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)岩盐: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)岩盐: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)硫: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)锂云母: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)锂辉石: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)闪锌矿: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()$(li)黄铁矿: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()", + "text": "$(li)石鹽: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)硫: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)钾石盐: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)锂云母: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)锂辉石: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)闪锌矿: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()$(li)黄铁矿: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json index 267991f0e..c7df0df3f 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json @@ -19,14 +19,14 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/30$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 20$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", + "text": "$(thing)稀有度$(): 1/30 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 20$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", "title": "盐, 锂辉石", "type": "patchouli:text", "anchor": "venus_manual_salt" }, { "Type": "patchouli:multiblock", - "name": "岩盐", + "name": "石鹽", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -46,7 +46,7 @@ }, { "Type": "patchouli:multiblock", - "name": "岩盐", + "name": "钾石盐", "multiblock": { "mapping": { "0": "#forge:ores/rock_salt" @@ -61,7 +61,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 10%$(br)$(thing)来源$(): 钾, 氯$(br)$(thing)化学式$(): KCl", + "text": "$(thing)百分比$(): 10%$(br)$(thing)来源$(): 钾, 氯, 肥料$(br)$(thing)化学式$(): KCl", "type": "patchouli:multiblock" }, { @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/30$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", + "text": "$(thing)稀有度$(): 1/30 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", "title": "硫, 黄铁矿", "type": "patchouli:text", "anchor": "venus_manual_sulfur" diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 4ba846220..18d561b5f 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1519,7 +1519,6 @@ "ore_vein.tfg.nether_silver": "Silver, Galena, & Lead", "ore_vein.tfg.nether_sphalerite": "Sphalerite & Pyrite", "ore_vein.tfg.nether_sulfur": "Sulfur & Pyrite", - "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", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index e4693bfd5..b10805f81 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -1162,7 +1162,6 @@ "ore_vein.tfg.nether_silver": "Silver, Galena, & Lead", "ore_vein.tfg.nether_sphalerite": "Sphalerite & Pyrite", "ore_vein.tfg.nether_sulfur": "Sulfur & Pyrite", - "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", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index 3184c6911..5dbc566d9 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -925,7 +925,6 @@ "ore_vein.tfg.nether_silver": "Prata, Galena e Chumbo", "ore_vein.tfg.nether_sphalerite": "Esfalerita e Pirita", "ore_vein.tfg.nether_sulfur": "Enxofre e Pirita", - "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", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 0fc24da57..8be9e20f9 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1308,7 +1308,7 @@ "material.tfg.chloroplasts": "Хлоропласты", "material.tfg.nitrate_rich_water": "Нитратный раствор", "material.tfg.nitrate_rich_semiheavy_ammoniacal_water": "Полутяжёлый нитратно-аммиачный раствор", - "ore_vein.tfg.deep_sheldonite": "Шелдонит и Борнит", + "ore_vein.tfg.deep_sheldonite": "Куперит и Борнит", "ore_vein.tfg.deep_garnet_amethyst": "Аметист и гранат", "ore_vein.tfg.deep_garnet_opal": "Опал и гранат", "ore_vein.tfg.deep_gold": "Золото (Глубокое)", @@ -1333,7 +1333,7 @@ "ore_vein.tfg.normal_graphite": "Графит и Алмаз", "ore_vein.tfg.normal_gypsum": "Гипс и Кальцит", "ore_vein.tfg.normal_hematite": "Гематит и Лимонит", - "ore_vein.tfg.normal_lapis": "Лазурит, Лазурит 2 и Содалит", + "ore_vein.tfg.normal_lapis": "Лазурит, Лазуритит и Содалит", "ore_vein.tfg.normal_limonite": "Лимонит", "ore_vein.tfg.normal_lubricant": "Мыльный камень, Тальк и Трона", "ore_vein.tfg.normal_magnetite": "Магнетит и Ванадий", @@ -1351,6 +1351,9 @@ "ore_vein.tfg.normal_spodumene": "Сподумен и Лепидолит", "ore_vein.tfg.normal_sulfur": "Сера и Пирит", "ore_vein.tfg.normal_tarkianite": "Таркианит и Нефтеносный песок", + "ore_vein.tfg.normal_tarkianite.emi.0": "Только в сухом климате.", + "ore_vein.tfg.normal_tarkianite.emi.1": "Мин. температура: 7°C", + "ore_vein.tfg.normal_tarkianite.emi.2": "Макс. годовые осадки: 100мм", "ore_vein.tfg.normal_tetrahedrite": "Тетраэдрит (обычный)", "ore_vein.tfg.surface_bismuthinite": "Висмут (Поверхностный)", "ore_vein.tfg.surface_cassiterite": "Касситерит (Поверхностный)", @@ -1369,7 +1372,7 @@ "ore_vein.tfg.mars_gold": "Золото, Электротин & Боксит", "ore_vein.tfg.mars_graphite": "Графит и Алмаз", "ore_vein.tfg.mars_hematite": "Гематит и Лимонит", - "ore_vein.tfg.mars_lapis": "Лазурит, Лазурит 2 и Содалит", + "ore_vein.tfg.mars_lapis": "Лазурит, Лазуритит и Содалит", "ore_vein.tfg.mars_lubricant": "Трона, Тальк & Глаукониты", "ore_vein.tfg.mars_neodynium": "Бастнезит и Монацит", "ore_vein.tfg.mars_nickel": "Гарниерит и Кобальтит", @@ -1389,8 +1392,8 @@ "ore_vein.tfg.moon_bauxite": "Боксит и Ильменит", "ore_vein.tfg.moon_beryllium": "Изумруд и Бериллий", "ore_vein.tfg.moon_cassiterite": "Касситерит и Халькопирит", - "ore_vein.tfg.moon_sheldonite": "Шелдонит и Борнит", - "ore_vein.tfg.moon_desh": "Desh & Ilmenite", + "ore_vein.tfg.moon_sheldonite": "Куперит и Борнит", + "ore_vein.tfg.moon_desh": "Деш & Ильменит", "ore_vein.tfg.moon_garnet": "Аметист, Опал и гранат", "ore_vein.tfg.moon_garnierite": "Гарниерит и Кобальтит", "ore_vein.tfg.moon_gold": "Золото и Магнетит", @@ -1402,7 +1405,7 @@ "ore_vein.tfg.moon_mica": "Ционит, Слюда и Боксит", "ore_vein.tfg.moon_molybdenum": "Вульфенит & Молибденит", "ore_vein.tfg.moon_monazite": "Бастнезит и Монацит", - "ore_vein.tfg.moon_pyrolusite": "Pyrolusite and Cobalt", + "ore_vein.tfg.moon_pyrolusite": "Пирохлор и Кобальт", "ore_vein.tfg.moon_quartz": "Истинный кварц", "ore_vein.tfg.moon_redstone": "Редстоун, Киноварь и Рубин", "ore_vein.tfg.moon_saltpeter": "Селитра и Электротин", @@ -1417,7 +1420,7 @@ "ore_vein.tfg.nether_basaltic_sands": "Минеральные пески", "ore_vein.tfg.nether_beryllium": "Изумруд и Бериллий", "ore_vein.tfg.nether_cassiterite": "Касситерит", - "ore_vein.tfg.nether_sheldonite": "Шелдонит и Борнит", + "ore_vein.tfg.nether_sheldonite": "Куперит и Борнит", "ore_vein.tfg.nether_copper": "Медь и Халькопирит", "ore_vein.tfg.nether_garnet": "Аметист, Опал и гранат", "ore_vein.tfg.nether_garnet_tin": "Гранатовый и Касситеритовый песок", @@ -1427,7 +1430,7 @@ "ore_vein.tfg.nether_graphite": "Графит и Алмаз", "ore_vein.tfg.nether_gypsum": "Гипс и Кальцит", "ore_vein.tfg.nether_hematite": "Гематит и Лимонит", - "ore_vein.tfg.nether_lapis": "Лазурит, Лазурит 2 и Содалит", + "ore_vein.tfg.nether_lapis": "Лазурит, Лазуритит и Содалит", "ore_vein.tfg.nether_lubricant": "Мыльный камень, Тальк и Трона", "ore_vein.tfg.nether_magnetite": "Хромит", "ore_vein.tfg.nether_manganese": "Марганец и Тантал", @@ -1445,7 +1448,6 @@ "ore_vein.tfg.nether_silver": "Серебро, Галена и Свинец", "ore_vein.tfg.nether_sphalerite": "Сфалерит & Пирит", "ore_vein.tfg.nether_sulfur": "Сера и Пирит", - "ore_vein.tfg.nether_sylvite": "Сильвин", "ore_vein.tfg.nether_tetrahedrite": "Тетраэдрит", "ore_vein.tfg.nether_topaz": "Топаз и Халькозин", "ore_vein.tfg.venus_manual_salt": "Salts & Spodumene", @@ -1636,7 +1638,7 @@ "tfg.tooltip.machine.growth_chamber_2": "§7Содержит все необходимое для биоинженерных работ.§r", "tfg.tooltip.machine.evaporation_tower_1": "§7Не путать с ректификационной колонной.§r", "tfg.tooltip.machine.evaporation_tower_2": "§7Удаляет избыток растворителя для конденсации растворов.§r", - "tfg.tooltip.machine.electric_greenhouse_1": "§7§oВнедрение промышленная фермы в завод§r", + "tfg.tooltip.machine.electric_greenhouse_1": "§7§oВнедрение промышленной фермы в завод§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", @@ -1955,6 +1957,7 @@ "quests.groups.interstellar": "Межзвёздный век", "quests.groups.technological_help": "Технологическая помощь", "quests.groups.tips": "Советы", + "quests.groups.space_survival": "Выживание в космосе", "quests.computer": "ComputerCraft", "quests.computer.subtitle": "Очень мощный мод для скриптинга на Lua", "quests.create_logistics": "Логистика Create", @@ -2677,7 +2680,7 @@ "quests.high_voltage.space_suit.task": "Заполните и «пейте»", "quests.high_voltage.welcome_moon.title": "Я на &3Луне&r!", "quests.high_voltage.welcome_moon.subtitle": "Надеюсь ты взял всё, чтобы вернуться", - "quests.high_voltage.welcome_moon.desc": "&2Поздравляем&r, вы успешно приземлились на &7Луну&r! Здесь вы найдёте жилы &bИстинного Кварца&r и метеориты, которые позволят начать открывать &dAE2&r.\n\nНо это ещё не всё — некоторые жилы здесь имеют гораздо более высокую плотность, чем на Земле.\n\nНапример, на Луне легко найти жилы &6Ильменита&r, &7Боксита&r, &7Алюминия&r и &5Хромита&r. Создание небольшой базы здесь станет ключевым для дальнейшего прогресса.\n\nВашей главной задачей будет транспортировка ресурсов, ведь пока нет простых меж-измерительных инструментов вроде &5Эндер-Сундука&r или &dAE2 Квантового кольца&r.\n\nНадеемся, вы хорошо подготовились, иначе придётся крафтить вторую ракету и скафандр, чтобы забрать своё тело!", + "quests.high_voltage.welcome_moon.desc": "&2Поздравляем&r, вы успешно приземлились на &7Луну&r! Здесь вы найдёте жилы &bИстинного Кварца&r и метеориты, которые позволят начать открывать &dAE2&r.\n\nНо это ещё не всё — некоторые жилы здесь имеют гораздо более высокую плотность, чем на Земле.\n\nНапример, на Луне легко найти жилы &6Ильменита&r, &7Боксита&r, &7Алюминия&r и &5Хромита&r. Создание небольшой базы здесь станет ключевым для дальнейшего прогресса.\n\nВашей главной задачей будет транспортировка ресурсов, ведь пока нет простых инструментов работающих через измерения вроде &5Эндер-Сундука&r или &dAE2 Квантового кольца&r.\n\nНадеемся, вы хорошо подготовились, иначе придётся крафтить вторую ракету и скафандр, чтобы забрать своё тело!", "quests.high_voltage.gun.title": "Возьми с собой пушку", "quests.high_voltage.gun.subtitle": "Если и это не помогло... Шмаляй из второй", "quests.high_voltage.gun.task1": "Любое оружие", @@ -4490,7 +4493,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": "После того как вы сделали снимки, можно начать &aпроявку&r, замочив пленку в &bВоде.&r Затем потребуется создать &dФотолабораторию&r.\n\nФотолаборатория используется для проявки пленки на бумагу, и для ее работы необходим сильный источник света над блоком, а также четыре красителя: &3Бирюзовый&r, &5Пурпурный&r, &eЖелтый&r и &0Черный&r — так называемая модель CMYK.\n&0Черно-белая пленка&r требует только &0черный краситель&r, а &dцветная пленка&r — весь набор &3C&5M&eY&0K&r.\n\nЕсли вам по душе более необычная обработка, вы можете попробовать &cХроматический процесс...&r", + "quests.tfg_tips.developing_film.desc": "После того как вы сделали снимки, можно начать &aпроявку&r, замочив пленку в соответсвующем &bПроявителе.&r Затем потребуется создать &dФотолабораторию&r.\n\nФотолаборатория используется для проявки пленки на бумагу, и для ее работы необходим сильный источник света над блоком, а также четыре красителя: &3Бирюзовый&r, &5Пурпурный&r, &eЖелтый&r и &0Черный&r — так называемая модель CMYK.\n&0Черно-белая пленка&r требует только &0черный краситель&r, а &dцветная пленка&r — весь набор &3C&5M&eY&0K&r.\n\nЕсли вам по душе более необычная обработка, вы можете попробовать &cХроматический процесс...&r", "quests.tfg_tips.photo.title": "Ваше первое фото", "quests.tfg_tips.photo.subtitle": "Поздравляем!", "quests.tfg_tips.photo.desc": "С вашей &dфотографией&r можно сделать несколько вещей.\n\nВы можете ее &bСкопировать&r, используя чистый лист &aбумаги&r и нужные &aКрасители&r, использованные при проявке оригинала.\n\nТакже можно &bСкладывать&r фотографии в стопку, чтобы удобно хранить их в инвентаре — посмотрите в EMI, как это сделать.\n\nНаконец, вы можете искусственно &cСостарить&r снимок, применив к нему &6коричневый краситель&r — фотография будет выглядеть так, будто прошла сквозь годы.", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index 81dca5214..c9be8adbe 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -1446,7 +1446,6 @@ "ore_vein.tfg.nether_silver": "Срібло, Гален і Свинець", "ore_vein.tfg.nether_sphalerite": "Сфалерит і Пірит", "ore_vein.tfg.nether_sulfur": "Сірка та Пірит", - "ore_vein.tfg.nether_sylvite": "Сильвін", "ore_vein.tfg.nether_tetrahedrite": "Тетраедрит", "ore_vein.tfg.nether_topaz": "Топаз і Халькоцит", "ore_vein.tfg.venus_manual_salt": "Солі і Сподумен", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 3e228a053..5e372b721 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1606,7 +1606,6 @@ "ore_vein.tfg.nether_silver": "银矿, 方铅矿, 铅矿", "ore_vein.tfg.nether_sphalerite": "闪锌矿, 黄铁矿", "ore_vein.tfg.nether_sulfur": "硫, 黄铁矿", - "ore_vein.tfg.nether_sylvite": "钾石盐", "ore_vein.tfg.nether_tetrahedrite": "黝铜矿", "ore_vein.tfg.nether_topaz": "黄玉, 辉铜矿", "ore_vein.tfg.venus_manual_salt": "盐, 锂辉石", diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sylvite.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sylvite.json deleted file mode 100644 index 75d8cda4f..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_sylvite.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "__credits__": "This vein was automatically generated by OresToFieldGuide.", - "type": "tfc:cluster_vein", - "config": { - "size": 17, - "rarity": 75, - "density": 0.6, - "min_y": 0, - "max_y": 64, - "random_name": "nether_sylvite", - "blocks": [ - { - "replace": [ - "minecraft:blackstone", - "minecraft:magma_block" - ], - "with": [ - { - "block": "beneath:ore/blackstone_sylvite", - "weight": 100 - } - ] - } - ], - "indicator": { - "rarity": 15, - "depth": 20, - "underground_rarity": 40, - "underground_count": 200, - "blocks": [ - { - "block": "minecraft:air", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sylvite.json b/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sylvite.json deleted file mode 100644 index cc2cd4f63..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/nether/vein/nether_sylvite.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "__credits__": "This vein was automatically generated by OresToFieldGuide.", - "feature": "tfg:nether/vein/nether_sylvite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/server_scripts/beneath/recipes.js b/kubejs/server_scripts/beneath/recipes.js index 8cd9c484f..b7036a19b 100644 --- a/kubejs/server_scripts/beneath/recipes.js +++ b/kubejs/server_scripts/beneath/recipes.js @@ -36,6 +36,7 @@ const registerBeneathRecipes = (event) => { event.remove({ id: 'beneath:crafting/wood/warped_lumber_log' }) event.remove({ id: 'beneath:crafting/wood/warped_lumber_planks' }) event.remove({ id: 'beneath:crafting/wood/warped_slab_undo' }) + event.remove({ id: 'beneath:crafting/ancient_altar' }) event.shaped('beneath:unposter', [ 'ABA', diff --git a/kubejs/server_scripts/beneath/tags.js b/kubejs/server_scripts/beneath/tags.js index 04fc3e666..3f3e24afb 100644 --- a/kubejs/server_scripts/beneath/tags.js +++ b/kubejs/server_scripts/beneath/tags.js @@ -8,9 +8,7 @@ const registerBeneathItemTags = (event) => { }) event.add("forge:raw_materials/cursecoal", "beneath:cursecoal") - event.add("forge:raw_materials/sylvite", "tfc:ores/sylvite") event.add('forge:ores', 'beneath:ore/nether_cursecoal') - event.add('forge:ores', 'beneath:ore/blackstone_sylvite') event.add('forge:mushrooms', '#beneath:mushrooms') @@ -55,7 +53,6 @@ const registerBeneathBlockTags = (event) => { event.add('forge:ores', 'beneath:ore/nether_cursecoal') - event.add('forge:ores', 'beneath:ore/blackstone_sylvite') event.add('beneath:mushrooms', 'minecraft:red_mushroom') event.add('beneath:mushrooms', 'minecraft:brown_mushroom') event.add('beneath:poisonous_mushrooms', 'minecraft:red_mushroom') diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 752edea62..9748229f5 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -406,7 +406,6 @@ function registerTFCItemTags(event) { event.add("tfc:forge_invisible_whitelist", "greate:titanium_mechanical_pump"); event.add("forge:mushrooms", "tfc:plant/artists_conk"); - event.add("forge:raw_materials/sylvite", "tfc:ore/sylvite"); event.add("tfc:any_knapping", "#tfc:pit_kiln_straw"); event.add("tfg:burlap_fiber", "tfc:jute_fiber"); diff --git a/kubejs/server_scripts/tfg/tags.veins.js b/kubejs/server_scripts/tfg/tags.veins.js index c7a28e84f..bb51b324b 100644 --- a/kubejs/server_scripts/tfg/tags.veins.js +++ b/kubejs/server_scripts/tfg/tags.veins.js @@ -160,7 +160,6 @@ const registerTFGOreVeinFeatures = (event) => { event.add('tfg:nether_veins', 'tfg:nether/vein/nether_silver') event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sphalerite') event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sulfur') - event.add('tfg:nether_veins', 'tfg:nether/vein/nether_sylvite') event.add('tfg:nether_veins', 'tfg:nether/vein/nether_tetrahedrite') event.add('tfg:nether_veins', 'tfg:nether/vein/nether_topaz') From ac72729cadb94f3134a74845a681f558254d3c39 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 22 Jan 2026 00:30:06 +0000 Subject: [PATCH 184/474] tweak colors of oils and greate things --- CHANGELOG.md | 1 + .../textures/block/aluminium/cogwheel.png | Bin 0 -> 669 bytes .../block/aluminium/large_cogwheel.png | Bin 0 -> 841 bytes .../textures/block/aluminium/millstone.png | Bin 0 -> 1054 bytes .../greate/textures/block/aluminium/pump.png | Bin 2218 -> 488 bytes .../textures/block/andesite_alloy/axis.png | Bin 0 -> 237 bytes .../textures/block/andesite_alloy/axis_top.png | Bin 0 -> 171 bytes .../block/andesite_alloy/cogwheel_axis.png | Bin 0 -> 278 bytes .../andesite_alloy/mechanical_press_head.png | Bin 0 -> 400 bytes .../greate/textures/block/steel/axis.png | Bin 0 -> 240 bytes .../greate/textures/block/steel/axis_top.png | Bin 0 -> 200 bytes .../textures/block/steel/cogwheel_axis.png | Bin 0 -> 235 bytes .../block/steel/mechanical_press_head.png | Bin 0 -> 321 bytes .../greate/textures/block/steel/mixer_head.png | Bin 0 -> 404 bytes .../greate/textures/block/steel/pipes.png | Bin 0 -> 910 bytes .../textures/block/steel/pipes_connected.png | Bin 0 -> 717 bytes .../greate/textures/block/steel/pump.png | Bin 2187 -> 420 bytes .../textures/block/fluids/fluid.oil_heavy.png | Bin 0 -> 5057 bytes .../block/fluids/fluid.oil_heavy.png.mcmeta | 5 +++++ .../textures/block/fluids/fluid.oil_light.png | Bin 0 -> 5061 bytes .../block/fluids/fluid.oil_light.png.mcmeta | 5 +++++ .../textures/block/fluids/fluid.oil_medium.png | Bin 0 -> 5058 bytes .../block/fluids/fluid.oil_medium.png.mcmeta | 5 +++++ 23 files changed, 16 insertions(+) create mode 100644 kubejs/assets/greate/textures/block/aluminium/cogwheel.png create mode 100644 kubejs/assets/greate/textures/block/aluminium/large_cogwheel.png create mode 100644 kubejs/assets/greate/textures/block/aluminium/millstone.png create mode 100644 kubejs/assets/greate/textures/block/andesite_alloy/axis.png create mode 100644 kubejs/assets/greate/textures/block/andesite_alloy/axis_top.png create mode 100644 kubejs/assets/greate/textures/block/andesite_alloy/cogwheel_axis.png create mode 100644 kubejs/assets/greate/textures/block/andesite_alloy/mechanical_press_head.png create mode 100644 kubejs/assets/greate/textures/block/steel/axis.png create mode 100644 kubejs/assets/greate/textures/block/steel/axis_top.png create mode 100644 kubejs/assets/greate/textures/block/steel/cogwheel_axis.png create mode 100644 kubejs/assets/greate/textures/block/steel/mechanical_press_head.png create mode 100644 kubejs/assets/greate/textures/block/steel/mixer_head.png create mode 100644 kubejs/assets/greate/textures/block/steel/pipes.png create mode 100644 kubejs/assets/greate/textures/block/steel/pipes_connected.png create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.oil_heavy.png create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.oil_heavy.png.mcmeta create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.oil_light.png create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.oil_light.png.mcmeta create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.oil_medium.png create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.oil_medium.png.mcmeta diff --git a/CHANGELOG.md b/CHANGELOG.md index bfc2d3886..5ddd4fb17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ - Fixed balancing issues with the Aquaponics Loop. @Redeix - Mars log electric greenhouse recipes now output the same amount of logs as earth log recipes @Pyritie - Geodes (in newly generated chunks) are now completely solid so they won't cause cave-ins any more @Pyritie +- Recolored the different oils so you can actually tell them apart visually @Pyritie ### Bug fixes - Fixed a config bug causing waves to deposit shells etc with 100% chance. @Mqrius - Fixed a bug preventing the Pisciculture Fishery and Hydroponics Facility from overclocking. @Redeix diff --git a/kubejs/assets/greate/textures/block/aluminium/cogwheel.png b/kubejs/assets/greate/textures/block/aluminium/cogwheel.png new file mode 100644 index 0000000000000000000000000000000000000000..09df8ebe4a0d87236954f0c53e855b93e3df2500 GIT binary patch literal 669 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 S@j?a$1_n=8KbLh*2~7aPKKbGR literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/aluminium/pump.png b/kubejs/assets/greate/textures/block/aluminium/pump.png index 7e09ab8ca285bccd556cb3b0bc98f7950b32c11a..850d0eaba263a80215d7d634e81afdfa81aa6be6 100644 GIT binary patch delta 446 zcmZ1__=0(Y^5jj7qVS_oR23+xpSJa^8=@4Y^PZrUr60{ z{bFBGrct6L;>F(17yC!Jg|BtRgH=0LNN(bA%=B>)IMT3i`fJtlJFymTO89=oPL^2Q zvHxxL{pXeYzgPcQlC@ZtVaB}k-|8lYsC6&X;@I}RTW8<-&s8}h4eL+WdndlX|JBs! zK-^a$hT}#ashdJxxoH&XDBILm%uZ99$dF)Uckbj%$xSbRGGwfB%G~amS>9Y{61p(R z+`x8zd}}G^gU`$R4|gDZ02E$~#_rjbUe)UR!&Gk)?sl zaiapA#rL@zN(#zELte4XTJ<6MtM$h4jdG2*3x9q~WnDP4dh(wsbmWkT5?Az!){MnU(}a#HXm|)6TwPF}ylBGRmb)FjOB1vs zDoo;9d$(>A+t#E|(QxBdgyyY|HUD#3SQML>57+FO`F%zub7S+G%$--A6K=Aq%XMd6 zHr^a{*EsRkilyBX@^<~~Jd!b~>+$1hT3hdZS)udKTq>x09cSpQ4-;mVa~XTp+t3=gVEv1#i}Uh2@lW}Ajy;m!WA58HqI z^DLBn6m?AGIEST9$^HIc&G+x_db#gjQji6gssFt1*BDEqKWu$jIlq10_fnRF?mISk z|GUG;v#)z!huoI&kUdyNwJC44efXk;M!Q+`=Ht z$S`Y;1Oo%BQ)Wm+NrbPDRdRl=USdjqQmS4>ZUF-b*w|MTBqnF4mMA2prf25aD!t#m zUr8Y|#a1cY)Yrhbz&SM|)1#^=HMq(zB)KX(*)m1R-j0{croyTsw;(sQBvGLvHz%*y zs=`(YY_L^cu@y*IUr7P1q$Jx`DZ)2E!8yMuRl!8hM9)CiwIZ|3NXd?uOF_Y=C?(A* z$i)q6NKs0ftx`rwNr9EVetCJhUb(Seeo?xGK4 zGQ<$5F)pda$wiq3C7Jno3Ls+>lk!VTY?YLtW>@4E`1-<4&nt$8Lvntuennz|zM-Ch zer_(v)nM-wm$;Ud;8$H7Qdy9yACy|0Us{x$>ROhXSE3BFEF~GPx1h8r2keWKWc}2f z)ZEm(l45;BJwv!v?w-B@aMd7Rr)TCCfOS;l7Qj`NWTqj)2F3Lt8L;zVmRIB!z|BKZ z3G*jNVS%r&l}mndDabvZF1AV_ORZA!lQUDSz|6En12apLlq6mA6q8h4lVlSUU5g}x zBwbTeizIV1qa-sEb2FGZo_WP3iFwJXAag2m3-mHGQ>;=0Ti-Ujsc#w zN=AAHP;Nj@Vo6$lQLe30cxGNoet9ueJR~zWHMk@Z6m*8>2F4b~AYf)>WM*UpRS}k2 zRGgWg2QtjiK+o7jNdXk{R{lkqsd*)dpk!yOWC-?>m2**QVo82cNPd2ftrEx;3PyT{ z1`s*l)RM%M#F9jp#FA87B_jhPV=F@=D-LXn4X$fVyonynOgu390d(%d}zW{mS?1b0^7jISl7@<7ZE_lN(%Z&{;<&pWp-r0 z+2~^n28cSOLIP|CL^R074OFJ-gG($>=>_7!3&zyE6kDYtC3`#b5BK;P7#Qn4T^vI! z{FC?mdGfZNO`+oNPwB(c_WqVknYvZti|7$YrvwI}&xK_v0#BbZebx?Ie9(mB&!3OY zjhshr6#uk4e3V^Z(r#Zh=QM_mi4rPoiyX5Y93nh8dah0tJy;_);j99~rmr8qi976( zIpfZzU^ziiVQcp^y=0b7(Wfc@(w{#_NQm53#Ts$(+STn6_iXErefamY*g&3*MO9TY zA#2?nw%~*h&;Gg_oL!XsiX&}L{pY5K?>=u%Ff(G1JfY9RDID>wFWsly;%XBP0Bs6eNJCqP7C^C^Dnbow`fQ@m6jE}An1N)-x zbxK~JT3w}i8lE_0WiTC>$vMSk{{H`GKD>Ht-ljkQp5dPQzf3X(3y!dIHQRnpTl`~o zM#7Vqf8#G6;FuF#$mqt+EW3xRpix+S9YgHV0}KqW4=!WaVRG~?sQU7B^>bP0l+XkK DjzAox diff --git a/kubejs/assets/greate/textures/block/andesite_alloy/axis.png b/kubejs/assets/greate/textures/block/andesite_alloy/axis.png new file mode 100644 index 0000000000000000000000000000000000000000..1f4adadfb0b2c7b8e096249e7ae0e914dcaba6e3 GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p-to-U3d7QIU+9uz#}z~Ndy=M2Mbmo0+a8(Cj(Y!yi|-`LP<`%>}PP3HuWou4Xe z?3m~5iaU4yWkplg(d5X2+3yd}d-s5GhU6+yCDt=)=olnrBeedo6dV58GePz?}_gY)V}1&IiO|esRAp__^b!wuor$=m=C?DGL;Rt_PN#E+MJ+hm6C+n$h$v!pP227? zD>C4zWW8;D{Y~qpU2*gF%b)k3VQTk$=Je~^@8<8SWf2fOBejZIN$6w}gTs5-(6cI* z3e1F@Z9OX~bO@(XLuUA}ZFZs`1&r@hwTDVd2!MhcF eGq#!>k-x|3lj8H`VgUmK1B0ilpUXO@geCw*b!!g* literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/andesite_alloy/mechanical_press_head.png b/kubejs/assets/greate/textures/block/andesite_alloy/mechanical_press_head.png new file mode 100644 index 0000000000000000000000000000000000000000..63058a55f6de0862f1a8247af5580b796e30f81c GIT binary patch literal 400 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nkaPZ!4!i{7=9eEkj^2(;So{@7pDvaX6xh3|k|Cv$;0Uqg!pgOK~lRcrTbe0*cw z=|w6gnU_WLO+THfHlA0>^x*5$pGWkaIM!UxX7JK{GN)Z6|Gj*ZF@O7Q%kTaQEe_X9A1B}co}AOesIYX4&V_AnBMNSc9;mKY{k2|z!M~qheW{3L zdf##7tzk>1e5vi9BE*obJ3s#Z_US98EXuuoRPWe~-_{(83>$9dbQmVBmF1pOoUyj> zoGy39TEk-k$xEg*74s<`dBLvvw4&EiWe#s}_R%Qs%O)I(9-4t(lHA#APcu#Td~d6% zy5$;&Vu#@+le4~`G#D=b)?R9G%tvj;@8nI)nyOx!bBdqLIcX`JoU%2_uqIG*tImXC zH?PjEV%cw}^6&ZnUA^J6Dqs6y70Z%XrT^S@3^L)%pR)w-1BE?mdKI;Vst0Oh@) A9RL6T literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/steel/axis.png b/kubejs/assets/greate/textures/block/steel/axis.png new file mode 100644 index 0000000000000000000000000000000000000000..1dae29c51c712e1e8bd160b784b47b2ae892947a GIT binary patch literal 240 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p*jo-U3d7QJgH?d5ec19m6>ge8I#mLam!N8!YdUY|A3k$=9;%#L&IK4FG4MYoU z=5BxQ*n9TOU*Rn?TujQGvYR{h_`hI^a?}3CuW&45)-L}o+YCR~G(|1ZbEtmQ5yntq q_wMYxaNp3Kuk=IbG4*_Vz$%gDeA~q>!;^u5fx*+&&t;ucLK6Tka#kAv literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/steel/axis_top.png b/kubejs/assets/greate/textures/block/steel/axis_top.png new file mode 100644 index 0000000000000000000000000000000000000000..b740b4501d75c2b68586cad8618ea7bbe32dc016 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p*IPZ!4!i{7^rHwqpK;Bk&G3W+pa+o2Ufq{X+)78&qol`;+06@A$ AeEo}X5J-V?-?wRXq-b+?!AYi46$crL@R;QP97D;flt7!rCC&u)+ZJc^Z0~Uco>X0i z1!wKEj#g*MiTGS@nQ|$Q>9NY6aubFRU;b?BI3cy<&7RFOAAT;oTkj&+xGFE_OYMH4 zYdRKcEdmC8kJS#IQBVqP+Qzd&D?~Jn&Dgo;{WDAKlHG5Vn2CRx_2VZk4nRO}iu*4j0ceNhW=PFlI~@}Zzw z#_YGE(L%yfLPjBz&!{d;)IE{I!n*Xc_Ibn^_L zYS`O+m}$Y?yvsRef^+lM7n~DxIuO-eyw1eqvWTYY)vT!|zB}cSX{ihuYa?~URF2J9`^aOBbgx^B z0K<&)&qEeH&Oc(cRHSlV^4g;ko2%K6N$mM<@qC&xgNNq!uKH8a*_HK`VxD`dm*3XT z+Inld{fB$Tv(JV-a;SXwFH}dmEu0<`G;FVdQ I&MBb@07Y@F$p8QV literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/steel/pipes.png b/kubejs/assets/greate/textures/block/steel/pipes.png new file mode 100644 index 0000000000000000000000000000000000000000..3f0ccdb0516f8cb95ea2eaf4f1f0b443917a47c2 GIT binary patch literal 910 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|T>zr;B4qMC;bDy?Iw01pd8y!t^HgrPgn;>3%-5=bN?6YL=>C$XL*SMEC>C2Ni{- ze5^tm;Vw*_yDhwuf4+G&B~p6T45qWk_I-}kd;U24+P8D>dY(U@{nDoL<0hUahQ7xN z=ZiDe28yswQgNK5Vj(}TY=hdp`X3Q~%P-&B>%y{jYozX4(=FEuWRA{7|Mv0Y#)%uZT>D_d&)_4v;r1;pzspzFF!ZRe zdie5FW8C`i-7a1`w=pt2d&kV+=McxZAX@jJmgHakf(lEWyQxmO0cSPcrloG3+VLuN zho;(*}3p3Z{Nt+=`EeI%x$uY;WXy|ca}|Q%DvsDFOfNG z*3E~fpZoWQ?B2RP-bngf)wGTTPfbA<#ukAKQP-`M_ut-@yRWde_(aa_yf@2wPNpz1 za2&qyM@E_F@K1pauPbHyj~|nE4ZMpmu?ak@ zJx|`eIkWQF-`(4uhuX||Znvgvc1Z3D(X>bLoHV3>suyx^=lOKzko`ij5e8RAb<&Z z_)l+NwBkJX2P^;N?rCLd;lDpW%>MpXbE!*c=!1fD2dn$ny?$ic{#`CATVpAMLfyN@ zYgV`PJLX7Vh&uk>_c8-Ri@?V>A1fFbmP`>YQgpFVp7`gM1oLy5B~vagY&y|-Lc)0G z!ra>#2cozccHDnIvEjt*WsZ^4R=loywsEVNV#^Db{!Oipcvo#gxg)z$Pe6yTKon3GG=|`Vk-%Y6A`PA@(nB%FbAuRoI zVF$iexkhz)t?W$qy}TedIwISUhj~u%g(&|c9|gigTUV{R@ZI*@^Uu2&l3@Z;|w&8qi?eaSl8w}?k%r?1!GdLZs1;50)e z<(=$v7l!=KIj>p01ACZuEcZSU%K0I#Ds%G9W~Ld}t=hlWeTobIQp>;eiq7NU{>y)q zWc2RW+iVYc)+W0C>)N2xjq`NvCOwQk_K)55dTHULR)I$+mRK#XZD@AWVz`sHJyPCN zd5cy<+r>*JOAOCCrf-?@!S0Z|$=%Ic)?}=`pMLPt28G0(xAaa6Wy&w~Sa$BhBEeE=EW0m1zyEsvA(Cld&9sMm bf3SNz+H&rkQ~z-W1_lOCS3j3^P64xjAH%`7Z{=xFg z#?J8*(=E4vFPuCtr<^WjyquoAxnS~*O0#zpFROI?Fy*%Xf9Buk%?Cs41DGtHpZF{z z=;-p{Nu}TR+e>feFkN`Ec-3BAu@;8QFGUzaU0pU@3sVX`8r8jZnu@1I{kyLWH;e_# zw>vvMmtjzHnwFXpd93_Tz;hY(<>`zEQj9deN9!K?Siy53!^9~x@M_d%L$>uZ&!%1d zyIYK*Wv(B4!y=6t=bzihg@^VSPMy4bef9e#8|7~3ZF?!T|J6Om!|MNPzuy;H$DZ7C zQ{vIGg4K+fvy#@T`UbZhR(xBwTP+|jbdQ@$MODp;^$+T2#H)5GEz(fxOMYar?&_Xx z&lnUuh5odE+IC%VV(;1iP6b!xr<}8#c3O4SsjRJwG`K>xTE)lDYqs~zmseeCX`xeY oWwC$99nBlZ{+=ym_`rEdWWlWWEz3?ZFfcH9y85}Sb4q9e0K(<8FaQ7m literal 2187 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 a`{mq~k9s#8Kg__uz~JfX=d#Wzp$Py|)wHbu literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.oil_medium.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.oil_medium.png.mcmeta new file mode 100644 index 000000000..0df7234a7 --- /dev/null +++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.oil_medium.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation":{ + "frametime":2 + } +} \ No newline at end of file From 0e916944e540568d835d0e9251b1207d7ceafbe3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 22 Jan 2026 00:31:03 +0000 Subject: [PATCH 185/474] russian ore vein tooltips --- .../entries/tfg_ores/earth_vein_index.json | 98 +++++++++---------- .../entries/tfg_ores/mars_vein_index.json | 56 +++++------ .../entries/tfg_ores/moon_vein_index.json | 54 +++++----- .../entries/tfg_ores/nether_vein_index.json | 70 ++++++------- .../entries/tfg_ores/venus_vein_index.json | 4 +- 5 files changed, 141 insertions(+), 141 deletions(-) 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 628a98e3c..ada05a65d 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 @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/230 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 26$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аспидный сланец, Гнейс, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/230 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -64 — 26$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)Высота$(): 8$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аспидный сланец, Гнейс, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец, Филлит, Шиферный сланец", "title": "Аметист и гранат", "type": "patchouli:text", "anchor": "deep_garnet_amethyst" @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Размер$(): 34$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/170 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 20 — 120$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 34$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Апатит и Пирохлор", "type": "patchouli:text", "anchor": "normal_apatite" @@ -198,7 +198,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/205 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 50$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/205 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 50$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 35$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Бастнезит и Монацит", "type": "patchouli:text", "anchor": "normal_monazite" @@ -265,7 +265,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/180 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 30$(br)$(thing)Размер$(): 26$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/180 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -40 — 30$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 26$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Бентонит и Оливин", "type": "patchouli:text", "anchor": "normal_olivine" @@ -357,7 +357,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/170 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 75$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Висмут (Обычный)", "type": "patchouli:text", "anchor": "normal_bismuthinite" @@ -449,7 +449,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/140 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 60 — 210$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 50$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Висмут (Поверхностный)", "type": "patchouli:text", "anchor": "surface_bismuthinite" @@ -541,7 +541,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/245 chunks$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 10$(br)$(thing)Размер$(): 26$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/245 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 45%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -64 — 10$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 26$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Вульфенит & Молибденит", "type": "patchouli:text", "anchor": "deep_molybdenum" @@ -608,7 +608,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/160 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 70$(br2)$(thing)Виды камней$(): Габбро, Диорит$(br2)Не получается найти это? Габбро всегда генерируется под $(thing)Базальтом$(), а на дне океана легко обнаружить столбы, ведущие к нижнему слою!", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/160 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 60$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 70$(br2)$(thing)Виды камней$(): Габбро, Диорит$(br2)Не получается найти это? Габбро всегда генерируется под $(thing)Базальтом$(), а на дне океана легко обнаружить столбы, ведущие к нижнему слою!", "title": "Гарниерит и Кобальтит", "type": "patchouli:text", "anchor": "normal_garnierite" @@ -715,7 +715,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 75$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "normal_hematite" @@ -807,7 +807,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -64 — 30$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 30$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Гематит, Гётит, Рубин", "type": "patchouli:text", "anchor": "deep_hematite" @@ -914,7 +914,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/240 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 32$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Известняк, Мрамор", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/240 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -64 — 30$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 32$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Известняк, Мрамор", "title": "Гётит и Малахит", "type": "patchouli:text", "anchor": "deep_limonite" @@ -1006,7 +1006,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/180 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/180 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 60$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)Высота$(): 9$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Гипс и Кальцит", "type": "patchouli:text", "anchor": "normal_gypsum" @@ -1098,7 +1098,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/270 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 64$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/270 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -40 — 64$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", "title": "Гранатовый и Касситеритовый песок", "type": "patchouli:text", "anchor": "normal_garnet_tin" @@ -1190,7 +1190,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/80 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — -16$(br)$(thing)Размер$(): 16$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/80 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -64 — -16$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 16$(br)$(thing)Высота$(): 6$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", "title": "Графит и Алмаз", "type": "patchouli:text", "anchor": "normal_graphite" @@ -1257,7 +1257,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/260 chunks$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 32$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/260 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 45%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -64 — 30$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 32$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Золото (Глубокое)", "type": "patchouli:text", "anchor": "deep_gold" @@ -1349,7 +1349,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 12$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/170 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 60$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)Высота$(): 12$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Золото, Лимонит и Гематит", "type": "patchouli:text", "anchor": "normal_gold" @@ -1441,7 +1441,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): -32 — 50$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 50$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -1508,7 +1508,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/170 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 75$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Касситерит (Обычный)", "type": "patchouli:text", "anchor": "normal_cassiterite" @@ -1575,7 +1575,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/135 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/135 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 60 — 210$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 50$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Касситерит (Поверхностный)", "type": "patchouli:text", "anchor": "surface_cassiterite" @@ -1642,7 +1642,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/190 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 100$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/190 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 100$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Сланец", "title": "Кварцы", "type": "patchouli:text", "anchor": "normal_quartz" @@ -1709,7 +1709,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/320 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 0$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/320 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -64 — 0$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 30$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Куперит и Борнит", "type": "patchouli:text", "anchor": "deep_sheldonite" @@ -1776,7 +1776,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -60 — 10$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/170 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -60 — 10$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Лазурит, Лазуритит и Содалит", "type": "patchouli:text", "anchor": "normal_lapis" @@ -1868,7 +1868,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/190 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Известняк, Мрамор", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/190 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 75$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Известняк, Мрамор", "title": "Лимонит", "type": "patchouli:text", "anchor": "normal_limonite" @@ -1960,7 +1960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/200 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/200 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 75$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 30$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Магнетит и Ванадий", "type": "patchouli:text", "anchor": "normal_magnetite" @@ -2052,7 +2052,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/195 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Риолит, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/195 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 60$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 30$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Риолит, Сланец", "title": "Марганец и Тантал", "type": "patchouli:text", "anchor": "normal_manganese" @@ -2144,7 +2144,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 85$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/170 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 75$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 85$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Медь и Халькопирит", "type": "patchouli:text", "anchor": "normal_copper" @@ -2236,7 +2236,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/160 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 48$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Базальт, Гранит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/160 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 60$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 48$(br)$(thing)Высота$(): 9$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Базальт, Гранит", "title": "Минеральные пески", "type": "patchouli:text", "anchor": "normal_basaltic_sands" @@ -2328,7 +2328,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/190 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -40 — 56$(br)$(thing)Размер$(): 36$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/190 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -40 — 56$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 36$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Мыльный камень, Тальк и Трона", "type": "patchouli:text", "anchor": "normal_lubricant" @@ -2435,7 +2435,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/185 chunks$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/185 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 55$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Нефтеносный песок", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -2462,7 +2462,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 62$(br)$(thing)Размер$(): 26$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -64 — 62$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 26$(br)$(thing)Высота$(): 6$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Опал и гранат", "type": "patchouli:text", "anchor": "deep_garnet_opal" @@ -2554,7 +2554,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/160 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 100$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Гранит$(br2)Не получается найти это? На дне океана легко увидеть красное свечение!", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/160 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 100$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Гранит$(br2)Не получается найти это? На дне океана легко увидеть красное свечение!", "title": "Редстоун, Киноварь и Рубин", "type": "patchouli:text", "anchor": "normal_redstone" @@ -2621,7 +2621,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/180 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 32$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Диорит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/180 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -64 — 32$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Диорит, Риолит", "title": "Сапфир и Альмандин", "type": "patchouli:text", "anchor": "deep_sapphire" @@ -2713,7 +2713,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 60$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Селитра и Электротин", "type": "patchouli:text", "anchor": "normal_saltpeter" @@ -2805,7 +2805,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/165 chunks$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/165 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 210$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Сера и Пирит", "type": "patchouli:text", "anchor": "normal_sulfur" @@ -2872,7 +2872,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/160 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Гнейс, Гранит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/160 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 75$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Гнейс, Гранит", "title": "Серебро, Галена и Свинец", "type": "patchouli:text", "anchor": "normal_silver" @@ -2939,7 +2939,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/175 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 30 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 4$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Известняк, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/175 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 30 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)Высота$(): 4$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Известняк, Сланец", "title": "Соли и Бура", "type": "patchouli:text", "anchor": "normal_salt" @@ -3031,7 +3031,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/180 chunks$(br)$(thing)Плотность$(): 38%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 20 — 60$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/180 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 38%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 20 — 60$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 35$(br)$(thing)Высота$(): 6$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Сподумен и Лепидолит", "type": "patchouli:text", "anchor": "normal_spodumene" @@ -3123,7 +3123,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/170 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 75$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", "title": "Сфалерит & Пирит", "type": "patchouli:text", "anchor": "normal_sphalerite" @@ -3190,7 +3190,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/145 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/145 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 60 — 210$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 50$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Гнейс, Дацит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", "title": "Сфалерит и Сера", "type": "patchouli:text", "anchor": "surface_sphalerite" @@ -3257,7 +3257,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/140 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец$(br2)Появляется только в пустынях на $(thing)Юго-западе$(), при минимальной температуре - 7°C и годовыми осадками 100мм.", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 20 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец$(br2)Появляется только в пустынях на $(thing)Юго-западе$(), при минимальной температуре - 7°C и годовыми осадками 100мм.", "title": "Таркианит и Нефтеносный песок", "type": "patchouli:text", "anchor": "normal_tarkianite" @@ -3349,7 +3349,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/170 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 75$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Тетраэдрит (обычный)", "type": "patchouli:text", "anchor": "normal_tetrahedrite" @@ -3416,7 +3416,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/140 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 60 — 210$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 60 — 210$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 50$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Тетраэдрит (Поверхностный)", "type": "patchouli:text", "anchor": "surface_tetrahedrite" @@ -3483,7 +3483,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/260 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 26$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 7$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/260 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -64 — 26$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 28$(br)$(thing)Высота$(): 7$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Топаз и Халькозин", "type": "patchouli:text", "anchor": "deep_topaz" @@ -3575,7 +3575,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/215 chunks$(br)$(thing)Плотность$(): 55%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/215 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 55%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 210$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 60$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Уголь", "type": "patchouli:text", "anchor": "normal_coal" @@ -3602,7 +3602,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/240 chunks$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — -20$(br)$(thing)Размер$(): 19$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/240 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 45%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -64 — -20$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 19$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Уранинит и Уранит", "type": "patchouli:text", "anchor": "deep_pitchblende" @@ -3669,7 +3669,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/200 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 217$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/200 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 20 — 217$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 50$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Халькопирит и Реальгар", "type": "patchouli:text", "anchor": "surface_copper" @@ -3761,7 +3761,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/225 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/225 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -64 — 30$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец", "title": "Хромит и Магнетит", "type": "patchouli:text", "anchor": "deep_magnetite" @@ -3868,7 +3868,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/190 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 36$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/190 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 210$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 36$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Ционит, Слюда и Боксит", "type": "patchouli:text", "anchor": "normal_mica" @@ -3960,7 +3960,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/240 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 0$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/240 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -64 — 0$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит", "title": "Шеелит и Вольфрамат", "type": "patchouli:text", "anchor": "deep_scheelite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json index 01f337525..43526e706 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/280 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 65$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Габбро, Диорит, Доломит, Известняк, Красный гранит, Кремнистый сланец, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/280 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 65$(br)$(thing)Высота$(): 8$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Габбро, Диорит, Доломит, Известняк, Красный гранит, Кремнистый сланец, Сланец, Трахит", "title": "Альмандин & Сапфир", "type": "patchouli:text", "anchor": "mars_almandine" @@ -136,7 +136,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Дацит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Дацит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Апатит и Пирохлор", "type": "patchouli:text", "anchor": "mars_apatite" @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/215 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Диорит, Доломит, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/215 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Диорит, Доломит, Кремнистый сланец, Мел, Трахит", "title": "Бастнезит и Монацит", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/370 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Дацит, Диорит, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/370 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -20 — 0$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 60$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Дацит, Диорит, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Трахит", "title": "Борнит & Куперит", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/140 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Висмут", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Известняк, Красный гранит, Мел, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 55$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Известняк, Красный гранит, Мел, Сланец", "title": "Гарниерит и Кобальтит", "type": "patchouli:text", "anchor": "mars_nickel" @@ -596,7 +596,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Красный гранит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Красный гранит", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "mars_hematite" @@ -688,7 +688,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/140 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -780,7 +780,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Дацит, Диорит, Красный гранит, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Дацит, Диорит, Красный гранит, Трахит", "title": "Графит и Алмаз", "type": "patchouli:text", "anchor": "mars_graphite" @@ -872,7 +872,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/230 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/230 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Гранит, Диорит, Кремнистый сланец, Мел, Сланец", "title": "Золото, Электротин & Боксит", "type": "patchouli:text", "anchor": "mars_gold" @@ -964,7 +964,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/350 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): -20 — 50$(br)$(thing)Высота$(): 40$(br)$(thing)Радиус$(): 8$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/350 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -20 — 50$(br)$(thing)Высота$(): 40$(br)$(thing)Радиус$(): 8$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "mars_beryllium" @@ -1031,7 +1031,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/135 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/135 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Касситерит", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -1098,7 +1098,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Известняк, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Известняк, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Кварцит, Асбест & Барит", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1190,7 +1190,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/200 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/200 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 30$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Кремнистый сланец, Мел, Сланец", "title": "Лазурит, Лазуритит и Содалит", "type": "patchouli:text", "anchor": "mars_lapis" @@ -1282,7 +1282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/230 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 42$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Известняк, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/230 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 42$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Известняк, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Марганец и Тантал", "type": "patchouli:text", "anchor": "mars_tantalite" @@ -1374,7 +1374,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 50$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Сланец, Трахит", "title": "Медь и Халькопирит", "type": "patchouli:text", "anchor": "mars_copper" @@ -1466,7 +1466,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/370 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Известняк, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/370 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -20 — 0$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 60$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Известняк, Кремнистый сланец, Мел, Сланец", "title": "Редстоун & Хром", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1533,7 +1533,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/215 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Красный гранит, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/215 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 50$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Красный гранит, Кремнистый сланец, Мел, Сланец", "title": "Серебро, Галена и Свинец", "type": "patchouli:text", "anchor": "mars_galena" @@ -1625,7 +1625,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Диорит, Известняк, Красный гранит, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)Высота$(): 6$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Диорит, Известняк, Красный гранит, Кремнистый сланец, Мел, Трахит", "title": "Соли & Сподумен", "type": "patchouli:text", "anchor": "mars_salt" @@ -1717,7 +1717,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/150 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/150 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Сфалерит & Галена", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -1824,7 +1824,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/215 chunks$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/215 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Кремнистый сланец, Мел, Трахит", "title": "Сфалерит & Пирит", "type": "patchouli:text", "anchor": "mars_sulfur" @@ -1916,7 +1916,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Дацит, Диорит, Доломит, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Дацит, Диорит, Доломит, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Тетраэдрит (обычный)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2008,7 +2008,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/140 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 80 — 180$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Тетраэдрит (Поверхностный)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2100,7 +2100,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Сланец", "title": "Трона, Тальк & Глаукониты", "type": "patchouli:text", "anchor": "mars_lubricant" @@ -2232,7 +2232,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/215 chunks$(br)$(thing)Плотность$(): 60%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 55$(br)$(thing)Максимальная высота индикатора$(): 10$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Диорит, Доломит, Конгломерат, Красный гранит, Мел, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/215 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 60%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 55$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 10$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Диорит, Доломит, Конгломерат, Красный гранит, Мел, Трахит", "title": "Уголь & Гематит", "type": "patchouli:text", "anchor": "mars_coal" @@ -2284,7 +2284,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/370 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Габбро, Дацит, Диорит, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/370 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -20 — 0$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 60$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Габбро, Дацит, Диорит, Сланец, Трахит", "title": "Уранинит, Торианит, & Уранит", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -2351,7 +2351,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 55%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Дацит, Диорит, Доломит, Конгломерат, Красный гранит, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 55%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Дацит, Диорит, Доломит, Конгломерат, Красный гранит, Сланец, Трахит", "title": "Уранит, Торий & Гематит", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -2418,7 +2418,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/280 chunks$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Доломит, Известняк, Красный гранит, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/280 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 45%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 50$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Доломит, Известняк, Красный гранит, Кремнистый сланец, Мел, Сланец", "title": "Шеелит и Вольфрамат", "type": "patchouli:text", "anchor": "mars_tungsten" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json index c29d12597..c3b87b257 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/230 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 7$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/230 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 10 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 35$(br)$(thing)Высота$(): 7$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Риолит", "title": "Аметист, Опал и гранат", "type": "patchouli:text", "anchor": "moon_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 100$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Диорит, Норит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 100$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 35$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Диорит, Норит", "title": "Апатит и Пирохлор", "type": "patchouli:text", "anchor": "moon_apatite" @@ -213,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/310 chunks$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/310 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", "title": "Бастнезит и Монацит", "type": "patchouli:text", "anchor": "moon_monazite" @@ -305,7 +305,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/200 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 80$(br)$(thing)Размер$(): 40$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Диорит, Норит, Риолит, Фонолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/200 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 80$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Диорит, Норит, Риолит, Фонолит", "title": "Боксит и Ильменит", "type": "patchouli:text", "anchor": "moon_bauxite" @@ -372,7 +372,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/245 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 50$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Базальт, Габбро, Дацит, Норит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/245 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 50$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 35$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Базальт, Габбро, Дацит, Норит", "title": "Вульфенит & Молибденит", "type": "patchouli:text", "anchor": "moon_molybdenum" @@ -464,7 +464,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 5 — 85$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Габбро, Диорит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 5 — 85$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Габбро, Диорит, Риолит", "title": "Гарниерит и Кобальтит", "type": "patchouli:text", "anchor": "moon_garnierite" @@ -571,7 +571,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/180 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 100$(br)$(thing)Размер$(): 30$(br)$(thing)Высота$(): 9$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Норит, Фонолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/180 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 10 — 100$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 30$(br)$(thing)Высота$(): 9$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Норит, Фонолит", "title": "Гипс и Кальцит", "type": "patchouli:text", "anchor": "moon_gypsum" @@ -678,7 +678,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/260 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Базальт, Габбро, Фонолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/260 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 9$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Базальт, Габбро, Фонолит", "title": "Графит и Алмаз", "type": "patchouli:text", "anchor": "moon_graphite" @@ -745,7 +745,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/230 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 80$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/230 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 10 — 80$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 30$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит", "title": "Деш & Ильменит", "type": "patchouli:text", "anchor": "moon_desh" @@ -837,7 +837,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 10 — 80$(br)$(thing)Размер$(): 35$(br)$(thing)Высота$(): 10$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Базальт, Гранит, Диорит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/170 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 10 — 80$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 35$(br)$(thing)Высота$(): 10$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Базальт, Гранит, Диорит", "title": "Золото и Магнетит", "type": "patchouli:text", "anchor": "moon_gold" @@ -929,7 +929,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/260 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Высота$(): 70$(br)$(thing)Радиус$(): 8$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Фонолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/260 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 120$(br)$(thing)Высота$(): 70$(br)$(thing)Радиус$(): 8$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Фонолит", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "moon_beryllium" @@ -1036,7 +1036,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/230 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 100$(br)$(thing)Размер$(): 45$(br)$(thing)Максимальная высота индикатора$(): 80$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/230 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 10 — 100$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 80$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", "title": "Истинный кварц", "type": "patchouli:text", "anchor": "moon_quartz" @@ -1128,7 +1128,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 10 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит, Норит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 10 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 35$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит, Норит", "title": "Касситерит и Халькопирит", "type": "patchouli:text", "anchor": "moon_cassiterite" @@ -1220,7 +1220,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/260 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Фонолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/260 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 30$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Андезит, Базальт, Фонолит", "title": "Куперит и Борнит", "type": "patchouli:text", "anchor": "moon_sheldonite" @@ -1312,7 +1312,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/215 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 5 — 80$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Базальт, Габбро, Дацит, Норит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/215 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 5 — 80$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 30$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Базальт, Габбро, Дацит, Норит", "title": "Марганец и Тантал", "type": "patchouli:text", "anchor": "moon_manganese" @@ -1404,7 +1404,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/190 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 66$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Габбро, Диорит, Норит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/190 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 66$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 30$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Анортозит, Базальт, Габбро, Диорит, Норит", "title": "Мыльный камень, Тальк и Трона", "type": "patchouli:text", "anchor": "moon_lubricant" @@ -1511,7 +1511,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 80$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Норит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 20 — 80$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 35$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Норит", "title": "Пирохлор и Кобальт", "type": "patchouli:text", "anchor": "moon_pyrolusite" @@ -1603,7 +1603,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 100$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Фонолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 20 — 100$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 35$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Фонолит", "title": "Редстоун, Киноварь и Рубин", "type": "patchouli:text", "anchor": "moon_redstone" @@ -1695,7 +1695,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/280 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 100$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Базальт, Норит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/280 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 100$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Базальт, Норит", "title": "Сапфир и Альмандин", "type": "patchouli:text", "anchor": "moon_sapphire" @@ -1802,7 +1802,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 90$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Норит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 90$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 30$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Андезит, Дацит, Норит, Риолит", "title": "Селитра и Электротин", "type": "patchouli:text", "anchor": "moon_saltpeter" @@ -1894,7 +1894,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 75$(br)$(thing)Размер$(): 30$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Дацит, Диорит, Норит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 20 — 75$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 30$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Дацит, Диорит, Норит, Риолит", "title": "Серебро, Галена и Свинец", "type": "patchouli:text", "anchor": "moon_silver" @@ -1986,7 +1986,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/205 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 2 — 75$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит, Фонолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/205 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 2 — 75$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 35$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Дацит, Фонолит", "title": "Сфалерит & Пирит", "type": "patchouli:text", "anchor": "moon_sphalerite" @@ -2053,7 +2053,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/190 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 50 — 128$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 60$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/190 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 50 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 35$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Андезит, Дацит, Риолит, Фонолит", "title": "Тетраэдрит и Халькозин", "type": "patchouli:text", "anchor": "moon_tetrahedrite" @@ -2145,7 +2145,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Размер$(): 45$(br)$(thing)Высота$(): 16$(br)$(thing)Максимальная высота индикатора$(): 20$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 120$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)Высота$(): 16$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Анортозит, Базальт, Габбро, Дацит, Диорит, Норит, Риолит, Фонолит", "title": "Топаз и Халькозин", "type": "patchouli:text", "anchor": "moon_topaz" @@ -2237,7 +2237,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/280 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 90$(br)$(thing)Размер$(): 50$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/280 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 90$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 50$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", "title": "Хромит и Магнетит", "type": "patchouli:text", "anchor": "moon_magnetite" @@ -2344,7 +2344,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 25%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 120$(br)$(thing)Размер$(): 35$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 120$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 35$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Анортозит, Габбро, Диорит, Норит", "title": "Ционит, Слюда и Боксит", "type": "patchouli:text", "anchor": "moon_mica" @@ -2451,7 +2451,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/200 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 50$(br2)$(thing)Виды камней$(): Габбро, Риолит, Фонолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/200 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Габбро, Риолит, Фонолит", "title": "Шеелит и Вольфрамат", "type": "patchouli:text", "anchor": "moon_scheelite" 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 96747a15c..9f46b9208 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 @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/230 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 45$(br)$(thing)Высота$(): 8$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/230 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)Высота$(): 8$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Аметист, Опал и гранат", "type": "patchouli:text", "anchor": "nether_garnet" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/35 chunks$(br)$(thing)Плотность$(): 80%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 48 — 127$(br)$(thing)Размер$(): 13$(br)$(thing)Высота$(): 4$(br2)$(thing)Виды камней$(): Мигматит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/35 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 80%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 48 — 127$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 13$(br)$(thing)Высота$(): 4$(br2)$(thing)Виды камней$(): Мигматит", "title": "Антрацит", "type": "patchouli:text", "anchor": "nether_anthracite" @@ -148,7 +148,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 48 — 128$(br)$(thing)Размер$(): 39$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 48 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 39$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс", "title": "Апатит и Пирохлор", "type": "patchouli:text", "anchor": "nether_apatite" @@ -215,7 +215,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/245 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/245 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 24 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Бастнезит и Монацит", "type": "patchouli:text", "anchor": "nether_monazite" @@ -282,7 +282,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 31$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 24 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 31$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Бентонит и Оливин", "type": "patchouli:text", "anchor": "nether_olivine" @@ -374,7 +374,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/245 chunks$(br)$(thing)Плотность$(): 55%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 31$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/245 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 55%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 31$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Вульфенит & Молибденит", "type": "patchouli:text", "anchor": "nether_molybdenum" @@ -466,7 +466,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/160 chunks$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 16 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Габбро, Диорит, Пироксенит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/160 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 50%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 16 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br2)$(thing)Виды камней$(): Габбро, Диорит, Пироксенит", "title": "Гарниерит и Кобальтит", "type": "patchouli:text", "anchor": "nether_garnierite" @@ -573,7 +573,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 35$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 45%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 35$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "nether_hematite" @@ -680,7 +680,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/240 chunks$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 37$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/240 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 45%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 37$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Гётит", "type": "patchouli:text", "anchor": "nether_goethite" @@ -772,7 +772,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/180 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 40$(br)$(thing)Высота$(): 9$(br2)$(thing)Виды камней$(): Мигматит, Пироксенит, Травертин", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/180 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 32 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)Высота$(): 9$(br2)$(thing)Виды камней$(): Мигматит, Пироксенит, Травертин", "title": "Гипс и Кальцит", "type": "patchouli:text", "anchor": "nether_gypsum" @@ -864,7 +864,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/270 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Мигматит, Пироксенит, Травертин", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/270 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 24 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Мигматит, Пироксенит, Травертин", "title": "Гранатовый и Касситеритовый песок", "type": "patchouli:text", "anchor": "nether_garnet_tin" @@ -956,7 +956,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/120 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 12$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/120 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 128$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 12$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Графит и Алмаз", "type": "patchouli:text", "anchor": "nether_graphite" @@ -1023,7 +1023,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/260 chunks$(br)$(thing)Плотность$(): 55%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 37$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/260 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 55%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 37$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Золото и Гематит", "type": "patchouli:text", "anchor": "nether_gold" @@ -1115,7 +1115,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 12$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 45%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 32 — 128$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 12$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "nether_beryllium" @@ -1207,7 +1207,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/170 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 50%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 32 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Касситерит", "type": "patchouli:text", "anchor": "nether_cassiterite" @@ -1274,7 +1274,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 35$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 35$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Куперит и Борнит", "type": "patchouli:text", "anchor": "nether_sheldonite" @@ -1366,7 +1366,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 40$(br2)$(thing)Виды камней$(): Мигматит, Пироксенит, Травертин", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 32 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br2)$(thing)Виды камней$(): Мигматит, Пироксенит, Травертин", "title": "Лазурит, Лазуритит и Содалит", "type": "patchouli:text", "anchor": "nether_lapis" @@ -1458,7 +1458,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/225 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/225 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 32 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Марганец и Тантал", "type": "patchouli:text", "anchor": "nether_manganese" @@ -1550,7 +1550,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/170 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 50%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 32 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Медь и Халькопирит", "type": "patchouli:text", "anchor": "nether_copper" @@ -1642,7 +1642,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/160 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 48 — 128$(br)$(thing)Размер$(): 48$(br)$(thing)Высота$(): 9$(br2)$(thing)Виды камней$(): Базальт, Гранит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/160 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 48 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 48$(br)$(thing)Высота$(): 9$(br2)$(thing)Виды камней$(): Базальт, Гранит", "title": "Минеральные пески", "type": "patchouli:text", "anchor": "nether_basaltic_sands" @@ -1734,7 +1734,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 41$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 32 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 41$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Мыльный камень, Тальк и Трона", "type": "patchouli:text", "anchor": "nether_lubricant" @@ -1841,7 +1841,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/200 chunks$(br)$(thing)Плотность$(): 70%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 38$(br)$(thing)Размер$(): 32$(br2)$(thing)Виды камней$(): Базальт, Пироксенит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/200 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 70%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 38$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 32$(br2)$(thing)Виды камней$(): Базальт, Пироксенит", "title": "Наквада", "type": "patchouli:text", "anchor": "nether_naquadah" @@ -1868,7 +1868,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/150 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Габбро, Гранит, Диорит, Мигматит, Пироксенит, Травертин", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/150 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br2)$(thing)Виды камней$(): Базальт, Габбро, Гранит, Диорит, Мигматит, Пироксенит, Травертин", "title": "Незер-кварц", "type": "patchouli:text", "anchor": "nether_quartz" @@ -1935,7 +1935,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/160 chunks$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Гранит, Пироксенит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/160 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 50%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br2)$(thing)Виды камней$(): Гранит, Пироксенит", "title": "Редстоун, Киноварь и Рубин", "type": "patchouli:text", "anchor": "nether_redstone" @@ -2002,7 +2002,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/180 chunks$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 33$(br)$(thing)Высота$(): 8$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/180 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 45%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 33$(br)$(thing)Высота$(): 8$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Сапфир и Альмандин", "type": "patchouli:text", "anchor": "nether_sapphire" @@ -2094,7 +2094,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/210 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 50$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 32 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 50$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Селитра и Электротин", "type": "patchouli:text", "anchor": "nether_saltpeter" @@ -2186,7 +2186,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/165 chunks$(br)$(thing)Плотность$(): 30%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 50$(br2)$(thing)Виды камней$(): Аспидный сланец, Базальт, Диорит, Пироксенит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/165 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 50$(br2)$(thing)Виды камней$(): Аспидный сланец, Базальт, Диорит, Пироксенит", "title": "Сера и Пирит", "type": "patchouli:text", "anchor": "nether_sulfur" @@ -2253,7 +2253,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/160 chunks$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 24 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Гнейс, Гранит, Пироксенит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/160 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 50%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 24 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br2)$(thing)Виды камней$(): Гнейс, Гранит, Пироксенит", "title": "Серебро, Галена и Свинец", "type": "patchouli:text", "anchor": "nether_silver" @@ -2320,7 +2320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/170 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 50%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 32 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Сфалерит & Пирит", "type": "patchouli:text", "anchor": "nether_sphalerite" @@ -2387,7 +2387,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/170 chunks$(br)$(thing)Плотность$(): 50%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Мигматит, Пироксенит, Травертин", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/170 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 50%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 32 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Мигматит, Пироксенит, Травертин", "title": "Тетраэдрит", "type": "patchouli:text", "anchor": "nether_tetrahedrite" @@ -2454,7 +2454,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/180 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 33$(br)$(thing)Высота$(): 7$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/180 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 33$(br)$(thing)Высота$(): 7$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Топаз и Халькозин", "type": "patchouli:text", "anchor": "nether_topaz" @@ -2546,7 +2546,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/250 chunks$(br)$(thing)Плотность$(): 55%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 24$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 55%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 24$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Уранинит и Уранит", "type": "patchouli:text", "anchor": "nether_pitchblende" @@ -2613,7 +2613,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/205 chunks$(br)$(thing)Плотность$(): 40%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 39$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/205 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 39$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Хромит", "type": "patchouli:text", "anchor": "nether_magnetite" @@ -2720,7 +2720,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/220 chunks$(br)$(thing)Плотность$(): 35%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 32 — 128$(br)$(thing)Размер$(): 41$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 32 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 41$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Ционит, Слюда и Боксит", "type": "patchouli:text", "anchor": "nether_mica" @@ -2787,7 +2787,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/180 chunks$(br)$(thing)Плотность$(): 45%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 128$(br)$(thing)Размер$(): 25$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/180 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 45%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 128$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 25$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Пироксенит", "title": "Шеелит и Вольфрамат", "type": "patchouli:text", "anchor": "nether_scheelite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json index e6ece807d..ad813fd4e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/30 chunks$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 20$(br)$(thing)Высота$(): 6$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/30 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 40 — 65$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)Высота$(): 6$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит$(br2)Only appears in the $(thing)Salt Flats$() biome.", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 1/30 chunks$(br)$(thing)Плотность$(): 20%$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 20$(br)$(thing)Максимальная высота индикатора$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/30 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 40 — 65$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит", "title": "Сера и Пирит", "type": "patchouli:text", "anchor": "venus_manual_sulfur" From df03ccbeb71709e5f438f33c6fc2c6c374bc7b6e Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Thu, 22 Jan 2026 09:54:23 -0800 Subject: [PATCH 186/474] removed netherrack dust centrifuging that doesn't actually exist (#2804) Signed-off-by: thederpysockdude123 --- kubejs/server_scripts/gregtech/recipes.removes.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index a566cfdec..315b10d7e 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -831,6 +831,10 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:compressor/compress_plate_dust_wood' }) + // Remove Netherrack dust centrifuging + + event.remove({ id: 'gtceu:centrifuge/netherrack_separation' }) + // Remove Default Pressure Plate Recipes const MC_PRESSURE_PLATES = [ 'bamboo', From 07058f77e758cbc597e2326987007996bfcc0239 Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Thu, 22 Jan 2026 11:02:59 -0800 Subject: [PATCH 187/474] added Ad Astra airlock to valid cleanroom doors (#2808) Signed-off-by: thederpysockdude123 --- kubejs/server_scripts/gregtech/tags.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index ad32deab1..6953a1202 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -91,6 +91,7 @@ function registerGTCEUBlockTags(event) { event.add("gtceu:cleanroom_doors", "ad_astra:desh_sliding_door"); event.add("gtceu:cleanroom_doors", "ad_astra:ostrum_sliding_door"); event.add("gtceu:cleanroom_doors", "ad_astra:calorite_sliding_door"); + event.add("gtceu:cleanroom_doors", "ad_astra:airlock"); // Groups up concrete blocks into tags. Object.entries(global.GTCEU_CONCRETE_BLOCKS).forEach(([type, ids]) => { @@ -112,4 +113,4 @@ function registerGTCEUFluidTags(event) { event.add("c:hidden_from_recipe_viewers", "gtceu:blaze"); event.add("c:hidden_from_recipe_viewers", "gtceu:thorium"); -} \ No newline at end of file +} From acf86208c6c4171d8e335dd52c951e93a223fad5 Mon Sep 17 00:00:00 2001 From: TreyR9 <106098556+TreyR9@users.noreply.github.com> Date: Thu, 22 Jan 2026 13:51:52 -0600 Subject: [PATCH 188/474] Add files via upload (#2812) Adjusted saturation outline to be golden rather than red, for increased visibility and similarity to AppleSkin. Also adjusted some of the nutrition icons for slightly higher contrast with said outlines. Signed-off-by: TreyR9 <106098556+TreyR9@users.noreply.github.com> --- .../ihearttfc/textures/gui/icons/overlay.png | Bin 0 -> 9957 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 kubejs/assets/ihearttfc/textures/gui/icons/overlay.png diff --git a/kubejs/assets/ihearttfc/textures/gui/icons/overlay.png b/kubejs/assets/ihearttfc/textures/gui/icons/overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..8bfc78f1878c81ee7088fef4aa39ab2defca491e GIT binary patch literal 9957 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 JF6*2UngIW8JZ=C0 literal 0 HcmV?d00001 From feda51f459b5e959a0f2fa86441f4f851521f70f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 22 Jan 2026 20:32:06 +0000 Subject: [PATCH 189/474] some glass alloy smelter unification --- kubejs/server_scripts/ae2/recipes.js | 6 +++--- kubejs/server_scripts/gregtech/recipes.removes.js | 3 ++- kubejs/server_scripts/minecraft/recipes.js | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/kubejs/server_scripts/ae2/recipes.js b/kubejs/server_scripts/ae2/recipes.js index 8e464897b..1520747f9 100644 --- a/kubejs/server_scripts/ae2/recipes.js +++ b/kubejs/server_scripts/ae2/recipes.js @@ -1874,15 +1874,15 @@ const registerAE2Recipes = (event) => { // Quartz Glass event.recipes.gtceu.alloy_smelter('ae2:quartz_glass') - .itemInputs('5x #forge:dusts/certus_quartz', '4x #forge:glass') - .itemOutputs('4x ae2:quartz_glass') + .itemInputs('#forge:glass', '#forge:dusts/certus_quartz') + .itemOutputs('ae2:quartz_glass') .duration(20) .EUt(120) .addMaterialInfo(true) // Vibrant Quartz Glass event.recipes.gtceu.alloy_smelter('ae2:quartz_vibrant_glass') - .itemInputs('ae2:quartz_glass', '8x #forge:dusts/glowstone') + .itemInputs('ae2:quartz_glass', '#forge:dusts/glowstone') .itemOutputs('ae2:quartz_vibrant_glass') .duration(20) .EUt(480) diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index a566cfdec..57d31852a 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -474,9 +474,10 @@ function removeGTCEURecipes(event) { //#endregion - //#region Выход: Слиток камня + //#region Выход: Слиток камня event.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_stone_to_ingot' }) + event.remove({ id: 'gtceu:alloy_smelter/tinted_glass' }) //#endregion diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 738582ec0..e2ac32d73 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -186,7 +186,7 @@ const registerMinecraftRecipes = (event) => { //#region Выход: Тонированное стекло, tinted glass event.recipes.gtceu.alloy_smelter('tfg:minecraft/tinted_glass') - .itemInputs('minecraft:glass', 'tfc:powder/amethyst') + .itemInputs('#forge:glass', '4x tfc:powder/amethyst') .itemOutputs('minecraft:tinted_glass') .duration(260) .EUt(16) From 960d0cc2df7db8a0dff86500dfd232e902464aa7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 22 Jan 2026 20:37:25 +0000 Subject: [PATCH 190/474] remove tuff dust --- kubejs/startup_scripts/gtceu/constants.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index d6d660eae..51e69cb5d 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -252,7 +252,10 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:tiny_deepslate_dust", "gtceu:andesite_dust", "gtceu:small_andesite_dust", - "gtceu:tiny_andesite_dust" + "gtceu:tiny_andesite_dust", + "gtceu:tuff_dust", + "gtceu:small_tuff_dust", + "gtceu:tiny_tuff_dust" ]); //#endregion From 65daa7cddb51e53056d0c231d758f4a53cd507c3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 22 Jan 2026 20:57:47 +0000 Subject: [PATCH 191/474] remove any other stone dust recipes --- kubejs/server_scripts/gregtech/recipes.removes.js | 10 ++++++++++ kubejs/startup_scripts/gtceu/constants.js | 5 ++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index eabda9272..6c780ab13 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -835,6 +835,16 @@ function removeGTCEURecipes(event) { // Remove Netherrack dust centrifuging event.remove({ id: 'gtceu:centrifuge/netherrack_separation' }) + event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__granite' }) + event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__diorite' }) + event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__andesite' }) + event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__deepslate' }) + event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__blackstone' }) + event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__endstone' }) + + removeMaceratorRecipe(event, 'macerate_end_stone'); + removeMaceratorRecipe(event, 'macerate_end_stone_bricks'); + removeMaceratorRecipe(event, 'macerate_end_stone_brick_wall'); // Remove Default Pressure Plate Recipes const MC_PRESSURE_PLATES = [ diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 51e69cb5d..40e7aa930 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -255,7 +255,10 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:tiny_andesite_dust", "gtceu:tuff_dust", "gtceu:small_tuff_dust", - "gtceu:tiny_tuff_dust" + "gtceu:tiny_tuff_dust", + "gtceu:endstone_dust", + "gtceu:small_endstone_dust", + "gtceu:tiny_endstone_dust" ]); //#endregion From cc8dc5d12a142d33546fe9af0e0679768ccf5d0a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 22 Jan 2026 21:04:17 +0000 Subject: [PATCH 192/474] #2803 Related Work Items: #20 --- kubejs/server_scripts/ae2/recipes.js | 4 ++-- kubejs/server_scripts/asticor_carts/recipes.js | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/ae2/recipes.js b/kubejs/server_scripts/ae2/recipes.js index 1520747f9..6ded94a6a 100644 --- a/kubejs/server_scripts/ae2/recipes.js +++ b/kubejs/server_scripts/ae2/recipes.js @@ -25,7 +25,7 @@ const registerAE2Recipes = (event) => { 'BA ', 'CCB', ], { - A: '#forge:rods', + A: '#forge:rods/wooden', B: '#forge:plates/steel', C: '#forge:exquisite_gems/certus_quartz', }).id('tfg:crafting/certus_quartz_cutting_knife') @@ -35,7 +35,7 @@ const registerAE2Recipes = (event) => { 'BA ', 'CCB', ], { - A: '#forge:rods', + A: '#forge:rods/wooden', B: '#forge:plates/steel', C: '#forge:exquisite_gems/nether_quartz', }).id('tfg:crafting/nether_quartz_cutting_knife') diff --git a/kubejs/server_scripts/asticor_carts/recipes.js b/kubejs/server_scripts/asticor_carts/recipes.js index f68341ca5..f7f477827 100644 --- a/kubejs/server_scripts/asticor_carts/recipes.js +++ b/kubejs/server_scripts/asticor_carts/recipes.js @@ -27,4 +27,6 @@ const registerAsticorCartsRecipes = (event) => { .duration(100) .category(GTRecipeCategories.MACERATOR_RECYCLING) .EUt(GTValues.VA[GTValues.ULV]) + + event.replaceInput({ mod: 'tfcastikorcarts' }, '#forge:rods', '#mcw_tfc_aio:metal_rods') } \ No newline at end of file From 3412188f589fe6e4db7557b1190b98d54bba2cf2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 22 Jan 2026 21:12:47 +0000 Subject: [PATCH 193/474] langs --- kubejs/assets/ad_astra/lang/ja_jp.json | 2 +- kubejs/assets/betterend/lang/ja_jp.json | 22 ++ kubejs/assets/gtceu/lang/ja_jp.json | 117 +++--- kubejs/assets/tfg/lang/en_us.json | 4 +- kubejs/assets/tfg/lang/ja_jp.json | 352 ++++++++++++------ .../assets/wan_ancient_beasts/lang/en_us.json | 4 +- 6 files changed, 339 insertions(+), 162 deletions(-) diff --git a/kubejs/assets/ad_astra/lang/ja_jp.json b/kubejs/assets/ad_astra/lang/ja_jp.json index 154e7095d..f7c38f451 100644 --- a/kubejs/assets/ad_astra/lang/ja_jp.json +++ b/kubejs/assets/ad_astra/lang/ja_jp.json @@ -1,7 +1,7 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.ad_astra.oxygen_distributor": "人工空気分配機", - "block.ad_astra.moon_sand": "月の砂", + "block.ad_astra.moon_sand": "灰色の砂", "block.ad_astra.moon_stone": "斜長岩", "block.ad_astra.moon_cobblestone": "斜長岩の丸石", "block.ad_astra.moon_cobblestone_slab": "斜長岩の丸石のハーフブロック", diff --git a/kubejs/assets/betterend/lang/ja_jp.json b/kubejs/assets/betterend/lang/ja_jp.json index e72e61194..6da8c531a 100644 --- a/kubejs/assets/betterend/lang/ja_jp.json +++ b/kubejs/assets/betterend/lang/ja_jp.json @@ -14,6 +14,7 @@ "block.betterend.bolux_mushroom": "Bolux Mushroom Colony", "block.betterend.bolux_mushroom_wild": "Wild Bolux Mushroom Colony", "block.betterend.bolux_mushroom_dead": "Dead Bolux Mushroom Colony", + "block.betterend.brimstone": "Brimstone", "block.betterend.bushy_grass": "Novagrass", "block.betterend.bulb_moss": "Bulb Moss", "block.betterend.cave_bush": "Carmine Lamella", @@ -45,14 +46,21 @@ "block.betterend.filalux_wings": "Filalux Wings", "block.betterend.flamaea": "Flamaea Mushroom", "block.betterend.flammalix": "Flammalix Mushroom", + "block.betterend.flavolite": "イグニンブライト", + "block.betterend.flavolite_bricks": "イグニンブライトのレンガ", + "block.betterend.flavolite_pillar": "イグニンブライトの柱", + "block.betterend.flavolite_polished": "磨かれたイグニンブライト", + "block.betterend.flavolite_tiles": "イグニンブライトのタイル", "block.betterend.fracturn": "Fracturn", "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_sapling": "Hydralux Sprout", "block.betterend.inflexia": "Inflexia", "block.betterend.lacugrove": "Lacugrove Algae", + "block.betterend.lacugrove_bark": "Raw Adakite", "block.betterend.lamellarium": "Lamellarium", "block.betterend.lanceleaf": "Lanceleaf", "block.betterend.lanceleaf_small": "Lanceleaf Dagger", @@ -60,6 +68,7 @@ "block.betterend.lucernia_leaves": "Lucernia Lamella", "block.betterend.lucernia_leaves_fallen": "Small Lucernia Lamella", "block.betterend.lucernia_outer_leaves": "Lucernia Hyphae", + "block.betterend.lucernia_bark": "Fiendish Spire", "block.betterend.lutebus": "Lutebus", "block.betterend.magnula": "Magnula", "block.betterend.nightshade_moss": "Nox Moss", @@ -69,11 +78,24 @@ "block.betterend.rubinea": "Rubinea", "block.betterend.ruscus": "Ruscus Grass", "block.betterend.salteago": "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": "Selagine", "block.betterend.shadow_berry": "Nox Berries", "block.betterend.shadow_berry_wild": "Wild Nox Berries", "block.betterend.shadow_berry_dead": "Dead Nox Berries", + "block.betterend.shadow_plant": "Blackened Ashgrass", "block.betterend.small_amaranita_mushroom": "Small Amaranita Mushroom", + "block.betterend.sulphur_crystal": "Sulfur Crystal", + "block.betterend.sulphuric_rock": "Thermal Vent Deposit", + "block.betterend.sulphuric_rock_bricks": "Thermal Vent Deposit Bricks", + "block.betterend.sulphuric_rock_pillar": "Thermal Vent Deposit Pillar", + "block.betterend.sulphuric_rock_polished": "Polished Thermal Vent Deposit", + "block.betterend.sulphuric_rock_tiles": "Thermal Vent Deposit Tiles", + "block.betterend.tube_worm": "Tube Worm", "block.betterend.twisted_moss": "Twisted Moss", "block.betterend.twisted_umbrella_moss": "Twisted Umbrella Moss", "block.betterend.twisted_umbrella_moss_tall": "Twisted Umbrella Moss", diff --git a/kubejs/assets/gtceu/lang/ja_jp.json b/kubejs/assets/gtceu/lang/ja_jp.json index 555415ec9..dae23f329 100644 --- a/kubejs/assets/gtceu/lang/ja_jp.json +++ b/kubejs/assets/gtceu/lang/ja_jp.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.bud_indicator": "%s Surface Bud", + "block.gtceu.salt_block": "塩ブロック", "block.gtceu.greenhouse": "電気温室", "block.tfg.steam_bloomery": "蒸気式塊鉄炉", "block.tfg.steam_thermal_centrifuge": "蒸気式熱遠心分離機", @@ -23,9 +24,6 @@ "block.gtceu.ulv_super_chest": "基本型スーパーチェスト", "block.gtceu.ulv_hermetic_casing": "基本気密外装", "block.gtceu.hv_energy_output_hatch_4a": "§6HV 4A ダイナモハッチ§r", - "block.tfg.bioreactor": "Bioreactor", - "block.tfg.growth_chamber": "Growth Chamber", - "block.tfg.single_itemstack_bus": "Limiting Input Bus", "block.gtceu.red_granite_cobblestone": "赤色花崗岩の丸石", "block.gtceu.mossy_red_granite_cobblestone": "苔むした赤色花崗岩の丸石", "block.gtceu.copper_crate": "銅製クレート", @@ -36,43 +34,11 @@ "block.gtceu.bismuth_bronze_drum": "ビスマスブロンズ製ドラム", "block.gtceu.overworld_marker": "地球", "block.gtceu.the_nether_marker": "The Beneath", - "gtceu.greenhouse": "電気温室", - "gtceu.steam_bloomery": "蒸気式塊鉄炉", - "gtceu.food_oven": "電気オーブン", - "gtceu.food_processor": "自動調理", - "gtceu.large_solar_panel": "大型ソーラーアレイMK I", - "gtceu.large_solar_panel_tier2": "大型ソーラーアレイMK II", - "gtceu.large_solar_panel_tier3": "大型ソーラーアレイMK III", - "gtceu.gas_pressurizer": "ガス圧縮機", - "gtceu.nuclear_fuel_factory": "核燃料形成機", - "gtceu.nuclear_turbine": "原子力蒸気タービン", - "gtceu.heat_exchanger": "熱交換機", - "gtceu.fission_reactor": "核分裂炉", - "gtceu.evaporation_tower": "蒸発塔", - "gtceu.ostrum_harvester": "オストラムハーベスター", - "gtceu.moon_dust_harvester": "ムーンハーベスター", - "gtceu.ostrum_linear_accelerator": "オストラムリニアアクセラレーター", - "gtceu.bioreactor": "Bioreactor", - "gtceu.growth_chamber": "Growth Chamber", - "gtceu.coal_liquefaction_tower": "液化塔", - "gtceu.smr_generator": "Small Modular Turbine", - "gtceu.tooltip.machine.moon_dust_harvester_1": "§7Extraterrestrial Vacuum Cleaner§r", - "gtceu.tooltip.machine.moon_dust_harvester_2": "§7Harvests infinite Regolith Dust depending on the biome its placed in.§r", - "gtceu.tooltip.machine.ostrum_harvester_1": "§7Legally Distinct Spice Crawler§r", - "gtceu.tooltip.machine.ostrum_harvester_2": "§7Harvests infinite Ostrum Dust when placed over an Ostrum deposit.§r", - "gtceu.tooltip.machine.ostrum_harvester_3": "§7Requires drilling fluid to work.§r", - "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7Higgs Boson not included§r", - "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7Breaks down Ostrum Dust into its components. Requires various fluids from fission line.§r", - "gtceu.tooltip.machine.heat_exchanger_1": "§7Heating up Fluids with other hot Fluids§r", - "gtceu.tooltip.machine.heat_exchanger_2": "§7Transfers heat from one fluid to another.§r", - "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7Producing extra spicy Rods§r", - "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7Processes raw radioactive material into fissile fuel.§r", - "gtceu.tooltip.machine.steam_bloomery_1": "§7塊鉄炉を蒸気の力でアップグレードしよう!§r", - "gtceu.tooltip.machine.steam_bloomery_2": "§7鉄系の粉もしくはインゴットを塊鉄に加工します。§r", - "gtceu.tooltip.machine.steam_bloomery_3": "§7コークスか無煙炭を燃料にすると生産速度が2倍になります。§r", - "gtceu.tooltip.machine.steam_parallel": "§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", + "block.tfg.bioreactor": "Bioreactor", + "block.tfg.growth_chamber": "Growth Chamber", + "block.tfg.single_itemstack_bus": "制限搬入バス", + "block.tfg.hydroponics_facility": "水耕栽培施設", + "block.tfg.pisciculture_fishery": "養殖場", "item.gtceu.tiny_wood_dust": "極小の木のパルプ", "item.gtceu.small_wood_dust": "小さな木のパルプ", "item.gtceu.wood_dust": "木のパルプ", @@ -82,7 +48,7 @@ "item.gtceu.tiny_thermochemically_treated_hardwood_dust": "極小の熱処理済み堅木のパルプ", "item.gtceu.small_thermochemically_treated_hardwood_dust": "小さな熱処理済み堅木のパルプ", "item.gtceu.thermochemically_treated_hardwood_dust": "熱処理済み堅木のパルプ", - "item.gtceu.tool.behavior.canoe_creator": "§5Boater: §fCan Create Canoes", + "item.gtceu.tool.behavior.canoe_creator": "§5船乗り: §fカヌーを作ることができる", "item.gtceu.deepslate_dust": "混成岩の粉", "item.gtceu.small_deepslate_dust": "小さな混成岩の粉", "item.gtceu.tiny_deepslate_dust": "極小の混成岩の粉", @@ -126,6 +92,9 @@ "item.gtceu.naquadah_credit": "§7262,144 Credits", "item.gtceu.neutronium_credit": "§72,097,152 Credits", "item.gtceu.wood_plate": "繊維板", + "item.gtceu.salt_dust": "塩", + "item.gtceu.small_salt_dust": "小さな塩", + "item.gtceu.tiny_salt_dust": "極小の塩", "item.gtceu.chipped_salt_gem": "欠けた塩の結晶", "item.gtceu.flawed_salt_gem": "傷のある塩の結晶", "item.gtceu.salt_gem": "塩の結晶", @@ -136,6 +105,9 @@ "material.gtceu.air": "空気", "material.gtceu.liquid_air": "液体空気", "material.gtceu.cooperite": "クーパー鉱", + "material.gtceu.rock_salt": "カリ岩塩", + "material.gtceu.salt": "岩塩", + "material.gtceu.quartzite": "クォーツ", "material.gtceu.armalcolite": "アーマルコライト", "material.gtceu.desh": "デッシュ", "material.gtceu.ostrum": "オストラム", @@ -143,6 +115,7 @@ "material.tfg.etrium": "エトリウム", "material.gtceu.tarkianite": "タキアン鉱", "material.gtceu.thorium": "トリアナイト", + "material.gtceu.dimethylbenzene": "キシレン", "material.gtceu.aluminium_silicate": "ケイ酸アルミニウム", "material.gtceu.rocket_alloy_t1": "R-AS ロケット合金", "material.gtceu.rocket_alloy_t2": "ASM-4914 チタニウムロケット合金", @@ -196,14 +169,14 @@ "material.gtceu.dense_ostrum_vapor": "重質オストラム粉塵", "material.gtceu.lightweight_ostrum_vapor": "軽質オストラム粉塵", "material.gtceu.ostrum_vapor": "オストラム粉塵", - "metaitem.dust.tooltip.purify": "Drop in Water to get Clean Dust", - "metaitem.crushed.tooltip.purify": "Drop in Water to get Purified Ore", - "item.gtceu.tool.behavior.silk_ice": "§dSculptor:§r Silk harvests Packed Ice", - "item.gtceu.tool.butchery_knife.tooltip": "§cButcher:§r Butchers animals for more meat", + "metaitem.dust.tooltip.purify": "水にドロップすることで洗浄できます。", + "metaitem.crushed.tooltip.purify": "水にドロップすることで洗浄できます。", + "item.gtceu.tool.behavior.silk_ice": "§d彫刻家: §r氷塊を切り出すことができる", + "item.gtceu.tool.butchery_knife.tooltip": "§c肉屋:§r 動物を解体してより多くの肉を得られる", "item.gtceu.tool.tooltip.repair_info": "", "item.gtceu.tool.tooltip.repair_material": "", - "gtceu.machine.lp_steam_extractor.tooltip": "§7Does not extract fluids", - "gtceu.machine.hp_steam_extractor.tooltip": "§7Does not extract fluids", + "gtceu.machine.lp_steam_extractor.tooltip": "§7液体の抽出はできません", + "gtceu.machine.hp_steam_extractor.tooltip": "§7液体の抽出はできません", "gtceu.jei.bedrock_fluid.nether_natural_gas_deposit": "Beneath Natural Gas Deposit", "gtceu.jei.bedrock_fluid.moon_helium": "ヘリウム", "gtceu.jei.bedrock_fluid.moon_helium_3": "ヘリウム3", @@ -212,10 +185,33 @@ "gtceu.jei.bedrock_fluid.liquid_carbon_dioxide": "液化二酸化炭素", "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "アンモニア交じりの重水", "gtceu.jei.bedrock_fluid.liquid_ice": "氷", - "gtceu.recipe.category.ingot_molding": "Material Molding", - "block.gtceu.wire_coil.tooltip_pyro": "§8Pyrolyse Oven and Nuclear Fuel Factory:§r", - "block.gtceu.wire_coil.tooltip_cracking": "§8Cracking Unit, Coal Liquefaction Tower, Moon and Ostrum Harvesters:§r", - "tooltip.moldraw.shift_view_molecule": "§7§oHold (Shift) for Molecular Structure§r", + "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_molecule": "§7§oシフトを押して分子構造を確認§r", + "tooltip.moldraw.shift_view_alloy": "§7§oシフトを押して合金組成を確認§r", + "gtceu.greenhouse": "電気温室", + "gtceu.steam_bloomery": "蒸気式塊鉄炉", + "gtceu.food_oven": "電気オーブン", + "gtceu.food_processor": "自動調理", + "gtceu.large_solar_panel": "大型ソーラーアレイMK I", + "gtceu.large_solar_panel_tier2": "大型ソーラーアレイMK II", + "gtceu.large_solar_panel_tier3": "大型ソーラーアレイMK III", + "gtceu.gas_pressurizer": "ガス圧縮機", + "gtceu.nuclear_fuel_factory": "核燃料形成機", + "gtceu.nuclear_turbine": "原子力蒸気タービン", + "gtceu.heat_exchanger": "熱交換機", + "gtceu.fission_reactor": "核分裂炉", + "gtceu.evaporation_tower": "蒸発塔", + "gtceu.ostrum_harvester": "オストラムハーベスター", + "gtceu.moon_dust_harvester": "ムーンハーベスター", + "gtceu.ostrum_linear_accelerator": "オストラムリニアアクセラレーター", + "gtceu.bioreactor": "Bioreactor", + "gtceu.growth_chamber": "Growth Chamber", + "gtceu.coal_liquefaction_tower": "液化塔", + "gtceu.smr_generator": "Small Modular Turbine", + "gtceu.hydroponics_facility": "水耕栽培施設", + "gtceu.pisciculture_fishery": "養殖場", "tagprefix.sword_head": "%s製剣身", "tagprefix.pickaxe_head": "%s製ピッケルの頭", "tagprefix.shovel_head": "%s製シャベルの頭", @@ -251,5 +247,22 @@ "tagprefix.marble": "%s鉱石(大理石)", "tagprefix.deepslate": "%s鉱石(混成岩)", "tagprefix.pyroxenite": "%s鉱石(輝岩)", - "tagprefix.dripstone": "%s鉱石(鍾乳石)" + "tagprefix.dripstone": "%s鉱石(鍾乳石)", + "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_3": "§7稼働には採掘油が必要です。§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7ヒッグス粒子は関係なし§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7オストラムを粉塵にまで砕き、様々な鉱石を生産します。核分裂ラインからの生産物を必要とします。§r", + "gtceu.tooltip.machine.heat_exchanger_1": "§7高温の液体による液体の加熱に§r", + "gtceu.tooltip.machine.heat_exchanger_2": "§7一方の液体の熱をもう一方の液体に送ります。§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7危険な熱い棒§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7放射性物質を燃料棒に加工します。§r", + "gtceu.tooltip.machine.steam_bloomery_1": "§7塊鉄炉を蒸気の力でアップグレードしよう!§r", + "gtceu.tooltip.machine.steam_bloomery_2": "§7鉄系の粉もしくはインゴットを塊鉄に加工します。§r", + "gtceu.tooltip.machine.steam_bloomery_3": "§7コークスか無煙炭を燃料にすると生産速度が2倍になります。§r", + "gtceu.tooltip.machine.steam_parallel": "§7一度に最大8つのレシピを実行でき、その分多くの蒸気が必要になります。§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7昇華塔でもある§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7炭素系固形物からガスと液体を抽出します。§r" } \ 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 18d561b5f..0d9efc266 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1727,8 +1727,8 @@ "tfg.tooltip.dna_syringe.explain": "Right-click on a mob to obtain a DNA sample. Place in a crafting grid to clear contents.", "tfg.tooltip.shift_hint": "[Hold-Shift]", "tfg.tooltip.lab_equipment.part": "§7Precisely Holds: ", - "tfg.tooltip.lab_equipment.set": "\"§7Does not contain a 5000mB round bottom flask.\"", - "tfg.tooltip.lab_equipment.set_dirty": "\"§7Soon you might discover penicillin if you dont clean this.\"", + "tfg.tooltip.lab_equipment.set": "§7Does not contain a 5000mB round bottom flask.", + "tfg.tooltip.lab_equipment.set_dirty": "§7Soon you might discover penicillin if you dont clean this...", "tfg.tooltip.single_itemstack_bus.0": "§6Item Slots: §f1", "tfg.tooltip.single_itemstack_bus.1": "§6Stack Size: §f1", "tfg.tooltip.growth_chamber": "This machine can run more recipes at once by increasing the number of layers.", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index ccacc8221..155f3bde9 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -437,6 +437,76 @@ "block.tfg.loose.red_granite": "赤色花崗岩の小石", "block.tfg.spike.red_granite_spike": "赤色花崗岩のつらら石", "block.tfg.rock.aqueduct_red_granite": "赤色花崗岩の用水路", + "block.tfg.rock.sandy_jadestone_stairs": "ランプロアイトの階段", + "block.tfg.rock.sandy_jadestone_slab": "ランプロアイトのハーフブロック", + "block.tfg.rock.sandy_jadestone_wall": "ランプロアイトの塀", + "block.tfg.rock.hardened_sandy_jadestone": "硬いランプロアイト", + "block.tfg.spike.sandy_jadestone_spike": "ランプロアイトのつらら石", + "block.tfg.sandy_jadestone_support": "ランプロアイトの梁", + "block.tfg.rock.cobble_sandy_jadestone": "ランプロアイトの丸石", + "block.tfg.rock.cobble_sandy_jadestone_stairs": "ランプロアイトの丸石の階段", + "block.tfg.rock.cobble_sandy_jadestone_slab": "ランプロアイトの丸石のハーフブロック", + "block.tfg.rock.cobble_sandy_jadestone_wall": "ランプロアイトの丸石の塀", + "block.tfg.rock.gravel_sandy_jadestone": "ランプロアイトの砂利", + "block.tfg.rock.aqueduct_sandy_jadestone": "ランプロアイトの用水路", + "block.tfg.rock.bricks_sandy_jadestone_stairs": "ランプロアイトのレンガの階段", + "block.tfg.rock.bricks_sandy_jadestone_slab": "ランプロアイトのレンガのハーフブロック", + "block.tfg.rock.bricks_sandy_jadestone_wall": "ランプロアイトのレンガの塀", + "block.tfg.rock.polished_sandy_jadestone_stairs": " 磨かれたランプロアイトの階段", + "block.tfg.rock.polished_sandy_jadestone_slab": " 磨かれたランプロアイトのハーフブロック", + "block.tfg.rock.polished_sandy_jadestone_wall": " 磨かれたランプロアイトの塀", + "block.tfg.rock.chiseled_sandy_jadestone_stairs": "ランプロアイトのタイルの階段", + "block.tfg.rock.chiseled_sandy_jadestone_slab": "ランプロアイトのタイルのハーフブロック", + "block.tfg.rock.chiseled_sandy_jadestone_wall": "ランプロアイトのタイルの塀", + "block.tfg.loose.sandy_jadestone": "ランプロアイトの小石", + "block.tfg.rock.flavolite_stairs": "イグニンブライトの階段", + "block.tfg.rock.flavolite_slab": "イグニンブライトのハーフブロック", + "block.tfg.rock.flavolite_wall": "イグニンブライトの塀", + "block.tfg.rock.hardened_flavolite": "硬いイグニンブライト", + "block.tfg.spike.flavolite_spike": "イグニンブライトのつらら石", + "block.tfg.flavolite_support": "イグニンブライトの梁", + "block.tfg.rock.cobble_flavolite": "イグニンブライトの丸石", + "block.tfg.rock.cobble_flavolite_stairs": "イグニンブライトの丸石の階段", + "block.tfg.rock.cobble_flavolite_slab": "イグニンブライトの丸石のハーフブロック", + "block.tfg.rock.cobble_flavolite_wall": "イグニンブライトの丸石の塀", + "block.tfg.rock.gravel_flavolite": "イグニンブライトの砂利", + "block.tfg.rock.aqueduct_flavolite": "イグニンブライトの用水路", + "block.tfg.rock.bricks_flavolite_stairs": "イグニンブライトのレンガの階段", + "block.tfg.rock.bricks_flavolite_slab": "イグニンブライトのレンガのハーフブロック", + "block.tfg.rock.bricks_flavolite_wall": "イグニンブライトのレンガの塀", + "block.tfg.rock.polished_flavolite_stairs": " 磨かれたイグニンブライトの階段", + "block.tfg.rock.polished_flavolite_slab": " 磨かれたイグニンブライトのハーフブロック", + "block.tfg.rock.polished_flavolite_wall": " 磨かれたイグニンブライトの塀", + "block.tfg.rock.chiseled_flavolite_stairs": "イグニンブライトのタイルの階段", + "block.tfg.rock.chiseled_flavolite_slab": "イグニンブライトのタイルのハーフブロック", + "block.tfg.rock.chiseled_flavolite_wall": "イグニンブライトのタイルの塀", + "block.tfg.loose.flavolite": "イグニンブライトの小石", + "block.tfg.rock.scoria_stairs": "スコリアの階段", + "block.tfg.rock.scoria_slab": "スコリアのハーフブロック", + "block.tfg.rock.scoria_wall": "スコリアの塀", + "block.tfg.rock.hardened_scoria": "硬いスコリア", + "block.tfg.spike.scoria_spike": "スコリアのつらら石", + "block.tfg.scoria_support": "スコリアの梁", + "block.tfg.rock.cobble_scoria": "スコリアの丸石", + "block.tfg.rock.cobble_scoria_stairs": "スコリアの丸石の階段", + "block.tfg.rock.cobble_scoria_slab": "スコリアの丸石のハーフブロック", + "block.tfg.rock.cobble_scoria_wall": "スコリアの丸石の塀", + "block.tfg.rock.gravel_scoria": "スコリアの砂利", + "block.tfg.rock.aqueduct_scoria": "スコリアの用水路", + "block.tfg.loose.scoria": "スコリアの小石", + "block.tfg.rock.scorchia_stairs": "スコーチアの階段", + "block.tfg.rock.scorchia_slab": "スコーチアのハーフブロック", + "block.tfg.rock.scorchia_wall": "スコーチアの塀", + "block.tfg.rock.hardened_scorchia": "硬いスコーチア", + "block.tfg.spike.scorchia_spike": "スコーチアのつらら石", + "block.tfg.scorchia_support": "スコーチアの梁", + "block.tfg.rock.cobble_scorchia": "スコーチアの丸石", + "block.tfg.rock.cobble_scorchia_stairs": "スコーチアの丸石の階段", + "block.tfg.rock.cobble_scorchia_slab": "スコーチアの丸石のハーフブロック", + "block.tfg.rock.cobble_scorchia_wall": "スコーチアの丸石の塀", + "block.tfg.rock.gravel_scorchia": "スコーチアの砂利", + "block.tfg.rock.aqueduct_scorchia": "スコーチアの用水路", + "block.tfg.loose.scorchia": "スコーチアの小石", "block.tfg.rock.stone_wall": "石の塀", "block.tfg.rock.smooth_stone_stairs": "磨かれた石の階段", "block.tfg.rock.smooth_stone_wall": "磨かれた石の塀", @@ -493,6 +563,10 @@ "block.tfg.glacian_wood_stripped": "表皮を剥いだグラシアンの菌糸", "block.tfg.glacian_leaves": "グラシアンのひだ", "block.tfg.glacian_leaves_fallen": "グラシアンのひだ", + "block.tfg.crimson_wart_block": "真紅のキャップ", + "block.tfg.warped_wart_block": "歪んだキャップ", + "block.tfg.aeronos_cap": "エアロノスのキャップ", + "block.tfg.strophar_cap": "ストロファのキャップ", "block.tfg.marker.moon": "月", "block.tfg.marker.mars": "火星", "block.tfg.marker.venus": "金星", @@ -621,8 +695,8 @@ "block.tfg.casings.heat_pipe_casing": "ヒートパイプ外装", "block.tfg.glacian_wool_frame": "氷塊羊毛の耐熱フレーム", "block.tfg.aes_insulation_frame": "AES断熱材の耐熱フレーム", - "block.tfg.machine_casing_power_casing": "Insulated Power Casing", - "block.tfg.active_power_transformer": "Active Energy Transformer", + "block.tfg.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": "青いフッ素燐灰石砂岩の塀", @@ -692,6 +766,31 @@ "block.tfg.large_nest_box": "深紅の大きい巣箱", "tfg.block_entity.large_nest_box": "大きい巣箱", "block.tfg.large_nest_box_warped": "歪んだ大きい巣箱", + "block.tfg.cultivation_monitor": "栽培モニター", + "block.tfg.egh_planter": "水耕栽培プランター", + "block.tfg.grow_light": "植物育成ライト", + "block.tfg.casings.machine_casing_egh": "水耕栽培外装", + "block.tfg.pisciculture_core": "養殖場用コアローター", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_0": "§nFlawless§r加工木材の温室の壁", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_1": "§nVertical§r加工木材の温室の壁", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_2": "§nHorizontal§r加工木材の温室の壁", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_3": "§nNubio§r加工木材の温室の壁", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_4": "§nOrnate§r加工木材の温室の壁", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_0": "§nFlawless§r銅の温室の壁", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_1": "§nVertical§r銅の温室の壁", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_2": "§nHorizontal§r銅の温室の壁", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_3": "§nNubio§r銅の温室の壁", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_4": "§nOrnate§r銅の温室の壁", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_0": "§nFlawless§r鉄の温室の壁", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_1": "§nVertical§r鉄の温室の壁", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_2": "§nHorizontal§r鉄の温室の壁", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_3": "§nNubio§r鉄の温室の壁", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_4": "§nOrnate§r鉄の温室の壁", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_0": "§nFlawless§rステンレスの温室の壁", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_1": "§nVertical§rステンレスの温室の壁", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_2": "§nHorizontal§rステンレスの温室の壁", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_3": "§nNubio§rステンレスの温室の壁", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_4": "§nOrnate§rステンレスの温室の壁", "block.tfg.titanium_concrete": "チタン鉄筋コンクリート", "block.tfg.polished_titanium_concrete": "磨かれたチタン鉄筋コンクリート", "block.tfg.titanium_concrete_tile": "チタン鉄筋コンクリートタイル", @@ -701,7 +800,7 @@ "block.tfg.titanium_concrete_bricks_square": "チタン鉄筋コンクリートの大レンガ", "block.tfg.nuclear_turbine": "原子力蒸気タービン", "block.tfg.evaporation_tower": "蒸発塔", - "block.tfg.cooling_tower": "Nuclear Cooling Tower", + "block.tfg.cooling_tower": "原子力冷却塔", "block.tfg.smr_generator": "Small Modular Turbine", "block.tfg.casings.machine_casing_desh_ptfe": "Radiation-Safe Desh Casing", "block.tfg.growth_monitor": "Growth Monitor", @@ -777,22 +876,18 @@ "item.tfg.unfinished_inscriber_accumulation_press": "未完成のInscriber Accumulation Press", "item.tfg.brick.deepslate": "混成岩のレンガ", "item.tfg.brick.dripstone": "鍾乳石のレンガ", - "item.tfg.loose.moon_stone": "斜長岩の小石", "item.tfg.brick.moon_stone": "斜長岩のレンガ", - "item.tfg.loose.moon_deepslate": "ノーライトの小石", "item.tfg.brick.moon_deepslate": "ノーライトのレンガ", - "item.tfg.loose.mars_stone": "粘土質岩の小石", "item.tfg.brick.mars_stone": "粘土質岩のレンガ", - "item.tfg.loose.venus_stone": "粗面岩の小石", "item.tfg.brick.venus_stone": "粗面岩のレンガ", - "item.tfg.loose.mercury_stone": "コマチアイトの小石", "item.tfg.brick.mercury_stone": "コマチアイトのレンガ", - "item.tfg.loose.glacio_stone": "響岩の小石", "item.tfg.brick.glacio_stone": "響岩のレンガ", - "item.tfg.loose.permafrost": "永久凍土の小石", "item.tfg.brick.permafrost": "永久凍土のレンガ", - "item.tfg.loose.red_granite": "赤色花崗岩の小石", "item.tfg.brick.red_granite": "赤色花崗岩のレンガ", + "item.tfg.brick.sandy_jadestone": "ランプロアイトのレンガ", + "item.tfg.brick.flavolite": "イグニンブライトのレンガ", + "item.tfg.brick.scoria": "スコリアのレンガ", + "item.tfg.brick.scorchia": "スコーチアのレンガ", "item.tfg.terra_firma_greg": "TerraFirmaGreg", "item.tfg.scaffolding_frame": "足場の型枠", "item.tfg.airship_hull": "飛行船の船体", @@ -1096,12 +1191,15 @@ "item.tfg.catalyser_pt_re_zsm": "白金-レニウム ZSM-5触媒", "item.tfg.used_catalyser": "白金-レニウム ZSM-5触媒(使用済み)", "item.tfg.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", + "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": "未焼成の塊の型", + "item.tfg.fish_roe": "%sの魚卵", + "item.tfg.rotten_voiding_cover": "腐敗物消去カバー", + "item.tfg.flora_pellets": "フローラペレット", "material.tfg.latex": "ラテックス", "material.tfg.vulcanized_latex": "加硫処理ラテックス", "material.tfg.fluix": "フルーシュ", @@ -1128,6 +1226,14 @@ "material.tfg.venus_stone": "粗面岩", "material.tfg.mercury_stone": "コマチアイト", "material.tfg.glacio_stone": "響岩", + "material.tfg.sedimentary_clastic": "砕屑堆積岩", + "material.tfg.sedimentary_carbonate": "炭酸塩堆積岩", + "material.tfg.sedimentary_organic": "有機質堆積岩", + "material.tfg.metamorphic": "変成岩", + "material.tfg.igneous_ultramafic": "超苦鉄質火成岩", + "material.tfg.igneous_mafic": "塩基性火成岩", + "material.tfg.igneous_intermediate": "中間質火成岩", + "material.tfg.igneous_felsic": "珪長質岩", "material.gtceu.thermochemically_treated_hardwood": "熱処理済みの堅木", "material.gtceu.hardwood": "堅木", "material.gtceu.asurine": "瑠璃岩", @@ -1257,15 +1363,18 @@ "material.tfg.cyclohexanone": "Cyclohexanone", "material.tfg.cyclohex_diperoxide": "1,1-Cyclohexanediyl Dihydroperoxide", "material.tfg.aciditic_waste": "酸性エポキシ廃棄物", - "material.tfg.tpaoh": "Tetrapropylammonium Hydroxide", + "material.tfg.tpaoh": "テトラプロピルアンモニウムヒドロキシド", "material.tfg.sodium_silicate": "ケイ酸ナトリウム", "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.crude_mixed_gas": "粗製混合ガス", + "material.tfg.zsm5_gel": "ZSM-5ゲル", "material.tfg.leachate": "レニウム浸出液", "material.tfg.clean_powder": "Re-Silicate Clean", "material.tfg.catalyser_powder": "レニウム ZSM-5触媒", "material.tfg.sodium_aluminium": "アルミン酸ナトリウム", + "material.tfg.chloroplasts": "葉緑体", + "material.tfg.nitrate_rich_water": "富栄養水", + "material.tfg.nitrate_rich_semiheavy_ammoniacal_water": "富栄養化したアンモニア交じりの半重水", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", @@ -1287,6 +1396,8 @@ "ore_vein.tfg.normal_copper": "Copper & Chalcopyrite", "ore_vein.tfg.normal_garnet_tin": "Garnet & Cassiterite Sands", "ore_vein.tfg.normal_garnierite": "Garnierite & Cobaltite", + "ore_vein.tfg.normal_garnierite.emi.0": "Tip: Gabbro is always", + "ore_vein.tfg.normal_garnierite.emi.1": "underneath Basalt.", "ore_vein.tfg.normal_gold": "Gold, Limonite, & Hematite", "ore_vein.tfg.normal_graphite": "Graphite & Diamond", "ore_vein.tfg.normal_gypsum": "Gypsum & Calcite", @@ -1302,12 +1413,18 @@ "ore_vein.tfg.normal_olivine": "Bentonite & Olivine", "ore_vein.tfg.normal_quartz": "Quartzes", "ore_vein.tfg.normal_redstone": "Redstone, Cinnabar, & Ruby", + "ore_vein.tfg.normal_redstone.emi.0": "Tip: Granite is always", + "ore_vein.tfg.normal_redstone.emi.1": "underneath Rhyolite.", "ore_vein.tfg.normal_salt": "Salts & Borax", "ore_vein.tfg.normal_saltpeter": "Saltpeter & Electrotine", "ore_vein.tfg.normal_silver": "Silver, Galena, & Lead", "ore_vein.tfg.normal_sphalerite": "Sphalerite & Pyrite", "ore_vein.tfg.normal_spodumene": "Spodumene & Lepidolite", "ore_vein.tfg.normal_sulfur": "Sulfur & Pyrite", + "ore_vein.tfg.normal_tarkianite": "Tarkianite & Oilsands", + "ore_vein.tfg.normal_tarkianite.emi.0": "Only in dry climates.", + "ore_vein.tfg.normal_tarkianite.emi.1": "Min temp: 7°C", + "ore_vein.tfg.normal_tarkianite.emi.2": "Max rainfall: 100mm", "ore_vein.tfg.normal_tetrahedrite": "Tetrahedrite (Normal)", "ore_vein.tfg.surface_bismuthinite": "Bismuth (Surface)", "ore_vein.tfg.surface_cassiterite": "Cassiterite (Surface)", @@ -1315,7 +1432,7 @@ "ore_vein.tfg.surface_sphalerite": "Sphalerite & Sulfur", "ore_vein.tfg.surface_tetrahedrite": "Tetrahedrite (Surface)", "ore_vein.tfg.deep_mars_chromite": "Redstone & Chromite", - "ore_vein.tfg.deep_mars_pitchblende": "Pitchblende, Thorium, & Uraninite", + "ore_vein.tfg.deep_mars_pitchblende": "Pitchblende, Thorianite, & Uraninite", "ore_vein.tfg.deep_mars_sheldonite": "Bornite & Cooperite", "ore_vein.tfg.mars_almandine": "Almandine & Sapphire", "ore_vein.tfg.mars_apatite": "Apatite & Pyrochlore", @@ -1323,13 +1440,14 @@ "ore_vein.tfg.mars_coal": "Coal & Hematite", "ore_vein.tfg.mars_copper": "Copper & Chalcopyrite", "ore_vein.tfg.mars_galena": "Silver, Galena, & Lead", - "ore_vein.tfg.mars_sapphire": "Gold, Electrotine, & Bauxite", + "ore_vein.tfg.mars_gold": "Gold, Electrotine, & Bauxite", "ore_vein.tfg.mars_graphite": "Graphite & Diamond", "ore_vein.tfg.mars_hematite": "Hematite & Limonite", + "ore_vein.tfg.mars_lapis": "Lapis, Lazurite, & Sodalite", "ore_vein.tfg.mars_lubricant": "Trona, Talc, & Glauconite", "ore_vein.tfg.mars_neodynium": "Bastnasite & Monazite", "ore_vein.tfg.mars_nickel": "Garnierite & Cobaltite", - "ore_vein.tfg.mars_pitchblende": "Pitchblende, Thorium, & Hematite", + "ore_vein.tfg.mars_pitchblende": "Pitchblende & Thorianite, & Hematite", "ore_vein.tfg.mars_quartzite": "Quartzite, Asbestos, & Barite", "ore_vein.tfg.mars_salt": "Salts & Spodumene", "ore_vein.tfg.mars_stibnite": "Tetrahedrite (Normal)", @@ -1390,7 +1508,7 @@ "ore_vein.tfg.nether_mica": "Kyanite, Mica, & Bauxite", "ore_vein.tfg.nether_molybdenum": "Wulfenite & Molybdenite", "ore_vein.tfg.nether_monazite": "Bastnasite & Monazite", - "ore_vein.tfg.nether_naquadah": "Naquadah & Plutonium", + "ore_vein.tfg.nether_naquadah": "Naquadah", "ore_vein.tfg.nether_olivine": "Bentonite & Olivine", "ore_vein.tfg.nether_pitchblende": "Uraninite & Pitchblende", "ore_vein.tfg.nether_quartz": "Nether Quartz", @@ -1401,9 +1519,12 @@ "ore_vein.tfg.nether_silver": "Silver, Galena, & Lead", "ore_vein.tfg.nether_sphalerite": "Sphalerite & Pyrite", "ore_vein.tfg.nether_sulfur": "Sulfur & Pyrite", - "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": "§b冷蔵保存", @@ -1437,20 +1558,20 @@ "entity.tfg.rnr_plow": "Paving Cart", "effect.tfg.cooling": "§bCooling", "effect.tfg.warming": "§6Warming", - "effect.tfg.instant_radiation": "Instant Radiation", - "effect.tfg.chemical_burns_warning": "Suffering Chemical Burns", + "effect.tfg.instant_radiation": "瞬間被爆", + "effect.tfg.chemical_burns_warning": "化学火傷", "effect.tfg.poison_warning": "Poisonous Material", "effect.tfg.weak_poison_warning": "Weakly Poisonous Material", "effect.tfg.irritant_warning": "Irritant Material", "effect.tfg.nausea_warning": "Nauseous Material", - "effect.tfg.carcinogen_warning": "Carcinogenic Material", - "effect.tfg.asbestosis_warning": "Asbestosis", - "effect.tfg.arsenicosis_warning": "Arsenicosis", - "effect.tfg.silicosis_warning": "Silicosis", - "effect.tfg.berylliosis_warning": "Berylliosis", - "effect.tfg.methanol_poisoning_warning": "Methanol Poisoning", - "effect.tfg.carbon_monoxide_poisoning_warning": "Carbon Monoxide Poisoning", - "effect.tfg.radioactive_warning": "Irradiated", + "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": "一酸化炭素中毒", + "effect.tfg.radioactive_warning": "被爆", "gtceu.medical_condition.radioactive": "§4放射性物質", "symptom.tfg.glowing": "Glowing", "tfg.greate.uls_limit": "§432§r (§8ULS§r)", @@ -1470,7 +1591,7 @@ "trim_material.tfc.rutile_tfc": "Rutile", "trim_material.tfc.lazurite_tfc": "Lazurite", "trim_material.tfc.pyrope_tfc": "Pyrope", - "trim_material.tfc.rock_salt_tfc": "Rock Salt", + "trim_material.tfc.rock_salt_tfc": "Sylvite", "trim_material.tfc.ruby_tfc": "Ruby", "trim_material.tfc.salt_tfc": "salt", "trim_material.tfc.sapphire_tfc": "Sapphire", @@ -1518,52 +1639,53 @@ "ore_vein.tfg.rose_quartz.emi.1": "biomes in climates", "ore_vein.tfg.rose_quartz.emi.2": "below -10°C.", "emi.category.tfg.ore_vein_info": "Ore Veins", - "tfg.emi.liquid_bb_burn_time": "Duration: %d secs", - "tfg.emi.liquid_bb_superheat": "§lSuperheated", - "emi.category.tfg.blaze_burner": "Blaze Burner Fuels", + "tfg.emi.liquid_bb_burn_time": "持続時間: %d 秒", + "tfg.emi.liquid_bb_superheat": "§l過熱", + "emi.category.tfg.blaze_burner": "ブレイズバーナー燃料", "emi.category.tfg.block_interaction": "Block Modifications", "emi.category.deafission.fission_reactor_coolant": "Fission Reactor Cooling", "emi.category.deafission.fission_reactor_processing": "Fission Reactor Material Holder", "emi.category.deafission.fission_reactor_fuel": "Fission Reactor Fuel", - "tfg.toast.ore_prospector_none": "No ores found in range.", - "tfg.toast.ore_prospector_message": "Ores found within %s §6blocks in this direction: %s", - "tfg.tooltip.ore_prospector_stats": "Scan Range: %s, Cross Section: %s x %s.", - "tfg.tooltip.ore_prospector_count": "This prospector will display ore counts.", - "tfg.tooltip.ore_prospector_xray": "This prospector will display a %s x-ray view of ore blocks.", - "tfg.tooltip.ore_prospector_mode_vein": "per-vein", - "tfg.tooltip.ore_prospector_mode_block": "per-block", - "tfg.hangglider.disabled_dimension": "You can't use a hang glider here!", + "tfg.toast.ore_prospector_none": "範囲内で鉱石は見つからなかった...", + "tfg.toast.ore_prospector_message": " %s §6ブロック以内に: %s個の鉱石を発見", + "tfg.tooltip.ore_prospector_stats": "探知範囲: %s、 横範囲: %s x %s.", + "tfg.tooltip.ore_prospector_count": "この探鉱槌は鉱石の数を表示します。", + "tfg.tooltip.ore_prospector_xray": "この探鉱槌は鉱石の場所を%s表示します。", + "tfg.tooltip.ore_prospector_mode_vein": "鉱脈単位で", + "tfg.tooltip.ore_prospector_mode_block": "ブロック単位で", + "tfg.hangglider.disabled_dimension": "こんなところでグライダーを使えると思っていたのか?", "tfg.tooltip.nametag": "§7Used on a Scribing Table along with an item to name it, or with black dye to name the tag.", "tfg.tooltip.yeast_starter": "§7Created with dried fruit", - "tfg.tooltip.beehive": "§7Needs to be filled with empty frames and surrounded by flowers to attract bees.", + "tfg.tooltip.beehive": "§7蜂の巣枠を入れ、周囲を花で囲むとハチが入ってきます。", "tfg.tooltip.obsolete.tree_tap": "§4Obsolete§f: Replaced by the AFC TreeTap, you can craft it from this one by placing this in a crafting table!", "tfg.tooltip.obsolete.fridge": "§4Obsolete§f: Replaced by the TFG Refrigerator, you can craft it from this one by placing this in a crafting table!", - "tfg.tooltip.blaze_burner": "§cSuperheat§r §7with Coke, Anthracite, or Flawless and Exquisite coal gems.", - "tfg.tooltip.machine.perfect_overclock": "This machine has §2Perfect Overclocking§r!", - "tfg.tooltip.machine.parallel": "Can parallelize with Parallel Control Hatches.", - "tfg.tooltip.machine.customize_interior": "§7The interior is customizable! Check the multiblock preview in JEI.", + "tfg.tooltip.blaze_burner": "§c過熱状態§r§7にはコークス、無煙炭、高品質の石炭(傷のない、精巧な石炭)", + "tfg.tooltip.machine.perfect_overclock": "§2パーフェクトオーバークロック(POC)§rに対応!", + "tfg.tooltip.machine.parallel": "並列制御ユニットによる§d並列化§rが可能", + "tfg.tooltip.machine.customize_interior": "§7The interior is customizable! Check the multiblock preview in EMI.", + "tfg.tooltip.machine.customize_greenhouse": "§7このマルチブロックの壁にはどの§e鉄の温室§7のブロックでも使うことができます。EMIのマルチブロック情報を確認してみてください。", "tfg.tooltip.armor.copper_diving_suit_warmth": "§7Warmth: -1", "tfg.tooltip.armor.copper_diving_suit_insulation": "§7Insulation: +1", "tfg.tooltip.armor.netherite_diving_suit_warmth": "§7Warmth: -2", "tfg.tooltip.armor.netherite_diving_suit_insulation": "§7Insulation: +9", - "tfg.tooltip.armor.netherite_diving_suit_set": "§7Wear the full set to be §eHeatproof§7 from ambient temperatures.", + "tfg.tooltip.armor.netherite_diving_suit_set": "§7フルセットで着用することで§e耐火§7を得ることができる。", "tfg.tooltip.armor.nanomuscle_warmth": "§7Warmth: 0", "tfg.tooltip.armor.nanomuscle_insulation": "§7Insulation: +10", - "tfg.tooltip.armor.nanomuscle_set": "§7Wear the full set to be §eFully Insulated§7 from ambient temperatures.", - "tfg.tooltip.armor.nanomuscle_legs_buff": "§7Provides §9Speed I§7 when worn", + "tfg.tooltip.armor.nanomuscle_set": "§7フルセットで着用することで周囲の気温の影響を§e完全に遮断§7する。", + "tfg.tooltip.armor.nanomuscle_legs_buff": "§7着用時、§9移動速度上昇 I§7を常時付与する。", "tfg.tooltip.armor.quarktech_warmth": "§7Warmth: 0", "tfg.tooltip.armor.quarktech_insulation": "§7Insulation: +10", - "tfg.tooltip.armor.quarktech_set": "§7Wear the full set to be §eFully Insulated§7 from ambient temperatures.", + "tfg.tooltip.armor.quarktech_set": "§7フルセットで着用することで周囲の気温の影響を§e完全に遮断§7する。", "tfg.tooltip.armor.space_suit_warmth": "§7Warmth: 0", "tfg.tooltip.armor.space_suit_insulation": "§7Insulation: +10", - "tfg.tooltip.armor.space_suit_set": "§7Wear the full set to be §eFully Insulated§7 from ambient temperatures.", + "tfg.tooltip.armor.space_suit_set": "§7フルセットで着用することで周囲の気温の影響を§e完全に遮断§7する。", "tfg.tooltip.support.tier1": "§79 x 5 x 9", "tfg.tooltip.support.tier2": "§717 x 9 x 17", "tfg.tooltip.support.tier3": "§733 x 13 x 33", - "tfg.tooltip.solar_panel.single": "Produces §6128 FE/t§r (32 EU/t) on the §6moon§r during the §6day§r", - "tfg.tooltip.solar_panel.large_tier1": "Massive structure producing from §61024 to 4096 EU/t§r on the §6moon§r during the §6day§r", - "tfg.tooltip.solar_panel.large_tier2": "Massive structure producing from §64096 to 16384 EU/t§r on the §6moon§r during the §6day§r", - "tfg.tooltip.solar_panel.large_tier3": "Massive structure producing from §616384 to 65536 EU/t§r on the §6moon§r during the §6day§r", + "tfg.tooltip.solar_panel.single": "§6月面§rで§6日中§rに§6128 FE/t§r (32 EU/t)を生産する。 ", + "tfg.tooltip.solar_panel.large_tier1": "§6月面§rで§6日中§rに§61024から4096 EU/t§r生産する巨大な構造物。", + "tfg.tooltip.solar_panel.large_tier2": "§6月面§rで§6日中§rに§64096から16384 EU/t§r生産する巨大な構造物。", + "tfg.tooltip.solar_panel.large_tier3": "§6月面§rで§6日中§rに§616384から65536 EU/t§r生産する巨大な構造物。", "tfg.tooltip.petrified_egg": "§7Requires Magma to Incubate", "tfg.tooltip.large_egg": "§7Can only be incubated in a §oLarge Nest", "tfg.tooltip.sniffer_wool": "§7Harvested from the back of a Sniffer", @@ -1572,28 +1694,32 @@ "tfg.tooltip.cooling_foods": "§bCools you by: 2°C", "tfg.tooltip.cooling_foods_strong": "§bCools you by: 10°C", "tfg.tooltip.warming_foods": "§6Warms you by: 4°C", - "tfg.tooltip.hotornot_container": "§aSafely contains §6hot§a, §bcold§a, and §elighter-than-air§a items and fluids.§r", - "tfg.tooltip.hotornot_hot_equipment": "§7Provides protection from all §6hot§7 items, fluids, and pipes.§r", - "tfg.tooltip.hotornot_cold_equipment": "§7Provides protection from all §bcold§7 items, fluids, and pipes.§r", - "tfg.tooltip.hotornot_floating_equipment": "§7Provides protection from all §elighter-than-air§7 gases.§r", - "tfg.tooltip.machine.one_energy_hatch": "Accepts exactly §6One§r Energy Hatch.", - "tfg.tooltip.machine.two_energy_hatches": "Accepts up to §6Two§r Energy Hatches.", - "tfg.tooltip.machine.subtick": "This machine supports §2Subticking§r!", - "tfg.tooltip.machine.coil_energy_discount": "Every coil after §6Cupronickel§r reduces energy usage by 10%.", - "tfg.tooltip.machine.coil_speed_discount": "§6Cupronickel§r coils process 75% slower. Every coil after §3Kanthal§r increases processing speed by 50%.", + "tfg.tooltip.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": "§61つ§rのエネルギーハッチを導入可能。", + "tfg.tooltip.machine.two_energy_hatches": "最大§62つの§rエネルギーハッチを導入可能。", + "tfg.tooltip.machine.subtick": "§2サブティック§rに対応!", + "tfg.tooltip.machine.coil_energy_discount": "§6キュプロニッケル§rよりも上位のコイルでは10%ずつ消費電力が軽減されていく。", + "tfg.tooltip.machine.coil_speed_discount": "§6キュプロニッケル§rコイルだと、処理速度が75%に低下する。カンタルコイルよりも上位のコイルでは処理速度が50%ずつ上昇していく。", "tfg.tooltip.machine.bioreactor_1": "§7Chemistry meets Biology§r", "tfg.tooltip.machine.bioreactor_2": "§7Combines organic and inorganic ingredients to produce synthetic biological products.§r", "tfg.tooltip.machine.growth_chamber_1": "§7Growing new life§r", "tfg.tooltip.machine.growth_chamber_2": "§7Contains everything needed for Biological Engineering.§r", - "tfg.tooltip.machine.evaporation_tower_1": "§7Not to be confused with the Distillation Tower§r", - "tfg.tooltip.machine.evaporation_tower_2": "§7Gets rid of excess solvent to condense solutions.§r", - "tfg.tooltip.machine.electric_greenhouse_1": "§7Putting the Factory in Factory Farming§r", - "tfg.tooltip.machine.electric_greenhouse_2": "§7Uses water to grow trees, crops, and other plants. Can be sped up with fertilizer. Faster and easier than other ways of growing plants, at the cost of energy.§r", - "tfg.tooltip.machine.cooling_tower_1": "§7Heating up the Atmosphere§r", - "tfg.tooltip.machine.cooling_tower_2": "§7Cools the hot coolant by dissipitating excess heat to the atmosphere.§r", + "tfg.tooltip.machine.evaporation_tower_1": "§7蒸留塔じゃないよ§r", + "tfg.tooltip.machine.evaporation_tower_2": "§7余分な溶媒を取り除き、溶液を濃縮します。§r", + "tfg.tooltip.machine.electric_greenhouse_1": "§7§o農作物の工業的生産§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.machine.hydroponics_facility_1": "§7§o農家の夜明けは遅い§r", + "tfg.tooltip.machine.hydroponics_facility_2": "§7電気温室(EGH)の上位版!水耕栽培施設は、EGHよりも収穫確率が向上しており、酸素がない場所でも稼働できます。§r", + "tfg.tooltip.machine.pisciculture_fishery_1": "§7§o1ピチピチチャプチャプ§r", + "tfg.tooltip.machine.pisciculture_fishery_2": "§7養殖場は、新鮮な魚を食卓に供給するだけではなく、§3アクアポニックス§7による電気温室の効率化にも利用できます。この施設は、§o#tfg:pisciculture_fishery_fluids タグが付いたあらゆる液体で満たすことができます。§r", "tfg.tooltip.obsolete.depreciated": "§cDeprecated, cannot be crafted any more", - "tfg.tooltip.antipoison_pill": "§9Cures Poison", - "tfg.tooltip.antipoison_tablet": "§9Cures All Active Harmful Effects", + "tfg.tooltip.antipoison_pill": "§9毒を治療する", + "tfg.tooltip.antipoison_tablet": "§9有害な状態異常を全て治療する", "tfg.tooltip.dna_syringe.empty": "§7An empty syringe.§r", "tfg.tooltip.dna_syringe.dirty1": "§7A used syringe.§r", "tfg.tooltip.dna_syringe.dirty2": "§7Be careful not to poke anyone with this...§r", @@ -1609,27 +1735,36 @@ "tfg.tooltip.wireless_card_1": "どんな距離でも無線接続ができます。それがたとえ他の惑星であったとしても。", "tfg.tooltip.wireless_card_2": "アイテムの受け渡しは可能ですが、電力の負荷が非常に高いです。", "tfg.tooltip.wireless_card_3": "惑星間の物流には§dレールガン§rを利用してみるのもいいですね。", - "tfg.tooltip.component.blue_ice": "Can be placed inside a Fission Reactor to increase the maximum heat by §90.5§r", - "tfg.tooltip.component.aes_insulation_frame": "Can be placed inside a Fission Reactor to increase the maximum heat by §91§r", - "tfg.tooltip.component.glacian_fur": "Can be placed inside a Fission Reactor to increase the maximum heat by §92§r", - "tfg.tooltip.component.impure_moderate_core_frame": "Can be placed inside a Fission Reactor to increase the maximum heat by §95§r", - "tfg.tooltip.component.moderate_core_frame": "Can be placed inside a Fission Reactor to increase the maximum heat by §910§r", - "tfg.tooltip.component.dry_ice": "Can be used as an input in the Fission Reactor to cool it down, requires a Material Holder", - "tfg.tooltip.component.refrigerant_pellet": "Can be used as an input in the Fission Reactor to cool it down, requires a Material Holder", - "tfg.tooltip.component.nuclear_turbine_1": "§eBase Production:§r 8192 EU/t", - "tfg.tooltip.component.nuclear_turbine_2": "Each Rotor Holder above §5EV§r §7adds§r 10% efficiency and multiplies EU/t by 2.", + "tfg.tooltip.component.blue_ice": "核分裂炉に導入することで耐熱許容量を§90.5§r増加させる", + "tfg.tooltip.component.aes_insulation_frame": "核分裂炉に導入することで耐熱許容量を§91§r増加させる", + "tfg.tooltip.component.glacian_fur": "核分裂炉に導入することで耐熱許容量を§92§r増加させる", + "tfg.tooltip.component.impure_moderate_core_frame": "核分裂炉に導入することで耐熱許容量を§95§r増加させる", + "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 8192 EU/t", + "tfg.tooltip.component.nuclear_turbine_2": "§5EV§r以上のローターホルダーでは効率が10%ずつ向上し、発電力が2倍ずつ上昇する。", "tfg.tooltip.component.smr_generator_1": "§eBase Production:§r 4096 EU/t", "tfg.tooltip.component.smr_generator_2": "Dedicated to produce power from sCO2 and the Small Modular Reactor.\n Use Lubricant and Booster to increase its efficiency and manage the cooling loop of the SMR.", - "tfg.gui.refrigerator.unify_dates.enabled": "Expiration Date Unification is: §aOn", - "tfg.gui.refrigerator.unify_dates.disabled": "Expiration Date Unification is: §cOff", - "tfg.machine.food_refrigerator_power_usage": "§7Consumes§r %s EU/t §7while active to keep your food fresh.§r", + "tfg.gui.refrigerator.unify_dates.enabled": "自動で食料をまとめる: §aOn", + "tfg.gui.refrigerator.unify_dates.disabled": "自動で食料をまとめる: §cOff", + "tfg.machine.food_refrigerator_power_usage": "動作中は %s EU/t§7消費して§r§7食料を新鮮に保つ§r", "tfg.gui.rnr_plow.random_mode": "Randomize Materials", "tfg.gui.rnr_plow.width": "Path Width: %d Blocks", "tfg.gui.rnr_plow.empty_crushed_base_course": "§cMissing Crushed Base Course!!", "tfg.tooltip.progenitor_cells.mob": "Animal culture: ", - "tfg.tooltip.fake_nutrition_info_listener": "§7§oHold (Shift) for Nutrition Info", - "tfg.tooltip.fake_nutrition_info": "§7Nutrition:", - "tfg.tooltip.cheese_slice_microplastics": "§b- Microplastics: 1.9", + "tfg.tooltip.fake_nutrition_info_listener": "§7§oシフトを押して栄養素を確認", + "tfg.tooltip.fake_nutrition_info": "§7栄養素:", + "tfg.tooltip.cheese_slice_microplastics": "§b- マイクロプラスチック: 1.9", + "tfg.tooltip.recipe_condition.oxygenated.true": "§b酸素がある環境下で動作", + "tfg.tooltip.recipe_condition.oxygenated.false": "§5酸素がない環境下で動作", + "tfg.tooltip.recipe_condition.climate_rain": "Rainfall mm", + "tfg.tooltip.recipe_condition.climate_temp": "Climate °C", + "tfg.tooltip.recipe_condition.gravity": "Gravity m/s²", + "tfg.tooltip.firmalife_greenhouse.oxygen_required": "§cAn oxygenated environment is required!", + "tfg.tooltip.firmalife_greenhouse.oxygen_required.block": "§7An oxygenated environment is required to function as a greenhouse in space.", + "tfg.tooltip.grow_light_disapointment": "§7設置しても作物の成長速度は向上しません...", + "tfg.tooltip.rotten_voiding_cover": "§7腐敗物消去カバーは腐敗したアイテムを消去することに特化したカバーです。", "tfg.gui.menu.field_guide_splash_text": "Tip: Read the field guide!!!", "tfg.gui.menu.ram_usage": "RAM:", "tfg.gui.menu.fps_count": "FPS:", @@ -2113,7 +2248,7 @@ "quests.extreme_voltage.mars.desc.3": "最後にもう一つのアドバイスです。動物は大事にしましょう。中には&a家畜&rとして&f飼いならす&rことができる動物もおり、後の進行で必ず必要になります。\n\nまた、「&a宇宙のあるきかた&r」の章にも火星での生活に関する情報があるので、ぜひ確認してみてください。\n\n常に警戒を怠らず、計画的に行動すれば、火星はあなたの勇気に必ず報いてくれるでしょう。", "quests.extreme_voltage.mars.task": "Land on Mars", "quests.extreme_voltage.nuclear_fuel_factory.title": "核燃料形成機", - "quests.extreme_voltage.nuclear_fuel_factory.subtitle": "危険な熱い棒", + "quests.extreme_voltage.nuclear_fuel_factory.subtitle": "核分裂のスタートライン", "quests.extreme_voltage.nuclear_fuel_factory.desc": "&6核燃料形成機&rは、&c核分裂炉&r用の燃料棒を作るための機械です。\n\n動作の仕組みは熱分解炉とほぼ同じで、&eより高性能なコイル&rを使うほど処理速度が速くなります。燃料棒の製造は&c非常に遅く&r、&c消費電力も多い&rため、可能な限り&a上位のコイル&rを使うことを強くおすすめします。\n\nもうすぐ解禁される&9並列制御ユニット&rにも対応していますが、現時点では使う必要がありません。", "quests.extreme_voltage.heavy_water.title": "重水", "quests.extreme_voltage.heavy_water.subtitle": "重たいお水", @@ -2198,7 +2333,7 @@ "quests.extreme_voltage.first_iv_circuit.subtitle": "EVはもう終わりか?", "quests.extreme_voltage.first_iv_circuit.desc": "ようやく新しい回路を手に入れ、新たなステージへと進むことができます。選択肢は一気に広がりますが、まず最初に目指すべきは &6IV組立機&r です。これを作れるようになると、炉のコンポーネントである&eモデレートコアの耐熱フレーム&rを作成でき、炉の&c耐熱上限&rが大幅に向上し、冷媒ペレットに頼らずに安定稼働できるようになります。\n\nさらに、&5EV回路作成機&rを作れば&bナノプロセッサー系統の回路&rが解禁されます。もちろん、これらの回路にはNanoCPUチップが必要になるため、安定した核分裂システムが整っていることが前提になります。\n\n詳細は&6IV&rの章でしっかり説明されているので、新しいティアへ進むにあたり安心して準備を進められるはずです。", "quests.extreme_voltage.moderate_core.subtitle": "素晴らしいアップグレード", - "quests.extreme_voltage.moderate_core.desc": "ここまでくれば&6核分裂炉&rを本格的に強化することができます。&eモデレートコア耐熱フレーム&rは2種類あり、どちらを作れるかは運次第です。\n\n性能の良い方なら、&dプルトニウム燃料棒1本&rの核分裂炉を&a冷却材の供給なしで&r稼働できるようになります。これで、面倒な&bR冷媒ペレット&r作りから解放されます。もちろん、冷却材と組み合わせれば、&a2プルトニウム燃料棒2本&rで稼働できる可能性もあります。\n\nこのコアを作る工程は「&6グラファイトライン&r」と呼ばれます。失敗したり性能が低いコアができてしまうなど、ランダム要素を楽しむことができます。そのため&dAE2&rによる全自動化は少し工夫が要りますが、不可能ではありません。\n\n最適なやり方というのは環境によっても変わるため、ぜひ実際に構築しながら効率の良い方法を見つけてみてください。", + "quests.extreme_voltage.moderate_core.desc": "ここまでくれば&6核分裂炉&rを本格的に強化することができます。&eモデレートコアフレーム&rは2種類あり、どちらを作れるかは運次第です。\n\n性能の良い方なら、&dプルトニウム燃料棒1本&rの核分裂炉を&a冷却材の供給なしで&r稼働できるようになります。これで、面倒な&b冷媒ペレット&r作りから解放されます。もちろん、冷却材と組み合わせれば、&aプルトニウム燃料棒2本&rで稼働できる可能性もあります。\n\nこのコアを作る工程は「&6グラファイトライン&r」と呼ばれます。失敗したり性能が低いコアができてしまうなど、ランダム要素を楽しむことができます。そのため&dAE2&rによる全自動化は少し工夫が要りますが、不可能ではありません。\n\n最適なやり方というのは環境によっても変わるため、ぜひ実際に構築しながら効率の良い方法を見つけてみてください。", "quests.extreme_voltage.abs.subtitle": "溶かして混ぜちゃえ", "quests.extreme_voltage.abs.desc": "&6合金高炉&r(通称:ABS)は、かなり特別なマルチブロックです。&6EBF&rに似た仕組みをしており、高性能なコイルを使えば「POC」が可能になります。また、EBFのほとんどのレシピを&a通常より25%速く&r処理できるのも大きな強みです。なお、インゴットではなく「熔融液体」になる点はご注意ください。\n\nABSの最大の利点は、&6大型機械&rの構築に必要となる合金を作れることです。粉砕機や蒸留機のような基本機械には、それぞれ大型版(マルチブロック版)が存在し、搬入・搬出ハッチの増設や並列制御ユニットの追加など、柔軟にカスタマイズできます。\n\n大型機械の詳しい仕組みについては、「&6Gregtechの電力システム&r」の章をご覧ください。", "quests.extreme_voltage.ev_mixer.title": "&5EVミキサー&r", @@ -2325,7 +2460,7 @@ "quests.extreme_voltage.radiation.task": "Safety First!", "quests.extreme_voltage.hexafluorosilic_acid.title": "六フッ化ケイ酸", "quests.extreme_voltage.hexafluorosilic_acid.subtitle": "フッ酸の中に、石が、ある!", - "quests.extreme_voltage.hexafluorosilic_acid.desc": "六フッ化ケイ酸は、赤色花崗岩、粗面岩、または粘土質岩の粉末を化学槽でフッ化水素酸に浸すことで作れます。これらの粉末は、破砕機を使えば無限に入手可能です。", + "quests.extreme_voltage.hexafluorosilic_acid.desc": "六フッ化ケイ酸は、黄土岩の粉末を化学槽でフッ化水素酸に浸すことで作れます。この粉末は、破砕機を使えば無限に入手可能です。", "quests.extreme_voltage.martian_sludge.title": "火星の泥漿", "quests.extreme_voltage.martian_sludge.subtitle": "べちゃべちゃな工程", "quests.extreme_voltage.martian_sludge.desc": "六フッ化ケイ酸を遠心分離すると、フッ素を回収できるほか、&6火星の泥漿&rも得られます。これはラドンや核分裂残留物の生成に必要な素材です。", @@ -2721,7 +2856,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と&7炭素&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": "月面スタンプラリー", @@ -2735,6 +2870,10 @@ "quests.high_voltage.final_dust.desc": "&e金星&rに到達するまでは、&7月&rで確保できる&c無限資源&rはこれだけです。\n\nこれらの資源が無限化されていれば、&dGregTech&rをかなり快適に進められるでしょう。&a月面基地&rの維持にも欠かせません。\n\n具体的な用途:\n•&dAE2コンポーネント&rの作成\n•&6レールガンの弾&rの&c無限&r生産\n\n資源が無限化されたことで、いくつかのパッシブラインを組むことができるようになったと思います。そちらに注力してもいいかもしれません。", "quests.high_voltage.titanium_greate.title": "Greate-チタニウムエディション", "quests.high_voltage.titanium_greate.desc": "TerraFirmaGregにおいてGreateの要素はこれで最後です。超高電圧にふさわしい超高性能ではありますが...今さら歯車を回したいですか?", + "quests.high_voltage.pisciculture.title": "養殖場", + "quests.high_voltage.pisciculture.subtitle": "頭がよくなる", + "quests.high_voltage.pisciculture.desc.1": "&b養殖場&rは無限に魚を入手できる施設であり、&3アクアポニックス・ループ&rに必要なマルチブロックでもあります。これは養殖場と&2電気温室&rの間でレシピが循環し、互いの生産量を強化し合う構造です。正しく構築すれば、外部からの投入物を一切必要としません。", + "quests.high_voltage.pisciculture.desc.2": "&5注記:&rこの構造物は、液体タグ&o&7#tfg:pisciculture_fishery_fluids&r&rを持つ任意の液体で満たすことができます。ただし、一部の液体は宇宙空間だと凍結すること、またマルチブロックコントローラーが&n酸素のある環境&rに設置されていない場合、実行できないレシピがある点に注意してください。", "quests.low_voltage": "&7LV&r - 低電圧時代", "quests.low_voltage.subtitle": "どんな元素も無駄にしない優しい工業mod", "quests.low_voltage.lv_machine_hull.title": "第二のマシン筐体", @@ -2928,10 +3067,10 @@ "quests.low_voltage.lv_circuit_assembler.desc.1": "これからは、すべての回路を&3回路作成機&rで作るようにしましょう。&6LVやMV回路を簡単に&r作れるようになります。\n\n&3回路作成機&rを新しいティアにアップグレードするたびに、より&d高性能な種類の回路&rを作れるようになります。必要な素材は&c複雑な&rものや&m少し&r珍しいものもありますが、全体的に制作効率が良くなります。", "quests.low_voltage.lv_circuit_assembler.desc.2": "&l&3余談:&r&o回路作成機は、歴代のGregTechで登場したり姿を消したりしてたんだ。GT5では登場せず、GT5Unofficialで再び追加された。GTCEでは見送られて、GTCEuではまた登場して...神出鬼没だね。", "quests.low_voltage.lv_greenhouse.title": "電気温室", - "quests.low_voltage.lv_greenhouse.subtitle": "KubeJSは全てを解決する", - "quests.low_voltage.lv_greenhouse.desc.1": "マルチブロック機械である&3電気温室&rは、Createに頼らず、電気の力で&a木&rや作物を安定して生産できる便利な設備です。さらに、TFCの装飾用植物なども栽培できます!\n\nこの機械は数少ない&2パーフェクトオーバークロック(POC)&r対応の装置のひとつです。POCの場合は入力電圧のティアが上がるたびに実行速度がx4ずつ上昇していきます(通常はx2ずつです)!", - "quests.low_voltage.lv_greenhouse.desc.2": "&9注意:&rMVレシピを実行するには、&bMV&rエネルギーハッチを1個、または&7LV&rエネルギーハッチを2個設置する必要があります。マルチブロック機械は、同じティアの電力を4A分合わせることで1つ上位のティア相当として扱われます。\n\nEMIでレシピが&bMV&rと表示されている場合、コントローラー画面の表示が&bMV&r以上になっていないと動作しません。\n\n&9注意:&rこの装置を組み立てるには大量の&7スチール&rが必要です。スチールは&3EBF&rによって簡単に作成できるようになります。", - "quests.low_voltage.lv_greenhouse.desc.3": "&l&3余談:&r&oこのマルチブロック機械は、もともとGTCEu_Community_Pack用に開発されたもので、いまはGTCEuの開発者向けドキュメントにも掲載されているよ。TFCでの植物の成長速度に合わせて動作がかなり遅めに調整されてるんだけど、TFGの0.9以前のバージョンでは、なんと1レシピにほぼ1時間もかかってたんだ!", + "quests.low_voltage.lv_greenhouse.subtitle": "KubeJSは全てを解決...してた", + "quests.low_voltage.lv_greenhouse.desc.1": "マルチブロック機械である&3電気温室&rは、Createに頼らず、電気の力で&a木&rや作物を安定して生産できる便利な設備です。さらに、TFCの装飾用植物なども栽培できます!", + "quests.low_voltage.lv_greenhouse.desc.2": "&9注意:&rこのマルチブロックは、壁面に任意の鉄の温室ブロックを使うことができます。使用可能なブロックの詳細についてはEMIのマルチブロック情報を確認してください。電気温室(EGH)は、肥料の使用や、後の&cHV&r段階で&3アクアポニックス・ループ&rを導入するなど、いくつかの方法でより効率的に動かすことも可能です。&r", + "quests.low_voltage.lv_greenhouse.desc.3": "&l&3余談:&r&oこのマルチブロック機械は、もともとGTCEu_Community_Pack用に開発されたもので、いまはGTCEuの開発者向けドキュメントにも掲載されているよ。TFCでの植物の成長速度に合わせて動作がかなり遅めに調整されてるんだけど、TFGの0.9以前のバージョンでは、なんと1レシピにほぼ1時間もかかってたんだ!\n\nTFGの0.11では、レシピと構造が改変されて、さらに「水耕栽培施設」という第二形態の追加だったりRubenVergさんによるカスタムレンダーとかもあって、完全に一から作り直されたんだ。\n\nそんでこのクエストの元のサブタイトルは「KubeJSは全てを解決する」だったんだ。これは当初、この機械がKubejsで作られたカスタムマシン――つまり開発キットの実例だったからね。でも今では、TFCの食品特性を正しくサポートするために、全部Javaで実装されてるんだって。", "quests.low_voltage.lv_centrifuge.title": "基本型遠心分離機", "quests.low_voltage.lv_centrifuge.subtitle": "逆ミキサー", "quests.low_voltage.lv_centrifuge.desc.1": "&l鉱石処理以外での用途:&r\n\nこの機械にできないことはあるのでしょうか?粉末を種類ごとに分離、空気の分離、税金の申告、それ以外にも...\n\nとにかく、用途が多すぎます!つまりは、&c遠心分離機は必須!&rということです。", @@ -3228,7 +3367,7 @@ "quests.medium_voltage.mv_energy_hatch.desc": "&7LV&rバッテリーバッファと&7LV&rエネルギーハッチでは、もはや全くの力不足です。\n\nそろそろ&3MVエネルギーハッチ&rに更新しましょう。これで、&3変圧器&rを使わずともMV電力を使用できます。", "quests.medium_voltage.mv_kanthal_coil.title": "カンタルコイル", "quests.medium_voltage.mv_kanthal_coil.subtitle": "熱い!熱い!", - "quests.medium_voltage.mv_kanthal_coil.desc": "&3カンタルコイル&rは重要なアイテムです。これを用いることで、&3EBF&rの温度を&d2700K&rまで上げられるようになります。温度が上がることで、新たなレシピが解禁されるほか、従来の精錬を&e高速&rで行うことが可能となります。詳しくは&aエネルギー&r関連のクエストを参照してください。\n\nなお、複数種類のコイルを混ぜて使うことは不可能です。", + "quests.medium_voltage.mv_kanthal_coil.desc": "&3カンタルコイル&rは重要なアイテムです。これを用いることで、&3EBF&rの温度を&d2700K&rまで上げられるようになります。温度が上がることで、新たなレシピが解禁されるほか、従来の精錬を&e高速&rで行うことが可能となります。詳しくは&a「GregTechの電力システム」&rのクエストを参照してください。\n\nなお、複数種類のコイルを混ぜて使うことは不可能です。", "quests.medium_voltage.mv_kanthal_ingot.title": "カンタル", "quests.medium_voltage.mv_kanthal_ingot.subtitle": "今、カンタルがアツい!", "quests.medium_voltage.mv_kanthal_ingot.desc.1": "Hot and Notが帰って来た!こないで\n\n&aTerrafirmaCraft&rをバケツまで進めた皆さんなら、きっと覚えているはず。\n\n&c熱い○○インゴット&r系のアイテムは、トングなどの対策アイテム無しに持っていると&c炎上状態&rになります。\n\nまた、今回は&aTFC&rのそれと異なり、&c温度が自然低下しません&r。機械を用意して、能動的に冷やす必要があります。", @@ -3293,7 +3432,7 @@ "quests.metal_age.copper_diving.desc": "洞窟の帯水層、何とかしたいですよね。\n銅の潜水装備を作れば最大20分間の潜水が可能です!", "quests.metal_age.bloomery.title": "塊鉄炉", "quests.metal_age.bloomery.subtitle": "鉄器時代を目指して。", - "quests.metal_age.bloomery.desc": "塊鉄炉は、錬鉄を作成するためのTerraFirmaCraftのマルチブロックです。\n炉で鉄鉱石を溶かすと鋳鉄になってしまいます。これは脆く、錬鉄ほどの耐久性もありません。\n\n塊鉄炉は高価なので、自動プレート生産と鉱石処理の設備を整備するのもよいでしょう。\n\nフィールドガイドには、塊鉄炉の仕組みと必要な鉄と木炭の正しい比率に関する詳しい情報が記載されています。", + "quests.metal_age.bloomery.desc": "塊鉄炉は、錬鉄を作成するためのTerraFirmaCraftのマルチブロックです。\n炉で鉄鉱石を溶かすと鋳鉄になってしまいます。これは脆く、錬鉄ほどの耐久性もありません。\n\n塊鉄炉は高価なので、自動プレート生産と鉱石処理の設備を整備するのもよいでしょう。\n\nフィールドガイドには、塊鉄炉の仕組みと必要な鉄と燃料の正しい比率に関する詳しい情報が記載されています。", "quests.metal_age.mining.title": "金属時代の採掘", "quests.metal_age.mining.subtitle": "誰にだって止められっこないさ", "quests.metal_age.mining.desc": "採掘、それはこのModPackの醍醐味の一つです!金属時代の進行にも&l大量の&r金属が必要になります。\nそこで役に立つのが採掘用ハンマーです!これは、採掘速度が少し遅くなる代わりに、3x3x1の範囲のブロックを採掘できるツールです。\nスニークして、一度に1つのブロックを破壊することもできます。", @@ -3527,7 +3666,7 @@ "quests.ore_proc.gem_slurry.desc": "宝石の&6泥漿処理&rは、ルビー・サファイア・グリーンサファイア向けの特別な処理ルートです。必須ではありませんが、ちょっとした手間でより多くの資源を回収できます。 電解処理と比べて:\n\n-&cルビー泥漿&rではアルミとクロムがほぼ3倍に!\n\n-&9サファイア泥漿&rではアルミが2倍に!\n\n-&aグリーンサファイア泥漿&rでは2倍のアルミとベリリウムのおまけ付き!\n\nそのうえ、どの泥漿処理でも少量のチタン・鉄・バナジウムを追加で得られる可能性があります。", "quests.ore_proc.gem_slurry.task": "Any Gem Slurry Ore", "quests.moon": "月", - "quests.space_survival.subtitle": "人の手がまだ及んでいない、人類最後の秘境……それは宇宙!", + "quests.moon.subtitle": "人の手がまだ及んでいない、人類最後の秘境……それは宇宙!", "quests.space_survival.preparations.title": "出発に先立って", "quests.space_survival.preparations.subtitle": "宇宙旅行は準備がすべて!", "quests.space_survival.preparations.desc": "そんなことより早く出発したいですって?その熱意は大事ですが、熱意だけで宇宙を生き抜くことは出来ません。何事にも&9準備&rが必要です。さもなくば、石ひとつ持ち帰ることも出来ずに死んでしまいますよ?\n\n宇宙旅行に最低限必要なものは以下の通りです。\n・宇宙服と呼吸のための空気\n・ロケットとドラム1杯の燃料\n・宇宙から帰還するためのロケット発射台\n・大量の食料と水\n・自衛のための武器や防具", @@ -4159,7 +4298,7 @@ "quests.tfg.chunk_limit.desc": "サーバーで遊んでいる場合、デフォルトのフォースロード設定できるチャンク数はかなり少なく抑えられています。\n\nサーバー管理者であれば、README.txtに従ってこの上限を変更できます。また、自分にOP権限がある、あるいはチートをオンにしている場合は、「&a/ftbchunks admin extra_force_load_chunks @p set X&r」というコマンドを使えば、自分のフォースロード上限をXの値に設定できます。", "quests.tfg.field_guide.title": "クエストに関する重要な情報!", "quests.tfg.field_guide.subtitle": "もっといろいろ知りたいですか?", - "quests.tfg.field_guide.desc": "クエストはまだ開発中で、常に改善に努めています!特定のゲーム内の仕様に関する多くの情報は、インベントリの「本」タブからアクセスできるフィールドガイドにも記載されています。\n\nクエストですべてが説明されるわけではないので、EMIとフィールドガイドはあなたの強い味方になることを覚えておいてください。\n\n追記:この文章は日本語の時のみ表示されます。クエストの文章がおかしなところで改行されることなどで悩んでいる場合は「Better Line Break」というModを導入することをお勧めします。このModは日本語でのクエストの表示を改善してくれます。\nまた、クエストは日本語で読みたいけれど、アイテムは英語で検索したいという場合は「Untranslated Items」というModの導入をお勧めします。ツールチップに日本語名と英語名の両方が表示されるようにしてくれます。", + "quests.tfg.field_guide.desc": "クエストはまだ開発中で、常に改善に努めています!特定のゲーム内の仕様に関する多くの情報は、インベントリの「本」タブからアクセスできるフィールドガイドにも記載されています。\n\nクエストですべてが説明されるわけではないので、EMIとフィールドガイドはあなたの強い味方になることを覚えておいてください。", "quests.tfg.books_again.title": "本をなくした方へ", "quests.tfg.books_again.desc": "クエストブックとフィールドガイドの本がまた欲しいですか?コピーはこのクエストで何度でももらえるので安心してください。", "quests.tfg_tips": "Tips - サバイバル", @@ -4810,6 +4949,7 @@ "quests.tfg_tips.cellar_blocks.title": "貯蔵庫での保管方法", "quests.tfg_tips.cellar_blocks.subtitle": "食品の集合住宅", "quests.tfg_tips.cellar_blocks.desc": "&b食品棚&rは、あらゆる食品を保管できます。&b吊るし棚&rは、&a肉&rと&aニンニク&rを保管するために使用できます。\nここに保管された食品は、&d壺&rよりも強力な保存特性を受け取ります。", + "quests.tfg_tips.cellar_blocks.task": "Any food shelf or hanger", "quests.tfg_tips.beneath.title": "The Beneath", "quests.tfg_tips.beneath.subtitle": "おい地獄さ行ぐんだで!", "quests.tfg_tips.beneath.desc": "地の底深く、&d岩盤&rを越えた先には過酷な地下空間である&4The_Beneath&rがあります。\n&4Beneath&rには進行に必須な要素はありませんが、多くのリソースと生活の質を向上させる要素が眠っています。", @@ -4818,7 +4958,7 @@ "quests.tfg_tips.beneath_prep.desc": "&4Beneath&rは非常に危険です。地球の中心に近いため、平均気温は常に&c15°C以上&rであり、深く潜るほど高くなります。そして危険な生物たちが数多く潜んでいます。\nこの先のクエストでは、探索をするために必要な準備を教えます。", "quests.tfg_tips.beneath_temp_management.title": "体温管理:冷却手段", "quests.tfg_tips.beneath_temp_management.subtitle": "隙を見て冷却", - "quests.tfg_tips.beneath_temp_management.desc": "&4Beneath&rは、気温が高いため、体を冷却する手段として&a水&rを持っていきましょう。\n一時的な基地を作る予定がある場合は、極地地域で採掘した&b氷塊&rを持っていくといいでしょう。", + "quests.tfg_tips.beneath_temp_management.desc": "&4Beneath&rは、気温が高いため、体を冷却する手段として&a水&rや&a液化氷泥&rを持っていきましょう。\n一時的な基地を作る予定がある場合は、極地地域で採掘した&b氷塊&rを持っていくといいでしょう。", "quests.tfg_tips.beneath_clothes.title": "体温管理:服装", "quests.tfg_tips.beneath_clothes.subtitle": "クールビズ", "quests.tfg_tips.beneath_clothes.desc": "&b服&rも体温管理において重要な役割を果たします。&4Beneath&rに行く前に最も簡単に作れるのは&d麻の服&rです。\n\n&d絹製の服&rには&a絹糸&rが必要で、これは&cWebbed_Lair&rと呼ばれるBeneath内のバイオームに大量にあります。\n\n&9青鋼&rの製造に成功していた場合はよりよい装備が作れます。", diff --git a/kubejs/assets/wan_ancient_beasts/lang/en_us.json b/kubejs/assets/wan_ancient_beasts/lang/en_us.json index 0c8c38a9e..494713798 100644 --- a/kubejs/assets/wan_ancient_beasts/lang/en_us.json +++ b/kubejs/assets/wan_ancient_beasts/lang/en_us.json @@ -3,5 +3,7 @@ "block.wan_ancient_beasts.quick_red_sand": "Hematitic Quicksand", "item.wan_ancient_beasts.toxlacanth": "Raw Toxlacanth", "item.wan_ancient_beasts.raw_ancient_meat": "Raw Eater Drumstick", - "item.wan_ancient_beasts.cooked_ancient_meat": "Cooked Eater Drumstick" + "item.wan_ancient_beasts.cooked_ancient_meat": "Cooked Eater Drumstick", + "config.jade.plugin_tfc.surfer": "Surfer", + "config.jade.plugin_tfc.soarer": "Soarer" } \ No newline at end of file From 2ee4a8cf3c048374fe88fb62cafe42f6b5067f70 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 22 Jan 2026 22:42:50 +0000 Subject: [PATCH 194/474] tweak oil textures --- .../textures/block/fluids/fluid.oil_light.png | Bin 5061 -> 5063 bytes .../block/fluids/fluid.oil_medium.png | Bin 5058 -> 5060 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.oil_light.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.oil_light.png index 1a4892311945ee24fa5ad5d5cc140ece805a5bf4..3b60203e117664c3d212adfb4dfe8ccb5daa7465 100644 GIT binary patch delta 5052 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 amwlI9m2h~E>OBSq1_n=8KbLh*2~7aTchO=1 delta 5050 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 RFarYvgQu&X%Q~loCIHW#!KVNK From 0838fab0bd117e6dad220df8dac3bea3f8bbca43 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 22 Jan 2026 22:42:59 +0000 Subject: [PATCH 195/474] pakku, changelog --- CHANGELOG.md | 8 + .../quests/chapters/hv__high_voltage.snbt | 2 +- pakku-lock.json | 183 ++++++++++++------ 3 files changed, 134 insertions(+), 59 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ddd4fb17..06cc3cd55 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,8 @@ - Mars log electric greenhouse recipes now output the same amount of logs as earth log recipes @Pyritie - Geodes (in newly generated chunks) are now completely solid so they won't cause cave-ins any more @Pyritie - Recolored the different oils so you can actually tell them apart visually @Pyritie +- The food meter's saturation level is now indicated by a gold outline instead of a red one, so it's less difficult to see (#2812) @TreyR9 +- Changed some of the colors of Greate things to make the different tiers more visually distinct @Pyritie ### Bug fixes - Fixed a config bug causing waves to deposit shells etc with 100% chance. @Mqrius - Fixed a bug preventing the Pisciculture Fishery and Hydroponics Facility from overclocking. @Redeix @@ -23,8 +25,14 @@ - Fixed roads losing their movement speed bonus (#2790) @Pyritie - Fixed water wheels misbehaving again (#2791) @Pyritie - Fixed not being able to cast steel or higher tier materials into ceramic molds (#2789, #2794) @Pyritie +- Fixed the Ad Astra airlock not counting as a cleanroom door (#2808) @thederpysockdude123 +- Removed some leftover rock dust centrifuge recipes (#2804) @thederpysockdude123 +- Fixed some mars plants self-destructing @Pyritie ### Translation updates - Spanish @NikoNeko17 +- Russian @Petr211071 +- Chinese (simplified) @jmecn +- Japanese @sakura-gondra ## [0.11.17] - 20-01-2026 ### Important note diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index b2d05fe1f..f9e60e956 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -911,7 +911,6 @@ dependencies: ["52AD30F04DD5A812"] dependency_requirement: "all_started" description: ["{quests.high_voltage.hv_mixer.desc}"] - icon: "gtceu:hv_mixer" id: "05ABC370D7153350" subtitle: "{quests.high_voltage.hv_mixer.subtitle}" tasks: [{ @@ -923,6 +922,7 @@ "ftbfiltersystem:filter": "or(item(gtceu:hv_mixer)item(greate:stainless_steel_mechanical_mixer))" } } + title: "{quests.tasktype.item.any}" type: "item" }] title: "{quests.high_voltage.hv_mixer.title}" diff --git a/pakku-lock.json b/pakku-lock.json index f16d62b50..1e688e275 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -5968,7 +5968,7 @@ "curseforge": "ftb-teams-forge" }, "name": { - "curseforge": "FTB Teams (Forge)" + "curseforge": "FTB Teams (NeoForge)" }, "id": { "curseforge": "404468" @@ -5977,7 +5977,7 @@ "files": [ { "type": "curseforge", - "file_name": "ftb-teams-forge-2001.3.1.jar", + "file_name": "ftb-teams-forge-2001.3.2.jar", "mc_versions": [ "1.20.1" ], @@ -5985,19 +5985,19 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6130/786/ftb-teams-forge-2001.3.1.jar", - "id": "6130786", + "url": "https://edge.forgecdn.net/files/7499/810/ftb-teams-forge-2001.3.2.jar", + "id": "7499810", "parent_id": "404468", "hashes": { - "sha1": "c2af94e0b86631cb75daa8de2377ff72527651ca", - "md5": "98efb58ba7cecfb39034544eced0389f" + "sha1": "c49023f5d471aa1ba7fc624d2565fe9e82b7117e", + "md5": "1c547d6f1b22f461f84c5fb79067b0ec" }, "required_dependencies": [ - "404465", - "419699" + "419699", + "404465" ], - "size": 248592, - "date_published": "2025-01-27T16:07:52.110Z" + "size": 252579, + "date_published": "2026-01-21T10:11:35.007Z" } ] }, @@ -10480,34 +10480,9 @@ "modrinth": "RSeLon5O" }, "files": [ - { - "type": "curseforge", - "file_name": "particle_core-0.2.6+1.20.1+forge.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6427/560/particle_core-0.2.6+1.20.1+forge.jar", - "id": "6427560", - "parent_id": "985426", - "hashes": { - "sha1": "91f302ab9b85016aeb3a9a0e85b80650a1d2e984", - "md5": "ac9abf66740c4c6fa0436a369fe446a8" - }, - "required_dependencies": [ - "1005914", - "351264" - ], - "size": 97943, - "date_published": "2025-04-16T00:24:36.463Z" - }, { "type": "modrinth", - "file_name": "particle_core-0.2.6+1.20.1+forge.jar", + "file_name": "particle_core-0.3.1+1.20.1+forge.jar", "mc_versions": [ "1.20.1" ], @@ -10516,19 +10491,44 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/RSeLon5O/versions/bqPuw9aZ/particle_core-0.2.6+1.20.1+forge.jar", - "id": "bqPuw9aZ", + "url": "https://cdn.modrinth.com/data/RSeLon5O/versions/dtIZJ1r3/particle_core-0.3.1+1.20.1+forge.jar", + "id": "dtIZJ1r3", "parent_id": "RSeLon5O", "hashes": { - "sha512": "58c88b1654f3b2d733860aa3358cfa322245f2edc4ee6e79150912bf675c6bdef936f2f4f043a7cc56472a24cdee7f5963b6db2631478446fdcaf14ebc17d94c", - "sha1": "91f302ab9b85016aeb3a9a0e85b80650a1d2e984" + "sha512": "63a2c186e74851fef7ce7871c09126deb0a8090de417753873b74cfe3db3e2d61b699e2fd6033526f38356881c1817e759e34e5b536224c17247bd3b3a6d6be8", + "sha1": "935a8c19cc7a72364fdfe494d9ddbd599f01588d" }, "required_dependencies": [ - "ordsPcFz", - "hYykXjDp" + "hYykXjDp", + "ordsPcFz" ], - "size": 97943, - "date_published": "2025-04-16T00:24:40.146141Z" + "size": 770117, + "date_published": "2026-01-22T01:13:37.946023Z" + }, + { + "type": "curseforge", + "file_name": "particle_core-0.3.1+1.20.1+forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7504/78/particle_core-0.3.1+1.20.1+forge.jar", + "id": "7504078", + "parent_id": "985426", + "hashes": { + "sha1": "935a8c19cc7a72364fdfe494d9ddbd599f01588d", + "md5": "4386c25fd855cc4de76c3458b9a182a5" + }, + "required_dependencies": [ + "351264", + "1005914" + ], + "size": 770117, + "date_published": "2026-01-22T01:13:31.647Z" } ] }, @@ -13903,7 +13903,7 @@ "files": [ { "type": "modrinth", - "file_name": "tacz-tweaks-2.11.2-all.jar", + "file_name": "tacz-tweaks-2.12.1-all.jar", "mc_versions": [ "1.20", "1.20.1" @@ -13912,24 +13912,24 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/H8peNuJG/versions/qD990J7Z/tacz-tweaks-2.11.2-all.jar", - "id": "qD990J7Z", + "url": "https://cdn.modrinth.com/data/H8peNuJG/versions/RMgTVnMg/tacz-tweaks-2.12.1-all.jar", + "id": "RMgTVnMg", "parent_id": "H8peNuJG", "hashes": { - "sha512": "67ab623a60951ce1d6bb9b5a9e0b7a8770b399d19c8de739a7bc7a4f3536126a232cb1292be4f7599b921c2075344dc360e6a80fabbfe6c73c775bcb77fae739", - "sha1": "889c0885b6388fc7966b956a5df4efbb1c758965" + "sha512": "1ba717c181bd2211dbb82f23646d5e152bb8308475a74559b65f0ed027c55e89184ef058512cb5bb1a707e13155c609c929085510710e40f6df9baec1fc0bbf4", + "sha1": "92c9981e2e2f2edecab25ee48c5bade7a14298a8" }, "required_dependencies": [ "ordsPcFz", "SzzJttH8", "1eAoo2KR" ], - "size": 1748066, - "date_published": "2025-12-04T12:41:22.415350Z" + "size": 1894147, + "date_published": "2026-01-22T14:38:58.126712Z" }, { "type": "curseforge", - "file_name": "tacz-tweaks-2.11.2-all.jar", + "file_name": "tacz-tweaks-2.12.1-all.jar", "mc_versions": [ "1.20.1", "1.20" @@ -13938,20 +13938,20 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7293/523/tacz-tweaks-2.11.2-all.jar", - "id": "7293523", + "url": "https://edge.forgecdn.net/files/7506/850/tacz-tweaks-2.12.1-all.jar", + "id": "7506850", "parent_id": "1193263", "hashes": { - "sha1": "889c0885b6388fc7966b956a5df4efbb1c758965", - "md5": "0b11bd77a8d1e56bd8673cc9946023e1" + "sha1": "92c9981e2e2f2edecab25ee48c5bade7a14298a8", + "md5": "d616e17cf5713a027acda0c47f7c98c7" }, "required_dependencies": [ "667299", "351264", "1028108" ], - "size": 1748066, - "date_published": "2025-12-04T12:41:22.310Z" + "size": 1894147, + "date_published": "2026-01-22T14:38:49.923Z" } ] }, @@ -14754,6 +14754,73 @@ } ] }, + { + "pakku_id": "6EW3YLKi2mNaNko0", + "pakku_links": [ + "dGK4XTJPQF2dqXh1" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "wakes-reforged", + "modrinth": "wakes-reforged" + }, + "name": { + "curseforge": "Wakes Reforged", + "modrinth": "Wakes Reforged" + }, + "id": { + "curseforge": "1223529", + "modrinth": "E0SdeAoH" + }, + "files": [ + { + "type": "curseforge", + "file_name": "wakes-1.20.1-Forge-1.0.9.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7494/279/wakes-1.20.1-Forge-1.0.9.jar", + "id": "7494279", + "parent_id": "1223529", + "hashes": { + "sha1": "4e2f19e3c2d36968630f66b370ad0ab984aa5b25", + "md5": "f569011cb7513e81704bf9007e2bcb98" + }, + "required_dependencies": [], + "size": 212248, + "date_published": "2026-01-20T14:12:02.077Z" + }, + { + "type": "modrinth", + "file_name": "wakes-1.20.1-Forge-1.0.8.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/E0SdeAoH/versions/zP45vj8T/wakes-1.20.1-Forge-1.0.8.jar", + "id": "zP45vj8T", + "parent_id": "E0SdeAoH", + "hashes": { + "sha512": "77202cf04a3801e0b4af7d3f335025a37b36b1f5a20ebb47fd238d8be11fafb90250c61117900eb750183a4a201a2f2ecc966cc106aa713f07838807f5f5ce7a", + "sha1": "c90ede36b7fc05a32bf598b8e3a4d31a7e6961fc" + }, + "required_dependencies": [ + "vuNeeDyl", + "EO8aSHxh" + ], + "size": 212191, + "date_published": "2025-12-30T22:22:11.561523Z" + } + ] + }, { "pakku_id": "qM5Yyq0zqqJc8XtT", "pakku_links": [ From 5f064b841f36cef185b59ae4a53a854bd64b0188 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 22 Jan 2026 23:01:36 +0000 Subject: [PATCH 196/474] make gt oreproc much faster (except the thermafuge) --- CHANGELOG.md | 1 + .../quests/chapters/hv__high_voltage.snbt | 1 + kubejs/server_scripts/tfc/recipes.metals.js | 8 +-- .../recipes.material_ores.js | 65 +++++++++++++++++-- 4 files changed, 66 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 06cc3cd55..05ad054d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ - Recolored the different oils so you can actually tell them apart visually @Pyritie - The food meter's saturation level is now indicated by a gold outline instead of a red one, so it's less difficult to see (#2812) @TreyR9 - Changed some of the colors of Greate things to make the different tiers more visually distinct @Pyritie +- Buffed ore washing and ore maceration recipes so at least they aren't so awful compared to Greate's methods @Pyritie ### Bug fixes - Fixed a config bug causing waves to deposit shells etc with 100% chance. @Mqrius - Fixed a bug preventing the Pisciculture Fishery and Hydroponics Facility from overclocking. @Redeix diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index f9e60e956..92974c4a4 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -1008,6 +1008,7 @@ "4AD686D18247315E" "72BD27FEEB34C7B0" ] + dependency_requirement: "one_completed" description: ["{quests.high_voltage.rocket_t1.desc}"] icon_scale: 2.0d id: "3FBDC8552F7D8008" diff --git a/kubejs/server_scripts/tfc/recipes.metals.js b/kubejs/server_scripts/tfc/recipes.metals.js index 4b150403c..64d5e7378 100644 --- a/kubejs/server_scripts/tfc/recipes.metals.js +++ b/kubejs/server_scripts/tfc/recipes.metals.js @@ -298,16 +298,16 @@ function registerTFCMetalsRecipes(event) { .inputFluids("#tfg:clean_water 100") .circuit(4) .itemOutputs(`1x tfc:ore/normal_${ore}`) - .duration(400) - .EUt(GTValues.VA[GTValues.LV]) + .duration(40) + .EUt(GTValues.VHA[GTValues.LV]) event.recipes.gtceu.ore_washer(`tfc:ore_washer/distilled_water/deposit/${ore}/${stone}`) .itemInputs(`1x tfc:deposit/${ore}/${stone}`) .inputFluids(Fluid.of('gtceu:distilled_water', 50)) .circuit(4) .itemOutputs(`1x tfc:ore/normal_${ore}`) - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) + .duration(20) + .EUt(GTValues.VHA[GTValues.LV]) }) }) //#endregion diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js index f2a38a7ec..9624a3cd3 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js @@ -114,7 +114,7 @@ function processPoorRawOre(event, material) { let maceratorRecipe = event.recipes.gtceu.macerator(`macerate_poor_raw_${materialName}_ore_to_crushed_ore`) .itemInputs(poorOreItem) .category(GTRecipeCategories.ORE_CRUSHING) - .duration(400) + .duration(40) .EUt(2) if (multiplier > 1) { @@ -198,7 +198,7 @@ function processNormalRawOre(event, material) { .chancedOutput(crushedOreItem.copyWithCount(1), 2500, 250) .chancedOutput(crushedOreItem.copyWithCount(1), 1250, 250) .category(GTRecipeCategories.ORE_CRUSHING) - .duration(400) + .duration(40) .EUt(2) // Quern @@ -267,7 +267,7 @@ function processRichRawOre(event, material) { .chancedOutput(crushedOreItem.copyWithCount(1), 2500, 500) .chancedOutput(crushedOreItem.copyWithCount(1), 1250, 250) .category(GTRecipeCategories.ORE_CRUSHING) - .duration(400) + .duration(40) .EUt(2) // Quern @@ -292,12 +292,39 @@ function processCrushedOre(event, material) { const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) const impureDustItem = ChemicalHelper.get(TagPrefix.dustImpure, material, 1) const pureOreItem = ChemicalHelper.get(TagPrefix.crushedPurified, material, 1) - const materialName = material.getName(); + if (crushedOreItem !== null && pureOreItem !== null) { - // Bulk washing let byproductMaterial = material.getProperty(PropertyKey.ORE).getOreByProduct(0, material); const byproductItem = ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1) + + // GT machines + event.recipes.gtceu.ore_washer(`wash_${materialName}_crushed_ore_to_purified_ore_distilled`) + .itemInputs(crushedOreItem) + .inputFluids("gtceu:distilled_water 10") + .itemOutputs(pureOreItem, 'gtceu:stone_dust') + .chancedOutput(byproductItem, 3333, 0) + .duration(20) + .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.ore_washer(`wash_${materialName}_crushed_ore_to_purified_ore`) + .itemInputs(crushedOreItem) + .inputFluids("minecraft:water 100") + .itemOutputs(pureOreItem, 'gtceu:stone_dust') + .chancedOutput(byproductItem, 3333, 0) + .circuit(1) + .duration(40) + .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.macerator(`macerate_${materialName}_crushed_ore_to_impure_dust`) + .itemInputs(crushedOreItem) + .itemOutputs(impureDustItem) + .chancedOutput(byproductItem, 1400, 0) + .category(GTRecipeCategories.ORE_CRUSHING) + .duration(20) + .EUt(2) + + // Bulk washing event.recipes.greate.splashing([pureOreItem, Item.of(byproductItem).withChance(0.333), 'gtceu:stone_dust'], crushedOreItem) .id(`tfg:splashing/${materialName}_purified_ore`) @@ -344,6 +371,20 @@ function processPurifiedOre(event, material) { const pureDustItem = ChemicalHelper.get(TagPrefix.dustPure, material, 1) if (pureOreItem !== null && pureDustItem !== null) { + const materialName = material.getName(); + let byproductMaterial = material.getProperty(PropertyKey.ORE).getOreByProduct(1, material); + const byproductItem = ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1) + + // With byproducts + event.recipes.gtceu.macerator(`macerate_${materialName}_crushed_ore_to_dust`) + .itemInputs(pureOreItem) + .itemOutputs(pureDustItem) + .chancedOutput(byproductItem, 1400, 0) + .category(GTRecipeCategories.ORE_CRUSHING) + .duration(20) + .EUt(GTValues.VHA[GTValues.LV]) + + // Without byproducts event.recipes.greate.pressing(pureDustItem, pureOreItem) .recipeTier(1) .id(`greate:pressing/pure_crushed_${material.getName()}_to_pure_dust`) @@ -364,6 +405,20 @@ function processRefinedOre(event, material) { const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1) if (refinedOreItem !== null && dustItem !== null) { + const materialName = material.getName(); + let byproductMaterial = material.getProperty(PropertyKey.ORE).getOreByProduct(2, material); + const byproductItem = ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1) + + // With byproducts + event.recipes.gtceu.macerator(`macerate_${materialName}_refined_ore_to_dust`) + .itemInputs(refinedOreItem) + .itemOutputs(dustItem) + .chancedOutput(byproductItem, 1400, 0) + .category(GTRecipeCategories.ORE_CRUSHING) + .duration(20) + .EUt(GTValues.VHA[GTValues.LV]) + + // Without byproducts event.recipes.greate.pressing(dustItem, refinedOreItem) .recipeTier(1) .id(`greate:pressing/refined_${material.getName()}_to_dust`) From 046b8f464f25eb6c32e0df4d5299c593f1464ba5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 22 Jan 2026 23:54:50 +0000 Subject: [PATCH 197/474] let's buff horsepower because fuck water wheels --- defaultconfigs/createhorsepower-server.toml | 6 +++--- kubejs/assets/tfg/lang/en_us.json | 4 ++-- kubejs/assets/tfg/lang/fr_fr.json | 2 +- kubejs/assets/tfg/lang/ja_jp.json | 2 +- kubejs/assets/tfg/lang/pt_br.json | 2 +- kubejs/assets/tfg/lang/ru_ru.json | 2 +- kubejs/assets/tfg/lang/uk_ua.json | 2 +- kubejs/assets/tfg/lang/zh_cn.json | 2 +- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/defaultconfigs/createhorsepower-server.toml b/defaultconfigs/createhorsepower-server.toml index 99f557598..a6a5b86ba 100644 --- a/defaultconfigs/createhorsepower-server.toml +++ b/defaultconfigs/createhorsepower-server.toml @@ -3,13 +3,13 @@ creatureRPMRange = 16 #How much stress small creatures can produce for the horse crank. #Range: > 1 -smallCreatureStressRange = 8 +smallCreatureStressRange = 16 #How much stress medium creatures can produce for the horse crank. #Range: > 1 -mediumCreatureStressRange = 12 +mediumCreatureStressRange = 24 #How much stress large creatures can produce for the horse crank. #Range: > 1 -largeCreatureStressRange = 16 +largeCreatureStressRange = 32 #The multiplier for "Poor" paths #Range: 0.0 ~ 1.7976931348623157E308 poorMultiplier = 0.5 diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 0d9efc266..691f8f311 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2086,7 +2086,7 @@ "quests.combat_tips.flintlock_gun.subtitle": "Eat Lead!", "quests.combat_tips.flintlock_gun.description": "Well this is the moment you have been waiting for, it's a gun. Now it's not that good of a gun, but technology has to start somewhere. Guns have many advantages compared to other ranged weapons, useful to you now is that &3Glayzes&r and &2Klayzes&r cannot block bullets.\n\nFor more information on how TACZ guns work view the gun at the top of this quest chapter.", "quests.tasktype.checkmark": "Click here to complete this quest/task", - "quests.tasktype.item.any": "Any Item of type:", + "quests.tasktype.item.any": "Any of this item:", "quests.tasktype.lookat": "Look at a:", "quests.tasktype.travelto": "Travel to:", "quests.groups.primitive": "Primitive Age", @@ -3855,7 +3855,7 @@ "quests.steam_age.horse_crank.title": "Your First Power Source", "quests.steam_age.horse_crank.subtitle": "Make your livestock pay rent", "quests.steam_age.horse_crank.desc.1": "The &3Animal Crank&r is your first accessible source of mechanical power. To use it, place the crank on the center of a 7x7 cleared area and leash an animal to it. Different animals will provide different amounts of power, while the blocks underneath will increase the speed of the output power. The area of multiple cranks can overlap.\n\nYou may need to hold a second lead to attach an animal.", - "quests.steam_age.horse_crank.desc.2": "&3Small Animals (8 SU):&r\nWolf, Dog, Pig, Sheep, Goat, Alpaca\n\n&3Medium Animals (12 SU):&r\nCow, Donkey\n\n&3Large Animals (16 SU):&r\nHorse, Mule, Musk Ox, Yak", + "quests.steam_age.horse_crank.desc.2": "&3Small Animals (16 SU):&r\nWolf, Dog, Pig, Sheep, Goat, Alpaca\n\n&3Medium Animals (24 SU):&r\nCow, Donkey\n\n&3Large Animals (32 SU):&r\nHorse, Mule, Musk Ox, Yak", "quests.steam_age.poor_paths.title": "Poor Paths", "quests.steam_age.poor_paths.subtitle": "This is just dirt", "quests.steam_age.poor_paths.desc": "This is the worst kind of road you could use. The animal crank will operate at 8 RPM.", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index b10805f81..9a9a4317b 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -2896,7 +2896,7 @@ "quests.steam_age.horse_crank.title": "Your First Power Source", "quests.steam_age.horse_crank.subtitle": "Make your livestock pay rent", "quests.steam_age.horse_crank.desc.1": "The &3Animal Crank&r is your first accessible source of mechanical power. To use it, place the crank on the center of a 7x7 cleared area and leash an animal to it. Different animals will provide different amounts of power, while the blocks underneath will increase the speed of the output power. The area of multiple cranks can overlap.\n\nYou may need to hold a second lead to attach an animal.", - "quests.steam_age.horse_crank.desc.2": "&3Small Animals (8 SU):&r\nWolf, Dog, Pig, Sheep, Goat, Alpaca\n\n&3Medium Animals (12 SU):&r\nCow, Donkey\n\n&3Large Animals (16 SU):&r\nHorse, Mule, Musk Ox, Yak", + "quests.steam_age.horse_crank.desc.2": "&3Small Animals (16 SU):&r\nWolf, Dog, Pig, Sheep, Goat, Alpaca\n\n&3Medium Animals (24 SU):&r\nCow, Donkey\n\n&3Large Animals (32 SU):&r\nHorse, Mule, Musk Ox, Yak", "quests.steam_age.poor_paths.title": "Poor Paths", "quests.steam_age.poor_paths.subtitle": "This is just dirt", "quests.steam_age.poor_paths.desc": "This is the worst kind of road you could use. The animal crank will operate at 8 RPM.", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index 155f3bde9..134711f8b 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -3855,7 +3855,7 @@ "quests.steam_age.horse_crank.title": "最初の動力源", "quests.steam_age.horse_crank.subtitle": "24時間働けますか?", "quests.steam_age.horse_crank.desc.1": "&3アニマルクランク&rは、最初に利用できる動力源です。使用するには、7x7の整地されたエリアの中央に設置し、動物をリードでつなぎます。\n動物の種類によって出力される応力の大きさが異なり、下のブロックによって回転速度が向上します。それぞれのクランク同士の領域は重なっていても問題ありません。\n\n注意:動物を取り付けるには、リードを2本持っている必要がある場合があります。", - "quests.steam_age.horse_crank.desc.2": "&3小型動物(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小型動物(16 SU):&r\nオオカミ、犬、豚、羊、ヤギ、アルパカ\n\n&3中型動物(24 SU):&r\n牛、ロバ\n\n&3大きな動物(32 SU):&r\n馬、ラバ、ジャコウウシ、ヤク", "quests.steam_age.poor_paths.title": "貧弱な道", "quests.steam_age.poor_paths.subtitle": "奴隷労働", "quests.steam_age.poor_paths.desc": "これは使用できる中で最悪の道路です。アニマルクランクは2RPMで動作します。", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index 5dbc566d9..74c064112 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -1829,7 +1829,7 @@ "quests.steam_age.horse_crank.title": "Sua Primeira Fonte de Energia", "quests.steam_age.horse_crank.subtitle": "Hora de fazer o gado pagar o aluguel", "quests.steam_age.horse_crank.desc.1": "A &3Manivela de Tração&r é sua primeira fonte viável de energia mecânica. Para usá-la, coloque a manivela no centro de uma área limpa de 7x7 blocos e prenda um animal a ela. Diferentes animais geram diferentes quantidades de energia, e os blocos sob eles afetam a velocidade da rotação. Manivelas próximas podem compartilhar parte da área de atuação.\n\nTalvez você precise segurar uma segunda corda na hora de prender o animal.", - "quests.steam_age.horse_crank.desc.2": "&3Animais Pequenos (8 SU):&r\nLobo, Cachorro, Porco, Ovelha, Cabra, Alpaca\n\n&3Animais Médios (12 SU):&r\nVaca, Burro\n\n&3Animais Grandes (16 SU):&r\nCavalo, Mula, Boi-Almiscarado, Iaque", + "quests.steam_age.horse_crank.desc.2": "&3Animais Pequenos (16 SU):&r\nLobo, Cachorro, Porco, Ovelha, Cabra, Alpaca\n\n&3Animais Médios (24 SU):&r\nVaca, Burro\n\n&3Animais Grandes (32 SU):&r\nCavalo, Mula, Boi-Almiscarado, Iaque", "quests.steam_age.poor_paths.title": "Caminhos Ruins", "quests.steam_age.poor_paths.subtitle": "Isso é só terra mesmo", "quests.steam_age.poor_paths.desc": "Esse é o pior tipo de estrada possível. A manivela vai girar a 8 RPM aqui.", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 8be9e20f9..522ddb6b4 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -3701,7 +3701,7 @@ "quests.steam_age.horse_crank.title": "Твой Первый Источник Энергии", "quests.steam_age.horse_crank.subtitle": "Пусть домашние животные платят за жильё", "quests.steam_age.horse_crank.desc.1": "&3Скотный Привод&r — это твой первый доступный источник механической энергии. Чтобы его использовать, размести привод в центре очищенной площадки 7x7 и привяжи к нему животное. Разные животные дают разное количество энергии, а блоки под ними могут увеличить скорость вращения. Площадки нескольких приводов могут перекрываться.\n\nИногда может понадобиться удерживать второй поводок, чтобы прикрепить животное.", - "quests.steam_age.horse_crank.desc.2": "&3Мелкие животные (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Мелкие животные (16 SU):&r\nВолк, Собака, Свинья, Овца, Коза, Альпака\n\n&3Средние животные (24 SU):&r\nКорова, Осёл\n\n&3Крупные животные (32 SU):&r\nЛошадь, Мул, Мускусный бык, Як", "quests.steam_age.poor_paths.title": "Плохие Дорожки", "quests.steam_age.poor_paths.subtitle": "Это просто грязь", "quests.steam_age.poor_paths.desc": "Худший тип дороги, который можно использовать. Скотный привод будет работать на скорости 2 об/мин.", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index c9be8adbe..b1472e75f 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -3780,7 +3780,7 @@ "quests.steam_age.horse_crank.title": "Ваше перше джерело енергії", "quests.steam_age.horse_crank.subtitle": "Змусьте свою худобу платити оренду", "quests.steam_age.horse_crank.desc.1": "&3Тваринний Привід&r — це твій перше доступне джерело механічної енергії. Щоб ним скористатися, постав привід у центрі очищеної ділянки розміром 7x7 блоків і прив’яжи до нього тварину. Різні тварини генерують різну кількість потужності, а блоки під ним впливають на швидкість вихідної енергії. Зони кількох приводів можуть перекриватися.\n\nМожливо, доведеться тримати другий поводок, щоб приєднати тварину.", - "quests.steam_age.horse_crank.desc.2": "&3Малі тварини (8 ОО):&r \nВовк, Собака, Свиня, Вівця, Коза, Альпака\n\n&3Середні тварини (12 ОО):&r \nКорова, Осел\n\n&3Великі тварини (16 ОО):&r \nКінь, Мул, Мускусний віл, Як", + "quests.steam_age.horse_crank.desc.2": "&3Малі тварини (16 SU):&r \nВовк, Собака, Свиня, Вівця, Коза, Альпака\n\n&3Середні тварини (24 SU):&r \nКорова, Осел\n\n&3Великі тварини (32 SU):&r \nКінь, Мул, Мускусний віл, Як", "quests.steam_age.poor_paths.title": "Погані шляхи", "quests.steam_age.poor_paths.subtitle": "Це просто бруд", "quests.steam_age.poor_paths.desc": "Це найгірший тип дороги, яку можна використовувати. Тваринний привід працюватиме зі швидкістю 8 об/хв.", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 5e372b721..30859486c 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -3940,7 +3940,7 @@ "quests.steam_age.horse_crank.title": "你的第一个动力源", "quests.steam_age.horse_crank.subtitle": "让你的牲畜付租金", "quests.steam_age.horse_crank.desc.1": "&3动物曲柄&r 是你第一个可获得的机械动力源。要使用它,将曲柄放在一个7x7清空区域的中心,并用拴绳将动物拴在上面。不同的动物会提供不同数量的动力,而下面的方块会增加输出动力的速度。多个曲柄的区域可以重叠。\n\n你可能需要手持第二根拴绳来拴住动物。", - "quests.steam_age.horse_crank.desc.2": "&3小型动物 (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小型动物 (16 SU):&r\n狼, 狗, 猪, 绵羊, 山羊, 羊驼\n\n&3中型动物 (24 SU):&r\n牛, 驴\n\n&3大型动物 (32 SU):&r\n马, 骡, 麝牛, 牦牛", "quests.steam_age.poor_paths.title": "劣质路面", "quests.steam_age.poor_paths.subtitle": "这只是土", "quests.steam_age.poor_paths.desc": "这是你能使用的最差的道路。动物曲柄将以8RPM运行。", From 6ce28447f5256ed1df24cf4fdb4f858258622daf Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 23 Jan 2026 00:49:57 +0000 Subject: [PATCH 198/474] bump up moon animal spawns a bit --- kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json | 2 +- kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json | 2 +- kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json | 2 +- kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json | 2 +- kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json | 2 +- kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json | 2 +- kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json | 2 +- kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json | 2 +- kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json | 2 +- kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json index a8e0f54b3..bdcadd76f 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json @@ -56,7 +56,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.0003, + "creature_spawn_probability": 0.01, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json index 2895ad9b1..01404bf9a 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json @@ -60,7 +60,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.0006, + "creature_spawn_probability": 0.01, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json index 53dd80166..e1b31499f 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json @@ -55,7 +55,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.0003, + "creature_spawn_probability": 0.0005, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json index dc0984985..78f29f76c 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json @@ -58,7 +58,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.0006, + "creature_spawn_probability": 0.001, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json index a313d8db6..71e451418 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json @@ -54,7 +54,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.0003, + "creature_spawn_probability": 0.01, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json index 3897eeeb7..7fa136647 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json @@ -58,7 +58,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.0006, + "creature_spawn_probability": 0.01, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json index 3ece7dd46..daaa5ff95 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json @@ -55,7 +55,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.0003, + "creature_spawn_probability": 0.01, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json index 82b5a6914..2318e94fa 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json @@ -58,7 +58,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.0006, + "creature_spawn_probability": 0.01, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json index 031090ba2..ce6e50d86 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json @@ -58,7 +58,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.001, + "creature_spawn_probability": 0.02, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json index 2839d273a..1413884ea 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json @@ -67,7 +67,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.001, + "creature_spawn_probability": 0.02, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, From 53ab1367581c749f6dc72c8a226f50680b3f7454 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 23 Jan 2026 01:43:41 +0000 Subject: [PATCH 199/474] add create stock bridge, add missing recipes for certus/fluix deco blocks --- .../chapters/applied_energistics_2.snbt | 40 ++++++++--- kubejs/assets/afc/lang/ru_ru.json | 41 ++++++----- kubejs/assets/tfg/lang/en_us.json | 6 ++ kubejs/server_scripts/ae2/recipes.js | 40 ----------- kubejs/server_scripts/ae2/tags.js | 13 ---- .../create_stock_bridge/recipes.js | 17 +++++ kubejs/server_scripts/main_server_script.js | 1 + .../tfg/stone_types/constants.rocks.js | 20 ++++++ pakku-lock.json | 70 +++++++++++++++++++ 9 files changed, 164 insertions(+), 84 deletions(-) create mode 100644 kubejs/server_scripts/create_stock_bridge/recipes.js diff --git a/config/ftbquests/quests/chapters/applied_energistics_2.snbt b/config/ftbquests/quests/chapters/applied_energistics_2.snbt index 86e58834a..4d9acd900 100644 --- a/config/ftbquests/quests/chapters/applied_energistics_2.snbt +++ b/config/ftbquests/quests/chapters/applied_energistics_2.snbt @@ -72,8 +72,8 @@ quest_links: [{ id: "6845144F7EA1081D" linked_quest: "24158DEE63DAEB41" - x: 5.0d - y: -4.5d + x: 6.0d + y: -3.5d }] quests: [ { @@ -362,6 +362,7 @@ type: "item" } ] + title: "{quests.ae2.cables.title}" x: 0.5d y: -6.0d } @@ -400,7 +401,7 @@ item: "ae2:crafting_unit" type: "item" }] - x: -1.0d + x: -2.0d y: -6.0d } { @@ -412,7 +413,7 @@ item: "ae2:crafting_accelerator" type: "item" }] - x: -2.5d + x: -3.5d y: -6.5d } { @@ -431,7 +432,8 @@ title: "{quests.ae2.crafting_storage.task}" type: "item" }] - x: -2.5d + title: "{quests.ae2.crafting_storage.title}" + x: -3.5d y: -5.5d } { @@ -452,6 +454,7 @@ title: "{quests.ae2.pattern_provider.task}" type: "item" }] + title: "{quests.ae2.pattern_provider.title}" x: 0.5d y: -9.0d } @@ -507,7 +510,7 @@ item: "ae2:interface" type: "item" }] - x: 2.0d + x: 3.0d y: -6.0d } { @@ -526,7 +529,8 @@ title: "{quests.ae2.export_bus.task}" type: "item" }] - x: 3.5d + title: "{quests.ae2.export_bus.title}" + x: 5.0d y: -7.0d } { @@ -653,7 +657,7 @@ item: "ae2:import_bus" type: "item" }] - x: 3.5d + x: 5.0d y: -5.0d } { @@ -680,7 +684,7 @@ type: "item" } ] - x: 3.5d + x: 5.0d y: -6.0d } { @@ -693,7 +697,7 @@ type: "checkmark" }] title: "{quests.ae2.interface_automation.title}" - x: 5.0d + x: 6.5d y: -6.0d } { @@ -1094,6 +1098,7 @@ { id: "270F842BF5012A13" item: "ae2:io_port" + optional_task: true type: "item" } { @@ -1283,6 +1288,21 @@ x: -2.0d y: -9.0d } + { + dependencies: ["25007C5E43D28DB2"] + description: ["{quests.ae2.stock_bridge.desc}"] + id: "0E54B3BCBBA34A00" + optional: true + shape: "heart" + tasks: [{ + id: "1F8D81C524CE694A" + item: "createstockbridge:ae_bridge" + type: "item" + }] + title: "{quests.ae2.stock_bridge.title}" + x: 5.0d + y: -8.0d + } ] subtitle: ["{quests.ae2.subtitle}"] title: "{quests.ae2}" diff --git a/kubejs/assets/afc/lang/ru_ru.json b/kubejs/assets/afc/lang/ru_ru.json index 3ffc65f59..fd8f8aedd 100644 --- a/kubejs/assets/afc/lang/ru_ru.json +++ b/kubejs/assets/afc/lang/ru_ru.json @@ -1,6 +1,5 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "comment_data.13.10.25": "Строчки без перевода: 565-568, 759-766, 711-774", "item.afc.wood.lumber.baobab": "Баобабовая доска", "item.afc.wood.chest_minecart.baobab": "Вагонетка с сундуком из баобаба", "item.tfc.wood.support.baobab": "Опора из баобаба", @@ -463,10 +462,10 @@ "block.afc.wood.sapling.mountain_fir": "Саженец субальпийской пихты", "block.afc.wood.potted_sapling.mountain_fir": "Саженец субальпийской пихты в горшке", "block.afc.wood.fallen_leaves.mountain_fir": "Опавшие листья субальпийской пихты", - "block.afc.wood.leaves.scrub_hickory": "Scrub Hickory Leaves", - "block.afc.wood.sapling.scrub_hickory": "Scrub Hickory Sapling", - "block.afc.wood.potted_sapling.scrub_hickory": "Scrub Hickory Potted Sapling", - "block.afc.wood.fallen_leaves.scrub_hickory": "Scrub Hickory Fallen Leaves", + "block.afc.wood.leaves.scrub_hickory": "Листья карии флоридской", + "block.afc.wood.sapling.scrub_hickory": "Саженец карии флоридской ", + "block.afc.wood.potted_sapling.scrub_hickory": "Саженец карии флоридской в горшке", + "block.afc.wood.fallen_leaves.scrub_hickory": "Опавшие листья карии флоридской", "block.afc.wood.leaves.bigleaf_maple": "Листья крупнолистного клёна", "block.afc.wood.sapling.bigleaf_maple": "Саженец крупнолистного клёна", "block.afc.wood.potted_sapling.bigleaf_maple": "Саженец крупнолистного клёна в горшке", @@ -563,10 +562,10 @@ "block.afc.wood.sapling.flame_of_the_forest": "Саженец лесного пламени", "block.afc.wood.potted_sapling.flame_of_the_forest": "Саженец лесного пламени в горшке", "block.afc.wood.fallen_leaves.flame_of_the_forest": "Опавшие листья лесного пламени", - "block.afc.wood.leaves.lebombo_ironwood": "Lebombo Ironwood Leaves", - "block.afc.wood.sapling.lebombo_ironwood": "Lebombo Ironwood Sapling", - "block.afc.wood.potted_sapling.lebombo_ironwood": "Lebombo Ironwood Potted Sapling", - "block.afc.wood.fallen_leaves.lebombo_ironwood": "Lebombo Ironwood Fallen Leaves", + "block.afc.wood.leaves.lebombo_ironwood": "Листья лебомбо айронвуд", + "block.afc.wood.sapling.lebombo_ironwood": "Саженец лебомбо айронвуд", + "block.afc.wood.potted_sapling.lebombo_ironwood": "Саженец лебомбо айронвуд", + "block.afc.wood.fallen_leaves.lebombo_ironwood": "Опавшие листья лебомбо айронвуд", "block.afc.wood.leaves.horsetail_ironwood": "Листья хвощевидного железного дерева", "block.afc.wood.sapling.horsetail_ironwood": "Саженец хвощевидного железного дерева", "block.afc.wood.potted_sapling.horsetail_ironwood": "Саженец хвощевидного железного дерева в горшке", @@ -757,22 +756,22 @@ "block.afc.wood.potted_sapling.ironwood": "Саженец верховного железного дерева в горшке", "block.afc.wood.fallen_leaves.ironwood": "Опавшие листья верховного железного дерева", "block.afc.wood.leaves.ironwood": "Листья верховного железного дерева", - "block.afc.wood.sapling.cypress": "Slender Cypress Sapling", - "block.afc.wood.potted_sapling.cypress": "Slender Cypress Potted Sapling", - "block.afc.wood.fallen_leaves.cypress": "Slender Cypress Fallen Leaves", - "block.afc.wood.leaves.cypress": "Slender Cypress Leaves", - "block.afc.wood.sapling.teak": "True Teak Sapling", - "block.afc.wood.potted_sapling.teak": "True Teak Potted Sapling", - "block.afc.wood.fallen_leaves.teak": "True Teak Fallen Leaves", - "block.afc.wood.leaves.teak": "True Teak Leaves", + "block.afc.wood.sapling.cypress": "Саженец хиноки", + "block.afc.wood.potted_sapling.cypress": "Саженец хиноки в горшке", + "block.afc.wood.fallen_leaves.cypress": "Опавшие листья хиноки", + "block.afc.wood.leaves.cypress": "Листья хиноки", + "block.afc.wood.sapling.teak": "Саженец тектоны великой", + "block.afc.wood.potted_sapling.teak": "Саженец тектоны великой в горшке", + "block.afc.wood.fallen_leaves.teak": "Опавшие листья тектоны великой", + "block.afc.wood.leaves.teak": "Листья тектоны великой", "block.afc.wood.sapling.eucalyptus": "Саженец голубого эвкалипта", "block.afc.wood.potted_sapling.eucalyptus": "Саженец голубого эвкалипта в горшке", "block.afc.wood.fallen_leaves.eucalyptus": "Опавшие листья голубого эвкалипта", "block.afc.wood.leaves.eucalyptus": "Листья голубого эвкалипта", - "block.afc.wood.sapling.fig": "Rusty Fig Sapling", - "block.afc.wood.potted_sapling.fig": "Rusty Fig Potted Sapling", - "block.afc.wood.fallen_leaves.fig": "Rusty Fig Fallen Leaves", - "block.afc.wood.leaves.fig": "Rusty Fig Leaves", + "block.afc.wood.sapling.fig": "Саженец фикуса рубигиноза", + "block.afc.wood.potted_sapling.fig": "Саженец фикуса рубигиноза в горшке", + "block.afc.wood.fallen_leaves.fig": "Опавшие листья фикуса рубигиноза", + "block.afc.wood.leaves.fig": "Листья фикуса рубигиноза", "block.afc.tree_tap": "Краник для подсочки", "item.afc.rubber_bar": "Резина (Слиток)", "item.afc.maple_sugar": "Кленовый сахар", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 691f8f311..3075912c4 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1945,6 +1945,7 @@ "quests.ae2.drive.subtitle": "The brains of the network", "quests.ae2.drive.desc": "You will need to store your disks, and thanks to the &bMEGA&r addon, you now have an extra option.\n\nYou should start with a &bME Drive&r. It can store up to &e10&r disks and consumes &e4 EU/t&r. This will be your main storage solution.\n\nThe other option is the &bME Cell Dock&r. It only stores &e1&r disk but consumes just &e1 EU/t&r, and it can be placed directly on a cable like a cover. This makes it quite useful for &aSubnets&r.", "quests.ae2.cell_housing.desc": "The &bME Cell Housing&r exists in two versions: one for &aItems&r and one for &9Fluids&r.\n\nYou can take their Storage Component out using a &ePacker&r or simply by Sneak + Right-click while holding the storage cell in your hand.", + "quests.ae2.cables.title": "Fluix Cables", "quests.ae2.cables.subtitle": "The arteries of the network", "quests.ae2.cables.desc": "Your basic cables to connect your &bAE2&r infrastructure.\n\nRemember that regular cables carry only &e8 Channels&r, while &6Dense Cables&r can carry up to &a32 Channels&r.\n\nGood news: in &2TFG&r, you can directly craft the &9Smart Cables&r! They are very helpful as they show a &evisual indicator&r for the number of used channels.", "quests.ae2.terminals.subtitle": "The... fingers? of the network?", @@ -1952,8 +1953,10 @@ "quests.ae2.molecular_assembler.desc": "The &9Molecular Assembler&r is basically your auto-crafting table.\n\nYou can use it for passive crafting, or combine it with a &9Pattern Provider&r.\n\nAs always, check the in-game guide using &eG&r to learn more about it.", "quests.ae2.crafting_unit.subtitle": "The second? brains of the network", "quests.ae2.crafting_unit.desc": "The &dCrafting Unit&r works the same way as your &bME Cell Housing&r.\n\nUse a &6Packer&r to make it functional — by itself, it serves no purpose, though you can use it to complete multi-blocks.\n\nIt’s your mandatory structure to run your &bAE2&r auto-crafting.\n\nAs usual, use the in-game guide from &bAE2&r to learn more about the &dCrafting CPU&r.", + "quests.ae2.crafting_storage.title": "Crafting Storage", "quests.ae2.crafting_storage.desc": "These are mandatory for any sort of auto crafting — the bigger the storage, the bigger the recipe chain that can be done with one request. You can also place multiple of them next to each other to add their storage size.\n\nUse the in-game guide for further details — it will explain everything far better than we ever could in a quest.\n\nTake your time to read it, it’s a great resource!", "quests.ae2.crafting_storage.task": "Any crafting storage", + "quests.ae2.pattern_provider.title": "ME Pattern Provider", "quests.ae2.pattern_provider.subtitle": "These tell your machines how to craft things", "quests.ae2.pattern_provider.desc": "The &9Pattern Provider&r is a modern &bAE2&r block. If you're only familiar with AE2 in previous versions of Minecraft, this is the block that you put your patterns into now instead of an Interface.\n\nIt can push items into the connected inventory on a crafting request, and pushing items back into it will send them back to your ME storage.\n\nIf you connect these to your GregTech machines, make sure you select the \"Allow Input From Output Face\" option on them so you can both input and output from the same side!\n\nAs always, check the in-game guide using &eG&r to learn more about it.", "quests.ae2.pattern_provider.task": "Either Pattern Provider", @@ -1964,6 +1967,7 @@ "quests.ae2.interface_automation.title": "Interface Automation", "quests.ae2.interface_automation.desc": "The best way to passively route items and fluids around your base is through the &bME Interface&r. Since Interfaces don't push out their contents, you'll need to slap a cover on your machine or pipe.\n\nRemember to enable the &eAllow Input&r option on the Output face in your GregTech machine's GUI, in order to push and pull from the same side.\n\nUsing filters on your covers can also be a handy way for multiple machines to pull out of the same Interface.\n\nTo avoid overfilling a machine's item input slots, you'll need to use a Robot Arm cover on &eKeep Exact&r mode with a filter.\n\nThe fluid input doesn’t have this issue, as it will fill only one slot automatically.", "quests.ae2.crafting_accelerator.desc": "Simply use the in-game guide — it will explain everything far better than we ever could in a quest.\n\nTake your time to read it, it’s a great resource!", + "quests.ae2.export_bus.title": "Export Bus", "quests.ae2.export_bus.desc": "The &dME Export Bus&r is a strong tool to get items or fluids out of your &dME Network&r.\nOnce you're able to craft them, you should especially look at the &eExtendedAE&r ones, as they can be of great help for some automation.\n\n&cImportant note&r: These have much more of a &4TPS impact&r than something like ME Interfaces, so it's best to use them sparingly.", "quests.ae2.export_bus.task": "Any Export Bus", "quests.ae2.import_bus.desc": "The &dME Import Bus&r is one way to get items and fluids into your &dME Network&r. You could also just push items and fluids into an Interface or Pattern Provider for the same result, though, so Import Buses are more niche.\n\n&cImportant note&r: These have much more of a &4TPS impact&r than something like ME Interfaces, so it's best to use them sparingly.", @@ -1992,6 +1996,8 @@ "quests.ae2.universal_circuits.title": "Universal Circuits", "quests.ae2.universal_circuits.subtitle": "Oh so THAT's what these are for!", "quests.ae2.universal_circuits.desc": "Ever wondered what the point of the Universal Circuit items was? Besides nice quest icons, they're primarily used for AE2!\n\nAE2 doesn't handle item tags in patterns well, so the universal circuits are designed to be used in any patterns that require circuits. This way, whenever you unlock a new kind of circuit, you only need to add one pattern to convert the new circuit into the universal one, instead of updating &oall&r of your old patterns!", + "quests.ae2.stock_bridge.title": "AE Stock Bridge", + "quests.ae2.stock_bridge.desc": "If you invested heavily into Create's logistics network, you might despair at the thought of having to tear it all down to replace it with AE2. The &bStock Bridge&r acts as a bridge between your ME network and your Create one. Check its Ponder to learn how to set it up.\n\nWe still recommend moving over any old setups to AE2 eventually, mostly because it's much lighter on your game's performance.", "quests.ae2.iv.title": "IV Tier AE2", "quests.ae2.iv.desc": "This entire branch becomes fully unlockable once you reach &1IV&r.", "quests.ae2.accumulation_press.desc": "To get this &eNew Inscriber Press&r, you will need to invest a bit.\n\nFirst, you must upgrade your Implosion Compressor with &5two EV Energy Hatches&r.\n\nThen, get yourself a new IV Laser Engraver if you don't already have one.\n\nAnd finally, prepare a lot of Industrial TNT — it’s the &conly one that works&r for this process.\n\nPlan carefully, as this step is quite demanding!", diff --git a/kubejs/server_scripts/ae2/recipes.js b/kubejs/server_scripts/ae2/recipes.js index 6ded94a6a..28a2a9c60 100644 --- a/kubejs/server_scripts/ae2/recipes.js +++ b/kubejs/server_scripts/ae2/recipes.js @@ -2314,46 +2314,6 @@ const registerAE2Recipes = (event) => { .category(GTRecipeCategories.MACERATOR_RECYCLING) .EUt(GTValues.VA[GTValues.ULV]) - // Certus deco blocks - - event.stonecutting('ae2:quartz_block', '#tfg:certus_quartz_blocks') - event.stonecutting('ae2:cut_quartz_block', '#tfg:certus_quartz_blocks') - event.stonecutting('ae2:smooth_quartz_block', '#tfg:certus_quartz_blocks') - event.stonecutting('ae2:quartz_bricks', '#tfg:certus_quartz_blocks') - event.stonecutting('ae2:quartz_pillar', '#tfg:certus_quartz_blocks') - event.stonecutting('ae2:chiseled_quartz_block', '#tfg:certus_quartz_blocks') - event.stonecutting('ae2:quartz_stairs', '#tfg:certus_quartz_blocks') - event.stonecutting('ae2:cut_quartz_stairs', '#tfg:certus_quartz_blocks') - event.stonecutting('ae2:smooth_quartz_stairs', '#tfg:certus_quartz_blocks') - event.stonecutting('ae2:quartz_brick_stairs', '#tfg:certus_quartz_blocks') - event.stonecutting('ae2:chiseled_quartz_stairs', '#tfg:certus_quartz_blocks') - event.stonecutting('ae2:quartz_pillar_stairs', '#tfg:certus_quartz_blocks') - event.stonecutting('ae2:quartz_wall', '#tfg:certus_quartz_blocks') - event.stonecutting('ae2:cut_quartz_wall', '#tfg:certus_quartz_blocks') - event.stonecutting('ae2:smooth_quartz_wall', '#tfg:certus_quartz_blocks') - event.stonecutting('ae2:quartz_brick_wall', '#tfg:certus_quartz_blocks') - event.stonecutting('ae2:chiseled_quartz_wall', '#tfg:certus_quartz_blocks') - event.stonecutting('ae2:quartz_pillar_wall', '#tfg:certus_quartz_blocks') - event.stonecutting('2x ae2:quartz_slab', '#tfg:certus_quartz_blocks') - event.stonecutting('2x ae2:cut_quartz_slab', '#tfg:certus_quartz_blocks') - event.stonecutting('2x ae2:smooth_quartz_slab', '#tfg:certus_quartz_blocks') - event.stonecutting('2x ae2:quartz_brick_slab', '#tfg:certus_quartz_blocks') - event.stonecutting('2x ae2:chiseled_quartz_slab', '#tfg:certus_quartz_blocks') - event.stonecutting('2x ae2:quartz_pillar_slab', '#tfg:certus_quartz_blocks') - - event.recipes.gtceu.macerator('tfg:macerate_certus_deco') - .itemInputs('#tfg:certus_quartz_blocks') - .itemOutputs('4x #forge:dusts/certus_quartz') - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - event.recipes.gtceu.macerator('tfg:macerate_sky_stone') - .itemInputs('#tfg:sky_stone_blocks') - .itemOutputs('ae2:sky_dust') - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) // other deco diff --git a/kubejs/server_scripts/ae2/tags.js b/kubejs/server_scripts/ae2/tags.js index c959424f3..057915aa7 100644 --- a/kubejs/server_scripts/ae2/tags.js +++ b/kubejs/server_scripts/ae2/tags.js @@ -13,19 +13,6 @@ const registerAE2ItemTags = (event) => { event.removeAll('ae2:p2p_attunements/fe_p2p_tunnel') - event.add('tfg:certus_quartz_blocks', 'gtceu:certus_quartz_block') - event.add('tfg:certus_quartz_blocks', 'ae2:quartz_block') - event.add('tfg:certus_quartz_blocks', 'ae2:cut_quartz_block') - event.add('tfg:certus_quartz_blocks', 'ae2:smooth_quartz_block') - event.add('tfg:certus_quartz_blocks', 'ae2:quartz_bricks') - event.add('tfg:certus_quartz_blocks', 'ae2:quartz_pillar') - event.add('tfg:certus_quartz_blocks', 'ae2:chiseled_quartz_block') - - event.add('tfg:sky_stone_blocks', 'ae2:sky_stone_block') - event.add('tfg:sky_stone_blocks', 'ae2:smooth_sky_stone_block') - event.add('tfg:sky_stone_blocks', 'ae2:sky_stone_brick') - event.add('tfg:sky_stone_blocks', 'ae2:sky_stone_small_brick') - event.add('tfg:stone_dusts', 'ae2:sky_dust') event.add('tfg:reactant_fluix_ruby', 'gtceu:ruby_gem') diff --git a/kubejs/server_scripts/create_stock_bridge/recipes.js b/kubejs/server_scripts/create_stock_bridge/recipes.js new file mode 100644 index 000000000..4cfa8fddd --- /dev/null +++ b/kubejs/server_scripts/create_stock_bridge/recipes.js @@ -0,0 +1,17 @@ +"use strict"; + +function registerCreateStockBridgeRecipes(event) { + + event.remove({ id: 'createstockbridge:ae_bridge' }) + + event.shaped('createstockbridge:ae_bridge', [ + 'ACF', + 'DBD' + ], { + A: 'ae2:fluix_pearl', + B: 'ae2:interface', + C: 'create:stock_link', + D: 'ae2:engineering_processor', + F: '#forge:exquisite_gems/rose_quartz' + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 169755c01..e0cddeb76 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -237,6 +237,7 @@ ServerEvents.recipes(event => { registerCreateFactoryLogisticsRecipes(event) registerCreateHorsePowerBlockRecipes(event) registerCreateHypertubeRecipes(event) + registerCreateStockBridgeRecipes(event) registerDeaFissionRecipes(event) registerDiggerHelmetRecipes(event) registerDomumOrnamentumRecipes(event) diff --git a/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js b/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js index 5b389c8e3..fab336d36 100644 --- a/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js +++ b/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js @@ -449,6 +449,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ "crackrack": generateMissing('crackrack', { material: 'tfg:igneous_intermediate', tfcTag: 'tfc:igneous_extrusive_items', + stonecutterTag: 'tfg:stone_types/keratophyre', gravelTag: 'tfc:pink_gravel', sound: 'netherrack', mapColor: 'crimson_stem', @@ -602,6 +603,25 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ }, pillar: 'minecraft:purpur_pillar' }, + "fluix": { + isTFC: false, + collapsible: false, + raw: generateFormsExisting('fluix', 'ae2:%s', { block: 'ae2:fluix_block' }) + }, + "certus": { + isTFC: false, + collapsible: false, + stonecutterTag: 'tfg:stone_types/certus', + raw: { block: 'gtceu:certus_quartz_block' }, + polished: generateFormsExisting('quartz', 'ae2:%s', { block: 'ae2:quartz_block' }), + stonecutting: [ + generateFormsExisting('quartz', 'ae2:cut_%s', { block: 'ae2:cut_quartz_block' }), + generateFormsExisting('quartz', 'ae2:smooth_%s', { block: 'ae2:smooth_quartz_block' }), + generateFormsExisting('quartz', 'ae2:%s_brick', { block: 'ae2:quartz_bricks' }), + generateForms('quartz', 'ae2:%s_pillar'), + generateFormsExisting('quartz', 'ae2:chiseled_%s', { block: 'ae2:chiseled_quartz_block' }), + ] + }, ///////////////////////////////////////////////////////////////////////////////////////////// // MARS ROCKS diff --git a/pakku-lock.json b/pakku-lock.json index 1e688e275..b6e73220b 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -3962,6 +3962,76 @@ } ] }, + { + "pakku_id": "Dzg6pHg5yCqd3AP6", + "pakku_links": [ + "Nw8xTCQngHA15ilh" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "create-stock-bridge", + "modrinth": "create-stock-bridge" + }, + "name": { + "curseforge": "Create Stock Bridge", + "modrinth": "Create Stock Bridge" + }, + "id": { + "curseforge": "1256341", + "modrinth": "V7mbOBO4" + }, + "files": [ + { + "type": "curseforge", + "file_name": "createstockbridge-1.20-0.1.5.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6784/442/createstockbridge-1.20-0.1.5.jar", + "id": "6784442", + "parent_id": "1256341", + "hashes": { + "sha1": "0fa15f11788e3bc3a812fc597ade17af33888952", + "md5": "1359e31326732aac28d21ded5371a9ef" + }, + "required_dependencies": [ + "223794", + "328085" + ], + "size": 170122, + "date_published": "2025-07-18T17:47:38.837Z" + }, + { + "type": "modrinth", + "file_name": "createstockbridge-1.20-0.1.5.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/V7mbOBO4/versions/rzBecedb/createstockbridge-1.20-0.1.5.jar", + "id": "rzBecedb", + "parent_id": "V7mbOBO4", + "hashes": { + "sha512": "ff39b4dd4a024dcb8018bde41d0f77a9321be9b9c6314eb7ea2d5070876d735fc72c0d46b1b27db75fa099062a8f95eb9d860396dd6e9dbc8aae7018a651cd51", + "sha1": "0fa15f11788e3bc3a812fc597ade17af33888952" + }, + "required_dependencies": [ + "XxWD5pD3", + "LNytGWDc" + ], + "size": 170122, + "date_published": "2025-07-18T17:47:40.706650Z" + } + ] + }, { "pakku_id": "Fu7EpxmtyqTkOiMR", "type": "MOD", From 9b4adec5a0d8408505314557c6143c68b8f03b7d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 23 Jan 2026 19:46:47 +0000 Subject: [PATCH 200/474] langs --- kubejs/assets/tfg/lang/zh_cn.json | 10 ++++++++-- kubejs/assets/wan_ancient_beasts/lang/zh_cn.json | 4 +++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 30859486c..2464e8c53 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1812,8 +1812,8 @@ "tfg.tooltip.dna_syringe.explain": "右键点击生物获取DNA样本。放入合成栏可清空其内容物。", "tfg.tooltip.shift_hint": "[按住Shift]", "tfg.tooltip.lab_equipment.part": "§7精确盛装:", - "tfg.tooltip.lab_equipment.set": "“§7不包含一个 5000mB 的圆底烧瓶。”", - "tfg.tooltip.lab_equipment.set_dirty": "“§7如果你不清理这东西,很快就能在里面发现青霉素了。”", + "tfg.tooltip.lab_equipment.set": "§7不包含一个 5000mB 的圆底烧瓶。", + "tfg.tooltip.lab_equipment.set_dirty": "§7如果你不清理这东西,很快就能在里面发现青霉素了。", "tfg.tooltip.single_itemstack_bus.0": "§6物品槽位数量:§f1", "tfg.tooltip.single_itemstack_bus.1": "§6堆叠数量:§f1", "tfg.tooltip.growth_chamber": "通过增加层数,该机器可以同时运行更多配方。", @@ -2030,6 +2030,7 @@ "quests.ae2.drive.subtitle": "网络的大脑", "quests.ae2.drive.desc": "你需要存储你的磁盘,得益于&bMEGA&r附加模组,你现在有了额外选择。\n\n你应该从&bME驱动器&r开始。它最多可存储&e10&r个磁盘,消耗&e4EU/t&r。这将是你主要的存储解决方案。\n\n另一个选择是&bME元件坞&r。它只存储&e1&r个磁盘但仅消耗&e1EU/t&r,并且可以像覆盖版一样直接放置在电缆上。这使得它对于&a子网络&r非常有用。", "quests.ae2.cell_housing.desc": "&bME存储元件外壳&r有两种版本:一种用于&a物品&r,一种用于&9流体&r。\n\n你可以使用&e打包机&r取出其存储组件,或者手持存储单元时按住潜行+右击直接取出。", + "quests.ae2.cables.title": "福鲁伊克斯线缆", "quests.ae2.cables.subtitle": "网络的动脉", "quests.ae2.cables.desc": "用于连接&bAE2&r基础设施的基础线缆。\n\n请注意,常规线缆仅能传输&e8个频道&r,而&6致密线缆&r最多可传输&a32个频道&r。\n\n好消息是:在&2TFG&r中,你可以直接合成&9智能线缆&r!它能通过&e视觉指示器&r显示已占用频道数量,这将为你提供极大便利。", "quests.ae2.terminals.subtitle": "网络的……手指?", @@ -2037,8 +2038,10 @@ "quests.ae2.molecular_assembler.desc": "&9分子装配室&r基本上就是你的自动工作台。\n\n你可以用它进行被动合成,或将其与&9样板供应器&r结合使用。\n\n与往常一样,使用&eG&r键查看游戏内指南以了解更多信息。", "quests.ae2.crafting_unit.subtitle": "网络的第二大脑?", "quests.ae2.crafting_unit.desc": "&d合成单元&r的工作方式与你的&bME存储元件外壳&r相同。\n\n使用&6打包机&r使其正常工作——单独使用时它没有任何用途,但你可以用它来完成多方块结构。\n\n这是运行&bAE2&r自动合成所必需的结构。\n\n像往常一样,使用&bAE2&r的游戏内指南来了解有关&d合成单元&r的更多信息。", + "quests.ae2.crafting_storage.title": "合成存储器", "quests.ae2.crafting_storage.desc": "这些是进行任何自动合成所必需的组件——其存储空间越大,单次请求能处理的合成链就越复杂。你还可以将多个存储器并排放置,以累加它们的总存储容量。\n\n更多细节请查阅游戏内指南——其中的说明远比任务文本更加详尽透彻。\n\n这份指南非常实用,请务必花时间仔细阅读!", "quests.ae2.crafting_storage.task": "任何合成存储器", + "quests.ae2.pattern_provider.title": "ME样板供应器", "quests.ae2.pattern_provider.subtitle": "这些告诉你的机器如何合成物品", "quests.ae2.pattern_provider.desc": "&9样板供应器&r是一个现代化的&bAE2&r方块。如果你只熟悉旧版Minecraft中的AE2,那么现在这是你放入样板的地方,而不是接口。\n\n它可以在合成请求时将物品推入连接的容器,将物品推回其中会将它们发送回ME存储。\n\n如果你将这些连接到格雷科技机器,请确保在机器GUI中选中\"允许从输出面输入\"选项,这样你就可以从同一面输入和输出!\n\n与往常一样,使用&eG&r键查看游戏内指南以了解更多信息。", "quests.ae2.pattern_provider.task": "任何样板供应器", @@ -2049,6 +2052,7 @@ "quests.ae2.interface_automation.title": "接口自动化", "quests.ae2.interface_automation.desc": "实现基地内物品与流体自动化输送的最佳方案是使用&bME接口&r。由于接口不会主动推送内容,你需要在机器或管道上安装覆盖板。\n\n请记得在格雷科技机器的输出面启用&e允许输入&r选项,以便从同一侧面进行输入输出操作。\n\n在覆盖板上配置过滤器可实现多台机器从同一接口提取物资。\n\n为避免机器物品输入槽过载,需使用带过滤器的机械臂覆盖板并将其设置为&e保持精确&r模式。\n\n流体输入不存在此问题,系统会自动填充一个槽位。", "quests.ae2.crafting_accelerator.desc": "直接使用游戏内指南——它的解释远比我们在任务中的描述要好得多。\n\n这份指南非常实用,请务必花时间仔细阅读!", + "quests.ae2.export_bus.title": "输出总线", "quests.ae2.export_bus.desc": "&dME输出总线&r是将物品或流体取出&dME网络&r的强大工具。\n一旦你能够制作它们,你应该特别关注&eExtendedAE&r模组的输出总线,因为它们对于某些自动化非常有帮助。\n\n&c重要提示&r:这些设备比ME接口等设备对&4TPS的影响&r要大得多,因此最好谨慎使用。", "quests.ae2.export_bus.task": "任何输出总线", "quests.ae2.import_bus.desc": "&dME输入总线&r是将物品和流体输入&dME网络&r的一种方式。但是,你也可以将物品和流体推入接口或样板供应器以达到相同结果,因此输入总线的用途更为特定。\n\n&c重要提示&r:这些设备比ME接口等设备对&4TPS的影响&r要大得多,因此最好谨慎使用。", @@ -2077,6 +2081,8 @@ "quests.ae2.universal_circuits.title": "通用电路", "quests.ae2.universal_circuits.subtitle": "原来如此,这就是它们的用途!", "quests.ae2.universal_circuits.desc": "是不是一直好奇这些“通用电路”到底有什么用?除了当个好看的任务图标,它们主要是用在AE2里的!\n\n因为AE2的样板不怎么认物品标签,所以这些通用电路就是设计来当“万金油”的,任何需要电路的样板都能用它。这样一来,每当你解锁一种新电路,你只需要添加一个样板来将新电路转化为通用电路,而无需更新你&o所有&r的旧样板!", + "quests.ae2.stock_bridge.title": "AE仓储桥接器", + "quests.ae2.stock_bridge.desc": "如果你在机械动力的物流网络上投入了大量心血,可能会对需要将其全部拆除并替换为AE2网络而感到绝望。&b仓储桥接器&r能在你的ME网络与机械动力网络之间架起桥梁。查看其思索动画以了解如何设置。\n\n我们仍然建议最终将所有旧装置迁移至AE2,主要是因为它对游戏性能的开销要小得多。", "quests.ae2.iv.title": "IV级AE2", "quests.ae2.iv.desc": "一旦你达到&1IV&r等级,整个分支即可完全解锁。", "quests.ae2.accumulation_press.desc": "要获得这个&e新型压印模板&r,你需要投入一些资源。\n\n首先,你必须用&5两个EV级能源仓&r升级你的聚爆压缩机。\n\n然后,如果你还没有的话,为自己准备一台新的IV级激光蚀刻机。\n\n最后,准备大量的工业TNT——这是&c唯一有效&r的TNT类型。\n\n仔细计划,这一步要求相当高!", diff --git a/kubejs/assets/wan_ancient_beasts/lang/zh_cn.json b/kubejs/assets/wan_ancient_beasts/lang/zh_cn.json index e47fc462c..ad0befad8 100644 --- a/kubejs/assets/wan_ancient_beasts/lang/zh_cn.json +++ b/kubejs/assets/wan_ancient_beasts/lang/zh_cn.json @@ -3,5 +3,7 @@ "block.wan_ancient_beasts.quick_red_sand": "赤铁矿流沙", "item.wan_ancient_beasts.toxlacanth": "生毒棘鱼肉", "item.wan_ancient_beasts.raw_ancient_meat": "生噬颚兽腿肉", - "item.wan_ancient_beasts.cooked_ancient_meat": "熟噬颚兽腿肉" + "item.wan_ancient_beasts.cooked_ancient_meat": "熟噬颚兽腿肉", + "config.jade.plugin_tfc.surfer": "破浪兽", + "config.jade.plugin_tfc.soarer": "翱翔鸟" } \ No newline at end of file From a23919d54b41f8e08e021fa8c3c9a694e91ab804 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 23 Jan 2026 20:11:34 +0000 Subject: [PATCH 201/474] fix broken field guide, skull emoji --- .../field_guide/en_us/entries/beneath/curious_blocks.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/curious_blocks.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/curious_blocks.json index 7f23524fa..ba37f3c78 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/curious_blocks.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/beneath/curious_blocks.json @@ -14,7 +14,7 @@ "text": "Hellbricks are a building block that are also used for the Hellforge." }, { - "type": "patchouli:showcase", + "type": "patchouli:spotlight", "item": "beneath:ancient_altar", "text": "The Pyroxenite Pedestal can be used to display items you want to show off!" }, From a183ed64f296e8541cf3aae75306c05c901828ce Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 23 Jan 2026 20:16:41 +0000 Subject: [PATCH 202/474] fix mossy cobble not collapsing --- kubejs/server_scripts/tfg/natural_blocks/tags.stones.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js index 37a7b2175..e94ffb1f9 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js +++ b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js @@ -323,6 +323,11 @@ function registerTFGStoneBlockTags(event) { if (rock.cobble != null) { event.add('tfc:can_landslide', rock.cobble.block) event.add('forge:cobblestone', rock.cobble.block) + + if (rock.cobble.mossy != null) { + event.add('tfc:can_landslide', rock.cobble.mossy.block) + event.add('forge:cobblestone', rock.cobble.mossy.block) + } } if (rock.gravel != null) { From 2167fcdb6af7d1f12f6a8af2b3c505a9950f3194 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 23 Jan 2026 20:22:29 +0000 Subject: [PATCH 203/474] fix #2827 Related Work Items: #28 --- kubejs/server_scripts/minecraft/recipes.js | 2 +- kubejs/server_scripts/tfc/recipes.metals.js | 8 ++++---- .../tfg/ores_and_materials/recipes.materials.js | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index e2ac32d73..b45eecc8c 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -479,7 +479,7 @@ const registerMinecraftRecipes = (event) => { //#region Выход: Ведро, buckets - event.recipes.tfc.welding('minecraft:bucket', 'tfc:metal/bucket/red_steel', 'tfc:metal/bucket/blue_steel', 6) + event.recipes.tfc.welding(TFC.isp.of('minecraft:bucket').copyForgingBonus(), 'tfc:metal/bucket/red_steel', 'tfc:metal/bucket/blue_steel', 6) .id('tfg:anvil/vanilla_bucket') event.recipes.greate.compacting('minecraft:bucket', ['tfc:metal/bucket/red_steel', 'tfc:metal/bucket/blue_steel', 'tfc:powder/flux']) diff --git a/kubejs/server_scripts/tfc/recipes.metals.js b/kubejs/server_scripts/tfc/recipes.metals.js index 64d5e7378..84f0f4ff9 100644 --- a/kubejs/server_scripts/tfc/recipes.metals.js +++ b/kubejs/server_scripts/tfc/recipes.metals.js @@ -100,7 +100,7 @@ function registerTFCMetalsRecipes(event) { .EUt(4) // Слабая сталь + Чугун -> Высокоуглеродная черная сталь - event.recipes.tfc.welding('tfc:metal/ingot/high_carbon_black_steel', 'tfc:metal/ingot/weak_steel', 'tfc:metal/ingot/pig_iron', 4) + event.recipes.tfc.welding(TFC.isp.of('tfc:metal/ingot/high_carbon_black_steel').copyHeat(), 'tfc:metal/ingot/weak_steel', 'tfc:metal/ingot/pig_iron', 4) event.recipes.greate.compacting('tfc:metal/ingot/high_carbon_black_steel', ['tfc:metal/ingot/weak_steel', 'tfc:metal/ingot/pig_iron', 'tfc:powder/flux']) @@ -115,7 +115,7 @@ function registerTFCMetalsRecipes(event) { .EUt(4) // Слабая синяя сталь + Черная сталь -> Высокоуглеродная синяя сталь - event.recipes.tfc.welding('tfc:metal/ingot/high_carbon_blue_steel', 'tfc:metal/ingot/weak_blue_steel', 'tfc:metal/ingot/black_steel', 5) + event.recipes.tfc.welding(TFC.isp.of('tfc:metal/ingot/high_carbon_blue_steel').copyHeat(), 'tfc:metal/ingot/weak_blue_steel', 'tfc:metal/ingot/black_steel', 5) event.recipes.greate.compacting('tfc:metal/ingot/high_carbon_blue_steel', ['tfc:metal/ingot/weak_blue_steel', 'tfc:metal/ingot/black_steel', 'tfc:powder/flux']) @@ -130,7 +130,7 @@ function registerTFCMetalsRecipes(event) { .EUt(4) // Слабая красная сталь + Черная сталь -> Высокоуглеродная красная сталь - event.recipes.tfc.welding('tfc:metal/ingot/high_carbon_red_steel', 'tfc:metal/ingot/weak_red_steel', 'tfc:metal/ingot/black_steel', 5) + event.recipes.tfc.welding(TFC.isp.of('tfc:metal/ingot/high_carbon_red_steel').copyHeat(), 'tfc:metal/ingot/weak_red_steel', 'tfc:metal/ingot/black_steel', 5) event.recipes.greate.compacting('tfc:metal/ingot/high_carbon_red_steel', ['tfc:metal/ingot/weak_red_steel', 'tfc:metal/ingot/black_steel', 'tfc:powder/flux']) @@ -204,7 +204,7 @@ function registerTFCMetalsRecipes(event) { //#region Фикс рецептов металлических предметов // Рецепт Jacks - event.recipes.tfc.welding('tfc:jacks', '#forge:rods/brass', '#forge:plates/brass', 2) + event.recipes.tfc.welding(TFC.isp.of('tfc:jacks').copyHeat().copyForgingBonus(), '#forge:rods/brass', '#forge:plates/brass', 2) .id(`tfc:welding/jacks`) event.recipes.greate.compacting('tfc:jacks', ['#forge:rods/brass', '#forge:plates/brass', 'tfc:powder/flux']) diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js index f1854f2db..d2374773d 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js @@ -195,7 +195,7 @@ function addMaterialWelding(event, outputItem, inputItem1, inputItem2, material, if (tfcProperty !== null) { - event.recipes.tfc.welding(outputItem, inputItem1, inputItem2, tfcProperty.getTier() - 1) + event.recipes.tfc.welding(TFC.isp.of(outputItem).copyForgingBonus().copyHeat(), inputItem1, inputItem2, tfcProperty.getTier() - 1) .id(`tfc:welding/${id}`); compactingTier = tfcProperty.getTier() < tierThreshold ? 0 : 1; From 1581cd3b1aed44725acfff0691b535b7caed964a Mon Sep 17 00:00:00 2001 From: Petr211071 <55793813+Petr211071@users.noreply.github.com> Date: Fri, 23 Jan 2026 23:34:24 +0300 Subject: [PATCH 204/474] Field guide improvments (#2829) * add read_by_default * Add TFG crops * Fruits and crops translation * Earth and Mars indexes * Create drinks.json --- .../en_us/entries/tfg_ores/ore_basics.json | 1 + .../en_us/entries/the_world/wild_crops.json | 661 ++++++++++++++++++ .../pt_br/entries/tfg_ores/ore_basics.json | 1 + .../arborfirmacraft/earth_tree_index.json | 130 ++-- .../ru_ru/entries/mechanics/drinks.json | 83 +++ .../ru_ru/entries/tfg_ores/hazards.json | 1 + .../ru_ru/entries/tfg_ores/ore_basics.json | 1 + .../tfg_tips/inventory_management.json | 1 + .../entries/tfg_tips/mars_tree_index.json | 48 ++ .../ru_ru/entries/the_world/wild_crops.json | 116 ++- .../ru_ru/entries/the_world/wild_fruits.json | 101 +-- .../zh_cn/entries/tfg_ores/ore_basics.json | 1 + 12 files changed, 1001 insertions(+), 144 deletions(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/the_world/wild_crops.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/drinks.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/mars_tree_index.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/ore_basics.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/ore_basics.json index 0e6c5c688..30e039788 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/ore_basics.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/ore_basics.json @@ -4,6 +4,7 @@ "category": "tfc:tfg_ores", "priority": true, "sortnum": 0, + "read_by_default": true, "pages": [ { "type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/the_world/wild_crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/the_world/wild_crops.json new file mode 100644 index 000000000..25c4621d3 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/the_world/wild_crops.json @@ -0,0 +1,661 @@ +{ + "name": "Wild Crops", + "category": "tfc:the_world", + "icon": "tfc:textures/gui/book/icons/wild_crops.png", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)Wild Crops$() can be found scattered around the world, growing in small patches. They can be harvested for food and seeds, which can then be cultivated themselves in the not-wild form.$(br2)Harvesting wild crops can be done with your fists, or with a $(thing)Knife$() or other sharp tool. When broken, they will drop $(thing)Seeds$() and some $(thing)Products$()." + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/wheat[mature=true]" + } + }, + "name": "Wild Wheat", + "text": "An example of a wild crop, in this case $(l:mechanics/crops#wheat)Wheat$().", + "enable_visualize": false + }, + { + "type": "patchouli:text", + "text": "Every $(l:mechanics/crops)crop$() that can be cultivated can also be found in the wild. Wild crops will look similar to their cultivated counterparts, but are more hidden within the grass. Wild crops are only mature from June to October. Otherwise, they appear dead until the next Summer." + }, + { + "type": "tfc:multimultiblock", + "text": "All different varieties of wild crop", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/barley" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/oat" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/rye" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/maize[part=top]", + "Y": "tfc:wild_crop/maize[part=bottom]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/barley" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/rice[fluid=water]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/beet" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/cabbage" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/carrot" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/garlic" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/green_bean[part=top]", + "Y": "tfc:wild_crop/green_bean[part=bottom]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/potato" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/onion" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/soybean" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/squash" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/sugarcane[part=top]", + "Y": "tfc:wild_crop/sugarcane[part=bottom]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/tomato[part=top]", + "Y": "tfc:wild_crop/tomato[part=bottom]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/jute[part=top]", + "Y": "tfc:wild_crop/jute[part=bottom]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/pumpkin" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/melon" + } + } + ] + }, + { + "type": "patchouli:text", + "text": "Wild crops will spawn in climates near where the crop itself can be cultivated, so if looking for a specific crop, look in the climate where the crop can be cultivated. However, unlike $(l:mechanics/crops)Crops$() that the player has planted, wild crops do not require $(l:mechanics/hydration)Hydration$(). Instead, they are found in areas depending on the average $()Temperature$() and $()Rainfall$().", + "title": "Finding Wild Crops" + }, + { + "type": "patchouli:text", + "text": "The next pages show a table of the environments where wild crops can be found." + }, + { + "type": "tfc:table", + "strings": [ + { + "text": "Crop", + "bold": true + }, + { + "text": "Temperature (°C)", + "bold": true + }, + { + "text": "Rainfall (mm)", + "bold": true + }, + { + "text": "Barley" + }, + { + "text": " -8 - 26" + }, + { + "text": " 70 - 310" + }, + { + "text": "Oat" + }, + { + "text": " 3 - 40" + }, + { + "text": "140 - 400" + }, + { + "text": "Rye" + }, + { + "text": "-11 - 30" + }, + { + "text": "100 - 350" + }, + { + "text": "Maize" + }, + { + "text": " 13 - 40" + }, + { + "text": "300 - 500" + }, + { + "text": "Wheat" + }, + { + "text": " -4 - 35" + }, + { + "text": "100 - 400" + }, + { + "text": "Rice" + }, + { + "text": " 15 - 30" + }, + { + "text": "100 - 500" + }, + { + "text": "Beet" + }, + { + "text": " -5 - 20" + }, + { + "text": " 70 - 300" + }, + { + "text": "Cabbage" + }, + { + "text": "-10 - 27" + }, + { + "text": " 60 - 280" + }, + { + "text": "Carrot" + }, + { + "text": " 3 - 30" + }, + { + "text": "100 - 400" + }, + { + "text": "Garlic" + }, + { + "text": "-20 - 18" + }, + { + "text": " 60 - 310" + }, + { + "text": "Green Bean" + }, + { + "text": " 2 - 35" + }, + { + "text": "150 - 410" + }, + { + "text": "Melon" + }, + { + "text": " 5 - 37" + }, + { + "text": "200 - 500" + } + ], + "text": "", + "title": "Wild Crop Requirements", + "legend": [], + "columns": 2, + "first_column_width": 80, + "column_width": 70, + "row_height": 10, + "left_buffer": 2, + "top_buffer": 12, + "draw_background": false + }, + { + "type": "patchouli:empty", + "draw_filler": false + }, + { + "type": "tfc:table", + "strings": [ + { + "text": "Crop", + "bold": true + }, + { + "text": "Temperature (°C)", + "bold": true + }, + { + "text": "Rainfall (mm)", + "bold": true + }, + { + "text": "Potato" + }, + { + "text": " -1 - 37" + }, + { + "text": "200 - 410" + }, + { + "text": "Pumpkin" + }, + { + "text": " 0 - 30" + }, + { + "text": "120 - 390" + }, + { + "text": "Onion" + }, + { + "text": " 0 - 30" + }, + { + "text": "100 - 390" + }, + { + "text": "Soybean" + }, + { + "text": " 8 - 30" + }, + { + "text": "160 - 410" + }, + { + "text": "Squash" + }, + { + "text": " 5 - 33" + }, + { + "text": " 90 - 390" + }, + { + "text": "Sugarcane" + }, + { + "text": " 12 - 38" + }, + { + "text": "160 - 500" + }, + { + "text": "Tomato" + }, + { + "text": " 0 - 36" + }, + { + "text": "120 - 390" + }, + { + "text": "Jute" + }, + { + "text": " 5 - 37" + }, + { + "text": "100 - 410" + }, + { + "text": "Papyrus" + }, + { + "text": " 19 - 37" + }, + { + "text": "310 - 500" + }, + { + "text": "Red Bell Pepper" + }, + { + "text": " 16 - 30" + }, + { + "text": "190 - 400" + }, + { + "text": "Yellow Bell Pepper" + }, + { + "text": " 16 - 30" + }, + { + "text": "190 - 400" + }, + { + "text": "Sunflower" + }, + { + "text": " 5 - 40" + }, + { + "text": "100 - 450" + } + ], + "text": "", + "title": "Wild Crop Requirements", + "legend": [], + "columns": 2, + "first_column_width": 80, + "column_width": 70, + "row_height": 10, + "left_buffer": 2, + "top_buffer": 12, + "draw_background": false + }, + { + "type": "patchouli:empty", + "draw_filler": false + }, +{ + "type": "tfc:table", + "strings": [ + { + "text": "Crop", + "bold": true + }, + { + "text": "Temperature (°C)", + "bold": true + }, + { + "text": "Rainfall (mm)", + "bold": true + }, + { + "text": "Canola" + }, + { + "text": " -5 - 25" + }, + { + "text": " 50 - 350" + }, + { + "text": "Flax" + }, + { + "text": " -8 - 25" + }, + { + "text": "175 - 475" + } + ], + "text": "", + "title": "Wild Crop Requirements", + "legend": [], + "columns": 2, + "first_column_width": 80, + "column_width": 70, + "row_height": 10, + "left_buffer": 2, + "top_buffer": 12, + "draw_background": false + }, + { + "type": "patchouli:empty", + "draw_filler": false + } + ], + "read_by_default": true, + "sortnum": 4, + "extra_recipe_mappings": { + "tag:tfc:wild_crops": 0 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/ore_basics.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/ore_basics.json index 197d71593..b6783362e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/ore_basics.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/ore_basics.json @@ -4,6 +4,7 @@ "category": "tfc:tfg_ores", "priority": true, "sortnum": 0, + "read_by_default": true, "pages": [ { "type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/earth_tree_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/earth_tree_index.json index 139e48c0b..423eb80ca 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/earth_tree_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/arborfirmacraft/earth_tree_index.json @@ -1,204 +1,204 @@ { - "name": "Earth Tree Index", + "name": "Каталог земных деревьев", "category": "tfc:arborfirmacraft", "icon": "afc:wood/sapling/flame_of_the_forest", "read_by_default": true, "pages": [ { "type": "patchouli:text", - "text": "This is a list of every tree in the world, and what climates they grow in.$(br2)Looking for particular wood type to decorate your base? This should help you find it. The list is sorted alphabetically by wood type.$(br2)Also check out the $(l:tfc:tfg_tips/mars_tree_index)Mars Mushroom Index$()." + "text": "Это список всех деревьев в мире и климатических условий, в которых они растут.$(br2)Ищешь определенный вид древесины для украшения твоей базы? Это поможет тебе его найти. Список отсортирован по алфавиту по типу древесины.$(br2)Так же можешь посмотреть на $(l:tfc:tfg_tips/mars_tree_index)Каталог марсианских грибов$()." }, { "type": "patchouli:spotlight", - "title": "Acacia, Gum Arabic", + "title": "Акация", "item": "tag:tfc:acacia_logs", - "text": "$(bold)Umbrella Thorn Acacia$()$(br)$(thing)Rainfall$(): 90 — 275mm$(br)$(thing)Temperature$(): 13.4 — 40°C$(br2)$(bold)Acacia Koa$()$(br)$(thing)Rainfall$(): 350 — 500mm$(br)$(thing)Temperature$(): 15.3 — 24.4°C$(br2)$(bold)Gum Arabic$()$(br)$(thing)Rainfall$(): 90 — 275mm$(br)$(thing)Temperature$(): 11.6 — 40°C" + "text": "$(bold)Кручёная акация$()$(br)$(thing)Осадки$(): 90 — 275мм$(br)$(thing)Температура$(): 13.4 — 40°C$(br2)$(bold)Акация Коа$()$(br)$(thing)Осадки$(): 350 — 500мм$(br)$(thing)Температура$(): 15.3 — 24.4°C$(br2)$(bold)Сенегальская акация$()$(br)$(thing)Осадки$(): 90 — 275мм$(br)$(thing)Температура$(): 11.6 — 40°C" }, { "type": "patchouli:spotlight", - "title": "Ash", + "title": "Ясень", "item": "tag:tfc:ash_logs", - "text": "$(bold)White Ash$()$(br)$(thing)Rainfall$(): 60 — 240mm$(br)$(thing)Temperature$(): -13.9 — 0.7°C" + "text": "$(bold)Ясень$()$(br)$(thing)Осадки$(): 60 — 240мм$(br)$(thing)Температура$(): -13.9 — 0.7°C" }, { "type": "patchouli:spotlight", - "title": "Aspen, Poplar", + "title": "Осина, тополь", "item": "tag:tfc:aspen_logs", - "text": "$(bold)Quaking Aspen$()$(br)$(thing)Rainfall$(): 350 — 500mm$(br)$(thing)Temperature$(): -15.7 — -1.1°C$(br2)$(bold)Poplar$()$(br)$(thing)Rainfall$(): 170 — 310mm$(br)$(thing)Temperature$(): -15.7 — -6.6°C" + "text": "$(bold)Осина$()$(br)$(thing)Осадки$(): 350 — 500мм$(br)$(thing)Температура$(): -15.7 — -1.1°C$(br2)$(bold)Тополь$()$(br)$(thing)Осадки$(): 170 — 310мм$(br)$(thing)Температура$(): -15.7 — -6.6°C" }, { "type": "patchouli:spotlight", - "title": "Baobab", + "title": "Баобаб", "item": "tag:afc:baobab_logs", - "text": "$(bold)Baobab$()$(br)$(thing)Rainfall$(): 30 — 190mm$(br)$(thing)Temperature$(): 15.3 — 26.2°C" + "text": "$(bold)Баобаб$()$(br)$(thing)Осадки$(): 30 — 190мм$(br)$(thing)Температура$(): 15.3 — 26.2°C" }, { "type": "patchouli:spotlight", - "title": "Birch", + "title": "Берёза", "item": "tag:tfc:birch_logs", - "text": "$(bold)Birch$()$(br)$(thing)Rainfall$(): 125 — 310mm$(br)$(thing)Temperature$(): -13.9 — 2.5°C" + "text": "$(bold)Берёза$()$(br)$(thing)Осадки$(): 125 — 310мм$(br)$(thing)Температура$(): -13.9 — 2.5°C" }, { "type": "patchouli:spotlight", - "title": "Blackwood", + "title": "Гренадил", "item": "tag:tfc:blackwood_logs", - "text": "$(bold)Mpingo Blackwood$()$(br)$(thing)Rainfall$(): 85 — 285mm$(br)$(thing)Temperature$(): 13.4 — 22.5°C$(br2)$(bold)Mulga Blackwood$()$(br)$(thing)Rainfall$(): 35 — 150mm$(br)$(thing)Temperature$(): 9.8 — 20.7°C" + "text": "$(bold)Чернодревесный мпинго$()$(br)$(thing)Осадки$(): 85 — 285мм$(br)$(thing)Температура$(): 13.4 — 22.5°C$(br2)$(bold)Безжилковая акация$()$(br)$(thing)Осадки$(): 35 — 150мм$(br)$(thing)Температура$(): 9.8 — 20.7°C" }, { "type": "patchouli:spotlight", - "title": "Cedar", + "title": "Кедр", "item": "tag:tfc:white_cedar_logs", - "text": "$(bold)White Cedar$()$(br)$(thing)Rainfall$(): 100 — 220mm$(br)$(thing)Temperature$(): -13.9 — 4.3°C$(br2)$(bold)Atlas Cedar$()$(br)$(thing)Rainfall$(): 165 — 500mm$(br)$(thing)Temperature$(): 8.0 — 13.4°C" + "text": "$(bold)Белый кедр$()$(br)$(thing)Осадки$(): 100 — 220мм$(br)$(thing)Температура$(): -13.9 — 4.3°C$(br2)$(bold)Атласский кедр$()$(br)$(thing)Осадки$(): 165 — 500мм$(br)$(thing)Температура$(): 8.0 — 13.4°C" }, { "type": "patchouli:spotlight", - "title": "Chestnut", + "title": "Каштан", "item": "tag:tfc:chestnut_logs", - "text": "$(bold)Chestnut$()$(br)$(thing)Rainfall$(): 150 — 300mm$(br)$(thing)Temperature$(): -6.6 — 11.6°C" + "text": "$(bold)Каштан$()$(br)$(thing)Осадки$(): 150 — 300мм$(br)$(thing)Температура$(): -6.6 — 11.6°C" }, { "type": "patchouli:spotlight", - "title": "Cypress, Redcedar", + "title": "Кипарис, красный кедр", "item": "tag:afc:cypress_logs", - "text": "$(bold)Slender Cypress$()$(br)$(thing)Rainfall$(): 100 — 260mm$(br)$(thing)Temperature$(): 2.5 — 15.3°C$(br2)$(bold)Bald Cypress$()$(br)$(thing)Rainfall$(): 360 — 500mm$(br)$(thing)Temperature$(): -1.1 — 15.3°C$(br2)$(bold)Weeping Cypress$()$(br)$(thing)Rainfall$(): 290 — 415mm$(br)$(thing)Temperature$(): -8.4 — 4.3°C" + "text": "$(bold)Хиноки$()$(br)$(thing)Осадки$(): 100 — 260мм$(br)$(thing)Температура$(): 2.5 — 15.3°C$(br2)$(bold)Болотный кипарис$()$(br)$(thing)Осадки$(): 360 — 500мм$(br)$(thing)Температура$(): -1.1 — 15.3°C$(br2)$(bold)Плакучий кипарис$()$(br)$(thing)Осадки$(): 290 — 415мм$(br)$(thing)Температура$(): -8.4 — 4.3°C" }, { "type": "patchouli:text", - "text": "$(bold)Redcedar$()$(br)$(thing)Rainfall$(): 410 — 500mm$(br)$(thing)Temperature$(): -4.8 — 9.8°C" + "text": "$(bold)красный кедр$()$(br)$(thing)Осадки$(): 410 — 500мм$(br)$(thing)Температура$(): -4.8 — 9.8°C" }, { "type": "patchouli:spotlight", - "title": "(Rainbow) Eucalyptus", + "title": "Эвкалипт", "item": "tag:afc:eucalyptus_logs", - "text": "$(bold)Blue Gum$()$(br)$(thing)Rainfall$(): 170 — 325mm$(br)$(thing)Temperature$(): 8.0 — 18.9°C$(br2)$(bold)Mountain Ash$()$(br)$(thing)Rainfall$(): 390 — 500mm$(br)$(thing)Temperature$(): 9.8 — 18.9°C$(br2)$(bold)Rainbow Eucalyptus$()$(br)$(thing)Rainfall$(): 300 — 450mm$(br)$(thing)Temperature$(): 15.3 — 24.4°C" + "text": "$(bold)Голубой эвкалипт$()$(br)$(thing)Осадки$(): 170 — 325мм$(br)$(thing)Температура$(): 8.0 — 18.9°C$(br2)$(bold)Рябина$()$(br)$(thing)Осадки$(): 390 — 500мм$(br)$(thing)Температура$(): 9.8 — 18.9°C$(br2)$(bold)Радужный эвкалипт$()$(br)$(thing)Осадки$(): 300 — 450мм$(br)$(thing)Температура$(): 15.3 — 24.4°C" }, { "type": "patchouli:spotlight", - "title": "Fig, Rubber Fig", + "title": "Инжир, каучуконосный фикус", "item": "tag:afc:fig_logs", - "text": "$(bold)Rusty Fig$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 18.9 — 26.2°C$(br2)$(bold)Rubber Fig$()$(br)$(thing)Rainfall$(): 290 — 400mm$(br)$(thing)Temperature$(): 9.8 — 20.7°C" + "text": "$(bold)Фикус рубингоза$()$(br)$(thing)Осадки$(): 340 — 500мм$(br)$(thing)Температура$(): 18.9 — 26.2°C$(br2)$(bold)Каучуконосный фикус$()$(br)$(thing)Осадки$(): 290 — 400мм$(br)$(thing)Температура$(): 9.8 — 20.7°C" }, { "type": "patchouli:spotlight", - "title": "Fir", + "title": "Пихта", "item": "tag:tfc:douglas_fir_logs", - "text": "$(bold)Douglas Fir$()$(br)$(thing)Rainfall$(): 305 — 500mm$(br)$(thing)Temperature$(): -10.3 — 6.1°C$(br2)$(bold)Mountain Fir$()$(br)$(thing)Rainfall$(): 220 — 345mm$(br)$(thing)Temperature$(): -1.1 — 11.6°C$(br2)$(bold)Balsam Fir$()$(br)$(thing)Rainfall$(): 210 — 500mm$(br)$(thing)Temperature$(): -13.9 — -1.1°C" + "text": "$(bold)Дугласовая пихта$()$(br)$(thing)Осадки$(): 305 — 500мм$(br)$(thing)Температура$(): -10.3 — 6.1°C$(br2)$(bold)Субальпийская пихта$()$(br)$(thing)Осадки$(): 220 — 345мм$(br)$(thing)Температура$(): -1.1 — 11.6°C$(br2)$(bold)Бальзамическая пихта$()$(br)$(thing)Осадки$(): 210 — 500мм$(br)$(thing)Температура$(): -13.9 — -1.1°C" }, { "type": "patchouli:spotlight", - "title": "Hevea", + "title": "Гевея", "item": "tag:afc:hevea_logs", - "text": "$(bold)Hevea$()$(br)$(thing)Rainfall$(): 390 — 500mm$(br)$(thing)Temperature$(): 17.1 — 26.2°C" + "text": "$(bold)Гевея$()$(br)$(thing)Осадки$(): 390 — 500мм$(br)$(thing)Температура$(): 17.1 — 26.2°C" }, { "type": "patchouli:spotlight", - "title": "Hickory", + "title": "Орех", "item": "tag:tfc:hickory_logs", - "text": "$(bold)Bitternut Hickory$()$(br)$(thing)Rainfall$(): 210 — 400mm$(br)$(thing)Temperature$(): -6.6 — 11.6°C$(br2)$(bold)Scrub Hickory$()$(br)$(thing)Rainfall$(): 400 — 475mm$(br)$(thing)Temperature$(): 11.6 — 17.1°C" + "text": "$(bold)Горький орех$()$(br)$(thing)Осадки$(): 210 — 400мм$(br)$(thing)Температура$(): -6.6 — 11.6°C$(br2)$(bold)Кария флоридская$()$(br)$(thing)Осадки$(): 400 — 475мм$(br)$(thing)Температура$(): 11.6 — 17.1°C" }, { "type": "patchouli:spotlight", - "title": "Ipe", + "title": "Ипе", "item": "tag:afc:ipe_logs", - "text": "$(bold)Yellow Ipe$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 11.6 — 20.7°C" + "text": "$(bold)Жёлтый ипе$()$(br)$(thing)Осадки$(): 340 — 500мм$(br)$(thing)Температура$(): 11.6 — 20.7°C" }, { "type": "patchouli:spotlight", - "title": "Ironwood", + "title": "Железное дерево", "item": "tag:afc:ironwood_logs", - "text": "$(bold)King Ironwood$()$(br)$(thing)Rainfall$(): 320 — 430mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C$(br2)$(bold)Lebombo Ironwood$()$(br)$(thing)Rainfall$(): 150 — 230mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C$(br2)$(bold)Horsetail Ironwood$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 9.8 — 20.7°C" + "text": "$(bold)Верховное железное дерево$()$(br)$(thing)Осадки$(): 320 — 430мм$(br)$(thing)Температура$(): 20.7 — 40.0°C$(br2)$(bold)Лебомбо айронвуд$()$(br)$(thing)Осадки$(): 150 — 230мм$(br)$(thing)Температура$(): 20.7 — 40.0°C$(br2)$(bold)Хвощевидное железное дерево$()$(br)$(thing)Осадки$(): 340 — 500мм$(br)$(thing)Температура$(): 9.8 — 20.7°C" }, { "type": "patchouli:spotlight", - "title": "Kapok", + "title": "Сейба", "item": "tag:tfc:kapok_logs", - "text": "$(bold)Kapok$()$(br)$(thing)Rainfall$(): 360 — 500mm$(br)$(thing)Temperature$(): 13.4 — 24.4°C$(br2)$(bold)Red Silk Cotton$()$(br)$(thing)Rainfall$(): 250 — 350mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C" + "text": "$(bold)Сейба$()$(br)$(thing)Осадки$(): 360 — 500мм$(br)$(thing)Температура$(): 13.4 — 24.4°C$(br2)$(bold)Хлопковое дерево$()$(br)$(thing)Осадки$(): 250 — 350мм$(br)$(thing)Температура$(): 20.7 — 40.0°C" }, { "type": "patchouli:spotlight", - "title": "Mahogany", + "title": "Махогани", "item": "tag:afc:mahogany_logs", - "text": "$(bold)Mahogany$()$(br)$(thing)Rainfall$(): 300 — 430mm$(br)$(thing)Temperature$(): 15.3 — 26.2°C$(br2)$(bold)Small Leaf Mahogany$()$(br)$(thing)Rainfall$(): 320 — 500mm$(br)$(thing)Temperature$(): 11.6 — 18.9°C$(br2)$(bold)Sapele Mahogany$()$(br)$(thing)Rainfall$(): 330 — 500mm$(br)$(thing)Temperature$(): 13.4 — 26.2°C" + "text": "$(bold)Махогани$()$(br)$(thing)Осадки$(): 300 — 430мм$(br)$(thing)Температура$(): 15.3 — 26.2°C$(br2)$(bold)Махогани свитения$()$(br)$(thing)Осадки$(): 320 — 500мм$(br)$(thing)Температура$(): 11.6 — 18.9°C$(br2)$(bold)Сапеле$()$(br)$(thing)Осадки$(): 330 — 500мм$(br)$(thing)Температура$(): 13.4 — 26.2°C" }, { "type": "patchouli:spotlight", - "title": "Mangrove", + "title": "Мангровое дерево", "item": "tag:tfc:mangrove_logs", - "text": "$(bold)Mangrove$()$(br)$(thing)Rainfall$(): 220mm+$(br)$(thing)Temperature$(): 18.0°C+$(br)Note: only spawns in Salt Marsh biomes" + "text": "$(bold)Мангровое дерево$()$(br)$(thing)Осадки$(): 220мм+$(br)$(thing)Температура$(): 18.0°C+$(br)Заметка: спавнится только в биоме пышной лощины" }, { "type": "patchouli:spotlight", - "title": "Maple", + "title": "Клён", "item": "tag:tfc:maple_logs", - "text": "$(bold)Sugar Maple$()$(br)$(thing)Rainfall$(): 260 — 360mm$(br)$(thing)Temperature$(): -8.4 — 8.0°C$(br2)$(bold)Bigleaf Maple$()$(br)$(thing)Rainfall$(): 405 — 500mm$(br)$(thing)Temperature$(): -4.8 — 11.6°C$(br2)$(bold)Weeping Maple$()$(br)$(thing)Rainfall$(): 240 — 320mm$(br)$(thing)Temperature$(): 0.7 — 4.3°C" + "text": "$(bold)Сахарный клён$()$(br)$(thing)Осадки$(): 260 — 360мм$(br)$(thing)Температура$(): -8.4 — 8.0°C$(br2)$(bold)Крупнолистный клён$()$(br)$(thing)Осадки$(): 405 — 500мм$(br)$(thing)Температура$(): -4.8 — 11.6°C$(br2)$(bold)Дланевидный клён$()$(br)$(thing)Осадки$(): 240 — 320мм$(br)$(thing)Температура$(): 0.7 — 4.3°C" }, { "type": "patchouli:spotlight", - "title": "Oak, Black Oak", + "title": "Дуб, бархатистый дуб", "item": "tag:tfc:oak_logs", - "text": "$(bold)Pin Oak$()$(br)$(thing)Rainfall$(): 210 — 320mm$(br)$(thing)Temperature$(): -8.4 — 6.1°C$(br2)$(bold)Live Oak$()$(br)$(thing)Rainfall$(): 390 — 500mm$(br)$(thing)Temperature$(): 0.7 — 13.4°C$(br2)$(bold)Black Oak$()$(br)$(thing)Rainfall$(): 150 — 330mm$(br)$(thing)Temperature$(): 11.6 — 20.7°C" + "text": "$(bold)Болотный дуб$()$(br)$(thing)Осадки$(): 210 — 320мм$(br)$(thing)Температура$(): -8.4 — 6.1°C$(br2)$(bold)Каменный дуб$()$(br)$(thing)Осадки$(): 390 — 500мм$(br)$(thing)Температура$(): 0.7 — 13.4°C$(br2)$(bold)Бархатистый дуб$()$(br)$(thing)Осадки$(): 150 — 330мм$(br)$(thing)Температура$(): 11.6 — 20.7°C" }, { "type": "patchouli:spotlight", - "title": "Palm", + "title": "Пальма", "item": "tag:tfc:palm_logs", - "text": "$(bold)Palm$()$(br)$(thing)Rainfall$(): 0 — 250mm$(br)$(thing)Temperature$(): 17.1 — 40.0°C$(br2)$(bold)Jaggery Palm$()$(br)$(thing)Rainfall$(): 400 — 500mm$(br)$(thing)Temperature$(): 20.7 — 26.2°C" + "text": "$(bold)Пальма$()$(br)$(thing)Осадки$(): 0 — 250мм$(br)$(thing)Температура$(): 17.1 — 40.0°C$(br2)$(bold)Винная пальма$()$(br)$(thing)Осадки$(): 400 — 500мм$(br)$(thing)Температура$(): 20.7 — 26.2°C" }, { "type": "patchouli:spotlight", - "title": "Pine", + "title": "Сосна", "item": "tag:tfc:pine_logs", - "text": "$(bold)Boreal Pine$()$(br)$(thing)Rainfall$(): 60 — 270mm$(br)$(thing)Temperature$(): -19.4 — -3.0°C$(br2)$(bold)Stone Pine$()$(br)$(thing)Rainfall$(): 140 — 290mm$(br)$(thing)Temperature$(): 2.5 — 18.9°C$(br2)$(bold)Red Pine$()$(br)$(thing)Rainfall$(): 185 — 320mm$(br)$(thing)Temperature$(): -8.4 — 4.3°C" + "text": "$(bold)Сосна()$(br)$(thing)Осадки$(): 60 — 270мм$(br)$(thing)Температура$(): -19.4 — -3.0°C$(br2)$(bold)Сосна пиния$()$(br)$(thing)Осадки$(): 140 — 290мм$(br)$(thing)Температура$(): 2.5 — 18.9°C$(br2)$(bold)Красная сосна$()$(br)$(thing)Осадки$(): 185 — 320мм$(br)$(thing)Температура$(): -8.4 — 4.3°C" }, { "type": "patchouli:text", - "text": "$(bold)Tamarack$()$(br)$(thing)Rainfall$(): 150 — 500mm$(br)$(thing)Temperature$(): -17.5 — -1.1°C" + "text": "$(bold)Американская лиственница$()$(br)$(thing)Осадки$(): 150 — 500мм$(br)$(thing)Температура$(): -17.5 — -1.1°C" }, { "type": "patchouli:spotlight", - "title": "Rosewood", + "title": "Палисандр", "item": "tag:tfc:rosewood_logs", - "text": "$(bold)Shisham Rosewood$()$(br)$(thing)Rainfall$(): 245 — 360mm$(br)$(thing)Temperature$(): 15.3 — 24.4°C$(br2)$(bold)Giant Rosewood$()$(br)$(thing)Rainfall$(): 340 — 440mm$(br)$(thing)Temperature$(): 15.3 — 22.5°C" + "text": "$(bold)Индийский палисандр$()$(br)$(thing)Осадки$(): 245 — 360мм$(br)$(thing)Температура$(): 15.3 — 24.4°C$(br2)$(bold)Гигантский Палисандр$()$(br)$(thing)Осадки$(): 340 — 440мм$(br)$(thing)Температура$(): 15.3 — 22.5°C" }, { "type": "patchouli:spotlight", - "title": "Sequoia", + "title": "Секвойа", "item": "tag:tfc:sequoia_logs", - "text": "$(bold)Sequoia$()$(br)$(thing)Rainfall$(): 320 — 500mm$(br)$(thing)Temperature$(): 0.7 — 8.0°C$(br2)$(bold)Coast Redwood$()$(br)$(thing)Rainfall$(): 320 — 500mm$(br)$(thing)Temperature$(): 4.3 — 9.8°C" + "text": "$(bold)Секвойа$()$(br)$(thing)Осадки$(): 320 — 500мм$(br)$(thing)Температура$(): 0.7 — 8.0°C$(br2)$(bold)Красная секвойа$()$(br)$(thing)Осадки$(): 320 — 500мм$(br)$(thing)Температура$(): 4.3 — 9.8°C" }, { "type": "patchouli:spotlight", - "title": "Spruce", + "title": "Ель", "item": "tag:tfc:spruce_logs", - "text": "$(bold)Blue Spruce$()$(br)$(thing)Rainfall$(): 330 — 500mm$(br)$(thing)Temperature$(): -19.4 — 2.5°C$(br2)$(bold)Coast Spruce$()$(br)$(thing)Rainfall$(): 320 — 390mm$(br)$(thing)Temperature$(): -12.1 — 6.1°C$(br2)$(bold)Sitka Spruce$()$(br)$(thing)Rainfall$(): 370 — 500mm$(br)$(thing)Temperature$(): 2.5 — 8.0°C" + "text": "$(bold)Голубая ель$()$(br)$(thing)Осадки$(): 330 — 500мм$(br)$(thing)Температура$(): -19.4 — 2.5°C$(br2)$(bold)Побережная ель$()$(br)$(thing)Осадки$(): 320 — 390мм$(br)$(thing)Температура$(): -12.1 — 6.1°C$(br2)$(bold)Ситкинская ель$()$(br)$(thing)Осадки$(): 370 — 500мм$(br)$(thing)Температура$(): 2.5 — 8.0°C" }, { "type": "patchouli:text", - "text": "$(bold)Black Spruce$()$(br)$(thing)Rainfall$(): 220 — 360mm$(br)$(thing)Temperature$(): -17.5 — -1.1°C" + "text": "$(bold)Чёрная ель$()$(br)$(thing)Осадки$(): 220 — 360мм$(br)$(thing)Температура$(): -17.5 — -1.1°C" }, { "type": "patchouli:spotlight", - "title": "Sycamore", + "title": "Платан", "item": "tag:tfc:sycamore_logs", - "text": "$(bold)Sycamore$()$(br)$(thing)Rainfall$(): 330 — 480mm$(br)$(thing)Temperature$(): -6.6 — 11.6°C" + "text": "$(bold)Платан$()$(br)$(thing)Осадки$(): 330 — 480мм$(br)$(thing)Температура$(): -6.6 — 11.6°C" }, { "type": "patchouli:spotlight", - "title": "Teak", + "title": "Тик", "item": "tag:afc:teak_logs", - "text": "$(bold)True Teak$()$(br)$(thing)Rainfall$(): 215 — 330mm$(br)$(thing)Temperature$(): 13.4 — 26.2°C$(br2)$(bold)Iroko Teak$()$(br)$(thing)Rainfall$(): 210 — 320mm$(br)$(thing)Temperature$(): 17.1 — 40.0°C$(br2)$(bold)Flame of the Forest$()$(br)$(thing)Rainfall$(): 340 — 500mm$(br)$(thing)Temperature$(): 13.4 — 24.4°C" + "text": "$(bold)Тектона великая$()$(br)$(thing)Осадки$(): 215 — 330мм$(br)$(thing)Температура$(): 13.4 — 26.2°C$(br2)$(bold)Тиковый ироко$()$(br)$(thing)Осадки$(): 210 — 320мм$(br)$(thing)Температура$(): 17.1 — 40.0°C$(br2)$(bold)Лесное пламя$()$(br)$(thing)Осадки$(): 340 — 500мм$(br)$(thing)Температура$(): 13.4 — 24.4°C" }, { "type": "patchouli:spotlight", - "title": "Tualang", + "title": "Компассия", "item": "tag:afc:tualang_logs", - "text": "$(bold)Tualang$()$(br)$(thing)Rainfall$(): 360 — 500mm$(br)$(thing)Temperature$(): 20.7 — 40.0°C" + "text": "$(bold)Компассия$()$(br)$(thing)Осадки$(): 360 — 500мм$(br)$(thing)Температура$(): 20.7 — 40.0°C" }, { "type": "patchouli:spotlight", - "title": "Willow", + "title": "Ива", "item": "tag:tfc:willow_logs", - "text": "$(bold)Corkscrew Willow$()$(br)$(thing)Rainfall$(): 330 — 500mm$(br)$(thing)Temperature$(): -6.6 — 9.8°C$(br2)$(bold)Weeping Willow$()$(br)$(thing)Rainfall$(): 355 — 500mm$(br)$(thing)Temperature$(): 9.8 — 17.1°C" + "text": "$(bold)Ива$()$(br)$(thing)Осадки$(): 330 — 500мм$(br)$(thing)Температура$(): -6.6 — 9.8°C$(br2)$(bold)Плакучая ива$()$(br)$(thing)Осадки$(): 355 — 500мм$(br)$(thing)Температура$(): 9.8 — 17.1°C" } ] diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/drinks.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/drinks.json new file mode 100644 index 000000000..2b432fe19 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/drinks.json @@ -0,0 +1,83 @@ +{ + "name": "Питьевые эффекты", + "icon": "firmalife:olivine_wine_bottle", + "category": "tfc:mechanics", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Зелья и магия не существуют в мире TerraFirmaCraft,но есть множество других напитков, которые могут оказывать схожий эффект!$(br2)В этой главе представлен список всех различных эффектов, а в качестве бонуса, все они также способствуют поддержанию водного баланса." + }, + { + "type": "patchouli:spotlight", + "title": "Резервуары для напитков", + "text": "Напитки можно пить из $(l:getting_started/pottery#jug)кувшина$(), $(l:waterflasks/recipes)бурдюка$() или $(l:mechanics/glassworking_applications#glass_bottle)пузырька$(). Кувшины вмещают только один глоток и легко разбиваются. Пузырьки вмещают лишь небольшое количество глотков и тоже могут разбиться. Бурдюки могут вмещать ещё больше и при этом постепенно теряют свою прочность, кроме $(item)фляги(красная сталь)$() вмещает 20 напитков и никогда не ломается.", + "item": "tfc:ceramic/jug,tfc:silica_glass_bottle,tfc:olivine_glass_bottle,tfc:hematitic_glass_bottle,tfc:volcanic_glass_bottle,waterflasks:leather_flask,waterflasks:iron_flask,waterflasks:red_steel_flask" + }, + { + "type": "patchouli:spotlight", + "title": "Выдержанный алкоголь", + "text": "$(thing)Выдержанный алкоголь$() приготовляется путём выдержки обычного алкоголя, который, в свою очередь, получают путем оставления различных фруктов, муки или других ингридиентов в бочке с водой. В качестве бонуса, они влияют на вашу речь в чате!", + "item": "tfcagedalcohol:bucket/aged_beer,tfcagedalcohol:bucket/aged_cider,tfcagedalcohol:bucket/aged_rum,tfcagedalcohol:bucket/aged_sake,tfcagedalcohol:bucket/aged_vodka,tfcagedalcohol:bucket/aged_whiskey,tfcagedalcohol:bucket/aged_corn_whiskey,tfcagedalcohol:bucket/aged_rye_whiskey" + }, + { + "type": "patchouli:text", + "text": "$(li)Выдержанное пиво: Поглощение II (20:00)$(li)Выдержанный сидр: Скорость (5:20)$(li)Выдержанный ром: Скорость II (2:40)$(li)Выдержанное саке: Сопротивление (5:20)$(li)Выдержанная водка: Сопротивление II (2:40)$(li)Выдержанный кукурузное виски: Спешка (5:20)$(li)Выдержанный ржаной виски: Спешка (5:20)$(li)Выдержанный виски: Спешка II (2:40)$(li)Выдержанная медовуха: Регенерация (5:20)" + }, + { + "type": "patchouli:text", + "title": "Wine", + "text": "$(thing)Вино$() — это ещё один вид алкоголя, который производится иначе, чем другие. Это сложный, но увлекательный процесс, который невозможно автоматизировать с помощью машины. Проверь главу $(l:firmalife/wine)Винаделия$() для изучения, как его производить.", + "item": "firmalife:bucket/red_wine,firmalife:bucket/white_wine,firmalife:bucket/rose_wine,firmalife:bucket/sparkling_wine,firmalife:bucket/dessert_wine" + }, + { + "type": "patchouli:text", + "text": "$(li)Красное вино: Сила (5:20)$(li)Белое вино: Устойчивость к иссушению (5:20)$(li)Розовое вино: Скорость плавания (5:20)$(li)Игристое вино: Прыгучесть II (5:20)$(li)Десертное вино: Упёртость (5:20)" + }, + { + "type": "patchouli:spotlight", + "title": "Чаи", + "text": "$(thing)Чаи$() можно заваривать, используя высушенные версии некоторых растений.$(br2)Они дают кратковременные, но эффективные эффекты и согревают на 4°C. Идеально подходят для зимы!", + "item": "tfc_gurman:tea_mint_bucket,tfc_gurman:tea_chamomile_bucket,tfc_gurman:tea_rosehip_bucket,tfc_gurman:tea_nettle_bucket" + }, + { + "type": "patchouli:text", + "text": "$(li)Мятный чай: Регенерация II (0:30)$(li)Ромашковый чай: Сопротивление II (0:30)$(li)Шиповниковый чай: Поглощение (0:30)$(li)Крапивный чай: Плавное падение (0:30)" + }, + { + "type": "patchouli:spotlight", + "title": "Сладости", + "text": "Это категория для других разнообразных напитков с восхитительным вкусом и особыми эффектами. Приятного аппетита!", + "item": "tfc_gurman:cocoa_bucket,tfc_gurman:coffee_bucket,tfc_gurman:nalivka_bucket,tfc_gurman:kvass_bucket,tfc_gurman:compote_bucket,tfc_gurman:lemonade_bucket" + }, + { + "type": "patchouli:text", + "text": "$(li)Какао: Спешка (0:30), согревает тебя на 4°C$(li)Кофе: Скорость (0:30), согревает тебя на 4°C$(li)Лимонад: Спешка (0:30), охлаждает тебя на 2°C$(li)Наливка: Сила (2:40), охлаждает тебя на 2°C$(li)Квас: Сила (1:20), охлаждает тебя на 2°C$(li)Компот: Прыгучесть II (0:30)" + }, + { + "type": "patchouli:spotlight", + "title": "Молоко", + "text": "$(thing)Молоко$() можно получить от большинства самок молочных животных, просто щелкнув по ним правой кнопкой мыши с деревянным или металлическим ведром, когда уровень прирученности достигнет достаточно высокого уровня. (Если доение не работает, убедитесь, что ведра не состаканы!)$(br)Хотя этот напиток не дает никаких бонусов, он обеспечивает организм молочными продуктами, если его выпить после еды, и из него впоследствии можно приготовить сыр.", + "item": "minecraft:milk_bucket,firmalife:bucket/yak_milk,firmalife:bucket/goat_milk,tfc_gurman:ox_milk_bucket,tfc_gurman:sheep_milk_bucket,tfc_gurman:alpaca_milk_bucket" + }, + { + "title": "Родниковая вода", + "text": "Питьё $(thing)Родниковой воды$() согревает тебя на 4°C и при стоянии в ней даёт эффект регенерация, а также согревает", + "item": "tfc:bucket/spring_water", + "type": "patchouli:spotlight" + }, + { + "title": "Морская вода", + "text": "Питьё $(thing)Морской воды$() не утоляет жажду, а наоборот, усиливает её. Высокая температура тела также может усиливать жажду. Заблудились в море? Посмотрите вверх, когда идёт дождь, так легко можно утолить жажду!", + "type": "patchouli:spotlight", + "item": "tfc:bucket/salt_water" + }, + { + "title": "Ледяная слякоть", + "text": "Питьё $(thing)Ледяной слякоти$() охлаждает тебя на 4°C, идеально для лета! Также удобно для передвижения в бездне.", + "type": "patchouli:spotlight", + "item": "gtceu:ice_bucket" + } + ] +} + diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/hazards.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/hazards.json index 92418ecc6..2f5f301df 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/hazards.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/hazards.json @@ -4,6 +4,7 @@ "category": "tfc:tfg_ores", "priority": true, "sortnum": 1, + "read_by_default": true, "pages": [ { "type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/ore_basics.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/ore_basics.json index ee7f6b924..12d3a141d 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/ore_basics.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/ore_basics.json @@ -4,6 +4,7 @@ "category": "tfc:tfg_ores", "priority": true, "sortnum": 0, + "read_by_default": true, "pages": [ { "type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/inventory_management.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/inventory_management.json index 68ddb6fa9..faa327c7d 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/inventory_management.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/inventory_management.json @@ -2,6 +2,7 @@ "name": "Хранение предметов", "category": "tfc:tfg_tips", "icon": "minecraft:chest", + "read_by_default": true, "pages": [ { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/mars_tree_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/mars_tree_index.json new file mode 100644 index 000000000..c2ebc921e --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/mars_tree_index.json @@ -0,0 +1,48 @@ +{ + "name": "Каталог марсианских грибов", + "category": "tfc:tfg_tips", + "icon": "tfg:saplings/aeronos", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "Это список каждого большого марсианского гриба, и в каком климате они растут.$(br2)Ищете конкретный вид гриба для украшения базы? Этот список должен помочь тебе найти их. Список отсортирован по алфавиту.$(br2)Так же можешь посмотреть на $(l:tfc:arborfirmacraft/earth_tree_index)Каталог земных деревьев$()." + }, + { + "type": "patchouli:spotlight", + "title": "Конусообразный", + "item": "ad_astra:aeronos_stem", + "text": "$(bold)Конусообразный гриб$()$(br)$(thing)Температура$(): -100°C и выше$(br)Чаще встречается на востоке." + }, + { + "type": "patchouli:spotlight", + "title": "Альфанценовый", + "item": "species:alphacene_mushroom_block", + "text": "$(bold)Альфанценовый гриб$()$(br)$(thing)Температура$(): -85°C и выше$(br)Встречается на востоке и западе." + }, + { + "type": "patchouli:spotlight", + "title": "Багряный", + "item": "beneath:wood/log/crimson", + "text": "$(bold)Багряное дерево$()$(br)$(thing)Температура$(): -109 — -13°C$(br)Чаще встречается на востоке." + }, + { + "type": "patchouli:spotlight", + "title": "Гласивник", + "item": "ad_astra:glacian_log", + "text": "$(bold)Гласивник$()$(br)$(thing)Температура$(): -107°C и ниже$(br)Встречается на востоке и западе." + }, + { + "type": "patchouli:spotlight", + "title": "Строфаровый", + "item": "ad_astra:strophar_stem", + "text": "$(bold)Строфаровый гриб$()$(br)$(thing)Температура$(): -100°C и выше$(br)Чаще встречается на западе." + }, + { + "type": "patchouli:spotlight", + "title": "Искажённый", + "item": "beneath:wood/log/warped", + "text": "$(bold)Искажёное дерево$()$(br)$(thing)Температура$(): -109 — -13°C$(br)Чаще встречается на западе." + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/the_world/wild_crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/the_world/wild_crops.json index fc4058ace..6a6e3ee3c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/the_world/wild_crops.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/the_world/wild_crops.json @@ -330,19 +330,19 @@ "type": "tfc:table", "strings": [ { - "text": "Crop", + "text": "Растение", "bold": true }, { - "text": "Temperature (°C)", + "text": "Температура (°C)", "bold": true }, { - "text": "Rainfall (mm)", + "text": "Осадки (мм)", "bold": true }, { - "text": "Barley" + "text": "Ячмень" }, { "text": " -8 - 26" @@ -351,7 +351,7 @@ "text": " 70 - 310" }, { - "text": "Oat" + "text": "Овёс" }, { "text": " 3 - 40" @@ -360,7 +360,7 @@ "text": "140 - 400" }, { - "text": "Rye" + "text": "Рожь" }, { "text": "-11 - 30" @@ -369,7 +369,7 @@ "text": "100 - 350" }, { - "text": "Maize" + "text": "Кукуруза" }, { "text": " 13 - 40" @@ -378,7 +378,7 @@ "text": "300 - 500" }, { - "text": "Wheat" + "text": "Пщеница" }, { "text": " -4 - 35" @@ -387,7 +387,7 @@ "text": "100 - 400" }, { - "text": "Rice" + "text": "Рис" }, { "text": " 15 - 30" @@ -396,7 +396,7 @@ "text": "100 - 500" }, { - "text": "Beet" + "text": "Свёкла" }, { "text": " -5 - 20" @@ -405,7 +405,7 @@ "text": " 70 - 300" }, { - "text": "Cabbage" + "text": "Капуста" }, { "text": "-10 - 27" @@ -414,7 +414,7 @@ "text": " 60 - 280" }, { - "text": "Carrot" + "text": "Морковь" }, { "text": " 3 - 30" @@ -423,7 +423,7 @@ "text": "100 - 400" }, { - "text": "Garlic" + "text": "Чеснок" }, { "text": "-20 - 18" @@ -432,7 +432,7 @@ "text": " 60 - 310" }, { - "text": "Green Bean" + "text": "Горох" }, { "text": " 2 - 35" @@ -441,7 +441,7 @@ "text": "150 - 410" }, { - "text": "Melon" + "text": "Арбуз" }, { "text": " 5 - 37" @@ -469,19 +469,19 @@ "type": "tfc:table", "strings": [ { - "text": "Crop", + "text": "Растение", "bold": true }, { - "text": "Temperature (°C)", + "text": "Температура (°C)", "bold": true }, { - "text": "Rainfall (mm)", + "text": "Осадки (мм)", "bold": true }, { - "text": "Potato" + "text": "Картошка" }, { "text": " -1 - 37" @@ -490,7 +490,7 @@ "text": "200 - 410" }, { - "text": "Pumpkin" + "text": "Тыква" }, { "text": " 0 - 30" @@ -499,7 +499,7 @@ "text": "120 - 390" }, { - "text": "Onion" + "text": "Лук" }, { "text": " 0 - 30" @@ -508,7 +508,7 @@ "text": "100 - 390" }, { - "text": "Soybean" + "text": "Соевые бобы" }, { "text": " 8 - 30" @@ -517,7 +517,7 @@ "text": "160 - 410" }, { - "text": "Squash" + "text": "Кабачок" }, { "text": " 5 - 33" @@ -526,7 +526,7 @@ "text": " 90 - 390" }, { - "text": "Sugarcane" + "text": "Сахарный тростник" }, { "text": " 12 - 38" @@ -535,7 +535,7 @@ "text": "160 - 500" }, { - "text": "Tomato" + "text": "Помидор" }, { "text": " 0 - 36" @@ -544,7 +544,7 @@ "text": "120 - 390" }, { - "text": "Jute" + "text": "Джут" }, { "text": " 5 - 37" @@ -553,7 +553,7 @@ "text": "100 - 410" }, { - "text": "Papyrus" + "text": "Папирус" }, { "text": " 19 - 37" @@ -562,7 +562,7 @@ "text": "310 - 500" }, { - "text": "Red Bell Pepper" + "text": "Красный перец" }, { "text": " 16 - 30" @@ -571,13 +571,71 @@ "text": "190 - 400" }, { - "text": "Yellow Bell Pepper" + "text": "Жёлтый перец" }, { "text": " 16 - 30" }, { "text": "190 - 400" + }, + { + "text": "Подсолнух" + }, + { + "text": " 5 - 40" + }, + { + "text": "100 - 450" + } + ], + "text": "", + "title": "Требования к диким культурам", + "legend": [], + "columns": 2, + "first_column_width": 80, + "column_width": 70, + "row_height": 10, + "left_buffer": 2, + "top_buffer": 12, + "draw_background": false + }, + { + "type": "patchouli:empty", + "draw_filler": false + }, +{ + "type": "tfc:table", + "strings": [ + { + "text": "Растение", + "bold": true + }, + { + "text": "Температура (°C)", + "bold": true + }, + { + "text": "Осадки (мм)", + "bold": true + }, + { + "text": "Канола" + }, + { + "text": " -5 - 25" + }, + { + "text": " 50 - 350" + }, + { + "text": "Лён" + }, + { + "text": " -8 - 25" + }, + { + "text": "175 - 475" } ], "text": "", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/the_world/wild_fruits.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/the_world/wild_fruits.json index 09392db65..33e26c1e9 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/the_world/wild_fruits.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/the_world/wild_fruits.json @@ -1941,43 +1941,43 @@ "text": "" }, { - "text": "Jan" + "text": "Янв" }, { - "text": "Feb" + "text": "Фев" }, { - "text": "Mar" + "text": "Мар" }, { - "text": "Apr" + "text": "Апр" }, { - "text": "May" + "text": "Май" }, { - "text": "Jun" + "text": "Июн" }, { - "text": "Jul" + "text": "Июл" }, { - "text": "Aug" + "text": "Авг" }, { - "text": "Sep" + "text": "Сен" }, { - "text": "Oct" + "text": "Окт" }, { - "text": "Nov" + "text": "Ноя" }, { - "text": "Dec" + "text": "Дек" }, { - "text": "Cherry" + "text": "Вишня" }, { "fill": "0x6ab553" @@ -2016,7 +2016,7 @@ "fill": "0xa8986a" }, { - "text": "Apple" + "text": "Яблоня" }, { "fill": "0xa8986a" @@ -2055,7 +2055,7 @@ "fill": "0xa8986a" }, { - "text": "Lemon" + "text": "Лимон" }, { "fill": "0xa8986a" @@ -2094,7 +2094,7 @@ "fill": "0xa8986a" }, { - "text": "Olive" + "text": "Олива" }, { "fill": "0xa8986a" @@ -2133,7 +2133,7 @@ "fill": "0xa8986a" }, { - "text": "Orange" + "text": "Апельсин" }, { "fill": "0xa8986a" @@ -2172,7 +2172,7 @@ "fill": "0xa8986a" }, { - "text": "Peach" + "text": "Персик" }, { "fill": "0x6ab553" @@ -2211,7 +2211,7 @@ "fill": "0x6ab553" }, { - "text": "Plum" + "text": "Слива" }, { "fill": "0x6ab553" @@ -2250,7 +2250,7 @@ "fill": "0xa8986a" }, { - "text": "Banana" + "text": "Банан" }, { "fill": "0xa8986a" @@ -2293,19 +2293,19 @@ "title": "Фруктовые деревья", "legend": [ { - "text": "Dormant", + "text": "Спящее", "color": "0xa8986a" }, { - "text": "Healthy", + "text": "Здоровое", "color": "0x6ab553" }, { - "text": "Flowering", + "text": "Цветущее", "color": "0xcca0db" }, { - "text": "Fruiting", + "text": "Плодоносящее", "color": "0xa217ff" } ], @@ -3117,12 +3117,12 @@ { "type": "patchouli:text", "anchor": "wintergreen_berry", - "text": "$(bold)$(l:the_world/climate#temperature)Температура$(): -6 - 17 °C$(br)$(bold)$(l:mechanics/hydration)Увлажненность$(): 12 - 100 %$(br2)Кусты черники зимнего сорта растут с мая по сентябрь, начинают цветение в октябре и ноябре, и приносят плоды в декабре.$(br2)Их можно найти в лесах.", - "title": "Куст черники зимнего сорта" + "text": "$(bold)$(l:the_world/climate#temperature)Температура$(): -6 - 17 °C$(br)$(bold)$(l:mechanics/hydration)Увлажненность$(): 12 - 100 %$(br2)Кусты брусники растут с мая по сентябрь, начинают цветение в октябре и ноябре, и приносят плоды в декабре.$(br2)Их можно найти в лесах.", + "title": "Куст брусники" }, { "type": "tfc:multimultiblock", - "text": "Стадии куста черники зимнего сорта по месяцам.", + "text": "Стадии куста брусники по месяцам.", "multiblocks": [ { "pattern": [ @@ -3249,43 +3249,43 @@ "text": "" }, { - "text": "Jan" + "text": "Янв" }, { - "text": "Feb" + "text": "Фев" }, { - "text": "Mar" + "text": "Мар" }, { - "text": "Apr" + "text": "Апр" }, { - "text": "May" + "text": "Май" }, { - "text": "Jun" + "text": "Июн" }, { - "text": "Jul" + "text": "Июл" }, { - "text": "Aug" + "text": "Авг" }, { - "text": "Sep" + "text": "Сен" }, { - "text": "Oct" + "text": "Окт" }, { - "text": "Nov" + "text": "Ноя" }, { - "text": "Dec" + "text": "Дек" }, { - "text": "Snowberry" + "text": "Снежноягодник" }, { "fill": "0xa8986a" @@ -3324,7 +3324,7 @@ "fill": "0xa8986a" }, { - "text": "Bunchberry" + "text": "Кизил" }, { "fill": "0xa8986a" @@ -3363,7 +3363,7 @@ "fill": "0xa8986a" }, { - "text": "Gooseberry" + "text": "Крыжовник" }, { "fill": "0xa8986a" @@ -3402,7 +3402,7 @@ "fill": "0xa8986a" }, { - "text": "Cloudberry" + "text": "Морошка" }, { "fill": "0xa8986a" @@ -3441,7 +3441,7 @@ "fill": "0xa8986a" }, { - "text": "Strawberry" + "text": "Клубника" }, { "fill": "0xcca0db" @@ -3480,7 +3480,7 @@ "fill": "0x6ab553" }, { - "text": "Wintergreen" + "text": "Брусника" }, { "fill": "0xa8986a" @@ -3519,7 +3519,7 @@ "fill": "0xa8986a" }, { - "text": "Cranberry" + "text": "Клюква" }, { "fill": "0xa8986a" @@ -3562,21 +3562,22 @@ "title": "Ягодные кусты", "legend": [ { - "text": "Dormant", + "text": "Спящий", "color": "0xa8986a" }, { - "text": "Healthy", + "text": "Здоровый", "color": "0x6ab553" }, { - "text": "Flowering", + "text": "Цветущий", "color": "0xcca0db" }, { - "text": "Fruiting", + "text": "Плодоносящий", "color": "0xa217ff" } + ], "columns": 12, "first_column_width": 45, diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/ore_basics.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/ore_basics.json index e57b38e59..b38bdbdc2 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/ore_basics.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/ore_basics.json @@ -4,6 +4,7 @@ "category": "tfc:tfg_ores", "priority": true, "sortnum": 0, + "read_by_default": true, "pages": [ { "type": "patchouli:text", From 8fba57695e2533929a0ac9940c355ddbbd25d3a6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 23 Jan 2026 21:10:24 +0000 Subject: [PATCH 205/474] fix drinks giving too much hydration --- kubejs/data/firmalife/tfc/drinkables/red_wine.json | 4 +++- kubejs/data/firmalife/tfc/drinkables/rose_wine.json | 6 ++++-- kubejs/data/firmalife/tfc/drinkables/sparkling_wine.json | 6 ++++-- kubejs/data/firmalife/tfc/drinkables/white_wine.json | 4 +++- kubejs/data/gtceu/tfc/drinkables/ethanol.json | 1 + kubejs/data/gtceu/tfc/drinkables/ice_slush.json | 1 + kubejs/data/gtceu/tfc/drinkables/methanol.json | 1 + kubejs/data/tfc_gurman/tfc/drinkables/cocoa.json | 3 ++- kubejs/data/tfc_gurman/tfc/drinkables/coffee.json | 3 ++- kubejs/data/tfc_gurman/tfc/drinkables/compote.json | 3 ++- kubejs/data/tfc_gurman/tfc/drinkables/kvass.json | 3 ++- kubejs/data/tfc_gurman/tfc/drinkables/lemonade.json | 3 ++- kubejs/data/tfc_gurman/tfc/drinkables/nalivka.json | 4 +++- kubejs/data/tfc_gurman/tfc/drinkables/tea_chamomile.json | 3 ++- kubejs/data/tfc_gurman/tfc/drinkables/tea_mint.json | 3 ++- kubejs/data/tfc_gurman/tfc/drinkables/tea_nettle.json | 3 ++- kubejs/data/tfc_gurman/tfc/drinkables/tea_rosehip.json | 3 ++- 17 files changed, 38 insertions(+), 16 deletions(-) diff --git a/kubejs/data/firmalife/tfc/drinkables/red_wine.json b/kubejs/data/firmalife/tfc/drinkables/red_wine.json index 12c0c6a23..80917d52f 100644 --- a/kubejs/data/firmalife/tfc/drinkables/red_wine.json +++ b/kubejs/data/firmalife/tfc/drinkables/red_wine.json @@ -1,6 +1,8 @@ { "ingredient": "firmalife:red_wine", - "thirst": 15, + "thirst": 10, + "intoxication": 4000, + "may_drink_when_full": true, "effects": [ { "type": "minecraft:strength", diff --git a/kubejs/data/firmalife/tfc/drinkables/rose_wine.json b/kubejs/data/firmalife/tfc/drinkables/rose_wine.json index 3c0747575..ce11502bc 100644 --- a/kubejs/data/firmalife/tfc/drinkables/rose_wine.json +++ b/kubejs/data/firmalife/tfc/drinkables/rose_wine.json @@ -1,9 +1,11 @@ { "ingredient": "firmalife:rose_wine", - "thirst": 15, + "thirst": 10, + "intoxication": 4000, + "may_drink_when_full": true, "effects": [ { - "type": "minecraft:dolphins_grace", + "type": "minecraft:strength", "duration": 6400, "amplifier": 0 } diff --git a/kubejs/data/firmalife/tfc/drinkables/sparkling_wine.json b/kubejs/data/firmalife/tfc/drinkables/sparkling_wine.json index e0004b982..77749fdda 100644 --- a/kubejs/data/firmalife/tfc/drinkables/sparkling_wine.json +++ b/kubejs/data/firmalife/tfc/drinkables/sparkling_wine.json @@ -1,6 +1,8 @@ { - "ingredient": "firmalife:dessert_wine", - "thirst": 15, + "ingredient": "firmalife:sparkling_wine", + "thirst": 10, + "intoxication": 4000, + "may_drink_when_full": true, "effects": [ { "type": "minecraft:jump_boost", diff --git a/kubejs/data/firmalife/tfc/drinkables/white_wine.json b/kubejs/data/firmalife/tfc/drinkables/white_wine.json index 7b7bc3c28..da19eb209 100644 --- a/kubejs/data/firmalife/tfc/drinkables/white_wine.json +++ b/kubejs/data/firmalife/tfc/drinkables/white_wine.json @@ -1,6 +1,8 @@ { "ingredient": "firmalife:white_wine", - "thirst": 15, + "thirst": 10, + "intoxication": 4000, + "may_drink_when_full": true, "effects": [ { "type": "species:wither_resistance", diff --git a/kubejs/data/gtceu/tfc/drinkables/ethanol.json b/kubejs/data/gtceu/tfc/drinkables/ethanol.json index 96e808d58..653b9e83b 100644 --- a/kubejs/data/gtceu/tfc/drinkables/ethanol.json +++ b/kubejs/data/gtceu/tfc/drinkables/ethanol.json @@ -1,6 +1,7 @@ { "ingredient": "gtceu:ethanol", "thirst": 5, + "may_drink_when_full": true, "effects": [ { "type": "minecraft:nausea", diff --git a/kubejs/data/gtceu/tfc/drinkables/ice_slush.json b/kubejs/data/gtceu/tfc/drinkables/ice_slush.json index 1f05cb9c9..ed162e575 100644 --- a/kubejs/data/gtceu/tfc/drinkables/ice_slush.json +++ b/kubejs/data/gtceu/tfc/drinkables/ice_slush.json @@ -1,6 +1,7 @@ { "ingredient": "gtceu:ice", "thirst": 10, + "may_drink_when_full": true, "effects": [ { "type": "tfg:cooling", diff --git a/kubejs/data/gtceu/tfc/drinkables/methanol.json b/kubejs/data/gtceu/tfc/drinkables/methanol.json index cba19d83e..84fc684f1 100644 --- a/kubejs/data/gtceu/tfc/drinkables/methanol.json +++ b/kubejs/data/gtceu/tfc/drinkables/methanol.json @@ -1,6 +1,7 @@ { "ingredient": "gtceu:methanol", "thirst": 5, + "may_drink_when_full": true, "effects": [ { "type": "minecraft:blindness", diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/cocoa.json b/kubejs/data/tfc_gurman/tfc/drinkables/cocoa.json index 5d403ba69..0f59bce41 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/cocoa.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/cocoa.json @@ -1,6 +1,7 @@ { "ingredient": "tfc_gurman:cocoa", - "thirst": 15, + "thirst": 10, + "may_drink_when_full": true, "effects": [ { "type": "minecraft:haste", diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/coffee.json b/kubejs/data/tfc_gurman/tfc/drinkables/coffee.json index 13dec7feb..c64e29166 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/coffee.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/coffee.json @@ -1,6 +1,7 @@ { "ingredient": "tfc_gurman:coffee", - "thirst": 15, + "thirst": 10, + "may_drink_when_full": true, "effects": [ { "type": "minecraft:speed", diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/compote.json b/kubejs/data/tfc_gurman/tfc/drinkables/compote.json index 6956998dd..d86db6987 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/compote.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/compote.json @@ -1,6 +1,7 @@ { "ingredient": "tfc_gurman:compote", - "thirst": 15, + "thirst": 10, + "may_drink_when_full": true, "effects": [ { "type": "minecraft:jump_boost", diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/kvass.json b/kubejs/data/tfc_gurman/tfc/drinkables/kvass.json index 052d6cd35..2f70a543d 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/kvass.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/kvass.json @@ -1,6 +1,7 @@ { "ingredient": "tfc_gurman:kvass", - "thirst": 15, + "thirst": 10, + "may_drink_when_full": true, "effects": [ { "type": "minecraft:strength", diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/lemonade.json b/kubejs/data/tfc_gurman/tfc/drinkables/lemonade.json index 66d8a3f8c..d5d810fe4 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/lemonade.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/lemonade.json @@ -1,6 +1,7 @@ { "ingredient": "tfc_gurman:lemonade", - "thirst": 15, + "thirst": 10, + "may_drink_when_full": true, "effects": [ { "type": "minecraft:haste", diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/nalivka.json b/kubejs/data/tfc_gurman/tfc/drinkables/nalivka.json index 8e4d8f5a0..563b57b30 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/nalivka.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/nalivka.json @@ -1,6 +1,8 @@ { "ingredient": "tfc_gurman:nalivka", - "thirst": 15, + "thirst": 10, + "intoxication": 4000, + "may_drink_when_full": true, "effects": [ { "type": "minecraft:strength", diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/tea_chamomile.json b/kubejs/data/tfc_gurman/tfc/drinkables/tea_chamomile.json index 6e8dda27f..bb7a5223f 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/tea_chamomile.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/tea_chamomile.json @@ -1,6 +1,7 @@ { "ingredient": "tfc_gurman:tea_chamomile", - "thirst": 15, + "thirst": 10, + "may_drink_when_full": true, "effects": [ { "type": "minecraft:resistance", diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/tea_mint.json b/kubejs/data/tfc_gurman/tfc/drinkables/tea_mint.json index e96941a4c..e43e41414 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/tea_mint.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/tea_mint.json @@ -1,6 +1,7 @@ { "ingredient": "tfc_gurman:tea_mint", - "thirst": 15, + "thirst": 10, + "may_drink_when_full": true, "effects": [ { "type": "minecraft:regeneration", diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/tea_nettle.json b/kubejs/data/tfc_gurman/tfc/drinkables/tea_nettle.json index cc2c300bb..a9e53654d 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/tea_nettle.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/tea_nettle.json @@ -1,6 +1,7 @@ { "ingredient": "tfc_gurman:tea_nettle", - "thirst": 15, + "thirst": 10, + "may_drink_when_full": true, "effects": [ { "type": "minecraft:slow_falling", diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/tea_rosehip.json b/kubejs/data/tfc_gurman/tfc/drinkables/tea_rosehip.json index ad3d523f9..9f45aa167 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/tea_rosehip.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/tea_rosehip.json @@ -1,6 +1,7 @@ { "ingredient": "tfc_gurman:tea_rosehip", - "thirst": 15, + "thirst": 10, + "may_drink_when_full": true, "effects": [ { "type": "minecraft:absorption", From 8d17dca5c61787234de9023ab9b33db7ad773aba Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 23 Jan 2026 21:12:18 +0000 Subject: [PATCH 206/474] move saltpeter chem reactor to a circuit --- CHANGELOG.md | 6 +++++- kubejs/data/firmalife/tfc/drinkables/dessert_wine.json | 4 +++- kubejs/startup_scripts/gtceu/constants.js | 5 ++++- kubejs/startup_scripts/tfg/stone_types/constants.rocks.js | 2 +- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 05ad054d2..c3710241a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,9 @@ # Changelog ## Unreleased -### Important note +### Important notes - OC has been fixed on the Pisciculture Fishery and Hydroponics Facility. You will have to break and replace the machine for the fix to take effect. +- The Saltpeter chemical reactor recipe is now on circuit 2, to avoid a conflict with Nitrous Oxide (#2826) @Pyritie ### Breaking changes we forgot to write last time - Water wheels now *require* flowing water to work correctly. So you can't just put them in a lake, but you can make little flows off the side of it or use aqueducts and those should work. Other than that, they should have their same stress numbers as before. #### Stone dusts and other rock-related changes @@ -19,6 +20,7 @@ - The food meter's saturation level is now indicated by a gold outline instead of a red one, so it's less difficult to see (#2812) @TreyR9 - Changed some of the colors of Greate things to make the different tiers more visually distinct @Pyritie - Buffed ore washing and ore maceration recipes so at least they aren't so awful compared to Greate's methods @Pyritie +- Added TFG's crops to the field guide's Wild Crops entry @Petr211071 ### Bug fixes - Fixed a config bug causing waves to deposit shells etc with 100% chance. @Mqrius - Fixed a bug preventing the Pisciculture Fishery and Hydroponics Facility from overclocking. @Redeix @@ -29,6 +31,8 @@ - Fixed the Ad Astra airlock not counting as a cleanroom door (#2808) @thederpysockdude123 - Removed some leftover rock dust centrifuge recipes (#2804) @thederpysockdude123 - Fixed some mars plants self-destructing @Pyritie +- Fixed mossy cobblestone not collapsing @Pyritie +- Fixed welding not preserving forging bonuses (#2827) @Pyritie ### Translation updates - Spanish @NikoNeko17 - Russian @Petr211071 diff --git a/kubejs/data/firmalife/tfc/drinkables/dessert_wine.json b/kubejs/data/firmalife/tfc/drinkables/dessert_wine.json index 686a1157f..d85b72fa4 100644 --- a/kubejs/data/firmalife/tfc/drinkables/dessert_wine.json +++ b/kubejs/data/firmalife/tfc/drinkables/dessert_wine.json @@ -1,6 +1,8 @@ { "ingredient": "firmalife:dessert_wine", - "thirst": 15, + "thirst": 10, + "intoxication": 4000, + "may_drink_when_full": true, "effects": [ { "type": "species:iron_will", diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 40e7aa930..2be0de5fd 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -438,7 +438,10 @@ global.ADD_CIRCUIT = /** @type {const} */ ([ { recipeId: "gtceu:large_chemical_reactor/acetic_acid_from_methanol", circuitNumber: 1 }, { recipeId: "gtceu:chemical_reactor/butraldehyde", circuitNumber: 5 }, - { recipeId: "gtceu:large_chemical_reactor/butraldehyde", circuitNumber: 5 } + { recipeId: "gtceu:large_chemical_reactor/butraldehyde", circuitNumber: 5 }, + + { recipeId: "gtceu:chemical_reactor/saltpeter", circuitNumber: 2 }, + { recipeId: "gtceu:large_chemical_reactor/saltpeter", circuitNumber: 2 } ]); //#endregion diff --git a/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js b/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js index fab336d36..5e13faaa9 100644 --- a/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js +++ b/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js @@ -772,7 +772,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ }), // Thermal Vent Deposit "sulphuric_rock": { - material: 'tfg:igneous_mafic', + material: 'tfg:sedimentary_organic', collapsible: false, isTFC: false, sound: 'dripstone_block', From a844e5028467e3ac89926622d615037ad72b9a63 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 23 Jan 2026 21:31:48 +0000 Subject: [PATCH 207/474] drinkable concrete --- kubejs/client_scripts/tooltips.js | 20 ++++++++++------- .../data/gtceu/tfc/drinkables/concrete.json | 22 +++++++++++++++++++ kubejs/data/rnr/tfc/drinkables/concrete.json | 22 +++++++++++++++++++ kubejs/server_scripts/tfg/tags.js | 4 ++++ 4 files changed, 60 insertions(+), 8 deletions(-) create mode 100644 kubejs/data/gtceu/tfc/drinkables/concrete.json create mode 100644 kubejs/data/rnr/tfc/drinkables/concrete.json diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index a18865b76..9ec39e3f0 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -464,14 +464,18 @@ const registerTooltips = (event) => { event.addAdvanced(['firmalife:bucket/sparkling_wine'], (item, advanced, text) => { 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(2, 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(2, Text.translate("effect.minecraft.wither").append(Text.of(" II (01:00)")).red()); - }) + //event.addAdvanced(['gtceu:ethanol_bucket'], (item, advanced, text) => { + // text.add(1, Text.translate("effect.minecraft.nausea").append(Text.of(" (01:00)")).red()); + // text.add(2, 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(2, Text.translate("effect.minecraft.wither").append(Text.of(" II (01:00)")).red()); + //}) + //event.addAdvanced(['gtceu:concrete_bucket', 'rnr:bucket/concrete'], (item, advanced, text) => { + // text.add(1, Text.translate("effect.minecraft.slowness").append(Text.of(" II (05:00)")).red()); + // text.add(2, Text.translate("effect.minecraft.nausea").append(Text.of(" (01:00)")).red()); + //}) event.addAdvanced(['gtceu:ice_bucket'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.cooling_foods')); }) diff --git a/kubejs/data/gtceu/tfc/drinkables/concrete.json b/kubejs/data/gtceu/tfc/drinkables/concrete.json new file mode 100644 index 000000000..431c6199a --- /dev/null +++ b/kubejs/data/gtceu/tfc/drinkables/concrete.json @@ -0,0 +1,22 @@ +{ + "ingredient": "gtceu:concrete", + "thirst": 0, + "may_drink_when_full": true, + "effects": [ + { + "type": "minecraft:slowness", + "duration": 12000, + "amplifier": 2 + }, + { + "type": "species:tanked", + "duration": 12000, + "amplifier": 0 + }, + { + "type": "minecraft:mining_fatigue", + "duration": 1200, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/rnr/tfc/drinkables/concrete.json b/kubejs/data/rnr/tfc/drinkables/concrete.json new file mode 100644 index 000000000..841e9d0d2 --- /dev/null +++ b/kubejs/data/rnr/tfc/drinkables/concrete.json @@ -0,0 +1,22 @@ +{ + "ingredient": "rnr:concrete", + "thirst": 0, + "may_drink_when_full": true, + "effects": [ + { + "type": "minecraft:slowness", + "duration": 12000, + "amplifier": 2 + }, + { + "type": "species:tanked", + "duration": 12000, + "amplifier": 0 + }, + { + "type": "minecraft:mining_fatigue", + "duration": 1200, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 240456478..119a5b49b 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -179,6 +179,10 @@ const registerTFGFluidTags = (event) => { event.add('tfc:any_drinkables', 'gtceu:ethanol') event.add('tfc:drinkables', 'gtceu:methanol') event.add('tfc:any_drinkables', 'gtceu:methanol') + event.add('tfc:drinkables', 'gtceu:concrete') + event.add('tfc:any_drinkables', 'gtceu:concrete') + event.add('tfc:drinkables', 'rnr:concrete') + event.add('tfc:any_drinkables', 'gtceu:concrete') event.add('tfc:drinkables', 'gtceu:ice') event.add('tfc:any_drinkables', 'gtceu:ice') From e4fe7ee8eaf5346c8801eb772ae6465968efca29 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 23 Jan 2026 21:33:36 +0000 Subject: [PATCH 208/474] 0.11.18 --- CHANGELOG.md | 7 ++ config/crash_assistant/modlist.json | 64 ++++++---- .../quests/chapters/queststfc_tips.snbt | 2 +- pakku-lock.json | 113 +++++++++--------- 4 files changed, 103 insertions(+), 83 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c3710241a..f11a43eb2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,13 @@ # Changelog ## Unreleased +### Changes +### Bug fixes +### Translation updates + +## [0.11.18] - 23-01-2026 ### Important notes +If you missed it, 0.11.17 was a Beta version with other important breaking changes. Be sure to [read it](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/releases/tag/0.11.17) as well! - OC has been fixed on the Pisciculture Fishery and Hydroponics Facility. You will have to break and replace the machine for the fix to take effect. - The Saltpeter chemical reactor recipe is now on circuit 2, to avoid a conflict with Nitrous Oxide (#2826) @Pyritie ### Breaking changes we forgot to write last time @@ -21,6 +27,7 @@ - Changed some of the colors of Greate things to make the different tiers more visually distinct @Pyritie - Buffed ore washing and ore maceration recipes so at least they aren't so awful compared to Greate's methods @Pyritie - Added TFG's crops to the field guide's Wild Crops entry @Petr211071 +- You can now drink concrete @Pyritie ### Bug fixes - Fixed a config bug causing waves to deposit shells etc with 100% chance. @Mqrius - Fixed a bug preventing the Pisciculture Fishery and Hydroponics Facility from overclocking. @Redeix diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index 531b8217d..4ac65046b 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -452,6 +452,13 @@ "curseForgeHash": 3915242941, "modrinthHash": "338704cdf6623ad96983e72e81e8a9d97e8b28d8" }, + "createstockbridge-1.20-0.1.5.jar": { + "jarName": "createstockbridge-1.20-0.1.5.jar", + "modId": "createstockbridge", + "version": "0.1.5", + "curseForgeHash": 3147522607, + "modrinthHash": "0fa15f11788e3bc3a812fc597ade17af33888952" + }, "CreativeCore_FORGE_v2.12.32_mc1.20.1.jar": { "jarName": "CreativeCore_FORGE_v2.12.32_mc1.20.1.jar", "modId": "creativecore", @@ -718,12 +725,12 @@ "curseForgeHash": 1064675696, "modrinthHash": "1ef101b4c5991cc239d9b56a95500e3b404228f7" }, - "ftb-teams-forge-2001.3.1.jar": { - "jarName": "ftb-teams-forge-2001.3.1.jar", + "ftb-teams-forge-2001.3.2.jar": { + "jarName": "ftb-teams-forge-2001.3.2.jar", "modId": "ftbteams", - "version": "2001.3.1", - "curseForgeHash": 1240744296, - "modrinthHash": "c2af94e0b86631cb75daa8de2377ff72527651ca" + "version": "2001.3.2", + "curseForgeHash": 816412664, + "modrinthHash": "c49023f5d471aa1ba7fc624d2565fe9e82b7117e" }, "ftb-xmod-compat-forge-2.1.3.jar": { "jarName": "ftb-xmod-compat-forge-2.1.3.jar", @@ -1017,12 +1024,12 @@ "curseForgeHash": 544928077, "modrinthHash": "24e6611df470afd957eafd16c43890b7214e3da9" }, - "modernfix-forge-5.25.2+mc1.20.1.jar": { - "jarName": "modernfix-forge-5.25.2+mc1.20.1.jar", + "modernfix-forge-5.26.1+mc1.20.1.jar": { + "jarName": "modernfix-forge-5.26.1+mc1.20.1.jar", "modId": "modernfix", - "version": "5.25.2+mc1.20.1", - "curseForgeHash": 3074548209, - "modrinthHash": "4069534174e618393f0c14d9dc61ac27a04bb992" + "version": "5.26.1+mc1.20.1", + "curseForgeHash": 424935770, + "modrinthHash": "fa0163b33e911b69af61fee8a3920820e7c617a0" }, "ModernUI-Forge-1.20.1-3.12.0.1-universal.jar": { "jarName": "ModernUI-Forge-1.20.1-3.12.0.1-universal.jar", @@ -1122,12 +1129,12 @@ "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", + "particle_core-0.3.1+1.20.1+forge.jar": { + "jarName": "particle_core-0.3.1+1.20.1+forge.jar", "modId": "particle_core", - "version": "0.2.6+1.20.1+forge", - "curseForgeHash": 4189650687, - "modrinthHash": "91f302ab9b85016aeb3a9a0e85b80650a1d2e984" + "version": "0.3.1+1.20.1+forge", + "curseForgeHash": 4077743380, + "modrinthHash": "935a8c19cc7a72364fdfe494d9ddbd599f01588d" }, "particular-1.20.1-Forge-1.2.7.jar": { "jarName": "particular-1.20.1-Forge-1.2.7.jar", @@ -1367,12 +1374,12 @@ "curseForgeHash": 218830698, "modrinthHash": "7d4f578a42c9b880744ea6058a495847aac9e4c3" }, - "tacz-tweaks-2.11.2-all.jar": { - "jarName": "tacz-tweaks-2.11.2-all.jar", + "tacz-tweaks-2.12.1-all.jar": { + "jarName": "tacz-tweaks-2.12.1-all.jar", "modId": "tacztweaks", - "version": "2.11.2", - "curseForgeHash": 2376197194, - "modrinthHash": "889c0885b6388fc7966b956a5df4efbb1c758965" + "version": "2.12.1", + "curseForgeHash": 769672337, + "modrinthHash": "92c9981e2e2f2edecab25ee48c5bade7a14298a8" }, "taczammoquery-1.20.1-1.0.0.jar": { "jarName": "taczammoquery-1.20.1-1.0.0.jar", @@ -1395,12 +1402,12 @@ "curseForgeHash": 2679626739, "modrinthHash": "ea725f5bed9662aa22d4ec089a009bd52fb82275" }, - "TerraFirmaGreg-Core-Modern-0.8.17.jar": { - "jarName": "TerraFirmaGreg-Core-Modern-0.8.17.jar", + "TerraFirmaGreg-Core-Modern-0.8.18.jar": { + "jarName": "TerraFirmaGreg-Core-Modern-0.8.18.jar", "modId": "tfg", - "version": "0.8.17", - "curseForgeHash": 2296143699, - "modrinthHash": "8a92b1d2a0a88eb0d7ffdfcdab93b0fb31e2e312" + "version": "0.8.18", + "curseForgeHash": 3264017794, + "modrinthHash": "b4f98b976aa7096b6ec0a6bd291fb16415dfeb3a" }, "tfc_gurman-1.3.0.jar": { "jarName": "tfc_gurman-1.3.0.jar", @@ -1626,6 +1633,13 @@ "curseForgeHash": 2333549546, "modrinthHash": "7298a59e383d2327e2acc49d8f1b132cedb8860b" }, + "wakes-1.20.1-Forge-1.0.9.jar": { + "jarName": "wakes-1.20.1-Forge-1.0.9.jar", + "modId": "wakes", + "version": "1.0.9", + "curseForgeHash": 650217522, + "modrinthHash": "4e2f19e3c2d36968630f66b370ad0ab984aa5b25" + }, "waterflasks-3.0.10.jar": { "jarName": "waterflasks-3.0.10.jar", "modId": "waterflasks", diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index 7d9558338..ed36edbd7 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -1185,7 +1185,7 @@ Count: 1 ForgeCaps: { "tfc:food": { - creationDate: 53316000L + creationDate: -9223372036854775808L traits: [ ] } } diff --git a/pakku-lock.json b/pakku-lock.json index b6e73220b..1d4e80d90 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -4651,7 +4651,7 @@ "pakku_links": [ "6k7DoFyO7bpHnhyk", "znIzfNElWkwpdz2V", - "pB7ARGecP03UXpd6" + "ihA4iuyUc3fA0D4q" ], "type": "MOD", "side": "BOTH", @@ -4793,7 +4793,7 @@ "pakku_links": [ "0DMPJ1AWW6qfYubI", "64uacGcEw697jVGs", - "pB7ARGecP03UXpd6" + "ihA4iuyUc3fA0D4q" ], "type": "MOD", "side": "BOTH", @@ -5167,7 +5167,7 @@ "zQAe1eid9EE5PMwK", "WlWexjDJnb3iikHc", "V83DMpywbmyrQqvg", - "pB7ARGecP03UXpd6" + "ihA4iuyUc3fA0D4q" ], "type": "MOD", "side": "BOTH", @@ -6883,9 +6883,9 @@ ] }, { - "pakku_id": "pB7ARGecP03UXpd6", + "pakku_id": "ihA4iuyUc3fA0D4q", "type": "MOD", - "side": "BOTH", + "side": "CLIENT", "slug": { "curseforge": "geckolib", "modrinth": "geckolib" @@ -6899,6 +6899,27 @@ "modrinth": "8BmcQJ2H" }, "files": [ + { + "type": "curseforge", + "file_name": "geckolib-forge-1.20.1-4.8.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7025/129/geckolib-forge-1.20.1-4.8.2.jar", + "id": "7025129", + "parent_id": "388172", + "hashes": { + "sha1": "395a9f21a36dc8466d67c2af67a904e7013460d1", + "md5": "d1ff73da16b6fc163d6c5ed3d9734dde" + }, + "required_dependencies": [], + "size": 1038979, + "date_published": "2025-09-23T10:08:54.570Z" + }, { "type": "modrinth", "file_name": "geckolib-forge-1.20.1-4.8.2.jar", @@ -6919,28 +6940,6 @@ "required_dependencies": [], "size": 1038979, "date_published": "2025-09-23T10:09:01.034935Z" - }, - { - "type": "curseforge", - "file_name": "geckolib-forge-1.20.1-4.7.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6027/567/geckolib-forge-1.20.1-4.7.jar", - "id": "6027567", - "parent_id": "388172", - "hashes": { - "sha1": "698d4374fb062edf68b93e05f3bf3b5873cdd260", - "md5": "96dddfb78d375bdd330ae1577ee28bfe" - }, - "required_dependencies": [], - "size": 1004042, - "date_published": "2024-12-27T16:27:17.200Z" } ] }, @@ -9436,7 +9435,7 @@ "files": [ { "type": "modrinth", - "file_name": "modernfix-forge-5.25.2+mc1.20.1.jar", + "file_name": "modernfix-forge-5.26.1+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -9444,20 +9443,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/scXW7F8Q/modernfix-forge-5.25.2+mc1.20.1.jar", - "id": "scXW7F8Q", + "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/zSQuM6f3/modernfix-forge-5.26.1+mc1.20.1.jar", + "id": "zSQuM6f3", "parent_id": "nmDcB62a", "hashes": { - "sha512": "016940bd76b36865f507c07fc7834ea7dc6f7a6c0016aebf6375ee05a9405f2730e07c555ab8ce920775fce3b5a29ff5b638b67f29c03458074650478d37242a", - "sha1": "4069534174e618393f0c14d9dc61ac27a04bb992" + "sha512": "af689fc986ea90026881cb928cef4d1cdb94030c77e111a4a4b560206c2754ad63b58a7df2990942c6808d692500a7b701a87ebb1665b0d2832d6119ad80c81c", + "sha1": "fa0163b33e911b69af61fee8a3920820e7c617a0" }, "required_dependencies": [], - "size": 895444, - "date_published": "2025-12-08T02:42:23.149141Z" + "size": 826829, + "date_published": "2026-01-23T00:51:21.409054Z" }, { "type": "curseforge", - "file_name": "modernfix-forge-5.25.2+mc1.20.1.jar", + "file_name": "modernfix-forge-5.26.1+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -9465,16 +9464,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7306/749/modernfix-forge-5.25.2+mc1.20.1.jar", - "id": "7306749", + "url": "https://edge.forgecdn.net/files/7509/729/modernfix-forge-5.26.1+mc1.20.1.jar", + "id": "7509729", "parent_id": "790626", "hashes": { - "sha1": "4069534174e618393f0c14d9dc61ac27a04bb992", - "md5": "893b2aba13f35bd7ed3fdad2ca15a4d4" + "sha1": "fa0163b33e911b69af61fee8a3920820e7c617a0", + "md5": "63bb05ac16ae0ecc3e2b039148edab3e" }, "required_dependencies": [], - "size": 895444, - "date_published": "2025-12-08T02:42:18.980Z" + "size": 826829, + "date_published": "2026-01-23T00:51:20.560Z" } ] }, @@ -10964,7 +10963,7 @@ { "pakku_id": "fyLOnDQ4LT0IYTlR", "pakku_links": [ - "pB7ARGecP03UXpd6" + "ihA4iuyUc3fA0D4q" ], "type": "MOD", "side": "BOTH", @@ -14115,7 +14114,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.17.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.18.jar", "mc_versions": [ "1.20.1" ], @@ -14124,23 +14123,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/ddL8gH3n/TerraFirmaGreg-Core-Modern-0.8.17.jar", - "id": "ddL8gH3n", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/xA84bf76/TerraFirmaGreg-Core-Modern-0.8.18.jar", + "id": "xA84bf76", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "e94af5ba14173453d2193f6c2d5d38e8718089a49cbbd0d179ac35426f66aa2994567b4a83e834fc214af92a1c2168f08915e7ed111bb89d0beb52b51e02b8d0", - "sha1": "8a92b1d2a0a88eb0d7ffdfcdab93b0fb31e2e312" + "sha512": "8a6e5bdd978ff3352df0e6a5723da09a6495f30850b68e5c191a976bf628f2ce537cd1be354ca214859a9e63f6398f2147d186156654946b38159d8a73ea860c", + "sha1": "b4f98b976aa7096b6ec0a6bd291fb16415dfeb3a" }, "required_dependencies": [ "JaCEZUhg", "7tG215v7" ], - "size": 9460832, - "date_published": "2026-01-20T15:49:12.042661Z" + "size": 9461778, + "date_published": "2026-01-23T05:43:54.009706Z" }, { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.17.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.18.jar", "mc_versions": [ "1.20.1" ], @@ -14149,19 +14148,19 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7494/761/TerraFirmaGreg-Core-Modern-0.8.17.jar", - "id": "7494761", + "url": "https://edge.forgecdn.net/files/7510/518/TerraFirmaGreg-Core-Modern-0.8.18.jar", + "id": "7510518", "parent_id": "513402", "hashes": { - "sha1": "8a92b1d2a0a88eb0d7ffdfcdab93b0fb31e2e312", - "md5": "cd491082cfcd037400291a39c466b4c5" + "sha1": "b4f98b976aa7096b6ec0a6bd291fb16415dfeb3a", + "md5": "98d393ea8d2bedda684ba69b5546c438" }, "required_dependencies": [ "890405", "302973" ], - "size": 9460832, - "date_published": "2026-01-20T15:49:06.947Z" + "size": 9461778, + "date_published": "2026-01-23T05:43:16.570Z" } ] }, @@ -14894,7 +14893,7 @@ { "pakku_id": "qM5Yyq0zqqJc8XtT", "pakku_links": [ - "pB7ARGecP03UXpd6" + "ihA4iuyUc3fA0D4q" ], "type": "MOD", "side": "BOTH", From 5052714c84e98aaf8ae101f62d87ba881b6e8dd4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 23 Jan 2026 22:31:46 +0000 Subject: [PATCH 209/474] fix gt glass lens --- kubejs/server_scripts/gregtech/recipes.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index cc007dfc9..7e8ede4e7 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -413,4 +413,11 @@ const registerGTCEURecipes = (event) => { .itemOutputs('tfg:paracetamol_pill') .duration(3 * 20) .EUt(GTValues.VA[GTValues.LV]) + + // Glass lens + event.recipes.gtceu.lathe('tfg:gt_glass_lens') + .itemInputs('#forge:plates/glass') + .itemOutputs('#forge:lenses/glass', '#forge:small_dusts/glass') + .duration(60 * 20) + .EUt(GTValues.VA[GTValues.MV]) } From 80f235448093a13d8d222dfe199c22d425a5c288 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 24 Jan 2026 13:59:30 +0000 Subject: [PATCH 210/474] fix kaolinite recipe conflict --- CHANGELOG.md | 2 ++ kubejs/server_scripts/tfg/machines/recipes.ender_pearls.js | 2 ++ 2 files changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f11a43eb2..872214b6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # Changelog ## Unreleased +### Breaking changes +- The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie ### Changes ### Bug fixes ### Translation updates diff --git a/kubejs/server_scripts/tfg/machines/recipes.ender_pearls.js b/kubejs/server_scripts/tfg/machines/recipes.ender_pearls.js index 84162e695..803ced4f3 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.ender_pearls.js +++ b/kubejs/server_scripts/tfg/machines/recipes.ender_pearls.js @@ -6,6 +6,7 @@ function registerTFGEnderPearlRecipes(event) { .inputFluids(Fluid.of('gtceu:distilled_water', 6000), Fluid.of('gtceu:chlorine', 8000)) .itemOutputs('17x tfc:powder/kaolinite') .outputFluids(Fluid.of('gtceu:hydrochloric_acid', 8000)) + .circuit(3) .duration(20 * 10) .EUt(GTValues.VA[GTValues.HV]) @@ -14,6 +15,7 @@ function registerTFGEnderPearlRecipes(event) { .inputFluids(Fluid.of('gtceu:distilled_water', 6000), Fluid.of('gtceu:chlorine', 8000)) .itemOutputs('17x tfc:powder/kaolinite', '1x #forge:dusts/chromium') .outputFluids(Fluid.of('gtceu:hydrochloric_acid', 8000)) + .circuit(3) .duration(20 * 10) .EUt(GTValues.VA[GTValues.HV]) From e9e6530a6110f2907758749b9a4ab9287f139666 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 24 Jan 2026 15:27:11 +0000 Subject: [PATCH 211/474] fix large miners and deepslate/red granite loot tables --- CHANGELOG.md | 2 ++ kubejs/startup_scripts/gtceu/constants.js | 3 ++- .../tfg/stone_types/tag_prefixes.rocks.js | 22 ++++++++++++++++++- 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 872214b6e..24b6e1e31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie ### Changes ### Bug fixes +- Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie +- Fixed red granite ores never dropping poor or rich raw ores @Pyritie ### Translation updates ## [0.11.18] - 23-01-2026 diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 2be0de5fd..38e7473b7 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -415,7 +415,8 @@ global.ORE_BEARING_STONES = /** @type {const} */ ([ "mars_stone", "venus_stone", "mercury_stone", - "glacio_stone" + "glacio_stone", + "red_granite" ]); //#endregion diff --git a/kubejs/startup_scripts/tfg/stone_types/tag_prefixes.rocks.js b/kubejs/startup_scripts/tfg/stone_types/tag_prefixes.rocks.js index 81354e3ef..0595b7243 100644 --- a/kubejs/startup_scripts/tfg/stone_types/tag_prefixes.rocks.js +++ b/kubejs/startup_scripts/tfg/stone_types/tag_prefixes.rocks.js @@ -2,7 +2,8 @@ "use strict"; const registerTFGRocksTagPrefixes = (event) => { - + + TagPrefix.ORES.remove(TagPrefix.oreDeepslate) TagPrefix.ORES.remove(TagPrefix.oreTuff) TagPrefix.ORES.remove(TagPrefix.oreSand) TagPrefix.ORES.remove(TagPrefix.oreRedSand) @@ -15,6 +16,7 @@ const registerTFGRocksTagPrefixes = (event) => { TagPrefix.ORES.remove(TagPrefix.oreAndesite) TagPrefix.ORES.remove(TagPrefix.oreDiorite) TagPrefix.ORES.remove(TagPrefix.oreGranite) + TagPrefix.ORES.remove(TagPrefix.oreRedGranite) const shouldGenerateOre = (material) => { return material.hasProperty(PropertyKey.ORE); @@ -46,6 +48,15 @@ const registerTFGRocksTagPrefixes = (event) => { TFGHelpers.registerCobbleBlock('pyroxenite', 'tfg:rock/cobble_blackstone'); + event.create('deepslate', 'ore') + .stateSupplier(() => Block.getBlock('minecraft:deepslate').defaultBlockState()) + .baseModelLocation('minecraft:block/deepslate') + .unificationEnabled(true) + .materialIconType(GTMaterialIconType.ore) + .generationCondition(shouldGenerateOre) + + TFGHelpers.registerCobbleBlock('deepslate', 'minecraft:cobbled_deepslate'); + event.create('dripstone', 'ore') .stateSupplier(() => Block.getBlock('minecraft:dripstone_block').defaultBlockState()) .baseModelLocation('minecraft:block/dripstone_block') @@ -108,4 +119,13 @@ const registerTFGRocksTagPrefixes = (event) => { .generationCondition(shouldGenerateOre) TFGHelpers.registerCobbleBlock('glacio_stone', 'ad_astra:glacio_cobblestone'); + + event.create('red_granite', 'ore') + .stateSupplier(() => Block.getBlock('tfg:rock/hardened_red_granite').defaultBlockState()) + .baseModelLocation('gtceu:block/red_granite') + .unificationEnabled(true) + .materialIconType(GTMaterialIconType.ore) + .generationCondition(shouldGenerateOre) + + TFGHelpers.registerCobbleBlock('red_granite', 'gtceu:red_granite_cobblestone'); } \ No newline at end of file From e02c36bb9d3d5dbef329ab3b8be2d0e506b62782 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 24 Jan 2026 15:28:16 +0000 Subject: [PATCH 212/474] fix #2836 Related Work Items: #28 --- CHANGELOG.md | 1 + kubejs/server_scripts/afc/tags.js | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24b6e1e31..3643d8c44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie +- Fixed rosin leaves and saplings having tags the wrong way around (#2836) @Pyritie ### Translation updates ## [0.11.18] - 23-01-2026 diff --git a/kubejs/server_scripts/afc/tags.js b/kubejs/server_scripts/afc/tags.js index 771ed2740..016e998b6 100644 --- a/kubejs/server_scripts/afc/tags.js +++ b/kubejs/server_scripts/afc/tags.js @@ -69,21 +69,21 @@ const registerAFCItemTags = (event) => { event.add("tfg:rosin_logs", "#tfc:white_cedar_logs") event.add("tfg:rosin_logs", "#tfc:douglas_fir_logs") - event.add("tfg:rosin_saplings", 'tfc:wood/leaves/aspen') - event.add("tfg:rosin_saplings", 'afc:wood/leaves/coast_spruce') - event.add("tfg:rosin_saplings", 'tfc:wood/leaves/spruce') - event.add("tfg:rosin_saplings", 'afc:wood/leaves/black_spruce') - event.add("tfg:rosin_saplings", 'afc:wood/leaves/sitka_spruce') - event.add("tfg:rosin_saplings", 'tfc:wood/leaves/douglas_fir') - event.add("tfg:rosin_saplings", 'tfc:wood/leaves/white_cedar') + event.add("tfg:rosin_leaves", 'tfc:wood/leaves/aspen') + event.add("tfg:rosin_leaves", 'afc:wood/leaves/coast_spruce') + event.add("tfg:rosin_leaves", 'tfc:wood/leaves/spruce') + event.add("tfg:rosin_leaves", 'afc:wood/leaves/black_spruce') + event.add("tfg:rosin_leaves", 'afc:wood/leaves/sitka_spruce') + event.add("tfg:rosin_leaves", 'tfc:wood/leaves/douglas_fir') + event.add("tfg:rosin_leaves", 'tfc:wood/leaves/white_cedar') - event.add("tfg:rosin_leaves", 'tfc:wood/sapling/aspen') - event.add("tfg:rosin_leaves", 'afc:wood/sapling/coast_spruce') - event.add("tfg:rosin_leaves", 'tfc:wood/sapling/spruce') - event.add("tfg:rosin_leaves", 'afc:wood/sapling/black_spruce') - event.add("tfg:rosin_leaves", 'afc:wood/sapling/sitka_spruce') - event.add("tfg:rosin_leaves", 'tfc:wood/sapling/douglas_fir') - event.add("tfg:rosin_leaves", 'tfc:wood/sapling/white_cedar') + event.add("tfg:rosin_saplings", 'tfc:wood/sapling/aspen') + event.add("tfg:rosin_saplings", 'afc:wood/sapling/coast_spruce') + event.add("tfg:rosin_saplings", 'tfc:wood/sapling/spruce') + event.add("tfg:rosin_saplings", 'afc:wood/sapling/black_spruce') + event.add("tfg:rosin_saplings", 'afc:wood/sapling/sitka_spruce') + event.add("tfg:rosin_saplings", 'tfc:wood/sapling/douglas_fir') + event.add("tfg:rosin_saplings", 'tfc:wood/sapling/white_cedar') // Maple Syrup Tag From d89ea918732db438f53d89e13b098ae839d8e55e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 24 Jan 2026 15:40:33 +0000 Subject: [PATCH 213/474] make vanadium magnetite meltable #2834 --- CHANGELOG.md | 1 + kubejs/startup_scripts/gtceu/material_modification.js | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3643d8c44..5db9975c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ### Breaking changes - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie ### Changes +- Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index fbcf005a3..985f022e4 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -123,8 +123,9 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Magnetite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); GTMaterials.Pyrite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); GTMaterials.Goethite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); - GTMaterials.BasalticMineralSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); - GTMaterials.GraniticMineralSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 90)); + GTMaterials.BasalticMineralSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 80)); + GTMaterials.GraniticMineralSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 80)); + GTMaterials.VanadiumMagnetite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(921, 1228, 1535, GTMaterials.Iron, 3, 80)); GTMaterials.Malachite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 90)); GTMaterials.Tetrahedrite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 90)); @@ -133,7 +134,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Bornite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1080, GTMaterials.Copper, 1, 90)); GTMaterials.Cassiterite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(648, 864, 230, GTMaterials.Tin, 1, 100)); - GTMaterials.CassiteriteSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 230, GTMaterials.Tin, 1, 85)); + GTMaterials.CassiteriteSand.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 230, GTMaterials.Tin, 1, 80)); GTMaterials.Sphalerite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 420, GTMaterials.Zinc, 1, 90)); GTMaterials.Garnierite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1453, GTMaterials.Nickel, 1, 100)); GTMaterials.Pentlandite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(138, 184, 1453, GTMaterials.Nickel, 1, 85)); From 32e451eb56274fb07c4555a0f46adbdd620396e5 Mon Sep 17 00:00:00 2001 From: TanJeeSchuan <89920999+TanJeeSchuan@users.noreply.github.com> Date: Sat, 24 Jan 2026 23:46:25 +0800 Subject: [PATCH 214/474] Fix swapped tags for rosin saplings and leaves (#2840) * Fix swapped tags for rosin saplings and leaves Corrected the tags of sapling and leaf items to the 'tfg:rosin_saplings' and 'tfg:rosin_leaves'. * remove comment Signed-off-by: Pyritie --------- Signed-off-by: Pyritie Co-authored-by: Pyritie --- kubejs/server_scripts/afc/tags.js | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/kubejs/server_scripts/afc/tags.js b/kubejs/server_scripts/afc/tags.js index 771ed2740..cd32cca68 100644 --- a/kubejs/server_scripts/afc/tags.js +++ b/kubejs/server_scripts/afc/tags.js @@ -69,21 +69,21 @@ const registerAFCItemTags = (event) => { event.add("tfg:rosin_logs", "#tfc:white_cedar_logs") event.add("tfg:rosin_logs", "#tfc:douglas_fir_logs") - event.add("tfg:rosin_saplings", 'tfc:wood/leaves/aspen') - event.add("tfg:rosin_saplings", 'afc:wood/leaves/coast_spruce') - event.add("tfg:rosin_saplings", 'tfc:wood/leaves/spruce') - event.add("tfg:rosin_saplings", 'afc:wood/leaves/black_spruce') - event.add("tfg:rosin_saplings", 'afc:wood/leaves/sitka_spruce') - event.add("tfg:rosin_saplings", 'tfc:wood/leaves/douglas_fir') - event.add("tfg:rosin_saplings", 'tfc:wood/leaves/white_cedar') + event.add("tfg:rosin_saplings", 'tfc:wood/sapling/aspen') + event.add("tfg:rosin_saplings", 'afc:wood/sapling/coast_spruce') + event.add("tfg:rosin_saplings", 'tfc:wood/sapling/spruce') + event.add("tfg:rosin_saplings", 'afc:wood/sapling/black_spruce') + event.add("tfg:rosin_saplings", 'afc:wood/sapling/sitka_spruce') + event.add("tfg:rosin_saplings", 'tfc:wood/sapling/douglas_fir') + event.add("tfg:rosin_saplings", 'tfc:wood/sapling/white_cedar') - event.add("tfg:rosin_leaves", 'tfc:wood/sapling/aspen') - event.add("tfg:rosin_leaves", 'afc:wood/sapling/coast_spruce') - event.add("tfg:rosin_leaves", 'tfc:wood/sapling/spruce') - event.add("tfg:rosin_leaves", 'afc:wood/sapling/black_spruce') - event.add("tfg:rosin_leaves", 'afc:wood/sapling/sitka_spruce') - event.add("tfg:rosin_leaves", 'tfc:wood/sapling/douglas_fir') - event.add("tfg:rosin_leaves", 'tfc:wood/sapling/white_cedar') + event.add("tfg:rosin_leaves", 'tfc:wood/leaves/aspen') + event.add("tfg:rosin_leaves", 'afc:wood/leaves/coast_spruce') + event.add("tfg:rosin_leaves", 'tfc:wood/leaves/spruce') + event.add("tfg:rosin_leaves", 'afc:wood/leaves/black_spruce') + event.add("tfg:rosin_leaves", 'afc:wood/leaves/sitka_spruce') + event.add("tfg:rosin_leaves", 'tfc:wood/leaves/douglas_fir') + event.add("tfg:rosin_leaves", 'tfc:wood/leaves/white_cedar') // Maple Syrup Tag From 07bc872b0e4338298d7f2132f106c6eea690f360 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 24 Jan 2026 15:51:08 +0000 Subject: [PATCH 215/474] update greate, pakku --- CHANGELOG.md | 2 +- config/greate-recipes.yaml | 4 + .../server_scripts/greate/recipes.removes.js | 2 + pakku-lock.json | 98 +++++++++---------- 4 files changed, 56 insertions(+), 50 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5db9975c3..29848e793 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie -- Fixed rosin leaves and saplings having tags the wrong way around (#2836) @Pyritie +- Fixed rosin leaves and saplings having tags the wrong way around (#2840) @TanJeeSchuan ### Translation updates ## [0.11.18] - 23-01-2026 diff --git a/config/greate-recipes.yaml b/config/greate-recipes.yaml index 352b7b5fd..50dd46256 100644 --- a/config/greate-recipes.yaml +++ b/config/greate-recipes.yaml @@ -9,6 +9,10 @@ enableHardCreateRecipes: false # If false, GTCEu items will be used instead. useCreateItemsInRecipes: false +# Should recipes from create that conflict with GTCEu recipes be enabled? +# [WARNING]: This will not cover every single recipe conflict, only common conflicts (like components (plates/sheets)), or ore processing conflicts. +disableConflictingRecipes: true + # Recipe types that should not be copied to Greate machines. Ex. 'gtceu:macerator' for macerator recipes ignoredRecipeTypes: - gtceu:ore_washer diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index 1c267e4cb..902e945f8 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -82,4 +82,6 @@ function removeGreateRecipes(event) { event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_honeycomb' }) event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_honeycomb_block'}) event.remove({ id: 'greate:milling/integration/gtceu/macerator/quartz_sand_from_sand' }) + + evevt.remove({ id: 'greate:mixing/brass_ingot' }) } diff --git a/pakku-lock.json b/pakku-lock.json index 1d4e80d90..b98f4acab 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -6885,7 +6885,7 @@ { "pakku_id": "ihA4iuyUc3fA0D4q", "type": "MOD", - "side": "CLIENT", + "side": "BOTH", "slug": { "curseforge": "geckolib", "modrinth": "geckolib" @@ -7101,7 +7101,7 @@ "files": [ { "type": "modrinth", - "file_name": "greate-0.0.62.jar", + "file_name": "greate-0.0.64.jar", "mc_versions": [ "1.20.1" ], @@ -7110,23 +7110,23 @@ "neoforge" ], "release_type": "alpha", - "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/FDjUACYa/greate-0.0.62.jar", - "id": "FDjUACYa", + "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/9flLlqpd/greate-0.0.64.jar", + "id": "9flLlqpd", "parent_id": "8wDcQuht", "hashes": { - "sha512": "8458d070ec94b6a130944f80a67a72fbf89d099e8378ab0a76eb0130eaa60f5e9af3d61b43f968694c78653a4c6f453b63a9fb8947910c06ad9934bd3c7c120e", - "sha1": "0e4ffe5e88f97df724172b3061a1691028f45582" + "sha512": "9f7d4f37fa720eeca5177263c4cd00f6812cd77063214061f31ef416123d51bc0a553f46393c1e0e3a548ef6d15b2da2bd6f703d80379d3ad084ee749c12b2c0", + "sha1": "7e779ac568c27ebb8cb9b16c6b8797b633ffdcdf" }, "required_dependencies": [ - "LNytGWDc", - "7tG215v7" + "7tG215v7", + "LNytGWDc" ], - "size": 1253198, - "date_published": "2026-01-13T16:37:04.520883Z" + "size": 1257336, + "date_published": "2026-01-24T05:55:41.391475Z" }, { "type": "curseforge", - "file_name": "greate-0.0.62.jar", + "file_name": "greate-0.0.64.jar", "mc_versions": [ "1.20.1" ], @@ -7135,19 +7135,19 @@ "neoforge" ], "release_type": "alpha", - "url": "https://edge.forgecdn.net/files/7455/72/greate-0.0.62.jar", - "id": "7455072", + "url": "https://edge.forgecdn.net/files/7516/28/greate-0.0.64.jar", + "id": "7516028", "parent_id": "901996", "hashes": { - "sha1": "0e4ffe5e88f97df724172b3061a1691028f45582", - "md5": "b4c8e38c9c69a88266d5eb64fcc21f18" + "sha1": "7e779ac568c27ebb8cb9b16c6b8797b633ffdcdf", + "md5": "31e92230efe5fc01d683e25fbe6a561c" }, "required_dependencies": [ - "328085", - "890405" + "890405", + "328085" ], - "size": 1253198, - "date_published": "2026-01-13T16:35:06.893Z" + "size": 1257336, + "date_published": "2026-01-24T05:55:39.687Z" } ] }, @@ -9435,7 +9435,7 @@ "files": [ { "type": "modrinth", - "file_name": "modernfix-forge-5.26.1+mc1.20.1.jar", + "file_name": "modernfix-forge-5.26.2+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -9443,20 +9443,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/zSQuM6f3/modernfix-forge-5.26.1+mc1.20.1.jar", - "id": "zSQuM6f3", + "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/Uvlhuprw/modernfix-forge-5.26.2+mc1.20.1.jar", + "id": "Uvlhuprw", "parent_id": "nmDcB62a", "hashes": { - "sha512": "af689fc986ea90026881cb928cef4d1cdb94030c77e111a4a4b560206c2754ad63b58a7df2990942c6808d692500a7b701a87ebb1665b0d2832d6119ad80c81c", - "sha1": "fa0163b33e911b69af61fee8a3920820e7c617a0" + "sha512": "46e6fb85c3097d3dedca0409fda83d58b3724a0905a5f5417b8bfaa2cb8bce388e6d42c762ee615413a9bc2692fa4b302d7e2405fe6fd7ad82c9def6a5da9028", + "sha1": "0adfc122e9f632d8847688c4c3ed20a1af182afa" }, "required_dependencies": [], "size": 826829, - "date_published": "2026-01-23T00:51:21.409054Z" + "date_published": "2026-01-24T01:51:58.806460Z" }, { "type": "curseforge", - "file_name": "modernfix-forge-5.26.1+mc1.20.1.jar", + "file_name": "modernfix-forge-5.26.2+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -9464,16 +9464,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7509/729/modernfix-forge-5.26.1+mc1.20.1.jar", - "id": "7509729", + "url": "https://edge.forgecdn.net/files/7515/215/modernfix-forge-5.26.2+mc1.20.1.jar", + "id": "7515215", "parent_id": "790626", "hashes": { - "sha1": "fa0163b33e911b69af61fee8a3920820e7c617a0", - "md5": "63bb05ac16ae0ecc3e2b039148edab3e" + "sha1": "0adfc122e9f632d8847688c4c3ed20a1af182afa", + "md5": "61332114c9c317080faaf35f8183d67b" }, "required_dependencies": [], "size": 826829, - "date_published": "2026-01-23T00:51:20.560Z" + "date_published": "2026-01-24T01:51:57.657Z" } ] }, @@ -13972,7 +13972,7 @@ "files": [ { "type": "modrinth", - "file_name": "tacz-tweaks-2.12.1-all.jar", + "file_name": "tacz-tweaks-2.12.2-all.jar", "mc_versions": [ "1.20", "1.20.1" @@ -13981,24 +13981,24 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/H8peNuJG/versions/RMgTVnMg/tacz-tweaks-2.12.1-all.jar", - "id": "RMgTVnMg", + "url": "https://cdn.modrinth.com/data/H8peNuJG/versions/JnqIQ9EH/tacz-tweaks-2.12.2-all.jar", + "id": "JnqIQ9EH", "parent_id": "H8peNuJG", "hashes": { - "sha512": "1ba717c181bd2211dbb82f23646d5e152bb8308475a74559b65f0ed027c55e89184ef058512cb5bb1a707e13155c609c929085510710e40f6df9baec1fc0bbf4", - "sha1": "92c9981e2e2f2edecab25ee48c5bade7a14298a8" + "sha512": "6ff5680072a972f9a597928745525a89c194d9c7701cda33ba386d1bf8a0ff0fe010d5bf63f467c3ef7d746896ac6a7678e98a7285b0254b926075d4170ac353", + "sha1": "f726c2d0ac2c77e3cc7f93fad7fd4338117c7a80" }, "required_dependencies": [ + "1eAoo2KR", "ordsPcFz", - "SzzJttH8", - "1eAoo2KR" + "SzzJttH8" ], - "size": 1894147, - "date_published": "2026-01-22T14:38:58.126712Z" + "size": 1894239, + "date_published": "2026-01-24T10:14:48.372979Z" }, { "type": "curseforge", - "file_name": "tacz-tweaks-2.12.1-all.jar", + "file_name": "tacz-tweaks-2.12.2-all.jar", "mc_versions": [ "1.20.1", "1.20" @@ -14007,20 +14007,20 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7506/850/tacz-tweaks-2.12.1-all.jar", - "id": "7506850", + "url": "https://edge.forgecdn.net/files/7517/23/tacz-tweaks-2.12.2-all.jar", + "id": "7517023", "parent_id": "1193263", "hashes": { - "sha1": "92c9981e2e2f2edecab25ee48c5bade7a14298a8", - "md5": "d616e17cf5713a027acda0c47f7c98c7" + "sha1": "f726c2d0ac2c77e3cc7f93fad7fd4338117c7a80", + "md5": "2b74092c813b98a27dad4b543808f61f" }, "required_dependencies": [ + "1028108", "667299", - "351264", - "1028108" + "351264" ], - "size": 1894147, - "date_published": "2026-01-22T14:38:49.923Z" + "size": 1894239, + "date_published": "2026-01-24T10:14:48.150Z" } ] }, From 77f52551f29ece71d9b4c767391c72efb84e1855 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 24 Jan 2026 16:09:50 +0000 Subject: [PATCH 216/474] fix steel dupe via steel supports --- .../tfg/food/recipes.meal_bags.js | 21 +------------------ .../tfg/primitive/recipes.supports.js | 20 ++++-------------- 2 files changed, 5 insertions(+), 36 deletions(-) diff --git a/kubejs/server_scripts/tfg/food/recipes.meal_bags.js b/kubejs/server_scripts/tfg/food/recipes.meal_bags.js index f1d7cd128..4ac8c515a 100644 --- a/kubejs/server_scripts/tfg/food/recipes.meal_bags.js +++ b/kubejs/server_scripts/tfg/food/recipes.meal_bags.js @@ -85,24 +85,5 @@ function registerTFGMealBagRecipes(event) { ]).id(`tfg:shapeless/emptying/freeze_dried/${fruit.name}`) }) - // Recycling - event.recipes.gtceu.macerator('gtceu:macerator/recycling/clean_foil_pack') - .itemInputs('tfg:clean_foil_pack') - .itemOutputs( - ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Aluminium, 1), - ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Polyethylene, 1) - ) - .duration(GTMaterials.Aluminium.getMass() * 1) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.arc_furnace('gtceu:arc_furnace/recycling/clean_foil_pack') - .itemInputs('tfg:clean_foil_pack') - .itemOutputs( - ChemicalHelper.get(TagPrefix.nugget, GTMaterials.Aluminium, 2), - ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Ash, 1) - ) - .duration(GTMaterials.Aluminium.getMass() * 1) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) + TFGHelpers.registerMaterialInfo('tfg:clean_foil_pack', [GTMaterials.Aluminium, 0.25, GTMaterials.Polyethylene, 0.25]) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/primitive/recipes.supports.js b/kubejs/server_scripts/tfg/primitive/recipes.supports.js index dc5311736..e86cba890 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.supports.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.supports.js @@ -103,16 +103,10 @@ function registerTFGSupportRecipes(event) { .circuit(11) .itemOutputs('8x tfg:rebar_support') .itemInputs(ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 2), ChemicalHelper.get(TagPrefix.wireFine, GTMaterials.Steel, 1)) + .addMaterialInfo(true) .duration(100) .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.macerator(`rebar_support_to_dust`) - .itemInputs(`tfg:rebar_support`) - .itemOutputs(`gtceu:tiny_steel_dust`) - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING); - event.recipes.tfc.anvil( '1x tfg:steel_support', '#forge:double_ingots/steel', @@ -124,16 +118,10 @@ function registerTFGSupportRecipes(event) { event.recipes.gtceu.assembler('tfg:gtceu/assembler/steel_support') .circuit(11) - .itemOutputs('4x tfg:steel_support') - .itemInputs('2x #forge:double_ingots/steel') + .itemOutputs('2x tfg:steel_support') + .itemInputs('1x #forge:double_ingots/steel') .duration(100) .EUt(GTValues.VA[GTValues.ULV]) - .addMaterialInfo(true) - event.recipes.gtceu.macerator("steel_support_to_dust") - .itemInputs('tfg:steel_support') - .itemOutputs('2x gtceu:steel_dust') - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING); + TFGHelpers.registerMaterialInfo('tfg:steel_support', [GTMaterials.Steel, 1]) } From e6a32b5b2e326ac937a3f31a74d0174b033aea4b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 24 Jan 2026 18:54:48 +0000 Subject: [PATCH 217/474] add missing borax recipe, remove some other greate crap --- CHANGELOG.md | 1 + kubejs/server_scripts/greate/recipes.removes.js | 3 ++- kubejs/server_scripts/tfc/recipes.js | 10 ++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29848e793..01a84b855 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie - Fixed rosin leaves and saplings having tags the wrong way around (#2840) @TanJeeSchuan +- Fixed missing borax to flux recipe @Pyritie ### Translation updates ## [0.11.18] - 23-01-2026 diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index 902e945f8..d50b81cc9 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -83,5 +83,6 @@ function removeGreateRecipes(event) { event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_honeycomb_block'}) event.remove({ id: 'greate:milling/integration/gtceu/macerator/quartz_sand_from_sand' }) - evevt.remove({ id: 'greate:mixing/brass_ingot' }) + event.remove({ id: 'greate:mixing/brass_ingot' }) + event.remove({ id: /^greate:.*\/integration\/createaddition/ }) } diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 4289b3b0e..6bc85679e 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -240,4 +240,14 @@ const registerTFCRecipes = (event) => { .inputs('#tfc:foods/fruits', TFC.fluidStackIngredient('#tfg:alcohols', 250)) .outputFluid(Fluid.of('tfc:vinegar', 250)) .id('tfc:barrel/vinegar') + + // Borax to flux + event.recipes.tfc.quern('4x tfc:powder/flux', 'gtceu:borax_dust') + .id(`tfg:quern/borax`) + + event.recipes.gtceu.macerator('borax_to_flux') + .itemInputs("#forge:dusts/borax") + .itemOutputs("4x tfc:powder/flux") + .duration(50) + .EUt(2); } From 2f0b30cede7e75bf3761b408c502359514891cff Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 24 Jan 2026 18:54:53 +0000 Subject: [PATCH 218/474] music! --- config/defaultoptions/options.txt | 4 +- .../occlusion.properties | 2 +- kubejs/assets/minecraft/sounds.json | 210 ++++++++++++++++++ kubejs/assets/tfg/sounds.json | 181 +++++++++++++++ .../data/ad_astra/worldgen/biome/orbit.json | 36 +++ .../biome/glacio/placeholder_biome.json | 8 +- .../tfg/worldgen/biome/mars/amber_edge.json | 2 +- .../tfg/worldgen/biome/mars/amber_hills.json | 2 +- .../tfg/worldgen/biome/mars/amber_plains.json | 2 +- .../biome/mars/martian_deep_desert.json | 2 +- .../biome/mars/martian_dune_edge.json | 2 +- .../worldgen/biome/mars/martian_dunes.json | 2 +- .../biome/mars/martian_mountains.json | 2 +- .../worldgen/biome/mars/martian_river.json | 2 +- .../worldgen/biome/mars/rusticus_edge.json | 2 +- .../worldgen/biome/mars/rusticus_hills.json | 2 +- .../worldgen/biome/mars/rusticus_plains.json | 2 +- .../tfg/worldgen/biome/mars/sangnum_edge.json | 2 +- .../worldgen/biome/mars/sangnum_hills.json | 2 +- .../worldgen/biome/mars/sangnum_plains.json | 2 +- .../biome/moon/lunar_asurine_dense.json | 8 +- .../biome/moon/lunar_asurine_sparse.json | 8 +- .../biome/moon/lunar_chorus_dense.json | 8 +- .../biome/moon/lunar_chorus_sparse.json | 8 +- .../biome/moon/lunar_corals_dense.json | 8 +- .../biome/moon/lunar_corals_sparse.json | 8 +- .../biome/moon/lunar_lights_dense.json | 8 +- .../biome/moon/lunar_lights_sparse.json | 8 +- .../tfg/worldgen/biome/moon/lunar_plains.json | 8 +- .../tfg/worldgen/biome/moon/lunar_sands.json | 8 +- .../tfg/worldgen/biome/nether/ash_forest.json | 2 +- .../worldgen/biome/nether/basalt_deltas.json | 2 +- .../biome/nether/decaying_caverns.json | 2 +- .../worldgen/biome/nether/diorite_caves.json | 2 +- .../worldgen/biome/nether/gabbro_caves.json | 2 +- .../worldgen/biome/nether/gneiss_caves.json | 2 +- .../worldgen/biome/nether/granite_caves.json | 2 +- .../tfg/worldgen/biome/nether/lava_floes.json | 2 +- .../worldgen/biome/nether/lush_hollow.json | 2 +- .../worldgen/biome/nether/schist_caves.json | 2 +- .../worldgen/biome/nether/webbed_lair.json | 2 +- .../tfg/worldgen/biome/venus/arachnoids.json | 6 + .../worldgen/biome/venus/fractured_pools.json | 6 + .../tfg/worldgen/biome/venus/fumaroles.json | 6 + .../tfg/worldgen/biome/venus/geysers.json | 6 + .../biome/venus/jagged_tablelands.json | 6 + .../tfg/worldgen/biome/venus/salt_flats.json | 6 + .../biome/venus/scorching_volcanoes.json | 6 + .../biome/venus/stromatolite_beach.json | 6 + .../worldgen/biome/venus/sulfuric_ravine.json | 6 + pakku-lock.json | 3 +- 51 files changed, 588 insertions(+), 40 deletions(-) create mode 100644 kubejs/assets/minecraft/sounds.json create mode 100644 kubejs/data/ad_astra/worldgen/biome/orbit.json diff --git a/config/defaultoptions/options.txt b/config/defaultoptions/options.txt index 67d33be82..d5b550ee3 100644 --- a/config/defaultoptions/options.txt +++ b/config/defaultoptions/options.txt @@ -3,12 +3,12 @@ resourcePacks:["vanilla","mod_resources","gtceu:dynamic_assets","Moonlight Mods incompatibleResourcePacks:["firmalife_data","file/Perfected Anvil Helper.zip"] narrator:0 soundCategory_master:1.0 -soundCategory_music:0.3 +soundCategory_music:0.4 soundCategory_record:1.0 soundCategory_weather:1.0 soundCategory_block:1.0 soundCategory_hostile:1.0 soundCategory_neutral:1.0 soundCategory_player:1.0 -soundCategory_ambient:0.3 +soundCategory_ambient:0.7 soundCategory_voice:1.0 \ No newline at end of file diff --git a/config/sound_physics_remastered/occlusion.properties b/config/sound_physics_remastered/occlusion.properties index 53adea71f..d9f11a406 100644 --- a/config/sound_physics_remastered/occlusion.properties +++ b/config/sound_physics_remastered/occlusion.properties @@ -216,4 +216,4 @@ minecraft\:jukebox=0.0 # Lava (Block) minecraft\:lava=0.75 # Water (Block) -minecraft\:water=0.25 +\#minecraft\:water=0.25 diff --git a/kubejs/assets/minecraft/sounds.json b/kubejs/assets/minecraft/sounds.json new file mode 100644 index 000000000..1580bf5cf --- /dev/null +++ b/kubejs/assets/minecraft/sounds.json @@ -0,0 +1,210 @@ +{ + "music.game": { + "replace": true, + "sounds": [ + { + "name": "tfc:music/m0-dreams_of_the_phae", + "stream": true, + "weight": 4 + }, + { + "name": "tfc:music/m1-firmavista", + "stream": true, + "weight": 4 + }, + { + "name": "tfc:music/m2-sycamore_heights", + "stream": true, + "weight": 4 + }, + { + "name": "tfc:music/m3-terrafirmacraft", + "stream": true, + "weight": 4 + }, + { + "name": "tfc:music/m4-through_the_willows", + "stream": true, + "weight": 4 + }, + { + "name": "minecraft:music/game/creative/creative2", + "stream": true + }, + { + "name": "minecraft:music/game/creative/creative3", + "stream": true + }, + { + "name": "minecraft:music/game/creative/creative4", + "stream": true + }, + { + "name": "minecraft:music/game/nether/nether2", + "stream": true + }, + { + "name": "minecraft:music/game/swamp/aerie", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/swamp/firebugs", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/swamp/labyrinthine", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/water/axolotl", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/water/dragon_fish", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/water/shuniji", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/a_familiar_room", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/an_ordinary_day", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/bromeliad", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/comforting_memories", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/crescent_dunes", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/echo_in_the_wind", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/floating_dream", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/hal1", + "stream": true + }, + { + "name": "minecraft:music/game/hal2", + "stream": true + }, + { + "name": "minecraft:music/game/hal3", + "stream": true + }, + { + "name": "minecraft:music/game/hal4", + "stream": true + }, + { + "name": "minecraft:music/game/infinite_amethyst", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/left_to_bloom", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/one_more_day", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/stand_tall", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/wending", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/menu/menu1", + "stream": true + }, + { + "name": "minecraft:music/menu/menu2", + "stream": true + }, + { + "name": "minecraft:music/menu/menu3", + "stream": true + }, + { + "name": "minecraft:music/menu/menu4", + "stream": true + }, + { + "name": "minecraft:records/blocks", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:records/mall", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:records/strad", + "stream": true, + "volume": 0.4 + } + ] + }, + "music.menu": { + "replace": true, + "sounds": [ + { + "name": "tfc:music/m0-dreams_of_the_phae", + "stream": true + }, + { + "name": "tfc:music/m1-firmavista", + "stream": true + }, + { + "name": "tfc:music/m2-sycamore_heights", + "stream": true + }, + { + "name": "tfc:music/m3-terrafirmacraft", + "stream": true + }, + { + "name": "tfc:music/m4-through_the_willows", + "stream": true + } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/sounds.json b/kubejs/assets/tfg/sounds.json index 56ed1adba..45cc75407 100644 --- a/kubejs/assets/tfg/sounds.json +++ b/kubejs/assets/tfg/sounds.json @@ -311,6 +311,58 @@ "minecraft:ambient/nether/nether_wastes/mood5" ] }, + "music.nether": { + "sounds": [ + { + "name": "minecraft:music/game/nether/nether1", + "stream": true + }, + { + "name": "minecraft:music/game/nether/nether3", + "stream": true + }, + { + "name": "minecraft:music/game/nether/nether_wastes/rubedo", + "stream": true, + "volume": 0.5 + }, + { + "name": "minecraft:music/game/water/axolotl", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/nether/soulsand_valley/so_below", + "stream": true, + "volume": 0.5 + }, + { + "name": "minecraft:music/game/ancestry", + "stream": true, + "volume": 0.4 + } + ] + }, + "music.orbit": { + "sounds": [ + { + "name": "minecraft:music/game/piano3", + "stream": true + }, + { + "name": "minecraft:music/game/calm1", + "stream": true + }, + { + "name": "minecraft:music/game/calm2", + "stream": true + }, + { + "name": "minecraft:music/game/calm3", + "stream": true + } + ] + }, "ambient.moon.additions": { "sounds": [ { @@ -377,6 +429,31 @@ "minecraft:ambient/nether/warped_forest/mood8" ] }, + "music.moon": { + "sounds": [ + { + "name": "minecraft:music/game/end/end", + "stream": true + }, + { + "name": "minecraft:music/game/floating_dream", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/nuance1", + "stream": true + }, + { + "name": "minecraft:music/game/nuance2", + "stream": true + }, + { + "name": "minecraft:music/game/creative/creative6", + "stream": true + } + ] + }, "ambient.mars_desert.loop": { "sounds": [ { @@ -583,6 +660,49 @@ "minecraft:ambient/nether/warped_forest/creak5" ] }, + "music.mars": { + "sounds": [ + { + "name": "minecraft:music/game/creative/creative1", + "stream": true + }, + { + "name": "minecraft:music/game/creative/creative2", + "stream": true + }, + { + "name": "minecraft:music/game/creative/creative3", + "stream": true + }, + { + "name": "minecraft:music/game/creative/creative4", + "stream": true + }, + { + "name": "minecraft:music/game/creative/creative5", + "stream": true + }, + { + "name": "minecraft:music/game/creative/creative6", + "stream": true + }, + { + "name": "minecraft:music/game/crescent_dunes", + "stream": true, + "volume": 0.4, + "weight": 2 + }, + { + "name": "minecraft:records/far", + "stream": true + }, + { + "name": "minecraft:records/otherside", + "stream": true, + "volume": 0.3 + } + ] + }, "ambient.venus_surface.loop": { "sounds": [ { @@ -754,5 +874,66 @@ "minecraft:ambient/nether/crimson_forest/shine2", "minecraft:ambient/nether/crimson_forest/shine3" ] + }, + "music.venus": { + "sounds": [ + { + "name": "minecraft:music/game/nether/nether1", + "stream": true, + "weight": 2 + }, + { + "name": "minecraft:music/game/nether/nether3", + "stream": true, + "weight": 2 + }, + { + "name": "minecraft:music/game/nether/nether4", + "stream": true, + "weight": 2 + }, + { + "name": "minecraft:music/game/nether/crimson_forest/chrysopoeia", + "stream": true, + "volume": 0.5, + "weight": 3 + }, + { + "name": "minecraft:music/game/nether/nether_wastes/rubedo", + "stream": true, + "volume": 0.5, + "weight": 3 + }, + { + "name": "minecraft:music/game/nether/soulsand_valley/so_below", + "stream": true, + "volume": 0.5, + "weight": 3 + }, + { + "name": "minecraft:music/game/piano3", + "stream": true + } + ] + }, + + "music.europa": { + "sounds": [ + { + "name": "minecraft:music/game/water/axolotl", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/water/dragon_fish", + "stream": true, + "volume": 0.4 + }, + { + "name": "minecraft:music/game/water/shuniji", + "stream": true, + "volume": 0.4 + } + ] } } \ No newline at end of file diff --git a/kubejs/data/ad_astra/worldgen/biome/orbit.json b/kubejs/data/ad_astra/worldgen/biome/orbit.json new file mode 100644 index 000000000..6ca112af5 --- /dev/null +++ b/kubejs/data/ad_astra/worldgen/biome/orbit.json @@ -0,0 +1,36 @@ +{ + "carvers": {}, + "downfall": 0.0, + "effects": { + "fog_color": 0, + "mood_sound": { + "block_search_extent": 8, + "offset": 2.0, + "sound": "minecraft:ambient.cave", + "tick_delay": 6000 + }, + "sky_color": 0, + "water_color": 4159204, + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.orbit" + } + }, + "features": [], + "has_precipitation": false, + "spawn_costs": {}, + "spawners": { + "ambient": [], + "axolotls": [], + "creature": [], + "misc": [], + "monster": [], + "underground_water_creature": [], + "water_ambient": [], + "water_creature": [] + }, + "temperature": 0.5 +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/biome/glacio/placeholder_biome.json b/kubejs/data/tfg/worldgen/biome/glacio/placeholder_biome.json index 3af86fa03..11a0ae5ca 100644 --- a/kubejs/data/tfg/worldgen/biome/glacio/placeholder_biome.json +++ b/kubejs/data/tfg/worldgen/biome/glacio/placeholder_biome.json @@ -13,7 +13,13 @@ }, "sky_color": 12638463, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.europa" + } }, "features": [ [ diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json b/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json index ff69d8291..d33b3d3a3 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.desert" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json index 123397ed4..c8264b7a0 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json @@ -23,7 +23,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.badlands" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json index 449c418df..b364fb13d 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json @@ -23,7 +23,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.badlands" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json b/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json index 55dc40cb3..e0b3ae626 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json @@ -22,7 +22,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.desert" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json b/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json index bc287325a..27cee44c3 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json @@ -22,7 +22,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.desert" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json b/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json index 5a6be0ee6..c8643ae89 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json @@ -22,7 +22,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.desert" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json index 36fc33433..fcddd858c 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json @@ -23,7 +23,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.badlands" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json index 526e0aac2..6d52544c7 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json @@ -23,7 +23,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.badlands" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json index 426622e37..d6eda6457 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.desert" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json index 51da6391a..972f04a2a 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json @@ -23,7 +23,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.badlands" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json index fc74372ce..baec9fb2f 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json @@ -23,7 +23,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.badlands" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json index 9ec2931ea..8c54913ea 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.desert" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json index ea1dd0460..9fb85c03b 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json @@ -23,7 +23,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.badlands" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json index c121e5c92..799884b3d 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json @@ -23,7 +23,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.badlands" + "sound": "tfg:music.mars" }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json index bdcadd76f..4cac815ef 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json index 01404bf9a..f02dcffe1 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json index e1b31499f..3ad07802a 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json index 78f29f76c..ca03953f6 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json index 71e451418..2ed2f3417 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json index 7fa136647..00f00a73d 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json index daaa5ff95..6543331b8 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json index 2318e94fa..c3b22c181 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json index ce6e50d86..70de199b4 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json index 1413884ea..ac2bd7dd3 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json @@ -20,7 +20,13 @@ }, "sky_color": 0, "water_color": 4159204, - "water_fog_color": 329011 + "water_fog_color": 329011, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.moon" + } }, "features": [ [], diff --git a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json index 4e1407e4f..373ec8433 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json +++ b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.nether.basalt_deltas" + "sound": "tfg:music.nether" }, "particle": { "options": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json b/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json index 021ca0904..000b82cee 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json +++ b/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.nether.basalt_deltas" + "sound": "tfg:music.nether" }, "particle": { "options": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json index 46ba6d62b..ecd04d04b 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json +++ b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.swamp" + "sound": "tfg:music.nether" }, "sky_color": 7369031, "water_color": 6388580, diff --git a/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json index 2eda606b4..e6151c614 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.nether.crimson_forest" + "sound": "tfg:music.nether" }, "sky_color": 9868701, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json index 924c75418..be32b9025 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.nether.crimson_forest" + "sound": "tfg:music.nether" }, "sky_color": 5855333, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json index 318f7de01..8704fd4fc 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.nether.crimson_forest" + "sound": "tfg:music.nether" }, "sky_color": 5799235, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json index 5ff94fd88..245b0efaa 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.nether.crimson_forest" + "sound": "tfg:music.nether" }, "sky_color": 9533575, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json b/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json index 1772b420e..34acd86f3 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json +++ b/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.nether.basalt_deltas" + "sound": "tfg:music.nether" }, "particle": { "options": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json index d7992093e..37ad103be 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json +++ b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.lush_caves" + "sound": "tfg:music.nether" }, "sky_color": 5799235, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json index 77e64f7b3..62179da9d 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json @@ -20,7 +20,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.nether.crimson_forest" + "sound": "tfg:music.nether" }, "sky_color": 7175789, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json index 709636995..3649311ef 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json +++ b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json @@ -15,7 +15,7 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "minecraft:music.overworld.dripstone_caves" + "sound": "tfg:music.nether" }, "additions_sound": { "sound": "tfg:ambient.upper_nether_cave.additions", diff --git a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json index b5131ddc6..d25e960e3 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json +++ b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json @@ -24,6 +24,12 @@ "type": "minecraft:ash" }, "probability": 0.05 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.venus" } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json index cb3acbedb..42778b30b 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json @@ -24,6 +24,12 @@ "type": "minecraft:ash" }, "probability": 0.05 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.venus" } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json index f5cddc92c..d804e9ef3 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json @@ -24,6 +24,12 @@ "type": "minecraft:white_ash" }, "probability": 0.03 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.venus" } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/geysers.json b/kubejs/data/tfg/worldgen/biome/venus/geysers.json index 63937fc35..2300b4e28 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/geysers.json +++ b/kubejs/data/tfg/worldgen/biome/venus/geysers.json @@ -24,6 +24,12 @@ "type": "minecraft:ash" }, "probability": 0.07 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.venus" } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json index 2a092a303..8ab9b85f4 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json +++ b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json @@ -24,6 +24,12 @@ "type": "minecraft:white_ash" }, "probability": 0.02 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.venus" } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json index 8415a8167..ab90d033f 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json +++ b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json @@ -24,6 +24,12 @@ "type": "minecraft:white_ash" }, "probability": 0.02 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.venus" } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json index 7bd62eebb..e17187968 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json +++ b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json @@ -24,6 +24,12 @@ "type": "minecraft:ash" }, "probability": 0.1 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.venus" } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json index 7ac1a7cf5..504b50089 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json +++ b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json @@ -24,6 +24,12 @@ "type": "minecraft:white_ash" }, "probability": 0.05 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.venus" } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json index 2088c8478..841f118df 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json +++ b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json @@ -24,6 +24,12 @@ "type": "minecraft:ash" }, "probability": 0.05 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "tfg:music.venus" } }, "features": [ diff --git a/pakku-lock.json b/pakku-lock.json index b98f4acab..476d7096d 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -187,7 +187,8 @@ }, { "pakku_id": "tIIGT85PQd5pJGf0", - "type": "MOD", + "type": "RESOURCE_PACK", + "side": "CLIENT", "slug": { "github": "Frontiers-PackForge/AE2-Midnight-and-Daybreak" }, From 6f55cde40fadac72c8100750e73c4e1ea0b787a2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 25 Jan 2026 16:58:06 +0000 Subject: [PATCH 219/474] steam alloy smelter glass batch recipes #2853 --- CHANGELOG.md | 2 + kubejs/assets/tfg/sounds.json | 10 +++- .../ores_and_materials/recipes.quartzes.js | 52 ++++++++++++++----- 3 files changed, 50 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 01a84b855..aee86aa42 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,9 @@ ### Breaking changes - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie ### Changes +- Added much more music to the different dimensions @Pyritie - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie +- Added steam alloy smelter glass batch recipes (#2853) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/assets/tfg/sounds.json b/kubejs/assets/tfg/sounds.json index 45cc75407..7adb8d046 100644 --- a/kubejs/assets/tfg/sounds.json +++ b/kubejs/assets/tfg/sounds.json @@ -916,7 +916,15 @@ } ] }, - + "music.mercury": { + "sounds": [ + { + "name": "minecraft:records/13", + "stream": true, + "volume": 0.4 + } + ] + }, "music.europa": { "sounds": [ { diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js index 3214c5bed..eee2285b4 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js @@ -35,11 +35,12 @@ function registerTFGQuartzRecipes(event) { { input: "tfc:silica_glass_batch", output: "tfc:silica_glass_bottle", name: "silica_glass_bottle" }, { input: "tfc:hematitic_glass_batch", output: "tfc:hematitic_glass_bottle", name: "hematitic_glass_bottle" }, { input: "tfc:olivine_glass_batch", output: "tfc:olivine_glass_bottle", name: "olivine_glass_bottle" }, - { input: "tfc:volcanic_glass_batch", output: "tfc:volcanic_glass_bottle", name: "volcanic_glass_bottle" } + { input: "tfc:volcanic_glass_batch", output: "tfc:volcanic_glass_bottle", name: "volcanic_glass_bottle" }, + { input: '#forge:dusts/glass', output: "tfc:silica_glass_bottle", name: "glass_dust_to_bottle" } ]); TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.alloy_smelter(`tfg:tfc/${element.name}`) + event.recipes.gtceu.alloy_smelter(`tfg:${element.name}`) .itemInputs(element.input) .notConsumable('gtceu:bottle_casting_mold') .itemOutputs(element.output) @@ -95,12 +96,14 @@ function registerTFGQuartzRecipes(event) { .duration(50) .EUt(2) + // Extracting event.recipes.gtceu.extractor('tfg:glass_batch_extraction') .itemInputs('#tfc:glass_batches') .outputFluids(Fluid.of('gtceu:glass', 144)) .duration(50) .EUt(2) + // TFC lens event.recipes.gtceu.lathe('tfg:tfc_lens') .itemInputs('#forge:glass') .itemOutputs('tfc:lens') @@ -131,26 +134,49 @@ function registerTFGQuartzRecipes(event) { "#forge:glass" ); - - event.recipes.gtceu.alloy_smelter('glass_bottle') - .itemInputs('#forge:dusts/glass') - .itemOutputs('tfc:silica_glass_bottle') - .notConsumable('gtceu:bottle_casting_mold') - .EUt(2) - .duration(20 * 5) - .category(GTRecipeCategories.INGOT_MOLDING) + // Glass blocks + event.recipes.gtceu.alloy_smelter('tfg:clear_glass_block_from_batch') + .itemInputs('tfc:silica_glass_batch') + .notConsumable('gtceu:block_casting_mold') + .itemOutputs('minecraft:glass') + .duration(12 * 20) + .EUt(16) + .category(GTRecipeCategories.INGOT_MOLDING); + event.recipes.gtceu.alloy_smelter('tfg:orange_glass_block_from_batch') + .itemInputs('tfc:hematitic_glass_batch') + .notConsumable('gtceu:block_casting_mold') + .itemOutputs('minecraft:orange_stained_glass') + .duration(12 * 20) + .EUt(16) + .category(GTRecipeCategories.INGOT_MOLDING); + + event.recipes.gtceu.alloy_smelter('tfg:green_glass_block_from_batch') + .itemInputs('tfc:olivine_glass_batch') + .notConsumable('gtceu:block_casting_mold') + .itemOutputs('minecraft:green_stained_glass') + .duration(12 * 20) + .EUt(16) + .category(GTRecipeCategories.INGOT_MOLDING); + + event.recipes.gtceu.alloy_smelter('tfg:blue_glass_block_from_batch') + .itemInputs('tfc:volcanic_glass_batch') + .notConsumable('gtceu:block_casting_mold') + .itemOutputs('minecraft:blue_stained_glass') + .duration(12 * 20) + .EUt(16) + .category(GTRecipeCategories.INGOT_MOLDING); // Glass Tube event.recipes.tfc.glassworking('gtceu:glass_tube', '#tfc:glass_batches_tier_3', ['blow', 'stretch', 'stretch']) .id('tfg:gtceu/glassworking/glass_tube') event.recipes.gtceu.alloy_smelter('tfg:glass_tube_from_batch') - .itemInputs('#tfc:glass_batches') + .itemInputs('#tfc:glass_batches_tier_3') .notConsumable('gtceu:ball_casting_mold') .itemOutputs('gtceu:glass_tube') - .duration(8 * 20) - .EUt(GTValues.VA[GTValues.LV]) + .duration(16 * 20) + .EUt(16) .category(GTRecipeCategories.INGOT_MOLDING); //#endregion } From 1f3e72206d112ad358bc245a432631e221c3f4cb Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 25 Jan 2026 17:07:25 +0000 Subject: [PATCH 220/474] put this deprecated tooltip on the FE p2p tunnel --- kubejs/client_scripts/tooltips.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 9ec39e3f0..6f8c264c6 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -402,7 +402,7 @@ const registerTooltips = (event) => { }) // Deprecated Items - event.addAdvanced(['vintageimprovements:lathe'], (item, advanced, text) => { + event.addAdvanced(['vintageimprovements:lathe', 'ae2:fe_p2p_tunnel'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.obsolete.depreciated')) }) From 91f41fc8d753d8b0d22ba20ca2dbbe29e54198b5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 25 Jan 2026 18:57:38 +0000 Subject: [PATCH 221/474] does this fix music? --- kubejs/data/tfg/worldgen/biome/mars/amber_edge.json | 4 +++- kubejs/data/tfg/worldgen/biome/mars/amber_hills.json | 4 +++- .../data/tfg/worldgen/biome/mars/amber_plains.json | 4 +++- .../tfg/worldgen/biome/mars/martian_deep_desert.json | 4 +++- .../tfg/worldgen/biome/mars/martian_dune_edge.json | 4 +++- .../data/tfg/worldgen/biome/mars/martian_dunes.json | 4 +++- .../tfg/worldgen/biome/mars/martian_mountains.json | 4 +++- .../data/tfg/worldgen/biome/mars/martian_river.json | 4 +++- .../data/tfg/worldgen/biome/mars/rusticus_edge.json | 4 +++- .../data/tfg/worldgen/biome/mars/rusticus_hills.json | 4 +++- .../tfg/worldgen/biome/mars/rusticus_plains.json | 4 +++- .../data/tfg/worldgen/biome/mars/sangnum_edge.json | 4 +++- .../data/tfg/worldgen/biome/mars/sangnum_hills.json | 4 +++- .../data/tfg/worldgen/biome/mars/sangnum_plains.json | 4 +++- kubejs/startup_scripts/tfg/sounds.js | 12 ++++++++++-- 15 files changed, 52 insertions(+), 16 deletions(-) diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json b/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json index d33b3d3a3..6a32c043f 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json index c8264b7a0..c4197ddb0 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json @@ -23,7 +23,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json index b364fb13d..9db57c216 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json @@ -23,7 +23,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json b/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json index e0b3ae626..995e337d6 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json @@ -22,7 +22,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json b/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json index 27cee44c3..455793a48 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json @@ -22,7 +22,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json b/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json index c8643ae89..21b1c4bba 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json @@ -22,7 +22,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json index fcddd858c..56f61b571 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json @@ -23,7 +23,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json index 6d52544c7..ea6e3cd87 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json @@ -23,7 +23,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json index d6eda6457..add6a2c08 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json index 972f04a2a..e5d56f973 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json @@ -23,7 +23,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json index baec9fb2f..209823d94 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json @@ -23,7 +23,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json index 8c54913ea..f14203a29 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json index 9fb85c03b..cc71e25bc 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json @@ -23,7 +23,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json index 799884b3d..cce3e0a2c 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json @@ -23,7 +23,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.mars" + "sound": { + "sound_id": "tfg:music.mars" + } }, "sky_color": 15117444, "water_color": 4159204, diff --git a/kubejs/startup_scripts/tfg/sounds.js b/kubejs/startup_scripts/tfg/sounds.js index b169ac3d1..f6325cc71 100644 --- a/kubejs/startup_scripts/tfg/sounds.js +++ b/kubejs/startup_scripts/tfg/sounds.js @@ -7,23 +7,31 @@ function registerTFGSounds(event) { event.create('tfg:ambient.upper_nether_cave.loop') event.create('tfg:ambient.upper_nether.additions') event.create('tfg:ambient.upper_nether.mood') - event.create('tfg:ambient.lower_nether.loop') event.create('tfg:ambient.lower_nether.additions') event.create('tfg:ambient.lower_nether.mood') + event.create('tfg:music.nether') + + event.create('tfg:music.orbit') event.create('tfg:ambient.moon.additions') event.create('tfg:ambient.moon.mood') + event.create('tfg:music.moon') event.create('tfg:ambient.mars_desert.loop') event.create('tfg:ambient.mars_desert.additions') event.create('tfg:ambient.mars_desert.mood') - event.create('tfg:ambient.mars_land.loop') event.create('tfg:ambient.mars_land.additions') event.create('tfg:ambient.mars_land.mood') + event.create('tfg:music.mars') event.create('tfg:ambient.venus_surface.loop') event.create('tfg:ambient.venus_surface.additions') event.create('tfg:ambient.venus_surface.mood') + event.create('tfg:music.venus') + + event.create('tfg:music.mercury') + + event.create('tfg:music.europa') } \ No newline at end of file From 4b8b03ebeeef7c8b670aeaf1a312370b9a0f440f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 25 Jan 2026 19:52:33 +0000 Subject: [PATCH 222/474] fixed rolling mill not creating horseshoes --- kubejs/server_scripts/sacksnstuff/recipes.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/kubejs/server_scripts/sacksnstuff/recipes.js b/kubejs/server_scripts/sacksnstuff/recipes.js index fc0ba14d7..95b7d2e84 100644 --- a/kubejs/server_scripts/sacksnstuff/recipes.js +++ b/kubejs/server_scripts/sacksnstuff/recipes.js @@ -247,10 +247,11 @@ const registerSNSRecipes = (event) => { .circuit(4) .duration(40) .EUt(GTValues.VA[GTValues.LV]) + event.custom({ type: "createaddition:rolling", input: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 1), - result: 'sns:metal/horseshoe/steel' + result: { item: 'sns:metal/horseshoe/steel' } }).id(`tfg:rolling/steel_horseshoe`) event.recipes.gtceu.bender('sns:horseshoe_black_steel_electric_only') @@ -262,7 +263,7 @@ const registerSNSRecipes = (event) => { event.custom({ type: "createaddition:rolling", input: ChemicalHelper.get(TagPrefix.rod, GTMaterials.BlackSteel, 1), - result: 'sns:metal/horseshoe/black_steel' + result: { item: 'sns:metal/horseshoe/black_steel' } }).id(`tfg:rolling/black_steel_horseshoe`) event.recipes.gtceu.bender('sns:horseshoe_blue_steel_electric_only') @@ -274,7 +275,7 @@ const registerSNSRecipes = (event) => { event.custom({ type: "createaddition:rolling", input: ChemicalHelper.get(TagPrefix.rod, GTMaterials.BlueSteel, 1), - result: 'sns:metal/horseshoe/blue_steel' + result: { item: 'sns:metal/horseshoe/blue_steel' } }).id(`tfg:rolling/blue_steel_horseshoe`) event.recipes.gtceu.bender('sns:horseshoe_red_steel_electric_only') @@ -286,6 +287,6 @@ const registerSNSRecipes = (event) => { event.custom({ type: "createaddition:rolling", input: ChemicalHelper.get(TagPrefix.rod, GTMaterials.RedSteel, 1), - result: 'sns:metal/horseshoe/red_steel' + result: { item: 'sns:metal/horseshoe/red_steel' } }).id(`tfg:rolling/red_steel_horseshoe`) } From 84368b249c01ddc294bcb3fd7c092d0b93791e57 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 25 Jan 2026 22:21:07 +0000 Subject: [PATCH 223/474] fix music for realsies --- kubejs/data/ad_astra/worldgen/biome/orbit.json | 4 +++- kubejs/data/tfg/worldgen/biome/glacio/placeholder_biome.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json | 4 +++- kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/ash_forest.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/granite_caves.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/lava_floes.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/schist_caves.json | 4 +++- kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json | 4 +++- kubejs/data/tfg/worldgen/biome/venus/arachnoids.json | 4 +++- kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json | 4 +++- kubejs/data/tfg/worldgen/biome/venus/fumaroles.json | 4 +++- kubejs/data/tfg/worldgen/biome/venus/geysers.json | 4 +++- kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json | 4 +++- kubejs/data/tfg/worldgen/biome/venus/salt_flats.json | 4 +++- kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json | 4 +++- kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json | 4 +++- kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json | 4 +++- 32 files changed, 96 insertions(+), 32 deletions(-) diff --git a/kubejs/data/ad_astra/worldgen/biome/orbit.json b/kubejs/data/ad_astra/worldgen/biome/orbit.json index 6ca112af5..876da29bb 100644 --- a/kubejs/data/ad_astra/worldgen/biome/orbit.json +++ b/kubejs/data/ad_astra/worldgen/biome/orbit.json @@ -16,7 +16,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.orbit" + "sound": { + "sound_id": "tfg:music.orbit" + } } }, "features": [], diff --git a/kubejs/data/tfg/worldgen/biome/glacio/placeholder_biome.json b/kubejs/data/tfg/worldgen/biome/glacio/placeholder_biome.json index 11a0ae5ca..228206b0c 100644 --- a/kubejs/data/tfg/worldgen/biome/glacio/placeholder_biome.json +++ b/kubejs/data/tfg/worldgen/biome/glacio/placeholder_biome.json @@ -18,7 +18,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.europa" + "sound": { + "sound_id": "tfg:music.europa" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json index 4cac815ef..357b5aab2 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json index f02dcffe1..21e7a52e9 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json index 3ad07802a..bba025310 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json index ca03953f6..98b98947b 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json index 2ed2f3417..70d22cd44 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json index 00f00a73d..39daf8d7f 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json index 6543331b8..6001fb80e 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json index c3b22c181..318c3c8a7 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json index 70de199b4..6d378c21f 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json index ac2bd7dd3..cf1517a6a 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json @@ -25,7 +25,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.moon" + "sound": { + "sound_id": "tfg:music.moon" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json index 373ec8433..6a3b7836d 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json +++ b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "particle": { "options": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json b/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json index 000b82cee..f5ccb984a 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json +++ b/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "particle": { "options": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json index ecd04d04b..d4a164b95 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json +++ b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "sky_color": 7369031, "water_color": 6388580, diff --git a/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json index e6151c614..1d524fbab 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "sky_color": 9868701, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json index be32b9025..72f3bfcea 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "sky_color": 5855333, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json index 8704fd4fc..a0b779890 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "sky_color": 5799235, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json index 245b0efaa..4aba461b6 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "sky_color": 9533575, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json b/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json index 34acd86f3..76e2de4ed 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json +++ b/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "particle": { "options": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json index 37ad103be..a5a9a0a28 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json +++ b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "sky_color": 5799235, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json index 62179da9d..d75fbfb33 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json @@ -20,7 +20,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "sky_color": 7175789, "water_color": 7255466, diff --git a/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json index 3649311ef..53a8dba20 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json +++ b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json @@ -15,7 +15,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.nether" + "sound": { + "sound_id": "tfg:music.nether" + } }, "additions_sound": { "sound": "tfg:ambient.upper_nether_cave.additions", diff --git a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json index d25e960e3..95fb1affa 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json +++ b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json @@ -29,7 +29,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.venus" + "sound": { + "sound_id": "tfg:music.venus" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json index 42778b30b..9f2b96211 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json @@ -29,7 +29,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.venus" + "sound": { + "sound_id": "tfg:music.venus" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json index d804e9ef3..143ac2e11 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json @@ -29,7 +29,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.venus" + "sound": { + "sound_id": "tfg:music.venus" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/geysers.json b/kubejs/data/tfg/worldgen/biome/venus/geysers.json index 2300b4e28..843cfe253 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/geysers.json +++ b/kubejs/data/tfg/worldgen/biome/venus/geysers.json @@ -29,7 +29,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.venus" + "sound": { + "sound_id": "tfg:music.venus" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json index 8ab9b85f4..61ec76bf1 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json +++ b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json @@ -29,7 +29,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.venus" + "sound": { + "sound_id": "tfg:music.venus" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json index ab90d033f..2e46cbaf2 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json +++ b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json @@ -29,7 +29,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.venus" + "sound": { + "sound_id": "tfg:music.venus" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json index e17187968..720efe591 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json +++ b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json @@ -29,7 +29,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.venus" + "sound": { + "sound_id": "tfg:music.venus" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json index 504b50089..820b5ad67 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json +++ b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json @@ -29,7 +29,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.venus" + "sound": { + "sound_id": "tfg:music.venus" + } } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json index 841f118df..fc2615b45 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json +++ b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json @@ -29,7 +29,9 @@ "max_delay": 24000, "min_delay": 12000, "replace_current_music": false, - "sound": "tfg:music.venus" + "sound": { + "sound_id": "tfg:music.venus" + } } }, "features": [ From af57d9a37c7ce0bffbb8368387f9a89f6f36b1e3 Mon Sep 17 00:00:00 2001 From: silllil Date: Mon, 26 Jan 2026 01:48:52 +0100 Subject: [PATCH 224/474] changed the colors required for different coloured bricks (#2859) Co-authored-by: Lily Oelbeck --- kubejs/server_scripts/createdeco/recipes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/createdeco/recipes.js b/kubejs/server_scripts/createdeco/recipes.js index ff015f84f..bf47b6af5 100644 --- a/kubejs/server_scripts/createdeco/recipes.js +++ b/kubejs/server_scripts/createdeco/recipes.js @@ -138,7 +138,7 @@ const registerCreatedecoRecipes = (event) => { //#endregion //#region Brick Recipes - const dyeTypes = ['blue', 'green', 'white', 'yellow', 'black', 'red', 'brown'] + const dyeTypes = ['black', 'red', 'gray', 'green', 'blue', 'white', 'brown'] global.CREATE_DECO_BRICK_TYPES.forEach((type, index) => { event.remove({ output: `createdeco:${type}_bricks` }); From 75b0cea0000f0982faf8ea11287ee5eddffa4f41 Mon Sep 17 00:00:00 2001 From: Redeix Date: Sun, 25 Jan 2026 19:22:50 -0600 Subject: [PATCH 225/474] Artisan Table (#2857) * artisan table merging (#2766) * these should be good * Update recipes.miscellaneous.js * little typo Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> * fix typo, my bad gang * fix charnia * fixed recycling issues from the material rewrite, updated everything to the new recycling helper method * I'll move these eventually --------- Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> Co-authored-by: Pyritie * artisan table assets * asset update * Update recipes.artisan_table.js * asset update * lang * tag refactor * waiter! more assets please * recipes * done? * I forgor --------- Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> Co-authored-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> Co-authored-by: Pyritie --- .../quests/chapters/questssteam_age.snbt | 21 +- .../assets/tfg/blockstates/artisan_table.json | 19 + kubejs/assets/tfg/lang/en_us.json | 6 +- .../tfg/models/block/artisan_table.json | 468 ++++++++++++++ .../assets/tfg/models/item/artisan_table.json | 3 + .../tfg/textures/block/artisan_table.png | Bin 0 -> 1157 bytes .../tfg/textures/block/artisan_table_n.png | Bin 0 -> 104 bytes .../tfg/textures/block/artisan_table_s.png | Bin 0 -> 330 bytes .../gui/artisan_table/artisan_table.png | Bin 0 -> 3744 bytes .../artisan_table/blank_phenolic_board.png | Bin 0 -> 220 bytes .../gui/artisan_table/blank_resin_board.png | Bin 0 -> 230 bytes .../gui/artisan_table/casting_mold_active.png | Bin 0 -> 204 bytes .../gui/artisan_table/casting_mold_border.png | Bin 0 -> 1646 bytes .../artisan_table/casting_mold_inactive.png | Bin 0 -> 212 bytes .../artisan_table/extruder_mold_active.png | Bin 0 -> 208 bytes .../artisan_table/extruder_mold_border.png | Bin 0 -> 1367 bytes .../artisan_table/phenolic_board_border.png | Bin 0 -> 1054 bytes .../phenolic_board_border_4x.png | Bin 0 -> 1197 bytes .../artisan_table/printed_phenolic_board.png | Bin 0 -> 451 bytes .../gui/artisan_table/printed_resin_board.png | Bin 0 -> 439 bytes .../gui/artisan_table/resin_board_border.png | Bin 0 -> 1068 bytes .../artisan_table/resin_board_border_4x.png | Bin 0 -> 1216 bytes .../tfg/loot_tables/blocks/artisan_table.json | 20 + kubejs/server_scripts/tacz/recipes.misc.js | 32 - .../tfg/machines/recipes.molds.js | 340 ++--------- .../tfg/primitive/recipes.artisan_table.js | 572 ++++++++++++++++++ .../tfg/primitive/tags.primitive.js | 17 +- kubejs/server_scripts/tfg/recipes.js | 1 + .../tfg/recipes.miscellaneous.js | 1 + kubejs/server_scripts/tfg/tags.js | 1 + 30 files changed, 1170 insertions(+), 331 deletions(-) create mode 100644 kubejs/assets/tfg/blockstates/artisan_table.json create mode 100644 kubejs/assets/tfg/models/block/artisan_table.json create mode 100644 kubejs/assets/tfg/models/item/artisan_table.json create mode 100644 kubejs/assets/tfg/textures/block/artisan_table.png create mode 100644 kubejs/assets/tfg/textures/block/artisan_table_n.png create mode 100644 kubejs/assets/tfg/textures/block/artisan_table_s.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/artisan_table.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/blank_phenolic_board.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/blank_resin_board.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/casting_mold_active.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/casting_mold_border.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/casting_mold_inactive.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/extruder_mold_active.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/extruder_mold_border.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/phenolic_board_border.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/phenolic_board_border_4x.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/printed_phenolic_board.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/printed_resin_board.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/resin_board_border.png create mode 100644 kubejs/assets/tfg/textures/gui/artisan_table/resin_board_border_4x.png create mode 100644 kubejs/data/tfg/loot_tables/blocks/artisan_table.json create mode 100644 kubejs/server_scripts/tfg/primitive/recipes.artisan_table.js diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt index 063f32332..433379c42 100644 --- a/config/ftbquests/quests/chapters/questssteam_age.snbt +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -695,14 +695,21 @@ shape: "square" size: 1.0d subtitle: "{quests.steam_age.circuit_boards.subtitle}" - tasks: [{ - id: "2B8B038789480789" - item: "gtceu:resin_printed_circuit_board" - type: "item" - }] + tasks: [ + { + id: "2B8B038789480789" + item: "gtceu:resin_printed_circuit_board" + type: "item" + } + { + id: "171A20DD9F208437" + item: "tfg:artisan_table" + type: "item" + } + ] title: "{quests.steam_age.circuit_boards.title}" - x: -9.5d - y: 10.5d + x: -10.0d + y: 10.0d } { dependencies: ["46FA9DD4755A5548"] diff --git a/kubejs/assets/tfg/blockstates/artisan_table.json b/kubejs/assets/tfg/blockstates/artisan_table.json new file mode 100644 index 000000000..ab7af4fcc --- /dev/null +++ b/kubejs/assets/tfg/blockstates/artisan_table.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfg:block/artisan_table", + "y": 90 + }, + "facing=north": { + "model": "tfg:block/artisan_table" + }, + "facing=south": { + "model": "tfg:block/artisan_table", + "y": 180 + }, + "facing=west": { + "model": "tfg:block/artisan_table", + "y": 270 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 3075912c4..c7ae766bd 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -810,6 +810,8 @@ "block.tfg.impure_moderate_core": "Impure Moderate Core", "block.tfg.moderate_core_frame": "Moderate Core Frame", "block.tfg.impure_moderate_core_frame": "Impure Moderate Core Frame", + "tfg.block_entity.artisan_table": "Artisan Table", + "block.tfg.artisan_table": "Artisan Table", "fluid.tfg.heavy_ammoniacal_water": "Heavy Ammoniacal Water", "fluid.tfg.semiheavy_ammoniacal_water": "Semiheavy Ammoniacal Water", "fluid.tfg.sulfur_fumes": "Dense Sulfuric Fumes", @@ -1746,6 +1748,8 @@ "tfg.tooltip.component.nuclear_turbine_2": "Each Rotor Holder above §5EV§r §7adds§r 10% efficiency and multiplies EU/t by 2.", "tfg.tooltip.component.smr_generator_1": "§eBase Production:§r 4096 EU/t", "tfg.tooltip.component.smr_generator_2": "Dedicated to produce power from sCO2 and the Small Modular Reactor.\n Use Lubricant and Booster to increase its efficiency and manage the cooling loop of the SMR.", + "tfg.tooltip.show_recipes": "Show Recipes", + "emi.category.tfg.artisan_table": "Artisan Table", "tfg.gui.refrigerator.unify_dates.enabled": "Expiration Date Unification is: §aOn", "tfg.gui.refrigerator.unify_dates.disabled": "Expiration Date Unification is: §cOff", "tfg.machine.food_refrigerator_power_usage": "§7Consumes§r %s EU/t §7while active to keep your food fresh.§r", @@ -4017,7 +4021,7 @@ "quests.steam_age.resin_boards.desc": "Did you know tree taps can drip directly into GregTech pipes and drums? Now you do!", "quests.steam_age.circuit_boards.title": "Electronics #2: Circuit Boards", "quests.steam_age.circuit_boards.subtitle": "The easier component for circuits", - "quests.steam_age.circuit_boards.desc": "Combine those Resin Circuit Boards with some Copper Wires and you've got the base for your first &aCircuit&r!", + "quests.steam_age.circuit_boards.desc": "Some delicate craftsmanship in an &3Artisan Table&r will allow you to combine those Resin Circuit Boards with some Copper Wires to create your first &aCircuit&r!\n\nThe Artisan Table works on the same principal as Knapping, but this time with additional item and tool inputs.", "quests.steam_age.vacuum_chamber.title": "Vacuum Chamber", "quests.steam_age.vacuum_chamber.subtitle": "Putting the Vacuum in Vacuum Tubes", "quests.steam_age.vacuum_chamber.desc": "This machine is the final step in making your first Vacuum Tubes. Place it above a Basin and give it some power, and make sure the machine is set to Vacuumizing mode.\n\nThis machine can also help liquefy glue and rubber while being heated by either a Charcoal Forge or a Blaze Burner.", diff --git a/kubejs/assets/tfg/models/block/artisan_table.json b/kubejs/assets/tfg/models/block/artisan_table.json new file mode 100644 index 000000000..5219925d6 --- /dev/null +++ b/kubejs/assets/tfg/models/block/artisan_table.json @@ -0,0 +1,468 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "tfg:block/artisan_table", + "particle": "#0" + }, + "elements": [ + { + "from": [0.98, 0, 1], + "to": [2.98, 17, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 1, 3]}, + "faces": { + "north": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "south": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "up": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"}, + "down": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"} + } + }, + { + "from": [1, 0, 12], + "to": [3, 13, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [3, 1, 14]}, + "faces": { + "north": {"uv": [15, 1.5, 16, 8], "texture": "#0"}, + "east": {"uv": [15, 1.5, 16, 8], "texture": "#0"}, + "south": {"uv": [15, 1.5, 16, 8], "texture": "#0"}, + "west": {"uv": [15, 1.5, 16, 8], "texture": "#0"}, + "up": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"}, + "down": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"} + } + }, + { + "from": [13, 0, 12], + "to": [15, 13, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 1, 14]}, + "faces": { + "north": {"uv": [15, 1.5, 16, 8], "texture": "#0"}, + "east": {"uv": [15, 1.5, 16, 8], "texture": "#0"}, + "south": {"uv": [15, 1.5, 16, 8], "texture": "#0"}, + "west": {"uv": [15, 1.5, 16, 8], "texture": "#0"}, + "up": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"}, + "down": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"} + } + }, + { + "from": [13.02, 0, 1], + "to": [15.02, 17, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [15.1, 1, 3]}, + "faces": { + "north": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "east": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "south": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "west": {"uv": [15, 0, 16, 8], "texture": "#0"}, + "up": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"}, + "down": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"} + } + }, + { + "from": [0.5, 3, 14], + "to": [3.5, 15, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [2.5, 3, 16]}, + "faces": { + "north": {"uv": [0, 0, 1.5, 6], "texture": "#0"}, + "east": {"uv": [1.5, 0, 2.5, 6], "texture": "#0"}, + "south": {"uv": [0, 0, 1.5, 6], "texture": "#0"}, + "west": {"uv": [2.5, 0, 1.5, 6], "texture": "#0"}, + "up": {"uv": [2.5, 0, 4, 1], "texture": "#0"}, + "down": {"uv": [2.5, 1, 4, 0], "texture": "#0"} + } + }, + { + "from": [0.4, 13.1, 14.5], + "to": [3.6, 15.1, 15.5], + "rotation": {"angle": 0, "axis": "y", "origin": [3.5, 14.1, 15.5]}, + "faces": { + "north": {"uv": [14.5, 15, 16, 16], "texture": "#0"}, + "east": {"uv": [3.5, 1, 4, 1.5], "texture": "#0"}, + "south": {"uv": [14.5, 15, 16, 16], "texture": "#0"}, + "west": {"uv": [2.5, 1, 3.5, 1.5], "texture": "#0"}, + "up": {"uv": [4, 1.5, 2.5, 1], "texture": "#0"}, + "down": {"uv": [16, 16, 14.5, 15.5], "texture": "#0"} + } + }, + { + "from": [1.5, 7.5, 11], + "to": [2.5, 8.5, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [2.5, 7.5, 17]}, + "faces": { + "north": {"uv": [0, 6, 0.5, 6.5], "texture": "#0"}, + "east": {"uv": [3, 6, 0, 6.5], "texture": "#0"}, + "south": {"uv": [2.5, 6, 3, 6.5], "texture": "#0"}, + "west": {"uv": [0, 6, 3, 6.5], "texture": "#0"}, + "up": {"uv": [0, 6.5, 3, 6], "rotation": 90, "texture": "#0"}, + "down": {"uv": [3, 6.5, 0, 6], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [0.6, 5.7, 16.5], + "to": [1.6, 9.7, 16.5], + "rotation": {"angle": -22.5, "axis": "z", "origin": [1.6, 5.7, 16.5]}, + "faces": { + "north": {"uv": [0, 6, 2, 6.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 6, 2, 6.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "up": {"uv": [16, 16, 15.5, 15.5], "texture": "#0"}, + "down": {"uv": [16, 15.5, 15.5, 16], "texture": "#0"} + } + }, + { + "from": [13.5, 9, 3], + "to": [14.5, 13, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [14.5, 11, 11]}, + "faces": { + "north": {"uv": [9.5, 0, 10, 2], "texture": "#0"}, + "east": {"uv": [5.5, 0, 10, 2], "texture": "#0"}, + "south": {"uv": [5.5, 0, 6, 2], "texture": "#0"}, + "west": {"uv": [5.5, 0, 10, 2], "texture": "#0"}, + "up": {"uv": [10, 0.5, 5.5, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 2, 10, 1.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [1.5, 9, 3], + "to": [2.5, 13, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [2.5, 11, 11]}, + "faces": { + "north": {"uv": [9.5, 0, 10, 2], "texture": "#0"}, + "east": {"uv": [5.5, 0, 10, 2], "texture": "#0"}, + "south": {"uv": [5.5, 0, 6, 2], "texture": "#0"}, + "west": {"uv": [5.5, 0, 10, 2], "texture": "#0"}, + "up": {"uv": [10, 0.5, 5.5, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5.5, 2, 10, 1.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 9, 12.5], + "to": [7, 13, 13.5], + "rotation": {"angle": 0, "axis": "y", "origin": [4, 11, 13.5]}, + "faces": { + "north": {"uv": [6, 0, 8, 2], "texture": "#0"}, + "east": {"uv": [7.5, 0, 8, 2], "texture": "#0"}, + "south": {"uv": [6, 0, 8, 2], "texture": "#0"}, + "west": {"uv": [6, 0, 6.5, 2], "texture": "#0"}, + "up": {"uv": [8, 0.5, 6, 0], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6, 2, 8, 1.5], "texture": "#0"} + } + }, + { + "from": [3, 9, 1.5], + "to": [13, 18, 2.5], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 9, 3.5]}, + "faces": { + "north": {"uv": [10, 0, 15, 4.5], "texture": "#0"}, + "east": {"uv": [10, 0, 10.5, 4.5], "texture": "#0"}, + "south": {"uv": [15, 0, 10, 4.5], "texture": "#0"}, + "west": {"uv": [14.5, 0, 15, 4.5], "texture": "#0"}, + "up": {"uv": [15, 0.5, 10, 0], "texture": "#0"}, + "down": {"uv": [15, 4.5, 10, 4], "texture": "#0"} + } + }, + { + "from": [3, 7, 1], + "to": [13, 9, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 7, 3]}, + "faces": { + "north": {"uv": [15, 2.5, 16, 7.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [2.5, 1.5, 3.5, 2.5], "texture": "#0"}, + "south": {"uv": [15, 2.5, 16, 7.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [2.5, 1.5, 3.5, 2.5], "texture": "#0"}, + "up": {"uv": [16, 7.5, 15, 2.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [16, 7.5, 15, 2.5], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [7, 9, 5.5], + "to": [13, 13, 14.5], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 11, 14.5]}, + "faces": { + "north": {"uv": [0, 6.5, 3, 8.5], "texture": "#0"}, + "east": {"uv": [0.5, 12.5, 2.5, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 6.5, 3, 8.5], "texture": "#0"}, + "west": {"uv": [2.5, 8, 0.5, 12.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 8, 3, 12.5], "texture": "#0"}, + "down": {"uv": [0, 8, 3, 12.5], "texture": "#0"} + } + }, + { + "from": [8.5, 9.5, 14.5], + "to": [11.5, 11.5, 14.5], + "rotation": {"angle": -22.5, "axis": "x", "origin": [11.5, 11.5, 14.5]}, + "faces": { + "north": {"uv": [2.5, 2.5, 4, 3.5], "texture": "#0"}, + "east": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "south": {"uv": [2.5, 2.5, 4, 3.5], "texture": "#0"}, + "west": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "up": {"uv": [16, 16, 15.5, 15.5], "texture": "#0"}, + "down": {"uv": [16, 15.5, 15.5, 16], "texture": "#0"} + } + }, + { + "name": "mold", + "from": [6, 14.2, 5.5], + "to": [11, 14.2, 10.5], + "rotation": {"angle": 22.5, "axis": "y", "origin": [11, 14.2, 10.5]}, + "faces": { + "north": {"uv": [0, 1, 2.5, 1], "texture": "#0"}, + "east": {"uv": [0, 1, 2.5, 1], "texture": "#0"}, + "south": {"uv": [0, 1, 2.5, 1], "texture": "#0"}, + "west": {"uv": [0, 1, 2.5, 1], "texture": "#0"}, + "up": {"uv": [7, 15, 4.5, 12.5], "texture": "#0"}, + "down": {"uv": [2.5, 2.5, 0, 0], "texture": "#0"} + } + }, + { + "name": "top", + "from": [1, 13, 2], + "to": [15, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 13, 6]}, + "faces": { + "north": {"uv": [15, 4.5, 8, 5], "texture": "#0"}, + "east": {"uv": [14.5, 4.5, 15, 10.5], "rotation": 90, "texture": "#0"}, + "south": {"uv": [8, 10, 15, 10.5], "texture": "#0"}, + "west": {"uv": [8.5, 10.5, 8, 4.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8, 4.5, 15, 10.5], "texture": "#0"}, + "down": {"uv": [8, 10.5, 15, 4.5], "texture": "#0"} + } + }, + { + "name": "paper", + "from": [1.8, 14.1, 5.8], + "to": [10.8, 14.1, 12.8], + "rotation": {"angle": -22.5, "axis": "y", "origin": [8.8, 14.1, 12.8]}, + "faces": { + "north": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "east": {"uv": [15.5, 16, 16, 15.5], "texture": "#0"}, + "south": {"uv": [15.5, 16, 16, 15.5], "texture": "#0"}, + "west": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 12.5, 4.5, 16], "texture": "#0"}, + "down": {"uv": [4.5, 16, 0, 12.5], "texture": "#0"} + } + }, + { + "from": [11, 14, 2.5], + "to": [12, 17, 3.5], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 14, 3.5]}, + "faces": { + "north": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "south": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "west": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "up": {"uv": [3.5, 6.5, 3, 6], "texture": "#0"}, + "down": {"uv": [3.5, 7.5, 3, 7], "texture": "#0"} + } + }, + { + "from": [10.9, 17, 2.6], + "to": [11.9, 21, 2.6], + "rotation": {"angle": 45, "axis": "y", "origin": [11.9, 17, 2.6]}, + "faces": { + "north": {"uv": [3.5, 4, 4, 6], "texture": "#0"}, + "east": {"uv": [0, 1.5, 0, 3], "texture": "#0"}, + "south": {"uv": [3.5, 4, 4, 6], "texture": "#0"}, + "west": {"uv": [1, 1.5, 1, 3], "texture": "#0"}, + "up": {"uv": [0.5, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [0.5, 1, 0, 1], "texture": "#0"} + } + }, + { + "from": [9.5, 14, 2.5], + "to": [10.5, 17, 3.5], + "rotation": {"angle": 0, "axis": "y", "origin": [10.5, 14, 3.5]}, + "faces": { + "north": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "south": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "west": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "up": {"uv": [3.5, 6.5, 3, 6], "texture": "#0"}, + "down": {"uv": [3.5, 7.5, 3, 7], "texture": "#0"} + } + }, + { + "from": [9.5, 17, 3], + "to": [10.5, 20, 3], + "rotation": {"angle": 45, "axis": "y", "origin": [10, 17, 3]}, + "faces": { + "north": {"uv": [3.5, 6, 4, 7.5], "texture": "#0"}, + "east": {"uv": [0, 1.5, 0, 3], "texture": "#0"}, + "south": {"uv": [3.5, 6, 4, 7.5], "texture": "#0"}, + "west": {"uv": [1, 1.5, 1, 3], "texture": "#0"}, + "up": {"uv": [0.5, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [0.5, 1, 0, 1], "texture": "#0"} + } + }, + { + "from": [8, 14, 2.5], + "to": [9, 17, 3.5], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 14, 3.5]}, + "faces": { + "north": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "east": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "south": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "west": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"}, + "up": {"uv": [3.5, 6.5, 3, 6], "texture": "#0"}, + "down": {"uv": [3.5, 7.5, 3, 7], "texture": "#0"} + } + }, + { + "from": [8, 17, 3], + "to": [9, 20, 3], + "rotation": {"angle": 45, "axis": "y", "origin": [8.5, 17, 3]}, + "faces": { + "north": {"uv": [3.5, 6, 4, 7.5], "texture": "#0"}, + "east": {"uv": [0, 1.5, 0, 3], "texture": "#0"}, + "south": {"uv": [3.5, 6, 4, 7.5], "texture": "#0"}, + "west": {"uv": [1, 1.5, 1, 3], "texture": "#0"}, + "up": {"uv": [0.5, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [0.5, 1, 0, 1], "texture": "#0"} + } + }, + { + "name": "cutter", + "from": [15, 9, 5.7], + "to": [15, 15, 11.7], + "rotation": {"angle": -45, "axis": "x", "origin": [15, 9, 11.7]}, + "faces": { + "north": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "east": {"uv": [5, 2, 8, 5], "texture": "#0"}, + "south": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "west": {"uv": [8, 2, 5, 5], "texture": "#0"}, + "up": {"uv": [0, 2, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 2, 0, 0], "texture": "#0"} + } + }, + { + "from": [2.84814, 14.2, 5.84814], + "to": [7.84814, 15.2, 7.84814], + "rotation": {"angle": 0, "axis": "y", "origin": [2.84814, 14.2, 7.84814]}, + "faces": { + "north": {"uv": [5.5, 5, 6, 7.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [5, 5, 6, 5.5], "texture": "#0"}, + "south": {"uv": [5.5, 7.5, 5, 5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [6, 7, 5, 7.5], "texture": "#0"}, + "up": {"uv": [6, 7.5, 5, 5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [3.5, 6, 2.5, 3.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [4, 15.96444, 5.84814], + "to": [5, 15.96444, 7.84814], + "rotation": {"angle": -22.5, "axis": "z", "origin": [3, 15.96444, 7.84814]}, + "faces": { + "north": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "east": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "south": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "west": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"}, + "up": {"uv": [7, 7.5, 6, 6.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [7, 7.5, 6, 6.5], "rotation": 270, "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 153, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, -149, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, -45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 45, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "rotation": [0, -180, 0], + "translation": [0, 6.75, 0], + "scale": [1.5, 1.5, 1.5] + }, + "fixed": { + "rotation": [0, 180, 0], + "translation": [0, 0, -2], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "legs", + "origin": [12, 0, 12], + "color": 0, + "children": [0, 1, 2, 3] + }, + { + "name": "vise", + "origin": [12.5, 1, 1], + "color": 0, + "children": [4, 5, 6, 7] + }, + { + "name": "sides", + "origin": [2.5, 10, 5], + "color": 0, + "children": [8, 9, 10, 11, 12] + }, + { + "name": "drawer", + "origin": [4, 10, 2.5], + "color": 0, + "children": [13, 14] + }, + { + "name": "table_top", + "origin": [5, 13.2, 5.5], + "color": 0, + "children": [15, 16, 17] + }, + { + "name": "tool_rack", + "origin": [4, 13, 11.5], + "color": 0, + "children": [ + { + "name": "tool1", + "origin": [4, 13, 11.5], + "color": 0, + "children": [18, 19] + }, + { + "name": "tool2", + "origin": [4, 13, 11.5], + "color": 0, + "children": [20, 21] + }, + { + "name": "tool3", + "origin": [4, 13, 11.5], + "color": 0, + "children": [22, 23] + }, + 24, + { + "name": "plane", + "origin": [13.15186, 13, 8.15186], + "color": 0, + "children": [25, 26] + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/artisan_table.json b/kubejs/assets/tfg/models/item/artisan_table.json new file mode 100644 index 000000000..403b73459 --- /dev/null +++ b/kubejs/assets/tfg/models/item/artisan_table.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/artisan_table" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/artisan_table.png b/kubejs/assets/tfg/textures/block/artisan_table.png new file mode 100644 index 0000000000000000000000000000000000000000..074b058721c3fa9dc947a47e446dbbb66cb46f3a GIT binary patch literal 1157 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANMUR-P`7Ar*7>gq_b;4wd#^j;aqErr1{8>b_QgP|ij~-&I7vNhde;sJHEk z_9k}0R=I0?wZMxKywr#T*7bKkDK%GTQYwaR4A8{2v(zxnpfY@Rf0o4eb__*=G@@7=a^ z*%{L|ujl28H+f2yHhixasJiTY$mDnU)-9<`H+5EBeP!rSfu# z%W}I|`2uys7OtMo&d!@r<#bDbZ>jg4%_jEpoRf-sv`u-Kf7bk)5&B?JlUc_Cg@5iW z8ScE2D`rpA(7AqkkzUWqlb$~Q{_X{A>*985S{{Ah;^-)|JoQ|_4!3dx78#$TrZay$ zylpjY`gG;*;_H8M?%J^7!J2jJ9_^J5m$hM<*X{qlTf)4MQ}?~Mgd@fwgdiv@&mrzrEkIzA`u^R&(Z@8EY}DWUGT8XanB@_pt(d!&psSkb_sJ7> zOgP(lyO8bB6RxzaIxbt5e--_5ZQ=9=kwudxtdZvbp0Iw6%x{Zu`7ej=+?k_4sn9eg z`{lb=dj1Cz<`lC^yi4=gRoh*B=ilGEMrvvbo-5ez9#YBKvF_CFcgxv@ZvOvf;u#tt zvXe~A15h#TIFW(-Ltjw$IhJT z5!UhO`CWO^wLxi0|5oj!!$wbKI@p~K{3vhEJ2A6nAH%;DL1(%=Ox{jPv3^(g(*Mi0 zJ8idjwbz{xtytH=ux_4q*pY)?S9wDmUrw9zK9ceIZT7k6HqU-;{Cca^-lo-fg6|4SCntD+m>kGaivGr z@_h12ompYOqr@_9f3@wg`I+-%>dMzf`cvf&@!zkz8-B-{#U$tS%D3W6A6w|U+Ee#r@-=PU)AhXV=bul^&dyFydLp&PHQC8e##C4EAp2WG)=BYFl5T3BS=dzopr0M+Iwod5s; literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/artisan_table_n.png b/kubejs/assets/tfg/textures/block/artisan_table_n.png new file mode 100644 index 0000000000000000000000000000000000000000..e17ca0db4dfcef4b8bef12e9dd39d1e3b8f973fe GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}`kpS1ArY-_&lxf@FmN2+ r&{#C5nP=V=hhXE~m22#uGoS*`BEL{(JJ%lJK#;hntDnm{r-UW|vyd1+ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/artisan_table_s.png b/kubejs/assets/tfg/textures/block/artisan_table_s.png new file mode 100644 index 0000000000000000000000000000000000000000..e14c94986d18aa9607a98f873ad5e9ad869daa2b GIT binary patch literal 330 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNff}SppArY-_r`ZZMD+sj8 zORoIrqbcj3oZ&n1)}3P;zsSTj&r;Il=@WXYe!yVn$IuSzchBE#(s?OSdr(2|$)_&Q!@dMvvne(Lh5 z@-u5sG%?umnJ-_gb|B;utCH9Wy#paZKB|AYwp&e#@hDJS>>%OqnEyuLw%o_nd%6NF z-%7;Jd3`psL4HcHe8h9xWAm$-mjo@G)u(rTo*d7E*B+wF)++AQs^{v9D^O%yWXn8z z?-GWUOZ9fW(X?RP#LOa|_~ObGTPAe|#so?0w6*P%Bfc{{kYKDe+T`nXkum6%J;Rqd l$Ja1ESMpi7Fi*Ar*7p-rbvb+e5tJ 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 dGtf}ii{ zy9&Q`&EJ+KnW)V>lTr4QIpZI*|LQJx4{mgTe~DWM4ft94t! literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/artisan_table/casting_mold_active.png b/kubejs/assets/tfg/textures/gui/artisan_table/casting_mold_active.png new file mode 100644 index 0000000000000000000000000000000000000000..a57ab6c55499f9da3dcecc804bf53f588e343845 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0y~yVBi5^4mJh`hOp9@=L`%ClRaG=Lo_C~PBaudtiaevfcBa0BBQTt3>^VickJeSE;7+1 z%4qh~_SZbj?rV#+_uCm-uA8YG@*!%g%8wIky37tQ|8wsHtGYrV`>zL+Z!s`1FnGH9 KxvX)(IdMdH}} z@?&LYcXL?P{ib!fsP1E6|F<$@Vd_I|g|a>P`;>h-%c^Uk+3A3nIzDXcE{zcbnTr>FMOj}_0(K0ZFLa_w1ZC%&B9VU>OB zrT*5<-z2xXHepVN`*r@merkI)cq1*7cR4?E@|bzUO>;l*MET3*{B>~|i?#ET7CRg$ z&-<~c@YtcozX>&pQzvygEfciiFEV0Sd{y3Gi}f4_1G9l>oCm8WE5n1|^72d`VkIxn zIUFd@-@|!KlHwX?zQMhu3VAmXnDM4wo_AfeiwO2Ry&cT0i>$fimd~z=T_BN|M z-%j0PzH1Vhq`c^Z-M8=a_v?4;G-!Rd_14Wrr%&cAm@VV){-mrr|KZ*MkK5a>Ui@nQ z>Buy#8CHh+yF`Tk|N9(%WU8RM(W41oQ$*uEX6A)>&8)n`!NA2e=ktkb9*%dt>yzH} zJhbq8=TKZ4VED+TTt?jgUv-ncoc*DXA2%{3y_>lB;)So%u+|}3P>Npt=x!7`Np3l0Or?bod7%#(tzxwYV{`e8m+E;QnZTH3% zr>n%y&-OdR#t<=$RjFzE$A1w|J=OB9c5ofO;k^58degBteKy8rQm>})=^ZvX^O8Bt zr=>)Oo%6iI^q^GpG{v)?a{T8F=W&FeEB-I}YS$A_rRfuHzd2UvRhklfm*a^*(eq;( zOD#8@%wsV#xEV50$*)LFal5YUm6!G+mo`Ne{?7J{oL;(mul&BWe+T}xom1YTZMl6BotumkZ>!mZ#kGubkGqJ?Mm%zftP4 zW-F0bC)AcVuRg{c#<8Tly@b9PoLa93h zH5^XNm9CX~dt%cajwd2T(U%WeWIa7$GQD(W9!r)|itM!HnXNg$m~7rYU%f|p^$fma zf?Sn#b^BJuwk+EnD6ZM|F#B2gv-}xtg4GUlHL@oa%9>~JBpjRg`}gmS>?x8^o~lpI^`6e`Q8s_+rqDWJcS(Wi)Y6oxmk(NKsi(+ZI%u(_ zCFd8@o{sbB3@-iCeA zC%v~;y961Q>}Z&hd}rTp%UyT%7>oNjj#31_upTB zJrrDUN^n!&%LI`_XZh{g#T9&gE&|^B4}-nC%RV$$U{dVOveHWt~yTIk)+=>(LNTw)Eu_?y)j(D(Wfh zEf$z*uqOS(KX!Rny_XG3TlX-f|NHbnTH~o>1+&0*hX-|w*0FT>p7t<)JSl8K>fDxt zH#3Wr6O?B3Pg2%UReYN9X)>1{1M?BxJNtf1G92mR$oTWZRpG^9`F-Em!}zAm(44qJ z#ewIDuENTHDHBdVUlF|0HDKo~p?R_zhJxM9Gmg2WG^uU=w08G=rU<=+ik`fj!tbr? z-_;88MlAlaZOYRtD^t#RSt}GIti05AI<8USpPvJnCBDg{6e>4gP&{+1?ksL zybC@vVZxs+DP}X;*DCYO+1j`E&#xm7QqI0P*K&Q8=OLrwH70W(7zXL`=JQ-Hn80^M S!-s)^fx*+&&t;ucLK6V4-C8{W literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/artisan_table/extruder_mold_active.png b/kubejs/assets/tfg/textures/gui/artisan_table/extruder_mold_active.png new file mode 100644 index 0000000000000000000000000000000000000000..9b05d102d032cf0b8747299c9cb3b6eab04f5643 GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0y~yVBi5^4mJh`hOp9@=L`%C(>+}rLo_C~PITlutRTP~ znvh+=31wy}XJ9Wa^qW^W(zO20uHJ`S8pTj@FWv#iFB_l&-t7`9D z6%}3yh8^BzyHqAHH>xa&Ejo96#|A#$?bn|3dv8+z+q_uKbBX9SKOZyWdk>D9dd)JC zy%hC-n~3S7s~pVpqms4v*Dcz)#p-r-cxkrmmd_TRegz>~Pmf3|NEPz_d7bIRz`(%Z M>FVdQ&MBb@0Ql-oyZ`_I literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/artisan_table/extruder_mold_border.png b/kubejs/assets/tfg/textures/gui/artisan_table/extruder_mold_border.png new file mode 100644 index 0000000000000000000000000000000000000000..4b6d25301fb4f14b4087809e06eaea03fa986176 GIT binary patch literal 1367 zcmeAS@N?(olHy`uVBq!ia0y~yU;twdHU#}|3H)BKi*6camC>_*)V5Z(2tt(SkaTPug_!=TGeO@@%g!)F|3H1zL1GdU&@o}iA zdL=`kI}So2xMW^uxQ>vTcb?0^GfACw+SsL`0uXEH&kJ z(oqr8+H{krYOmd`w|aVUcdWvE#BIdd-oDMBdG+9@J7!0d3YYO!esZ{MQuXpu_?p{| zdDGv@oSZdX|NjiZ;CXeIj~x^L6Lo~)^rjitC!Sw_W{Ra#)-1R6@&DT@m0cPHnzrZv zFa7Ej-hU=#QpWb`Gt!g1RA*d2DCBi~;nZI56H#mX+!i0*qo~t9f04$SbGet_ehXL` zvT^6mms8H3nb^zr`$F3U=d|a~4Be|r&8APdnbY-h`V+?fZ>v`|O`W=B^%>PAnPrX~ zzqO^xLPA|vUoD)vvt>@5Vb6-J9&g)aKRFdE4}Ln$W@>u!fJWP$n>%-2=;g3a*tzKw z*V;`tMdsQ5=6zZ;lc`}%rqte|ROzizbG?~e9vyD~|KZ0+e~sy0!1QZXy+q##-<-~^STzw`%qc?H4 zxgS0|;lTWyz3r`sxb)ZOCf}bwp)_{-s;l)A&ZqAT)$6+Mw{+5u`v2@AT&yQ0 zZ{^?nbMmd&ERMM7(9oJc6%S-iAIPw7Q@LtWuI^H?d4Ih7$`bKbCr2ixs2rCMw=Q#R z&vGwJInlXio4-rkZFQyfZ-oz?ojCD2pXDLWlee>PyX?>Y?V{k+^D_In3SXt!jvIX%RO1bjz-ARok`=anYAes(yd_e#rj9 zJN5MQ>mL979RB$1k8j-T?r7BYG6M4^D7|r#w@;5zk zAj7!sNRh;`4E6XYTWgh|773iYIR|Qq#`?7ki_iYp7||2$px1T%UCFNree+(IR4rL_ zWJj#8;GS<8`~O-bqI`Pg>2i8nMEZ)mQnJ2qrGMFTbNN*2!#kuAX-JjlE`yEG1gaOT16S=p9ad%D4Nv z+L59|aIg%r}=C9r(0M5_|PZp%p_O*WTtWDvtEwf*ZYo&aqQn4``120x&EumN?S!&KdSpF zHYMrb(&HTpO!;=Ux;kdZo+N!@Km0IYUcK@Q$1N4P3=EB`;z|j^-d5f_fBZQfv#iPI z(fRnLF3h}2OFCVJ4o01RntIA)+g{Pt3~NQd^O>?Yb1W70(#*-JESFonzpl;DO;#sP zf$3!Ep%kIwZ)t9mB7ztN9dnwiFBv$Mr3G`9EV(f8(FeaHI$~3r{GXja?Rv}N=_8}3 z`!{Ru|8E<}p!8`$XD@qz*Wbsl%6H!DUmkz2zSh*YQ+TJ|r$4n`+cq8lIrT`C;?@sk zLeEbxdRU-gZ&P!=@!UG=ZtgAmrq>*oh?KJlMrr^1^*Fr8P$*SXhqM8C) zA4v4N-MruzwBcHj>E@2yZO8N!mgJxt?9Q`%dW0n9st!y(Lh#entNl zuN3jDJ1(nT%4S~ccvIASL1|*_a#5w-amrgY*1B=HT0Oqz`YS@YMQLu~YNgsr>m7aP#BMH2 zX_n`^WWD%I)`cGKce*_0XWiMNztF?|ir%H=QriW)?lk5GUeVg5Z|bD6$;8|>aP|qi zs~ihY1WoBw>L_v1RjQS`mik>)NPU}ZOuAC-s*PL= zPnfRhezdIlwM)wV?3REhrmL=SI4&{%Cie33hILUOXKkGBaX%CSU&S>84#LnpI9NyBMoB-|qMQ z&6-i#Yef6x@74Z&axu1K$)}TNzH5GcDgIr1|25X-{r&57wKw}N@9*C*$#=H4+3$aU z)7$6#wcq{iPRx@hN+-qlS^xhL@jA!s$BO03_tsg;uT#FB+%wU>zB=%=+s|W<{%~mj zZ#yaxyu*?!sas}$P3VtGMZqwabxA!FFJ^>XPAlzCEnHp0aKiFc&JCu?DGUq@44$rj JF6*2UngHvw?mqwk literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/artisan_table/phenolic_board_border_4x.png b/kubejs/assets/tfg/textures/gui/artisan_table/phenolic_board_border_4x.png new file mode 100644 index 0000000000000000000000000000000000000000..f397102b7f52b9c750a4f134075dbf5a9f6c24c7 GIT binary patch literal 1197 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/loot_tables/blocks/artisan_table.json b/kubejs/data/tfg/loot_tables/blocks/artisan_table.json new file mode 100644 index 000000000..59792a68b --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/artisan_table.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:artisan_table" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/kubejs/server_scripts/tacz/recipes.misc.js b/kubejs/server_scripts/tacz/recipes.misc.js index c37803055..f0d7632f7 100644 --- a/kubejs/server_scripts/tacz/recipes.misc.js +++ b/kubejs/server_scripts/tacz/recipes.misc.js @@ -26,38 +26,6 @@ function registerTACZMiscRecipes(event) { ['tacz:target', 'minecraft:minecart'] ).id('tfg_tacz:target_minecart'); - - //Molds - event.shaped('tfg:small_casing_extruder_mold',[ - ' A ', - 'B ', - ' C' - ],{ - A: '#forge:tools/wire_cutters', - B: 'gtceu:empty_mold', - C: '#forge:tools/files' - }).id('tfg:small_casing_extruder_mold'); - - event.shaped('tfg:large_casing_extruder_mold',[ - ' ', - 'AB ', - ' C' - ],{ - A: '#forge:tools/wire_cutters', - B: 'gtceu:empty_mold', - C: '#forge:tools/files' - }).id('tfg:large_casing_extruder_mold'); - - event.shaped('tfg:shell_casing_extruder_mold',[ - ' C', - 'AB ', - ' ' - ],{ - A: '#forge:tools/wire_cutters', - B: 'gtceu:empty_mold', - C: '#forge:tools/files' - }).id('tfg:shell_casing_extruder_mold'); - //Mechanisms event.shaped('tfg:flintlock_mechanism', [ 'ABC', diff --git a/kubejs/server_scripts/tfg/machines/recipes.molds.js b/kubejs/server_scripts/tfg/machines/recipes.molds.js index 74bf13c2e..f6271a63a 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.molds.js +++ b/kubejs/server_scripts/tfg/machines/recipes.molds.js @@ -6,278 +6,57 @@ */ function registerTFGMoldRecipes(event) { - event.shaped('tfg:mining_hammer_head_extruder_mold', [ - 'Sfh', - ' ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:sword_head_extruder_mold', [ - 'Shf', - ' ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:pickaxe_head_extruder_mold', [ - 'S ', - 'hf ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:axe_head_extruder_mold', [ - 'S ', - ' fh', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:hoe_head_extruder_mold', [ - 'S ', - ' hf', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:scythe_head_extruder_mold', [ - 'S ', - ' ', - 'fh ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:file_head_extruder_mold', [ - 'S ', - ' ', - 'hf ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:hammer_head_extruder_mold', [ - 'Sf ', - ' h ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:saw_head_extruder_mold', [ - 'Sh ', - ' f ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:knife_head_extruder_mold', [ - 'S f', - ' ', - ' h' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:butchery_knife_head_extruder_mold', [ - 'S h', - ' ', - ' f' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:shovel_head_extruder_mold', [ - 'S ', - 'f ', - 'h ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:spade_head_extruder_mold', [ - 'S ', - 'f ', - ' h' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:propick_head_extruder_mold', [ - 'Sxf', - ' ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - x: '#forge:tools/wire_cutters' - }) - - event.shaped('tfg:javelin_head_extruder_mold', [ - 'S x', - 'f ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - x: '#forge:tools/wire_cutters' - }) - - event.shaped('tfg:chisel_head_extruder_mold', [ - 'S ', - 'xf ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - x: '#forge:tools/wire_cutters' - }) - - event.shaped('tfg:mace_head_extruder_mold', [ - 'S ', - ' xf', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - x: '#forge:tools/wire_cutters' - }) - - event.shaped('tfg:lamp_casting_mold', [ - 'Sh ', - ' ', - ' m' - ], { - S: 'gtceu:empty_mold', - h: '#forge:tools/hammers', - m: '#forge:tools/mallets' - }) - - event.shaped('tfg:trapdoor_casting_mold', [ - 'S h', - ' ', - ' m' - ], { - S: 'gtceu:empty_mold', - h: '#forge:tools/hammers', - m: '#forge:tools/mallets' - }) - - event.shaped('tfg:chain_casting_mold', [ - 'S ', - 'h ', - ' m' - ], { - S: 'gtceu:empty_mold', - h: '#forge:tools/hammers', - m: '#forge:tools/mallets' - }) - - event.shaped('tfg:bell_casting_mold', [ - 'S ', - ' h ', - ' m' - ], { - S: 'gtceu:empty_mold', - h: '#forge:tools/hammers', - m: '#forge:tools/mallets' - }) - - event.shaped('tfg:mattock_head_extruder_mold', [ - ' h', - 'fS ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:fish_hook_extruder_mold', [ - 'f ', - ' S ', - ' h' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - event.shaped('tfg:whisk_extruder_mold', [ - 'f h', - ' S ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) + /** @type {['huge'|'large'|'normal'|'small'|'tiny']}*/ + const pipe_sizes = [ + 'huge', + 'large', + 'normal', + 'small', + 'tiny' + ]; - event.shaped('tfg:screwdriver_tip_extruder_mold', [ - 'f ', - ' S ', - ' h ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) + let prev_size; + pipe_sizes.forEach((size) => { + if (size !== 'huge'){ + event.shaped(`gtceu:${size}_pipe_casting_mold`, [ + 'ABC' + ], { + A: '#forge:tools/hammers', + B: `gtceu:${prev_size}_pipe_casting_mold`, + C: '#forge:tools/mallets' + }).id(`tfg:shaped/${prev_size}_${size}_casting_mold`) + + event.shaped(`gtceu:${size}_pipe_extruder_mold`, [ + 'ABC' + ], { + A: '#forge:tools/hammers', + B: `gtceu:${prev_size}_pipe_extruder_mold`, + C: '#forge:tools/mallets' + }).id(`tfg:shaped/${prev_size}_${size}_extruder_mold`) + } + prev_size = size; + }); - event.shaped('tfg:wrench_tip_extruder_mold', [ - 'f ', - 'hS ', - ' ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) + pipe_sizes.reverse().forEach((size) => { + if (size !== 'tiny'){ + event.shaped(`gtceu:${size}_pipe_casting_mold`, [ + 'ABC' + ], { + A: '#forge:tools/mallets', + B: `gtceu:${prev_size}_pipe_casting_mold`, + C: '#forge:tools/hammers' + }).id(`tfg:shaped/${prev_size}_${size}_casting_mold`) - event.shaped('tfg:wire_cutter_head_extruder_mold', [ - 'hS ', - ' ', - ' f ' - ], { - S: 'gtceu:empty_mold', - f: '#forge:tools/files', - h: '#forge:tools/hammers' - }) - - let steelIngots = ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4); - let steelDusts = ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 4); + event.shaped(`gtceu:${size}_pipe_extruder_mold`, [ + 'ABC' + ], { + A: '#forge:tools/mallets', + B: `gtceu:${prev_size}_pipe_extruder_mold`, + C: '#forge:tools/hammers' + }).id(`tfg:shaped/${prev_size}_${size}_extruder_mold`) + } + prev_size = size; + }); global.TFG_EXTRUDER_MOLDS.forEach(mold => { @@ -289,7 +68,7 @@ function registerTFGMoldRecipes(event) { .itemOutputs(mold) .duration(120) .EUt(GTValues.VA[GTValues.LV]) - }) + }); global.TFG_CASTING_MOLDS.forEach(mold => { @@ -301,23 +80,6 @@ function registerTFGMoldRecipes(event) { .itemOutputs(mold) .duration(120) .EUt(GTValues.VA[GTValues.LV]) - }) + }); - //TODO: Fix this code to respect full molds - // //craft mold to scrub nbt - // const molds = Ingredient.of('#tfc:fired_molds').itemIds; - - // molds.forEach(mold => { - // event.shapeless(Item.of(mold), [mold]) - // .id(`tfg:shapeless/mold_cleaning/${mold.replace(":", "/")}`); - // }); - - // //craft vessel to scrub nbt - // const vessels = Ingredient.of('#tfc:fired_vessels').itemIds; - - // vessels.forEach(vessel => { - // event.shapeless(Item.of(vessel), [vessel]) - // .id(`tfg:shapeless/vessel_cleaning/${vessel.replace(":", "/")}`); - // }); - -} +}; diff --git a/kubejs/server_scripts/tfg/primitive/recipes.artisan_table.js b/kubejs/server_scripts/tfg/primitive/recipes.artisan_table.js new file mode 100644 index 000000000..340244b36 --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/recipes.artisan_table.js @@ -0,0 +1,572 @@ +// priority: 0 +"use strict"; + +function registerTFGArtisanTableRecipes(event) { + + // Removals (`type` didnt want to work here). + event.remove({ id: /gtceu:shaped\/shape_.*/, input: 'gtceu:empty_mold'}); + event.remove({ id: /gtceu:shaped\/shape_.*/, input: /gtceu:.*_extruder_mold/}); + event.remove({ id: 'gtceu:shaped/basic_circuit_board'}); + event.remove({ id: 'gtceu:shaped/good_circuit_board'}); + + //Table Recipe + TFGHelpers.registerMaterialInfo('tfg:artisan_table', [GTMaterials.WroughtIron, 6, GTMaterials.Wood, 3, GTMaterials.Copper, 1/9]) + + event.shaped('tfg:artisan_table', [ + 'CBC', + 'AAA', + 'B B' + ], { + A: ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.WroughtIron, 1), + B: 'firmalife:treated_wood', + C: '#forge:screws/any_bronze' + }).id('tfg:shaped/artisan_table'); + + //#region Molds + + /** + * Mold pattern definitions. + * @param {string} name - Base id of the mold item. + * @param {boolean} genCast - Whether to generate a casting mold recipe. + * @param {boolean} genExtrude - Whether to generate an extruder mold recipe. + * @param {string[]} pattern - 6x6 pattern for the mold. 'X' for solid, ' ' for empty. + * @type {{name: string, genCast: boolean, genExtrude: boolean, pattern: string[]}[]} moldPatterns + */ + const moldPatterns = [ + { name: 'tfg:lamp', genCast: true, genExtrude: false, pattern: [ + "XX XX", + "X X", + "X XX X", + "X XX X", + "X XX X", + "X X" + ]}, + { name: 'tfg:trapdoor', genCast: true, genExtrude: false, pattern: [ + " ", + " XXXX ", + " ", + " ", + " XXXX ", + " " + ]}, + { name: 'tfg:chain', genCast: true, genExtrude: false, pattern: [ + "X X", + "X XX X", + "X X", + "XX XX", + "X X", + "X XX X" + ]}, + { name: 'tfg:bell', genCast: true, genExtrude: false, pattern: [ + "XX XX", + "X X", + "X X", + "X X", + " ", + " " + ]}, + { name: 'gtceu:plate', genCast: true, genExtrude: true, pattern: [ + "XXXXXX", + "X X", + "X X", + "X X", + "X X", + "XXXXXX" + ]}, + { name: 'gtceu:gear', genCast: true, genExtrude: true, pattern: [ + "XX XX", + "X X", + " XX ", + " XX ", + "X X", + "XX XX" + ]}, + { name: 'gtceu:bottle', genCast: true, genExtrude: true, pattern: [ + "X X", + "XX XX", + "XX XX", + "X X", + "X X", + "X X" + ]}, + { name: 'gtceu:ingot', genCast: true, genExtrude: true, pattern: [ + "XXXXXX", + "XX XX", + "XX XX", + "XX XX", + "XX XX", + "XXXXXX" + ]}, + { name: 'gtceu:ball', genCast: true, genExtrude: false, pattern: [ + "XXXXXX", + "XX XX", + "X X", + "X X", + "XX XX", + "XXXXXX" + ]}, + { name: 'gtceu:cylinder', genCast: true, genExtrude: false, pattern: [ + "XX XX", + "X X", + " ", + " ", + "X X", + "XX XX" + ]}, + { name: 'gtceu:block', genCast: true, genExtrude: true, pattern: [ + " ", + " ", + " ", + " ", + " ", + " " + ]}, + { name: 'gtceu:nugget', genCast: true, genExtrude: false, pattern: [ + "XXXXXX", + "XXXXXX", + "XX XXX", + "XX XXX", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'gtceu:anvil', genCast: true, genExtrude: false, pattern: [ + " ", + " ", + "X X", + "XX XX", + "X X", + "XXXXXX" + ]}, + { name: 'gtceu:name', genCast: true, genExtrude: false, pattern: [ + "XXXXXX", + "X X X ", + " X X X", + "X X X ", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'gtceu:small_gear', genCast: true, genExtrude: true, pattern: [ + "XXX XX", + "XX X", + "X X ", + "XX X", + "XXX XX", + "XXXXXX" + ]}, + { name: 'gtceu:rotor', genCast: true, genExtrude: true, pattern: [ + " XXXX ", + "X XX X", + "XX XX", + "XX XX", + "X XX X", + " XXXX " + ]}, + { name: 'gtceu:pill', genCast: true, genExtrude: false, pattern: [ + "XXXXXX", + "XXXXXX", + "XX XX", + "X XX", + "X XXX", + "XXXXXX" + ]}, + { name: 'gtceu:huge_pipe', genCast: true, genExtrude: true, pattern: [ + " ", + " XXXX ", + " XXXX ", + " XXXX ", + " XXXX ", + " " + ]}, + + { name: 'gtceu:rod', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XXXXXX", + "XX XX", + "XX XX", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'gtceu:bolt', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XXXXXX", + "XX X", + "XXX XX", + "XXX XX", + "XXXXXX" + ]}, + { name: 'gtceu:ring', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XX XX", + "X XX X", + "X XX X", + "XX XX", + "XXXXXX" + ]}, + { name: 'gtceu:cell', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XX X", + "X XX X", + "X XX X", + "X XX", + "XXXXXX" + ]}, + { name: 'gtceu:wire', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XX XXX", + "XXXXXX", + "XXXXXX", + "XXX XX", + "XXXXXX" + ]}, + { name: 'gtceu:foil', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XXXXXX", + "XXXXXX", + " ", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'tfg:small_casing', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XXXXXX", + "X X X ", + "XXXXXX", + "X X X ", + "XXXXXX" + ]}, + { name: 'tfg:shell_casing', genCast: false, genExtrude: true, pattern: [ + " XXXX", + " XXXX", + "XXXXXX", + "XXXXXX", + "XXXX ", + "XXXX " + ]}, + { name: 'tfg:large_casing', genCast: false, genExtrude: true, pattern: [ + "XX XX", + "XX XX", + " XXXX", + " XXXX", + "XXXX ", + "XXXX " + ]}, + + //Tools + { name: 'tfg:mining_hammer_head', genCast: false, genExtrude: true, pattern: [ + " XXXXX", + " X", + " ", + " X", + " XXXXX", + "XXXXXX" + ]}, + { name: 'tfg:sword_head', genCast: false, genExtrude: true, pattern: [ + " XXXX", + " XXX", + "X XX", + "XX X", + "XXX X", + "XXXXX " + ]}, + { name: 'tfg:pickaxe_head', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XXXXXX", + "X X", + " XXXX ", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'tfg:shovel_head', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "X X", + "X X", + "X X", + "XX XX", + "XXXXXX" + ]}, + { name: 'tfg:axe_head', genCast: false, genExtrude: true, pattern: [ + "X XXXX", + " X", + " ", + " X", + "X XXXX", + "XXXXXX" + ]}, + { name: 'tfg:hoe_head', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XXXXXX", + " ", + " XXXX", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'tfg:scythe_head', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "X ", + " XX", + " XXXX", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'tfg:file_head', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XX XXX", + "XX XXX", + "XX XXX", + "XX XXX", + "XX XXX" + ]}, + { name: 'tfg:hammer_head', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + " ", + " ", + "XX XX", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'tfg:saw_head', genCast: false, genExtrude: true, pattern: [ + " XXXX", + " XXX", + "X XX", + "X X", + "XX ", + "XXXX " + ]}, + { name: 'tfg:knife_head', genCast: false, genExtrude: true, pattern: [ + "XXX XX", + "XX XX", + "XX XX", + "XX XX", + "XX XX", + "XXXXXX" + ]}, + { name: 'tfg:butchery_knife_head', genCast: false, genExtrude: true, pattern: [ + "X XXXX", + "X XXXX", + "X XX", + "X X", + "X X X", + "X X" + ]}, + { name: 'tfg:spade_head', genCast: false, genExtrude: true, pattern: [ + "X X", + "X X", + "X X", + "X X", + "XX XX", + "XX XX" + ]}, + { name: 'tfg:propick_head', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + " X", + " XXXX ", + " XXXXX", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'tfg:javelin_head', genCast: false, genExtrude: true, pattern: [ + " XXX", + " XX", + " X", + "X ", + "XX X", + "XXX XX" + ]}, + { name: 'tfg:chisel_head', genCast: false, genExtrude: true, pattern: [ + "XXX XX", + "XXX XX", + "XXX XX", + "XXX XX", + "XXX XX", + "XXXXXX" + ]}, + { name: 'tfg:mace_head', genCast: false, genExtrude: true, pattern: [ + "XX XX", + "X X", + "X X", + "X X", + "X X", + "XX XX" + ]}, + { name: 'tfg:mattock_head', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + " X", + " XX ", + "XXXXXX", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'tfg:fish_hook', genCast: false, genExtrude: true, pattern: [ + "XXX XX", + "XXXX X", + "X XX X", + "X XX X", + "XX XX", + "XXXXXX" + ]}, + { name: 'tfg:whisk', genCast: false, genExtrude: true, pattern: [ + " X X ", + "XX XX", + " XX ", + " XX ", + "XX XX", + " X X " + ]}, + { name: 'tfg:screwdriver_tip', genCast: false, genExtrude: true, pattern: [ + "XX X", + "XXX XX", + "XX X", + "XXX XX", + "XXX XX", + "XXX XX" + ]}, + { name: 'tfg:wrench_tip', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XX XXX", + "XX XXX", + "XX XXX", + "XX XXX", + "X XX" + ]}, + { name: 'tfg:wire_cutter_head', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XX X", + "X X X", + "X XXX", + "X XXX", + "XXXXXX" + ]} + + /* + , + { name: 'tfg:', genCast: false, genExtrude: true, pattern: [ + "XXXXXX", + "XXXXXX", + "XXXXXX", + "XXXXXX", + "XXXXXX", + "XXXXXX" + ]} + */ + ]; + + /** Checks for duplicate patterns for the same mold type. */ + function patternsEqual(p1, p2) { + for (let i = 0; i < p1.length; i++) { + if (p1[i] !== p2[i]) return false; + }; + return true; + }; + /** Checks for duplicate mirrored patterns for the same mold type. */ + function patternsMirrorEqual(p1, p2) { + for (let i = 0; i < p1.length; i++) { + if (p1[i] !== p2[i].split('').reverse().join('')) return false; + }; + return true; + }; + // Error logging for duplicate patterns. + let patternsChecked = []; + for (let i = 0; i < moldPatterns.length; i++) { + for (let j = i + 1; j < moldPatterns.length; j++) { + + let a = moldPatterns[i]; + let b = moldPatterns[j]; + let shareCast = a.genCast && b.genCast; + let shareExtrude = a.genExtrude && b.genExtrude; + + if (shareCast || shareExtrude) { + if (patternsEqual(a.pattern, b.pattern) || patternsMirrorEqual(a.pattern, b.pattern)) { + patternsChecked.push({a: a.name, b: b.name}); + }; + }; + }; + }; + if (patternsChecked.length !== 0) { + throw new Error( + `Duplicate artisan table mold patterns detected between: ${patternsChecked.map(pair => `\n${pair.a} and ${pair.b}`).join(', ')}` + ); + }; + + // Create Artisan Table recipes for molds. + moldPatterns.forEach((mold) => { + if (mold.genCast){ + event.custom({ + "result": {"item": `${mold.name}_casting_mold`}, + "pattern": mold.pattern, + "artisanType": "tfg:casting_mold", + "type": "tfg:artisan" + }).id(`tfg:artisan_table/${linuxUnfucker(mold.name)}_casting_mold`); + }; + if (mold.genExtrude){ + event.custom({ + "result": {"item": `${mold.name}_extruder_mold`}, + "pattern": mold.pattern, + "artisanType": "tfg:extruder_mold", + "type": "tfg:artisan" + }).id(`tfg:artisan_table/${linuxUnfucker(mold.name)}_extruder_mold`); + }; + }); + + //#endregion + + //#region Circuits + + event.custom({ + "result": {"item": "gtceu:resin_printed_circuit_board"}, + "pattern": [ + "X XXXX", + " XX X", + "X X X", + "X XX X", + " XXX X", + "XXX X" + ], + "artisanType": "tfg:resin_board", + "type": "tfg:artisan" + }).id(`tfg:artisan_table/resin_printed_circuit_board`); + + event.custom({ + "result": {"item": "gtceu:resin_printed_circuit_board", "count": 4}, + "pattern": [ + "X XXXX", + " XX X", + "X X X", + "X XX X", + " XXX X", + "XXX X" + ], + "artisanType": "tfg:resin_board_4x", + "type": "tfg:artisan" + }).id(`tfg:artisan_table/resin_printed_circuit_board_4x`); + + event.custom({ + "result": {"item": "gtceu:phenolic_printed_circuit_board"}, + "pattern": [ + "X XX ", + " XXXX ", + "XX X ", + "XX XXX", + "XX XX ", + " XX " + ], + "artisanType": "tfg:phenolic_board", + "type": "tfg:artisan" + }).id(`tfg:artisan_table/phenolic_printed_circuit_board`); + + event.custom({ + "result": {"item": "gtceu:phenolic_printed_circuit_board", "count": 4}, + "pattern": [ + "X XX ", + " XXXX ", + "XX X ", + "XX XXX", + "XX XX ", + " XX " + ], + "artisanType": "tfg:phenolic_board_4x", + "type": "tfg:artisan" + }).id(`tfg:artisan_table/phenolic_printed_circuit_board_4x`); + //#endregion + + +} diff --git a/kubejs/server_scripts/tfg/primitive/tags.primitive.js b/kubejs/server_scripts/tfg/primitive/tags.primitive.js index 092078b9c..54f10a270 100644 --- a/kubejs/server_scripts/tfg/primitive/tags.primitive.js +++ b/kubejs/server_scripts/tfg/primitive/tags.primitive.js @@ -72,6 +72,20 @@ function registerTFGPrimitiveItemTags(event) { event.add('forge:string', 'tfg:phantom_thread') event.add('forge:string', 'tfg:polycaprolactam_string') event.add('forge:string', 'firmalife:pineapple_yarn') + + // Artisan Table + event.add('tfg:artisan_table_inputs', 'gtceu:empty_mold') + event.add('tfg:artisan_table_inputs', 'gtceu:resin_circuit_board') + event.add('tfg:artisan_table_inputs', 'gtceu:copper_single_wire') + event.add('tfg:artisan_table_inputs', 'gtceu:copper_quadruple_wire') + event.add('tfg:artisan_table_inputs', 'gtceu:phenolic_circuit_board') + event.add('tfg:artisan_table_inputs', 'gtceu:silver_single_wire') + event.add('tfg:artisan_table_inputs', 'gtceu:silver_quadruple_wire') + event.add('tfg:artisan_table_tools', '#forge:tools/hammers') + event.add('tfg:artisan_table_tools', '#forge:tools/mallets') + event.add('tfg:artisan_table_tools', '#forge:tools/files') + event.add('tfg:artisan_table_tools', '#forge:tools/wire_cutters') + event.add('tfg:artisan_table_tools', '#forge:tools/screwdrivers') } function registerTFGPrimitiveBlockTags(event) { @@ -90,8 +104,7 @@ function registerTFGPrimitiveBlockTags(event) { function registerTFGPrimitiveFluidTags(event) { forEachMaterial(material => { let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) - if (tfcProperty === null || !material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) - return; + if (tfcProperty === null || !material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) return; if (!ChemicalHelper.get(TagPrefix.gearSmall, material, 1).isEmpty()) { event.add('tfg:usable_in_small_gear_mold', material.getFluid().getFluidType().toString()) diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index 925a225b1..3366ed27d 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -49,6 +49,7 @@ const registerTFGRecipes = (event) => { registerTFGClayRecipes(event) registerTFGEquipmentRecipes(event) registerTFGDyeRecipes(event) + registerTFGArtisanTableRecipes(event) registerTFGCasingRecipes(event) registerTFGEnderPearlRecipes(event) diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index 5392b40ab..ad5bc65a4 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -177,4 +177,5 @@ function registerTFGMiscellaneousRecipes(event) { .duration(5*20) .EUt(GTValues.VA[GTValues.LV]) .addMaterialInfo(true); + } diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 119a5b49b..a1c988e5f 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -46,6 +46,7 @@ const registerTFGItemTags = (event) => { event.add('tfg:empty_dna_syringes', 'tfg:clean_dna_syringe') event.add('tfc:sewing_needles', 'tfg:stainless_steel_needle') + //#endregion // Airplane Upgrades From d84e79abb097f47e33f7446d62654c94d96c164c Mon Sep 17 00:00:00 2001 From: Yan <115050813@qq.com> Date: Mon, 26 Jan 2026 10:39:04 +0800 Subject: [PATCH 226/474] Update zh_cn lang for patchouli book (#2861) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: update zh_cn translation for new drinkings * feat: update zh_cn lang for patchouli book --------- Co-authored-by: 闫茂源 --- .../field_guide/zh_cn/entries/beneath/piglins.json | 2 +- .../field_guide/zh_cn/entries/mechanics/bloomery.json | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/piglins.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/piglins.json index a29717042..de7c4663d 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/piglins.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/piglins.json @@ -27,7 +27,7 @@ { "type": "patchouli:text", "title": "堡垒遗迹", - "text": "掠夺一个 $(thing)堡垒遗迹$() 可能危险,但回报也很丰厚!你能获得如下物品:$(li)金、玫瑰金、生铁、黑青铜和银锭$(li)黑青铜武器、工具和护甲$(li)高岭土和石墨$(li)永久光源$(li)布料、皮革、种子和食物$(li)以及其他宝藏!" + "text": "掠夺一个 $(thing)堡垒遗迹$() 可能危险,但回报也很丰厚!你能获得如下物品:$(li)金、玫瑰金、生铁、黑青铜和银锭$(li)黑青铜武器、工具和护甲$(li)高岭土和石墨$(li)灯笼$(li)、布料、皮革、种子和食物$(li)以及其他宝藏!" }, { "type": "patchouli:spotlight", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/bloomery.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/bloomery.json index 7d6c41d3c..9cda74328 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/bloomery.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/bloomery.json @@ -6,7 +6,7 @@ "pages": [ { "type": "patchouli:text", - "text": "$(thing)锻铁炉$()是一种能将$(thing)铁矿$()烧炼成$(thing)生铁方坯$()的装置。生铁方坯可进一步锻造成$(thing)锻铁$()。$(l:the_world/ores_and_minerals#hematite)赤铁矿$()、$(l:the_world/ores_and_minerals#limonite)褐铁矿$()和$(l:the_world/ores_and_minerals#magnetite)磁铁矿$()均含铁。直接熔化这些矿石只会得到无用的$(thing)铸铁$()而非$(thing)锻铁$()。另外,所有含铁物品熔化时都只会变成铸铁。锻铁炉是把铸铁变为锻铁的唯一方法。锻铁炉接受任何含铁物品,包括铁矿石或铸铁锭。" + "text": "$(thing)锻铁炉$()是一种用于将$(thing)铁矿$()烧炼成$(thing)生铁方坯$()的装置,生铁方坯可被进一步加工成$(thing)锻铁$()。常见的铁矿包括$(l:tfg_ores/earth_vein_index#normal_hematite)赤铁矿$()、$(l:tfg_ores/earth_vein_index#normal_limonite)褐铁矿$()和$(l:tfg_ores/earth_vein_index#normal_magnetite)磁铁矿$()。这些矿石直接熔化只会得到$(thing)铸铁$(),而非$(thing)锻铁$()。实际上,所有含铁物品熔化后都只会变成铸铁。若要将它们转化为可用的锻铁,就需要使用锻铁炉。任何含铁物品都可用于锻铁炉,包括铁制工具和铸铁锭!" }, { "type": "patchouli:crafting", @@ -22,19 +22,19 @@ }, { "type": "patchouli:text", - "text": "锻铁炉最多可容纳 48 个 $(thing)输入项$(),每层烟囱最多放16件物品。可通过堆叠额外的石头来加高至多两层烟囱,每层额外的烟囱可以多容纳16件物品。$(br2)要向锻铁炉中加入物品,只需将物品从烟囱顶部投入烟囱中即可。如果烟囱中出现灰色物质就说明成功了。" + "text": "锻铁炉最多可容纳 48 个 $(thing)输入项$(),每层烟囱最多放16件物品。可通过堆叠额外的石头来加高至多两层烟囱,每层额外的烟囱可以多容纳16件物品。$(br2)向锻铁炉添加物品时,请攀至烟囱顶部并将物品投入其中。若观察到内部形成灰色的矿石堆,即表示投放成功。$(br2)你可以使用$(item)木炭$()或$(item)煤炭$()作为锻铁炉的燃料。" }, { "type": "patchouli:image", "images": [ "tfc:textures/gui/book/tutorial/bloomery_hole.png" ], - "text": "将物品添加到锻铁炉中。", + "text": "每生产一块$(thing)生铁方坯$(),锻铁炉需要消耗$(thing)1份燃料$()和$(thing)144mB铸铁$()。", "border": true }, { "type": "patchouli:text", - "text": "锻铁炉会将每$(thing)1份木炭$()和$(thing)144mB铸铁$()转化成一块$(thing)方坯$()。在投入所需的$(thing)木炭$()和$(thing)矿石$()后,点燃锻铁炉方块并等上 15 小时。锻铁炉熄灭后会留下许多方坯方块。用镐反复挖掘$(thing)方坯$()便能得到$(thing)生铁方坯$()。" + "text": "若你不想费心计算配比,我们推荐使用$(item)25份金属矿粉$()和$(item)22份燃料$()的组合。在投入所需的$(thing)燃料$()和$(thing)矿石$()后,点燃锻铁炉方块并等上 15 小时。锻铁炉熄灭后会留下许多方坯方块。用镐反复挖掘$(thing)方坯$()便能得到$(thing)生铁方坯$()。" }, { "type": "patchouli:multiblock", From 809bca72cf7aa9ea64d396b4bb001a2e9002f166 Mon Sep 17 00:00:00 2001 From: Redeix Date: Sun, 25 Jan 2026 20:52:47 -0600 Subject: [PATCH 227/474] fix render type and changelog --- CHANGELOG.md | 1 + kubejs/assets/tfg/models/block/artisan_table.json | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index aee86aa42..98d84cca7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Added much more music to the different dimensions @Pyritie - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie - Added steam alloy smelter glass batch recipes (#2853) @Pyritie +- Added the Artisan Table to "knap" GT molds and circuits. @BlueBoat29 @Redeix ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/assets/tfg/models/block/artisan_table.json b/kubejs/assets/tfg/models/block/artisan_table.json index 5219925d6..c1b27c983 100644 --- a/kubejs/assets/tfg/models/block/artisan_table.json +++ b/kubejs/assets/tfg/models/block/artisan_table.json @@ -2,6 +2,7 @@ "format_version": "1.9.0", "credit": "Made with Blockbench", "texture_size": [32, 32], + "render_type": "minecraft:cutout", "textures": { "0": "tfg:block/artisan_table", "particle": "#0" From 25dae7eadaa528af1c8455a910f9841386266c42 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 26 Jan 2026 03:55:21 +0000 Subject: [PATCH 228/474] langs and emi --- kubejs/assets/ad_astra/lang/es_es.json | 169 ++++++++++++++++++ .../category/properties/ae2_condenser.json | 2 +- .../properties/ae2_item_transformation.json | 2 +- .../properties/ae2_p2p_attunement.json | 2 +- .../emi/category/properties/afc_tree_tap.json | 2 +- .../category/properties/create_deploying.json | 2 +- .../category/properties/create_draining.json | 2 +- .../properties/create_item_application.json | 2 +- .../create_sandpaper_polishing.json | 2 +- .../properties/create_sequenced_assembly.json | 2 +- .../properties/create_spout_filling.json | 2 +- .../properties/createaddition_rolling.json | 2 +- .../properties/deafission_component_fr.json | 2 +- .../deafission_fission_component.json | 2 +- .../deafission_fission_reactor_coolant.json | 2 +- .../deafission_fission_reactor_fuel.json | 2 +- ...deafission_fission_reactor_processing.json | 2 +- .../diggerhelmet_helmet_repair.json | 2 +- .../domum_ornamentum_architects_cutter.json | 2 +- .../emi/category/properties/emi_info.json | 2 +- .../emi/category/properties/emi_tag.json | 2 +- .../exposure_photograph_printing.json | 2 +- .../exposure_photograph_stacking.json | 2 +- .../properties/firmalife_bowl_pot.json | 2 +- .../category/properties/firmalife_drying.json | 2 +- .../properties/firmalife_mixing_bowl.json | 2 +- .../category/properties/firmalife_oven.json | 2 +- .../properties/firmalife_smoking.json | 2 +- .../properties/firmalife_stomping.json | 2 +- .../category/properties/firmalife_vat.json | 2 +- .../properties/framedblocks_framing_saw.json | 2 +- .../properties/greate_automatic_packing.json | 2 +- .../properties/greate_automatic_shaped.json | 2 +- .../greate_automatic_shapeless.json | 2 +- .../properties/greate_block_cutting.json | 2 +- .../category/properties/greate_crushing.json | 2 +- .../properties/greate_fan_washing.json | 2 +- .../category/properties/greate_milling.json | 2 +- .../category/properties/greate_mixing.json | 2 +- .../category/properties/greate_packing.json | 2 +- .../category/properties/greate_pressing.json | 2 +- .../category/properties/greate_sawing.json | 2 +- .../properties/gtceu_air_scrubber.json | 2 +- .../properties/gtceu_alloy_blast_smelter.json | 2 +- .../properties/gtceu_alloy_smelter.json | 2 +- .../properties/gtceu_aqueous_accumulator.json | 2 +- .../properties/gtceu_arc_furnace.json | 2 +- .../gtceu_arc_furnace_recycling.json | 2 +- .../category/properties/gtceu_assembler.json | 2 +- .../properties/gtceu_assembly_line.json | 2 +- .../category/properties/gtceu_autoclave.json | 2 +- .../emi/category/properties/gtceu_bender.json | 2 +- .../category/properties/gtceu_bioreactor.json | 2 +- .../category/properties/gtceu_brewery.json | 2 +- .../emi/category/properties/gtceu_canner.json | 2 +- .../category/properties/gtceu_centrifuge.json | 2 +- .../category/properties/gtceu_chem_dyes.json | 2 +- .../properties/gtceu_chemical_bath.json | 2 +- .../properties/gtceu_chemical_reactor.json | 2 +- .../properties/gtceu_circuit_assembler.json | 2 +- .../gtceu_coal_liquefaction_tower.json | 2 +- .../category/properties/gtceu_coke_oven.json | 2 +- .../gtceu_combustion_generator.json | 2 +- .../category/properties/gtceu_compressor.json | 2 +- .../category/properties/gtceu_cracker.json | 2 +- .../emi/category/properties/gtceu_cutter.json | 2 +- .../properties/gtceu_distillation_tower.json | 2 +- .../category/properties/gtceu_distillery.json | 2 +- .../gtceu_electric_blast_furnace.json | 2 +- .../properties/gtceu_electrolyzer.json | 2 +- .../gtceu_electromagnetic_separator.json | 2 +- .../properties/gtceu_evaporation_tower.json | 2 +- .../category/properties/gtceu_extractor.json | 2 +- .../properties/gtceu_extractor_recycling.json | 2 +- .../category/properties/gtceu_extruder.json | 2 +- .../category/properties/gtceu_fermenter.json | 2 +- .../properties/gtceu_fission_reactor.json | 2 +- .../properties/gtceu_fluid_heater.json | 2 +- .../properties/gtceu_fluid_solidifier.json | 2 +- .../category/properties/gtceu_food_oven.json | 2 +- .../properties/gtceu_food_processor.json | 2 +- .../properties/gtceu_forge_hammer.json | 2 +- .../properties/gtceu_forming_press.json | 2 +- .../properties/gtceu_fusion_reactor.json | 2 +- .../properties/gtceu_gas_collector.json | 2 +- .../properties/gtceu_gas_pressurizer.json | 2 +- .../properties/gtceu_gas_turbine.json | 2 +- .../category/properties/gtceu_greenhouse.json | 2 +- .../properties/gtceu_heat_exchanger.json | 2 +- .../gtceu_hydroponics_facility.json | 2 +- .../gtceu_implosion_compressor.json | 2 +- .../properties/gtceu_ingot_molding.json | 2 +- .../properties/gtceu_large_boiler.json | 2 +- .../gtceu_large_chemical_reactor.json | 2 +- .../properties/gtceu_large_solar_panel.json | 2 +- .../gtceu_large_solar_panel_tier2.json | 2 +- .../gtceu_large_solar_panel_tier3.json | 2 +- .../properties/gtceu_laser_engraver.json | 2 +- .../emi/category/properties/gtceu_lathe.json | 2 +- .../category/properties/gtceu_macerator.json | 2 +- .../properties/gtceu_macerator_recycling.json | 2 +- .../emi/category/properties/gtceu_mixer.json | 2 +- .../properties/gtceu_moon_dust_harvester.json | 2 +- .../gtceu_nuclear_fuel_factory.json | 2 +- .../properties/gtceu_nuclear_turbine.json | 2 +- .../properties/gtceu_ore_bathing.json | 2 +- .../properties/gtceu_ore_crushing.json | 2 +- .../properties/gtceu_ore_forging.json | 2 +- .../category/properties/gtceu_ore_washer.json | 2 +- .../properties/gtceu_ostrum_harvester.json | 2 +- .../gtceu_ostrum_linear_accelerator.json | 2 +- .../emi/category/properties/gtceu_packer.json | 2 +- .../gtceu_pisciculture_fishery.json | 2 +- .../properties/gtceu_plasma_generator.json | 2 +- .../category/properties/gtceu_polarizer.json | 2 +- .../properties/gtceu_programmed_circuit.json | 2 +- .../properties/gtceu_pyrolyse_oven.json | 2 +- .../properties/gtceu_research_station.json | 2 +- .../properties/gtceu_rock_breaker.json | 2 +- .../category/properties/gtceu_scanner.json | 2 +- .../emi/category/properties/gtceu_sifter.json | 2 +- .../properties/gtceu_steam_bloomery.json | 2 +- .../properties/gtceu_steam_boiler.json | 2 +- .../properties/gtceu_steam_turbine.json | 2 +- .../properties/gtceu_thermal_centrifuge.json | 2 +- .../properties/gtceu_vacuum_freezer.json | 2 +- .../properties/gtceu_wire_coating.json | 2 +- .../category/properties/gtceu_wiremill.json | 2 +- .../properties/minecraft_smelting.json | 2 +- .../properties/minecraft_smithing.json | 2 +- .../properties/minecraft_stonecutting.json | 2 +- .../category/properties/rnr_block_mod.json | 2 +- .../emi/category/properties/rnr_mattock.json | 2 +- .../properties/tacz_attachment_query.json | 2 +- .../properties/taczammoquery_ammo_query.json | 2 +- .../emi/category/properties/tfc_alloying.json | 2 +- .../emi/category/properties/tfc_anvil.json | 2 +- .../properties/tfc_blast_furnace.json | 2 +- .../emi/category/properties/tfc_bloomery.json | 2 +- .../emi/category/properties/tfc_casting.json | 2 +- .../emi/category/properties/tfc_chisel.json | 2 +- .../category/properties/tfc_glassworking.json | 2 +- .../emi/category/properties/tfc_heating.json | 2 +- .../properties/tfc_instant_barrel.json | 2 +- .../properties/tfc_instant_fluid_barrel.json | 2 +- .../emi/category/properties/tfc_jam_pot.json | 2 +- .../emi/category/properties/tfc_loom.json | 2 +- .../emi/category/properties/tfc_quern.json | 2 +- .../emi/category/properties/tfc_scraping.json | 2 +- .../properties/tfc_sealed_barrel.json | 2 +- .../emi/category/properties/tfc_sewing.json | 2 +- .../category/properties/tfc_simple_pot.json | 2 +- .../emi/category/properties/tfc_soup_pot.json | 2 +- .../emi/category/properties/tfc_welding.json | 2 +- .../properties/tfg_artisan_table.json | 1 + .../category/properties/tfg_blaze_burner.json | 2 +- .../properties/tfg_block_interaction.json | 2 +- .../vintageimprovements_centrifugation.json | 2 +- .../vintageimprovements_coiling.json | 2 +- .../vintageimprovements_curving.json | 2 +- ...rovements_grinder_sandpaper_polishing.json | 2 +- .../vintageimprovements_hammering.json | 2 +- .../vintageimprovements_laser_cutting.json | 2 +- .../vintageimprovements_polishing.json | 2 +- .../vintageimprovements_pressurizing.json | 2 +- .../vintageimprovements_vacuumizing.json | 2 +- .../vintageimprovements_vibrating.json | 2 +- kubejs/assets/tfchotornot/lang/zh_cn.json | 4 +- kubejs/assets/tfg/lang/en_us.json | 11 +- kubejs/assets/tfg/lang/zh_cn.json | 10 +- 170 files changed, 354 insertions(+), 171 deletions(-) create mode 100644 kubejs/assets/ad_astra/lang/es_es.json create mode 100644 kubejs/assets/emi/category/properties/tfg_artisan_table.json diff --git a/kubejs/assets/ad_astra/lang/es_es.json b/kubejs/assets/ad_astra/lang/es_es.json new file mode 100644 index 000000000..5ec62777e --- /dev/null +++ b/kubejs/assets/ad_astra/lang/es_es.json @@ -0,0 +1,169 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.ad_astra.oxygen_distributor": "Distribuidor de aire respirable", + "block.ad_astra.infernal_spire_block": "Chapitel infernal", + "block.ad_astra.moon_sand": "Arena Lunar", + "block.ad_astra.moon_stone": "Anortosita en bruto", + "block.ad_astra.moon_cobblestone": "Roca de anortosita", + "block.ad_astra.moon_cobblestone_slab": "Losa de roca de anortosita", + "block.ad_astra.moon_cobblestone_stairs": "Escaleras de roca de anortosita", + "block.ad_astra.moon_pillar": "Pilar de anortosita", + "block.ad_astra.moon_stone_brick_slab": "Losa de ladrillos de anortosita", + "block.ad_astra.moon_stone_brick_stairs": "Escaleras de ladrillos de anortosita", + "block.ad_astra.moon_stone_brick_wall": "Muro de ladrillos de anortosita", + "block.ad_astra.moon_stone_bricks": "Ladrillos de anortosita", + "block.ad_astra.moon_stone_slab": "Losa de anortosita en bruto", + "block.ad_astra.moon_stone_stairs": "Escaleras de anortosita en bruto", + "block.ad_astra.chiseled_moon_stone_bricks": "Ladrillos de anortosita cincelados", + "block.ad_astra.chiseled_moon_stone_slab": "Losa de ladrillos de anortosita cincelados", + "block.ad_astra.chiseled_moon_stone_stairs": "Escaleras de ladrillos de anortosita cincelados", + "block.ad_astra.cracked_moon_stone_bricks": "Ladrillos de anortosita agrietados", + "block.ad_astra.polished_moon_stone": "Anortosita pulida", + "block.ad_astra.polished_moon_stone_slab": "Losa de anortosita pulida", + "block.ad_astra.polished_moon_stone_stairs": "Escaleras de anortosita pulida", + "block.ad_astra.sky_stone": "Meteorito", + "block.ad_astra.moon_deepslate": "Norita en bruto", + "block.ad_astra.cheese_block": "Bloque de queso lunar", + "block.ad_astra.moon_cheese_ore": "Mena de queso de anortosita", + "block.ad_astra.glacian_log": "Tallo glacial", + "block.ad_astra.stripped_glacian_log": "Tallo glacial sin corteza", + "block.ad_astra.glacian_leaves": "Lamella glacial", + "block.ad_astra.mars_sand": "Arena de argilita", + "block.ad_astra.mars_stone": "Argilita en bruto", + "block.ad_astra.mars_cobblestone": "Roca de argilita", + "block.ad_astra.mars_cobblestone_slab": "Losa de roca de argilita", + "block.ad_astra.mars_cobblestone_stairs": "Escaleras de roca de argilita", + "block.ad_astra.mars_pillar": "Pilar de argilita", + "block.ad_astra.mars_stone_brick_slab": "Losa de ladrillos de argilita", + "block.ad_astra.mars_stone_brick_stairs": "Escaleras de ladrillos de argilita", + "block.ad_astra.mars_stone_brick_wall": "Muro de ladrillos de argilita", + "block.ad_astra.mars_stone_bricks": "Ladrillos de argilita", + "block.ad_astra.mars_stone_slab": "Losa de argilita en bruto", + "block.ad_astra.mars_stone_stairs": "Escaleras de argilita en bruto", + "block.ad_astra.chiseled_mars_stone_bricks": "Ladrillos de argilita cincelados", + "block.ad_astra.chiseled_mars_stone_slab": "Losa de argilita cincelada", + "block.ad_astra.chiseled_mars_stone_stairs": "Escaleras de argilita cincelada", + "block.ad_astra.cracked_mars_stone_bricks": "Ladrillos de argilita agrietados", + "block.ad_astra.polished_mars_stone": "Argilita pulida", + "block.ad_astra.polished_mars_stone_slab": "Losa de argilita pulida", + "block.ad_astra.polished_mars_stone_stairs": "Escaleras de argilita pulida", + "block.ad_astra.conglomerate": "Roca de cubierta de meseta", + "block.ad_astra.polished_conglomerate": "Roca de cubierta de meseta pulida", + "block.ad_astra.venus_sand": "Arena de traquita", + "block.ad_astra.venus_stone": "Traquita en bruto", + "block.ad_astra.venus_cobblestone": "Roca de traquita", + "block.ad_astra.venus_cobblestone_slab": "Losa de roca de traquita", + "block.ad_astra.venus_cobblestone_stairs": "Escaleras de roca de traquita", + "block.ad_astra.venus_pillar": "Pilar de traquita", + "block.ad_astra.venus_stone_brick_slab": "Losa de ladrillos de traquita", + "block.ad_astra.venus_stone_brick_stairs": "Escaleras de ladrillos de traquita", + "block.ad_astra.venus_stone_brick_wall": "Muro de ladrillos de traquita", + "block.ad_astra.venus_stone_bricks": "Ladrillos de traquita", + "block.ad_astra.venus_stone_slab": "Losa de traquita en bruto", + "block.ad_astra.venus_stone_stairs": "Escaleras de traquita en bruto", + "block.ad_astra.chiseled_venus_stone_bricks": "Ladrillos de traquita cincelados", + "block.ad_astra.chiseled_venus_stone_slab": "Losa de traquita cincelada", + "block.ad_astra.chiseled_venus_stone_stairs": "Escaleras de traquita cinceladas", + "block.ad_astra.cracked_venus_stone_bricks": "Ladrillos de traquita agrietados", + "block.ad_astra.polished_venus_stone": "Traquita pulida", + "block.ad_astra.polished_venus_stone_slab": "Losa de traquita pulida", + "block.ad_astra.polished_venus_stone_stairs": "Escaleras de traquita pulidas", + "block.ad_astra.venus_sandstone": "Arenisca de traquita", + "block.ad_astra.venus_sandstone_bricks": "Ladrillos de arenisca de traquita", + "block.ad_astra.venus_sandstone_brick_slab": "Losa de ladrillos de arenisca de traquita", + "block.ad_astra.venus_sandstone_brick_stairs": "Escaleras de ladrillos de arenisca de traquita", + "block.ad_astra.cracked_venus_sandstone_bricks": "Ladrillos de arenisca de traquita agrietados", + "block.ad_astra.mercury_stone": "Komatita en bruto", + "block.ad_astra.mercury_cobblestone": "Roca de komatita", + "block.ad_astra.mercury_cobblestone_slab": "Losa de roca de komatita", + "block.ad_astra.mercury_cobblestone_stairs": "Escaleras de roca de komatita", + "block.ad_astra.mercury_pillar": "Pilar de komatita", + "block.ad_astra.mercury_stone_brick_slab": "Losa de ladrillos de komatita", + "block.ad_astra.mercury_stone_brick_stairs": "Escaleras de ladrillos de komatita", + "block.ad_astra.mercury_stone_brick_wall": "Muro de ladrillos de komatita", + "block.ad_astra.mercury_stone_bricks": "Ladrillos de komatita", + "block.ad_astra.mercury_stone_slab": "Losa de komatita en bruto", + "block.ad_astra.mercury_stone_stairs": "Escaleras de komatita en bruto", + "block.ad_astra.chiseled_mercury_stone_bricks": "Ladrillos de komatita cincelados", + "block.ad_astra.chiseled_mercury_stone_slab": "Losa de komatita cincelados", + "block.ad_astra.chiseled_mercury_stone_stairs": "Escaleras de komatita cinceladas", + "block.ad_astra.cracked_mercury_stone_bricks": "Ladrillos de komatita agrietados", + "block.ad_astra.polished_mercury_stone": "Komatita pulida", + "block.ad_astra.polished_mercury_stone_slab": "Losa de komatita pulida", + "block.ad_astra.polished_mercury_stone_stairs": "Escaleras de komatita pulidas", + "block.ad_astra.glacio_stone": "Fonolita en bruto", + "block.ad_astra.glacio_cobblestone": "Roca de fonolita", + "block.ad_astra.glacio_cobblestone_slab": "Losa de roca de fonolita", + "block.ad_astra.glacio_cobblestone_stairs": "Escaleras de roca de fonolita", + "block.ad_astra.glacio_pillar": "Pilar de fonolita", + "block.ad_astra.glacio_stone_brick_slab": "Losa de ladrillos de fonolita", + "block.ad_astra.glacio_stone_brick_stairs": "Escaleras de ladrillos de fonolita", + "block.ad_astra.glacio_stone_brick_wall": "Muro de ladrillos de fonolita", + "block.ad_astra.glacio_stone_bricks": "Ladrillos de fonolita", + "block.ad_astra.glacio_stone_slab": "Losa de fonolita en bruto", + "block.ad_astra.glacio_stone_stairs": "Escaleras de fonolita en bruto", + "block.ad_astra.chiseled_glacio_stone_bricks": "Ladrillos de fonolita cincelados", + "block.ad_astra.chiseled_glacio_stone_slab": "Losa de fonolita cincelada", + "block.ad_astra.chiseled_glacio_stone_stairs": "Escaleras de fonolita cinceladas", + "block.ad_astra.cracked_glacio_stone_bricks": "Ladrillos de fonolita agrietados", + "block.ad_astra.polished_glacio_stone": "Fonolita pulida", + "block.ad_astra.polished_glacio_stone_slab": "Losa de fonolita pulida", + "block.ad_astra.polished_glacio_stone_stairs": "Escaleras de fonolita pulida", + "block.ad_astra.glacio_globe": "Globo de Europa", + "entity.ad_astra.corrupted_lunarian": "Zombi lunar", + "entity.ad_astra.martian_raptor": "Ave de presa esquelética", + "entity.ad_astra.tier_1_rocket": "Cohete de R-Aluminacero", + "entity.ad_astra.tier_2_rocket": "Cohete de titanio ASM 4914", + "entity.ad_astra.tier_3_rocket": "Cohete de acero de tungsteno 45-Ti", + "entity.ad_astra.tier_1_rover": "Astromóvil", + "fluid_type.ad_astra.oxygen": "Aire respirable", + "item.ad_astra.steel_cable": "Cable RF básico", + "item.ad_astra.desh_cable": "Cable RF avanzado", + "item.ad_astra.tier_1_rocket": "Cohete de R-Aluminacero", + "item.ad_astra.tier_2_rocket": "Cohete de titanio ASM 4914", + "item.ad_astra.tier_3_rocket": "Cohete de acero de tungsteno 45-Ti", + "item.ad_astra.oxygen_bucket": "Cubo con aire respirable", + "item.ad_astra.tier_1_rover": "Astromóvil", + "item.ad_astra.photovoltaic_etrium_cell": "Celda fotovoltáica avanzada", + "item.ad_astra.photovoltaic_vesnium_cell": "Celda fotovoltáica de energium", + "item.ad_astra.ostrum_tank": "Ostrum Booster Tank", + "item.ad_astra.steel_engine": "Motor de cohete de acero", + "item.ad_astra.desh_engine": "Motor de cohete de desh", + "item.ad_astra.ostrum_engine": "Motor de cohete de ostrum", + "item.ad_astra.netherite_space_helmet": "§bCasco espacial de acero de tungsteno", + "item.ad_astra.netherite_space_suit": "§bTraje espacial de acero de tungsteno", + "item.ad_astra.netherite_space_pants": "§bPantalones espaciales de acero de tungsteno", + "item.ad_astra.netherite_space_boots": "§bBotas espaciales de acero de tungsteno", + "item.ad_astra.cheese": "Queso lunar", + "dimension.ad_astra.glacio": "Europa", + "dimension.ad_astra.glacio_orbit": "Órbita de Europa", + "painting.ad_astra.glacio.title": "Europa", + "planet.ad_astra.glacio": "Europa", + "planet.ad_astra.glacio_orbit": "Órbita de Europa", + "tagprefix.moon_stone": "Mena de %s de anortosita", + "tagprefix.moon_deepslate": "Mena de %s de norita", + "tagprefix.mars_stone": "Mena de %s de argilita", + "tagprefix.venus_stone": "Mena de %s de traquita", + "tagprefix.mercury_stone": "Mena de %s de komatita", + "tagprefix.glacio_stone": "Mena de %s de fonolita", + "info.ad_astra.solar_panel": "Genera energía solar durante el día. La energía generada es dependiente del planeta.", + "tooltip.ad_astra.energy": "%s FE / %s FE", + "tooltip.ad_astra.energy_generation_per_tick": "Genera %s FE por tick", + "tooltip.ad_astra.energy_in": "Entrada: %s FE/t", + "tooltip.ad_astra.energy_out": "Salida: %s FE/t", + "tooltip.ad_astra.energy_per_tick": "%s FE/t", + "tooltip.ad_astra.energy_transfer_tick": "Transferencia: %s FE/t", + "tooltip.ad_astra.energy_use_per_tick": "Usa %s FE por tick", + "tooltip.ad_astra.max_energy_in": "Entrada máxima: %s FE/t", + "tooltip.ad_astra.max_energy_out": "Salida máxima: %s FE/t", + "tooltip.ad_astra.max_generation": "Máximo: %s FE/t", + "tooltip.ad_astra.max_fluid_in": "Entrada máxima: %s mB/t", + "tooltip.ad_astra.max_fluid_out": "Salida máxima: %s mB/t", + "tooltip.ad_astra.fluid": "%s mB / %s mB %s", + "tooltip.ad_astra.fluid_generation_per_iteration": "Genera %s mB por iteración", + "tooltip.ad_astra.fluid_in": "Entrada: %s mB/t", + "tooltip.ad_astra.fluid_out": "Salida: %s mB/t", + "tooltip.ad_astra.fluid_per_tick": "%s mB/t", + "tooltip.ad_astra.fluid_transfer_tick": "Transferencia: %s mB/t", + "tooltip.ad_astra.fluid_use_per_iteration": "Usa %s mB por iteración" +} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/ae2_condenser.json b/kubejs/assets/emi/category/properties/ae2_condenser.json index e5989a692..6b95888a8 100644 --- a/kubejs/assets/emi/category/properties/ae2_condenser.json +++ b/kubejs/assets/emi/category/properties/ae2_condenser.json @@ -1 +1 @@ -{"ae2:condenser":{"order":158}} \ No newline at end of file +{"ae2:condenser":{"order":159}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/ae2_item_transformation.json b/kubejs/assets/emi/category/properties/ae2_item_transformation.json index c3db93797..b43191b1e 100644 --- a/kubejs/assets/emi/category/properties/ae2_item_transformation.json +++ b/kubejs/assets/emi/category/properties/ae2_item_transformation.json @@ -1 +1 @@ -{"ae2:item_transformation":{"order":49}} \ No newline at end of file +{"ae2:item_transformation":{"order":50}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json b/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json index bd9501a4b..067e17ad4 100644 --- a/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json +++ b/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json @@ -1 +1 @@ -{"ae2:p2p_attunement":{"order":170}} \ No newline at end of file +{"ae2:p2p_attunement":{"order":171}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/afc_tree_tap.json b/kubejs/assets/emi/category/properties/afc_tree_tap.json index b74daf269..06826601c 100644 --- a/kubejs/assets/emi/category/properties/afc_tree_tap.json +++ b/kubejs/assets/emi/category/properties/afc_tree_tap.json @@ -1 +1 @@ -{"afc:tree_tap":{"order":29}} \ No newline at end of file +{"afc:tree_tap":{"order":30}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_deploying.json b/kubejs/assets/emi/category/properties/create_deploying.json index b87208177..dad06c61b 100644 --- a/kubejs/assets/emi/category/properties/create_deploying.json +++ b/kubejs/assets/emi/category/properties/create_deploying.json @@ -1 +1 @@ -{"create:deploying":{"order":52}} \ No newline at end of file +{"create:deploying":{"order":53}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_draining.json b/kubejs/assets/emi/category/properties/create_draining.json index ee5f9237c..89073cb93 100644 --- a/kubejs/assets/emi/category/properties/create_draining.json +++ b/kubejs/assets/emi/category/properties/create_draining.json @@ -1 +1 @@ -{"create:draining":{"order":173}} \ No newline at end of file +{"create:draining":{"order":174}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_item_application.json b/kubejs/assets/emi/category/properties/create_item_application.json index bbbc8bb09..b818d965b 100644 --- a/kubejs/assets/emi/category/properties/create_item_application.json +++ b/kubejs/assets/emi/category/properties/create_item_application.json @@ -1 +1 @@ -{"create:item_application":{"order":53}} \ No newline at end of file +{"create:item_application":{"order":54}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_sandpaper_polishing.json b/kubejs/assets/emi/category/properties/create_sandpaper_polishing.json index 345f16be3..ae6ea0d54 100644 --- a/kubejs/assets/emi/category/properties/create_sandpaper_polishing.json +++ b/kubejs/assets/emi/category/properties/create_sandpaper_polishing.json @@ -1 +1 @@ -{"create:sandpaper_polishing":{"order":50}} \ No newline at end of file +{"create:sandpaper_polishing":{"order":51}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_sequenced_assembly.json b/kubejs/assets/emi/category/properties/create_sequenced_assembly.json index 2dc37de33..acf9aafff 100644 --- a/kubejs/assets/emi/category/properties/create_sequenced_assembly.json +++ b/kubejs/assets/emi/category/properties/create_sequenced_assembly.json @@ -1 +1 @@ -{"create:sequenced_assembly":{"order":55}} \ No newline at end of file +{"create:sequenced_assembly":{"order":56}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_spout_filling.json b/kubejs/assets/emi/category/properties/create_spout_filling.json index dbc8fd535..267530a67 100644 --- a/kubejs/assets/emi/category/properties/create_spout_filling.json +++ b/kubejs/assets/emi/category/properties/create_spout_filling.json @@ -1 +1 @@ -{"create:spout_filling":{"order":174}} \ No newline at end of file +{"create:spout_filling":{"order":175}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/createaddition_rolling.json b/kubejs/assets/emi/category/properties/createaddition_rolling.json index 3524eee33..ff2e73280 100644 --- a/kubejs/assets/emi/category/properties/createaddition_rolling.json +++ b/kubejs/assets/emi/category/properties/createaddition_rolling.json @@ -1 +1 @@ -{"createaddition:rolling":{"order":81}} \ No newline at end of file +{"createaddition:rolling":{"order":82}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_component_fr.json b/kubejs/assets/emi/category/properties/deafission_component_fr.json index 23ab63472..875234609 100644 --- a/kubejs/assets/emi/category/properties/deafission_component_fr.json +++ b/kubejs/assets/emi/category/properties/deafission_component_fr.json @@ -1 +1 @@ -{"deafission:component_fr":{"order":71}} \ No newline at end of file +{"deafission:component_fr":{"order":72}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_fission_component.json b/kubejs/assets/emi/category/properties/deafission_fission_component.json index 41832a459..5784c5d53 100644 --- a/kubejs/assets/emi/category/properties/deafission_fission_component.json +++ b/kubejs/assets/emi/category/properties/deafission_fission_component.json @@ -1 +1 @@ -{"deafission:fission_component":{"order":70}} \ No newline at end of file +{"deafission:fission_component":{"order":71}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant.json b/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant.json index 5f41b7113..6c6afed67 100644 --- a/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant.json +++ b/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant.json @@ -1 +1 @@ -{"deafission:fission_reactor_coolant":{"order":67}} \ No newline at end of file +{"deafission:fission_reactor_coolant":{"order":68}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_fission_reactor_fuel.json b/kubejs/assets/emi/category/properties/deafission_fission_reactor_fuel.json index adc216b76..504f42e25 100644 --- a/kubejs/assets/emi/category/properties/deafission_fission_reactor_fuel.json +++ b/kubejs/assets/emi/category/properties/deafission_fission_reactor_fuel.json @@ -1 +1 @@ -{"deafission:fission_reactor_fuel":{"order":69}} \ No newline at end of file +{"deafission:fission_reactor_fuel":{"order":70}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_fission_reactor_processing.json b/kubejs/assets/emi/category/properties/deafission_fission_reactor_processing.json index 87bf66379..1d7899a11 100644 --- a/kubejs/assets/emi/category/properties/deafission_fission_reactor_processing.json +++ b/kubejs/assets/emi/category/properties/deafission_fission_reactor_processing.json @@ -1 +1 @@ -{"deafission:fission_reactor_processing":{"order":68}} \ No newline at end of file +{"deafission:fission_reactor_processing":{"order":69}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json b/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json index 7715f2c79..3c15a19a7 100644 --- a/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json +++ b/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json @@ -1 +1 @@ -{"diggerhelmet:helmet_repair":{"order":165}} \ No newline at end of file +{"diggerhelmet:helmet_repair":{"order":166}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json index b8c07b028..c2935cecb 100644 --- a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json +++ b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json @@ -1 +1 @@ -{"domum_ornamentum:architects_cutter":{"order":169}} \ No newline at end of file +{"domum_ornamentum:architects_cutter":{"order":170}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/emi_info.json b/kubejs/assets/emi/category/properties/emi_info.json index de5b44335..5854418dc 100644 --- a/kubejs/assets/emi/category/properties/emi_info.json +++ b/kubejs/assets/emi/category/properties/emi_info.json @@ -1 +1 @@ -{"emi:info":{"order":179}} \ No newline at end of file +{"emi:info":{"order":180}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/emi_tag.json b/kubejs/assets/emi/category/properties/emi_tag.json index 8913e2dd2..eda00a319 100644 --- a/kubejs/assets/emi/category/properties/emi_tag.json +++ b/kubejs/assets/emi/category/properties/emi_tag.json @@ -1 +1 @@ -{"emi:tag":{"order":180}} \ No newline at end of file +{"emi:tag":{"order":181}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json index d08557db7..707d2dbc2 100644 --- a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json +++ b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json @@ -1 +1 @@ -{"exposure:photograph_printing":{"order":163}} \ No newline at end of file +{"exposure:photograph_printing":{"order":164}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json index c79168c91..25cf51b96 100644 --- a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json +++ b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json @@ -1 +1 @@ -{"exposure:photograph_stacking":{"order":164}} \ No newline at end of file +{"exposure:photograph_stacking":{"order":165}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/firmalife_bowl_pot.json b/kubejs/assets/emi/category/properties/firmalife_bowl_pot.json index 5c6d431f3..0b2540eca 100644 --- a/kubejs/assets/emi/category/properties/firmalife_bowl_pot.json +++ b/kubejs/assets/emi/category/properties/firmalife_bowl_pot.json @@ -1 +1 @@ -{"firmalife:bowl_pot":{"order":43}} \ No newline at end of file +{"firmalife:bowl_pot":{"order":44}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/firmalife_drying.json b/kubejs/assets/emi/category/properties/firmalife_drying.json index 9e393a878..bf367d13c 100644 --- a/kubejs/assets/emi/category/properties/firmalife_drying.json +++ b/kubejs/assets/emi/category/properties/firmalife_drying.json @@ -1 +1 @@ -{"firmalife:drying":{"order":35}} \ No newline at end of file +{"firmalife:drying":{"order":36}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/firmalife_mixing_bowl.json b/kubejs/assets/emi/category/properties/firmalife_mixing_bowl.json index f8d8e7108..bee11e631 100644 --- a/kubejs/assets/emi/category/properties/firmalife_mixing_bowl.json +++ b/kubejs/assets/emi/category/properties/firmalife_mixing_bowl.json @@ -1 +1 @@ -{"firmalife:mixing_bowl":{"order":36}} \ No newline at end of file +{"firmalife:mixing_bowl":{"order":37}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/firmalife_oven.json b/kubejs/assets/emi/category/properties/firmalife_oven.json index 3aff9e548..41eef1719 100644 --- a/kubejs/assets/emi/category/properties/firmalife_oven.json +++ b/kubejs/assets/emi/category/properties/firmalife_oven.json @@ -1 +1 @@ -{"firmalife:oven":{"order":37}} \ No newline at end of file +{"firmalife:oven":{"order":38}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/firmalife_smoking.json b/kubejs/assets/emi/category/properties/firmalife_smoking.json index d2d5eeaa1..dfda139c9 100644 --- a/kubejs/assets/emi/category/properties/firmalife_smoking.json +++ b/kubejs/assets/emi/category/properties/firmalife_smoking.json @@ -1 +1 @@ -{"firmalife:smoking":{"order":39}} \ No newline at end of file +{"firmalife:smoking":{"order":40}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/firmalife_stomping.json b/kubejs/assets/emi/category/properties/firmalife_stomping.json index 52133f4ce..dfdd42851 100644 --- a/kubejs/assets/emi/category/properties/firmalife_stomping.json +++ b/kubejs/assets/emi/category/properties/firmalife_stomping.json @@ -1 +1 @@ -{"firmalife:stomping":{"order":45}} \ No newline at end of file +{"firmalife:stomping":{"order":46}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/firmalife_vat.json b/kubejs/assets/emi/category/properties/firmalife_vat.json index 1032b5898..5f18c652d 100644 --- a/kubejs/assets/emi/category/properties/firmalife_vat.json +++ b/kubejs/assets/emi/category/properties/firmalife_vat.json @@ -1 +1 @@ -{"firmalife:vat":{"order":44}} \ No newline at end of file +{"firmalife:vat":{"order":45}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json index a95aa8971..38da3b56b 100644 --- a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json +++ b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json @@ -1 +1 @@ -{"framedblocks:framing_saw":{"order":168}} \ No newline at end of file +{"framedblocks:framing_saw":{"order":169}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_packing.json b/kubejs/assets/emi/category/properties/greate_automatic_packing.json index f73592900..698a21706 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_packing.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_packing.json @@ -1 +1 @@ -{"greate:automatic_packing":{"order":177}} \ No newline at end of file +{"greate:automatic_packing":{"order":178}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json index a6906d2a3..b422abba8 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json @@ -1 +1 @@ -{"greate:automatic_shaped":{"order":175}} \ No newline at end of file +{"greate:automatic_shaped":{"order":176}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json index 0e8bd0689..442c0e107 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json @@ -1 +1 @@ -{"greate:automatic_shapeless":{"order":176}} \ No newline at end of file +{"greate:automatic_shapeless":{"order":177}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_block_cutting.json b/kubejs/assets/emi/category/properties/greate_block_cutting.json index 32291d555..2e41c54b1 100644 --- a/kubejs/assets/emi/category/properties/greate_block_cutting.json +++ b/kubejs/assets/emi/category/properties/greate_block_cutting.json @@ -1 +1 @@ -{"greate:block_cutting":{"order":167}} \ No newline at end of file +{"greate:block_cutting":{"order":168}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_crushing.json b/kubejs/assets/emi/category/properties/greate_crushing.json index 3e8026cb5..640462ec6 100644 --- a/kubejs/assets/emi/category/properties/greate_crushing.json +++ b/kubejs/assets/emi/category/properties/greate_crushing.json @@ -1 +1 @@ -{"greate:crushing":{"order":119}} \ No newline at end of file +{"greate:crushing":{"order":120}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_fan_washing.json b/kubejs/assets/emi/category/properties/greate_fan_washing.json index 1215ae3dc..7944b77b7 100644 --- a/kubejs/assets/emi/category/properties/greate_fan_washing.json +++ b/kubejs/assets/emi/category/properties/greate_fan_washing.json @@ -1 +1 @@ -{"greate:fan_washing":{"order":125}} \ No newline at end of file +{"greate:fan_washing":{"order":126}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_milling.json b/kubejs/assets/emi/category/properties/greate_milling.json index 01f14ecb5..954c52b28 100644 --- a/kubejs/assets/emi/category/properties/greate_milling.json +++ b/kubejs/assets/emi/category/properties/greate_milling.json @@ -1 +1 @@ -{"greate:milling":{"order":118}} \ No newline at end of file +{"greate:milling":{"order":119}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_mixing.json b/kubejs/assets/emi/category/properties/greate_mixing.json index 67983151f..3c5c093c7 100644 --- a/kubejs/assets/emi/category/properties/greate_mixing.json +++ b/kubejs/assets/emi/category/properties/greate_mixing.json @@ -1 +1 @@ -{"greate:mixing":{"order":123}} \ No newline at end of file +{"greate:mixing":{"order":124}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_packing.json b/kubejs/assets/emi/category/properties/greate_packing.json index 54da5b3e9..e8e4b2d6d 100644 --- a/kubejs/assets/emi/category/properties/greate_packing.json +++ b/kubejs/assets/emi/category/properties/greate_packing.json @@ -1 +1 @@ -{"greate:packing":{"order":21}} \ No newline at end of file +{"greate:packing":{"order":22}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_pressing.json b/kubejs/assets/emi/category/properties/greate_pressing.json index 915a21b25..6ec0e927b 100644 --- a/kubejs/assets/emi/category/properties/greate_pressing.json +++ b/kubejs/assets/emi/category/properties/greate_pressing.json @@ -1 +1 @@ -{"greate:pressing":{"order":108}} \ No newline at end of file +{"greate:pressing":{"order":109}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_sawing.json b/kubejs/assets/emi/category/properties/greate_sawing.json index b14496925..9fa83720a 100644 --- a/kubejs/assets/emi/category/properties/greate_sawing.json +++ b/kubejs/assets/emi/category/properties/greate_sawing.json @@ -1 +1 @@ -{"greate:sawing":{"order":95}} \ No newline at end of file +{"greate:sawing":{"order":96}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json b/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json index f41aab06a..6699a164c 100644 --- a/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json +++ b/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json @@ -1 +1 @@ -{"gtceu:air_scrubber":{"order":74}} \ No newline at end of file +{"gtceu:air_scrubber":{"order":75}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json b/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json index f8fc50a7d..ef4356bb7 100644 --- a/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json +++ b/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json @@ -1 +1 @@ -{"gtceu:alloy_blast_smelter":{"order":135}} \ No newline at end of file +{"gtceu:alloy_blast_smelter":{"order":136}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json b/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json index 176573172..f6e4b0423 100644 --- a/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json +++ b/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json @@ -1 +1 @@ -{"gtceu:alloy_smelter":{"order":75}} \ No newline at end of file +{"gtceu:alloy_smelter":{"order":76}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json b/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json index f14c7de77..92c064469 100644 --- a/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json +++ b/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json @@ -1 +1 @@ -{"gtceu:aqueous_accumulator":{"order":77}} \ No newline at end of file +{"gtceu:aqueous_accumulator":{"order":78}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json b/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json index 169b35cfb..86d984b45 100644 --- a/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json +++ b/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json @@ -1 +1 @@ -{"gtceu:arc_furnace":{"order":78}} \ No newline at end of file +{"gtceu:arc_furnace":{"order":79}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json index c3807af7f..6186ec92e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json @@ -1 +1 @@ -{"gtceu:arc_furnace_recycling":{"order":159}} \ No newline at end of file +{"gtceu:arc_furnace_recycling":{"order":160}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_assembler.json b/kubejs/assets/emi/category/properties/gtceu_assembler.json index e547ae894..8edabc0e4 100644 --- a/kubejs/assets/emi/category/properties/gtceu_assembler.json +++ b/kubejs/assets/emi/category/properties/gtceu_assembler.json @@ -1 +1 @@ -{"gtceu:assembler":{"order":79}} \ No newline at end of file +{"gtceu:assembler":{"order":80}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_assembly_line.json b/kubejs/assets/emi/category/properties/gtceu_assembly_line.json index dbce179a4..fd55fae87 100644 --- a/kubejs/assets/emi/category/properties/gtceu_assembly_line.json +++ b/kubejs/assets/emi/category/properties/gtceu_assembly_line.json @@ -1 +1 @@ -{"gtceu:assembly_line":{"order":136}} \ No newline at end of file +{"gtceu:assembly_line":{"order":137}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_autoclave.json b/kubejs/assets/emi/category/properties/gtceu_autoclave.json index 37a92f362..a53a009d1 100644 --- a/kubejs/assets/emi/category/properties/gtceu_autoclave.json +++ b/kubejs/assets/emi/category/properties/gtceu_autoclave.json @@ -1 +1 @@ -{"gtceu:autoclave":{"order":80}} \ No newline at end of file +{"gtceu:autoclave":{"order":81}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_bender.json b/kubejs/assets/emi/category/properties/gtceu_bender.json index ac1b79c9b..72563097a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_bender.json +++ b/kubejs/assets/emi/category/properties/gtceu_bender.json @@ -1 +1 @@ -{"gtceu:bender":{"order":83}} \ No newline at end of file +{"gtceu:bender":{"order":84}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_bioreactor.json b/kubejs/assets/emi/category/properties/gtceu_bioreactor.json index df5863ec1..5954ef3db 100644 --- a/kubejs/assets/emi/category/properties/gtceu_bioreactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_bioreactor.json @@ -1 +1 @@ -{"gtceu:bioreactor":{"order":137}} \ No newline at end of file +{"gtceu:bioreactor":{"order":138}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_brewery.json b/kubejs/assets/emi/category/properties/gtceu_brewery.json index 8cc06a1e4..422d93589 100644 --- a/kubejs/assets/emi/category/properties/gtceu_brewery.json +++ b/kubejs/assets/emi/category/properties/gtceu_brewery.json @@ -1 +1 @@ -{"gtceu:brewery":{"order":84}} \ No newline at end of file +{"gtceu:brewery":{"order":85}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_canner.json b/kubejs/assets/emi/category/properties/gtceu_canner.json index 9ac566d07..526901f9c 100644 --- a/kubejs/assets/emi/category/properties/gtceu_canner.json +++ b/kubejs/assets/emi/category/properties/gtceu_canner.json @@ -1 +1 @@ -{"gtceu:canner":{"order":85}} \ No newline at end of file +{"gtceu:canner":{"order":86}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_centrifuge.json b/kubejs/assets/emi/category/properties/gtceu_centrifuge.json index 849e253b1..d8004471f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_centrifuge.json +++ b/kubejs/assets/emi/category/properties/gtceu_centrifuge.json @@ -1 +1 @@ -{"gtceu:centrifuge":{"order":87}} \ No newline at end of file +{"gtceu:centrifuge":{"order":88}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json b/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json index 0ac44f86d..ff35d2403 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json +++ b/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json @@ -1 +1 @@ -{"gtceu:chem_dyes":{"order":89}} \ No newline at end of file +{"gtceu:chem_dyes":{"order":90}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json b/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json index 14bbcd091..77fb65f40 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json +++ b/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json @@ -1 +1 @@ -{"gtceu:chemical_bath":{"order":88}} \ No newline at end of file +{"gtceu:chemical_bath":{"order":89}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json b/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json index 0b579ef62..6dea103e0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json @@ -1 +1 @@ -{"gtceu:chemical_reactor":{"order":91}} \ No newline at end of file +{"gtceu:chemical_reactor":{"order":92}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json b/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json index 3c50acf2a..45bdc0ff5 100644 --- a/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json +++ b/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json @@ -1 +1 @@ -{"gtceu:circuit_assembler":{"order":93}} \ No newline at end of file +{"gtceu:circuit_assembler":{"order":94}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json b/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json index 7c3d1662f..13f13109d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json @@ -1 +1 @@ -{"gtceu:coal_liquefaction_tower":{"order":138}} \ No newline at end of file +{"gtceu:coal_liquefaction_tower":{"order":139}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_coke_oven.json b/kubejs/assets/emi/category/properties/gtceu_coke_oven.json index 7c5fb7c74..6e875cd64 100644 --- a/kubejs/assets/emi/category/properties/gtceu_coke_oven.json +++ b/kubejs/assets/emi/category/properties/gtceu_coke_oven.json @@ -1 +1 @@ -{"gtceu:coke_oven":{"order":59}} \ No newline at end of file +{"gtceu:coke_oven":{"order":60}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_combustion_generator.json b/kubejs/assets/emi/category/properties/gtceu_combustion_generator.json index 23a9fd588..cdfa90630 100644 --- a/kubejs/assets/emi/category/properties/gtceu_combustion_generator.json +++ b/kubejs/assets/emi/category/properties/gtceu_combustion_generator.json @@ -1 +1 @@ -{"gtceu:combustion_generator":{"order":61}} \ No newline at end of file +{"gtceu:combustion_generator":{"order":62}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_compressor.json b/kubejs/assets/emi/category/properties/gtceu_compressor.json index b4608cf12..52e2dbf69 100644 --- a/kubejs/assets/emi/category/properties/gtceu_compressor.json +++ b/kubejs/assets/emi/category/properties/gtceu_compressor.json @@ -1 +1 @@ -{"gtceu:compressor":{"order":94}} \ No newline at end of file +{"gtceu:compressor":{"order":95}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_cracker.json b/kubejs/assets/emi/category/properties/gtceu_cracker.json index f2f6ef99b..886e4779b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_cracker.json +++ b/kubejs/assets/emi/category/properties/gtceu_cracker.json @@ -1 +1 @@ -{"gtceu:cracker":{"order":139}} \ No newline at end of file +{"gtceu:cracker":{"order":140}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_cutter.json b/kubejs/assets/emi/category/properties/gtceu_cutter.json index 1af20f965..f265e3581 100644 --- a/kubejs/assets/emi/category/properties/gtceu_cutter.json +++ b/kubejs/assets/emi/category/properties/gtceu_cutter.json @@ -1 +1 @@ -{"gtceu:cutter":{"order":96}} \ No newline at end of file +{"gtceu:cutter":{"order":97}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json b/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json index 72a980557..dbb857434 100644 --- a/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json @@ -1 +1 @@ -{"gtceu:distillation_tower":{"order":98}} \ No newline at end of file +{"gtceu:distillation_tower":{"order":99}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_distillery.json b/kubejs/assets/emi/category/properties/gtceu_distillery.json index 88cdd2fe7..abe5bff62 100644 --- a/kubejs/assets/emi/category/properties/gtceu_distillery.json +++ b/kubejs/assets/emi/category/properties/gtceu_distillery.json @@ -1 +1 @@ -{"gtceu:distillery":{"order":97}} \ No newline at end of file +{"gtceu:distillery":{"order":98}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json b/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json index a06f87714..20666032f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json +++ b/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json @@ -1 +1 @@ -{"gtceu:electric_blast_furnace":{"order":140}} \ No newline at end of file +{"gtceu:electric_blast_furnace":{"order":141}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json b/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json index 64bd5759c..3d59509ee 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json +++ b/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json @@ -1 +1 @@ -{"gtceu:electrolyzer":{"order":99}} \ No newline at end of file +{"gtceu:electrolyzer":{"order":100}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json b/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json index 5f99ad041..55b6d8105 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json +++ b/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json @@ -1 +1 @@ -{"gtceu:electromagnetic_separator":{"order":100}} \ No newline at end of file +{"gtceu:electromagnetic_separator":{"order":101}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json b/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json index 6384d23bf..75b000ec2 100644 --- a/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json @@ -1 +1 @@ -{"gtceu:evaporation_tower":{"order":141}} \ No newline at end of file +{"gtceu:evaporation_tower":{"order":142}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extractor.json b/kubejs/assets/emi/category/properties/gtceu_extractor.json index a31e5a37e..a098ce001 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extractor.json +++ b/kubejs/assets/emi/category/properties/gtceu_extractor.json @@ -1 +1 @@ -{"gtceu:extractor":{"order":102}} \ No newline at end of file +{"gtceu:extractor":{"order":103}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json index 6e0143e12..99ab62d51 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json @@ -1 +1 @@ -{"gtceu:extractor_recycling":{"order":161}} \ No newline at end of file +{"gtceu:extractor_recycling":{"order":162}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extruder.json b/kubejs/assets/emi/category/properties/gtceu_extruder.json index 4d76a1d27..f191dc87e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extruder.json +++ b/kubejs/assets/emi/category/properties/gtceu_extruder.json @@ -1 +1 @@ -{"gtceu:extruder":{"order":104}} \ No newline at end of file +{"gtceu:extruder":{"order":105}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fermenter.json b/kubejs/assets/emi/category/properties/gtceu_fermenter.json index 222919a16..d5c266326 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fermenter.json +++ b/kubejs/assets/emi/category/properties/gtceu_fermenter.json @@ -1 +1 @@ -{"gtceu:fermenter":{"order":105}} \ No newline at end of file +{"gtceu:fermenter":{"order":106}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json index fad7a9f11..6e14a9976 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json @@ -1 +1 @@ -{"gtceu:fission_reactor":{"order":142}} \ No newline at end of file +{"gtceu:fission_reactor":{"order":143}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json b/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json index 511826e95..ea2cd6df9 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json +++ b/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json @@ -1 +1 @@ -{"gtceu:fluid_heater":{"order":106}} \ No newline at end of file +{"gtceu:fluid_heater":{"order":107}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json b/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json index c27aac3b2..4f6b62384 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json +++ b/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json @@ -1 +1 @@ -{"gtceu:fluid_solidifier":{"order":107}} \ No newline at end of file +{"gtceu:fluid_solidifier":{"order":108}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_food_oven.json b/kubejs/assets/emi/category/properties/gtceu_food_oven.json index 8eb36875b..e34fe713b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_food_oven.json +++ b/kubejs/assets/emi/category/properties/gtceu_food_oven.json @@ -1 +1 @@ -{"gtceu:food_oven":{"order":38}} \ No newline at end of file +{"gtceu:food_oven":{"order":39}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_food_processor.json b/kubejs/assets/emi/category/properties/gtceu_food_processor.json index 951432e03..619dd2ff7 100644 --- a/kubejs/assets/emi/category/properties/gtceu_food_processor.json +++ b/kubejs/assets/emi/category/properties/gtceu_food_processor.json @@ -1 +1 @@ -{"gtceu:food_processor":{"order":46}} \ No newline at end of file +{"gtceu:food_processor":{"order":47}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json b/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json index 5c7caff41..05db31d07 100644 --- a/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json +++ b/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json @@ -1 +1 @@ -{"gtceu:forge_hammer":{"order":109}} \ No newline at end of file +{"gtceu:forge_hammer":{"order":110}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_forming_press.json b/kubejs/assets/emi/category/properties/gtceu_forming_press.json index ac1ab08a5..213ce1954 100644 --- a/kubejs/assets/emi/category/properties/gtceu_forming_press.json +++ b/kubejs/assets/emi/category/properties/gtceu_forming_press.json @@ -1 +1 @@ -{"gtceu:forming_press":{"order":111}} \ No newline at end of file +{"gtceu:forming_press":{"order":112}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json index 696302445..3f4912970 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json @@ -1 +1 @@ -{"gtceu:fusion_reactor":{"order":143}} \ No newline at end of file +{"gtceu:fusion_reactor":{"order":144}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_collector.json b/kubejs/assets/emi/category/properties/gtceu_gas_collector.json index 0855a78a8..c7c01db93 100644 --- a/kubejs/assets/emi/category/properties/gtceu_gas_collector.json +++ b/kubejs/assets/emi/category/properties/gtceu_gas_collector.json @@ -1 +1 @@ -{"gtceu:gas_collector":{"order":112}} \ No newline at end of file +{"gtceu:gas_collector":{"order":113}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json b/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json index c55dcefef..7231cc1c7 100644 --- a/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json +++ b/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json @@ -1 +1 @@ -{"gtceu:gas_pressurizer":{"order":113}} \ No newline at end of file +{"gtceu:gas_pressurizer":{"order":114}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_turbine.json b/kubejs/assets/emi/category/properties/gtceu_gas_turbine.json index ae2caa47f..1e6ab6dee 100644 --- a/kubejs/assets/emi/category/properties/gtceu_gas_turbine.json +++ b/kubejs/assets/emi/category/properties/gtceu_gas_turbine.json @@ -1 +1 @@ -{"gtceu:gas_turbine":{"order":62}} \ No newline at end of file +{"gtceu:gas_turbine":{"order":63}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json index 20d1e3946..efa9331fc 100644 --- a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json +++ b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json @@ -1 +1 @@ -{"gtceu:greenhouse":{"order":144}} \ No newline at end of file +{"gtceu:greenhouse":{"order":145}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json index 11bb3eba1..462decfd8 100644 --- a/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json +++ b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json @@ -1 +1 @@ -{"gtceu:heat_exchanger":{"order":145}} \ No newline at end of file +{"gtceu:heat_exchanger":{"order":146}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json b/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json index 3c4d85d63..baafe3f50 100644 --- a/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json +++ b/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json @@ -1 +1 @@ -{"gtceu:hydroponics_facility":{"order":146}} \ No newline at end of file +{"gtceu:hydroponics_facility":{"order":147}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json b/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json index 5aca7e4c1..0a8de3528 100644 --- a/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json +++ b/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json @@ -1 +1 @@ -{"gtceu:implosion_compressor":{"order":147}} \ No newline at end of file +{"gtceu:implosion_compressor":{"order":148}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json b/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json index 971a52dbe..d02888088 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json +++ b/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json @@ -1 +1 @@ -{"gtceu:ingot_molding":{"order":76}} \ No newline at end of file +{"gtceu:ingot_molding":{"order":77}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_large_boiler.json b/kubejs/assets/emi/category/properties/gtceu_large_boiler.json index 767c4742a..311888a6b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_large_boiler.json +++ b/kubejs/assets/emi/category/properties/gtceu_large_boiler.json @@ -1 +1 @@ -{"gtceu:large_boiler":{"order":57}} \ No newline at end of file +{"gtceu:large_boiler":{"order":58}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json b/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json index 8d9aefd8f..47a56c517 100644 --- a/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json @@ -1 +1 @@ -{"gtceu:large_chemical_reactor":{"order":92}} \ No newline at end of file +{"gtceu:large_chemical_reactor":{"order":93}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_large_solar_panel.json b/kubejs/assets/emi/category/properties/gtceu_large_solar_panel.json index 2ee7e3233..75fe09b10 100644 --- a/kubejs/assets/emi/category/properties/gtceu_large_solar_panel.json +++ b/kubejs/assets/emi/category/properties/gtceu_large_solar_panel.json @@ -1 +1 @@ -{"gtceu:large_solar_panel":{"order":63}} \ No newline at end of file +{"gtceu:large_solar_panel":{"order":64}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier2.json b/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier2.json index 348ef5499..c4f897724 100644 --- a/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier2.json +++ b/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier2.json @@ -1 +1 @@ -{"gtceu:large_solar_panel_tier2":{"order":64}} \ No newline at end of file +{"gtceu:large_solar_panel_tier2":{"order":65}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier3.json b/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier3.json index 579c5fe10..ed2df2f6e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier3.json +++ b/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier3.json @@ -1 +1 @@ -{"gtceu:large_solar_panel_tier3":{"order":65}} \ No newline at end of file +{"gtceu:large_solar_panel_tier3":{"order":66}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json b/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json index 9f146f15f..4a437912f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json +++ b/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json @@ -1 +1 @@ -{"gtceu:laser_engraver":{"order":115}} \ No newline at end of file +{"gtceu:laser_engraver":{"order":116}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_lathe.json b/kubejs/assets/emi/category/properties/gtceu_lathe.json index 7659c2ad4..c980bccd7 100644 --- a/kubejs/assets/emi/category/properties/gtceu_lathe.json +++ b/kubejs/assets/emi/category/properties/gtceu_lathe.json @@ -1 +1 @@ -{"gtceu:lathe":{"order":117}} \ No newline at end of file +{"gtceu:lathe":{"order":118}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_macerator.json b/kubejs/assets/emi/category/properties/gtceu_macerator.json index 35d939495..196bf9eff 100644 --- a/kubejs/assets/emi/category/properties/gtceu_macerator.json +++ b/kubejs/assets/emi/category/properties/gtceu_macerator.json @@ -1 +1 @@ -{"gtceu:macerator":{"order":120}} \ No newline at end of file +{"gtceu:macerator":{"order":121}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json index 8f6be3973..d347311b6 100644 --- a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json @@ -1 +1 @@ -{"gtceu:macerator_recycling":{"order":160}} \ No newline at end of file +{"gtceu:macerator_recycling":{"order":161}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_mixer.json b/kubejs/assets/emi/category/properties/gtceu_mixer.json index ca10c1c19..414afa0ea 100644 --- a/kubejs/assets/emi/category/properties/gtceu_mixer.json +++ b/kubejs/assets/emi/category/properties/gtceu_mixer.json @@ -1 +1 @@ -{"gtceu:mixer":{"order":122}} \ No newline at end of file +{"gtceu:mixer":{"order":123}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json b/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json index 7adafaf6b..83720c659 100644 --- a/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json +++ b/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json @@ -1 +1 @@ -{"gtceu:moon_dust_harvester":{"order":148}} \ No newline at end of file +{"gtceu:moon_dust_harvester":{"order":149}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json index 386165365..345240e54 100644 --- a/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json +++ b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json @@ -1 +1 @@ -{"gtceu:nuclear_fuel_factory":{"order":149}} \ No newline at end of file +{"gtceu:nuclear_fuel_factory":{"order":150}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_nuclear_turbine.json b/kubejs/assets/emi/category/properties/gtceu_nuclear_turbine.json index 95573260b..803a8afce 100644 --- a/kubejs/assets/emi/category/properties/gtceu_nuclear_turbine.json +++ b/kubejs/assets/emi/category/properties/gtceu_nuclear_turbine.json @@ -1 +1 @@ -{"gtceu:nuclear_turbine":{"order":66}} \ No newline at end of file +{"gtceu:nuclear_turbine":{"order":67}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json b/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json index da316554a..df113f580 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json @@ -1 +1 @@ -{"gtceu:ore_bathing":{"order":90}} \ No newline at end of file +{"gtceu:ore_bathing":{"order":91}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json b/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json index e3e09a0f7..d95deb28b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json @@ -1 +1 @@ -{"gtceu:ore_crushing":{"order":121}} \ No newline at end of file +{"gtceu:ore_crushing":{"order":122}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_forging.json b/kubejs/assets/emi/category/properties/gtceu_ore_forging.json index 2be9b523a..e3a94606a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_forging.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_forging.json @@ -1 +1 @@ -{"gtceu:ore_forging":{"order":110}} \ No newline at end of file +{"gtceu:ore_forging":{"order":111}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_washer.json b/kubejs/assets/emi/category/properties/gtceu_ore_washer.json index 99fc46d2e..405a50946 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_washer.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_washer.json @@ -1 +1 @@ -{"gtceu:ore_washer":{"order":124}} \ No newline at end of file +{"gtceu:ore_washer":{"order":125}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json b/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json index c9fdc1274..602826a05 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json +++ b/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json @@ -1 +1 @@ -{"gtceu:ostrum_harvester":{"order":150}} \ No newline at end of file +{"gtceu:ostrum_harvester":{"order":151}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json b/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json index e609def97..5ac587256 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json +++ b/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json @@ -1 +1 @@ -{"gtceu:ostrum_linear_accelerator":{"order":151}} \ No newline at end of file +{"gtceu:ostrum_linear_accelerator":{"order":152}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_packer.json b/kubejs/assets/emi/category/properties/gtceu_packer.json index 2f428dab9..7b19510f3 100644 --- a/kubejs/assets/emi/category/properties/gtceu_packer.json +++ b/kubejs/assets/emi/category/properties/gtceu_packer.json @@ -1 +1 @@ -{"gtceu:packer":{"order":126}} \ No newline at end of file +{"gtceu:packer":{"order":127}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json b/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json index 2f137300b..a0bd0d75a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json +++ b/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json @@ -1 +1 @@ -{"gtceu:pisciculture_fishery":{"order":152}} \ No newline at end of file +{"gtceu:pisciculture_fishery":{"order":153}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json b/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json index 66f62c6f5..902dc1974 100644 --- a/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json +++ b/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json @@ -1 +1 @@ -{"gtceu:plasma_generator":{"order":72}} \ No newline at end of file +{"gtceu:plasma_generator":{"order":73}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_polarizer.json b/kubejs/assets/emi/category/properties/gtceu_polarizer.json index f77e2a7b1..77f51e722 100644 --- a/kubejs/assets/emi/category/properties/gtceu_polarizer.json +++ b/kubejs/assets/emi/category/properties/gtceu_polarizer.json @@ -1 +1 @@ -{"gtceu:polarizer":{"order":127}} \ No newline at end of file +{"gtceu:polarizer":{"order":128}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json index 1ca470d2f..2ddd1eaf6 100644 --- a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json +++ b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json @@ -1 +1 @@ -{"gtceu:programmed_circuit":{"order":178}} \ No newline at end of file +{"gtceu:programmed_circuit":{"order":179}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json index 3ee2775ce..d2931e90f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json +++ b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json @@ -1 +1 @@ -{"gtceu:pyrolyse_oven":{"order":153}} \ No newline at end of file +{"gtceu:pyrolyse_oven":{"order":154}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_research_station.json b/kubejs/assets/emi/category/properties/gtceu_research_station.json index 2e9c56869..7a62851bb 100644 --- a/kubejs/assets/emi/category/properties/gtceu_research_station.json +++ b/kubejs/assets/emi/category/properties/gtceu_research_station.json @@ -1 +1 @@ -{"gtceu:research_station":{"order":154}} \ No newline at end of file +{"gtceu:research_station":{"order":155}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json b/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json index d43366b28..8fc971e87 100644 --- a/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json +++ b/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json @@ -1 +1 @@ -{"gtceu:rock_breaker":{"order":128}} \ No newline at end of file +{"gtceu:rock_breaker":{"order":129}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_scanner.json b/kubejs/assets/emi/category/properties/gtceu_scanner.json index bc3c9eb07..f499fd75f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_scanner.json +++ b/kubejs/assets/emi/category/properties/gtceu_scanner.json @@ -1 +1 @@ -{"gtceu:scanner":{"order":129}} \ No newline at end of file +{"gtceu:scanner":{"order":130}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_sifter.json b/kubejs/assets/emi/category/properties/gtceu_sifter.json index 91729a678..08590a5a8 100644 --- a/kubejs/assets/emi/category/properties/gtceu_sifter.json +++ b/kubejs/assets/emi/category/properties/gtceu_sifter.json @@ -1 +1 @@ -{"gtceu:sifter":{"order":131}} \ No newline at end of file +{"gtceu:sifter":{"order":132}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json index cbf79f09e..4beba1a99 100644 --- a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json +++ b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json @@ -1 +1 @@ -{"gtceu:steam_bloomery":{"order":155}} \ No newline at end of file +{"gtceu:steam_bloomery":{"order":156}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_steam_boiler.json b/kubejs/assets/emi/category/properties/gtceu_steam_boiler.json index aa5444e77..1344362df 100644 --- a/kubejs/assets/emi/category/properties/gtceu_steam_boiler.json +++ b/kubejs/assets/emi/category/properties/gtceu_steam_boiler.json @@ -1 +1 @@ -{"gtceu:steam_boiler":{"order":56}} \ No newline at end of file +{"gtceu:steam_boiler":{"order":57}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_steam_turbine.json b/kubejs/assets/emi/category/properties/gtceu_steam_turbine.json index c04030c4c..2d062a1d3 100644 --- a/kubejs/assets/emi/category/properties/gtceu_steam_turbine.json +++ b/kubejs/assets/emi/category/properties/gtceu_steam_turbine.json @@ -1 +1 @@ -{"gtceu:steam_turbine":{"order":58}} \ No newline at end of file +{"gtceu:steam_turbine":{"order":59}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json b/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json index e2c701368..0bc83bd94 100644 --- a/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json +++ b/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json @@ -1 +1 @@ -{"gtceu:thermal_centrifuge":{"order":132}} \ No newline at end of file +{"gtceu:thermal_centrifuge":{"order":133}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json index c35543341..5edc94182 100644 --- a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json +++ b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json @@ -1 +1 @@ -{"gtceu:vacuum_freezer":{"order":156}} \ No newline at end of file +{"gtceu:vacuum_freezer":{"order":157}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json index 0bcd70b8e..a127850c7 100644 --- a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json +++ b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json @@ -1 +1 @@ -{"gtceu:wire_coating":{"order":157}} \ No newline at end of file +{"gtceu:wire_coating":{"order":158}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_wiremill.json b/kubejs/assets/emi/category/properties/gtceu_wiremill.json index d6768e6e3..d33e56613 100644 --- a/kubejs/assets/emi/category/properties/gtceu_wiremill.json +++ b/kubejs/assets/emi/category/properties/gtceu_wiremill.json @@ -1 +1 @@ -{"gtceu:wiremill":{"order":134}} \ No newline at end of file +{"gtceu:wiremill":{"order":135}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_smelting.json b/kubejs/assets/emi/category/properties/minecraft_smelting.json index 40e3a7239..e0a9398cb 100644 --- a/kubejs/assets/emi/category/properties/minecraft_smelting.json +++ b/kubejs/assets/emi/category/properties/minecraft_smelting.json @@ -1 +1 @@ -{"minecraft:smelting":{"order":73}} \ No newline at end of file +{"minecraft:smelting":{"order":74}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_smithing.json b/kubejs/assets/emi/category/properties/minecraft_smithing.json index 0884f8637..3ef51601a 100644 --- a/kubejs/assets/emi/category/properties/minecraft_smithing.json +++ b/kubejs/assets/emi/category/properties/minecraft_smithing.json @@ -1 +1 @@ -{"minecraft:smithing":{"order":162}} \ No newline at end of file +{"minecraft:smithing":{"order":163}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json index 8e40f1250..adbf423f4 100644 --- a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json +++ b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json @@ -1 +1 @@ -{"minecraft:stonecutting":{"order":166}} \ No newline at end of file +{"minecraft:stonecutting":{"order":167}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/rnr_block_mod.json b/kubejs/assets/emi/category/properties/rnr_block_mod.json index 8ab0b1d64..d24ca9768 100644 --- a/kubejs/assets/emi/category/properties/rnr_block_mod.json +++ b/kubejs/assets/emi/category/properties/rnr_block_mod.json @@ -1 +1 @@ -{"rnr:block_mod":{"order":47}} \ No newline at end of file +{"rnr:block_mod":{"order":48}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/rnr_mattock.json b/kubejs/assets/emi/category/properties/rnr_mattock.json index ef212895f..4964f4dc6 100644 --- a/kubejs/assets/emi/category/properties/rnr_mattock.json +++ b/kubejs/assets/emi/category/properties/rnr_mattock.json @@ -1 +1 @@ -{"rnr:mattock":{"order":48}} \ No newline at end of file +{"rnr:mattock":{"order":49}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tacz_attachment_query.json b/kubejs/assets/emi/category/properties/tacz_attachment_query.json index 5a657c070..5120abdce 100644 --- a/kubejs/assets/emi/category/properties/tacz_attachment_query.json +++ b/kubejs/assets/emi/category/properties/tacz_attachment_query.json @@ -1 +1 @@ -{"tacz:attachment_query":{"order":171}} \ No newline at end of file +{"tacz:attachment_query":{"order":172}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json index df66f83aa..d1d6603bc 100644 --- a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json +++ b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json @@ -1 +1 @@ -{"taczammoquery:ammo_query":{"order":172}} \ No newline at end of file +{"taczammoquery:ammo_query":{"order":173}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_alloying.json b/kubejs/assets/emi/category/properties/tfc_alloying.json index 73194c877..7befe3371 100644 --- a/kubejs/assets/emi/category/properties/tfc_alloying.json +++ b/kubejs/assets/emi/category/properties/tfc_alloying.json @@ -1 +1 @@ -{"tfc:alloying":{"order":28}} \ No newline at end of file +{"tfc:alloying":{"order":29}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_anvil.json b/kubejs/assets/emi/category/properties/tfc_anvil.json index 41ead7698..dbbd48fb3 100644 --- a/kubejs/assets/emi/category/properties/tfc_anvil.json +++ b/kubejs/assets/emi/category/properties/tfc_anvil.json @@ -1 +1 @@ -{"tfc:anvil":{"order":19}} \ No newline at end of file +{"tfc:anvil":{"order":20}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_blast_furnace.json b/kubejs/assets/emi/category/properties/tfc_blast_furnace.json index bcf2aeb66..d5bfd0031 100644 --- a/kubejs/assets/emi/category/properties/tfc_blast_furnace.json +++ b/kubejs/assets/emi/category/properties/tfc_blast_furnace.json @@ -1 +1 @@ -{"tfc:blast_furnace":{"order":27}} \ No newline at end of file +{"tfc:blast_furnace":{"order":28}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_bloomery.json b/kubejs/assets/emi/category/properties/tfc_bloomery.json index 64e2b0fc5..ca4669630 100644 --- a/kubejs/assets/emi/category/properties/tfc_bloomery.json +++ b/kubejs/assets/emi/category/properties/tfc_bloomery.json @@ -1 +1 @@ -{"tfc:bloomery":{"order":26}} \ No newline at end of file +{"tfc:bloomery":{"order":27}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_casting.json b/kubejs/assets/emi/category/properties/tfc_casting.json index 7ab19f53a..429cc3c55 100644 --- a/kubejs/assets/emi/category/properties/tfc_casting.json +++ b/kubejs/assets/emi/category/properties/tfc_casting.json @@ -1 +1 @@ -{"tfc:casting":{"order":18}} \ No newline at end of file +{"tfc:casting":{"order":19}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_chisel.json b/kubejs/assets/emi/category/properties/tfc_chisel.json index e1060b283..ca7e4f652 100644 --- a/kubejs/assets/emi/category/properties/tfc_chisel.json +++ b/kubejs/assets/emi/category/properties/tfc_chisel.json @@ -1 +1 @@ -{"tfc:chisel":{"order":33}} \ No newline at end of file +{"tfc:chisel":{"order":34}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_glassworking.json b/kubejs/assets/emi/category/properties/tfc_glassworking.json index 6e0a43dc4..eb9ecc48c 100644 --- a/kubejs/assets/emi/category/properties/tfc_glassworking.json +++ b/kubejs/assets/emi/category/properties/tfc_glassworking.json @@ -1 +1 @@ -{"tfc:glassworking":{"order":32}} \ No newline at end of file +{"tfc:glassworking":{"order":33}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_heating.json b/kubejs/assets/emi/category/properties/tfc_heating.json index 1d8ff6480..e96e69649 100644 --- a/kubejs/assets/emi/category/properties/tfc_heating.json +++ b/kubejs/assets/emi/category/properties/tfc_heating.json @@ -1 +1 @@ -{"tfc:heating":{"order":16}} \ No newline at end of file +{"tfc:heating":{"order":17}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_instant_barrel.json b/kubejs/assets/emi/category/properties/tfc_instant_barrel.json index d877178e4..bc8c355ee 100644 --- a/kubejs/assets/emi/category/properties/tfc_instant_barrel.json +++ b/kubejs/assets/emi/category/properties/tfc_instant_barrel.json @@ -1 +1 @@ -{"tfc:instant_barrel":{"order":23}} \ No newline at end of file +{"tfc:instant_barrel":{"order":24}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_instant_fluid_barrel.json b/kubejs/assets/emi/category/properties/tfc_instant_fluid_barrel.json index e7477e0f5..94fc2b3a4 100644 --- a/kubejs/assets/emi/category/properties/tfc_instant_fluid_barrel.json +++ b/kubejs/assets/emi/category/properties/tfc_instant_fluid_barrel.json @@ -1 +1 @@ -{"tfc:instant_fluid_barrel":{"order":24}} \ No newline at end of file +{"tfc:instant_fluid_barrel":{"order":25}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_jam_pot.json b/kubejs/assets/emi/category/properties/tfc_jam_pot.json index 0aef4616a..681c4b0ca 100644 --- a/kubejs/assets/emi/category/properties/tfc_jam_pot.json +++ b/kubejs/assets/emi/category/properties/tfc_jam_pot.json @@ -1 +1 @@ -{"tfc:jam_pot":{"order":42}} \ No newline at end of file +{"tfc:jam_pot":{"order":43}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_loom.json b/kubejs/assets/emi/category/properties/tfc_loom.json index e75a691b5..9cc1fda8b 100644 --- a/kubejs/assets/emi/category/properties/tfc_loom.json +++ b/kubejs/assets/emi/category/properties/tfc_loom.json @@ -1 +1 @@ -{"tfc:loom":{"order":31}} \ No newline at end of file +{"tfc:loom":{"order":32}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_quern.json b/kubejs/assets/emi/category/properties/tfc_quern.json index 236da9c3b..f63c00555 100644 --- a/kubejs/assets/emi/category/properties/tfc_quern.json +++ b/kubejs/assets/emi/category/properties/tfc_quern.json @@ -1 +1 @@ -{"tfc:quern":{"order":17}} \ No newline at end of file +{"tfc:quern":{"order":18}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_scraping.json b/kubejs/assets/emi/category/properties/tfc_scraping.json index e14d944ca..c4288360f 100644 --- a/kubejs/assets/emi/category/properties/tfc_scraping.json +++ b/kubejs/assets/emi/category/properties/tfc_scraping.json @@ -1 +1 @@ -{"tfc:scraping":{"order":30}} \ No newline at end of file +{"tfc:scraping":{"order":31}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_sealed_barrel.json b/kubejs/assets/emi/category/properties/tfc_sealed_barrel.json index e03845208..cc7562727 100644 --- a/kubejs/assets/emi/category/properties/tfc_sealed_barrel.json +++ b/kubejs/assets/emi/category/properties/tfc_sealed_barrel.json @@ -1 +1 @@ -{"tfc:sealed_barrel":{"order":25}} \ No newline at end of file +{"tfc:sealed_barrel":{"order":26}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_sewing.json b/kubejs/assets/emi/category/properties/tfc_sewing.json index 75fbf2ebf..c29ae1052 100644 --- a/kubejs/assets/emi/category/properties/tfc_sewing.json +++ b/kubejs/assets/emi/category/properties/tfc_sewing.json @@ -1 +1 @@ -{"tfc:sewing":{"order":34}} \ No newline at end of file +{"tfc:sewing":{"order":35}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_simple_pot.json b/kubejs/assets/emi/category/properties/tfc_simple_pot.json index 1fb8c60ce..479fb4384 100644 --- a/kubejs/assets/emi/category/properties/tfc_simple_pot.json +++ b/kubejs/assets/emi/category/properties/tfc_simple_pot.json @@ -1 +1 @@ -{"tfc:simple_pot":{"order":40}} \ No newline at end of file +{"tfc:simple_pot":{"order":41}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_soup_pot.json b/kubejs/assets/emi/category/properties/tfc_soup_pot.json index 2692e0a12..11e15e272 100644 --- a/kubejs/assets/emi/category/properties/tfc_soup_pot.json +++ b/kubejs/assets/emi/category/properties/tfc_soup_pot.json @@ -1 +1 @@ -{"tfc:soup_pot":{"order":41}} \ No newline at end of file +{"tfc:soup_pot":{"order":42}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfc_welding.json b/kubejs/assets/emi/category/properties/tfc_welding.json index 0d3fa1c3a..f8f98981d 100644 --- a/kubejs/assets/emi/category/properties/tfc_welding.json +++ b/kubejs/assets/emi/category/properties/tfc_welding.json @@ -1 +1 @@ -{"tfc:welding":{"order":20}} \ No newline at end of file +{"tfc:welding":{"order":21}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfg_artisan_table.json b/kubejs/assets/emi/category/properties/tfg_artisan_table.json new file mode 100644 index 000000000..1288ac4a4 --- /dev/null +++ b/kubejs/assets/emi/category/properties/tfg_artisan_table.json @@ -0,0 +1 @@ +{"tfg:artisan_table":{"order":16}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfg_blaze_burner.json b/kubejs/assets/emi/category/properties/tfg_blaze_burner.json index f5b18fcd8..697bd742c 100644 --- a/kubejs/assets/emi/category/properties/tfg_blaze_burner.json +++ b/kubejs/assets/emi/category/properties/tfg_blaze_burner.json @@ -1 +1 @@ -{"tfg:blaze_burner":{"order":60}} \ No newline at end of file +{"tfg:blaze_burner":{"order":61}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tfg_block_interaction.json b/kubejs/assets/emi/category/properties/tfg_block_interaction.json index fa4725535..e4355d70b 100644 --- a/kubejs/assets/emi/category/properties/tfg_block_interaction.json +++ b/kubejs/assets/emi/category/properties/tfg_block_interaction.json @@ -1 +1 @@ -{"tfg:block_interaction":{"order":54}} \ No newline at end of file +{"tfg:block_interaction":{"order":55}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json b/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json index 05eea7f7b..ee3e03c79 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json @@ -1 +1 @@ -{"vintageimprovements:centrifugation":{"order":86}} \ No newline at end of file +{"vintageimprovements:centrifugation":{"order":87}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json b/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json index 185fc7f00..9cb992072 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json @@ -1 +1 @@ -{"vintageimprovements:coiling":{"order":133}} \ No newline at end of file +{"vintageimprovements:coiling":{"order":134}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_curving.json b/kubejs/assets/emi/category/properties/vintageimprovements_curving.json index d08896541..ecaad064d 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_curving.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_curving.json @@ -1 +1 @@ -{"vintageimprovements:curving":{"order":103}} \ No newline at end of file +{"vintageimprovements:curving":{"order":104}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_grinder_sandpaper_polishing.json b/kubejs/assets/emi/category/properties/vintageimprovements_grinder_sandpaper_polishing.json index ad40e3992..128e27e83 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_grinder_sandpaper_polishing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_grinder_sandpaper_polishing.json @@ -1 +1 @@ -{"vintageimprovements:grinder_sandpaper_polishing":{"order":51}} \ No newline at end of file +{"vintageimprovements:grinder_sandpaper_polishing":{"order":52}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_hammering.json b/kubejs/assets/emi/category/properties/vintageimprovements_hammering.json index 648a027a6..cadc583f1 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_hammering.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_hammering.json @@ -1 +1 @@ -{"vintageimprovements:hammering":{"order":22}} \ No newline at end of file +{"vintageimprovements:hammering":{"order":23}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json b/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json index c014d6a25..aa0b4f013 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json @@ -1 +1 @@ -{"vintageimprovements:laser_cutting":{"order":114}} \ No newline at end of file +{"vintageimprovements:laser_cutting":{"order":115}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json b/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json index 760cee391..fde04d7d1 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json @@ -1 +1 @@ -{"vintageimprovements:polishing":{"order":116}} \ No newline at end of file +{"vintageimprovements:polishing":{"order":117}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json b/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json index f6bb70239..40a51fa64 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json @@ -1 +1 @@ -{"vintageimprovements:pressurizing":{"order":82}} \ No newline at end of file +{"vintageimprovements:pressurizing":{"order":83}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json b/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json index 8e01ce0e6..9d955f31a 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json @@ -1 +1 @@ -{"vintageimprovements:vacuumizing":{"order":101}} \ No newline at end of file +{"vintageimprovements:vacuumizing":{"order":102}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json b/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json index 9cc5cbe70..05cc197f3 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json @@ -1 +1 @@ -{"vintageimprovements:vibrating":{"order":130}} \ No newline at end of file +{"vintageimprovements:vibrating":{"order":131}} \ No newline at end of file diff --git a/kubejs/assets/tfchotornot/lang/zh_cn.json b/kubejs/assets/tfchotornot/lang/zh_cn.json index b88627358..2be883ffd 100644 --- a/kubejs/assets/tfchotornot/lang/zh_cn.json +++ b/kubejs/assets/tfchotornot/lang/zh_cn.json @@ -3,8 +3,8 @@ "tfchotornot.creative_tab.tfchotornot": "群峦传说:冷热自知", "tooltip.tfchotornot.insulating_items": "佩戴于副手可避免负面效果", "tooltip.tfchotornot.toohot": "太烫了,无法接触!", - "tooltip.tfchotornot.toocold": "太冷了,不能处理!", - "tooltip.tfchotornot.toolight": "太亮了,不能处理!", + "tooltip.tfchotornot.toocold": "太冷了,无法接触!", + "tooltip.tfchotornot.toolight": "太轻了,无法接触!", "message.tfchotornot.item_getting_hot": "注意!副手物品过热!", "item.tfchotornot.mittens": "手套", "item.tfchotornot.burlap_potholder": "粗麻布隔热垫", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index c7ae766bd..c0d3908ba 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1202,6 +1202,7 @@ "item.tfg.fish_roe": "%s Roe", "item.tfg.rotten_voiding_cover": "Rotten Voiding Cover", "item.tfg.flora_pellets": "Flora Pellets", + "item.tfg.magnesia_refractory_brick_ingot": "Resin-Bonded Magnesia Refractory Brick", "material.tfg.latex": "Latex", "material.tfg.vulcanized_latex": "Vulcanized Latex", "material.tfg.fluix": "Fluix", @@ -1377,6 +1378,13 @@ "material.tfg.chloroplasts": "Chloroplasts", "material.tfg.nitrate_rich_water": "Nitrate Rich Water", "material.tfg.nitrate_rich_semiheavy_ammoniacal_water": "Nitrate Rich Semiheavy Ammoniacal Water", + "material.tfg.weak_red_steel": "Weak Red Steel", + "material.tfg.weak_blue_steel": "Weak Blue Steel", + "material.tfg.refractory_clay": "Refractory Clay", + "material.tfg.bakelite": "Bakelite", + "material.tfg.phenolic_resin": "Phenolic Resin", + "material.tfg.magnesium_hydroxide": "Magnesium Hydroxide", + "material.tfg.magnesia_refractory_brick": "Resin-Bonded Magnesia Refractory Brick", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", @@ -1700,6 +1708,7 @@ "tfg.tooltip.hotornot_hot_equipment": "§7Provides protection from all §6hot§7 items, fluids, and pipes.§r", "tfg.tooltip.hotornot_cold_equipment": "§7Provides protection from all §bcold§7 items, fluids, and pipes.§r", "tfg.tooltip.hotornot_floating_equipment": "§7Provides protection from all §elighter-than-air§7 gases.§r", + "tfg.tooltip.polycaprolactam": "Also known as Nylon", "tfg.tooltip.machine.one_energy_hatch": "Accepts exactly §6One§r Energy Hatch.", "tfg.tooltip.machine.two_energy_hatches": "Accepts up to §6Two§r Energy Hatches.", "tfg.tooltip.machine.subtick": "This machine supports §2Subticking§r!", @@ -4021,7 +4030,7 @@ "quests.steam_age.resin_boards.desc": "Did you know tree taps can drip directly into GregTech pipes and drums? Now you do!", "quests.steam_age.circuit_boards.title": "Electronics #2: Circuit Boards", "quests.steam_age.circuit_boards.subtitle": "The easier component for circuits", - "quests.steam_age.circuit_boards.desc": "Some delicate craftsmanship in an &3Artisan Table&r will allow you to combine those Resin Circuit Boards with some Copper Wires to create your first &aCircuit&r!\n\nThe Artisan Table works on the same principal as Knapping, but this time with additional item and tool inputs.", + "quests.steam_age.circuit_boards.desc": "Some delicate craftsmanship in an &3Artisan Table&r will allow you to combine those Resin Circuit Boards with some Copper Wires to create your first &aCircuit Boards&r!\n\nThe Artisan Table works on the same principal as Knapping, but this time with additional item and tool inputs.", "quests.steam_age.vacuum_chamber.title": "Vacuum Chamber", "quests.steam_age.vacuum_chamber.subtitle": "Putting the Vacuum in Vacuum Tubes", "quests.steam_age.vacuum_chamber.desc": "This machine is the final step in making your first Vacuum Tubes. Place it above a Basin and give it some power, and make sure the machine is set to Vacuumizing mode.\n\nThis machine can also help liquefy glue and rubber while being heated by either a Charcoal Forge or a Blaze Burner.", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 2464e8c53..c40e74d68 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -810,6 +810,8 @@ "block.tfg.impure_moderate_core": "不纯慢化堆芯", "block.tfg.moderate_core_frame": "慢化堆芯框架", "block.tfg.impure_moderate_core_frame": "不纯慢化堆芯框架", + "tfg.block_entity.artisan_table": "工匠台", + "block.tfg.artisan_table": "工匠台", "fluid.tfg.heavy_ammoniacal_water": "重氨水", "fluid.tfg.semiheavy_ammoniacal_water": "半重氨水", "fluid.tfg.sulfur_fumes": "浓硫酸烟雾", @@ -1782,7 +1784,7 @@ "tfg.tooltip.hotornot_container": "§a可安全容纳§6高温§a、§b低温§a以及§e比空气轻§a的物品与流体。§r", "tfg.tooltip.hotornot_hot_equipment": "§7提供对所有§6高温§7物品、流体和管道的防护。§r", "tfg.tooltip.hotornot_cold_equipment": "§7提供对所有§b低温§7物品、流体和管道的防护。§r", - "tfg.tooltip.hotornot_floating_equipment": "§7提供对所有§e比空气轻§7d的气体的防护。§r", + "tfg.tooltip.hotornot_floating_equipment": "§7提供对所有§e比空气轻§7的气体的防护。§r", "tfg.tooltip.machine.one_energy_hatch": "只允许有且仅有§61个§f能源仓。", "tfg.tooltip.machine.two_energy_hatches": "允许有最多§62个§r能源仓。", "tfg.tooltip.machine.subtick": "这台机器支持§2子刻机制§r!", @@ -1831,6 +1833,8 @@ "tfg.tooltip.component.nuclear_turbine_2": "每个高于 §5EV§r 阶段的转子支架 §7可提升§r 10% 效率,并使 EU/t 产出翻倍。", "tfg.tooltip.component.smr_generator_1": "§e基础产出:§r 4096 EU/t", "tfg.tooltip.component.smr_generator_2": "专为利用超临界二氧化碳与小模块化反应堆发电而设计。\n使用润滑剂与加速剂可提升其效率,并管理反应堆的冷却回路。", + "tfg.tooltip.show_recipes": "显示配方", + "emi.category.tfg.artisan_table": "工匠台", "tfg.gui.refrigerator.unify_dates.enabled": "过期日期统一:§a开", "tfg.gui.refrigerator.unify_dates.disabled": "过期日期统一:§a关", "tfg.machine.food_refrigerator_power_usage": "§7工作时消耗§r %s EU/t §7以保持食物新鲜。§r", @@ -2230,7 +2234,7 @@ "quests.create_logistics.rose_quartz_lens.desc": "无论你以何种方式获得了所需材料,你都需要一台&3车床&r来实际制造透镜。一台&7基础&3车床&r足以用一颗&d精美玫瑰石英&r宝石制作透镜,但如果你想仅用一块板来制作透镜,你将需要更好的设备,即一台&b高级&3车床&r。\n\n一旦制作完成,该透镜可以用于在&7基础&3激光刻录机&r中刻录&d双重红合金板&r来制造我们需要的&d发射器&r单元,并且在此过程中不会被消耗。", "quests.create_logistics.stock_link.title": "仓储链接站", "quests.create_logistics.stock_link.subtitle": "家里有存储总线了", - "quests.create_logistics.stock_link.desc": "你可以制造的第一个&2高级物流&r机器是&3仓储链接站&r,它可用于创建&d物流网络&r。当放置到&3打包机&r的任意一面时,仓储链接站将&a使打包机所连接的库存对网络可见&r!就其本身而言,仓储链接站并不是超级有用,但它是所有其他即将到来的机器的核心组件……\n\n记得先手持仓储链接站右键点击已放置的仓储链接站,将两者绑定以共享同一网络。要取消此操作,你可以简单地单独合成来仓储链接站清除其调谐。", + "quests.create_logistics.stock_link.desc": "你可以制造的第一个&2高级物流&r机器是&3仓储链接站&r,它可用于创建&d物流网络&r。当放置到&3打包机&r的任意一面时,仓储链接站将&a使打包机所连接的库存对网络可见&r!就其本身而言,仓储链接站并不是超级有用,但它是所有其他即将到来的机器的核心组件……\n\n记得先手持仓储链接站右键点击已放置的仓储链接站,将两者绑定以共享同一网络。要取消此操作,你可以简单地单独合成仓储链接站来清除其调谐。", "quests.create_logistics.stock_ticker.title": "仓储发报机", "quests.create_logistics.stock_ticker.subtitle": "服务员!服务员!再来点粉质壤土缠根泥土!", "quests.create_logistics.stock_ticker.desc.1": "如果你已经使用&3仓储链接站&r向&d物流网络&r提供了各种物品,下一步就是制作一个可以远程调用所述物品的东西……这就是&3仓储发报机&r的用武之地。与仓储发报机非常相似,你首先需要右击一个现有的链接,将仓储发报机绑定到该网络。然后你需要在仓储发报机旁边放置一个&3烈焰人燃烧室&r或任何坐在&3坐垫&r上的生物,让他们充当&3仓库管理员&r。", @@ -4102,7 +4106,7 @@ "quests.steam_age.resin_boards.desc": "没想到吧?树液采集器可直接将液体滴入格雷科技管道与桶!现在你掌握这个技巧了!", "quests.steam_age.circuit_boards.title": "电子学 #2:电路基板", "quests.steam_age.circuit_boards.subtitle": "更简易的电路元件", - "quests.steam_age.circuit_boards.desc": "将覆膜电路基板与铜导线组合,你就有了第一个&a电路&r的基础!", + "quests.steam_age.circuit_boards.desc": "通过在&3工匠台&r上进行一些精细操作,你可以将这些覆膜电路基板与铜导线组合,制造出你的第一块&a电路板&r!\n\n工匠台的工作原理与敲制类似,但此次需要额外放入物品和工具。", "quests.steam_age.vacuum_chamber.title": "真空腔室", "quests.steam_age.vacuum_chamber.subtitle": "为真空管赋予真空特性", "quests.steam_age.vacuum_chamber.desc": "这台机器是制作首批真空管的最终步骤。将其置于工作盆上方并接通应力,同时确保机器设置为真空模式。\n\n该设备在受木炭炉或烈焰人燃烧室加热时,还可用于液化胶水与橡胶。", From 8e2fa9164dbfe6b04cf639d215b66348f2f0c506 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 26 Jan 2026 13:31:50 +0000 Subject: [PATCH 229/474] add another page to the medicine quest --- config/ftbquests/quests/chapters/questsstoneage.snbt | 2 ++ kubejs/assets/gtceu/lang/en_us.json | 2 ++ kubejs/assets/tfg/lang/en_us.json | 1 + 3 files changed, 5 insertions(+) diff --git a/config/ftbquests/quests/chapters/questsstoneage.snbt b/config/ftbquests/quests/chapters/questsstoneage.snbt index b429838d3..fbce49270 100644 --- a/config/ftbquests/quests/chapters/questsstoneage.snbt +++ b/config/ftbquests/quests/chapters/questsstoneage.snbt @@ -2295,6 +2295,8 @@ "{quests.stone_age.medical_conditions.desc.1}" "{@pagebreak}" "{quests.stone_age.medical_conditions.desc.2}" + "{@pagebreak}" + "{quests.stone_age.medical_conditions.desc.3}" ] icon: "createdeco:decal_skull" id: "00117AD40FACB89D" diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 4f656545c..c07bbc0e6 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -190,6 +190,8 @@ "block.gtceu.wire_coil.tooltip_cracking": "§8Cracking Unit, Moon and Ostrum Harvesters:§r", "tooltip.moldraw.shift_view_molecule": "§7§oHold (Shift) for Molecular Structure§r", "tooltip.moldraw.shift_view_alloy": "§7§oHold (Shift) for Alloy Composition§r", + "gtceu.medical_condition.antidote.description.effect_removed": "Removes %s%% of the above conditions' effects", + "gtceu.medical_condition.antidote.description.effect_removed.all": "Removes all of the above conditions' effects", "gtceu.greenhouse": "Electric Greenhouse", "gtceu.steam_bloomery": "Steam Bloomery", "gtceu.food_oven": "Food Oven", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index c0d3908ba..60c4590a7 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -4268,6 +4268,7 @@ "quests.stone_age.medical_conditions.subtitle": "Don't eat the Asbestos", "quests.stone_age.medical_conditions.desc.1": "Be careful what you pick up! Not all ores or dusts are safe to touch, and some will cause a buildup of a &6Medical Condition&r.\n\nEverything &cHazardous&r is written on its tooltip, so if you suddenly notice a debuff appearing, get that item out of your inventory! Putting it inside a container like a small vessel or backpack is safe.\n\nMost of these effects will slowly go away on their own, but if you let them build up long enough, you'll start getting a host of other nasty effects, up to and including &cdeath&r.", "quests.stone_age.medical_conditions.desc.2": "You will eventually need to work with some of these materials, so you have ways to deal with them.\n\nThe best way is to avoid getting any conditions in the first place - a Face Mask and Rubber Gloves will prevent inhalation and contact hazards respectively.\n\nThe second-best way is a cure: check out some of the &aPills, Tablets, and Salvos&r you can craft - they all help cure certain effects (and provide helpful buffs!), though the stronger cures have more annoying side-effects.", + "quests.stone_age.medical_conditions.desc.3": "Be careful around anything &cCarcinogenic&r or &cRadioactive&r - these conditions are &epermanent&r until you're able to craft Paracetamol in &7LV&r.", "quests.stone_age.medical_conditions.task": "I'm my own doctor", "quests.stone_age.copper_for_anvil.title": "Copper for the Anvil", "quests.stone_age.copper_for_anvil.subtitle": "You better get used to getting 14 ingots of something.", From 91fa880e82960367a47e35ab7186ce45690d3fb9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 26 Jan 2026 13:38:24 +0000 Subject: [PATCH 230/474] cl --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 98d84cca7..a31ec81bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,16 +4,18 @@ ### Breaking changes - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie ### Changes +- Added the Artisan Table to "knap" circuit boards and GT extruder and casting molds, replacing their crafting table recipes. @BlueBoat29 @Redeix - Added much more music to the different dimensions @Pyritie - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie - Added steam alloy smelter glass batch recipes (#2853) @Pyritie -- Added the Artisan Table to "knap" GT molds and circuits. @BlueBoat29 @Redeix +- Paracetamol now cures a small amount of the Radioactive condition, and RadAway now cures everything completely @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie - Fixed rosin leaves and saplings having tags the wrong way around (#2840) @TanJeeSchuan - Fixed missing borax to flux recipe @Pyritie ### Translation updates +- Chinese (simplified) @jmecn ## [0.11.18] - 23-01-2026 ### Important notes From efb19e95675b670a8fddd50605df1f85883a217f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Jan 2026 23:19:23 +0000 Subject: [PATCH 231/474] Bump actions/checkout from 6.0.1 to 6.0.2 in the dependencies group (#2871) Bumps the dependencies group with 1 update: [actions/checkout](https://github.com/actions/checkout). Updates `actions/checkout` from 6.0.1 to 6.0.2 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v6.0.1...v6.0.2) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0b2db7eee..1ff05d7ea 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -34,7 +34,7 @@ jobs: steps: - name: 📦 Checkout - uses: actions/checkout@v6.0.1 + uses: actions/checkout@v6.0.2 with: fetch-depth: 0 @@ -229,7 +229,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v6.0.1 + uses: actions/checkout@v6.0.2 with: fetch-depth: 0 @@ -313,7 +313,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v6.0.1 + uses: actions/checkout@v6.0.2 - name: 🔄 Replace strings shell: bash @@ -460,7 +460,7 @@ jobs: steps: - name: 📦 Checkout - uses: actions/checkout@v6.0.1 + uses: actions/checkout@v6.0.2 - name: 📦 Download artifact uses: actions/download-artifact@v7.0.0 From 119040862373c8b2d9e3c9fa952b547ad36497aa Mon Sep 17 00:00:00 2001 From: Paradalope <68783833+Paradalope@users.noreply.github.com> Date: Mon, 26 Jan 2026 18:05:48 -0600 Subject: [PATCH 232/474] Update data.equipment.js (#2872) name of the branch, adds the resistances for the lavaproof blue steel boots (not the diving boots), which were previously missing. --- kubejs/server_scripts/tfg/equipment/data.equipment.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kubejs/server_scripts/tfg/equipment/data.equipment.js b/kubejs/server_scripts/tfg/equipment/data.equipment.js index 4263d344b..636982684 100644 --- a/kubejs/server_scripts/tfg/equipment/data.equipment.js +++ b/kubejs/server_scripts/tfg/equipment/data.equipment.js @@ -69,6 +69,12 @@ function registerTFGEquipmentData(event) { 13, 13, 15 + ) + event.itemDamageResistance( + 'minecraft:netherite_boots', + 13, + 13, + 15 ) event.itemDamageResistance( 'create:netherite_diving_boots', From f324e7e6daf6c8c8696018900653a38cceaaa802 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 27 Jan 2026 00:10:22 +0000 Subject: [PATCH 233/474] New content for ULV + LV (#2873) * require black steel plates before the forge hammer, add some blue steel things post-deployer that require a colored steel anvil, start refractory clay dust * first draft of bakelite, new phenolic boards, new cupro coils * add another page to the medicine quest * cl * backup of lv quests * quest stuff and some recipe tweaks * tweak --------- Co-authored-by: Redeix --- CHANGELOG.md | 4 +- .../quests/chapters/create_logistics.snbt | 17 +- .../quests/chapters/ev__extreme_voltage.snbt | 1 - .../quests/chapters/gregtech_energy.snbt | 8 +- .../quests/chapters/lv__low_voltage.snbt | 785 ++++++++++++------ .../quests/chapters/questsmetallurgy.snbt | 5 + .../quests/chapters/questssteam_age.snbt | 157 ++-- .../quests/chapters/questsstoneage.snbt | 2 + .../quests/chapters/tips__tools.snbt | 24 +- kubejs/assets/gtceu/lang/en_us.json | 2 + kubejs/assets/tfg/alloys/weak_blue_steel.json | 3 + kubejs/assets/tfg/alloys/weak_red_steel.json | 3 + kubejs/assets/tfg/lang/en_us.json | 96 ++- kubejs/client_scripts/tooltips.js | 3 + .../create_additions/recipes.js | 6 +- kubejs/server_scripts/greate/recipes.js | 4 +- .../server_scripts/greate/recipes.removes.js | 43 + .../gregtech/recipes.machines.js | 52 +- .../gregtech/recipes.removes.js | 10 + kubejs/server_scripts/gregtech/tags.js | 4 +- kubejs/server_scripts/tfc/recipes.js | 4 +- kubejs/server_scripts/tfc/recipes.removes.js | 7 + kubejs/server_scripts/tfcbetterbf/recipes.js | 28 +- .../tfg/machines/recipes.bakelite.js | 70 ++ .../tfg/machines/recipes.coils.js | 77 ++ .../tfg/machines/recipes.multiblocks.js | 4 +- .../tfg/ores_and_materials/recipes.alloys.js | 29 + .../recipes.material_tools.js | 2 +- .../tfg/primitive/recipes.clay.js | 23 +- .../primitive/recipes.glue_and_chipboard.js | 15 - kubejs/server_scripts/tfg/recipes.js | 2 + .../vintage_improvements/recipes.js | 6 +- kubejs/startup_scripts/gtceu/constants.js | 2 + .../gtceu/material_modification.js | 6 +- kubejs/startup_scripts/tfg/items.js | 3 - kubejs/startup_scripts/tfg/materials.js | 42 + .../tfg/primitive/items.primitive.js | 1 - .../tfg/primitive/materials.primitive.js | 32 +- kubejs/startup_scripts/tfg/tag_prefixes.js | 3 + 39 files changed, 1092 insertions(+), 493 deletions(-) create mode 100644 kubejs/assets/tfg/alloys/weak_blue_steel.json create mode 100644 kubejs/assets/tfg/alloys/weak_red_steel.json create mode 100644 kubejs/server_scripts/tfg/machines/recipes.bakelite.js create mode 100644 kubejs/server_scripts/tfg/machines/recipes.coils.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 98d84cca7..a31ec81bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,16 +4,18 @@ ### Breaking changes - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie ### Changes +- Added the Artisan Table to "knap" circuit boards and GT extruder and casting molds, replacing their crafting table recipes. @BlueBoat29 @Redeix - Added much more music to the different dimensions @Pyritie - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie - Added steam alloy smelter glass batch recipes (#2853) @Pyritie -- Added the Artisan Table to "knap" GT molds and circuits. @BlueBoat29 @Redeix +- Paracetamol now cures a small amount of the Radioactive condition, and RadAway now cures everything completely @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie - Fixed rosin leaves and saplings having tags the wrong way around (#2840) @TanJeeSchuan - Fixed missing borax to flux recipe @Pyritie ### Translation updates +- Chinese (simplified) @jmecn ## [0.11.18] - 23-01-2026 ### Important notes diff --git a/config/ftbquests/quests/chapters/create_logistics.snbt b/config/ftbquests/quests/chapters/create_logistics.snbt index 9d7f8c168..914590ae0 100644 --- a/config/ftbquests/quests/chapters/create_logistics.snbt +++ b/config/ftbquests/quests/chapters/create_logistics.snbt @@ -131,6 +131,8 @@ dependencies: [ "572A8983FA12152A" "3AF956758FA289A8" + "07E7678095258EDB" + "383A14A5C65B3ADF" ] dependency_requirement: "one_completed" description: ["{quests.create_logistics.rose_quartz_lens.desc}"] @@ -209,8 +211,9 @@ { dependencies: [ "7C4807A247AF36A1" - "648BCF486E16CCB2" + "713C8D6A20BF3A0E" ] + dependency_requirement: "one_completed" description: ["{quests.create_logistics.stock_link.desc}"] id: "76490E046A44BCC3" size: 2.0d @@ -225,7 +228,11 @@ y: -1.0d } { - dependencies: ["76490E046A44BCC3"] + dependencies: [ + "76490E046A44BCC3" + "50FE830DA6F403B2" + ] + dependency_requirement: "one_completed" description: [ "{quests.create_logistics.stock_ticker.desc.1}" "{@pagebreak}" @@ -245,7 +252,11 @@ y: -2.5d } { - dependencies: ["76490E046A44BCC3"] + dependencies: [ + "76490E046A44BCC3" + "50FE830DA6F403B2" + ] + dependency_requirement: "one_completed" description: ["{quests.create_logistics.redstone_requester.desc}"] id: "3F44CFF8A6018F3E" subtitle: "{quests.create_logistics.redstone_requester.subtitle}" diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 40fd2428b..a736b2b47 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -92,7 +92,6 @@ { dependencies: [ "601088B7920140B2" - "3FBDC8552F7D8008" "3B18DE7395776B41" ] description: ["{quests.extreme_voltage.t2_rocket.desc}"] diff --git a/config/ftbquests/quests/chapters/gregtech_energy.snbt b/config/ftbquests/quests/chapters/gregtech_energy.snbt index a962839dd..e52987dc3 100644 --- a/config/ftbquests/quests/chapters/gregtech_energy.snbt +++ b/config/ftbquests/quests/chapters/gregtech_energy.snbt @@ -118,10 +118,7 @@ y: -7.0d } { - dependencies: [ - "06B2E38F7DCF2678" - "22510C5F2386B453" - ] + dependencies: ["06B2E38F7DCF2678"] dependency_requirement: "one_completed" description: ["{quests.gregtech_energy.produce_energy.desc}"] icon: "gtceu:lv_field_generator" @@ -1083,12 +1080,15 @@ "4C620105AAC49381" "0C718329245D9619" ] + description: ["{quests.low_voltage.lv_biodiesel.desc}"] id: "139C7DF629329753" + subtitle: "{quests.low_voltage.lv_biodiesel.subtitle}" tasks: [{ id: "7BA9FDD1F45B53F6" item: "gtceu:bio_diesel_bucket" type: "item" }] + title: "{quests.low_voltage.lv_biodiesel.title}" x: -9.0d y: -7.0d } diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 60e1d570a..42831456c 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -10,20 +10,55 @@ { id: "0EA7766FE6845121" linked_quest: "0FFBB6177DEB0A23" - x: -8.0d - y: 11.5d + x: -14.5d + y: 15.0d } { id: "46612C429BCA8A18" linked_quest: "6BAC3BE1D4FE0F6B" - x: 7.5d - y: 4.0d + x: 2.5d + y: 10.0d } { id: "5E5AD44B50E0B15B" linked_quest: "31A6A236B6710B95" - x: 7.5d - y: 5.0d + x: 4.5d + y: 12.0d + } + { + id: "5BC9534E2B4A16A2" + linked_quest: "2262F1FD4EAB777F" + shape: "octagon" + size: 1.5d + x: -2.5d + y: 14.0d + } + { + id: "3E4C0AAC278DC9F1" + linked_quest: "341E2F290344BEEE" + shape: "octagon" + size: 1.5d + x: -10.5d + y: 4.0d + } + { + id: "00B51E50BEBF7E1D" + linked_quest: "3F44CFF8A6018F3E" + x: -8.5d + y: 6.0d + } + { + id: "34F6462681BB5D77" + linked_quest: "7C4807A247AF36A1" + x: -8.5d + y: 2.0d + } + { + id: "343F16805E04BFBE" + linked_quest: "2D2CB8104E40E808" + shape: "heart" + x: 7.0d + y: 6.0d } ] quests: [ @@ -42,7 +77,7 @@ }] title: "{quests.low_voltage.lv_fluid_regulator.title}" x: 6.0d - y: -1.5d + y: -8.5d } { dependencies: ["38993B4697B0E16C"] @@ -62,7 +97,7 @@ }] title: "{quests.low_voltage.lv_robot_arm.title}" x: 6.0d - y: -4.5d + y: -11.5d } { dependencies: ["7EED0084BA59FED1"] @@ -78,7 +113,7 @@ }] title: "{quests.low_voltage.lv_conveyor.title}" x: 4.5d - y: -3.0d + y: -10.0d } { dependencies: ["7EED0084BA59FED1"] @@ -94,7 +129,7 @@ }] title: "{quests.low_voltage.lv_pump.title}" x: 4.5d - y: -1.5d + y: -8.5d } { dependencies: ["7EED0084BA59FED1"] @@ -110,18 +145,13 @@ }] title: "{quests.low_voltage.lv_piston.title}" x: 4.5d - y: -4.5d + y: -11.5d } { dependencies: ["7FA1525D681C4B4A"] - description: [ - "{quests.low_voltage.lv_steam_turbine.desc.1}" - "{@pagebreak}" - "{quests.low_voltage.lv_steam_turbine.desc.2}" - ] + description: ["{quests.low_voltage.lv_steam_turbine.desc}"] id: "6E186F9C57155BFA" optional: true - shape: "hexagon" size: 1.0d subtitle: "{quests.low_voltage.lv_steam_turbine.subtitle}" tasks: [{ @@ -130,8 +160,8 @@ type: "item" }] title: "{quests.low_voltage.lv_steam_turbine.title}" - x: 7.5d - y: 9.5d + x: 1.0d + y: -6.0d } { dependencies: ["7FA1525D681C4B4A"] @@ -148,16 +178,20 @@ type: "item" }] title: "{quests.low_voltage.lv_amp_explanation.title}" - x: 5.5d - y: 10.5d + x: 2.0d + y: -8.0d } { - dependencies: ["45B71324028F6E68"] + dependencies: [ + "45B71324028F6E68" + "39F6BCF4B8DFC7D4" + ] + dependency_requirement: "one_completed" description: ["{quests.low_voltage.aluminium_ingot.desc}"] hide_dependency_lines: false id: "7567E885B7166603" shape: "octagon" - size: 1.5d + size: 2.0d subtitle: "{quests.low_voltage.aluminium_ingot.subtitle}" tasks: [{ id: "161B5813936E5E42" @@ -165,21 +199,19 @@ type: "item" }] title: "{quests.low_voltage.aluminium_ingot.title}" - x: -10.0d - y: 11.5d + x: -12.5d + y: 14.0d } { dependencies: [ - "49896161B31DB7B4" - "5B891BA4897FD73C" "1912758422EEB006" + "5B891BA4897FD73C" + "49896161B31DB7B4" ] dependency_requirement: "one_completed" description: ["{quests.low_voltage.lv_battery_preparation.desc}"] - hide_dependency_lines: true icon: "gtceu:battery_alloy_ingot" id: "6D9D54FAB21EC086" - size: 1.0d subtitle: "{quests.low_voltage.lv_battery_preparation.subtitle}" tasks: [ { @@ -195,8 +227,8 @@ } ] title: "{quests.low_voltage.lv_battery_preparation.title}" - x: 7.5d - y: -0.5d + x: 5.0d + y: 4.0d } { dependencies: [ @@ -223,14 +255,10 @@ }] title: "{quests.low_voltage.cover_behaviour.title}" x: 6.0d - y: -3.0d + y: -10.0d } { - dependencies: [ - "32EA7E81885C8E87" - "10ECB471A77F5136" - "07E7678095258EDB" - ] + dependencies: ["47B899144B865516"] dependency_requirement: "one_completed" description: [ "{quests.low_voltage.machine_auto_output_behaviour.desc.1}" @@ -239,7 +267,7 @@ ] icon: "minecraft:hopper" id: "64E1E87B8AF72968" - shape: "square" + shape: "circle" size: 1.0d subtitle: "{quests.low_voltage.machine_auto_output_behaviour.subtitle}" tasks: [{ @@ -248,11 +276,11 @@ type: "checkmark" }] title: "{quests.low_voltage.machine_auto_output_behaviour.title}" - x: -5.0d - y: -0.5d + x: -2.5d + y: 2.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["12565AB92A2BF976"] description: [ "{quests.low_voltage.lv_wiremill.desc.1}" "{@pagebreak}" @@ -277,11 +305,11 @@ type: "item" }] title: "{quests.low_voltage.lv_wiremill.title}" - x: -3.0d - y: 0.5d + x: -1.0d + y: -1.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["12565AB92A2BF976"] description: ["{quests.low_voltage.lv_bender.desc}"] id: "10ECB471A77F5136" size: 1.0d @@ -302,11 +330,11 @@ type: "item" }] title: "{quests.low_voltage.lv_bender.title}" - x: -5.0d - y: 1.5d + x: -3.0d + y: -1.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["12565AB92A2BF976"] description: [ "{quests.low_voltage.lv_lathe.desc.1}" "{@pagebreak}" @@ -328,11 +356,11 @@ type: "item" }] title: "{quests.low_voltage.lv_lathe.title}" - x: -4.0d - y: 1.0d + x: -5.0d + y: -1.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["12565AB92A2BF976"] description: ["{quests.low_voltage.lv_polariser.desc}"] id: "29379C91D6E00436" size: 1.0d @@ -343,8 +371,8 @@ type: "item" }] title: "{quests.low_voltage.lv_polariser.title}" - x: -1.0d - y: -0.5d + x: 3.0d + y: -1.0d } { dependencies: [ @@ -370,8 +398,8 @@ type: "item" }] title: "{quests.low_voltage.lbb.title}" - x: 9.0d - y: 9.5d + x: 0.0d + y: -5.5d } { dependencies: ["1E9BE8D3F8A602DC"] @@ -391,18 +419,19 @@ type: "item" }] title: "{quests.low_voltage.lv_superconductor.title}" - x: -12.0d - y: 7.5d + x: -14.5d + y: 10.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["47B899144B865516"] description: [ "{quests.low_voltage.lv_chemical_bath.desc.1}" "{@pagebreak}" "{quests.low_voltage.lv_chemical_bath.desc.2}" ] - hide_dependency_lines: true id: "330BDB559A7BAB35" + optional: true + shape: "heart" size: 1.0d subtitle: "{quests.low_voltage.lv_chemical_bath.subtitle}" tasks: [{ @@ -411,8 +440,8 @@ type: "item" }] title: "{quests.low_voltage.lv_chemical_bath.title}" - x: -4.0d - y: 13.5d + x: 2.5d + y: 3.0d } { dependencies: ["64E1E87B8AF72968"] @@ -429,7 +458,7 @@ } } id: "59F0060B55307311" - shape: "square" + shape: "circle" size: 1.0d subtitle: "{quests.low_voltage.programmed_circuits.subtitle}" tasks: [{ @@ -438,11 +467,11 @@ type: "checkmark" }] title: "{quests.low_voltage.programmed_circuits.title}" - x: -6.5d - y: -0.5d + x: -4.5d + y: 2.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["63CD0236B337EAAD"] description: ["{quests.low_voltage.lv_canner.desc}"] id: "37307A46E70011D3" size: 1.0d @@ -453,8 +482,8 @@ type: "item" }] title: "{quests.low_voltage.lv_canner.title}" - x: 5.0d - y: 1.5d + x: 2.5d + y: 6.0d } { dependencies: [ @@ -482,8 +511,8 @@ type: "item" }] title: "{quests.low_voltage.lv_battery.title}" - x: 7.5d - y: 1.0d + x: 5.0d + y: 6.0d } { dependencies: ["3E6DC423FE4A99F7"] @@ -512,11 +541,14 @@ type: "item" }] title: "{quests.low_voltage.lv_battery_buffer_4x.title}" - x: 7.5d - y: 2.5d + x: 5.0d + y: 8.0d } { - dependencies: ["1646BF9194100E57"] + dependencies: [ + "1646BF9194100E57" + "2FC7B1E867E4194E" + ] description: [ "{quests.low_voltage.lv_ebf.desc.1}" "{@pagebreak}" @@ -541,14 +573,22 @@ type: "item" }] title: "{quests.low_voltage.lv_ebf.title}" - x: -10.0d - y: 7.5d + x: -12.5d + y: 10.0d } { - dependencies: ["22510C5F2386B453"] description: ["{quests.low_voltage.other_machines.desc}"] hide_dependency_lines: false - icon: "gtceu:crushed_sulfur_ore" + icon: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:crushed_sphalerite_ore" + } id: "701BCADAE5CF6CA5" shape: "circle" size: 1.0d @@ -559,8 +599,8 @@ type: "checkmark" }] title: "{quests.low_voltage.other_machines.title}" - x: 5.5d - y: 4.5d + x: 2.5d + y: 12.0d } { description: ["{quests.low_voltage.lv_age_progression.desc}"] @@ -576,7 +616,7 @@ }] title: "{quests.low_voltage.lv_age_progression.title}" x: 0.0d - y: -3.0d + y: -12.5d } { dependencies: [ @@ -586,7 +626,8 @@ dependency_requirement: "one_completed" description: ["{quests.low_voltage.lv_fluid_solidifier.desc}"] id: "581CDF545E1EA1FD" - size: 1.0d + shape: "octagon" + size: 1.5d subtitle: "{quests.low_voltage.lv_fluid_solidifier.subtitle}" tasks: [{ id: "20B1CA4DB2750E84" @@ -594,8 +635,8 @@ type: "item" }] title: "{quests.low_voltage.lv_fluid_solidifier.title}" - x: -8.0d - y: 3.5d + x: -4.5d + y: 6.0d } { dependencies: [ @@ -621,13 +662,13 @@ type: "item" }] title: "{quests.low_voltage.lv_ore_prospector.title}" - x: 9.0d - y: 1.0d + x: 7.0d + y: 7.0d } { dependencies: [ "6042514C8FC54334" - "5B2696206205CB2E" + "02E5D186ABF719F0" ] description: ["{quests.low_voltage.cupronickel_coil.desc}"] icon: { @@ -647,11 +688,10 @@ type: "item" }] title: "{quests.low_voltage.cupronickel_coil.title}" - x: -8.0d - y: 7.5d + x: -10.5d + y: 10.0d } { - dependencies: ["22510C5F2386B453"] description: ["{quests.low_voltage.lv_gas_collector.desc}"] id: "15928F50AE80A5CF" shape: "square" @@ -663,11 +703,11 @@ type: "item" }] title: "{quests.low_voltage.lv_gas_collector.title}" - x: -4.0d - y: 9.5d + x: -8.5d + y: 12.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["47B899144B865516"] description: [ "{quests.low_voltage.lv_chemical_reactor.desc.1}" "{@pagebreak}" @@ -697,17 +737,19 @@ } ] title: "{quests.low_voltage.lv_chemical_reactor.title}" - x: -6.0d - y: 3.5d + x: -2.5d + y: 6.0d } { - dependencies: ["10ECB471A77F5136"] + dependencies: ["63CD0236B337EAAD"] description: [ "{quests.low_voltage.universal_cell.desc.1}" "{@pagebreak}" "{quests.low_voltage.universal_cell.desc.2}" ] id: "292938760AB9A12B" + optional: true + shape: "heart" size: 1.0d subtitle: "{quests.low_voltage.universal_cell.subtitle}" tasks: [{ @@ -723,16 +765,14 @@ type: "item" }] title: "{quests.low_voltage.universal_cell.title}" - x: -6.5d - y: 1.5d + x: 1.0d + y: 8.0d } { dependencies: ["581CDF545E1EA1FD"] description: ["{quests.low_voltage.mold_rotor.desc}"] icon: "gtceu:rotor_casting_mold" id: "115C4226F6473F0C" - optional: true - shape: "heart" size: 1.0d subtitle: "{quests.low_voltage.mold_rotor.subtitle}" tasks: [ @@ -748,29 +788,35 @@ } ] title: "{quests.low_voltage.mold_rotor.title}" - x: -9.5d - y: 3.5d + x: -6.5d + y: 7.0d } { - dependencies: ["5B891BA4897FD73C"] + dependencies: ["5B2696206205CB2E"] dependency_requirement: "one_completed" description: ["{quests.low_voltage.soldering_alloy.desc}"] - icon: "gtceu:soldering_alloy_dust" + icon: "gtceu:soldering_alloy_bucket" id: "713C8D6A20BF3A0E" shape: "square" size: 1.0d subtitle: "{quests.low_voltage.soldering_alloy.subtitle}" - tasks: [{ - id: "67F9F84D66E32728" - item: "gtceu:soldering_alloy_dust" - type: "item" - }] + tasks: [ + { + id: "5F6344C5B4DCE4C8" + item: "gtceu:soldering_alloy_bucket" + optional_task: true + type: "item" + } + { + id: "1095906933C39F9A" + type: "checkmark" + } + ] title: "{quests.low_voltage.soldering_alloy.title}" - x: 4.0d - y: 11.5d + x: -6.5d + y: 4.0d } { - dependencies: ["22510C5F2386B453"] description: [ "{quests.low_voltage.lv_electroliser.desc.1}" "{@pagebreak}" @@ -788,11 +834,11 @@ type: "item" }] title: "{quests.low_voltage.lv_electroliser.title}" - x: -6.0d - y: 7.5d + x: -2.5d + y: 12.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["12565AB92A2BF976"] description: ["{quests.low_voltage.lv_cutter.desc}"] id: "3A8D7FC6F316C38C" size: 1.0d @@ -813,11 +859,11 @@ type: "item" }] title: "{quests.low_voltage.lv_cutter.title}" - x: -2.0d - y: 0.0d + x: 1.0d + y: -1.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["63CD0236B337EAAD"] description: [ "{quests.low_voltage.lv_centrifuge.desc.1}" "{@pagebreak}" @@ -834,8 +880,8 @@ type: "item" }] title: "{quests.low_voltage.lv_centrifuge.title}" - x: -2.0d - y: 9.5d + x: -2.5d + y: 10.0d } { dependencies: ["37307A46E70011D3"] @@ -852,11 +898,11 @@ type: "item" }] title: "{quests.low_voltage.lv_sprayer.title}" - x: 5.0d - y: 0.0d + x: 2.5d + y: 8.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["47B899144B865516"] description: [ "{quests.low_voltage.lv_assembler.desc.1}" "{@pagebreak}" @@ -873,10 +919,10 @@ }] title: "{quests.low_voltage.lv_assembler.title}" x: 0.0d - y: 9.5d + y: 6.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["47B899144B865516"] description: [ "{quests.low_voltage.lv_extractor.desc.1}" "{@pagebreak}" @@ -891,8 +937,8 @@ type: "item" }] title: "{quests.low_voltage.lv_extractor.title}" - x: -6.0d - y: 5.5d + x: -4.5d + y: 4.0d } { dependencies: ["0DBC148D92A9F69F"] @@ -912,7 +958,7 @@ }] title: "{quests.low_voltage.lv_circuit_assembler.title}" x: 0.0d - y: 16.5d + y: 19.5d } { dependencies: ["1A77CA35F054F988"] @@ -930,8 +976,8 @@ type: "item" }] title: "{quests.low_voltage.lv_arc_furnace.title}" - x: -6.0d - y: 11.5d + x: -4.5d + y: 13.0d } { dependencies: [ @@ -973,8 +1019,8 @@ } ] title: "{quests.low_voltage.lv_oxygen.title}" - x: -6.0d - y: 9.5d + x: -4.5d + y: 12.0d } { dependencies: ["5263F866638D875C"] @@ -1004,11 +1050,11 @@ } ] title: "{quests.low_voltage.lv_glue.title}" - x: -2.0d - y: 11.5d + x: -4.5d + y: 10.0d } { - dependencies: ["5B891BA4897FD73C"] + dependencies: ["701BCADAE5CF6CA5"] dependency_requirement: "one_completed" description: ["{quests.low_voltage.gallium_arsenide.desc}"] id: "4073577B7EF9B593" @@ -1020,14 +1066,13 @@ type: "item" }] title: "{quests.low_voltage.gallium_arsenide.title}" - x: 2.0d - y: 11.5d + x: 2.5d + y: 14.0d } { dependencies: [ - "0EAC071414AEC07E" - "330BDB559A7BAB35" - "63CD0236B337EAAD" + "1C5F5EDAEE355130" + "628C72BC441DAAB5" ] description: [ "{quests.low_voltage.t2_circuit_board.desc.1}" @@ -1042,8 +1087,8 @@ item: "gtceu:phenolic_printed_circuit_board" type: "item" }] - x: -2.0d - y: 13.5d + x: -3.5d + y: 16.0d } { dependencies: [ @@ -1061,7 +1106,7 @@ }] title: "{quests.low_voltage.lv_diode.title}" x: 0.0d - y: 11.5d + y: 14.0d } { dependencies: [ @@ -1070,8 +1115,8 @@ ] description: ["{quests.low_voltage.1_mv_circuit.desc}"] id: "0DBC148D92A9F69F" - shape: "gear" - size: 1.5d + shape: "octagon" + size: 2.0d subtitle: "{quests.low_voltage.1_mv_circuit.subtitle}" tasks: [{ id: "70313E1917121E14" @@ -1080,7 +1125,7 @@ }] title: "{quests.low_voltage.1_mv_circuit.title}" x: 0.0d - y: 13.5d + y: 16.0d } { dependencies: ["1E9BE8D3F8A602DC"] @@ -1094,19 +1139,20 @@ type: "item" }] title: "{quests.low_voltage.aluminium_dust.title}" - x: -10.0d - y: 9.5d + x: -12.5d + y: 12.0d } { - dependencies: ["1E9BE8D3F8A602DC"] description: ["{quests.low_voltage.multiblock_tech.desc}"] hide_text_until_complete: false icon: "gtceu:heatproof_machine_casing" id: "2FC7B1E867E4194E" + shape: "circle" size: 1.0d subtitle: "{quests.low_voltage.multiblock_tech.subtitle}" tasks: [ { + disable_toast: true id: "1B5378C55DC4AE73" item: { Count: 1 @@ -1119,23 +1165,13 @@ type: "item" } { - id: "3201D38691813B6D" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:ulv_output_bus)item(gtceu:lv_output_bus))" - } - } - title: "{quests.low_voltage.multiblock_tech.task.2}" - type: "item" - } - { + disable_toast: true id: "1F39902E1FB41053" item: "gtceu:maintenance_hatch" type: "item" } { + disable_toast: true id: "705D4CC1AA36EF10" item: "gtceu:lv_muffler_hatch" type: "item" @@ -1147,6 +1183,7 @@ type: "item" } { + disable_toast: true id: "7E3D72FA8499654D" item: { Count: 1 @@ -1160,49 +1197,29 @@ } { count: 2L + disable_toast: true id: "64F174F0EDAED10E" item: "gtceu:lv_energy_input_hatch" type: "item" } + { + disable_toast: true + id: "226789AAB78CDC09" + item: "gtceu:lv_output_bus" + type: "item" + } ] title: "{quests.low_voltage.multiblock_tech.title}" - x: -10.0d - y: 5.5d + x: -12.5d + y: 8.0d } { - dependencies: ["22510C5F2386B453"] - description: [ - "{quests.low_voltage.lv_rock_crusher.desc.1}" - "{@pagebreak}" - "{quests.low_voltage.lv_rock_crusher.desc.2}" + dependencies: [ + "2E36E5755B2F551C" + "4B4F052F00435AFE" + "2D2CB8104E40E808" ] - icon: "gtceu:lv_rock_crusher" - id: "1F2359106FC95603" - optional: true - shape: "heart" - size: 1.0d - subtitle: "{quests.low_voltage.lv_rock_crusher.subtitle}" - tasks: [{ - id: "37396BE76A4F64C5" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"Any Rock Crusher\"}" - } - "ftbfiltersystem:filter": "or(item(gtceu:lv_rock_crusher)item(gtceu:mv_rock_crusher)item(gtceu:hv_rock_crusher)item(gtceu:ev_rock_crusher)item(gtceu:iv_rock_crusher)item(gtceu:luv_rock_crusher)item(gtceu:zpm_rock_crusher)item(gtceu:uv_rock_crusher))" - } - } - title: "{quests.low_voltage.lv_rock_crusher.task}" - type: "item" - }] - title: "{quests.low_voltage.lv_rock_crusher.title}" - x: 3.5d - y: 0.5d - } - { - dependencies: ["3E6DC423FE4A99F7"] + dependency_requirement: "one_completed" description: ["{quests.low_voltage.lv_turbo_charge.desc}"] icon: "gtceu:lv_charger_4x" id: "2DB259568F347C0E" @@ -1227,42 +1244,30 @@ }] title: "{quests.low_voltage.lv_turbo_charge.title}" x: 9.0d - y: -0.5d + y: 6.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["12565AB92A2BF976"] description: ["{quests.low_voltage.lv_mixer.desc}"] id: "5B891BA4897FD73C" subtitle: "{quests.low_voltage.lv_mixer.subtitle}" tasks: [{ - id: "337A6B670842F80A" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"LV Mixer\"}" - } - "ftbfiltersystem:filter": "or(item(greate:steel_mechanical_mixer)item(gtceu:lv_mixer))" - } - } - title: "{quests.low_voltage.lv_mixer.task}" + id: "7595657F7017B1F6" + item: "gtceu:lv_mixer" type: "item" }] title: "{quests.low_voltage.lv_mixer.title}" - x: 2.0d - y: 9.5d + x: 5.0d + y: -1.0d } { - dependencies: ["12565AB92A2BF976"] + dependencies: ["648BCF486E16CCB2"] description: [ "{quests.low_voltage.lv_machine_hull.desc.1}" "{@pagebreak}" "{quests.low_voltage.lv_machine_hull.desc.2}" ] id: "22510C5F2386B453" - shape: "gear" - size: 2.5d subtitle: "{quests.low_voltage.lv_machine_hull.subtitle}" tasks: [{ id: "499CACFF0350B3CA" @@ -1271,7 +1276,7 @@ }] title: "{quests.low_voltage.lv_machine_hull.title}" x: 0.0d - y: 4.5d + y: -10.0d } { dependencies: ["15928F50AE80A5CF"] @@ -1301,11 +1306,11 @@ } ] title: "{quests.low_voltage.lv_nitrogen.title}" - x: -4.0d - y: 11.5d + x: -10.5d + y: 12.0d } { - dependencies: ["648BCF486E16CCB2"] + dependencies: ["22510C5F2386B453"] description: ["{quests.low_voltage.lv_motor.desc}"] icon: "gtceu:lv_electric_motor" id: "7EED0084BA59FED1" @@ -1320,7 +1325,7 @@ }] title: "{quests.low_voltage.lv_motor.title}" x: 3.0d - y: -3.0d + y: -10.0d } { dependencies: ["581CDF545E1EA1FD"] @@ -1342,14 +1347,16 @@ } ] title: "{quests.low_voltage.mold_plate.title}" - x: -9.5d - y: 2.5d + x: -6.5d + y: 6.0d } { dependencies: ["3E6DC423FE4A99F7"] + description: ["{quests.low_voltage.night_vision_goggles.desc}"] id: "4B4F052F00435AFE" optional: true shape: "heart" + subtitle: "{quests.low_voltage.night_vision_goggles.subtitle}" tasks: [{ id: "00E6EDB1E4C1482F" item: { @@ -1359,15 +1366,15 @@ } type: "item" }] - x: 9.0d - y: 2.5d + x: 7.0d + y: 5.0d } { dependencies: ["7FA1525D681C4B4A"] description: ["{quests.steam_age.alternator.desc.1}"] + icon: "createaddition:alternator" id: "2DC24661CAD557B0" optional: true - shape: "hexagon" subtitle: "{quests.steam_age.alternator.subtitle}" tasks: [ { @@ -1391,11 +1398,14 @@ } ] title: "{quests.steam_age.alternator.title}" - x: 7.5d - y: 8.0d + x: -1.0d + y: -6.0d } { - dependencies: ["7567E885B7166603"] + dependencies: [ + "7567E885B7166603" + "1C5F5EDAEE355130" + ] description: [ "{quests.low_voltage.mv_hull.desc1}" "{@pagebreak}" @@ -1411,22 +1421,51 @@ type: "item" }] title: "{quests.low_voltage.mv_hull.title}" - x: -10.0d - y: 15.0d + x: -12.5d + y: 17.5d } { - dependencies: ["648BCF486E16CCB2"] + dependencies: [ + "170B544373A16112" + "2DC24661CAD557B0" + "1AD51E2B66EA7F67" + "6E186F9C57155BFA" + ] + dependency_requirement: "one_completed" description: ["{quests.low_voltage.lv_machine_casing.desc}"] + icon: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:red_steel_wire_cutter" + tag: { + Damage: 0 + DisallowContainerItem: 0b + GT.Behaviours: { } + GT.Tool: { + DefaultEnchantments: [ ] + HarvestLevel: 3 + MaxDamage: 15359 + ToolSpeed: 11.0f + } + HideFlags: 2 + } + } id: "12565AB92A2BF976" + shape: "circle" + size: 1.5d subtitle: "{quests.low_voltage.lv_machine_casing.subtitle}" tasks: [{ - id: "7459A24E5EBE148D" - item: "gtceu:lv_machine_casing" - type: "item" + id: "373E2FE9A8AB14B3" + type: "checkmark" }] title: "{quests.low_voltage.lv_machine_casing.title}" x: 0.0d - y: 1.0d + y: -3.5d } { dependencies: ["0DBC148D92A9F69F"] @@ -1451,11 +1490,11 @@ type: "item" }] title: "{quests.low_voltage.lv_greenhouse.title}" - x: 2.25d - y: 13.5d + x: 2.5d + y: 16.0d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["47B899144B865516"] description: ["{quests.low_voltage.lv_aqueous_accumulator.desc}"] icon: "tfg:lv_aqueous_accumulator" id: "47E6F8AC20D51814" @@ -1475,8 +1514,8 @@ type: "item" }] title: "{quests.low_voltage.lv_aqueous_accumulator.title}" - x: 2.0d - y: 0.0d + x: 2.5d + y: 2.0d } { dependencies: [ @@ -1488,7 +1527,6 @@ description: ["{quests.low_voltage.lv_combuston_gen.desc}"] id: "170B544373A16112" optional: true - shape: "hexagon" subtitle: "{quests.low_voltage.lv_combuston_gen.subtitle}" tasks: [{ id: "2B36CA88F25D5449" @@ -1496,8 +1534,8 @@ type: "item" }] title: "{quests.low_voltage.lv_combuston_gen.title}" - x: 7.5d - y: 11.0d + x: -3.0d + y: -6.0d } { dependencies: ["22510C5F2386B453"] @@ -1516,8 +1554,8 @@ type: "checkmark" }] title: "{quests.low_voltage.link_chapter.title}" - x: 5.5d - y: 8.5d + x: 0.0d + y: -8.0d } { dependencies: ["5F3063C539C9CBBF"] @@ -1539,8 +1577,8 @@ type: "item" }] title: "{quests.low_voltage.lv_seeds.title}" - x: 11.0d - y: 11.0d + x: -6.5d + y: -6.5d } { dependencies: ["55213ACBF5F5D398"] @@ -1555,8 +1593,8 @@ type: "item" }] title: "{quests.low_voltage.lv_seed_oil.title}" - x: 10.0d - y: 11.0d + x: -5.5d + y: -6.5d } { dependencies: ["1D979CB5862BD480"] @@ -1571,12 +1609,10 @@ type: "item" }] title: "{quests.low_voltage.lv_biodiesel.title}" - x: 9.0d - y: 11.0d + x: -4.5d + y: -6.5d } { - dependencies: ["1912758422EEB006"] - dependency_requirement: "one_completed" description: ["{quests.low_voltage.cupronickel_ingot.desc}"] id: "6042514C8FC54334" shape: "diamond" @@ -1587,8 +1623,8 @@ type: "item" }] title: "{quests.low_voltage.cupronickel_ingot.title}" - x: -8.0d - y: 9.5d + x: -10.5d + y: 8.0d } { dependencies: ["7567E885B7166603"] @@ -1617,14 +1653,10 @@ } ] title: "{quests.low_voltage.aluminium_greate.title}" - x: -12.0d - y: 11.5d + x: -14.5d + y: 14.0d } { - dependencies: [ - "5263F866638D875C" - "3D98819A799D2E64" - ] dependency_requirement: "one_completed" description: ["{quests.low_voltage.oil.desc}"] hide_dependency_lines: true @@ -1639,8 +1671,8 @@ type: "checkmark" }] title: "{quests.low_voltage.oil.title}" - x: 10.0d - y: 12.0d + x: -5.5d + y: -5.5d } { dependencies: [ @@ -1650,7 +1682,6 @@ description: ["{quests.low_voltage.lv_gas_turbine.desc}"] id: "1AD51E2B66EA7F67" optional: true - shape: "hexagon" subtitle: "{quests.low_voltage.lv_gas_turbine.subtitle}" tasks: [{ id: "295425BB3FED8220" @@ -1658,8 +1689,8 @@ type: "item" }] title: "{quests.low_voltage.lv_gas_turbine.title}" - x: 7.5d - y: 6.5d + x: 3.0d + y: -6.0d } { dependencies: ["2CEE3C0972650C81"] @@ -1690,8 +1721,8 @@ } ] title: "{quests.low_voltage.lv_naphtha_light.title}" - x: 9.0d - y: 12.0d + x: -4.5d + y: -5.5d } { dependencies: ["5F3063C539C9CBBF"] @@ -1707,8 +1738,8 @@ type: "item" }] title: "{quests.low_voltage.lv_gas_syngas.title}" - x: 9.0d - y: 6.5d + x: 4.5d + y: -6.0d } { dependencies: [ @@ -1725,8 +1756,8 @@ type: "item" }] title: "{quests.low_voltage.glowstone.title}" - x: -8.0d - y: 5.5d + x: -6.5d + y: 5.0d } { dependencies: ["22510C5F2386B453"] @@ -1747,8 +1778,222 @@ type: "checkmark" }] title: "{quests.low_voltage.lost.title}" - x: 1.5d - y: 5.0d + x: -2.0d + y: -10.0d + } + { + dependencies: [ + "32EA7E81885C8E87" + "3A8D7FC6F316C38C" + "10ECB471A77F5136" + "5B891BA4897FD73C" + "07E7678095258EDB" + "29379C91D6E00436" + ] + dependency_requirement: "one_completed" + description: ["{quests.low_voltage.next_machines.desc}"] + icon: { + Count: 1 + id: "gtceu:lv_blue_steel_wrench" + tag: { + Charge: 2147483647L + Damage: 0 + DisallowContainerItem: 0b + GT.Behaviours: { + Mode: 2b + } + GT.Tool: { + DefaultEnchantments: [ ] + HarvestLevel: 3 + MaxDamage: 6143 + ToolSpeed: 34.0f + } + HideFlags: 2 + MaxCharge: 2147483647L + } + } + id: "47B899144B865516" + shape: "circle" + size: 1.5d + subtitle: "{quests.low_voltage.next_machines.subtitle}" + tasks: [{ + id: "4E3F61B3665C360D" + type: "checkmark" + }] + title: "{quests.low_voltage.next_machines.title}" + x: 0.0d + y: 2.0d + } + { + dependencies: ["3D98819A799D2E64"] + description: ["{quests.low_voltage.lv_distillery.desc}"] + id: "26C843A618A39A44" + subtitle: "{quests.low_voltage.lv_distillery.subtitle}" + tasks: [{ + id: "7A2467AC143CE86C" + item: "gtceu:lv_distillery" + type: "item" + }] + x: -4.5d + y: 8.0d + } + { + dependencies: ["26C843A618A39A44"] + description: [ + "{quests.low_voltage.phenolic_resin.desc.1}" + "{@pagebreak}" + "{quests.low_voltage.phenolic_resin.desc.2}" + ] + icon: "tfg:phenolic_resin_bucket" + id: "671F90ADCDF476A8" + subtitle: "{quests.low_voltage.phenolic_resin.subtitle}" + tasks: [ + { + id: "173ED252A38EC942" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(nbt(fuzzy:{fluid:{FluidName:\"tfg:phenolic_resin\"}})nbt(fuzzy:{Fluid:{FluidName:\"tfg:phenolic_resin\"}})item(tfg:phenolic_resin_bucket))" + } + } + optional_task: true + title: "{material.tfg.phenolic_resin}" + type: "item" + } + { + id: "7427C1BCD5B921B6" + type: "checkmark" + } + ] + title: "{material.tfg.phenolic_resin}" + x: -6.5d + y: 10.0d + } + { + dependencies: ["671F90ADCDF476A8"] + description: [ + "{quests.low_voltage.bakelite.desc.1}" + "{@pagebreak}" + "{quests.low_voltage.bakelite.desc.2}" + ] + id: "1C5F5EDAEE355130" + shape: "octagon" + size: 1.5d + subtitle: "{quests.low_voltage.bakelite.subtitle}" + tasks: [{ + id: "0938AC37E76A29D7" + item: "tfg:bakelite_plate" + type: "item" + }] + title: "{material.tfg.bakelite}" + x: -6.5d + y: 16.0d + } + { + description: ["{quests.low_voltage.lv_forming_press.desc}"] + icon: "gtceu:lv_forming_press" + id: "628C72BC441DAAB5" + subtitle: "{quests.low_voltage.lv_forming_press.subtitle}" + tasks: [{ + id: "60128F9B939ED982" + item: "gtceu:lv_forming_press" + type: "item" + }] + x: -3.5d + y: 18.0d + } + { + dependencies: [ + "671F90ADCDF476A8" + "6FFD4990FF07078A" + "698DCAB4F014EB3B" + ] + dependency_requirement: "one_completed" + description: ["{quests.low_voltage.refractory_brick.desc}"] + id: "02E5D186ABF719F0" + subtitle: "{quests.low_voltage.refractory_brick.subtitle}" + tasks: [{ + id: "5E377C9A0AD52487" + item: "tfg:magnesia_refractory_brick_ingot" + type: "item" + }] + x: -8.5d + y: 10.0d + } + { + description: ["{quests.low_voltage.magnesia.desc}"] + id: "698DCAB4F014EB3B" + shape: "diamond" + subtitle: "{quests.low_voltage.magnesia.subtitle}" + tasks: [{ + id: "57C83D16611E601A" + item: "gtceu:magnesia_dust" + type: "item" + }] + x: -8.5d + y: 8.0d + } + { + dependencies: ["47B899144B865516"] + description: ["{quests.low_voltage.food_machines.desc}"] + icon: "tfg:lv_food_processor" + id: "3B6A7B1E9114C2A9" + optional: true + shape: "heart" + subtitle: "{quests.low_voltage.food_machines.subtitle}" + tasks: [ + { + id: "12EE86BCBC04FCCE" + item: "tfg:lv_food_processor" + type: "item" + } + { + id: "4A3187B73528B908" + item: "tfg:lv_food_oven" + type: "item" + } + { + id: "2D6C7761076670A5" + item: "tfg:rotten_voiding_cover" + optional_task: true + type: "item" + } + ] + title: "{quests.low_voltage.food_machines.title}" + x: 2.5d + y: 4.0d + } + { + dependencies: [ + "713C8D6A20BF3A0E" + "7C4807A247AF36A1" + ] + dependency_requirement: "one_completed" + description: ["{quests.create_logistics.stock_link.desc}"] + disable_toast: true + id: "50FE830DA6F403B2" + subtitle: "{quests.create_logistics.stock_link.subtitle}" + tasks: [{ + id: "7B71B5DBEFD84C1F" + item: "create:stock_link" + type: "item" + }] + title: "{quests.create_logistics.stock_link.title}" + x: -8.5d + y: 4.0d + } + { + description: ["{quests.low_voltage.lv_laser_engraver.desc}"] + id: "383A14A5C65B3ADF" + subtitle: "{quests.low_voltage.lv_laser_engraver.subtitle}" + tasks: [{ + id: "4CB619C294C16642" + item: "gtceu:lv_laser_engraver" + type: "item" + }] + x: -10.5d + y: 2.0d } ] subtitle: ["{quests.low_voltage.subtitle}"] diff --git a/config/ftbquests/quests/chapters/questsmetallurgy.snbt b/config/ftbquests/quests/chapters/questsmetallurgy.snbt index 132a73332..61a20311b 100644 --- a/config/ftbquests/quests/chapters/questsmetallurgy.snbt +++ b/config/ftbquests/quests/chapters/questsmetallurgy.snbt @@ -415,6 +415,7 @@ description: ["{quests.metal_age.anvil_recycling.desc}"] icon: "tfc:firepit" id: "3B2550394C94CEC9" + shape: "circle" size: 1.0d subtitle: "{quests.metal_age.anvil_recycling.subtitle}" tasks: [{ @@ -646,6 +647,7 @@ } } id: "5792DDAA82895E67" + shape: "circle" subtitle: "{quests.metal_age.red_blu.subtitle}" tasks: [{ id: "63890641DCD6659F" @@ -719,6 +721,7 @@ description: ["{quests.metal_age.wrought_iron_goodies.desc}"] icon: "create:chute" id: "20C2CE92459BE14A" + shape: "circle" subtitle: "{quests.metal_age.wrought_iron_goodies.subtitle}" tasks: [{ id: "60605AA92B6947D8" @@ -734,6 +737,7 @@ description: ["{quests.metal_age.fire_clay_ingredients.desc}"] icon: "minecraft:cartography_table" id: "5A936E9BCF30AA3D" + shape: "circle" subtitle: "{quests.metal_age.fire_clay_ingredients.subtitle}" tasks: [{ id: "39CA01175999A291" @@ -816,6 +820,7 @@ description: ["{quests.metal_age.steel_goodies.desc}"] icon: "greate:steel_mechanical_pump" id: "0C9B7745D812555A" + shape: "circle" subtitle: "{quests.metal_age.steel_goodies.subtitle}" tasks: [{ id: "3EB7C3AE88950E4B" diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt index 433379c42..753639ff5 100644 --- a/config/ftbquests/quests/chapters/questssteam_age.snbt +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -19,20 +19,22 @@ { id: "39027CF4DC307D33" linked_quest: "5E186CD5E83BFDF0" - x: -28.5d + x: -27.0d y: 2.0d } { id: "0CE64B9914191C56" linked_quest: "6FFD4990FF07078A" shape: "diamond" - x: -9.5d + x: -9.0d y: 11.5d } { id: "23A27702FF816291" linked_quest: "6903C72A254A7B08" - x: -12.5d + shape: "octagon" + size: 2.0d + x: -11.5d y: 8.0d } { @@ -40,27 +42,27 @@ linked_quest: "48A8E3210B2BAE1C" shape: "octagon" size: 2.0d - x: -28.5d + x: -27.0d y: 0.0d } { id: "7C03FE015586C652" linked_quest: "55213ACBF5F5D398" shape: "heart" - x: -12.0d + x: -10.5d y: 16.0d } { id: "65E0B13E245D2E5F" linked_quest: "379F434116632A89" - x: -26.0d + x: -24.5d y: 1.0d } { id: "68F5E521F2DB0A86" linked_quest: "0404FBCC34011053" shape: "heart" - x: -13.0d + x: -11.5d y: 16.0d } { @@ -77,6 +79,14 @@ x: -22.5d y: 4.0d } + { + id: "6C8C3BBD2BA9853B" + linked_quest: "56CA2EB7812529C5" + shape: "gear" + size: 1.5d + x: -13.0d + y: 13.5d + } ] quests: [ { @@ -84,7 +94,11 @@ "7B045998769930F0" "55FDF06AC0C01D0B" ] - description: ["{quests.steam_age.basic_millstone.desc}"] + description: [ + "{quests.steam_age.basic_millstone.desc.1}" + "{@pagebreak}" + "{quests.steam_age.basic_millstone.desc.2}" + ] id: "48C1E980F7D64317" size: 1.0d subtitle: "{quests.steam_age.basic_millstone.subtitle}" @@ -94,7 +108,7 @@ type: "item" }] title: "{quests.steam_age.basic_millstone.title}" - x: -20.5d + x: -19.0d y: 0.0d } { @@ -112,7 +126,7 @@ type: "item" }] title: "{quests.steam_age.horse_crank.title}" - x: -24.5d + x: -23.0d y: -2.0d } { @@ -131,7 +145,7 @@ type: "item" }] title: "{quests.steam_age.helve_hammer.title}" - x: -20.5d + x: -19.0d y: -4.0d } { @@ -159,7 +173,7 @@ } ] title: "{quests.steam_age.basic_greate.title}" - x: -20.5d + x: -19.0d y: -2.0d } { @@ -173,7 +187,7 @@ type: "item" }] title: "{quests.steam_age.water_wheel.title}" - x: -14.5d + x: -13.0d y: 0.0d } { @@ -195,7 +209,7 @@ } ] title: "{quests.steam_age.windmill.title}" - x: -14.5d + x: -13.0d y: -4.0d } { @@ -210,7 +224,7 @@ type: "item" }] title: "{quests.steam_age.metal_casing.title}" - x: -9.5d + x: -8.0d y: -2.0d } { @@ -227,7 +241,7 @@ type: "item" }] title: "{quests.steam_age.steel_encased_fan.title}" - x: -5.5d + x: -4.0d y: 4.0d } { @@ -247,7 +261,7 @@ type: "item" }] title: "{quests.steam_age.steel_pump.title}" - x: -3.5d + x: -2.0d y: 2.0d } { @@ -297,7 +311,7 @@ } ] title: "{quests.steam_age.steam_engine.title}" - x: -5.5d + x: -4.0d y: -2.0d } { @@ -316,7 +330,7 @@ type: "item" }] title: "{quests.steam_age.mechanical_saw.title}" - x: -9.5d + x: -8.0d y: 0.0d } { @@ -330,7 +344,7 @@ type: "item" }] title: "{quests.steam_age.mechanical_harvester.title}" - x: -9.5d + x: -8.0d y: -4.0d } { @@ -358,7 +372,7 @@ } ] title: "{quests.steam_age.chute.title}" - x: -12.0d + x: -10.5d y: 0.0d } { @@ -376,7 +390,7 @@ type: "item" }] title: "{quests.steam_age.mold_table.title}" - x: -3.5d + x: -2.0d y: 4.0d } { @@ -406,7 +420,7 @@ } ] title: "{quests.steam_age.steel_greate.title}" - x: -5.5d + x: -4.0d y: 2.0d } { @@ -424,7 +438,7 @@ type: "item" }] title: "{quests.steam_age.steel_millstone.title}" - x: -7.5d + x: -6.0d y: 2.0d } { @@ -523,8 +537,8 @@ } ] title: "{quests.steam_age.miner.title}" - x: -10.0d - y: 17.0d + x: -9.0d + y: 18.0d } { dependencies: [ @@ -681,7 +695,7 @@ type: "item" }] title: "{quests.steam_age.item_pipes.title}" - x: -12.0d + x: -10.5d y: 2.0d } { @@ -708,7 +722,7 @@ } ] title: "{quests.steam_age.circuit_boards.title}" - x: -10.0d + x: -9.0d y: 10.0d } { @@ -777,8 +791,8 @@ type: "item" }] title: "{quests.steam_age.vacuum_tubes.title}" - x: -8.0d - y: 14.0d + x: -7.0d + y: 15.0d } { dependencies: ["7DB7AB5349218605"] @@ -828,7 +842,7 @@ type: "item" }] title: "{quests.steam_age.resistors.title}" - x: -5.0d + x: -4.0d y: 11.5d } { @@ -844,8 +858,8 @@ type: "item" }] title: "{quests.steam_age.coiling_machine.title}" - x: -5.0d - y: 16.0d + x: -4.0d + y: 17.0d } { dependencies: ["2C35D4E01AEC02AA"] @@ -860,8 +874,8 @@ type: "item" }] title: "{quests.steam_age.steel_mixer.title}" - x: -5.0d - y: 14.5d + x: -4.0d + y: 15.5d } { dependencies: ["2C35D4E01AEC02AA"] @@ -875,8 +889,8 @@ type: "item" }] title: "{quests.steam_age.lathe.title}" - x: -6.0d - y: 17.0d + x: -5.0d + y: 18.0d } { dependencies: [ @@ -913,8 +927,8 @@ type: "item" }] title: "{quests.steam_age.vibrating_table.title}" - x: -8.0d - y: 17.0d + x: -7.0d + y: 18.0d } { dependencies: ["2C35D4E01AEC02AA"] @@ -933,8 +947,8 @@ type: "item" }] title: "{quests.steam_age.rolling_mill.title}" - x: -5.0d - y: 13.0d + x: -4.0d + y: 14.0d } { dependencies: ["2C35D4E01AEC02AA"] @@ -948,8 +962,8 @@ type: "item" }] title: "{quests.steam_age.steel_saw.title}" - x: -7.0d - y: 17.0d + x: -6.0d + y: 18.0d } { dependencies: ["2C35D4E01AEC02AA"] @@ -963,8 +977,8 @@ type: "item" }] title: "{quests.steam_age.curving_press.title}" - x: -9.0d - y: 17.0d + x: -8.0d + y: 18.0d } { dependencies: [ @@ -1124,7 +1138,7 @@ } ] title: "{quests.steam_age.fluid_pipes.title}" - x: -3.5d + x: -2.0d y: 0.0d } { @@ -1150,7 +1164,7 @@ type: "item" }] title: "{quests.steam_age.fluid_drums.title}" - x: -1.5d + x: 0.0d y: 2.0d } { @@ -1179,8 +1193,8 @@ type: "item" }] title: "{quests.steam_age.potin.title}" - x: -3.5d - y: 14.5d + x: -2.5d + y: 15.5d } { dependencies: ["6F1BC99BE641B671"] @@ -1207,7 +1221,7 @@ } ] title: "{quests.steam_age.create_tools.title}" - x: -22.5d + x: -21.0d y: -4.0d } { @@ -1240,7 +1254,10 @@ y: 16.0d } { - dependencies: ["6AA07588374B59AB"] + dependencies: [ + "6AA07588374B59AB" + "56CA2EB7812529C5" + ] description: ["{quests.steam_age.vacuum_chamber.desc}"] id: "5F3063C539C9CBBF" subtitle: "{quests.steam_age.vacuum_chamber.subtitle}" @@ -1250,7 +1267,7 @@ type: "item" }] title: "{quests.steam_age.vacuum_chamber.title}" - x: -12.5d + x: -11.5d y: 15.0d } { @@ -1321,7 +1338,7 @@ } ] title: "{quests.steam_age.poor_paths.title}" - x: -26.0d + x: -24.5d y: -3.5d } { @@ -1373,7 +1390,7 @@ } ] title: "{quests.steam_age.normal_paths.title}" - x: -26.5d + x: -25.0d y: -2.0d } { @@ -1431,7 +1448,7 @@ } ] title: "{quests.steam_age.good_paths.title}" - x: -26.0d + x: -24.5d y: -0.5d } { @@ -1453,7 +1470,7 @@ type: "item" }] title: "{quests.steam_age.lv_circuit.title}" - x: -8.0d + x: -7.0d y: 8.0d } { @@ -1468,7 +1485,7 @@ type: "item" }] title: "{quests.steam_age.paper.title}" - x: -3.5d + x: -2.5d y: 11.5d } { @@ -1491,7 +1508,7 @@ type: "item" }] title: "{quests.metal_age.bronze_goodies.title}" - x: -22.5d + x: -21.0d y: -2.0d } { @@ -1515,7 +1532,7 @@ type: "item" }] title: "{quests.metal_age.wrought_iron_goodies.title}" - x: -12.0d + x: -10.5d y: -2.0d } { @@ -1539,7 +1556,7 @@ type: "item" }] title: "{quests.metal_age.steel_goodies.title}" - x: -5.5d + x: -4.0d y: 0.0d } { @@ -1621,7 +1638,7 @@ type: "item" }] title: "{quests.steam_age.rotation_speed_controller.title}" - x: -7.5d + x: -6.0d y: 0.0d } { @@ -1638,7 +1655,7 @@ type: "item" }] title: "{quests.steam_age.resin_boards.title}" - x: -11.5d + x: -10.5d y: 11.5d } { @@ -1672,7 +1689,7 @@ } ] title: "{quests.metal_age.coke_oven.title}" - x: -14.5d + x: -13.0d y: -2.0d } { @@ -1707,7 +1724,7 @@ type: "item" }] title: "{quests.steam_age.basic_mech_press.title}" - x: -18.5d + x: -17.0d y: -2.0d } { @@ -1730,7 +1747,7 @@ type: "item" }] title: "{quests.steam_age.steel_mech_press.title}" - x: -7.5d + x: -6.0d y: 4.0d } { @@ -1745,7 +1762,7 @@ type: "checkmark" }] title: "{quests.steam_age.fuel_sources.title}" - x: -7.5d + x: -6.0d y: -2.0d } { @@ -1759,7 +1776,7 @@ type: "item" }] title: "{quests.steam_age.large_water_wheel.title}" - x: -3.5d + x: -2.0d y: -2.0d } { @@ -1781,8 +1798,8 @@ type: "item" }] title: "{quests.steam_age.supers.title}" - x: -10.5d - y: 13.5d + x: -6.0d + y: 13.0d } { dependencies: ["0D0D461AE3A3F7BF"] @@ -1811,7 +1828,7 @@ } ] title: "{quests.steam_age.multiblock_tank.title}" - x: -16.5d + x: -15.0d y: -2.0d } { diff --git a/config/ftbquests/quests/chapters/questsstoneage.snbt b/config/ftbquests/quests/chapters/questsstoneage.snbt index b429838d3..02786704d 100644 --- a/config/ftbquests/quests/chapters/questsstoneage.snbt +++ b/config/ftbquests/quests/chapters/questsstoneage.snbt @@ -1674,6 +1674,7 @@ } } id: "1562419608EB333D" + shape: "circle" size: 1.5d subtitle: "{quests.stone_age.hydration.subtitle}" tasks: [{ @@ -1847,6 +1848,7 @@ description: ["{quests.stone_age.water_bucket.desc}"] icon: "minecraft:water_bucket" id: "1F9321F1743A0B79" + shape: "circle" subtitle: "{quests.stone_age.water_bucket.subtitle}" tasks: [{ id: "64BE95016DF461FD" diff --git a/config/ftbquests/quests/chapters/tips__tools.snbt b/config/ftbquests/quests/chapters/tips__tools.snbt index 9f57ea394..897535008 100644 --- a/config/ftbquests/quests/chapters/tips__tools.snbt +++ b/config/ftbquests/quests/chapters/tips__tools.snbt @@ -790,7 +790,10 @@ y: 15.0d } { - dependencies: ["02FDECC931B5E8EF"] + dependencies: [ + "02FDECC931B5E8EF" + "3E6DC423FE4A99F7" + ] description: [ "{quests.tfg_tips.gt_power_tools.desc.1}" "{@pagebreak}" @@ -823,20 +826,13 @@ } } id: "2D2CB8104E40E808" + optional: true subtitle: "{quests.tfg_tips.gt_power_tools.subtitle}" - tasks: [ - { - id: "5DA224C235E227E3" - title: "GT Tool" - type: "checkmark" - } - { - id: "5B0BF3A94CA0D8A9" - item: "gtceu:lv_charger_4x" - optional_task: true - type: "item" - } - ] + tasks: [{ + id: "5DA224C235E227E3" + title: "GT Tool" + type: "checkmark" + }] title: "{quests.tfg_tips.gt_power_tools.title}" x: 10.5d y: 11.5d diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 4f656545c..c07bbc0e6 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -190,6 +190,8 @@ "block.gtceu.wire_coil.tooltip_cracking": "§8Cracking Unit, Moon and Ostrum Harvesters:§r", "tooltip.moldraw.shift_view_molecule": "§7§oHold (Shift) for Molecular Structure§r", "tooltip.moldraw.shift_view_alloy": "§7§oHold (Shift) for Alloy Composition§r", + "gtceu.medical_condition.antidote.description.effect_removed": "Removes %s%% of the above conditions' effects", + "gtceu.medical_condition.antidote.description.effect_removed.all": "Removes all of the above conditions' effects", "gtceu.greenhouse": "Electric Greenhouse", "gtceu.steam_bloomery": "Steam Bloomery", "gtceu.food_oven": "Food Oven", diff --git a/kubejs/assets/tfg/alloys/weak_blue_steel.json b/kubejs/assets/tfg/alloys/weak_blue_steel.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/tfg/alloys/weak_blue_steel.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/tfg/alloys/weak_red_steel.json b/kubejs/assets/tfg/alloys/weak_red_steel.json new file mode 100644 index 000000000..873cd3288 --- /dev/null +++ b/kubejs/assets/tfg/alloys/weak_red_steel.json @@ -0,0 +1,3 @@ +{ + "derive": true +} \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index c0d3908ba..518b158ad 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2898,10 +2898,10 @@ "quests.low_voltage.lv_machine_hull.title": "Your second machine hull", "quests.low_voltage.lv_machine_hull.subtitle": "It's time to get into electricity", "quests.low_voltage.lv_machine_hull.desc.1": "You're getting real close to your &6first LV Machine&r and the beginning of the electric age! If you haven't made any &4Red Steel&r yet, you'll now have to, but in return you will get &6new ways&r to improve your production.\n\nThis is the GregTech philosophy: &6the further you progress, the better the new recipes become&r.\n\nTry to make at least 3 or 4 casings to begin.", - "quests.low_voltage.lv_machine_hull.desc.2": "For some players, reaching a new tier is marked by crafting the first &6circuit&r, for others it's the &6machine hull&r or the &6energy hatch&r. You can use whatever works best for you, but for the sake of organization, these quests will use the machine hull.\n\nLost on where to start? We recommend looking for machines that will make everything else cheaper, starting with the thing you hate the most.", - "quests.low_voltage.lv_machine_casing.title": "LV Machine Casing for Create?", + "quests.low_voltage.lv_machine_hull.desc.2": "For some players, reaching a new tier is marked by crafting the first &6circuit&r, for others it's the &6machine hull&r or the &6energy hatch&r. You can use whatever works best for you, but for the sake of organization, these quests will use the machine hull.\n\nAs a quick reminder, &cmachines explode when exposed to rain or water&r on any of the blocks they're adjacent to, unless the machine specifically says otherwise.", + "quests.low_voltage.lv_machine_casing.title": "Your next machines", "quests.low_voltage.lv_machine_casing.subtitle": "More options!", - "quests.low_voltage.lv_machine_casing.desc": "To make getting into LV less intimidating, &5TFG&r gives you the option to use &6Create&r machines in place of some &6GregTech&r machines.\n\nWe introduced them &6last chapter&r, but just know that if there is an alternative to a GregTech machine, you will have the choice within the quest.", + "quests.low_voltage.lv_machine_casing.desc": "Now that you've got some electricity going, it's time to use it! We recommend starting by making machines that will make it easier and cheaper to make even more machines.\n\nTo make getting into LV less intimidating, &5TFG&r gives you the option to use &6Create&r machines in place of some &6GregTech&r machines.\n\nWe introduced them &6last chapter&r, but just know that if there is an alternative to a GregTech machine, you will have the choice within the quest.", "quests.low_voltage.lv_motor.title": "The First of Many Motors", "quests.low_voltage.lv_motor.subtitle": "Low Voltage beckons...", "quests.low_voltage.lv_motor.desc": "Remember that &2EMI is your friend&r if recipes are getting overwhelming. You can click the button with four stacked squares on the bottom right of any recipe, and EMI will show you a tree of all the crafting ingredients, and you can even have it add a \"shopping list\" to your favourites!\n\nGetting back on topic, set yourself up for &7LV&r by crafting six &aLV Electric Motors&r! This may seem like a lot, but that's the bare minimum required to get to the good stuff in &7LV&r.", @@ -2917,19 +2917,18 @@ "quests.low_voltage.lost.task": "I know what to do now!", "quests.low_voltage.lv_steam_turbine.title": "The Steam Turbine", "quests.low_voltage.lv_steam_turbine.subtitle": "You must construct additional turbines", - "quests.low_voltage.lv_steam_turbine.desc.1": "The &3Steam Turbine&r is one of the only generators you can realistically use in &7LV&r. &2Later, you'll unlock more interesting Power options&r, such as natural gases or petrols.\n\nWhen provided Steam, the turbine will output EU at a ratio of &d2 mB = 1 EU&r.", - "quests.low_voltage.lv_steam_turbine.desc.2": "If you're using a single &3Steam Turbine&r, you only need &a1x Tin Cables&r. On the other hand, if you upgrade to &32 Steam Turbines&r, you should use &a2x Tin Cables&r - else they may end up &cburning&r.\n\nThis is because of the &9Amperage&r mechanic... but that will be explained later so you can enjoy playing. Don't worry!", + "quests.low_voltage.lv_steam_turbine.desc": "The &3Steam Turbine&r is most players' first &7LV&r generator, as you've already got steam production set up from your Steam machines.\n\nWhen provided Steam, the turbine will output EU at a ratio of &d2 mB = 1 EU&r.\n\nOne downside of steam is transporting it, and due to its lack of energy density, you'll need large or huge pipes to carry it around. You may also consider upgrading to the Large Bronze Boiler once you start needing more power than what your single-block boilers can produce.", "quests.low_voltage.lbb.title": "Large Bronze Boiler", "quests.low_voltage.lbb.subtitle": "Boom, boom, boom, boom", - "quests.low_voltage.lbb.desc.1": "The &3Large Boiler&r is an &6optional&r big-boy variant of the Small Boilers. It runs off solid or liquid fuel.\n\nIf you want Steam-based power production, this is an alternative to the Create Steam Engine. Later power options are listed in the &bMV&r chapter.\n\nMake sure you set it up so it never runs out of water like your Small Boilers, otherwise it'll &cexplode&r!.", + "quests.low_voltage.lbb.desc.1": "The &3Large Boiler&r is an &6optional&r big-boy variant of the Small Boilers. It runs off solid or liquid fuel.\n\nIf you want Steam-based power production, this is an alternative to the Create Steam Engine.\n\nMake sure you set it up so it never runs out of water like your Small Boilers, otherwise it'll &cexplode&r!.", "quests.low_voltage.lbb.desc.2": "Once fully heated up, the &3LBB&r produces 800 Steam per tick, which is &d400EU/t&r after conversion, or 12.5 Basic Steam Turbines. Such (relatively!) immense power comes at the cost of &la lot&r of burnable fuel. &5With this in consideration&r, the GUI lets you &9throttle&r the Boiler down to 25 percent power for 200 Steam per tick. That's &d100EU/t&r, or slightly above 3 Basic Steam Turbines.\n\nWe recommend holding off making this until you're ready to power your EBF, or if you have a lot of steam multiblocks.", - "quests.low_voltage.lbb.desc.3": "In TerraFirmaGreg, you have a few options for fuel. You can use a Hose Pulley to pull Lava out of a deep underground lake, or set up a tree farm into a coke oven for Charcoal and Creosote. Lastly, there are huge surface-level Coal veins that you can extract with some automated mining machines and turn into Coke and significantly more Creosote than charcoal.\n\nIf you go the tree farm route, you'll need three coke ovens to power a full-throttle LBB.", + "quests.low_voltage.lbb.desc.3": "In TerraFirmaGreg, you have a few options for fuel. You can use a Hose Pulley to pull Lava out of a deep underground lake (no, infinite lava is not a thing), or set up a tree farm into a coke oven for Charcoal and Creosote. Lastly, there are huge surface-level Coal veins that you can extract with some automated mining machines and turn into Coke and significantly more Creosote than charcoal.\n\nIf you go the tree farm route, you'll need three coke ovens to power a full-throttle LBB.", "quests.low_voltage.lv_polariser.title": "Basic Polarizer", "quests.low_voltage.lv_polariser.subtitle": "The Polarizer polarizes!", "quests.low_voltage.lv_polariser.desc": "One of the cheapest - if not the cheapest - &7LV&r machine. Use this to make &6Redstone-free Magnetic Rods&r for your Motors. Whenever you start to batch your Motors, this machine will save you stacks and stacks of Redstone.", "quests.low_voltage.link_chapter.title": "Explain energy to me", "quests.low_voltage.link_chapter.subtitle": "There is a whole chapter about energy", - "quests.low_voltage.link_chapter.desc": "View the chapter by clicking here", + "quests.low_voltage.link_chapter.desc": "GregTech's energy system works differently to FE (Forge Energy), the system used by almost every other mod.\n\nIt might look like a lot of reading, but it's important to understand if you want to avoid accidents and get the most out of your power generation.\n\nThere's four ways to generate power in LV, and all are viable options. If you're new to GregTech, Steam is the easiest but falls off fast as you progress to further tiers. Gas fuel is more complicated to produce, but has the cheapest generators. Combustion is somewhere in between.\n\nHere's a link to the energy chapter:", "quests.low_voltage.link_chapter.task": "I read it", "quests.low_voltage.lv_combuston_gen.title": "The Combustion Generator", "quests.low_voltage.lv_combuston_gen.subtitle": "It does boom and make energy", @@ -2945,7 +2944,7 @@ "quests.low_voltage.lv_seeds.desc": "If you come across these plants, you should pick them up and start a farm.\n\nThey will be your best source of &aSeed Oil&r, a liquid used for producing &eBio Diesel&r. Canola is a bit more resistant to lower temperatures, while Sunflowers are happier in warmer climates. You also could grow them in your Electric Greenhouse if you don't want to spend as much time farming, at the expense of having to spend a little power to grow them.", "quests.low_voltage.lv_seeds.task": "Canola or Sunflowers", "quests.low_voltage.lv_gas_turbine.title": "The Gas Turbine", - "quests.low_voltage.lv_gas_turbine.subtitle": "It needs more circuits but less materials", + "quests.low_voltage.lv_gas_turbine.subtitle": "For petrochemical enthusiasts", "quests.low_voltage.lv_gas_turbine.desc": "With the help of &7Syngas&r, you now have a viable way to use the &cGas Turbine&r at &7LV&r. They work exactly like the other &6generators&r but should be a tiny bit cheaper than the &6Combustion Generator&r.", "quests.low_voltage.lv_gas_syngas.title": "Syngas", "quests.low_voltage.lv_gas_syngas.subtitle": "Not Wood Gas", @@ -2957,15 +2956,6 @@ "quests.low_voltage.lv_turbo_charge.subtitle": "Useful to charge your electric tools faster", "quests.low_voltage.lv_turbo_charge.desc": "&oThis quest's subject is optional, but may still be of interest to you. We've put it here in the name of completeness.&r\n\nThe &3Turbo Charger&r charges &6RF and EU&r items such as &9Drills&r extremely quickly.\n\nIt accepts up to 4 Amps for every item it charges, making it &6twice as fast&r as the &3Battery Buffer&r. It cannot discharge, though.\n\n&eAny&r Charger will complete this Quest.", "quests.low_voltage.lv_turbo_charge.task": "Any Turbo Charger will do", - "quests.low_voltage.lv_fisher.title": "Fishing Machine", - "quests.low_voltage.lv_fisher.subtitle": "Fully compatible with TFC!", - "quests.low_voltage.lv_fisher.desc": "&oThis quest's subject is optional, but may still be of interest to you. We've put it here in the name of completeness.&r\n\nThe &3Fisher&r catches fish from Water. It requires a 5x5 area of Water directly below to operate. It uses the same loot table as normal Fishing. Each operation consumes 1 String and EU equivalent to its tier (32 for &7LV&r, etc.). That's about it.\n\n&eFish Oil&r can be extracted from Fish, which can be used for &6Bio Diesel&r.", - "quests.low_voltage.lv_fisher.task": "Any Fisher will do", - "quests.low_voltage.lv_rock_crusher.title": "Rock Crusher", - "quests.low_voltage.lv_rock_crusher.subtitle": "Cobble is Love, Cobble is Life", - "quests.low_voltage.lv_rock_crusher.desc.1": "&oThis quest's subject is optional, but may still be of interest to you. We've put it here in the name of completeness.&r\n\nThe &3Rock Breaker&r is effectively a Cobblestone Generator in a box. You can give it any raw rock or cobblestone block, and it will produce copies of it. Very handy if you want a lot of bricks fast!\n\n&eAny&r Rock Breaker will complete this Quest.", - "quests.low_voltage.lv_rock_crusher.desc.2": "&l&3Lore:&r&o Obsidian requiring Redstone to generate is in reference to an ancient Minecraft bug, &7MC-4239&f. Placing Redstone where the Cobblestone would go in a cobble generator would make it generate Obsidian instead. This bug was resolved in snapshot 14w25b for Minecraft 1.8, over 9 years ago at the time of writing!", - "quests.low_voltage.lv_rock_crusher.task": "Any Rock Crusher will do", "quests.low_voltage.lv_aqueous_accumulator.title": "Aqueous Accumulator", "quests.low_voltage.lv_aqueous_accumulator.subtitle": "Thermal Foundation is calling", "quests.low_voltage.lv_aqueous_accumulator.desc": "The &3Aqueous Accumulator&r is basically a Rock Crusher but for fluids. Simply place the machine next to two source blocks of the appropriate fluid, set the circuit, and voila! It'll keep producing more of that fluid. It effectively does the same thing as a mechanical pump, but using electricity instead of mechanical power, so you may find it easier to fit into your factory. As a bonus, the HV one will make infinite lava too!\n\nYou can safely waterlog the source blocks to prevent them freezing in winter, and the machine will continue to work.", @@ -2986,13 +2976,13 @@ "quests.low_voltage.lv_lathe.task": "Any of these", "quests.low_voltage.universal_cell.title": "Better bucket", "quests.low_voltage.universal_cell.subtitle": "You can see inside, unlike those drums...", - "quests.low_voltage.universal_cell.desc.1": "Cells are an alternative form of Fluid storage. All Cell types with the same type and amount of Fluid inside them &6stack&r. They can be automatically filled with a &3Canning Machine&r.\n\nFluid Cells hold &done bucket&r of Fluid.\n\nNot sold on them yet? Unlike drums and buckets, cells &asafely contain&r their contents, preventing you from getting burnt, frozen, or floating.", - "quests.low_voltage.universal_cell.desc.2": "Universal Cells hold up to &done bucket&r, but also can store &9fractions&r of Buckets. They're particularly ideal if you want to store leftover Fluid without crafting a whole Drum. \n\nCells made from higher tier materials can hold even more fluid, but &9Drums&r and &9Super Tanks&r will hold more by then.\n\nLike Drums, Cells can be placed into a crafting grid to clear their contents.", + "quests.low_voltage.universal_cell.desc.1": "Cells are an alternative form of Fluid storage. All Cell types with the same type and amount of Fluid inside them &6stack&r. They can be automatically filled with a &3Canning Machine&r.\n\nThe basic Fluid Cells hold &done bucket&r of Fluid, while the Steel Cells hold eight buckets.\n\nNot sold on them yet? Unlike drums and buckets, cells &asafely contain&r their contents, preventing you from getting burnt, frozen, or floating. They're also significantly cheaper!", + "quests.low_voltage.universal_cell.desc.2": "Universal Cells hold up to &done bucket&r, but also can store &9fractions&r of Buckets. They're particularly ideal if you want to store leftover Fluid without crafting a whole Drum. \n\nCells made from higher tier materials can hold even more fluid, but &9Drums&r and &9Super Tanks&r can hold even more.\n\nLike Drums, Cells can be placed into a crafting grid to clear their contents.", "quests.low_voltage.universal_cell.task": "Any cell", "quests.low_voltage.machine_auto_output_behaviour.title": "Machine Auto-Output Behaviour", "quests.low_voltage.machine_auto_output_behaviour.subtitle": "Let's learn.", "quests.low_voltage.machine_auto_output_behaviour.desc.1": "All machines typically have one &7Front Face&r, and one &9Output Face&r.\n\nThe &7Front Face&r should be obvious.\nThe &9Output Face&r is the face with a dot or hole on it. By default, this is at the back of the machine as you place it.\n\nMachines can &aauto-output&r through their output face. To enable auto-output, click the appropriate button in the GUI. Fluid and item auto-outputs are toggled separately. Further control over auto-outputs can be achieved with &dFilters&r and &dCovers&r, which are explained in the &dCover Behavior&r quest found in this chapter.", - "quests.low_voltage.machine_auto_output_behaviour.desc.2": "Right-clicking a machine with a &5Wrench&r changes the output side, and shift-right-clicking changes the front side. Keep in mind that the front side &ccannot&r also be the output side! \n\nBy default, items and fluids cannot be inserted through the output side, but this can be toggled with a &5Screwdriver&r. Either right-click the output face directly, or shift-right-click on the grid corresponding to the side of the output.\n\nThere are unique machines that do not process recipes, such as the &3Pump&r, &3Miner&r, &3Fisher&r, &3Item Collector&r, etc. These machines will output on their &7Front Face&r (which is still marked as a dot).", + "quests.low_voltage.machine_auto_output_behaviour.desc.2": "Right-clicking a machine with a &5Wrench&r changes the output side, and shift-right-clicking changes the front side. Keep in mind that the front side &ccannot&r also be the output side! \n\nBy default, items and fluids cannot be inserted through the output side, but this can be toggled with a &5Screwdriver&r. Either right-click the output face directly, or shift-right-click on the grid corresponding to the side of the output.", "quests.low_voltage.machine_auto_output_behaviour.task": "Hmm, how interesting!", "quests.low_voltage.programmed_circuits.title": "Programmed Circuits", "quests.low_voltage.programmed_circuits.subtitle": "Don't want to spend your circuits to select recipes?", @@ -3039,18 +3029,20 @@ "quests.low_voltage.lv_amp_explanation.subtitle": "Amps and You: a how-to", "quests.low_voltage.lv_amp_explanation.desc": "This questline serves as a quick guide to &9GregTech Amperage&r. As for &dVoltage&r mechanics, we'll go over those once you reach &bMV&r.\n\n&6&lTL;DR:&r For safety, match the Amperage limit of your Cables with the max amount of Amps provided by your Energy Producers.\n\nStill confused? Check the &cGregTech Energy&r chapter for a full rundown on GregTech's electricity system!", "quests.low_voltage.lv_ore_prospector.title": "This is Hacking", - "quests.low_voltage.lv_ore_prospector.subtitle": "The future of prospector", + "quests.low_voltage.lv_ore_prospector.subtitle": "Prospector NEO", "quests.low_voltage.lv_ore_prospector.desc": "The Prospector is an amazing tool that'll help you find veins in no time.\n\nIts GUI is interactive. Right-clicking will scan for ores, displaying them on a dynamic map.\n\n&l&3Lore:&r&o Back in OUR day, the portable Prospector was locked to &dLuV&f. Kids these days have it easy.", + "quests.low_voltage.night_vision_goggles.subtitle": "See in the dark!", + "quests.low_voltage.night_vision_goggles.desc": "Charge them up and put them on your face to get a permanent Night Vision effect as long as the batteries last! You can toggle this effect with a keybind, set to &aO&r by default.", "quests.low_voltage.lv_sprayer.title": "Spray Can", "quests.low_voltage.lv_sprayer.subtitle": "Time for server tag wars", - "quests.low_voltage.lv_sprayer.desc": "Unfortunately, this is only an &lEmpty&r Spray Can, which you have to fill with Chemical Dye before using.\n\n&aSpray Cans&r do not provide any functionality involving machines, but can be quite &bvisually appealing and useful&r!\n\nAny (or almost any) GregTech tile entity (machine, pipe, cable...) can be &6painted&r to one of the 16 colors of your choosing. This is great for screenshots, or to separate different setups for convenience in a Multiplayer base. They also help with distinguishing between pipelines and cables.\n\nHolding the &aSpray Can&r in the offhand will automatically paint any block you place.", + "quests.low_voltage.lv_sprayer.desc": "Unfortunately, this is only an &lEmpty&r Spray Can, which you have to fill with Dye before using.\n\n&aSpray Cans&r do not provide any functionality involving machines, but can be quite &bvisually appealing and useful&r!\n\nAny (or almost any) GregTech tile entity (machine, pipe, cable...) can be &6painted&r to one of the 16 colors of your choosing. This is great for screenshots, or to separate different setups for convenience in a Multiplayer base. They also help with distinguishing between pipelines and cables.\n\nHolding the &aSpray Can&r in the offhand will automatically paint any block you place.", "quests.low_voltage.other_machines.title": "But wait, there's more!", "quests.low_voltage.other_machines.subtitle": "You can't escape Greg...", "quests.low_voltage.other_machines.desc": "We won't go over the &dfull scale of regular Ore Processing&r. Why regular? Some ores require special treatment, but that's a topic for much later. Oh no, we're already getting carried away!\n\nSome machines like the &bChemical Bath&r or the &bElectrolyser&r could be useful.\n\nIntimidated by ore processing? Check the dedicated &cOre Processing&r chapter for a full walkthrough!", "quests.low_voltage.other_machines.task": "I agree to lose my sanity", "quests.low_voltage.lv_chemical_bath.title": "Basic Chemical Bath", "quests.low_voltage.lv_chemical_bath.subtitle": "The Chemical Bath bathes...", - "quests.low_voltage.lv_chemical_bath.desc.1": "&lOutside of Ore Processing:&r\n\nYou can use the Chemical Bath to replace recipes made with the &6sealed barrel&r, making paper and leather &6painless&r.\n\nThere are some other less important recipes, such as dyeing various items and blocks, or bleaching them.", + "quests.low_voltage.lv_chemical_bath.desc.1": "&lOutside of Ore Processing:&r\n\nYou can use the Chemical Bath to replace recipes made with the &6sealed barrel&r, making leather and treated wood &6painless&r.\n\nThere are some other less important recipes, such as dyeing various items and blocks, or bleaching them.", "quests.low_voltage.lv_chemical_bath.desc.2": "&lFor Ore Processing:&r\n\nSome &aCrushed Ores&r have alternate routes when washed into &aPurified Ore&r, involving bathing in either &aMercury&r or &aSodium Persulfate&r. This step isn't really important, unless you really want that special &6Byproduct&r. This can be a nice alternate source of Silver (hint, hint!).", "quests.low_voltage.lv_electroliser.title": "Basic Electrolyzer", "quests.low_voltage.lv_electroliser.subtitle": "It goes bzzz", @@ -3059,8 +3051,7 @@ "quests.low_voltage.lv_electroliser.desc.3": "&cTake caution!&r Due to how ores work, directly smelting dusts into Ingots can give higher metal yields than electrolysis. However, it means you lose the other products in the dust. You will have to decide whether you want to prioritise direct value, or byproduct count.", "quests.low_voltage.lv_mixer.title": "Basic Mixer", "quests.low_voltage.lv_mixer.subtitle": "The Mixer mixes...", - "quests.low_voltage.lv_mixer.desc": "Using the mixer will &6significantly speed up&r the process of making colored steel, especially the &4red steel&r for your machine hulls. Even if you don't think you need it now, you'll find it &6essential&r later on.\n\nYou're used to alloying things in a Crucible, but for any new alloys (as well as all of the old ones), the GregTech way of alloying is to &amix together dusts&r and then heat them into ingots or extract them into fluids. Don't look at the Alloy Blast Smelter in JEI, that's not until &5EV&r.", - "quests.low_voltage.lv_mixer.task": "From Create or GregTech", + "quests.low_voltage.lv_mixer.desc": "Using the mixer will &6significantly speed up&r the process of making colored steel, since now it can directly make the &aColored Steel Dust&r. Even if you don't think you need it now, you'll find it &6essential&r later on.\n\nYou're used to alloying things in a Crucible, but for any new alloys (as well as all of the old ones), the GregTech way of alloying is to &amix together dusts&r and then heat them into ingots or extract them into fluids. &7(Don't look at the Alloy Blast Smelter in JEI, that's not until &5EV&r&7.)&r", "quests.low_voltage.soldering_alloy.title": "Soldering Alloy", "quests.low_voltage.soldering_alloy.subtitle": "I got soul but I'm not a solder", "quests.low_voltage.soldering_alloy.desc": "&aSoldering Alloy&r is used solely as a &9Fluid&r, and in most cases is &dinterchangeable&r in circuit recipes as a cheaper alternative to Tin&r.\n\nThe choice is yours. Save more materials? Make Soldering Alloy. Spend less time crafting materials? Tin is the way to go.", @@ -3068,12 +3059,12 @@ "quests.low_voltage.gallium_arsenide.subtitle": "I hate byproducts, they're awesome", "quests.low_voltage.gallium_arsenide.desc": "Many materials going forward cannot be smelted directly from any Ores! They are instead obtained as byproducts from processing of other ores. Gallium and Arsenic are &4among&r these materials.\n\nFor &dGallium&r, you may, ranged from worst to best (compromising difficulty and yields):\n\n&9- &3Electrolyze &aSphalerite&r for a low chance of small dust. Note that you lose out on direct smelting value.\n\n&9-&r Put &aCrushed Bauxite&r in the &3Chemical Bath&r. Note that this requires &9Sodium Persulfate&r.\n\n&9-&r Obtain it as a Byproduct of &aSphalerite&r Ore Processing in the &3Thermal Centrifuge&r or &3Centrifuge&r.\n\nFor &dArsenic&r, you will have to mine and &3centrifuge&r &aRealgar&r, or put &aCobaltite&r through an EBF.", "quests.low_voltage.lv_assembler.title": "Basic Assembler", - "quests.low_voltage.lv_assembler.subtitle": "This bad boy is assembling better than you and IKEA", - "quests.low_voltage.lv_assembler.desc.1": "While this is an extremely &9important&r machine for progression, this will &9&lnot help you immediately&r as it is &cexpensive.&r Most of the recipes you will want to pursue require &cfluids&r. Set up a little bit more infrastructure before rushing this.\n\nWith that out of the way, the &3Assembler&r is crucial to gameplay. Consider it as important as a Crafting Table, except... well, it's a machine, duh.", - "quests.low_voltage.lv_assembler.desc.2": "Once you have enough infrastructure you will be able to make use of better recipes for:\n\n&9-&r &6Vacuum Tubes&r, giving over double the previous yield\n\n&9-&r &6Resistors&r, granting 4 resistors per craft!\n\n&9-&r &6Circuit Boards&r, greatly reducing copper used\n\nWahoo!\n\n&l&3Lore:&r&o Back in the days of GregTech 2, the Assembling Machine only had two slots, and was only really used for alternate Circuit and Hull recipes.", + "quests.low_voltage.lv_assembler.subtitle": "No IKEA instruction manual required", + "quests.low_voltage.lv_assembler.desc.1": "While this is an extremely &9important&r machine for progression, we don't recommend trying to craft it as your first LV machine as it is &cexpensive.&r\n\nHowever, if you've followed the quests up to this point, now is a good time to craft it!\n\nThe &3Assembler&r is crucial to gameplay. Consider it as important as a Crafting Table, except... well, it's a machine, duh.", + "quests.low_voltage.lv_assembler.desc.2": "You will be able to make use of better recipes for:\n\n&9-&r &6Vacuum Tubes&r, giving over double the previous yield\n\n&9-&r &6Resistors&r, granting 4 resistors per craft!\n\n&9-&r &6Circuit Boards&r, greatly reducing copper used.\n\nWahoo!\n\n&l&3Lore:&r&o Back in the days of GregTech 2, the Assembling Machine only had two slots, and was only really used for alternate Circuit and Hull recipes.", "quests.low_voltage.lv_assembler.task": "Basic Assembler", - "quests.low_voltage.t2_circuit_board.subtitle": "Yeah yeah it's wood but don't under estimate it", - "quests.low_voltage.t2_circuit_board.desc.1": "This Circuit Board is used to create &dMV Circuits&r!\n\n&9Note:&r You have <wo&r options when making the Phenolic Printed Circuit Board. If you use &aSodium Persulfate&r or &aIron III Chloride&r, making boards takes &6only a quarter of the Silver&r as opposed to the crafting recipe.\n\n&lHowever&r, given how painful it may be for you to obtain these chemicals &oright now&r, you can simply use more Silver by mining most of a Galena Vein...\n\nThe quest for &aSodium Persulfate&r is in the &bMV&r chapter, if you're down for some light reading.", + "quests.low_voltage.t2_circuit_board.subtitle": "They don't make 'em like this any more...", + "quests.low_voltage.t2_circuit_board.desc.1": "This Circuit Board is used to create &dMV Circuits&r!\n\n&9Note:&r You have <wo&r options when making the Phenolic Printed Circuit Board. If you use &aSodium Persulfate&r or &aIron III Chloride&r, making boards takes &6only a quarter of the Silver&r as opposed to the Artisan Table recipe.\n\n&lHowever&r, given how painful it may be for you to obtain these chemicals &oright now&r, you can simply use more Silver by mining most of a Galena Vein...\n\nThe quest for &aSodium Persulfate&r is in the &bMV&r chapter, if you're down for some light reading.", "quests.low_voltage.t2_circuit_board.desc.2": "&l&3Lore:&r&o Back in GTCEu 1.12.2, these circuit boards were called &2Good Circuit Boards&f. Not exactly a fitting name, as they're &4rather evil&f to craft.", "quests.low_voltage.lv_diode.title": "Diode", "quests.low_voltage.lv_diode.subtitle": "Don't be swayed by EMI!", @@ -3088,22 +3079,30 @@ "quests.low_voltage.lv_greenhouse.title": "Electric Greenhouse", "quests.low_voltage.lv_greenhouse.subtitle": "The power of &mKubejs&r... Java", "quests.low_voltage.lv_greenhouse.desc.1": "The multiblock &3Electric Greenhouse&r can be your source of &aLogs&r and other plants if you prefer making GregTech machines over Create contraptions. It also has the unique property of being able to grow more of TFC's decorative plants!", - "quests.low_voltage.lv_greenhouse.desc.2": "&9Note: &rThis multiblock can have its walls customized to use any valid iron tier greenhouse block. Check the EMI multiblock preview for more usable blocks. The EGH can also be inproved in a few ways, including fertilizer or later in &cHV&r with the &3Hydroponics Loop.&r", + "quests.low_voltage.lv_greenhouse.desc.2": "&9Note: &rThis multiblock can have its walls customized to use any valid iron tier greenhouse block. Check the EMI multiblock preview for more usable blocks. The EGH can also be improved in a few ways, including fertilizer or later in &cHV&r with the &3Hydroponics Loop.&r", "quests.low_voltage.lv_greenhouse.desc.3": "&l&3Lore:&r&o This multiblock was originally created for the GTCEu Community Pack, but is also available on the GTCEu developer documentation. It's significantly slower than default to keep in line with TFC's slower tree growing speeds, but prior to TFG 0.9, it used to take almost an hour for each recipe!\n\nIn TFG 0.11 it was remade from scratch with new recipes, a new structure, a mk2 in the form of the hydroponic facility and custom renders by RubenVerg.\n\nThe original subtitle for this quest was \"The power of Kubejs\" since originally it was an example of a custom machine that could be made in Kubejs--A dev kit. But now the structure is entirely made in Java to support TFC's food properties properly.", "quests.low_voltage.lv_centrifuge.title": "Basic Centrifuge", "quests.low_voltage.lv_centrifuge.subtitle": "It does the opposite of the Mixer", "quests.low_voltage.lv_centrifuge.desc.1": "&lOutside of Ore Processing:&r\n\nOh boy, what can't this machine do? Decomposition recipes to separate dust types, separating air, do your taxes, and many others...\n\nThe list is too long! Let's just say &cyou need the Centrifuge&r.", "quests.low_voltage.lv_centrifuge.desc.2": "&lFor Ore Processing:&r\n\nThis takes &aImpure Dust&r or &aPurified Dust&r and turns them into clean Dust, plus an added tiny Dust &6Byproduct&r. This is outside of the optimal chain for Byproducts, but this is also the cheapest Ore Processing machine of the presented array to run and to setup on a small scale.", "quests.low_voltage.lv_centrifuge.desc.3": "&l&3Lore:&r&o In base GTCE, this was objectively the strongest Ore Processing machine as it was fairly easy to use, and gave three tiny dusts, just like the Ore Washer or the Thermal Centrifuge. We tuned it down in favor of diversity.", - "quests.low_voltage.lv_centrifuge.task": "", "quests.low_voltage.lv_glue.title": "Glued", "quests.low_voltage.lv_glue.subtitle": "What a sticky situation", - "quests.low_voltage.lv_glue.desc": "You can now &3centrifuge&r &aSticky Resin&r, which will give you &aGlue&r in fluid form (and the less useful Plantball, &6for now&r).\n\nGive yourself a headstart and get on producing Glue. You can use it to make &6cheaper Resistors&r, as well as &6cheaper Circuit Boards&r in the &3Assembler&r (and it is especially useful &oin the near future&r).\n\n&eNote:&r You can also centrifuge TFC's &aGlue&r or &aConifer Rosin&r, whichever's easiest!", + "quests.low_voltage.lv_glue.desc": "You can now &3centrifuge&r &aSticky Resin&r, which will give you &aGlue&r in fluid form (and the less useful Plantball, for now).\n\nGive yourself a headstart and get on producing Glue. You can use it to make &6cheaper Resistors&r, as well as &6cheaper Circuit Boards&r in the &3Assembler&r.\n\n&eNote:&r You can also centrifuge TFC's &aGlue&r or &aConifer Rosin&r, whichever's easiest!", "quests.low_voltage.lv_glue.task": "Glue", "quests.low_voltage.lv_cutter.title": "Basic Cutter", "quests.low_voltage.lv_cutter.subtitle": "The Cutter... cuts...", "quests.low_voltage.lv_cutter.desc": "For now, you should use &9Water&r for its recipes instead of trying to acquire Lubricant.\n\nIf you don't have one yet, this machine will also cut &6Rods into four Bolts&r.\n\nThis machine is the only way to obtain &dGem Plates&r, which are needed to craft Filters, and by extension, the &3Gas Collector&r.", "quests.low_voltage.lv_cutter.task": "Any cutter", + "quests.low_voltage.lv_distillery.subtitle": "The distillery distills...", + "quests.low_voltage.lv_distillery.desc": "The Distillery is kind of like a centrifuge, but mostly for organic/petrochemical fluids.\n\nIn &7LV&r, you can only extract one output from one input, but this will change after you get to the Distillation Tower in &6HV&r.\n\nYou won't use this machine for all that much in LV (unless you're using Combustion fuel), but it's essential for obtaining &ePhenol&r.", + "quests.low_voltage.phenolic_resin.subtitle": "Artificial Resin", + "quests.low_voltage.phenolic_resin.desc.1": "Phenolic Resin is made from a chemical reaction of both &6Phenol&r and &aFormaldehyde&r. While you only really have two options for obtaining the Phenol in &7LV&r (distilling either Creosote or Heavy Fuel), the Formaldehyde will require &dMethane&r, which has more options.", + "quests.low_voltage.phenolic_resin.desc.2": "The simplest (and slowest) is with hydrogen and carbon in a chemical reactor, which will also require very slow water electrolysis.\n\nThe distillery also has many options, including via Creosote.\n\nIf you're using Syngas as a fuel, you can also oxidize that into Methane.\n\nLastly, if you're feeling silly, you can also centrifuge a ton of mushrooms from the Beneath.", + "quests.low_voltage.magnesia.subtitle": "Also the name of a place in Greece!", + "quests.low_voltage.magnesia.desc": "Also known as Magnesium Oxide, Magnesia can be obtained in two ways:\n\n- Magnesite Ore\n\n- React Magnesium and Lye to create Magnesium Hydroxide, then calcinate it in a Coke Oven. Magnesium can be obtained from a variety of different ores.", + "quests.low_voltage.refractory_brick.subtitle": "The Cooler™ Fire Bricks", + "quests.low_voltage.refractory_brick.desc": "It's almost time to tear down your old TFC blast furnace setup! If you'd like, you can recycle most of it down into &6Refractory Clay Dust&r (we recommend using the Arc Furnace so you get back both the dust and the iron!), otherwise you can cook up some more Fire Clay. Just make sure you've got a large stockpile of Steel first!\n\nFrom there, mix the refractory clay dust with some Magnesia, Graphite, and Resin to create the improved ceramics required for &dyour first Coils&r.", "quests.low_voltage.lv_gas_collector.title": "Basic Gas Collector", "quests.low_voltage.lv_gas_collector.subtitle": "It'll take your breath away", "quests.low_voltage.lv_gas_collector.desc": "The Gas Collector collects Air that can then be centrifuged into &aOxygen&r and &aNitrogen&r.\n\n&l&3Lore:&r&o GregTech 5 players remember when they had to use a Compressor with IC2 cells to get Compressed Air... here, cell chemistry is no more.", @@ -3111,7 +3110,7 @@ "quests.low_voltage.lv_oxygen.subtitle": "Achtually, it's Dioxygen...", "quests.low_voltage.lv_oxygen.desc.1": "You could waste &o&eprecious years of your life&r in JEI looking for the most optimal Oxygen recipe, given the many ways to obtain it. Various minerals will produce it when electrolyzed.\n\nIf only the quest book had more information!", "quests.low_voltage.lv_oxygen.desc.2": "Surprise! The best source according to us (!) is &acentrifuging Air&r after making a &dGas Collector&r, which you might not be able to make just yet. This recipe also gives &aNitrogen&r, which is handy as it can speed up certain &3Electric Blast Furnace&r recipes&r.\n\nThe second best source according to us (!) is &aelectrolyzing Silicon Dioxide&r. Silicon Dioxide is obtained from various sources, such as Glass Dust and various Stone Dusts. We will come back to &6this method later&r because this one is actually &6god&r.", - "quests.low_voltage.lv_oxygen.desc.3": "The third best source according to us (!) is &aelectrolyzing Water&r. In reality, electrolysis of water is more suitable for &aHydrogen production&r due to the higher energy cost. &4Don't use this method as your main source of Oxygen&r, only for &1Hydrogen&r, once again we will help you later on to make Hydrogen.\n\nThe fourth best source according to us (!) is &ato not void&r it, EVER! Any Oxygen obtained from any source is worth something and should be stored in Tanks.\n\n&eNote:&r Submit a fluid by having it stored in &lany&r tank in your inventory. A bucket will also work.", + "quests.low_voltage.lv_oxygen.desc.3": "The third best source according to us (!) is &aelectrolyzing Water&r. In reality, electrolysis of water is more suitable for &aHydrogen production&r due to the higher energy cost. &4Don't use this method as your main source of Oxygen&r, only for &1Hydrogen&r, once again we will help you later on to make Hydrogen.\n\nThe fourth best source according to us (!) is &ato not void&r it, EVER! Any Oxygen obtained from any source is worth something and should be stored in Tanks.", "quests.low_voltage.lv_oxygen.task": "Oxygen", "quests.low_voltage.lv_nitrogen.title": "Nitrogen Gas", "quests.low_voltage.lv_nitrogen.subtitle": "Your EBF booster", @@ -3129,7 +3128,7 @@ "quests.low_voltage.lv_chemical_reactor.subtitle": "Chemistry for dummies", "quests.low_voltage.lv_chemical_reactor.task": "Liquid Rubber", "quests.low_voltage.lv_chemical_reactor.desc.1": "The &3Chemical Reactor&r will be required for &la lot&r of recipes.\n\nLet's give it a spin - why don't we use your freshly made Chemical Reactor to unlock a new, &6better recipe for Rubber&r? Rubber is &dunusable&r as a Fluid, so you will need to make another machine to process it further.", - "quests.low_voltage.lv_chemical_reactor.desc.2": "You can't make Rubber using the Chemical Reactor alone, so here are some &aother machines&r you might want to aim for: \n\nA &3Solidifier&r is useful to solidify your Rubber directly into &aRubber Sheets&r. You'll want these moving forward.\n\nYou could then make use of an &3Assembler&r to use your molten Rubber for &aCables&r. This isn't important for Tin Cables, but better cables will &eneed&r to be made in the Assembler.\n\n&eNote:&r Submit a fluid by having it stored in &lany&r tank in your inventory. A Drum is the perfect candidate.", + "quests.low_voltage.lv_chemical_reactor.desc.2": "You can't make Rubber using the Chemical Reactor alone, so here are some &aother machines&r you might want to aim for: \n\nA &3Solidifier&r is useful to solidify your Rubber directly into &aRubber Sheets&r. You'll want these moving forward.\n\nYou could then make use of an &3Assembler&r to use your molten Rubber for &aCables&r. This isn't important for Tin Cables, but better cables will &eneed&r to be made in the Assembler.", "quests.low_voltage.lv_fluid_solidifier.title": "Basic Fluid Solidifier", "quests.low_voltage.lv_fluid_solidifier.subtitle": "The Fluid Solidifier solidifies...", "quests.low_voltage.lv_fluid_solidifier.desc": "Build this machine next to your &3Chemical Reactor&r to automatically solidify Rubber into &aRubber Sheets&r.\n\nYou can make your Chemical Reactor auto-output if you &dwrench&r the side of your &3Chemical Reactor&r and enable Fluid &9auto-output&r.\n\nThere will be more Fluids to solidify, so you may re-purpose your &3Fluid Solidifier&r when not crafting Rubber - or make a second one!", @@ -3172,13 +3171,26 @@ "quests.low_voltage.mv_hull.desc2": "Before going further into &bMV&r, remember that in &6TFG&r you can use &6Create&r to reinforce your infrastructure if you don't want to use too much of GregTech. Aluminium Shafts and Cogwheels have 4x the stress capacity of steel ones, so you should be able to run all your machines much faster with them!", "quests.low_voltage.aluminium_greate.title": "Aluminium-tier Greate", "quests.low_voltage.aluminium_greate.subtitle": "Also known as Medium Stress", - "quests.low_voltage.aluminium_greate.desc": "It's been a while since your last upgrade, but now you have access to the next tier of Greate cogs and shafts. Like before, the aluminium ones have &bfour times&r the stress capacity of steel.\n\nContinuing with Greate beyond this point is very optional, and we encourage you to move over to GregTech, but the upgrade may help you de-spaghettify some of your old setups if you'd like to continue using them.\n\nYou can scale up your stress more with a &eSteam Engine&r, or convert EU into SU via the &9Create Additions&r &eElectric Motor&r.", + "quests.low_voltage.aluminium_greate.desc": "It's been a while since your last upgrade, but now you have access to the next tier of Greate cogs and shafts. Like before, the aluminium ones have &bfour times&r the stress capacity of steel.\n\nContinuing with Greate beyond this point is very optional, and we encourage you to move over to GregTech, but the upgrade may help you de-spaghettify some of your old setups if you'd like to continue using them.\n\nYou can scale up your stress production with a &eSteam Engine&r, or convert EU into SU via the &9Create Additions&r &eElectric Motor&r.", "quests.low_voltage.oil.title": "Found Oil early?", "quests.low_voltage.oil.subtitle": "For LV overachievers", - "quests.low_voltage.oil.desc": "If you've found any Oilsands ores or Oil spouts (in deserts) in your travels, you can actually start using a little bit of it in LV.\n\nYou can either convert it into Heavy Fuel and put it in your boilers, or better yet, use it to make a little &bPolyethylene&r!\n\nThe details of this are in the MV chapter, but at this point you can use the polyethylene to make a few things such as cheaper Machine Hulls and Diodes.", + "quests.low_voltage.oil.desc": "If you've found any Oilsands ores or Oil spouts (in deserts) in your travels, you can actually start using a little bit of it in LV.\n\nYou can either convert it into Heavy Fuel and put it in your boilers, convert it into Diesel to power your base.", "quests.low_voltage.glowstone.title": "Permanent Lighting", "quests.low_voltage.glowstone.subtitle": "A roundabout way of inventing light bulbs", "quests.low_voltage.glowstone.desc": "Looking for some cheap, permanent light sources? Now that you've got an LV Extractor (and soon an LV Fluid Solidifer), you can put all that &6Glowstone Dust&r you found in The Beneath to work. Ran out? You can make more in a Mixer.\n\nCheck out JEI for all the new light sources you can make with both liquid glowstone and glowstone blocks. GregTech also has some made with glowstone dust in an assembler.\n\nAs a bonus, you can also use liquid glowstone as an infinite fuel for your lamps!", + "quests.low_voltage.next_machines.title": "Even more machines", + "quests.low_voltage.next_machines.subtitle": "Now the fun begins", + "quests.low_voltage.next_machines.desc": "Now that you've got a few machines going, it's time to put them to work.\n\nTo the right of this quest are some purely optional machines (we don't know where else to put them in this chapter!), but otherwise the Assembler will make electronic components cheaper, while the Chemical Reactor, Extractor, and Fluid Solidifier will make Rubber cheaper. After that, the rest of &7LV&r is yours to explore!", + "quests.low_voltage.food_machines.title": "Food Machines", + "quests.low_voltage.food_machines.subtitle": "Fast Food On The Go", + "quests.low_voltage.food_machines.desc": "The Food Processor and Electric Oven are two custom machines designed specifically to work with TerraFirmaCraft's food system.\n\nThe processor can handle mixing bowl recipes, soups, sandwiches, smoking, brining, drying... You name it, this machine can do it. Except for cooking. That's what the oven is for.\n\nThe Rotten Voiding Cover can be placed on any machine or Input Bus to automatically void any food items that become rotten. Useful to stop your food automation from getting backed up!", + "quests.low_voltage.bakelite.subtitle": "Also known as Poly­oxy­benzyl­methylen­glycol­anhydride... try saying that five times fast", + "quests.low_voltage.bakelite.desc.1": "Your first Polymer! Simply mix Phenolic Resin with either Asbestos or Treated Chipboard Composite to finish it.\nYou'll be using Bakelite for crafting both Phenolic Circuit Boards and MV Machine Hulls, so making a big batch of it is a good idea, though you'll replace it with Polyethylene in &bMV&r.", + "quests.low_voltage.bakelite.desc.2": "&l&3Lore:&r&o Bakelite is the first plastic made from synthetic components. The award for first plastic ever goes to Parkesine, but that requires Nitrocellulose which is a long long chain of recipes to craft - too long for LV. The second ever plastic is Galalith, created with milk proteins and formaldehyde, but milk is difficult to automate.", + "quests.low_voltage.lv_forming_press.subtitle": "The Forming Press forms...", + "quests.low_voltage.lv_forming_press.desc": "This machine usually isn't used for much, but in TFG it can automate any remaining TFC Welding recipes if you still need access to them for any reason. It can also easily duplicate any extruder or casting mold.\n\nMore pressingly (pun intended), you'll need it to craft an essential component for your next circuits, the Phenolic Circuit Board.", + "quests.low_voltage.lv_laser_engraver.subtitle": "Pew pew!", + "quests.low_voltage.lv_laser_engraver.desc": "The Basic Laser Engraver is required to make Transmitter's for Create's logistics system. Other than that, it unfortunately can't do much other than make polished stone.\n\nYou'll deal with lasers more once you get to &bMV&r.", "quests.medium_voltage": "&bMV&r - Medium Voltage", "quests.medium_voltage.subtitle": "Venture into petrochemistry and refine electronics", "quests.medium_voltage.mv_machine_hull.title": "Welcome to MV!", @@ -3870,7 +3882,8 @@ "quests.steam_age.create_tools.desc": "A wrench will let you quickly pick up Create blocks by Sneak + Right-Clicking on them, though an axe or pickaxe will still work too. The goggles will let you see much more detailed information about your machines, such as how much stress they're producing or consuming.\n\nBoth of these are optional for now, but will prove to be very useful, and you'll definitely want them later.\n\nCheck the TFG Tips chapter for help on glassblowing. Did you know that breaking cobblestone with a hammer will turn it into gravel, and breaking that again will turn it into sand...?", "quests.steam_age.basic_millstone.title": "Automatic Ore Processing", "quests.steam_age.basic_millstone.subtitle": "No more querning", - "quests.steam_age.basic_millstone.desc": "The &3Millstone&r is an automatic version of the Quern. You can throw whatever you'd like into the top, and then right-click to take your crushed items back out. It's pretty slow if you connect it directly to your Animal Crank, but you can use gear ratios to increase its speed.\n\nYou will only receive the output in the first slot. The other slots are part of a GregTech mechanic that won't be relevant until much later (&6HV&r).", + "quests.steam_age.basic_millstone.desc.1": "The &3Millstone&r is an automatic version of the Quern. You can throw whatever you'd like into the top, and then right-click to take your crushed items back out. It's pretty slow if you connect it directly to your Animal Crank, but you can use gear ratios to increase its speed.\n\nYou will only receive the output in the first slot. The other slots are part of a GregTech mechanic that won't be relevant until much later (&6HV&r).", + "quests.steam_age.basic_millstone.desc.2": "&l&3Lore:&r&o The millstone can't be used to process grains into flower because Create doesn't understand TFC's food expiry system, which previously led to all sorts of bugs involving rotten items becoming fresh and vice versa. Until you're able to get the Food Processor in &7LV&r, you can still crush your grains via a Mortar in a crafting grid.", "quests.steam_age.horse_crank.title": "Your First Power Source", "quests.steam_age.horse_crank.subtitle": "Make your livestock pay rent", "quests.steam_age.horse_crank.desc.1": "The &3Animal Crank&r is your first accessible source of mechanical power. To use it, place the crank on the center of a 7x7 cleared area and leash an animal to it. Different animals will provide different amounts of power, while the blocks underneath will increase the speed of the output power. The area of multiple cranks can overlap.\n\nYou may need to hold a second lead to attach an animal.", @@ -4061,7 +4074,7 @@ "quests.steam_age.rolling_mill.desc.2": "&l&3Lore:&r &oThis machine existed in older versions of TFG, but it made rods instead of plates, and your best plate-making option before the LV bender had a 20 percent chance of failure!&r", "quests.steam_age.steel_mixer.title": "Steel Mechanical Mixer", "quests.steam_age.steel_mixer.subtitle": "An earlier LV Mixer", - "quests.steam_age.steel_mixer.desc": "The &3Steel Mechanical Mixer&r is the other best steam age machine you can make -- it can mix together your colored steel dusts at a much more efficient rate than the Crucible! It can do a large number of other recipes too, including some that involve gases... don't think about it too much.\n\nYou can use either a Charcoal Forge or a Blaze Burner for the recipes that require heating, and a Mechanical Arm can automatically refuel either.", + "quests.steam_age.steel_mixer.desc": "The &3Steel Mechanical Mixer&r is the other best steam age machine you can make -- it can mix together your black steel dusts at a much more efficient rate than the Crucible! Unfortunately, it can't make red or blue steel dusts directly, but it can make their &aweak versions&r.\n\nIt can do a large number of other recipes too, including some that involve gases... don't think about it too much.\n\nYou can use either a Charcoal Forge or a Blaze Burner for the recipes that require heating, and a Mechanical Arm can automatically refuel either.", "quests.steam_age.potin.title": "Potin Seller...", "quests.steam_age.potin.subtitle": "...I'm going into battle, and I need only your finest Potin.", "quests.steam_age.potin.desc.1": "&dPotin Fluid Pipes&r have a &avery high throughput&r for the material tier and cost. You may want to look into making some of these to aid with fluid logistics.\n\nTo get &dPotin&r, you should start by crafting its &eDust&r form.\n\nThis quest calls for either the small or normal pipe. Get either size to complete it.", @@ -4081,7 +4094,7 @@ "quests.steam_age.what_next.desc": "If you rushed straight here, we suggest machines like the LV Bender, Wiremill, or Mixer first.\nOtherwise, if you made the kinetic machines below, we suggest the Assembler, Arc Furnace, Chemical Reactor, or Polarizer.", "quests.steam_age.alternator.title": "Alternators", "quests.steam_age.alternator.subtitle": "Turning stress into power", - "quests.steam_age.alternator.desc.1": "If you've got a big steam age set up, you probably don't want to immediately scrap it all just to go back to some boilers and LV Steam Turbines. Instead, the &3Alternator&r will convert the SU from your steam engines into electricity. Each steam engine + alternator should give you 1A of LV!\n\nUnfortunately, alternators convert stress into a different electricity system (Forge Energy) than the one GregTech uses (Energy Units), so you'll need an Energy Converter to turn it into usable LV energy. Be sure to hit it with a Soft Mallet to convert it to FE to EU mode.", + "quests.steam_age.alternator.desc.1": "If you've got a big steam age set up, you probably don't want to immediately scrap it all just to go back to some boilers and LV Steam Turbines. Instead, the &3Alternator&r will convert the SU from your steam engines into electricity. Each steam engine + alternator should give you 1A of &7LV&r!\n\nUnfortunately, alternators convert stress into a different electricity system (Forge Energy) than the one GregTech uses (Energy Units), so you'll need an Energy Converter to turn it into usable &7LV&r energy. Be sure to hit it with a Soft Mallet to convert it to &aFE to EU&r mode.", "quests.steam_age.alternator.desc.2": "An example of a steam engine producing 8 amps of LV!\n", "quests.steam_age.packager.title": "Create Logistics", "quests.steam_age.packager.subtitle": "\"We have AE2 at home\"", @@ -4268,6 +4281,7 @@ "quests.stone_age.medical_conditions.subtitle": "Don't eat the Asbestos", "quests.stone_age.medical_conditions.desc.1": "Be careful what you pick up! Not all ores or dusts are safe to touch, and some will cause a buildup of a &6Medical Condition&r.\n\nEverything &cHazardous&r is written on its tooltip, so if you suddenly notice a debuff appearing, get that item out of your inventory! Putting it inside a container like a small vessel or backpack is safe.\n\nMost of these effects will slowly go away on their own, but if you let them build up long enough, you'll start getting a host of other nasty effects, up to and including &cdeath&r.", "quests.stone_age.medical_conditions.desc.2": "You will eventually need to work with some of these materials, so you have ways to deal with them.\n\nThe best way is to avoid getting any conditions in the first place - a Face Mask and Rubber Gloves will prevent inhalation and contact hazards respectively.\n\nThe second-best way is a cure: check out some of the &aPills, Tablets, and Salvos&r you can craft - they all help cure certain effects (and provide helpful buffs!), though the stronger cures have more annoying side-effects.", + "quests.stone_age.medical_conditions.desc.3": "Be careful around anything &cCarcinogenic&r or &cRadioactive&r - these conditions are &epermanent&r until you're able to craft Paracetamol in &7LV&r.", "quests.stone_age.medical_conditions.task": "I'm my own doctor", "quests.stone_age.copper_for_anvil.title": "Copper for the Anvil", "quests.stone_age.copper_for_anvil.subtitle": "You better get used to getting 14 ingots of something.", diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 6f8c264c6..a55a97db4 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -24,6 +24,9 @@ const registerTooltips = (event) => { event.addAdvanced(['tfg:antipoison_tablet'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.antipoison_tablet')) }) + event.addAdvanced(['tfg:polycaprolactam_fabric'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.polycaprolactam')) + }) event.addAdvanced(['tfg:electric_greenhouse'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.machine.electric_greenhouse_1')); text.add(2, Text.translate('tfg.tooltip.machine.electric_greenhouse_2')); diff --git a/kubejs/server_scripts/create_additions/recipes.js b/kubejs/server_scripts/create_additions/recipes.js index 5ba0b86fc..81c14d48b 100644 --- a/kubejs/server_scripts/create_additions/recipes.js +++ b/kubejs/server_scripts/create_additions/recipes.js @@ -9,11 +9,11 @@ const registerCreateAdditionsRecipes = (event) => { // Прокатный стан event.recipes.gtceu.shaped('createaddition:rolling_mill', [ 'ABA', - 'CBC', - 'DED' + 'CEC', + 'DBD' ], { A: 'create:precision_mechanism', - B: 'greate:steel_shaft', + B: '#forge:rods/long/blue_steel', C: '#forge:double_plates/black_steel', D: '#gtceu:circuits/ulv', E: 'gtceu:ulv_machine_hull' diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js index aa6173590..6bfd0a31e 100644 --- a/kubejs/server_scripts/greate/recipes.js +++ b/kubejs/server_scripts/greate/recipes.js @@ -757,7 +757,7 @@ function registerGreateRecipes(event) { 'FEG' ], { A: '#gtceu:circuits/ulv', - B: 'greate:steel_shaft', + B: '#forge:small_gears/blue_steel', C: 'gtceu:ulv_machine_hull', D: '#forge:plates/black_steel', E: 'gtceu:steel_whisk', @@ -766,7 +766,7 @@ function registerGreateRecipes(event) { }).id('greate:shaped/steel_mechanical_mixer') event.recipes.gtceu.assembler('greate:steel_mechanical_mixer') - .itemInputs('greate:steel_shaft', '2x #gtceu:circuits/ulv', 'gtceu:ulv_machine_hull', 'gtceu:steel_whisk', '2x #forge:plates/black_steel') + .itemInputs('#forge:small_gears/blue_steel', '2x #gtceu:circuits/ulv', 'gtceu:ulv_machine_hull', 'gtceu:steel_whisk', '2x #forge:plates/black_steel') .itemOutputs('greate:steel_mechanical_mixer') .duration(200) .EUt(GTValues.VA[GTValues.ULV]) diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index d50b81cc9..c23447eb6 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -85,4 +85,47 @@ function removeGreateRecipes(event) { event.remove({ id: 'greate:mixing/brass_ingot' }) event.remove({ id: /^greate:.*\/integration\/createaddition/ }) + + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_phosphorus_boule' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_phosphorus_boule_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_phosphorus_boule_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_naquadah_boule' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_naquadah_boule_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_naquadah_boule_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_neutronium_boule' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_neutronium_boule_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_neutronium_boule_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_nano_cpu' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_nano_cpu_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_nano_cpu_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_qbit_cpu' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_qbit_cpu_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_qbit_cpu_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_soc' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_soc_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_soc_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_asoc' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_asoc_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_asoc_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_hasoc' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_hasoc_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_hasoc_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_nand' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_nand_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_nand_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_nor' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_nor_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_nor_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_lpic_wafer' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_lpic_wafer_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_lpic_wafer_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_pic_wafer' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_pic_wafer_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_pic_wafer_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_hpic' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_hpic_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_hpic_distilled_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_uhpic' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_uhpic_water' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_uhpic_distilled_water' }) } diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index 17f880fdb..cb93b4faa 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -5,7 +5,7 @@ * @param {Internal.RecipesEventJS} event */ function registerGTCEuMachineRecipes(event) { - //#region Выход: Filter Casing + // Filter Casing event.shaped('gtceu:filter_casing', [ 'AAA', @@ -19,9 +19,7 @@ function registerGTCEuMachineRecipes(event) { E: '#forge:rotors/steel' }).id('gtceu:shaped/filter_casing') - //#endregion - - //#region Выход: Assembly Line Grating + // Assembly Line Grating event.shaped('2x gtceu:assembly_line_grating', [ 'ABA', @@ -34,9 +32,7 @@ function registerGTCEuMachineRecipes(event) { D: 'gtceu:mv_electric_motor' }).id('gtceu:shaped/casing_grate_casing') - //#endregion - - //#region Gas Collectors + // #region Gas Collectors event.shaped('gtceu:lv_gas_collector', [ 'ABA', @@ -133,10 +129,9 @@ function registerGTCEuMachineRecipes(event) { D: '#gtceu:circuits/uv', E: 'gtceu:uv_machine_hull' }).id('gtceu:shaped/uv_gas_collector') + // #endregion - //#endregion - - //#region Forge Hammers + // #region Forge Hammers event.shaped('gtceu:lv_forge_hammer', [ 'ABA', @@ -233,10 +228,9 @@ function registerGTCEuMachineRecipes(event) { D: 'gtceu:uv_machine_hull', E: '#tfc:red_or_blue_anvil', }).id('gtceu:shaped/uv_forge_hammer') + // #endregion - //#endregion - - //#region CokeOven + // #region Coke Oven event.remove({ id: 'gtceu:shaped/casing_coke_bricks' }) event.remove({ id: 'gtceu:compressor/coke_bricks' }) @@ -257,7 +251,6 @@ function registerGTCEuMachineRecipes(event) { .duration(50) .EUt(2); - // Coke Oven removeMaceratorRecipe(event, 'macerate_coke_oven') event.recipes.gtceu.shaped('gtceu:coke_oven', [ 'ABA', @@ -287,15 +280,12 @@ function registerGTCEuMachineRecipes(event) { A: 'gtceu:coke_oven_bricks', B: '#forge:chests/wooden' }).addMaterialInfo().id('gtceu:shaped/coke_oven_hatch') - //#endregion - //#region Выход: Стальные машины - // HP Steam Boilers removeMaceratorRecipe(event, 'macerate_hp_steam_solid_boiler') event.recipes.gtceu.shaped('gtceu:hp_steam_solid_boiler', [ - 'AEA', + 'FEF', 'ADA', 'BCB' ], { @@ -303,12 +293,13 @@ function registerGTCEuMachineRecipes(event) { B: ChemicalHelper.get(TagPrefix.pipeSmallFluid, GTMaterials.TinAlloy, 1), C: 'gtceu:steel_brick_casing', D: 'tfc:crucible', - E: ChemicalHelper.get(TagPrefix.rod, GTMaterials.BlackSteel, 1) + E: ChemicalHelper.get(TagPrefix.plate, GTMaterials.BlackSteel, 1), + F: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 1) }).addMaterialInfo().id('gtceu:shaped/steam_boiler_coal_steel') removeMaceratorRecipe(event, 'macerate_hp_steam_liquid_boiler') event.recipes.gtceu.shaped('gtceu:hp_steam_liquid_boiler', [ - 'AEA', + 'FEF', 'ADA', 'BCB' ], { @@ -316,7 +307,8 @@ function registerGTCEuMachineRecipes(event) { B: ChemicalHelper.get(TagPrefix.pipeSmallFluid, GTMaterials.TinAlloy, 1), C: 'gtceu:steel_brick_casing', D: '#forge:glass', - E: ChemicalHelper.get(TagPrefix.rod, GTMaterials.BlackSteel, 1) + E: ChemicalHelper.get(TagPrefix.plate, GTMaterials.BlackSteel, 1), + F: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 1) }).addMaterialInfo().id('gtceu:shaped/steam_boiler_lava_steel') removeMaceratorRecipe(event, 'macerate_hp_steam_solar_boiler') @@ -327,12 +319,13 @@ function registerGTCEuMachineRecipes(event) { ], { A: '#forge:glass_panes', B: ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.Silver, 1), - C: ChemicalHelper.get(TagPrefix.rod, GTMaterials.BlackSteel, 1), + C: ChemicalHelper.get(TagPrefix.plate, GTMaterials.BlackSteel, 1), D: 'gtceu:steel_brick_casing', E: ChemicalHelper.get(TagPrefix.pipeSmallFluid, GTMaterials.TinAlloy, 1), }).addMaterialInfo().id('gtceu:shaped/steam_boiler_solar_steel') - // Экстрактор + // #region Other steam machines + removeMaceratorRecipe(event, 'macerate_hp_steam_extractor') event.recipes.gtceu.shaped('gtceu:hp_steam_extractor', [ 'BEB', @@ -347,7 +340,6 @@ function registerGTCEuMachineRecipes(event) { F: ChemicalHelper.get(TagPrefix.ring, GTMaterials.BlackSteel, 1) }).addMaterialInfo().id('gtceu:shaped/steam_extractor_steel') - // Дробитель removeMaceratorRecipe(event, 'macerate_hp_steam_macerator') event.recipes.gtceu.shaped('gtceu:hp_steam_macerator', [ 'BFB', @@ -362,7 +354,6 @@ function registerGTCEuMachineRecipes(event) { F: '#forge:raw_materials/diamond' }).addMaterialInfo().id('gtceu:shaped/steam_macerator_steel') - // Компрессор removeMaceratorRecipe(event, 'macerate_hp_steam_compressor') event.recipes.gtceu.shaped('gtceu:hp_steam_compressor', [ 'BCB', @@ -374,10 +365,9 @@ function registerGTCEuMachineRecipes(event) { C: ChemicalHelper.get(TagPrefix.plate, GTMaterials.Steel, 1), D: ChemicalHelper.get(TagPrefix.plate, GTMaterials.WroughtIron, 1), E: 'minecraft:piston', - F: ChemicalHelper.get(TagPrefix.rod, GTMaterials.BlackSteel, 1) + F: ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BlackSteel, 1) }).addMaterialInfo().id('gtceu:shaped/steam_compressor_steel') - // Молот removeMaceratorRecipe(event, 'macerate_hp_steam_forge_hammer') event.recipes.gtceu.shaped('gtceu:hp_steam_forge_hammer', [ 'DFD', @@ -392,7 +382,6 @@ function registerGTCEuMachineRecipes(event) { F: 'minecraft:piston' }).addMaterialInfo().id('gtceu:shaped/steam_hammer_steel') - // Печь removeMaceratorRecipe(event, 'macerate_hp_steam_furnace') event.recipes.gtceu.shaped('gtceu:hp_steam_furnace', [ 'BCB', @@ -406,7 +395,6 @@ function registerGTCEuMachineRecipes(event) { F: ChemicalHelper.get(TagPrefix.rod, GTMaterials.BlackSteel, 1) }).addMaterialInfo().id('gtceu:shaped/steam_furnace_steel') - // Сплавщик removeMaceratorRecipe(event, 'macerate_hp_steam_alloy_smelter') event.recipes.gtceu.shaped('gtceu:hp_steam_alloy_smelter', [ 'FCF', @@ -420,7 +408,6 @@ function registerGTCEuMachineRecipes(event) { F: ChemicalHelper.get(TagPrefix.rod, GTMaterials.BlackSteel, 1) }).addMaterialInfo().id('gtceu:shaped/steam_alloy_smelter_steel') - // Блоко-ломатель removeMaceratorRecipe(event, 'macerate_hp_steam_rock_crusher') event.recipes.gtceu.shaped('gtceu:hp_steam_rock_crusher', [ 'ECE', @@ -434,7 +421,6 @@ function registerGTCEuMachineRecipes(event) { E: ChemicalHelper.get(TagPrefix.screw, GTMaterials.WroughtIron, 1) }).addMaterialInfo().id('gtceu:shaped/steam_rock_breaker_steel') - // Miner removeMaceratorRecipe(event, 'macerate_hp_steam_miner') event.recipes.gtceu.shaped('gtceu:hp_steam_miner', [ 'EFE', @@ -451,7 +437,7 @@ function registerGTCEuMachineRecipes(event) { //#endregion - //#region passthrough hatches + //#region Passthrough hatches event.recipes.gtceu.shaped('gtceu:lv_item_passthrough_hatch', [ ' A ', 'BCB', @@ -623,6 +609,8 @@ function registerGTCEuMachineRecipes(event) { //#region ULV Hatches + event.replaceInput({ id: 'gtceu:shaped/ulv_machine_hull' }, '#forge:plates/wood', '#forge:plates/lead') + event.recipes.gtceu.shaped('gtceu:ulv_input_bus', [ 'CAC', 'CBC', diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index 6c780ab13..d4dab7a2b 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -391,6 +391,8 @@ function removeGTCEURecipes(event) { //#region Выход: Бумажная пыль event.remove({ id: 'gtceu:shaped/paper_dust' }) + event.remove({ id: 'gtceu:shaped_fluid_container/paper' }) + event.remove({ id: 'gtceu:macerator/macerate_enchanting_table' }) //#endregion @@ -838,9 +840,13 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__granite' }) event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__diorite' }) event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__andesite' }) + event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__marble' }) + event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__redrock' }) event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__deepslate' }) event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__blackstone' }) event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__endstone' }) + event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__red_granite' }) + event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_tuff' }) removeMaceratorRecipe(event, 'macerate_end_stone'); removeMaceratorRecipe(event, 'macerate_end_stone_bricks'); @@ -900,6 +906,10 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:macerator/macerate_smooth_sandstone' }) event.remove({ id: 'gtceu:macerator/macerate_sandstone' }) event.remove({ id: 'gtceu:macerator/macerate_cut_sandstone' }) + + event.remove({ id: 'gtceu:rock_breaker/obsidian' }) + + event.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_magnesia_refractory_brick_to_nugget' }) } function removeMaceratorRecipe(event, id) { diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 6953a1202..171d3841a 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -112,5 +112,7 @@ function registerGTCEUFluidTags(event) { event.add("c:hidden_from_recipe_viewers", "gtceu:damascus_steel"); event.add("c:hidden_from_recipe_viewers", "gtceu:blaze"); event.add("c:hidden_from_recipe_viewers", "gtceu:thorium"); - + + event.add("c:hidden_from_recipe_viewers", "tfg:molten_weak_red_steel"); + event.add("c:hidden_from_recipe_viewers", "tfg:molten_weak_blue_steel"); } diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 6bc85679e..692fb88a4 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -21,7 +21,7 @@ const registerTFCRecipes = (event) => { ], { A: '#forge:double_plates/wrought_iron', B: 'tfc:crucible' - }).addMaterialInfo().id('tfc:crafting/blast_furnace') + }).id('tfc:crafting/blast_furnace') // Тыква -> Кусочки тыквы event.recipes.tfc.advanced_shapeless_crafting( @@ -250,4 +250,6 @@ const registerTFCRecipes = (event) => { .itemOutputs("4x tfc:powder/flux") .duration(50) .EUt(2); + + event.shapeless('4x tfc:fire_clay', ['tfc:fire_clay_block']) } diff --git a/kubejs/server_scripts/tfc/recipes.removes.js b/kubejs/server_scripts/tfc/recipes.removes.js index a4dd78bbc..90f5266bc 100644 --- a/kubejs/server_scripts/tfc/recipes.removes.js +++ b/kubejs/server_scripts/tfc/recipes.removes.js @@ -130,4 +130,11 @@ function removeTFCRecipes(event) { event.remove({ output: 'tfc:rustic_windmill_blade'}) event.remove({ output: 'tfc:lattice_windmill_blade'}) event.remove({ id: 'tfchotornot:heating/insulating_items'}) + + event.remove({ id: 'tfc:heating/metal/weak_blue_steel_ingot' }) + event.remove({ id: 'tfc:casting/weak_blue_steel_ingot' }) + event.remove({ id: 'tfc:casting/weak_blue_steel_fire_ingot' }) + event.remove({ id: 'tfc:heating/metal/weak_red_steel_ingot' }) + event.remove({ id: 'tfc:casting/weak_red_steel_ingot' }) + event.remove({ id: 'tfc:casting/weak_red_steel_fire_ingot' }) } diff --git a/kubejs/server_scripts/tfcbetterbf/recipes.js b/kubejs/server_scripts/tfcbetterbf/recipes.js index 86cc9ad9e..941c5f5a5 100644 --- a/kubejs/server_scripts/tfcbetterbf/recipes.js +++ b/kubejs/server_scripts/tfcbetterbf/recipes.js @@ -4,16 +4,24 @@ * * @param {Internal.RecipesEventJS} event */ -const registerTFCBetterBFRecipes = (event) => { - event.remove("tfcbetterbf:heating/metal/insulation") - - event.recipes.tfc.heating('tfcbetterbf:insulation', 1535) - .resultFluid(Fluid.of('gtceu:iron', 432)) - .id(`tfcbetterbf:heating/insulation`) +const registerTFCBetterBFRecipes = (event) => { + event.remove("tfcbetterbf:heating/metal/insulation") - event.recipes.tfc.heating('tfcbetterbf:insulated_fire_bricks', 1535) - .resultFluid(Fluid.of('gtceu:iron', 432)) - .id(`tfcbetterbf:heating/insulated_fire_bricks`) + event.recipes.tfc.heating('tfcbetterbf:insulation', 1535) + .resultFluid(Fluid.of('gtceu:iron', 432)) + .id(`tfcbetterbf:heating/insulation`) - TFGHelpers.registerMaterialInfo('tfcbetterbf:insulated_fire_bricks', [GTMaterials.WroughtIron, 3]) + TFGHelpers.registerMaterialInfo('tfcbetterbf:insulation', [GTMaterials.WroughtIron, 3]) + + event.recipes.tfc.heating('tfcbetterbf:insulated_fire_bricks', 1535) + .resultFluid(Fluid.of('gtceu:iron', 432)) + .id(`tfcbetterbf:heating/insulated_fire_bricks`) + + TFGHelpers.registerMaterialInfo('tfcbetterbf:insulated_fire_bricks', [GTMaterials.get('tfg:refractory_clay'), 5, GTMaterials.WroughtIron, 3]) + + event.recipes.gtceu.packer('tfcbetterbf:insulated_fire_bricks') + .itemInputs('tfcbetterbf:insulated_fire_bricks') + .itemOutputs('tfc:fire_bricks', '3x tfcbetterbf:insulation') + .duration(20) + .EUt(2) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/machines/recipes.bakelite.js b/kubejs/server_scripts/tfg/machines/recipes.bakelite.js new file mode 100644 index 000000000..fd46fbf09 --- /dev/null +++ b/kubejs/server_scripts/tfg/machines/recipes.bakelite.js @@ -0,0 +1,70 @@ +"use strict"; + +function registerTFGBakeliteRecipes(event) { + + // TODO: move oil PE to MV + + event.recipes.gtceu.chemical_reactor('tfg:formaldehyde_from_methane') + .inputFluids('gtceu:methane 1000', 'gtceu:oxygen 1000') + .outputFluids('gtceu:formaldehyde 1000', 'gtceu:hydrogen 2000') + .circuit(1) + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + // add phenol and methane to distillation + event.recipes.gtceu.distillation_tower('gtceu:distill_creosote') + .inputFluids('gtceu:creosote 1000') + .outputFluids('gtceu:lubricant 500') + .outputFluids('gtceu:phenol 50') + .outputFluids('gtceu:carbon_dioxide 200') + .outputFluids('gtceu:methane 250') + // this adds single-block distillery recipes too + .disableDistilleryRecipes(false) + .duration(8 * 20) + .EUt(96) + + event.recipes.gtceu.chemical_reactor('tfg:syngas_to_methane') + .inputFluids('tfg:syngas 1000') + .notConsumable('#forge:dusts/silver') + .outputFluids('gtceu:methane 100') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.chemical_reactor('tfg:phenolic_resin') + .inputFluids('gtceu:phenol 500', 'gtceu:formaldehyde 1000') + .notConsumable('#forge:dusts/sodium_hydroxide') + .outputFluids('tfg:phenolic_resin 1000') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.mixer('tfg:bakelite_wood') + .inputFluids('tfg:phenolic_resin 144') + .itemInputs('tfg:treated_chipboard_composite') + .outputFluids('tfg:bakelite 144') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.mixer('tfg:bakelite_asbestos') + .inputFluids('tfg:phenolic_resin 144') + .itemInputs('#forge:dusts/asbestos') + .outputFluids('tfg:bakelite 144') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.remove({ id: 'gtceu:assembler/phenolic_board' }) + + event.recipes.gtceu.forming_press('tfg:phenolic_board') + .itemInputs('2x #forge:foils/bakelite', '2x minecraft:paper', 'gtceu:resin_circuit_board') + .itemOutputs('gtceu:phenolic_circuit_board') + .duration(7.5 * 20) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.assembler('tfg:phenolic_board_pe') + .itemInputs('2x #forge:foils/polyethylene', 'gtceu:wood_plate') + .inputFluids('gtceu:phenol 50') + .itemOutputs('gtceu:phenolic_circuit_board') + .duration(7.5 * 20) + .EUt(GTValues.VA[GTValues.MV]) + + event.replaceInput({ id: 'gtceu:shaped/mv_machine_hull' }, '#forge:plates/wrought_iron', '#forge:plates/bakelite') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/machines/recipes.coils.js b/kubejs/server_scripts/tfg/machines/recipes.coils.js new file mode 100644 index 000000000..850945e8d --- /dev/null +++ b/kubejs/server_scripts/tfg/machines/recipes.coils.js @@ -0,0 +1,77 @@ +"use strict"; + +function registerTFGCoilRecipes(event) { + + // #region Cupronickel Coil + + event.smelting('tfg:refractory_clay_dust', 'tfc:fire_clay') + + event.recipes.gtceu.chemical_reactor('tfg:magnesium_hydroxide') + .itemInputs('#forge:dusts/magnesium') + .inputFluids('tfc:lye 2000') + .itemOutputs('#forge:dusts/magnesium_hydroxide', '2x #forge:dusts/sodium') + .duration(5 * 20) + .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.coke_oven('tfg:magnesia') + .itemInputs('#forge:dusts/magnesium_hydroxide') + .itemOutputs('#forge:dusts/magnesia') + .duration(20 * 20) + + event.recipes.gtceu.pyrolyse_oven('tfg:magnesia') + .itemInputs('#forge:dusts/magnesium_hydroxide') + .itemOutputs('#forge:dusts/magnesia') + .duration(20 * 20) + .EUt(GTValues.VHA[GTValues.MV]) + + event.recipes.gtceu.mixer('tfg:magnesia_refractory_brick_dust_sticky') + .itemInputs('#forge:dusts/magnesia', '#forge:dusts/refractory_clay', '#forge:dusts/graphite', '5x gtceu:sticky_resin') + .itemOutputs('3x #forge:dusts/magnesia_refractory_brick') + .duration(5 * 20) + .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.mixer('tfg:magnesia_refractory_brick_dust_sticky_powder') + .itemInputs('#forge:dusts/magnesia', '#forge:dusts/refractory_clay', '4x tfc:powder/graphite', '5x gtceu:sticky_resin') + .itemOutputs('3x #forge:dusts/magnesia_refractory_brick') + .duration(5 * 20) + .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.mixer('tfg:magnesia_refractory_brick_dust_phenolic') + .itemInputs('#forge:dusts/magnesia', '#forge:dusts/refractory_clay', '#forge:dusts/graphite') + .inputFluids(Fluid.of('tfg:phenolic_resin', 144)) + .itemOutputs('3x #forge:dusts/magnesia_refractory_brick') + .duration(5 * 20) + .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.mixer('tfg:magnesia_refractory_brick_dust_phenolic_powder') + .itemInputs('#forge:dusts/magnesia', '#forge:dusts/refractory_clay', '4x tfc:powder/graphite') + .inputFluids(Fluid.of('tfg:phenolic_resin', 144)) + .itemOutputs('3x #forge:dusts/magnesia_refractory_brick') + .duration(5 * 20) + .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.alloy_smelter('tfg:magnesia_refractory_brick') + .itemInputs('#forge:dusts/magnesia_refractory_brick') + .notConsumable('gtceu:ingot_casting_mold') + .itemOutputs('#forge:ingots/magnesia_refractory_brick') + .duration(8 * 20) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.INGOT_MOLDING) + + event.recipes.gtceu.forming_press('tfg:magnesia_refractory_brick') + .itemInputs('#forge:dusts/magnesia_refractory_brick') + .notConsumable('gtceu:ingot_casting_mold') + .itemOutputs('#forge:ingots/magnesia_refractory_brick') + .duration(4 * 20) + .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.assembler('gtceu:coil_cupronickel') + .itemInputs('8x #forge:double_wires/cupronickel', '8x #forge:foils/blue_steel', '8x #forge:ingots/magnesia_refractory_brick') + .inputFluids('gtceu:tin_alloy 144') + .itemOutputs('gtceu:cupronickel_coil_block') + .duration(10 * 20) + .EUt(GTValues.VA[GTValues.LV]) + .addMaterialInfo(true, true) + + // #endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js b/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js index 65f5b2f21..3b40a47da 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js +++ b/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js @@ -98,7 +98,7 @@ function registerTFGMultiblockRecipes(event) { 'ACA', 'ABA' ], { - A: '#forge:plates/brass', + A: '#forge:plates/bronze', B: 'gtceu:potin_large_fluid_pipe', C: 'gtceu:hp_steam_compressor' }).addMaterialInfo().id('gtceu:shaped/steam_squasher') @@ -108,7 +108,7 @@ function registerTFGMultiblockRecipes(event) { 'ACA', 'ABA' ], { - A: '#forge:plates/brass', + A: '#forge:plates/bronze', B: 'tfc:metal/anvil/steel', C: 'gtceu:hp_steam_forge_hammer', D: 'gtceu:potin_large_fluid_pipe' diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js index db441beb3..d132b768a 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js @@ -67,6 +67,35 @@ function registerTFGAlloyingRecipes(event) { .circuit(1) .EUt(GTValues.VA[GTValues.MV]) .blastFurnaceTemp(1000) + + event.remove({ id: 'greate:mixing/integration/gtceu/mixer/red_steel' }) + event.remove({ id: 'greate:mixing/integration/gtceu/mixer/blue_steel' }) + + event.recipes.greate.mixing('#forge:dusts/weak_red_steel', + ['4x #forge:dusts/black_steel', '2x #forge:dusts/steel', '#forge:dusts/brass', '#forge:dusts/rose_gold']) + .recipeTier(1) + .circuitNumber(2) + .heated() + .id('tfg:weak_red_steel_greate') + + event.recipes.greate.mixing('#forge:dusts/weak_blue_steel', + ['4x #forge:dusts/black_steel', '2x #forge:dusts/steel', '#forge:dusts/bismuth_bronze', '#forge:dusts/sterling_silver']) + .recipeTier(1) + .circuitNumber(2) + .heated() + .id('tfg:weak_blue_steel_greate') + + event.recipes.greate.mixing('#forge:dusts/red_steel', + ['4x #forge:dusts/black_steel', '2x #forge:dusts/steel', '#forge:dusts/brass', '#forge:dusts/rose_gold']) + .recipeTier(2) + .circuitNumber(1) + .id('tfg:red_steel_greate') + + event.recipes.greate.mixing('#forge:dusts/blue_steel', + ['4x #forge:dusts/black_steel', '2x #forge:dusts/steel', '#forge:dusts/bismuth_bronze', '#forge:dusts/sterling_silver']) + .recipeTier(2) + .circuitNumber(1) + .id('tfg:blue_steel_greate') //#endregion diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js index bdc455e77..8eabb675d 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js @@ -156,7 +156,7 @@ function processToolHead(event, headTagPrefix, tagPrefixName, extruderMold, cera .circuit(circuitMeta) .itemOutputs(toolHeadItem) .duration(material.getMass() * 6) - .EUt(GTValues.VA[GTValues.LV]) + .EUt(GTValues.VA[GTValues.MV]) } addMaterialRecycling(event, toolHeadItem, material, tagPrefixName, headTagPrefix); diff --git a/kubejs/server_scripts/tfg/primitive/recipes.clay.js b/kubejs/server_scripts/tfg/primitive/recipes.clay.js index 5ea2bf0fd..0b256107b 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.clay.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.clay.js @@ -187,19 +187,16 @@ function registerTFGClayRecipes(event) { .duration(20) .EUt(2) - event.recipes.gtceu.macerator('tfg:casting_channel') - .itemInputs('tfcchannelcasting:channel') - .itemOutputs('1x #forge:dusts/brick') - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .duration(20) - .EUt(2) - - event.recipes.gtceu.macerator('tfg:mold_table') - .itemInputs('tfcchannelcasting:mold_table') - .itemOutputs('5x #forge:dusts/brick') - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .duration(20) - .EUt(2) + var refractoryClay = GTMaterials.get('tfg:refractory_clay'); + TFGHelpers.registerMaterialInfo('tfc:blast_furnace', [GTMaterials.WroughtIron, 16, refractoryClay, 5]) + TFGHelpers.registerMaterialInfo('tfc:fire_bricks', [refractoryClay, 5]) + TFGHelpers.registerMaterialInfo('tfc:crucible', [refractoryClay, 5]) + TFGHelpers.registerMaterialInfo('tfc:ceramic/fire_brick', [refractoryClay, 1]) + TFGHelpers.registerMaterialInfo('tfcchannelcasting:channel', [refractoryClay, 5/4]) + TFGHelpers.registerMaterialInfo('tfcchannelcasting:mold_table', [refractoryClay, 5]) + TFGHelpers.registerMaterialInfo('tfc:ceramic/fire_ingot_mold', [refractoryClay, 5/2]) + TFGHelpers.registerMaterialInfo('tfg:rod_mold', [refractoryClay, 5]) + TFGHelpers.registerMaterialInfo('tfg:small_gear_mold', [refractoryClay, 5]) // Renewable clay event.recipes.gtceu.rock_breaker("clay_duping") diff --git a/kubejs/server_scripts/tfg/primitive/recipes.glue_and_chipboard.js b/kubejs/server_scripts/tfg/primitive/recipes.glue_and_chipboard.js index b6d6c956d..d79899f97 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.glue_and_chipboard.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.glue_and_chipboard.js @@ -128,13 +128,6 @@ function registerTFGChipboardRecipes(event) { .duration(100) .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.chemical_bath('gtceu:bath_high_density_treated_fiberboard') - .itemInputs('1x gtceu:wood_plate') - .inputFluids(Fluid.of('gtceu:creosote', 50)) - .itemOutputs('tfg:high_density_treated_fiberboard') - .duration(100) - .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.chemical_bath('gtceu:bath_treated_wood_dust') .itemInputs('#tfg:wood_dusts') .inputFluids(Fluid.of('gtceu:creosote', 50)) @@ -142,17 +135,9 @@ function registerTFGChipboardRecipes(event) { .duration(100) .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.compressor('tfg:compressed_treated_chipboard_composite') - .itemInputs('tfg:treated_chipboard_composite') - .itemOutputs('tfg:high_density_treated_fiberboard') - .duration(200) - .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.assembler('tfg:resin_circuit_assembler') .itemInputs('gtceu:wood_plate', '2x gtceu:sticky_resin') .itemOutputs('gtceu:resin_circuit_board') .duration(20 * 10) .EUt(GTValues.VA[GTValues.ULV]) - - event.replaceInput({ id: 'gtceu:assembler/phenolic_board' }, '#tfg:wood_dusts', 'tfg:high_density_treated_fiberboard') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index 3366ed27d..eec9b4a7a 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -56,6 +56,8 @@ const registerTFGRecipes = (event) => { registerTFGMultiblockRecipes(event) registerTFGSteamBloomeryRecipes(event) registerTFGElectronicComponentsRecipes(event) + registerTFGBakeliteRecipes(event) + registerTFGCoilRecipes(event) registerTFGEarlyGasRecipes(event) registerTFGBoilerRecipes(event) diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index be452a79f..4e125b161 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -16,7 +16,7 @@ function registerVintageImprovementsRecipes(event) { B: 'greate:steel_cogwheel', C: '#forge:rods/steel', D: '#forge:double_ingots/black_steel', - E: '#forge:small_gears/steel', + E: '#forge:small_gears/blue_steel', F: '#gtceu:circuits/ulv' }).addMaterialInfo().id('tfg:vi/shaped/spring_coiling_machine') @@ -27,8 +27,8 @@ function registerVintageImprovementsRecipes(event) { ], { A: 'gtceu:ulv_machine_casing', B: 'greate:steel_mechanical_pump', - C: 'create:mechanical_piston', - D: '#forge:springs/wrought_iron', + C: 'minecraft:piston', + D: '#forge:springs/blue_steel', E: 'create:electron_tube', F: '#forge:plates/black_steel', G: 'create:precision_mechanism' diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 38e7473b7..a00a7aea5 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -170,6 +170,8 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:molten_black_bronze_bucket", "gtceu:molten_bismuth_bronze_bucket", + "tfg:molten_weak_blue_steel_bucket", + "tfg:molten_weak_red_steel_bucket", //armor "gtceu:bronze_helmet", diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 985f022e4..e7c733f4f 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -106,6 +106,8 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.BlackSteel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(891, 1188, 1485, 5)); GTMaterials.BlueSteel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6)); GTMaterials.RedSteel.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6)); + GTMaterials.get('tfg:weak_blue_steel').setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6)); + GTMaterials.get('tfg:weak_red_steel').setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(924, 1232, 1540, 6)); GTMaterials.Gold.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(636, 848, 1060, 1)); GTMaterials.Bismuth.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(162, 216, 270, 1)); @@ -282,7 +284,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Nickel.addFlags(GENERATE_ROD, GENERATE_LONG_ROD); GTMaterials.Zinc.addFlags(GENERATE_LONG_ROD); GTMaterials.BlackSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW); - GTMaterials.BlueSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW); + GTMaterials.BlueSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW, GENERATE_SPRING, GENERATE_SMALL_GEAR, GENERATE_FOIL); GTMaterials.RedSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW, GENERATE_FOIL); GTMaterials.WroughtIron.addFlags(GENERATE_ROTOR, GENERATE_SPRING, GENERATE_SMALL_GEAR); @@ -395,6 +397,8 @@ const registerGTCEuMaterialModification = (event) => { // Remove properties GTMaterials.Glass.getProperties().removeProperty(PropertyKey.GEM) + GTMaterials.Thorium.getProperties().removeProperty(PropertyKey.INGOT) + GTMaterials.Thorium.getProperties().removeProperty(PropertyKey.FLUID) // Color Adjustments GTMaterials.BismuthBronze.setMaterialARGB(0x5A966E) diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index 92fadd335..c71f7f7b5 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -73,14 +73,11 @@ const registerTFGItems = (event) => { // Add item for BTX Fuel event.create('tfg:catalyser_pt_re_zsm') - .translationKey('item.tfg.catalyser_pt_re_zsm') .texture('tfg:item/btx/catalyser_zsm') event.create('tfg:used_catalyser') - .translationKey('item.tfg.used_catalyser') .texture('tfg:item/btx/used_catalyser') event.create('tfg:loaded_resin') - .translationKey('item.tfg.loaded_resin') .texture('tfg:item/btx/loaded_resin') } diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index 7e8068be4..ad21a71ba 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -16,6 +16,14 @@ const registerTFGMaterials = (event) => { event.create('methoxy') .components('1x oxygen', '1x carbon', '3x hydrogen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('methylene') + .components('1x carbon', '2x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('hydroxide') + .components('1x oxygen', '1x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) //#endregion registerTFGPowerReworkMaterials(event); @@ -65,6 +73,40 @@ const registerTFGMaterials = (event) => { .secondaryColor(0x67FFE6) .formula("(Al2Si2O5(OH)4)(BeK4N5)") + // Bakelite + event.create('tfg:bakelite') + .polymer() + .fluid() + .color(0xF29104) + .secondaryColor(0xD96005) + .components('1x phenol', '1x formaldehyde') + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION, + GTMaterialFlags.NO_SMELTING, + GTMaterialFlags.GENERATE_PLATE, + GTMaterialFlags.GENERATE_FOIL + ) + + event.create('tfg:phenolic_resin') + .fluid() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('1x phenol', '1x formaldehyde') + .color(0xFCD7A3) + + // Coils + + event.create('tfg:magnesium_hydroxide') + .dust() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('1x magnesium', '2x hydroxide') + .color(0xC6E4FF) + + event.create('tfg:magnesia_refractory_brick') + .dust() + .ingot() + .iconSet(GTMaterialIconSet.ROUGH) + .flags(GTMaterialFlags.NO_SMELTING) + .color(0xA69D96) //#region Tungsten Line diff --git a/kubejs/startup_scripts/tfg/primitive/items.primitive.js b/kubejs/startup_scripts/tfg/primitive/items.primitive.js index 1e5da063f..fcc217dd5 100644 --- a/kubejs/startup_scripts/tfg/primitive/items.primitive.js +++ b/kubejs/startup_scripts/tfg/primitive/items.primitive.js @@ -25,7 +25,6 @@ function registerTFGPrimitiveItems(event) { // Chipboard event.create('tfg:chipboard_composite') event.create('tfg:treated_chipboard_composite') - event.create('tfg:high_density_treated_fiberboard') // Wax event.create('tfg:paraffin_wax') diff --git a/kubejs/startup_scripts/tfg/primitive/materials.primitive.js b/kubejs/startup_scripts/tfg/primitive/materials.primitive.js index 9edbd241e..1d6a7b7fd 100644 --- a/kubejs/startup_scripts/tfg/primitive/materials.primitive.js +++ b/kubejs/startup_scripts/tfg/primitive/materials.primitive.js @@ -94,5 +94,35 @@ function registerTFGPrimitiveMaterials(event) { .dust() .color(0xf0ccb4) .formula("C6H3(OH)3") - .iconSet('rough') + .iconSet(GTMaterialIconSet.ROUGH) + + // Fire clay + event.create('tfg:refractory_clay') + .dust() + .iconSet(GTMaterialIconSet.ROUGH) + .color(0xB49AA2) + .secondaryColor(0x60545F) + + // Weak colored steel + event.create('tfg:weak_blue_steel') + .dust() + .ingot() + .liquid() + .components('1x sterling_silver', '1x bismuth_bronze', '2x steel', '4x black_steel') + .blastTemp(1000, null, GTValues.VA[GTValues.MV], 25 * 20) + .color(0x697FBD) + .secondaryColor(0x384B82) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION, GTMaterialFlags.NO_SMELTING, GTMaterialFlags.DISABLE_ALLOY_BLAST) + .iconSet(GTMaterialIconSet.METALLIC) + + event.create('tfg:weak_red_steel') + .dust() + .ingot() + .liquid() + .components('1x brass', '1x rose_gold', '2x steel', '4x black_steel') + .blastTemp(1000, null, GTValues.VA[GTValues.MV], 25 * 20) + .color(0xB55C5C) + .secondaryColor(0x7D3232) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION, GTMaterialFlags.NO_SMELTING, GTMaterialFlags.DISABLE_ALLOY_BLAST) + .iconSet(GTMaterialIconSet.METALLIC) } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/tag_prefixes.js b/kubejs/startup_scripts/tfg/tag_prefixes.js index 695ed3041..c3bbdfbfe 100644 --- a/kubejs/startup_scripts/tfg/tag_prefixes.js +++ b/kubejs/startup_scripts/tfg/tag_prefixes.js @@ -20,6 +20,9 @@ function registerTFGTagPrefixes(event) { TagPrefix.ingot.setIgnored(GTMaterials.RawRubber); TagPrefix.plate.setIgnored(GTMaterials.RawRubber); TagPrefix.plateDouble.setIgnored(GTMaterials.RawRubber); + + TagPrefix.nugget.setIgnored(GTMaterials.get('tfg:magnesia_refractory_brick')) + TagPrefix.block.setIgnored(GTMaterials.get('tfg:magnesia_refractory_brick')) } function excludeAllGemsButNormal(material) { From 9b31d2439aab71519ac8a495203834cc734a24af Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 27 Jan 2026 01:12:22 +0000 Subject: [PATCH 234/474] move PE to MV, langs, tweak some quests and add another MV phenolic board recipe --- CHANGELOG.md | 16 ++ .../quests/chapters/lv__low_voltage.snbt | 48 ++-- kubejs/assets/minecraft/lang/en_us.json | 3 +- kubejs/assets/minecraft/lang/ru_ru.json | 3 + kubejs/assets/tfcagedalcohol/lang/ru_ru.json | 7 + kubejs/assets/tfg/lang/en_us.json | 36 +-- kubejs/assets/tfg/lang/ru_ru.json | 217 ++++++++++++------ kubejs/server_scripts/gregtech/utility.js | 38 +-- kubejs/server_scripts/minecraft/recipes.js | 17 +- .../tfg/machines/recipes.bakelite.js | 42 +++- pakku-lock.json | 121 ++++++---- 11 files changed, 364 insertions(+), 184 deletions(-) create mode 100644 kubejs/assets/tfcagedalcohol/lang/ru_ru.json diff --git a/CHANGELOG.md b/CHANGELOG.md index a31ec81bc..7b1fdd7c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,19 @@ ## Unreleased ### Breaking changes - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie +#### ULV changes +- The vacuum chamber requires a blue steel spring now, so the colored steel anvil can't be skipped +- The steel mechanical mixer can now only make weak red/blue steel dust, not regular (it can still make black steel dust though). The LV mixer can make normal red/blue steel dust +- Changed ULV hulls to needing lead plates instead of wood plates +- Adjusted a few other machine recipes slightly +#### LV changes +- Completely rearranged the quest chapter! Now it should be much less intimidating for new players +- Added Bakelite, a new early plastic used for Phenolic Boards and MV machine hulls (instead of wrought iron plates) +- Removed the other fiberboard that was previously used for phenolic boards +- Added some recipes to get Phenol and Methane in LV +- Added new ceramics required to craft Cupronickel Coils, made out of your recycled TFC blast furnace, Magnesia, and some resin +- Cupronickel coils now also need blue steel foil instead of bronze +- Polyethylene now requires an MV chemical reactor ### Changes - Added the Artisan Table to "knap" circuit boards and GT extruder and casting molds, replacing their crafting table recipes. @BlueBoat29 @Redeix - Added much more music to the different dimensions @Pyritie @@ -14,8 +27,11 @@ - Fixed red granite ores never dropping poor or rich raw ores @Pyritie - Fixed rosin leaves and saplings having tags the wrong way around (#2840) @TanJeeSchuan - Fixed missing borax to flux recipe @Pyritie +- Fixed lavaproof blue steel boots not having armor resistances (#2872) @Paradalope +- Fixed the dye colors used to make Create Deco's bricks (#2859) @silllil ### Translation updates - Chinese (simplified) @jmecn +- Russian @Petr211071 ## [0.11.18] - 23-01-2026 ### Important notes diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 42831456c..9134b341e 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -16,8 +16,8 @@ { id: "46612C429BCA8A18" linked_quest: "6BAC3BE1D4FE0F6B" - x: 2.5d - y: 10.0d + x: 4.5d + y: 14.0d } { id: "5E5AD44B50E0B15B" @@ -76,7 +76,7 @@ type: "item" }] title: "{quests.low_voltage.lv_fluid_regulator.title}" - x: 6.0d + x: 7.0d y: -8.5d } { @@ -96,7 +96,7 @@ type: "item" }] title: "{quests.low_voltage.lv_robot_arm.title}" - x: 6.0d + x: 7.0d y: -11.5d } { @@ -112,7 +112,7 @@ type: "item" }] title: "{quests.low_voltage.lv_conveyor.title}" - x: 4.5d + x: 5.0d y: -10.0d } { @@ -128,7 +128,7 @@ type: "item" }] title: "{quests.low_voltage.lv_pump.title}" - x: 4.5d + x: 5.0d y: -8.5d } { @@ -144,7 +144,7 @@ type: "item" }] title: "{quests.low_voltage.lv_piston.title}" - x: 4.5d + x: 5.0d y: -11.5d } { @@ -254,7 +254,7 @@ type: "checkmark" }] title: "{quests.low_voltage.cover_behaviour.title}" - x: 6.0d + x: 7.0d y: -10.0d } { @@ -957,8 +957,8 @@ type: "item" }] title: "{quests.low_voltage.lv_circuit_assembler.title}" - x: 0.0d - y: 19.5d + x: 4.0d + y: 17.5d } { dependencies: ["1A77CA35F054F988"] @@ -1087,8 +1087,8 @@ item: "gtceu:phenolic_printed_circuit_board" type: "item" }] - x: -3.5d - y: 16.0d + x: -4.5d + y: 17.5d } { dependencies: [ @@ -1125,7 +1125,7 @@ }] title: "{quests.low_voltage.1_mv_circuit.title}" x: 0.0d - y: 16.0d + y: 17.5d } { dependencies: ["1E9BE8D3F8A602DC"] @@ -1490,8 +1490,8 @@ type: "item" }] title: "{quests.low_voltage.lv_greenhouse.title}" - x: 2.5d - y: 16.0d + x: 0.0d + y: 19.5d } { dependencies: ["47B899144B865516"] @@ -1577,7 +1577,7 @@ type: "item" }] title: "{quests.low_voltage.lv_seeds.title}" - x: -6.5d + x: -7.0d y: -6.5d } { @@ -1593,7 +1593,7 @@ type: "item" }] title: "{quests.low_voltage.lv_seed_oil.title}" - x: -5.5d + x: -6.0d y: -6.5d } { @@ -1609,7 +1609,7 @@ type: "item" }] title: "{quests.low_voltage.lv_biodiesel.title}" - x: -4.5d + x: -5.0d y: -6.5d } { @@ -1671,7 +1671,7 @@ type: "checkmark" }] title: "{quests.low_voltage.oil.title}" - x: -5.5d + x: -6.0d y: -5.5d } { @@ -1721,7 +1721,7 @@ } ] title: "{quests.low_voltage.lv_naphtha_light.title}" - x: -4.5d + x: -5.0d y: -5.5d } { @@ -1738,7 +1738,7 @@ type: "item" }] title: "{quests.low_voltage.lv_gas_syngas.title}" - x: 4.5d + x: 5.0d y: -6.0d } { @@ -1888,7 +1888,7 @@ }] title: "{material.tfg.bakelite}" x: -6.5d - y: 16.0d + y: 17.5d } { description: ["{quests.low_voltage.lv_forming_press.desc}"] @@ -1900,8 +1900,8 @@ item: "gtceu:lv_forming_press" type: "item" }] - x: -3.5d - y: 18.0d + x: -4.5d + y: 15.5d } { dependencies: [ diff --git a/kubejs/assets/minecraft/lang/en_us.json b/kubejs/assets/minecraft/lang/en_us.json index 48f1c9820..1c8fbe6ab 100644 --- a/kubejs/assets/minecraft/lang/en_us.json +++ b/kubejs/assets/minecraft/lang/en_us.json @@ -103,5 +103,6 @@ "item.minecraft.milk_bucket": "Cow Milk Bucket", "material.tfg.dripstone": "Travertine", "death.attack.magic": "%1$s was killed by deadly poison", - "death.attack.magic.player": "%1$s was killed by deadly poison whilst trying to escape %2$s" + "death.attack.magic.player": "%1$s was killed by deadly poison whilst trying to escape %2$s", + "effect.minecraft.dolphins_grace": "Swim Speed" } \ No newline at end of file diff --git a/kubejs/assets/minecraft/lang/ru_ru.json b/kubejs/assets/minecraft/lang/ru_ru.json index 6f0606390..14bed099b 100644 --- a/kubejs/assets/minecraft/lang/ru_ru.json +++ b/kubejs/assets/minecraft/lang/ru_ru.json @@ -99,6 +99,9 @@ "item.minecraft.nether_brick": "Кератофировый кирпич", "item.minecraft.furnace_minecart": "Вагонетка с бойлером", "material.tfg.dripstone": "Травертин", + "death.attack.magic": "%1$s был убит смертоносным ядом", + "death.attack.magic.player": "%1$s был убит смертоносным ядом убегая от %2$s", + "effect.minecraft.dolphins_grace": "Скорость плавания", "item.minecraft.gold_nugget": "Золото (Самородок)", "item.minecraft.gold_ingot": "Золото (Слиток)", "item.minecraft.copper_ingot": "Медь (Слиток)", diff --git a/kubejs/assets/tfcagedalcohol/lang/ru_ru.json b/kubejs/assets/tfcagedalcohol/lang/ru_ru.json new file mode 100644 index 000000000..92282b34c --- /dev/null +++ b/kubejs/assets/tfcagedalcohol/lang/ru_ru.json @@ -0,0 +1,7 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.tfcagedalcohol.fluid.aged_mead": "Выдержанная медовуха", + "item.tfcagedalcohol.bucket.aged_mead": "Ведро с выдержанной медовухой", + "fluid.tfcagedalcohol.aged_mead": "Выдержанная медовуха", + "tfc.recipe.barrel.tfcagedalcohol.barrel.aged_mead": "Выдержка медовухи" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 518b158ad..ff499df4f 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2155,7 +2155,7 @@ "quests.create_logistics.fabricate_rose_quartz.desc": "Since high-level logistics aren't super necessary for progression, you may also consider leaving the procurement of the Lens up until &bMV&r when you will be able to do it at home. &dRose Quartz&r can be crystallized from its dust form (mixed from 8 parts redstone and 1 part nether quartz) with an &bAdvanced &3Autoclave&r, switching out the usual (distilled) water for &bIce Water&r to simulate natural conditions. Similarly, at &bMV&r tier the &dRose Quartz Lens&r itself can be cut from a &dRose Quartz Plate&r, although it has to be acquired from a full block of Rose Quartz (being a gem plate, it must be processed in a &3Cutter&r).", "quests.create_logistics.rose_quartz_lens.title": "Rose-tinted Glasses", "quests.create_logistics.rose_quartz_lens.subtitle": "YONO (You Only Need One)", - "quests.create_logistics.rose_quartz_lens.desc": "Whichever way you obtained the materials needed, you need a &3Lathe&r to actually create the Lens. A &7Basic &3Lathe&r will be enough to create the lens from an &dExquisite Rose Quartz&r gem, but if you want to make the lens from a mere plate you will need better equipment in the form of an &bAdvanced &3Lathe&r.\n\nOne you've crafted it, the lens can be used in a &7Basic &3Laser Engraver&r &dDouble Red Alloy Plate&r to create the &dTransmitter&r unit we need, and won't be consumed in the process.", + "quests.create_logistics.rose_quartz_lens.desc": "Whichever way you obtained the materials needed, you need a &3Lathe&r to actually create the Lens. A &7Basic &3Lathe&r will be enough to create the lens from an &dExquisite Rose Quartz&r gem, but if you want to make the lens from a mere plate you will need better equipment in the form of an &bAdvanced &3Lathe&r.\n\nOne you've crafted it, the lens can be used in a &7Basic &3Laser Engraver&r with a &dDouble Red Alloy Plate&r to create the &dTransmitter&r unit you need, and won't be consumed in the process.", "quests.create_logistics.stock_link.title": "Stock Link", "quests.create_logistics.stock_link.subtitle": "We got storage buses at home", "quests.create_logistics.stock_link.desc": "The first &2High Logistics&r machine you can make is a &3Stock Link&r, which can be used to create a &dLogistics Network&r. When placed onto any side of a &3Packager&r, the Stock Link will &amake the inventory the Packager is attached to visible to the network&r! On its own, the Stock Link isn't super useful, but it is a core component of all the other machines yet to come...\n\nRemember to right click on an existing Stock Link before placing one down to tune the two to share the same network. To cancel this, you can simply craft the Stock Link by itself to clear its attunement.", @@ -2911,16 +2911,16 @@ "quests.low_voltage.lv_age_progression.task": "I... might have some sense of direction now", "quests.low_voltage.lost.title": "Lost?", "quests.low_voltage.lost.subtitle": "This is all very overwhelming", - "quests.low_voltage.lost.desc.1": "Getting into &7LV&r opens up a LOT of options, so it's easy to get lost. Here's our recommendations:\n\n1) Set up a source of power. Check the quests on the bottom right, there's several options, all are viable. Don't cheap out, build multiple generators!\n\nBe sure to &eread the GregTech Energy quest chapter&r so you get a good understanding of how EU, Volts, Amps, and Cable Loss all work.", - "quests.low_voltage.lost.desc.2": "2) Focus on machines that make building more machines cheaper.\n\nThe Polarizer is a super cheap machine that can magnetize rods for basically free. If you didn't craft the Steam Age equivalents, set up a Bender, Wiremill, Lathe, and Cutter. These quests are all on the top left.\n\nAfter that, focus on making Rubber cheaper with a Chemical Reactor and Fluid Solidifier (left), and making electronic components cheaper with an Assembler (bottom).\n\nOnce everything's at its cheapest, make sure you craft components in batches to save you lots of time.", - "quests.low_voltage.lost.desc.3": "3) Build a canner and make some batteries (top right). Battery buffers will help a lot with the growth of your factory, and the Ore Prospector is an absolute game changer.\n\n4) &7LV&r has two main end goals, the &aCircuit Assembler&r and the &aElectric Blast Furnace&r. You should now be ready to tackle those.", + "quests.low_voltage.lost.desc.1": "Getting into &7LV&r opens up a LOT of options, so it's easy to get lost. Here's our recommendations:\n\n1) Set up a source of power. Check the quests below this, there's several options, all are viable. Don't cheap out, build multiple generators!\n\nBe sure to &eread the GregTech Energy quest chapter&r so you get a good understanding of how EU, Volts, Amps, and Cable Loss all work.", + "quests.low_voltage.lost.desc.2": "2) Focus on machines that make building more machines cheaper.\n\nThe Polarizer is a super cheap machine that can magnetize rods for basically free. If you didn't craft the Steam Age equivalents, set up a Bender, Wiremill, Lathe, and Cutter.\n\nAfter that, focus on making Rubber cheaper with a Chemical Reactor and Fluid Solidifier (left), and making electronic components cheaper with an Assembler (bottom).\n\nOnce everything's at its cheapest, make sure you craft components in batches to save you lots of time.", + "quests.low_voltage.lost.desc.3": "3) Build a canner and make some batteries. Battery buffers will help a lot with the growth of your factory, and the Ore Prospector is an absolute game changer.\n\n4) &7LV&r has two main end goals, the &aCircuit Assembler&r and the &aElectric Blast Furnace&r. You should now be ready to tackle those.", "quests.low_voltage.lost.task": "I know what to do now!", "quests.low_voltage.lv_steam_turbine.title": "The Steam Turbine", "quests.low_voltage.lv_steam_turbine.subtitle": "You must construct additional turbines", - "quests.low_voltage.lv_steam_turbine.desc": "The &3Steam Turbine&r is most players' first &7LV&r generator, as you've already got steam production set up from your Steam machines.\n\nWhen provided Steam, the turbine will output EU at a ratio of &d2 mB = 1 EU&r.\n\nOne downside of steam is transporting it, and due to its lack of energy density, you'll need large or huge pipes to carry it around. You may also consider upgrading to the Large Bronze Boiler once you start needing more power than what your single-block boilers can produce.", + "quests.low_voltage.lv_steam_turbine.desc": "The &3Steam Turbine&r is most players' first &7LV&r generator, as you've already got steam production set up from your Steam machines.\n\nWhen provided Steam, the turbine will output EU at a ratio of &d2 mB = 1 EU&r.\n\nOne downside of steam is transporting it, and due to its lack of energy density, you'll need large or huge pipes to carry it around.\n\nYou may also consider upgrading to the Large Bronze Boiler once you start needing more power than what your single-block boilers can produce.", "quests.low_voltage.lbb.title": "Large Bronze Boiler", "quests.low_voltage.lbb.subtitle": "Boom, boom, boom, boom", - "quests.low_voltage.lbb.desc.1": "The &3Large Boiler&r is an &6optional&r big-boy variant of the Small Boilers. It runs off solid or liquid fuel.\n\nIf you want Steam-based power production, this is an alternative to the Create Steam Engine.\n\nMake sure you set it up so it never runs out of water like your Small Boilers, otherwise it'll &cexplode&r!.", + "quests.low_voltage.lbb.desc.1": "The &3Large Boiler&r is an &6optional&r big-boy variant of the Small Boilers. It runs off solid or liquid fuel.\n\nIf you want Steam-based power production, this is an alternative to the Create Steam Engine.\n\nMake sure you set it up so it never runs out of water like your Small Boilers, otherwise it'll &cexplode&r!", "quests.low_voltage.lbb.desc.2": "Once fully heated up, the &3LBB&r produces 800 Steam per tick, which is &d400EU/t&r after conversion, or 12.5 Basic Steam Turbines. Such (relatively!) immense power comes at the cost of &la lot&r of burnable fuel. &5With this in consideration&r, the GUI lets you &9throttle&r the Boiler down to 25 percent power for 200 Steam per tick. That's &d100EU/t&r, or slightly above 3 Basic Steam Turbines.\n\nWe recommend holding off making this until you're ready to power your EBF, or if you have a lot of steam multiblocks.", "quests.low_voltage.lbb.desc.3": "In TerraFirmaGreg, you have a few options for fuel. You can use a Hose Pulley to pull Lava out of a deep underground lake (no, infinite lava is not a thing), or set up a tree farm into a coke oven for Charcoal and Creosote. Lastly, there are huge surface-level Coal veins that you can extract with some automated mining machines and turn into Coke and significantly more Creosote than charcoal.\n\nIf you go the tree farm route, you'll need three coke ovens to power a full-throttle LBB.", "quests.low_voltage.lv_polariser.title": "Basic Polarizer", @@ -2928,7 +2928,7 @@ "quests.low_voltage.lv_polariser.desc": "One of the cheapest - if not the cheapest - &7LV&r machine. Use this to make &6Redstone-free Magnetic Rods&r for your Motors. Whenever you start to batch your Motors, this machine will save you stacks and stacks of Redstone.", "quests.low_voltage.link_chapter.title": "Explain energy to me", "quests.low_voltage.link_chapter.subtitle": "There is a whole chapter about energy", - "quests.low_voltage.link_chapter.desc": "GregTech's energy system works differently to FE (Forge Energy), the system used by almost every other mod.\n\nIt might look like a lot of reading, but it's important to understand if you want to avoid accidents and get the most out of your power generation.\n\nThere's four ways to generate power in LV, and all are viable options. If you're new to GregTech, Steam is the easiest but falls off fast as you progress to further tiers. Gas fuel is more complicated to produce, but has the cheapest generators. Combustion is somewhere in between.\n\nHere's a link to the energy chapter:", + "quests.low_voltage.link_chapter.desc": "It might look like a lot of reading, but it's important to understand if you want to avoid accidents and get the most out of your power generation.\n\nGregTech's energy system (EU, Energy Units) works differently to FE (Forge Energy), the system used by almost every other mod.\n\nThere's four ways to generate power in LV, and all are viable options. If you're new to GregTech, Steam is the easiest but falls off fast as you progress to further tiers. Gas fuel is more complicated to produce, but has the cheapest generators. Combustion is somewhere in between.\n\nHere's a link to the energy chapter", "quests.low_voltage.link_chapter.task": "I read it", "quests.low_voltage.lv_combuston_gen.title": "The Combustion Generator", "quests.low_voltage.lv_combuston_gen.subtitle": "It does boom and make energy", @@ -3051,10 +3051,10 @@ "quests.low_voltage.lv_electroliser.desc.3": "&cTake caution!&r Due to how ores work, directly smelting dusts into Ingots can give higher metal yields than electrolysis. However, it means you lose the other products in the dust. You will have to decide whether you want to prioritise direct value, or byproduct count.", "quests.low_voltage.lv_mixer.title": "Basic Mixer", "quests.low_voltage.lv_mixer.subtitle": "The Mixer mixes...", - "quests.low_voltage.lv_mixer.desc": "Using the mixer will &6significantly speed up&r the process of making colored steel, since now it can directly make the &aColored Steel Dust&r. Even if you don't think you need it now, you'll find it &6essential&r later on.\n\nYou're used to alloying things in a Crucible, but for any new alloys (as well as all of the old ones), the GregTech way of alloying is to &amix together dusts&r and then heat them into ingots or extract them into fluids. &7(Don't look at the Alloy Blast Smelter in JEI, that's not until &5EV&r&7.)&r", + "quests.low_voltage.lv_mixer.desc": "The electric mixer will &6significantly speed up&r the process of making colored steel, since now it can directly make the &aColored Steel Dust&r. Even if you don't think you need it now, you'll find it &6essential&r later on.\n\nYou're used to alloying things in a Crucible, but for any new alloys (as well as all of the old ones), the GregTech way of alloying is to &amix together dusts&r and then heat them into ingots or extract them into fluids. &7(Don't look at the Alloy Blast Smelter in JEI, that's not until &5EV&r&7.)&r", "quests.low_voltage.soldering_alloy.title": "Soldering Alloy", "quests.low_voltage.soldering_alloy.subtitle": "I got soul but I'm not a solder", - "quests.low_voltage.soldering_alloy.desc": "&aSoldering Alloy&r is used solely as a &9Fluid&r, and in most cases is &dinterchangeable&r in circuit recipes as a cheaper alternative to Tin&r.\n\nThe choice is yours. Save more materials? Make Soldering Alloy. Spend less time crafting materials? Tin is the way to go.", + "quests.low_voltage.soldering_alloy.desc": "&aSoldering Alloy&r is used solely as a &9Fluid&r, and in most cases is &dinterchangeable&r in circuit recipes as a cheaper alternative to Tin&r.\n\nThe choice is yours. Save more materials? Make Soldering Alloy. Spend less time crafting materials? Tin is the way to go.\n\nRemember that you'll need to mix the soldering alloy dust first, then use an extractor to turn it into liquid. Ignore the Alloy Blast Smelter recipes in JEI!", "quests.low_voltage.gallium_arsenide.title": "Gallium Arsenide", "quests.low_voltage.gallium_arsenide.subtitle": "I hate byproducts, they're awesome", "quests.low_voltage.gallium_arsenide.desc": "Many materials going forward cannot be smelted directly from any Ores! They are instead obtained as byproducts from processing of other ores. Gallium and Arsenic are &4among&r these materials.\n\nFor &dGallium&r, you may, ranged from worst to best (compromising difficulty and yields):\n\n&9- &3Electrolyze &aSphalerite&r for a low chance of small dust. Note that you lose out on direct smelting value.\n\n&9-&r Put &aCrushed Bauxite&r in the &3Chemical Bath&r. Note that this requires &9Sodium Persulfate&r.\n\n&9-&r Obtain it as a Byproduct of &aSphalerite&r Ore Processing in the &3Thermal Centrifuge&r or &3Centrifuge&r.\n\nFor &dArsenic&r, you will have to mine and &3centrifuge&r &aRealgar&r, or put &aCobaltite&r through an EBF.", @@ -3097,7 +3097,7 @@ "quests.low_voltage.lv_distillery.subtitle": "The distillery distills...", "quests.low_voltage.lv_distillery.desc": "The Distillery is kind of like a centrifuge, but mostly for organic/petrochemical fluids.\n\nIn &7LV&r, you can only extract one output from one input, but this will change after you get to the Distillation Tower in &6HV&r.\n\nYou won't use this machine for all that much in LV (unless you're using Combustion fuel), but it's essential for obtaining &ePhenol&r.", "quests.low_voltage.phenolic_resin.subtitle": "Artificial Resin", - "quests.low_voltage.phenolic_resin.desc.1": "Phenolic Resin is made from a chemical reaction of both &6Phenol&r and &aFormaldehyde&r. While you only really have two options for obtaining the Phenol in &7LV&r (distilling either Creosote or Heavy Fuel), the Formaldehyde will require &dMethane&r, which has more options.", + "quests.low_voltage.phenolic_resin.desc.1": "Phenolic Resin is made from a chemical reaction of &6Phenol&r and &aFormaldehyde&r.\n\nWhile you only really have two options for obtaining the Phenol in &7LV&r (distilling either Creosote or Heavy Fuel), the Formaldehyde will require &dMethane&r, which has more options.", "quests.low_voltage.phenolic_resin.desc.2": "The simplest (and slowest) is with hydrogen and carbon in a chemical reactor, which will also require very slow water electrolysis.\n\nThe distillery also has many options, including via Creosote.\n\nIf you're using Syngas as a fuel, you can also oxidize that into Methane.\n\nLastly, if you're feeling silly, you can also centrifuge a ton of mushrooms from the Beneath.", "quests.low_voltage.magnesia.subtitle": "Also the name of a place in Greece!", "quests.low_voltage.magnesia.desc": "Also known as Magnesium Oxide, Magnesia can be obtained in two ways:\n\n- Magnesite Ore\n\n- React Magnesium and Lye to create Magnesium Hydroxide, then calcinate it in a Coke Oven. Magnesium can be obtained from a variety of different ores.", @@ -3143,7 +3143,7 @@ "quests.low_voltage.cupronickel_ingot.desc": "A big part of progression in GregTech revolves around gaining access to new materials that you'll use to upgrade your machines or unlock advanced components.\n\nOne such material you'll encounter is &bCupronickel&r — the beginning of a long journey.\nThis material is used to build your first &6Electric Blast Furnace&r, an essential step in your industrial growth.\n\nLuckily, this first step is fairly simple: an Alloy Smelter will get the job done.\nSo even if the recipe asks for &b128 Cupronickel&r, don't worry — it's easier than it looks!&r\n\nLater on, their counterparts will become much more complex, so enjoy the simplicity while it lasts!", "quests.low_voltage.cupronickel_coil.title": "Cupronickel Coils", "quests.low_voltage.cupronickel_coil.subtitle": "Baby's first heating coil", - "quests.low_voltage.cupronickel_coil.desc": "Prepare &a128 Cupronickel&r, &a32 Bronze&r and &a16 Tin Alloy&r to craft the Heating Coils required for your first Electric Blast Furnace.\n\nThis is still less than half (!) of the cost of the whole EBF in raw materials. You will also need about a stack each of Invar and Steel, so get mining.\n\nThe Cupronickel Coils will allow the EBF to perform recipes up to &d1,800K&r (ignoring Voltage bonuses). That's pretty hot if you ask us.\n\n&6Tutorial on Coils in the &lGregTech Energy&r&6 tab - check it out to learn more!&r", + "quests.low_voltage.cupronickel_coil.desc": "Prepare &a128 Cupronickel&r, &a32 Blue Steel&r and &a16 Tin Alloy&r ingots, as well as &a128 Refractory Bricks&r to craft the Heating Coils required for your first Electric Blast Furnace.\n\nThis is still less than half (!) of the cost of the whole EBF in raw materials. You will also need about a stack each of Invar and Steel, so get mining.\n\nThe Cupronickel Coils will allow the EBF to perform recipes up to &d1,800K&r (ignoring Voltage bonuses). That's pretty hot if you ask us.\n\n&6Tutorial on Coils in the &lGregTech Energy&r&6 tab - check it out to learn more!&r", "quests.low_voltage.lv_ebf.title": "The Electric Blast Furnace", "quests.low_voltage.lv_ebf.subtitle": "One of the core machines of GregTech. We like it big.", "quests.low_voltage.lv_ebf.desc.1": "This quest explains the core mechanic of the &3Electric Blast Furnace&r, while the quest just over this one will explain the mechanics of the Multiblock Parts that you'll also need. Be sure to check this quest out.\n\nAnyway, the &3EBF&r is your &efirst electric multiblock&r! Congrats. It's used to process materials at high temperatures.\n\nYou'll become familiar with the EBF to make &aAluminium&r and progress to &d&bMV Age&r. It can also make &7Steel&r faster than the the &6Blast Furnace&r, which means you can finally tear down your old TFC smithy if you'd like.", @@ -3174,7 +3174,7 @@ "quests.low_voltage.aluminium_greate.desc": "It's been a while since your last upgrade, but now you have access to the next tier of Greate cogs and shafts. Like before, the aluminium ones have &bfour times&r the stress capacity of steel.\n\nContinuing with Greate beyond this point is very optional, and we encourage you to move over to GregTech, but the upgrade may help you de-spaghettify some of your old setups if you'd like to continue using them.\n\nYou can scale up your stress production with a &eSteam Engine&r, or convert EU into SU via the &9Create Additions&r &eElectric Motor&r.", "quests.low_voltage.oil.title": "Found Oil early?", "quests.low_voltage.oil.subtitle": "For LV overachievers", - "quests.low_voltage.oil.desc": "If you've found any Oilsands ores or Oil spouts (in deserts) in your travels, you can actually start using a little bit of it in LV.\n\nYou can either convert it into Heavy Fuel and put it in your boilers, convert it into Diesel to power your base.", + "quests.low_voltage.oil.desc": "If you've found any Oilsands ores or Oil spouts (in deserts) in your travels, you can actually start using a little bit of it in LV.\n\nYou can either convert it into Heavy Fuel and put it in your boilers, or convert it into Diesel to power your Combustion Generators.", "quests.low_voltage.glowstone.title": "Permanent Lighting", "quests.low_voltage.glowstone.subtitle": "A roundabout way of inventing light bulbs", "quests.low_voltage.glowstone.desc": "Looking for some cheap, permanent light sources? Now that you've got an LV Extractor (and soon an LV Fluid Solidifer), you can put all that &6Glowstone Dust&r you found in The Beneath to work. Ran out? You can make more in a Mixer.\n\nCheck out JEI for all the new light sources you can make with both liquid glowstone and glowstone blocks. GregTech also has some made with glowstone dust in an assembler.\n\nAs a bonus, you can also use liquid glowstone as an infinite fuel for your lamps!", @@ -3182,15 +3182,15 @@ "quests.low_voltage.next_machines.subtitle": "Now the fun begins", "quests.low_voltage.next_machines.desc": "Now that you've got a few machines going, it's time to put them to work.\n\nTo the right of this quest are some purely optional machines (we don't know where else to put them in this chapter!), but otherwise the Assembler will make electronic components cheaper, while the Chemical Reactor, Extractor, and Fluid Solidifier will make Rubber cheaper. After that, the rest of &7LV&r is yours to explore!", "quests.low_voltage.food_machines.title": "Food Machines", - "quests.low_voltage.food_machines.subtitle": "Fast Food On The Go", + "quests.low_voltage.food_machines.subtitle": "Fast Food on the Go", "quests.low_voltage.food_machines.desc": "The Food Processor and Electric Oven are two custom machines designed specifically to work with TerraFirmaCraft's food system.\n\nThe processor can handle mixing bowl recipes, soups, sandwiches, smoking, brining, drying... You name it, this machine can do it. Except for cooking. That's what the oven is for.\n\nThe Rotten Voiding Cover can be placed on any machine or Input Bus to automatically void any food items that become rotten. Useful to stop your food automation from getting backed up!", "quests.low_voltage.bakelite.subtitle": "Also known as Poly­oxy­benzyl­methylen­glycol­anhydride... try saying that five times fast", - "quests.low_voltage.bakelite.desc.1": "Your first Polymer! Simply mix Phenolic Resin with either Asbestos or Treated Chipboard Composite to finish it.\nYou'll be using Bakelite for crafting both Phenolic Circuit Boards and MV Machine Hulls, so making a big batch of it is a good idea, though you'll replace it with Polyethylene in &bMV&r.", - "quests.low_voltage.bakelite.desc.2": "&l&3Lore:&r&o Bakelite is the first plastic made from synthetic components. The award for first plastic ever goes to Parkesine, but that requires Nitrocellulose which is a long long chain of recipes to craft - too long for LV. The second ever plastic is Galalith, created with milk proteins and formaldehyde, but milk is difficult to automate.", + "quests.low_voltage.bakelite.desc.1": "Your first Polymer! Simply mix Phenolic Resin with either Asbestos or Treated Chipboard Composite to finish it.\n\nYou'll be using Bakelite for crafting both Phenolic Circuit Boards and MV Machine Hulls, so making a big batch of it is a good idea, though you'll replace it with Polyethylene in &bMV&r.\n\nYou now also have access to a cheaper recipe for ULV and LV Machine Hulls!", + "quests.low_voltage.bakelite.desc.2": "&l&3Lore:&r&o Bakelite is the first plastic made from synthetic components. The award for first plastic ever goes to Parkesine, but that requires Nitrocellulose which is a long long chain of recipes to craft - too long for LV.\n\nThe second ever plastic is Galalith, created with milk proteins and formaldehyde, but milk is difficult to automate.", "quests.low_voltage.lv_forming_press.subtitle": "The Forming Press forms...", - "quests.low_voltage.lv_forming_press.desc": "This machine usually isn't used for much, but in TFG it can automate any remaining TFC Welding recipes if you still need access to them for any reason. It can also easily duplicate any extruder or casting mold.\n\nMore pressingly (pun intended), you'll need it to craft an essential component for your next circuits, the Phenolic Circuit Board.", + "quests.low_voltage.lv_forming_press.desc": "This machine usually isn't used for much, but in TFG it can do TFC Welding recipes if you still need access to them for any reason. It can also easily duplicate any extruder or casting mold.\n\nMore pressingly (pun intended), you'll need it to craft an essential component for your next circuits, the &aPhenolic Circuit Board&r.", "quests.low_voltage.lv_laser_engraver.subtitle": "Pew pew!", - "quests.low_voltage.lv_laser_engraver.desc": "The Basic Laser Engraver is required to make Transmitter's for Create's logistics system. Other than that, it unfortunately can't do much other than make polished stone.\n\nYou'll deal with lasers more once you get to &bMV&r.", + "quests.low_voltage.lv_laser_engraver.desc": "The Basic Laser Engraver is required to make Transmitters for Create's logistics system. Other than that, it unfortunately can't do much other than make polished stone.\n\nYou'll deal with lasers more once you get to &bMV&r.", "quests.medium_voltage": "&bMV&r - Medium Voltage", "quests.medium_voltage.subtitle": "Venture into petrochemistry and refine electronics", "quests.medium_voltage.mv_machine_hull.title": "Welcome to MV!", @@ -3883,7 +3883,7 @@ "quests.steam_age.basic_millstone.title": "Automatic Ore Processing", "quests.steam_age.basic_millstone.subtitle": "No more querning", "quests.steam_age.basic_millstone.desc.1": "The &3Millstone&r is an automatic version of the Quern. You can throw whatever you'd like into the top, and then right-click to take your crushed items back out. It's pretty slow if you connect it directly to your Animal Crank, but you can use gear ratios to increase its speed.\n\nYou will only receive the output in the first slot. The other slots are part of a GregTech mechanic that won't be relevant until much later (&6HV&r).", - "quests.steam_age.basic_millstone.desc.2": "&l&3Lore:&r&o The millstone can't be used to process grains into flower because Create doesn't understand TFC's food expiry system, which previously led to all sorts of bugs involving rotten items becoming fresh and vice versa. Until you're able to get the Food Processor in &7LV&r, you can still crush your grains via a Mortar in a crafting grid.", + "quests.steam_age.basic_millstone.desc.2": "&l&3Lore:&r&o The millstone can't be used to process grains into flour because Create doesn't understand TFC's food expiry system, which previously led to all sorts of bugs involving rotten items becoming fresh and vice versa. Until you're able to get the Food Processor in &7LV&r, you can still crush your grains via a Mortar in a crafting grid.", "quests.steam_age.horse_crank.title": "Your First Power Source", "quests.steam_age.horse_crank.subtitle": "Make your livestock pay rent", "quests.steam_age.horse_crank.desc.1": "The &3Animal Crank&r is your first accessible source of mechanical power. To use it, place the crank on the center of a 7x7 cleared area and leash an animal to it. Different animals will provide different amounts of power, while the blocks underneath will increase the speed of the output power. The area of multiple cranks can overlap.\n\nYou may need to hold a second lead to attach an animal.", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 522ddb6b4..16c1b92fd 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -251,14 +251,14 @@ "block.tfg.rock.aqueduct_nether": "Кератофировый акведук", "block.tfg.rock.hardened_moon_stone": "Укреплённый анортозит", "block.tfg.rock.moon_stone_wall": "Анортозитовая ограда", - "block.tfg.rock.cobble_moon_stone_wall": "Ограда из анортозитового булыжника", + "block.tfg.rock.cobble_moon_wall": "Ограда из анортозитового булыжника", "block.tfg.rock.mossy_cobble_moon": "Замшелый анортозитовый булыжник", "block.tfg.rock.mossy_cobble_moon_stairs": "Ступеньки из замшелого анортозитового булыжника", "block.tfg.rock.mossy_cobble_moon_slab": "Плита из замшелого анортозитового булыжника", "block.tfg.rock.mossy_cobble_moon_wall": "Ограда из замшелого анортозитового булыжника", "block.tfg.rock.mossy_bricks_moon": "Замшелые анортозитовые кирпичи", "block.tfg.rock.mossy_bricks_moon_stairs": "Ступеньки из замшелых анортозитовых кирпичей", - "block.tfg.rock.mossy_bricks_moon_stone_slab": "Плита из замшелых анортозитовых кирпичей", + "block.tfg.rock.mossy_bricks_moon_slab": "Плита из замшелых анортозитовых кирпичей", "block.tfg.rock.mossy_bricks_moon_wall": "Ограда из замшелых анортозитовых кирпичей", "block.tfg.rock.chiseled_bricks_moon_wall": "Ограда из резного анортозита", "block.tfg.rock.gravel_moon": "Анортозитовый гравий", @@ -437,6 +437,76 @@ "block.tfg.loose.red_granite": "Камешек красного гранита", "block.tfg.spike.red_granite_spike": "Сталагмит красного гранита", "block.tfg.rock.aqueduct_red_granite": "Акведук из красного гранита", + "block.tfg.rock.sandy_jadestone_stairs": "Ступеньки из лампроита", + "block.tfg.rock.sandy_jadestone_slab": "Плита из лампроита", + "block.tfg.rock.sandy_jadestone_wall": "Ограда из лампроита", + "block.tfg.rock.hardened_sandy_jadestone": "Укреплённый лампроит", + "block.tfg.spike.sandy_jadestone_spike": "Сталагмит из лампроита", + "block.tfg.sandy_jadestone_support": "Опора из лампроита", + "block.tfg.rock.cobble_sandy_jadestone": "Лампроитовый булыжник", + "block.tfg.rock.cobble_sandy_jadestone_stairs": "Ступеньки из лампроитового булыжника", + "block.tfg.rock.cobble_sandy_jadestone_slab": "Плита из лампроитового булыжника", + "block.tfg.rock.cobble_sandy_jadestone_wall": "Ограда из лампроитового булыжника", + "block.tfg.rock.gravel_sandy_jadestone": "Лампроитовый гравий", + "block.tfg.rock.aqueduct_sandy_jadestone": "Лампроитовый акведук", + "block.tfg.rock.bricks_sandy_jadestone_stairs": "Ступеньки из лампроитовых кирпичей", + "block.tfg.rock.bricks_sandy_jadestone_slab": "Плита из лампроитовых кирпичей", + "block.tfg.rock.bricks_sandy_jadestone_wall": "Ограда из лампроитовых кирпичей", + "block.tfg.rock.polished_sandy_jadestone_stairs": "Ступеньки из полированного лампроита", + "block.tfg.rock.polished_sandy_jadestone_slab": "Плита из полированного лампроита", + "block.tfg.rock.polished_sandy_jadestone_wall": "Ограда из полированного лампроита", + "block.tfg.rock.chiseled_sandy_jadestone_stairs": "Ступеньки из резного лампроита", + "block.tfg.rock.chiseled_sandy_jadestone_slab": "Плита из резного лампроита", + "block.tfg.rock.chiseled_sandy_jadestone_wall": "Ограда из резного лампроита", + "block.tfg.loose.sandy_jadestone": "Камешек лампроита", + "block.tfg.rock.flavolite_stairs": "Ступеньки из игнимбрита", + "block.tfg.rock.flavolite_slab": "Плита из игнимбрита", + "block.tfg.rock.flavolite_wall": "Ограда из игнимбрита", + "block.tfg.rock.hardened_flavolite": "Укреплённый игнимбрит", + "block.tfg.spike.flavolite_spike": "Сталагмит из игнимбрита", + "block.tfg.flavolite_support": "Опора из игнимбрита", + "block.tfg.rock.cobble_flavolite": "Игнимбритовый булыжник", + "block.tfg.rock.cobble_flavolite_stairs": "Ступеньки из игнимбритового булыжника", + "block.tfg.rock.cobble_flavolite_slab": "Плита из игнимбритового булыжника", + "block.tfg.rock.cobble_flavolite_wall": "Ограда из игнимбритового булыжника", + "block.tfg.rock.gravel_flavolite": "Игнимбритовый гравий", + "block.tfg.rock.aqueduct_flavolite": "Акведук из игнимбрита", + "block.tfg.rock.bricks_flavolite_stairs": "Ступеньки из игнимбрита", + "block.tfg.rock.bricks_flavolite_slab": "Плита из игнимбрита", + "block.tfg.rock.bricks_flavolite_wall": "Ограда из игнимбрита", + "block.tfg.rock.polished_flavolite_stairs": "Ступеньки из полированного игнимбрита", + "block.tfg.rock.polished_flavolite_slab": "Плита из полированного игнимбрита", + "block.tfg.rock.polished_flavolite_wall": "Ограда из полированного игнимбрита", + "block.tfg.rock.chiseled_flavolite_stairs": "Ступеньки из резного игнимбрита", + "block.tfg.rock.chiseled_flavolite_slab": "Плита из резного игнимбрита", + "block.tfg.rock.chiseled_flavolite_wall": "Ограда из резного игнимбрита", + "block.tfg.loose.flavolite": "Камешек игнимбрита", + "block.tfg.rock.scoria_stairs": "Ступеньки из пепла", + "block.tfg.rock.scoria_slab": "Плита из пепла", + "block.tfg.rock.scoria_wall": "Ограда из пепла", + "block.tfg.rock.hardened_scoria": "Укреплённый пепел", + "block.tfg.spike.scoria_spike": "Сталагмит из пепла", + "block.tfg.scoria_support": "Опора из пепла", + "block.tfg.rock.cobble_scoria": "Булыжник из пепла", + "block.tfg.rock.cobble_scoria_stairs": "Ступеньки из булыжника из пепла", + "block.tfg.rock.cobble_scoria_slab": "Плита из булыжника из пепла", + "block.tfg.rock.cobble_scoria_wall": "Ограда из булыжника из пепла", + "block.tfg.rock.gravel_scoria": "Гравий из пепла", + "block.tfg.rock.aqueduct_scoria": "Акведук из пепла", + "block.tfg.loose.scoria": "Камешек пепла", + "block.tfg.rock.scorchia_stairs": "Ступеньки из тёмного пепла", + "block.tfg.rock.scorchia_slab": "Плита из тёмного пепла", + "block.tfg.rock.scorchia_wall": "Ограда из тёмного пепла", + "block.tfg.rock.hardened_scorchia": "Укреплённый тёмный пепел", + "block.tfg.spike.scorchia_spike": "Сталагмит из тёмного пепла", + "block.tfg.scorchia_support": "Опора из тёмного пепла", + "block.tfg.rock.cobble_scorchia": "Булыжник из м пепла", + "block.tfg.rock.cobble_scorchia_stairs": "Ступеньки из булыжника из тёмного пепла", + "block.tfg.rock.cobble_scorchia_slab": "Плита из булыжника из тёмного пепла", + "block.tfg.rock.cobble_scorchia_wall": "Ограда из булыжника из тёмного пепла", + "block.tfg.rock.gravel_scorchia": "Гравий из тёмного пепла", + "block.tfg.rock.aqueduct_scorchia": "Акведук из тёмного пепла", + "block.tfg.loose.scorchia": "Камешек тёмного пепла", "block.tfg.rock.stone_wall": "Ограда из восстановленного камня", "block.tfg.rock.smooth_stone_stairs": "Ступеньки из полированного восстановленного камня", "block.tfg.rock.smooth_stone_wall": "Ограда из полированного восстановленного камня", @@ -740,6 +810,8 @@ "block.tfg.impure_moderate_core": "Нечистое ядро стабилизатора", "block.tfg.moderate_core_frame": "Каркас с ядром стабилизатора", "block.tfg.impure_moderate_core_frame": "Каркас с нечистым ядром стабилизатора", + "tfg.block_entity.artisan_table": "Ремесленный стол", + "block.tfg.artisan_table": "Ремесленный стол", "fluid.tfg.heavy_ammoniacal_water": "Тяжёлая аммиачная вода", "fluid.tfg.semiheavy_ammoniacal_water": "Полутяжёлая аммиачная вода", "fluid.tfg.sulfur_fumes": "Пары серы", @@ -1308,6 +1380,13 @@ "material.tfg.chloroplasts": "Хлоропласты", "material.tfg.nitrate_rich_water": "Нитратный раствор", "material.tfg.nitrate_rich_semiheavy_ammoniacal_water": "Полутяжёлый нитратно-аммиачный раствор", + "material.tfg.weak_red_steel": "Сырая красная сталь", + "material.tfg.weak_blue_steel": "Сырая синяя сталь", + "material.tfg.refractory_clay": "Огнеупорная глина", + "material.tfg.bakelite": "Бакелит", + "material.tfg.phenolic_resin": "Фенольная смола", + "material.tfg.magnesium_hydroxide": "Гидроксид магния", + "material.tfg.magnesia_refractory_brick": "Склеенный смолой магнезиальный огнеупорный кирпич", "ore_vein.tfg.deep_sheldonite": "Куперит и Борнит", "ore_vein.tfg.deep_garnet_amethyst": "Аметист и гранат", "ore_vein.tfg.deep_garnet_opal": "Опал и гранат", @@ -1756,79 +1835,83 @@ "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_orange_block": "Окрашивание", "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_red_block": "Окрашивание", "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_brown_block": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.treated_chipboard_composite": "Treating Chipboard Composite", + "tfc.recipe.barrel.tfg.barrel.treated_chipboard_composite": "Пропитка ДСП", "tfc.recipe.barrel.tfg.barrel.soak_hardwood_strip": "Пропитка деревянных полосок", + "tfc.recipe.barrel.tfg.barrel.treated_wood_dust": "Пропитка деревянной пыли", "tfc.recipe.barrel.tfg.barrel.treated_wood_planks": "Обработка деревянных досок", "tfc.recipe.barrel.tfg.barrel.packed_ice": "Заморозка льда", - "tfc.recipe.barrel.tfg.barrel.cooling_water_1": "Cooling Water", - "tfc.recipe.barrel.tfg.barrel.cooling_water_2": "Cooling Water", - "tfc.recipe.barrel.tfg.barrel.cooling_water_3": "Cooling Water", - "tfc.recipe.barrel.tfg.barrel.cooling_water_4": "Cooling Water", + "tfc.recipe.barrel.tfg.barrel.cooling_water_1": "Охлаждение воды", + "tfc.recipe.barrel.tfg.barrel.cooling_water_2": "Охлаждение воды", + "tfc.recipe.barrel.tfg.barrel.cooling_water_3": "Охлаждение воды", + "tfc.recipe.barrel.tfg.barrel.cooling_water_4": "Охлаждение воды", "tfc.recipe.barrel.tfg.sealed_barrel.prepared_leather_gloves": "Подготовленные Кожаные Перчатки", - "tfc.recipe.barrel.tfg.barrel.rapeseed_to_oil": "Extracting Canola Oil", - "tfc.recipe.barrel.tfg.barrel.sunflower_to_oil": "Extracting Sunflower Oil", - "tfc.recipe.barrel.tfg.barrel.maple_syrup_to_sugar": "Making sugar", - "tfc.recipe.barrel.tfg.barrel.birch_syrup_to_sugar": "Making sugar", - "tfc.recipe.barrel.tfg.barrel.light_concrete": "Solidifying Concrete", - "tfc.recipe.barrel.tfg.barrel.reinforced_light_concrete_support": "Solidifying Concrete", - "tfc.recipe.barrel.tfg.barrel.dark_concrete": "Dyeing", - "tfc.recipe.barrel.tfg.barrel.dark_concrete_support": "Dyeing", - "tfc.recipe.barrel.tfg.barrel.reinforced_dark_concrete_support": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.rapeseed_to_oil": "Извлечения растительного масла", + "tfc.recipe.barrel.tfg.barrel.sunflower_to_oil": "Извлечения растительного масла", + "tfc.recipe.barrel.tfg.barrel.maple_syrup_to_sugar": "Производство сахара", + "tfc.recipe.barrel.tfg.barrel.birch_syrup_to_sugar": "Производство сахара", + "tfc.recipe.barrel.tfg.barrel.develop_black_and_white_film": "Разработка плёнки", + "tfc.recipe.barrel.tfg.barrel.develop_color_film": "Разработка плёнки", + "tfc.recipe.barrel.tfg.barrel.light_concrete": "Затвердевание бетона", + "tfc.recipe.barrel.tfg.barrel.reinforced_light_concrete_support": "Затвердевание бетона", + "tfc.recipe.barrel.tfg.barrel.dark_concrete": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dark_concrete_support": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.reinforced_dark_concrete_support": "Окрашивание", "gtceu.aqueous_accumulator": "Жидкостный коллектор", "tfg.food_recipe.brining": "Засаливание", "tfg.food_recipe.smoking": "Копчение", "tfg.food_recipe.drying": "Сушка", "tfg.food_recipe.freeze_drying": "Лиофилизация", - "tfg.recipe.macerator_warning": "Only outputs first slot until HV", + "tfg.food_recipe.deep_frying": "Жарка во фритюре", + "tfg.recipe.macerator_warning": "Производит лишь первый слот до HV", "tfg.grapplemod.repair": "Рецепт починки, сохраняет ваши улучшения. §rНИКОГДА не объединяйте две крюк-кошки или вы потеряете ВСЕ ваши улучшения!§r", - "tfg.grapplemod.upgrades.maxlen": "Increases §lMax Length§r by 20, up to 200.", - "tfg.grapplemod.downgrades.maxlen": "Decreases §lMax Length§r by 20, down to 20. (Jute Rope is Returned).", - "tfg.grapplemod.upgrades.motor.lv": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1\n§lMotorAcceleration§r set to 0.125", - "tfg.grapplemod.upgrades.motor.mv": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1.14\n§lMotorAcceleration§r set to 0.25", - "tfg.grapplemod.upgrades.motor.hv": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1.28\n§lMotorAcceleration§r set to 0.375", - "tfg.grapplemod.upgrades.motor.ev": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1.42\n§lMotorAcceleration§r set to 0.5", - "tfg.grapplemod.upgrades.motor.iv": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1.56\n§lMotorAcceleration§r set to 0.625", - "tfg.grapplemod.upgrades.motor.luv": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1.7\n§lMotorAcceleration§r set to 0.75", - "tfg.grapplemod.upgrades.motor.zpm": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 1.84\n§lMotorAcceleration§r set to 0.875", - "tfg.grapplemod.upgrades.motor.uv": "Enables the §lMotor§r Upgrade, automatically reeling you in.\n§lMotorMaxSpeed§r set to 2\n§lMotorAcceleration§r set to 1", - "tfg.grapplemod.downgrades.motor": "Disables the §lMotor§r Upgrade, returning the original motor.\nOnly works if you use the same type of Motor as before.", - "tfg.grapplemod.upgrades.smart_motor": "Enables the §lSmart Motor§r Upgrade, requires a Motor to be installed.", - "tfg.grapplemod.downgrades.smart_motor": "Disables the §lSmart Motor§r Upgrade, can be removed with the Motor already uninstalled. Returns the Basic Electronic Circuit", - "tfg.grapplemod.upgrades.sticky": "Enables the §lSticky§r Upgrade, causing the hook to stick to any block the rope touches.", - "tfg.grapplemod.downgrades.sticky": "Disables the §lSticky§r Upgrade, returning the Sticky Resin", - "tfg.grapplemod.upgrades.forcefield.lv": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 0.625", - "tfg.grapplemod.upgrades.forcefield.mv": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 1.25", - "tfg.grapplemod.upgrades.forcefield.hv": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 1.875", - "tfg.grapplemod.upgrades.forcefield.ev": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 2.5", - "tfg.grapplemod.upgrades.forcefield.iv": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 3.125", - "tfg.grapplemod.upgrades.forcefield.luv": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 3.75", - "tfg.grapplemod.upgrades.forcefield.zpm": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 4.375", - "tfg.grapplemod.upgrades.forcefield.uv": "Enables the §lForce Field§r Upgrade, repelling you from nearby blocks while Grappling.\n§lRepel Force§r set to 5", - "tfg.grapplemod.downgrades.forcefield": "Disables the §lForce Field§r Upgrade, returning the original Field Generator.\nOnly works if you use the same type of Field Generator as before.", - "tfg.grapplemod.upgrades.magnet.magnetic_iron_ingot": "Enables the §lMagnet§r Upgrade, causing the hook itself to attach to nearby blocks.\n§lAttraction Radius§r set to 1.25", - "tfg.grapplemod.upgrades.magnet.magnetic_steel_ingot": "Enables the §lMagnet§r Upgrade, causing the hook itself to attach to nearby blocks.\n§lAttraction Radius§r set to 2.5", - "tfg.grapplemod.upgrades.magnet.magnetic_neodymium_ingot": "Enables the §lMagnet§r Upgrade, causing the hook itself to attach to nearby blocks.\n§lAttraction Radius§r set to 3.75", - "tfg.grapplemod.upgrades.magnet.magnetic_samarium_ingot": "Enables the §lMagnet§r Upgrade, causing the hook itself to attach to nearby blocks.\n§lAttraction Radius§r set to 5", - "tfg.grapplemod.downgrades.magnet": "Disables the §lMagnet§r Upgrade, returning the original Magnetic Ingot.\nOnly works if you use the same type of Magnetic Ingot as before.", - "tfg.grapplemod.upgrades.gravity.0.5": "Lowers the Hook's §lGravity§r to 50% (1 -> 0.5)", - "tfg.grapplemod.downgrades.gravity.0.5": "Returns the Hook's §lGravity§r back to 100% (0.5 -> 1).\nThe empty bucket will be filled with the Helium you used", - "tfg.grapplemod.upgrades.gravity.0": "Lowers the Hook's §lGravity§r to 0% (1 -> 0)", - "tfg.grapplemod.downgrades.gravity.0": "Returns the Hook's §lGravity§r back to 100% (0 -> 1).\nThe Gravitation Engine Unit will be returned.", - "tfg.grapplemod.upgrades.throwspeed.lv": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 2.25", - "tfg.grapplemod.upgrades.throwspeed.mv": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 2.5", - "tfg.grapplemod.upgrades.throwspeed.hv": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 2.75", - "tfg.grapplemod.upgrades.throwspeed.ev": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 3", - "tfg.grapplemod.upgrades.throwspeed.iv": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 3.25", - "tfg.grapplemod.upgrades.throwspeed.luv": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 3.5", - "tfg.grapplemod.upgrades.throwspeed.zpm": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 3.75", - "tfg.grapplemod.upgrades.throwspeed.uv": "Increases the §lThrow Speed§r of the Hook, causing it to travel farther.\n§lThrow Speed§r set to 4", - "tfg.grapplemod.downgrades.throwspeed": "Resets the §lThrow Speed§r of the hook back to normal, returning the original Piston.\nOnly works if you use the same type of Piston as before.", - "tfg.grapplemod.upgrades.doublehook": "Adds a §lSecondary Hook§r to your Grappling Hook", - "tfg.grapplemod.downgrades.doublehook": "Removes the §lSecondary Hook§r from your Grappling Hook", - "tfg.grapplemod.upgrades.vertical_throwing_angle": "Increases the §lVertical Throwing Angle§r of the hook by 5°, up to 90°.", - "tfg.grapplemod.downgrades.vertical_throwing_angle": "Decreases the §lVertical Throwing Angle§r of the hook by 5°, down to 0°.", - "tfg.grapplemod.upgrades.angle": "Increases the §lHorizontal Angle§r for throwing your §lDouble Hooks§r by 5°, up to 90°.\nOnly accessible with a §lDouble Hook§r installed.", - "tfg.grapplemod.downgrades.angle": "Decreases the §lHorizontal Angle§r for throwing your §lDouble Hooks§r by 5°, down to 5°°.\nOnly accessible with a §lDouble Hook§r installed.", + "tfg.grapplemod.upgrades.maxlen": "Увеличивает §lМаксимальную длину§r на 20, вплоть до 200.", + "tfg.grapplemod.downgrades.maxlen": "Уменьшает §lМаксимальную длину§r на 20, вплоть до 20. (Моток веревки вернётся).", + "tfg.grapplemod.upgrades.motor.lv": "Включает улучшение §lМотор§r, автоматически подтягивая игрока. n§lМаксСкоростьМотора§r будет равна 1\n§lУскорениеМотора§r будет равно 0.125", + "tfg.grapplemod.upgrades.motor.mv": "Включает улучшение §lМотор§r, автоматически подтягивая игрока. n§lМаксСкоростьМотора§r будет равна 1.14\n§lУскорениеМотора§r будет равно 0.25", + "tfg.grapplemod.upgrades.motor.hv": "Включает улучшение §lМотор§r, автоматически подтягивая игрока. n§lМаксСкоростьМотора§r будет равна 1.28\n§lУскорениеМотора§r будет равно 0.375", + "tfg.grapplemod.upgrades.motor.ev": "Включает улучшение §lМотор§r, автоматически подтягивая игрока. n§lМаксСкоростьМотора§r будет равна 1.42\n§lУскорениеМотора§r будет равно 0.5", + "tfg.grapplemod.upgrades.motor.iv": "Включает улучшение §lМотор§r, автоматически подтягивая игрока. n§lМаксСкоростьМотора§r будет равна 1.56\n§lУскорениеМотора§r будет равно 0.625", + "tfg.grapplemod.upgrades.motor.luv": "Включает улучшение §lМотор§r, автоматически подтягивая игрока. n§lМаксСкоростьМотора§r будет равна 1.7\n§lУскорениеМотора§r будет равно 0.75", + "tfg.grapplemod.upgrades.motor.zpm": "Включает улучшение §lМотор§r, автоматически подтягивая игрока. n§lМаксСкоростьМотора§r будет равна 1.84\n§lУскорениеМотора§r будет равно 0.875", + "tfg.grapplemod.upgrades.motor.uv": "Включает улучшение §lМотор§r, автоматически подтягивая игрока. n§lМаксСкоростьМотора§r будет равна 2\n§lУскорениеМотора§r будет равно 1", + "tfg.grapplemod.downgrades.motor": "Выключает улучшение §lМотор§r, возращая мотор.\nРаботает только при использовании того же типа мотора, что и раньше.", + "tfg.grapplemod.upgrades.smart_motor": "Включает улучшение §lУмныйМотор§r, для работы необходим установленное улучшения мотора.", + "tfg.grapplemod.downgrades.smart_motor": "Выключает улучшение §lУмныйМотор§r, его можно снять, даже если двигатель уже снят. Возращает обычную микросхему", + "tfg.grapplemod.upgrades.sticky": "Включает улучшение §lЛипкая верёвка§r, в результате чего крюк прилипает к любому блоку, которого касается веревка.", + "tfg.grapplemod.downgrades.sticky": "Выключает улучшение the §lЛипкая верёвка§r, возвращение липкой смолы", + "tfg.grapplemod.upgrades.forcefield.lv": "Включает улучшение §lОтталкивающееПоле§r, отталкивает вас от ближайших блоков во время использования крюка.\n§lСилаОтталкивания§r будет равна 0.625", + "tfg.grapplemod.upgrades.forcefield.mv": "Включает улучшение §lОтталкивающееПоле§r, отталкивает вас от ближайших блоков во время использования крюка.\n§lСилаОтталкивания§r будет равна 1.25", + "tfg.grapplemod.upgrades.forcefield.hv": "Включает улучшение §lОтталкивающееПоле§r, отталкивает вас от ближайших блоков во время использования крюка.\n§lСилаОтталкивания§r будет равна 1.875", + "tfg.grapplemod.upgrades.forcefield.ev": "Включает улучшение §lОтталкивающееПоле§r, отталкивает вас от ближайших блоков во время использования крюка.\n§lСилаОтталкивания§r будет равна 2.5", + "tfg.grapplemod.upgrades.forcefield.iv": "Включает улучшение §lОтталкивающееПоле§r, отталкивает вас от ближайших блоков во время использования крюка.\n§lСилаОтталкивания§r будет равна 3.125", + "tfg.grapplemod.upgrades.forcefield.luv": "Включает улучшение §lОтталкивающееПоле§r, отталкивает вас от ближайших блоков во время использования крюка.\n§lСилаОтталкивания§r будет равна 3.75", + "tfg.grapplemod.upgrades.forcefield.zpm": "Включает улучшение §lОтталкивающееПоле§r, отталкивает вас от ближайших блоков во время использования крюка.\n§lСилаОтталкивания§r будет равна 4.375", + "tfg.grapplemod.upgrades.forcefield.uv": "Включает улучшение §lОтталкивающееПоле§r, отталкивает вас от ближайших блоков во время использования крюка.\n§lСилаОтталкивания§r будет равна 5", + "tfg.grapplemod.downgrades.forcefield": "Выключает улучшение the §lОтталкивающееПоле§r, возращает генератор поля.\nРаботает только при использовании того же типа генератора полей, что и раньше", + "tfg.grapplemod.upgrades.magnet.magnetic_iron_ingot": "Включает улучшение §lМагнит§r, в результате чего сам крюк прикрепляется к ближайшим блокам..\n§lAttraction Radius§r будет равно 1.25", + "tfg.grapplemod.upgrades.magnet.magnetic_steel_ingot": "Включает улучшение §lМагнит§r, в результате чего сам крюк прикрепляется к ближайшим блокам..\n§lAttraction Radius§r будет равно 2.5", + "tfg.grapplemod.upgrades.magnet.magnetic_neodymium_ingot": "Включает улучшение §lМагнит§r, в результате чего сам крюк прикрепляется к ближайшим блокам..\n§lAttraction Radius§r будет равно 3.75", + "tfg.grapplemod.upgrades.magnet.magnetic_samarium_ingot": "Включает улучшение §lМагнит§r, в результате чего сам крюк прикрепляется к ближайшим блокам..\n§lAttraction Radius§r будет равно 5", + "tfg.grapplemod.downgrades.magnet": "Выключает улучшение the §lМагнит§r, возращает магнитный слиток.\nРаботает только при использовании того же типа магнитного слитка, что и раньше", + "tfg.grapplemod.upgrades.gravity.0.5": "Уменьшает §lГравитацию§r крюка до 50% (1 -> 0.5)", + "tfg.grapplemod.downgrades.gravity.0.5": "Возращает §lГравитацию§r крюка к 100% (0.5 -> 1).\nПустое ведро будет наполнено использованным гелием", + "tfg.grapplemod.upgrades.gravity.0": "Уменьшает §lГравитацию§r крюка до 0% (1 -> 0)", + "tfg.grapplemod.downgrades.gravity.0": "Возращает §lГравитацию§r крюка к 100% (0 -> 1).\nГравитационный двигатель будет возвращен.", + "tfg.grapplemod.upgrades.throwspeed.lv": "Увеличивает §lСкорость броска§r крюка, в результате чего он кинется дальше.\n§lСкорость броска§r будет равно 2.25", + "tfg.grapplemod.upgrades.throwspeed.mv": "Увеличивает §lСкорость броска§r крюка, в результате чего он кинется дальше.\n§lСкорость броска§r будет равно 2.5", + "tfg.grapplemod.upgrades.throwspeed.hv": "Увеличивает §lСкорость броска§r крюка, в результате чего он кинется дальше.\n§lСкорость броска§r будет равно 2.75", + "tfg.grapplemod.upgrades.throwspeed.ev": "Увеличивает §lСкорость броска§r крюка, в результате чего он кинется дальше.\n§lСкорость броска§r будет равно 3", + "tfg.grapplemod.upgrades.throwspeed.iv": "Увеличивает §lСкорость броска§r крюка, в результате чего он кинется дальше.\n§lСкорость броска§r будет равно 3.25", + "tfg.grapplemod.upgrades.throwspeed.luv": "Увеличивает §lСкорость броска§r крюка, в результате чего он кинется дальше.\n§lСкорость броска§r будет равно 3.5", + "tfg.grapplemod.upgrades.throwspeed.zpm": "Увеличивает §lСкорость броска§r крюка, в результате чего он кинется дальше.\n§lСкорость броска§r будет равно 3.75", + "tfg.grapplemod.upgrades.throwspeed.uv": "Увеличивает §lСкорость броска§r крюка, в результате чего он кинется дальше.\n§lСкорость броска§r будет равно 4", + "tfg.grapplemod.downgrades.throwspeed": "Возращает §lСкорость броска§r крюка к нормальной, возращает поршень.\nРаботает только при использовании поршня того же типа, что и раньше.", + "tfg.grapplemod.upgrades.doublehook": "Добавляет §lВторой крюк§r к крюку", + "tfg.grapplemod.downgrades.doublehook": "Убирает §lВторой крюк§r из крюка", + "tfg.grapplemod.upgrades.vertical_throwing_angle": "Увеличивает §lВертикальный угол броска§r крюка на 5°, вплоть до 90°.", + "tfg.grapplemod.downgrades.vertical_throwing_angle": "Уменьшает §lВертикальный угол броска§r крюка на 5°, вплоть до 0°.", + "tfg.grapplemod.upgrades.angle": "Увеличивает §lГоризонтальный угол броска§r §lВторого крюка§r на 5°, вплоть до 90°.\nДоступно только с установленным улучшением §lВторой крюк§r.", + "tfg.grapplemod.downgrades.angle": "Уменьшает §lГоризонтальный угол броска§r §lВторого крюка§r на 5°, вплоть до 5°°.\nДоступно только с установленным улучшением §lВторой крюк§r.", "quests.ae2": "Applied Energistics 2", "quests.ae2.subtitle": "Самый мощный инструмент, который поможет вам с GregTech, открывается после вашего первого полёта на Луну", "quests.ae2.certus_quartz.title": "Истинный кварц", @@ -2505,7 +2588,7 @@ "quests.gregtech_energy.fission_reactor.title": "Ядерный реактор MK I", "quests.gregtech_energy.fission_reactor.subtitle": "Пристегните ремни, это сложно.", "quests.gregtech_energy.fission_reactor.desc.1": "&dЯдерный реактор&r — безусловно редкое зрелище в GregTech, как по тематике, так и по принципу работы. Но не бойся — мы здесь, чтобы провести тебя через этот многоцелевой мультиблок для настоящих технарей!\n\nФизику мы пока опустим, &eколлега-инженер&r. Самое важное, что тебе нужно знать: этот реактор — как большая тепловая &dбатарея-генератор&r. Ты подаёшь подходящее топливо и получаешь &cтепло&r (по сути как &6EU/t&r), которое накапливается в реакторе в виде &cрастущей температуры&r (сохранённой &6EU&r).\n\nЗатем ты можешь передать это тепло в &9охлаждающие жидкости&r для работы турбин или выполнения рецептов крафта в стиле ЭДП. Иногда этого тепла может быть даже &cслишком много&r. Ах да, ещё ты получаешь новые элементы для создания новых топлив, схем и прочих вещей. Может, стоит ещё немного исследовать Солнечную систему? Скукотища.", - "quests.gregtech_energy.fission_reactor.desc.2": "Для начала добудь немного &dТория&r. Не забудь надеть зазитный костюм — &eDeatek Intergalactic&r не несёт ответственности за любые телесные повреждения, полученные в результате неправильного обращения с нестабильными материалами. Честно говоря, на этом этапе нам уже не стоило бы тебе об этом напоминать. Если нужно освежить память — загляни в задание про опасности.\n\nДалее скрафть несколько пустых &dтопливных стержней&r и заполни их с помощью &dЗавода по производству ядерного топлива&r. Стержни многоразовые, так что делать их слишком много не нужно. На самом деле, на первое время тебе вполне хватит всего &oодного&r.\n\nРазумеется, тебе также понадобится полностью собранный реактор. Посмотри превью в EMI. Обрати внимание: в центре находится колонна держателей топлива, а вокруг — дополнительные колонны для компонентов и держателей материалов. К ним мы вернёмся позже.\n\nПодожди. Почему всего &oодин&r стержень? О, &eкак же мы&r рады, что ты спросил. Давай погрузимся в механику реактора подробнее на следующей странице.", + "quests.gregtech_energy.fission_reactor.desc.2": "Для начала добудь немного &dТория&r. Не забудь надеть защитный костюм — &eDeatek Intergalactic&r не несёт ответственности за любые телесные повреждения, полученные в результате неправильного обращения с нестабильными материалами. Честно говоря, на этом этапе нам уже не стоило бы тебе об этом напоминать. Если нужно освежить память — загляни в задание про опасности.\n\nДалее скрафть несколько пустых &dтопливных стержней&r и заполни их с помощью &dЗавода по производству ядерного топлива&r. Стержни многоразовые, так что делать их слишком много не нужно. На самом деле, на первое время тебе вполне хватит всего &oодного&r.\n\nРазумеется, тебе также понадобится полностью собранный реактор. Посмотри превью в EMI. Обрати внимание: в центре находится колонна держателей топлива, а вокруг — дополнительные колонны для компонентов и держателей материалов. К ним мы вернёмся позже.\n\nПодожди. Почему всего &oодин&r стержень? О, &eкак же мы&r рады, что ты спросил. Давай погрузимся в механику реактора подробнее на следующей странице.", "quests.gregtech_energy.fission_reactor.desc.3": "Чем больше топливных стержней ты установишь в реактор, тем &cгорячее&r он станет. А чем он горячее, тем больше тепла сможет передать в охлаждающую жидкость и обрабатываемые материалы. Но у физики есть свои пределы, и реактор не может нагреваться бесконечно — есть максимум, &cнасколько горячим&r он может быть, так что не стоит устанавливать слишком много топливных стержней.\n\nНо не бойся! Вопреки тому, что утверждает пропагандистская большая машина &0нефти&r, ядерная энергия &aабсолютно безопасна&r. Если уровень тепла реактора приближается к опасной зоне, он запускает &9автоматическую последовательность охлаждения&r и не запустится снова, пока всё тепло не будет &aбезопасно рассеяно&r. Правда, процесс это довольно медленный.\n\nДолжен же быть способ сделать его горячее и быстрее? И снова — хорошо, что ты спросил! &eНаши гениальные инженеры&r уже подготовили для тебя решение!", "quests.gregtech_energy.fission_reactor.desc.4": "Помимо 5 &dдержателей топлива&r, ты можешь установить &oдо&r 20 &dкомпонентов&r. Реакторы от некоторых других производителей требуют очень точного размещения, но наш реактор умнее. &6Характеристики&r всех установленных компонентов просто &6суммируются&r — и на этом всё!\n\nНа данный момент реактор умеет использовать их тремя&7*&r разными способами:\n&e1)&r Максимальная температура &7(изоляция)&r\n&e2)&r Эффективность &7(топливо служит дольше)&r\n&e3)&r Дросселирование &7(замедляет реакции)&r\n\n&7*)&r Возможно, в твоей галактике нет необходимых материалов для всех вариантов. Мы предполагаем, что материалы доступны только для первой категории.\n\nНо будь осторожен. Повышение &cтемпературы&r имеет и &cобратную сторону&r.", "quests.gregtech_energy.fission_reactor.desc.5": "Хотя более &cгорячий&r реактор делает производство охлаждающих жидкостей и обработку &cбыстрее&r, он также становится более требовательным к топливным стержням. Каждый топливный стержень имеет ограниченную прочность, и её расход линейно зависит от температуры.\n\nПоскольку для более высокой температуры тебе требуется больше топливных стержней, в итоге износ масштабируется &nквадратично&r. Если ты хочешь максимально эффективно нагревать охлаждающие жидкости, используй низкую температуру. А если тебе нужна более быстрая переработка ядерных материалов — поднимай температуру настолько высоко, насколько позволяет изоляция.", @@ -3857,7 +3940,7 @@ "quests.steam_age.resin_boards.desc": "Знаете ли вы, что подсочки могут капать прямо в трубы и бочки GregTech? Теперь знаете!", "quests.steam_age.circuit_boards.title": "Электроника #2: Прорезиненная Электросхема", "quests.steam_age.circuit_boards.subtitle": "Более простой компонент для схем", - "quests.steam_age.circuit_boards.desc": "Скомбинируйте Прорезиненные Подложки с медными проводами, и у вас получится основа для вашей первой &aСхемы&r!", + "quests.steam_age.circuit_boards.desc": "Немного тонкой работы за &3Ремесленным столом&r позволит тебе объединить прорезиненные подложки с медными проводами и создать свои первые &aэлектросхемы&r!\n\nРемесленный стол работает по тому же принципу, что и обработка камня, но на этот раз с дополнительными предметами и инструментами.", "quests.steam_age.vacuum_chamber.title": "Вакуумная камера", "quests.steam_age.vacuum_chamber.subtitle": "Добавляем вакуум в вакуумные лампы", "quests.steam_age.vacuum_chamber.desc": "Эта машина — финальный шаг в создании ваших первых вакуумных ламп. Разместите её над чашей, подключите питание и убедитесь, что машина находится в режиме Ваакумирование.\n\nТакже эта машина помогает разжижать клей и резину, если её нагревать в Charcoal Forge или с помощью Горелки Всполоха.", diff --git a/kubejs/server_scripts/gregtech/utility.js b/kubejs/server_scripts/gregtech/utility.js index b81f7b361..9f7c9aa08 100644 --- a/kubejs/server_scripts/gregtech/utility.js +++ b/kubejs/server_scripts/gregtech/utility.js @@ -134,7 +134,7 @@ function addCircuitToRecipe(event, recipeId, circuitNumber) { let hasCircuit = false; for (let i = 0; i < itemArray.size(); i++) { const el = itemArray.get(i); - if (!el.isJsonObject()) {continue;} + if (!el.isJsonObject()) { continue; } const obj = el.getAsJsonObject(); const content = obj.get("content"); if (content && content.isJsonObject()) { @@ -351,21 +351,21 @@ function woodBuilder(event, name, lumber, logs, log, stripped_log, plank, stair, * @throws {TypeError} Throws an error if input, output, or multiplier is invalid. */ function sterilizeItem(event, input, output, multiplier, cleanroom) { - // Collect errors. - const errors = []; + // Collect errors. + const errors = []; if (input === undefined || (Array.isArray(input) && input.length !== 1) || output === undefined || (Array.isArray(output) && output.length !== 1)) { errors.push("input or output is undefined or not equal to one item"); }; - if (multiplier <= 0) { - errors.push(`invalid multiplier (${multiplier})`); - }; + if (multiplier <= 0) { + errors.push(`invalid multiplier (${multiplier})`); + }; - // If there are any errors, log them all and throw once. - if (errors.length > 0) { - const message = `sterilizeItem errors:\n - ${ errors.join("\n - ")}`; - throw new TypeError(message); - }; + // If there are any errors, log them all and throw once. + if (errors.length > 0) { + const message = `sterilizeItem errors:\n - ${errors.join("\n - ")}`; + throw new TypeError(message); + }; // Set default multiplier. let recipe_multiplier = 1; @@ -376,32 +376,32 @@ function sterilizeItem(event, input, output, multiplier, cleanroom) { // Create recipes. const ethanol_recipe = event.recipes.gtceu.chemical_bath(`tfg:ethanol_cleaning/${linuxUnfucker(input)}_to_${linuxUnfucker(output)}`) .itemInputs(input) - .inputFluids(Fluid.of('gtceu:ethanol', 500*recipe_multiplier)) + .inputFluids(Fluid.of('gtceu:ethanol', 500 * recipe_multiplier)) .itemOutputs(output) - .duration(10*20*recipe_multiplier) + .duration(10 * 20 * recipe_multiplier) .EUt(GTValues.VA[GTValues.MV]); const hydrogen_peroxide_recipe = event.recipes.gtceu.chemical_bath(`tfg:hydrogen_peroxide_cleaning/${linuxUnfucker(input)}_to_${linuxUnfucker(output)}`) .itemInputs(input) - .inputFluids(Fluid.of('gtceu:hydrogen_peroxide', 200*recipe_multiplier)) + .inputFluids(Fluid.of('gtceu:hydrogen_peroxide', 200 * recipe_multiplier)) .itemOutputs(output) - .duration(10*20*recipe_multiplier) + .duration(10 * 20 * recipe_multiplier) .EUt(GTValues.VA[GTValues.MV]); const sodium_dodecyl_sulfate_recipe = event.recipes.gtceu.chemical_bath(`tfg:sodium_dodecyl_sulfate_cleaning/${linuxUnfucker(input)}_to_${linuxUnfucker(output)}`) .itemInputs(input) - .inputFluids(Fluid.of('tfg:sodium_dodecyl_sulfate', 50*recipe_multiplier)) + .inputFluids(Fluid.of('tfg:sodium_dodecyl_sulfate', 50 * recipe_multiplier)) .itemOutputs(output) - .duration(10*20*recipe_multiplier) + .duration(10 * 20 * recipe_multiplier) .EUt(GTValues.VA[GTValues.MV]); const autoclave_recipe = event.recipes.gtceu.autoclave(`tfg:autoclave_cleaning/${linuxUnfucker(input)}_to_${linuxUnfucker(output)}`) .itemInputs(input) .perTick(true) - .inputFluids(Fluid.of('gtceu:steam', 100*recipe_multiplier)) + .inputFluids(Fluid.of('gtceu:steam', 100 * recipe_multiplier)) .perTick(false) .itemOutputs(output) - .duration(240*20*recipe_multiplier) + .duration(240 * 20 * recipe_multiplier) .EUt(GTValues.VA[GTValues.MV]); if (cleanroom) { diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index b45eecc8c..149d38722 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -994,21 +994,14 @@ const registerMinecraftRecipes = (event) => { //#endregion //#region Glowing Ink Sacs - - event.recipes.gtceu.chemical_bath('minecraft:glow_inc_sac4') - .itemInputs("gtceu:thorium_dust") - .inputFluids(Fluid.of('gtceu:glowstone', 512)) - .itemOutputs('16x minecraft:glow_ink_sac') - .duration(20) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.chemical_bath('minecraft:glow_inc_sac1') - .itemInputs("#forge:dyes/black") - .inputFluids(Fluid.of('gtceu:glowstone', 144)) + + event.recipes.gtceu.fluid_solidifier('tfg:glow_ink_sac') + .inputFluids('gtceu:glowstone 36') + .notConsumable('gtceu:ball_casting_mold') .itemOutputs('minecraft:glow_ink_sac') .duration(40) .EUt(GTValues.VA[GTValues.LV]) - + //#endregion //#region Gunpowder diff --git a/kubejs/server_scripts/tfg/machines/recipes.bakelite.js b/kubejs/server_scripts/tfg/machines/recipes.bakelite.js index fd46fbf09..92262887e 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.bakelite.js +++ b/kubejs/server_scripts/tfg/machines/recipes.bakelite.js @@ -2,8 +2,22 @@ function registerTFGBakeliteRecipes(event) { - // TODO: move oil PE to MV + // Make PE exclusively MV+, it's fine if the LCR recipe stays LV since you can't make an LCR in LV anyway + event.recipes.gtceu.chemical_reactor('gtceu:polyethylene_from_oxygen') + .inputFluids('gtceu:oxygen 1000', 'gtceu:ethylene 144') + .circuit(1) + .outputFluids('gtceu:polyethylene 216') + .duration(2 * 20) + .EUt(GTValues.VA[GTValues.MV]) + event.recipes.gtceu.chemical_reactor('gtceu:polyethylene_from_air') + .inputFluids('gtceu:air 1000', 'gtceu:ethylene 144') + .circuit(1) + .outputFluids('gtceu:polyethylene 144') + .duration(2 * 20) + .EUt(GTValues.VA[GTValues.MV]) + + // Formaldehyde event.recipes.gtceu.chemical_reactor('tfg:formaldehyde_from_methane') .inputFluids('gtceu:methane 1000', 'gtceu:oxygen 1000') .outputFluids('gtceu:formaldehyde 1000', 'gtceu:hydrogen 2000') @@ -53,18 +67,40 @@ function registerTFGBakeliteRecipes(event) { event.remove({ id: 'gtceu:assembler/phenolic_board' }) - event.recipes.gtceu.forming_press('tfg:phenolic_board') + event.recipes.gtceu.forming_press('tfg:phenolic_board_lv') .itemInputs('2x #forge:foils/bakelite', '2x minecraft:paper', 'gtceu:resin_circuit_board') .itemOutputs('gtceu:phenolic_circuit_board') .duration(7.5 * 20) .EUt(GTValues.VA[GTValues.LV]) - event.recipes.gtceu.assembler('tfg:phenolic_board_pe') + event.recipes.gtceu.assembler('tfg:phenolic_board_mv') + .itemInputs('2x #forge:foils/bakelite', 'gtceu:wood_plate') + .inputFluids('gtceu:phenol 50') + .itemOutputs('gtceu:phenolic_circuit_board') + .duration(7.5 * 20) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.assembler('tfg:phenolic_board_mv_pe') .itemInputs('2x #forge:foils/polyethylene', 'gtceu:wood_plate') .inputFluids('gtceu:phenol 50') .itemOutputs('gtceu:phenolic_circuit_board') .duration(7.5 * 20) .EUt(GTValues.VA[GTValues.MV]) + // machine hull changes/additions event.replaceInput({ id: 'gtceu:shaped/mv_machine_hull' }, '#forge:plates/wrought_iron', '#forge:plates/bakelite') + + event.recipes.gtceu.assembler('tfg:ulv_hull_bakelite') + .itemInputs('gtceu:ulv_machine_casing', '2x #forge:single_cables/red_alloy') + .inputFluids('tfg:bakelite 432') + .itemOutputs('gtceu:ulv_machine_hull') + .duration(25) + .EUt(16) + + event.recipes.gtceu.assembler('tfg:lv_hull_bakelite') + .itemInputs('gtceu:lv_machine_casing', '2x #forge:single_cables/tin') + .inputFluids('tfg:bakelite 432') + .itemOutputs('gtceu:lv_machine_hull') + .duration(50) + .EUt(16) } \ No newline at end of file diff --git a/pakku-lock.json b/pakku-lock.json index 476d7096d..d315e4777 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -4945,24 +4945,24 @@ "files": [ { "type": "curseforge", - "file_name": "domum_ornamentum-1.20.1-1.0.295-snapshot-universal.jar", + "file_name": "domum_ornamentum-1.20.1-1.0.295-universal.jar", "mc_versions": [ "1.20.1" ], "loaders": [ "forge" ], - "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7421/161/domum_ornamentum-1.20.1-1.0.295-snapshot-universal.jar", - "id": "7421161", + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7530/695/domum_ornamentum-1.20.1-1.0.295-universal.jar", + "id": "7530695", "parent_id": "527361", "hashes": { - "sha1": "f5fc47a7006445e4f999611d1cc95bda55c70b1f", - "md5": "e85e022d42829065eb6f3d804abeb9d0" + "sha1": "29950245b98ec35184d806e3b9ace700e67ac585", + "md5": "2f8435a8c43ebff6df70299ea212b336" }, "required_dependencies": [], - "size": 1141562, - "date_published": "2026-01-05T14:36:53.033Z" + "size": 1141554, + "date_published": "2026-01-26T15:27:31.327Z" } ] }, @@ -6276,7 +6276,7 @@ "files": [ { "type": "curseforge", - "file_name": "FastSuite-1.20.1-5.1.1.jar", + "file_name": "FastSuite-1.20.1-5.1.2.jar", "mc_versions": [ "1.20.1" ], @@ -6285,18 +6285,18 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7428/292/FastSuite-1.20.1-5.1.1.jar", - "id": "7428292", + "url": "https://edge.forgecdn.net/files/7527/943/FastSuite-1.20.1-5.1.2.jar", + "id": "7527943", "parent_id": "475117", "hashes": { - "sha1": "dfceb81524a9e1be19bf89d0281c05b6edf5326c", - "md5": "806f80e876eff6f121c8b508825ce368" + "sha1": "32ea4495b0e646f8f060e4e97d17044dd9fdefbd", + "md5": "efca8ff65bbf93e3a0f776998ee181e9" }, "required_dependencies": [ "283644" ], - "size": 26603, - "date_published": "2026-01-07T04:03:31.723Z" + "size": 26600, + "date_published": "2026-01-26T00:38:18.357Z" } ] }, @@ -7231,7 +7231,7 @@ "files": [ { "type": "curseforge", - "file_name": "gtmoldraw-3.0.0.jar", + "file_name": "gtmoldraw-3.0.1.jar", "mc_versions": [ "1.20.1" ], @@ -7239,18 +7239,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7404/876/gtmoldraw-3.0.0.jar", - "id": "7404876", + "url": "https://edge.forgecdn.net/files/7529/672/gtmoldraw-3.0.1.jar", + "id": "7529672", "parent_id": "1348330", "hashes": { - "sha1": "9377694e2e3d8c62bdacd400e125acc732c54803", - "md5": "e6d36dbc5383b0649bbfa76a829c6170" + "sha1": "caaf28b88afe1b01ec4180a4458c2795184255bc", + "md5": "aae6cd78a4f17cbcbd2b0dc984fe4a8b" }, "required_dependencies": [ "890405" ], - "size": 907581, - "date_published": "2026-01-01T18:19:59.917Z" + "size": 908933, + "date_published": "2026-01-26T10:36:48.937Z" } ] }, @@ -10552,7 +10552,7 @@ "files": [ { "type": "modrinth", - "file_name": "particle_core-0.3.1+1.20.1+forge.jar", + "file_name": "particle_core-0.3.2+1.20.1+forge.jar", "mc_versions": [ "1.20.1" ], @@ -10561,23 +10561,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/RSeLon5O/versions/dtIZJ1r3/particle_core-0.3.1+1.20.1+forge.jar", - "id": "dtIZJ1r3", + "url": "https://cdn.modrinth.com/data/RSeLon5O/versions/qSjxrRl9/particle_core-0.3.2+1.20.1+forge.jar", + "id": "qSjxrRl9", "parent_id": "RSeLon5O", "hashes": { - "sha512": "63a2c186e74851fef7ce7871c09126deb0a8090de417753873b74cfe3db3e2d61b699e2fd6033526f38356881c1817e759e34e5b536224c17247bd3b3a6d6be8", - "sha1": "935a8c19cc7a72364fdfe494d9ddbd599f01588d" + "sha512": "042a26c72ed13a5b7a961afd575561442fe979295e2adc5901127e2be578391f597ce24d17d92fdf6ad515a19033f1b7cde0a455e7e9e9b0a36a8089caddf459", + "sha1": "57079d1607ce044533fb076d2db0e2a3d277a4fb" }, "required_dependencies": [ - "hYykXjDp", - "ordsPcFz" + "ordsPcFz", + "hYykXjDp" ], - "size": 770117, - "date_published": "2026-01-22T01:13:37.946023Z" + "size": 773147, + "date_published": "2026-01-25T16:04:41.088385Z" }, { "type": "curseforge", - "file_name": "particle_core-0.3.1+1.20.1+forge.jar", + "file_name": "particle_core-0.3.2+1.20.1+forge.jar", "mc_versions": [ "1.20.1" ], @@ -10586,19 +10586,19 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7504/78/particle_core-0.3.1+1.20.1+forge.jar", - "id": "7504078", + "url": "https://edge.forgecdn.net/files/7525/37/particle_core-0.3.2+1.20.1+forge.jar", + "id": "7525037", "parent_id": "985426", "hashes": { - "sha1": "935a8c19cc7a72364fdfe494d9ddbd599f01588d", - "md5": "4386c25fd855cc4de76c3458b9a182a5" + "sha1": "57079d1607ce044533fb076d2db0e2a3d277a4fb", + "md5": "5ebd6c2396924c3e33ea96003ec10b0c" }, "required_dependencies": [ - "351264", - "1005914" + "1005914", + "351264" ], - "size": 770117, - "date_published": "2026-01-22T01:13:31.647Z" + "size": 773147, + "date_published": "2026-01-25T16:04:36.363Z" } ] }, @@ -15246,6 +15246,47 @@ } ] }, + { + "pakku_id": "D8FJfLqFF1y0WOqV", + "pakku_links": [ + "7N9O2rPIAVKoRYOH" + ], + "type": "MOD", + "slug": { + "curseforge": "tacz-sbw-playerrevive-gun-mod-compitability" + }, + "name": { + "curseforge": "[TaCZ/SBW] PlayerRevive gun mod compitability" + }, + "id": { + "curseforge": "1440963" + }, + "files": [ + { + "type": "curseforge", + "file_name": "playerrevive_compat-1.0.1-1d0e244.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7528/776/playerrevive_compat-1.0.1-1d0e244.jar", + "id": "7528776", + "parent_id": "1440963", + "hashes": { + "sha1": "05d191e5bb7c4ada8b2cbb7c604b3ab7d5040563", + "md5": "7be622f95b711409c493da13c5c08772" + }, + "required_dependencies": [ + "266890" + ], + "size": 198416, + "date_published": "2026-01-26T05:31:05.240Z" + } + ] + }, { "pakku_id": "MpkpUO55EJhBt1az", "pakku_links": [ From cd7926a3333ff5902fedb6bb980bc831d0a8baf9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 27 Jan 2026 02:42:32 +0000 Subject: [PATCH 235/474] bloomery block -> doors --- .../field_guide/en_us/entries/mechanics/bloomery.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/bloomery.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/bloomery.json index 4bf3920e4..1c351fdd3 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/bloomery.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/bloomery.json @@ -34,7 +34,7 @@ }, { "type": "patchouli:text", - "text": "If you don't want to do the math, we recommend $(item)25 metal ore dusts$() and $(item)22 fuel items$().$(br2)After filling the bloomery with a combination of $(thing)Fuel$() and $(thing)Ore$(), light the bloomery block, and wait 15 hours for the bloomery to smelt. When the bloomery shuts off, it leaves behind a $(thing)Bloom$() block. This contains $(thing)Raw Iron Blooms$() which can be obtained by mining the $(thing)Bloom$() repeatedly with a pickaxe." + "text": "If you don't want to do the math, we recommend $(item)25 metal ore dusts$() and $(item)22 fuel items$().$(br2)After filling the bloomery with a combination of $(thing)Fuel$() and $(thing)Ore$(), light the bloomery doors, and wait 15 hours for the bloomery to smelt. When the bloomery shuts off, it leaves behind a $(thing)Bloom$() block. This contains $(thing)Raw Iron Blooms$() which can be obtained by mining the $(thing)Bloom$() repeatedly with a pickaxe." }, { "type": "patchouli:multiblock", From 03d5ba581b00a174b2d17be72d005fe4b508bb19 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 27 Jan 2026 14:23:10 +0000 Subject: [PATCH 236/474] add gt magnet quest to lv --- .../quests/chapters/lv__low_voltage.snbt | 36 +++++++++++++++++-- .../gregtech/recipes.removes.js | 1 + 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 9134b341e..c22390137 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -58,7 +58,7 @@ linked_quest: "2D2CB8104E40E808" shape: "heart" x: 7.0d - y: 6.0d + y: 5.5d } ] quests: [ @@ -663,7 +663,7 @@ }] title: "{quests.low_voltage.lv_ore_prospector.title}" x: 7.0d - y: 7.0d + y: 6.5d } { dependencies: [ @@ -1218,6 +1218,7 @@ "2E36E5755B2F551C" "4B4F052F00435AFE" "2D2CB8104E40E808" + "07EDEA9613D6F02D" ] dependency_requirement: "one_completed" description: ["{quests.low_voltage.lv_turbo_charge.desc}"] @@ -1367,7 +1368,7 @@ type: "item" }] x: 7.0d - y: 5.0d + y: 4.5d } { dependencies: ["7FA1525D681C4B4A"] @@ -1995,6 +1996,35 @@ x: -10.5d y: 2.0d } + { + dependencies: ["3E6DC423FE4A99F7"] + description: ["{quests.tfg_tips.magnets.desc}"] + icon: { + Count: 1 + id: "gtceu:lv_item_magnet" + tag: { + Charge: 100000L + } + } + id: "07EDEA9613D6F02D" + optional: true + shape: "heart" + subtitle: "{quests.tfg_tips.magnets.subtitle}" + tasks: [{ + id: "10DEC029D9788B72" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:lv_item_magnet)item(gtceu:hv_item_magnet))" + } + } + type: "item" + }] + title: "{quests.tfg_tips.magnets.title}" + x: 7.0d + y: 7.5d + } ] subtitle: ["{quests.low_voltage.subtitle}"] title: "{quests.low_voltage}" diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index d4dab7a2b..be346ced9 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -846,6 +846,7 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__blackstone' }) event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__endstone' }) event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__red_granite' }) + event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__basalt' }) event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_tuff' }) removeMaceratorRecipe(event, 'macerate_end_stone'); From c0ae890ecf12dece49df9066701c68b7cfab875f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 27 Jan 2026 15:04:48 +0000 Subject: [PATCH 237/474] fix dupe with ad astra steel trapdoor --- kubejs/server_scripts/ad_astra/recipes.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/ad_astra/recipes.js b/kubejs/server_scripts/ad_astra/recipes.js index 79270e13e..e700d283b 100644 --- a/kubejs/server_scripts/ad_astra/recipes.js +++ b/kubejs/server_scripts/ad_astra/recipes.js @@ -461,7 +461,8 @@ const registerAdAstraRecipes = (event) => { .itemOutputs('ad_astra:steel_trapdoor') .duration(100) .EUt(GTValues.VA[GTValues.LV]) - .addMaterialInfo(true, true) + + TFGHelpers.registerMaterialInfo('ad_astra:steel_trapdoor', [GTMaterials.Steel, 1, GTMaterials.Glass, 3/4, GTMaterials.Polyethylene, 1/4]) // Etrium only has factory block, encased block, plateblock, panel, and (storage) block From 941c22ff92218145aa4af9d52eedf87d279885fc Mon Sep 17 00:00:00 2001 From: Coox1e <166007852+Coox1e@users.noreply.github.com> Date: Wed, 28 Jan 2026 07:56:24 +1100 Subject: [PATCH 238/474] Pure fertilizer utility patch (#2884) * Added pure fertilizers at 100% Signed-off-by: Coox1e <166007852+Coox1e@users.noreply.github.com> * Changed pure compost recipes to match their updated value Signed-off-by: Coox1e <166007852+Coox1e@users.noreply.github.com> * Changed pure recipes to LV Signed-off-by: Coox1e <166007852+Coox1e@users.noreply.github.com> --------- Signed-off-by: Coox1e <166007852+Coox1e@users.noreply.github.com> --- kubejs/server_scripts/tfc/data.js | 6 ++++- .../tfg/primitive/recipes.compost.js | 24 ++++++++++++++----- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index 7fe74b566..f9dfc7602 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -109,6 +109,10 @@ const registerTFCFertilizers = (event) => { event.fertilizer('gtceu:tiny_ammonium_chloride_dust', 0.03, null, null) event.fertilizer('gtceu:small_ammonium_chloride_dust', 0.075, null, null) event.fertilizer('gtceu:ammonium_chloride_dust', 0.3, null, null) + + event.fertilizer('tfc:pure_nitrogen', 1, null, null) + event.fertilizer('tfc:pure_phosphorus', null, 1, null) + event.fertilizer('tfc:pure_potassium', null, null, 1) } @@ -117,4 +121,4 @@ const registerTFCFertilizers = (event) => { const registerTFCKnappingTypes = (event) => { event.knappingType('minecraft:flint', 1, 1, 'tfc:item.knapping.stone', true, false, true, 'minecraft:flint', 'tfg:flint') event.knappingType('tfc:straw', 4, 4, 'tfc:item.knapping.leather', false, false, false, 'tfc:straw', 'tfg:straw') -} \ No newline at end of file +} diff --git a/kubejs/server_scripts/tfg/primitive/recipes.compost.js b/kubejs/server_scripts/tfg/primitive/recipes.compost.js index 623e231a2..ee9d26ed1 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.compost.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.compost.js @@ -22,21 +22,33 @@ function registerTFGCompostRecipes(event) { .EUt(30) event.recipes.gtceu.centrifuge('tfg:gtceu/centrifuge/pure_fertilizers') - .itemInputs('1x gtceu:fertilizer') + .itemInputs('8x gtceu:fertilizer') .itemOutputs('1x tfc:pure_nitrogen', '1x tfc:pure_potassium', '1x tfc:pure_phosphorus') .duration(340) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.mixer('tfg:tfc/mixer/fertilizer') - .itemInputs('1x tfc:pure_nitrogen', '1x tfc:pure_potassium', '1x tfc:pure_phosphorus', ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Clay, 1)) + .itemInputs('8x tfc:pure_nitrogen', '8x tfc:pure_potassium', '8x tfc:pure_phosphorus', ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Clay, 1)) .itemOutputs('1x gtceu:fertilizer') .duration(160) .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.gas_pressurizer('tfg:pure_nitrogen') + event.recipes.gtceu.mixer('tfg:pure_nitrogen') .itemInputs('#forge:wax') - .inputFluids(Fluid.of('gtceu:nitrogen', 1000)) - .itemOutputs('16x tfc:pure_nitrogen') + .inputFluids(Fluid.of('gtceu:nitrogen', 8000)) + .itemOutputs('4x tfc:pure_nitrogen') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.mixer('tfg:pure_potassium') + .itemInputs('#forge:wax', '8x gtceu:potassium_dust') + .itemOutputs('4x tfc:pure_potassium') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.mixer('tfg:pure_phosphorus') + .itemInputs('#forge:wax', '8x gtceu:phosphorus_dust') + .itemOutputs('4x tfc:pure_phosphorus') .duration(100) .EUt(GTValues.VA[GTValues.LV]) //#endregion @@ -191,4 +203,4 @@ function registerTFGCompostRecipes(event) { .itemOutputs(Item.of('tfg:universal_compost_browns', 4)) .duration(20) .EUt(8) -} \ No newline at end of file +} From 32e4e90759e744745d6fcf7bc5ab7de5c3eafab4 Mon Sep 17 00:00:00 2001 From: TanJeeSchuan <89920999+TanJeeSchuan@users.noreply.github.com> Date: Wed, 28 Jan 2026 04:58:24 +0800 Subject: [PATCH 239/474] Feature/crop index (#2849) * Add anchors to sunflower, canola, and flax crop entries Added to the sunflower, canola, and flax sections in the crops Patchouli book entry. * Add Crop Index entry to Patchouli field guide Introduces a new 'Crop Index' entry in the field guide, listing all crops alphabetically with clickable links * Update crop index entry text * Remove Crop Index Section * Add contents section to crops Patchouli entry --------- Co-authored-by: Redeix --- .../field_guide/en_us/entries/mechanics/crops.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/crops.json index 4d4630e96..92926b373 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/crops.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/crops.json @@ -12,6 +12,15 @@ "type": "patchouli:text", "text": "In addition to finding wild crops, seeds can also be produced from existing crops. When a fully mature crop dies - either by weather, or leaving it to rot - it will go to seed, dropping more seeds that can be used to grow even more crops next season." }, + { + "type": "patchouli:text", + "title": "Contents", + "text": "$(li)$(l:tfc:mechanics/crops#barley)Barley$()$(li)$(l:tfc:mechanics/crops#beet)Beet$()$(li)$(l:tfc:mechanics/crops#cabbage)Cabbage$()$(li)$(l:tfc:mechanics/crops#canola)Canola$()$(li)$(l:tfc:mechanics/crops#carrot)Carrot$()$(li)$(l:tfc:mechanics/crops#flax)Flax$()$(li)$(l:tfc:mechanics/crops#garlic)Garlic$()$(li)$(l:tfc:mechanics/crops#green_bean)Green Bean$()$(li)$(l:tfc:mechanics/crops#jute)Jute$()$(li)$(l:tfc:mechanics/crops#maize)Maize$()$(li)$(l:tfc:mechanics/crops#melon)Melon$()$(li)$(l:tfc:mechanics/crops#oat)Oat$()$(li)$(l:tfc:mechanics/crops#onion)Onion$()" + }, + { + "type": "patchouli:text", + "text": "$(li)$(l:tfc:mechanics/crops#papyrus)Papyrus$()$(li)$(l:tfc:mechanics/crops#potato)Potato$()$(li)$(l:tfc:mechanics/crops#pumpkin)Pumpkin$()$(li)$(l:tfc:mechanics/crops#red_bell_pepper)Red Bell Pepper$()$(li)$(l:tfc:mechanics/crops#rice)Rice$()$(li)$(l:tfc:mechanics/crops#rye)Rye$()$(li)$(l:tfc:mechanics/crops#soybean)Soybean$()$(li)$(l:tfc:mechanics/crops#squash)Squash$()$(li)$(l:tfc:mechanics/crops#sugarcane)Sugarcane$()$(li)$(l:tfc:mechanics/crops#sunflower)Sunflower$()$(li)$(l:tfc:mechanics/crops#tomatoes)Tomato$()$(li)$(l:tfc:mechanics/crops#wheat)Wheat$()$(li)$(l:tfc:mechanics/crops#yellow_bell_pepper)Yellow Bell Pepper$()" + }, { "type": "tfc:rock_knapping_recipe", "recipes": [ @@ -3298,6 +3307,7 @@ }, { "type": "patchouli:text", + "anchor": "sunflower", "text": "$(bold)$(l:the_world/climate#temperature)Temperature$(): 5 - 40 °C$(br)$(bold)$(l:mechanics/hydration)Hydration$(): 20 - 80 %$(br)$(bold)Nutrient$(): Nitrogen$(br2)A Sunflower is a two block tall crop. Sunflower seeds can be planted on farmland, will grow two blocks tall, and will produce $(item)Sunflower Caps$() which can be processed into $(thing)Seed Oil$(). Seed Oil can both be used as Lamp Fuel, as well as $(thing)Bio Diesel$() later on.$(br)A Sunflower also counts as a Flower for the purposes of $(l:firmalife/beekeeping)Beekeeping$().", "title": "Sunflower" }, @@ -3456,6 +3466,7 @@ }, { "type": "patchouli:text", + "anchor": "canola", "text": "$(bold)$(l:the_world/climate#temperature)Temperature$(): -5 - 25 °C$(br)$(bold)$(l:mechanics/hydration)Hydration$(): 10 - 60 %$(br)$(bold)Nutrient$(): Phosphorus$(br2)Canola is a two block tall crop. Canola seeds can be planted on farmland, will grow two blocks tall, and will produce $(item)Canola Ovules$() which can be processed into $(thing)Seed Oil$(). Seed Oil can both be used as Lamp Fuel, as well as $(thing)Bio Diesel$() later on.$(br)Canola also counts as a Flower for the purposes of $(l:firmalife/beekeeping)Beekeeping$().", "title": "Canola" }, @@ -3615,6 +3626,7 @@ }, { "type": "patchouli:text", + "anchor": "flax", "text": "$(bold)$(l:the_world/climate#temperature)Temperature$(): -8 - 25 °C$(br)$(bold)$(l:mechanics/hydration)Hydration$(): 15 - 65 %$(br)$(bold)Nutrient$(): Nitrogen$(br2)Flax is a two block tall crop. Flax seeds can be planted on farmland, will grow two blocks tall, and will produce $(item)Flax Stems$() which can be processed into $(thing)Linen$() or $(thing)Burlap$().$(br)Flax also counts as a Flower for the purposes of $(l:firmalife/beekeeping)Beekeeping$().", "title": "Flax" }, From e32a79736832e9c1620916f7820612d0e11c67c2 Mon Sep 17 00:00:00 2001 From: Madeline Vergani Date: Tue, 27 Jan 2026 22:01:05 +0100 Subject: [PATCH 240/474] Noodle and Cereal Box icon sets (#2875) * Create a new material icon set `noodle` and give it to vanadium * Create the `cereal_box` material set for ostrum * Make Osmium Iodide be a cereal box * Add a model for radioactive hot ingots --- .../item/material_sets/cereal_box/ingot.json | 8 ++++++++ .../item/material_sets/cereal_box/ingot_hot.json | 9 +++++++++ .../models/item/material_sets/noodle/ingot.json | 8 ++++++++ .../item/material_sets/noodle/ingot_hot.json | 9 +++++++++ .../item/material_sets/radioactive/ingot_hot.json | 6 ++++++ .../item/material_sets/cereal_box/ingot.png | Bin 0 -> 487 bytes .../cereal_box/ingot_hot_overlay.png | Bin 0 -> 667 bytes .../material_sets/cereal_box/ingot_overlay.png | Bin 0 -> 405 bytes .../material_sets/cereal_box/ingot_secondary.png | Bin 0 -> 504 bytes .../textures/item/material_sets/noodle/ingot.png | Bin 0 -> 490 bytes .../material_sets/noodle/ingot_hot_overlay.png | Bin 0 -> 639 bytes .../item/material_sets/noodle/ingot_overlay.png | Bin 0 -> 404 bytes .../item/material_sets/noodle/ingot_secondary.png | Bin 0 -> 565 bytes .../gtceu/material_modification.js | 4 ++-- kubejs/startup_scripts/tfg/icon_sets.js | 5 +++++ kubejs/startup_scripts/tfg/mars/materials.mars.js | 4 ++-- 16 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 kubejs/assets/gtceu/models/item/material_sets/cereal_box/ingot.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/cereal_box/ingot_hot.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/noodle/ingot.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/noodle/ingot_hot.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/radioactive/ingot_hot.json create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot_hot_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot_hot_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot_secondary.png diff --git a/kubejs/assets/gtceu/models/item/material_sets/cereal_box/ingot.json b/kubejs/assets/gtceu/models/item/material_sets/cereal_box/ingot.json new file mode 100644 index 000000000..66e76423a --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/cereal_box/ingot.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/cereal_box/ingot", + "layer1": "gtceu:item/material_sets/cereal_box/ingot_secondary", + "layer2": "gtceu:item/material_sets/cereal_box/ingot_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/cereal_box/ingot_hot.json b/kubejs/assets/gtceu/models/item/material_sets/cereal_box/ingot_hot.json new file mode 100644 index 000000000..3c7709efb --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/cereal_box/ingot_hot.json @@ -0,0 +1,9 @@ +{ + "parent": "gtceu:item/material_sets/cereal_box/ingot", + "textures": { + "layer0": "gtceu:item/material_sets/cereal_box/ingot", + "layer1": "gtceu:item/material_sets/cereal_box/ingot_secondary", + "layer2": "gtceu:item/material_sets/cereal_box/ingot_overlay", + "layer3": "gtceu:item/material_sets/cereal_box/ingot_hot_overlay" + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/item/material_sets/noodle/ingot.json b/kubejs/assets/gtceu/models/item/material_sets/noodle/ingot.json new file mode 100644 index 000000000..9351df688 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/noodle/ingot.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/noodle/ingot", + "layer1": "gtceu:item/material_sets/noodle/ingot_secondary", + "layer2": "gtceu:item/material_sets/noodle/ingot_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/noodle/ingot_hot.json b/kubejs/assets/gtceu/models/item/material_sets/noodle/ingot_hot.json new file mode 100644 index 000000000..b1b980e91 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/noodle/ingot_hot.json @@ -0,0 +1,9 @@ +{ + "parent": "gtceu:item/material_sets/noodle/ingot", + "textures": { + "layer0": "gtceu:item/material_sets/noodle/ingot", + "layer1": "gtceu:item/material_sets/noodle/ingot_secondary", + "layer2": "gtceu:item/material_sets/noodle/ingot_overlay", + "layer3": "gtceu:item/material_sets/noodle/ingot_hot_overlay" + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/item/material_sets/radioactive/ingot_hot.json b/kubejs/assets/gtceu/models/item/material_sets/radioactive/ingot_hot.json new file mode 100644 index 000000000..58452c41d --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/radioactive/ingot_hot.json @@ -0,0 +1,6 @@ +{ + "parent": "gtceu:item/material_sets/metallic/ingot_hot", + "textures": { + "layer1": "gtceu:item/material_sets/radioactive/ingot_secondary" + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot.png b/kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..20b490e7b730b1b50e8c84a9ac0ce0e0d363967f GIT binary patch literal 487 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU49JS3Y>~;QaaX<>lr7|NoymcP;}1gR`-F2?GNI zM@f)h@P7zkxYxWll7WGNv%n*=n1O-sFbFdq&tH+kz`!6`;u=vBoS#-wo>-L15RjOe zSEA?V8lqsTXQ*dr*u^1sj)8$;M{0y;ny0500|x^G11p0RBP#0|SFJlnwHR z1|u_AoQZ*f!H|)OL6CugA&P;4A+wzYES|#v0SO=FtCa^QGFfcF} z7#SNdE`XQ|vXgZI#H?u$qZpVN7#WzrDuXO77?>EKx(p2rKnmDQuM}_UFS2G}V2Ji~ zaSYK24n5z<#h}Q+9PoV3-~aORna4z3-YRx&dp6^1vGSgO?Pur41zkVDZt?tkdE=IA+$L5Vt6pb&TOJYn4gP%9(}boL#c%J7?^;#-72zvUh5)&s&g{ Mp00i_>zopr09=}SF#rGn literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot_hot_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot_hot_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..26055b67027de610ef1868ff8508c99525f02dae GIT binary patch literal 667 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&C3 z=jH>b(;!AMFflMPFo9JDSz0hKF+g=08W?~Su$f*d-qc@Y&A`Cu?&;zf zV&UIA+0mQHQKD`BOQkje5l1f$HZ@IA#fy>a8%thEec`tH#s5j+%F4W^3nzm)VqXin z%y@8=_e;QA$7Y8BmzM&U6X#}1mtSNTYx`L?PxfBE{S0QyEKkcU&*FNuPmdQVyX&s} zIDw;>+2L7oD8r_i9G!1DR<|cM6)v~PQx-G-y0f0CQpk3h8P7&}sUYdL6S}fzC+Y0q z@7@$E7`9&JRM}Ji*GYHE3$LGi%Dk_2YG3G_ xS*@B=TsTwg!me(9*!bOG<@)!%<+b&%Irk@N)R?{(k6i)^UQbs)mvv4FO#siS$8rDw literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..2afe4ed61a1f479eb459450195848c9d1902bf05 GIT binary patch literal 405 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&C3 z=jH>b(;!AMFflMPFo9JDSz0hKF+g=08W?~Su$f*d-qc@Y&A`Cm=;`7Z zV&R{hAi=8A{Qv)d_66Ms8SPGjSPv$*Gncrwm>4bMHdr8e=){Q~jG@y!8qSBM9B9#V g(2_81;9?8lVfY{;S2owcN)KePr>mdKI;Vst08)Wbh5!Hn literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/cereal_box/ingot_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..2c1d06a1d7c0de4bdac540ab9534be2b32fe9244 GIT binary patch literal 504 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&C3 z=jH>b(;!AMFflMPFo9JDSz0hKF+g=08W?~Su$f*d-qc@Y&A`C0#M8ww z#KM2-q=TZ&iX1MUQnyPI8O0KLvF$n@@+&^N_RtACoe&#e3;lECcprsKxm zeMi{0d)HhjTF$J~G%e`Vo12_k+aB2V{Y%$Kcy@W7?U|aY^Cisr0lgi&I%Mk1L_1C_ zRP}dE)oO_Ey#7vtE67W}y6?lh)eE+!eVs7p^Xcq|T!K=3_7fL5EA8_6RkC!-KZ&qC jnWA&bn8Jgyd2LUL_sHe=K8b1f2D#nS)z4*}Q$iB}4X1({ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot.png b/kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..b9532d4e6e0482cf6ce88e7306192f8651e4f6a1 GIT binary patch literal 490 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU3ye_V%TvrR&zMV_;xdF5|L+ zfq{XuB*-uLKNK(o`&S5o1PeSOiy0XB4ude`@%$Aj3=9mCC9V-A!TD(=<%vb93;~Im zc_n&&t|1DhdWL$2hFu(D=NK3mcBDplrg?g5F>o+2Ft9R6F|sl+GB7ZBfgA*7gS?`_ z$P5-|Vqjn}WMpCxWME*3Vqjp%Y-a(B=P*D(0?3yP3=A+D-Btz$W(I}{>*0)3xwk+zdb;|# JtaD0e0sw{?drbfU literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot_hot_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot_hot_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..49cdbba64b7b1e7f658d1b43f540eff16211b99c GIT binary patch literal 639 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&C3 z=jH>b(;!AMFflMPFo9JDSz0hKF+g=08W?~Su$f*d-qc@Y&A`B@?djqe zV&Q*vqM>(Fph(+%Y28)@7RC9^4+Ge@I8wKRKs%TlM{7IlcF-JDq;}UabpOf1kc6-dy&r`PGM> zXMVh}i1NCAB8^FivpGjK(v~YCO1`bx|IDYhpTP^3mYkK{G?O7=)e&B%S&^2^3gWK= z-yh|8Tq)tHPnRjPqk@k}vMT`etM<3_ix;l1q*;JD(*E7|N1$CJUegrcbJPlhB)-v~?+1I$9 z*L#Z@ihs>1R{GDH_4EL%T$I=KV_jc=`Y$*dlK5)T`4s*v*F{O`5BFW1?lSib`~GX* V1yZVQy|JJm^mO%eS?83{1OROR!KMHJ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/noodle/ingot_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..d27dfaeba23e3de76cd619655f28e30c5ac0a53d GIT binary patch literal 404 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&C3 z=jH>b(;!AMFflMPFo9JDSz0hKF+g=08W?~Su$f*d-qc@Y&A`Cm;OXKR zV&R{hAi?^D{r~^}{qE0k44ofy`glX=O&z`&C3 z=jH>b(;!AMFflMPFo9JDSz0hKF+g=08W?~Su$f*d-qc@Y&A`C$(9^{+ z#KQmTq>a6Y4Fp)OA6lN*(8_U6Vq^R3CI-gP4?7!PI|)kf@R-=Kx>z9h`EVFeA zJsNd;&DQ;PN?H9qXa1PHIJI9eG?d{$_4|9AFSFKqyo}R+&XXpVCiZ^s?G^GLOwWIo xbYPy4)WgJJc { GTMaterials.Cobalt.setMaterialSecondaryARGB(0x1D2688) GTMaterials.CertusQuartz.setMaterialARGB(0xB8D8FC) GTMaterials.CertusQuartz.setMaterialSecondaryARGB(0xADCCEF) - GTMaterials.Vanadium.setMaterialARGB(0xD8D4E7) - GTMaterials.Vanadium.setMaterialSecondaryARGB(0x7E988F) + GTMaterials.Vanadium.setMaterialARGB(0xA7AAC6) + GTMaterials.Vanadium.setMaterialSecondaryARGB(0xC4EFE6) GTMaterials.Brass.setMaterialSecondaryARGB(0x791905) GTMaterials.Aluminium.setMaterialARGB(0xb6e5ff) GTMaterials.Aluminium.setMaterialSecondaryARGB(0x7ca29b) diff --git a/kubejs/startup_scripts/tfg/icon_sets.js b/kubejs/startup_scripts/tfg/icon_sets.js index fed183e4d..be0ac333c 100644 --- a/kubejs/startup_scripts/tfg/icon_sets.js +++ b/kubejs/startup_scripts/tfg/icon_sets.js @@ -37,6 +37,9 @@ function registerTFGIconSets(event) { event.create('nether_quartz').parent('quartz') + event.create('noodle').parent('metallic') + event.create('cereal_box').parent('bright') + // Credits to Flare from the Cosmic Frontiers team event.create('chonky').parent('shiny') } @@ -152,6 +155,8 @@ function modifyTFGIconSets(event) { GTMaterials.Zirconium.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) + GTMaterials.Vanadium.setMaterialIconSet(GTMaterialIconSet.getByName('noodle')) + const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") $GreateMaterials.RoseQuartz.setMaterialIconSet(GTMaterialIconSet.getByName('nether_quartz')) } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/mars/materials.mars.js b/kubejs/startup_scripts/tfg/mars/materials.mars.js index 58eeab18a..e048876ce 100644 --- a/kubejs/startup_scripts/tfg/mars/materials.mars.js +++ b/kubejs/startup_scripts/tfg/mars/materials.mars.js @@ -81,7 +81,7 @@ function registerTFGMarsMaterials(event) { .components('2x pitchblende', '1x tricalcium_phosphate', '1x bauxite', '1x silver', '1x beryllium') .color(0xbd7980) .secondaryColor(0xA66C8D) - .iconSet(GTMaterialIconSet.getByName('tfc_cassiterite')) + .iconSet(GTMaterialIconSet.getByName('cereal_box')) .ingot() .liquid() .blastTemp(3700, 'mid', GTValues.VA[GTValues.EV]) @@ -99,7 +99,7 @@ function registerTFGMarsMaterials(event) { .liquid() .components('2x ostrum', 'iodine') .blastTemp(3700, 'mid', GTValues.VA[GTValues.IV], (20*120)) - .iconSet(GTMaterialIconSet.BRIGHT) + .iconSet(GTMaterialIconSet.getByName('cereal_box')) .flags(GTMaterialFlags.GENERATE_GEAR) .color(0xc696f2) .secondaryColor(0x9b99ff) From 68e79a1009cd3a6a2b30876cb403ddc785728481 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 27 Jan 2026 21:16:19 +0000 Subject: [PATCH 241/474] fix belt sander speed to match what's in the ponder --- CHANGELOG.md | 2 ++ defaultconfigs/vintageimprovements-server.toml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b1fdd7c8..75b7ab677 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,8 @@ - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie - Added steam alloy smelter glass batch recipes (#2853) @Pyritie - Paracetamol now cures a small amount of the Radioactive condition, and RadAway now cures everything completely @Pyritie +- High speed on a Belt Grinder now only requires 64 RPM instead of 128 RPM +- Glow ink now just requires a fluid solidifier and a ball mold, instead of whatever it was doing before @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/defaultconfigs/vintageimprovements-server.toml b/defaultconfigs/vintageimprovements-server.toml index acec72cc1..8a85d7c1f 100644 --- a/defaultconfigs/vintageimprovements-server.toml +++ b/defaultconfigs/vintageimprovements-server.toml @@ -21,7 +21,7 @@ #. #Medium speed value for grinder crafts, speedLimits = 2. #Range: 1 ~ 256 - mediumSpeedValue = 128 + mediumSpeedValue = 64 #. #Allows sandpaper crafts on belt grinder, when recipes collides belt grinder recipe have priority. allowSandpaperPolishingOnGrinder = true From edad4cc7e45ac49a4cfb10f24524384e14f5095b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 27 Jan 2026 23:42:29 +0000 Subject: [PATCH 242/474] fix chorus fruit in greenhouse --- CHANGELOG.md | 6 +++++- kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 75b7ab677..f70a6bec5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ - Paracetamol now cures a small amount of the Radioactive condition, and RadAway now cures everything completely @Pyritie - High speed on a Belt Grinder now only requires 64 RPM instead of 128 RPM - Glow ink now just requires a fluid solidifier and a ball mold, instead of whatever it was doing before @Pyritie +- TFC "pure" fertilisers are now all craftable and provide 100 fertiliser instead of 15 (#2884) @Coox1e ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie @@ -31,9 +32,12 @@ - Fixed missing borax to flux recipe @Pyritie - Fixed lavaproof blue steel boots not having armor resistances (#2872) @Paradalope - Fixed the dye colors used to make Create Deco's bricks (#2859) @silllil +- Fixed the Electric Greenhouse outputting way less Chorus Fruit than before @Pyritie +- Fixed the hot ingot icons for Ostrum and Vanadium ingots looking inconsistent with the regular ingots (#2875) @RubenVerg ### Translation updates - Chinese (simplified) @jmecn -- Russian @Petr211071 +- Russian @Petr211071 + @Nixieeunrare +- Spanish @NikoNeko17 ## [0.11.18] - 23-01-2026 ### Important notes diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js index 84f2ea84e..2c88edd43 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js @@ -534,10 +534,10 @@ const registerTFGGreenhouseRecipes = (event) => { generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:chorus_mushroom_seeds', 'betterend:chorus_mushroom_product', 1); generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:shadow_berry_seeds', 'betterend:shadow_berry_product', 1); - // Moon Crops - generateCropGreenHouseRecipe(event, 'ad_astra:moon', 'tfg:lunar_chorus_flower', 'minecraft:chorus_fruit', 2); - // Moon Plants + generateGreenHouseRecipe(event, 'ad_astra:moon', '8x tfg:lunar_chorus_flower', [ + '64x minecraft:chorus_fruit', '8x minecraft:chorus_fruit', '8x tfg:lunar_chorus_flower', '8x tfg:lunar_chorus_flower' + ], 1); generateGreenHouseRecipe(event, 'ad_astra:moon', '8x minecraft:twisting_vines', [ '16x minecraft:twisting_vines', '8x minecraft:pearlescent_froglight', '8x minecraft:verdant_froglight', '8x minecraft:ochre_froglight' ], 1); From 989d572eb9cb37eb6125db81a8088df1631ff224 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 27 Jan 2026 23:42:34 +0000 Subject: [PATCH 243/474] gurman updates --- kubejs/server_scripts/tfc/tags.js | 4 + kubejs/server_scripts/tfc_gurman/recipes.js | 150 +++++++++++++++++--- 2 files changed, 137 insertions(+), 17 deletions(-) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 9748229f5..70a218388 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -459,6 +459,10 @@ function registerTFCItemTags(event) { }) event.add('tfc:fluxstone', 'tfg:loose/dripstone') + + event.add('tfc:food/bell_peppers', 'tfc:food/green_bell_pepper'); + event.add('tfc:food/bell_peppers', 'tfc:food/yellow_bell_pepper'); + event.add('tfc:food/bell_peppers', 'tfc:food/red_bell_pepper'); } /** @param {TagEvent.Block} event */ diff --git a/kubejs/server_scripts/tfc_gurman/recipes.js b/kubejs/server_scripts/tfc_gurman/recipes.js index f19231358..c506ce5f7 100644 --- a/kubejs/server_scripts/tfc_gurman/recipes.js +++ b/kubejs/server_scripts/tfc_gurman/recipes.js @@ -47,7 +47,7 @@ function registerTFCGurmanRecipes(event) { global.cookingRecipe(event, 'oladyi', 'tfc_gurman:raw_oladyi', 'tfc_gurman:oladyi'); // Falafel - from soybean (no raw version) - global.cookingRecipe(event, 'falafel', 'tfc:food/soybean', 'tfc_gurman:falafel'); + global.cookingRecipe(event, 'falafel', 'tfc_gurman:raw_falafel', 'tfc_gurman:falafel'); global.cookingRecipe(event, 'pelmeni', 'tfc_gurman:raw_pelmeni', 'tfc_gurman:pelmeni', '#tfg:clean_water 500'); @@ -58,8 +58,15 @@ function registerTFCGurmanRecipes(event) { //#region Food Processor Recipes // Borscht + global.processorRecipe(event, 'sliced_cabbage', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['tfc:food/cabbage'], + itemOutputs: ['2x tfc_gurman:sliced_cabbage'], + circuit: 1, + itemOutputProvider: TFC.isp.of('2x tfc_gurman:sliced_cabbage').copyOldestFood() + }); + global.processorRecipe(event, 'borscht', 300, GTValues.VA[GTValues.LV], { - itemInputs: ['tfc:food/beet', 'tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/tomato', '3x #tfc:bowls'], + itemInputs: ['tfc:food/beet', 'tfc_gurman:sliced_cabbage', 'tfc:food/carrot', 'tfc:food/onion', '#tfc:foods/cooked_meats', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], itemOutputs: ['3x tfc_gurman:borscht'], circuit: 20, @@ -93,7 +100,7 @@ function registerTFCGurmanRecipes(event) { // Compote global.processorRecipe(event, 'compote', 1000, GTValues.VHA[GTValues.LV], { - itemInputs: ['2x #tfc:foods/fruits'], + itemInputs: ['2x #tfc_gurman:compote_fruits'], fluidInputs: ['minecraft:water 1000'], fluidOutputs: ['tfc_gurman:compote 1000'], circuit: 6 @@ -101,7 +108,7 @@ function registerTFCGurmanRecipes(event) { // Lemonade global.processorRecipe(event, 'lemonade', 1500, GTValues.VHA[GTValues.LV], { - itemInputs: ['2x tfc:food/lemon', '#tfc:sweetener'], + itemInputs: ['2x tfc:food/lemon'], fluidInputs: ['minecraft:water 1000'], fluidOutputs: ['tfc_gurman:lemonade 1000'], circuit: 2 @@ -338,13 +345,126 @@ function registerTFCGurmanRecipes(event) { // Adjika global.processorRecipe(event, 'adjika', 300, GTValues.VA[GTValues.LV], { - itemInputs: ['tfc:food/green_bell_pepper', 'tfc:food/red_bell_pepper', 'tfc:powder/salt', 'tfc:food/garlic', 'firmalife:plant/cilantro', '5x #tfc:bowls'], + itemInputs: ['#tfc:food/bell_peppers', '#tfc:food/bell_peppers', 'tfc:powder/salt', 'tfc:food/garlic', "tfg:spice/cilantro_leaves", '5x #tfc:bowls'], fluidInputs: ['minecraft:water 500'], itemOutputs: ['5x tfc_gurman:adjika'], circuit: 8, itemOutputProvider: TFC.isp.of('5x tfc_gurman:adjika').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); + // Onion soup with bread + global.processorRecipe(event, 'onion_soup_with_bread', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['2x tfc:food/onion', '#firmalife:foods/flatbreads', '#firmalife:foods/cheeses', 'tfc:powder/salt', '#tfc:bowls'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:fresh_onion_soup_bread'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:fresh_onion_soup_bread').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // Lentil soup + global.processorRecipe(event, 'lentil_soup', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['2x tfc:food/soybean', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt', '#tfc:bowls'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:lent_soup'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:lent_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // Gazpacho + global.processorRecipe(event, 'gazpacho', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['2x tfc:food/tomato', '#tfc:food/bell_peppers', '#firmalife:foods/flatbreads', 'tfc:food/garlic', '#tfc:bowls'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:gazpacho'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:gazpacho').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // Kharcho + global.processorRecipe(event, 'kharcho', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['tfc_gurman:plant_mix', 'tfc:food/garlic', 'tfc:food/onion', 'tfc:food/rice_grain', 'tfc:food/cooked_beef'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:kharcho'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:kharcho').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // Kholodnik + global.processorRecipe(event, 'kholodnik', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['tfc:food/potato', '2x tfc:food/beet', '#forge:eggs', 'tfc:powder/salt'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:kholodnik'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:kholodnik').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // Shurpa + global.processorRecipe(event, 'shurpa', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['#tfc:food/bell_peppers', 'tfc:food/onion', 'tfc:food/potato', 'tfc:food/cooked_mutton', 'tfc:powder/salt'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:shurpa'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:shurpa').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + global.processorRecipe(event, 'shurpa2', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['#tfc:food/bell_peppers', 'tfc:food/onion', 'tfc:food/potato', 'tfc:food/cooked_beef', 'tfc:powder/salt'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:shurpa'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:shurpa').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // Fish tomato soup + global.processorRecipe(event, 'fish_tomato_soup', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['#firmalife:foods/raw_fish', 'tfc:food/tomato', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:fish_soup_tomato'], + circuit: 20, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:fish_soup_tomato').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // Pea soup + global.processorRecipe(event, 'pea_soup', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['2x tfc:food/green_bean', 'tfc:food/onion', '#tfc:foods/cooked_meats', 'tfc:powder/salt'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:pea_soup'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:pea_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // Minestrone + global.processorRecipe(event, 'minestrone', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['tfc:food/rice_grain', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic', '#tfc:foods/cooked_meats'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:minestrone'], + circuit: 20, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:minestrone').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + global.processorRecipe(event, 'minestrone2', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['firmalife:food/raw_egg_noodles', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic', '#tfc:foods/cooked_meats'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:minestrone'], + circuit: 20, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:minestrone').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // Fish soup + global.processorRecipe(event, 'fish_soup', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['#firmalife:foods/raw_fish', 'tfc:food/onion', 'tfc:food/potato', 'tfc:powder/salt'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:fish_soup'], + circuit: 20, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:fish_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + + // French onion soup with toast + global.processorRecipe(event, 'french_onion_soup', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['2x tfc:food/onion', '#firmalife:foods/slices', '#firmalife:foods/cheeses', 'tfc:powder/salt'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:fresh_onion_soup'], + circuit: 20, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:fresh_onion_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + //#endregion // #region Drying @@ -377,22 +497,18 @@ function registerTFCGurmanRecipes(event) { }); // #endregion Drying - // #region Crafting table foods - - // TODO: unfinished - global.processorRecipe(event, 'margarita_pizza', 300, GTValues.VA[GTValues.LV], { - itemInputs: ['firmalife:food/pizza_dough', 'firmalife:food/shredded_cheese', 'tfc:food/tomato', 'tfc:food/red_bell_pepper', 'tfc_gurman:plant_mix', 'firmalife:food/tomato_sauce'], - itemOutputs: ['tfc_gurman:raw_margarita_pizza'], - circuit: 4, - itemOutputProvider: TFC.isp.of('tfc_gurman:raw_margarita_pizza').simpleModifier('tfg:force_add_bowl').copyOldestFood() - }); - - // #endregion - // #region Replacements event.replaceInput({ id: "tfc_gurman:crafting/tiramisu" }, "minecraft:sugar", "#tfg:sugars"); + event.shapeless('2x tfc_gurman:plant_mix', [ + "2x firmalife:spice/basil_leaves", + "tfg:spice/oregano_leaves", + "tfg:spice/cilantro_leaves", + ]).id("tfc_gurman:crafting/plant_mix") + + event.replaceInput({ id: "tfc_gurman:pot/adjika_bowl" }, "firmalife:plant/cilantro", "tfg:spice/cilantro_leaves"); + event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of('4x tfc_gurman:raw_takoyaki').copyOldestFood(), [ TFC.ingredient.notRotten('tfg:food/raw_crawlermari'), TFC.ingredient.notRotten('#tfc:foods/flour'), From b4fd0e023fb9dd95ad298db82ae9b6ae9fbdb466 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 28 Jan 2026 00:04:49 +0000 Subject: [PATCH 244/474] fix the recipe of pressing nothing into fluix gems --- kubejs/server_scripts/greate/recipes.removes.js | 2 +- .../tfg/ores_and_materials/recipes.material_ores.js | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index c23447eb6..2330e20fe 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -78,7 +78,7 @@ function removeGreateRecipes(event) { event.remove({ id: 'greate:cutting/integration/create/cutting/runtime_generated/compat/minecraft/bamboo_planks_to_bamboo_button' }) event.remove({ id: 'greate:mixing/integration/gtceu/mixer/fire_charge' }) - event.remove({ id: 'toomanyrecipeviewers:/greate/milling/integration/gtceu/macerator/macerate_cocoa' }) + event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_cocoa' }) event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_honeycomb' }) event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_honeycomb_block'}) event.remove({ id: 'greate:milling/integration/gtceu/macerator/quartz_sand_from_sand' }) diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js index 9624a3cd3..09f9e62f1 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js @@ -565,9 +565,12 @@ function processGems(event, material) { } const amount = getMaterialAmount(TagPrefix.block, material); - event.recipes.greate.pressing(ChemicalHelper.get(TagPrefix.gem, material, amount), ChemicalHelper.get(TagPrefix.block, material, 1)) - .recipeTier(0) - .id(`greate:pressing/unpacking_${materialName}_block`) + const block = ChemicalHelper.get(TagPrefix.block, material, 1); + if (!block.isEmpty()) { + event.recipes.greate.pressing(ChemicalHelper.get(TagPrefix.gem, material, amount), block) + .recipeTier(0) + .id(`greate:pressing/unpacking_${materialName}_block`) + } event.recipes.tfc.quern(ChemicalHelper.get(TagPrefix.dust, material, 1), gemItem) .id(`tfg:quern/${materialName}_gem_to_dust`) From 22262aac785853992c2a485692841634f7ef8a21 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 28 Jan 2026 00:21:42 +0000 Subject: [PATCH 245/474] alternative for lv hermetic casing --- kubejs/server_scripts/tfg/machines/recipes.bakelite.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/kubejs/server_scripts/tfg/machines/recipes.bakelite.js b/kubejs/server_scripts/tfg/machines/recipes.bakelite.js index 92262887e..271f10084 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.bakelite.js +++ b/kubejs/server_scripts/tfg/machines/recipes.bakelite.js @@ -103,4 +103,13 @@ function registerTFGBakeliteRecipes(event) { .itemOutputs('gtceu:lv_machine_hull') .duration(50) .EUt(16) + + event.shaped('gtceu:lv_hermetic_casing', [ + 'AAA', + 'ABA', + 'AAA' + ], { + A: '#forge:plates/steel', + B: '#forge:storage_blocks/bakelite' + }).tfg('tfg:shaped/lv_hermetic_casing_bakelite') } \ No newline at end of file From ec477c70d8540dd2243c5ebf7112de7b9eb54e4a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 28 Jan 2026 00:54:03 +0000 Subject: [PATCH 246/474] flying up high enough now sends you into orbit --- kubejs/data/simplystacked/config/glacio_to_orbit.json | 8 ++++++++ kubejs/data/simplystacked/config/mars_to_orbit.json | 8 ++++++++ kubejs/data/simplystacked/config/mercury_to_orbit.json | 8 ++++++++ kubejs/data/simplystacked/config/overworld_to_orbit.json | 8 ++++++++ kubejs/data/simplystacked/config/venus_to_orbit.json | 8 ++++++++ 5 files changed, 40 insertions(+) create mode 100644 kubejs/data/simplystacked/config/glacio_to_orbit.json create mode 100644 kubejs/data/simplystacked/config/mars_to_orbit.json create mode 100644 kubejs/data/simplystacked/config/mercury_to_orbit.json create mode 100644 kubejs/data/simplystacked/config/overworld_to_orbit.json create mode 100644 kubejs/data/simplystacked/config/venus_to_orbit.json diff --git a/kubejs/data/simplystacked/config/glacio_to_orbit.json b/kubejs/data/simplystacked/config/glacio_to_orbit.json new file mode 100644 index 000000000..b8b694ae7 --- /dev/null +++ b/kubejs/data/simplystacked/config/glacio_to_orbit.json @@ -0,0 +1,8 @@ +{ + "from": "ad_astra:glacio", + "to": "ad_astra:glacio_orbit", + "from_y_min": 500, + "from_y_max": 600, + "to_y": -64, + "cloud_platform": false +} \ No newline at end of file diff --git a/kubejs/data/simplystacked/config/mars_to_orbit.json b/kubejs/data/simplystacked/config/mars_to_orbit.json new file mode 100644 index 000000000..e6f441294 --- /dev/null +++ b/kubejs/data/simplystacked/config/mars_to_orbit.json @@ -0,0 +1,8 @@ +{ + "from": "ad_astra:mars", + "to": "ad_astra:mars_orbit", + "from_y_min": 500, + "from_y_max": 600, + "to_y": -64, + "cloud_platform": false +} \ No newline at end of file diff --git a/kubejs/data/simplystacked/config/mercury_to_orbit.json b/kubejs/data/simplystacked/config/mercury_to_orbit.json new file mode 100644 index 000000000..c17b6f585 --- /dev/null +++ b/kubejs/data/simplystacked/config/mercury_to_orbit.json @@ -0,0 +1,8 @@ +{ + "from": "ad_astra:mercury", + "to": "ad_astra:mercury_orbit", + "from_y_min": 500, + "from_y_max": 600, + "to_y": -64, + "cloud_platform": false +} \ No newline at end of file diff --git a/kubejs/data/simplystacked/config/overworld_to_orbit.json b/kubejs/data/simplystacked/config/overworld_to_orbit.json new file mode 100644 index 000000000..2255822cf --- /dev/null +++ b/kubejs/data/simplystacked/config/overworld_to_orbit.json @@ -0,0 +1,8 @@ +{ + "from": "minecraft:overworld", + "to": "ad_astra:earth_orbit", + "from_y_min": 500, + "from_y_max": 600, + "to_y": -64, + "cloud_platform": false +} \ No newline at end of file diff --git a/kubejs/data/simplystacked/config/venus_to_orbit.json b/kubejs/data/simplystacked/config/venus_to_orbit.json new file mode 100644 index 000000000..3860a103c --- /dev/null +++ b/kubejs/data/simplystacked/config/venus_to_orbit.json @@ -0,0 +1,8 @@ +{ + "from": "ad_astra:venus", + "to": "ad_astra:venus_orbit", + "from_y_min": 500, + "from_y_max": 600, + "to_y": -64, + "cloud_platform": false +} \ No newline at end of file From 5504e548eb6b822a9943f49af0ad618962eec541 Mon Sep 17 00:00:00 2001 From: ashlen Date: Wed, 28 Jan 2026 01:55:19 +0100 Subject: [PATCH 247/474] feat: add food automation quest (#2888) --- .../quests/chapters/queststfc_tips.snbt | 36 +++++++++++++++++++ kubejs/assets/tfg/lang/en_us.json | 3 ++ 2 files changed, 39 insertions(+) diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index ed36edbd7..6628a862d 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -2158,6 +2158,42 @@ x: 0.0d y: -10.5d } + { + dependencies: ["30DD0DDF86C96926", "1F41C35890E2C44F"] + dependency_requirement: "one_completed" + description: ["{quests.tfg_tips.food_automation.desc}"] + icon: "tfg:lv_food_oven" + id: "46111F4D970EE3C5" + optional: true + subtitle: "{quests.tfg_tips.food_automation.subtitle}" + tasks: [ + { + id: "770BC20A8062A6BD" + item: "tfg:lv_food_processor" + optional_task: true + type: "item" + } + { + id: "3EB084CA435F8C19" + item: "tfg:lv_food_oven" + optional_task: true + type: "item" + } + { + id: "150B81D83DFFB9A1" + item: "gtceu:lv_robot_arm" + optional_task: true + type: "item" + } + { + id: "2332EB45D64DB9FB" + type: "checkmark" + } + ] + title: "{quests.tfg_tips.food_automation.title}" + x: 0.0d + y: -12.0d + } ] subtitle: ["{quests.tfg_tips.subtitle}"] title: "{quests.tfg_tips}" diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index ff499df4f..db382add8 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -4866,6 +4866,9 @@ "quests.tfg_tips.greenhouse_automation.title": "Greenhouse Automation", "quests.tfg_tips.greenhouse_automation.subtitle": "By your powers combined...", "quests.tfg_tips.greenhouse_automation.desc": "With the combination of Firmalife's &2Picker&r and &2Sweeper&r, Create's Deployers, and GregTech's Item Collectors, it's possible to completely automate your greenhouse!\n\nPickers will pull mature crops from Hydroponic Planters and Quad Planters when they receive a redstone pulse, while Sweepers will harvest mature crops from the other types in a 3x3 area around it while connected to a redstone signal.\n\nThese machines will produce loose items, but an Item Collector will suck those up in a large area around it.\n\nFrom there, pipe the seeds back into Deployers to plant them in the Planters!", + "quests.tfg_tips.food_automation.title": "Food Automation", + "quests.tfg_tips.food_automation.subtitle": "Automate your kitchen.", + "quests.tfg_tips.food_automation.desc": "You can completely automate food starting from &7LV&r using the &3Food Oven&r and &3Food Processor&r.\n\nTo properly make food out of multiple ingredients in a Food Processor, such as sandwiches, you will have to use the &3Robot Arm&r with the \"Keep Exact\" button enabled (or have your Create logstics deliver exact amounts to your machines).\n\nTo prevent spoiled food from filling up your storage you should use the &3Rotten Voiding Cover&r.\n\nThis will later pair nicely with a refrigerator in &bMV&r.", "quests.tfg_tips.beekeeping.title": "Beekeeping", "quests.tfg_tips.beekeeping.subtitle": "They're so small now...", "quests.tfg_tips.beekeeping.desc": "&bBeekeeping&r has a plethora of uses. Not only do bees fertilize nearby crops (assuming you have the correct trait), you will be able to obtain useful resources such as &aWax&r and &aHoney.&r Breed bees to achieve better stats.\nThe &2Field Guide&r offers an extensive explanation of all &bbeekeeping&r mechanics.", From f0a2f5651052ce58b35ca0e6bb11b12a5a91f269 Mon Sep 17 00:00:00 2001 From: Petr211071 <55793813+Petr211071@users.noreply.github.com> Date: Wed, 28 Jan 2026 23:58:29 +0300 Subject: [PATCH 248/474] Ru ru translation (#2893) * Delete Bread * Blast furnace and bloomery --- .../entries/mechanics/blast_furnace.json | 68 +++++++++++++++++++ .../ru_ru/entries/mechanics/bloomery.json | 6 +- .../ru_ru/entries/mechanics/bread.json | 55 --------------- 3 files changed, 71 insertions(+), 58 deletions(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/blast_furnace.json delete mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/bread.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/blast_furnace.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/blast_furnace.json new file mode 100644 index 000000000..712207330 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/blast_furnace.json @@ -0,0 +1,68 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "Доменная печь", + "category": "tfc:mechanics", + "icon": "tfc:blast_furnace", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)Доменная печь$() — это продвинутая установка, используемая для создания $(thing)Стали$(). Смешивая $(l:getting_started/finding_ores)Железные руды$(), $(l:tfg_tips/basic_automation)Кокс$() или $(l:beneath/ores_and_minerals#cursecoal)Антрацит$(), и $(thing)флюс$() в контролируемой горячей среде, вы можете создать металл, прочнее чугуна или кованого железа.$(br2)Чтобы получить доменную печь, вам сначала понадобится $(l:mechanics/crucible)Тигель$() и много $(thing)листов кованного железа$()." + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/blast_furnace", + "text": "Для создания самой доменной печи потребуется $(thing)Тигель$(), а также несколько $(thing)двойных пластин кованого железа$()." + }, + { + "type": "patchouli:text", + "text": "Затем вам нужно будет построить доменную печь вместе с ее $(thing)Дымоходом$(). Дымоход должен быть составлен из $(l:mechanics/fire_clay#fire_bricks)Огнеупорных кирпичей$(), так как они достаточно прочны, чтобы выдержать интенсивный жар. Затем его следует выложить $(thing)пластинами из кованного железа$() для дополнительного укрепления. Пластины могут быть применены к наружним сторонам кирпичей при нажатии $(item)$(k:key.sneak)$() + $(item)$(k:key.use)$() с пластиной в руке, или скрафчены в $(l:mechanics/blast_furnace_insulation)Изоляцию для доменной печи$()." + }, + { + "type": "patchouli:multiblock", + "multiblock_id": "tfc:blast_furnace", + "name": "Доменная печь", + "text": "Доменная печь с дымоходом минимальной высоты.", + "enable_visualize": true + }, + { + "type": "patchouli:text", + "text": "Дымоход доменной печи может состоять из пяти слоев - каждый слой требует четыре $(thing)Огнеупорных кирпичей$() и двенадцати $(thing)Кованых железных листов$(), для завершения строительства. Наличие большего количества слоев увеличивает общую вместимость доменной печи, позволяя плавить больше стали за один раз. Каждый слой дымохода (максимум - пять слоёв), позволяет доменной печи вмещать на четыре дополнительных предмета руды больше." + }, + { + "type": "patchouli:text", + "text": "Чтобы использовать доменную печь, вы должны бросить предметы в верхнюю часть дымохода - для производства стали, вы должны добавить равное количество предметов $(l:getting_started/finding_ores)Железных руд$() и $(l:mechanics/flux)флюса$(). Подойдут любые железные руды или предметы, которые могут плавиться в $(thing)Чугун$(). Вам также нужно будет добавить $(l:tfg_tips/basic_automation)Кокс$() или $(l:beneath/ores_and_minerals#cursecoal)Антрацит$(), который будет расходоваться по мере работы доменной печи." + }, + { + "type": "patchouli:text", + "text": "Использование доменной печи откроет интерфейс печи, показанный справа. В этом интерфейсе вы увидите индикаторы содержания руды и топлива доменной печи. В верхнем правом слоте должна находиться $(thing)Фурма$(), металлическая труба, используемая для направления воздуха в высокую печь, необходимая для достижения максимальных температур для плавки стали. Фурму можно выковать на $(l:mechanics/anvils)Наковальне$()." + }, + { + "type": "patchouli:image", + "images": [ + "tfc:textures/gui/book/gui/blast_furnace.png" + ], + "text": "Интерфейс доменной печи", + "border": false + }, + { + "type": "patchouli:text", + "text": "Вам также понадобятся $(l:mechanics/bellows)Меха$(), чтобы доменная печь достигла температуры, при которой железо расплавится. Его можно установить на любой из четырех сторон доменной печи." + }, + { + "type": "patchouli:multiblock", + "multiblock_id": "tfc:full_blast_furnace", + "name": "", + "text": "Доменная печь полного размера с прикрепленными мехами и тиглем.", + "enable_visualize": true + }, + { + "type": "patchouli:text", + "text": "Наконец, чтобы начать, зажгите доменную печь с помощью $(l:getting_started/firepit#firestarter)Примитивного огнива$() или $(thing)Стального огнива$(). Она начнет нагревать руды внутри. Убедитесь, что в доменной печи остаётся топливо, и используйте меха, чтобы нагнетать воздух в печь после того, как ее внутренняя температура достигнет максимума, который может выдать уголь. После нагрева руды внутри, она расплавится и превратится в $(l:mechanics/steel)Чугун$()." + }, + { + "type": "patchouli:text", + "text": "Жидкий металл будет стекать в любой металлический контейнер для жидкости, установленный непосредственно под доменной печью, такой как $(l:mechanics/crucible)Тигель$(). Его можно отлить в формы для слитков из выходного слота тигля и переработать в $(l:mechanics/steel)Сталь$()." + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/bloomery.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/bloomery.json index 2965665dd..edf100f4e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/bloomery.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/bloomery.json @@ -22,19 +22,19 @@ }, { "type": "patchouli:text", - "text": "Сыродутный горн вмещает до 48 $(thing)Предметов$(), по 16 за каждый уровень камина. Чтобы добавить уровней дымоходу, поставьте ещё два слоя из каменный блоков.$(br2)Чтобы добавить предметы в горн, заберитесь наверх и закиньте их внутрь, после чего на их месте образуется серая масса." + "text": "Сыродутный горн вмещает до 48 $(thing)Предметов$(), по 16 за каждый уровень камина. Чтобы добавить уровней дымоходу, поставьте ещё два слоя из каменный блоков.$(br2)Чтобы добавить предметы в горн, заберитесь наверх и закиньте их внутрь, после чего на их месте образуется серая масса.$(br2Ты можешь использовть так и $(item)Древесный уголь$(), так и $(item)Уголь$() в качестве топлива для горна." }, { "type": "patchouli:image", "images": [ "tfc:textures/gui/book/tutorial/bloomery_hole.png" ], - "text": "Добавление предметов в доменную печь.", + "text": "Горну требуется $(thing)1 Древесный уголь$(), и $(thing)144 Л (mB) Железной руды$() чтобы создать 1 $(thing)Крицу$().", "border": true }, { "type": "patchouli:text", - "text": "Горну требуется $(thing)1 Древесный уголь$(), и $(thing)144 Л (mB) Железной руды$() чтобы создать 1 $(thing)Крицу$(). После заполнения горна смесью $(thing)Древесного угля$() и $(thing)Руды$(), зажгите двери горна и подождите 15 минут, пока руда плавится. Когда горн потухает, он создаёт блок $(thing)Крицы$(). Эти блоки содержат $(thing)Кричное железо$(), которое можно добыть повторно ломая блок $(thing)Крицы$() киркой или молотом." + "text": "Если тебе лень считать, мы рекомендуем использовать $(item)25 пыли рудного железа$() и $(item)22 топлива$(). После заполнения горна смесью $(thing)топлива$() и $(thing)Руды$(), зажгите двери горна и подождите 15 минут, пока руда плавится. Когда горн потухает, он создаёт блок $(thing)Крицы$(). Эти блоки содержат $(thing)Кричное железо$(), которое можно добыть повторно ломая блок $(thing)Крицы$() киркой." }, { "type": "patchouli:multiblock", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/bread.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/bread.json deleted file mode 100644 index bd3de7807..000000000 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/bread.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "name": "Хлеб", - "category": "tfc:mechanics", - "icon": "tfc:textures/item/food/barley_bread.png", - "pages": [ - { - "type": "patchouli:text", - "text": "Хлеб - это обработанная форма различных зерновых культур, таких как $(l:mechanics/crops#barley)Ячмень$(). Сбор зерновой культуры дает сырой, необработанный зерновой предмет, который сам по себе не пригоден для использования. Его необходимо переработать в $(thing)Хлеб$(), который затем можно есть или использовать в $(l:mechanics/sandwiches)Бутербродах$()." - }, - { - "type": "patchouli:crafting", - "recipe": "tfc:crafting/barley_cutting", - "text": "Сначала, срежьте солому с еды с помощью $(thing)Ножа$()." - }, - { - "type": "patchouli:spotlight", - "item": "tfc:food/rye_grain", - "link_recipes": false, - "text": "Зерна - это самая долговечная стадия процесса, они портятся гораздо медленнее, чем большинство продуктов. Само по себе свежее зерно хранится 10 месяцев и 7 дней. В маленьком сосуде оно хранится 1 год, 9 месяцев и 7 дней." - }, - { - "type": "tfc:quern_recipe", - "recipe": "tfc:quern/oat_grain", - "text": "Затем зерно должно быть перемолото в $(l:mechanics/quern)жернове$(), чтобы получить муку." - }, - { - "type": "patchouli:crafting", - "recipe": "tfc:crafting/dough/barley_dough_1", - "text": "Тесто готовится путем добавления ведра $(thing)Свежей воды$() к муке." - }, - { - "type": "tfc:heat_recipe", - "recipe": "tfc:heating/barley_dough", - "text": "Затем тесто можно $(l:mechanics/heating)нагреть$(), чтобы сделать хлеб. На этом этапе его также можно использовать в $(l:mechanics/sandwiches)Бутербродах$()." - } - ], - "read_by_default": true, - "extra_recipe_mappings": { - "tag:tfc:sandwich_bread": 0, - "tag:tfc:foods/dough": 0, - "tfc:food/barley_grain": 0, - "tfc:food/maize_grain": 0, - "tfc:food/oat_grain": 0, - "tfc:food/rice_grain": 0, - "tfc:food/rye_grain": 0, - "tfc:food/wheat_grain": 0, - "tfc:food/barley_flour": 0, - "tfc:food/maize_flour": 0, - "tfc:food/oat_flour": 0, - "tfc:food/rice_flour": 0, - "tfc:food/rye_flour": 0, - "tfc:food/wheat_flour": 0 - } -} \ No newline at end of file From 025921aece525faa31a9995a0dcfda34eb0a4bf2 Mon Sep 17 00:00:00 2001 From: Yan <115050813@qq.com> Date: Thu, 29 Jan 2026 04:59:46 +0800 Subject: [PATCH 249/474] Update zh_cn translation for tfg patchouli book (#2894) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: update zh_cn translation for new drinkings * feat: update zh_cn lang for patchouli book * feat: update zh_cn translation for tfg patchouli_book --------- Co-authored-by: 闫茂源 --- .../zh_cn/entries/beneath/curious_blocks.json | 5 + .../zh_cn/entries/mechanics/crops.json | 1142 +++++++++-------- .../zh_cn/entries/the_world/wild_crops.json | 661 ++++++++++ 3 files changed, 1243 insertions(+), 565 deletions(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/the_world/wild_crops.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/curious_blocks.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/curious_blocks.json index 73f70cb95..90c7f8230 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/curious_blocks.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/curious_blocks.json @@ -13,6 +13,11 @@ "recipe": "tfg:shapeless/hellbricks_from_soot", "text": "地狱砖是一种建筑方块,也用于地狱熔炉建造。" }, + { + "type": "patchouli:spotlight", + "item": "beneath:ancient_altar", + "text": "辉石岩基座可用于展示你想炫耀的物品!" + }, { "type": "patchouli:crafting", "recipe": "beneath:crafting/blackstone_brick", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json index 3d67d0e77..2dad79376 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json @@ -14,172 +14,33 @@ }, { "type": "tfc:rock_knapping_recipe", - "recipes": [ - "tfg:rock_knapping/stone_hoe_head_1" - ], + "title": "Contents", "text": "要开始,首先通过$(thing)打制石器$()做一把$(thing)石锄$()" }, { "type": "patchouli:crafting", - "recipe": "tfc:crafting/stone/hoe_sedimentary", "text": "将锄头与木棍合成一把锄。$(br2)锄的功能与原版相同,$(item)$(k:key.use)$()点击泥土方块即可将其转化为$(thing)耕地$()。它还可以用于将$(thing)缠根泥土$()转化为$(thing)土$()。" }, { "type": "patchouli:text", - "text": "所有作物都需要种植在耕地上才能生长。有些作物还有额外的要求,比如只能种在水里或者需要插一根木棍才能生长。$(br2)作物不需要$(thing)营养物质$()就能生长,但营养物质能加速其成熟。营养物质分为三种:$(b)氮$()、$(6)磷$()和$(d)钾$()。每种作物都有一种偏爱的养分。", - "title": "种植作物" + "recipes": [ + "tfg:rock_knapping/stone_hoe_head_1" + ], + "text": "所有作物都需要种植在耕地上才能生长。有些作物还有额外的要求,比如只能种在水里或者需要插一根木棍才能生长。$(br2)作物不需要$(thing)营养物质$()就能生长,但营养物质能加速其成熟。营养物质分为三种:$(b)氮$()、$(6)磷$()和$(d)钾$()。每种作物都有一种偏爱的养分。" }, { "type": "patchouli:text", + "recipe": "tfc:crafting/stone/hoe_sedimentary", "text": "消耗偏爱的营养物质可以加速作物的生长,并提高收获时的产量。作物消耗耕地中的某种营养物质的同时,会小幅产出其他两种营养物质。$(br2)接下来的几页会列出群峦传说中所有的作物。" }, { "type": "patchouli:text", - "anchor": "barley", "text": "$(bold)$(l:the_world/climate#temperature)温度$():-8 - 26 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():18 - 75 %$(br)$(bold)营养物质$():氮$(br2)大麦是一种一格高的农作物。种植大麦会产出$(thing)大麦$()和$(thing)大麦种子$()。", "title": "大麦" }, { "type": "tfc:multimultiblock", - "text": "", - "multiblocks": [ - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/barley[age=0]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/barley[age=1]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/barley[age=2]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/barley[age=3]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/barley[age=4]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/barley[age=5]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/barley[age=6]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/barley[age=7]", - "Y": "tfc:farmland/loam" - } - } - ] + "text": "" }, { "type": "patchouli:text", @@ -497,15 +358,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/maize[age=0,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/maize[age=0,part=bottom]" } }, { @@ -518,15 +375,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/maize[age=1,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/maize[age=1,part=bottom]" } }, { @@ -539,15 +392,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/maize[age=2,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/maize[age=2,part=bottom]" } }, { @@ -560,15 +409,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/maize[age=3,part=top]", - "Y": "tfc:crop/maize[age=3,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/maize[age=3,part=bottom]" } }, { @@ -581,15 +426,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/maize[age=4,part=top]", - "Y": "tfc:crop/maize[age=4,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/maize[age=4,part=bottom]" } }, { @@ -602,15 +443,45 @@ ], [ "Z" + ] + ], + "mapping": { + "X": "tfc:crop/maize[age=5,part=top]", + "Y": "tfc:crop/maize[age=5,part=bottom]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" ], [ "0" ] ], "mapping": { - "X": "tfc:crop/maize[age=5,part=top]", - "Y": "tfc:crop/maize[age=5,part=bottom]", - "Z": "tfc:farmland/loam" + "X": "tfc:crop/rye[age=6]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/rye[age=7]", + "Y": "tfc:farmland/loam" } } ] @@ -633,13 +504,17 @@ [ "Y" ], + [ + "0" + ], [ "0" ] ], "mapping": { "X": "tfc:crop/wheat[age=0]", - "Y": "tfc:farmland/loam" + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" } }, { @@ -650,13 +525,17 @@ [ "Y" ], + [ + "0" + ], [ "0" ] ], "mapping": { "X": "tfc:crop/wheat[age=1]", - "Y": "tfc:farmland/loam" + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" } }, { @@ -667,13 +546,17 @@ [ "Y" ], + [ + "0" + ], [ "0" ] ], "mapping": { "X": "tfc:crop/wheat[age=2]", - "Y": "tfc:farmland/loam" + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" } }, { @@ -684,13 +567,17 @@ [ "Y" ], + [ + "0" + ], [ "0" ] ], "mapping": { "X": "tfc:crop/wheat[age=3]", - "Y": "tfc:farmland/loam" + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" } }, { @@ -701,13 +588,17 @@ [ "Y" ], + [ + "0" + ], [ "0" ] ], "mapping": { "X": "tfc:crop/wheat[age=4]", - "Y": "tfc:farmland/loam" + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" } }, { @@ -718,47 +609,17 @@ [ "Y" ], + [ + "0" + ], [ "0" ] ], "mapping": { "X": "tfc:crop/wheat[age=5]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/wheat[age=6]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/wheat[age=7]", - "Y": "tfc:farmland/loam" + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" } } ] @@ -1022,6 +883,40 @@ "X": "tfc:crop/beet[age=5]", "Y": "tfc:farmland/loam" } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/rice[age=6,fluid=water]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/rice[age=7,fluid=water]", + "Y": "tfc:farmland/loam" + } } ] }, @@ -1233,6 +1128,23 @@ "X": "tfc:crop/carrot[age=4]", "Y": "tfc:farmland/loam" } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/cabbage[age=5]", + "Y": "tfc:farmland/loam" + } } ] }, @@ -1353,15 +1265,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/green_bean[age=0,part=top,stick=true]", - "Y": "tfc:crop/green_bean[age=0,part=bottom,stick=true]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/green_bean[age=0,part=bottom,stick=true]" } }, { @@ -1374,15 +1282,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/green_bean[age=1,part=top,stick=true]", - "Y": "tfc:crop/green_bean[age=1,part=bottom,stick=true]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/green_bean[age=1,part=bottom,stick=true]" } }, { @@ -1395,15 +1299,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/green_bean[age=2,part=top,stick=true]", - "Y": "tfc:crop/green_bean[age=2,part=bottom,stick=true]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/green_bean[age=2,part=bottom,stick=true]" } }, { @@ -1416,15 +1316,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/green_bean[age=3,part=top,stick=true]", - "Y": "tfc:crop/green_bean[age=3,part=bottom,stick=true]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/green_bean[age=3,part=bottom,stick=true]" } }, { @@ -1437,14 +1333,43 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/green_bean[age=4,part=top,stick=true]", - "Y": "tfc:crop/green_bean[age=4,part=bottom,stick=true]", + "Y": "tfc:crop/green_bean[age=4,part=bottom,stick=true]" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "potato", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():-1 - 37 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():50 - 100 %$(br)$(bold)营养物质$():钾$(br2)马铃薯是一种一格高的农作物。种植马铃薯会产出$(thing)马铃薯$()和$(thing)马铃薯种子$()。", + "title": "马铃薯" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/potato[age=0]", + "Y": "tfc:farmland/loam", "Z": "tfc:farmland/loam" } }, @@ -1457,15 +1382,15 @@ "Y" ], [ - "Z" + "0" ], [ "0" ] ], "mapping": { - "X": "tfc:crop/green_bean[age=5,part=top,stick=true]", - "Y": "tfc:crop/green_bean[age=5,part=bottom,stick=true]", + "X": "tfc:crop/potato[age=1]", + "Y": "tfc:farmland/loam", "Z": "tfc:farmland/loam" } }, @@ -1478,15 +1403,99 @@ "Y" ], [ - "Z" + "0" ], [ "0" ] ], "mapping": { - "X": "tfc:crop/green_bean[age=6,part=top,stick=true]", - "Y": "tfc:crop/green_bean[age=6,part=bottom,stick=true]", + "X": "tfc:crop/potato[age=2]", + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/potato[age=3]", + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/potato[age=4]", + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/potato[age=5]", + "Y": "tfc:farmland/loam", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/potato[age=6]", + "Y": "tfc:farmland/loam", "Z": "tfc:farmland/loam" } }, @@ -1515,9 +1524,9 @@ }, { "type": "patchouli:text", - "anchor": "potato", - "text": "$(bold)$(l:the_world/climate#temperature)温度$():-1 - 37 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():50 - 100 %$(br)$(bold)营养物质$():钾$(br2)马铃薯是一种一格高的农作物。种植马铃薯会产出$(thing)马铃薯$()和$(thing)马铃薯种子$()。", - "title": "马铃薯" + "anchor": "pumpkin", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():0 - 30 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():30 - 80 %$(br)$(bold)营养物质$():磷$(br2)南瓜是一种爬行作物。种植在耕地上时,南瓜梗会在成熟后在相邻位置放置最多两颗$(thing)南瓜$()。南瓜梗在入冬前可结果多次。南瓜可以制作成$(l:mechanics/lighting#jack_o_lanterns)南瓜灯$()。", + "title": "南瓜" }, { "type": "tfc:multimultiblock", @@ -1526,10 +1535,10 @@ { "pattern": [ [ - "X" + " " ], [ - "Y" + "GGG" ], [ "0" @@ -1543,10 +1552,10 @@ { "pattern": [ [ - "X" + " " ], [ - "Y" + "GGG" ], [ "0" @@ -1560,10 +1569,10 @@ { "pattern": [ [ - "X" + " " ], [ - "Y" + "GGG" ], [ "0" @@ -1577,10 +1586,10 @@ { "pattern": [ [ - "X" + " " ], [ - "Y" + "GGG" ], [ "0" @@ -1594,10 +1603,10 @@ { "pattern": [ [ - "X" + " " ], [ - "Y" + "GGG" ], [ "0" @@ -1611,10 +1620,10 @@ { "pattern": [ [ - "X" + " " ], [ - "Y" + "GGG" ], [ "0" @@ -1628,10 +1637,10 @@ { "pattern": [ [ - "X" + " " ], [ - "Y" + "GGG" ], [ "0" @@ -1644,178 +1653,6 @@ } ] }, - { - "type": "patchouli:text", - "anchor": "pumpkin", - "text": "$(bold)$(l:the_world/climate#temperature)温度$():0 - 30 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():30 - 80 %$(br)$(bold)营养物质$():磷$(br2)南瓜是一种爬行作物。种植在耕地上时,南瓜梗会在成熟后在相邻位置放置最多两颗$(thing)南瓜$()。南瓜梗在入冬前可结果多次。南瓜可以制作成$(l:mechanics/lighting#jack_o_lanterns)南瓜灯$()。", - "title": "南瓜" - }, - { - "type": "tfc:multimultiblock", - "text": "", - "multiblocks": [ - { - "pattern": [ - [ - " ", - " CP", - " " - ], - [ - "GGG", - "G0G", - "GGG" - ] - ], - "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/pumpkin[age=0]", - "P": "minecraft:air" - } - }, - { - "pattern": [ - [ - " ", - " CP", - " " - ], - [ - "GGG", - "G0G", - "GGG" - ] - ], - "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/pumpkin[age=1]", - "P": "minecraft:air" - } - }, - { - "pattern": [ - [ - " ", - " CP", - " " - ], - [ - "GGG", - "G0G", - "GGG" - ] - ], - "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/pumpkin[age=2]", - "P": "minecraft:air" - } - }, - { - "pattern": [ - [ - " ", - " CP", - " " - ], - [ - "GGG", - "G0G", - "GGG" - ] - ], - "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/pumpkin[age=3]", - "P": "minecraft:air" - } - }, - { - "pattern": [ - [ - " ", - " CP", - " " - ], - [ - "GGG", - "G0G", - "GGG" - ] - ], - "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/pumpkin[age=4]", - "P": "minecraft:air" - } - }, - { - "pattern": [ - [ - " ", - " CP", - " " - ], - [ - "GGG", - "G0G", - "GGG" - ] - ], - "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/pumpkin[age=5]", - "P": "minecraft:air" - } - }, - { - "pattern": [ - [ - " ", - " CP", - " " - ], - [ - "GGG", - "G0G", - "GGG" - ] - ], - "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/pumpkin[age=6]", - "P": "minecraft:air" - } - }, - { - "pattern": [ - [ - " ", - " CP", - " " - ], - [ - "GGG", - "G0G", - "GGG" - ] - ], - "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/pumpkin[age=7]", - "P": "tfc:pumpkin" - } - } - ] - }, { "type": "patchouli:text", "anchor": "melon", @@ -2001,120 +1838,161 @@ { "pattern": [ [ - "X" + "X", + " CP", + " " ], [ - "Y" - ], - [ - "0" + "Y", + "G0G", + "GGG" ] ], "mapping": { - "X": "tfc:crop/red_bell_pepper[age=0]", - "Y": "tfc:farmland/loam" + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=0]", + "P": "minecraft:air" } }, { "pattern": [ [ - "X" + "X", + " CP", + " " ], [ - "Y" - ], - [ - "0" + "Y", + "G0G", + "GGG" ] ], "mapping": { - "X": "tfc:crop/red_bell_pepper[age=1]", - "Y": "tfc:farmland/loam" + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=1]", + "P": "minecraft:air" } }, { "pattern": [ [ - "X" + "X", + " CP", + " " ], [ - "Y" - ], - [ - "0" + "Y", + "G0G", + "GGG" ] ], "mapping": { - "X": "tfc:crop/red_bell_pepper[age=2]", - "Y": "tfc:farmland/loam" + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=2]", + "P": "minecraft:air" } }, { "pattern": [ [ - "X" + "X", + " CP", + " " ], [ - "Y" - ], - [ - "0" + "Y", + "G0G", + "GGG" ] ], "mapping": { - "X": "tfc:crop/red_bell_pepper[age=3]", - "Y": "tfc:farmland/loam" + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=3]", + "P": "minecraft:air" } }, { "pattern": [ [ - "X" + "X", + " CP", + " " ], [ - "Y" - ], - [ - "0" + "Y", + "G0G", + "GGG" ] ], "mapping": { - "X": "tfc:crop/red_bell_pepper[age=4]", - "Y": "tfc:farmland/loam" + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=4]", + "P": "minecraft:air" } }, { "pattern": [ [ - "X" + "X", + " CP", + " " ], [ - "Y" - ], - [ - "0" + "Y", + "G0G", + "GGG" ] ], "mapping": { - "X": "tfc:crop/red_bell_pepper[age=5]", - "Y": "tfc:farmland/loam" + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=5]", + "P": "minecraft:air" } }, { "pattern": [ [ - "X" + "X", + " CP", + " " ], [ - "Y" - ], - [ - "0" + "Y", + "G0G", + "GGG" ] ], "mapping": { - "X": "tfc:crop/red_bell_pepper[age=6]", - "Y": "tfc:farmland/loam" + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=6]", + "P": "minecraft:air" + } + }, + { + "pattern": [ + [ + " ", + " CP", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=7]", + "P": "tfc:melon" } } ] @@ -2640,23 +2518,6 @@ "X": "tfc:crop/squash[age=6]", "Y": "tfc:farmland/loam" } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/squash[age=7]", - "Y": "tfc:farmland/loam" - } } ] }, @@ -2680,15 +2541,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/sugarcane[age=0,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/sugarcane[age=0,part=bottom]" } }, { @@ -2701,15 +2558,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/sugarcane[age=1,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/sugarcane[age=1,part=bottom]" } }, { @@ -2722,15 +2575,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/sugarcane[age=2,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/sugarcane[age=2,part=bottom]" } }, { @@ -2743,15 +2592,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/sugarcane[age=3,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/sugarcane[age=3,part=bottom]" } }, { @@ -2764,15 +2609,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/sugarcane[age=4,part=top]", - "Y": "tfc:crop/sugarcane[age=4,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/sugarcane[age=4,part=bottom]" } }, { @@ -2785,15 +2626,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/sugarcane[age=5,part=top]", - "Y": "tfc:crop/sugarcane[age=5,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/sugarcane[age=5,part=bottom]" } }, { @@ -2806,15 +2643,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/sugarcane[age=6,part=top]", - "Y": "tfc:crop/sugarcane[age=6,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/sugarcane[age=6,part=bottom]" } }, { @@ -2827,15 +2660,11 @@ ], [ "Z" - ], - [ - "0" ] ], "mapping": { "X": "tfc:crop/sugarcane[age=7,part=top]", - "Y": "tfc:crop/sugarcane[age=7,part=bottom]", - "Z": "tfc:farmland/loam" + "Y": "tfc:crop/sugarcane[age=7,part=bottom]" } } ] @@ -3155,6 +2984,48 @@ "Y": "tfc:crop/jute[age=5,part=bottom]", "Z": "tfc:farmland/loam" } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/tomato[age=6,part=top,stick=true]", + "Y": "tfc:crop/tomato[age=6,part=bottom,stick=true]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/tomato[age=7,part=top,stick=true]", + "Y": "tfc:crop/tomato[age=7,part=bottom,stick=true]", + "Z": "tfc:farmland/loam" + } } ] }, @@ -3298,11 +3169,13 @@ }, { "type": "patchouli:text", + "anchor": "papyrus", "text": "$(bold)$(l:the_world/climate#temperature)温度$():5 - 40 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():20 - 80 %$(br)$(bold)营养物质$():氮$(br2)向日葵是一种两格高的作物。向日葵种子可以种植在耕地上,生长到两格高,并生产可加工为$(thing)种子油$()的$(item)向日葵花盘$()。种子油既可用作灯油,也可在后期用于制作$(thing)生物柴油$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,向日葵同样被视为有效花源。", "title": "向日葵" }, { "type": "tfc:multimultiblock", + "text": "$(thing)野生向日葵$()生长于5°C至40°C的温度区间及100至450毫米的降雨环境。其种子亦可烘烤食用!", "multiblocks": [ { "pattern": [ @@ -3429,33 +3302,12 @@ "Y": "tfg:sunflower[age=5,part=bottom]", "Z": "tfc:farmland/loam" } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "Z" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfg:sunflower[age=6,part=top]", - "Y": "tfg:sunflower[age=6,part=bottom]", - "Z": "tfc:farmland/loam" - } } - ], - "text": "$(thing)野生向日葵$()生长于5°C至40°C的温度区间及100至450毫米的降雨环境。其种子亦可烘烤食用!" + ] }, { "type": "patchouli:text", + "anchor": "sunflower", "text": "$(bold)$(l:the_world/climate#temperature)温度$(): -5 - 25 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 10 - 60 %$(br)$(bold)营养物质$():磷$(br2)油菜是一种两格高的作物。油菜种子可种植在耕地上,生长到两格高,并生产可加工为$(thing)种子油$()的$(item)油菜籽荚$()。种子油既可用作灯油,也可在后期用于制作$(thing)生物柴油$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,油菜同样被视为有效花源。", "title": "油菜" }, @@ -3610,11 +3462,11 @@ } } ], - "text": "$(thing)野生油菜$()(亦称$(thing)芸苔$())生长于-7°C至25°C的温度区间及50至350毫米的降雨环境。", - "enable_visualize": false + "text": "$(thing)野生油菜$()(亦称$(thing)芸苔$())生长于-7°C至25°C的温度区间及50至350毫米的降雨环境。" }, { "type": "patchouli:text", + "anchor": "canola", "text": "$(bold)$(l:the_world/climate#temperature)温度$():5 - 37 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():25 - 100 %$(br)$(bold)营养物质$():氮$(br2)亚麻是一种两格高的农作物。亚麻种子可以种植在耕地上,生长到两格高,并生产用于加工为$(thing)亚麻布$()的$(item)亚麻茎杆$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,亚麻同样被视为有效花源。", "title": "亚麻" }, @@ -3769,7 +3621,167 @@ } } ], - "text": "$(thing)野生亚麻$()生长于-5°C至23°C的温度区间及175至475毫米的降雨环境。" + "text": "$(thing)野生亚麻$()生长于-5°C至23°C的温度区间及175至475毫米的降雨环境。", + "enable_visualize": false + }, + { + "type": "patchouli:text", + "anchor": "flax", + "text": "$(bold)$(l:the_world/climate#temperature)Temperature$(): -8 - 25 °C$(br)$(bold)$(l:mechanics/hydration)Hydration$(): 15 - 65 %$(br)$(bold)Nutrient$(): Nitrogen$(br2)Flax is a two block tall crop. Flax seeds can be planted on farmland, will grow two blocks tall, and will produce $(item)Flax Stems$() which can be processed into $(thing)Linen$() or $(thing)Burlap$().$(br)Flax also counts as a Flower for the purposes of $(l:firmalife/beekeeping)Beekeeping$().", + "title": "Flax" + }, + { + "type": "tfc:multimultiblock", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfg:flax[age=0,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfg:flax[age=1,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfg:flax[age=2,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfg:flax[age=3,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfg:flax[age=4,part=top]", + "Y": "tfg:flax[age=4,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfg:flax[age=5,part=top]", + "Y": "tfg:flax[age=5,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfg:flax[age=6,part=top]", + "Y": "tfg:flax[age=6,part=bottom]", + "Z": "tfc:farmland/loam" + } + } + ], + "text": "$(thing)Wild Flax$() grows between -5 and 23C, and 175 to 475mm of rainfall." } ], "read_by_default": true, diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/the_world/wild_crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/the_world/wild_crops.json new file mode 100644 index 000000000..5fcfe90ac --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/the_world/wild_crops.json @@ -0,0 +1,661 @@ +{ + "name": "野生作物", + "category": "tfc:the_world", + "icon": "tfc:textures/gui/book/icons/wild_crops.png", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)野生作物$()可以在世界各地零星找到,它们以小片的形式生长。收获它们可以得到食物和种子,这些种子随后可以自行培育成非野生的形态。$(br2)你可以徒手,或者使用$(thing)小刀$()和其他锋利工具来收获野生作物。破坏时,它们会掉落$(thing)种子$()和一些$(thing)产物$()。" + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/wheat[mature=true]" + } + }, + "name": "野生小麦", + "text": "例如$(l:mechanics/crops#wheat)小麦$()就是一种野生作物。", + "enable_visualize": false + }, + { + "type": "patchouli:text", + "text": "每一种可以培育的$(l:mechanics/crops)作物$()也都能在野外找到。野生作物看起来与人工培育的同类相似,但更隐蔽地生长在草丛中。野生作物仅在六月到十月间成熟。在其他月份,它们会呈现枯死状态,直到下一个夏季。" + }, + { + "type": "tfc:multimultiblock", + "text": "所有不同品种的野生作物", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/barley" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/oat" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/rye" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/maize[part=top]", + "Y": "tfc:wild_crop/maize[part=bottom]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/barley" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/rice[fluid=water]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/beet" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/cabbage" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/carrot" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/garlic" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/green_bean[part=top]", + "Y": "tfc:wild_crop/green_bean[part=bottom]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/potato" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/onion" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/soybean" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/squash" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/sugarcane[part=top]", + "Y": "tfc:wild_crop/sugarcane[part=bottom]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/tomato[part=top]", + "Y": "tfc:wild_crop/tomato[part=bottom]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/jute[part=top]", + "Y": "tfc:wild_crop/jute[part=bottom]" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/pumpkin" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:wild_crop/melon" + } + } + ] + }, + { + "type": "patchouli:text", + "text": "野生作物会在接近其可培育气候的区域生成,因此,如果你在寻找特定作物,请到该作物可以生长的气候区寻找。然而,与玩家种植的$(l:mechanics/crops)作物$()不同,野生作物不需要$(l:mechanics/hydration)水分$()。相反,它们的分布取决于该地区的平均$()温度$()和$()降雨量$()。", + "title": "寻找野生作物" + }, + { + "type": "patchouli:text", + "text": "接下来的页面展示了可找到野生作物的生长环境对照表。" + }, + { + "type": "tfc:table", + "strings": [ + { + "text": "作物", + "bold": true + }, + { + "text": "温度(°C)", + "bold": true + }, + { + "text": "降雨量(毫米)", + "bold": true + }, + { + "text": "大麦" + }, + { + "text": " -8 - 26" + }, + { + "text": " 70 - 310" + }, + { + "text": "燕麦" + }, + { + "text": " 3 - 40" + }, + { + "text": "140 - 400" + }, + { + "text": "黑麦" + }, + { + "text": "-11 - 30" + }, + { + "text": "100 - 350" + }, + { + "text": "玉米" + }, + { + "text": " 13 - 40" + }, + { + "text": "300 - 500" + }, + { + "text": "小麦" + }, + { + "text": " -4 - 35" + }, + { + "text": "100 - 400" + }, + { + "text": "水稻" + }, + { + "text": " 15 - 30" + }, + { + "text": "100 - 500" + }, + { + "text": "甜菜" + }, + { + "text": " -5 - 20" + }, + { + "text": " 70 - 300" + }, + { + "text": "卷心菜" + }, + { + "text": "-10 - 27" + }, + { + "text": " 60 - 280" + }, + { + "text": "胡萝卜" + }, + { + "text": " 3 - 30" + }, + { + "text": "100 - 400" + }, + { + "text": "大蒜" + }, + { + "text": "-20 - 18" + }, + { + "text": " 60 - 310" + }, + { + "text": "四季豆" + }, + { + "text": " 2 - 35" + }, + { + "text": "150 - 410" + }, + { + "text": "西瓜" + }, + { + "text": " 5 - 37" + }, + { + "text": "200 - 500" + } + ], + "text": "", + "title": "野生作物需求", + "legend": [], + "columns": 2, + "first_column_width": 80, + "column_width": 70, + "row_height": 10, + "left_buffer": 2, + "top_buffer": 12, + "draw_background": false + }, + { + "type": "patchouli:empty", + "draw_filler": false + }, + { + "type": "tfc:table", + "strings": [ + { + "text": "作物", + "bold": true + }, + { + "text": "温度(°C)", + "bold": true + }, + { + "text": "降雨量(毫米)", + "bold": true + }, + { + "text": "马铃薯" + }, + { + "text": " -1 - 37" + }, + { + "text": "200 - 410" + }, + { + "text": "南瓜" + }, + { + "text": " 0 - 30" + }, + { + "text": "120 - 390" + }, + { + "text": "洋葱" + }, + { + "text": " 0 - 30" + }, + { + "text": "100 - 390" + }, + { + "text": "大豆" + }, + { + "text": " 8 - 30" + }, + { + "text": "160 - 410" + }, + { + "text": "西葫芦" + }, + { + "text": " 5 - 33" + }, + { + "text": " 90 - 390" + }, + { + "text": "甘蔗" + }, + { + "text": " 12 - 38" + }, + { + "text": "160 - 500" + }, + { + "text": "番茄" + }, + { + "text": " 0 - 36" + }, + { + "text": "120 - 390" + }, + { + "text": "黄麻" + }, + { + "text": " 5 - 37" + }, + { + "text": "100 - 410" + }, + { + "text": "纸莎草" + }, + { + "text": " 19 - 37" + }, + { + "text": "310 - 500" + }, + { + "text": "红甜椒" + }, + { + "text": " 16 - 30" + }, + { + "text": "190 - 400" + }, + { + "text": "黄甜椒" + }, + { + "text": " 16 - 30" + }, + { + "text": "190 - 400" + }, + { + "text": "向日葵" + }, + { + "text": " 5 - 40" + }, + { + "text": "100 - 450" + } + ], + "text": "", + "title": "野生作物需求", + "legend": [], + "columns": 2, + "first_column_width": 80, + "column_width": 70, + "row_height": 10, + "left_buffer": 2, + "top_buffer": 12, + "draw_background": false + }, + { + "type": "patchouli:empty", + "draw_filler": false + }, + { + "type": "tfc:table", + "strings": [ + { + "text": "作物", + "bold": true + }, + { + "text": "温度(°C)", + "bold": true + }, + { + "text": "降雨量(毫米)", + "bold": true + }, + { + "text": "油菜" + }, + { + "text": " -5 - 25" + }, + { + "text": " 50 - 350" + }, + { + "text": "亚麻" + }, + { + "text": " -8 - 25" + }, + { + "text": "175 - 475" + } + ], + "text": "", + "title": "野生作物需求", + "legend": [], + "columns": 2, + "first_column_width": 80, + "column_width": 70, + "row_height": 10, + "left_buffer": 2, + "top_buffer": 12, + "draw_background": false + }, + { + "type": "patchouli:empty", + "draw_filler": false + } + ], + "read_by_default": true, + "sortnum": 4, + "extra_recipe_mappings": { + "tag:tfc:wild_crops": 0 + } +} \ No newline at end of file From 6c8931300a45932d4f7205e658d1228cbbd5456c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 28 Jan 2026 23:04:44 +0000 Subject: [PATCH 250/474] pakku, fix lv hermetic casing typo --- .../tfg/machines/recipes.bakelite.js | 2 +- pakku-lock.json | 115 +++++++++--------- 2 files changed, 57 insertions(+), 60 deletions(-) diff --git a/kubejs/server_scripts/tfg/machines/recipes.bakelite.js b/kubejs/server_scripts/tfg/machines/recipes.bakelite.js index 271f10084..99ebb9b4c 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.bakelite.js +++ b/kubejs/server_scripts/tfg/machines/recipes.bakelite.js @@ -111,5 +111,5 @@ function registerTFGBakeliteRecipes(event) { ], { A: '#forge:plates/steel', B: '#forge:storage_blocks/bakelite' - }).tfg('tfg:shaped/lv_hermetic_casing_bakelite') + }).id('tfg:shaped/lv_hermetic_casing_bakelite') } \ No newline at end of file diff --git a/pakku-lock.json b/pakku-lock.json index d315e4777..28949f71e 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -7652,7 +7652,7 @@ "files": [ { "type": "modrinth", - "file_name": "ImmediatelyFast-Forge-1.5.3+1.20.4.jar", + "file_name": "ImmediatelyFast-Forge-1.5.4+1.20.4.jar", "mc_versions": [ "1.20", "1.20.1", @@ -7664,20 +7664,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/5ZwdcRci/versions/a4stvpj6/ImmediatelyFast-Forge-1.5.3+1.20.4.jar", - "id": "a4stvpj6", + "url": "https://cdn.modrinth.com/data/5ZwdcRci/versions/OomXW3xp/ImmediatelyFast-Forge-1.5.4+1.20.4.jar", + "id": "OomXW3xp", "parent_id": "5ZwdcRci", "hashes": { - "sha512": "ef57ecc7aa7138c1b06fac6d6b49707d6ef324b6220cd604f567cfdbabd5b9ca0e76a2a4ed354d08029976c773f40c65b7692372a3f70637d7ae446be2b3ace0", - "sha1": "d4695d013e9da7089e2906db3f56bc5398e478e2" + "sha512": "b4a30951b41367cbf6567e38d7ddada4a381b430e2bd2d2b01e195d1a8c434e9811af61b28962c1152bf5c669f3ede2551694df4e1b500b35cdf78178aa9e9f0", + "sha1": "e2e60485a0c3efa72f1948c952b095150e3ba4fc" }, "required_dependencies": [], - "size": 426980, - "date_published": "2025-12-09T20:19:33.206344Z" + "size": 538992, + "date_published": "2026-01-27T21:06:43.866649Z" }, { "type": "curseforge", - "file_name": "ImmediatelyFast-Forge-1.5.3+1.20.4.jar", + "file_name": "ImmediatelyFast-Forge-1.5.4+1.20.4.jar", "mc_versions": [ "1.20.2", "1.20.1", @@ -7689,16 +7689,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7313/94/ImmediatelyFast-Forge-1.5.3+1.20.4.jar", - "id": "7313094", + "url": "https://edge.forgecdn.net/files/7537/759/ImmediatelyFast-Forge-1.5.4+1.20.4.jar", + "id": "7537759", "parent_id": "686911", "hashes": { - "sha1": "d4695d013e9da7089e2906db3f56bc5398e478e2", - "md5": "1e5278b2585bab1db76d4b1ab61e82c1" + "sha1": "e2e60485a0c3efa72f1948c952b095150e3ba4fc", + "md5": "8fb21bb328cc322c6d9749eff087509f" }, "required_dependencies": [], - "size": 426980, - "date_published": "2025-12-09T20:19:33.393Z" + "size": 538992, + "date_published": "2026-01-27T21:06:43.760Z" } ] }, @@ -9558,7 +9558,7 @@ "files": [ { "type": "modrinth", - "file_name": "moonlight-1.20-2.16.23-forge.jar", + "file_name": "moonlight-1.20-2.16.27-forge.jar", "mc_versions": [ "1.20.1" ], @@ -9567,20 +9567,20 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/XCFIOCRA/moonlight-1.20-2.16.23-forge.jar", - "id": "XCFIOCRA", + "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/lrpPgviq/moonlight-1.20-2.16.27-forge.jar", + "id": "lrpPgviq", "parent_id": "twkfQtEc", "hashes": { - "sha512": "2baeeafd86a7df76b81d41cf20f6dde2f1ecfed3bfda19f299d6acd59fd52eedda47829b56ac0f4da4647e9f7be50a8ec6f677c421f91c0bb5c8f5f8d0710b49", - "sha1": "c63750ef54ac17d0dc1e58c246c6dac3d8d9ac87" + "sha512": "30b9a16c4643bbbf643304e14d524f72f7aa2343317ba40e136b88a433d2110dc727b7747003126dc9a220e18b5da69585b24c8b3135844ddeef07e5d6006afa", + "sha1": "0a1b384ec20d63e94c56123b53e264dc2afe5b17" }, "required_dependencies": [], - "size": 1390855, - "date_published": "2026-01-16T18:52:42.739110Z" + "size": 1392973, + "date_published": "2026-01-28T16:55:17.211884Z" }, { "type": "curseforge", - "file_name": "moonlight-1.20-2.16.23-forge.jar", + "file_name": "moonlight-1.20-2.16.27-forge.jar", "mc_versions": [ "1.20.1" ], @@ -9589,16 +9589,16 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7469/722/moonlight-1.20-2.16.23-forge.jar", - "id": "7469722", + "url": "https://edge.forgecdn.net/files/7541/536/moonlight-1.20-2.16.27-forge.jar", + "id": "7541536", "parent_id": "499980", "hashes": { - "sha1": "c63750ef54ac17d0dc1e58c246c6dac3d8d9ac87", - "md5": "a6659ba4650f16630293ce633c3ae4e7" + "sha1": "0a1b384ec20d63e94c56123b53e264dc2afe5b17", + "md5": "7e819bab11a4cf9973d0e24fb52c367b" }, "required_dependencies": [], - "size": 1390855, - "date_published": "2026-01-16T18:52:33.317Z" + "size": 1392973, + "date_published": "2026-01-28T16:55:09.907Z" } ] }, @@ -12911,31 +12911,7 @@ "files": [ { "type": "modrinth", - "file_name": "tfc_gurman-1.3.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "beta", - "url": "https://cdn.modrinth.com/data/ERme2o65/versions/NVqgySaW/tfc_gurman-1.3.0.jar", - "id": "NVqgySaW", - "parent_id": "ERme2o65", - "hashes": { - "sha512": "b82f4b893f85f152a305a9949df8a87337b2e1d75e80a1723c512de5ede3dfa056f17a2186511acf96556e4b5ce1b1c55927d6f97fabf109ac8fdf8ba20f197c", - "sha1": "c55512789128af89d57fe0c9a2f3b4d59a491724" - }, - "required_dependencies": [ - "JaCEZUhg", - "5bKeBHw2" - ], - "size": 542077, - "date_published": "2026-01-02T13:41:35.488377Z" - }, - { - "type": "curseforge", - "file_name": "tfc_gurman-1.3.0.jar", + "file_name": "tfc_gurman-1.4.1.jar", "mc_versions": [ "1.20.1" ], @@ -12943,19 +12919,40 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7408/157/tfc_gurman-1.3.0.jar", - "id": "7408157", + "url": "https://cdn.modrinth.com/data/ERme2o65/versions/zhoqj2Wr/tfc_gurman-1.4.1.jar", + "id": "zhoqj2Wr", + "parent_id": "ERme2o65", + "hashes": { + "sha512": "dbfa8e9423dc6bb4fa98a17b99478651b99081e4990f1b9f01bfc5ade6ec35955756f8c856d2bfd3f4865779aaff4a7c68b6bb3b7e93f397afbf407c83c992c3", + "sha1": "0be72570ba157b7600c3b9f4ea694744a227112a" + }, + "required_dependencies": [], + "size": 520225, + "date_published": "2026-01-28T01:09:39.160234Z" + }, + { + "type": "curseforge", + "file_name": "tfc_gurman-1.4.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7538/795/tfc_gurman-1.4.1.jar", + "id": "7538795", "parent_id": "1363944", "hashes": { - "sha1": "c55512789128af89d57fe0c9a2f3b4d59a491724", - "md5": "fd8ba6a9ec34193beda55f5d34e359f1" + "sha1": "0be72570ba157b7600c3b9f4ea694744a227112a", + "md5": "d5734cf9b727fbb11b8025ceb26fe8aa" }, "required_dependencies": [ "302973", "453394" ], - "size": 542077, - "date_published": "2026-01-02T13:43:05.680Z" + "size": 520225, + "date_published": "2026-01-28T01:08:21.107Z" } ] }, From 34039b2517f3d60642fa0bf5f454eb3758668764 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 28 Jan 2026 23:05:13 +0000 Subject: [PATCH 251/474] langs --- kubejs/assets/ae2/lang/es_es.json | 23 +++ kubejs/assets/beneath/lang/es_es.json | 30 ++++ kubejs/assets/betterend/lang/es_es.json | 123 ++++++++++++++++ .../assets/createstockbridge/lang/en_us.json | 16 +++ .../assets/createstockbridge/lang/ru_ru.json | 16 +++ .../assets/createstockbridge/lang/zh_cn.json | 16 +++ kubejs/assets/gtceu/lang/zh_cn.json | 4 +- kubejs/assets/minecraft/lang/zh_cn.json | 3 +- kubejs/assets/tfg/lang/en_us.json | 5 +- kubejs/assets/tfg/lang/ru_ru.json | 30 ++-- kubejs/assets/tfg/lang/zh_cn.json | 132 +++++++++++------- 11 files changed, 331 insertions(+), 67 deletions(-) create mode 100644 kubejs/assets/ae2/lang/es_es.json create mode 100644 kubejs/assets/beneath/lang/es_es.json create mode 100644 kubejs/assets/betterend/lang/es_es.json create mode 100644 kubejs/assets/createstockbridge/lang/en_us.json create mode 100644 kubejs/assets/createstockbridge/lang/ru_ru.json create mode 100644 kubejs/assets/createstockbridge/lang/zh_cn.json diff --git a/kubejs/assets/ae2/lang/es_es.json b/kubejs/assets/ae2/lang/es_es.json new file mode 100644 index 000000000..7ca1fbcfd --- /dev/null +++ b/kubejs/assets/ae2/lang/es_es.json @@ -0,0 +1,23 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "gui.ae2.inWorldCraftingPresses": "Las prensas de fabricación son obtenidas al romper un cubo misterioso. Los cubos misteriosos se ubican en el centro de meteoritos los cuales pueden ser hallados en La Luna.", + "gui.advanced_ae.AdvPatternProvider": "", + "gui.expandedae.exp_pattern_provider": "", + "item.ae2.sky_dust": "Polvo de suevita", + "block.ae2.sky_stone_block": "Suevita en bruto", + "block.ae2.sky_stone_stairs": "Escaleras de suevita", + "block.ae2.sky_stone_wall": "Muro de suevita", + "block.ae2.sky_stone_slab": "Losa de suevita", + "block.ae2.smooth_sky_stone_block": "Suevita lisa", + "block.ae2.smooth_sky_stone_stairs": "Escaleras de suevita lisas", + "block.ae2.smooth_sky_stone_wall": "Muro de suevita liso", + "block.ae2.smooth_sky_stone_slab": "Losa de suevita lisa", + "block.ae2.sky_stone_brick": "Ladrillos de suevita", + "block.ae2.sky_stone_brick_stairs": "Escaleras de ladrillos de suevita", + "block.ae2.sky_stone_brick_wall": "Muro de ladrillos de suevita", + "block.ae2.sky_stone_brick_slab": "Losa de ladrillos de suevita", + "block.ae2.sky_stone_small_brick": "Ladrillos pequeños de suevita", + "block.ae2.sky_stone_small_brick_stairs": "Escaleras de ladrillos pequeños de suevita", + "block.ae2.sky_stone_small_brick_wall": "Muro de ladrillos pequeños de suevita", + "block.ae2.sky_stone_small_brick_slab": "Losa de ladrillos pequeños de suevita" +} \ No newline at end of file diff --git a/kubejs/assets/beneath/lang/es_es.json b/kubejs/assets/beneath/lang/es_es.json new file mode 100644 index 000000000..e87d2d8ce --- /dev/null +++ b/kubejs/assets/beneath/lang/es_es.json @@ -0,0 +1,30 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.beneath.blackstone_pebble": "Piroxenita suelta", + "block.beneath.blackstone_aqueduct": "Acueducto de piroxenita", + "block.beneath.loose_blackstone": "Piroxenita suelta", + "block.beneath.ore.nether_cursecoal": "Mena de antracita de migmatita", + "block.beneath.ore.nether_cursecoal.prospected": "Antracita", + "block.beneath.cursecoal_pile": "Pila de antracita", + "block.beneath.ore.blackstone_sylvite": "Mena de silvina de piroxenita", + "block.beneath.crackrack": "Queratofira en bruto", + "block.beneath.soul_clay": "Arcilla fangosa", + "block.beneath.wood.log.crimson": "Tallo carmesí", + "block.beneath.wood.stripped_log.crimson": "Tallo carmesí pelado", + "block.beneath.wood.wood.crimson": "Hifas carmesí", + "block.beneath.wood.stripped_wood.crimson": "Hifas carmesí peladas", + "block.beneath.wood.fallen_leaves.crimson": "Lamella carmesí caída", + "block.beneath.wood.leaves.crimson": "Lamella carmesí", + "block.beneath.wood.log.warped": "Tallo distorsionado", + "block.beneath.wood.stripped_log.warped": "Tallo distorsionado pelado", + "block.beneath.wood.wood.warped": "Hifas distorsionadas", + "block.beneath.wood.stripped_wood.warped": "Hifas distorsionadas peladas", + "block.beneath.wood.fallen_leaves.warped": "Lamella distorsionada caída", + "block.beneath.wood.leaves.warped": "Lamella distorsionada", + "block.beneath.ancient_altar": "Pedestal de piroxenita", + "item.beneath.cursed_hide": "Piel ignífuga", + "item.beneath.blackstone_brick": "Ladrillo de piroxenita", + "item.beneath.cursecoal": "Antracita", + "item.beneath.crackrack_rock": "Roca de queratofiro", + "item.beneath.loose_blackstone": "Piroxenita suelta" +} \ No newline at end of file diff --git a/kubejs/assets/betterend/lang/es_es.json b/kubejs/assets/betterend/lang/es_es.json new file mode 100644 index 000000000..b20b22cf0 --- /dev/null +++ b/kubejs/assets/betterend/lang/es_es.json @@ -0,0 +1,123 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.betterend.aeridium": "Erídio", + "block.betterend.amaranita_stem": "Tallo de amaranita", + "block.betterend.amber_grass": "Césped de ámbar", + "block.betterend.amber_root_wild": "Brotes de ámbar silvestres", + "block.betterend.amber_root_dead": "Brotes de ámbar secos", + "block.betterend.amber_root": "Brotes de ámbar", + "block.betterend.aurant_polypore": "Poliporo áureo", + "block.betterend.blooming_cooksonia": "Coccionia floreciente", + "block.betterend.blossom_berry": "Bayaflor", + "block.betterend.blossom_berry_wild": "Bayaflor silvestre", + "block.betterend.blossom_berry_dead": "Bayaflor seca", + "block.betterend.bolux_mushroom": "Colonia de hongos Bolux", + "block.betterend.bolux_mushroom_wild": "Colonia de hongos Bolux silvestre", + "block.betterend.bolux_mushroom_dead": "Colonia de hongos Bolux seca", + "block.betterend.brimstone": "Azufrita", + "block.betterend.bushy_grass": "Hierbanueva", + "block.betterend.bulb_moss": "Musgo bulboso", + "block.betterend.cave_bush": "Lamella carmín", + "block.betterend.cave_bush_fallen": "Lamela carmín pequeña", + "block.betterend.cave_grass": "Vermiligma", + "block.betterend.cave_pumpkin": "Bulbo cavernario", + "block.betterend.cave_pumpkin_wild": "Tallo de bulbo cavernario silvestre", + "block.betterend.cave_pumpkin_dead": "Tallo de bulbo cavernario seco", + "block.betterend.cave_pumpkin_plant": "Tallo de bulbo cavernario", + "block.betterend.charnia_cyan": "Carnia cián", + "block.betterend.charnia_green": "Carnia verde", + "block.betterend.charnia_light_blue": "Carnia verdácea", + "block.betterend.charnia_orange": "Carnia naranja", + "block.betterend.charnia_purple": "Carnia morada", + "block.betterend.charnia_red": "Carnia roja", + "block.betterend.chorus_grass": "Hierba coral", + "block.betterend.chorus_lily": "Lirio coral", + "block.betterend.chorus_mushroom": "Colonia de hongos Calmia", + "block.betterend.chorus_mushroom_wild": "Colonia de hongos Calmia silvestre", + "block.betterend.chorus_mushroom_dead": "Colonia de hongos Calmia seca", + "block.betterend.clawfern": "Helecho acerado", + "block.betterend.crystal_grass": "Hierba cristalina", + "block.betterend.end_lily": "Lirio de Deimos", + "block.betterend.end_lily_seed": "Brote de lirio de Deimos", + "block.betterend.end_lotus_flower": "Flor de loto de Fobos", + "block.betterend.end_lotus_leaf": "Hoja de loto de Fobos", + "block.betterend.end_lotus_stem": "Tallo de loto de Fobos", + "block.betterend.end_lotus_seed": "Brote de loto de Fobos", + "block.betterend.filalux_wings": "Alas filalúceas", + "block.betterend.flamaea": "Hongo flamigero", + "block.betterend.flammalix": "Hongo flamante", + "block.betterend.flavolite": "Lucitita en bruto", + "block.betterend.flavolite_bricks": "Ladrillos de lucitita", + "block.betterend.flavolite_pillar": "Pilar de lucitita", + "block.betterend.flavolite_polished": "Lucitita pulida", + "block.betterend.flavolite_tiles": "Baldosas de lucitita", + "block.betterend.fracturn": "Fracturno", + "block.betterend.glacian_hymenophore": "Himenóforo glacial", + "block.betterend.globulagus": "Globulago", + "block.betterend.hydrothermal_vent": "Ventilación térmica", + "block.betterend.hydralux": "Hidralúz", + "block.betterend.hydralux_sapling": "Brote de hidralúz", + "block.betterend.inflexia": "Inflexia", + "block.betterend.lacugrove": "Alga lacustre", + "block.betterend.lacugrove_bark": "Adaquita en bruto", + "block.betterend.lamellarium": "Lamellaria", + "block.betterend.lanceleaf": "Hoja lanceolada", + "block.betterend.lanceleaf_small": "Daga de hoja lanceolada", + "block.betterend.large_amaranita_mushroom": "Hongo de amaranita grande", + "block.betterend.lucernia_leaves": "Lamella de lucernia", + "block.betterend.lucernia_leaves_fallen": "Lamella de lucernia pequeña", + "block.betterend.lucernia_outer_leaves": "Hifas de lucernia", + "block.betterend.lucernia_bark": "Chapitel siniestro", + "block.betterend.lutebus": "Lutebio", + "block.betterend.magnula": "Magnulea", + "block.betterend.nightshade_moss": "Musgo de Nox", + "block.betterend.orango": "Orango", + "block.betterend.pond_anemone": "Anemona", + "block.betterend.purple_polypore": "Poliporo morado", + "block.betterend.rubinea": "Rubineda", + "block.betterend.ruscus": "Hierba de rusco", + "block.betterend.salteago": "Salteago", + "block.betterend.sandy_jadestone": "Lamprita en bruto", + "block.betterend.sandy_jadestone_bricks": "Ladrillos de lamprita", + "block.betterend.sandy_jadestone_pillar": "Pilar de lamprita", + "block.betterend.sandy_jadestone_polished": "Lamprita pulida", + "block.betterend.sandy_jadestone_tiles": "Baldosa de lamprita", + "block.betterend.selagine": "Selegina", + "block.betterend.shadow_berry": "Bayas de Nox", + "block.betterend.shadow_berry_wild": "Bayas de Nox silvestres", + "block.betterend.shadow_berry_dead": "Bayas de Nox secas", + "block.betterend.small_amaranita_mushroom": "Hongo de Amaranita pequeño", + "block.betterend.sulphur_crystal": "Cristal de azufre", + "block.betterend.sulphuric_rock": "Ignimbrita en bruto", + "block.betterend.sulphuric_rock_bricks": "Ladrillos de ignimbrita", + "block.betterend.sulphuric_rock_pillar": "Pilar de ignimbrita", + "block.betterend.sulphuric_rock_polished": "Ignimbrita pulida", + "block.betterend.sulphuric_rock_tiles": "Baldosa de ignimbrita", + "block.betterend.tube_worm": "Gusano de tubo", + "block.betterend.twisted_moss": "Musgo distorsionado", + "block.betterend.twisted_umbrella_moss": "Musgo paraguas distorsionado", + "block.betterend.twisted_umbrella_moss_tall": "Musgo paraguas distorsionado", + "block.betterend.twisted_vine": "Enredadera distorsionada", + "block.betterend.umbrella_moss": "Musgo paraguas", + "block.betterend.umbrella_moss_tall": "Musgo paraguas", + "block.betterend.vaiolush_fern": "Helecho vaciluceo", + "item.betterend.amber_root_product": "Brotes de ámbar", + "item.betterend.amber_root_seeds": "Semillas de brotes de ámbar", + "item.betterend.blossom_berry_product": "Bayaflor", + "item.betterend.blossom_berry_seeds": "Semillas de bayaflor", + "item.betterend.bolux_mushroom_cooked": "Hongo de Bolux cocinado", + "item.betterend.bolux_mushroom_product": "Hongo de Bolux", + "item.betterend.bolux_mushroom_seeds": "Esporas de hongos de Bolux", + "item.betterend.cave_pumpkin_chunks": "Porciones de bulbo cavernario", + "item.betterend.cave_pumpkin_product": "Bulbo cavernario", + "item.betterend.cave_pumpkin_plant_seeds": "Semillas de bulbo cavernario", + "item.betterend.cave_pumpkin_pie_dough": "Masa de bulbo cavernario", + "item.betterend.cave_pumpkin_pie_raw": "Pastel de bulbo cavernario crudo", + "item.betterend.cave_pumpkin_pie": "Pastel de bulbo cavernario", + "item.betterend.chorus_mushroom_cooked": "Hongo Calmia cocinado", + "item.betterend.chorus_mushroom_product": "Hongo Calmia", + "item.betterend.chorus_mushroom_seeds": "Esporas de hongo Calmia", + "item.betterend.shadow_berry_cooked": "Baya de Nox cocinada", + "item.betterend.shadow_berry_product": "Baya de Nox", + "item.betterend.shadow_berry_seeds": "Semillas de baya de Nox" +} \ No newline at end of file diff --git a/kubejs/assets/createstockbridge/lang/en_us.json b/kubejs/assets/createstockbridge/lang/en_us.json new file mode 100644 index 000000000..3fc0dec6e --- /dev/null +++ b/kubejs/assets/createstockbridge/lang/en_us.json @@ -0,0 +1,16 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.createstockbridge.ae_bridge": "AE Stock Bridge", + "gui.createstockbridge.address": "Package Address:", + "gui.stockbridge.remote_items": "Create Stock System Items", + "tooltip.stockbridge.remote_item": "Item in Remote System", + "item.createstockbridge.request_pattern": "Request Pattern", + "createstockbridge.ponder.ae_stockbridge.header": "Connecting the Stock System to AE", + "createstockbridge.ponder.ae_stockbridge.text_1": "AE Stock Bridge links the Create Stock system with AE", + "createstockbridge.ponder.ae_stockbridge.text_2": "Right-Click to bind to the stock network before placing", + "createstockbridge.ponder.ae_stockbridge.text_3": "Set the AE Stock Bridge address to match the Frogport address", + "createstockbridge.ponder.ae_stockbridge.text_4": "AE", + "createstockbridge.ponder.ae_stockbridge.text_5": "AE", + "createstockbridge.ponder.ae_stockbridge.text_6": "AE can request items by 'crafting'", + "createstockbridge.ponder.ae_stockbridge.text_7": "Create can request stored items from AE" +} \ No newline at end of file diff --git a/kubejs/assets/createstockbridge/lang/ru_ru.json b/kubejs/assets/createstockbridge/lang/ru_ru.json new file mode 100644 index 000000000..e6a799fb7 --- /dev/null +++ b/kubejs/assets/createstockbridge/lang/ru_ru.json @@ -0,0 +1,16 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.createstockbridge.ae_bridge": "AE Мост-хранилище", + "gui.createstockbridge.address": "Адрес пакета:", + "gui.stockbridge.remote_items": "Предметы системы Create Stock", + "tooltip.stockbridge.remote_item": "Предмет в удалённой системе", + "item.createstockbridge.request_pattern": "Шаблон запроса", + "createstockbridge.ponder.ae_stockbridge.header": "Подключение системы Stock к AE", + "createstockbridge.ponder.ae_stockbridge.text_1": "AE Мост-хранилище связывает систему Create Stock с AE", + "createstockbridge.ponder.ae_stockbridge.text_2": "ПКМ для привязки к сети Stock перед установкой", + "createstockbridge.ponder.ae_stockbridge.text_3": "Настройте адрес AE Моста-хранилища так, чтобы он совпадал с адресом Frogport", + "createstockbridge.ponder.ae_stockbridge.text_4": "AE", + "createstockbridge.ponder.ae_stockbridge.text_5": "AE", + "createstockbridge.ponder.ae_stockbridge.text_6": "AE может запрашивать предметы через 'крафт'", + "createstockbridge.ponder.ae_stockbridge.text_7": "Create может запрашивать хранящиеся предметы из AE" +} \ No newline at end of file diff --git a/kubejs/assets/createstockbridge/lang/zh_cn.json b/kubejs/assets/createstockbridge/lang/zh_cn.json new file mode 100644 index 000000000..b243f3a6f --- /dev/null +++ b/kubejs/assets/createstockbridge/lang/zh_cn.json @@ -0,0 +1,16 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.createstockbridge.ae_bridge": "AE仓储桥接器", + "gui.createstockbridge.address": "包裹地址:", + "gui.stockbridge.remote_items": "机械动力仓储系统物品", + "tooltip.stockbridge.remote_item": "位于远端系统的物品", + "item.createstockbridge.request_pattern": "请求样板", + "createstockbridge.ponder.ae_stockbridge.header": "将仓储系统连接至应用能源", + "createstockbridge.ponder.ae_stockbridge.text_1": "AE仓储桥接器可让机械动力的仓储系统与应用能源(AE)相连", + "createstockbridge.ponder.ae_stockbridge.text_2": "放置前需先右击绑定库存网络", + "createstockbridge.ponder.ae_stockbridge.text_3": "为蛙港和AE仓储桥接器设置相同的地址", + "createstockbridge.ponder.ae_stockbridge.text_4": "AE", + "createstockbridge.ponder.ae_stockbridge.text_5": "AE", + "createstockbridge.ponder.ae_stockbridge.text_6": "AE可以通过“自动合成”请求物品", + "createstockbridge.ponder.ae_stockbridge.text_7": "机械动力可以请求AE系统中的物品" +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index ede962ce3..61fd14ab4 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -190,10 +190,12 @@ "block.gtceu.wire_coil.tooltip_cracking": "§8裂化机,月壤和紫金采集器:§r", "tooltip.moldraw.shift_view_molecule": "§7§o按住(Shift)查看分子结构§r", "tooltip.moldraw.shift_view_alloy": "§7§o按住(Shift)查看合金成分§r", + "gtceu.medical_condition.antidote.description.effect_removed": "上述疾病效果持续时间降低%s%%", + "gtceu.medical_condition.antidote.description.effect_removed.all": "消除上述所有疾病效果", "gtceu.greenhouse": "电力温室", "gtceu.steam_bloomery": "蒸汽锻铁炉", "gtceu.food_oven": "电烤箱", - "gtceu.food_processor": "食物处理机", + "gtceu.food_processor": "食品加工机", "gtceu.large_solar_panel": "大型太阳能阵列 MK I", "gtceu.large_solar_panel_tier2": "大型太阳能阵列 MK II", "gtceu.large_solar_panel_tier3": "大型太阳能阵列 MK III", diff --git a/kubejs/assets/minecraft/lang/zh_cn.json b/kubejs/assets/minecraft/lang/zh_cn.json index 9249a8440..f44571d73 100644 --- a/kubejs/assets/minecraft/lang/zh_cn.json +++ b/kubejs/assets/minecraft/lang/zh_cn.json @@ -103,5 +103,6 @@ "item.minecraft.milk_bucket": "牛奶桶", "material.tfg.dripstone": "石灰华", "death.attack.magic": "%1$s 被毒死了", - "death.attack.magic.player": "%1$s在试图逃离%2$s时被毒死了" + "death.attack.magic.player": "%1$s在试图逃离%2$s时被毒死了", + "effect.minecraft.dolphins_grace": "游泳速度" } \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index ff499df4f..103ffd610 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -3188,7 +3188,7 @@ "quests.low_voltage.bakelite.desc.1": "Your first Polymer! Simply mix Phenolic Resin with either Asbestos or Treated Chipboard Composite to finish it.\n\nYou'll be using Bakelite for crafting both Phenolic Circuit Boards and MV Machine Hulls, so making a big batch of it is a good idea, though you'll replace it with Polyethylene in &bMV&r.\n\nYou now also have access to a cheaper recipe for ULV and LV Machine Hulls!", "quests.low_voltage.bakelite.desc.2": "&l&3Lore:&r&o Bakelite is the first plastic made from synthetic components. The award for first plastic ever goes to Parkesine, but that requires Nitrocellulose which is a long long chain of recipes to craft - too long for LV.\n\nThe second ever plastic is Galalith, created with milk proteins and formaldehyde, but milk is difficult to automate.", "quests.low_voltage.lv_forming_press.subtitle": "The Forming Press forms...", - "quests.low_voltage.lv_forming_press.desc": "This machine usually isn't used for much, but in TFG it can do TFC Welding recipes if you still need access to them for any reason. It can also easily duplicate any extruder or casting mold.\n\nMore pressingly (pun intended), you'll need it to craft an essential component for your next circuits, the &aPhenolic Circuit Board&r.", + "quests.low_voltage.lv_forming_press.desc": "This machine usually isn't used for much, but in TFG it can do TFC Welding recipes if you still need access to them for any reason. It can also easily duplicate any extruder or casting mold.\n\nMore pressingly (pun intended), you'll need it to craft an essential component for your next circuits, the &aPhenolic Circuit Board&r.\n\nYou'll gain access to a cheaper recipe once you're in &bMV&r.", "quests.low_voltage.lv_laser_engraver.subtitle": "Pew pew!", "quests.low_voltage.lv_laser_engraver.desc": "The Basic Laser Engraver is required to make Transmitters for Create's logistics system. Other than that, it unfortunately can't do much other than make polished stone.\n\nYou'll deal with lasers more once you get to &bMV&r.", "quests.medium_voltage": "&bMV&r - Medium Voltage", @@ -4866,6 +4866,9 @@ "quests.tfg_tips.greenhouse_automation.title": "Greenhouse Automation", "quests.tfg_tips.greenhouse_automation.subtitle": "By your powers combined...", "quests.tfg_tips.greenhouse_automation.desc": "With the combination of Firmalife's &2Picker&r and &2Sweeper&r, Create's Deployers, and GregTech's Item Collectors, it's possible to completely automate your greenhouse!\n\nPickers will pull mature crops from Hydroponic Planters and Quad Planters when they receive a redstone pulse, while Sweepers will harvest mature crops from the other types in a 3x3 area around it while connected to a redstone signal.\n\nThese machines will produce loose items, but an Item Collector will suck those up in a large area around it.\n\nFrom there, pipe the seeds back into Deployers to plant them in the Planters!", + "quests.tfg_tips.food_automation.title": "Food Automation", + "quests.tfg_tips.food_automation.subtitle": "Automate your kitchen.", + "quests.tfg_tips.food_automation.desc": "You can completely automate food starting from &7LV&r using the &3Food Oven&r and &3Food Processor&r.\n\nTo properly make food out of multiple ingredients in a Food Processor, such as sandwiches, you will have to use the &3Robot Arm&r with the \"Keep Exact\" button enabled (or have your Create logstics deliver exact amounts to your machines).\n\nTo prevent spoiled food from filling up your storage you should use the &3Rotten Voiding Cover&r.\n\nThis will later pair nicely with a refrigerator in &bMV&r.", "quests.tfg_tips.beekeeping.title": "Beekeeping", "quests.tfg_tips.beekeeping.subtitle": "They're so small now...", "quests.tfg_tips.beekeeping.desc": "&bBeekeeping&r has a plethora of uses. Not only do bees fertilize nearby crops (assuming you have the correct trait), you will be able to obtain useful resources such as &aWax&r and &aHoney.&r Breed bees to achieve better stats.\nThe &2Field Guide&r offers an extensive explanation of all &bbeekeeping&r mechanics.", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 16c1b92fd..95f8aaeec 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -878,22 +878,18 @@ "item.tfg.unfinished_inscriber_accumulation_press": "Незаконченный аккумулирующий пресс", "item.tfg.brick.deepslate": "Мигматитовый кирпич", "item.tfg.brick.dripstone": "Травертиновый кирпич", - "item.tfg.loose.moon_stone": "Камешек анортозита", "item.tfg.brick.moon_stone": "Анортозитовый кирпич", - "item.tfg.loose.moon_deepslate": "Камешек норита", "item.tfg.brick.moon_deepslate": "Норитовый кирпич", - "item.tfg.loose.mars_stone": "Камешек аргиллита", "item.tfg.brick.mars_stone": "Аргиллитовый кирпич", - "item.tfg.loose.venus_stone": "Камушек трахита", "item.tfg.brick.venus_stone": "Трахитовый кирпич", - "item.tfg.loose.mercury_stone": "Камушек коматиита", "item.tfg.brick.mercury_stone": "Коматиитовый кирпич", - "item.tfg.loose.glacio_stone": "Камушек фонолита", "item.tfg.brick.glacio_stone": "Фонолитовый кирпич", - "item.tfg.loose.permafrost": "Permafrost Chunk", "item.tfg.brick.permafrost": "Кирпич вечной мерзлоты", - "item.tfg.loose.red_granite": "Камушек красного гранита", "item.tfg.brick.red_granite": "Кирпич красного гранита", + "item.tfg.brick.sandy_jadestone": "Лампроитовый кирпич", + "item.tfg.brick.flavolite": "Игнимбритовый кирпич", + "item.tfg.brick.scoria": "Кирпич из пепла", + "item.tfg.brick.scorchia": "Кирпич из тёмного пепла", "item.tfg.terra_firma_greg": "TerraFirmaGreg", "item.tfg.scaffolding_frame": "Обшивка строительных лесов", "item.tfg.airship_hull": "Корпус дирижабля", @@ -1206,10 +1202,12 @@ "item.tfg.fish_roe": "Икра %s", "item.tfg.rotten_voiding_cover": "Удаление гнили(Улучшение)", "item.tfg.flora_pellets": "Растительные гранулы", + "item.tfg.magnesia_refractory_brick_ingot": "Склеенный смолой магнезиальный огнеупорный кирпич", "material.tfg.latex": "Латекс", "material.tfg.vulcanized_latex": "Вулканизированный латекс", "material.tfg.fluix": "Флюис", "material.tfg.conifer_pitch": "Хвойная смола", + "material.tfg.pyrogallol": "Пирогаллол", "material.gtceu.lactose": "Лактоза", "material.tfg.gabbro": "Габбро", "material.tfg.shale": "Сланец", @@ -1408,6 +1406,8 @@ "ore_vein.tfg.normal_copper": "Медь и Халькопирит", "ore_vein.tfg.normal_garnet_tin": "Гранатовый и Касситеритовый песок", "ore_vein.tfg.normal_garnierite": "Гарниерит и Кобальтит", + "ore_vein.tfg.normal_garnierite.emi.0": "Подсказка: Габбро всегда находится", + "ore_vein.tfg.normal_garnierite.emi.1": "под Базальтом.", "ore_vein.tfg.normal_gold": "Золото, Лимонит и Гематит", "ore_vein.tfg.normal_graphite": "Графит и Алмаз", "ore_vein.tfg.normal_gypsum": "Гипс и Кальцит", @@ -1423,6 +1423,8 @@ "ore_vein.tfg.normal_olivine": "Бентонит и Оливин", "ore_vein.tfg.normal_quartz": "Кварцы", "ore_vein.tfg.normal_redstone": "Редстоун, Киноварь и Рубин", + "ore_vein.tfg.normal_redstone.emi.0": "Подсказка: Гранит всегда находится", + "ore_vein.tfg.normal_redstone.emi.1": "под Риолитом.", "ore_vein.tfg.normal_salt": "Соли и Бура", "ore_vein.tfg.normal_saltpeter": "Селитра и Электротин", "ore_vein.tfg.normal_silver": "Серебро, Галена и Свинец", @@ -1529,9 +1531,10 @@ "ore_vein.tfg.nether_sulfur": "Сера и Пирит", "ore_vein.tfg.nether_tetrahedrite": "Тетраэдрит", "ore_vein.tfg.nether_topaz": "Топаз и Халькозин", - "ore_vein.tfg.venus_manual_salt": "Salts & Spodumene", - "ore_vein.tfg.venus_manual_salt.emi.0": "Only in Salt Flats.", + "ore_vein.tfg.venus_manual_salt": "Соли и Cподумен", + "ore_vein.tfg.venus_manual_salt.emi.0": "Только в Соляных равнинах.", "ore_vein.tfg.venus_manual_sulfur": "Сера и Пирит", + "ore_vein.tfg.venus_manual_sulfur.emi.0": "Только в Сернистое ущелье.", "tfg.creative_tab.tfg": "TerraFirmaGreg", "tfg.disabled_portal": "Магия портала заблокирована неизвестной силой, попробуйте получить доступ к измерению поднявшись в небо или спустившись в глубины.", "tfg.tooltip.food_trait.refrigerating": "§bОхлаждённое", @@ -1603,7 +1606,6 @@ "trim_material.tfc.salt_tfc": "Соль", "trim_material.tfc.sapphire_tfc": "Сапфир", "trim_material.tfc.sodalite_tfc": "Содалит", - "trim_material.tfc.coke_tfc": "Кокс", "trim_material.tfc.armalcolite_tfc": "Армальколит", "trim_material.tfc.spessartine_tfc": "Спасерит", "trim_material.tfc.topaz_tfc": "Топаз", @@ -1706,6 +1708,7 @@ "tfg.tooltip.hotornot_hot_equipment": "§7Дает защиту от всех §6горячих§7 предметов, жидкостей и труб.§r", "tfg.tooltip.hotornot_cold_equipment": "§7Дает защиту от всех §bхолодных§7 предметов, жидкостей и труб.§r", "tfg.tooltip.hotornot_floating_equipment": "§7Дает защиту от всех §eлегче воздуха§7 газов.§r", + "tfg.tooltip.polycaprolactam": "Также известный как Нейлон", "tfg.tooltip.machine.one_energy_hatch": "Принимает ровно §6один§r энергетический разъём.", "tfg.tooltip.machine.two_energy_hatches": "Принимает до §6двух§r энергетических разъёма.", "tfg.tooltip.machine.subtick": "Эта машина §2Сабтик§r!", @@ -1754,6 +1757,8 @@ "tfg.tooltip.component.nuclear_turbine_2": "Каждый держатель ротора выше §5EV§r §7добавляет§r 10% эффективности и умножает EU/t на 2.", "tfg.tooltip.component.smr_generator_1": "§eПроиводит:§r 4096 EU/t", "tfg.tooltip.component.smr_generator_2": "Предназначен для производства энергии из sCO2 с использованием малого модульного реактора.\n Используйте смазку и Ускоритель для повышения эффективности и управления охлаждением ММР.", + "tfg.tooltip.show_recipes": "Показать рецепты", + "emi.category.tfg.artisan_table": "Ремесленный стол", "tfg.gui.refrigerator.unify_dates.enabled": "Объединение сроков годности: §aВкл.", "tfg.gui.refrigerator.unify_dates.disabled": "Объединение сроков годности: §cВыкл.", "tfg.machine.food_refrigerator_power_usage": "§7Потребляет§r %s EU/t §7во время работы, чтобы сохранить вашу еду.§r", @@ -1972,6 +1977,7 @@ "quests.ae2.interface_automation.title": "Автоматизация интерфейса", "quests.ae2.interface_automation.desc": "Лучший способ пассивно маршрутизировать предметы и жидкости по базе — использовать &bМЭ интерфейс&r. Поскольку интерфейсы не выталкивают своё содержимое, тебе потребуется установить улучшения машин на машину или трубу.\n\nНе забудь включить опцию &eРазрешить ввод со стороны выхода&r на выходной стороне в интерфейсе машины GregTech, чтобы можно было и забирать, и вставлять предметы с одной и той же стороны.\n\nИспользование фильтров на крышках также может быть удобным способом, чтобы несколько машин забирали предметы из одного и того же интерфейса.\n\nЧтобы избежать переполнения входных слотов предметов в машине, тебе нужно использовать улучшение машины \"Роботизированный манипулятор\" в режиме &eПоддерживать ровно&r с фильтром.\n\nС вводом жидкостей такой проблемы нет, так как он автоматически заполняет только один слот.", "quests.ae2.crafting_accelerator.desc": "Просто воспользуйся внутриигровым руководством — оно объяснит всё гораздо лучше, чем мы когда-либо смогли бы в рамках задания.\n\nНе спеши и внимательно прочитай его — это отличный источник информации!", + "quests.ae2.export_bus.title": "МЭ шина экспорта", "quests.ae2.export_bus.desc": "&dМЭ шина экспорта&r — это мощный инструмент для вывода предметов или жидкостей из твоей &dМЭ сети&r.\nКак только у тебя появится возможность их крафтить, особенно обрати внимание на варианты из &eExtendedAE&r — они могут сильно помочь с автоматизацией.\n\n&cВажно&r: они оказывают значительно большее &4влияние на TPS&r, чем, например, MЭ интерфейсы, поэтому использовать их стоит умеренно.", "quests.ae2.export_bus.task": "Любая шина экспорта", "quests.ae2.import_bus.desc": "&dМЭ шина импорта&r — это один из способов ввода предметов и жидкостей в твою &dМЭ сеть&r. Впрочем, для того же результата ты можешь просто отправлять предметы и жидкости в интерфейс или поставщик шаблонов, поэтому шины импорта используются более нишево.\n\n&cВажно&r: они оказывают значительно большее &4влияние на TPS&r, чем, например, МЭ-интерфейсы, поэтому использовать их стоит умеренно.", @@ -2000,6 +2006,8 @@ "quests.ae2.universal_circuits.title": "Универсальные схемы", "quests.ae2.universal_circuits.subtitle": "Так вот для чего они!", "quests.ae2.universal_circuits.desc": "Вы когда-нибудь задумывались, для чего нужны Универсальные схемы? Помимо красивых значков заданий, они в основном используются в AE2!\n\nAE2 плохо обрабатывает теги предметов в шаблонах, поэтому универсальные схемы разработаны для использования в любых шаблонах, требующих схем. Таким образом, всякий раз, когда вы открываете новый тип схемы, вам нужно добавить только один шаблон, чтобы преобразовать новую схему в универсальную, вместо обновления &oвсехl& ваших старых шаблонов!", + "quests.ae2.stock_bridge.title": "AE Мост-хранилище", + "quests.ae2.stock_bridge.desc": "Если вы вложили много сил в логистическую сеть Create, мысль о необходимости её снести и заменить на AE2 может привести в отчаяние. &bМост-хранилище&r служит связующим звеном между вашей ME-сетью и сетью Create. Ознакомьтесь с его Ponder-сценарием, чтобы узнать, как его настроить.\n\nМы всё же рекомендуем со временем перенести старые системы на AE2 — в основном из-за значительно меньшей нагрузки на производительность игры.", "quests.ae2.iv.title": "AE2 уровня IV", "quests.ae2.iv.desc": "Вся эта ветка становится полностью доступной, как только ты достигнешь &1IV&r.", "quests.ae2.accumulation_press.desc": "Чтобы получить этот &eНовый пресс для вырезателя&r, тебе придётся немного инвестировать.\n\nВо-первых, нужно улучшить свой имплозионный компрессор, установив в него &5два энергетических люка EV&r.\n\nЗатем обзавестись новым IV лазерным гравировщиком, если у тебя его ещё нет.\n\nИ наконец, подготовь много промышленного динамита — для этого процесса подходит &cтолько он&r.\n\nПланируй всё заранее, так как этот этап довольно требовательный!", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index c40e74d68..291c2fe7e 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -581,14 +581,14 @@ "block.tfg.zpm_aqueous_accumulator": "§c精英蓄水器 III§r", "block.tfg.uv_aqueous_accumulator": "§3终极蓄水器§r", "block.tfg.electric_greenhouse": "电力温室", - "block.tfg.lv_food_processor": "基础食物处理机", - "block.tfg.mv_food_processor": "§b高级食物处理机§r", - "block.tfg.hv_food_processor": "§6高级食物处理机 II§r", - "block.tfg.ev_food_processor": "§5高级食物处理机 III§r", - "block.tfg.iv_food_processor": "§9精英食物处理机§r", - "block.tfg.luv_food_processor": "§d精英食物处理机 II§r", - "block.tfg.zpm_food_processor": "§c精英食物处理机 III§r", - "block.tfg.uv_food_processor": "§3终极食物处理机§r", + "block.tfg.lv_food_processor": "基础食品加工机", + "block.tfg.mv_food_processor": "§b高级食品加工机§r", + "block.tfg.hv_food_processor": "§6高级食品加工机 II§r", + "block.tfg.ev_food_processor": "§5高级食品加工机 III§r", + "block.tfg.iv_food_processor": "§9精英食品加工机§r", + "block.tfg.luv_food_processor": "§d精英食品加工机 II§r", + "block.tfg.zpm_food_processor": "§c精英食品加工机 III§r", + "block.tfg.uv_food_processor": "§3终极食品加工机§r", "block.tfg.lv_food_oven": "基础电烤箱", "block.tfg.mv_food_oven": "§b进阶电烤箱§r", "block.tfg.hv_food_oven": "§6进阶电烤箱 II§r", @@ -1296,6 +1296,7 @@ "item.tfg.fish_roe": "%s鱼卵", "item.tfg.rotten_voiding_cover": "腐烂物销毁覆盖板", "item.tfg.flora_pellets": "植物颗粒", + "item.tfg.magnesia_refractory_brick_ingot": "树脂结合镁质耐火砖", "material.tfg.latex": "乳胶", "material.tfg.vulcanized_latex": "硫化乳胶", "material.tfg.fluix": "福鲁伊克斯", @@ -1471,6 +1472,13 @@ "material.tfg.chloroplasts": "叶绿体", "material.tfg.nitrate_rich_water": "富硝酸水", "material.tfg.nitrate_rich_semiheavy_ammoniacal_water": "富硝酸半重氨水", + "material.tfg.weak_red_steel": "脆红钢", + "material.tfg.weak_blue_steel": "脆蓝钢", + "material.tfg.refractory_clay": "耐火黏土", + "material.tfg.bakelite": "电木", + "material.tfg.phenolic_resin": "酚醛树脂", + "material.tfg.magnesium_hydroxide": "氢氧化镁", + "material.tfg.magnesia_refractory_brick": "树脂结合镁质耐火砖", "ore_vein.tfg.deep_sheldonite": "硫铂矿, 斑铜矿", "ore_vein.tfg.deep_garnet_amethyst": "紫水晶, 石榴石", "ore_vein.tfg.deep_garnet_opal": "蛋白石, 石榴石", @@ -1785,6 +1793,7 @@ "tfg.tooltip.hotornot_hot_equipment": "§7提供对所有§6高温§7物品、流体和管道的防护。§r", "tfg.tooltip.hotornot_cold_equipment": "§7提供对所有§b低温§7物品、流体和管道的防护。§r", "tfg.tooltip.hotornot_floating_equipment": "§7提供对所有§e比空气轻§7的气体的防护。§r", + "tfg.tooltip.polycaprolactam": "也称为尼龙", "tfg.tooltip.machine.one_energy_hatch": "只允许有且仅有§61个§f能源仓。", "tfg.tooltip.machine.two_energy_hatches": "允许有最多§62个§r能源仓。", "tfg.tooltip.machine.subtick": "这台机器支持§2子刻机制§r!", @@ -2231,7 +2240,7 @@ "quests.create_logistics.fabricate_rose_quartz.desc": "由于高级物流对于进程推进并非超级必要,你也可以考虑将获取透镜的任务留到&b中压(MV)&r阶段,那时你将能够在家完成。&d玫瑰石英&r可以从其粉尘形式(由8份红石和1份下界石英混合而成)通过一台&b高级&3高压灭菌器&r结晶出来,用&b冰水&r代替通常的(蒸馏)水来模拟自然条件。类似地,在&b中压&r等级,&d玫瑰石英透镜&r本身可以从&d玫瑰石英板&r切割而来,尽管它必须从完整的玫瑰石英块中获取(作为宝石板,它必须在&3切割机&r中加工)。", "quests.create_logistics.rose_quartz_lens.title": "玫瑰色眼镜", "quests.create_logistics.rose_quartz_lens.subtitle": "你只需要一个(YONO)", - "quests.create_logistics.rose_quartz_lens.desc": "无论你以何种方式获得了所需材料,你都需要一台&3车床&r来实际制造透镜。一台&7基础&3车床&r足以用一颗&d精美玫瑰石英&r宝石制作透镜,但如果你想仅用一块板来制作透镜,你将需要更好的设备,即一台&b高级&3车床&r。\n\n一旦制作完成,该透镜可以用于在&7基础&3激光刻录机&r中刻录&d双重红合金板&r来制造我们需要的&d发射器&r单元,并且在此过程中不会被消耗。", + "quests.create_logistics.rose_quartz_lens.desc": "无论你以何种方式获得了所需材料,你都需要一台&3车床&r来实际制造透镜。一台&7基础&3车床&r足以用一颗&d精美玫瑰石英&r宝石制作透镜,但如果你想仅用一块板来制作透镜,你将需要更好的设备,即一台&b高级&3车床&r。\n\n一旦制作完成,该透镜可以用于在&7基础&3激光刻录机&r中刻录&d双层红色合金板&r来制造你所需要的&d发射器&r单元,并且在此过程中不会被消耗。", "quests.create_logistics.stock_link.title": "仓储链接站", "quests.create_logistics.stock_link.subtitle": "家里有存储总线了", "quests.create_logistics.stock_link.desc": "你可以制造的第一个&2高级物流&r机器是&3仓储链接站&r,它可用于创建&d物流网络&r。当放置到&3打包机&r的任意一面时,仓储链接站将&a使打包机所连接的库存对网络可见&r!就其本身而言,仓储链接站并不是超级有用,但它是所有其他即将到来的机器的核心组件……\n\n记得先手持仓储链接站右键点击已放置的仓储链接站,将两者绑定以共享同一网络。要取消此操作,你可以简单地单独合成仓储链接站来清除其调谐。", @@ -2974,10 +2983,10 @@ "quests.low_voltage.lv_machine_hull.title": "你的第二个机器外壳", "quests.low_voltage.lv_machine_hull.subtitle": "是时候接触电力了", "quests.low_voltage.lv_machine_hull.desc.1": "你离你的&6第一台LV机器&r和电气时代的开端非常近了!如果你还没有制作任何&4红钢&r,现在你必须做了,但作为回报,你将获得&6新的方法&r来改进你的生产。\n\n这就是格雷科技的理念:&6你进步得越远,新的配方就越好&r。\n\n开始时尝试制作至少3或4个外壳。", - "quests.low_voltage.lv_machine_hull.desc.2": "对于某些玩家来说,达到一个新的等级是以制作第一个&6电路&r为标志,对于其他人则是&6机器外壳&r或&6能源舱&r。你可以使用任何最适合你的方式,但为了组织有序,这些任务将使用机器外壳作为标志。\n\n不知道从何开始?我们建议寻找那些能让其他所有东西都变得更便宜(事半功倍)的机器,从你最讨厌的事情开始。", - "quests.low_voltage.lv_machine_casing.title": "用于机械动力的LV机械方块?", + "quests.low_voltage.lv_machine_hull.desc.2": "对于某些玩家来说,达到一个新的等级是以制作第一个&6电路&r为标志,对于其他人则是&6机器外壳&r或&6能源舱&r。你可以使用任何最适合你的方式,但为了组织有序,这些任务将使用机器外壳作为标志。\n\n快速提醒:除非机器有特别说明,否则当机器&c任何相邻的方块暴露在雨或水中时&r,机器会发生爆炸。", + "quests.low_voltage.lv_machine_casing.title": "你的下一代机器", "quests.low_voltage.lv_machine_casing.subtitle": "更多选择!", - "quests.low_voltage.lv_machine_casing.desc": "为降低入门LV阶段的难度,&5TFG&r允许你使用&6机械动力&r的机器替代部分&6格雷科技&r机器。\n\n我们在&6上一章节&r已介绍过这些内容,只需记住:当存在格雷科技机器的替代方案时,你都能在任务中自行选择。", + "quests.low_voltage.lv_machine_casing.desc": "既然已通上电,现在就该好好利用它了!我们建议你先制造一些机器,它们能让后续制造更多机器变得更轻松、更廉价。\n\n为降低入门LV阶段的难度,&5TFG&r允许你使用&6机械动力&r的机器替代部分&6格雷科技&r机器。\n\n我们在&6上一章节&r已介绍过这些内容,只需记住:当存在格雷科技机器的替代方案时,你都能在任务中自行选择。", "quests.low_voltage.lv_motor.title": "众多马达中的第一个", "quests.low_voltage.lv_motor.subtitle": "低压在召唤……", "quests.low_voltage.lv_motor.desc": "记住,如果配方让你不知所措,&2EMI是你的朋友&r。你可以点击任何配方右下角带有四个堆叠方块的按钮,EMI会显示所有合成成分的树状图,你甚至可以让它将“购物清单”添加到你的收藏中!\n\n言归正传,通过制作6个&aLV电动马达&r来为&7LV&r阶段做好准备!这可能看起来很多,但这是进入&7LV&r阶段好东西的&6最低要求&r。", @@ -2987,25 +2996,24 @@ "quests.low_voltage.lv_age_progression.task": "我……现在可能有点方向感了", "quests.low_voltage.lost.title": "迷路了?", "quests.low_voltage.lost.subtitle": "这一切让人应接不暇", - "quests.low_voltage.lost.desc.1": "进入&7LV&r阶段会解锁大量选项,很容易让人不知所措。以下是我们推荐的发展路线:\n\n1)建立一个稳定的电力来源。查看右下角的任务,有好几种方案可选,都可行。别吝啬,多建几台发电机!\n\n务必&e仔细阅读格雷科技能源任务章节&r,以便充分理解EU(能量单位)、电压、电流和线损是如何运作的。", - "quests.low_voltage.lost.desc.2": "2)专注于建造那些能让后续机器造价更便宜的机器。\n\n两极磁化机是一台超级便宜的机器,几乎可以免费磁化金属棒。如果你还没造蒸汽时代对应的机器,那就搭建起卷板机、线材轧机、车床和切割机。这些任务都在左上角。\n\n之后,重点利用化学反应釜和流体固化机(左侧)来降低橡胶成本,并用组装机(下方)来降低电子元件成本。\n\n当所有东西的成本都降到最低后,确保批量合成组件以节省大量时间。", - "quests.low_voltage.lost.desc.3": "3)建造一台装罐机并制作一些电池(右上角)。电池箱将对你的工厂扩张大有裨益,而探矿仪绝对是改变游戏体验的神器。\n\n4)&7LV&r阶段有两个主要终极目标:&a电路组装机&r和&a电力高炉&r。现在你应该准备好挑战它们了。", + "quests.low_voltage.lost.desc.1": "进入&7LV&r阶段会解锁大量选项,很容易让人不知所措。以下是我们推荐的发展路线:\n\n1)建立一个稳定的电力来源。查看下方的任务,有好几种方案可选,都可行。别吝啬,多建几台发电机!\n\n务必&e仔细阅读格雷科技能源任务章节&r,以便充分理解EU(能量单位)、电压、电流和线损是如何运作的。", + "quests.low_voltage.lost.desc.2": "2)专注于建造那些能让后续机器造价更便宜的机器。\n\n两极磁化机是一台超级便宜的机器,几乎可以免费磁化金属棒。如果你还没造蒸汽时代对应的机器,那就搭建起卷板机、线材轧机、车床和切割机。\n\n之后,重点利用化学反应釜和流体固化机(左侧)来降低橡胶成本,并用组装机(下方)来降低电子元件成本。\n\n当所有东西的成本都降到最低后,确保批量合成组件以节省大量时间。", + "quests.low_voltage.lost.desc.3": "3)建造一台装罐机并制作一些电池。电池箱将对你的工厂扩张大有裨益,而探矿仪绝对是改变游戏体验的神器。\n\n4)&7LV&r阶段有两个主要终极目标:&a电路组装机&r和&a电力高炉&r。现在你应该准备好挑战它们了。", "quests.low_voltage.lost.task": "太棒了,我逐渐理解一切!", "quests.low_voltage.lv_steam_turbine.title": "蒸汽轮机", "quests.low_voltage.lv_steam_turbine.subtitle": "你必须建造更多的涡轮机", - "quests.low_voltage.lv_steam_turbine.desc.1": "&3蒸汽轮机&r是你在&7LV&r阶段实际上可以使用的为数不多的发电机之一。&2稍后,你将解锁更有趣的能源选项&r,例如天然气或汽油。\n\n当提供蒸汽时,涡轮机将以&d2mB=1EU&r的比例输出电力。", - "quests.low_voltage.lv_steam_turbine.desc.2": "如果你使用单个&3蒸汽轮机&r,只需要&a1x锡电缆&r。但若升级到&32台蒸汽涡轮&r,则应使用&a2x锡电缆&r——否则它们可能会&c烧毁&r。\n\n这涉及&9电流&r机制……不过具体原理将留待后续说明,现在你只需专注享受游戏。别担心!", + "quests.low_voltage.lv_steam_turbine.desc": "&3蒸汽轮机&r是大多数玩家的第一台&7LV&r发电机,因为你已经建造出蒸汽锅炉实现了蒸汽的量产。\n\n当输入蒸汽时,蒸汽轮机将以&d2mB=1EU&r的比例输出电力。\n\n蒸汽的一个缺点在于运输,由于其能量密度较低,你需要使用大型或巨型管道来进行输送。\n\n一旦单方块锅炉的产能无法满足你的需求,你也可以考虑升级到大型青铜锅炉。", "quests.low_voltage.lbb.title": "大型青铜锅炉", "quests.low_voltage.lbb.subtitle": "轰!轰!轰!轰!", - "quests.low_voltage.lbb.desc.1": "&3大型锅炉&r是小型锅炉的&6可选的&r大号版本,可使用固体或液体燃料驱动。\n\n若想采用蒸汽发电方案,这是替代机械动力蒸汽引擎的选项。后续能源方案将在&bMV&r章节列出。\n\n请确保其供水永不中断——就像操作小型锅炉时那样,否则它会&c爆炸&r!", + "quests.low_voltage.lbb.desc.1": "&3大型锅炉&r是小型锅炉的&6可选的&r大号版本,可使用固体或液体燃料驱动。\n\n若想采用蒸汽发电方案,这是替代机械动力蒸汽引擎的选项。\n\n请确保其供水永不中断——就像操作小型锅炉时那样,否则它会&c爆炸&r!", "quests.low_voltage.lbb.desc.2": "一旦完全预热,&3大型青铜锅炉&r可产出800mB/t的蒸汽,经转换可得&d400EU/t&r能量,相当于12.5台基础蒸汽轮机的产能。如此(相对)巨大的能量输出需要消耗&l大量&r可燃燃料。&5考虑到这点&r,其GUI允许你将锅炉&9调节&r至25%%功率,即200mB/t,对应&d100EU/t&r的电力,略高于3台基础蒸汽轮机的输出。\n\n我们建议等到你准备运行为电力高炉供电时再建造此设备,除非你有很多的蒸汽多方块机器。", - "quests.low_voltage.lbb.desc.3": "在TerraFirmaGreg整合包中,你有多种燃料选择方案。你可以使用软管滑轮从深层地下湖抽取岩浆,或建立树场配合焦炉生产木炭与杂酚油。此外,地表存在大型煤炭矿脉,可通过自动化采矿设备开采,并转化为焦炭以及远超木炭产出的杂酚油。\n\n若选择树场方案,需配备三座焦炉才能维持大型青铜锅炉全功率运行。", + "quests.low_voltage.lbb.desc.3": "在TerraFirmaGreg整合包中,你有多种燃料选择方案。你可以使用软管滑轮从深层地下湖抽取岩浆(不,无限岩浆是不会存在的),或建立树场配合焦炉生产木炭与杂酚油。此外,地表存在大型煤炭矿脉,可通过自动化采矿设备开采,并转化为焦炭以及远超木炭产出的杂酚油。\n\n若选择树场方案,需配备三座焦炉才能维持大型青铜锅炉全功率运行。", "quests.low_voltage.lv_polariser.title": "基础两极磁化机", "quests.low_voltage.lv_polariser.subtitle": "两极磁化机用于磁化!", "quests.low_voltage.lv_polariser.desc": "在&7LV&r阶段,这可以说是最经济的机器之一,能用于制造&6无需红石的磁化金属杆&r来生产电机。当你开始批量制造电机时,这台机器能为你节省大量红石。", "quests.low_voltage.link_chapter.title": "给我解释一下能量", "quests.low_voltage.link_chapter.subtitle": "有一整章关于能量的内容", - "quests.low_voltage.link_chapter.desc": "点击此处查看章节", + "quests.low_voltage.link_chapter.desc": "这看起来可能需要阅读很多内容,但如果你想避免意外并充分利用你的发电设备,理解这些内容是很重要的。\n\n格雷科技的能量系统(EU,能量单位)与几乎所有其他模组使用的 FE(Forge能量)系统的工作方式不同。\n\n在&7LV&r阶段有四种发电方式,而且都是可行的选择。如果你是格雷科技的新手,蒸汽发电是最简单的,但随着你进入更高的等级,它的效率会迅速下降。气体燃料的生产更为复杂,但对应的发电机成本最低。内燃机则介于两者之间。\n\n这里是格雷科技能源章节的链接", "quests.low_voltage.link_chapter.task": "我读过了", "quests.low_voltage.lv_combuston_gen.title": "内燃发电机", "quests.low_voltage.lv_combuston_gen.subtitle": "它会轰隆作响并产生能量", @@ -3021,7 +3029,7 @@ "quests.low_voltage.lv_seeds.desc": "若遇到这类作物,建议采集并建立农场种植。\n\n它们将成为&a种子油&r的最佳来源,该液体可用于生产&e生物柴油&r。油菜籽耐寒性较强,而向日葵更适宜温暖环境。若不愿花费过多时间耕作,也可在电力温室中培育,仅需消耗少量电力即可实现自动化种植。", "quests.low_voltage.lv_seeds.task": "油菜或向日葵", "quests.low_voltage.lv_gas_turbine.title": "燃气轮机", - "quests.low_voltage.lv_gas_turbine.subtitle": "它需要更多电路,但更少材料", + "quests.low_voltage.lv_gas_turbine.subtitle": "面向石化爱好者", "quests.low_voltage.lv_gas_turbine.desc": "借助&7合成气&r,你现在拥有了在&7LV&r阶段使用&c燃气轮机&r的可行方案。它们与其他&6发电机&r工作原理完全相同,但应比&6内燃机&r略微节省材料。", "quests.low_voltage.lv_gas_syngas.title": "合成气", "quests.low_voltage.lv_gas_syngas.subtitle": "并非木煤气", @@ -3033,15 +3041,6 @@ "quests.low_voltage.lv_turbo_charge.subtitle": "可更快为电动工具充电", "quests.low_voltage.lv_turbo_charge.desc": "&o本任务主题为可选内容,但可能仍会引发你的兴趣。我们出于内容完整性的考虑将其放置于此。&r\n\n&3闪聚充电箱&r可为&6RF与EU&r设备(例如&9钻头&r)提供极速充电。\n\n该设备对每件充电物品最高支持4安培电流,使其充电速度达到&3电池箱&r的&6两倍&r,但不具备放电功能。\n\n&e任何&r类型的充电箱均可完成本任务。", "quests.low_voltage.lv_turbo_charge.task": "任何闪聚充电箱都行", - "quests.low_voltage.lv_fisher.title": "捕鱼机", - "quests.low_voltage.lv_fisher.subtitle": "完全兼容群峦传说!", - "quests.low_voltage.lv_fisher.desc": "&o本任务主题为可选内容,但可能仍会引发你的兴趣。我们出于内容完整性的考虑将其放置于此。&r\n\n&3捕鱼机&r可从水中捕捞鱼类,需在其正下方配备5x5水域范围方可运作。其使用与普通钓鱼相同的战利品表,每次操作消耗1根线以及与其等级对应的电力(&7LV&r阶段为32EU,等等)。基本机制便是如此。\n\n从鱼类中可提取&e鱼油&r,该材料可用于制作&6生物柴油&r。", - "quests.low_voltage.lv_fisher.task": "任何捕鱼机都行", - "quests.low_voltage.lv_rock_crusher.title": "碎岩机", - "quests.low_voltage.lv_rock_crusher.subtitle": "圆石是爱,圆石是生命", - "quests.low_voltage.lv_rock_crusher.desc.1": "&o本任务主题为可选内容,但可能仍会引发你的兴趣。我们出于内容完整性的考虑将其放置于此。&r\n\n&3碎岩机&r实质上是个箱式刷石机。只需提供任意天然岩石或圆石方块,它就能持续复制该方块。若想快速获取大量砖块材料,这将是非常便捷的选择!\n\n&e任何&r等级的碎岩机均可完成本任务。", - "quests.low_voltage.lv_rock_crusher.desc.2": "&l&3背景知识:&r&o黑曜石需要红石才能生成的设定,源自一个Minecraft的远古漏洞&7MC-4239&f。当年在圆石生成器的岩浆水流接触处放置红石,便会生成黑曜石。该漏洞已在Minecraft 1.8的14w25b快照中修复,截至撰写本文时已是&o距今9年前&r的往事了!", - "quests.low_voltage.lv_rock_crusher.task": "任何碎岩机都行", "quests.low_voltage.lv_aqueous_accumulator.title": "蓄水器", "quests.low_voltage.lv_aqueous_accumulator.subtitle": "热力基本(Thermal Foundation)模组在召唤", "quests.low_voltage.lv_aqueous_accumulator.desc": "&3蓄水器&r本质上相当于流体版的碎岩机。只需将机器放置在两个对应流体的源方块旁,配置好电路即可持续生成该流体!其功能实质上与动力泵相同,但使用电力驱动而非机械动力,因此能更便捷地融入你的工厂体系。额外优势在于,HV等级的该设备还能无限生成岩浆!\n\n你可以将源方块置于含水状态以防止冬季冻结,机器仍可正常运作。", @@ -3062,13 +3061,13 @@ "quests.low_voltage.lv_lathe.task": "以下任何一个", "quests.low_voltage.universal_cell.title": "更好的桶", "quests.low_voltage.universal_cell.subtitle": "内部结构一目了然,不像那些桶完全封闭得严严实实……", - "quests.low_voltage.universal_cell.desc.1": "单元是流体存储的另一种形式。所有储存同类等量流体的单元均可&6堆叠&r,并可通过&3装罐机&r实现自动灌装。\n\n每个流体单元可容纳&d一桶&r流体。\n\n还没被说服吗?与桶和大木桶不同,单元能&a安全地容纳&r其中的内容,防止你被烫伤、冻伤或飘起来。", + "quests.low_voltage.universal_cell.desc.1": "单元是流体存储的另一种形式。所有储存同类等量流体的单元均可&6堆叠&r,并可通过&3装罐机&r实现自动灌装。\n\n每个基础的流体单元可容纳&d1桶&r流体,而钢单元可以容纳8桶。\n\n还没被说服吗?与桶和大木桶不同,单元能&a安全地容纳&r其中的内容,防止你被烫伤、冻伤或飘起来。同时它们也非常便宜!", "quests.low_voltage.universal_cell.desc.2": "通用单元最多可容纳&d一桶&r流体,同时支持存储&9微量&r流体。若需暂存残余流体而不想专门制作整只桶,这类容器尤为理想。\n\n采用高阶材料制造的单元能承载更多流体,不过届时&9桶&r和&9超级缸&r将提供更大容量。\n\n与桶类似,将单元放入合成栏即可清空其内容物。", "quests.low_voltage.universal_cell.task": "任意单元", "quests.low_voltage.machine_auto_output_behaviour.title": "机器自动输出行为", "quests.low_voltage.machine_auto_output_behaviour.subtitle": "我们来了解相关知识。", "quests.low_voltage.machine_auto_output_behaviour.desc.1": "所有机器通常包含一个&7正面&r与一个&9输出面&r。\n\n&7正面&r应该很明显。\n&9输出面&r则是带有点状或孔洞标记的面,默认位于机器放置时的背面。\n\n机器可通过输出面实现&a自动输出&r功能。需在图形界面中点击对应按钮启用该功能,流体与物品的自动输出需分别设置。通过&d过滤卡&r和&d覆盖板&r可对自动输出进行精细化控制,具体机制请参阅本章节中的&d覆盖板行为&r任务。。", - "quests.low_voltage.machine_auto_output_behaviour.desc.2": "使用&5扳手&r右键点击机器可更改输出面,按住潜行右键点击则能调整正面方向。需注意:机器的正面&c不可&r同时设置为输出面!\n\n默认情况下,物品与流体无法通过输出面输入,但使用&5螺丝刀&r可切换此功能。可直接右键点击输出面,或按住潜行右键点击界面中对应输出面的网格栏位进行调整。\n\n存在部分特殊功能机器(如&3泵&r、&3采矿机&r、&3捕鱼机&r、&3物品收集器&r等)不执行合成配方。这类机器将在其&7正面&r进行输出(该面仍以点状标记标识)。", + "quests.low_voltage.machine_auto_output_behaviour.desc.2": "使用&5扳手&r右键点击机器可更改输出面,按住潜行右键点击则能调整正面方向。需注意:机器的正面&c不可&r同时设置为输出面!\n\n默认情况下,物品与流体无法通过输出面输入,但使用&5螺丝刀&r可切换此功能。可直接右键点击输出面,或按住潜行右键点击界面中对应输出面的网格栏位进行调整。", "quests.low_voltage.machine_auto_output_behaviour.task": "嗯,真有趣!", "quests.low_voltage.programmed_circuits.title": "编程电路", "quests.low_voltage.programmed_circuits.subtitle": "不想花费你的电路来选择配方?", @@ -3115,18 +3114,20 @@ "quests.low_voltage.lv_amp_explanation.subtitle": "《电流机制入门指南》", "quests.low_voltage.lv_amp_explanation.desc": "本任务线将简要讲解&9格雷科技电流机制&r,至于&d电压&r机制则待你抵达&bMV&r阶段后详解。\n\n&6&l核心要点:&r为确保安全,请使电缆的电流承载上限与发电设备的输出电流总量相匹配。\n\n仍有疑惑?请查阅&c格雷科技能源&r章节获取完整的电力系统详解!", "quests.low_voltage.lv_ore_prospector.title": "这是黑客行为", - "quests.low_voltage.lv_ore_prospector.subtitle": "勘探者的未来", + "quests.low_voltage.lv_ore_prospector.subtitle": "新一代探矿仪", "quests.low_voltage.lv_ore_prospector.desc": "探矿仪是一个能助你快速定位矿脉的神奇工具。\n\n它的GUI支持交互操作,右键点击即可扫描矿石并实时显示在动态地图上。\n\n&l&3背景知识:&r&o想当年便携式探矿仪曾锁定在&dLuV等级&f才能使用,现在的孩子们可太轻松了。", + "quests.low_voltage.night_vision_goggles.subtitle": "使玩家不再迷失于黑暗中!", + "quests.low_voltage.night_vision_goggles.desc": "为眼镜充好电并戴在脸上,只要电池还有电,你就能获得永久性的夜视效果!你可以通过快捷键切换此效果,默认设置为&aO&r键。", "quests.low_voltage.lv_sprayer.title": "喷漆罐", "quests.low_voltage.lv_sprayer.subtitle": "服务器标签争夺战开始!", - "quests.low_voltage.lv_sprayer.desc": "可惜这只是一个&l空的&r喷漆罐,你必须在使用前填充化学染料。\n\n&a喷漆罐&r不提供任何涉及机器的功能,但能带来相当&b出色的视觉效果与实用性&r!\n\n几乎所有格雷科技方块实体(机器、管道、电缆等)均可被&6喷涂&r成16种颜色中的任意一种。无论是用于制作精美截图,还是在多人基地中区分不同设备布局都极为便利,同时也有助于分辨各类管道与线缆。\n\n将&a喷罐&r持于副手时,你放置的任何方块都会自动喷涂上颜色。", + "quests.low_voltage.lv_sprayer.desc": "可惜这只是一个&l空的&r喷漆罐,你必须在使用前填充染料。\n\n&a喷漆罐&r不提供任何涉及机器的功能,但能带来相当&b出色的视觉效果与实用性&r!\n\n几乎所有格雷科技方块实体(机器、管道、电缆等)均可被&6喷涂&r成16种颜色中的任意一种。无论是用于制作精美截图,还是在多人基地中区分不同设备布局都极为便利,同时也有助于分辨各类管道与线缆。\n\n将&a喷罐&r持于副手时,你放置的任何方块都会自动喷涂上颜色。", "quests.low_voltage.other_machines.title": "等等,还有更多!", "quests.low_voltage.other_machines.subtitle": "你逃不出格雷的掌心……", "quests.low_voltage.other_machines.desc": "我们暂不展开&d常规矿物处理的全套流程&r。为什么强调常规?有些矿石需要特殊处理,但这属于后期内容。糟糕,差点又跑题了!\n\n诸如&b化学浸洗器&r或&b电解机&r等设备可能会派上用场。\n\n若对矿物处理感到困惑,请查阅专属的&c矿石处理&r章节获取完整指南!", "quests.low_voltage.other_machines.task": "我自愿放弃理智", "quests.low_voltage.lv_chemical_bath.title": "基础化学浸洗机", "quests.low_voltage.lv_chemical_bath.subtitle": "化学浸洗机用于浸洗……", - "quests.low_voltage.lv_chemical_bath.desc.1": "&l矿石处理之外的用途:&r\n\n化学浸洗机可替代&6密封大桶&r配方,使纸和皮革的制作变得&6轻松省力&r。\n\n还包括其他辅助功能,例如对各类物品与方块进行染色或漂白处理。", + "quests.low_voltage.lv_chemical_bath.desc.1": "&l矿石处理之外的用途:&r\n\n化学浸洗机可替代&6密封大桶&r配方,使皮革和防腐木的制作变得&6轻松省力&r。\n\n还包括其他辅助功能,例如对各类物品与方块进行染色或漂白处理。", "quests.low_voltage.lv_chemical_bath.desc.2": "&l对于矿石处理:&r\n\n部分&a粉碎矿石&r通过化学浸洗转化为&a纯净矿石&r时存在替代途径:使用&a汞&r或&a过硫酸钠&r进行处理。此步骤并非必需,但若想获取特殊&6副产品&r则至关重要(提示:这可是银的绝佳替代来源!)", "quests.low_voltage.lv_electroliser.title": "基础电解机", "quests.low_voltage.lv_electroliser.subtitle": "嗡嗡作响", @@ -3135,21 +3136,20 @@ "quests.low_voltage.lv_electroliser.desc.3": "&c注意!&r受矿物特性影响,将金属粉尘直接冶炼成锭相比电解分解能获得更高金属产量,但代价是你会损失粉尘中蕴含的其他副产品。必须根据需求权衡:优先追求直接收益,还是最大化获取副产物种类。", "quests.low_voltage.lv_mixer.title": "基础搅拌机", "quests.low_voltage.lv_mixer.subtitle": "搅拌机用于搅拌……", - "quests.low_voltage.lv_mixer.desc": "使用搅拌机将&6大幅加快&r彩色钢的制备过程,尤其是制作机器外壳所需的&4红钢&r。即使现在认为不需要,后续阶段你会发现它&6不可或缺&r。\n\n你可能已经习惯了在坩埚中进行合金冶炼,但对于任何新合金(以及所有旧合金),格雷科技的合金制作方式是&a将粉末混合&r,然后将其加热成锭或提取为流体。先别去JEI里查看合金冶炼炉,那要到&5EV&r阶段才有。", - "quests.low_voltage.lv_mixer.task": "来自机械动力或格雷科技", + "quests.low_voltage.lv_mixer.desc": "电动搅拌机将&6大幅加快&r彩色钢的制备过程,因其可以直接制作&a彩色钢粉&a。即使现在认为不需要,后续阶段你会发现它&6不可或缺&r。\n\n你可能已经习惯了在坩埚中进行合金冶炼,但对于任何新合金(以及所有旧合金),格雷科技的合金制作方式是&a将粉末混合&r,然后将其加热成锭或提取为流体。&7(先别去JEI里查看合金冶炼炉,那要到&5EV&r&7阶段才有。)&r", "quests.low_voltage.soldering_alloy.title": "焊锡", "quests.low_voltage.soldering_alloy.subtitle": "我拥有灵魂却非焊将(注:英文谐音梗)", - "quests.low_voltage.soldering_alloy.desc": "&a焊锡&r仅作为&9流体&r使用,在多数电路配方中可作为&a锡&r的廉价替代品进行&d互换&r。\n\n选择权在你手中:想节省材料?就用焊锡。想减少材料制备时间?直接使用锡更为便捷。", + "quests.low_voltage.soldering_alloy.desc": "&a焊锡&r仅作为&9流体&r使用,在多数电路配方中可作为&a锡&r的廉价替代品进行&d互换&r。\n\n选择权在你手中:想节省材料?就用焊锡。想减少材料制备时间?直接使用锡更为便捷。\n\n记住,你需要先用搅拌机制作焊锡粉,然后使用提取机将其转化为流体。别管JEI中的合金冶炼炉配方!", "quests.low_voltage.gallium_arsenide.title": "砷化镓", "quests.low_voltage.gallium_arsenide.subtitle": "我讨厌副产物,但它们太棒了", "quests.low_voltage.gallium_arsenide.desc": "后续许多材料无法通过直接冶炼矿石获取!它们只能通过加工其他矿石产生的副产品来获得。镓和砷&4正属于&r这类材料。\n\n镓的获取途径,按从劣到优排序(综合考虑难度与产出):\n\n&9-&r&3电解&a闪锌矿&r获得微量粉尘概率较低。注意此方法将损失直接冶炼收益。\n\n&9-&r将&a粉碎铝土矿&r放入&3化学浸洗机&r处理,需消耗&9过硫酸钠&r。\n\n&9-&r通过&3热力离心机&r或&3离心机&r处理&a闪锌矿&r时作为副产品获取。\n\n对于&d砷&r,你将不得不开采&a雄黄&r并用&3离心机&r处理,或者将&a辉钴矿&r放入&3电力高炉&r中进行加工。", "quests.low_voltage.lv_assembler.title": "基础组装机", - "quests.low_voltage.lv_assembler.subtitle": "这家伙组装起来比你和宜家都利索!", - "quests.low_voltage.lv_assembler.desc.1": "虽然这是发展进程中极其&9关键&r的机器,但它&9&l无法立即发挥作用&r——因为造价&c十分昂贵&r。大部分重要配方都需要&c流体&r支持,建议先完善基础配套设施再着手建造。\n\n明确这点后,请将&3组装机&r视作与工作台同等重要的核心设备,只不过...嗯,它毕竟是台机器。", - "quests.low_voltage.lv_assembler.desc.2": "当基础设施完善后,你将能解锁以下材料的优化配方:\n\n&9-&r &6真空管&r产量提升至两倍以上\n\n&9-&r &6电阻&r每次合成可产出4个!\n\n&9-&r &6电路板&r大幅减少铜材消耗\n\n哇哦!\n\n&l&3背景知识:&r&o在格雷科技2时代,组装机仅有两个槽位,且仅用于特殊电路与机器外壳的替代配方,可谓一脉相承的纯正血统。", + "quests.low_voltage.lv_assembler.subtitle": "无需宜家说明书", + "quests.low_voltage.lv_assembler.desc.1": "尽管这是发展进程中极其&9关键&r的机器,但我们不建议你将它作为首个LV机器来制作,因为它&c造价高昂&r。\n\n不过,如果你已跟随任务指引至此,那么现在正是制作它的好时机!\n\n&3组装机&r对游戏进程至关重要。请将其视作与工作台同等重要的核心设备,只不过……咳,它毕竟是台机器嘛。", + "quests.low_voltage.lv_assembler.desc.2": "你将能解锁以下材料的优化配方:\n\n&9-&r &6真空管&r产量提升至两倍以上\n\n&9-&r &6电阻&r每次合成可产出4个!\n\n&9-&r &6电路板&r大幅减少铜材消耗\n\n哇哦!\n\n&l&3背景知识:&r&o在格雷科技2时代,组装机仅有两个槽位,且仅用于特殊电路与机器外壳的替代配方,可谓一脉相承的纯正血统。", "quests.low_voltage.lv_assembler.task": "基础组装机", - "quests.low_voltage.t2_circuit_board.subtitle": "是啊是啊,是木头的,但别低估它", - "quests.low_voltage.t2_circuit_board.desc.1": "该电路板用于制造&dMV电路&r!\n\n&9注意:&r制作酚醛印刷电路板时你有&l两种&r选择。若使用&a过硫酸钠&r或&a三氯化铁&r进行化学蚀刻,制作电路板&6仅需消耗原配方四分之一的银&r。\n\n&l但考虑到&r当前获取这些化学试剂较为困难,你也可以直接通过开采&o方铅矿脉&r来获取更多白银……\n\n若想了解&a过硫酸钠&r的制备方法,可在&bMV&r章节找到相应任务(就当是份轻松阅读材料)。", + "quests.low_voltage.t2_circuit_board.subtitle": "现在他们再也造不出这样的东西了……", + "quests.low_voltage.t2_circuit_board.desc.1": "该电路板用于制造&dMV电路&r!\n\n&9注意:&r制作酚醛印刷电路板时你有&l两种&r选择。若使用&a过硫酸钠&r或&a三氯化铁&r进行化学蚀刻,制作电路板&6需消耗的银仅为工匠台配方的四分之一&r。\n\n&l但考虑到&r当前获取这些化学试剂较为困难,你也可以直接通过开采&o方铅矿脉&r来获取更多白银……\n\n若想了解&a过硫酸钠&r的制备方法,可在&bMV&r章节找到相应任务(就当是份轻松阅读材料)。", "quests.low_voltage.t2_circuit_board.desc.2": "&l&3背景故事:&r&o在GTCEu1.12.2中,这些电路板被称为&2优质电路板&f。这个名字并不完全合适,因为它们&4相当邪恶&f。", "quests.low_voltage.lv_diode.title": "二极管", "quests.low_voltage.lv_diode.subtitle": "不要被EMI动摇!", @@ -3171,15 +3171,23 @@ "quests.low_voltage.lv_centrifuge.desc.1": "&l矿石处理之外的用途:&r\n\n好家伙,有什么是这台机器办不到的?分解不同种类的粉末、分离空气、帮你报税等等……\n\n功能多到列不完!我们只能说&c你需要离心机&r。", "quests.low_voltage.lv_centrifuge.desc.2": "&l对于矿石处理:&r\n\n该设备可将&a含杂矿粉&r或&a洁净矿粉&r转化为纯净的矿粉,并额外产出微量&6副产品&r矿粉。虽非获取副产物的最优工艺路线,但这是当前所有矿石处理设备中&c造价最低廉、最适合小规模配置&r的解决方案。", "quests.low_voltage.lv_centrifuge.desc.3": "&l&3背景知识:&r&o在基础版GTCE中,离心机曾是性能碾压其他矿石处理设备的存在——不仅操作简便,还能像洗矿机或热力离心机一样稳定产出三份微量粉尘。当前版本我们为其进行了平衡性调整,以促进工艺路线的多样性发展。", - "quests.low_voltage.lv_centrifuge.task": "", "quests.low_voltage.lv_glue.title": "粘住了", "quests.low_voltage.lv_glue.subtitle": "真是棘手的情况", - "quests.low_voltage.lv_glue.desc": "现在你可以通过&3离心机&r处理&a粘性树脂&r来获得液态&a胶水&r(以及目前实用性较低的植物球)。\n\n立即开始制备胶水能抢占先机。它可用于制作&6成本更低的电阻&r,并在&3组装机&r中生产&6更经济的电路板&r(尤其在&o近期发展&r阶段价值显著)。\n\n&e提示:&r你也可以离心处理群峦传说模组中的&a胶水&r或&a松脂&r,哪种材料更易获取就选哪种!", + "quests.low_voltage.lv_glue.desc": "现在你可以通过&3离心机&r处理&a粘性树脂&r来获得液态&a胶水&r(以及目前实用性较低的植物球)。\n\n立即开始制备胶水能抢占先机。它可用于制作&6成本更低的电阻&r,并在&3组装机&r中生产&6更经济的电路板&r。\n\n&e提示:&r你也可以离心处理群峦传说模组中的&a胶水&r或&a松脂&r,哪种材料更易获取就选哪种!", "quests.low_voltage.lv_glue.task": "胶水", "quests.low_voltage.lv_cutter.title": "基础切割机", "quests.low_voltage.lv_cutter.subtitle": "切割机……用于切割……", "quests.low_voltage.lv_cutter.desc": "目前你应使用&9水&r来执行相关配方,无需费力获取润滑液。\n\n若尚未配备此设备,它还能将&6金属杆切割成四个螺栓&r。\n\n该机器是获取&d宝石板&r的唯一途径,该材料是制造过滤卡及后续&3集气室&r的必要组件。", "quests.low_voltage.lv_cutter.task": "任何切割机", + "quests.low_voltage.lv_distillery.subtitle": "蒸馏室用于蒸馏……", + "quests.low_voltage.lv_distillery.desc": "蒸馏室的功能类似于离心机,但主要用于处理有机或石化流体。\n\n在&7LV&r阶段,你只能从单一输入中提取一种产物,但当你升级至&6HV&r的蒸馏塔后,这一限制将会改变。\n\n这台机器在LV阶段的使用频率并不高(除非你用它来生产内燃机燃料),但它是获取&e苯酚&r的关键设备。", + "quests.low_voltage.phenolic_resin.subtitle": "人造树脂", + "quests.low_voltage.phenolic_resin.desc.1": "酚醛树脂由&6苯酚&r与&a甲醛&r通过化学反应制成。\n\n虽然在&7LV&r阶段,你获取苯酚的途径其实只有两种(蒸馏杂酚油或重燃油),但生产甲醛所需的&d甲烷&r则有更多获取方式。", + "quests.low_voltage.phenolic_resin.desc.2": "最简单(也最慢)的方法是在化学反应釜中用氢和碳合成,但这同时需要非常缓慢的水电解来供应氢气。\n\n蒸馏室也提供了多种选择,包括通过处理杂酚油来获取。\n\n如果你在使用合成气作为燃料,也可以将其氧化为甲烷。\n\n最后,如果你想尝试一些特别的方法,还可以离心巨量幽冥之地的蘑菇来获取。", + "quests.low_voltage.magnesia.subtitle": "这也是希腊的一个地名!", + "quests.low_voltage.magnesia.desc": "氧化镁,亦称苦土,可通过两种方式获取:\n\n- 开采菱镁矿石\n\n- 使镁与碱液反应生成氢氧化镁,随后在焦炉中煅烧。镁可从多种不同的矿石中提炼获得。", + "quests.low_voltage.refractory_brick.subtitle": "酷冷™耐火砖", + "quests.low_voltage.refractory_brick.desc": "是时候拆掉你那套旧的群峦高炉了!如果愿意,你可以将大部分材料回收制成&6耐火黏土粉&r(推荐使用电弧炉,这样既能得到粉末又能回收铁!),或者你也可以烧制更多耐火黏土。但务必确保你已储备了大量钢材!\n\n然后,将耐火黏土粉与一些氧化镁、石墨及树脂混合,制作出改进型陶瓷材料,这正是制造&d首批线圈&r所需的。", "quests.low_voltage.lv_gas_collector.title": "基础集气室", "quests.low_voltage.lv_gas_collector.subtitle": "它会让你喘不过气来", "quests.low_voltage.lv_gas_collector.desc": "集气室可采集空气,并通过离心分离获得&a氧气&r与&a氮气&r。\n\n&l&3背景知识:&r&o格雷科技5的老玩家定会记得当年需用压缩机配合IC2气罐获取压缩空气的岁月…如今气罐化学体系已彻底革新。", @@ -3187,7 +3195,7 @@ "quests.low_voltage.lv_oxygen.subtitle": "严格来说,应该叫双氧分子(Dioxygen)...", "quests.low_voltage.lv_oxygen.desc.1": "你大可在JEI里耗费&o&e宝贵的生命年华&r寻找最优的氧气制备方案——毕竟获取途径实在繁多。电解各类矿物均能产出氧气。\n\n要是任务手册能提供更多信息就好了!", "quests.low_voltage.lv_oxygen.desc.2": "惊喜!在我们看来(!),最佳获取方式其实是制造&d集气室&r后&a离心空气&r——虽然你可能暂时还造不出来。此方法同时能产出&a氮气&r,可有效加速某些&3电力高炉&r配方的运行效率。\n\n在我们看来(!)次优方案是&a电解二氧化硅&r。二氧化硅可通过玻璃粉及各类石粉等多种途径获取。我们&6稍后会重点回顾此方案&r,因为它堪称&6终极解法&r。", - "quests.low_voltage.lv_oxygen.desc.3": "在我们看来(!)位列第三的方案是&a电解水&r。实际上,由于能耗较高,水电解更适用于&a制氢&r。&4请勿将此方法作为主要氧源&r——它应专用于&1氢气&r生产,关于制氢我们后续将提供详细指导。\n\n在我们看来(!)位列第四的方案是:&a绝对不要&r随意浪费氧气!无论通过何种途径获得的氧气都具有重要价值,应当妥善存储在储罐中。\n\n&e注意:&r将存放在物品栏内&l任意&r储罐中的流体提交即可完成任务,使用气态氧桶同样有效。", + "quests.low_voltage.lv_oxygen.desc.3": "在我们看来(!)位列第三的方案是&a电解水&r。实际上,由于能耗较高,水电解更适用于&a制氢&r。&4请勿将此方法作为主要氧源&r——它应专用于&1氢气&r生产,关于制氢我们后续将提供详细指导。\n\n在我们看来(!)位列第四的方案是:&a绝对不要&r随意浪费氧气!无论通过何种途径获得的氧气都具有重要价值,应当妥善存储在储罐中。", "quests.low_voltage.lv_oxygen.task": "氧", "quests.low_voltage.lv_nitrogen.title": "氮气", "quests.low_voltage.lv_nitrogen.subtitle": "你的电力高炉增幅剂", @@ -3205,7 +3213,7 @@ "quests.low_voltage.lv_chemical_reactor.subtitle": "化学入门指南", "quests.low_voltage.lv_chemical_reactor.task": "液态橡胶", "quests.low_voltage.lv_chemical_reactor.desc.1": "&3化学反应釜&r将在&l大量&r配方中成为必备设备。\n\n让我们立即试用——何不利用刚造好的化学反应釜解锁全新的&6改良橡胶配方&r?橡胶在&d流体状态无法直接使用&r,因此你需要另造一台机器进行后续加工。", - "quests.low_voltage.lv_chemical_reactor.desc.2": "仅靠化学反应釜无法完成橡胶制作,以下是你可能需要打造的&a其他设备&r:\n\n&3固化机&r能直接将橡胶凝固成&a橡胶片&r,这是后续发展必需的材料。\n\n随后可利用&3组装机&r将液态橡胶加工成&a线缆&r。虽然对锡质线缆影响不大,但更高级的线缆&e必须&r通过组装机制造。\n\n&e注意:&r将存储在物品栏&l任意&r储罐中的流体提交即可完成任务,推荐使用桶作为容器。", + "quests.low_voltage.lv_chemical_reactor.desc.2": "仅靠化学反应釜无法完成橡胶制作,以下是你可能需要打造的&a其他设备&r:\n\n&3固化机&r能直接将橡胶凝固成&a橡胶片&r,这是后续发展必需的材料。\n\n随后可利用&3组装机&r将液态橡胶加工成&a线缆&r。虽然对锡质线缆影响不大,但更高级的线缆&e必须&r通过组装机制造。", "quests.low_voltage.lv_fluid_solidifier.title": "基础流体固化器", "quests.low_voltage.lv_fluid_solidifier.subtitle": "流体固化器用于固化……", "quests.low_voltage.lv_fluid_solidifier.desc": "将这台机器与&3化学反应釜&r相邻放置,即可自动将橡胶固化成&a橡胶片&r。\n\n使用&d扳手&r调整&3化学反应釜&r侧面方向并开启流体&9自动输出&r,即可实现自动化传输。\n\n后续还有其他流体需要固化处理,你可以在非橡胶生产时段&3重新调配流体固化器&r的功能——或者直接建造第二台专用设备!", @@ -3220,7 +3228,7 @@ "quests.low_voltage.cupronickel_ingot.desc": "格雷科技进阶的一大核心在于获取新材料,这些材料将用于升级机器和解锁高级组件。\n\n你即将接触的其中一种材料是&b白铜&r——这仅是漫长征程的起点。\n该材料用于建造你的第一座&6电力高炉&r,乃是工业发展不可或缺的关键步骤。\n\n幸运的是,这第一步相当简单:一台&7合金炉&r即可胜任。\n因此即便配方显示需要&b128个白铜&r也无需担忧——实际操作比看起来容易得多!&r\n\n后续阶段的合金制备将日趋复杂,趁简单的时候好好享受吧!", "quests.low_voltage.cupronickel_coil.title": "白铜线圈", "quests.low_voltage.cupronickel_coil.subtitle": "宝宝的第一个加热线圈", - "quests.low_voltage.cupronickel_coil.desc": "准备&a128份白铜&r、&a32份青铜&r与&a16份锡合金&r,用于制造初代电力高炉所需的加热线圈。\n\n这仍不到整座电力高炉原材料成本的一半(!)。你还需要准备约各一组的殷钢与钢材,请尽快投入采矿作业。\n\n白铜线圈能使电力高炉处理最高&d1800K&r的配方(未计入电压增益)。这个温度在我们看来相当炙热。\n\n&6线圈详解教程位于&l格雷科技能源&r&6标签页——前往查阅以了解更多!&r", + "quests.low_voltage.cupronickel_coil.desc": "准备&a128份白铜&r、&a32份蓝钢&r与&a16份锡合金&r锭,以及&a128个耐火砖&r ,用于制造初代电力高炉所需的加热线圈。\n\n这仍不到整座电力高炉原材料成本的一半(!)。你还需要准备约各一组的殷钢与钢材,请尽快投入采矿作业。\n\n白铜线圈能使电力高炉处理最高&d1800K&r的配方(未计入电压增益)。这个温度在我们看来相当炙热。\n\n&6线圈详解教程位于&l格雷科技能源&r&6标签页——前往查阅以了解更多!&r", "quests.low_voltage.lv_ebf.title": "电力高炉", "quests.low_voltage.lv_ebf.subtitle": "格雷科技的核心机器之一,我们喜欢这个庞然大物。", "quests.low_voltage.lv_ebf.desc.1": "这个任务解释了&3电动高炉&r的核心机制,而旁边的任务将解释多方块部件的机制。一定要查看那个任务。\n\n总之,&3电力高炉&r是你的&e第一个电动多方块结构&r!恭喜。它用于在高温下处理材料。\n\n你将熟悉电力高炉来制造&a铝&r并进步到&d&bMV时代&r。它还能比&6高炉&r更快地制造&7钢&r,这意味着你终于可以拆除旧的群峦传说铁匠铺了。", @@ -3248,13 +3256,26 @@ "quests.low_voltage.mv_hull.desc2": "在深入&bMV&r阶段之前请记住,若不想过度依赖格雷科技,在&6TFG&r整合包中你可以运用&6机械动力&r来强化基础设施。铝制传动杆与齿轮的应力容量是钢制的四倍,装配后所有机器都能更快地运转!", "quests.low_voltage.aluminium_greate.title": "铝级格雷机械", "quests.low_voltage.aluminium_greate.subtitle": "也被称为“中应力”阶段", - "quests.low_voltage.aluminium_greate.desc": "距上次升级已有一段时日,现在你终于解锁了全新等级的格雷机械齿轮与传动轴。与之前一样,铝质部件的应力容量达到了钢质的&b四倍&r。\n\n继续推进格雷机械系列内容完全属于可选流程——我们更建议你转向格雷科技主线发展。但若你希望继续沿用原有设备,本次升级将帮助你&b理顺&r部分旧装置的杂乱布局。\n\n你可以通过&e蒸汽引擎&r进一步提升整体应力规模,或利用&9Create Additions&r的&e电动马达&r将EU电能转化为SU应力单位。", + "quests.low_voltage.aluminium_greate.desc": "距上次升级已有一段时日,现在你终于解锁了全新等级的格雷机械齿轮与传动轴。与之前一样,铝质部件的应力容量达到了钢质的&b四倍&r。\n\n继续推进格雷机械系列内容完全属于可选流程——我们更建议你转向格雷科技主线发展。但若你希望继续沿用原有设备,本次升级将帮助你&b理顺&r部分旧装置的杂乱布局。\n\n你可以通过&e蒸汽引擎&r进一步提升整体应力产出,或利用&9Create Additions&r的&e电动马达&r将EU电能转化为SU应力单位。", "quests.low_voltage.oil.title": "提前发现石油了?", "quests.low_voltage.oil.subtitle": "致LV阶段的卷王", - "quests.low_voltage.oil.desc": "若你在旅途中发现任何油砂矿或(沙漠中的)石油喷口,其实在LV阶段便可稍加利用。\n\n你可将其转化为重燃油用于锅炉,或更佳——用它生产少量&b聚乙烯&r!\n\n相关细节虽在MV章节,但此刻你已可用聚乙烯制造数种物品,例如成本更低的机器外壳与二极管。", + "quests.low_voltage.oil.desc": "若你在旅途中发现任何油砂矿或(沙漠中的)石油喷口,其实在LV阶段便可稍加利用。\n\n你可将其转化为重燃油用于锅炉,或者将其转化为柴油用于内燃发电机。", "quests.low_voltage.glowstone.title": "永久照明", "quests.low_voltage.glowstone.subtitle": "发明电灯泡的迂回方式", "quests.low_voltage.glowstone.desc": "想找一些廉价的永久光源?现在你有了LV提取机(很快还会有LV流体固化机),正好可以好好利用在下界攒下的那些&6荧石粉&r。不够用?用搅拌机还能自己造。\n\n打开JEI看看,所有用液态荧石和荧石块合成的新光源都在里面。格雷科技还提供了直接用荧石粉在组装机里制作的款式。\n\n还有个福利:液态荧石可以直接作为灯笼的无限燃料!", + "quests.low_voltage.next_machines.title": "甚至更多机器", + "quests.low_voltage.next_machines.subtitle": "好戏开场", + "quests.low_voltage.next_machines.desc": "既然你已有几台机器在运转,现在是时候让它们投入工作了。\n\n在本任务右侧列出了一些完全可选的机器(本章节不知还能将它们放在何处!),除此之外,组装机能让电子元件更便宜,而化学反应釜、提取机和流体固化机则能降低橡胶成本。完成这些之后,剩下的&7LV&r阶段就任你探索了!", + "quests.low_voltage.food_machines.title": "食品加工机器", + "quests.low_voltage.food_machines.subtitle": "快餐即刻享用", + "quests.low_voltage.food_machines.desc": "食品加工机与电烤箱是两台专门为适配群峦传说食物系统而设计的定制机器。\n\n食品加工机能够处理搅拌碗配方、汤、三明治、熏制、腌制、风干……你能想到的它几乎都能做。除了烹饪——那是电烤箱的职责。\n\n腐烂物销毁覆盖板可以安装在任何机器或输入总线上,自动销毁任何变质的食物。它能有效防止你的食物自动化流水线发生堵塞!", + "quests.low_voltage.bakelite.subtitle": "亦称聚氧基苄基甲基乙二醇酐……试试看能快速念五遍不", + "quests.low_voltage.bakelite.desc.1": "你的第一种聚合物!只需将酚醛树脂与石棉或防腐刨花板复合材料混合即可制成。\n\n你将使用电木来制作酚醛电路板和MV机器外壳,因此批量生产是个好主意,不过到&bMV&r阶段你将用聚乙烯替代它。\n\n现在你还获得了一种更便宜的ULV和LV机器外壳配方!", + "quests.low_voltage.bakelite.desc.2": "&l&3背景知识:&r&o电木是第一种由合成组分制成的塑料。历史上第一种塑料的殊荣属于帕克辛(硝化纤维素塑料),但其原料硝化纤维素的合成链过长——对低压阶段来说过于复杂。\n\n第二种塑料是加拉利斯(酪蛋白塑料),由乳蛋白和甲醛制成,但牛奶的自动化生产较为困难。", + "quests.low_voltage.lv_forming_press.subtitle": "冲压机床用于塑形……", + "quests.low_voltage.lv_forming_press.desc": "这台机器通常用途不多,但在TFG中,如果你因任何原因仍需使用TFC的焊接配方,它都可以胜任。它也能轻松复制任何模头或模具。\n\n更迫在眉睫的是(双关语见谅),你需要用它来制作下一阶段电路的关键组件——&a酚醛电路板&r。\n\n进入&bMV&r阶段后,你将获得一个更便宜的配方。", + "quests.low_voltage.lv_laser_engraver.subtitle": "biu biu!", + "quests.low_voltage.lv_laser_engraver.desc": "制作机械动力物流系统所需的发信线圈需要用到基础激光蚀刻机。除此之外,它目前的功能不多,只能制作磨制石头。\n\n关于激光的更多应用,要等到&bMV&r阶段再处理了。", "quests.medium_voltage": "&bMV&r - 中压", "quests.medium_voltage.subtitle": "进军石油化工,精炼电子技术", "quests.medium_voltage.mv_machine_hull.title": "欢迎来到MV!", @@ -3946,7 +3967,8 @@ "quests.steam_age.create_tools.desc": "使用扳手可以通过潜行+右键单击来快速拾起机械动力方块,当然,用斧或镐也可以。戴上护目镜则能让你查看机器的更详细信息,例如它们产生或消耗的应力。\n\n目前这两样工具都并非强制使用,但它们会非常有用,你之后肯定会需要它们的。\n\n关于吹制玻璃的帮助,请查阅 TFG 提示章节。你知道用锤子破坏圆石会将其变为沙砾,再次破坏沙砾则会变成沙子……吗?", "quests.steam_age.basic_millstone.title": "自动化矿石处理", "quests.steam_age.basic_millstone.subtitle": "告别手推磨", - "quests.steam_age.basic_millstone.desc": "&3石磨&r是手推磨的自动化版本。你可以把任何你想粉碎的东西从顶部扔进去,然后右键单击取出粉碎后的物品。如果你直接把它连接到动物曲柄上,它会相当慢,但你可以使用齿轮比来提高它的速度。\n\n请注意:产出物仅会出现在第一个槽位。其余槽位属于格雷科技机制的一部分,在&6HV&r阶段前都无需关注。", + "quests.steam_age.basic_millstone.desc.1": "&3石磨&r是手推磨的自动化版本。你可以把任何你想粉碎的东西从顶部扔进去,然后右键单击取出粉碎后的物品。如果你直接把它连接到动物曲柄上,它会相当慢,但你可以利用齿轮比来提高它的速度。\n\n请注意:产出物仅会出现在第一个槽位。其余槽位属于格雷科技机制的一部分,在&6HV&r阶段前都无需关注。", + "quests.steam_age.basic_millstone.desc.2": "&l&3背景知识:&r&o石磨之所以不能将谷物磨成面粉,是因为机械动力模组无法正确处理群峦传说中的食物腐败机制——此前这曾引发各种问题,比如腐烂食物变新鲜或新鲜食物直接腐烂。在&7LV阶段&r解锁食品加工机之前,你仍需通过研钵在合成栏里加工谷物。", "quests.steam_age.horse_crank.title": "你的第一个动力源", "quests.steam_age.horse_crank.subtitle": "让你的牲畜付租金", "quests.steam_age.horse_crank.desc.1": "&3动物曲柄&r 是你第一个可获得的机械动力源。要使用它,将曲柄放在一个7x7清空区域的中心,并用拴绳将动物拴在上面。不同的动物会提供不同数量的动力,而下面的方块会增加输出动力的速度。多个曲柄的区域可以重叠。\n\n你可能需要手持第二根拴绳来拴住动物。", @@ -4137,7 +4159,7 @@ "quests.steam_age.rolling_mill.desc.2": "&l&3背景知识:&r &o该机器在旧版TFG中就已存在,但当时生产的是金属杆而非板材,而在LV卷板机问世之前,制作板材的最佳方案竟有20%%的失败概率!&r", "quests.steam_age.steel_mixer.title": "钢动力搅拌器", "quests.steam_age.steel_mixer.subtitle": "LV搅拌机的早期版本", - "quests.steam_age.steel_mixer.desc": "&3钢动力搅拌器&r是蒸汽时代另一台值得制造的顶尖设备——它能以远胜坩埚的效率混合各类彩色钢粉!此外还能执行大量其他配方,包括某些涉及气体的反应……不必深究其原理。\n\n需要加热的配方可使用木炭炉或烈焰人燃烧室提供热源,并通过机械臂实现自动添料。", + "quests.steam_age.steel_mixer.desc": "&3钢动力搅拌器&r是蒸汽时代另一台值得制造的顶尖设备——它能以远胜坩埚的效率混合各类黑钢粉!遗憾的是,它无法直接制作红钢或蓝钢粉,但能够生产它们的&a脆钢版本&r。\n\n此外还能执行大量其他配方,包括某些涉及气体的反应……不必深究其原理。\n\n需要加热的配方可使用木炭炉或烈焰人燃烧室提供热源,并通过机械臂实现自动添料。", "quests.steam_age.potin.title": "粗青铜管道商……", "quests.steam_age.potin.subtitle": "……我要上战场了,只需要你最好的粗青铜合金。", "quests.steam_age.potin.desc.1": "&d粗青铜合金流体管道&r在当前材料等级中拥有&a极高的性价比与吞吐量&r。若想优化流体输送系统,建议考虑制作此类管道。\n\n要获取&d粗青铜合金&r,请先合成其&e粉末&r形态。\n\n本任务要求制作细径或标准尺寸的管道,完成任意尺寸即可。", @@ -4157,7 +4179,7 @@ "quests.steam_age.what_next.desc": "若你直接快速推进至此,建议优先制造LV卷板机、线材轧机或搅拌器等设备。\n若已制作了下面的动能机器,则建议选择组装机、电弧炉、化学反应釜或磁化机。", "quests.steam_age.alternator.title": "交流发电机", "quests.steam_age.alternator.subtitle": "将应力转化为电力", - "quests.steam_age.alternator.desc.1": "若你已搭建了规模可观的蒸汽时代设备,大可不必为了改用锅炉和LV蒸汽涡轮而立即将其全部拆除。&3交流发电机&r能够将蒸汽引擎产生的应力单位转化为电力。每台蒸汽引擎配合交流发电机可输出1安LV电流!\n\n但需注意,交流发电机是将应力转换为了另一套电力系统(FE),因此你需要通过能量转换器将其转化为格雷科技可用的LV电力(EU)。记得用软槌将其切换至\"FE转EU\"模式。", + "quests.steam_age.alternator.desc.1": "若你已搭建了规模可观的蒸汽时代设备,大可不必为了改用锅炉和LV蒸汽涡轮而立即将其全部拆除。&3交流发电机&r能够将蒸汽引擎产生的应力单位转化为电力。每台蒸汽引擎配合交流发电机可输出1安&7LV&r电流!\n\n但需注意,交流发电机是将应力转换为了另一套电力系统(FE),因此你需要通过能量转换器将其转化为格雷科技可用的&7LV&r电力(EU)。记得用软槌将其切换至&a\"FE转EU\"&r模式。", "quests.steam_age.alternator.desc.2": "一个蒸汽引擎输出8安LV电流的示例!\n", "quests.steam_age.packager.title": "机械动力物流", "quests.steam_age.packager.subtitle": "“我们家有AE2”", @@ -4344,6 +4366,7 @@ "quests.stone_age.medical_conditions.subtitle": "别吃石棉", "quests.stone_age.medical_conditions.desc.1": "小心你捡起的东西!并非所有矿石或粉尘都可以安全触碰,有些会导致&6健康状况&r的累积。\n\n所有&c危险&r信息都会写在物品提示上,所以如果你突然发现身上出现了负面效果,赶紧把那件物品移出你的物品栏!把它放进像小缸或背包这样的容器里是安全的。\n\n大多数这类效果会随着时间慢慢自行消退,但如果你让它们累积得足够久,就会开始引发一大堆其他讨厌的效果,甚至包括&c死亡&r。", "quests.stone_age.medical_conditions.desc.2": "你终究需要处理其中一些材料,因此也有应对它们的方法。\n\n最好的方法是首先避免染上任何病症——口罩和橡胶手套能分别防止吸入危害和接触危害。\n\n次优的方法是进行治疗:查看一些你可以合成的&a药丸、药片和药膏&r——它们都有助于治愈特定的效果(并能提供有用的增益!),不过更强效的药物也会有更恼人的副作用。", + "quests.stone_age.medical_conditions.desc.3": "请务必远离任何具有&c致癌性&r或&c放射性&r的物质——在你能够于&7LV&r阶段制作出对乙酰氨基酚之前,这些负面状态将是&e永久性&r的。", "quests.stone_age.medical_conditions.task": "做自己的医生", "quests.stone_age.copper_for_anvil.title": "为制作砧准备铜锭", "quests.stone_age.copper_for_anvil.subtitle": "你最好习惯弄到14个某种锭。", @@ -4928,6 +4951,9 @@ "quests.tfg_tips.greenhouse_automation.title": "温室自动化", "quests.tfg_tips.greenhouse_automation.subtitle": "集众力于一身……", "quests.tfg_tips.greenhouse_automation.desc": "通过结合Firmalife的&2采摘器&r与&2清扫器&r、机械动力的机械臂、以及格雷科技的物品收集器,你完全可以实现温室的全自动化运行!\n\n&2采摘器&r在收到红石脉冲时,会从水培种植盆和四槽种植盆中采摘成熟作物;而&2清扫器&r在连接红石信号时,会收割其周围3x3区域内其他类型种植盆中的成熟作物。\n\n这些机器会产出掉落物形式的物品,而物品收集器能吸附其周围大范围内的这些物品。\n\n最后,通过管道将种子送回机械臂,即可重新种植到种植盆中!", + "quests.tfg_tips.food_automation.title": "食品自动化", + "quests.tfg_tips.food_automation.subtitle": "自动化你的厨房。", + "quests.tfg_tips.food_automation.desc": "从&7LV&r阶段开始,你就可以使用&3电烤箱&r和&3食品加工机&r来实现食物的完全自动化生产。\n\n为了在食品加工机中正确使用多种原料制作食物(例如三明治),你需要使用&3机械臂&r并开启“保持补给”按钮(或者利用机械动力物流将精确数量的原料配送到你的机器中)。\n\n为了防止腐烂的食物堆满你的存储空间,你应该使用&3腐烂物销毁覆盖板&r。\n\n这在后期将与&bMV&r阶段的电冰箱完美配合。", "quests.tfg_tips.beekeeping.title": "养蜂", "quests.tfg_tips.beekeeping.subtitle": "它们现在这么小...", "quests.tfg_tips.beekeeping.desc": "&b养蜂&r有着诸多用途。蜜蜂不仅能给附近的作物授粉(需具备相应特性),你还能从中获取&a蜜蜡&r和&a蜂蜜&r等实用资源。通过培育可提升蜜蜂的各项属性。\n&2野外指南&r对&b养蜂&r的所有机制提供了详尽的解说。", From e0804114478dd97ec2bcd9498b75377bb2170eae Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 29 Jan 2026 12:07:47 +0000 Subject: [PATCH 252/474] fix #2899 --- .pakku/server-overrides/defaultconfigs/tfc-server.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pakku/server-overrides/defaultconfigs/tfc-server.toml b/.pakku/server-overrides/defaultconfigs/tfc-server.toml index 90d7eb41a..5b61836ec 100644 --- a/.pakku/server-overrides/defaultconfigs/tfc-server.toml +++ b/.pakku/server-overrides/defaultconfigs/tfc-server.toml @@ -167,7 +167,7 @@ familiarityDecayLimit = 0.3 # # Tank capacity of a crucible (in mB). #Range: 0 ~ 2147483645 - crucibleCapacity = 4032 + crucibleCapacity = 4608 # # A modifier for how fast fluid containers empty into crucibles. Containers will empty 1 mB every (this) number of ticks. #Range: > 1 From af398a45d8d80b3964e9235a8fe8f19ada90fa95 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 29 Jan 2026 12:17:47 +0000 Subject: [PATCH 253/474] #2900 add shapeless recipes to convert old stone dusts into new --- CHANGELOG.md | 2 ++ kubejs/server_scripts/tfg/recipes.temporary.js | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f70a6bec5..eba6d3a24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,8 @@ - High speed on a Belt Grinder now only requires 64 RPM instead of 128 RPM - Glow ink now just requires a fluid solidifier and a ball mold, instead of whatever it was doing before @Pyritie - TFC "pure" fertilisers are now all craftable and provide 100 fertiliser instead of 15 (#2884) @Coox1e +- Added shapeless recipes to convert any old stone dusts into their new equivalents (#2900) @Pyritie +- Fixed the crucible capacity config on servers (#2899) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/server_scripts/tfg/recipes.temporary.js b/kubejs/server_scripts/tfg/recipes.temporary.js index 2365c1fca..b59260605 100644 --- a/kubejs/server_scripts/tfg/recipes.temporary.js +++ b/kubejs/server_scripts/tfg/recipes.temporary.js @@ -29,6 +29,15 @@ function registerTFGTemporaryRecipes(event) { event.shapeless('greate:rose_quartz_lens', 'gtceu:rose_quartz_lens') event.shapeless('greate:rose_quartz_plate', 'gtceu:rose_quartz_plate') + event.shapeless('tfg:igneous_felsic_dust', 'gtceu:granite_dust') + event.shapeless('tfg:igneous_intermediate_dust', 'gtceu:diorite_dust') + event.shapeless('tfg:igneous_intermediate_dust', 'gtceu:andesite_dust') + event.shapeless('tfg:metamorphic_dust', 'gtceu:marble_dust') + event.shapeless('tfg:metamorphic_dust', 'gtceu:deepslate_dust') + event.shapeless('tfg:igneous_ultramafic_dust', 'gtceu:blackstone_dust') + event.shapeless('tfg:igneous_felsic_dust', 'gtceu:red_granite_dust') + event.shapeless('tfg:igneous_mafic_dust', 'gtceu:basalt_dust') + // TODO: remove nether/ender air in 0.12 From 941c5848a362b7e379af0c4cd8b26d21d24c941a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 29 Jan 2026 12:21:30 +0000 Subject: [PATCH 254/474] #2862 sedimentary carbonate dust to flux --- CHANGELOG.md | 1 + .../tfg/natural_blocks/recipes.rocks.js | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index eba6d3a24..d875177e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ - TFC "pure" fertilisers are now all craftable and provide 100 fertiliser instead of 15 (#2884) @Coox1e - Added shapeless recipes to convert any old stone dusts into their new equivalents (#2900) @Pyritie - Fixed the crucible capacity config on servers (#2899) @Pyritie +- Added recipe to convert sedimentary carbonate stone dust into flux (#2862) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index 8918df150..a3be60a35 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -584,4 +584,17 @@ function registerTFGRockRecipes(event) { .itemOutputs('#forge:plates/stone') .duration(20) .EUt(GTValues.VA[GTValues.LV]) + + // Sedimentary carbonate into flux + + event.recipes.gtceu.macerator('tfg:sedimentary_carbonate_to_flux') + .itemInputs('#forge:dusts/sedimentary_carbonate') + .itemOutputs('2x tfc:powder/flux') + .duration(20) + .EUt(2) + + event.recipes.tfc.quern('2x tfc:powder/flux', '#forge:dusts/sedimentary_carbonate') + .id(`tfg:quern/sedimentary_carbonate_to_flux`) + + event.shapeless('2x tfc:powder/flux', ['#forge:dusts/sedimentary_carbonate', '#forge:tools/hammers']) } \ No newline at end of file From 79a169de2064eadc0bacb5fd7562ff10e3cc165f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 29 Jan 2026 23:35:02 +0000 Subject: [PATCH 255/474] added different oil spouts, changed ore veins a little --- CHANGELOG.md | 3 + .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 39 +++- .../entries/tfg_ores/nether_vein_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 39 +++- .../entries/tfg_ores/nether_vein_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 39 +++- .../entries/tfg_ores/nether_vein_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 39 +++- .../entries/tfg_ores/nether_vein_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 37 +++- .../entries/tfg_ores/nether_vein_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 37 +++- .../entries/tfg_ores/nether_vein_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 39 +++- .../entries/tfg_ores/nether_vein_index.json | 2 +- kubejs/assets/tfg/lang/en_us.json | 3 + kubejs/assets/tfg/lang/fr_fr.json | 3 + kubejs/assets/tfg/lang/ja_jp.json | 3 + kubejs/assets/tfg/lang/pt_br.json | 1 + kubejs/assets/tfg/lang/ru_ru.json | 12 +- kubejs/assets/tfg/lang/uk_ua.json | 1 + kubejs/assets/tfg/lang/zh_cn.json | 1 + .../placed_feature/flood_fill_lake.json | 21 ++ .../earth/spouts/heavy_oil_spout.json | 21 ++ .../earth/spouts/lava_spout.json | 21 ++ .../earth/spouts/light_oil_spout.json | 21 ++ .../earth/spouts/oil_spout.json | 21 ++ .../earth/spouts/raw_oil_spout.json | 21 ++ .../earth/vein/desert_oilsands.json | 131 +++++++++++ .../earth/vein/normal_beryllium.json | 2 +- .../earth/vein/normal_oilsands.json | 8 +- .../nether/vein/nether_beryllium.json | 2 +- .../venus/vein/venus_manual_salt.json | 186 ++++++++++++++++ .../venus/vein/venus_manual_sulfur.json | 136 ++++++++++++ .../venus/vein_manual/salt.json | 208 ------------------ .../venus/vein_manual/sulfur.json | 172 --------------- .../placed_feature/earth/oil_spout.json | 26 ++- .../earth/vein/desert_oilsands.json | 10 + .../earth/vein/normal_tarkianite.json | 10 - .../placed_feature/earth/volcano_spout.json | 25 +++ .../venus/vein_manual/salt.json | 2 +- .../venus/vein_manual/sulfur.json | 2 +- .../tfg/worldgen/tags.overworld.js | 2 + 50 files changed, 911 insertions(+), 461 deletions(-) create mode 100644 kubejs/data/tfc/worldgen/placed_feature/flood_fill_lake.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/spouts/heavy_oil_spout.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/spouts/lava_spout.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/spouts/light_oil_spout.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/spouts/oil_spout.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/spouts/raw_oil_spout.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/desert_oilsands.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_salt.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_sulfur.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/salt.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/sulfur.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/desert_oilsands.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/volcano_spout.json diff --git a/CHANGELOG.md b/CHANGELOG.md index d875177e9..a8df34b39 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,9 @@ - Added shapeless recipes to convert any old stone dusts into their new equivalents (#2900) @Pyritie - Fixed the crucible capacity config on servers (#2899) @Pyritie - Added recipe to convert sedimentary carbonate stone dust into flux (#2862) @Pyritie +- Deserts now contain oil spouts for heavy, raw, light, and normal oils @Pyritie +- Oilsands veins are now smaller across most of the world, except the huge ones have been moved to the desert @Pyritie +- Some volcanoes should now have much bigger amounts of lava underneath them, for more lava needs, but also infinite obsidian via the rock breaker has been removed. (Use a fluid solidifier instead) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_ore_index.json index f7d325389..118ee2950 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_ore_index.json @@ -34,7 +34,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", + "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json index 934ef99bb..f23822ceb 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json @@ -14,22 +14,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)Amethyst & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)Apatite & Pyrochlore$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)Bastnasite & Monazite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)Bentonite & Olivine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)Bismuth (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)Bismuth (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Cassiterite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Cassiterite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Chalcopyrite & Realgar$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Chromite & Magnetite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Coal$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Cooperite & Bornite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Copper & Chalcopyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Emerald & Beryllium$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)Amethyst & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)Apatite & Pyrochlore$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)Bastnasite & Monazite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)Bentonite & Olivine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)Bismuth (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)Bismuth (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Cassiterite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Cassiterite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Chalcopyrite & Realgar$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Chromite & Magnetite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Coal$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Cooperite & Bornite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Copper & Chalcopyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#desert_oilsands)Desert Oilsands$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)Garnet & Cassiterite Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)Garnierite & Cobaltite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)Goethite & Malachite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Gold (Deep)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Gold, Limonite, & Hematite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Graphite & Diamond$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)Gypsum & Calcite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)Hematite & Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)Hematite, Goethite, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Kyanite, Mica, & Bauxite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Lapis, Lazurite, & Sodalite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Magnetite & Vanadium$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Manganese & Tantalum$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Emerald & Beryllium$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)Garnet & Cassiterite Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)Garnierite & Cobaltite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)Goethite & Malachite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Gold (Deep)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Gold, Limonite, & Hematite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Graphite & Diamond$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)Gypsum & Calcite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)Hematite & Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)Hematite, Goethite, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Kyanite, Mica, & Bauxite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Lapis, Lazurite, & Sodalite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Magnetite & Vanadium$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Mineral Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Opal & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Quartzes$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Redstone, Cinnabar, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Saltpeter & Electrotine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Salts & Borax$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Sapphire & Almandine$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Soapstone, Talc, & Trona$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Sphalerite & Sulfur$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Spodumene & Lepidolite$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Manganese & Tantalum$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Mineral Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Opal & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Quartzes$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Redstone, Cinnabar, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Saltpeter & Electrotine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Salts & Borax$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Sapphire & Almandine$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Soapstone, Talc, & Trona$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Sphalerite & Sulfur$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Tarkianite & Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)Wulfenite & Molybdenite$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Spodumene & Lepidolite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Tarkianite & Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)Wulfenite & Molybdenite$()$()", "type": "patchouli:text" }, { @@ -1060,7 +1060,34 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 50$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 30 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale$(br2)Only appears in deserts to the $(thing)West$(), with a maximum rainfall of 120mm.", + "title": "Desert Oilsands", + "type": "patchouli:text", + "anchor": "desert_oilsands" + }, + { + "Type": "patchouli:multiblock", + "name": "Oilsands", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 100%$(br)$(thing)Source of$(): Freedom \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 30$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -2512,7 +2539,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/185 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 90$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Oilsands", "type": "patchouli:text", "anchor": "normal_oilsands" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/nether_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/nether_vein_index.json index 3de956a2f..b52e37189 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/nether_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/nether_vein_index.json @@ -732,7 +732,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/300 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "nether_beryllium" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_ore_index.json index f7d325389..118ee2950 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_ore_index.json @@ -34,7 +34,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", + "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_vein_index.json index 934ef99bb..f23822ceb 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_vein_index.json @@ -14,22 +14,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)Amethyst & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)Apatite & Pyrochlore$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)Bastnasite & Monazite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)Bentonite & Olivine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)Bismuth (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)Bismuth (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Cassiterite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Cassiterite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Chalcopyrite & Realgar$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Chromite & Magnetite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Coal$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Cooperite & Bornite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Copper & Chalcopyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Emerald & Beryllium$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)Amethyst & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)Apatite & Pyrochlore$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)Bastnasite & Monazite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)Bentonite & Olivine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)Bismuth (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)Bismuth (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Cassiterite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Cassiterite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Chalcopyrite & Realgar$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Chromite & Magnetite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Coal$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Cooperite & Bornite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Copper & Chalcopyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#desert_oilsands)Desert Oilsands$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)Garnet & Cassiterite Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)Garnierite & Cobaltite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)Goethite & Malachite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Gold (Deep)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Gold, Limonite, & Hematite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Graphite & Diamond$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)Gypsum & Calcite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)Hematite & Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)Hematite, Goethite, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Kyanite, Mica, & Bauxite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Lapis, Lazurite, & Sodalite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Magnetite & Vanadium$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Manganese & Tantalum$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Emerald & Beryllium$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)Garnet & Cassiterite Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)Garnierite & Cobaltite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)Goethite & Malachite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Gold (Deep)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Gold, Limonite, & Hematite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Graphite & Diamond$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)Gypsum & Calcite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)Hematite & Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)Hematite, Goethite, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Kyanite, Mica, & Bauxite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Lapis, Lazurite, & Sodalite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Magnetite & Vanadium$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Mineral Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Opal & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Quartzes$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Redstone, Cinnabar, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Saltpeter & Electrotine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Salts & Borax$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Sapphire & Almandine$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Soapstone, Talc, & Trona$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Sphalerite & Sulfur$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Spodumene & Lepidolite$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Manganese & Tantalum$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Mineral Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Opal & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Quartzes$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Redstone, Cinnabar, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Saltpeter & Electrotine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Salts & Borax$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Sapphire & Almandine$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Soapstone, Talc, & Trona$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Sphalerite & Sulfur$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Tarkianite & Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)Wulfenite & Molybdenite$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Spodumene & Lepidolite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Tarkianite & Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)Wulfenite & Molybdenite$()$()", "type": "patchouli:text" }, { @@ -1060,7 +1060,34 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 50$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 30 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale$(br2)Only appears in deserts to the $(thing)West$(), with a maximum rainfall of 120mm.", + "title": "Desert Oilsands", + "type": "patchouli:text", + "anchor": "desert_oilsands" + }, + { + "Type": "patchouli:multiblock", + "name": "Oilsands", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 100%$(br)$(thing)Source of$(): Freedom \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 30$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -2512,7 +2539,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/185 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 90$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Oilsands", "type": "patchouli:text", "anchor": "normal_oilsands" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/nether_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/nether_vein_index.json index 3de956a2f..b52e37189 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/nether_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/nether_vein_index.json @@ -732,7 +732,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/300 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "nether_beryllium" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_ore_index.json index f7d325389..118ee2950 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_ore_index.json @@ -34,7 +34,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", + "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json index 934ef99bb..f23822ceb 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json @@ -14,22 +14,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)Amethyst & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)Apatite & Pyrochlore$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)Bastnasite & Monazite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)Bentonite & Olivine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)Bismuth (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)Bismuth (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Cassiterite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Cassiterite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Chalcopyrite & Realgar$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Chromite & Magnetite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Coal$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Cooperite & Bornite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Copper & Chalcopyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Emerald & Beryllium$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)Amethyst & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)Apatite & Pyrochlore$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)Bastnasite & Monazite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)Bentonite & Olivine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)Bismuth (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)Bismuth (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Cassiterite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Cassiterite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Chalcopyrite & Realgar$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Chromite & Magnetite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Coal$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Cooperite & Bornite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Copper & Chalcopyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#desert_oilsands)Desert Oilsands$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)Garnet & Cassiterite Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)Garnierite & Cobaltite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)Goethite & Malachite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Gold (Deep)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Gold, Limonite, & Hematite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Graphite & Diamond$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)Gypsum & Calcite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)Hematite & Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)Hematite, Goethite, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Kyanite, Mica, & Bauxite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Lapis, Lazurite, & Sodalite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Magnetite & Vanadium$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Manganese & Tantalum$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Emerald & Beryllium$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)Garnet & Cassiterite Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)Garnierite & Cobaltite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)Goethite & Malachite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Gold (Deep)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Gold, Limonite, & Hematite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Graphite & Diamond$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)Gypsum & Calcite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)Hematite & Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)Hematite, Goethite, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Kyanite, Mica, & Bauxite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Lapis, Lazurite, & Sodalite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Limonite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Magnetite & Vanadium$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Mineral Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Opal & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Quartzes$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Redstone, Cinnabar, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Saltpeter & Electrotine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Salts & Borax$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Sapphire & Almandine$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Soapstone, Talc, & Trona$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Sphalerite & Sulfur$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Spodumene & Lepidolite$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Manganese & Tantalum$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Mineral Sands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Opal & Garnet$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Quartzes$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Redstone, Cinnabar, & Ruby$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Saltpeter & Electrotine$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Salts & Borax$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Sapphire & Almandine$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Soapstone, Talc, & Trona$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Sphalerite & Sulfur$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Tarkianite & Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)Wulfenite & Molybdenite$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Spodumene & Lepidolite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Sulfur & Pyrite$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Tarkianite & Oilsands$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Topaz & Chalcocite$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Uraninite & Pitchblende$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)Wulfenite & Molybdenite$()$()", "type": "patchouli:text" }, { @@ -1060,7 +1060,34 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 50$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 30 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 50$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale$(br2)Only appears in deserts to the $(thing)West$(), with a maximum rainfall of 120mm.", + "title": "Desert Oilsands", + "type": "patchouli:text", + "anchor": "desert_oilsands" + }, + { + "Type": "patchouli:multiblock", + "name": "Oilsands", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 100%$(br)$(thing)Source of$(): Freedom \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 35%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 30$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -2512,7 +2539,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/185 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 90$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 30$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", "title": "Oilsands", "type": "patchouli:text", "anchor": "normal_oilsands" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/nether_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/nether_vein_index.json index 3de956a2f..b52e37189 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/nether_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/nether_vein_index.json @@ -732,7 +732,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/300 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 45%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Tall and narrow)Pipe Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 32 — 128$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Stone Types$(): Basalt, Migmatite, Pyroxenite, Travertine", "title": "Emerald & Beryllium", "type": "patchouli:text", "anchor": "nether_beryllium" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_ore_index.json index f407ecfb2..2520734e3 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Almandina: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)Alunita: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)Ametista: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)Amianto: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)Apatita: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)Areia Cassiterita: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)35%$(/l)$()$(li)Areia Glauconita: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Areia Granada: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Areia Mineral Basáltica: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)Areia Mineral Granítica: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Areias Petrolíferas: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Barita: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)Bastnasita: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)Bauxita: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()", + "text": "$(li)Almandina: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)Alunita: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)Ametista: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)Amianto: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)Apatita: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)Areia Cassiterita: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)35%$(/l)$()$(li)Areia Glauconita: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Areia Granada: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Areia Mineral Basáltica: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)Areia Mineral Granítica: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Areias Petrolíferas: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Barita: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)Bastnasita: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)Bauxita: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_vein_index.json index 00139dc21..fdef0abf8 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_vein_index.json @@ -14,22 +14,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)Ametista e Granada$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)Apatita e Pirocloro$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Areias Minerais$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Areias Petrolíferas$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)Bastnasita e Monazita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)Bentonita e Olivina$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)Bismuto (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)Bismuto (Superfície)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Calcopirita e Realgar$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Carvão$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Cassiterita (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Cassiterita (Superfície)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Cianita, Mica e Bauxita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Cobre e Calcopirita$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)Ametista e Granada$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)Apatita e Pirocloro$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Areias Minerais$()$()$(li)$(l:tfg_ores/earth_vein_index#desert_oilsands)Areias Petrolíferas$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Areias Petrolíferas$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)Bastnasita e Monazita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)Bentonita e Olivina$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)Bismuto (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)Bismuto (Superfície)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Calcopirita e Realgar$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Carvão$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Cassiterita (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Cassiterita (Superfície)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Cianita, Mica e Bauxita$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Cooperita e Bornita$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Cromita e Magnetita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Enxofre e Pirita$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Esfalerita e Enxofre$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Esfalerita e Pirita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Esmeralda e Berílio$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Espodumena e Lepidolita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)Garnierita e Cobaltita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)Gipsita e Calcita$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)Goethita e Malaquita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Grafite e Diamante$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)Granada e Areia Cassiterita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)Hematita e Limonita$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)Hematita, Goethita e Rubi$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Cobre e Calcopirita$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Cooperita e Bornita$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Cromita e Magnetita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Enxofre e Pirita$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Esfalerita e Enxofre$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Esfalerita e Pirita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Esmeralda e Berílio$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Espodumena e Lepidolita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)Garnierita e Cobaltita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)Gipsita e Calcita$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)Goethita e Malaquita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Grafite e Diamante$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)Granada e Areia Cassiterita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)Hematita e Limonita$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Lápis-lazúri, Lazurita e Sodalita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Limonita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Magnetita e Vanádio$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Manganês e Tântalo$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Opala e Granada$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Ouro (Profundo)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Ouro, Limonita e Hematita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Pedra-sabão, Talco e Trona$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Prata, Galena e Chumbo$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Quartzos$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Redstone, Cinábrio e Rubi$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Safira e Almandina$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Sais e Bórax$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Salitre e Eletrotina$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)Hematita, Goethita e Rubi$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Lápis-lazúri, Lazurita e Sodalita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Limonita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Magnetita e Vanádio$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Manganês e Tântalo$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Opala e Granada$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Ouro (Profundo)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Ouro, Limonita e Hematita$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Pedra-sabão, Talco e Trona$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Prata, Galena e Chumbo$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Quartzos$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Redstone, Cinábrio e Rubi$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Safira e Almandina$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Sais e Bórax$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Sheelita e Tungstato$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Tarcianita e Areias Petrolíferas$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Tetraedrita (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Tetraedrita (Superfície)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Topázio e Calcocita$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Uraninita e Pechblenda$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)Wulfenita e Molibdenita$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Salitre e Eletrotina$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Sheelita e Tungstato$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Tarcianita e Areias Petrolíferas$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Tetraedrita (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Tetraedrita (Superfície)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Topázio e Calcocita$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Uraninita e Pechblenda$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)Wulfenita e Molibdenita$()$()", "type": "patchouli:text" }, { @@ -290,7 +290,34 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/185 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 55$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", + "text": "$(thing)Raridade$(): 1/150 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 30 — 70$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", + "title": "Areias Petrolíferas", + "type": "patchouli:text", + "anchor": "desert_oilsands" + }, + { + "Type": "patchouli:multiblock", + "name": "Areias Petrolíferas", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 100%$(br)$(thing)Fonte de$(): Liberdade \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 40 — 90$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", "title": "Areias Petrolíferas", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -1472,7 +1499,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 10$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", + "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 35%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): -32 — 30$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 10$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", "title": "Esmeralda e Berílio", "type": "patchouli:text", "anchor": "normal_beryllium" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/nether_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/nether_vein_index.json index 0baeae0ae..6b0f4b8d2 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/nether_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/nether_vein_index.json @@ -1025,7 +1025,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 12$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", + "text": "$(thing)Raridade$(): 1/300 chunks$(br)$(thing)Densidade$(): 45%$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 12$(br2)$(thing)Tipos de Pedra$(): Basalto, Migmatito, Piroxenito, Travertino", "title": "Esmeralda e Berílio", "type": "patchouli:text", "anchor": "nether_beryllium" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_ore_index.json index 920c13227..b4dd2dfad 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_ore_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Куперит: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лазуритит: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Литий: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахит: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молибденит: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Нефтеносный песок: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Никель: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()", + "text": "$(li)Куперит: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лазуритит: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Литий: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахит: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молибденит: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Нефтеносный песок: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Никель: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json index ada05a65d..f21d79ff6 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json @@ -24,12 +24,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Нефтеносный песок$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Опал и гранат$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Редстоун, Киноварь и Рубин$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Сапфир и Альмандин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Селитра и Электротин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Сера и Пирит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Серебро, Галена и Свинец$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Соли и Бура$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Сподумен и Лепидолит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Сфалерит & Пирит$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Сфалерит и Сера$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Таркианит и Нефтеносный песок$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Тетраэдрит (обычный)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Тетраэдрит (Поверхностный)$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#desert_oilsands)Нефтеносный песок$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Нефтеносный песок$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Опал и гранат$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Редстоун, Киноварь и Рубин$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Сапфир и Альмандин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Селитра и Электротин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Сера и Пирит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Серебро, Галена и Свинец$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Соли и Бура$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Сподумен и Лепидолит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Сфалерит & Пирит$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Сфалерит и Сера$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Таркианит и Нефтеносный песок$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Тетраэдрит (обычный)$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Топаз и Халькозин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Уголь$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Уранинит и Уранит$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Халькопирит и Реальгар$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Хромит и Магнетит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Ционит, Слюда и Боксит$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Шеелит и Вольфрамат$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Тетраэдрит (Поверхностный)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Топаз и Халькозин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Уголь$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Уранинит и Уранит$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Халькопирит и Реальгар$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Хромит и Магнетит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Ционит, Слюда и Боксит$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Шеелит и Вольфрамат$()$()", "type": "patchouli:text" }, { @@ -1441,7 +1441,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 50$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 30$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "normal_beryllium" @@ -2435,7 +2435,34 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/185 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 55$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/150 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 30 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 60$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 50$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец$(br2)Появляется только в пустынях на $(thing)западе$(), при годовыми осадками 120мм.", + "title": "Нефтеносный песок", + "type": "patchouli:text", + "anchor": "desert_oilsands" + }, + { + "Type": "patchouli:multiblock", + "name": "Нефтеносный песок", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 100%$(br)$(thing)Используется для$(): Нефтепродукты", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 40 — 90$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 30$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", "title": "Нефтеносный песок", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -3257,7 +3284,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 20 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец$(br2)Появляется только в пустынях на $(thing)Юго-западе$(), при минимальной температуре - 7°C и годовыми осадками 100мм.", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 35%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 20 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец$(br2)Появляется только в пустынях на $(thing)западе$(), при минимальной температуре - 7°C и годовыми осадками 100мм.", "title": "Таркианит и Нефтеносный песок", "type": "patchouli:text", "anchor": "normal_tarkianite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/nether_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/nether_vein_index.json index 9f46b9208..647ffad7d 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/nether_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/nether_vein_index.json @@ -1115,7 +1115,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 45%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 32 — 128$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 12$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/300 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 45%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Высокая и узкая)Трубчатая жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 32 — 128$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 12$(br2)$(thing)Виды камней$(): Базальт, Мигматит, Пироксенит, Травертин", "title": "Изумруд и Бериллий", "type": "patchouli:text", "anchor": "nether_beryllium" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_ore_index.json index 4035a14c0..0bdf84f0d 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_ore_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Кіновар: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)Кобальт: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лапіс: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Літій: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахіт: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молібденіт: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Нафтові піски: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()", + "text": "$(li)Кіновар: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)Кобальт: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лапіс: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Літій: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахіт: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молібденіт: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Нафтові піски: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json index 5d52261e0..2f51d20f8 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json @@ -19,17 +19,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Графіт і Діамант$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Золото (Глибоке)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Золото, Лімоніт та Гематит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Каситерит (Звичайний)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Каситерит (Поверхнивий)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Кварц$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Кіаніт, Слюда та Боксити$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Лапіс, Лазурит та Содаліт$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Лімоніт$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Магнетит і Ванадій$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Марганець і Тантал$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Мідь та Халькопірит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Мінеральні піски$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Нафтові піски$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Графіт і Діамант$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Золото (Глибоке)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Золото, Лімоніт та Гематит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Каситерит (Звичайний)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Каситерит (Поверхнивий)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Кварц$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Кіаніт, Слюда та Боксити$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Лапіс, Лазурит та Содаліт$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Лімоніт$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Магнетит і Ванадій$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Марганець і Тантал$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Мідь та Халькопірит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Мінеральні піски$()$()$(li)$(l:tfg_ores/earth_vein_index#desert_oilsands)Нафтові піски$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Опал і Гранат$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Редстоун, Кіновар і Рубін$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Сапфір і Альмадін$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Селітра та Електротин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Сірка та Пірит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Смарагд і Берилій$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Солі та Бура$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Сподумен та Лепідоліт$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Срібло, Гален і Свинець$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Стеатит, Тальк і Трона$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Сфалерит і Пірит$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Сфалерит і Сірка$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Таркіаніт та Нафтові піски$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Тетраедрит (Звичайний)$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Нафтові піски$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Опал і Гранат$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Редстоун, Кіновар і Рубін$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Сапфір і Альмадін$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Селітра та Електротин$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Сірка та Пірит$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Смарагд і Берилій$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Солі та Бура$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Сподумен та Лепідоліт$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Срібло, Гален і Свинець$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Стеатит, Тальк і Трона$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Сфалерит і Пірит$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Сфалерит і Сірка$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Таркіаніт та Нафтові піски$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Тетраедрит (Поверхня)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Топаз і Халькоцит$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Ураніт & Пітчбленд$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Халькопірит та Реальгар$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Хроміт і Магнетит$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Шеєліт та Вольфрам$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Шелдоніт і Борніт$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Тетраедрит (Звичайний)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Тетраедрит (Поверхня)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Топаз і Халькоцит$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Ураніт & Пітчбленд$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Халькопірит та Реальгар$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Хроміт і Магнетит$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Шеєліт та Вольфрам$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Шелдоніт і Борніт$()$()", "type": "patchouli:text" }, { @@ -2313,7 +2313,34 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/185 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 55$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/150 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 30 — 70$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 50$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", + "title": "Нафтові піски", + "type": "patchouli:text", + "anchor": "desert_oilsands" + }, + { + "Type": "patchouli:multiblock", + "name": "Нафтові піски", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 100%$(br)$(thing)Джерело$(): Свободи \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 40 — 90$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", "title": "Нафтові піски", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -2750,7 +2777,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): -32 — 50$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 10$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 35%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): -32 — 30$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 10$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", "title": "Смарагд і Берилій", "type": "patchouli:text", "anchor": "normal_beryllium" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/nether_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/nether_vein_index.json index 6799e5aca..877b8f677 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/nether_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/nether_vein_index.json @@ -2029,7 +2029,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 12$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", + "text": "$(thing)Рідкість$(): 1/300 чанків$(br)$(thing)Щільність$(): 45%$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 32 — 128$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 12$(br2)$(thing)Типи каменю$(): Базальт, Мігматит, Піроксеніти, Травертин", "title": "Смарагд і Берилій", "type": "patchouli:text", "anchor": "nether_beryllium" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_ore_index.json index 2890944c0..e6fceb082 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_ore_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)朱砂: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)橄榄石: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)沸石: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)油砂: $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)滑石: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)漂白土: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)烧绿石: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)煤炭: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)独居石: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)玄武岩矿砂: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)白钨矿: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()", + "text": "$(li)朱砂: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)橄榄石: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)沸石: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)油砂: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)滑石: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)漂白土: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)烧绿石: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)煤炭: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)独居石: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)玄武岩矿砂: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)白钨矿: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json index 96183bfcd..dea185666 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json @@ -14,22 +14,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)塔基安矿, 油砂$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)晶质铀矿, 沥青铀矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)氟碳镧铈矿, 独居石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)油砂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)煤炭$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)白钨矿, 钨酸锂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)皂石, 滑石, 天然碱$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)盐, 硼砂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)石榴石, 锡石矿砂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)石膏, 方解石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)石英$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)石墨, 钻石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)矿砂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)硅镁镍矿, 辉钴矿$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)塔基安矿, 油砂$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)晶质铀矿, 沥青铀矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)氟碳镧铈矿, 独居石$()$()$(li)$(l:tfg_ores/earth_vein_index#desert_oilsands)油砂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)油砂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)煤炭$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)白钨矿, 钨酸锂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)皂石, 滑石, 天然碱$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)盐, 硼砂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)石榴石, 锡石矿砂$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)石膏, 方解石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)石英$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)石墨, 钻石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)矿砂$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)硝石, 蓝石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)硫, 黄铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)硫铂矿, 斑铜矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)磁铁矿, 钒$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)磷灰石, 烧绿石$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)紫水晶, 石榴石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)红石, 朱砂, 红宝石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)绿宝石, 铍矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)膨润土, 橄榄石$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)蓝宝石, 铁铝榴石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)蓝晶石, 云母, 铝土矿$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)蛋白石, 石榴石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)褐铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)赤铁矿, 褐铁矿$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)硅镁镍矿, 辉钴矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)硝石, 蓝石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)硫, 黄铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)硫铂矿, 斑铜矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)磁铁矿, 钒$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)磷灰石, 烧绿石$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)紫水晶, 石榴石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)红石, 朱砂, 红宝石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)绿宝石, 铍矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)膨润土, 橄榄石$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)蓝宝石, 铁铝榴石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)蓝晶石, 云母, 铝土矿$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)蛋白石, 石榴石$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)褐铁矿$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)赤铁矿, 针铁矿, 红宝石$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)辉铋矿 (地表)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)辉铋矿 (普通)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)金矿 (深层)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)金矿, 褐铁矿, 赤铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)针铁矿, 孔雀石$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)钼铅矿, 辉钼矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)铜矿, 黄铜矿$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)铬铁矿, 磁铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)银矿, 方铅矿, 铅矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)锂辉石, 锂云母$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)锡石矿 (地表)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)锡石矿 (普通)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)锰矿, 钽矿$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)赤铁矿, 褐铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)赤铁矿, 针铁矿, 红宝石$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)辉铋矿 (地表)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)辉铋矿 (普通)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)金矿 (深层)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)金矿, 褐铁矿, 赤铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)针铁矿, 孔雀石$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)钼铅矿, 辉钼矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)铜矿, 黄铜矿$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)铬铁矿, 磁铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)银矿, 方铅矿, 铅矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)锂辉石, 锂云母$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)锡石矿 (地表)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)锡石矿 (普通)$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)闪锌矿, 硫$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)闪锌矿, 黄铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)青金石, 蓝金石, 方钠石$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)黄玉, 辉铜矿$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)黄铜矿, 雄黄$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)黝铜矿 (地表)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)黝铜矿 (普通)$()$()", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)锰矿, 钽矿$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)闪锌矿, 硫$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)闪锌矿, 黄铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)青金石, 蓝金石, 方钠石$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)黄玉, 辉铜矿$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)黄铜矿, 雄黄$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)黝铜矿 (地表)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)黝铜矿 (普通)$()$()", "type": "patchouli:text" }, { @@ -265,7 +265,34 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/185 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 55$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", + "text": "$(thing)稀有度$(): 1/150 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 30 — 70$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", + "title": "油砂", + "type": "patchouli:text", + "anchor": "desert_oilsands" + }, + { + "Type": "patchouli:multiblock", + "name": "油砂", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 100%$(br)$(thing)来源$(): 自由 \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 40 — 90$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", "title": "油砂", "type": "patchouli:text", "anchor": "normal_oilsands" @@ -1646,7 +1673,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): -32 — 50$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 10$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", + "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 35%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): -32 — 30$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 10$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", "title": "绿宝石, 铍矿", "type": "patchouli:text", "anchor": "normal_beryllium" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_vein_index.json index 77704041c..9b70891e2 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_vein_index.json @@ -1385,7 +1385,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 12$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", + "text": "$(thing)稀有度$(): 1/300 区块$(br)$(thing)密度$(): 45%$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 12$(br2)$(thing)岩石类型$(): 混合岩, 玄武岩, 石灰华, 辉石岩", "title": "绿宝石, 铍矿", "type": "patchouli:text", "anchor": "nether_beryllium" diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 103ffd610..2c5d2b5d3 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1397,6 +1397,9 @@ "ore_vein.tfg.deep_sapphire": "Sapphire & Almandine", "ore_vein.tfg.deep_scheelite": "Scheelite & Tungstate", "ore_vein.tfg.deep_topaz": "Topaz & Chalcocite", + "ore_vein.tfg.desert_oilsands": "Desert Oilsands", + "ore_vein.tfg.desert_oilsands.emi.0": "Only in dry climates.", + "ore_vein.tfg.desert_oilsands.emi.1": "Max rainfall: 120mm", "ore_vein.tfg.normal_apatite": "Apatite & Pyrochlore", "ore_vein.tfg.normal_basaltic_sands": "Mineral Sands", "ore_vein.tfg.normal_beryllium": "Emerald & Beryllium", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 9a9a4317b..b489989b6 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -1030,6 +1030,9 @@ "ore_vein.tfg.deep_sapphire": "Sapphire & Almandine", "ore_vein.tfg.deep_scheelite": "Scheelite & Tungstate", "ore_vein.tfg.deep_topaz": "Topaz & Chalcocite", + "ore_vein.tfg.desert_oilsands": "Desert Oilsands", + "ore_vein.tfg.desert_oilsands.emi.0": "Only in dry climates.", + "ore_vein.tfg.desert_oilsands.emi.1": "Max rainfall: 120mm", "ore_vein.tfg.normal_apatite": "Apatite & Pyrochlore", "ore_vein.tfg.normal_basaltic_sands": "Mineral Sands", "ore_vein.tfg.normal_beryllium": "Emerald & Beryllium", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index 134711f8b..98b582761 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -1387,6 +1387,9 @@ "ore_vein.tfg.deep_sapphire": "Sapphire & Almandine", "ore_vein.tfg.deep_scheelite": "Scheelite & Tungstate", "ore_vein.tfg.deep_topaz": "Topaz & Chalcocite", + "ore_vein.tfg.desert_oilsands": "Desert Oilsands", + "ore_vein.tfg.desert_oilsands.emi.0": "Only in dry climates.", + "ore_vein.tfg.desert_oilsands.emi.1": "Max rainfall: 120mm", "ore_vein.tfg.normal_apatite": "Apatite & Pyrochlore", "ore_vein.tfg.normal_basaltic_sands": "Mineral Sands", "ore_vein.tfg.normal_beryllium": "Emerald & Beryllium", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index 74c064112..99ddccf2c 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -800,6 +800,7 @@ "ore_vein.tfg.deep_sapphire": "Safira e Almandina", "ore_vein.tfg.deep_scheelite": "Sheelita e Tungstato", "ore_vein.tfg.deep_topaz": "Topázio e Calcocita", + "ore_vein.tfg.desert_oilsands": "Areias Petrolíferas", "ore_vein.tfg.normal_apatite": "Apatita e Pirocloro", "ore_vein.tfg.normal_basaltic_sands": "Areias Minerais", "ore_vein.tfg.normal_beryllium": "Esmeralda e Berílio", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 95f8aaeec..05d81ada3 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1397,6 +1397,9 @@ "ore_vein.tfg.deep_sapphire": "Сапфир и Альмандин", "ore_vein.tfg.deep_scheelite": "Шеелит и Вольфрамат", "ore_vein.tfg.deep_topaz": "Топаз и Халькозин", + "ore_vein.tfg.desert_oilsands": "Нефтеносный песок", + "ore_vein.tfg.desert_oilsands.emi.0": "Только в сухом климате.", + "ore_vein.tfg.desert_oilsands.emi.1": "Макс. годовые осадки: 120мм", "ore_vein.tfg.normal_apatite": "Апатит и Пирохлор", "ore_vein.tfg.normal_basaltic_sands": "Минеральные пески", "ore_vein.tfg.normal_beryllium": "Изумруд и Бериллий", @@ -1406,8 +1409,6 @@ "ore_vein.tfg.normal_copper": "Медь и Халькопирит", "ore_vein.tfg.normal_garnet_tin": "Гранатовый и Касситеритовый песок", "ore_vein.tfg.normal_garnierite": "Гарниерит и Кобальтит", - "ore_vein.tfg.normal_garnierite.emi.0": "Подсказка: Габбро всегда находится", - "ore_vein.tfg.normal_garnierite.emi.1": "под Базальтом.", "ore_vein.tfg.normal_gold": "Золото, Лимонит и Гематит", "ore_vein.tfg.normal_graphite": "Графит и Алмаз", "ore_vein.tfg.normal_gypsum": "Гипс и Кальцит", @@ -1423,8 +1424,6 @@ "ore_vein.tfg.normal_olivine": "Бентонит и Оливин", "ore_vein.tfg.normal_quartz": "Кварцы", "ore_vein.tfg.normal_redstone": "Редстоун, Киноварь и Рубин", - "ore_vein.tfg.normal_redstone.emi.0": "Подсказка: Гранит всегда находится", - "ore_vein.tfg.normal_redstone.emi.1": "под Риолитом.", "ore_vein.tfg.normal_salt": "Соли и Бура", "ore_vein.tfg.normal_saltpeter": "Селитра и Электротин", "ore_vein.tfg.normal_silver": "Серебро, Галена и Свинец", @@ -1531,10 +1530,9 @@ "ore_vein.tfg.nether_sulfur": "Сера и Пирит", "ore_vein.tfg.nether_tetrahedrite": "Тетраэдрит", "ore_vein.tfg.nether_topaz": "Топаз и Халькозин", - "ore_vein.tfg.venus_manual_salt": "Соли и Cподумен", - "ore_vein.tfg.venus_manual_salt.emi.0": "Только в Соляных равнинах.", + "ore_vein.tfg.venus_manual_salt": "Salts & Spodumene", + "ore_vein.tfg.venus_manual_salt.emi.0": "Only in Salt Flats.", "ore_vein.tfg.venus_manual_sulfur": "Сера и Пирит", - "ore_vein.tfg.venus_manual_sulfur.emi.0": "Только в Сернистое ущелье.", "tfg.creative_tab.tfg": "TerraFirmaGreg", "tfg.disabled_portal": "Магия портала заблокирована неизвестной силой, попробуйте получить доступ к измерению поднявшись в небо или спустившись в глубины.", "tfg.tooltip.food_trait.refrigerating": "§bОхлаждённое", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index b1472e75f..b8e88bb13 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -1321,6 +1321,7 @@ "ore_vein.tfg.deep_sapphire": "Сапфір і Альмадін", "ore_vein.tfg.deep_scheelite": "Шеєліт та Вольфрам", "ore_vein.tfg.deep_topaz": "Топаз і Халькоцит", + "ore_vein.tfg.desert_oilsands": "Нафтові піски", "ore_vein.tfg.normal_apatite": "Апатит і Пірохлор", "ore_vein.tfg.normal_basaltic_sands": "Мінеральні піски", "ore_vein.tfg.normal_beryllium": "Смарагд і Берилій", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 291c2fe7e..49b0390dc 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1491,6 +1491,7 @@ "ore_vein.tfg.deep_sapphire": "蓝宝石, 铁铝榴石", "ore_vein.tfg.deep_scheelite": "白钨矿, 钨酸锂", "ore_vein.tfg.deep_topaz": "黄玉, 辉铜矿", + "ore_vein.tfg.desert_oilsands": "油砂", "ore_vein.tfg.normal_apatite": "磷灰石, 烧绿石", "ore_vein.tfg.normal_basaltic_sands": "矿砂", "ore_vein.tfg.normal_beryllium": "绿宝石, 铍矿", diff --git a/kubejs/data/tfc/worldgen/placed_feature/flood_fill_lake.json b/kubejs/data/tfc/worldgen/placed_feature/flood_fill_lake.json new file mode 100644 index 000000000..3c544cd20 --- /dev/null +++ b/kubejs/data/tfc/worldgen/placed_feature/flood_fill_lake.json @@ -0,0 +1,21 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "feature": "tfc:flood_fill_lake", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 5 + }, + { + "type": "tfc:climate", + "min_rainfall": 100 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE_WG" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/heavy_oil_spout.json b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/heavy_oil_spout.json new file mode 100644 index 000000000..9ff88f4a9 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/heavy_oil_spout.json @@ -0,0 +1,21 @@ +{ + "type": "gtceu:fluid_sprout", + "config": { + "fluid": "gtceu:oil_heavy", + "size": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 13, + "min_inclusive": 9 + } + }, + "sprout_chance": 1.0, + "surface_offset": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 3, + "min_inclusive": 1 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/lava_spout.json b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/lava_spout.json new file mode 100644 index 000000000..b7403f302 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/lava_spout.json @@ -0,0 +1,21 @@ +{ + "type": "gtceu:fluid_sprout", + "config": { + "fluid": "minecraft:lava", + "size": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 16, + "min_inclusive": 12 + } + }, + "sprout_chance": 1.0, + "surface_offset": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 0 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/light_oil_spout.json b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/light_oil_spout.json new file mode 100644 index 000000000..aa0d24d9e --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/light_oil_spout.json @@ -0,0 +1,21 @@ +{ + "type": "gtceu:fluid_sprout", + "config": { + "fluid": "gtceu:oil_light", + "size": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 13, + "min_inclusive": 9 + } + }, + "sprout_chance": 1.0, + "surface_offset": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 7, + "min_inclusive": 2 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/oil_spout.json b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/oil_spout.json new file mode 100644 index 000000000..c88b6ca8f --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/oil_spout.json @@ -0,0 +1,21 @@ +{ + "type": "gtceu:fluid_sprout", + "config": { + "fluid": "gtceu:oil", + "size": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 13, + "min_inclusive": 9 + } + }, + "sprout_chance": 1.0, + "surface_offset": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 7, + "min_inclusive": 2 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/raw_oil_spout.json b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/raw_oil_spout.json new file mode 100644 index 000000000..48f65fa84 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/spouts/raw_oil_spout.json @@ -0,0 +1,21 @@ +{ + "type": "gtceu:fluid_sprout", + "config": { + "fluid": "gtceu:oil_medium", + "size": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 13, + "min_inclusive": 9 + } + }, + "sprout_chance": 1.0, + "surface_offset": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 7, + "min_inclusive": 2 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/desert_oilsands.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/desert_oilsands.json new file mode 100644 index 000000000..c495617ff --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/desert_oilsands.json @@ -0,0 +1,131 @@ +{ + "__credits__": "This vein was automatically generated by OresToFieldGuide.", + "type": "tfc:cluster_vein", + "config": { + "size": 60, + "rarity": 150, + "density": 0.2, + "min_y": 30, + "max_y": 70, + "random_name": "desert_oilsands", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/shale" + ], + "with": [ + { + "block": "gtceu:shale_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/claystone" + ], + "with": [ + { + "block": "gtceu:claystone_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/limestone" + ], + "with": [ + { + "block": "gtceu:limestone_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/conglomerate" + ], + "with": [ + { + "block": "gtceu:conglomerate_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dolomite" + ], + "with": [ + { + "block": "gtceu:dolomite_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chert" + ], + "with": [ + { + "block": "gtceu:chert_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chalk" + ], + "with": [ + { + "block": "gtceu:chalk_oilsands_ore", + "weight": 100 + }, + { + "block": "gtceu:raw_oilsands_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 12, + "depth": 50, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:oilsands_indicator", + "weight": 100 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_beryllium.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_beryllium.json index 645616ae0..04f2f8dbe 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_beryllium.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_beryllium.json @@ -12,7 +12,7 @@ "rarity": 250, "density": 0.35, "min_y": -32, - "max_y": 50, + "max_y": 30, "random_name": "normal_beryllium", "blocks": [ { diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_oilsands.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_oilsands.json index 5ec1ce356..c3078167d 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_oilsands.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_oilsands.json @@ -2,11 +2,11 @@ "__credits__": "This vein was automatically generated by OresToFieldGuide.", "type": "tfc:cluster_vein", "config": { - "size": 55, - "rarity": 185, + "size": 30, + "rarity": 220, "density": 0.2, - "min_y": 0, - "max_y": 70, + "min_y": 40, + "max_y": 90, "random_name": "normal_oilsands", "blocks": [ { diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_beryllium.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_beryllium.json index 80c57d36c..6aa08c262 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_beryllium.json +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_beryllium.json @@ -9,7 +9,7 @@ "min_slant": 0, "max_slant": 4, "sign": 0, - "rarity": 250, + "rarity": 300, "density": 0.45, "min_y": 32, "max_y": 128, diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_salt.json b/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_salt.json new file mode 100644 index 000000000..375a552e5 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_salt.json @@ -0,0 +1,186 @@ +{ + "__credits__": "This vein was automatically generated by OresToFieldGuide.", + "type": "tfc:disc_vein", + "config": { + "height": 6, + "size": 20, + "rarity": 30, + "density": 0.2, + "min_y": 40, + "max_y": 65, + "random_name": "venus_manual_salt", + "blocks": [ + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_salt_ore", + "weight": 80 + }, + { + "block": "gtceu:dripstone_rock_salt_ore", + "weight": 10 + }, + { + "block": "gtceu:dripstone_lepidolite_ore", + "weight": 5 + }, + { + "block": "gtceu:dripstone_spodumene_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "ad_astra:venus_stone" + ], + "with": [ + { + "block": "gtceu:venus_stone_salt_ore", + "weight": 80 + }, + { + "block": "gtceu:venus_stone_rock_salt_ore", + "weight": 10 + }, + { + "block": "gtceu:venus_stone_lepidolite_ore", + "weight": 5 + }, + { + "block": "gtceu:venus_stone_spodumene_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt", + "minecraft:basalt" + ], + "with": [ + { + "block": "gtceu:basalt_salt_ore", + "weight": 80 + }, + { + "block": "gtceu:basalt_rock_salt_ore", + "weight": 10 + }, + { + "block": "gtceu:basalt_lepidolite_ore", + "weight": 5 + }, + { + "block": "gtceu:basalt_spodumene_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_salt_ore", + "weight": 80 + }, + { + "block": "gtceu:rhyolite_rock_salt_ore", + "weight": 10 + }, + { + "block": "gtceu:rhyolite_lepidolite_ore", + "weight": 5 + }, + { + "block": "gtceu:rhyolite_spodumene_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_salt_ore", + "weight": 80 + }, + { + "block": "gtceu:dacite_rock_salt_ore", + "weight": 10 + }, + { + "block": "gtceu:dacite_lepidolite_ore", + "weight": 5 + }, + { + "block": "gtceu:dacite_spodumene_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_salt_ore", + "weight": 80 + }, + { + "block": "gtceu:andesite_rock_salt_ore", + "weight": 10 + }, + { + "block": "gtceu:andesite_lepidolite_ore", + "weight": 5 + }, + { + "block": "gtceu:andesite_spodumene_ore", + "weight": 5 + } + ] + } + ], + "indicator": { + "rarity": 20, + "depth": 30, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:rock_salt_indicator", + "weight": 5 + }, + { + "block": "gtceu:rock_salt_bud_indicator", + "weight": 5 + }, + { + "block": "gtceu:salt_indicator", + "weight": 40 + }, + { + "block": "gtceu:salt_bud_indicator", + "weight": 40 + }, + { + "block": "gtceu:lepidolite_indicator", + "weight": 5 + }, + { + "block": "gtceu:spodumene_indicator", + "weight": 5 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_sulfur.json b/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_sulfur.json new file mode 100644 index 000000000..acc09cbcb --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_sulfur.json @@ -0,0 +1,136 @@ +{ + "__credits__": "This vein was automatically generated by OresToFieldGuide.", + "type": "tfc:cluster_vein", + "config": { + "size": 20, + "rarity": 30, + "density": 0.2, + "min_y": 40, + "max_y": 65, + "random_name": "venus_manual_sulfur", + "blocks": [ + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_sulfur_ore", + "weight": 80 + }, + { + "block": "gtceu:dripstone_pyrite_ore", + "weight": 15 + }, + { + "block": "gtceu:dripstone_sphalerite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "ad_astra:venus_stone" + ], + "with": [ + { + "block": "gtceu:venus_stone_sulfur_ore", + "weight": 80 + }, + { + "block": "gtceu:venus_stone_pyrite_ore", + "weight": 15 + }, + { + "block": "gtceu:venus_stone_sphalerite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt", + "minecraft:basalt" + ], + "with": [ + { + "block": "gtceu:basalt_sulfur_ore", + "weight": 80 + }, + { + "block": "gtceu:basalt_pyrite_ore", + "weight": 15 + }, + { + "block": "gtceu:basalt_sphalerite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_sulfur_ore", + "weight": 80 + }, + { + "block": "gtceu:rhyolite_pyrite_ore", + "weight": 15 + }, + { + "block": "gtceu:rhyolite_sphalerite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_sulfur_ore", + "weight": 80 + }, + { + "block": "gtceu:dacite_pyrite_ore", + "weight": 15 + }, + { + "block": "gtceu:dacite_sphalerite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_sulfur_ore", + "weight": 80 + }, + { + "block": "gtceu:andesite_pyrite_ore", + "weight": 15 + }, + { + "block": "gtceu:andesite_sphalerite_ore", + "weight": 5 + } + ] + } + ], + "indicator": { + "rarity": 20, + "depth": 30, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/salt.json b/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/salt.json deleted file mode 100644 index ca56083f5..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/salt.json +++ /dev/null @@ -1,208 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "height": 6, - "size": 20, - "rarity": 30, - "density": 0.2, - "min_y": 40, - "max_y": 65, - "random_name": "venus_manual_salt", - "blocks": [ - { - "replace": [ - "ad_astra:venus_stone" - ], - "with": [ - { - "block": "gtceu:venus_stone_rock_salt_ore", - "weight": 10 - }, - { - "block": "gtceu:raw_salt_block", - "weight": 1 - }, - { - "block": "gtceu:venus_stone_salt_ore", - "weight": 80 - }, - { - "block": "gtceu:venus_stone_lepidolite_ore", - "weight": 5 - }, - { - "block": "gtceu:venus_stone_spodumene_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "minecraft:dripstone_block" - ], - "with": [ - { - "block": "gtceu:dripstone_rock_salt_ore", - "weight": 10 - }, - { - "block": "gtceu:raw_salt_block", - "weight": 1 - }, - { - "block": "gtceu:dripstone_salt_ore", - "weight": 80 - }, - { - "block": "gtceu:dripstone_lepidolite_ore", - "weight": 5 - }, - { - "block": "gtceu:dripstone_spodumene_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_rock_salt_ore", - "weight": 10 - }, - { - "block": "gtceu:raw_salt_block", - "weight": 1 - }, - { - "block": "gtceu:rhyolite_salt_ore", - "weight": 80 - }, - { - "block": "gtceu:rhyolite_lepidolite_ore", - "weight": 5 - }, - { - "block": "gtceu:rhyolite_spodumene_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_rock_salt_ore", - "weight": 10 - }, - { - "block": "gtceu:raw_salt_block", - "weight": 1 - }, - { - "block": "gtceu:basalt_salt_ore", - "weight": 80 - }, - { - "block": "gtceu:basalt_lepidolite_ore", - "weight": 5 - }, - { - "block": "gtceu:basalt_spodumene_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_rock_salt_ore", - "weight": 10 - }, - { - "block": "gtceu:raw_salt_block", - "weight": 1 - }, - { - "block": "gtceu:andesite_salt_ore", - "weight": 80 - }, - { - "block": "gtceu:andesite_lepidolite_ore", - "weight": 5 - }, - { - "block": "gtceu:andesite_spodumene_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_rock_salt_ore", - "weight": 10 - }, - { - "block": "gtceu:raw_salt_block", - "weight": 1 - }, - { - "block": "gtceu:dacite_salt_ore", - "weight": 80 - }, - { - "block": "gtceu:dacite_lepidolite_ore", - "weight": 5 - }, - { - "block": "gtceu:dacite_spodumene_ore", - "weight": 5 - } - ] - } - ], - "indicator": { - "rarity": 10, - "depth": 30, - "underground_rarity": 40, - "underground_count": 180, - "blocks": [ - { - "block": "gtceu:rock_salt_indicator", - "weight": 5 - }, - { - "block": "gtceu:rock_salt_bud_indicator", - "weight": 5 - }, - { - "block": "gtceu:salt_indicator", - "weight": 40 - }, - { - "block": "gtceu:salt_bud_indicator", - "weight": 40 - }, - { - "block": "gtceu:lepidolite_indicator", - "weight": 5 - }, - { - "block": "gtceu:spodumene_indicator", - "weight": 5 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/sulfur.json b/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/sulfur.json deleted file mode 100644 index e9054a1dd..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/sulfur.json +++ /dev/null @@ -1,172 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "size": 20, - "rarity": 30, - "density": 0.2, - "min_y": 40, - "max_y": 65, - "random_name": "venus_manual_sulfur", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_sulfur_ore", - "weight": 80 - }, - { - "block": "gtceu:raw_sulfur_block", - "weight": 2 - }, - { - "block": "gtceu:rhyolite_pyrite_ore", - "weight": 15 - }, - { - "block": "gtceu:rhyolite_sphalerite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt", - "minecraft:basalt" - ], - "with": [ - { - "block": "gtceu:basalt_sulfur_ore", - "weight": 80 - }, - { - "block": "gtceu:raw_sulfur_block", - "weight": 2 - }, - { - "block": "gtceu:basalt_pyrite_ore", - "weight": 15 - }, - { - "block": "gtceu:basalt_sphalerite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "minecraft:dripstone_block" - ], - "with": [ - { - "block": "gtceu:dripstone_sulfur_ore", - "weight": 80 - }, - { - "block": "gtceu:raw_sulfur_block", - "weight": 2 - }, - { - "block": "gtceu:dripstone_pyrite_ore", - "weight": 15 - }, - { - "block": "gtceu:dripstone_sphalerite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "ad_astra:venus_stone" - ], - "with": [ - { - "block": "gtceu:venus_stone_sulfur_ore", - "weight": 80 - }, - { - "block": "gtceu:raw_sulfur_block", - "weight": 2 - }, - { - "block": "gtceu:venus_stone_pyrite_ore", - "weight": 15 - }, - { - "block": "gtceu:venus_stone_sphalerite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_sulfur_ore", - "weight": 80 - }, - { - "block": "gtceu:raw_sulfur_block", - "weight": 2 - }, - { - "block": "gtceu:andesite_pyrite_ore", - "weight": 15 - }, - { - "block": "gtceu:andesite_sphalerite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_sulfur_ore", - "weight": 80 - }, - { - "block": "gtceu:raw_sulfur_block", - "weight": 2 - }, - { - "block": "gtceu:dacite_pyrite_ore", - "weight": 15 - }, - { - "block": "gtceu:dacite_sphalerite_ore", - "weight": 5 - } - ] - } - ], - "indicator": { - "rarity": 20, - "depth": 30, - "underground_rarity": 40, - "underground_count": 180, - "blocks": [ - { - "block": "gtceu:sulfur_indicator", - "weight": 80 - }, - { - "block": "gtceu:pyrite_indicator", - "weight": 15 - }, - { - "block": "tfc:ore/small_sphalerite", - "weight": 5 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json b/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json index 2bdc4c768..f570cfa9b 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json @@ -1,5 +1,27 @@ { - "feature": "gtceu:raw_oil_sprout", + "feature": { + "type": "minecraft:simple_random_selector", + "config": { + "features": [ + { + "feature": "tfg:earth/spouts/oil_spout", + "placement": [] + }, + { + "feature": "tfg:earth/spouts/light_oil_spout", + "placement": [] + }, + { + "feature": "tfg:earth/spouts/heavy_oil_spout", + "placement": [] + }, + { + "feature": "tfg:earth/spouts/raw_oil_spout", + "placement": [] + } + ] + } + }, "placement": [ { "type": "minecraft:rarity_filter", @@ -9,7 +31,7 @@ "type": "tfc:climate", "min_temperature": 0, "min_rainfall": 0, - "max_rainfall": 100 + "max_rainfall": 120 }, { "type": "minecraft:in_square" diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/desert_oilsands.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/desert_oilsands.json new file mode 100644 index 000000000..0ffca76ee --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/desert_oilsands.json @@ -0,0 +1,10 @@ +{ + "feature": "tfg:earth/vein/desert_oilsands", + "placement": [ + { + "type": "tfc:climate", + "min_rainfall": 0, + "max_rainfall": 120 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_tarkianite.json b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_tarkianite.json index b65ab875b..08f6e3a64 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_tarkianite.json +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_tarkianite.json @@ -1,14 +1,4 @@ { - - - - - "__credits__": "REVERT THIS FILE AFTER RUNNING ORES TO FIELD GUIDE. Otherwise it wipes the climate stuff.", - - - - - "feature": "tfg:earth/vein/normal_tarkianite", "placement": [ { diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/volcano_spout.json b/kubejs/data/tfg/worldgen/placed_feature/earth/volcano_spout.json new file mode 100644 index 000000000..02a680eef --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/volcano_spout.json @@ -0,0 +1,25 @@ +{ + "feature": "tfg:earth/spouts/lava_spout", + "placement": [ + { + "type": "tfc:volcano", + "center": true + }, + { + "type": "minecraft:rarity_filter", + "chance": 3 + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": -10 + }, + "min_inclusive": { + "absolute": -45 + } + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/salt.json b/kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/salt.json index 0d2f4aca3..603541018 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/salt.json +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/salt.json @@ -1,4 +1,4 @@ { - "feature": "tfg:venus/vein_manual/salt", + "feature": "tfg:venus/vein/venus_manual_salt", "placement": [] } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/sulfur.json b/kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/sulfur.json index 7979b73a1..a72e67a02 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/sulfur.json +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/sulfur.json @@ -1,4 +1,4 @@ { - "feature": "tfg:venus/vein_manual/sulfur", + "feature": "tfg:venus/vein/venus_manual_sulfur", "placement": [] } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/worldgen/tags.overworld.js b/kubejs/server_scripts/tfg/worldgen/tags.overworld.js index 4bebe7ca2..b9e6ca6ce 100644 --- a/kubejs/server_scripts/tfg/worldgen/tags.overworld.js +++ b/kubejs/server_scripts/tfg/worldgen/tags.overworld.js @@ -77,6 +77,7 @@ function registerTFGOverworldPlacedFeatures(event) { // Tarkianite event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_tarkianite') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/desert_oilsands') // Add back the non-ore ones event.add("tfc:in_biome/veins", "tfc:vein/gravel"); @@ -103,4 +104,5 @@ function registerTFGOverworldPlacedFeatures(event) { event.add("tfc:in_biome/underground_decoration", "tfg:glow_lichen"); event.add("tfc:in_biome/underground_decoration", "tfg:earth/sulfur_patch"); event.add("tfc:in_biome/underground_decoration", "tfg:earth/oil_spout"); + event.add("tfc:in_biome/underground_decoration", "tfg:earth/volcano_spout"); } \ No newline at end of file From 783a87b2ff2fca786d6164c1b400e34065d65bdf Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 29 Jan 2026 23:50:11 +0000 Subject: [PATCH 256/474] fix #2909 --- CHANGELOG.md | 1 + kubejs/server_scripts/exposure/recipes.js | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a8df34b39..896a20071 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,6 +40,7 @@ - Fixed the dye colors used to make Create Deco's bricks (#2859) @silllil - Fixed the Electric Greenhouse outputting way less Chorus Fruit than before @Pyritie - Fixed the hot ingot icons for Ostrum and Vanadium ingots looking inconsistent with the regular ingots (#2875) @RubenVerg +- Fixed pyrogallol and black and white film developer requiring too high of a heat on the pot recipe (#2909) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/kubejs/server_scripts/exposure/recipes.js b/kubejs/server_scripts/exposure/recipes.js index 3bb130821..b524e344b 100644 --- a/kubejs/server_scripts/exposure/recipes.js +++ b/kubejs/server_scripts/exposure/recipes.js @@ -67,25 +67,25 @@ const registerExposureRecipes = (event) => { // Creating the developer // Pyrogallol - event.recipes.tfc.pot(['tfc:powder/saltpeter'], Fluid.of('tfc:tannin', 500), 30 * 20, 750) + event.recipes.tfc.pot(['tfc:powder/saltpeter'], Fluid.of('tfc:tannin', 500), 30 * 20, 650) .itemOutput('tfg:pyrogallol_dust') .id('tfg:pot/tannin_to_pyrogallol_saltpeter') - event.recipes.tfc.pot(['tfc:powder/soda_ash'], Fluid.of('tfc:tannin', 500), 30 * 20, 750) + event.recipes.tfc.pot(['tfc:powder/soda_ash'], Fluid.of('tfc:tannin', 500), 30 * 20, 650) .itemOutput('tfg:pyrogallol_dust') .id('tfg:pot/tannin_to_pyrogallol_soda_ash') event.recipes.firmalife.vat() .inputs('tfc:powder/saltpeter', Fluid.of('tfc:tannin', 500)) .length(30 * 20) - .temperature(750) + .temperature(650) .outputItem('tfg:pyrogallol_dust') .id('tfg:vat/tannin_to_pyrogallol_saltpeter') event.recipes.firmalife.vat() .inputs('tfc:powder/soda_ash', Fluid.of('tfc:tannin', 500)) .length(30 * 20) - .temperature(750) + .temperature(650) .outputItem('tfg:pyrogallol_dust') .id('tfg:vat/tannin_to_soda_ash') @@ -104,7 +104,7 @@ const registerExposureRecipes = (event) => { .EUt(7) // Developer - event.recipes.tfc.pot(['#forge:dusts/pyrogallol', 'tfc:powder/soda_ash', 'tfc:powder/sulfur', '#exposure:black_printing_dyes'], Fluid.of('tfc:lye', 1000), 30 * 20, 750) + event.recipes.tfc.pot(['#forge:dusts/pyrogallol', 'tfc:powder/soda_ash', 'tfc:powder/sulfur', '#exposure:black_printing_dyes'], Fluid.of('tfc:lye', 1000), 30 * 20, 550) .fluidOutput(Fluid.of('tfg:bw_photographic_developer', 1000)) .id('tfg:pot/bw_developer') From a0085fa56b8645abcadb0729fd591d7837db5350 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 29 Jan 2026 23:50:17 +0000 Subject: [PATCH 257/474] fix #2905 --- CHANGELOG.md | 1 + kubejs/server_scripts/tfg/primitive/recipes.clay.js | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 896a20071..8e27d4714 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -41,6 +41,7 @@ - Fixed the Electric Greenhouse outputting way less Chorus Fruit than before @Pyritie - Fixed the hot ingot icons for Ostrum and Vanadium ingots looking inconsistent with the regular ingots (#2875) @RubenVerg - Fixed pyrogallol and black and white film developer requiring too high of a heat on the pot recipe (#2909) @Pyritie +- Fixed not being able to fire scraping blade clay mold (#2905) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/kubejs/server_scripts/tfg/primitive/recipes.clay.js b/kubejs/server_scripts/tfg/primitive/recipes.clay.js index 0b256107b..dec812be3 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.clay.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.clay.js @@ -43,6 +43,7 @@ function registerTFGClayRecipes(event) { { input: "tfc:ceramic/unfired_spindle_head", output: "tfc:ceramic/spindle_head", name: "spindle_head" }, { input: "tfc:ceramic/unfired_vessel", output: "tfc:ceramic/vessel", name: "vessel" }, { input: "tfc:ceramic/unfired_large_vessel", output: "tfc:ceramic/large_vessel", name: "large_vessel" }, + { input: "tfcscraping:ceramic/unfired_scraping_knife_blade_mold", output: "tfcscraping:ceramic/scraping_knife_blade_mold", name: "scraping_knife" }, { input: "tfcchannelcasting:unfired_channel", output: "tfcchannelcasting:channel", name: "channel" }, { input: "tfcchannelcasting:unfired_mold_table", output: "tfcchannelcasting:mold_table", name: "mold_table" }, { input: "firmalife:oven_top", output: "firmalife:cured_oven_top", name: "oven_top" }, From 0d64c4df4f5367a9983567d195724cbf5842bd74 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 30 Jan 2026 00:47:38 +0000 Subject: [PATCH 258/474] #2876 --- CHANGELOG.md | 2 + kubejs/server_scripts/create/recipes.js | 19 ++++--- .../tfg/natural_blocks/recipes.rocks.js | 54 ++++++++++++++++++- .../server_scripts/tfg/recipes.temporary.js | 2 +- 4 files changed, 69 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e27d4714..05d2891c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,8 @@ - Deserts now contain oil spouts for heavy, raw, light, and normal oils @Pyritie - Oilsands veins are now smaller across most of the world, except the huge ones have been moved to the desert @Pyritie - Some volcanoes should now have much bigger amounts of lava underneath them, for more lava needs, but also infinite obsidian via the rock breaker has been removed. (Use a fluid solidifier instead) @Pyritie +- Added manual/automated sanding recipes for making smooth stone (#2876) @Pyritie +- Added deployer recipes for all the in-world block modification recipes (#2876) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 864673961..9dfed7c04 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -58,7 +58,10 @@ const registerCreateRecipes = (event) => { // Remove Table Cloth recipes global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.remove([{ id: `create:crafting/logistics/${dye}_table_cloth` }, { id: `create:crafting/logistics/${dye}_table_cloth_from_other_table_cloth` }]) + event.remove([ + { id: `create:crafting/logistics/${dye}_table_cloth` }, + { id: `create:crafting/logistics/${dye}_table_cloth_from_other_table_cloth` } + ]) }) event.remove({ type: 'minecraft:stonecutting', input: 'create:andesite_alloy' }) @@ -1412,17 +1415,21 @@ const registerCreateRecipes = (event) => { event.remove({ id: `create:create.toolbox.color.block.create.${dye}_toolbox` }) event.recipes.tfc.barrel_sealed(1000) - .inputs('create:brown_toolbox', Fluid.of(`tfc:${dye}_dye`, 288)) - .outputItem(`create:${dye}_toolbox`) + .inputs('#create:toolboxes', Fluid.of(`tfc:${dye}_dye`, 288)) + .outputItem(TFC.isp.of(`create:${dye}_toolbox`).simpleModifier('tfg:copy_nbt').asCanonClass()) .id(`barrel/create/${dye}_toolbox`) - event.recipes.gtceu.chemical_bath(`create/${dye}_toolbox`) - .itemInputs('create:brown_toolbox') + event.recipes.gtceu.food_processor(`create/${dye}_toolbox`) + .itemInputs('#create:toolboxes') .inputFluids(Fluid.of(`tfc:${dye}_dye`, 288)) .itemOutputs(`create:${dye}_toolbox`) .duration(200) .EUt(4) - .category(GTRecipeCategories.CHEM_DYES) + + $ISPRecipeLogic.RegisterRecipeData(`food_processor/create/${dye}_toolbox`, + [Ingredient.of('#create:toolboxes')], + TFC.isp.of(`create:${dye}_toolbox`).simpleModifier('tfg:copy_nbt').asCanonClass(), + []) } }) diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index a3be60a35..262c47dd9 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -198,13 +198,22 @@ function registerTFGRockRecipes(event) { // Cobble to mossy cobble if (rock.cobble != null && rock.cobble.mossy != null) { - event.recipes.gtceu.mixer(`tfg:${rockId}_cobble_rocks_to_mossy_cobble`) + event.recipes.gtceu.mixer(`tfg:${rockId}_cobble_to_mossy_cobble`) .itemInputs(rock.cobble.block, '#tfc:compost_greens_low') .circuit(1) .inputFluids("#tfg:clean_water 144") .itemOutputs(rock.cobble.mossy.block) .duration(50) .EUt(2) + + event.recipes.create.deploying(rock.cobble.mossy.block, [ rock.cobble.block, '#tfc:compost_greens_low' ]) + .id(`tfg:deploying/${rockId}_cobble_to_mossy_cobble`) + + event.recipes.create.deploying(rock.cobble.block, [ rock.cobble.mossy.block, 'tfc:groundcover/pumice' ]) + .id(`tfg:deploying/${rockId}_mossy_cobble_to_cobble_pumice`) + + event.recipes.create.deploying(rock.cobble.block, [ rock.cobble.mossy.block, '#forge:tools/knives' ]) + .id(`tfg:deploying/${rockId}_mossy_cobble_to_cobble_knife`) } // Bricks to brick blocks @@ -227,6 +236,20 @@ function registerTFGRockRecipes(event) { .circuit(1) .duration(50) .EUt(2) + + event.recipes.create.sequenced_assembly(`4x ${rock.bricks.block}`, rock.brick, [ + event.recipes.create.deploying(rock.brick, [rock.brick, rock.brick]), + event.recipes.create.deploying(rock.brick, [rock.brick, 'tfc:mortar']) + ]) + .transitionalItem(rock.brick) + .loops(4) + .id(`tfg:deploying/${rockId}_brick_to_bricks`) + } + + // Bricks to smooth + if (rock.bricks != null && rock.polished != null) { + event.recipes.create.sandpaper_polishing(rock.polished.block, rock.bricks.block) + .id(`tfg:polishing/${rockId}_brick_to_polished`) } // Bricks to mossy bricks @@ -238,8 +261,24 @@ function registerTFGRockRecipes(event) { .itemOutputs(rock.bricks.mossy.block) .duration(50) .EUt(2) + + event.recipes.create.deploying(rock.bricks.mossy.block, [ rock.bricks.block, '#tfc:compost_greens_low' ]) + .id(`tfg:deploying/${rockId}_bricks_to_mossy_bricks`) + + event.recipes.create.deploying(rock.bricks.block, [ rock.bricks.mossy.block, 'tfc:groundcover/pumice' ]) + .id(`tfg:deploying/${rockId}_mossy_bricks_to_bricks_pumice`) + + event.recipes.create.deploying(rock.bricks.block, [ rock.bricks.mossy.block, '#forge:tools/knives' ]) + .id(`tfg:deploying/${rockId}_mossy_bricks_to_bricks_knife`) + + // Mossy bricks to smooth + if (rock.bricks.mossy != null && rock.polished != null) { + event.recipes.create.sandpaper_polishing(rock.polished.block, rock.bricks.mossy.block) + .id(`tfg:polishing/${rockId}_mossy_brick_to_polished`) + } } + // Bricks to cracked bricks if (rock.bricks != null && rock.bricks.cracked != null) { if (!rock.isTFC) { @@ -258,8 +297,18 @@ function registerTFGRockRecipes(event) { event.recipes.greate.pressing(rock.bricks.cracked.block, rock.bricks.block) .recipeTier(0) .id(`tfg:pressing/${rockId}_bricks_to_cracked`); + + event.recipes.create.deploying(rock.bricks.block, [ rock.bricks.cracked.block, 'tfc:mortar' ]) + .id(`tfg:deploying/${rockId}_cracked_bricks_to_bricks`) + + // Cracked bricks to smooth + if (rock.bricks.cracked != null && rock.polished != null) { + event.recipes.create.sandpaper_polishing(rock.polished.block, rock.bricks.cracked.block) + .id(`tfg:polishing/${rockId}_cracked_brick_to_polished`) + } } + // Raw to polished if (rock.raw != null && rock.polished != null) { rawToPolished(`${rockId}_raw_to_polished`, !rock.isTFC, rock.raw.block, rock.polished.block); @@ -271,6 +320,9 @@ function registerTFGRockRecipes(event) { .itemOutputs(`8x ${rock.polished.block}`) .duration(250) .EUt(8) + + event.recipes.create.sandpaper_polishing(rock.polished.block, rock.raw.block) + .id(`tfg:polishing/${rockId}_raw_to_polished`) } if (rock.hardened != null && rock.polished != null) { diff --git a/kubejs/server_scripts/tfg/recipes.temporary.js b/kubejs/server_scripts/tfg/recipes.temporary.js index b59260605..68d907bd4 100644 --- a/kubejs/server_scripts/tfg/recipes.temporary.js +++ b/kubejs/server_scripts/tfg/recipes.temporary.js @@ -35,7 +35,7 @@ function registerTFGTemporaryRecipes(event) { event.shapeless('tfg:metamorphic_dust', 'gtceu:marble_dust') event.shapeless('tfg:metamorphic_dust', 'gtceu:deepslate_dust') event.shapeless('tfg:igneous_ultramafic_dust', 'gtceu:blackstone_dust') - event.shapeless('tfg:igneous_felsic_dust', 'gtceu:red_granite_dust') + event.shapeless('tfg:igneous_felsic_dust', 'gtceu:granite_red_dust') event.shapeless('tfg:igneous_mafic_dust', 'gtceu:basalt_dust') // TODO: remove nether/ender air in 0.12 From 438a2349c3c7591b9b53d8d204276a2653f835da Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 30 Jan 2026 00:49:28 +0000 Subject: [PATCH 259/474] #2904 Related Work Items: #29 --- CHANGELOG.md | 1 + kubejs/server_scripts/tfc/recipes.js | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 05d2891c9..7ca6559cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,7 @@ - Some volcanoes should now have much bigger amounts of lava underneath them, for more lava needs, but also infinite obsidian via the rock breaker has been removed. (Use a fluid solidifier instead) @Pyritie - Added manual/automated sanding recipes for making smooth stone (#2876) @Pyritie - Added deployer recipes for all the in-world block modification recipes (#2876) @Pyritie +- Added recipe to convert kaolin clay blocks back into kaolin clay (#2904) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 692fb88a4..577940b86 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -252,4 +252,8 @@ const registerTFCRecipes = (event) => { .EUt(2); event.shapeless('4x tfc:fire_clay', ['tfc:fire_clay_block']) + + event.shapeless('4x tfc:kaolin_clay', ['tfc:white_kaolin_clay']) + event.shapeless('4x tfc:kaolin_clay', ['tfc:pink_kaolin_clay']) + event.shapeless('4x tfc:kaolin_clay', ['tfc:red_kaolin_clay']) } From 4462abee2c8c3dceb9a2166ee82c183cd0f1f74e Mon Sep 17 00:00:00 2001 From: Coox1e <166007852+Coox1e@users.noreply.github.com> Date: Fri, 30 Jan 2026 13:44:56 +1100 Subject: [PATCH 260/474] Added assembler recipe for framed cube (#2889) Signed-off-by: Coox1e <166007852+Coox1e@users.noreply.github.com> --- kubejs/server_scripts/framed_blocks/recipes.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kubejs/server_scripts/framed_blocks/recipes.js b/kubejs/server_scripts/framed_blocks/recipes.js index 571a8438b..86807a155 100644 --- a/kubejs/server_scripts/framed_blocks/recipes.js +++ b/kubejs/server_scripts/framed_blocks/recipes.js @@ -385,6 +385,13 @@ const registerFramedBlocksRecipes = (event) => { A: '#minecraft:planks', B: '#forge:rods/wooden' }).id('framedblocks:framed_cube') + + event.recipes.gtceu.assembler('tfg:assembler/framedblocks/framed_cube') + .itemInputs('4x #minecraft:planks', '4x #forge:rods/wooden') + .circuit(8) + .itemOutputs('framedblocks:framed_cube') + .duration(40) + .EUt(GTValues.VA[GTValues.ULV]) // Framed Fence event.shaped('3x framedblocks:framed_fence', [ From 00e5a9b85f810fd115f13498bf1f2fa176e1b8d7 Mon Sep 17 00:00:00 2001 From: Yan <115050813@qq.com> Date: Fri, 30 Jan 2026 20:19:48 +0800 Subject: [PATCH 261/474] Update zh_cn translation for patchouli_book of corps and bloomery (#2911) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: update zh_cn translation for new drinkings * feat: update zh_cn lang for patchouli book * feat: update zh_cn translation for tfg patchouli_book * feat: update zh_cn for patchouli_book corps and bloomery * fix: fix conflicts --------- Co-authored-by: 闫茂源 --- .../zh_cn/entries/mechanics/bloomery.json | 2 +- .../zh_cn/entries/mechanics/crops.json | 23 +++++++++++++------ 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/bloomery.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/bloomery.json index 9cda74328..6ccf049c2 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/bloomery.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/bloomery.json @@ -34,7 +34,7 @@ }, { "type": "patchouli:text", - "text": "若你不想费心计算配比,我们推荐使用$(item)25份金属矿粉$()和$(item)22份燃料$()的组合。在投入所需的$(thing)燃料$()和$(thing)矿石$()后,点燃锻铁炉方块并等上 15 小时。锻铁炉熄灭后会留下许多方坯方块。用镐反复挖掘$(thing)方坯$()便能得到$(thing)生铁方坯$()。" + "text": "若你不想费心计算配比,我们推荐使用$(item)25份金属矿粉$()和$(item)22份燃料$()的组合。在投入所需的$(thing)燃料$()和$(thing)矿石$()后,点燃锻铁炉门并等上 15 小时。锻铁炉熄灭后会留下许多方坯方块。用镐反复挖掘$(thing)方坯$()便能得到$(thing)生铁方坯$()。" }, { "type": "patchouli:multiblock", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json index 2dad79376..c6189f085 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json @@ -12,6 +12,15 @@ "type": "patchouli:text", "text": "除了从野生作物获取种子,栽培作物也会产出种子。当一株完全成熟的作物不论是因为天气原因,或是过了收获时节而枯萎时就会转变为种子,为下一季种植更多作物提供了保障。" }, + { + "type": "patchouli:text", + "title": "目录", + "text": "$(li)$(l:tfc:mechanics/crops#barley)大麦$()$(li)$(l:tfc:mechanics/crops#beet)甜菜$()$(li)$(l:tfc:mechanics/crops#cabbage)卷心菜$()$(li)$(l:tfc:mechanics/crops#canola)油菜$()$(li)$(l:tfc:mechanics/crops#carrot)胡萝卜$()$(li)$(l:tfc:mechanics/crops#flax)亚麻$()$(li)$(l:tfc:mechanics/crops#garlic)大蒜$()$(li)$(l:tfc:mechanics/crops#green_bean)绿豆$()$(li)$(l:tfc:mechanics/crops#jute)黄麻$()$(li)$(l:tfc:mechanics/crops#maize)玉米$()$(li)$(l:tfc:mechanics/crops#melon)西瓜$()$(li)$(l:tfc:mechanics/crops#oat)燕麦$()$(li)$(l:tfc:mechanics/crops#onion)洋葱$()" + }, + { + "type": "patchouli:text", + "text": "$(li)$(l:tfc:mechanics/crops#papyrus)纸莎草$()$(li)$(l:tfc:mechanics/crops#potato)马铃薯$()$(li)$(l:tfc:mechanics/crops#pumpkin)南瓜$()$(li)$(l:tfc:mechanics/crops#red_bell_pepper)红甜椒$()$(li)$(l:tfc:mechanics/crops#rice)大米$()$(li)$(l:tfc:mechanics/crops#rye)黑麦$()$(li)$(l:tfc:mechanics/crops#soybean)大豆$()$(li)$(l:tfc:mechanics/crops#squash)西葫芦$()$(li)$(l:tfc:mechanics/crops#sugarcane)甘蔗$()$(li)$(l:tfc:mechanics/crops#sunflower)向日葵$()$(li)$(l:tfc:mechanics/crops#tomatoes)西红柿$()$(li)$(l:tfc:mechanics/crops#wheat)小麦$()$(li)$(l:tfc:mechanics/crops#yellow_bell_pepper)黄甜椒$()" + }, { "type": "tfc:rock_knapping_recipe", "title": "Contents", @@ -780,7 +789,7 @@ }, { "type": "tfc:multimultiblock", - "text": "", + "text": "注意:种植水稻种子的方块必须$(thing)含水$()。", "multiblocks": [ { "pattern": [ @@ -3308,8 +3317,8 @@ { "type": "patchouli:text", "anchor": "sunflower", - "text": "$(bold)$(l:the_world/climate#temperature)温度$(): -5 - 25 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 10 - 60 %$(br)$(bold)营养物质$():磷$(br2)油菜是一种两格高的作物。油菜种子可种植在耕地上,生长到两格高,并生产可加工为$(thing)种子油$()的$(item)油菜籽荚$()。种子油既可用作灯油,也可在后期用于制作$(thing)生物柴油$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,油菜同样被视为有效花源。", - "title": "油菜" + "text": "$(bold)$(l:the_world/climate#temperature)温度$():5 - 40 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():20 - 80 %$(br)$(bold)营养物质$():氮$(br2)向日葵是一种两格高的作物。向日葵种子可以种植在耕地上,生长到两格高,并生产可加工为$(thing)种子油$()的$(item)向日葵花盘$()。种子油既可用作灯油,也可在后期用于制作$(thing)生物柴油$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,向日葵同样被视为有效花源。", + "title": "向日葵" }, { "type": "tfc:multimultiblock", @@ -3467,8 +3476,8 @@ { "type": "patchouli:text", "anchor": "canola", - "text": "$(bold)$(l:the_world/climate#temperature)温度$():5 - 37 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():25 - 100 %$(br)$(bold)营养物质$():氮$(br2)亚麻是一种两格高的农作物。亚麻种子可以种植在耕地上,生长到两格高,并生产用于加工为$(thing)亚麻布$()的$(item)亚麻茎杆$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,亚麻同样被视为有效花源。", - "title": "亚麻" + "text": "$(bold)$(l:the_world/climate#temperature)温度$(): -5 - 25 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 10 - 60 %$(br)$(bold)营养物质$():磷$(br2)油菜是一种两格高的作物。油菜种子可种植在耕地上,生长到两格高,并生产可加工为$(thing)种子油$()的$(item)油菜籽荚$()。种子油既可用作灯油,也可在后期用于制作$(thing)生物柴油$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,油菜同样被视为有效花源。", + "title": "油菜" }, { "type": "tfc:multimultiblock", @@ -3627,8 +3636,8 @@ { "type": "patchouli:text", "anchor": "flax", - "text": "$(bold)$(l:the_world/climate#temperature)Temperature$(): -8 - 25 °C$(br)$(bold)$(l:mechanics/hydration)Hydration$(): 15 - 65 %$(br)$(bold)Nutrient$(): Nitrogen$(br2)Flax is a two block tall crop. Flax seeds can be planted on farmland, will grow two blocks tall, and will produce $(item)Flax Stems$() which can be processed into $(thing)Linen$() or $(thing)Burlap$().$(br)Flax also counts as a Flower for the purposes of $(l:firmalife/beekeeping)Beekeeping$().", - "title": "Flax" + "text": "$(bold)$(l:the_world/climate#temperature)温度$():5 - 37 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():25 - 100 %$(br)$(bold)营养物质$():氮$(br2)亚麻是一种两格高的农作物。亚麻种子可以种植在耕地上,生长到两格高,并生产用于加工为$(thing)亚麻布$()的$(item)亚麻茎杆$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,亚麻同样被视为有效花源。", + "title": "亚麻" }, { "type": "tfc:multimultiblock", From cafa289f76a4a9838080d44b69c904c3f59061e5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 30 Jan 2026 21:45:00 +0000 Subject: [PATCH 262/474] remove create stock bridge #2915 --- .../create_stock_bridge/recipes.js | 28 ++++---- kubejs/server_scripts/main_server_script.js | 2 +- pakku-lock.json | 70 ------------------- 3 files changed, 15 insertions(+), 85 deletions(-) diff --git a/kubejs/server_scripts/create_stock_bridge/recipes.js b/kubejs/server_scripts/create_stock_bridge/recipes.js index 4cfa8fddd..6cce7de17 100644 --- a/kubejs/server_scripts/create_stock_bridge/recipes.js +++ b/kubejs/server_scripts/create_stock_bridge/recipes.js @@ -1,17 +1,17 @@ -"use strict"; +//"use strict"; -function registerCreateStockBridgeRecipes(event) { +//function registerCreateStockBridgeRecipes(event) { - event.remove({ id: 'createstockbridge:ae_bridge' }) +// event.remove({ id: 'createstockbridge:ae_bridge' }) - event.shaped('createstockbridge:ae_bridge', [ - 'ACF', - 'DBD' - ], { - A: 'ae2:fluix_pearl', - B: 'ae2:interface', - C: 'create:stock_link', - D: 'ae2:engineering_processor', - F: '#forge:exquisite_gems/rose_quartz' - }) -} \ No newline at end of file +// event.shaped('createstockbridge:ae_bridge', [ +// 'ACF', +// 'DBD' +// ], { +// A: 'ae2:fluix_pearl', +// B: 'ae2:interface', +// C: 'create:stock_link', +// D: 'ae2:engineering_processor', +// F: '#forge:exquisite_gems/rose_quartz' +// }) +//} \ No newline at end of file diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index e0cddeb76..408acefbb 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -237,7 +237,7 @@ ServerEvents.recipes(event => { registerCreateFactoryLogisticsRecipes(event) registerCreateHorsePowerBlockRecipes(event) registerCreateHypertubeRecipes(event) - registerCreateStockBridgeRecipes(event) + //registerCreateStockBridgeRecipes(event) registerDeaFissionRecipes(event) registerDiggerHelmetRecipes(event) registerDomumOrnamentumRecipes(event) diff --git a/pakku-lock.json b/pakku-lock.json index 28949f71e..54b43aefc 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -3963,76 +3963,6 @@ } ] }, - { - "pakku_id": "Dzg6pHg5yCqd3AP6", - "pakku_links": [ - "Nw8xTCQngHA15ilh" - ], - "type": "MOD", - "side": "BOTH", - "slug": { - "curseforge": "create-stock-bridge", - "modrinth": "create-stock-bridge" - }, - "name": { - "curseforge": "Create Stock Bridge", - "modrinth": "Create Stock Bridge" - }, - "id": { - "curseforge": "1256341", - "modrinth": "V7mbOBO4" - }, - "files": [ - { - "type": "curseforge", - "file_name": "createstockbridge-1.20-0.1.5.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6784/442/createstockbridge-1.20-0.1.5.jar", - "id": "6784442", - "parent_id": "1256341", - "hashes": { - "sha1": "0fa15f11788e3bc3a812fc597ade17af33888952", - "md5": "1359e31326732aac28d21ded5371a9ef" - }, - "required_dependencies": [ - "223794", - "328085" - ], - "size": 170122, - "date_published": "2025-07-18T17:47:38.837Z" - }, - { - "type": "modrinth", - "file_name": "createstockbridge-1.20-0.1.5.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/V7mbOBO4/versions/rzBecedb/createstockbridge-1.20-0.1.5.jar", - "id": "rzBecedb", - "parent_id": "V7mbOBO4", - "hashes": { - "sha512": "ff39b4dd4a024dcb8018bde41d0f77a9321be9b9c6314eb7ea2d5070876d735fc72c0d46b1b27db75fa099062a8f95eb9d860396dd6e9dbc8aae7018a651cd51", - "sha1": "0fa15f11788e3bc3a812fc597ade17af33888952" - }, - "required_dependencies": [ - "XxWD5pD3", - "LNytGWDc" - ], - "size": 170122, - "date_published": "2025-07-18T17:47:40.706650Z" - } - ] - }, { "pakku_id": "Fu7EpxmtyqTkOiMR", "type": "MOD", From 6048c274210e0d730ee4e5e0bd0c9dc261b0c3f7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 30 Jan 2026 22:51:46 +0000 Subject: [PATCH 263/474] some more vexxed textures --- .../textures/item/ore/normal_chromite.png | Bin 0 -> 464 bytes .../textures/item/ore/poor_chromite.png | Bin 0 -> 539 bytes .../textures/item/ore/rich_chromite.png | Bin 0 -> 582 bytes .../textures/item/ore/small_chromite.png | Bin 0 -> 304 bytes .../block/berry_bush/blackberry_bush.png | Bin 0 -> 6591 bytes .../block/berry_bush/blackberry_cane.png | Bin 0 -> 6766 bytes .../textures/block/berry_bush/blueberry_bush.png | Bin 0 -> 7160 bytes .../textures/block/berry_bush/blueberry_cane.png | Bin 0 -> 7028 bytes .../block/berry_bush/bunchberry_bush.png | Bin 0 -> 651 bytes .../block/berry_bush/cloudberry_bush.png | Bin 0 -> 545 bytes .../textures/block/berry_bush/cranberry_bush.png | Bin 0 -> 6496 bytes .../tfc/textures/block/berry_bush/dead_bush.png | Bin 0 -> 6977 bytes .../tfc/textures/block/berry_bush/dead_cane.png | Bin 0 -> 6975 bytes .../block/berry_bush/dry_blackberry_bush.png | Bin 0 -> 589 bytes .../block/berry_bush/dry_blackberry_cane.png | Bin 0 -> 475 bytes .../block/berry_bush/dry_blueberry_bush.png | Bin 0 -> 716 bytes .../block/berry_bush/dry_blueberry_cane.png | Bin 0 -> 566 bytes .../block/berry_bush/dry_bunchberry_bush.png | Bin 0 -> 647 bytes .../block/berry_bush/dry_cloudberry_bush.png | Bin 0 -> 536 bytes .../block/berry_bush/dry_cranberry_bush.png | Bin 0 -> 6542 bytes .../block/berry_bush/dry_elderberry_bush.png | Bin 0 -> 564 bytes .../block/berry_bush/dry_elderberry_cane.png | Bin 0 -> 424 bytes .../block/berry_bush/dry_gooseberry_bush.png | Bin 0 -> 596 bytes .../block/berry_bush/dry_raspberry_bush.png | Bin 0 -> 7443 bytes .../block/berry_bush/dry_raspberry_cane.png | Bin 0 -> 6378 bytes .../block/berry_bush/dry_snowberry_bush.png | Bin 0 -> 749 bytes .../block/berry_bush/dry_strawberry_bush.png | Bin 0 -> 7223 bytes .../berry_bush/dry_wintergreen_berry_bush.png | Bin 0 -> 650 bytes .../block/berry_bush/elderberry_bush.png | Bin 0 -> 557 bytes .../block/berry_bush/elderberry_cane.png | Bin 0 -> 418 bytes .../berry_bush/flowering_blackberry_bush.png | Bin 0 -> 6911 bytes .../berry_bush/flowering_blackberry_cane.png | Bin 0 -> 6720 bytes .../berry_bush/flowering_blueberry_bush.png | Bin 0 -> 7523 bytes .../berry_bush/flowering_blueberry_cane.png | Bin 0 -> 6867 bytes .../berry_bush/flowering_bunchberry_bush.png | Bin 0 -> 741 bytes .../berry_bush/flowering_cloudberry_bush.png | Bin 0 -> 704 bytes .../berry_bush/flowering_cranberry_bush.png | Bin 0 -> 6519 bytes .../berry_bush/flowering_elderberry_bush.png | Bin 0 -> 704 bytes .../berry_bush/flowering_elderberry_cane.png | Bin 0 -> 430 bytes .../berry_bush/flowering_gooseberry_bush.png | Bin 0 -> 669 bytes .../berry_bush/flowering_raspberry_bush.png | Bin 0 -> 7901 bytes .../berry_bush/flowering_raspberry_cane.png | Bin 0 -> 6451 bytes .../berry_bush/flowering_snowberry_bush.png | Bin 0 -> 776 bytes .../berry_bush/flowering_strawberry_bush.png | Bin 0 -> 7482 bytes .../flowering_wintergreen_berry_bush.png | Bin 0 -> 710 bytes .../berry_bush/fruiting_blackberry_bush.png | Bin 0 -> 6844 bytes .../berry_bush/fruiting_blackberry_cane.png | Bin 0 -> 6715 bytes .../block/berry_bush/fruiting_blueberry_bush.png | Bin 0 -> 7497 bytes .../block/berry_bush/fruiting_blueberry_cane.png | Bin 0 -> 6860 bytes .../berry_bush/fruiting_bunchberry_bush.png | Bin 0 -> 722 bytes .../berry_bush/fruiting_cloudberry_bush.png | Bin 0 -> 640 bytes .../block/berry_bush/fruiting_cranberry_bush.png | Bin 0 -> 6915 bytes .../berry_bush/fruiting_elderberry_bush.png | Bin 0 -> 714 bytes .../berry_bush/fruiting_elderberry_cane.png | Bin 0 -> 440 bytes .../berry_bush/fruiting_gooseberry_bush.png | Bin 0 -> 583 bytes .../block/berry_bush/fruiting_raspberry_bush.png | Bin 0 -> 7834 bytes .../block/berry_bush/fruiting_raspberry_cane.png | Bin 0 -> 6546 bytes .../block/berry_bush/fruiting_snowberry_bush.png | Bin 0 -> 732 bytes .../berry_bush/fruiting_strawberry_bush.png | Bin 0 -> 7439 bytes .../fruiting_wintergreen_berry_bush.png | Bin 0 -> 751 bytes .../block/berry_bush/gooseberry_bush.png | Bin 0 -> 610 bytes .../textures/block/berry_bush/raspberry_bush.png | Bin 0 -> 7627 bytes .../textures/block/berry_bush/raspberry_cane.png | Bin 0 -> 6162 bytes .../textures/block/berry_bush/snowberry_bush.png | Bin 0 -> 287 bytes .../block/berry_bush/strawberry_bush.png | Bin 0 -> 7371 bytes .../block/berry_bush/wintergreen_berry_bush.png | Bin 0 -> 695 bytes .../block/fruit_tree/olive_dry_leaves.png | Bin 0 -> 475 bytes .../block/fruit_tree/olive_flowering_leaves.png | Bin 0 -> 724 bytes .../block/fruit_tree/olive_fruiting_leaves.png | Bin 0 -> 611 bytes .../textures/block/fruit_tree/olive_leaves.png | Bin 0 -> 620 bytes kubejs/assets/tfc/textures/block/glass/0.png | Bin 0 -> 440 bytes kubejs/assets/tfc/textures/block/glass/1.png | Bin 0 -> 446 bytes kubejs/assets/tfc/textures/block/glass/2.png | Bin 0 -> 446 bytes kubejs/assets/tfc/textures/block/glass/3.png | Bin 0 -> 403 bytes kubejs/assets/tfc/textures/block/glass/4.png | Bin 0 -> 407 bytes kubejs/assets/tfc/textures/block/glass/5.png | Bin 0 -> 436 bytes kubejs/assets/tfc/textures/item/blowpipe.png | Bin 0 -> 326 bytes kubejs/assets/tfc/textures/item/blowpipe/0.png | Bin 0 -> 436 bytes kubejs/assets/tfc/textures/item/blowpipe/1.png | Bin 0 -> 443 bytes kubejs/assets/tfc/textures/item/blowpipe/2.png | Bin 0 -> 448 bytes kubejs/assets/tfc/textures/item/blowpipe/3.png | Bin 0 -> 404 bytes kubejs/assets/tfc/textures/item/blowpipe/4.png | Bin 0 -> 409 bytes kubejs/assets/tfc/textures/item/blowpipe/5.png | Bin 0 -> 439 bytes .../tfc/textures/item/blowpipe/blowpipe.png | Bin 0 -> 242 bytes .../textures/item/blowpipe/ceramic_blowpipe.png | Bin 0 -> 563 bytes .../tfc/textures/item/blowpipe_with_glass.png | Bin 0 -> 445 bytes .../textures/item/blowpipe_with_glass_hot.png | Bin 0 -> 433 bytes .../tfc/textures/item/ceramic_blowpipe.png | Bin 0 -> 356 bytes .../item/ceramic_blowpipe_with_glass.png | Bin 0 -> 440 bytes .../item/ceramic_blowpipe_with_glass_hot.png | Bin 0 -> 435 bytes 90 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 kubejs/assets/firmalife/textures/item/ore/normal_chromite.png create mode 100644 kubejs/assets/firmalife/textures/item/ore/poor_chromite.png create mode 100644 kubejs/assets/firmalife/textures/item/ore/rich_chromite.png create mode 100644 kubejs/assets/firmalife/textures/item/ore/small_chromite.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/blackberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/blackberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/blueberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/blueberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/bunchberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/cloudberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/cranberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dead_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dead_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_blackberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_blackberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_blueberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_blueberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_bunchberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_cloudberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_cranberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_elderberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_elderberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_gooseberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_raspberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_raspberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_snowberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_strawberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/dry_wintergreen_berry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/elderberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/elderberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_blackberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_blackberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_blueberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_blueberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_bunchberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_cloudberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_cranberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_elderberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_elderberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_gooseberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_raspberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_raspberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_snowberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_strawberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/flowering_wintergreen_berry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_blackberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_blackberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_blueberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_blueberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_bunchberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_cloudberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_cranberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_elderberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_elderberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_gooseberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_raspberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_raspberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_snowberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_strawberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/fruiting_wintergreen_berry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/gooseberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/raspberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/raspberry_cane.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/snowberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/strawberry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/berry_bush/wintergreen_berry_bush.png create mode 100644 kubejs/assets/tfc/textures/block/fruit_tree/olive_dry_leaves.png create mode 100644 kubejs/assets/tfc/textures/block/fruit_tree/olive_flowering_leaves.png create mode 100644 kubejs/assets/tfc/textures/block/fruit_tree/olive_fruiting_leaves.png create mode 100644 kubejs/assets/tfc/textures/block/fruit_tree/olive_leaves.png create mode 100644 kubejs/assets/tfc/textures/block/glass/0.png create mode 100644 kubejs/assets/tfc/textures/block/glass/1.png create mode 100644 kubejs/assets/tfc/textures/block/glass/2.png create mode 100644 kubejs/assets/tfc/textures/block/glass/3.png create mode 100644 kubejs/assets/tfc/textures/block/glass/4.png create mode 100644 kubejs/assets/tfc/textures/block/glass/5.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe/0.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe/1.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe/2.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe/3.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe/4.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe/5.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe/blowpipe.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe/ceramic_blowpipe.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe_with_glass.png create mode 100644 kubejs/assets/tfc/textures/item/blowpipe_with_glass_hot.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic_blowpipe.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic_blowpipe_with_glass.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic_blowpipe_with_glass_hot.png diff --git a/kubejs/assets/firmalife/textures/item/ore/normal_chromite.png b/kubejs/assets/firmalife/textures/item/ore/normal_chromite.png new file mode 100644 index 0000000000000000000000000000000000000000..b5ccb9fa1d68a1c3fae708d9b91efd7b863f9b5e GIT binary patch literal 464 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^MFE#4w0NY5v{L zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||<6viz(ovZtznFo6G1k+?F~s8Z*-87o z4+n^}?w=C2Vw;{*E{}@yWd}`-D92SA8Ec)l`}zG#?JF%W4v5j(>RqVql+&iAn(5mv zb>fi#`%C4EzmhK-$L@Gv^L@{Ey+2!*%;%F?C&$826vnuq@aBX%mN_zWS+*H7By8X3 zdEO{-irZBlx!-9lLbFrDOqnfLb8Mca6S(qP#hcj^L*_HwUYg`^%=u=7gZ}BHqI(y1 z?%U;{e|o~l55ms-d;;#>TzogHsQ8}X#`99kr@Vg6BoU@#V;g?r^BW5TugzPx>L>l~ zRD2sY`P41LRcQu=v5X!5-9N9VUPZ9Ud}b2je|*%B3n4RaZb!VdB|79C}pn#F6MYP|hX?S7Bjr literal 0 HcmV?d00001 diff --git a/kubejs/assets/firmalife/textures/item/ore/poor_chromite.png b/kubejs/assets/firmalife/textures/item/ore/poor_chromite.png new file mode 100644 index 0000000000000000000000000000000000000000..99d8cfa7f7d3843c0d63133ada4ce6d241a1117b GIT binary patch literal 539 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^MFE#4w0NY5v{L zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||<6vizGP*Zc=>P)*;|fm~#}JFtXD8jy z4l0y5X8$VkOz`T2bHyPR%P(*$g&kgN`2LzFTb_CB(SO_Y-Y(joARe79kh96nt66YP z-;wK4uRb0(aMhQo+3m&EeP_8~zjNxp>|t7W=hn?*9BCUrv1T1o zTXekQ*MrV4EKkCWH&{4$vkTrW-nn&iZ}6(kb9@RaHn=A#Gd;9Byi?6scuk6YaOHo# z(lrmKypl+pH2tV}j!pEzmA4+~Rg^tFzc$T4`1^}(Q5tu57uD7l3sqZOUsCc%?DfN9 z9^;q19C7U(=h8dw`UL041PPlZ1uVR!xwy}?Ct=#*X4^cM-(POM)od`@CH3L$Cu4?7 z`n6ZP`-L22vw5uVujG{0j(;%uZGpN7)5mK5Q=Jyf2Xak0^k42UXgqRRb4^X-!?jlK zPs3|OlV0_59q6=BJ}&j>)J%?#C0vJUk1S~VeDGV3eQ~E{G4HyiA>#SM7n4J*Q>)&Z ri7$Hj`?co(7KSfV^yfYM|G17pCt+3KPQ8VosAuqW^>bP0l+XkK*$L{b literal 0 HcmV?d00001 diff --git a/kubejs/assets/firmalife/textures/item/ore/rich_chromite.png b/kubejs/assets/firmalife/textures/item/ore/rich_chromite.png new file mode 100644 index 0000000000000000000000000000000000000000..34675371f5542be37c4e6934e921d219e10cf879 GIT binary patch literal 582 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^MFE#4w0NY5v{L zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||<6vizQjPUn&d$KVc-hm%F~s8Z*2xF6 zg&jrO_h;xXG5e-)>#o~mXLD{L0mD{RUEMW?Vwd8o%-#R%FE!V{XA^S7d7-z$N{I-j z*>?}KUAwvLuCtjLqv$o~vj>uvuz#G}HuL-MXW#GbX{_%#Q_6W>-rk!bM3w)*!;6W} zq8vWE8Ve>e9QbySZJp|htI}U&r#HS|qG0~4liO7`^kjUeZM#z-d%^?j4ub{Xj-==% zY!33d#om@gzUx9Ow4ZKiKI>%} zSs(JqhKJFBXY!H-#HoZzjDwuGN~;`e@U!!W(Q0mSh_h zKCoucS=XDn^;XBkxn%~ONo@O^?-w$Dcr&lY?9dvPy8p8d8~8*vl{6R~-CW&a;1K$$ zBG6~`S5LX?uXxo?Hyzz-m><9Y;J5QenG759>>3jLZVLD=ig@??zTM-x!Vgt{LoTa6 zSdyIHkWyaHuOqOZ(YyS;!Y)G|*0?L_C54Ll{|_I`;oGu`Ppl$PC$=K+OopQFyx-z! l%$q)aR#bPiKK#EgKBnosqpit`qYMlT44$rjF6*2UngH75`Un63 literal 0 HcmV?d00001 diff --git a/kubejs/assets/firmalife/textures/item/ore/small_chromite.png b/kubejs/assets/firmalife/textures/item/ore/small_chromite.png new file mode 100644 index 0000000000000000000000000000000000000000..a6919375a85363b15457f2e81b7155e89d76cf35 GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^MFE#4w0NY5v{L zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||<6vizGGF)onm+>r!(LAp#}JFtZztJu zHzkO)&Og-Dl9jPxQpt)IfvA$AH_Z!vwfBCFp0!9`!7{@{#Ukawq7P;}zdn_k`|(aS zAOCdj{rbm^T9ao!y1M6&=AMZ4FZ$bN>{8+qee!Vf^F>#6W<{=-Xq=-p$42~+m2+~# zoh+NXljqIc{L!W4mR8Gxmu$P=wyAV=3uf#(Sh7#$L+qqeQ)id_o2Ss3#B_h@t-X(3 z-JgUsu3?MWuYDt)Pu1bcc8^6C-?{!ZWO2K1Wv$)+OGYl|2d7#KWV{an^L HB{Ts5`Q~~t literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/blackberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/blackberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..5b463414eba2e91b808d8577e73cc9e211930f10 GIT binary patch literal 6591 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 WSdr@-db?sl<2IhIelF{r5}E)uJ~c=H literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/blackberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/blackberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..9ae2dc67c8d29aafb6d57c851ef12d34f5a64cbd GIT binary patch literal 6766 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/blueberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/blueberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..439bb03122b70c413671f84f4e7309e0d0515aee GIT binary patch literal 7028 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 iD`dDPwmn4op8W#%DO0Cu?$-p3DS5j3xvXg0{t zN{%AO>K~_a7Y6D~TQjNjpzsp~ITog6H?;L*UYc&(c71+*+fU_7d8u=6DLEZ*n(d(U zf-UxDlHr>q#l&?NB(L4cPGh_G{oeO|?|T)5-^NXT_qJ8W-|R>8%opGEmnP5dS!Ve7 zcRJ&RxA9C5_|q6VbZ%r%eVQR9oLkNivD9W=>Vq33{-5I+d?+Se4 zBU+&A+}!WkzHaZbmX>c>bk>7pz==O|vgI=#0FA z;|z~_18b2LPTu5Bs_>t`Ke3 zW0QFw|4x5+Lv4Ru$j&^GmE~DR-*2jwu3Go_B-{UozQKHlTCQ4MUDQ>!UURd8Xg#~R z5r;7EnYJYH7EUMCtlNE@^Y1hCN%at;rXn%=^|z`)??>gTe~ HDWM4f-b@}M literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/cloudberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/cloudberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..4838da0cb00cef47c4cf165d7de73d4f6a7a290d GIT binary patch literal 545 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PPGoMZ^y?IC8y zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||>kOZUoem^*)ho_xXHrw_$rra#+o(ThV+XS<-% zMuCgvM>oEoRIxtt#@y}3`Oi2*PKE1v-aPg^OPe8KlY|h%jZJM9UM`~fp|h87w!8FK za#`heJFe(!3aQfnr>-zs{@b|h_2Lgxy}$qIoOe0VbYGF?b^bTk+}~9*Hz<5r!NJ6! zdHceN9hMxnQaw=?vU&^-&xF%f-4d$mSg+}C5_dPf75TnewPI&w0}qj#CZ z`Iio_dwfkS((n8=KD>jMAJq;*XTeH^FF(#bSmxbcA$(Tv&blu~$%gmb zf*<@=7QMXGdAs&O$?|$%9WPTJwV4WEPN;nRJMq)Yp4}2XQK>)G{y(zFGG6}Q?V&{T zg~xmCWc4msB^N)^5WM(XeDx(O=Uw*G|NLTXx~C#5Y7sSufq{X+)78&qol`;+09*9y A*8l(j literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/cranberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/cranberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..6e4f8ec7ae4e7cf28eeb769bb6a0af254a36cdd3 GIT binary patch literal 6496 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 ZgZPc?f^5sceMdlP#M9N!Wt~$(699KZ3p)S+ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dead_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/dead_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..fb65029d415b559916aae21caf1f266af503ecb4 GIT binary patch literal 6977 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dry_blackberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/dry_blackberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..770575cacb576df32f5f740a0a1d4effb694fef2 GIT binary patch literal 475 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PPGoMZ^y?IC8y zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||SV|6 zLk0q^@jX|}5_DK~MVRhg>t^?Fs!v$|d%JDrjnh>EEsYM}19DonaHW1z5G`E&`kbcX z=eT_{eU2ReE&We=Vo;2nKSzpk)%vbWIuAWG`=&fPRlPArlELA>s3Jp(o3gRgG#Rb; z>!1G(&r{bj^po8Emh9|DXwS`L_ccRas-MPJ|ss%k7Ry=X|=V&n7 z|CZ|ZYVW?g3*D*=*%)kc9;NLSpC)rmvw6jl>(9-N78}m?pK#mB=B?u_)i->m9bN*A zjX5oS&UwB0#nzm67P?j1B3eR8V0aQ^?(3dX;@F7o*;5n$2HeMacXUOa5So!~bUO7^WBIeW&#T=&Y}7mNccy6XQga#3hP>6849Bz* z7liDau4g1=I)C?XL*}I|8Qz&}UY&WXGY_qDH@bg8y3ZxrOPGc6xO=;eUmSzR^e&z2 z(Z{qF>N#I>Z8Hw=Dp_=*CA8o7o8PVz8Qz(%j94Cgdnnm(uRz6S`vmh%zH|IUX1bka zPuO|yQhzez1U;iaU8fKJ<9ix3(N9FOVHZ!Pcjlk2(|MKr%L6}qK9imo7kp}|(l<}` z-_|Xm{O5HI=C1vqop(=#gXz$!<1YIHckI|FD3%fzyV53Q;kKnFd-=l{X1|&Hw5pro zh0DZ?QOT7z!o;)=Y}b!3ma99e8k_RvafHYxhoh`Z?LxOsW~`XA=faAgIh)FtZ5BQ5 z-p+7rBg23GJ9qmxDm2z?Ia$;ETMUzmHO>zN0~U98cHT!lu7(8A5T-G@yGywn?qcz0< literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dry_blueberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/dry_blueberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..0ba5c70b7e8c18e14e63d167a519874bbcf3a249 GIT binary patch literal 566 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Otwav0oqFaN90 zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||;}BppkXY!^^_hWz@vx_hV~EA+-pL!Y zZ##$_tDnA1sk!Y1pI*xf?}Eh*2TKYTO7dtP^JYsw6QD0?)b@|_Sbg(xmQ5umU+}~_ z?ap{9pl`;wdYdPpIB6D)@fy`@P!x)lL5wM6OqBR(N8?;Zjw8 z(_)Ezor~4_8xy5FLQksCo1U?D<<#zy-apops;GroY>MMl}jg0;hMDeZ0@edit9FA zT(A3a@Bi5reT<)CJyuWS5=uyXT)A}8mRfsZ{ZCieC-k+>JU6lL=%%%SBB^ZIZ&&^b z6baN8H@s}Qv?)cPC1b55i{hn?Mkmj61WkHZu_NRE<%`FU*1kGobnUZ?$z{v6v-=o4 zT935Xo^Mrn;A-)4&yvXXYU0a}d%p6CyK~C%Qk1@0;mw)i!VEdNdHy(bdYe`mV=fz*#F)ZHKP~NXt-Sd}`$5Fwb z??!OPKZleJk9yWSe-csM+kKCDZuNP~?>3H0-I^N?o?O_si1+cym^pLhvco;6J)E^V zQiI`~Uq7RS|1*XTtsDGNRg&v8%c>dP%xYb%vTl+};kjqu_}1T5=`Id@^R42o8vC-w z#VMTMZu!2Mb@Zx^NaUQ!M=bBIOFv-Y_3Gb5{tvepG!CwtWZ}g$<;vxp?$s*O{t7mz zocmf~RG(+?ru0jNk$BnJL!pz}g4Mf=8T{(Meog*(#3*L+5zCiI&pX4~Ai>L& zyUcuF-NLVbqcdk23NCnfWoGRC2O1}nKe|-?KTxt!h`n#p4@d6ZX&-O?`y#*N;gw8_ z(nT4Euj+`boAjmr-+^p%$!}J_9{ink=DJVsBHqofXHO~;dcNf5w7lz!rv$Lh{Pp|! zc0aAC)u}gB3;PW0(+cBwyX)%N3#LB#^C)P~6E|xwrMA6&@8o|j^=zK(d@1L&QOskF zNHepB@4ly+<+o&5lwQjDtyX$$anknV>mo&V+g?7pYRcDzNprq6i@BXE*(kJl)>6hl z3tUYfrDbfqy~B4WEAWr}V7FjtdrxGxIXL zd+v(uH@U5}O8e%WdwVa2uT5OPczJhdrqzL;N0E6D%= literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dry_cloudberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/dry_cloudberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..7a940035eccd4f3733949fb684a2df1ca93a4d39 GIT binary patch literal 536 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PPGoMZ^y?IC8y zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||6G?@`>L}b_|^=?aY_;6&e?CFkPLn%#-!u z3G0JzcjrEwX}0@w*|W1YjWLz$oI_6^sS)I2kT|Kw*pMr_G3Kp{-2aLBa$lq^=B*1j zJNtt|&gza;sgGhiZ9ac2IjUyEalTZ;S3cva_L^hGvb&Di-)Lcfr_JQ>!26OT!#@e( zJiZ#wv$Hxst1^BFVPiOxBEib@i+7Gb=jsdc=c^y@XcD!uh>zvQW0h8e!X+2WWJ5ZH+Vz+rQ96c6+Y`e|5=j zVXNHVnTzy74OgTv#ZNj_zxVFv?U%P*Tr)HBr&fLKoSP+1@7*3sFvow2o3GEg$Re?L o+UmJK{`^V{4g3>RJokaPnWmCfn8Kt61_lNOPgg&ebxsLQ0P@G*d;kCd literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dry_cranberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/dry_cranberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..09a4d20e5a957782c1471802ba3c207d2652f0cd GIT binary patch literal 6542 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 OwBqUN=d#Wzp$PzPjS;Q@ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dry_elderberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/dry_elderberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..660dc7eae6578220236f4483e4439bcf34a5db89 GIT binary patch literal 564 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^KS!P>!=5B+Xgi z5n0T@z%2~Ij105pNH8!ku$OrHy0Smx;AA$G=0C4i%)r2S(9^{+#Nu@7G+Yww%IS-Xsf?6i{UP|AW zWO?|6-{hH!&u!nIm)sC0vMcJ_!K!uNcRQS}71{M{&wbXk^-q`{R8?M(E|cv4#ZXgI zXFPjv!T$dSFD$;a#je_O?6dlkNYAO)Ey@ZnZV9P8`}(#gV|`a@ZA~3>fXQ3^<^-^uxdtJzNGYfrb@xnr;&s?;1-M2p{^_eXh z_UxN`C2jWwv&kxUtIw7#%(e8a2|MPZx#NC4gT>x@P3e#`A_qRM$d_29QS$X+MexC@ zb*!-sIq{QztogRvp<9KqXvvL#g%=7VbeHp3@rB0OGpc=z6!p!1@~_(|T--N%({xo4 zS0|BOQTy5-pRHJKcDq%~tATOSP62xrM#jByatsy>^Xv@+mqunP2}ia+_C1@XFXHPx zYwD6n&-@!lKdW1m9Se<{d?Z~}AvA9GPKF-!LnddvWDH$|ZoFr*mHRre@A~P-oKFh& ztkhb6w!yadQmdKI;Vst0M4K32><{9 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dry_elderberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/dry_elderberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..c12c2189d36abb6cbc4a18b50f222626e923d4b3 GIT binary patch literal 424 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dry_snowberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/dry_snowberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..1f2d2dc7a9d8ff83a1d4dbe46ca63396a1e30ac5 GIT binary patch literal 749 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PPGoMZ^y?IC8y zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||$YMo|k2s+$nFk>$F8^%LXp(Hzkwu6jG(4b=M}XjQzvC<#Ld=_wu>Nlv)$av(pV3 zSrwfUj0BRe_4hd4*nRX2_+DS&d$@%z7&*`YF;(SN(^&Y+2qm_bHz0Opd=liXP|XTh7B0 zW!gM-vvA01%YAzSF1+nM`Pq!2A+6el;lZwGliSKhy6q;qEx&hX^RdX)**W)W&F~R- z3=idf{OkAh|F6Q%CNNBhbXuGoymEzc=xNKmZSEmjuhuM2lCa;)uDm*s_2iBouUe1e ziFfpv~Sj3o{itq*s6C`+Km*%XRMVy@sA^ zXB}*DR8gW^H0+ z#^~@SrtNiJpziaEeP05#UcIT5Ho2`_bXV8tCCi_F{~6Pq*X?dqDbjzk`AwyCOq|BS zZ|av>lb#zbnt1s@`DR-sUv9?_3Y@OK+zahzO#J(!>uOc|@7>vAA398?Y!<$AFJ|NG zyu>Iz(NB?T3_JGjOk#M!pB8c=y>jb4$I!!!ok{F>@6BLYd+~&(&*`7LkNit;yLdt~ z%Cy<{^gzP`0rzopr E08NfUc>n+a literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dry_strawberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/dry_strawberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..14a3c67dac2944004224df4837ed5112bc56263c GIT binary patch literal 7223 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 KpUXO@geCxdwPXSS literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/dry_wintergreen_berry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/dry_wintergreen_berry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..dcb4823387cbe0efce78e86e84d1bf4160a9199c GIT binary patch literal 650 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PXNr}OT51_lPs z0*}aI1_o|n5N2eUHAjMhfq}im)7O>#83!ku6l-g>$|ME`CUH*}#}JFtxxpJ(Jqi$+ zQyuBzVUVG`XAgV7tC-o7kEe7mWh4tbo%++*YM+pt`ItZA2m3T7GqYPi7`qR)9(5{E zUSjAXB+xxacUrOezPr)$XBwxctvgUZPyPlA!{K;KLhc$NkSQXnGa&=D*kyZ8E?0kO_}RtX3$`x0r6JQeVv zE%#)OsGd|T?R1MhTqD-yx7#(cE_~$%dxj0x^AzvDP2YO5ShwqvNd9{N8?xsggp{mp zD*qih(PvroLCurilU7$myn9!1?6}^WzVtmaN>k%3Rev##;?y57!r)`a$Po%+cxd&6UoXhA&=Na*VZKMwd~k5>tu{Ymd@;ICWgfyy$o*f=ltTmd?>&sN@G!=5B+Xgi z5n0T@z%2~Ij105pNH8!ku$OrHy0Smx;AGYjNstNu$H2h2%hSa%#Nu@7Uw;UWKx<=gI^-{6*ylRu%Yq|5f@1pqER^N-;FY;l1#I@(gWgFIg{U>o`cjrVV zhPBnV*Jj&ZyDibMYK`uLBujROqq{qI?yuK&ESKCFvh=ZqjKzF8t+Py8$94w6&2=&O?nRN z^jz<)_*VDnNXEHpJ&ck;$_%iFsqiSN3$SSx$greojT zb*2^DTu)wG-L)r>X;Eo@F=K>pOJ?Y`3Z)K<4fgBK=yXo#yMFpD=aZT$jkVR%8Px# literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/elderberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/elderberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..ed4b55a3265eb89304e20c652a6cf514152754c3 GIT binary patch literal 418 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^KS!P>!=5B+Xgi z5n0T@z%2~Ij105pNH8!ku$OrHy0Smx;AA%B>5*Byg@J)l-_yl0#NzbS$s4l{1&Flm zmp-Bx?9d`%(4rIB)a_i`z_+iVI_g1;+mFSyfnvSvY)bkC%D zpO)8djg(_?5Mk$WeqXQY^Ne}vLD8M9;$;`w*1Fx$;XhQUy~yG~;p+SeX{O5(ZpYf) zv+sQLAjl(NnTpHYeQh(ArZbeiUOeLryVt2rhUeVa4qtfuHMP9FPPw^u7NbJy$-T7# zzVlyvmylYKDev-E{zlpN<<%48b5O!m3;T9Gy7juhRW^m+gN~AHF#6M4zan$*VGv?aJBLxNq@Yx;2e2@W-y! zJJwjup~uNmscHbQ-QNx;`g+p=JJ@%c4R) zF`U!d9`vw@UitA;`ntROUj9?UnU=||r86C!bdnX!>k?TVR><3YGCpwp>mQyNU4bvg zXPS7`=1%W^lUbbo;e_7;T^`$a+PWRD%Nhg{^ECL97+FdbUTaQBOP;||DDq(P1CO3k zHD;zy_d?cOvdCsWAZYyTn8dQo>^+fpFX%8loan}rF(K%{DaRWJU4?azTs$sd>D6PX>ND$sWnxK_ zqu0%p*|Fa&Q_f9F_GA5`x$cJ$mw2G+v=HB|qE>;g9Sf}Lx!=z zWv6qJrVFHJyv&#&dM{yWT|;oD0vk)L@?-0{H}+20{czcw-^zE+G|rK_@R#?=m4)--Uqe*UoyYE*&+nkwU;-hzMT2}X^#CHZ58M4wLR&$qP1S|(t@{nZ+E;( zd9`U(-|F5KJ5QfdUMRA4pSW^k@~-Nd++VLE&)rKq-=V4IuQrwA=oboRappVDq#Hk>N8?QY9c+nsGLoWEl?D8(+>o2pqg zU3BpgG1)7v*KMEVauyb3zO`jo{LC!PbAd~#JI}*Iv-p-N{l43rv1eL^Wu5S#iWP zdaJC^pT^S58?22#be8oS%P48=)G6Fo6l2zN;#=|rtNX8#NGnp^Esq4keLXy4-|U;(U8BK$wC%=g=SwY0Z^$N764|9{8KM=-%aKx$oxQH?%vn111Q{+^O@tpZ<%3QfC z+E>#5RX+)(`s>xdub+Rm*U}%} zZ?C-4a$WgTeDhzi*zB0QFS(y?Zud}+&97YhY4MV^PnW06o^oz?f!fP2&KHByukL#P zPOvS%=7^~4R6=T!RK@y1TB$VvQ`44DDTA15ETI8^z#Ebdjul-=n! zE4R#2U+rw!bV<2WzJ0^>Z|hj!RId$vU;3u3q-Ouz_W087v+w)n{m9?%_SOFNt|P+R z?!2sKU|?*`baoE#basZ-HVh0Eb808rdK`9;XuH46%XKwhnLy!*fVnyyT^7@{#11-T zYHxX!Q1nvXB-0}(MuzozQ?q?{D7$!itZWRc;|KO5XU}?GboKh9r@5u$W8Y)Bd%y2Z z-~FCpVPN8_o2HyAW~DB9WN0`$T9kRcz=d|kS&W@CtCaT6Xng)-S9|~aa>02|W4}Lt z5&lVyxkjmQ%F8y_J&rcJGhfd6-s!wXMf1q>Bf@O46Mjs5z3FuRoNhjD8{?FepwCAX zlQ!NsSj4`0(n6v00_~!qi)$2LZ#q=jy*X;-#%s1extl9-OD$(_nWT$_m_d?Y*Flpi<;HsXMd|v6mX?*7iAWdWaj57fXqxx$}cUkRZ`+oP*8vxo>@?m>{?L*w*bTk8(&ROhXSE7t;X+chDF|wVd#i<}6u)A|o()25GAvPoHarg8M zfa?JTV|r$80ayn}HL}W-WVpJ5(xM!&nv`Vy)ST4Z)Vz{neM3D%6c3eTrXeB-#Xle! za1bCHUy)k?Hy=ecEWE&q!QpD`6QX!eSslg?QpkOmJGc-0ZHL^6bFt#)`H!(se3QH|2&dkpPnQCaD zX9ST+Nw#v!FUn0Uu~o{ycSpl3!GbWPfmKA%q9tm6U(5fRRJcIoROH9o|)EXmBwL^sXA%s|(~DAiOq$tcxQ*D~4IAjLG%G$qNz7#zWH(~I-d zO3D+9QXSJ%^Ga-$+%t0v!11i00Zo6JsOrlzQbCE!z{n6(2pSrM7#dm`npv3|DM4ae zftKDgPBS%1Of$07wJ@ajfQn!%Pf$J!E-fg?$xJPRL_9cK1g9240?I}ohdLzv z;9QkYP&=|Rh;HZng36-I^o$b!@;toOV^Ih(!6!30HLn=2-N;HH!GcuJ+HomB#DZMh z?6_?7!IeFz;)jFO>_%)r1c48n{I zv*t)JFfg!}c>21sKV{thH#3!8VgFkA{s~L}!_-YqSUMkt8 z60ysc{pZ~4FY>GR+rO{9|Gc(7AW~`3VVe+f_s;c&QX1UaUNvvOT5|=gwzIpXd4uco zr%OfKJFl-}7Fgcs*13NDBloBj;o|QPb5F4pO1;RiNyt@xl=)4fVda?_^W!(|uFPQA zQ#SW)N`G_oeTEP9Ws=Vp3N3HkS2r_b&d;SG>g%PtJN8xXTdTClFY)HO$>Ftce#t*u z`0bZ$sizqCjH9d6e=k2~SXsE^ZEU z_ms_@HQ98kWVzkF6zwyXw=@L=@7}dBIoIfJ&8l}YByEqk{mkt786Sf~&xXEB{b%2{ z`=LTtN8d5#J!P`jCpEJhNb&FZp4$5Osxia7JMqg?rK@}$OI!XoKR;Lf*N^jud5CXN Urd0Hnm!N?wPgg&ebxsLQ0LC!0g#Z8m literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/flowering_blackberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/flowering_blackberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..2ce88e414101523d46430bbb0b83fa1cf866d07f GIT binary patch literal 6720 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/flowering_blueberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/flowering_blueberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..d2c851bf7ab3d4afe89923e6e26c109228cbc9a5 GIT binary patch literal 7523 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 h*%vQIHZgC0WWRe}PQs>l_dP(PeV(p#5V7z^ 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/flowering_bunchberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/flowering_bunchberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..de5fa00b9747c32c703de8ddb3cc5932bbe9b1c7 GIT binary patch literal 741 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PPGoMZ^y?IC8y zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||t3*6SZp)bL_E8C=6<=g8&7!O^Bv%Ap%6#KU+}twd{y^FI&k6z!A@!-dY9OEM;2 zauwnz<80J%^rcN}I`_pLo{0@}XI)HRA&^iMa!}w}i1Yf--esPZm0bJM zcGo)QZlmcdHMkn=A5M)o-@ov+l@o_oZ}}5HX_3vLPk*jf7g})ncklVk#QMiA-<}%v z-L#SGcb_REwdD0Lhj%&i%;VV#jASPTPX+Cny1;;o#${og~6KWd~2+wb{v z=Gm=&ik$7sa-9AZ`$y{D~?=FT&yX|(jkqe*nazf9!vphaB wy-P~2{$#h4sz0Q?zCYjRGUK;P&riw!D|hVjaWQ+&z`(%Z>FVdQ&MBb@01TNwS^xk5 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/flowering_cloudberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/flowering_cloudberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..bbc5406fb07d7d2dc896cfec6d2ca5119a2d29c7 GIT binary patch literal 704 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PXNr}OT51_lPs z0*}aI1_o|n5N2eUHAjMhfq}im)7O>#83!jDzsQZcM{HQfIq-w>jizgcklY=J?Fpwth4W0Ir&S{qS6^v`_?i% zn%Tk7QqqvNa`m#;>C0vdzmLCUz5i(bxn;pEB@Am1|M{-6cg7A@_dlJU`fBXQtBXu6 zCMT(;-+wf-V=prcC2X1D*)1<7u`tu&nJ*p3P1UQxzi;DVG z8UDQayERg3!_JM(J0%TH^&I`~@cMnw`R$>Xx;YPgUdnj<{=R~eLaqkWRl#ppC#kBl z+xxu;`Tec7%K2Yb$%vq9lg?aZ$5IGD{%Do$=c|9U>dis!ep zQjWcOrnTzoI_3?VtopAdZh9$F$Mw<2WuD99)f;ekiJ{JuOg`rRv~Y@Al+cTwwmNRqV{|97X7 z+=mm7Xs*1p^4rw8Pj<|h&B*?&C2Z$%hN!3WKAq%Y`f@J+WytSS=kNblS;Aa4)o<(i zKc=sKZu{iPyNmUB((C8%XJ6JS4V}F1?(G?h%EsF+sP3Kdhqa5zVaIZJ=2f7S=;`X` Jvd$@?2>`aWMTGzW literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/flowering_cranberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/flowering_cranberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..08dc83666d0ae54f54a1f417a00540fe6c88c4e0 GIT binary patch literal 6519 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 E0An^PvH$=8 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/flowering_elderberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/flowering_elderberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..3eea72a37c29611325b69e8324960d1b4050a436 GIT binary patch literal 430 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^KS!P>!=5B+Xgi z5n0T@z%2~Ij105pNH8!ku$OrHy0Smx;AA${vZ{UT%fP^B?djqeVsU!zB*W}O4l+mY zw?3G#Qh>u$p~Yf{hnTqaZ%LUY-f8Lkon9)rt6$$Wg~xCEG^=pdcJ5d!39lBF?g=m3 z6yn$eqh_gH+TQ&@~8ZO#N@Wb2U$l8bu^bwD%R6n`soqFu^V5X z{oA1|8@@i}Tx!AcJIcNyK7ZLu+P@wW`1<@%Vd+dYF1BXIS!dPEX7k?T*N;$GckRIZ zcPBpGY=2(4L5G`R1Mi~KZV_w4UVN>ZasGKlRc(tvWFo`K+i&<@2X*kQ{kHMw^W)-w zUiO7#U63zVVOY}H^fbETW`?iHTDId?Q#FrVKEr$4MWn?bS5&d#sEXQDNgXvq%SK@( zYx7lS9;Do06I_(gKl?UwR4(`Ci?gP%S*+7DU0b%#*0+zsg@&G6`v$woU(PaK@hdQ3su=8j(NswdO#J^lFZy5;w|za{=9wk;NBD3P5X`pT85 z;cQm-9=*k{f9TBAek)cSymaS&7YP>wnYptLOHFYS6VH!-v_H+liqquq#ghdkQX#jW z)bDqnmo_jBO`cK>!-Sk!PTx$dMGa);>P)}s%bsJ-bA9{@nX9%nXNaN(HT))BM)FVE^TV3vMm*tZ)20JG*7GsouQ0qo2-Z z@2UU5*|c)`%`2HbGj@106qMXfve)J2-!HrQY*x2teWO8#0Gr@F+g}~`o=#zOD30iE zoN~BUqxFrvzTaoKI+pY>4rj^t6bpnWMPA({Zcsr4o+&klCwXPJN{XMe%Rq6%g#CR Z{yRd|!v#MvGB7YOc)I$ztaD0e0ssX%9yI^} literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/flowering_raspberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/flowering_raspberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..01c360273a31f43fc859fcae8590cc79fd737adf GIT binary patch literal 7901 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/flowering_strawberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/flowering_strawberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..75eafad0e8a739f5555c8a078c627a809f93ab93 GIT binary patch literal 7482 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/flowering_wintergreen_berry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/flowering_wintergreen_berry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..df0c7cb1e012011f35fd727babe0b34310da5943 GIT binary patch literal 710 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 C{%FMj literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/fruiting_blackberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/fruiting_blackberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..66cf6674c53b66bd004def307fa480a834b0c1d5 GIT binary patch literal 6715 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 I=akR{0LXFK)Bpeg literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/fruiting_blueberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/fruiting_blueberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..565097b6857ce301a8ce68e53188957c2823faf4 GIT binary patch literal 6860 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/fruiting_cranberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/fruiting_cranberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..05a9e56b75d5311934650176ac7ee087b035ee90 GIT binary patch literal 6915 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/fruiting_elderberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/fruiting_elderberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..870021d237a40e04c14105838093fe7645601eb1 GIT binary patch literal 714 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^KS!P>!=5B+Xgi z5n0T@z%2~Ij105pNH8!ku$OrHy0Smx;AFNG+ILFiJ_7?&xTlL_h{fs9$s7G|JBS>s zPoK%-7v;L7QNV*C{e;7m#*ik~X=w?Kx|FWvG4ICt9}(@e+f4phV!2#dADxZ5KzFVw#Kur^1Dy|PYE}jKYN1C zGAHa8^LgrPSO4?Gueyey^Z83s-~TNSoT2S?HBxcbuU}kMd}Yg+4`g^Y7kfyY-?&!q z=q0Cy1u_07lQJ0_4(|=#xXW0XanIt&p0n9j`3Z%y|G(HWn^~}Hg;30ML08qdy{@96 zNmcXYyVeL~JgxHDHk)~(MYM9Io&U8fKZAcA%ve!)=hemXm`%(4c3TRpS}-fDLt+2K zX(vBdG93G)_$DvUGcyDmvxxG`8e;znGRo7+byh&a!_dULp$Jb&M zGR4X0^O1}d6VKQf=Iv!rh}-MB=G_^Oqr3{~X+M8%JK%dhaZ8EhtA&#mn=q7IJ-KaH zO||&q=F=rH3=>RCt<=BA$lU2X6cgB|`$9U;Ve8kXr*~OqJ^!ib&ykjs6K5Q?>&WLn z7YqtN>QvZAAGV&AT50Zhzwn~FGp`rR=euolW-oyske0XnV$30ixk~^;$86Wwxmp{_aE;4U@7jd|p Qfq{X+)78&qol`;+05Rr3=>Px# literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/fruiting_elderberry_cane.png b/kubejs/assets/tfc/textures/block/berry_bush/fruiting_elderberry_cane.png new file mode 100644 index 0000000000000000000000000000000000000000..b01f8559ba0574ab812085304fa4dd0ce6a4a0d5 GIT binary patch literal 440 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^KS!P>!=5B+Xgi z5n0T@z%2~Ij105pNH8!ku$OrHy0Smx;AFOB@GVZA&cMLv>gnPbVsU!vBt!p00V1vE zm3x_wEy-;C)a6>kC#w>hknyO4d9w7mxx07#FrG2~$@f8b+@ zmTA$IZ1$YGPkn!~Wv3Zz_cwTPW`?GSgp~SLfrqK@_E?FfwHAMTLm2N ziCi{5a941i{QVDC@3z-^-uTj*GxHzQqmm!I3=;S2jIKXdN$qe=JlW*uajGevRIsxx6zU%Z#hQf!LVeEjQGqpFm}JinW7{Qms<^VocWrpTJ) n59`^d87QVoWY3<)_<%jnqSITP_tFst1_lOCS3j3^P68ildTJSnIaC#j>ZdCV#=XI?`$@`rre3Y^g`NL==k$(A+qlnW1 zh1mf-Rx&)B4jz8J;Lg{SpclT!AMf3Le?NOofznCMNplz!e3-c|H%zm>a9F0~-fc_$ zjvI@wKjK}rM$pr*`(xM6ea%_ie-7E7D`KBi9590|MVaGr!z7;>v))}dZC-GTX*)yT zZ()}=7k$Le?A_P$+M4aEkC@N>tG^QDc6O*Ne{Y|)V_$RJ{$ojdk{A|TW8ZOo`i!2U zw9C?;99N$^WTJ4re8H*xhdtF^JY9LHu-<9?{nppk8w69nONT^1IIX^+&sHa?f134$ z>*p==-mNou!mM*ldl@ThgQ7eG!?XRf`}IO1rQiK5Ib2uAe0QJoypv6xHx@tsmlBit zB~xJ6KSrICEGxerH2MB3_RgJH$F=;=1ZOW>ChY0AYK^qG$^M#MiO2tP>idg^L~h^2 za9{@$!#3}=Pdab>Uaym}(b`kZW2$LfxB22`x2wNc8+6qeeB3Nwnvr_5>|J#I{kBP~s{b*>SvfV#iO(`&U|?YIboFyt=akR{05)p=Y5)KL literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/fruiting_raspberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/fruiting_raspberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..12f81388aa38c62f43fa7d84da65561cb98d85eb GIT binary patch literal 7834 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ᨹ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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/fruiting_snowberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/fruiting_snowberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..a0fe164de8b0411ba24717cdbe8e565f1d3aa660 GIT binary patch literal 732 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PPGoMZ^y?IC8y zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||LejV~EA++{v~c z%7FsM|La>8Mf&?%*f(!FG4q7kx?4E{N0iHUo=fx2^-;eq>r2-kF-m7XRd zd=IvzChI6MFvwZ2-?6*WZE3+tp_LLdtz8)$Or%mfLwaT`>N;X;R~o-zo6y1USM*t0 z6@o)1rY$kZi#GF0YcA}NX78&0)@ZLG^?b*!eTTkWF$pt&zG3Tj7yf+{Yfx^Xps4h)%iElkN`^R9JV73@c%SGj1p*$9Q7c>izpg1_HI7e8i<*^+x_Th19j z9;NwfjsBgqPPnHiUHAF$^vkDo=C9qFd lZ@Ko&z88sz!hi1pH)$eI{U|?Wi@O1TaS?83{1ORY-KcN5s literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/fruiting_strawberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/fruiting_strawberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..49222cff1e893c577c2175471327f8e8c377093a GIT binary patch literal 7439 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 W)-sV7A=eLsa;m4RpUXO@geCx*n7X3? literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/fruiting_wintergreen_berry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/fruiting_wintergreen_berry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..0501a7e7a518169a9e0e2252cab3eb5e6ba596c1 GIT binary patch literal 751 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PXNr}OT51_lPs z0*}aI1_o|n5N2eUHAjMhfq}im)7O>#83!kujPA23+V2<`m})#-978Nl=T1KDEgdM* zzTa52^Mc@Uc9%qzu25s{?h8{@GiEszsB^@6I^LNQbRzx%^V?0=^>}LZ>eBv27WW$U_MSHhn8teGRgbgk`>uW4 z$BN2 zcM}7T3cH2ftp!)?dyMT@mP~rnfB(*J@t9xXXV#rvxuI!luK3;mFRn;zeQ#RzR_>Lf zc8JsY1$X!F`XS>i#T%9`b4NUOj+iayy8OUttvBzUJhkn#$F;z6N8^yClggJ~vFAB( z^Cz!cl9J<*zRi2WkIkGP@^!({3kl-s&&_LMJc^^fsAL`U@KHIW5WRI(P3_+V>4RT& zr|!|__C0c2^YlLZv$y?O|D`>A^QZ0UUZeH)5uc3r8nm-V=xoE^x9aET&C0pD>Jp#$0hfiR!q)!En4!r2E0FohK6a`6 zwE_-TdM;*v54dGB<>pq)RE^V%&YP@w66^WYD68OmOZESziE9=!h|TgS+|zt{k-DI@ z-}<|Um)5%$X|8R0eVcuP*X;I5r&2>~Gd?~!?5$Kb=kg+ThI4p=fS?83{ F1OSF7Q&Ru{ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/gooseberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/gooseberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..17eebb5e5b3afc8ce3b66360fba63290c684368c GIT binary patch literal 610 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PPGoMZ^y?IC8y zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns||}1>Q z+W{hN^R+pSFeL|=C3ExK+|s)H=zd4ZrtLh37R7p;1JCH!*!#ELUGww|t${q&r>V;l8K$*4&e5XrFC;#m!ps zL|t`8?95c|&p*B~Iqbcc_+^pV{POcV_UwD05i*fW#W?`j$twaZ4L?84%M z8=4D$UU@Bha6|L1qCfsD7MwT#Ue)c-*B8mm^b^~0C&rQS-0pOB?=8>mb1FS`mi)QS R$-uzC;OXk;vd$@?2>|ra4|@Or literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/raspberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/raspberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..cf53806fa19ef602698fa98b15fd330e271fc286 GIT binary patch literal 7627 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!uTKUIZ9lmsP~D-;yvr)B1( zDwI?fq$;FVWTr7NRNPt{o;&HC4%grJT4|h0D|X1(uTEp%{KwMG$Nuj2{Hq~nZ@*OU zyr@v{z~RoH^ZTd&7XRlYQYy50*`!Iw=Zk1AeB}1`=j!t__t>OM|ET`_c4xIZlbqqY znzmUve{22z%~n~pqg%dd%Waq6c7aEpyykb@CYayLl-I_orPgtHrh;%lf25u0+4*W) zD%U-ZTJ-$+x6aSXzePV4>qy>{7UZ{VIeA3x`GJQT2Y$Qvy)F(md_Q z`+uIS&v;t5=+nK6@$>#Ov|g@!_u;{AKliS9*fA9Xh{aNhZi(k*4 z{Eg0D5uGjfdX>r!lbM0nr#$E5mX0}hKAY41nEoR>d-sD2`7YjWJon+Qxy)QH)&rY7 zG6I&me%@L3Dj@I>kK}a$tA< z=&|MvMglDt`B=C6|3C6E+%fy@1ocn9esNW`%C-a~D{ns^!RnB4*P^Sx`TfVw`HxRI z7}({7Nkr6ID@Cbvua$NG!*Di2qR=+ev2q5(4vuPfjpiHTpE@mql;%61aQU#9X+D>u zRD=^Vi%7D>1tX4PCJU)=_bSvcZ#FwpAlJN^!No-?)ggEXlQ!c<#kx%zNh{p?gpz#> z-FsE99q|nE(R{k)@Hb)$wk9=X5q4#%g-6T zc3Pnux9O3Wwtj5tRdLfI_G|Wi|7A^gt!QOmxz}L-iicO{tmn8@B4nQCpu@rVagU&b zLwoPca3Rh-=k11{RTZ?88m1LC8)qo9v7`odbjQ8fH{o~NY~i2#3%JECw=evyKA~88 z*M5cX>UsMYn3ZjPIqz=s1;4{@L(Y5H>&%F1z7~6>Zoi)AZ#9#tmOIZcxtiEhebnyp z8Q+(&VH{>zbuYZi`>c&ly$hZGVnTYzRndkYZ&@w|fp zD))$7l?KB&tT=LT36Jf=f`oV>|Wx!w=aTsrS!h%wzU4wbL4W& zGRNna(!;ieE+{|vWWz}(*30SZnu?zb#>{08`OEW*>(GoRw{C8)29k=dQSyG0@6u!KKi-(^`7mUU$gI?mAO<@TAGd^EI|nYX97;|L*;L z_O-vq)E5RF9v3S%C3(hgR9+u<*=kYbD@n8dpxVtUCuehV%z3ACK%o9acj@B&=O50m z{%Z3{R5~HRa?*v|l)2^#g8R=szjh|Rf6~_~?^8Ngj?Z+KTVa`}ReC`3?NWou1zVS} zJ}nJ)Ynp%9AUSi5*qUUg*`hC2y-9!0xz6ZyLe%{0%$^ff51vujzlU#foLS_V9HZw` z9)|BzQLu6pJ#4E`X20p}oyvw*-R7#4C%tdIXXl)#vD$tAKu78o7H7YzyH$IoL|0nr zDZ4IEIK6yz|NO4AXL^JhYfrQP6S>rrKG%ua>-?-!yz#8-{pTIn@K>;ZZ+w$>$K?rE zZ0D$DPChDqTQ>Dk&z3aSk1gHCMNBrw*f;k53KQ6VK4`k&hfhVZ-16C{I$KnNUitFv z|LlBRbdDM8xxanJbx$74O^M#?(r9%huv9OwO2quEn&W}*KUH{?v@fsFQZ--Z1bSxKI5Pjow9`l%Y7@u4etPUl->`0WY_Zn2I@X0+e%IK%(ayI+m#m#+R&D5vvL zIG?9ldM@`GpX>UMCSHDOv4G8GD zOGe&TL+i$8uY=1~YAWu}xnXesk$g(i7M;V=R*cD-g+H2JhW|eCcJ)IK^Nm*FE9!1G z?rdB`Vuln&SG}-F8{#b?Zdv4Mmj2^?_?HPM z?1XK-_|jhT}_(=qn7`TPAI zt7n-S^z3wByrE}ne6fN}iB|rnUFy}#eYc(Zx%`Iy$ESzeuZO(b&D!GYKi{^IcL}TU z-c$20emdMfUH_sxw=L@}Tdn+S>Z|7{s3mRTKi2l6$H~6%Cy%a~RCLWLk?-+}LLX8q zJiT`?FfcY{Iy(n=Iy);sYkvlYiaE6tEj^eWMcVAcT|YWp5K$6~UNN<4MaNQ?Ko(X{ zr6Y?A%8NBp%oEL%k~ME|iOKbbCnm35+qzbPLr$TrEUe2+=$g5wf@2T!;hI0j|Ib(F zJ6L-~ZVSK6zio1<^JGU`tNjbE?_G4!L;FH@L|mGhjo`vZzjiJ6npp%x+b{vhDiCdLtfMGo>U1wW6<4qQfl>* z6PMJND|fkjylWQyBU|}@%?_W!wMm`Hb4<+K?)Cp_zQ6gaP&0Gul4S~4_Wk(hZhqyh zL*DK0`}=F{%bBj8FL*lT&r4;ApCYxpmz2snomPv9nQl@nuD5-`U(MtlZgH!otyLBJ zP^Wg^ggkg&dz0$52&wyjcxZ-9bxeo?A|iJpm`fv#&sW|@(a9hZVlQA(Oskc%7Ch@zA< zTcwPWk^(Dz{qpj1y>er{{GxPyLrY6beFGzXBO~3Slr-Jq%Dj@q3f;V7WsngNGh9-O zlZ!G7N;32F6hLMsCgqow*eWS;DJUpF4bLnnNp`I$fm;CLgN-jPNzwN#C`mS{$SrWK zDA6}EFtE@yFw!-$)JN7|kz3&F3)h`j3=PHP{9OHt!~%UoJp=vRTofI}C9Y)%`>^UL z4yi0i)elN7&Mz%WPIWCy%_~txwzMFpv>4gW(&AK*5ZK*0DQWr@xe%L?^|*Wb2Eg@z zf-yZaw*agIq#9XeN-|tsL1|GASWQZ@erir?ZfaghvA&_6A&Q4eGSd(dgyJ8N3^)jo zjjzZpfSZq^8Wvt)#o%zYa>-9F1zGCpVygsluT@HZa%PGZn3vVvwY3 zl4fbBn`D@hrfXo@|hkVu@swXI^nhVqS78$f%0k0=>-46f46-3!_vsgEZaL zWV0k)6LSkgU5n%tQ(Y4?LzAQwGs|S7R6`^q{EITvGxHL2kX;2bDkU?;%E&a;AT235 zQP&Qaie>y((T59ZqF<5P@bQgB9o zc^+6JB=6!e2cZ;hiephpd45s0f02JuR%&tyesi!XhMN?Wnx0u)QdH?lz*A`IY#<5N zBeS?9zo-(){@~O?2oK_|oJ?>~DJX!80jtDhNbnaYmZheEqecNHm7I~7m!6tps|3w# zF!4+*3E9LnIV~|cIaSxvEG=2r#KOW{*CNF*Ro5gr(J0L_HPzU}2$I&|rWfa@m6RtI zr8=gk=9Sngxo74Ufa6&~1DgIcQC(A>kqSy&21bUULeS7K#L(Evz}U*bLRk)b(S;8E^9GbAi;uE&)RV*K*WMv-0Zk)^ud)q zsN#o&1*qbsC5C1$T3Vr?Flq@&;X4{!qrpW|2#}&6h2cL4F4((#G6MqxXMsm#F#`j)FbFd;%$g&?z`(#> z;_2(k{*;MZR8NOx-G?O%49u>cE{-7o|v)qWoh)SwKk}`)1W$rF#H;-BU{qXt8=kKlm?)`DT$gRywR_^t;JZ+M>l3#oKaiwj7)}CR~ zlk0mfr0#Ls<@?e1=pLpEj25R&7;l8Me6g>a&EL1w!@D+u@km7YiXZRxNcrz;Du26v zjiE}Cm%-#LBxjk;4mx8a<;nbD!t2tV??f4D7EjLcu4vzU{MeO= zm+puDnliU3%eQ1_b2P(@*h_`09<{xifAO*G$BkQ$DeP0U-#<4dDF0f*&3)UP6}LXm-u#56+_>Vo*!=k! z!LFhwldhaKl#Ot@I(OqK{kdvUuiZi)FU>XjTdWfS<4wKK+=LX4d$1`h`83 zYy3|!C=^>ve&;r2-KLG9swKJ0j{Mv*qvM=#z4)|nC6le+SKgZ^cPBqK^x?W*pA_GO zIdZ*5)s-FFUnjXvf9#~TOzmP(yXTfQ%nw@kn3~jYT*JULotGh`t~&7Sz1fQ|+n;Zr z7hEc$*!-n>)T_g%0@Ef`t2x?RN~dW3 zFh8I1lIN~0!-2OOJPu$V> zKiluT=vJG2q1e1@$(zO+*^aW;)2&^rmF2_)txC1Kq6IHY8ALlq9lvDfwZqmaZ}r;a zo+*E?tg!I8yL{5`a_NS+QURmD?hPuoZe|jF7SaTk3U^eyd^f}qc$xzucdEZ8_ zyPJ!?oe};itNCVnjAH@o<@s-&cNX>^3>SVhd+yFT*6~l)y(*}m^Z0tT=+)}z<=)qr zgZA^6E;6>7F@w?ae5#!4gXb6cH@k=gez?a}wo1=xv4}7)GP~eC+?6@NMWX`p*+5$+L@d^MeM@=S!8WH`iwW z5cFRpDJ*+SR7~y4S_Xl{eD>rAzprKF-;m5NQQ$hp;Ld2z+0}9*h>i7_<*E&nbT+eF zIwj|?;Y>TH>h9e$hgC_Yns0$x5mUHWC+|PuH3!-!C8y6VzQ?Mrx9iEx==XcRAMAfJ zorzsK=7S;&r=d#X#z#lI1paZNBZ8Km60KbHOKR1Xh+t#hbysqV&u+i44JIwlt&%T~@SZy$5y^b)Z~_CLZ?m!Pv8bTtT?c3O zwX7&$(Y~v&eAYn;i7jU*yngoNoqnbbtp|2JzY*}3xD)@0q= z?WunE57R=?zFkL6o48dO=ccwy$3haD-Ahz(pk=B62ten=BeX0jt_lX{9d2@mH zt?T1Ob>fS+SFSHB3z3qTR>ytyYl{A@rT6asm#pFtl)m0~l=t$F5C4N0(oUZKdZ27i z_w(TIpE$odCG5YlN%4q7=aRNCsYzW0YZ z)_4DBSbE7L?XfTy!FtT19=sF+hb(b9w2QKZd2-1Vcw1ra5&=oM3& zR&*?N31ngQR64S_puAWk#XQkGDOvLdmzZ2{cw+L}wXJIvIOG({%EG$Lgsz!;DmeBq zAFlah{QrD)zJs+_+O|Up=*LmZ-|sXJLEO}?n#y4 zGX~v#C#6;|IdMsSxpJ4g$Gc|HKeCno*X-~qT$|LHJjcY$?Oy+{=KGt!3NB4 z?jMS#o$zU`Wnd7f&J2ktiSYHYO3u&KOH9d6O4X~#Enolv8~cia#N_PM5{0DH^vpb4 zrT4q{D=B2A*eZpa`WpBaIHzW0dQ=sq23ProBv)l8Tc#-4+i}@cSXJZ}Ne@6s4qD z1-ZCEjVMYRtPXT0RVp4u-iLH_nmx6)<)bPxLl4RG461W8*KG^u;k`#T< zf|6vDirfO%iV}Sz0|N_P10!7{OMPVh6}bhzzHr@n#n4bp&d=4aNG#Ad)HBe}%|+2s zT;f`Wun((_;*iRMRQ;gT;{4L0YZ-a|^&aK&p{drX<7F6_gg`fYqcV>!;?V=BDPA6zd!68KQWoBr^>W zK`8zK$$*0Z+4zdw0=W4os$t;;RtyeTE0_G_Qjn#dF1AV__gbaoCugQuftiV^rb#I# zDM`9!DF#WpCTW(2x=Ds9X}X4%#wJNA=E(*rDV9h^dFBYAjQ80sdPC#L8cC0iP&8k!my)sV}Pfvl98SP*l@5& zKu%&wT7FTktx|YqUP^v>F+wUNGdDH3BoP#BhGvGw24-d!mIh|#h8E^#2t{G3Ma7x< zc_32_4fKqRz%nVxR&M!4xrrsVN}0Kd>8bh!dFfyYP{dgI7iFgAl_Y|4hpmz!SiB;) zz{=J0SS2Pyg1YDP5R8ZnFFfs%cf`*16hQ?L~ z##ROZ$%SInu*@G&6NLYX>URq*k=Axw)3JRl^kQBb7!8ICOB!vJ;ibqq|XmF7f0wgIO zOuI$5RXp3~Wi>?k)`fL2$v|<&zm07&r?&B8wRqxP?KO zkzv*x2?hoR_7YEDSN5k&+(H~&0!9yhFfcIu^>lFzu{gbUvaZh&1BtfzdIBMLn;15; zw9koba%-G*;6awhvyanRt?P^Uj0^c%)n-OES(cyVSy3D+exzMNb$9ExZ7t!Z@%#7N zsXKxz>MP^3QAL?f+*cw_Bk1=@;9YqXk<8PpjPnjn{a(`njxg HN@xNAQq(E( literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/snowberry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/snowberry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..5518d987d1d4aa4eba4239be0e2c47a9157b5740 GIT binary patch literal 287 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 NJzf1=);T3K0Ra5$sD}Um literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/berry_bush/wintergreen_berry_bush.png b/kubejs/assets/tfc/textures/block/berry_bush/wintergreen_berry_bush.png new file mode 100644 index 0000000000000000000000000000000000000000..0813022a5896ad4dd7192bc142e81723991c75c7 GIT binary patch literal 695 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PXNr}OT51_lPs z0*}aI1_o|n5N2eUHAjMhfq}im)7O>#83!kuq{iz`Z50LvCKpc^#}JFtxs!dflpH16 z=4+|#dYO>!#?iD$!MH@9DUZEMQSZpy2ZA;Y;S*vO@;?w{y2&cu+imBNAa+;!U_vv8 zlxX(iru#aRgp7UOa=rRnckj7wX#Q^opW~bd7r4r}Rs3DXuw-%Pr)pkCi&@O}_5Tm$ ze9KBbx8m)z#g+^5Pkr|}&dE?H5t#qG=+v|oZ^hQ%pYr5oXy@xm#h=bRvwmc-C`?mf zo%c!Yg_kd~G$dRQT7Q4aON&7Br`1PF18?gdT%h_gW6_aPPj_L~1heXupfdLu`r3@|>TpGCWa5r>5y#Vy#=RcA1N(- zm*?p&9Gd^T$fTWnYKcjpt2?v7?DrS0w!d0B`F{3^Q*%~^a-Df*tuuAb4% zo5AYvI*s-BMWko^SG}|@wOd@aH#e%}i~EE%6{+VUw60$~Ygzf`eaX8#{YMr(Q{rZR vPCXvA^nj_T^|rH|2TniUyeVn@{VDq=zbfjvA-(4?C;@u9`njxgN@xNAcVsvF literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/fruit_tree/olive_dry_leaves.png b/kubejs/assets/tfc/textures/block/fruit_tree/olive_dry_leaves.png new file mode 100644 index 0000000000000000000000000000000000000000..576138159ad1eda37b570c20cb482410dff80c72 GIT binary patch literal 475 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^O1ek{PV_{rKX> zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns~eVC7|%)!kq?ErEf7F~ifvF~s6@ZScZL z%?1Ls-TO4Vj)mTxIeXDhW|lVp10@$iHB`7l=N|mPX)5}$-2Cbn?gB>F=QZa_j1}MB zk&2j9yZilK)(V%%CCk?F9XrdoU>%>@d7;Vaos11O-aPXe9RkAHgT+=(+`H)PGu}Fr zT=$Q5+ZHHsEqu<(BjHok@<#M&WYWHU^%ucpcCYscxkcg-7eWbkJjF}>2y-ZD+N+vug>d-?e* zUI`bz(-RJs%42?1+q3NL3G;-f4XgM3{t_Ft@{IS>s29yY?Qc!)wKKT=tp2-W{JWp0 eC+=POpP`CJI&ZFZpDY6d1B0ilpUXO@geCyqu*>lP literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/fruit_tree/olive_flowering_leaves.png b/kubejs/assets/tfc/textures/block/fruit_tree/olive_flowering_leaves.png new file mode 100644 index 0000000000000000000000000000000000000000..56527bec945c1ba502045ce6168abfba41980040 GIT binary patch literal 724 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7BevDDT6R$#Zvn+1_lQ95>H=O_7|+Y9BQW1&5L3g7?=`0T^vI!PRC9*%n%Ng zI9{*Mazt_CP6f##XaAV0=GZRZ)1nK#A5NRIV6^~~ql;Ht0DJp{h21G99*A&A$}GL0 z)2OG%YpNNv@lsmP6>-zUsxzXeJ{P!G`8HZ^&-Z`#fA72h{eOW?wB@|D46n{MF=>Ry zhOXPir4WB+WsTu-ne%+-zuc}dT%MG@`t%n*eO8C1SH$|#SNq5BGn^EBDm1(_sy1;Z z+sl$kDA}x=tLNFSo8YlzLU_6iFQ3FoO?7$u6)sAyum5I$iEh~K z#?~;y@8@!R)rlS-|9-YB4-!i=YfhD#Q&a0MaAsYn_R?)TN~<>>KOGw0`$Xil$%OE9 zoxAl1-{0i0oR^Sh9O9MBn9Cq@J}i6n=|lmBg$H|{Oz~T-U(&n$xwG2-XMg@OzbrA@ zQ*0Bx^s=YU(wByIAJ*)$6*7COzi-xb~}PnOQk!lVtUtkmb*v;i1&Yf$jHZO458yRrCS#h5|`-8Kqx4S61-kz!dY|66r%}4s! zopmldL|bvK49eoxEwhRK`ESmn%YO^fUY%{~id@z>^X!EcrLKD;0|GrR{(K=D*R}O( zYE#0obIH=O_7|+Y9IE_PVn1{k7#Kfzx;TbdoQ@6NpMBdw zqIP~%#&wk|0v0^;_DH_Dn4o``$91*it)>eLmX>UsrnDu}*`5E8H#_$p(cll)jVb=$1(?*9Jxp8MjD6BrZr-U*0XB2&eAH1Yt0!Q3+^`(xM| zewDZ_zkRI4NS)zC_mu6sZRhxH@BLcj%pg$3*?Y{nuBxJK9bd=h2Jy|JE7O>-n}<)( z*ALR$dThb{W@Ym_@Ao(QW8(D9ue{v0a2D^2R}FhSDy?Qt&NAb%X1G(giP8CRzM(b+iCQl;Xr?kn77)~qdBgNKTf!-KcBaH<<^gH-Sza-R&yV6+|PcT zt=pf|<3RlW`x{Tp_j`6Fh%4!`%?BFZfA9bCz6cbN6^ehO^t)+8jRT zxaZcIMIP4{PM@&(?%Rd4cs-Wpnl79^p(N2nuBg^(c3Brw*XD+&6L>oAdTdmkzI{s5 zgl$urlABW<-Y|Yvo}M~EB?n})-^#D9o4z?tjGcdO!l9en9_c*TFP0y$yDBvQ8v_Fa NgQu&X%Q~loCIGEW3hV#? literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/fruit_tree/olive_leaves.png b/kubejs/assets/tfc/textures/block/fruit_tree/olive_leaves.png new file mode 100644 index 0000000000000000000000000000000000000000..46940bf1d55ca3456d6d4a47c2ce57c6886ac9b2 GIT binary patch literal 620 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7BevDDT6R$#Zvn+1_lQ95>H=O_7|+Y9I6sOkJi3sU|{^|>Eak-aXNOgVfO6+ zk=Fg{TuZyzXFob9^(ZfF;W7a!Uaq@aJ)HkH2zK;Ixr9Hw+nnxvLH@-9oqOIkM-;t{ zZY(xFu~bfF#q(*m55|Ok`*CmY^Sj08ti|<9j&RE|&N$=7G$Cc5%1nI*$0uF_J0G?B z)h^%b_@t}Ua!-O~ymW)fxn6OrPd~mK+P1>OC_XR$o$vj;%P+TNGKH-1{17FRzf7#k+W0PO;_gRFGQG8uZ{OrH) zSIwK1vTsRY-j|%0Dy9F^3m@cdeQ3k&kZaO#_w_$}^U2FsUfHcsv~=c$&+E6SZJwCZ z-F1BVbYc0B?BZ2Mmx`sHAKMk3`{MT7TkUGIP0sbE9pskPJnj5;pOJy*vu-orH07Pq zxqd<`H+?DGeciSF)?U3Z;WgZsVm2rgxr%$94J(j(eoU+Ew{ZIGUa#GfOO~xs`TSJg ZXkz%T2Mfzo7#J8BJYD@<);T3K0RRY<8!rF= literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/glass/0.png b/kubejs/assets/tfc/textures/block/glass/0.png new file mode 100644 index 0000000000000000000000000000000000000000..0f3718d848edfcfb78983fd37dc306332d2eeeb9 GIT binary patch literal 440 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$*SvBPj&dxJsU|@9hba4!^I9)o)*Z+`% zK%4vtr%SnaAis96=6YJ~@&bz&nKcIC#p{Bx8_EY5ljrZO$dgK&LtJr&Y z^J;#E8QveX?(bL!_h~z?r+iY zT`UkB;+t(Ie=h0t<=^J}Zd}^AlWlq63kCaiy5`g0T#i=PQ!%r6eMnWnzc%8w`lDAj sEM6s=yjj0ee@$C@vz@;E{y)rfCtSa{YRkF{3=9kmp00i_>zopr0JT%T-~a#s literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/glass/1.png b/kubejs/assets/tfc/textures/block/glass/1.png new file mode 100644 index 0000000000000000000000000000000000000000..8358130cb2846956bb23a34db5494e0d9d56bb10 GIT binary patch literal 446 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$*S+xuu(;3z?Ffe+1x;TbdoGzW@=zqvT zpw<55q)C^YGG>{mG9GH>et4|@;{*Ax2hOfGe{;0Et8+<`f>*A|q!*6q#=B3<*|odY z`2F6>^zY)&?=z_Nb6#R;Fz9Ajahj{){B+&+uk*g;q}*pP>t=e~y!*3Ve1HC%E>Q-@ zSu&>gM78-|+cG?}|Bx1VV_Blu%`_>E)ROPdPfP!H&bKOYQ0tFWeR4vUgK9z(5$`YpqZ=E@X`0;FV|x$zsg1n&q=I7hoas9P=&F0pfmaNl4fAy3U%~g2GX;r$ZRl&C};s)EMVEHxI x)t|lE{cJ(=#RU6h`!-75nbq@i$KJ>6ybc$qzxCw(%fP_E;OXk;vd$@?2>@;~z3c!0 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/glass/2.png b/kubejs/assets/tfc/textures/block/glass/2.png new file mode 100644 index 0000000000000000000000000000000000000000..a400a3e432b6062f98249dc8e166c388326ced36 GIT binary patch literal 446 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$*S=Ehl59miQFfe+1x;TbdoGzVoI_r>w zNZbAsJ5D&ns5okkXfB~2UxCz>=AnH4EkeU04GEz;oi zmeDF{Qq3zrcNf=74CTug*Pp82bcA0yA@bLn#!Xu$GPvyuc{TZkxa9XoYqu}&Zb|TX z^}?6!$EC;K=g)uA-LPq=>bv8;I~iVh#9VUa?=LZ2dAP4V(XM2Q?84QW+j!5UN$!5G z+WvEqU}lJlMEtL|ZDu!~P5XO#-nN^KKW#U-yetg=Ud4B2?T;^4T1A4&k1B~w@VT8J xJAcON_mAp&E+#}J-!cnpep}H|U;A8qzu?uGa}`&gW?*1o@O1TaS?83{1OUA3!Fm7y literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/glass/3.png b/kubejs/assets/tfc/textures/block/glass/3.png new file mode 100644 index 0000000000000000000000000000000000000000..0c48d92a7b48a8f3a1fdd96a63f0a0687b0fd7f0 GIT binary patch literal 403 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$*Sv6QxA1&i!U|>}6ba4!^I9)nvVcuZ_ zfwui_#~7zMPGJ*~3<+J*xbM2$`lYOj$-yQ8CKp_p10CZRFrT}bo^Gq@mGj*C{@?HU z^WNwCGwhPeVP;s%{XUcL{crs{auP%heErh$OjoDc@IV#I7qutWJ-qk4;PoOowL?Nx zYaKatRT8`cH~m}M8~%8&?KCkLh1)C@vkrf*^bOt0x6SN3YrxUMle)KTPV3%aEBpO~ zKeSZz^i|bqOmen7(;x8LURrm|;A~~S>K&^eJ2nYbue`ITC3Q-w>#dzLCw}3*Rcgd~ zd(G+&&Lgi?*Bn=W^lIKyF literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/glass/4.png b/kubejs/assets/tfc/textures/block/glass/4.png new file mode 100644 index 0000000000000000000000000000000000000000..9581000cdc4ba82bc683cd61d3a87a92aa75446a GIT binary patch literal 407 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$*SvB}K8PvBiFfgikx;TbdoGzWTG4HSe zk4rpnZ(F;=gokUJ=N^>&ef00tMGlwvJKDE7Z&PTzp!i}QpNZP`Y!`+y3u=9#rZ$#s)K(mc4ZPc`IV4wy1#CFWwMOm0FW8lkPUP+o^{|ZI;t( zEWLSysWeiNar&x~XA?h#OZ6YC-gj0cWPufjh1<>e`#ZJYFT6WtAHymWy|qbajl&o6 zUFf?hpEe~l>-x4GA_d!9AJ6`AxNl2#!I6lf=%&5xkJYs|K0kNYc|%{(&55OXi7L?t zclj+hXekxfY^gTe~ HDWM4f1l6c{ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/block/glass/5.png b/kubejs/assets/tfc/textures/block/glass/5.png new file mode 100644 index 0000000000000000000000000000000000000000..8ae40a5d2fd5ecba2fa40d8dd571d53711c7a32f GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$*Sv6!GJNeErFfclLx;TbdoGzWT+wZV} zNSnR6*aX$Aq{^29E1lWybxn6oTIr(R#^b>gyGU&Xx9p`^2QAmVZCW1lXa48=SHAu| z%9x-XlF2aRH5-F%FT;-c$~@{JyLtaJbp7R<+kE~t-`R5CcP9zWEL*^#qLBxN;=#(OKDS#B{ll~T=RVww!+?#*Ki zJE(H;cHY4-%^i2y8cuMzaYy+5kz;;(#Ldd#v{-unbeH`nerU(B8_e0mV(2op?esEd z|Hb>ie3gtiTYC77&n52n2Zg5Rc%Isv6S(x@t9i9YBBy9Clny?_YqQ>3ZeM(@{UeXu z)@zq%WSu@xeD{ON*C%P*#ed}^7G05Cykn>5#7Vq?ubsHo?o3x?Uh>+~qR;l@S$5IJNlq9TEW4@hj)LvK z{3kwhjxPGIEPcpn&9gfJ>;EtOc#7xHtS+9&ojf4$Km3i&u@f#`X|e3}ZQHNEH-2;P z-=v2RyT2c~UGp{X{{Qds-~QNdQT<+@TXv(~yY}q=kjrOU^ba^ao+`QI$X5wH`5PxT zRR8vFvvt=qmf2r1S1?jmS?_G*&SM};3ha|F_grO|k;cZx)^_)HywRO~pIbnNN0>hT z%49gpFot2X?6VX$Hnu&p3YQrzTFm*331o+!*)A7LN%aj^uB)6(TgAv=VBW>Cb%r4` Q0|Nttr>mdKI;Vst0B$UTH2?qr literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/blowpipe/0.png b/kubejs/assets/tfc/textures/item/blowpipe/0.png new file mode 100644 index 0000000000000000000000000000000000000000..52bd4f589db6deecdd1bae8bb51658d42dc6505d GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$**%;*7XZyD^FfclLx;TbdoGzWTG4GIp zh^zlZ$1Y(PC65UL%)&l3h4zc<0}Qt&t6y5`rG2GMDae#%WvrF$>zg9}8|Qxh^RD*$ zvu_`N@+tTy8A&q+ED>wi^^(D&EdATt&Q!y~a)#NP4z+x!vU{}nZ|ZJqh6y)cEc#GZ zo^XF2gTeoUvo{sFc3;_*BsC?qNGcmHmf)oZKapTs|9??mQ{tG_RbU2@{meK#MW zwKIDy%F_Ac#Dw{;sm)F<{}y+xn)lQtH>MdEMApWq#7Mv2XM6E-TZ&ndsdTWpZ0Y5| zYxCEwR@&+_dEa#IhIu{SaTgy>3^$VAD8UzFS90ApGkm**)Q)-m6&1NRrc5=zWYcL_ zdb#qJ(+&?^|NQutH1Frnq~@q^Y(Dh4Tc+jl<&~EuId>PZrYuujb6ow|tIe60j%Qf( mWM-^s6Fl@S$**;tKEm|Rz6U|{s{ba4!^I9)o)*8i}9 zK%2bQ>aImDS+fqVy0R>I`kKGa9s5rlyVN>WP~Rs&rGS-HGf-q9A5X!xn-^v$9e;oK zccJ*ZSD&N~+?cdx9m9!S#sd$k8IFDD_uIEPWA+FB2OElKh}hiL`%(4IVwWvLWbDMN zqKmU?N~-<#F(3HDZucf8W7cgYlgkd8i!=A%+wmdc-a4fT8&i4y*h=pd*!xT8mMhnR z75f;~k|x<`-C|2V%@MQ3m!U)F<6({nulc3{UecTiDW_J*b=FNR)VnwNeVs~&Vq~mg zemKv*^bfXstGU(`MH|FUyBNpdqoOx+(RBA^DW$IaBHRC72=r@Nw`_)##cjQc-Fu&J zC=Oh5Y}$;2-zRPpnRC18{BH4}&8<5v*{5j)yHyo0cD*G0l@S$**;qtNRD-!07#Mv$T^vI!PM1zPops1T zq;3C+9VZ-OR1{fQ3?De%`6*R9X2&KY%5tBR{Z<*vzKHOq=VQ$Dj-URd6$xa1kXD#YvZt90K%rH5= z#IjdwPy9NIwfxV&XFs@`^RD~Wp~d1Y>hOX?-2a`mhBPwgWgwF_?0slDb9dCP-AIacbc=a=rD=#TTRwQpw0 z_n38An!jM{;j4Y~kIqg{<@UbQA6?9NVd9P@-Ewj-lP<|vOa1zJA+W4v-7*QO8NSA5 z{@i7oE444J@G)3drkksHLu}gH&(kjCoc|*hv8d#U`1dNlGh2Urx$;xw(x0YQeTA8A y39|ENtbYHfuIFMxlOb>K)dXv)M{)OmvUV3;_1(8`k_-a_1B0ilpUXO@geCyO?Y@iv literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/blowpipe/3.png b/kubejs/assets/tfc/textures/item/blowpipe/3.png new file mode 100644 index 0000000000000000000000000000000000000000..aab25553288d3e1343d9681cff0e9e586b4ef414 GIT binary patch literal 404 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$**;s^LIUZZVz`&^J>Eak-ak_NU!o0%< z0&V+Uk1>WdOl1?13<+J*xG(&E?vllTbL*Ua{IZ;F?;V$Nnnaz24eFuXcASopgNfT*mv|uKl*!t3)N8 zh1aE~TySDqCZhT}{#J$Az1Ovwjx3w>4qTR*ciwx|s@#O+;&_Hondx^Ho!xw=sdU3# z)%q2yR!6MU+bHtkL81kF{fmiZrfr$$s1l_uDt0%&*Oz10?+ITR|7t!10|SGntDnm{r-UW| DTjQdm literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/blowpipe/4.png b/kubejs/assets/tfc/textures/item/blowpipe/4.png new file mode 100644 index 0000000000000000000000000000000000000000..464e4cb06a5da7cf45769a1b4de503eeb1babd20 GIT binary patch literal 409 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$**;x2H-B%SdFfgilx;TbdoGzVYn0MHK z$2Fd}x2@e_!o#)Aa}P>ZKbp7DT!Tx+*1=|r>?T&u7Cy)CWeYR|%ak1^Xuh8OXa4_( z-+#VjZCKZ6#nAA*=$OXy^P=a>C4T+kPpChz_P}o4n0*gTJY(2z&h@OBrK0%YAM1O5 z%az|PXEMGja=raN|L4KS5ly?6F=V~D)cR@b#-ea7g^(}OD<*mT%6Or=o0Y%TZ_So8 z+Zd+Tn>Mn(+T_Hf7y9yy^3(Mu?|Q%2%+_4tP%2Q+v&nvcQTRRQ-I}$GA(=5zM`xw4 zbCO*kyV?GX#_B8Uatk#dce7%#{7eDA1VdX0gBfx*+& K&t;ucLK6UX0IY`q literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/blowpipe/5.png b/kubejs/assets/tfc/textures/item/blowpipe/5.png new file mode 100644 index 0000000000000000000000000000000000000000..9738f9c9da56840e71ae0041e211f73fbd52e61b GIT binary patch literal 439 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@S$**;u&ywDK|-7#LkVT^vI!PM1#F?RVHf zq|M%3%*6Z3kx!QtgW7rah`v8ztgta;k+3tHN}FD&@Re4+%(D+sgSx%~i-os*f3OF<+4e%FCayH2Pvo~8`-)2oyqY&}KX`Os z`{9%NJDFE2AI+0)^DBMKC>hY#mudg*{-M^>ySyE@c{O}mcX&zRfuoa;D`uomV|wuB ztz?3rkI>$?Y&lb#Zu>HHtV!6?@bt)g!vMdWCCpoL3cr*<$%R?fVnz??}!Ddp$rTR44$rjF6*2UngIF6yZ8VA literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/blowpipe/blowpipe.png b/kubejs/assets/tfc/textures/item/blowpipe/blowpipe.png new file mode 100644 index 0000000000000000000000000000000000000000..96b44ad035a6dbc41523189f7428d341d51dbf58 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdr%jd_r6$BqX%8wQX!{l0!|Z zG9B8BoqKD%XLN#1+zSx2H)|*kDd$+46&Xrjv*Y^L%R+N9#G(5+1Oe#LGH}~b}@k?Y;!g; zY+-t7?GSg9-}>~y2M4`e7&tFIE|PpwB>hEuA7@|)kDwTz<=-z8V$1)U1uwtL6Li$O ov5~o(@zRo1Wv>&5MAwV|KdHL(ncz)t1_lNOPgg&ebxsLQ03wx4>i_@% literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/blowpipe/ceramic_blowpipe.png b/kubejs/assets/tfc/textures/item/blowpipe/ceramic_blowpipe.png new file mode 100644 index 0000000000000000000000000000000000000000..892b5d5c45946d4b3dba129b49472b8096bde988 GIT binary patch literal 563 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^NiR#2JLX3hkZ3 zz`(#+;1OBOz`!jG!i)^F=14FwFtC?+`ns~eV3udoHs2hn)x^NSc)-)eF~s6@?&QE} zw-tC?*9$hO_$~K-$+WBUUA^Gjmq%tYFx}zLQJ))T|LvoofB)|%FOPrE&(7|>-j%q> z?D$U=o$rTA`51J*J9+i5J#M(O<9`jqgNagWO{e`9Ff$IBDxvmZkFDbLQjRB^m>wUv z_4#2+(Zts>2F7Q27z7WlVA#QM&ilC)d(w=KExtRAcY5#$r@7_!-I8%T?(JTv(Kqc> z0mFh-3%Jsrd^&i`Sd&-$f*D^CN0p@Wo>g++vWmBC`}Fngq35@%8TOQ97009>{5W6A zr%hq$q|;XS%$Kj~ntrZG|3_>k`%kHxrD6|w(yn}4KUregL5EPr$KQXmGi0Cl(c5%~ zTd7HWTgQCE`TouA_d|;#I}ggX$G@L_+Dq@LWhg_+fjiQ!Ew|?1WWJMU{=kJtc-1Lo z(*?;T_v-&ib(^U9SG?RJ_J7y%>)fk~YNRJWTr_bN+l^vj*A|JkST9v&hsS@vSuA+> z^iWqGTrw84&&U_a2N-Ywc z=;vDTd(-1jOQtLcDY1K;UA%(fl3`)YAx?jHf93zG*AMG0o%HL+L=HLQ$Nb+@c><$? TdUr4|Ffe$!`njxgN@xNANI3Ey literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/blowpipe_with_glass.png b/kubejs/assets/tfc/textures/item/blowpipe_with_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..750a1542104073603ae5087c32faa36412582c70 GIT binary patch literal 445 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^O_&q!^^;Jq!j( za29w(7Bet#3xhBt!>l@S$5IJHz$EAO^2Ffe*~x;TbdoL)Q0*4rtN zp>4kQ-{vj{DJ}h{vTyiwHF?_>K2&LWA!h2rB4)CMgSVGASI_ONW!uD`tU`%vAMw6C z?9}6>#G@nS?;Im;y8eQ-ET7H$-v=y(Y*StvXn*9xDK;DJ;c20-`msWpW`mC`cm5L zT(>?VHeaCch~##jf77Pi|G;)9pA`KdNdmx0zn# z2z;?WS^eO83rhqK#Yac~>4(PJ|+O>}759jt3^XIp?TzD){7Aojw uKZ7M9T-4A!*?7qv!?MtqnLqD;Vm=)`$Hm^@ejft^1B0ilpUXO@geCy8jIl@S$5IJFGx7jyn(U|_WKba4!^IK6h#MsKD> ziDUKRjcr#hMTl&@E5PUHbzy>vr*7cG3-JMWt_Zm-XkM)Q=vsWC7hl%|4&PW88NO1_ zhZ7Ddb~JC>Z{7vty)_@I=RdFB=by-B`nj<1+0(z#tO>`ob7o6M-nz+}kXQTr zx{?1mqZ3}n^3&JZbWQx!ott*Vv*T^k%w4cv2``Xr$s??1|j2qAPMC@!hp`d+I;IX&Q z5v3sAj7u-4E{(eII8YzMow4-{9IMGhb_0H2zm9xHI>}fryHf%+3gxLylKJn};$SatvKGTY8?- jZY`ORgTe~DWM4f_V~1~ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic_blowpipe.png b/kubejs/assets/tfc/textures/item/ceramic_blowpipe.png new file mode 100644 index 0000000000000000000000000000000000000000..3404fc19487f8901c5c262034e9a6b50f3b94e44 GIT binary patch literal 356 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^O_&q!^^;Jq!j( za29w(7Bet#3xhBt!>l@S$5IK@>erY&8=z`*d))5S5w;`H82hW>{f zB#wRjzmR)_#Nx)1B`=wHuPjwee6;z8;t!TO6Jhg42JW_xMbl?3bIv|qJaL(;?fUNR zcRy5rx>wEr=X)pf{VVV1ZmTeyZ{lQ?Td@DS>&u?16I;3C&N&&&+%b~5v!LYI=hO4{ zXxvqcIOinn>)yi8=#{Q9capd&yC!Qx!NKx-w!5z@do6#VvUY>%0oMOg54!4Ol4O3U z&FYKD_jgG+dS9)BS^mJ6>ezFNW_LI&9v`i_^g~U0UyW1f6n!1Opno?fuC8)*+;DTR z<>Oy0NqcQ2=Pp@Wkj$QZ{xIA8u>L)#mt-Y>44fpcI{y^Qbb0IR3zjo5Ffe$!`njxg HN@xNAc;Jn} literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic_blowpipe_with_glass.png b/kubejs/assets/tfc/textures/item/ceramic_blowpipe_with_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..cdfbc61f4971abbb01a885f3738ff6c7f5b83ae6 GIT binary patch literal 440 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^O_&q!^^;Jq!j( za29w(7Bet#3xhBt!>l@S$5IJE_1uSpazFfh7$x;TbdoZdUp-rFfr z;%I$%^NIzEB@^2&XnS^AbzWGs<;eww+9s(OrCYb6q?-3R1YQt$V(#%UsQc+N`8-E+ z(WM6Y)0a3F?%^%epSmdDJH4v1qVBxqobX5dx2%JGUf1r}s>NvG^6>HPWs>pTj0)^2 zzh^jKsjNGA^lWJ3m$arFwRV{aH*eS)whBiWH0ZxkoqbYq&VsOY$w#lp{r(mcI=`^5 zS@_|Cofg>(GA5hM$~Rf1pJCdZqIK?WX<6)$U&kiu>v7j!e@GedXd5 z=QY)8*TshmuTE;4$@|tpM9w2&=X37wCDrlwO}YMEbiDH3IDOgjjMwrd)qgiGP<>vW qK0#x3Xkx{JpQ`=GpX~q2=`eM||7qcYKN%Pp7(8A5T-G@yGywo0Jhxi_ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic_blowpipe_with_glass_hot.png b/kubejs/assets/tfc/textures/item/ceramic_blowpipe_with_glass_hot.png new file mode 100644 index 0000000000000000000000000000000000000000..23f928f7404ce8780dc00255a401a842097befb4 GIT binary patch literal 435 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^O_&q!^^;Jq!j( za29w(7Bet#3xhBt!>l@S$5IJISz(^JkeFfclJx;TbdoZdUp(Az0c zqHX?c)~G8X0%9!TF z#swY`G48lra`eKNU0?j#na@|we{U@$yhP+H*WW!=73z#WlC9Y{Cq&%5&3-`X{lBU+ z0h?d6xoW-=^_?idM{^IDK&2RQT`T4AFOXKmU0(r~NEGk{OeNUcYUrmwgjpxrF zv3eRYrB8Yva>Z)lVwvpYj#B*3Z}{D=uYYV1vGy7x$L~M35(x(qPUi_*-@( z%#d9TQENYk>G5xs%}NlFGq`YDe*UH{w`3b88XPFGw=vINxX3JHt97!Y?XrJq6DrO= l;W^AaJAQi<>;Jj(pL}M1J@WL)eFg>w22WQ%mvv4FO#l^xvW5Tv literal 0 HcmV?d00001 From 328241e593953e5041e2535d527556968ffe31e6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 30 Jan 2026 22:51:58 +0000 Subject: [PATCH 264/474] change small wood gear to lumber instead of sticks --- kubejs/server_scripts/tfg/primitive/recipes.wood.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.wood.js b/kubejs/server_scripts/tfg/primitive/recipes.wood.js index 2965d5783..70afd59ac 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.wood.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.wood.js @@ -131,7 +131,7 @@ function registerTFGWoodRecipes(event) { ' B ' ], { A: '#forge:tools/saws', - B: '#forge:rods/wooden', + B: '#tfc:lumber', C: 'tfc:glue' }).id('gtceu:shaped/small_gear_wood') From 40c95d6635b2060dbc9f6e07875a26e6317a5e8f Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 30 Jan 2026 16:59:37 -0600 Subject: [PATCH 265/474] Github Issue Templates --- .github/ISSUE_TEMPLATE/BUG_REPORT.yml | 50 +++++++++++++--- .github/ISSUE_TEMPLATE/CRASH_REPORT.yml | 66 +++++++++++++++++++--- .github/ISSUE_TEMPLATE/ENHANCEMENT.yml | 16 +++--- .github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml | 60 ++++++++++---------- .github/ISSUE_TEMPLATE/QUESTION.yml | 10 +++- 5 files changed, 145 insertions(+), 57 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml index a0514eeeb..e344af4a1 100644 --- a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml @@ -1,5 +1,5 @@ name: "[🐛]: Bug report" -description: "Report a bug where something is not working as expected, which does not crash the game." +description: "Report a bug where something is not working as expected, but does not crash the game." title: "[🐛]: " labels: [ "Status: Backlog" ] projects: ["TerraFirmaGreg-Team/10"] @@ -10,28 +10,62 @@ body: id: exists attributes: label: "Was this bug reported before?" - description: "Please search open/closed issues before submitting, as the issue may have already been reported/addressed." + description: "Please search OPEN/CLOSED issues before submitting, as the issue may have already been reported/addressed." options: - label: "No, it was not." required: true + - type: checkboxes + id: launcher + attributes: + label: "Are you using Prism or Curseforge?" + description: "Prism and Curseforge are the only supported launchers for TFG. Some others may not work. TLAUNCHER DOES NOT WORK." + options: + - label: "Yes, I am using Prism or Curseforge." + required: true + + - type: checkboxes + id: redownload + attributes: + label: "Have you tried redownloading the pack?" + description: "For issues that you are experiencing singularly, redownloading the pack may fix the issue." + options: + - label: "NA/ Yes, I have tried downloading a new instance." + required: true + + - type: input + id: os + validations: + required: true + attributes: + label: Computer OS + description: Write which OS your PC is running on. + placeholder: "Example: Windows 10" + - type: input id: version validations: required: true attributes: - label: "Version modpack used" - description: "Write which version of the modpack you are using." + label: Modpack Version Used + description: Write which version of the modpack you are using. placeholder: "Example: 0.1.1" - - type: input + - type: dropdown id: environment validations: required: true attributes: - label: Environment - description: "How you were playing on the world. Typical answers include: Singleplayer, Open to LAN, Forge Server, Sponge Server, or Mohist Server." - placeholder: "Example: Singleplayer" + label: MC Environment + options: + - "Singleplayer" + - "LAN" + - "Forge Server" + - "Sponge Server" + - "Mohist Server" + - "E4MC" + - "Essential" + - "Other" - type: dropdown id: world diff --git a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml index 6520e1409..63846842d 100644 --- a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml @@ -9,29 +9,81 @@ body: - type: checkboxes id: exists attributes: - label: "Was this crash report before?" - description: "Please search open/closed issues before submitting, as the issue may have already been reported/addressed." + label: "Was this bug reported before?" + description: "Please search OPEN/CLOSED issues before submitting, as the issue may have already been reported/addressed." options: - label: "No, it was not." required: true + - type: checkboxes + id: launcher + attributes: + label: "Are you using Prism or Curseforge?" + description: "Prism and Curseforge are the only supported launchers for TFG. Some others may not work. TLAUNCHER DOES NOT WORK." + options: + - label: "Yes, I am using Prism or Curseforge." + required: true + + - type: checkboxes + id: dependencies + attributes: + label: "Did you install required dependencies?" + description: "If you are using Prism or Modrinth you will be instructed to install required mods. Do so." + options: + - label: "NA/ Yes, I have all required dependencies installed." + required: true + + - type: checkboxes + id: linuxmoment + attributes: + label: "For Arch Linix users: Do you have the OpenAL audio library installed?" + description: "If you are on Arch Linux you need to have the OpenAL audio library installed." + options: + - label: "NA/ Yes, I have OpenAL." + required: true + + - type: checkboxes + id: redownload + attributes: + label: "Have you tried redownloading the pack?" + description: "For issues that you are experiencing singularly, redownloading the pack may fix the issue." + options: + - label: "NA/ Yes, I have tried downloading a new instance." + required: true + + - type: input + id: os + validations: + required: true + attributes: + label: Computer OS + description: Write which OS your PC is running on. + placeholder: "Example: Windows 10" + - type: input id: version validations: required: true attributes: - label: Version modpack used + label: Modpack Version Used description: Write which version of the modpack you are using. placeholder: "Example: 0.1.1" - - type: input + - type: dropdown id: environment validations: required: true attributes: - label: Environment - description: "How you were playing on the world. Typical answers include: Singleplayer, Open to LAN, Forge Server, Sponge Server, or Mohist Server." - placeholder: "Example: Singleplayer" + label: MC Environment + options: + - "Singleplayer" + - "LAN" + - "Forge Server" + - "Sponge Server" + - "Mohist Server" + - "E4MC" + - "Essential" + - "Other" - type: dropdown id: crash diff --git a/.github/ISSUE_TEMPLATE/ENHANCEMENT.yml b/.github/ISSUE_TEMPLATE/ENHANCEMENT.yml index 2e4288bc9..d643411f4 100644 --- a/.github/ISSUE_TEMPLATE/ENHANCEMENT.yml +++ b/.github/ISSUE_TEMPLATE/ENHANCEMENT.yml @@ -1,6 +1,6 @@ -name: "[🪡]: Enhancement" -description: "Provide supporting details for a feature in development" -title: "[🪡]: " +name: "[💡]: Enhancement" +description: "Provide details for a gameplay enhancement or improvement." +title: "[💡]: " labels: [ "Status: Backlog" ] projects: ["TerraFirmaGreg-Team/10"] type: "Enhancement" @@ -9,8 +9,8 @@ body: - type: checkboxes id: exists attributes: - label: "Was this enhancement asked before?" - description: "Please search open/closed issues before submitting, as the issue may have already been reported/addressed." + label: "Was this enhancement suggested before?" + description: "Please search OPEN/CLOSED issues before submitting, as the enhancement may have already been reported/addressed." options: - label: "No, it was not." required: true @@ -20,8 +20,8 @@ body: validations: required: true attributes: - label: What would you like to be added? - description: Feature requests are unlikely to make progress as issues. + label: What would you like to be added/ changed? + description: Enhancement requests should focus on gameplay improvements or additions that can be achieved without completely new features. Ex. Rebalancing the energy cost of a recipe. - type: textarea id: rationale @@ -32,4 +32,4 @@ body: - type: markdown attributes: - value: "Thanks for taking the time to fill out this request enhancement." \ No newline at end of file + value: "Thanks for taking the time to fill out this enhancement request." \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml index a73f7aa56..2728a3b53 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml @@ -1,6 +1,6 @@ -name: "[🪶]: Feature request" -description: "Request a new feature or a change to an existing one." -title: "[🪶]: " +name: "[💎]: Feature request" +description: "Request a new feature or a new mod." +title: "[💎]: " labels: [ "Status: Backlog" ] projects: ["TerraFirmaGreg-Team/10"] type: "Feature" @@ -10,46 +10,44 @@ body: id: exists attributes: label: "Was this feature suggested before?" - description: "Please search open/closed issues before submitting, as the issue may have already been reported/addressed." + description: "Please search OPEN/CLOSED issues before submitting, as the feature may have already been reported/addressed." options: - label: "No, it was not." required: true - - type: input - id: version + - type: checkboxes + id: blacklist + attributes: + label: "A list of popular features/mods the team has already considered and will not implement." + description: | + "### Mod Requests:" + "- Other large tech mods (Immersive Engineering, Mekanism, etc.) will not be added to the pack due to overlap with Gregtech." + "- Magic mods (Thaumcraft, Botania, etc.) will not be added to the pack as we wish to be grounded in plausibility." + "- Create: the factory must grow. And other large Create mods. They do not work with Greate and we do not wish to focus on Create too much." + "- Create Clockworks & Valkyrian Skies. both cool mods, but impossible to balance in TFG." + "- Stargate. Overdone in GT packs. We will work on something unique as an endgame goal." + + "### Feature Requests:" + "- Dyson Spheres. Boring and overdone." + "- More GT Voltage Tiers. We would prefer to have larger more rounded tiers than many small ones." + options: + - label: "I understand :(" + required: true + + - type: textarea + id: feature validations: required: true attributes: - label: "Version modpack used" - description: Write which version of the modpack you are using. - placeholder: "Example: 0.1.1" + label: What would you like to be added? + description: Feature requests should focus on new gameplay experiences or QoL additions. - type: textarea - id: problem - validations: - required: false - attributes: - label: "Related problem" - description: If the feature you wish to change is related to a problem, please desscribe it. Leave this field blank if it is not related to a problem. - placeholder: "Example: I'm always frustrated when..." - - - type: textarea - id: solution + id: rationale validations: required: true attributes: - label: "Your solution" - description: Describe the solution you would like to have happen. - placeholder: "Example: If I could..." - - - type: textarea - id: additional-info - validations: - required: false - attributes: - label: "Additional information" - description: Any additional information you wish to provide. Please add anything which did not fit into the other sections here. - placeholder: "Example: This is likely achieveable by doing X because..." + label: Why is this needed? - type: markdown attributes: diff --git a/.github/ISSUE_TEMPLATE/QUESTION.yml b/.github/ISSUE_TEMPLATE/QUESTION.yml index ba1b89c57..908cdee05 100644 --- a/.github/ISSUE_TEMPLATE/QUESTION.yml +++ b/.github/ISSUE_TEMPLATE/QUESTION.yml @@ -9,7 +9,7 @@ body: id: exists attributes: label: "Was this question asked before?" - description: "Please search open/closed issues before submitting, as the issue may have already been reported/addressed." + description: "Please search OPEN/CLOSED issues before submitting, as the issue may have already been reported/addressed." options: - label: "No, it was not." required: true @@ -17,9 +17,13 @@ body: - type: markdown attributes: value: | - If you are in need of quick response, Discord may be a better place. You can find a link to join in our README.md for this project. + "If you are in need of quick response, [Discord](https://discord.gg/AEaCzCTUwQ) may be a better place." - If you are looking for a game wiki, we are currently developing it, however most information is available in-game info through tooltips, JEI/HEI and quest. You can also ask any question on Discord, and someone will most likely have a response. + "Most information is available in-game through Tooltips, EMI, Field Guide, or Quests." + "An online version of the [Field Guide](https://terrafirmagreg-team.github.io/Field-Guide-Modern/en_us/) is also available." + + "For installing a development environment, please refer to the [Contributing Guide](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/blob/dev/.github/CONTRIBUTING.md)" + "For information about translating please read our [Localization Guide](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/blob/dev/kubejs/README_IF_TRANSLATING.md)" - type: textarea id: question From 12223d46873c06f6f1013cf42ed4f7a3630a71b6 Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 30 Jan 2026 17:04:37 -0600 Subject: [PATCH 266/474] launcher change --- .github/ISSUE_TEMPLATE/BUG_REPORT.yml | 8 +++++--- .github/ISSUE_TEMPLATE/CRASH_REPORT.yml | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml index e344af4a1..68526e6ee 100644 --- a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml @@ -15,14 +15,16 @@ body: - label: "No, it was not." required: true - - type: checkboxes + - type: dropdown id: launcher + validations: + required: true attributes: label: "Are you using Prism or Curseforge?" description: "Prism and Curseforge are the only supported launchers for TFG. Some others may not work. TLAUNCHER DOES NOT WORK." options: - - label: "Yes, I am using Prism or Curseforge." - required: true + - "Yes, I am using Prism or Curseforge." + - "No, I am not using Prism or Curseforge." - type: checkboxes id: redownload diff --git a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml index 63846842d..2421ab35a 100644 --- a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml @@ -15,14 +15,16 @@ body: - label: "No, it was not." required: true - - type: checkboxes + - type: dropdown id: launcher + validations: + required: true attributes: label: "Are you using Prism or Curseforge?" description: "Prism and Curseforge are the only supported launchers for TFG. Some others may not work. TLAUNCHER DOES NOT WORK." options: - - label: "Yes, I am using Prism or Curseforge." - required: true + - "Yes, I am using Prism or Curseforge." + - "No, I am not using Prism or Curseforge." - type: checkboxes id: dependencies From 3046ee690672559e3988d776a4455270443f420f Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 30 Jan 2026 17:10:21 -0600 Subject: [PATCH 267/474] cleanup --- .github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml | 18 +++++++++--------- .github/ISSUE_TEMPLATE/QUESTION.yml | 10 +++++----- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml index 2728a3b53..537473004 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml @@ -20,16 +20,16 @@ body: attributes: label: "A list of popular features/mods the team has already considered and will not implement." description: | - "### Mod Requests:" - "- Other large tech mods (Immersive Engineering, Mekanism, etc.) will not be added to the pack due to overlap with Gregtech." - "- Magic mods (Thaumcraft, Botania, etc.) will not be added to the pack as we wish to be grounded in plausibility." - "- Create: the factory must grow. And other large Create mods. They do not work with Greate and we do not wish to focus on Create too much." - "- Create Clockworks & Valkyrian Skies. both cool mods, but impossible to balance in TFG." - "- Stargate. Overdone in GT packs. We will work on something unique as an endgame goal." + **Mod Requests:** + - Other large tech mods (Immersive Engineering, Mekanism, etc.) will not be added to the pack due to overlap with Gregtech. + - Magic mods (Thaumcraft, Botania, etc.) will not be added to the pack as we wish to be grounded in plausibility. + - Create: the factory must grow. And other large Create mods. They do not work with Greate and we do not wish to focus on Create too much. + - Create Clockworks & Valkyrian Skies. both cool mods, but impossible to balance in TFG. + - Stargate. Overdone in GT packs. We will work on something unique as an endgame goal. - "### Feature Requests:" - "- Dyson Spheres. Boring and overdone." - "- More GT Voltage Tiers. We would prefer to have larger more rounded tiers than many small ones." + **Feature Requests:** + - Dyson Spheres. Boring and overdone. + - More GT Voltage Tiers. We would prefer to have larger more rounded tiers than many small ones. options: - label: "I understand :(" required: true diff --git a/.github/ISSUE_TEMPLATE/QUESTION.yml b/.github/ISSUE_TEMPLATE/QUESTION.yml index 908cdee05..6def5bd73 100644 --- a/.github/ISSUE_TEMPLATE/QUESTION.yml +++ b/.github/ISSUE_TEMPLATE/QUESTION.yml @@ -17,13 +17,13 @@ body: - type: markdown attributes: value: | - "If you are in need of quick response, [Discord](https://discord.gg/AEaCzCTUwQ) may be a better place." + If you are in need of quick response, [Discord](https://discord.gg/AEaCzCTUwQ) may be a better place. - "Most information is available in-game through Tooltips, EMI, Field Guide, or Quests." - "An online version of the [Field Guide](https://terrafirmagreg-team.github.io/Field-Guide-Modern/en_us/) is also available." + Most information is available in-game through Tooltips, EMI, Field Guide, or Quests. + An online version of the [Field Guide](https://terrafirmagreg-team.github.io/Field-Guide-Modern/en_us/) is also available. - "For installing a development environment, please refer to the [Contributing Guide](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/blob/dev/.github/CONTRIBUTING.md)" - "For information about translating please read our [Localization Guide](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/blob/dev/kubejs/README_IF_TRANSLATING.md)" + For installing a development environment, please refer to the [Contributing Guide](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/blob/dev/.github/CONTRIBUTING.md) + For information about translating please read our [Localization Guide](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/blob/dev/kubejs/README_IF_TRANSLATING.md) - type: textarea id: question From 87d0cda1d5df8028f2bca25939fbef3b48ed6170 Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 30 Jan 2026 17:11:43 -0600 Subject: [PATCH 268/474] md --- .github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml index 537473004..817920cab 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml @@ -20,6 +20,7 @@ body: attributes: label: "A list of popular features/mods the team has already considered and will not implement." description: | + **Mod Requests:** - Other large tech mods (Immersive Engineering, Mekanism, etc.) will not be added to the pack due to overlap with Gregtech. - Magic mods (Thaumcraft, Botania, etc.) will not be added to the pack as we wish to be grounded in plausibility. @@ -27,6 +28,7 @@ body: - Create Clockworks & Valkyrian Skies. both cool mods, but impossible to balance in TFG. - Stargate. Overdone in GT packs. We will work on something unique as an endgame goal. + **Feature Requests:** - Dyson Spheres. Boring and overdone. - More GT Voltage Tiers. We would prefer to have larger more rounded tiers than many small ones. From 22c884cf67aa51f6daec3e5e9617f3e9f45558de Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 30 Jan 2026 17:12:30 -0600 Subject: [PATCH 269/474] maybe this? --- .github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml index 817920cab..6cd2bf248 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml @@ -21,7 +21,7 @@ body: label: "A list of popular features/mods the team has already considered and will not implement." description: | - **Mod Requests:** + Mod Requests: - Other large tech mods (Immersive Engineering, Mekanism, etc.) will not be added to the pack due to overlap with Gregtech. - Magic mods (Thaumcraft, Botania, etc.) will not be added to the pack as we wish to be grounded in plausibility. - Create: the factory must grow. And other large Create mods. They do not work with Greate and we do not wish to focus on Create too much. @@ -29,7 +29,7 @@ body: - Stargate. Overdone in GT packs. We will work on something unique as an endgame goal. - **Feature Requests:** + Feature Requests: - Dyson Spheres. Boring and overdone. - More GT Voltage Tiers. We would prefer to have larger more rounded tiers than many small ones. options: From f2b079aac5060546d47a16069ce9014cf0c3e28a Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 30 Jan 2026 17:12:41 -0600 Subject: [PATCH 270/474] maybe this? --- .github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml index 6cd2bf248..08725ed74 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml @@ -28,7 +28,6 @@ body: - Create Clockworks & Valkyrian Skies. both cool mods, but impossible to balance in TFG. - Stargate. Overdone in GT packs. We will work on something unique as an endgame goal. - Feature Requests: - Dyson Spheres. Boring and overdone. - More GT Voltage Tiers. We would prefer to have larger more rounded tiers than many small ones. From e9b0de90db6aed11d36978d20fc501789d4fff40 Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 30 Jan 2026 17:14:07 -0600 Subject: [PATCH 271/474] please? --- .github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml index 08725ed74..860171ff8 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml @@ -21,14 +21,14 @@ body: label: "A list of popular features/mods the team has already considered and will not implement." description: | - Mod Requests: + ### Mod Requests: - Other large tech mods (Immersive Engineering, Mekanism, etc.) will not be added to the pack due to overlap with Gregtech. - Magic mods (Thaumcraft, Botania, etc.) will not be added to the pack as we wish to be grounded in plausibility. - Create: the factory must grow. And other large Create mods. They do not work with Greate and we do not wish to focus on Create too much. - Create Clockworks & Valkyrian Skies. both cool mods, but impossible to balance in TFG. - Stargate. Overdone in GT packs. We will work on something unique as an endgame goal. - Feature Requests: + ### Feature Requests: - Dyson Spheres. Boring and overdone. - More GT Voltage Tiers. We would prefer to have larger more rounded tiers than many small ones. options: From fcf0b8a19eb048e71bb660a822d9c26f5b2c024c Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 30 Jan 2026 17:19:33 -0600 Subject: [PATCH 272/474] oops --- .github/ISSUE_TEMPLATE/CRASH_REPORT.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml index 2421ab35a..ddac40985 100644 --- a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml @@ -9,7 +9,7 @@ body: - type: checkboxes id: exists attributes: - label: "Was this bug reported before?" + label: "Was this crash reported before?" description: "Please search OPEN/CLOSED issues before submitting, as the issue may have already been reported/addressed." options: - label: "No, it was not." From c2007496caa9c7ba82a89d6cc3b9ff43b05aacf3 Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 30 Jan 2026 17:40:35 -0600 Subject: [PATCH 273/474] fix feedback --- .github/ISSUE_TEMPLATE/BUG_REPORT.yml | 2 +- .github/ISSUE_TEMPLATE/CRASH_REPORT.yml | 13 ++----------- .github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml | 2 +- .github/ISSUE_TEMPLATE/QUESTION.yml | 2 +- 4 files changed, 5 insertions(+), 14 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml index 68526e6ee..6064c1c20 100644 --- a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml @@ -32,7 +32,7 @@ body: label: "Have you tried redownloading the pack?" description: "For issues that you are experiencing singularly, redownloading the pack may fix the issue." options: - - label: "NA/ Yes, I have tried downloading a new instance." + - label: "Not Applicable / Yes, I have tried downloading a new instance." required: true - type: input diff --git a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml index ddac40985..f342da823 100644 --- a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml @@ -32,16 +32,7 @@ body: label: "Did you install required dependencies?" description: "If you are using Prism or Modrinth you will be instructed to install required mods. Do so." options: - - label: "NA/ Yes, I have all required dependencies installed." - required: true - - - type: checkboxes - id: linuxmoment - attributes: - label: "For Arch Linix users: Do you have the OpenAL audio library installed?" - description: "If you are on Arch Linux you need to have the OpenAL audio library installed." - options: - - label: "NA/ Yes, I have OpenAL." + - label: "Not Applicable / Yes, I have all required dependencies installed." required: true - type: checkboxes @@ -50,7 +41,7 @@ body: label: "Have you tried redownloading the pack?" description: "For issues that you are experiencing singularly, redownloading the pack may fix the issue." options: - - label: "NA/ Yes, I have tried downloading a new instance." + - label: "Not Applicable / Yes, I have tried downloading a new instance." required: true - type: input diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml index 860171ff8..e3376f236 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml @@ -25,7 +25,7 @@ body: - Other large tech mods (Immersive Engineering, Mekanism, etc.) will not be added to the pack due to overlap with Gregtech. - Magic mods (Thaumcraft, Botania, etc.) will not be added to the pack as we wish to be grounded in plausibility. - Create: the factory must grow. And other large Create mods. They do not work with Greate and we do not wish to focus on Create too much. - - Create Clockworks & Valkyrian Skies. both cool mods, but impossible to balance in TFG. + - Create Clockworks & Valkyrian Skies. Both cool mods, but impossible to balance in TFG. - Stargate. Overdone in GT packs. We will work on something unique as an endgame goal. ### Feature Requests: diff --git a/.github/ISSUE_TEMPLATE/QUESTION.yml b/.github/ISSUE_TEMPLATE/QUESTION.yml index 6def5bd73..ac1db729d 100644 --- a/.github/ISSUE_TEMPLATE/QUESTION.yml +++ b/.github/ISSUE_TEMPLATE/QUESTION.yml @@ -17,7 +17,7 @@ body: - type: markdown attributes: value: | - If you are in need of quick response, [Discord](https://discord.gg/AEaCzCTUwQ) may be a better place. + If you are in need of a quick response, [Discord](https://discord.gg/AEaCzCTUwQ) may be a better place. Most information is available in-game through Tooltips, EMI, Field Guide, or Quests. An online version of the [Field Guide](https://terrafirmagreg-team.github.io/Field-Guide-Modern/en_us/) is also available. From c27aa89da151c7f287c8a5caa7002fe0b83b900f Mon Sep 17 00:00:00 2001 From: Xikaro Date: Sat, 31 Jan 2026 14:23:30 +0500 Subject: [PATCH 274/474] ISSUE_TEMPLATE --- .github/ISSUE_TEMPLATE/ENHANCEMENT.yml | 4 ++-- .github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/ENHANCEMENT.yml b/.github/ISSUE_TEMPLATE/ENHANCEMENT.yml index d643411f4..0e86bfcb0 100644 --- a/.github/ISSUE_TEMPLATE/ENHANCEMENT.yml +++ b/.github/ISSUE_TEMPLATE/ENHANCEMENT.yml @@ -1,6 +1,6 @@ -name: "[💡]: Enhancement" +name: "[💎]: Enhancement" description: "Provide details for a gameplay enhancement or improvement." -title: "[💡]: " +title: "[💎]: " labels: [ "Status: Backlog" ] projects: ["TerraFirmaGreg-Team/10"] type: "Enhancement" diff --git a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml index e3376f236..735dc2c3c 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.yml @@ -1,6 +1,6 @@ -name: "[💎]: Feature request" +name: "[💡]: Feature request" description: "Request a new feature or a new mod." -title: "[💎]: " +title: "[💡]: " labels: [ "Status: Backlog" ] projects: ["TerraFirmaGreg-Team/10"] type: "Feature" @@ -20,7 +20,6 @@ body: attributes: label: "A list of popular features/mods the team has already considered and will not implement." description: | - ### Mod Requests: - Other large tech mods (Immersive Engineering, Mekanism, etc.) will not be added to the pack due to overlap with Gregtech. - Magic mods (Thaumcraft, Botania, etc.) will not be added to the pack as we wish to be grounded in plausibility. From 0c358bf1816cbd673dfec3336f5d8d6a1cb1c675 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Sat, 31 Jan 2026 14:25:18 +0500 Subject: [PATCH 275/474] Update BUG_REPORT.yml --- .github/ISSUE_TEMPLATE/BUG_REPORT.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml index 6064c1c20..f354328b8 100644 --- a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml @@ -58,12 +58,13 @@ body: validations: required: true attributes: - label: MC Environment + label: Minecraft Environment options: - "Singleplayer" - "LAN" - "Forge Server" - "Sponge Server" + - "Magma Server" - "Mohist Server" - "E4MC" - "Essential" From 125daf12fe6d9fd1d6ff9dfacad6fa16bd50989a Mon Sep 17 00:00:00 2001 From: Xikaro Date: Sat, 31 Jan 2026 14:29:48 +0500 Subject: [PATCH 276/474] ISSUE_TEMPLATE --- .github/ISSUE_TEMPLATE/BUG_REPORT.yml | 2 +- .github/ISSUE_TEMPLATE/CRASH_REPORT.yml | 2 +- .github/ISSUE_TEMPLATE/config.yml | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml index f354328b8..319198c73 100644 --- a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml @@ -42,7 +42,7 @@ body: attributes: label: Computer OS description: Write which OS your PC is running on. - placeholder: "Example: Windows 10" + placeholder: "Example: Windows 11" - type: input id: version diff --git a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml index f342da823..37bb57c86 100644 --- a/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/CRASH_REPORT.yml @@ -67,7 +67,7 @@ body: validations: required: true attributes: - label: MC Environment + label: Minecraft Environment options: - "Singleplayer" - "LAN" diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index c09d1b5d1..98025f0b1 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -7,3 +7,7 @@ contact_links: - name: TerraFirmaGreg CurseForge url: https://www.curseforge.com/minecraft/modpacks/terrafirmagreg-modern about: Download page. + + - name: TerraFirmaGreg YouTube + url: https://www.youtube.com/@TFG-modern + about: YouTube channel. From 0aa56d5a905d5a05e44c5fd23cb82ff61e62e54f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 11:03:39 +0000 Subject: [PATCH 277/474] small chromite groundcover texture --- .../block/groundcover/ore/small_chromite.png | Bin 0 -> 821 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 kubejs/assets/firmalife/textures/block/groundcover/ore/small_chromite.png diff --git a/kubejs/assets/firmalife/textures/block/groundcover/ore/small_chromite.png b/kubejs/assets/firmalife/textures/block/groundcover/ore/small_chromite.png new file mode 100644 index 0000000000000000000000000000000000000000..e47ea74ee0d7f68cd15652c4e5c257b31d4ebdac GIT binary patch literal 821 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l z#L@bV!RqT~yYQZUrlPEQi1(IS;l(l+!RD2#E~q#(-OHaYT*G6>b*E_a?z=vhO};Mb zx?;q8CDiL}CtK59i_)y+`E%`gA0AqDe5Xy-y~WRM&s%n?NBgJuJvW%^H!)RGkjo^L zxxLY3#Ao&3aj z$y5`sq&}~$Yz-GRlA?6Au9`C3a@WmS?wq)hp+Ub!MUacDoAr{{tnz!(J#G^}Wj#6g zZT;>W>zQvol&k;qPrAnN!MSTzaX;i4ltesctvc$)I3tYvdf|q-eD;6;aDV;9_U$#p z;=m<^zx9?~eRRB?-{Ahc1uLVr9DJT}XJ7ZuWafe!Mw#u^3?e0S&uKH><$2cUYxw=` zf9Z~Z59g{6e_bD5Aj{rRRogsumZNLzO?S0jB zaNB0?172r4*l)Y9eerE6)7sZc> zKlWhQvG1d3iSZ3Tb*?L(0-xQ}>y!UoK4fLVq997pIQD)Q~cD4*Y|6_=a|i&IP<)L#4d&A z!s3}HGn@9^P8RB$(W3k-kH7v!!P{55DxOZ0RL&hT7V597u(|x%D((T}hxI?j8FqHB z=D8xs5Lzo~x|GRapTy$lrEB_Hmt|cP-E*M3`^(=~VzTC+6!>|LJEuf0vwv~iwA@C0 c-DmYJDb9h1D$E};FfcH9y85}Sb4q9e01DD^!T Date: Sat, 31 Jan 2026 11:56:52 +0000 Subject: [PATCH 278/474] add loot table for piglin brutes --- .../loot_tables/entities/piglin_brute.json | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 kubejs/data/minecraft/loot_tables/entities/piglin_brute.json diff --git a/kubejs/data/minecraft/loot_tables/entities/piglin_brute.json b/kubejs/data/minecraft/loot_tables/entities/piglin_brute.json new file mode 100644 index 000000000..060c1a535 --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/entities/piglin_brute.json @@ -0,0 +1,45 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfc:food/pork", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1, + "max": 2 + } + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:bone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1, + "max": 3 + } + } + ] + } + ] + } + ] +} \ No newline at end of file From fe85a29b31ab5f9106fd77a31f08e8fb2af5ecfe Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 12:17:32 +0000 Subject: [PATCH 279/474] #2912 fix rnr slab and stair speed bonus --- CHANGELOG.md | 1 + config/blockrunner.json | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ca6559cc..aa1d85a0f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,7 @@ - Fixed the hot ingot icons for Ostrum and Vanadium ingots looking inconsistent with the regular ingots (#2875) @RubenVerg - Fixed pyrogallol and black and white film developer requiring too high of a heat on the pot recipe (#2909) @Pyritie - Fixed not being able to fire scraping blade clay mold (#2905) @Pyritie +- Fixed stair and slab versions of road blocks not having speed bonuses (#2912) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/config/blockrunner.json b/config/blockrunner.json index 670147277..0c82a0edd 100644 --- a/config/blockrunner.json +++ b/config/blockrunner.json @@ -5,11 +5,21 @@ "rnr:hoggin_slab": 1.1, "rnr:hoggin_stairs": 1.1, "#rnr:gravel_road_blocks": 1.1, + "#rnr:gravel_road_stairs": 1.1, + "#rnr:gravel_road_slabs": 1.1, "#rnr:overheight_gravel_blocks": 1.1, "#rnr:macadam_road_blocks": 1.2, + "#rnr:macadam_road_stairs": 1.2, + "#rnr:macadam_road_slabs": 1.2, "#rnr:sett_road_blocks": 1.2, + "#rnr:sett_road_stairs": 1.2, + "#rnr:sett_road_slabs": 1.2, "#rnr:flagstones_blocks": 1.2, + "#rnr:flagstones_stairs": 1.2, + "#rnr:flagstones_slabs": 1.2, "#rnr:cobbled_road_blocks": 1.2, + "#rnr:cobbled_road_stairs": 1.2, + "#rnr:cobbled_road_slabs": 1.2, "#rnr:functional_concrete_roads": 1.3, "#rnr:functional_concrete_road_stairs": 1.3, "#rnr:functional_concrete_road_slabs": 1.3 From bd3895e21736b90769a115f6496223bf5585e6f9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 12:18:18 +0000 Subject: [PATCH 280/474] nerf some of gurman's dumplings --- kubejs/server_scripts/tfc_gurman/recipes.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kubejs/server_scripts/tfc_gurman/recipes.js b/kubejs/server_scripts/tfc_gurman/recipes.js index c506ce5f7..2ad4369e8 100644 --- a/kubejs/server_scripts/tfc_gurman/recipes.js +++ b/kubejs/server_scripts/tfc_gurman/recipes.js @@ -516,5 +516,9 @@ function registerTFCGurmanRecipes(event) { 'tfc:powder/salt' ]).id('tfg:shapeless/takoyaki_from_crawlermari'); + event.replaceOutput({ id: "tfc_gurman:crafting/raw_pelmeni" }, "tfc_gurman:raw_pelmeni", "2x tfc_gurman:raw_pelmini"); + event.replaceOutput({ id: "tfc_gurman:crafting/raw_vareniki" }, "tfc_gurman:raw_vareniki", "tfc_gurman:raw_vareniki"); + event.replaceOutput({ id: "tfc_gurman:crafting/raw_oladyi" }, "tfc_gurman:raw_oladyi", "2x tfc_gurman:raw_oladyi"); + event.replaceOutput({ id: "tfc_gurman:crafting/raw_syrniki" }, "tfc_gurman:raw_syrniki", "2x tfc_gurman:raw_syrniki"); // #endregion } From 14d20f48da4b1f94439df726006346529651105f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 13:09:45 +0000 Subject: [PATCH 281/474] #2870 fix rnr roof tags, remove framing stair/slab compat with additional placements --- CHANGELOG.md | 1 + config/additionalplacements-startup.toml | 4 +-- kubejs/server_scripts/main_server_script.js | 1 + kubejs/server_scripts/rnr/tags.js | 29 ++++++++++++++++++++- 4 files changed, 32 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aa1d85a0f..2033a6e98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -46,6 +46,7 @@ - Fixed pyrogallol and black and white film developer requiring too high of a heat on the pot recipe (#2909) @Pyritie - Fixed not being able to fire scraping blade clay mold (#2905) @Pyritie - Fixed stair and slab versions of road blocks not having speed bonuses (#2912) @Pyritie +- Fixed RNR roofs not having mineable tags, and blocked the stair/slab frame from Additional Placements (#2870) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/config/additionalplacements-startup.toml b/config/additionalplacements-startup.toml index 90d42c665..60f7f30c2 100644 --- a/config/additionalplacements-startup.toml +++ b/config/additionalplacements-startup.toml @@ -14,13 +14,13 @@ [startup.types.additionalplacements.slab] #Blocklist for controlling which blocks (that are valid for this type) will generate variants of this type #See https://github.com/FirEmerald/AdditionalPlacements/wiki/Blocklist-Format for blocklist format - enabled = ["+*"] + enabled = ["+*", "-rnr:roof_frame_slab"] #Stairs [startup.types.additionalplacements.stairs] #Blocklist for controlling which blocks (that are valid for this type) will generate variants of this type #See https://github.com/FirEmerald/AdditionalPlacements/wiki/Blocklist-Format for blocklist format - enabled = ["+*"] + enabled = ["+*", "-rnr:roof_frame_stairs"] #Blocklist to control which blocks will allow for vertical stair connections. #Keep in mind vertical is RELATIVE to the placement of the stair - "vertical" for a vertically placed stair will be one of the two horizontal directions. #See https://github.com/FirEmerald/AdditionalPlacements/wiki/Blocklist-Format for blocklist format diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 408acefbb..e62b99652 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -87,6 +87,7 @@ ServerEvents.tags('block', event => { registerMoreRedBlockTags(event) registerHotOrNotBlockTags(event) registerRailWaysBlockTags(event) + registerRnrBlockTags(event) registerSophisticatedBackpacksBlockTags(event) registerSpeciesBlockTags(event) registerTACZBlockTags(event) diff --git a/kubejs/server_scripts/rnr/tags.js b/kubejs/server_scripts/rnr/tags.js index 081432ce3..670010dcd 100644 --- a/kubejs/server_scripts/rnr/tags.js +++ b/kubejs/server_scripts/rnr/tags.js @@ -6,4 +6,31 @@ const registerRnrItemTags = (event) => { event.removeAllTagsFrom(item) event.add('c:hidden_from_recipe_viewers', item) }); -}; \ No newline at end of file +}; + +function registerRnrBlockTags(event) { + + global.TFC_WOOD_TYPES.forEach(wood => { + event.add('minecraft:mineable/axe', `rnr:wood/shingles/${wood}`) + event.add('minecraft:mineable/axe', `rnr:wood/shingles/${wood}_stairs`) + event.add('minecraft:mineable/axe', `rnr:wood/shingles/${wood}_slab`) + }); + + global.AFC_WOOD_TYPES.forEach(wood => { + event.add('minecraft:mineable/axe', `rnr:wood/shingles/${wood}`) + event.add('minecraft:mineable/axe', `rnr:wood/shingles/${wood}_stairs`) + event.add('minecraft:mineable/axe', `rnr:wood/shingles/${wood}_slab`) + }); + + event.add('minecraft:mineable/hoe', `rnr:thatch_roof`) + event.add('minecraft:mineable/hoe', `rnr:thatch_roof_stairs`) + event.add('minecraft:mineable/hoe', `rnr:thatch_roof_slab`) + + event.add('minecraft:mineable/pickaxe', `rnr:terracotta_roof`) + event.add('minecraft:mineable/pickaxe', `rnr:terracotta_roof_stairs`) + event.add('minecraft:mineable/pickaxe', `rnr:terracotta_roof_slab`) + event.add('minecraft:mineable/pickaxe', `rnr:ceramic_roof`) + event.add('minecraft:mineable/pickaxe', `rnr:ceramic_roof_stairs`) + event.add('minecraft:mineable/pickaxe', `rnr:ceramic_roof_slab`) + +} \ No newline at end of file From ffaced187f713a53d6ef00b6e60f46e68225feaf Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 14:25:46 +0000 Subject: [PATCH 282/474] more loot for piglin brutes --- .../minecraft/loot_tables/entities/piglin_brute.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/kubejs/data/minecraft/loot_tables/entities/piglin_brute.json b/kubejs/data/minecraft/loot_tables/entities/piglin_brute.json index 060c1a535..24417601e 100644 --- a/kubejs/data/minecraft/loot_tables/entities/piglin_brute.json +++ b/kubejs/data/minecraft/loot_tables/entities/piglin_brute.json @@ -40,6 +40,16 @@ ] } ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:gold_ingot" + } + ] } ] } \ No newline at end of file From e90cccbcc87ebeec59acd9b8ed990091ee1cbdf9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 14:27:25 +0000 Subject: [PATCH 283/474] mars quartzite, fix tetramethoxysilane #2898 --- CHANGELOG.md | 6 + .../entries/tfg_ores/mars_vein_index.json | 34 +-- .../entries/tfg_ores/mars_vein_index.json | 34 +-- .../entries/tfg_ores/mars_vein_index.json | 34 +-- .../entries/tfg_ores/mars_vein_index.json | 34 +-- .../entries/tfg_ores/mars_vein_index.json | 34 +-- .../entries/tfg_ores/mars_vein_index.json | 34 +-- .../entries/tfg_ores/mars_vein_index.json | 34 +-- kubejs/data/ad_astra/dimension/mars.json | 9 +- .../mars/vein/deep_mars_chromite.json | 127 ++--------- .../mars/vein/deep_mars_pitchblende.json | 95 ++------ .../mars/vein/deep_mars_sheldonite.json | 202 +++--------------- .../mars/vein/mars_copper.json | 27 +++ .../mars/vein/mars_hematite.json | 27 +++ .../mars/vein/mars_lubricant.json | 31 +++ .../mars/vein/mars_neodynium.json | 27 +++ .../mars/vein/mars_nickel.json | 27 +++ .../mars/vein/mars_pitchblende.json | 23 ++ .../mars/vein/mars_quartzite.json | 27 +++ .../mars/vein/mars_salt.json | 27 +++ .../mars/vein/mars_stibnite.json | 27 +++ .../mars/vein/mars_surface_bismuthinite.json | 27 +++ .../mars/vein/mars_surface_cassiterite.json | 23 ++ .../mars/vein/mars_surface_hematite.json | 27 +++ .../mars/vein/mars_surface_nickel_galena.json | 27 +++ .../mars/vein/mars_surface_tetrahedrite.json | 27 +++ kubejs/server_scripts/tfg/mars/tags.mars.js | 3 + .../tfg/space_general/recipes.insulation.js | 2 + 28 files changed, 573 insertions(+), 483 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2033a6e98..cca47e86a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unreleased ### Breaking changes - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie +- The two chemical reactor recipes for Tetramethoxysilane now have circuits (1 and 2) (#2898) @Pyritie #### ULV changes - The vacuum chamber requires a blue steel spring now, so the colored steel anvil can't be skipped - The steel mechanical mixer can now only make weak red/blue steel dust, not regular (it can still make black steel dust though). The LV mixer can make normal red/blue steel dust @@ -34,6 +35,10 @@ - Added manual/automated sanding recipes for making smooth stone (#2876) @Pyritie - Added deployer recipes for all the in-world block modification recipes (#2876) @Pyritie - Added recipe to convert kaolin clay blocks back into kaolin clay (#2904) @Pyritie +- Axolotls now have genders @Pyritie +- Piglins can now spawn with crossbows @Pyritie +- Piglin brutes now always spawn with full armor and harder-hitting weapons @Pyritie +- Added quartzite as a mars stone type @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie @@ -47,6 +52,7 @@ - Fixed not being able to fire scraping blade clay mold (#2905) @Pyritie - Fixed stair and slab versions of road blocks not having speed bonuses (#2912) @Pyritie - Fixed RNR roofs not having mineable tags, and blocked the stair/slab frame from Additional Placements (#2870) @Pyritie +- Fixed piglin brutes not dropping meat or bones @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json index a57acc1ba..5d35a238e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_vein_index.json @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Quartzite, Trachyte", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Bismuth", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Conglomerate, Dacite, Diorite, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Red Granite", "title": "Bornite & Cooperite", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/135 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/135 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Cassiterite", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -623,7 +623,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Quartzite, Shale, Trachyte", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "mars_copper" @@ -782,7 +782,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Quartzite, Red Granite, Shale", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "mars_nickel" @@ -1058,7 +1058,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Red Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Quartzite, Red Granite", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1150,7 +1150,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1426,7 +1426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Quartzite, Red Granite, Shale, Trachyte", "title": "Pitchblende & Thorianite, & Hematite", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -1493,7 +1493,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Claystone, Dacite, Diorite, Gabbro, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Red Granite", "title": "Pitchblende, Thorianite, & Uraninite", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -1560,7 +1560,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Quartzite, Asbestos, & Barite", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1652,7 +1652,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Red Granite", "title": "Redstone & Chromite", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1719,7 +1719,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Quartzite, Red Granite, Trachyte", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "mars_salt" @@ -1995,7 +1995,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Sphalerite & Galena", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2194,7 +2194,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Quartzite, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Normal)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2286,7 +2286,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Surface)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2378,7 +2378,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Quartzite, Red Granite, Shale", "title": "Trona, Talc, & Glauconite", "type": "patchouli:text", "anchor": "mars_lubricant" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json index a57acc1ba..5d35a238e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_vein_index.json @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Quartzite, Trachyte", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Bismuth", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Conglomerate, Dacite, Diorite, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Red Granite", "title": "Bornite & Cooperite", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/135 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/135 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Cassiterite", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -623,7 +623,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Quartzite, Shale, Trachyte", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "mars_copper" @@ -782,7 +782,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Quartzite, Red Granite, Shale", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "mars_nickel" @@ -1058,7 +1058,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Red Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Quartzite, Red Granite", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1150,7 +1150,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1426,7 +1426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Quartzite, Red Granite, Shale, Trachyte", "title": "Pitchblende & Thorianite, & Hematite", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -1493,7 +1493,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Claystone, Dacite, Diorite, Gabbro, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Red Granite", "title": "Pitchblende, Thorianite, & Uraninite", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -1560,7 +1560,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Quartzite, Asbestos, & Barite", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1652,7 +1652,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Red Granite", "title": "Redstone & Chromite", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1719,7 +1719,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Quartzite, Red Granite, Trachyte", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "mars_salt" @@ -1995,7 +1995,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Sphalerite & Galena", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2194,7 +2194,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Quartzite, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Normal)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2286,7 +2286,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Surface)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2378,7 +2378,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Quartzite, Red Granite, Shale", "title": "Trona, Talc, & Glauconite", "type": "patchouli:text", "anchor": "mars_lubricant" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/mars_vein_index.json index a57acc1ba..5d35a238e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/mars_vein_index.json @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/215 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Diorite, Dolomite, Gabbro, Quartzite, Trachyte", "title": "Bastnasite & Monazite", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Bismuth", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Conglomerate, Dacite, Diorite, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Red Granite", "title": "Bornite & Cooperite", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/135 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/135 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Cassiterite", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -623,7 +623,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Quartzite, Shale, Trachyte", "title": "Copper & Chalcopyrite", "type": "patchouli:text", "anchor": "mars_copper" @@ -782,7 +782,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 55$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Claystone, Dacite, Granite, Limestone, Quartzite, Red Granite, Shale", "title": "Garnierite & Cobaltite", "type": "patchouli:text", "anchor": "mars_nickel" @@ -1058,7 +1058,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Red Granite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Argillite, Basalt, Claystone, Conglomerate, Dacite, Dolomite, Limestone, Quartzite, Red Granite", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1150,7 +1150,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Hematite & Limonite", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1426,7 +1426,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 55%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Quartzite, Red Granite, Shale, Trachyte", "title": "Pitchblende & Thorianite, & Hematite", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -1493,7 +1493,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Claystone, Dacite, Diorite, Gabbro, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Red Granite", "title": "Pitchblende, Thorianite, & Uraninite", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -1560,7 +1560,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Quartzite, Asbestos, & Barite", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1652,7 +1652,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -20 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Dacite, Limestone, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/370 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 60$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Granite, Red Granite", "title": "Redstone & Chromite", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1719,7 +1719,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Red Granite, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Claystone, Diorite, Granite, Limestone, Quartzite, Red Granite, Trachyte", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "mars_salt" @@ -1995,7 +1995,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/150 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Sphalerite & Galena", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2194,7 +2194,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Dacite, Diorite, Dolomite, Gabbro, Quartzite, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Normal)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2286,7 +2286,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Red Granite, Shale, Trachyte", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/140 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 45$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 40$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Granite, Limestone, Quartzite, Red Granite, Shale, Trachyte", "title": "Tetrahedrite (Surface)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2378,7 +2378,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Red Granite, Shale", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/220 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 15$(br2)$(thing)Stone Types$(): Argillite, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Granite, Limestone, Quartzite, Red Granite, Shale", "title": "Trona, Talc, & Glauconite", "type": "patchouli:text", "anchor": "mars_lubricant" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json index fa27c0c04..1980fa0c6 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_vein_index.json @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/215 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Diorito, Dolomito, Gabro, Giz, Traquito", + "text": "$(thing)Raridade$(): 1/215 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Diorito, Dolomito, Gabro, Giz, Quartzito, Traquito", "title": "Bastnasita e Monazita", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/140 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/140 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Quartzito, Red Granite, Traquito", "title": "Bismuto", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/370 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Conglomerado, Dacito, Diorito, Giz, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/370 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -30 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito, Red Granite", "title": "Bornite & Cooperite", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/135 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/135 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Quartzito, Red Granite, Traquito", "title": "Cassiterita", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -623,7 +623,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Conglomerado, Dacito, Dolomito, Folhelho, Traquito", + "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Conglomerado, Dacito, Dolomito, Folhelho, Quartzito, Traquito", "title": "Cobre e Calcopirita", "type": "patchouli:text", "anchor": "mars_copper" @@ -874,7 +874,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 55$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Dacito, Folhelho, Giz, Granito, Red Granite", + "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 55$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Dacito, Folhelho, Giz, Granito, Quartzito, Red Granite", "title": "Garnierita e Cobaltita", "type": "patchouli:text", "anchor": "mars_nickel" @@ -1150,7 +1150,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Conglomerado, Dacito, Dolomito, Red Granite", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Conglomerado, Dacito, Dolomito, Quartzito, Red Granite", "title": "Hematita e Limonita", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1242,7 +1242,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/140 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/140 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Quartzito, Red Granite, Traquito", "title": "Hematita e Limonita", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1518,7 +1518,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 55%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 55%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Quartzito, Red Granite, Traquito", "title": "Pitchblende & Thorianite, & Hematite", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -1585,7 +1585,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/370 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Dacito, Diorito, Folhelho, Gabro, Traquito", + "text": "$(thing)Raridade$(): 1/370 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -30 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito, Red Granite", "title": "Pitchblende, Thorianite, & Uraninite", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -1744,7 +1744,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Folhelho, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Folhelho, Giz, Granito, Quartzito, Red Granite, Traquito", "title": "Quartzite, Asbestos, & Barite", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1836,7 +1836,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/370 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Dacito, Folhelho, Giz", + "text": "$(thing)Raridade$(): 1/370 chunks$(br)$(thing)Densidade$(): 30%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -30 — 0$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Diorito, Gabro, Granito, Red Granite", "title": "Redstone & Chromite", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1903,7 +1903,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Diorito, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Cherte, Diorito, Giz, Granito, Quartzito, Red Granite, Traquito", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "mars_salt" @@ -2087,7 +2087,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/150 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/150 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Quartzito, Red Granite, Traquito", "title": "Sphalerite & Galena", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2194,7 +2194,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Basalto, Cherte, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Quartzito, Red Granite, Traquito", "title": "Tetraedrita (Normal)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2286,7 +2286,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/140 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Red Granite, Traquito", + "text": "$(thing)Raridade$(): 1/140 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Tamanho$(): 45$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Gabro, Giz, Granito, Quartzito, Red Granite, Traquito", "title": "Tetraedrita (Superfície)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2378,7 +2378,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Granito, Red Granite", + "text": "$(thing)Raridade$(): 1/220 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Calcário, Conglomerado, Dacito, Diorito, Dolomito, Folhelho, Granito, Quartzito, Red Granite", "title": "Trona, Talc, & Glauconite", "type": "patchouli:text", "anchor": "mars_lubricant" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json index 43526e706..a9996fe73 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_vein_index.json @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/215 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Диорит, Доломит, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/215 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Диорит, Доломит, Кварцит, Кремнистый сланец, Мел, Трахит", "title": "Бастнезит и Монацит", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/370 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -20 — 0$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 60$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Дацит, Диорит, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/370 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -30 — 0$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 60$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит, Красный гранит", "title": "Борнит & Куперит", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Висмут", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -504,7 +504,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 55$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Известняк, Красный гранит, Мел, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 55$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Гранит, Дацит, Известняк, Кварцит, Красный гранит, Мел, Сланец", "title": "Гарниерит и Кобальтит", "type": "patchouli:text", "anchor": "mars_nickel" @@ -596,7 +596,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Красный гранит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Кварцит, Конгломерат, Красный гранит", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "mars_hematite" @@ -688,7 +688,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Гематит и Лимонит", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1031,7 +1031,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/135 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/135 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Касситерит", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -1098,7 +1098,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Известняк, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Известняк, Кварцит, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Кварцит, Асбест & Барит", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1374,7 +1374,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 50$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Конгломерат, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 50$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Доломит, Известняк, Кварцит, Конгломерат, Сланец, Трахит", "title": "Медь и Халькопирит", "type": "patchouli:text", "anchor": "mars_copper" @@ -1466,7 +1466,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/370 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -20 — 0$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 60$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Дацит, Известняк, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/370 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -30 — 0$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 60$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит, Красный гранит", "title": "Редстоун & Хром", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1625,7 +1625,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)Высота$(): 6$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Диорит, Известняк, Красный гранит, Кремнистый сланец, Мел, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)Высота$(): 6$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Диорит, Известняк, Кварцит, Красный гранит, Кремнистый сланец, Мел, Трахит", "title": "Соли & Сподумен", "type": "patchouli:text", "anchor": "mars_salt" @@ -1717,7 +1717,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/150 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/150 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Сфалерит & Галена", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -1916,7 +1916,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Дацит, Диорит, Доломит, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Базальт, Габбро, Дацит, Диорит, Доломит, Кварцит, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Тетраэдрит (обычный)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2008,7 +2008,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/140 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 80 — 180$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 45$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 40$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Базальт, Габбро, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Красный гранит, Кремнистый сланец, Мел, Сланец, Трахит", "title": "Тетраэдрит (Поверхностный)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2100,7 +2100,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Дацит, Диорит, Доломит, Известняк, Конгломерат, Красный гранит, Сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Красный гранит, Сланец", "title": "Трона, Тальк & Глаукониты", "type": "patchouli:text", "anchor": "mars_lubricant" @@ -2284,7 +2284,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/370 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -20 — 0$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 60$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Габбро, Дацит, Диорит, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/370 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -30 — 0$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 60$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Габбро, Гранит, Диорит, Красный гранит", "title": "Уранинит, Торианит, & Уранит", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -2351,7 +2351,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 55%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Дацит, Диорит, Доломит, Конгломерат, Красный гранит, Сланец, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/220 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 55%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 70$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 15$(br2)$(thing)Виды камней$(): Аргиллит, Габбро, Дацит, Диорит, Доломит, Кварцит, Конгломерат, Красный гранит, Сланец, Трахит", "title": "Уранит, Торий & Гематит", "type": "patchouli:text", "anchor": "mars_pitchblende" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json index 53f19f482..bbeb5a8ec 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_vein_index.json @@ -228,7 +228,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/215 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Аргіліт, Базальт, Габро, Діорит, Доломіт, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/215 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Аргіліт, Базальт, Габро, Діорит, Доломіт, Кварцит, Крейда, Кременистий сланець, Трахіт", "title": "Бастнезит і Монацит", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -320,7 +320,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/370 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Базальт, Дацит, Діорит, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/370 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -30 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Red Granite, Габро, Граніт, Діорит", "title": "Борніт і Куперит", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -412,7 +412,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/140 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/140 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Вісмут", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -556,7 +556,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 55$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Граніт, Дацит, Крейда", + "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 55$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Граніт, Дацит, Кварцит, Крейда", "title": "Гарнієрит і Кобальтит", "type": "patchouli:text", "anchor": "mars_nickel" @@ -648,7 +648,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Дацит, Доломіт, Конгломерат", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Дацит, Доломіт, Кварцит, Конгломерат", "title": "Гематит та Лімоніт", "type": "patchouli:text", "anchor": "mars_hematite" @@ -740,7 +740,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/140 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/140 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Гематит та Лімоніт", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1016,7 +1016,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/135 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/135 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Каситерит", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -1083,7 +1083,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Глинистий сланець, Граніт, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Глинистий сланець, Граніт, Кварцит, Крейда, Кременистий сланець, Трахіт", "title": "Кварцит, Азбест і Барит", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -1359,7 +1359,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Дацит, Доломіт, Конгломерат, Трахіт", + "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Дацит, Доломіт, Кварцит, Конгломерат, Трахіт", "title": "Мідь та Халькопірит", "type": "patchouli:text", "anchor": "mars_copper" @@ -1451,7 +1451,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 55%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Габро, Глинистий сланець, Дацит, Діорит, Доломіт, Конгломерат, Трахіт", + "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 55%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Габро, Глинистий сланець, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Трахіт", "title": "Настуран, Торіаніт і Гематит", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -1518,7 +1518,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/370 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Габро, Глинистий сланець, Дацит, Діорит, Трахіт", + "text": "$(thing)Рідкість$(): 1/370 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -30 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Red Granite, Габро, Граніт, Діорит", "title": "Настуран, Торіаніт і Уранініт", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -1585,7 +1585,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/370 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Базальт, Вапняк, Глинистий сланець, Дацит, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 1/370 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -30 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Red Granite, Габро, Граніт, Діорит", "title": "Редстоун і Хроміт", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1719,7 +1719,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Граніт, Діорит, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Граніт, Діорит, Кварцит, Крейда, Кременистий сланець, Трахіт", "title": "Солі і Сподумен", "type": "patchouli:text", "anchor": "mars_salt" @@ -1903,7 +1903,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат", + "text": "$(thing)Рідкість$(): 1/220 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Вапняк, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат", "title": "Стеатит, Тальк і Глауконіт", "type": "patchouli:text", "anchor": "mars_lubricant" @@ -2035,7 +2035,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/150 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/150 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Сфалерит і Галеніт", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2234,7 +2234,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Базальт, Габро, Глинистий сланець, Дацит, Діорит, Доломіт, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Базальт, Габро, Глинистий сланець, Дацит, Діорит, Доломіт, Кварцит, Крейда, Кременистий сланець, Трахіт", "title": "Тетраедрит (Звичайний)", "type": "patchouli:text", "anchor": "mars_stibnite" @@ -2326,7 +2326,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/140 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Конгломерат, Крейда, Кременистий сланець, Трахіт", + "text": "$(thing)Рідкість$(): 1/140 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 80 — 180$(br)$(thing)Розмір$(): 45$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Трахіт", "title": "Тетраедрит (Поверхня)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json index 38c97ca35..ce31b402a 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/370 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -20 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 砾岩, 粗面岩, 红花岗岩, 英安岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/370 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -30 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 红花岗岩, 花岗岩, 辉长岩, 闪长岩", "title": "斑铜矿, 硫铂矿", "type": "patchouli:text", "anchor": "deep_mars_sheldonite" @@ -121,7 +121,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/215 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 粗面岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/215 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石英岩, 粗面岩, 辉长岩, 闪长岩", "title": "氟碳镧铈矿, 独居石", "type": "patchouli:text", "anchor": "mars_neodynium" @@ -213,7 +213,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/370 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -20 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 粗面岩, 粘土岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/370 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -30 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 红花岗岩, 花岗岩, 辉长岩, 闪长岩", "title": "沥青铀矿, 方钍石, 晶质铀矿", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" @@ -280,7 +280,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 55%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 白云岩, 砾岩, 粗面岩, 红花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 55%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 白云岩, 石英岩, 砾岩, 粗面岩, 红花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "沥青铀矿, 方钍石, 赤铁矿", "type": "patchouli:text", "anchor": "mars_pitchblende" @@ -491,7 +491,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 白云岩, 石灰岩, 砾岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 白云岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 闪长岩, 页岩", "title": "皂石, 滑石, 海绿石矿砂", "type": "patchouli:text", "anchor": "mars_lubricant" @@ -623,7 +623,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白垩岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白垩岩, 石灰岩, 石英岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 闪长岩", "title": "盐, 锂辉石", "type": "patchouli:text", "anchor": "mars_salt" @@ -715,7 +715,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白垩岩, 石灰岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 页岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白垩岩, 石灰岩, 石英岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 页岩", "title": "石英岩, 石棉, 重晶石", "type": "patchouli:text", "anchor": "mars_quartzite" @@ -899,7 +899,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 55$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白垩岩, 石灰岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 页岩", + "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 55$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白垩岩, 石灰岩, 石英岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 页岩", "title": "硅镁镍矿, 辉钴矿", "type": "patchouli:text", "anchor": "mars_nickel" @@ -1083,7 +1083,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/370 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -20 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白垩岩, 石灰岩, 粘土岩, 英安岩, 页岩", + "text": "$(thing)稀有度$(): 1/370 区块$(br)$(thing)密度$(): 30%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -30 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 红花岗岩, 花岗岩, 辉长岩, 闪长岩", "title": "红石, 铬铁矿", "type": "patchouli:text", "anchor": "deep_mars_chromite" @@ -1217,7 +1217,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 石灰岩, 砾岩, 粘土岩, 红花岗岩, 英安岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 红花岗岩, 英安岩", "title": "赤铁矿, 褐铁矿", "type": "patchouli:text", "anchor": "mars_hematite" @@ -1309,7 +1309,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/140 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/140 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "赤铁矿, 褐铁矿", "type": "patchouli:text", "anchor": "mars_surface_hematite" @@ -1401,7 +1401,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/140 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/140 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "辉铋矿", "type": "patchouli:text", "anchor": "mars_surface_bismuthinite" @@ -1692,7 +1692,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 英安岩, 页岩", + "text": "$(thing)稀有度$(): 1/220 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 玄武岩, 白云岩, 石灰岩, 石英岩, 砾岩, 粗面岩, 粘土岩, 英安岩, 页岩", "title": "铜矿, 黄铜矿", "type": "patchouli:text", "anchor": "mars_copper" @@ -1876,7 +1876,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/135 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/135 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "锡石矿", "type": "patchouli:text", "anchor": "mars_surface_cassiterite" @@ -2035,7 +2035,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/150 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/150 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "闪锌矿, 方铅矿", "type": "patchouli:text", "anchor": "mars_surface_nickel_galena" @@ -2326,7 +2326,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/140 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/140 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "黝铜矿 (地表)", "type": "patchouli:text", "anchor": "mars_surface_tetrahedrite" @@ -2418,7 +2418,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 粗面岩, 红花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石英岩, 粗面岩, 红花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "黝铜矿 (普通)", "type": "patchouli:text", "anchor": "mars_stibnite" diff --git a/kubejs/data/ad_astra/dimension/mars.json b/kubejs/data/ad_astra/dimension/mars.json index 4d9fc2375..f709f0b4f 100644 --- a/kubejs/data/ad_astra/dimension/mars.json +++ b/kubejs/data/ad_astra/dimension/mars.json @@ -56,7 +56,8 @@ "chert": "tfc:chert", "chalk": "tfc:chalk", "basalt": "tfc:basalt", - "dacite": "tfc:dacite" + "dacite": "tfc:dacite", + "quartzite": "tfc:quartzite" }, "layers": [ { @@ -70,7 +71,8 @@ "basalt": "bottom", "dacite": "bottom", "venus": "bottom", - "shale": "bottom" + "shale": "bottom", + "quartzite": "bottom" } }, { @@ -83,7 +85,8 @@ "limestone": "mix", "claystone": "mix", "conglomerate": "mix", - "chert": "mix" + "chert": "mix", + "quartzite": "mix" } } ], diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_chromite.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_chromite.json index 7beb0d99c..e7fbff179 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_chromite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_chromite.json @@ -5,17 +5,17 @@ "size": 60, "rarity": 370, "density": 0.3, - "min_y": -20, + "min_y": -30, "max_y": 0, "random_name": "deep_mars_chromite", "blocks": [ { "replace": [ - "ad_astra:mars_stone" + "gtceu:red_granite" ], "with": [ { - "block": "gtceu:mars_stone_redstone_ore", + "block": "gtceu:red_granite_redstone_ore", "weight": 45 }, { @@ -23,22 +23,22 @@ "weight": 1 }, { - "block": "gtceu:mars_stone_ruby_ore", + "block": "gtceu:red_granite_ruby_ore", "weight": 35 }, { - "block": "gtceu:mars_stone_chromite_ore", + "block": "gtceu:red_granite_chromite_ore", "weight": 20 } ] }, { "replace": [ - "tfc:rock/raw/shale" + "tfc:rock/raw/gabbro" ], "with": [ { - "block": "gtceu:shale_redstone_ore", + "block": "gtceu:gabbro_redstone_ore", "weight": 45 }, { @@ -46,22 +46,22 @@ "weight": 1 }, { - "block": "gtceu:shale_ruby_ore", + "block": "gtceu:gabbro_ruby_ore", "weight": 35 }, { - "block": "gtceu:shale_chromite_ore", + "block": "gtceu:gabbro_chromite_ore", "weight": 20 } ] }, { "replace": [ - "tfc:rock/raw/claystone" + "tfc:rock/raw/diorite" ], "with": [ { - "block": "gtceu:claystone_redstone_ore", + "block": "gtceu:diorite_redstone_ore", "weight": 45 }, { @@ -69,22 +69,22 @@ "weight": 1 }, { - "block": "gtceu:claystone_ruby_ore", + "block": "gtceu:diorite_ruby_ore", "weight": 35 }, { - "block": "gtceu:claystone_chromite_ore", + "block": "gtceu:diorite_chromite_ore", "weight": 20 } ] }, { "replace": [ - "tfc:rock/raw/limestone" + "tfc:rock/raw/granite" ], "with": [ { - "block": "gtceu:limestone_redstone_ore", + "block": "gtceu:granite_redstone_ore", "weight": 45 }, { @@ -92,104 +92,11 @@ "weight": 1 }, { - "block": "gtceu:limestone_ruby_ore", + "block": "gtceu:granite_ruby_ore", "weight": 35 }, { - "block": "gtceu:limestone_chromite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_redstone_ore", - "weight": 45 - }, - { - "block": "gtceu:raw_redstone_block", - "weight": 1 - }, - { - "block": "gtceu:chert_ruby_ore", - "weight": 35 - }, - { - "block": "gtceu:chert_chromite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_redstone_ore", - "weight": 45 - }, - { - "block": "gtceu:raw_redstone_block", - "weight": 1 - }, - { - "block": "gtceu:chalk_ruby_ore", - "weight": 35 - }, - { - "block": "gtceu:chalk_chromite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt", - "minecraft:basalt" - ], - "with": [ - { - "block": "gtceu:basalt_redstone_ore", - "weight": 45 - }, - { - "block": "gtceu:raw_redstone_block", - "weight": 1 - }, - { - "block": "gtceu:basalt_ruby_ore", - "weight": 35 - }, - { - "block": "gtceu:basalt_chromite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_redstone_ore", - "weight": 45 - }, - { - "block": "gtceu:raw_redstone_block", - "weight": 1 - }, - { - "block": "gtceu:dacite_ruby_ore", - "weight": 35 - }, - { - "block": "gtceu:dacite_chromite_ore", + "block": "gtceu:granite_chromite_ore", "weight": 20 } ] diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_pitchblende.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_pitchblende.json index fd2d9a311..8e35b4969 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_pitchblende.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_pitchblende.json @@ -5,17 +5,17 @@ "size": 60, "rarity": 370, "density": 0.3, - "min_y": -20, + "min_y": -30, "max_y": 0, "random_name": "deep_mars_pitchblende", "blocks": [ { "replace": [ - "ad_astra:mars_stone" + "gtceu:red_granite" ], "with": [ { - "block": "gtceu:mars_stone_pitchblende_ore", + "block": "gtceu:red_granite_pitchblende_ore", "weight": 50 }, { @@ -23,57 +23,11 @@ "weight": 1 }, { - "block": "gtceu:mars_stone_thorium_ore", + "block": "gtceu:red_granite_thorium_ore", "weight": 25 }, { - "block": "gtceu:mars_stone_uraninite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "ad_astra:venus_stone" - ], - "with": [ - { - "block": "gtceu:venus_stone_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:raw_pitchblende_block", - "weight": 1 - }, - { - "block": "gtceu:venus_stone_thorium_ore", - "weight": 25 - }, - { - "block": "gtceu:venus_stone_uraninite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:raw_pitchblende_block", - "weight": 1 - }, - { - "block": "gtceu:diorite_thorium_ore", - "weight": 25 - }, - { - "block": "gtceu:diorite_uraninite_ore", + "block": "gtceu:red_granite_uraninite_ore", "weight": 20 } ] @@ -103,11 +57,11 @@ }, { "replace": [ - "tfc:rock/raw/shale" + "tfc:rock/raw/diorite" ], "with": [ { - "block": "gtceu:shale_pitchblende_ore", + "block": "gtceu:diorite_pitchblende_ore", "weight": 50 }, { @@ -115,22 +69,22 @@ "weight": 1 }, { - "block": "gtceu:shale_thorium_ore", + "block": "gtceu:diorite_thorium_ore", "weight": 25 }, { - "block": "gtceu:shale_uraninite_ore", + "block": "gtceu:diorite_uraninite_ore", "weight": 20 } ] }, { "replace": [ - "tfc:rock/raw/claystone" + "tfc:rock/raw/granite" ], "with": [ { - "block": "gtceu:claystone_pitchblende_ore", + "block": "gtceu:granite_pitchblende_ore", "weight": 50 }, { @@ -138,34 +92,11 @@ "weight": 1 }, { - "block": "gtceu:claystone_thorium_ore", + "block": "gtceu:granite_thorium_ore", "weight": 25 }, { - "block": "gtceu:claystone_uraninite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:raw_pitchblende_block", - "weight": 1 - }, - { - "block": "gtceu:dacite_thorium_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_uraninite_ore", + "block": "gtceu:granite_uraninite_ore", "weight": 20 } ] diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_sheldonite.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_sheldonite.json index e7448f9e8..37706d69f 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_sheldonite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/deep_mars_sheldonite.json @@ -5,64 +5,10 @@ "size": 60, "rarity": 370, "density": 0.3, - "min_y": -20, + "min_y": -30, "max_y": 0, "random_name": "deep_mars_sheldonite", "blocks": [ - { - "replace": [ - "ad_astra:mars_stone" - ], - "with": [ - { - "block": "gtceu:mars_stone_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:raw_bornite_block", - "weight": 1 - }, - { - "block": "gtceu:mars_stone_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:mars_stone_nickel_ore", - "weight": 25 - }, - { - "block": "gtceu:mars_stone_platinum_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "ad_astra:venus_stone" - ], - "with": [ - { - "block": "gtceu:venus_stone_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:raw_bornite_block", - "weight": 1 - }, - { - "block": "gtceu:venus_stone_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:venus_stone_nickel_ore", - "weight": 25 - }, - { - "block": "gtceu:venus_stone_platinum_ore", - "weight": 15 - } - ] - }, { "replace": [ "gtceu:red_granite" @@ -90,6 +36,33 @@ } ] }, + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_bornite_ore", + "weight": 35 + }, + { + "block": "gtceu:raw_bornite_block", + "weight": 1 + }, + { + "block": "gtceu:gabbro_cooperite_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_nickel_ore", + "weight": 25 + }, + { + "block": "gtceu:gabbro_platinum_ore", + "weight": 15 + } + ] + }, { "replace": [ "tfc:rock/raw/diorite" @@ -119,11 +92,11 @@ }, { "replace": [ - "tfc:rock/raw/conglomerate" + "tfc:rock/raw/granite" ], "with": [ { - "block": "gtceu:conglomerate_bornite_ore", + "block": "gtceu:granite_bornite_ore", "weight": 35 }, { @@ -131,124 +104,15 @@ "weight": 1 }, { - "block": "gtceu:conglomerate_cooperite_ore", + "block": "gtceu:granite_cooperite_ore", "weight": 25 }, { - "block": "gtceu:conglomerate_nickel_ore", + "block": "gtceu:granite_nickel_ore", "weight": 25 }, { - "block": "gtceu:conglomerate_platinum_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:raw_bornite_block", - "weight": 1 - }, - { - "block": "gtceu:chert_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:chert_nickel_ore", - "weight": 25 - }, - { - "block": "gtceu:chert_platinum_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:raw_bornite_block", - "weight": 1 - }, - { - "block": "gtceu:chalk_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:chalk_nickel_ore", - "weight": 25 - }, - { - "block": "gtceu:chalk_platinum_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt", - "minecraft:basalt" - ], - "with": [ - { - "block": "gtceu:basalt_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:raw_bornite_block", - "weight": 1 - }, - { - "block": "gtceu:basalt_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_nickel_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_platinum_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:raw_bornite_block", - "weight": 1 - }, - { - "block": "gtceu:dacite_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_nickel_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_platinum_ore", + "block": "gtceu:granite_platinum_ore", "weight": 15 } ] diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_copper.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_copper.json index de69bcc25..14bdc80b8 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_copper.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_copper.json @@ -252,6 +252,33 @@ "weight": 5 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_chalcopyrite_ore", + "weight": 65 + }, + { + "block": "gtceu:raw_chalcopyrite_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_copper_ore", + "weight": 20 + }, + { + "block": "gtceu:quartzite_pyrite_ore", + "weight": 10 + }, + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_hematite.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_hematite.json index 9a97b5a72..7453967aa 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_hematite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_hematite.json @@ -225,6 +225,33 @@ "weight": 5 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_yellow_limonite_ore", + "weight": 30 + }, + { + "block": "gtceu:quartzite_goethite_ore", + "weight": 15 + }, + { + "block": "gtceu:quartzite_gold_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_lubricant.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_lubricant.json index 7bbbcb576..cb97344e6 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_lubricant.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_lubricant.json @@ -318,6 +318,37 @@ "weight": 5 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_soapstone_ore", + "weight": 15 + }, + { + "block": "gtceu:quartzite_talc_ore", + "weight": 15 + }, + { + "block": "gtceu:quartzite_glauconite_sand_ore", + "weight": 5 + }, + { + "block": "gtceu:quartzite_trona_ore", + "weight": 25 + }, + { + "block": "gtceu:quartzite_pentlandite_ore", + "weight": 5 + }, + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_neodynium.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_neodynium.json index 892218d01..35b7324cf 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_neodynium.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_neodynium.json @@ -225,6 +225,33 @@ "weight": 5 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_bastnasite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_bastnasite_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_monazite_ore", + "weight": 25 + }, + { + "block": "gtceu:quartzite_neodymium_ore", + "weight": 5 + }, + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_nickel.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_nickel.json index 6cbda752e..65b131e1b 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_nickel.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_nickel.json @@ -252,6 +252,33 @@ "weight": 5 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_garnierite_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_garnierite_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_nickel_ore", + "weight": 20 + }, + { + "block": "gtceu:quartzite_cobaltite_ore", + "weight": 20 + }, + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_pitchblende.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_pitchblende.json index 274bffe05..d154f83f1 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_pitchblende.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_pitchblende.json @@ -215,6 +215,29 @@ "weight": 25 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_pitchblende_ore", + "weight": 35 + }, + { + "block": "gtceu:raw_pitchblende_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_thorium_ore", + "weight": 25 + }, + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 25 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_quartzite.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_quartzite.json index d140902b0..2b94fb2b9 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_quartzite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_quartzite.json @@ -251,6 +251,33 @@ "weight": 5 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_quartzite_ore", + "weight": 35 + }, + { + "block": "gtceu:raw_quartzite_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_barite_ore", + "weight": 30 + }, + { + "block": "gtceu:quartzite_asbestos_ore", + "weight": 15 + }, + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_salt.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_salt.json index 7df225aa6..f465521d3 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_salt.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_salt.json @@ -252,6 +252,33 @@ "weight": 35 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_rock_salt_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_rock_salt_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_salt_ore", + "weight": 30 + }, + { + "block": "gtceu:quartzite_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:quartzite_spodumene_ore", + "weight": 35 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_stibnite.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_stibnite.json index 290fe3904..aaa154bc0 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_stibnite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_stibnite.json @@ -306,6 +306,33 @@ "weight": 5 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_tetrahedrite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_tetrahedrite_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_copper_ore", + "weight": 30 + }, + { + "block": "gtceu:quartzite_stibnite_ore", + "weight": 20 + }, + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_bismuthinite.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_bismuthinite.json index b7398aa77..c7709965a 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_bismuthinite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_bismuthinite.json @@ -414,6 +414,33 @@ "weight": 10 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_bismuth_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_bismuth_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 10 + }, + { + "block": "gtceu:quartzite_sulfur_ore", + "weight": 10 + }, + { + "block": "gtceu:quartzite_gypsum_ore", + "weight": 10 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_cassiterite.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_cassiterite.json index f84c3b898..3f70207d3 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_cassiterite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_cassiterite.json @@ -354,6 +354,29 @@ "weight": 10 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_cassiterite_ore", + "weight": 55 + }, + { + "block": "gtceu:raw_cassiterite_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_tin_ore", + "weight": 35 + }, + { + "block": "gtceu:quartzite_saltpeter_ore", + "weight": 10 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_hematite.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_hematite.json index 0b747a035..379b6c728 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_hematite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_hematite.json @@ -414,6 +414,33 @@ "weight": 5 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_hematite_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_hematite_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_yellow_limonite_ore", + "weight": 30 + }, + { + "block": "gtceu:quartzite_gold_ore", + "weight": 5 + }, + { + "block": "gtceu:quartzite_calcite_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_nickel_galena.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_nickel_galena.json index 6daa8da11..4c54e0557 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_nickel_galena.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_nickel_galena.json @@ -414,6 +414,33 @@ "weight": 10 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_sphalerite_ore", + "weight": 15 + }, + { + "block": "gtceu:quartzite_nickel_ore", + "weight": 20 + }, + { + "block": "gtceu:quartzite_galena_ore", + "weight": 30 + }, + { + "block": "gtceu:quartzite_silver_ore", + "weight": 10 + }, + { + "block": "gtceu:quartzite_cobaltite_ore", + "weight": 10 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_tetrahedrite.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_tetrahedrite.json index 305b92f59..b9132910b 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_tetrahedrite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_surface_tetrahedrite.json @@ -414,6 +414,33 @@ "weight": 5 } ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_tetrahedrite_ore", + "weight": 60 + }, + { + "block": "gtceu:raw_tetrahedrite_block", + "weight": 1 + }, + { + "block": "gtceu:quartzite_copper_ore", + "weight": 20 + }, + { + "block": "gtceu:quartzite_stibnite_ore", + "weight": 20 + }, + { + "block": "gtceu:quartzite_redstone_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js index 07c37d491..368274952 100644 --- a/kubejs/server_scripts/tfg/mars/tags.mars.js +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -162,6 +162,9 @@ function registerTFGMarsBlockTags(event) { event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/shale') event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/shale') event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/shale') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/quartzite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/quartzite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/quartzite') event.add('ad_astra:mars_stone_replaceables', 'ad_astra:mars_stone') event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/hardened_mars_stone') event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/gravel_mars') diff --git a/kubejs/server_scripts/tfg/space_general/recipes.insulation.js b/kubejs/server_scripts/tfg/space_general/recipes.insulation.js index 25fc6579b..1f87c3304 100644 --- a/kubejs/server_scripts/tfg/space_general/recipes.insulation.js +++ b/kubejs/server_scripts/tfg/space_general/recipes.insulation.js @@ -221,12 +221,14 @@ function registerTFGInsulationRecipes(event) { .inputFluids(Fluid.of('tfg:tmos', 1000), Fluid.of('gtceu:distilled_water', 2000)) .outputFluids(Fluid.of('gtceu:methanol', 4000)) .itemOutputs('3x #forge:dusts/silicon_dioxide') + .circuit(1) .duration(100) .EUt(GTValues.VA[GTValues.MV]) event.recipes.gtceu.large_chemical_reactor('tfg:silica_gel_synthesis') .inputFluids(Fluid.of('tfg:tmos', 1000), Fluid.of('gtceu:ethanol', 2000), Fluid.of('gtceu:distilled_water', 500), Fluid.of('gtceu:hydrochloric_acid', 100)) .outputFluids(Fluid.of('tfg:silica_gel', 1000)) + .circuit(2) .duration(300) .EUt(GTValues.VA[GTValues.IV]) event.recipes.gtceu.chemical_reactor('tfg:silica_gel_soaking') From b1fddab3e96c41e209856a068de3a3d948eb4636 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 14:27:52 +0000 Subject: [PATCH 284/474] cleanup rock loot tables --- .../blockstates/sandy_jadestone.json | 8 ++ .../loot_tables/blocks/flavolite.json | 44 ++++++++ .../loot_tables/blocks/sandy_jadestone.json | 44 ++++++++ .../create/loot_tables/blocks/scorchia.json | 44 ++++++++ .../create/loot_tables/blocks/scoria.json | 44 ++++++++ .../blocks/rock/cobble_blackstone.json | 20 ---- .../blocks/rock/cobble_crackrack.json | 20 ---- .../blocks/rock/cobble_dripstone.json | 20 ---- .../blocks/rock/cobble_moon_deepslate.json | 20 ---- .../blocks/rock/cobble_permafrost.json | 20 ---- .../blocks/rock/gravel_blackstone.json | 70 ------------ .../blocks/rock/gravel_crackrack.json | 70 ------------ .../blocks/rock/gravel_deepslate.json | 70 ------------ .../blocks/rock/gravel_dripstone.json | 70 ------------ .../blocks/rock/gravel_glacio.json | 70 ------------ .../loot_tables/blocks/rock/gravel_mars.json | 70 ------------ .../blocks/rock/gravel_mercury.json | 70 ------------ .../loot_tables/blocks/rock/gravel_moon.json | 70 ------------ .../blocks/rock/gravel_moon_deepslate.json | 70 ------------ .../blocks/rock/gravel_permafrost.json | 70 ------------ .../blocks/rock/gravel_red_granite.json | 70 ------------ .../loot_tables/blocks/rock/gravel_venus.json | 70 ------------ .../blocks/rock/hardened_blackstone.json | 30 ----- .../blocks/rock/hardened_deepslate.json | 30 ----- .../blocks/rock/hardened_dripstone.json | 30 ----- .../blocks/rock/hardened_glacio_stone.json | 30 ----- .../blocks/rock/hardened_mars_stone.json | 30 ----- .../blocks/rock/hardened_mercury_stone.json | 30 ----- .../blocks/rock/hardened_moon_deepslate.json | 30 ----- .../blocks/rock/hardened_moon_stone.json | 30 ----- .../blocks/rock/hardened_red_granite.json | 30 ----- .../blocks/rock/hardened_venus_stone.json | 30 ----- kubejs/server_scripts/main_server_script.js | 1 + kubejs/server_scripts/tfc/tags.js | 7 ++ .../tfg/natural_blocks/loot.stones.js | 104 ++++++++++++++++++ .../tfg/ores_and_materials/loot.ores.js | 85 +------------- 36 files changed, 300 insertions(+), 1321 deletions(-) create mode 100644 kubejs/assets/betterend/blockstates/sandy_jadestone.json create mode 100644 kubejs/data/betterend/loot_tables/blocks/flavolite.json create mode 100644 kubejs/data/betterend/loot_tables/blocks/sandy_jadestone.json create mode 100644 kubejs/data/create/loot_tables/blocks/scorchia.json create mode 100644 kubejs/data/create/loot_tables/blocks/scoria.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_blackstone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_crackrack.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_dripstone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_moon_deepslate.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_permafrost.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_blackstone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_crackrack.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_deepslate.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_dripstone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_glacio.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_mars.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_mercury.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon_deepslate.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_permafrost.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_red_granite.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_venus.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_blackstone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_deepslate.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_dripstone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_glacio_stone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_mars_stone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_mercury_stone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_moon_deepslate.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_moon_stone.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_red_granite.json delete mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_venus_stone.json create mode 100644 kubejs/server_scripts/tfg/natural_blocks/loot.stones.js diff --git a/kubejs/assets/betterend/blockstates/sandy_jadestone.json b/kubejs/assets/betterend/blockstates/sandy_jadestone.json new file mode 100644 index 000000000..a8b056a71 --- /dev/null +++ b/kubejs/assets/betterend/blockstates/sandy_jadestone.json @@ -0,0 +1,8 @@ +{ + "variants": { + "": [ + { "model": "betterend:block/sandy_jadestone" }, + { "model": "betterend:block/sandy_jadestone", "y": 180 } + ] + } +} diff --git a/kubejs/data/betterend/loot_tables/blocks/flavolite.json b/kubejs/data/betterend/loot_tables/blocks/flavolite.json new file mode 100644 index 000000000..1215fdeef --- /dev/null +++ b/kubejs/data/betterend/loot_tables/blocks/flavolite.json @@ -0,0 +1,44 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "betterend:flavolite", + "conditions": [ + { + "condition": "tfc:is_isolated" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:loose/flavolite", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/betterend/loot_tables/blocks/sandy_jadestone.json b/kubejs/data/betterend/loot_tables/blocks/sandy_jadestone.json new file mode 100644 index 000000000..80bc06412 --- /dev/null +++ b/kubejs/data/betterend/loot_tables/blocks/sandy_jadestone.json @@ -0,0 +1,44 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "betterend:sandy_jadestone", + "conditions": [ + { + "condition": "tfc:is_isolated" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:loose/sandy_jadestone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/create/loot_tables/blocks/scorchia.json b/kubejs/data/create/loot_tables/blocks/scorchia.json new file mode 100644 index 000000000..3fc5016e3 --- /dev/null +++ b/kubejs/data/create/loot_tables/blocks/scorchia.json @@ -0,0 +1,44 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "create:scorchia", + "conditions": [ + { + "condition": "tfc:is_isolated" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:loose/scorchia", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/create/loot_tables/blocks/scoria.json b/kubejs/data/create/loot_tables/blocks/scoria.json new file mode 100644 index 000000000..e76d4e30d --- /dev/null +++ b/kubejs/data/create/loot_tables/blocks/scoria.json @@ -0,0 +1,44 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "create:scoria", + "conditions": [ + { + "condition": "tfc:is_isolated" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:loose/scoria", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_blackstone.json b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_blackstone.json deleted file mode 100644 index c3ede98e4..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_blackstone.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:rock/cobble_blackstone" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_crackrack.json b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_crackrack.json deleted file mode 100644 index 2dafa861e..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_crackrack.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:rock/cobble_crackrack" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_dripstone.json b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_dripstone.json deleted file mode 100644 index 20dda7fce..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_dripstone.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:rock/cobble_dripstone" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_moon_deepslate.json b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_moon_deepslate.json deleted file mode 100644 index 6043da7a8..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_moon_deepslate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:rock/cobble_moon_deepslate" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_permafrost.json b/kubejs/data/tfg/loot_tables/blocks/rock/cobble_permafrost.json deleted file mode 100644 index da12291a9..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/cobble_permafrost.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:rock/cobble_permafrost" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_blackstone.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_blackstone.json deleted file mode 100644 index 0d20b2d29..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_blackstone.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_blackstone", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_blackstone" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_crackrack.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_crackrack.json deleted file mode 100644 index eddae43a9..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_crackrack.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_crackrack", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_crackrack" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_deepslate.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_deepslate.json deleted file mode 100644 index 9e5ef2260..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_deepslate.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_deepslate", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_deepslate" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_dripstone.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_dripstone.json deleted file mode 100644 index 819a92dfd..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_dripstone.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_dripstone", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_dripstone" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_glacio.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_glacio.json deleted file mode 100644 index 8e7508ef2..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_glacio.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_glacio", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_glacio" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_mars.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_mars.json deleted file mode 100644 index 0c9a1f370..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_mars.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_mars", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_mars" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_mercury.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_mercury.json deleted file mode 100644 index 626a1e252..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_mercury.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_mercury", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_mercury" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon.json deleted file mode 100644 index 09d2e998b..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_moon", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_moon" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon_deepslate.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon_deepslate.json deleted file mode 100644 index 7e1bf9b63..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon_deepslate.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_moon_deepslate", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_moon_deepslate" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_permafrost.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_permafrost.json deleted file mode 100644 index 5267f98d6..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_permafrost.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_permafrost", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_permafrost" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_red_granite.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_red_granite.json deleted file mode 100644 index c4a8d619a..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_red_granite.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_red_granite", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_red_granite" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_venus.json b/kubejs/data/tfg/loot_tables/blocks/rock/gravel_venus.json deleted file mode 100644 index a4800b69a..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/gravel_venus.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_venus", - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - }, - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "name": "minecraft:flint", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.1, - 0.14285715, - 0.25, - 1.0 - ] - } - ] - }, - { - "type": "minecraft:item", - "name": "tfg:rock/gravel_venus" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_blackstone.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_blackstone.json deleted file mode 100644 index 748f5016f..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_blackstone.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "beneath:blackstone_pebble", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_deepslate.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_deepslate.json deleted file mode 100644 index 6cd548020..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_deepslate.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:loose/deepslate", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_dripstone.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_dripstone.json deleted file mode 100644 index bcd7443c2..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_dripstone.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:loose/dripstone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_glacio_stone.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_glacio_stone.json deleted file mode 100644 index e8e009c94..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_glacio_stone.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:loose/glacio_stone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_mars_stone.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_mars_stone.json deleted file mode 100644 index 0e7e9cf38..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_mars_stone.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:loose/mars_stone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_mercury_stone.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_mercury_stone.json deleted file mode 100644 index 2362d4e63..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_mercury_stone.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:loose/mercury_stone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_moon_deepslate.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_moon_deepslate.json deleted file mode 100644 index 804cf0072..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_moon_deepslate.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:loose/moon_deepslate", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_moon_stone.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_moon_stone.json deleted file mode 100644 index b687d4df8..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_moon_stone.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:loose/moon_stone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_red_granite.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_red_granite.json deleted file mode 100644 index c8819199b..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_red_granite.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:loose/red_granite", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_venus_stone.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_venus_stone.json deleted file mode 100644 index 3c950f61a..000000000 --- a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_venus_stone.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:loose/venus_stone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index e62b99652..f29efde72 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -181,6 +181,7 @@ TFCEvents.data(event => { LootJS.modifiers((event) => { registerAdAstraLoots(event) registerBeneathLoots(event) + registerTFGRockLoots(event) registerTFGOreLoots(event) registerLootrLoots(event) registerPrimitiveCreaturesLoots(event) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 70a218388..3637b57ff 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -463,6 +463,13 @@ function registerTFCItemTags(event) { event.add('tfc:food/bell_peppers', 'tfc:food/green_bell_pepper'); event.add('tfc:food/bell_peppers', 'tfc:food/yellow_bell_pepper'); event.add('tfc:food/bell_peppers', 'tfc:food/red_bell_pepper'); + + // More offhand things for piglin brutes + event.add('tfc:mob_offhand_weapons', 'tfchotornot:tongs/gold'); + event.add('tfc:mob_offhand_weapons', 'tfchotornot:tongs/rose_gold'); + event.add('tfc:mob_offhand_weapons', 'gtceu:black_bronze_knife'); + event.add('tfc:mob_offhand_weapons', 'tfc:metal/javelin/black_bronze'); + event.add('tfc:mob_offhand_weapons', 'tfc:metal/mace/black_bronze'); } /** @param {TagEvent.Block} event */ diff --git a/kubejs/server_scripts/tfg/natural_blocks/loot.stones.js b/kubejs/server_scripts/tfg/natural_blocks/loot.stones.js new file mode 100644 index 000000000..064bb05cc --- /dev/null +++ b/kubejs/server_scripts/tfg/natural_blocks/loot.stones.js @@ -0,0 +1,104 @@ +// priority: 10 +"use strict"; + +function registerTFGRockLoots(event) { + + // Rock to cobble, cobble to gravel + for (let [rockId, rock] of Object.entries(global.BIG_ROCK_TABLE)) { + if (rock.raw != null && rock.cobble != null) { + event.addBlockLootModifier(rock.raw.block) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(rock.cobble.block) + } + + if (rock.hardened != null && rock.cobble != null) { + event.addBlockLootModifier(rock.hardened) + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([1, 4], [ + LootEntry.of(rock.loose) + ]) + + event.addBlockLootModifier(rock.hardened) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(rock.cobble.block) + } + + if (rock.cobble != null) { + event.addBlockLootModifier(rock.cobble.block) + .addLoot(rock.cobble.block) + } + + if (rock.gravel != null) { + event.addBlockLootModifier(rock.gravel.block) + .addAlternativesLoot([ + LootEntry.of('minecraft:flint').when(c => c.randomChance(0.1)), + LootEntry.of(rock.gravel.block) + ]) + } + + if (rock.cobble != null && rock.gravel != null) { + event.addBlockLootModifier(rock.cobble.block) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(rock.gravel) + + if (rock.cobble.mossy != null) { + event.addBlockLootModifier(rock.cobble.mossy.block) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(rock.gravel) + } + } + } + + // Sand + global.SAND_COLORS.forEach(sandColor => { + let tag_array = Ingredient.of(`#tfc:${sandColor}_gravel`).itemIds.toArray().map(String); + tag_array.forEach(item => { + event.addBlockLootModifier(item) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(`tfc:sand/${sandColor}`) + }) + }) + + global.HAMMERING.forEach(x => { + if (x.raw.startsWith('#')) { + let tag_array = Ingredient.of(x.raw).itemIds.toArray().map(String); + tag_array.forEach(item => { + event.addBlockLootModifier(item) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(x.hammered) + }) + } + else { + event.addBlockLootModifier(x.raw) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(x.hammered) + } + }) + + // Other rocks + event.addBlockLootModifier('minecraft:gilded_blackstone') + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addSequenceLoot( + LootEntry.of('tfg:rock/cobble_blackstone'), + LootEntry.of('tfc:powder/native_gold') + ) + + event.addBlockLootModifier('beneath:ore/blackstone_sylvite') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([ + Item.of('gtceu:rich_raw_rock_salt').withChance(0.2), + Item.of('gtceu:raw_rock_salt').withChance(0.6), + Item.of('gtceu:poor_raw_rock_salt').withChance(0.2) + ]) + .addLoot(LootEntry.of('tfg:igneous_ultramafic_dust').when(c => c.randomChance(0.2))) + .addLoot(LootEntry.of('gtceu:tiny_rock_salt_dust').when(c => c.randomChance(0.05))); + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js b/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js index 32c1dab7a..fa1c1c6f4 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js @@ -2,85 +2,7 @@ "use strict"; const registerTFGOreLoots = (event) => { - // Rock to cobble, cobble to gravel - for (let [rockId, rock] of Object.entries(global.BIG_ROCK_TABLE)) { - if (rock.raw != null && rock.cobble != null) { - event.addBlockLootModifier(rock.raw.block) - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot(rock.cobble.block) - } - - if (rock.hardened != null && rock.cobble != null) { - event.addBlockLootModifier(rock.hardened) - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot(rock.cobble.block) - } - - if (rock.cobble != null && rock.gravel != null) { - event.addBlockLootModifier(rock.cobble.block) - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot(rock.gravel) - - if (rock.cobble.mossy != null) { - event.addBlockLootModifier(rock.cobble.mossy.block) - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot(rock.gravel) - } - } - } - - // Sand - global.SAND_COLORS.forEach(sandColor => { - let tag_array = Ingredient.of(`#tfc:${sandColor}_gravel`).itemIds.toArray().map(String); - tag_array.forEach(item => { - event.addBlockLootModifier(item) - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot(`tfc:sand/${sandColor}`) - }) - }) - - global.HAMMERING.forEach(x => { - if (x.raw.startsWith('#')) { - let tag_array = Ingredient.of(x.raw).itemIds.toArray().map(String); - tag_array.forEach(item => { - event.addBlockLootModifier(item) - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot(x.hammered) - }) - } - else { - event.addBlockLootModifier(x.raw) - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot(x.hammered) - } - }) - - // Other rocks - event.addBlockLootModifier('minecraft:gilded_blackstone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addSequenceLoot( - LootEntry.of('tfg:rock/cobble_blackstone'), - LootEntry.of('tfc:powder/native_gold') - ) - - event.addBlockLootModifier('beneath:ore/blackstone_sylvite') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([ - Item.of('gtceu:rich_raw_rock_salt').withChance(0.2), - Item.of('gtceu:raw_rock_salt').withChance(0.6), - Item.of('gtceu:poor_raw_rock_salt').withChance(0.2) - ]) - .addLoot(LootEntry.of('tfg:igneous_ultramafic_dust').when((c) => c.randomChance(0.2))) - .addLoot(LootEntry.of('gtceu:tiny_rock_salt_dust').when(c => c.randomChance(0.05))); - + // Go through all materials const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") @@ -125,18 +47,19 @@ const registerTFGOreLoots = (event) => { // break with pickaxe/mining hammer/drill/mining machine event.addBlockLootModifier(`${namespace}:${stoneType}_${material.getName()}_ore`) - .removeLoot(ItemFilter.ALWAYS_TRUE) + .removeLoot(Ingredient.all) .addWeightedLoot([ richRawOre.withChance(0.2), normalRawOre.withChance(0.6), poorRawOre.withChance(0.2) ]) - .addLoot(LootEntry.of(stoneTypeDust).when((c) => c.randomChance(0.2))) + .addLoot(LootEntry.of(stoneTypeDust).when(c => c.randomChance(0.2))) .addLoot(LootEntry.of(dustOre).when(c => c.randomChance(0.05))); // break with hammer event.addBlockLootModifier(`${namespace}:${stoneType}_${material.getName()}_ore`) .matchMainHand('#forge:tools/hammers') + .removeLoot(Ingredient.all) .addLoot(LootEntry.of(GTBlocks.COBBLE_BLOCKS.get(TagPrefix.get(stoneType)).get().getBlock().id)); }) } From 80198e0a4c32a16bf4d39309235c651e46d90a76 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 14:41:06 +0000 Subject: [PATCH 285/474] langs --- kubejs/assets/ad_astra/lang/ru_ru.json | 12 ++++++------ kubejs/assets/tfg/lang/en_us.json | 9 ++++++++- kubejs/assets/tfg/lang/ru_ru.json | 13 ++++++++++--- kubejs/assets/tfg/lang/zh_cn.json | 6 ++++++ 4 files changed, 30 insertions(+), 10 deletions(-) diff --git a/kubejs/assets/ad_astra/lang/ru_ru.json b/kubejs/assets/ad_astra/lang/ru_ru.json index 70ccf24ed..f388f64f2 100644 --- a/kubejs/assets/ad_astra/lang/ru_ru.json +++ b/kubejs/assets/ad_astra/lang/ru_ru.json @@ -111,16 +111,16 @@ "block.ad_astra.glacio_globe": "Глобус Европы", "entity.ad_astra.corrupted_lunarian": "Лунный зомби", "entity.ad_astra.martian_raptor": "Скелетообразный раптор", - "entity.ad_astra.tier_1_rocket": "Красная алюминиево-стальная ракета", - "entity.ad_astra.tier_2_rocket": "ASM 4914 Titanium Rocket", - "entity.ad_astra.tier_3_rocket": "45-Ti Tungstensteel Rocket", + "entity.ad_astra.tier_1_rocket": "Легкая ракета R (алюмосталь)", + "entity.ad_astra.tier_2_rocket": "Прочная ракета ASM 4914 (титан)", + "entity.ad_astra.tier_3_rocket": "Тяжёлая ракета 45-Ti (вольфрамосталь)", "entity.ad_astra.tier_1_rover": "Вездеход", "fluid_type.ad_astra.oxygen": "Искуственный воздух", "item.ad_astra.steel_cable": "Обычный RF кабель", "item.ad_astra.desh_cable": "Улучшенный RF кабель", - "item.ad_astra.tier_1_rocket": "Красная алюминиево-стальная ракета", - "item.ad_astra.tier_2_rocket": "ASM 4914 Titanium Rocket", - "item.ad_astra.tier_3_rocket": "45-Ti Tungstensteel Rocket", + "item.ad_astra.tier_1_rocket": "Легкая ракета R (алюмосталь)", + "item.ad_astra.tier_2_rocket": "Прочная ракета ASM 4914 (титан)", + "item.ad_astra.tier_3_rocket": "Тяжёлая ракета 45-Ti (вольфрамосталь)", "item.ad_astra.oxygen_bucket": "Ведро с искуственным воздухом", "item.ad_astra.tier_1_rover": "Вездеход", "item.ad_astra.photovoltaic_etrium_cell": "Улучшенная фотоэлектрическая ячейка", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 2c5d2b5d3..4b092bc6b 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1203,6 +1203,9 @@ "item.tfg.rotten_voiding_cover": "Rotten Voiding Cover", "item.tfg.flora_pellets": "Flora Pellets", "item.tfg.magnesia_refractory_brick_ingot": "Resin-Bonded Magnesia Refractory Brick", + "item.tfg.tier_1_double_rocket": "R-Aluminosteel Two-Person Rocket", + "item.tfg.tier_2_double_rocket": "ASM 4914 Titanium Two-Person Rocket", + "item.tfg.tier_3_double_rocket": "45-Ti Tungstensteel Two-Person Rocket", "material.tfg.latex": "Latex", "material.tfg.vulcanized_latex": "Vulcanized Latex", "material.tfg.fluix": "Fluix", @@ -1569,6 +1572,9 @@ "tfg.tooltip.surfer_variant.brain": "Glacian Hide", "tfg.tooltip.attribution.surfer": "§9§oCredit: Wan's Ancient Beasts", "entity.tfg.rnr_plow": "Paving Cart", + "entity.tfg.tier_1_double_rocket": "R-Aluminosteel Two-Person Rocket", + "entity.tfg.tier_2_double_rocket": "ASM 4914 Titanium Two-Person Rocket", + "entity.tfg.tier_3_double_rocket": "45-Ti Tungstensteel Two-Person Rocket", "effect.tfg.cooling": "§bCooling", "effect.tfg.warming": "§6Warming", "effect.tfg.instant_radiation": "Instant Radiation", @@ -1712,6 +1718,7 @@ "tfg.tooltip.hotornot_cold_equipment": "§7Provides protection from all §bcold§7 items, fluids, and pipes.§r", "tfg.tooltip.hotornot_floating_equipment": "§7Provides protection from all §elighter-than-air§7 gases.§r", "tfg.tooltip.polycaprolactam": "Also known as Nylon", + "tfg.tooltip.vessel_warning": "§cHeating an overfilled vessel will void any overflow and may ruin your alloying!§r", "tfg.tooltip.machine.one_energy_hatch": "Accepts exactly §6One§r Energy Hatch.", "tfg.tooltip.machine.two_energy_hatches": "Accepts up to §6Two§r Energy Hatches.", "tfg.tooltip.machine.subtick": "This machine supports §2Subticking§r!", @@ -3213,7 +3220,7 @@ "quests.medium_voltage.mv_component.desc": "Here's a list of the components you will need in &bMV&r. To alleviate the pain, be sure to autocraft or &dbulk-craft&r these parts, especially &aMotors&r.\n\nFamiliar with the &aEmitter&r? This tier's Emitter requires a &dFlawless Emerald&r in its recipe, which'll be only attainable with the &3Sifting Machine&r for now.\n\nConveyors, Pumps and Robot Arms are objective upgrades to &7LV&r versions if you use them as covers.", "quests.medium_voltage.electrolyzer.title": "MV Electrolyzer", "quests.medium_voltage.electrolyzer.subtitle": "We made it to MV, and, well...", - "quests.medium_voltage.electrolyzer.desc.1": "&bThis one should look familiar&r—you’ve seen it before.\n&2We highly recommend crafting it as soon as possible,&r as it will unlock a wide range of new &7Aluminium&r sources.\n\nUntil now, your only method was &9electrolyzing Sapphire&r to obtain &7Aluminium Dust&r.\nBut with the &bMV&r Electrolyzer, a whole new world of resources opens up.", + "quests.medium_voltage.electrolyzer.desc.1": "&bThis one should look familiar&r—you’ve seen it before.\n&2We highly recommend crafting it as soon as possible,&r as it will unlock a wide range of new &7Aluminium&r sources.\n\nUntil now, you were limited to electrolyzing Sapphire or ore processing byproducts to obtain &7Aluminium Dust&r.\nBut with the &bMV&r Electrolyzer, a whole new world of resources opens up.", "quests.medium_voltage.electrolyzer.desc.2": "&6Here are some key materials to look for:&r\n&9Ruby&r – Grants both &7Aluminium&r and &5Chromium&r.\n&9Pyrope&r – Often found alongside Sapphire veins.\n&9Lepidolite&r – Offers a generous selection of valuable byproducts.\n&9Sodalite&r – Comes with &3Chlorine&r and &bSilicon&r.\n&9Topaz&r – Yields both &3Fluorine&r and &7Aluminium&r in solid quantities.\n\n&2And that’s just the beginning!&r Use &aEMI&r to explore even more options—we promise, there’s a lot to discover.\n\n&cOh, and by the way:&r Electrolyzing Clay is now gated behind &6HV&r. \n&7We’re not sorry.&r", "quests.medium_voltage.mv_extruder.title": "Advanced Extruder", "quests.medium_voltage.mv_extruder.subtitle": "The biggest upgrade you'll make", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 05d81ada3..df60e27ef 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1203,6 +1203,9 @@ "item.tfg.rotten_voiding_cover": "Удаление гнили(Улучшение)", "item.tfg.flora_pellets": "Растительные гранулы", "item.tfg.magnesia_refractory_brick_ingot": "Склеенный смолой магнезиальный огнеупорный кирпич", + "item.tfg.tier_1_double_rocket": "Лёгкая двухместная ракета R (алюмосталь)", + "item.tfg.tier_2_double_rocket": "Прочная двухместная ракета ASM 4914 (титан)", + "item.tfg.tier_3_double_rocket": "Тяжёлая двухместная ракета 45-Ti (вольфрамосталь)", "material.tfg.latex": "Латекс", "material.tfg.vulcanized_latex": "Вулканизированный латекс", "material.tfg.fluix": "Флюис", @@ -1564,6 +1567,9 @@ "tfg.tooltip.surfer_variant.brain": "Гласианский", "tfg.tooltip.attribution.surfer": "§9§oАвтор: Wan's Ancient Beasts", "entity.tfg.rnr_plow": "Тележка для мощения", + "entity.tfg.tier_1_double_rocket": "Лёгкая двухместная ракета R (алюмосталь)", + "entity.tfg.tier_2_double_rocket": "Прочная двухместная ракета ASM 4914 (титан)", + "entity.tfg.tier_3_double_rocket": "Тяжёлая двухместная ракета 45-Ti (вольфрамосталь)", "effect.tfg.cooling": "§bОхлаждение", "effect.tfg.warming": "§6Согревание", "effect.tfg.instant_radiation": "Мгновенное радиоактивное излучение", @@ -3347,7 +3353,6 @@ "quests.medium_voltage.stainless_greate.title": "Нержавеющая сталь в Greate", "quests.medium_voltage.stainless_greate.subtitle": "Еще больше нагрузки", "quests.medium_voltage.stainless_greate.desc": "Этот квест нужен лишь для того, чтобы сообщить тебе, что на этом этапе у Greate есть ещё одно улучшение.\n\nТебе может пригодиться следующий тир Дробильных колёс, так как они выдают полный набор побочных продуктов, как и &6HV Измельчитель&r, а также могут обрабатывать несколько предметов одновременно!", - "parts.lang.quests.7": "metal_age ", "quests.metal_age": "Век металлургии", "quests.metal_age.subtitle": "Ваши первые технологические достижения.", "quests.metal_age.weld_bronze_ingots.title": "Сваривание бронзы", @@ -3786,7 +3791,8 @@ "quests.steam_age.create_tools.desc": "Гаечный ключ позволяет быстро поднимать блоки из Create, если нажать Shift + ПКМ по ним, хотя топор или кирка тоже подойдут. Очки инженера дают возможность видеть более подробную информацию о твоих машинах — например, сколько нагрузки они создают или потребляют.\n\nОба этих инструмента пока необязательны, но они окажутся очень полезными, и позже без них будет не обойтись.\n\nЗагляни в главу «Советы TFG» для помощи со стеклодувием. А ты знал, что если ломать булыжник молотком, он превратится в гравий, а если разбить гравий ещё раз — получится песок...?", "quests.steam_age.basic_millstone.title": "Автоматическая Переработка Руды", "quests.steam_age.basic_millstone.subtitle": "Больше никакого жернова", - "quests.steam_age.basic_millstone.desc": "&3Жернов&r — это автоматизированная версия ручного жернова. Ты можешь просто бросить нужные материалы сверху, а затем щёлкнуть ПКМ, чтобы забрать переработанные предметы.\n\nЕсли подключить его напрямую к &3Скотному Приводу&r, он будет довольно медленным, но можно увеличить скорость с помощью передаточных шестерён.\n\nТы будешь получать результат только из первого слота. Остальные слоты относятся к механике GregTech, которая станет актуальной гораздо позже (&6HV&r).", + "quests.steam_age.basic_millstone.desc.1": "&3Жернов&r — это автоматизированная версия ручного жернова. Ты можешь просто бросить нужные материалы сверху, а затем щёлкнуть ПКМ, чтобы забрать переработанные предметы.\n\nЕсли подключить его напрямую к &3Скотному Приводу&r, он будет довольно медленным, но можно увеличить скорость с помощью передаточных шестерён.\n\nТы будешь получать результат только из первого слота. Остальные слоты относятся к механике GregTech, которая станет актуальной гораздо позже (&6HV&r).", + "quests.steam_age.basic_millstone.desc.2": "&l&3Лор:&r&o Жернов нельзя использовать для переработки зерен в муку, поскольку Create не понимает систему истечения срока годности продуктов TFC, которая ранее приводила к разного рода ошибкам, связанным с превращением гнилых продуктов в свежие, и наоборот. Пока вы не получите кухонный комбайн в &7LV&r, вы все равно можете измельчать зерна с помощью ступки в сетке крафта.", "quests.steam_age.horse_crank.title": "Твой Первый Источник Энергии", "quests.steam_age.horse_crank.subtitle": "Пусть домашние животные платят за жильё", "quests.steam_age.horse_crank.desc.1": "&3Скотный Привод&r — это твой первый доступный источник механической энергии. Чтобы его использовать, размести привод в центре очищенной площадки 7x7 и привяжи к нему животное. Разные животные дают разное количество энергии, а блоки под ними могут увеличить скорость вращения. Площадки нескольких приводов могут перекрываться.\n\nИногда может понадобиться удерживать второй поводок, чтобы прикрепить животное.", @@ -3831,7 +3837,7 @@ "quests.steam_age.item_pipes.title": "Предметные Трубы", "quests.steam_age.item_pipes.subtitle": "Не такие крутые, как Item Conduits", "quests.steam_age.item_pipes.desc.1": "&3Предметные Трубы&r — это простой, но эффективный способ мгновенно перемещать предметы, хотя и с ограничением пропускной способности.\n\nТрубы более высокого уровня обеспечивают колоссальную пропускную способность — редкость для модов Minecraft!\n\nПредметные трубы &9не втягивают&r предметы, но они будут &9выталкивать&r любые вставленные в них предметы в подключённые контейнеры, начиная с &9ближайшего&r.", - "quests.steam_age.item_pipes.desc.2": "Механика приоритета &онемного сложна&r, так что можешь пропустить, если не интересует:\n\nКаждый &eПункт назначения&r имеет &dЗначение маршрута&r — это сумма всех значений маршрута по пути к нему. Тот пункт, у которого &cнаименьшее &dзначение маршрута&r, и будет выбран для вставки предметов.\n\n&3Ограничительные трубы&r обычно имеют самый низкий приоритет для вставки из-за более высокого значения маршрута.", + "quests.steam_age.item_pipes.desc.2": "Механика приоритета &oнемного сложна&r, так что можешь пропустить, если не интересует:\n\nКаждый &eПункт назначения&r имеет &dЗначение маршрута&r — это сумма всех значений маршрута по пути к нему. Тот пункт, у которого &cнаименьшее &dзначение маршрута&r, и будет выбран для вставки предметов.\n\n&3Ограничительные трубы&r обычно имеют самый низкий приоритет для вставки из-за более высокого значения маршрута.", "quests.steam_age.item_pipes.desc.3": "Сейчас ты можешь использовать их вместе с &6Желобами&r и &6Воронками&r, а в эпоху LV также сможешь подключать их к Модулям Конвейера, Выходным Шинам и Автоматическим Выходам машин.\n\n&9Примечание:&r Включён стиль труб из GT6. Это значит, что при установке труба соединяется только с блоком, к которому она примыкает. Чтобы открыть дополнительные соединения, используй свой &5Гаечный ключ&r на сетке.\n\nПолучите &eлюбую&r из предложенных Предметных Труб, чтобы завершить это задание.", "quests.steam_age.item_pipes.desc.4": "&l&3Лор:&r&o Ооооо, ДА! Предметные трубы были в GregTech 5, но по какой-то причине их не добавили в GTCE, и пришлось использовать другие моды для транспортировки предметов. Кто вообще так делает!? Шутки в сторону — надеемся, тебе понравится возвращение труб в GregTech!", "quests.steam_age.steel_greate.title": "Greate из Стали", @@ -4184,6 +4190,7 @@ "quests.stone_age.medical_conditions.subtitle": "Не ешьте асбест", "quests.stone_age.medical_conditions.desc.1": "Будьте осторожны с тем, что подбираете! Не все руды или пыли безопасны для прикосновения, и некоторые из них могут привести к ухудшению вашего &6медицинского состояния&r.\n\nВсё &cОпасное&r указано в описании предмета, так что если вы внезапно заметите появление дебаффа, немедленно уберите этот предмет из своего инвентаря! Хранение его внутри контейнера, например, в малом сосуде или рюкзаке, безопасно.\n\nБольшинство этих эффектов со временем проходят сами по себе, но если позволить им накопиться, вы начнёте получать множество других неприятных эффектов, вплоть до &cсмерти&r.", "quests.stone_age.medical_conditions.desc.2": "Со временем вам всё же придётся работать с некоторыми из этих материалов, поэтому у вас есть способы обезопасить себя.\n\nЛучший способ — это вообще не допускать развития болезней: Медицинская маска и Резиновые перчатки предотвратят опасность вдыхания и тактильного контакта соответственно.\n\nВторой по эффективности способ — лечение: обратите внимание на &aПилюли, Таблетки и Мази&r, которые вы можете изготовить. Все они помогают лечить определённые эффекты (и дают полезные баффы!), хотя у более сильных лекарств есть и неприятные побочные эффекты.", + "quests.stone_age.medical_conditions.desc.3": "Будьте осторожны со всем &cКанцерогенным&r или &cРадиоактивным&r — эти условия &rпостоянны&r до тех пор, пока вы не сможете создать парацетамол в &7LV&r.", "quests.stone_age.medical_conditions.task": "Сам себе врач", "quests.stone_age.copper_for_anvil.title": "Медь для наковальни", "quests.stone_age.copper_for_anvil.subtitle": "Привыкай добывать 14 слитков чего-либо ", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 49b0390dc..e96a83971 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1297,6 +1297,9 @@ "item.tfg.rotten_voiding_cover": "腐烂物销毁覆盖板", "item.tfg.flora_pellets": "植物颗粒", "item.tfg.magnesia_refractory_brick_ingot": "树脂结合镁质耐火砖", + "item.tfg.tier_1_double_rocket": "R型铝钢双人火箭", + "item.tfg.tier_2_double_rocket": "ASM 4914 钛合金双人火箭", + "item.tfg.tier_3_double_rocket": "45-Ti 钨钢双人火箭", "material.tfg.latex": "乳胶", "material.tfg.vulcanized_latex": "硫化乳胶", "material.tfg.fluix": "福鲁伊克斯", @@ -1652,6 +1655,9 @@ "tfg.tooltip.surfer_variant.brain": "霜原粉毛皮", "tfg.tooltip.attribution.surfer": "§9§o版权归属:Wan's Ancient Beasts", "entity.tfg.rnr_plow": "铺路车", + "entity.tfg.tier_1_double_rocket": "R型铝钢双人火箭", + "entity.tfg.tier_2_double_rocket": "ASM 4914 钛合金双人火箭", + "entity.tfg.tier_3_double_rocket": "45-Ti 钨钢双人火箭", "effect.tfg.cooling": "§b降温", "effect.tfg.warming": "§6保暖", "effect.tfg.instant_radiation": "瞬间辐射", From d4da49043a9e7834088d1a8ae465dbf6028317d1 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 14:49:06 +0000 Subject: [PATCH 286/474] #2913 fixes missing heat data for some tag prefixes --- CHANGELOG.md | 1 + kubejs/server_scripts/gregtech/data.js | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cca47e86a..d9f667106 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -53,6 +53,7 @@ - Fixed stair and slab versions of road blocks not having speed bonuses (#2912) @Pyritie - Fixed RNR roofs not having mineable tags, and blocked the stair/slab frame from Additional Placements (#2870) @Pyritie - Fixed piglin brutes not dropping meat or bones @Pyritie +- Fixed not being able to put rings, wrench tips, screwdriver tips, buzzsaw blades, or wire cutter tips in a crucible (#2913) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/kubejs/server_scripts/gregtech/data.js b/kubejs/server_scripts/gregtech/data.js index 3197bcd1b..1d6e88e13 100644 --- a/kubejs/server_scripts/gregtech/data.js +++ b/kubejs/server_scripts/gregtech/data.js @@ -45,6 +45,7 @@ const registerGTCEUHeats = (event) => { makeItemHeatByTagPrefix(TagPrefix.plateDouble, material, tfcProperty, 5.75) makeItemHeatByTagPrefix(TagPrefix.springSmall, material, tfcProperty, 0.567) makeItemHeatByTagPrefix(TagPrefix.spring, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TagPrefix.ring, material, tfcProperty, 0.567) makeItemHeatByTagPrefix(TagPrefix.ingot, material, tfcProperty, 1.429) makeItemHeatByTagPrefix(TFGTagPrefix.ingotDouble, material, tfcProperty, 2.875) @@ -59,7 +60,11 @@ const registerGTCEUHeats = (event) => { makeItemHeatByTagPrefix(TagPrefix.crushed, material, tfcProperty, 1.429) makeItemHeatByTagPrefix(TagPrefix.crushedPurified, material, tfcProperty, 1.429) makeItemHeatByTagPrefix(TagPrefix.crushedRefined, material, tfcProperty, 1.429) - + + makeItemHeatByTagPrefix(TagPrefix.toolHeadWrench, material, tfcProperty, 2.875) + makeItemHeatByTagPrefix(TagPrefix.toolHeadBuzzSaw, material, tfcProperty, 2.875) + makeItemHeatByTagPrefix(TagPrefix.toolHeadScrewdriver, material, tfcProperty, 1.429) + makeItemHeatByTagPrefix(TagPrefix.toolHeadWireCutter, material, tfcProperty, 1.429) makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadSword, material, tfcProperty, 2.875) makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadShovel, material, tfcProperty, 1.429) makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadScythe, material, tfcProperty, 1.429) @@ -70,7 +75,7 @@ const registerGTCEUHeats = (event) => { makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadHammer, material, tfcProperty, 1.429) makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadAxe, material, tfcProperty, 1.429) makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadFile, material, tfcProperty, 1.429) - makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadButcheryKnife, material, tfcProperty, 2.875) + makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadButcheryKnife, material, tfcProperty, 1.429) makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadMiningHammer, material, tfcProperty, 2.875) makeItemHeatByTagPrefix(TFGTagPrefix.toolHeadSpade, material, tfcProperty, 2.875) From 0ee877471863bd194ad66040d4820f85cde223da Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 14:49:20 +0000 Subject: [PATCH 287/474] add better vessel warning --- kubejs/client_scripts/tooltips.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index a55a97db4..c4f97d7d6 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -324,6 +324,7 @@ const registerTooltips = (event) => { }) event.addAdvanced(['#tfc:fired_vessels'], (item, advanced, text) => { text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "3,024")) + text.add(2, Text.translate("tfg.tooltip.vessel_warning")) }) event.addAdvanced(['waterflasks:iron_flask', 'waterflasks:red_steel_flask'], (item, advanced, text) => { text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "2,000")) From 5a43e40aa42dc1128bd19aa480f665779611ea91 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 14:50:18 +0000 Subject: [PATCH 288/474] removed armor welding bonus cuz it's complicated #2841 --- .../server_scripts/tfg/ores_and_materials/recipes.materials.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js index d2374773d..819cc4757 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js @@ -195,7 +195,7 @@ function addMaterialWelding(event, outputItem, inputItem1, inputItem2, material, if (tfcProperty !== null) { - event.recipes.tfc.welding(TFC.isp.of(outputItem).copyForgingBonus().copyHeat(), inputItem1, inputItem2, tfcProperty.getTier() - 1) + event.recipes.tfc.welding(TFC.isp.of(outputItem).copyHeat(), inputItem1, inputItem2, tfcProperty.getTier() - 1) .id(`tfc:welding/${id}`); compactingTier = tfcProperty.getTier() < tierThreshold ? 0 : 1; From e8116ba65b9bb9ee7c7c216d9f38022fd20fbffa Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 14:53:15 +0000 Subject: [PATCH 289/474] changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d9f667106..9849a73db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,8 +17,8 @@ - Added new ceramics required to craft Cupronickel Coils, made out of your recycled TFC blast furnace, Magnesia, and some resin - Cupronickel coils now also need blue steel foil instead of bronze - Polyethylene now requires an MV chemical reactor -### Changes - Added the Artisan Table to "knap" circuit boards and GT extruder and casting molds, replacing their crafting table recipes. @BlueBoat29 @Redeix +### Changes - Added much more music to the different dimensions @Pyritie - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie - Added steam alloy smelter glass batch recipes (#2853) @Pyritie @@ -39,6 +39,7 @@ - Piglins can now spawn with crossbows @Pyritie - Piglin brutes now always spawn with full armor and harder-hitting weapons @Pyritie - Added quartzite as a mars stone type @Pyritie +- Added assembler recipe for framed cubes (#2889) @Coox1e ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie From c30ebf249b9cd069cee04d033e0e04f7c376a3c2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 15:24:40 +0000 Subject: [PATCH 290/474] add kinetic bridge #2881, pakku --- CHANGELOG.md | 1 + .../create_connected/recipes.js | 12 + kubejs/server_scripts/gregtech/recipes.js | 5 + .../create_connected/constants.js | 1 - pakku-lock.json | 212 +++++++++--------- 5 files changed, 124 insertions(+), 107 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9849a73db..0bf69867a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,6 +40,7 @@ - Piglin brutes now always spawn with full armor and harder-hitting weapons @Pyritie - Added quartzite as a mars stone type @Pyritie - Added assembler recipe for framed cubes (#2889) @Coox1e +- Unhid and added a recipe for the kinetic bridge (#2881) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/server_scripts/create_connected/recipes.js b/kubejs/server_scripts/create_connected/recipes.js index 737d75bb7..258e30fe0 100644 --- a/kubejs/server_scripts/create_connected/recipes.js +++ b/kubejs/server_scripts/create_connected/recipes.js @@ -71,4 +71,16 @@ const registerCreateConnectedRecipes = (event) => { }).id('create_connected:crafting/kinetics/sequenced_pulse_generator') event.replaceInput({ id: 'create_connected:crafting/kinetics/redstone_link_wildcard' }, 'create:transmitter', 'minecraft:redstone_torch') + + event.shaped('create_connected:kinetic_bridge', [ + 'BCB', + 'AEA', + 'DCD' + ], { + A: 'create:brass_casing', + B: '#forge:plates/magnetic_iron', + C: '#forge:rods/magnetic_iron', + D: '#forge:small_gears/red_alloy', + E: '#forge:shafts' + }).id('create_connected:crafting/kinetics/kinetic_bridge') } \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 7e8ede4e7..1af670f68 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -420,4 +420,9 @@ const registerGTCEURecipes = (event) => { .itemOutputs('#forge:lenses/glass', '#forge:small_dusts/glass') .duration(60 * 20) .EUt(GTValues.VA[GTValues.MV]) + + // Magnetic iron + event.shapeless('gtceu:magnetic_iron_ingot', ['#forge:ingots/iron', '8x minecraft:redstone']) + event.shapeless('gtceu:magnetic_iron_plate', ['#forge:plates/iron', '8x minecraft:redstone']) + event.shapeless('gtceu:magnetic_iron_bolt', ['#forge:bolts/iron', '2x minecraft:redstone']) } diff --git a/kubejs/startup_scripts/create_connected/constants.js b/kubejs/startup_scripts/create_connected/constants.js index 8a4b737d7..821512bfc 100644 --- a/kubejs/startup_scripts/create_connected/constants.js +++ b/kubejs/startup_scripts/create_connected/constants.js @@ -17,7 +17,6 @@ global.CREATE_CONNECTED_DISABLED_ITEMS = [ 'create_connected:cross_connector', 'create_connected:andesite_encased_cross_connector', 'create_connected:brass_encased_cross_connector', - 'create_connected:kinetic_bridge', 'create_connected:kinetic_battery', 'create_connected:charged_kinetic_battery' ] \ No newline at end of file diff --git a/pakku-lock.json b/pakku-lock.json index 54b43aefc..318794451 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -991,7 +991,7 @@ "files": [ { "type": "modrinth", - "file_name": "AmbientSounds_FORGE_v6.3.3_mc1.20.1.jar", + "file_name": "AmbientSounds_FORGE_v6.3.4_mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -1000,22 +1000,22 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/fM515JnW/versions/C1kWrOvd/AmbientSounds_FORGE_v6.3.3_mc1.20.1.jar", - "id": "C1kWrOvd", + "url": "https://cdn.modrinth.com/data/fM515JnW/versions/viZ543s0/AmbientSounds_FORGE_v6.3.4_mc1.20.1.jar", + "id": "viZ543s0", "parent_id": "fM515JnW", "hashes": { - "sha512": "ce045384b4e31a4e3a2138225ff94ab549981a1c1eed8d0659efec0a6e78e272f3f72f075d766829ff5ca52cbf2e4c2ff6445b542cbb88925b2cf2f1d0f028c8", - "sha1": "b4a0e4937db9c83ec82a6809f8d53ab2b9e7a62c" + "sha512": "ae49643430fd3d8b2efd295db912c79eb557b470c99cfa0d3cb38fa27cf5fa42b7db20bd85c877469db3bae000c11329e94adf44da60438c36c95a296e1bc49b", + "sha1": "e84e7053c4c3a73c7f608c9da516bb5d393aab60" }, "required_dependencies": [ "OsZiaDHq" ], - "size": 53428829, - "date_published": "2026-01-09T09:26:23.471842Z" + "size": 53428834, + "date_published": "2026-01-30T11:52:35.658838Z" }, { "type": "curseforge", - "file_name": "AmbientSounds_FORGE_v6.3.3_mc1.20.1.jar", + "file_name": "AmbientSounds_FORGE_v6.3.4_mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -1024,18 +1024,18 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7436/598/AmbientSounds_FORGE_v6.3.3_mc1.20.1.jar", - "id": "7436598", + "url": "https://edge.forgecdn.net/files/7550/220/AmbientSounds_FORGE_v6.3.4_mc1.20.1.jar", + "id": "7550220", "parent_id": "254284", "hashes": { - "sha1": "b4a0e4937db9c83ec82a6809f8d53ab2b9e7a62c", - "md5": "75a5d7d61175d43ab56605814028134b" + "sha1": "e84e7053c4c3a73c7f608c9da516bb5d393aab60", + "md5": "cde6b48177d3581634514e848cde2622" }, "required_dependencies": [ "257814" ], - "size": 53428829, - "date_published": "2026-01-09T09:25:59.603Z" + "size": 53428834, + "date_published": "2026-01-30T11:52:13.223Z" } ] }, @@ -1465,27 +1465,6 @@ "modrinth": "OfKzpbRU" }, "files": [ - { - "type": "curseforge", - "file_name": "baguettelib-1.20.1-Forge-1.1.5.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7287/505/baguettelib-1.20.1-Forge-1.1.5.jar", - "id": "7287505", - "parent_id": "1264423", - "hashes": { - "sha1": "7aaab6216e7fc72e1606b1e35f1f56a18f01153f", - "md5": "21c32e7a3fcd7501915bf2b91d76df9b" - }, - "required_dependencies": [], - "size": 31868, - "date_published": "2025-12-02T22:51:20.803Z" - }, { "type": "modrinth", "file_name": "baguettelib-1.20.1-Forge-1.1.5.jar", @@ -1506,6 +1485,27 @@ "required_dependencies": [], "size": 31868, "date_published": "2025-12-19T20:09:42.978615Z" + }, + { + "type": "curseforge", + "file_name": "baguettelib-1.20.1-Forge-1.1.6.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7544/807/baguettelib-1.20.1-Forge-1.1.6.jar", + "id": "7544807", + "parent_id": "1264423", + "hashes": { + "sha1": "8d3c9551bbed4c2f2e8cb2b9a10d31bad4edb52d", + "md5": "f729a7d6d7b28ef14e4e8461a5396566" + }, + "required_dependencies": [], + "size": 31898, + "date_published": "2026-01-29T08:20:07.737Z" } ] }, @@ -3982,7 +3982,7 @@ "files": [ { "type": "modrinth", - "file_name": "create_connected-1.1.10-mc1.20.1-all.jar", + "file_name": "create_connected-1.1.11-mc1.20.1-all.jar", "mc_versions": [ "1.20.1" ], @@ -3991,22 +3991,22 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/Vg5TIO6d/versions/saiZ8AwJ/create_connected-1.1.10-mc1.20.1-all.jar", - "id": "saiZ8AwJ", + "url": "https://cdn.modrinth.com/data/Vg5TIO6d/versions/VjLFXhLl/create_connected-1.1.11-mc1.20.1-all.jar", + "id": "VjLFXhLl", "parent_id": "Vg5TIO6d", "hashes": { - "sha512": "0b885e09e0f074051120669337e0f53f42ca43a244cfde02f90b43da5a09853f92715371a9377c542886a673aefeda6f01becd3cb4b1e012d300618f1e33dce8", - "sha1": "329b9417c0fd52f0a5a153de31d7d075c521e900" + "sha512": "d6f8b57e7944be2caf6df6effd87ec96566ec8d1594b11318b7a62e2cccda8b8b3a4fae7e8e5cb77db050e45697df5e5b3c33ac64077d2723b84f9eb5b92546b", + "sha1": "a513a3fa9c7f3fb76d8f2ce4879e9755d1159477" }, "required_dependencies": [ "LNytGWDc" ], - "size": 6567116, - "date_published": "2025-11-23T02:14:34.172787Z" + "size": 6566640, + "date_published": "2026-01-30T13:44:08.705420Z" }, { "type": "curseforge", - "file_name": "create_connected-1.1.10-mc1.20.1-all.jar", + "file_name": "create_connected-1.1.11-mc1.20.1-all.jar", "mc_versions": [ "1.20.1" ], @@ -4015,18 +4015,18 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7251/637/create_connected-1.1.10-mc1.20.1-all.jar", - "id": "7251637", + "url": "https://edge.forgecdn.net/files/7550/633/create_connected-1.1.11-mc1.20.1-all.jar", + "id": "7550633", "parent_id": "947914", "hashes": { - "sha1": "eea1d04aee638689a99acf66457327b13a4b3f96", - "md5": "b119043b5504991e86a5d7d06734f49b" + "sha1": "ceffe02002c5f5b0938ac4d23f5a8b4c14c6b034", + "md5": "07ca1d67374bcd6a8fffa13af1b1a472" }, "required_dependencies": [ "328085" ], - "size": 6567117, - "date_published": "2025-11-23T02:14:45.303Z" + "size": 6566640, + "date_published": "2026-01-30T13:44:20.473Z" } ] }, @@ -6830,30 +6830,9 @@ "modrinth": "8BmcQJ2H" }, "files": [ - { - "type": "curseforge", - "file_name": "geckolib-forge-1.20.1-4.8.2.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7025/129/geckolib-forge-1.20.1-4.8.2.jar", - "id": "7025129", - "parent_id": "388172", - "hashes": { - "sha1": "395a9f21a36dc8466d67c2af67a904e7013460d1", - "md5": "d1ff73da16b6fc163d6c5ed3d9734dde" - }, - "required_dependencies": [], - "size": 1038979, - "date_published": "2025-09-23T10:08:54.570Z" - }, { "type": "modrinth", - "file_name": "geckolib-forge-1.20.1-4.8.2.jar", + "file_name": "geckolib-forge-1.20.1-4.8.3.jar", "mc_versions": [ "1.20.1" ], @@ -6861,16 +6840,37 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/8BmcQJ2H/versions/aVW7Z5da/geckolib-forge-1.20.1-4.8.2.jar", - "id": "aVW7Z5da", + "url": "https://cdn.modrinth.com/data/8BmcQJ2H/versions/HVdLnQMI/geckolib-forge-1.20.1-4.8.3.jar", + "id": "HVdLnQMI", "parent_id": "8BmcQJ2H", "hashes": { - "sha512": "8d8cb1f2d60c885b3b312aca63b94e3942e50ca40e96514f35fb74a39367afa07e4986640a66c66b035da9ea60cb6d8ff602e9c0b6b298e5ce584ad9f46a2f45", - "sha1": "395a9f21a36dc8466d67c2af67a904e7013460d1" + "sha512": "938f1f703fa77a2e05aad4afa1052260521badee006d29529d0ed4e2d3fbaae47c9ffbc95b5c4982c3386e7e7d6592c9c79df31597cc8238db41fc0b1e431db6", + "sha1": "fead1d1645e16cfa02f39113481ead355230f8fd" }, "required_dependencies": [], - "size": 1038979, - "date_published": "2025-09-23T10:09:01.034935Z" + "size": 1039047, + "date_published": "2026-01-31T01:40:17.094003Z" + }, + { + "type": "curseforge", + "file_name": "geckolib-forge-1.20.1-4.8.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7553/267/geckolib-forge-1.20.1-4.8.3.jar", + "id": "7553267", + "parent_id": "388172", + "hashes": { + "sha1": "5428765c6c2e2135da6ee01f2f0478fa0db6aee7", + "md5": "33b0f8fe0a8d59fcf9d4e222741ecba7" + }, + "required_dependencies": [], + "size": 1039046, + "date_published": "2026-01-31T01:40:51.330Z" } ] }, @@ -8841,31 +8841,9 @@ "modrinth": "fJFETWDN" }, "files": [ - { - "type": "curseforge", - "file_name": "lootjs-forge-1.20.1-2.13.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6508/899/lootjs-forge-1.20.1-2.13.0.jar", - "id": "6508899", - "parent_id": "570630", - "hashes": { - "sha1": "fdf90acf177c19bcbfaa08527f6568bd3e6e622e", - "md5": "1ddae5f49ca3200d67bcd32313875e19" - }, - "required_dependencies": [], - "size": 242227, - "date_published": "2025-05-08T14:06:39.737Z" - }, { "type": "modrinth", - "file_name": "lootjs-forge-1.20.1-2.13.0.jar", + "file_name": "lootjs-forge-1.20.1-2.13.1.jar", "mc_versions": [ "1.20.1" ], @@ -8874,16 +8852,38 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/fJFETWDN/versions/RjTRvo4g/lootjs-forge-1.20.1-2.13.0.jar", - "id": "RjTRvo4g", + "url": "https://cdn.modrinth.com/data/fJFETWDN/versions/wltVDhRB/lootjs-forge-1.20.1-2.13.1.jar", + "id": "wltVDhRB", "parent_id": "fJFETWDN", "hashes": { - "sha512": "c8652b1ccffccd66885dc9dc89490afe46f055c9d9ede2fef24e06978db5957815e6125974670263ab15c1d60d7106954f4d10aff48cd7f1e04277e351d1aa2c", - "sha1": "fdf90acf177c19bcbfaa08527f6568bd3e6e622e" + "sha512": "c03a07caf451a272f8027a47bb951db73f19bb24d603b61f0328a1769568a98f3912ec6b7bf39218062add102cb8fa7b29ae4ca73731cfa2db09eaac8fcf1033", + "sha1": "804deb0bd34d69cad873170642b9d7e47fa0d6ad" }, "required_dependencies": [], - "size": 242227, - "date_published": "2025-05-08T14:06:39.621822Z" + "size": 242267, + "date_published": "2026-01-30T16:31:51.682167Z" + }, + { + "type": "curseforge", + "file_name": "lootjs-forge-1.20.1-2.13.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7551/186/lootjs-forge-1.20.1-2.13.1.jar", + "id": "7551186", + "parent_id": "570630", + "hashes": { + "sha1": "804deb0bd34d69cad873170642b9d7e47fa0d6ad", + "md5": "0fbdbf49778f694de153bf5962ec03ee" + }, + "required_dependencies": [], + "size": 242267, + "date_published": "2026-01-30T16:31:51.313Z" } ] }, From 11d83ff91320f13d437adfa4040c9a78c4ab8f99 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 17:17:04 +0000 Subject: [PATCH 291/474] changelog, fix mars tags --- CHANGELOG.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0bf69867a..a8d7d7e6f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,11 @@ - The steel mechanical mixer can now only make weak red/blue steel dust, not regular (it can still make black steel dust though). The LV mixer can make normal red/blue steel dust - Changed ULV hulls to needing lead plates instead of wood plates - Adjusted a few other machine recipes slightly +- Deserts now contain oil spouts for heavy, raw, light, and normal oils +- Oilsands veins are now smaller across most of the world, except the huge ones have been moved to the desert +- Unhid and added a recipe for the kinetic bridge (#2881) @Pyritie +- High speed on a Belt Grinder now only requires 64 RPM instead of 128 RPM +- Added steam alloy smelter glass batch recipes (#2853) @Pyritie #### LV changes - Completely rearranged the quest chapter! Now it should be much less intimidating for new players - Added Bakelite, a new early plastic used for Phenolic Boards and MV machine hulls (instead of wrought iron plates) @@ -21,16 +26,12 @@ ### Changes - Added much more music to the different dimensions @Pyritie - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie -- Added steam alloy smelter glass batch recipes (#2853) @Pyritie - Paracetamol now cures a small amount of the Radioactive condition, and RadAway now cures everything completely @Pyritie -- High speed on a Belt Grinder now only requires 64 RPM instead of 128 RPM - Glow ink now just requires a fluid solidifier and a ball mold, instead of whatever it was doing before @Pyritie - TFC "pure" fertilisers are now all craftable and provide 100 fertiliser instead of 15 (#2884) @Coox1e - Added shapeless recipes to convert any old stone dusts into their new equivalents (#2900) @Pyritie -- Fixed the crucible capacity config on servers (#2899) @Pyritie - Added recipe to convert sedimentary carbonate stone dust into flux (#2862) @Pyritie -- Deserts now contain oil spouts for heavy, raw, light, and normal oils @Pyritie -- Oilsands veins are now smaller across most of the world, except the huge ones have been moved to the desert @Pyritie +- Fixed the crucible capacity config on servers (#2899) @Pyritie - Some volcanoes should now have much bigger amounts of lava underneath them, for more lava needs, but also infinite obsidian via the rock breaker has been removed. (Use a fluid solidifier instead) @Pyritie - Added manual/automated sanding recipes for making smooth stone (#2876) @Pyritie - Added deployer recipes for all the in-world block modification recipes (#2876) @Pyritie @@ -40,7 +41,6 @@ - Piglin brutes now always spawn with full armor and harder-hitting weapons @Pyritie - Added quartzite as a mars stone type @Pyritie - Added assembler recipe for framed cubes (#2889) @Coox1e -- Unhid and added a recipe for the kinetic bridge (#2881) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie From 34c4bb5fb4db146d85f3b3d30f7afaae90fecd54 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 31 Jan 2026 18:50:46 +0000 Subject: [PATCH 292/474] stuff and things --- config/carryon-common.toml | 2 +- defaultconfigs/createhorsepower-server.toml | 2 +- defaultconfigs/wan_ancient_beasts-server.toml | 27 +++++++++++++++++ kubejs/server_scripts/tfg/food/tags.food.js | 1 + kubejs/server_scripts/tfg/mars/tags.mars.js | 15 +++++++--- .../server_scripts/tfg/worldgen/data.fauna.js | 30 +++++++++++++++++++ .../server_scripts/wan_ancient_beasts/tags.js | 13 ++++++-- kubejs/startup_scripts/tfg/worldgen/fauna.js | 3 ++ 8 files changed, 84 insertions(+), 9 deletions(-) diff --git a/config/carryon-common.toml b/config/carryon-common.toml index bcd253142..c8fe92609 100644 --- a/config/carryon-common.toml +++ b/config/carryon-common.toml @@ -57,7 +57,7 @@ [whitelist] #Whitelist. Read about the format here: https://github.com/Tschipp/CarryOn/wiki/Black---and-Whitelist-Config #Entities that CAN be picked up (useWhitelistEntities must be true) - allowedEntities = ["minecraft:axolotl", "tfc:turkey", "tfc:isopod", "tfc:lobster", "tfc:frog", "tfc:penguin", "tfc:turtle", "tfc:horseshoe_crab", "tfc:crayfish", "tfc:grouse", "tfc:pheasant", "tfc:peafowl", "tfc:rat", "tfc:chicken", "tfc:duck", "tfc:quail", "tfc:rabbit", "tfc:sheep", "tfc:wolf", "tfc:dog", "tfc:pig", "tfc:goat", "tfc:alpaca", "tfg:wraptor", "tfg:surfer", "tfg:moon_rabbit", "species:limpet", "species:birt", "species:stackatick", "species:springling", "tfg:glacian_ram", "wan_ancient_beasts:crusher", "wan_ancient_beasts:glider", "wan_ancient_beasts:soarer", "wan_ancient_beasts:surfer", "primitive_creatures:viloger_10"] + allowedEntities = ["minecraft:axolotl", "tfc:turkey", "tfc:isopod", "tfc:lobster", "tfc:frog", "tfc:penguin", "tfc:turtle", "tfc:horseshoe_crab", "tfc:crayfish", "tfc:grouse", "tfc:pheasant", "tfc:peafowl", "tfc:rat", "tfc:chicken", "tfc:duck", "tfc:quail", "tfc:rabbit", "tfc:sheep", "tfc:wolf", "tfc:dog", "tfc:pig", "tfc:goat", "tfc:alpaca", "tfg:wraptor", "tfg:surfer", "tfg:moon_rabbit", "species:limpet", "species:birt", "species:stackatick", "species:springling", "tfg:glacian_ram", "wan_ancient_beasts:crusher", "wan_ancient_beasts:glider", "wan_ancient_beasts:soarer", "wan_ancient_beasts:surfer", "wan_ancient_beasts:snatcher", "primitive_creatures:viloger_10"] #Blocks that CAN be picked up (useWhitelistBlocks must be true) allowedBlocks = ["framedblocks:framed_chest", "tfc:wood/chest/*", "tfc:wood/trapped_chest/*", "afc:wood/chest/*", "afc:wood/trapped_chest/*", "#forge:chests/wooden"] #Entities that CAN have other entities stacked on top of them (useWhitelistStacking must be true) diff --git a/defaultconfigs/createhorsepower-server.toml b/defaultconfigs/createhorsepower-server.toml index a6a5b86ba..d97583958 100644 --- a/defaultconfigs/createhorsepower-server.toml +++ b/defaultconfigs/createhorsepower-server.toml @@ -30,5 +30,5 @@ smallCreatures = ["tfc:wolf", "tfc:dog", "tfc:pig", "tfc:sheep", "tfc:goat", "tf #Valid "Medium" creatures mediumCreatures = ["tfc:cow", "tfc:donkey", "tfc:dolphin", "wan_ancient_beasts:glider", "wan_ancient_beasts:soarer"] #Valid "Large" creatures -largeCreatures = ["tfc:horse", "tfc:mule", "tfc:musk_ox", "tfc:yak", "tfg:sniffer", "wan_ancient_beasts:walker", "species:cruncher"] +largeCreatures = ["tfc:horse", "tfc:mule", "tfc:musk_ox", "tfc:yak", "tfg:sniffer", "wan_ancient_beasts:walker", "species:cruncher", "wan_ancient_beasts:charger"] diff --git a/defaultconfigs/wan_ancient_beasts-server.toml b/defaultconfigs/wan_ancient_beasts-server.toml index c665ed8e1..607b1c43a 100644 --- a/defaultconfigs/wan_ancient_beasts-server.toml +++ b/defaultconfigs/wan_ancient_beasts-server.toml @@ -74,3 +74,30 @@ #Range: 1.0 ~ 1024.0 health = 80.0 +#Raider Attributes +[charger] + #Raider health [default: 60] + #Range: 1.0 ~ 1024.0 + health = 200.0 + #Raider armor [default: 4] + #Range: 0.0 ~ 30.0 + armor = 6.0 + #Raider attack damage [default: 15] + #Range: 0.0 ~ 1024.0 + armorToughness = 4.0 + +[raider] + #Raider health [default: 60] + #Range: 1.0 ~ 1024.0 + health = 200.0 + #Raider armor [default: 4] + #Range: 0.0 ~ 30.0 + armor = 6.0 + #Raider attack damage [default: 15] + #Range: 0.0 ~ 1024.0 + armorToughness = 4.0 + +[snatcher] + #Raider health [default: 60] + #Range: 1.0 ~ 1024.0 + health = 50.0 \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/food/tags.food.js b/kubejs/server_scripts/tfg/food/tags.food.js index 97826d234..40323f389 100644 --- a/kubejs/server_scripts/tfg/food/tags.food.js +++ b/kubejs/server_scripts/tfg/food/tags.food.js @@ -66,6 +66,7 @@ function registerTFGFoodItemTags(event) { event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_cruncher_ribs') event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_surfer_steak') event.add('tfg:raw_dinosaur_meat', 'wan_ancient_beasts:raw_ancient_meat') + // TODO add meat for charger, raider, snatcher /** * List of items that can make light stock. diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js index 368274952..68f49594c 100644 --- a/kubejs/server_scripts/tfg/mars/tags.mars.js +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -34,10 +34,8 @@ function registerTFGMarsItemTags(event) { event.add('tfg:martian_animal_foods', 'betterend:shadow_berry_product') event.add('tfg:martian_animal_foods', 'betterend:bolux_mushroom_product') event.add('tfg:martian_animal_foods', 'betterend:cave_pumpkin_chunks') - - event.add('tfg:glacian_ram_food', '#tfg:martian_animal_foods') - event.add('tfg:sniffer_food', '#tfg:martian_animal_foods') - event.add('tfg:wraptor_food', '#tfg:martian_animal_foods') + + event.add('tfg:martian_meat_foods', '#firmalife:foods/raw_fish') event.remove('minecraft:wool', 'ad_astra:glacian_fur') @@ -407,6 +405,9 @@ function registerTFGMarsEntityTypeTags(event) { 'wan_ancient_beasts:glider', 'wan_ancient_beasts:toxlacanth', 'wan_ancient_beasts:surfer', + 'wan_ancient_beasts:charger', + 'wan_ancient_beasts:raider', + 'wan_ancient_beasts:snatcher', 'tfg:surfer' ] @@ -420,10 +421,13 @@ function registerTFGMarsEntityTypeTags(event) { event.add('tfc:deals_piercing_damage', 'wan_ancient_beasts:eater') event.add('tfc:deals_piercing_damage', 'wan_ancient_beasts:soarer') event.add('tfc:deals_piercing_damage', 'wan_ancient_beasts:glider') + event.add('tfc:deals_piercing_damage', 'wan_ancient_beasts:raider') + event.add('tfc:deals_piercing_damage', 'wan_ancient_beasts:snatcher') event.add('tfc:deals_piercing_damage', 'ad_astra:martian_raptor') event.add('tfc:deals_crushing_damage', 'species:quake') event.add('tfc:deals_crushing_damage', 'wan_ancient_beasts:walker') event.add('tfc:deals_crushing_damage', 'wan_ancient_beasts:crusher') + event.add('tfc:deals_crushing_damage', 'wan_ancient_beasts:charger') event.add('tfc:deals_slashing_damage', 'endermanoverhaul:crimson_forest_enderman') event.add('tfc:deals_slashing_damage', 'endermanoverhaul:warped_forest_enderman') event.add('tfc:deals_slashing_damage', 'endermanoverhaul:badlands_enderman') @@ -434,11 +438,14 @@ function registerTFGMarsEntityTypeTags(event) { // this huge guy also looks silly in low grav event.add('tfg:ignores_gravity', 'wan_ancient_beasts:walker') event.add('tfg:ignores_gravity', 'wan_ancient_beasts:eater') + event.add('tfg:ignores_gravity', 'wan_ancient_beasts:raider') + event.add('tfg:ignores_gravity', 'wan_ancient_beasts:charger') // flying mobs event.add('tfg:ignores_gravity', 'wan_ancient_beasts:soarer') event.add('tfg:ignores_gravity', 'wan_ancient_beasts:glider') // swimming mobs event.add('tfg:ignores_gravity', 'tfg:surfer') + event.add('tfg:ignores_gravity', 'wan_ancient_beasts:surfer') event.add('tfg:ignores_gravity', 'wan_ancient_beasts:toxlacanth') event.add('tfg:ignores_gravity', 'endermanoverhaul:coral_enderman') } diff --git a/kubejs/server_scripts/tfg/worldgen/data.fauna.js b/kubejs/server_scripts/tfg/worldgen/data.fauna.js index 6a54f27b4..e68ce1c84 100644 --- a/kubejs/server_scripts/tfg/worldgen/data.fauna.js +++ b/kubejs/server_scripts/tfg/worldgen/data.fauna.js @@ -86,6 +86,26 @@ function registerTFGFauna(event) { }, "wan_ancient_beasts:crusher") + event.fauna( + climate => { + climate.minTemp(-109) + climate.fuzzy(true) + }, + faunaData => { + faunaData.solidGround(true) + }, + "wan_ancient_beasts:raider") + + event.fauna( + climate => { + climate.minTemp(-107) + climate.fuzzy(true) + }, + faunaData => { + faunaData.solidGround(true) + }, + "wan_ancient_beasts:charger") + event.fauna( climate => { climate.minTemp(-105) @@ -105,4 +125,14 @@ function registerTFGFauna(event) { faunaData.solidGround(true) }, "wan_ancient_beasts:glider") + + event.fauna( + climate => { + climate.minTemp(-105) + climate.fuzzy(true) + }, + faunaData => { + faunaData.solidGround(true) + }, + "wan_ancient_beasts:snatcher") } diff --git a/kubejs/server_scripts/wan_ancient_beasts/tags.js b/kubejs/server_scripts/wan_ancient_beasts/tags.js index 1a7c110d4..3dd151ff7 100644 --- a/kubejs/server_scripts/wan_ancient_beasts/tags.js +++ b/kubejs/server_scripts/wan_ancient_beasts/tags.js @@ -22,7 +22,7 @@ const registerWABItemTags = (event) => { event.removeAll('wan_ancient_beasts:paleontologist_common') event.removeAll('wan_ancient_beasts:paleontologist_rare') event.removeAll('wan_ancient_beasts:paleontologist_items') - event.removeAll('wan_ancient_beasts:eater_food') + event.removeAll('wan_ancient_beasts:meat_food') event.add('tfc:foods/raw_meats', 'wan_ancient_beasts:toxlacanth') event.add('firmalife:foods/raw_fish', 'wan_ancient_beasts:toxlacanth') @@ -38,8 +38,7 @@ const registerWABItemTags = (event) => { event.add('tfc:foods/cooked_meats', 'wan_ancient_beasts:cooked_ancient_meat') event.add('tfc:foods/meats', 'wan_ancient_beasts:cooked_ancient_meat') - event.add('wan_ancient_beasts:surfer_food', '#firmalife:foods/raw_fish') - event.add('wan_ancient_beasts:eater_food', '#tfg:martian_animal_foods') + event.add('wan_antcient_beasts:meat_food', '#tfc:foods/raw_meats') // Eggs event.add('tfg:martian_eggs', 'wan_ancient_beasts:eater_egg') @@ -48,6 +47,9 @@ const registerWABItemTags = (event) => { event.add('tfg:martian_eggs', 'wan_ancient_beasts:glider_egg') event.add('tfg:martian_eggs', 'wan_ancient_beasts:soarer_egg') event.add('tfg:martian_eggs', 'wan_ancient_beasts:surfer_egg') + event.add('tfg:martian_eggs', 'wan_ancient_beasts:snatcher_egg') + event.add('tfg:martian_eggs', 'wan_ancient_beasts:raider_egg') + event.add('tfg:martian_eggs', 'wan_ancient_beasts:charger_egg') } const registerWABEntityTypeTags = (event) => { @@ -58,6 +60,11 @@ const registerWABEntityTypeTags = (event) => { event.add('wan_ancient_beasts:eater_ignore', 'species:springling') event.add('wan_ancient_beasts:eater_ignore', 'species:quake') + event.add('wan_ancient_beasts:raider_ignore', 'tfg:sniffer') + event.add('wan_ancient_beasts:raider_ignore', 'tfg:wraptor') + event.add('wan_ancient_beasts:raider_ignore', 'species:springling') + event.add('wan_ancient_beasts:raider_ignore', 'species:quake') + } const registerWansAncientBeastsBiomeTags = (event) => { diff --git a/kubejs/startup_scripts/tfg/worldgen/fauna.js b/kubejs/startup_scripts/tfg/worldgen/fauna.js index 46141c358..98a64bcf4 100644 --- a/kubejs/startup_scripts/tfg/worldgen/fauna.js +++ b/kubejs/startup_scripts/tfg/worldgen/fauna.js @@ -10,6 +10,9 @@ TFCEvents.registerFaunas(event => { event.replace("wan_ancient_beasts:walker", "on_ground", "ocean_floor"); event.replace("wan_ancient_beasts:eater", "on_ground", "ocean_floor"); event.replace("wan_ancient_beasts:crusher", "on_ground", "ocean_floor"); + event.replace("wan_ancient_beasts:snatcher", "on_ground", "ocean_floor"); + event.replace("wan_ancient_beasts:charger", "on_ground", "ocean_floor"); + event.replace("wan_ancient_beasts:raider", "on_ground", "ocean_floor"); event.replace("wan_ancient_beasts:soarer", "no_restrictions", "world_surface"); event.replace("wan_ancient_beasts:glider", "no_restrictions", "world_surface"); From 8b1403031e4131299aeecb0475fcdac7e067e16a Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Sat, 31 Jan 2026 14:42:37 -0600 Subject: [PATCH 293/474] double rockets (#2910) * first things * yes * legally distinct rockets * Update tags.js Signed-off-by: Pyritie --------- Signed-off-by: Pyritie Co-authored-by: Pyritie --- .../tfg/models/item/tier_1_double_rocket.json | 44 +++++++++++++++++ .../tfg/models/item/tier_2_double_rocket.json | 44 +++++++++++++++++ .../tfg/models/item/tier_3_double_rocket.json | 44 +++++++++++++++++ .../tfg/models/item/tier_4_double_rocket.json | 44 +++++++++++++++++ kubejs/server_scripts/ad_astra/tags.js | 10 ++++ .../tfg/space_general/recipes.rockets.js | 48 +++++++++++++++++++ 6 files changed, 234 insertions(+) create mode 100644 kubejs/assets/tfg/models/item/tier_1_double_rocket.json create mode 100644 kubejs/assets/tfg/models/item/tier_2_double_rocket.json create mode 100644 kubejs/assets/tfg/models/item/tier_3_double_rocket.json create mode 100644 kubejs/assets/tfg/models/item/tier_4_double_rocket.json diff --git a/kubejs/assets/tfg/models/item/tier_1_double_rocket.json b/kubejs/assets/tfg/models/item/tier_1_double_rocket.json new file mode 100644 index 000000000..367f272ed --- /dev/null +++ b/kubejs/assets/tfg/models/item/tier_1_double_rocket.json @@ -0,0 +1,44 @@ +{ + "credit": "Adapted from Ad Astra", + "parent": "builtin/entity", + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-90, 0, -90], + "translation": [-25, 4.5, -1], + "scale": [0.8, 0.8, 0.8] + }, + "thirdperson_lefthand": { + "rotation": [-90, 0, -90], + "translation": [-25, 4.5, -13.5], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_righthand": { + "rotation": [-10, 180, 90], + "translation": [-18, 20, 0], + "scale": [0.45, 0.45, 0.45] + }, + "firstperson_lefthand": { + "rotation": [-10, 180, 90], + "translation": [-18, 12, 0], + "scale": [0.45, 0.45, 0.45] + }, + "ground": { + "translation": [2, 2, 2], + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [-41, -170, 26], + "translation": [-0.5, -4.8, 0], + "scale": [0.2, 0.2, 0.2] + }, + "head": { + "translation": [2.5, 9, 2.25], + "scale": [0.3, 0.3, 0.3] + }, + "fixed": { + "translation": [1, -2.5, 0], + "scale": [0.2, 0.2, 0.2] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/tier_2_double_rocket.json b/kubejs/assets/tfg/models/item/tier_2_double_rocket.json new file mode 100644 index 000000000..d3f52111d --- /dev/null +++ b/kubejs/assets/tfg/models/item/tier_2_double_rocket.json @@ -0,0 +1,44 @@ +{ + "credit": "Adapted from Ad Astra", + "parent": "builtin/entity", + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-90, 0, -90], + "translation": [-25, 4.5, -1], + "scale": [0.8, 0.8, 0.8] + }, + "thirdperson_lefthand": { + "rotation": [-90, 0, -90], + "translation": [-25, 4.5, -13.5], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_righthand": { + "rotation": [-10, 180, 90], + "translation": [-20, 20, 0], + "scale": [0.45, 0.45, 0.45] + }, + "firstperson_lefthand": { + "rotation": [-10, 180, 90], + "translation": [-20, 12, 0], + "scale": [0.45, 0.45, 0.45] + }, + "ground": { + "translation": [2, 2, 2], + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [-41, -170, 26], + "translation": [-0.5, -4.8, 0], + "scale": [0.2, 0.2, 0.2] + }, + "head": { + "translation": [2.5, 9, 2.25], + "scale": [0.3, 0.3, 0.3] + }, + "fixed": { + "translation": [1, -2.5, 0], + "scale": [0.2, 0.2, 0.2] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/tier_3_double_rocket.json b/kubejs/assets/tfg/models/item/tier_3_double_rocket.json new file mode 100644 index 000000000..5c9cc42ed --- /dev/null +++ b/kubejs/assets/tfg/models/item/tier_3_double_rocket.json @@ -0,0 +1,44 @@ +{ + "credit": "Adapted from Ad Astra", + "parent": "builtin/entity", + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [-110, 0, -90], + "translation": [-25, 4.5, -4.5], + "scale": [0.8, 0.8, 0.8] + }, + "thirdperson_lefthand": { + "rotation": [-110, 0, -90], + "translation": [-25, 4.5, -15], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_righthand": { + "rotation": [-10, 180, 90], + "translation": [-25, 20, -5], + "scale": [0.5, 0.5, 0.5] + }, + "firstperson_lefthand": { + "rotation": [-10, 180, 90], + "translation": [-25, 12, -5], + "scale": [0.5, 0.5, 0.5] + }, + "ground": { + "translation": [2, 2, 2], + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [-41, -170, 26], + "translation": [-0.5, -4.8, 0], + "scale": [0.2, 0.2, 0.2] + }, + "head": { + "translation": [2.5, 9, 2.25], + "scale": [0.3, 0.3, 0.3] + }, + "fixed": { + "translation": [1, -2.5, 0], + "scale": [0.2, 0.2, 0.2] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/tier_4_double_rocket.json b/kubejs/assets/tfg/models/item/tier_4_double_rocket.json new file mode 100644 index 000000000..65f064315 --- /dev/null +++ b/kubejs/assets/tfg/models/item/tier_4_double_rocket.json @@ -0,0 +1,44 @@ +{ + "credit": "Adapted from Ad Astra", + "parent": "builtin/entity", + "gui_light": "front", + "display": { + "thirdperson_righthand": { + "rotation": [180, 0, -90], + "translation": [-35, 4.5, -14], + "scale": [0.8, 0.8, 0.8] + }, + "thirdperson_lefthand": { + "rotation": [180, 0, -90], + "translation": [-35, -7, -14], + "scale": [0.8, 0.8, 0.8] + }, + "firstperson_righthand": { + "rotation": [80, 180, 90], + "translation": [-25, 20, 6], + "scale": [0.5, 0.5, 0.5] + }, + "firstperson_lefthand": { + "rotation": [80, 180, 90], + "translation": [-25, 18, 0], + "scale": [0.5, 0.5, 0.5] + }, + "ground": { + "translation": [2, 2, 2], + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [-41, -170, 26], + "translation": [0, -4.8, 0], + "scale": [0.17, 0.17, 0.17] + }, + "head": { + "translation": [2.5, 9, 2.25], + "scale": [0.3, 0.3, 0.3] + }, + "fixed": { + "translation": [1, -2.5, 0], + "scale": [0.2, 0.2, 0.2] + } + } +} \ No newline at end of file diff --git a/kubejs/server_scripts/ad_astra/tags.js b/kubejs/server_scripts/ad_astra/tags.js index 51505ec41..4deefb95b 100644 --- a/kubejs/server_scripts/ad_astra/tags.js +++ b/kubejs/server_scripts/ad_astra/tags.js @@ -51,6 +51,10 @@ const registerAdAstraItemTags = (event) => { event.add('c:hidden_from_recipe_viewers', 'ad_astra:aeronos_mushroom') event.add('c:hidden_from_recipe_viewers', 'ad_astra:strophar_mushroom') + event.add('c:hidden_from_recipe_viewers', 'tfg:tier_3_double_rocket') + event.add('c:hidden_from_recipe_viewers', 'tfg:tier_4_double_rocket') + + // Deco blocks const DECO_BLOCKS = [ 'iron', 'steel', 'desh', 'calorite', 'ostrum' ]; DECO_BLOCKS.forEach(block => { @@ -68,6 +72,12 @@ const registerAdAstraItemTags = (event) => { event.add('tfg:ad_astra_etrium_blocks', 'ad_astra:etrium_plateblock') event.add('tfg:ad_astra_etrium_blocks', 'ad_astra:etrium_panel') + event.add('ad_astra:held_over_head', 'tfg:tier_1_double_rocket') + event.add('ad_astra:held_over_head', 'tfg:tier_2_double_rocket') + event.add('ad_astra:held_over_head', 'tfg:tier_3_double_rocket') + event.add('ad_astra:held_over_head', 'tfg:tier_4_double_rocket') + + global.AD_ASTRA_WOOD.forEach(wood => { if (wood.log) { diff --git a/kubejs/server_scripts/tfg/space_general/recipes.rockets.js b/kubejs/server_scripts/tfg/space_general/recipes.rockets.js index 161eb46af..25a92c9c1 100644 --- a/kubejs/server_scripts/tfg/space_general/recipes.rockets.js +++ b/kubejs/server_scripts/tfg/space_general/recipes.rockets.js @@ -88,6 +88,22 @@ function registerTFGRocketRecipes(event) { .circuit(2) .EUt(GTValues.VA[GTValues.HV]) .addMaterialInfo(true, true) + + event.recipes.gtceu.assembler('ad_astra:assembler_tier_1_double_rocket') + .itemInputs( + ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t1'), 12), + '4x ad_astra:rocket_fin', + '1x ad_astra:steel_engine', + '1x ad_astra:rocket_nose_cone', + '24x #forge:insulation_t1', + '6x #gtceu:circuits/hv' + ) + .inputFluids(Fluid.of('gtceu:silicon', 144 * 24)) + .itemOutputs('tfg:tier_1_double_rocket') + .duration(1800) + .circuit(3) + .EUt(GTValues.VA[GTValues.HV]) + .addMaterialInfo(true, true) //#endregion @@ -185,6 +201,22 @@ function registerTFGRocketRecipes(event) { .circuit(3) .EUt(GTValues.VA[GTValues.EV]) .addMaterialInfo(true, true) + + event.recipes.gtceu.assembler('ad_astra:tier_2_double_rocket') + .itemInputs( + ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t2'), 18), + '4x tfg:rocket_fin_t2', + '1x ad_astra:desh_engine', + '1x tfg:rocket_cone_t2', + '18x #forge:insulation_t2/roll', + '6x #gtceu:circuits/ev' + ) + .inputFluids(Fluid.of('gtceu:titanium', 144 * 24)) + .itemOutputs('tfg:tier_2_double_rocket') + .duration(2166) + .circuit(4) + .EUt(GTValues.VA[GTValues.EV]) + .addMaterialInfo(true, true) //#endregion @@ -278,6 +310,22 @@ function registerTFGRocketRecipes(event) { .EUt(GTValues.VA[GTValues.IV]) .addMaterialInfo(true, true) + event.recipes.gtceu.assembler('ad_astra:tier_3_double_rocket') + .itemInputs( + '24x #forge:dense_plates/rocket_alloy_t3', + '4x tfg:rocket_fin_t3', + '1x ad_astra:ostrum_engine', + '2x ad_astra:ostrum_tank', + '1x tfg:rocket_cone_t3', + '12x #forge:insulation_t3/sheet' + ) + .inputFluids(Fluid.of('gtceu:bromine', 1000 * 24)) + .itemOutputs('tfg:tier_3_double_rocket') + .duration(2550) + .circuit(5) + .EUt(GTValues.VA[GTValues.IV]) + .addMaterialInfo(true, true) + //#endregion */ } \ No newline at end of file From 98241ed899c6fc3c02ed9ff8665b054d83aba1f4 Mon Sep 17 00:00:00 2001 From: Inceitious <124896643+Inceitious@users.noreply.github.com> Date: Sun, 1 Feb 2026 04:43:47 +0800 Subject: [PATCH 294/474] Bugfix/blast property (#2920) * Removing blast property * extractor recipes * Hid unused molten fluids * Updated hidden fluids * Removed molten rocket alloy * Typo and removed molten desh --- kubejs/server_scripts/gregtech/tags.js | 8 ++++++++ .../tfg/ores_and_materials/recipes.materials.js | 4 ++-- kubejs/startup_scripts/gtceu/constants.js | 9 +++++++++ kubejs/startup_scripts/gtceu/material_modification.js | 3 +++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 171d3841a..bca277013 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -109,6 +109,14 @@ function registerGTCEUFluidTags(event) { event.add("c:hidden_from_recipe_viewers", "gtceu:molten_blue_steel"); event.add("c:hidden_from_recipe_viewers", "gtceu:molten_black_bronze"); event.add("c:hidden_from_recipe_viewers", "gtceu:molten_bismuth_bronze"); + event.add("c:hidden_from_recipe_viewers", "gtceu:molten_rose_gold"); + event.add("c:hidden_from_recipe_viewers", "gtceu:molten_sterling_silver"); + event.add("c:hidden_from_recipe_viewers", "gtceu:molten_stainless_steel"); + event.add("c:hidden_from_recipe_viewers", "gtceu:molten_manganese_phosphide"); + event.add("c:hidden_from_recipe_viewers", "gtceu:molten_vanadium_steel"); + event.add("c:hidden_from_recipe_viewers", "gtceu:molten_gallium_arsenide"); + event.add("c:hidden_from_recipe_viewers", "gtceu:molten_hsla_steel"); + event.add("c:hidden_from_recipe_viewers", "gtceu:molten_rocket_alloy_t2"); event.add("c:hidden_from_recipe_viewers", "gtceu:damascus_steel"); event.add("c:hidden_from_recipe_viewers", "gtceu:blaze"); event.add("c:hidden_from_recipe_viewers", "gtceu:thorium"); diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js index 819cc4757..582f842c5 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js @@ -6,9 +6,9 @@ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material */ function getFluidRecipeEUt(material) { - // Special case for bis/black bronze because removing the blast property doesn't change the tier of + // Special case for bis bronze, black bronze, rose gold and sterling silver because removing the blast property doesn't change the tier of // the extractor recipes retroactively - return material.hasProperty(PropertyKey.BLAST) && material !== GTMaterials.BismuthBronze && material !== GTMaterials.BlackBronze + return material.hasProperty(PropertyKey.BLAST) && material !== GTMaterials.BismuthBronze && material !== GTMaterials.BlackBronze && material !== GTMaterials.RoseGold && material !== GTMaterials.SterlingSilver ? GTValues.VA[GTValues.MV] : GTValues.VA[GTValues.LV]; } diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index a00a7aea5..e6d531c48 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -170,6 +170,15 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:molten_black_bronze_bucket", "gtceu:molten_bismuth_bronze_bucket", + "gtceu:molten_rose_gold_bucket", + "gtceu:molten_sterling_silver_bucket", + "gtceu:molten_stainless_steel_bucket", + "gtceu:molten_manganese_phosphide_bucket", + "gtceu:molten_vanadium_steel_bucket", + "gtceu:molten_gallium_arsenide_bucket", + "gtceu:molten_hsla_steel_bucket", + "gtceu:molten_rocket_alloy_t2_bucket", + "gtceu:molten_desh_bucket", "tfg:molten_weak_blue_steel_bucket", "tfg:molten_weak_red_steel_bucket", diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index d9234d9d1..10ed98e61 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -365,6 +365,9 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.BlackBronze.getProperties().removeProperty(PropertyKey.BLAST); GTMaterials.BlackBronze.getProperties().removeProperty(PropertyKey.ITEM_PIPE); GTMaterials.BlackBronze.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1696, 20, true, false, false, false)); + // Rose Gold & Sterling Silver + GTMaterials.RoseGold.getProperties().removeProperty(PropertyKey.BLAST); + GTMaterials.SterlingSilver.getProperties().removeProperty(PropertyKey.BLAST); // Red steel fluid pipe - same flow rate as aluminium, bad heat tolerance (same as PE) but can do cryo GTMaterials.RedSteel.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(370, 75, true, false, true, false)); // Blue steel fluid pipe - same flow rate as aluminium, same temp tolerance as tungsten From 30ddad417a242357d7e7a8fc6a6c78c2617536bf Mon Sep 17 00:00:00 2001 From: woopSmile Date: Sat, 31 Jan 2026 15:46:29 -0500 Subject: [PATCH 295/474] Add bluemap support v2 (#2922) * Add pack.mcmeta for TFG_fix resource pack Signed-off-by: woopSmile * added the rest of the files my bad, still learning to use github Signed-off-by: woopSmile --------- Signed-off-by: woopSmile --- .../packs/TFG_fix/assets/afc/blockColors.json | 95 + .../TFG_fix/assets/afc/blockProperties.json | 1087 ++++++++++ .../packs/TFG_fix/assets/tfc/blockColors.json | 245 +++ .../TFG_fix/assets/tfc/blockProperties.json | 1793 +++++++++++++++++ .../tfc/models/block/fluid/river_water.json | 1 + .../tfc/models/block/fluid/salt_water.json | 1 + .../tfc/models/block/fluid/spring_water.json | 1 + config/bluemap/packs/TFG_fix/pack.mcmeta | 6 + 8 files changed, 3229 insertions(+) create mode 100644 config/bluemap/packs/TFG_fix/assets/afc/blockColors.json create mode 100644 config/bluemap/packs/TFG_fix/assets/afc/blockProperties.json create mode 100644 config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json create mode 100644 config/bluemap/packs/TFG_fix/assets/tfc/blockProperties.json create mode 100644 config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/river_water.json create mode 100644 config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/salt_water.json create mode 100644 config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/spring_water.json create mode 100644 config/bluemap/packs/TFG_fix/pack.mcmeta diff --git a/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json b/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json new file mode 100644 index 000000000..493aef425 --- /dev/null +++ b/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json @@ -0,0 +1,95 @@ +{ +//AFC leaves + "afc:wood/leaves/boabab": "@foliage", + "afc:wood/leaves/eucalyptus": "@foliage", + "afc:wood/leaves/mahogany": "@foliage", + "afc:wood/leaves/hevea": "@foliage", + "afc:wood/leaves/tualang": "@foliage", + "afc:wood/leaves/teak": "@foliage", + "afc:wood/leaves/cypress": "@foliage", + "afc:wood/leaves/fig": "@foliage", + "afc:wood/leaves/ironwood": "@foliage", + "afc:wood/leaves/ipe": "@foliage", + "afc:wood/leaves/gum_arabic": "@foliage", + "afc:wood/leaves/acacia_koa": "@foliage", + "afc:wood/leaves/poplar": "@foliage", + "afc:wood/leaves/mpingo_blackwood": "@foliage", + "afc:wood/leaves/mountain_fir": "@foliage", + "afc:wood/leaves/balsam_fir": "@foliage", + "afc:wood/leaves/scrub_hickory": "@foliage", + "afc:wood/leaves/red_silk_cotton": "@foliage", + "afc:wood/leaves/bigleaf_maple": "@foliage", + "afc:wood/leaves/weeping_maple": "@foliage", + "afc:wood/leaves/black_oak": "@foliage", + "afc:wood/leaves/live_oak": "@foliage", + "afc:wood/leaves/jaggery_palm": "@foliage", + "afc:wood/leaves/stone_pine": "@foliage", + "afc:wood/leaves/red_pine": "@foliage", + "afc:wood/leaves/tamarack": "@foliage", + "afc:wood/leaves/giant_rosewood": "@foliage", + "afc:wood/leaves/coast_redwood": "@foliage", + "afc:wood/leaves/coast_spruce": "@foliage", + "afc:wood/leaves/sitka_spruce": "@foliage", + "afc:wood/leaves/black_spruce": "@foliage", + "afc:wood/leaves/atlas_cedar": "@foliage", + "afc:wood/leaves/weeping_willow": "@foliage", + "afc:wood/leaves/rainbow_eucalyptus": "@foliage", + "afc:wood/leaves/mountain_ash": "@foliage", + "afc:wood/leaves/rubber_fig": "@foliage", + "afc:wood/leaves/redcedar": "@foliage", + "afc:wood/leaves/weeping_cypress": "@foliage", + "afc:wood/leaves/bald_cypress": "@foliage", + "afc:wood/leaves/sapele_mahogany": "@foliage", + "afc:wood/leaves/small_leaf_mahogany": "@foliage", + "afc:wood/leaves/iroko_teak": "@foliage", + "afc:wood/leaves/flame_of_the_forest": "@foliage", + "afc:wood/leaves/lebombo_ironwood": "@foliage", + "afc:wood/leaves/horsetail_ironwood": "@foliage", + +//AFC fallen_leaves + "afc:wood/fallen_leaves/boabab": "@foliage", + "afc:wood/fallen_leaves/eucalyptus": "@foliage", + "afc:wood/fallen_leaves/mahogany": "@foliage", + "afc:wood/fallen_leaves/hevea": "@foliage", + "afc:wood/fallen_leaves/tualang": "@foliage", + "afc:wood/fallen_leaves/teak": "@foliage", + "afc:wood/fallen_leaves/cypress": "@foliage", + "afc:wood/fallen_leaves/fig": "@foliage", + "afc:wood/fallen_leaves/ironwood": "@foliage", + "afc:wood/fallen_leaves/ipe": "@foliage", + "afc:wood/fallen_leaves/gum_arabic": "@foliage", + "afc:wood/fallen_leaves/acacia_koa": "@foliage", + "afc:wood/fallen_leaves/poplar": "@foliage", + "afc:wood/fallen_leaves/mpingo_blackwood": "@foliage", + "afc:wood/fallen_leaves/mountain_fir": "@foliage", + "afc:wood/fallen_leaves/balsam_fir": "@foliage", + "afc:wood/fallen_leaves/scrub_hickory": "@foliage", + "afc:wood/fallen_leaves/red_silk_cotton": "@foliage", + "afc:wood/fallen_leaves/bigleaf_maple": "@foliage", + "afc:wood/fallen_leaves/weeping_maple": "@foliage", + "afc:wood/fallen_leaves/black_oak": "@foliage", + "afc:wood/fallen_leaves/live_oak": "@foliage", + "afc:wood/fallen_leaves/jaggery_palm": "@foliage", + "afc:wood/fallen_leaves/stone_pine": "@foliage", + "afc:wood/fallen_leaves/red_pine": "@foliage", + "afc:wood/fallen_leaves/tamarack": "@foliage", + "afc:wood/fallen_leaves/giant_rosewood": "@foliage", + "afc:wood/fallen_leaves/coast_redwood": "@foliage", + "afc:wood/fallen_leaves/coast_spruce": "@foliage", + "afc:wood/fallen_leaves/sitka_spruce": "@foliage", + "afc:wood/fallen_leaves/black_spruce": "@foliage", + "afc:wood/fallen_leaves/atlas_cedar": "@foliage", + "afc:wood/fallen_leaves/weeping_willow": "@foliage", + "afc:wood/fallen_leaves/rainbow_eucalyptus": "@foliage", + "afc:wood/fallen_leaves/mountain_ash": "@foliage", + "afc:wood/fallen_leaves/rubber_fig": "@foliage", + "afc:wood/fallen_leaves/redcedar": "@foliage", + "afc:wood/fallen_leaves/weeping_cypress": "@foliage", + "afc:wood/fallen_leaves/bald_cypress": "@foliage", + "afc:wood/fallen_leaves/sapele_mahogany": "@foliage", + "afc:wood/fallen_leaves/small_leaf_mahogany": "@foliage", + "afc:wood/fallen_leaves/iroko_teak": "@foliage", + "afc:wood/fallen_leaves/flame_of_the_forest": "@foliage", + "afc:wood/fallen_leaves/lebombo_ironwood": "@foliage", + "afc:wood/fallen_leaves/horsetail_ironwood": "@foliage", +} \ No newline at end of file diff --git a/config/bluemap/packs/TFG_fix/assets/afc/blockProperties.json b/config/bluemap/packs/TFG_fix/assets/afc/blockProperties.json new file mode 100644 index 000000000..2a317d01f --- /dev/null +++ b/config/bluemap/packs/TFG_fix/assets/afc/blockProperties.json @@ -0,0 +1,1087 @@ +{ + //afc leaves + "afc:wood/leaves/boabab[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/boabab[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/eucalyptus[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/eucalyptus[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/mahogany[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/mahogany[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/hevea[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/hevea[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/tualang[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/tualang[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/teak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/teak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/cypress[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/cypress[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/fig[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/fig[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/ironwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/ironwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/ipe[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/ipe[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/horsetail_ironwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/horsetail_ironwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/gum_arabic[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/gum_arabic[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/acacia_koa[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/acacia_koa[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/poplar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/poplar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/mpingo_blackwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/mpingo_blackwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/mountain_fir[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/mountain_fir[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/balsam_fir[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/balsam_fir[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/scrub_hickory[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/scrub_hickory[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/red_silk_cotton[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/red_silk_cotton[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/bigleaf_maple[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/bigleaf_maple[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/weeping_maple[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/weeping_maple[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/black_oak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/black_oak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/live_oak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/live_oak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/jaggery_palmjaggery_palm[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/jaggery_palm[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/stone_pinestone_pine[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/stone_pine[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/red_pine[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/red_pine[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, +"afc:wood/leaves/tamarack[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/tamarack[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/giant_rosewood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/giant_rosewood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/coast_redwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/coast_redwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/coast_spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/coast_spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/sitka_spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/sitka_spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/black_spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/black_spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/atlas_cedar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/atlas_cedar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/weeping_willow[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/weeping_willow[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/rainbow_eucalyptus[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/rainbow_eucalyptus[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/mountain_ash[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/mountain_ash[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/rubber_fig[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/rubber_fig[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/redcedar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/redcedar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/weeping_cypress[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/weeping_cypress[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/bald_cypress[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/bald_cypress[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/sapele_mahogany[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/sapele_mahogany[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/small_leaf_mahogany[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/small_leaf_mahogany[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/iroko_teak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/iroko_teak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/flame_of_the_forest[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/flame_of_the_forest[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/lebombo_ironwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/leaves/lebombo_ironwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + +//afc fallen_leaves + "afc:wood/fallen_leaves/boabab[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/boabab[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/eucalyptus[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/eucalyptus[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/mahogany[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/mahogany[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/hevea[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/hevea[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/tualang[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/tualang[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/teak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/teak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/cypress[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/cypress[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/fig[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/fig[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/ironwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/ironwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/ipe[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/ipe[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/horsetail_ironwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/horsetail_ironwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/gum_arabic[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/gum_arabic[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/acacia_koa[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/acacia_koa[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/poplar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/poplar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/mpingo_blackwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/mpingo_blackwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/mountain_fir[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/mountain_fir[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/balsam_fir[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/balsam_fir[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/scrub_hickory[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/scrub_hickory[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/red_silk_cotton[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/red_silk_cotton[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/bigleaf_maple[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/bigleaf_maple[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/weeping_maple[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/weeping_maple[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/black_oak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/black_oak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/live_oak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/live_oak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/jaggery_palmjaggery_palm[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/jaggery_palm[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/stone_pinestone_pine[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/stone_pine[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/red_pine[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/red_pine[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, +"afc:wood/fallen_leaves/tamarack[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/tamarack[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/giant_rosewood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/giant_rosewood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/coast_redwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/coast_redwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/coast_spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/coast_spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/sitka_spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/sitka_spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/black_spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/black_spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/atlas_cedar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/atlas_cedar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/weeping_willow[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/weeping_willow[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/rainbow_eucalyptus[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/rainbow_eucalyptus[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/mountain_ash[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/mountain_ash[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/rubber_fig[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/rubber_fig[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/redcedar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/redcedar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/weeping_cypress[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/weeping_cypress[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/bald_cypress[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/bald_cypress[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/sapele_mahogany[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/sapele_mahogany[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/small_leaf_mahogany[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/small_leaf_mahogany[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/iroko_teak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/iroko_teak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/flame_of_the_forest[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/flame_of_the_forest[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/lebombo_ironwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/fallen_leaves/lebombo_ironwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + +//afc twig + "afc:wood/twig/boabab[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/boabab[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/eucalyptus[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/eucalyptus[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/mahogany[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/mahogany[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/hevea[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/hevea[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/tualang[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/tualang[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/teak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/teak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/cypress[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/cypress[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/fig[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/fig[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/ironwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/ironwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/ipe[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/ipe[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/horsetail_ironwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/horsetail_ironwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/gum_arabic[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/gum_arabic[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/acacia_koa[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/acacia_koa[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/poplar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/poplar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/mpingo_blackwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/mpingo_blackwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/mountain_fir[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/mountain_fir[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/balsam_fir[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/balsam_fir[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/scrub_hickory[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/scrub_hickory[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/red_silk_cotton[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/red_silk_cotton[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/bigleaf_maple[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/bigleaf_maple[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/weeping_maple[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/weeping_maple[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/black_oak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/black_oak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/live_oak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/live_oak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/jaggery_palmjaggery_palm[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/jaggery_palm[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/stone_pinestone_pine[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/stone_pine[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/red_pine[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/red_pine[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, +"afc:wood/twig/tamarack[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/tamarack[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/giant_rosewood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/giant_rosewood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/coast_redwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/coast_redwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/coast_spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/coast_spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/sitka_spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/sitka_spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/black_spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/black_spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/atlas_cedar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/atlas_cedar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/weeping_willow[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/weeping_willow[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/rainbow_eucalyptus[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/rainbow_eucalyptus[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/mountain_ash[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/mountain_ash[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/rubber_fig[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/rubber_fig[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/redcedar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/redcedar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/weeping_cypress[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/weeping_cypress[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/bald_cypress[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/bald_cypress[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/sapele_mahogany[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/sapele_mahogany[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/small_leaf_mahogany[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/small_leaf_mahogany[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/iroko_teak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/iroko_teak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/flame_of_the_forest[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/flame_of_the_forest[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/lebombo_ironwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "afc:wood/twig/lebombo_ironwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, +} \ No newline at end of file diff --git a/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json b/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json new file mode 100644 index 000000000..37afc305b --- /dev/null +++ b/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json @@ -0,0 +1,245 @@ +{ +//TFC plants + "tfc:peat_grass": "@grass", + "tfc:kaolin_clay_grass": "@grass", + "tfc:grass/silt": "@grass", + "tfc:clay_grass/silt": "@grass", + "tfc:grass/loam": "@grass", + "tfc:clay_grass/loam": "@grass", + "tfc:grass/sandy": "@grass", + "tfc:clay_grass/sandy": "@grass", + "tfc:grass/silty_loam": "@grass", + "tfc:clay_grass/silty_loam": "@grass", + "tfc:grass/sandy_loam": "@grass", + "tfc:clay_grass/sandy_loam": "@grass", + "tfc:plant/sagebrush": "@foliage", + "tfc:plant/cordgrass": "@foliage", + "tfc:plant/guzmania": "@foliage", + "tfc:plant/pine_krummholz": "@foliage", + "tfc:plant/king_fern": "@foliage", + "tfc:plant/perovskia": "@foliage", + "tfc:plant/gooseberry_bush": "@foliage", + "tfc:plant/saguaro_fruit": "@foliage", + "tfc:plant/olive_growing_branch": "@foliage", + "tfc:plant/manatee_grass": "@foliage", + "tfc:plant/spanish_moss": "@foliage", + "tfc:plant/hanging_vines_plant": "@foliage", + "tfc:plant/philodendron": "@foliage", + "tfc:plant/maiden_pink": "@foliage", + "tfc:plant/switchgrass": "@foliage", + "tfc:plant/red_apple_branch": "@foliage", + "tfc:plant/lily_of_the_valley": "@foliage", + "tfc:plant/licorice_fern": "@foliage", + "tfc:plant/cloudberry_bush": "@foliage", + "tfc:plant/ivy": "@foliage", + "tfc:plant/peach_branch": "@foliage", + "tfc:plant/plum_leaves": "@foliage", + "tfc:plant/cattail": "@foliage", + "tfc:plant/butterfly_milkweed": "@foliage", + "tfc:plant/saguaro": "@foliage", + "tfc:plant/laminaria": "@foliage", + "tfc:plant/poppy": "@foliage", + "tfc:plant/snapdragon_yellow": "@foliage", + "tfc:plant/plum_sapling": "@foliage", + "tfc:plant/olive_sapling": "@foliage", + "tfc:plant/tulip_pink": "@foliage", + "tfc:plant/dead_bush": "@foliage", + "tfc:plant/peach_leaves": "@foliage", + "tfc:plant/canna": "@foliage", + "tfc:plant/green_apple_sapling": "@foliage", + "tfc:plant/orange_sapling": "@foliage", + "tfc:plant/strawberry_bush": "@foliage", + "tfc:plant/raddia_grass": "@foliage", + "tfc:plant/bromegrass": "@foliage", + "tfc:plant/kangaroo_paw": "@foliage", + "tfc:plant/green_apple_growing_branch": "@foliage", + "tfc:plant/gutweed": "@foliage", + "tfc:plant/phragmite": "@foliage", + "tfc:plant/tulip_red": "@foliage", + "tfc:plant/banana_sapling": "@foliage", + "tfc:plant/sword_fern": "@foliage", + "tfc:plant/lemon_growing_branch": "@foliage", + "tfc:plant/elderberry_bush_cane": "@foliage", + "tfc:plant/red_apple_growing_branch": "@foliage", + "tfc:plant/anthurium": "@foliage", + "tfc:plant/goldenrod": "@foliage", + "tfc:plant/peach_growing_branch": "@foliage", + "tfc:plant/elderberry_bush": "@foliage", + "tfc:plant/duckweed": "@foliage", + "tfc:plant/cranberry_bush": "@foliage", + "tfc:plant/field_horsetail": "@foliage", + "tfc:plant/olive_branch": "@foliage", + "tfc:plant/giant_kelp_plant": "@foliage", + "tfc:plant/blood_lily": "@foliage", + "tfc:plant/raspberry_bush": "@foliage", + "tfc:plant/leafy_kelp_plant": "@foliage", + "tfc:plant/orange_branch": "@foliage", + "tfc:plant/allium": "@foliage", + "tfc:plant/lotus": "@foliage", + "tfc:plant/strelitzia": "@foliage", + "tfc:plant/peach_sapling": "@foliage", + "tfc:plant/red_algae": "@foliage", + "tfc:plant/dead_berry_bush": "@foliage", + "tfc:plant/bur_reed": "@foliage", + "tfc:plant/cherry_growing_branch": "@foliage", + "tfc:plant/pulsatilla": "@foliage", + "tfc:plant/orange_leaves": "@foliage", + "tfc:plant/sea_palm": "@foliage", + "tfc:plant/silver_spurflower": "@foliage", + "tfc:plant/coontail": "@foliage", + "tfc:plant/sapphire_tower": "@foliage", + "tfc:plant/scutch_grass": "@foliage", + "tfc:plant/sago": "@foliage", + "tfc:plant/winged_kelp_plant": "@foliage", + "tfc:plant/aspen_krummholz": "@foliage", + "tfc:plant/raspberry_bush_cane": "@foliage", + "tfc:plant/timothy_grass": "@foliage", + "tfc:plant/cobblestone_lichen": "@foliage", + "tfc:plant/snapdragon_pink": "@foliage", + "tfc:plant/red_apple_leaves": "@foliage", + "tfc:plant/winged_kelp": "@foliage", + "tfc:plant/saguaro_plant": "@foliage", + "tfc:plant/sargassum": "@foliage", + "tfc:plant/artists_conk": "@foliage", + "tfc:plant/black_orchid": "@foliage", + "tfc:plant/dry_phragmite_plant": "@foliage", + "tfc:plant/tree_fern_plant": "@foliage", + "tfc:plant/oxeye_daisy": "@foliage", + "tfc:plant/vriesea": "@foliage", + "tfc:plant/toquilla_palm": "@foliage", + "tfc:plant/badderlocks": "@foliage", + "tfc:plant/grape_hyacinth": "@foliage", + "tfc:plant/red_sealing_wax_palm": "@foliage", + "tfc:plant/lemon_sapling": "@foliage", + "tfc:plant/spanish_moss_plant": "@foliage", + "tfc:plant/blueberry_bush_cane": "@foliage", + "tfc:plant/bluegrass": "@foliage", + "tfc:plant/spruce_krummholz": "@foliage", + "tfc:plant/heliconia": "@foliage", + "tfc:plant/water_taro": "@foliage", + "tfc:plant/green_apple_branch": "@foliage", + "tfc:plant/dry_phragmite": "@foliage", + "tfc:plant/barrel_cactus": "@foliage", + "tfc:plant/rose": "@foliage", + "tfc:plant/houstonia": "@foliage", + "tfc:plant/labrador_tea": "@foliage", + "tfc:plant/nasturtium": "@foliage", + "tfc:plant/leafy_kelp": "@foliage", + "tfc:plant/moss": "@foliage", + "tfc:plant/yucca": "@foliage", + "tfc:plant/lemon_leaves": "@foliage", + "tfc:plant/snowberry_bush": "@foliage", + "tfc:plant/orchard_grass": "@foliage", + "tfc:plant/morning_glory": "@foliage", + "tfc:plant/hanging_vines": "@foliage", + "tfc:plant/water_lily": "@foliage", + "tfc:plant/blueberry_bush": "@foliage", + "tfc:plant/blue_orchid": "@foliage", + "tfc:plant/banana_plant": "@foliage", + "tfc:plant/blackberry_bush_cane": "@foliage", + "tfc:plant/reindeer_lichen": "@foliage", + "tfc:plant/athyrium_fern": "@foliage", + "tfc:plant/trillium": "@foliage", + "tfc:plant/white_cedar_krummholz": "@foliage", + "tfc:plant/turtle_grass": "@foliage", + "tfc:plant/arrowhead": "@foliage", + "tfc:plant/blackberry_bush": "@foliage", + "tfc:plant/tall_fescue_grass": "@foliage", + "tfc:plant/blue_ginger": "@foliage", + "tfc:plant/arundo": "@foliage", + "tfc:plant/sacred_datura": "@foliage", + "tfc:plant/tree_fern": "@foliage", + "tfc:plant/heather": "@foliage", + "tfc:plant/foxglove": "@foliage", + "tfc:plant/liana": "@foliage", + "tfc:plant/douglas_fir_krummholz": "@foliage", + "tfc:plant/lemon_branch": "@foliage", + "tfc:plant/giant_kelp_flower": "@foliage", + "tfc:plant/meads_milkweed": "@foliage", + "tfc:plant/tulip_orange": "@foliage", + "tfc:plant/arundo_plant": "@foliage", + "tfc:plant/olive_leaves": "@foliage", + "tfc:plant/pistia": "@foliage", + "tfc:plant/snapdragon_red": "@foliage", + "tfc:plant/water_canna": "@foliage", + "tfc:plant/ryegrass": "@foliage", + "tfc:plant/fountain_grass": "@foliage", + "tfc:plant/bunchberry_bush": "@foliage", + "tfc:plant/lady_fern": "@foliage", + "tfc:plant/dandelion": "@foliage", + "tfc:plant/tulip_white": "@foliage", + "tfc:plant/cherry_leaves": "@foliage", + "tfc:plant/cherry_sapling": "@foliage", + "tfc:plant/orange_growing_branch": "@foliage", + "tfc:plant/dead_banana_plant": "@foliage", + "tfc:plant/star_grass": "@foliage", + "tfc:plant/desert_flame": "@foliage", + "tfc:plant/eel_grass": "@foliage", + "tfc:plant/wintergreen_berry_bush": "@foliage", + "tfc:plant/beachgrass": "@foliage", + "tfc:plant/milfoil": "@foliage", + "tfc:plant/pickerelweed": "@foliage", + "tfc:plant/primrose": "@foliage", + "tfc:plant/sea_lavender": "@foliage", + "tfc:plant/marigold": "@foliage", + "tfc:plant/tropical_milkweed": "@foliage", + "tfc:plant/pampas_grass": "@foliage", + "tfc:plant/ostrich_fern": "@foliage", + "tfc:plant/green_algae": "@foliage", + "tfc:plant/liana_plant": "@foliage", + "tfc:plant/hibiscus": "@foliage", + "tfc:plant/green_apple_leaves": "@foliage", + "tfc:plant/jungle_vines": "@foliage", + "tfc:plant/dead_cane": "@foliage", + "tfc:plant/red_apple_sapling": "@foliage", + "tfc:plant/calendula": "@foliage", + "tfc:plant/plum_growing_branch": "@foliage", + "tfc:plant/snapdragon_white": "@foliage", + "tfc:plant/cherry_branch": "@foliage", + "tfc:plant/plum_branch": "@foliage", + "tfc:plant/lilac": "@foliage", + +//TFC leaves + "tfc:wood/leaves/willow": "@foliage", + "tfc:wood/leaves/acacia": "@foliage", + "tfc:wood/leaves/maple": "@foliage", + "tfc:wood/leaves/douglas_fir": "@foliage", + "tfc:wood/leaves/chestnut": "@foliage", + "tfc:wood/leaves/kapok": "@foliage", + "tfc:wood/leaves/blackwood": "@foliage", + "tfc:wood/leaves/oak": "@foliage", + "tfc:wood/leaves/sequoia": "@foliage", + "tfc:wood/leaves/mangrove": "@foliage", + "tfc:wood/leaves/white_cedar": "@foliage", + "tfc:wood/leaves/ash": "@foliage", + "tfc:wood/leaves/hickory": "@foliage", + "tfc:wood/leaves/birch": "@foliage", + "tfc:wood/leaves/rosewood": "@foliage", + "tfc:wood/leaves/spruce": "@foliage", + "tfc:wood/leaves/palm": "@foliage", + "tfc:wood/leaves/aspen": "@foliage", + "tfc:wood/leaves/pine": "@foliage", + "tfc:wood/leaves/sycamore": "@foliage", + +//TFC fallen leaves + "tfc:wood/fallen_leaves/willow": "@foliage", + "tfc:wood/fallen_leaves/acacia": "@foliage", + "tfc:wood/fallen_leaves/maple": "@foliage", + "tfc:wood/fallen_leaves/douglas_fir": "@foliage", + "tfc:wood/fallen_leaves/chestnut": "@foliage", + "tfc:wood/fallen_leaves/kapok": "@foliage", + "tfc:wood/fallen_leaves/blackwood": "@foliage", + "tfc:wood/fallen_leaves/oak": "@foliage", + "tfc:wood/fallen_leaves/sequoia": "@foliage", + "tfc:wood/fallen_leaves/mangrove": "@foliage", + "tfc:wood/fallen_leaves/white_cedar": "@foliage", + "tfc:wood/fallen_leaves/ash": "@foliage", + "tfc:wood/fallen_leaves/hickory": "@foliage", + "tfc:wood/fallen_leaves/birch": "@foliage", + "tfc:wood/fallen_leaves/rosewood": "@foliage", + "tfc:wood/fallen_leaves/spruce": "@foliage", + "tfc:wood/fallen_leaves/palm": "@foliage", + "tfc:wood/fallen_leaves/aspen": "@foliage", + "tfc:wood/fallen_leaves/pine": "@foliage", + "tfc:wood/fallen_leaves/sycamore": "@foliage" +} \ No newline at end of file diff --git a/config/bluemap/packs/TFG_fix/assets/tfc/blockProperties.json b/config/bluemap/packs/TFG_fix/assets/tfc/blockProperties.json new file mode 100644 index 000000000..a765a45ce --- /dev/null +++ b/config/bluemap/packs/TFG_fix/assets/tfc/blockProperties.json @@ -0,0 +1,1793 @@ +{ + "tfc:fluid/river_water": { + "alwaysWaterlogged": true + }, + "tfc:fluid/salt_water": { + "alwaysWaterlogged": true + }, + "tfc:fluid/spring_water": { + "alwaysWaterlogged": true + }, + "tfc:plant/eel_grass[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/water_taro[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/leafy_kelp_plant[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/leafy_kelp[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/giant_kelp_plant[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/giant_kelp_flower[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/winged_kelp_plant[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/winged_kelp[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/star_grass[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/gutweed[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/phragmite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/cattail[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/coontail[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/arrowhead[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/sago[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/marigold[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/pickerelweed[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/milfoil[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/acacia[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/ash[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/aspen[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/birch[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/blackwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/chestnut[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/douglas_fir[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/hickory[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/kapok[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/mangrove[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/maple[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/oak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/palm[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/pine[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/rosewood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/sequoia[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/sycamore[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/white_cedar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/acacia[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/ash[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/aspen[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/birch[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/blackwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/chestnut[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/douglas_fir[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/hickory[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/kapok[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/mangrove[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/maple[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/oak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/palm[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/pine[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/rosewood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/sequoia[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/sycamore[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/white_cedar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/willow[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/willow[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_bismuthinite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_cassiterite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_garnierite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_hematite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_magnetite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_malachite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_native_copper[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_native_gold[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_native_silver[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_sphalerite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_tetrahedrite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_limonite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc_ie_addon:ore/small_galena[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc_ie_addon:ore/small_bauxite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc_ie_addon:ore/small_uraninite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc_ie_addon:ore/small_galena[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc_ie_addon:ore/small_bauxite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc_ie_addon:ore/small_uraninite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/bone[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/clam[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/driftwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/flint[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/mollusk[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/mussel[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/pinecone[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/pumice[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/sea_urchin[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/stick[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/seaweed[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/andesite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/basalt[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/chalk[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/chert[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/claystone[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/conglomerate[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/dacite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/diorite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/dolomite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/gabbro[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/gneiss[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/granite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/limestone[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/marble[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/phyllite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/quartzite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/rhyolite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/schist[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/shale[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/slate[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/andesite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/basalt[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/chalk[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/chert[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/claystone[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/conglomerate[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/dacite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/diorite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/dolomite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/gabbro[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/gneiss[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/granite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/limestone[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/marble[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/phyllite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/quartzite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/rhyolite[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/schist[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/shale[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/slate[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/eel_grass[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/salt_water_taro[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/leafy_kelp_plant[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/leafy_kelp[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/giant_kelp_plant[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/giant_kelp_flower[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/winged_kelp_plant[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/winged_kelp[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/star_grass[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/gutweed[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/phragmite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/cattail[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/coontail[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/arrowhead[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/sago[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/marigold[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/pickerelweed[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:plant/milfoil[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/acacia[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/ash[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/aspen[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/birch[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/blackwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/chestnut[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/douglas_fir[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/hickory[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/kapok[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/mangrove[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/maple[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/oak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/palm[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/pine[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/rosewood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/sequoia[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/sycamore[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/white_cedar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/acacia[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/ash[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/aspen[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/birch[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/blackwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/chestnut[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/douglas_fir[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/hickory[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/kapok[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/mangrove[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/maple[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/oak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/palm[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/pine[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/rosewood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/sequoia[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/sycamore[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/white_cedar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/twig/willow[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/leaves/willow[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_bismuthinite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_cassiterite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_garnierite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_hematite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_magnetite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_malachite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_native_copper[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_native_gold[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_native_silver[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_sphalerite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_tetrahedrite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:ore/small_limonite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/bone[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/clam[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/driftwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/flint[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/mollusk[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/mussel[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/pinecone[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/pumice[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/sea_urchin[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/stick[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:groundcover/seaweed[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/andesite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/basalt[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/chalk[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/chert[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/claystone[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/conglomerate[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/dacite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/diorite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/dolomite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/gabbro[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/gneiss[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/granite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/limestone[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/marble[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/phyllite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/quartzite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/rhyolite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/schist[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/shale[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/loose/slate[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/andesite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/basalt[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/chalk[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/chert[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/claystone[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/conglomerate[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/dacite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/diorite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/dolomite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/gabbro[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/gneiss[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/granite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/limestone[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/marble[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/phyllite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/quartzite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/rhyolite[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/schist[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/shale[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:rock/mossy_loose/slate[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "firmalife:hollow_shell[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/acacia[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/acacia[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/ash[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/ash[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/aspen[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/aspen[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/birch[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/birch[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/blackwood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/blackwood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/chestnut[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/chestnut[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/douglas_fir[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/douglas_fir[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/hickory[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/hickory[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/kapok[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/kapok[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/mangrove[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/mangrove[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/maple[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/maple[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/oak[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/oak[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/palm[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/palm[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/pine[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/pine[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/rosewood[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/rosewood[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/sequoia[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/sequoia[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/spruce[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/spruce[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/sycamore[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/sycamore[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/white_cedar[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/white_cedar[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/willow[fluid=water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:wood/fallen_leaves/willow[fluid=salt_water]": { + "alwaysWaterlogged": true, + "occluding": false + }, + "tfc:peat_grass": { + "culling": true, + "occluding": true + }, + "tfc:kaolin_clay_grass": { + "culling": true, + "occluding": true + }, + "tfc:grass/silt": { + "culling": true, + "occluding": true + }, + "tfc:clay_grass/silt": { + "culling": true, + "occluding": true + }, + "tfc:grass_path/silt": { + "culling": true, + "occluding": true + }, + "tfc:grass/loam": { + "culling": true, + "occluding": true + }, + "tfc:clay_grass/loam": { + "culling": true, + "occluding": true + }, + "tfc:grass_path/loam": { + "culling": true, + "occluding": true + }, + "tfc:grass/sandy": { + "culling": true, + "occluding": true + }, + "tfc:clay_grass/sandy": { + "culling": true, + "occluding": true + }, + "tfc:grass_path/sandy": { + "culling": true, + "occluding": true + }, + "tfc:grass/silty_loam": { + "culling": true, + "occluding": true + }, + "tfc:clay_grass/silty_loam": { + "culling": true, + "occluding": true + }, + "tfc:grass_path/silty_loam": { + "culling": true, + "occluding": true + }, + "tfc:grass/sandy_loam": { + "culling": true, + "occluding": true + }, + "tfc:clay_grass/sandy_loam": { + "culling": true, + "occluding": true + }, + "tfc:grass_path/sandy_loam": { + "culling": true, + "occluding": true + }, + "tfc:plant/allium": { + "randomOffset": true + }, + "tfc:plant/anthurium": { + "randomOffset": true + }, + "tfc:plant/arrowhead": { + "randomOffset": true + }, + "tfc:plant/artists_conk": { + "randomOffset": true + }, + "tfc:plant/arundo": { + "randomOffset": true + }, + "tfc:plant/arundo_plant": { + "randomOffset": true + }, + "tfc:plant/aspen_krummholz": { + "randomOffset": true + }, + "tfc:plant/athyrium_fern": { + "randomOffset": true + }, + "tfc:plant/badderlocks": { + "randomOffset": true + }, + "tfc:plant/banana_plant": { + "randomOffset": true + }, + "tfc:plant/banana_sapling": { + "randomOffset": true + }, + "tfc:plant/barrel_cactus": { + "randomOffset": true + }, + "tfc:plant/beachgrass": { + "randomOffset": true + }, + "tfc:plant/blackberry_bush": { + "randomOffset": true + }, + "tfc:plant/blackberry_bush_cane": { + "randomOffset": true + }, + "tfc:plant/black_orchid": { + "randomOffset": true + }, + "tfc:plant/blood_lily": { + "randomOffset": true + }, + "tfc:plant/blueberry_bush": { + "randomOffset": true + }, + "tfc:plant/blueberry_bush_cane": { + "randomOffset": true + }, + "tfc:plant/bluegrass": { + "randomOffset": true + }, + "tfc:plant/blue_ginger": { + "randomOffset": true + }, + "tfc:plant/blue_orchid": { + "randomOffset": true + }, + "tfc:plant/bromegrass": { + "randomOffset": true + }, + "tfc:plant/bunchberry_bush": { + "randomOffset": true + }, + "tfc:plant/bur_reed": { + "randomOffset": true + }, + "tfc:plant/butterfly_milkweed": { + "randomOffset": true + }, + "tfc:plant/calendula": { + "randomOffset": true + }, + "tfc:plant/canna": { + "randomOffset": true + }, + "tfc:plant/cattail": { + "randomOffset": true + }, + "tfc:plant/cherry_branch": { + "randomOffset": true + }, + "tfc:plant/cherry_growing_branch": { + "randomOffset": true + }, + "tfc:plant/cherry_leaves": { + "randomOffset": true + }, + "tfc:plant/cherry_sapling": { + "randomOffset": true + }, + "tfc:plant/cloudberry_bush": { + "randomOffset": true + }, + "tfc:plant/cobblestone_lichen": { + "randomOffset": true + }, + "tfc:plant/coontail": { + "randomOffset": true + }, + "tfc:plant/cordgrass": { + "randomOffset": true + }, + "tfc:plant/cranberry_bush": { + "randomOffset": true + }, + "tfc:plant/dandelion": { + "randomOffset": true + }, + "tfc:plant/dead_banana_plant": { + "randomOffset": true + }, + "tfc:plant/dead_berry_bush": { + "randomOffset": true + }, + "tfc:plant/dead_bush": { + "randomOffset": true + }, + "tfc:plant/dead_cane": { + "randomOffset": true + }, + "tfc:plant/desert_flame": { + "randomOffset": true + }, + "tfc:plant/douglas_fir_krummholz": { + "randomOffset": true + }, + "tfc:plant/dry_phragmite": { + "randomOffset": true + }, + "tfc:plant/dry_phragmite_plant": { + "randomOffset": true + }, + "tfc:plant/duckweed": { + "randomOffset": true + }, + "tfc:plant/eel_grass": { + "randomOffset": true + }, + "tfc:plant/elderberry_bush": { + "randomOffset": true + }, + "tfc:plant/elderberry_bush_cane": { + "randomOffset": true + }, + "tfc:plant/field_horsetail": { + "randomOffset": true + }, + "tfc:plant/fountain_grass": { + "randomOffset": true + }, + "tfc:plant/foxglove": { + "randomOffset": true + }, + "tfc:plant/giant_kelp_flower": { + "randomOffset": true + }, + "tfc:plant/giant_kelp_plant": { + "randomOffset": true + }, + "tfc:plant/goldenrod": { + "randomOffset": true + }, + "tfc:plant/gooseberry_bush": { + "randomOffset": true + }, + "tfc:plant/grape_hyacinth": { + "randomOffset": true + }, + "tfc:plant/green_algae": { + "randomOffset": true + }, + "tfc:plant/green_apple_branch": { + "randomOffset": true + }, + "tfc:plant/green_apple_growing_branch": { + "randomOffset": true + }, + "tfc:plant/green_apple_leaves": { + "randomOffset": true + }, + "tfc:plant/green_apple_sapling": { + "randomOffset": true + }, + "tfc:plant/gutweed": { + "randomOffset": true + }, + "tfc:plant/guzmania": { + "randomOffset": true + }, + "tfc:plant/hanging_vines": { + "randomOffset": true + }, + "tfc:plant/hanging_vines_plant": { + "randomOffset": true + }, + "tfc:plant/heather": { + "randomOffset": true + }, + "tfc:plant/heliconia": { + "randomOffset": true + }, + "tfc:plant/hibiscus": { + "randomOffset": true + }, + "tfc:plant/houstonia": { + "randomOffset": true + }, + "tfc:plant/ivy": { + "randomOffset": true + }, + "tfc:plant/jungle_vines": { + "randomOffset": true + }, + "tfc:plant/kangaroo_paw": { + "randomOffset": true + }, + "tfc:plant/king_fern": { + "randomOffset": true + }, + "tfc:plant/labrador_tea": { + "randomOffset": true + }, + "tfc:plant/lady_fern": { + "randomOffset": true + }, + "tfc:plant/laminaria": { + "randomOffset": true + }, + "tfc:plant/leafy_kelp": { + "randomOffset": true + }, + "tfc:plant/leafy_kelp_plant": { + "randomOffset": true + }, + "tfc:plant/lemon_branch": { + "randomOffset": true + }, + "tfc:plant/lemon_growing_branch": { + "randomOffset": true + }, + "tfc:plant/lemon_leaves": { + "randomOffset": true + }, + "tfc:plant/lemon_sapling": { + "randomOffset": true + }, + "tfc:plant/liana": { + "randomOffset": true + }, + "tfc:plant/liana_plant": { + "randomOffset": true + }, + "tfc:plant/licorice_fern": { + "randomOffset": true + }, + "tfc:plant/lilac": { + "randomOffset": true + }, + "tfc:plant/lily_of_the_valley": { + "randomOffset": true + }, + "tfc:plant/lotus": { + "randomOffset": true + }, + "tfc:plant/maiden_pink": { + "randomOffset": true + }, + "tfc:plant/manatee_grass": { + "randomOffset": true + }, + "tfc:plant/marigold": { + "randomOffset": true + }, + "tfc:plant/meads_milkweed": { + "randomOffset": true + }, + "tfc:plant/milfoil": { + "randomOffset": true + }, + "tfc:plant/morning_glory": { + "randomOffset": true + }, + "tfc:plant/moss": { + "randomOffset": true + }, + "tfc:plant/nasturtium": { + "randomOffset": true + }, + "tfc:plant/olive_branch": { + "randomOffset": true + }, + "tfc:plant/olive_growing_branch": { + "randomOffset": true + }, + "tfc:plant/olive_leaves": { + "randomOffset": true + }, + "tfc:plant/olive_sapling": { + "randomOffset": true + }, + "tfc:plant/orange_branch": { + "randomOffset": true + }, + "tfc:plant/orange_growing_branch": { + "randomOffset": true + }, + "tfc:plant/orange_leaves": { + "randomOffset": true + }, + "tfc:plant/orange_sapling": { + "randomOffset": true + }, + "tfc:plant/orchard_grass": { + "randomOffset": true + }, + "tfc:plant/ostrich_fern": { + "randomOffset": true + }, + "tfc:plant/oxeye_daisy": { + "randomOffset": true + }, + "tfc:plant/pampas_grass": { + "randomOffset": true + }, + "tfc:plant/peach_branch": { + "randomOffset": true + }, + "tfc:plant/peach_growing_branch": { + "randomOffset": true + }, + "tfc:plant/peach_leaves": { + "randomOffset": true + }, + "tfc:plant/peach_sapling": { + "randomOffset": true + }, + "tfc:plant/perovskia": { + "randomOffset": true + }, + "tfc:plant/philodendron": { + "randomOffset": true + }, + "tfc:plant/phragmite": { + "randomOffset": true + }, + "tfc:plant/pickerelweed": { + "randomOffset": true + }, + "tfc:plant/pine_krummholz": { + "randomOffset": true + }, + "tfc:plant/pistia": { + "randomOffset": true + }, + "tfc:plant/plum_branch": { + "randomOffset": true + }, + "tfc:plant/plum_growing_branch": { + "randomOffset": true + }, + "tfc:plant/plum_leaves": { + "randomOffset": true + }, + "tfc:plant/plum_sapling": { + "randomOffset": true + }, + "tfc:plant/poppy": { + "randomOffset": true + }, + "tfc:plant/primrose": { + "randomOffset": true + }, + "tfc:plant/pulsatilla": { + "randomOffset": true + }, + "tfc:plant/raddia_grass": { + "randomOffset": true + }, + "tfc:plant/raspberry_bush": { + "randomOffset": true + }, + "tfc:plant/raspberry_bush_cane": { + "randomOffset": true + }, + "tfc:plant/red_algae": { + "randomOffset": true + }, + "tfc:plant/red_apple_branch": { + "randomOffset": true + }, + "tfc:plant/red_apple_growing_branch": { + "randomOffset": true + }, + "tfc:plant/red_apple_leaves": { + "randomOffset": true + }, + "tfc:plant/red_apple_sapling": { + "randomOffset": true + }, + "tfc:plant/red_sealing_wax_palm": { + "randomOffset": true + }, + "tfc:plant/reindeer_lichen": { + "randomOffset": true + }, + "tfc:plant/rose": { + "randomOffset": true + }, + "tfc:plant/ryegrass": { + "randomOffset": true + }, + "tfc:plant/sacred_datura": { + "randomOffset": true + }, + "tfc:plant/sagebrush": { + "randomOffset": true + }, + "tfc:plant/sago": { + "randomOffset": true + }, + "tfc:plant/saguaro": { + "randomOffset": true + }, + "tfc:plant/saguaro_fruit": { + "randomOffset": true + }, + "tfc:plant/saguaro_plant": { + "randomOffset": true + }, + "tfc:plant/sapphire_tower": { + "randomOffset": true + }, + "tfc:plant/sargassum": { + "randomOffset": true + }, + "tfc:plant/scutch_grass": { + "randomOffset": true + }, + "tfc:plant/sea_lavender": { + "randomOffset": true + }, + "tfc:plant/sea_palm": { + "randomOffset": true + }, + "tfc:plant/silver_spurflower": { + "randomOffset": true + }, + "tfc:plant/snapdragon_pink": { + "randomOffset": true + }, + "tfc:plant/snapdragon_red": { + "randomOffset": true + }, + "tfc:plant/snapdragon_white": { + "randomOffset": true + }, + "tfc:plant/snapdragon_yellow": { + "randomOffset": true + }, + "tfc:plant/snowberry_bush": { + "randomOffset": true + }, + "tfc:plant/spanish_moss": { + "randomOffset": true + }, + "tfc:plant/spanish_moss_plant": { + "randomOffset": true + }, + "tfc:plant/spruce_krummholz": { + "randomOffset": true + }, + "tfc:plant/star_grass": { + "randomOffset": true + }, + "tfc:plant/strawberry_bush": { + "randomOffset": true + }, + "tfc:plant/strelitzia": { + "randomOffset": true + }, + "tfc:plant/switchgrass": { + "randomOffset": true + }, + "tfc:plant/sword_fern": { + "randomOffset": true + }, + "tfc:plant/tall_fescue_grass": { + "randomOffset": true + }, + "tfc:plant/timothy_grass": { + "randomOffset": true + }, + "tfc:plant/toquilla_palm": { + "randomOffset": true + }, + "tfc:plant/tree_fern": { + "randomOffset": true + }, + "tfc:plant/tree_fern_plant": { + "randomOffset": true + }, + "tfc:plant/trillium": { + "randomOffset": true + }, + "tfc:plant/tropical_milkweed": { + "randomOffset": true + }, + "tfc:plant/tulip_orange": { + "randomOffset": true + }, + "tfc:plant/tulip_pink": { + "randomOffset": true + }, + "tfc:plant/tulip_red": { + "randomOffset": true + }, + "tfc:plant/tulip_white": { + "randomOffset": true + }, + "tfc:plant/turtle_grass": { + "randomOffset": true + }, + "tfc:plant/vriesea": { + "randomOffset": true + }, + "tfc:plant/water_canna": { + "randomOffset": true + }, + "tfc:plant/water_lily": { + "randomOffset": true + }, + "tfc:plant/water_taro": { + "randomOffset": true + }, + "tfc:plant/white_cedar_krummholz": { + "randomOffset": true + }, + "tfc:plant/winged_kelp": { + "randomOffset": true + }, + "tfc:plant/winged_kelp_plant": { + "randomOffset": true + }, + "tfc:plant/wintergreen_berry_bush": { + "randomOffset": true + }, + "tfc:plant/yucca": { + "randomOffset": true + } +} \ No newline at end of file diff --git a/config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/river_water.json b/config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/river_water.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/river_water.json @@ -0,0 +1 @@ +{} diff --git a/config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/salt_water.json b/config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/salt_water.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/salt_water.json @@ -0,0 +1 @@ +{} diff --git a/config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/spring_water.json b/config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/spring_water.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/config/bluemap/packs/TFG_fix/assets/tfc/models/block/fluid/spring_water.json @@ -0,0 +1 @@ +{} diff --git a/config/bluemap/packs/TFG_fix/pack.mcmeta b/config/bluemap/packs/TFG_fix/pack.mcmeta new file mode 100644 index 000000000..9bb5431f7 --- /dev/null +++ b/config/bluemap/packs/TFG_fix/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "pack_format": 8, + "description": "TFC Water and Grass Fix for BlueMap by dhs92 + AFC tree and leaves fix by WoopSmile" + } +} From 45ac3cb2a4ac6781eda9ce1ce2c18b7e289b0aa6 Mon Sep 17 00:00:00 2001 From: Coox1e <166007852+Coox1e@users.noreply.github.com> Date: Sun, 1 Feb 2026 23:35:04 +1100 Subject: [PATCH 296/474] Added furnace recipe for dead grass to match drying recipe (#2935) Signed-off-by: Coox1e <166007852+Coox1e@users.noreply.github.com> --- kubejs/server_scripts/tfg/primitive/recipes.compost.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.compost.js b/kubejs/server_scripts/tfg/primitive/recipes.compost.js index ee9d26ed1..4d56cce0f 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.compost.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.compost.js @@ -66,6 +66,11 @@ function registerTFGCompostRecipes(event) { .duration(600) .EUt(2) + event.smelting( + '1x tfc:groundcover/dead_grass', + 'tfc:thatch' + ).id('tfg:smelting/thatch_drying_furnace') + event.recipes.gtceu.fermenter('tfg:fertilizer_to_compost') .itemInputs('4x gtceu:fertilizer') .itemOutputs('tfc:compost') From 90535daf1a97fc9ade59f2ad295d43aad61d1390 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 16:05:14 +0000 Subject: [PATCH 297/474] add new skulls to mars, update loot tables, add new recipes, hide items --- .../mars/surface/large_skull.json | 4 + .../mars/surface/skulls/raider.json | 22 +++ .../mars/surface/skulls/snatcher.json | 22 +++ .../mars/surface/small_skull.json | 4 + .../loot_tables/entities/crusher.json | 140 +++++++++-------- .../loot_tables/entities/glider.json | 141 ++++++++++-------- .../loot_tables/entities/soarer.json | 126 ++++++++-------- .../loot_tables/entities/walker.json | 100 +++++++------ .../server_scripts/wan_ancient_beasts/data.js | 35 +++++ .../wan_ancient_beasts/recipes.js | 65 ++++---- .../server_scripts/wan_ancient_beasts/tags.js | 4 + .../wan_ancient_beasts/constants.js | 43 +++++- 12 files changed, 437 insertions(+), 269 deletions(-) create mode 100644 kubejs/data/tfg/worldgen/configured_feature/mars/surface/skulls/raider.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/mars/surface/skulls/snatcher.json create mode 100644 kubejs/server_scripts/wan_ancient_beasts/data.js diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/large_skull.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/large_skull.json index e8cc3b028..c253b278e 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/large_skull.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/large_skull.json @@ -13,6 +13,10 @@ { "feature": "tfg:mars/surface/skulls/charger", "placement": [] + }, + { + "feature": "tfg:mars/surface/skulls/raider", + "placement": [] } ] } diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/skulls/raider.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/skulls/raider.json new file mode 100644 index 000000000..cd2c87829 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/skulls/raider.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "rotation", + "values": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 0, + "max_inclusive": 15 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "wan_ancient_beasts:raider_skull" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/skulls/snatcher.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/skulls/snatcher.json new file mode 100644 index 000000000..3258f648c --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/skulls/snatcher.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "rotation", + "values": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 0, + "max_inclusive": 15 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "wan_ancient_beasts:snatcher_skull" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/small_skull.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/small_skull.json index f413a15cf..ebdcabc62 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/small_skull.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/small_skull.json @@ -18,6 +18,10 @@ "feature": "tfg:mars/surface/skulls/surfer", "placement": [] }, + { + "feature": "tfg:mars/surface/skulls/snatcher", + "placement": [] + }, { "feature": "tfg:mars/surface/skulls/tiny", "placement": [] diff --git a/kubejs/data/wan_ancient_beasts/loot_tables/entities/crusher.json b/kubejs/data/wan_ancient_beasts/loot_tables/entities/crusher.json index 41865f871..945dd7230 100644 --- a/kubejs/data/wan_ancient_beasts/loot_tables/entities/crusher.json +++ b/kubejs/data/wan_ancient_beasts/loot_tables/entities/crusher.json @@ -1,65 +1,79 @@ { - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:entity", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:food/raw_crusher_meat", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 2, - "max": 5 - } - } - ] - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:bone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 3, - "type": "minecraft:uniform" - } - } - ] - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "wan_ancient_beasts:crusher_spike", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 0, - "max": 2, - "type": "minecraft:uniform" - } - } - ] - } - ] - } - ] + "type": "minecraft:entity", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:food/raw_crusher_meat", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 5 + } + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:bone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3, + "type": "minecraft:uniform" + } + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "wan_ancient_beasts:crusher_spike", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 0, + "max": 2, + "type": "minecraft:uniform" + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "wan_ancient_beasts:crusher_egg", + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1 + } + ] + } + ] + } + ] } \ No newline at end of file diff --git a/kubejs/data/wan_ancient_beasts/loot_tables/entities/glider.json b/kubejs/data/wan_ancient_beasts/loot_tables/entities/glider.json index 90570f5b2..408ea0512 100644 --- a/kubejs/data/wan_ancient_beasts/loot_tables/entities/glider.json +++ b/kubejs/data/wan_ancient_beasts/loot_tables/entities/glider.json @@ -1,66 +1,79 @@ { - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:entity", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:food/raw_glider_wings", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 2, - "max": 6 - } - } - ] - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:bone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 2, - "type": "minecraft:uniform" - } - } - ] - } - ] - } - , - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "wan_ancient_beasts:glider_feather", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 0, - "max": 2, - "type": "minecraft:uniform" - } - } - ] - } - ] - } - ] + "type": "minecraft:entity", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:food/raw_glider_wings", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 6 + } + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:bone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2, + "type": "minecraft:uniform" + } + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "wan_ancient_beasts:glider_feather", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 0, + "max": 2, + "type": "minecraft:uniform" + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "wan_ancient_beasts:glider_egg", + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1 + } + ] + } + ] + } + ] } \ No newline at end of file diff --git a/kubejs/data/wan_ancient_beasts/loot_tables/entities/soarer.json b/kubejs/data/wan_ancient_beasts/loot_tables/entities/soarer.json index 2499bd85b..e4c12b080 100644 --- a/kubejs/data/wan_ancient_beasts/loot_tables/entities/soarer.json +++ b/kubejs/data/wan_ancient_beasts/loot_tables/entities/soarer.json @@ -1,66 +1,64 @@ { - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:entity", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:food/raw_whole_soarer", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4 - } - } - ] - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:bone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ] - } - , - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "wan_ancient_beasts:glider_feather", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 0, - "max": 4, - "type": "minecraft:uniform" - } - } - ] - } - ] - } - ] + "type": "minecraft:entity", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:food/raw_whole_soarer", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4 + } + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:bone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "wan_ancient_beasts:glider_feather", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 0, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ] + } + ] } \ No newline at end of file diff --git a/kubejs/data/wan_ancient_beasts/loot_tables/entities/walker.json b/kubejs/data/wan_ancient_beasts/loot_tables/entities/walker.json index 9808e1bba..bd339296f 100644 --- a/kubejs/data/wan_ancient_beasts/loot_tables/entities/walker.json +++ b/kubejs/data/wan_ancient_beasts/loot_tables/entities/walker.json @@ -1,45 +1,59 @@ { - "__comment__": "This file was automatically created by mcresources", - "type": "minecraft:entity", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "tfg:food/raw_walker_steak", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 10, - "max": 25 - } - } - ] - } - ] - }, - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:bone", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 4, - "max": 10, - "type": "minecraft:uniform" - } - } - ] - } - ] - } - ] + "type": "minecraft:entity", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:food/raw_walker_steak", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 10, + "max": 25 + } + } + ] + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:bone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 4, + "max": 10, + "type": "minecraft:uniform" + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "wan_ancient_beasts:walker_egg", + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1 + } + ] + } + ] + } + ] } \ No newline at end of file diff --git a/kubejs/server_scripts/wan_ancient_beasts/data.js b/kubejs/server_scripts/wan_ancient_beasts/data.js new file mode 100644 index 000000000..209bea8fb --- /dev/null +++ b/kubejs/server_scripts/wan_ancient_beasts/data.js @@ -0,0 +1,35 @@ +// priority: 0 +"use strict"; + +const registerWABData = (event) => { + + event.foodItem('wan_ancient_beasts:toxlacanth', food => { + food.hunger(2) + food.protein(1.5) + food.decayModifier(3) + }) + + event.foodItem('wan_ancient_beasts:cooked_toxlacanth', food => { + food.hunger(4) + food.saturation(2) + food.protein(2.5) + food.decayModifier(2.25) + }) + + // Eater meat + event.foodItem('wan_ancient_beasts:raw_ancient_meat', food => { + food.hunger(2) + food.protein(2) + food.decayModifier(3) + }) + + event.foodItem('wan_ancient_beasts:cooked_ancient_meat', food => { + food.hunger(4) + food.saturation(3) + food.protein(5) + food.decayModifier(2.25) + }) + + + event.itemSize('wan_ancient_beasts:reinforced_shield', 'very_large', 'very_heavy') +} \ No newline at end of file diff --git a/kubejs/server_scripts/wan_ancient_beasts/recipes.js b/kubejs/server_scripts/wan_ancient_beasts/recipes.js index 9f083ead7..c6b2fbbb6 100644 --- a/kubejs/server_scripts/wan_ancient_beasts/recipes.js +++ b/kubejs/server_scripts/wan_ancient_beasts/recipes.js @@ -1,4 +1,3 @@ - // priority: 0 "use strict"; @@ -48,37 +47,35 @@ const registerWABRecipes = (event) => { C: '#tfc:shields', D: '#forge:plates/titanium' }).id('tfg:shaped/reinforced_shield_from_shield') + + event.shapeless('wan_ancient_beasts:fearsome_horn', [ + 'wan_ancient_beasts:raider_horn', + 'wan_ancient_beasts:eater_tooth', + 'wan_ancient_beasts:crusher_spike', + 'endermanoverhaul:enderman_tooth' + ]).id('tfg:shapeless/fearsome_horn') + + event.shaped('wan_ancient_beasts:white_charger_armor', [ + 'ABA', + 'CCC' + ], { + A: 'firmaciv:rope_coil', + B: 'minecraft:leather_horse_armor', + C: '#forge:double_plates/steel' + }).id('tfg:shaped/white_charger_armor') + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + event.recipes.tfc.barrel_sealed(1000) + .inputs('#wan_ancient_beasts:charger_armors', Fluid.of(`tfc:${dye}_dye`, 288)) + .outputItem(`wan_ancient_beasts:${dye}_charger_armor`) + .id(`tfg:barrel/dyeing/charger_armor_${dye}`) + + event.recipes.gtceu.chemical_bath(`tfg:wan_ancient_beasts/${dye}_charger_armor`) + .itemInputs('#wan_ancient_beasts:charger_armors') + .inputFluids(Fluid.of(`tfc:${dye}_dye`, 288)) + .itemOutputs(`wan_ancient_beasts:${dye}_charger_armor`) + .duration(200) + .EUt(4) + .category(GTRecipeCategories.CHEM_DYES) + }) } - -const registerWABData = (event) => { - - event.foodItem('wan_ancient_beasts:toxlacanth', food => { - food.hunger(2) - food.protein(1.5) - food.decayModifier(3) - }) - - event.foodItem('wan_ancient_beasts:cooked_toxlacanth', food => { - food.hunger(4) - food.saturation(2) - food.protein(2.5) - food.decayModifier(2.25) - }) - - // Eater meat - event.foodItem('wan_ancient_beasts:raw_ancient_meat', food => { - food.hunger(2) - food.protein(2) - food.decayModifier(3) - }) - - event.foodItem('wan_ancient_beasts:cooked_ancient_meat', food => { - food.hunger(4) - food.saturation(3) - food.protein(5) - food.decayModifier(2.25) - }) - - - event.itemSize('wan_ancient_beasts:reinforced_shield', 'very_large', 'very_heavy') -} \ No newline at end of file diff --git a/kubejs/server_scripts/wan_ancient_beasts/tags.js b/kubejs/server_scripts/wan_ancient_beasts/tags.js index 3dd151ff7..bf36190a3 100644 --- a/kubejs/server_scripts/wan_ancient_beasts/tags.js +++ b/kubejs/server_scripts/wan_ancient_beasts/tags.js @@ -73,6 +73,7 @@ const registerWansAncientBeastsBiomeTags = (event) => { event.removeAll('wan_ancient_beasts:has_structure/ancient_nest'); event.removeAll('wan_ancient_beasts:has_structure/dead_coral'); event.removeAll('wan_ancient_beasts:has_structure/desert_ruins'); + event.removeAll('wan_ancient_beasts:has_structure/desert_ruins_small'); event.removeAll('wan_ancient_beasts:has_structure/digsite_badlands'); event.removeAll('wan_ancient_beasts:has_structure/digsite_desert'); event.removeAll('wan_ancient_beasts:has_structure/digsite_icespikes'); @@ -84,4 +85,7 @@ const registerWansAncientBeastsBiomeTags = (event) => { event.removeAll('wan_ancient_beasts:has_structure/digsite_taiga'); event.removeAll('wan_ancient_beasts:has_structure/ice_spike_castle'); event.removeAll('wan_ancient_beasts:has_structure/mesa_temple'); + event.removeAll('wan_ancient_beasts:has_structure/primal_log'); + event.removeAll('wan_ancient_beasts:has_structure/ruined_castle'); + event.removeAll('wan_ancient_beasts:has_structure/training_outpost'); } \ No newline at end of file diff --git a/kubejs/startup_scripts/wan_ancient_beasts/constants.js b/kubejs/startup_scripts/wan_ancient_beasts/constants.js index 6e5c22a5a..a255a4abc 100644 --- a/kubejs/startup_scripts/wan_ancient_beasts/constants.js +++ b/kubejs/startup_scripts/wan_ancient_beasts/constants.js @@ -49,5 +49,46 @@ global.WAB_DISABLED_ITEMS = [ 'wan_ancient_beasts:blue_hang_glider', 'wan_ancient_beasts:purple_hang_glider', 'wan_ancient_beasts:magenta_hang_glider', - 'wan_ancient_beasts:pink_hang_glider' + 'wan_ancient_beasts:pink_hang_glider', + 'wan_ancient_beasts:paleo_table', + 'wan_ancient_beasts:shrieking_horn', + 'wan_ancient_beasts:spectral_horn', + 'wan_ancient_beasts:nasty_stew', + 'wan_ancient_beasts:rafflesia_seeds', + 'wan_ancient_beasts:sundew_seeds', + 'wan_ancient_beasts:bellflower_seeds', + 'wan_ancient_beasts:moonflower', + 'wan_ancient_beasts:equisetum_seeds', + 'wan_ancient_beasts:olden_moss_carpet', + 'wan_ancient_beasts:olden_moss', + 'wan_ancient_beasts:amber_ginkgo_seeds', + 'wan_ancient_beasts:verdant_ginkgo_seeds', + 'wan_ancient_beasts:amber_ginkgo_sapling', + 'wan_ancient_beasts:verdant_ginkgo_sapling', + 'wan_ancient_beasts:amber_ginkgo_leaves', + 'wan_ancient_beasts:verdant_ginkgo_leaves', + 'wan_ancient_beasts:ginkgo_log', + 'wan_ancient_beasts:stripped_ginkgo_log', + 'wan_ancient_beasts:ginkgo_wood', + 'wan_ancient_beasts:stripped_ginkgo_wood', + 'wan_ancient_beasts:ginkgo_planks', + 'wan_ancient_beasts:ginkgo_stairs', + 'wan_ancient_beasts:ginkgo_slab', + 'wan_ancient_beasts:ginkgo_fence', + 'wan_ancient_beasts:ginkgo_fence_gate', + 'wan_ancient_beasts:ginkgo_door', + 'wan_ancient_beasts:ginkgo_trapdoor', + 'wan_ancient_beasts:ginkgo_pressure_plate', + 'wan_ancient_beasts:ginkgo_button', + 'wan_ancient_beasts:ginkgo_sign', + 'wan_ancient_beasts:ginkgo_hanging_sign', + 'wan_ancient_beasts:ginkgo_boat', + 'wan_ancient_beasts:ginkgo_chest_boat', + 'wan_ancient_beasts:petrified_log', + 'wan_ancient_beasts:stripped_petrified_log', + 'wan_ancient_beasts:petrified_wood', + 'wan_ancient_beasts:stripped_petrified_wood', + 'wan_ancient_beasts:horns_pottery_sherd', + 'wan_ancient_beasts:loot_pottery_sherd', + 'wan_ancient_beasts:steal_pottery_sherd' ] \ No newline at end of file From ecd7c3a7826bc2c4eabb71192f234585fdf5426b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 16:07:37 +0000 Subject: [PATCH 298/474] github moment --- .../packs/TFG_fix/assets/afc/blockColors.json | 188 +++---- .../packs/TFG_fix/assets/tfc/blockColors.json | 488 +++++++++--------- 2 files changed, 338 insertions(+), 338 deletions(-) diff --git a/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json b/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json index 493aef425..3aaaa1ee5 100644 --- a/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json +++ b/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json @@ -1,95 +1,95 @@ -{ -//AFC leaves - "afc:wood/leaves/boabab": "@foliage", - "afc:wood/leaves/eucalyptus": "@foliage", - "afc:wood/leaves/mahogany": "@foliage", - "afc:wood/leaves/hevea": "@foliage", - "afc:wood/leaves/tualang": "@foliage", - "afc:wood/leaves/teak": "@foliage", - "afc:wood/leaves/cypress": "@foliage", - "afc:wood/leaves/fig": "@foliage", - "afc:wood/leaves/ironwood": "@foliage", - "afc:wood/leaves/ipe": "@foliage", - "afc:wood/leaves/gum_arabic": "@foliage", - "afc:wood/leaves/acacia_koa": "@foliage", - "afc:wood/leaves/poplar": "@foliage", - "afc:wood/leaves/mpingo_blackwood": "@foliage", - "afc:wood/leaves/mountain_fir": "@foliage", - "afc:wood/leaves/balsam_fir": "@foliage", - "afc:wood/leaves/scrub_hickory": "@foliage", - "afc:wood/leaves/red_silk_cotton": "@foliage", - "afc:wood/leaves/bigleaf_maple": "@foliage", - "afc:wood/leaves/weeping_maple": "@foliage", - "afc:wood/leaves/black_oak": "@foliage", - "afc:wood/leaves/live_oak": "@foliage", - "afc:wood/leaves/jaggery_palm": "@foliage", - "afc:wood/leaves/stone_pine": "@foliage", - "afc:wood/leaves/red_pine": "@foliage", - "afc:wood/leaves/tamarack": "@foliage", - "afc:wood/leaves/giant_rosewood": "@foliage", - "afc:wood/leaves/coast_redwood": "@foliage", - "afc:wood/leaves/coast_spruce": "@foliage", - "afc:wood/leaves/sitka_spruce": "@foliage", - "afc:wood/leaves/black_spruce": "@foliage", - "afc:wood/leaves/atlas_cedar": "@foliage", - "afc:wood/leaves/weeping_willow": "@foliage", - "afc:wood/leaves/rainbow_eucalyptus": "@foliage", - "afc:wood/leaves/mountain_ash": "@foliage", - "afc:wood/leaves/rubber_fig": "@foliage", - "afc:wood/leaves/redcedar": "@foliage", - "afc:wood/leaves/weeping_cypress": "@foliage", - "afc:wood/leaves/bald_cypress": "@foliage", - "afc:wood/leaves/sapele_mahogany": "@foliage", - "afc:wood/leaves/small_leaf_mahogany": "@foliage", - "afc:wood/leaves/iroko_teak": "@foliage", - "afc:wood/leaves/flame_of_the_forest": "@foliage", - "afc:wood/leaves/lebombo_ironwood": "@foliage", - "afc:wood/leaves/horsetail_ironwood": "@foliage", - -//AFC fallen_leaves - "afc:wood/fallen_leaves/boabab": "@foliage", - "afc:wood/fallen_leaves/eucalyptus": "@foliage", - "afc:wood/fallen_leaves/mahogany": "@foliage", - "afc:wood/fallen_leaves/hevea": "@foliage", - "afc:wood/fallen_leaves/tualang": "@foliage", - "afc:wood/fallen_leaves/teak": "@foliage", - "afc:wood/fallen_leaves/cypress": "@foliage", - "afc:wood/fallen_leaves/fig": "@foliage", - "afc:wood/fallen_leaves/ironwood": "@foliage", - "afc:wood/fallen_leaves/ipe": "@foliage", - "afc:wood/fallen_leaves/gum_arabic": "@foliage", - "afc:wood/fallen_leaves/acacia_koa": "@foliage", - "afc:wood/fallen_leaves/poplar": "@foliage", - "afc:wood/fallen_leaves/mpingo_blackwood": "@foliage", - "afc:wood/fallen_leaves/mountain_fir": "@foliage", - "afc:wood/fallen_leaves/balsam_fir": "@foliage", - "afc:wood/fallen_leaves/scrub_hickory": "@foliage", - "afc:wood/fallen_leaves/red_silk_cotton": "@foliage", - "afc:wood/fallen_leaves/bigleaf_maple": "@foliage", - "afc:wood/fallen_leaves/weeping_maple": "@foliage", - "afc:wood/fallen_leaves/black_oak": "@foliage", - "afc:wood/fallen_leaves/live_oak": "@foliage", - "afc:wood/fallen_leaves/jaggery_palm": "@foliage", - "afc:wood/fallen_leaves/stone_pine": "@foliage", - "afc:wood/fallen_leaves/red_pine": "@foliage", - "afc:wood/fallen_leaves/tamarack": "@foliage", - "afc:wood/fallen_leaves/giant_rosewood": "@foliage", - "afc:wood/fallen_leaves/coast_redwood": "@foliage", - "afc:wood/fallen_leaves/coast_spruce": "@foliage", - "afc:wood/fallen_leaves/sitka_spruce": "@foliage", - "afc:wood/fallen_leaves/black_spruce": "@foliage", - "afc:wood/fallen_leaves/atlas_cedar": "@foliage", - "afc:wood/fallen_leaves/weeping_willow": "@foliage", - "afc:wood/fallen_leaves/rainbow_eucalyptus": "@foliage", - "afc:wood/fallen_leaves/mountain_ash": "@foliage", - "afc:wood/fallen_leaves/rubber_fig": "@foliage", - "afc:wood/fallen_leaves/redcedar": "@foliage", - "afc:wood/fallen_leaves/weeping_cypress": "@foliage", - "afc:wood/fallen_leaves/bald_cypress": "@foliage", - "afc:wood/fallen_leaves/sapele_mahogany": "@foliage", - "afc:wood/fallen_leaves/small_leaf_mahogany": "@foliage", - "afc:wood/fallen_leaves/iroko_teak": "@foliage", - "afc:wood/fallen_leaves/flame_of_the_forest": "@foliage", - "afc:wood/fallen_leaves/lebombo_ironwood": "@foliage", - "afc:wood/fallen_leaves/horsetail_ironwood": "@foliage", +{ +//AFC leaves + "afc:wood/leaves/boabab": "@foliage", + "afc:wood/leaves/eucalyptus": "@foliage", + "afc:wood/leaves/mahogany": "@foliage", + "afc:wood/leaves/hevea": "@foliage", + "afc:wood/leaves/tualang": "@foliage", + "afc:wood/leaves/teak": "@foliage", + "afc:wood/leaves/cypress": "@foliage", + "afc:wood/leaves/fig": "@foliage", + "afc:wood/leaves/ironwood": "@foliage", + "afc:wood/leaves/ipe": "@foliage", + "afc:wood/leaves/gum_arabic": "@foliage", + "afc:wood/leaves/acacia_koa": "@foliage", + "afc:wood/leaves/poplar": "@foliage", + "afc:wood/leaves/mpingo_blackwood": "@foliage", + "afc:wood/leaves/mountain_fir": "@foliage", + "afc:wood/leaves/balsam_fir": "@foliage", + "afc:wood/leaves/scrub_hickory": "@foliage", + "afc:wood/leaves/red_silk_cotton": "@foliage", + "afc:wood/leaves/bigleaf_maple": "@foliage", + "afc:wood/leaves/weeping_maple": "@foliage", + "afc:wood/leaves/black_oak": "@foliage", + "afc:wood/leaves/live_oak": "@foliage", + "afc:wood/leaves/jaggery_palm": "@foliage", + "afc:wood/leaves/stone_pine": "@foliage", + "afc:wood/leaves/red_pine": "@foliage", + "afc:wood/leaves/tamarack": "@foliage", + "afc:wood/leaves/giant_rosewood": "@foliage", + "afc:wood/leaves/coast_redwood": "@foliage", + "afc:wood/leaves/coast_spruce": "@foliage", + "afc:wood/leaves/sitka_spruce": "@foliage", + "afc:wood/leaves/black_spruce": "@foliage", + "afc:wood/leaves/atlas_cedar": "@foliage", + "afc:wood/leaves/weeping_willow": "@foliage", + "afc:wood/leaves/rainbow_eucalyptus": "@foliage", + "afc:wood/leaves/mountain_ash": "@foliage", + "afc:wood/leaves/rubber_fig": "@foliage", + "afc:wood/leaves/redcedar": "@foliage", + "afc:wood/leaves/weeping_cypress": "@foliage", + "afc:wood/leaves/bald_cypress": "@foliage", + "afc:wood/leaves/sapele_mahogany": "@foliage", + "afc:wood/leaves/small_leaf_mahogany": "@foliage", + "afc:wood/leaves/iroko_teak": "@foliage", + "afc:wood/leaves/flame_of_the_forest": "@foliage", + "afc:wood/leaves/lebombo_ironwood": "@foliage", + "afc:wood/leaves/horsetail_ironwood": "@foliage", + +//AFC fallen_leaves + "afc:wood/fallen_leaves/boabab": "@foliage", + "afc:wood/fallen_leaves/eucalyptus": "@foliage", + "afc:wood/fallen_leaves/mahogany": "@foliage", + "afc:wood/fallen_leaves/hevea": "@foliage", + "afc:wood/fallen_leaves/tualang": "@foliage", + "afc:wood/fallen_leaves/teak": "@foliage", + "afc:wood/fallen_leaves/cypress": "@foliage", + "afc:wood/fallen_leaves/fig": "@foliage", + "afc:wood/fallen_leaves/ironwood": "@foliage", + "afc:wood/fallen_leaves/ipe": "@foliage", + "afc:wood/fallen_leaves/gum_arabic": "@foliage", + "afc:wood/fallen_leaves/acacia_koa": "@foliage", + "afc:wood/fallen_leaves/poplar": "@foliage", + "afc:wood/fallen_leaves/mpingo_blackwood": "@foliage", + "afc:wood/fallen_leaves/mountain_fir": "@foliage", + "afc:wood/fallen_leaves/balsam_fir": "@foliage", + "afc:wood/fallen_leaves/scrub_hickory": "@foliage", + "afc:wood/fallen_leaves/red_silk_cotton": "@foliage", + "afc:wood/fallen_leaves/bigleaf_maple": "@foliage", + "afc:wood/fallen_leaves/weeping_maple": "@foliage", + "afc:wood/fallen_leaves/black_oak": "@foliage", + "afc:wood/fallen_leaves/live_oak": "@foliage", + "afc:wood/fallen_leaves/jaggery_palm": "@foliage", + "afc:wood/fallen_leaves/stone_pine": "@foliage", + "afc:wood/fallen_leaves/red_pine": "@foliage", + "afc:wood/fallen_leaves/tamarack": "@foliage", + "afc:wood/fallen_leaves/giant_rosewood": "@foliage", + "afc:wood/fallen_leaves/coast_redwood": "@foliage", + "afc:wood/fallen_leaves/coast_spruce": "@foliage", + "afc:wood/fallen_leaves/sitka_spruce": "@foliage", + "afc:wood/fallen_leaves/black_spruce": "@foliage", + "afc:wood/fallen_leaves/atlas_cedar": "@foliage", + "afc:wood/fallen_leaves/weeping_willow": "@foliage", + "afc:wood/fallen_leaves/rainbow_eucalyptus": "@foliage", + "afc:wood/fallen_leaves/mountain_ash": "@foliage", + "afc:wood/fallen_leaves/rubber_fig": "@foliage", + "afc:wood/fallen_leaves/redcedar": "@foliage", + "afc:wood/fallen_leaves/weeping_cypress": "@foliage", + "afc:wood/fallen_leaves/bald_cypress": "@foliage", + "afc:wood/fallen_leaves/sapele_mahogany": "@foliage", + "afc:wood/fallen_leaves/small_leaf_mahogany": "@foliage", + "afc:wood/fallen_leaves/iroko_teak": "@foliage", + "afc:wood/fallen_leaves/flame_of_the_forest": "@foliage", + "afc:wood/fallen_leaves/lebombo_ironwood": "@foliage", + "afc:wood/fallen_leaves/horsetail_ironwood": "@foliage", } \ No newline at end of file diff --git a/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json b/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json index 37afc305b..33a0419a6 100644 --- a/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json +++ b/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json @@ -1,245 +1,245 @@ -{ -//TFC plants - "tfc:peat_grass": "@grass", - "tfc:kaolin_clay_grass": "@grass", - "tfc:grass/silt": "@grass", - "tfc:clay_grass/silt": "@grass", - "tfc:grass/loam": "@grass", - "tfc:clay_grass/loam": "@grass", - "tfc:grass/sandy": "@grass", - "tfc:clay_grass/sandy": "@grass", - "tfc:grass/silty_loam": "@grass", - "tfc:clay_grass/silty_loam": "@grass", - "tfc:grass/sandy_loam": "@grass", - "tfc:clay_grass/sandy_loam": "@grass", - "tfc:plant/sagebrush": "@foliage", - "tfc:plant/cordgrass": "@foliage", - "tfc:plant/guzmania": "@foliage", - "tfc:plant/pine_krummholz": "@foliage", - "tfc:plant/king_fern": "@foliage", - "tfc:plant/perovskia": "@foliage", - "tfc:plant/gooseberry_bush": "@foliage", - "tfc:plant/saguaro_fruit": "@foliage", - "tfc:plant/olive_growing_branch": "@foliage", - "tfc:plant/manatee_grass": "@foliage", - "tfc:plant/spanish_moss": "@foliage", - "tfc:plant/hanging_vines_plant": "@foliage", - "tfc:plant/philodendron": "@foliage", - "tfc:plant/maiden_pink": "@foliage", - "tfc:plant/switchgrass": "@foliage", - "tfc:plant/red_apple_branch": "@foliage", - "tfc:plant/lily_of_the_valley": "@foliage", - "tfc:plant/licorice_fern": "@foliage", - "tfc:plant/cloudberry_bush": "@foliage", - "tfc:plant/ivy": "@foliage", - "tfc:plant/peach_branch": "@foliage", - "tfc:plant/plum_leaves": "@foliage", - "tfc:plant/cattail": "@foliage", - "tfc:plant/butterfly_milkweed": "@foliage", - "tfc:plant/saguaro": "@foliage", - "tfc:plant/laminaria": "@foliage", - "tfc:plant/poppy": "@foliage", - "tfc:plant/snapdragon_yellow": "@foliage", - "tfc:plant/plum_sapling": "@foliage", - "tfc:plant/olive_sapling": "@foliage", - "tfc:plant/tulip_pink": "@foliage", - "tfc:plant/dead_bush": "@foliage", - "tfc:plant/peach_leaves": "@foliage", - "tfc:plant/canna": "@foliage", - "tfc:plant/green_apple_sapling": "@foliage", - "tfc:plant/orange_sapling": "@foliage", - "tfc:plant/strawberry_bush": "@foliage", - "tfc:plant/raddia_grass": "@foliage", - "tfc:plant/bromegrass": "@foliage", - "tfc:plant/kangaroo_paw": "@foliage", - "tfc:plant/green_apple_growing_branch": "@foliage", - "tfc:plant/gutweed": "@foliage", - "tfc:plant/phragmite": "@foliage", - "tfc:plant/tulip_red": "@foliage", - "tfc:plant/banana_sapling": "@foliage", - "tfc:plant/sword_fern": "@foliage", - "tfc:plant/lemon_growing_branch": "@foliage", - "tfc:plant/elderberry_bush_cane": "@foliage", - "tfc:plant/red_apple_growing_branch": "@foliage", - "tfc:plant/anthurium": "@foliage", - "tfc:plant/goldenrod": "@foliage", - "tfc:plant/peach_growing_branch": "@foliage", - "tfc:plant/elderberry_bush": "@foliage", - "tfc:plant/duckweed": "@foliage", - "tfc:plant/cranberry_bush": "@foliage", - "tfc:plant/field_horsetail": "@foliage", - "tfc:plant/olive_branch": "@foliage", - "tfc:plant/giant_kelp_plant": "@foliage", - "tfc:plant/blood_lily": "@foliage", - "tfc:plant/raspberry_bush": "@foliage", - "tfc:plant/leafy_kelp_plant": "@foliage", - "tfc:plant/orange_branch": "@foliage", - "tfc:plant/allium": "@foliage", - "tfc:plant/lotus": "@foliage", - "tfc:plant/strelitzia": "@foliage", - "tfc:plant/peach_sapling": "@foliage", - "tfc:plant/red_algae": "@foliage", - "tfc:plant/dead_berry_bush": "@foliage", - "tfc:plant/bur_reed": "@foliage", - "tfc:plant/cherry_growing_branch": "@foliage", - "tfc:plant/pulsatilla": "@foliage", - "tfc:plant/orange_leaves": "@foliage", - "tfc:plant/sea_palm": "@foliage", - "tfc:plant/silver_spurflower": "@foliage", - "tfc:plant/coontail": "@foliage", - "tfc:plant/sapphire_tower": "@foliage", - "tfc:plant/scutch_grass": "@foliage", - "tfc:plant/sago": "@foliage", - "tfc:plant/winged_kelp_plant": "@foliage", - "tfc:plant/aspen_krummholz": "@foliage", - "tfc:plant/raspberry_bush_cane": "@foliage", - "tfc:plant/timothy_grass": "@foliage", - "tfc:plant/cobblestone_lichen": "@foliage", - "tfc:plant/snapdragon_pink": "@foliage", - "tfc:plant/red_apple_leaves": "@foliage", - "tfc:plant/winged_kelp": "@foliage", - "tfc:plant/saguaro_plant": "@foliage", - "tfc:plant/sargassum": "@foliage", - "tfc:plant/artists_conk": "@foliage", - "tfc:plant/black_orchid": "@foliage", - "tfc:plant/dry_phragmite_plant": "@foliage", - "tfc:plant/tree_fern_plant": "@foliage", - "tfc:plant/oxeye_daisy": "@foliage", - "tfc:plant/vriesea": "@foliage", - "tfc:plant/toquilla_palm": "@foliage", - "tfc:plant/badderlocks": "@foliage", - "tfc:plant/grape_hyacinth": "@foliage", - "tfc:plant/red_sealing_wax_palm": "@foliage", - "tfc:plant/lemon_sapling": "@foliage", - "tfc:plant/spanish_moss_plant": "@foliage", - "tfc:plant/blueberry_bush_cane": "@foliage", - "tfc:plant/bluegrass": "@foliage", - "tfc:plant/spruce_krummholz": "@foliage", - "tfc:plant/heliconia": "@foliage", - "tfc:plant/water_taro": "@foliage", - "tfc:plant/green_apple_branch": "@foliage", - "tfc:plant/dry_phragmite": "@foliage", - "tfc:plant/barrel_cactus": "@foliage", - "tfc:plant/rose": "@foliage", - "tfc:plant/houstonia": "@foliage", - "tfc:plant/labrador_tea": "@foliage", - "tfc:plant/nasturtium": "@foliage", - "tfc:plant/leafy_kelp": "@foliage", - "tfc:plant/moss": "@foliage", - "tfc:plant/yucca": "@foliage", - "tfc:plant/lemon_leaves": "@foliage", - "tfc:plant/snowberry_bush": "@foliage", - "tfc:plant/orchard_grass": "@foliage", - "tfc:plant/morning_glory": "@foliage", - "tfc:plant/hanging_vines": "@foliage", - "tfc:plant/water_lily": "@foliage", - "tfc:plant/blueberry_bush": "@foliage", - "tfc:plant/blue_orchid": "@foliage", - "tfc:plant/banana_plant": "@foliage", - "tfc:plant/blackberry_bush_cane": "@foliage", - "tfc:plant/reindeer_lichen": "@foliage", - "tfc:plant/athyrium_fern": "@foliage", - "tfc:plant/trillium": "@foliage", - "tfc:plant/white_cedar_krummholz": "@foliage", - "tfc:plant/turtle_grass": "@foliage", - "tfc:plant/arrowhead": "@foliage", - "tfc:plant/blackberry_bush": "@foliage", - "tfc:plant/tall_fescue_grass": "@foliage", - "tfc:plant/blue_ginger": "@foliage", - "tfc:plant/arundo": "@foliage", - "tfc:plant/sacred_datura": "@foliage", - "tfc:plant/tree_fern": "@foliage", - "tfc:plant/heather": "@foliage", - "tfc:plant/foxglove": "@foliage", - "tfc:plant/liana": "@foliage", - "tfc:plant/douglas_fir_krummholz": "@foliage", - "tfc:plant/lemon_branch": "@foliage", - "tfc:plant/giant_kelp_flower": "@foliage", - "tfc:plant/meads_milkweed": "@foliage", - "tfc:plant/tulip_orange": "@foliage", - "tfc:plant/arundo_plant": "@foliage", - "tfc:plant/olive_leaves": "@foliage", - "tfc:plant/pistia": "@foliage", - "tfc:plant/snapdragon_red": "@foliage", - "tfc:plant/water_canna": "@foliage", - "tfc:plant/ryegrass": "@foliage", - "tfc:plant/fountain_grass": "@foliage", - "tfc:plant/bunchberry_bush": "@foliage", - "tfc:plant/lady_fern": "@foliage", - "tfc:plant/dandelion": "@foliage", - "tfc:plant/tulip_white": "@foliage", - "tfc:plant/cherry_leaves": "@foliage", - "tfc:plant/cherry_sapling": "@foliage", - "tfc:plant/orange_growing_branch": "@foliage", - "tfc:plant/dead_banana_plant": "@foliage", - "tfc:plant/star_grass": "@foliage", - "tfc:plant/desert_flame": "@foliage", - "tfc:plant/eel_grass": "@foliage", - "tfc:plant/wintergreen_berry_bush": "@foliage", - "tfc:plant/beachgrass": "@foliage", - "tfc:plant/milfoil": "@foliage", - "tfc:plant/pickerelweed": "@foliage", - "tfc:plant/primrose": "@foliage", - "tfc:plant/sea_lavender": "@foliage", - "tfc:plant/marigold": "@foliage", - "tfc:plant/tropical_milkweed": "@foliage", - "tfc:plant/pampas_grass": "@foliage", - "tfc:plant/ostrich_fern": "@foliage", - "tfc:plant/green_algae": "@foliage", - "tfc:plant/liana_plant": "@foliage", - "tfc:plant/hibiscus": "@foliage", - "tfc:plant/green_apple_leaves": "@foliage", - "tfc:plant/jungle_vines": "@foliage", - "tfc:plant/dead_cane": "@foliage", - "tfc:plant/red_apple_sapling": "@foliage", - "tfc:plant/calendula": "@foliage", - "tfc:plant/plum_growing_branch": "@foliage", - "tfc:plant/snapdragon_white": "@foliage", - "tfc:plant/cherry_branch": "@foliage", - "tfc:plant/plum_branch": "@foliage", - "tfc:plant/lilac": "@foliage", - -//TFC leaves - "tfc:wood/leaves/willow": "@foliage", - "tfc:wood/leaves/acacia": "@foliage", - "tfc:wood/leaves/maple": "@foliage", - "tfc:wood/leaves/douglas_fir": "@foliage", - "tfc:wood/leaves/chestnut": "@foliage", - "tfc:wood/leaves/kapok": "@foliage", - "tfc:wood/leaves/blackwood": "@foliage", - "tfc:wood/leaves/oak": "@foliage", - "tfc:wood/leaves/sequoia": "@foliage", - "tfc:wood/leaves/mangrove": "@foliage", - "tfc:wood/leaves/white_cedar": "@foliage", - "tfc:wood/leaves/ash": "@foliage", - "tfc:wood/leaves/hickory": "@foliage", - "tfc:wood/leaves/birch": "@foliage", - "tfc:wood/leaves/rosewood": "@foliage", - "tfc:wood/leaves/spruce": "@foliage", - "tfc:wood/leaves/palm": "@foliage", - "tfc:wood/leaves/aspen": "@foliage", - "tfc:wood/leaves/pine": "@foliage", - "tfc:wood/leaves/sycamore": "@foliage", - -//TFC fallen leaves - "tfc:wood/fallen_leaves/willow": "@foliage", - "tfc:wood/fallen_leaves/acacia": "@foliage", - "tfc:wood/fallen_leaves/maple": "@foliage", - "tfc:wood/fallen_leaves/douglas_fir": "@foliage", - "tfc:wood/fallen_leaves/chestnut": "@foliage", - "tfc:wood/fallen_leaves/kapok": "@foliage", - "tfc:wood/fallen_leaves/blackwood": "@foliage", - "tfc:wood/fallen_leaves/oak": "@foliage", - "tfc:wood/fallen_leaves/sequoia": "@foliage", - "tfc:wood/fallen_leaves/mangrove": "@foliage", - "tfc:wood/fallen_leaves/white_cedar": "@foliage", - "tfc:wood/fallen_leaves/ash": "@foliage", - "tfc:wood/fallen_leaves/hickory": "@foliage", - "tfc:wood/fallen_leaves/birch": "@foliage", - "tfc:wood/fallen_leaves/rosewood": "@foliage", - "tfc:wood/fallen_leaves/spruce": "@foliage", - "tfc:wood/fallen_leaves/palm": "@foliage", - "tfc:wood/fallen_leaves/aspen": "@foliage", - "tfc:wood/fallen_leaves/pine": "@foliage", - "tfc:wood/fallen_leaves/sycamore": "@foliage" +{ +//TFC plants + "tfc:peat_grass": "@grass", + "tfc:kaolin_clay_grass": "@grass", + "tfc:grass/silt": "@grass", + "tfc:clay_grass/silt": "@grass", + "tfc:grass/loam": "@grass", + "tfc:clay_grass/loam": "@grass", + "tfc:grass/sandy": "@grass", + "tfc:clay_grass/sandy": "@grass", + "tfc:grass/silty_loam": "@grass", + "tfc:clay_grass/silty_loam": "@grass", + "tfc:grass/sandy_loam": "@grass", + "tfc:clay_grass/sandy_loam": "@grass", + "tfc:plant/sagebrush": "@foliage", + "tfc:plant/cordgrass": "@foliage", + "tfc:plant/guzmania": "@foliage", + "tfc:plant/pine_krummholz": "@foliage", + "tfc:plant/king_fern": "@foliage", + "tfc:plant/perovskia": "@foliage", + "tfc:plant/gooseberry_bush": "@foliage", + "tfc:plant/saguaro_fruit": "@foliage", + "tfc:plant/olive_growing_branch": "@foliage", + "tfc:plant/manatee_grass": "@foliage", + "tfc:plant/spanish_moss": "@foliage", + "tfc:plant/hanging_vines_plant": "@foliage", + "tfc:plant/philodendron": "@foliage", + "tfc:plant/maiden_pink": "@foliage", + "tfc:plant/switchgrass": "@foliage", + "tfc:plant/red_apple_branch": "@foliage", + "tfc:plant/lily_of_the_valley": "@foliage", + "tfc:plant/licorice_fern": "@foliage", + "tfc:plant/cloudberry_bush": "@foliage", + "tfc:plant/ivy": "@foliage", + "tfc:plant/peach_branch": "@foliage", + "tfc:plant/plum_leaves": "@foliage", + "tfc:plant/cattail": "@foliage", + "tfc:plant/butterfly_milkweed": "@foliage", + "tfc:plant/saguaro": "@foliage", + "tfc:plant/laminaria": "@foliage", + "tfc:plant/poppy": "@foliage", + "tfc:plant/snapdragon_yellow": "@foliage", + "tfc:plant/plum_sapling": "@foliage", + "tfc:plant/olive_sapling": "@foliage", + "tfc:plant/tulip_pink": "@foliage", + "tfc:plant/dead_bush": "@foliage", + "tfc:plant/peach_leaves": "@foliage", + "tfc:plant/canna": "@foliage", + "tfc:plant/green_apple_sapling": "@foliage", + "tfc:plant/orange_sapling": "@foliage", + "tfc:plant/strawberry_bush": "@foliage", + "tfc:plant/raddia_grass": "@foliage", + "tfc:plant/bromegrass": "@foliage", + "tfc:plant/kangaroo_paw": "@foliage", + "tfc:plant/green_apple_growing_branch": "@foliage", + "tfc:plant/gutweed": "@foliage", + "tfc:plant/phragmite": "@foliage", + "tfc:plant/tulip_red": "@foliage", + "tfc:plant/banana_sapling": "@foliage", + "tfc:plant/sword_fern": "@foliage", + "tfc:plant/lemon_growing_branch": "@foliage", + "tfc:plant/elderberry_bush_cane": "@foliage", + "tfc:plant/red_apple_growing_branch": "@foliage", + "tfc:plant/anthurium": "@foliage", + "tfc:plant/goldenrod": "@foliage", + "tfc:plant/peach_growing_branch": "@foliage", + "tfc:plant/elderberry_bush": "@foliage", + "tfc:plant/duckweed": "@foliage", + "tfc:plant/cranberry_bush": "@foliage", + "tfc:plant/field_horsetail": "@foliage", + "tfc:plant/olive_branch": "@foliage", + "tfc:plant/giant_kelp_plant": "@foliage", + "tfc:plant/blood_lily": "@foliage", + "tfc:plant/raspberry_bush": "@foliage", + "tfc:plant/leafy_kelp_plant": "@foliage", + "tfc:plant/orange_branch": "@foliage", + "tfc:plant/allium": "@foliage", + "tfc:plant/lotus": "@foliage", + "tfc:plant/strelitzia": "@foliage", + "tfc:plant/peach_sapling": "@foliage", + "tfc:plant/red_algae": "@foliage", + "tfc:plant/dead_berry_bush": "@foliage", + "tfc:plant/bur_reed": "@foliage", + "tfc:plant/cherry_growing_branch": "@foliage", + "tfc:plant/pulsatilla": "@foliage", + "tfc:plant/orange_leaves": "@foliage", + "tfc:plant/sea_palm": "@foliage", + "tfc:plant/silver_spurflower": "@foliage", + "tfc:plant/coontail": "@foliage", + "tfc:plant/sapphire_tower": "@foliage", + "tfc:plant/scutch_grass": "@foliage", + "tfc:plant/sago": "@foliage", + "tfc:plant/winged_kelp_plant": "@foliage", + "tfc:plant/aspen_krummholz": "@foliage", + "tfc:plant/raspberry_bush_cane": "@foliage", + "tfc:plant/timothy_grass": "@foliage", + "tfc:plant/cobblestone_lichen": "@foliage", + "tfc:plant/snapdragon_pink": "@foliage", + "tfc:plant/red_apple_leaves": "@foliage", + "tfc:plant/winged_kelp": "@foliage", + "tfc:plant/saguaro_plant": "@foliage", + "tfc:plant/sargassum": "@foliage", + "tfc:plant/artists_conk": "@foliage", + "tfc:plant/black_orchid": "@foliage", + "tfc:plant/dry_phragmite_plant": "@foliage", + "tfc:plant/tree_fern_plant": "@foliage", + "tfc:plant/oxeye_daisy": "@foliage", + "tfc:plant/vriesea": "@foliage", + "tfc:plant/toquilla_palm": "@foliage", + "tfc:plant/badderlocks": "@foliage", + "tfc:plant/grape_hyacinth": "@foliage", + "tfc:plant/red_sealing_wax_palm": "@foliage", + "tfc:plant/lemon_sapling": "@foliage", + "tfc:plant/spanish_moss_plant": "@foliage", + "tfc:plant/blueberry_bush_cane": "@foliage", + "tfc:plant/bluegrass": "@foliage", + "tfc:plant/spruce_krummholz": "@foliage", + "tfc:plant/heliconia": "@foliage", + "tfc:plant/water_taro": "@foliage", + "tfc:plant/green_apple_branch": "@foliage", + "tfc:plant/dry_phragmite": "@foliage", + "tfc:plant/barrel_cactus": "@foliage", + "tfc:plant/rose": "@foliage", + "tfc:plant/houstonia": "@foliage", + "tfc:plant/labrador_tea": "@foliage", + "tfc:plant/nasturtium": "@foliage", + "tfc:plant/leafy_kelp": "@foliage", + "tfc:plant/moss": "@foliage", + "tfc:plant/yucca": "@foliage", + "tfc:plant/lemon_leaves": "@foliage", + "tfc:plant/snowberry_bush": "@foliage", + "tfc:plant/orchard_grass": "@foliage", + "tfc:plant/morning_glory": "@foliage", + "tfc:plant/hanging_vines": "@foliage", + "tfc:plant/water_lily": "@foliage", + "tfc:plant/blueberry_bush": "@foliage", + "tfc:plant/blue_orchid": "@foliage", + "tfc:plant/banana_plant": "@foliage", + "tfc:plant/blackberry_bush_cane": "@foliage", + "tfc:plant/reindeer_lichen": "@foliage", + "tfc:plant/athyrium_fern": "@foliage", + "tfc:plant/trillium": "@foliage", + "tfc:plant/white_cedar_krummholz": "@foliage", + "tfc:plant/turtle_grass": "@foliage", + "tfc:plant/arrowhead": "@foliage", + "tfc:plant/blackberry_bush": "@foliage", + "tfc:plant/tall_fescue_grass": "@foliage", + "tfc:plant/blue_ginger": "@foliage", + "tfc:plant/arundo": "@foliage", + "tfc:plant/sacred_datura": "@foliage", + "tfc:plant/tree_fern": "@foliage", + "tfc:plant/heather": "@foliage", + "tfc:plant/foxglove": "@foliage", + "tfc:plant/liana": "@foliage", + "tfc:plant/douglas_fir_krummholz": "@foliage", + "tfc:plant/lemon_branch": "@foliage", + "tfc:plant/giant_kelp_flower": "@foliage", + "tfc:plant/meads_milkweed": "@foliage", + "tfc:plant/tulip_orange": "@foliage", + "tfc:plant/arundo_plant": "@foliage", + "tfc:plant/olive_leaves": "@foliage", + "tfc:plant/pistia": "@foliage", + "tfc:plant/snapdragon_red": "@foliage", + "tfc:plant/water_canna": "@foliage", + "tfc:plant/ryegrass": "@foliage", + "tfc:plant/fountain_grass": "@foliage", + "tfc:plant/bunchberry_bush": "@foliage", + "tfc:plant/lady_fern": "@foliage", + "tfc:plant/dandelion": "@foliage", + "tfc:plant/tulip_white": "@foliage", + "tfc:plant/cherry_leaves": "@foliage", + "tfc:plant/cherry_sapling": "@foliage", + "tfc:plant/orange_growing_branch": "@foliage", + "tfc:plant/dead_banana_plant": "@foliage", + "tfc:plant/star_grass": "@foliage", + "tfc:plant/desert_flame": "@foliage", + "tfc:plant/eel_grass": "@foliage", + "tfc:plant/wintergreen_berry_bush": "@foliage", + "tfc:plant/beachgrass": "@foliage", + "tfc:plant/milfoil": "@foliage", + "tfc:plant/pickerelweed": "@foliage", + "tfc:plant/primrose": "@foliage", + "tfc:plant/sea_lavender": "@foliage", + "tfc:plant/marigold": "@foliage", + "tfc:plant/tropical_milkweed": "@foliage", + "tfc:plant/pampas_grass": "@foliage", + "tfc:plant/ostrich_fern": "@foliage", + "tfc:plant/green_algae": "@foliage", + "tfc:plant/liana_plant": "@foliage", + "tfc:plant/hibiscus": "@foliage", + "tfc:plant/green_apple_leaves": "@foliage", + "tfc:plant/jungle_vines": "@foliage", + "tfc:plant/dead_cane": "@foliage", + "tfc:plant/red_apple_sapling": "@foliage", + "tfc:plant/calendula": "@foliage", + "tfc:plant/plum_growing_branch": "@foliage", + "tfc:plant/snapdragon_white": "@foliage", + "tfc:plant/cherry_branch": "@foliage", + "tfc:plant/plum_branch": "@foliage", + "tfc:plant/lilac": "@foliage", + +//TFC leaves + "tfc:wood/leaves/willow": "@foliage", + "tfc:wood/leaves/acacia": "@foliage", + "tfc:wood/leaves/maple": "@foliage", + "tfc:wood/leaves/douglas_fir": "@foliage", + "tfc:wood/leaves/chestnut": "@foliage", + "tfc:wood/leaves/kapok": "@foliage", + "tfc:wood/leaves/blackwood": "@foliage", + "tfc:wood/leaves/oak": "@foliage", + "tfc:wood/leaves/sequoia": "@foliage", + "tfc:wood/leaves/mangrove": "@foliage", + "tfc:wood/leaves/white_cedar": "@foliage", + "tfc:wood/leaves/ash": "@foliage", + "tfc:wood/leaves/hickory": "@foliage", + "tfc:wood/leaves/birch": "@foliage", + "tfc:wood/leaves/rosewood": "@foliage", + "tfc:wood/leaves/spruce": "@foliage", + "tfc:wood/leaves/palm": "@foliage", + "tfc:wood/leaves/aspen": "@foliage", + "tfc:wood/leaves/pine": "@foliage", + "tfc:wood/leaves/sycamore": "@foliage", + +//TFC fallen leaves + "tfc:wood/fallen_leaves/willow": "@foliage", + "tfc:wood/fallen_leaves/acacia": "@foliage", + "tfc:wood/fallen_leaves/maple": "@foliage", + "tfc:wood/fallen_leaves/douglas_fir": "@foliage", + "tfc:wood/fallen_leaves/chestnut": "@foliage", + "tfc:wood/fallen_leaves/kapok": "@foliage", + "tfc:wood/fallen_leaves/blackwood": "@foliage", + "tfc:wood/fallen_leaves/oak": "@foliage", + "tfc:wood/fallen_leaves/sequoia": "@foliage", + "tfc:wood/fallen_leaves/mangrove": "@foliage", + "tfc:wood/fallen_leaves/white_cedar": "@foliage", + "tfc:wood/fallen_leaves/ash": "@foliage", + "tfc:wood/fallen_leaves/hickory": "@foliage", + "tfc:wood/fallen_leaves/birch": "@foliage", + "tfc:wood/fallen_leaves/rosewood": "@foliage", + "tfc:wood/fallen_leaves/spruce": "@foliage", + "tfc:wood/fallen_leaves/palm": "@foliage", + "tfc:wood/fallen_leaves/aspen": "@foliage", + "tfc:wood/fallen_leaves/pine": "@foliage", + "tfc:wood/fallen_leaves/sycamore": "@foliage" } \ No newline at end of file From e5c0dd2642549e82d0a5de1f0fa79513192eeebf Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 16:10:03 +0000 Subject: [PATCH 299/474] pakku --- pakku-lock.json | 132 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 101 insertions(+), 31 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 318794451..9847ecb03 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -3982,7 +3982,7 @@ "files": [ { "type": "modrinth", - "file_name": "create_connected-1.1.11-mc1.20.1-all.jar", + "file_name": "create_connected-1.1.12-mc1.20.1-all.jar", "mc_versions": [ "1.20.1" ], @@ -3991,22 +3991,22 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/Vg5TIO6d/versions/VjLFXhLl/create_connected-1.1.11-mc1.20.1-all.jar", - "id": "VjLFXhLl", + "url": "https://cdn.modrinth.com/data/Vg5TIO6d/versions/aN0bSww5/create_connected-1.1.12-mc1.20.1-all.jar", + "id": "aN0bSww5", "parent_id": "Vg5TIO6d", "hashes": { - "sha512": "d6f8b57e7944be2caf6df6effd87ec96566ec8d1594b11318b7a62e2cccda8b8b3a4fae7e8e5cb77db050e45697df5e5b3c33ac64077d2723b84f9eb5b92546b", - "sha1": "a513a3fa9c7f3fb76d8f2ce4879e9755d1159477" + "sha512": "197488682615350b777c9f803c58a870fab3f775f044a8c1aae44810b0f9a93a5ff05bc54b1d6a5d962d5b6db78dfb5c33c6cf0e2373f261b89834e0dc2cd67a", + "sha1": "d984c4502c0ed9a997dafc707b3cee2a4a65167e" }, "required_dependencies": [ "LNytGWDc" ], - "size": 6566640, - "date_published": "2026-01-30T13:44:08.705420Z" + "size": 6566880, + "date_published": "2026-02-01T02:48:57.370419Z" }, { "type": "curseforge", - "file_name": "create_connected-1.1.11-mc1.20.1-all.jar", + "file_name": "create_connected-1.1.12-mc1.20.1-all.jar", "mc_versions": [ "1.20.1" ], @@ -4015,18 +4015,18 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7550/633/create_connected-1.1.11-mc1.20.1-all.jar", - "id": "7550633", + "url": "https://edge.forgecdn.net/files/7558/612/create_connected-1.1.12-mc1.20.1-all.jar", + "id": "7558612", "parent_id": "947914", "hashes": { - "sha1": "ceffe02002c5f5b0938ac4d23f5a8b4c14c6b034", - "md5": "07ca1d67374bcd6a8fffa13af1b1a472" + "sha1": "6a27b27ad502429650fa621009daacc876bd3e28", + "md5": "eccd418f036339b09ec505db7a3f82d4" }, "required_dependencies": [ "328085" ], - "size": 6566640, - "date_published": "2026-01-30T13:44:20.473Z" + "size": 6566879, + "date_published": "2026-02-01T02:49:13.020Z" } ] }, @@ -6813,6 +6813,74 @@ } ] }, + { + "pakku_id": "ebnVeibHypJ7c4sE", + "pakku_links": [ + "WN9DdLqsRKVeZIc9" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "gtceu-terminals", + "modrinth": "gtceu-terminals" + }, + "name": { + "curseforge": "GTCEu Terminals", + "modrinth": "GTCEu Terminals" + }, + "id": { + "curseforge": "1423461", + "modrinth": "jIBIhAO2" + }, + "files": [ + { + "type": "curseforge", + "file_name": "gtceuterminal-2.4.5.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7521/437/gtceuterminal-2.4.5.jar", + "id": "7521437", + "parent_id": "1423461", + "hashes": { + "sha1": "d0e5cd6b8d6d5fe89f9e24434c35a61bc0294896", + "md5": "973736c87b451d5eb8d601c27c5c1f65" + }, + "required_dependencies": [ + "890405" + ], + "size": 335658, + "date_published": "2026-01-25T00:45:57.250Z" + }, + { + "type": "modrinth", + "file_name": "gtceuterminal-2.4.5.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/jIBIhAO2/versions/o6tXhJNB/gtceuterminal-2.4.5.jar", + "id": "o6tXhJNB", + "parent_id": "jIBIhAO2", + "hashes": { + "sha512": "acd26244ab41d7e7ee939b3e88127053e0c31217a31274f165750a77862ccc57116cb2dbc0ff9e76139e77f060d25029e6abd2c08f5dc1e75887e05495acd101", + "sha1": "d0e5cd6b8d6d5fe89f9e24434c35a61bc0294896" + }, + "required_dependencies": [ + "7tG215v7" + ], + "size": 335658, + "date_published": "2026-01-25T00:44:44.421732Z" + } + ] + }, { "pakku_id": "ihA4iuyUc3fA0D4q", "type": "MOD", @@ -14840,7 +14908,7 @@ "files": [ { "type": "modrinth", - "file_name": "wab-1.20.1-1.3.2.jar", + "file_name": "wab-1.20.1-1.4.1.jar", "mc_versions": [ "1.20.1" ], @@ -14849,40 +14917,42 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/nWC3kyL3/versions/RY6tjr9r/wab-1.20.1-1.3.2.jar", - "id": "RY6tjr9r", + "url": "https://cdn.modrinth.com/data/nWC3kyL3/versions/OhVjiSa4/wab-1.20.1-1.4.1.jar", + "id": "OhVjiSa4", "parent_id": "nWC3kyL3", "hashes": { - "sha512": "5ac692f7eeaf6d0cdb4fd6131b2bbe30bbb873c28a34b999b37a83b7b0e726ad6fb82138a9fb93f34e40384431fcfa549b41d9fbff845f5554182ca427f4f441", - "sha1": "7298a59e383d2327e2acc49d8f1b132cedb8860b" + "sha512": "419bfbad4ca78e35f16b34ced2dafa2f6e7af51850875e21756523b5b2a04afb9cc5308d11e74c9cda5e48411c59d3d5b4d29df07a63fb2abc796552df3d31a9", + "sha1": "6a9465b15671d7f1ea2f7b3ed44c881065b945f6" }, "required_dependencies": [ "8BmcQJ2H" ], - "size": 9115799, - "date_published": "2025-09-22T20:47:32.603138Z" + "size": 10167907, + "date_published": "2026-01-30T21:19:29.785723Z" }, { "type": "curseforge", - "file_name": "wab-1.20.1-1.3.2.jar", + "file_name": "wab-1.20.1-1.4.1.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", - "forge" + "forge", + "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7023/583/wab-1.20.1-1.3.2.jar", - "id": "7023583", + "url": "https://edge.forgecdn.net/files/7552/366/wab-1.20.1-1.4.1.jar", + "id": "7552366", "parent_id": "1108604", "hashes": { - "sha1": "7298a59e383d2327e2acc49d8f1b132cedb8860b", - "md5": "a3cf1ea1c616b546b586c7415143e5fe" + "sha1": "6a9465b15671d7f1ea2f7b3ed44c881065b945f6", + "md5": "b58604d770735d06b0e105c9105a527a" }, - "required_dependencies": [], - "size": 9115799, - "date_published": "2025-09-22T20:37:11.317Z" + "required_dependencies": [ + "388172" + ], + "size": 10167907, + "date_published": "2026-01-30T21:16:13.643Z" } ] }, From 4ce5226af9353a0eb416d79622d1b4983d5d331c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 16:21:03 +0000 Subject: [PATCH 300/474] fix it for realsies --- .../placed_feature/earth/oil_spout.json | 37 ++++++++++++++----- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json b/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json index f570cfa9b..504765a89 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json @@ -1,23 +1,42 @@ { "feature": { - "type": "minecraft:simple_random_selector", + "type": "minecraft:random_selector", "config": { + "default": { + "feature": { + "type": "minecraft:no_op", + "config": {} + }, + "placement": [] + }, "features": [ { - "feature": "tfg:earth/spouts/oil_spout", - "placement": [] + "chance": 0.4, + "feature": { + "feature": "tfg:earth/spouts/oil_spout", + "placement": [] + } }, { - "feature": "tfg:earth/spouts/light_oil_spout", - "placement": [] + "chance": 0.3, + "feature": { + "feature": "tfg:earth/spouts/light_oil_spout", + "placement": [] + } }, { - "feature": "tfg:earth/spouts/heavy_oil_spout", - "placement": [] + "chance": 0.15, + "feature": { + "feature": "tfg:earth/spouts/heavy_oil_spout", + "placement": [] + } }, { - "feature": "tfg:earth/spouts/raw_oil_spout", - "placement": [] + "chance": 0.15, + "feature": { + "feature": "tfg:earth/spouts/raw_oil_spout", + "placement": [] + } } ] } From 50eff2f5b95232ec63dec12581abf74d7e1a38cc Mon Sep 17 00:00:00 2001 From: TomPlop Date: Sun, 1 Feb 2026 11:52:11 -0500 Subject: [PATCH 301/474] Fission energy rework (#2931) * everything should be fine * Balance early power (#6) * balance update * Add textures * last balance tweaks * more balance * Fix conflicts * Balance early power (#8) * balance update * Add textures * last balance tweaks * Oupsi * more fixes * add changed quests * push latest balance * fix tallow * add btx * Update quests * Oups * Adding some nuclear stuffs so I can merge my branches * Isotopic solvent stuff (#10) * push * fix iconset issue * adding all the textures change * add more stuffs * Push recipes * new stuffs * add stuffs * more changes * add textures and some recipes * tons of change * fix texture * add textures and other stuffs * more recipes * add recycling for fission rods * more recipes * fix fluid textures * comment out FLiBe again and balance rods * fix fluids * some latest fix * fix more texture * more recipe changes * more recipes * some last minute balance changes * add quests * fix conflict * more fixes * fix components * var to const --------- Co-authored-by: Spicy Noodles <93035068+SpicyNoodle5@users.noreply.github.com> --- .../packs/TFG_fix/assets/afc/blockColors.json | 188 ++-- .../packs/TFG_fix/assets/tfc/blockColors.json | 488 ++++----- .../chapters/applied_energistics_2.snbt | 15 - .../quests/chapters/ev__extreme_voltage.snbt | 419 ++++---- .../quests/chapters/gregtech_energy.snbt | 173 +++- .../quests/chapters/hv__high_voltage.snbt | 15 + .../quests/chapters/lv__low_voltage.snbt | 6 +- .../quests/chapters/mv__medium_voltage.snbt | 17 +- .../block/fluids/fluid.dense_steam.png | Bin 2375 -> 14070 bytes .../block/fluids/fluid.dense_steam.png.mcmeta | 42 +- .../block/fluids/fluid.irradiated_steam.png | Bin 6687 -> 12239 bytes .../fluids/fluid.irradiated_steam.png.mcmeta | 42 +- .../block/fluids/fluid.radioactive_steam.png | Bin 2409 -> 14137 bytes .../fluids/fluid.radioactive_steam.png.mcmeta | 42 +- .../block/fluids/fluid.radioactive_waste.png | Bin 9427 -> 9006 bytes .../fluids/fluid.radioactive_waste.png.mcmeta | 66 +- .../block/fluids/fluid.tritiated_water.png | Bin 0 -> 9350 bytes .../fluids/fluid.tritiated_water.png.mcmeta | 5 + .../block/fluids/fluid.uranium_waste.png | Bin 25271 -> 9530 bytes .../fluids/fluid.uranium_waste.png.mcmeta | 84 +- .../tfg/blockstates/heat_battery_mk1.json | 19 + .../uv_smr_fluid_import_hatch.json | 28 + .../block/machines/heat_battery_mk1.json | 90 ++ .../ports/uv_smr_fluid_import_hatch.json | 60 ++ .../models/block/machines/smr_generator.json | 32 +- .../tfg/models/item/americium_241_rod.json | 6 + .../tfg/models/item/californium_252_rod.json | 6 + .../item/depleted_americium_241_rod.json | 6 + .../item/depleted_californium_252_rod.json | 6 + .../item/depleted_neptunium_237_rod.json | 6 + .../models/item/depleted_plutonium_rod.json | 6 + .../tfg/models/item/depleted_tbu_232_rod.json | 6 + .../tfg/models/item/depleted_thorium_rod.json | 6 + .../tfg/models/item/depleted_uranium_rod.json | 6 + kubejs/assets/tfg/models/item/empty_rod.json | 2 +- .../tfg/models/item/heat_battery_mk1.json | 3 + .../tfg/models/item/neptunium_237_rod.json | 6 + .../assets/tfg/models/item/plutonium_rod.json | 2 +- .../assets/tfg/models/item/tbu_232_rod.json | 2 +- .../assets/tfg/models/item/thorium_rod.json | 2 +- .../assets/tfg/models/item/uranium_rod.json | 2 +- .../item/uv_smr_fluid_import_hatch.json | 3 + .../fluids/fluid.boron_enriched_coolant.png | Bin 0 -> 14469 bytes .../fluid.boron_enriched_coolant.png.mcmeta | 5 + .../block/fluids/fluid.critical_steam.png | Bin 0 -> 15852 bytes .../fluids/fluid.critical_steam.png.mcmeta | 5 + ...d.degraded_high_grade_isotopic_solvent.png | Bin 0 -> 12880 bytes ...ded_high_grade_isotopic_solvent.png.mcmeta | 5 + .../fluids/fluid.degraded_solvent_stream.png | Bin 0 -> 13459 bytes .../fluid.degraded_solvent_stream.png.mcmeta | 5 + .../tfg/textures/block/fluids/fluid.flibe.png | Bin 0 -> 4925 bytes .../block/fluids/fluid.flibe.png.mcmeta | 5 + .../block/fluids/fluid.heavy_water.png | Bin 0 -> 3505 bytes .../block/fluids/fluid.heavy_water.png.mcmeta | 5 + .../fluid.high_grade_isotopic_solvent.png | Bin 0 -> 11281 bytes ...uid.high_grade_isotopic_solvent.png.mcmeta | 5 + .../fluid.hot_boron_enriched_coolant.png | Bin 0 -> 15649 bytes ...luid.hot_boron_enriched_coolant.png.mcmeta | 5 + .../textures/block/fluids/fluid.hot_flibe.png | Bin 0 -> 15590 bytes .../block/fluids/fluid.hot_flibe.png.mcmeta | 5 + .../block/fluids/fluid.isotopic_solvent.png | Bin 0 -> 13200 bytes .../fluids/fluid.isotopic_solvent.png.mcmeta | 5 + ...id.spent_ticl4_doped_supercritical_co2.png | Bin 0 -> 16056 bytes ...t_ticl4_doped_supercritical_co2.png.mcmeta | 5 + .../textures/block/fluids/fluid.tbu_waste.png | Bin 0 -> 9095 bytes .../block/fluids/fluid.tbu_waste.png.mcmeta | 5 + .../fluid.ticl4_doped_supercritical_co2.png | Bin 0 -> 14008 bytes ...d.ticl4_doped_supercritical_co2.png.mcmeta | 5 + .../block/machines/smr/overlay_front.png | Bin 0 -> 4653 bytes .../machines/smr/overlay_front_active.png | Bin 0 -> 5478 bytes .../smr/overlay_front_active.png.mcmeta | 5 + .../machines/smr/overlay_front_paused.png | Bin 0 -> 4714 bytes .../item/fission_rod/americium_241_rod.png | Bin 0 -> 1404 bytes .../fission_rod/americium_241_rod.png.mcmeta | 1 + .../americium_241_rod_depleted.png | Bin 0 -> 2155 bytes .../americium_241_rod_depleted.png.mcmeta | 1 + .../item/fission_rod/californium_252_rod.png | Bin 0 -> 1116 bytes .../californium_252_rod.png.mcmeta} | 0 .../californium_252_rod_depleted.png | Bin 0 -> 1604 bytes .../californium_252_rod_depleted.png.mcmeta | 1 + .../item/{ => fission_rod}/fuel_rod_empty.png | Bin .../item/fission_rod/fuel_rod_empty_t2.png | Bin 0 -> 328 bytes .../item/fission_rod/fuel_rod_empty_t3.png | Bin 0 -> 328 bytes .../item/fission_rod/neptunium_237_rod.png | Bin 0 -> 1141 bytes .../neptunium_237_rod.png.mcmeta} | 0 .../neptunium_237_rod_depleted.png | Bin 0 -> 1642 bytes .../neptunium_237_rod_depleted.png.mcmeta | 1 + .../plutonium_rod.png} | Bin .../plutonium_rod.png.mcmeta} | 0 .../fission_rod/plutonium_rod_depleted.png | Bin 0 -> 1694 bytes .../plutonium_rod_depleted.png.mcmeta | 1 + .../tfg/textures/item/fission_rod/tbu_rod.png | Bin 0 -> 1165 bytes .../tbu_rod.png.mcmeta} | 0 .../item/fission_rod/tbu_rod_depleted.png | Bin 0 -> 1606 bytes .../fission_rod/tbu_rod_depleted.png.mcmeta | 1 + .../thorium_rod.png} | Bin .../thorium_rod.png.mcmeta} | 0 .../item/fission_rod/thorium_rod_depleted.png | Bin 0 -> 1664 bytes .../thorium_rod_depleted.png.mcmeta | 1 + .../{ => fission_rod/unused}/fuel_rod_p_2.png | Bin .../unused/fuel_rod_p_2.png.mcmeta} | 0 .../{ => fission_rod/unused}/fuel_rod_p_4.png | Bin .../unused/fuel_rod_p_4.png.mcmeta} | 0 .../{ => fission_rod/unused}/fuel_rod_t_2.png | Bin .../unused/fuel_rod_t_2.png.mcmeta} | 0 .../{ => fission_rod/unused}/fuel_rod_t_4.png | Bin .../unused/fuel_rod_t_4.png.mcmeta} | 0 .../unused}/fuel_rod_tbu_2.png | Bin .../unused/fuel_rod_tbu_2.png.mcmeta} | 0 .../unused}/fuel_rod_tbu_4.png | Bin .../unused/fuel_rod_tbu_4.png.mcmeta} | 0 .../{ => fission_rod/unused}/fuel_rod_u_2.png | Bin .../unused/fuel_rod_u_2.png.mcmeta} | 0 .../{ => fission_rod/unused}/fuel_rod_u_4.png | Bin .../unused/fuel_rod_u_4.png.mcmeta | 1 + .../uranium_rod.png} | Bin .../item/fission_rod/uranium_rod.png.mcmeta | 1 + .../item/fission_rod/uranium_rod_depleted.png | Bin 0 -> 1698 bytes .../uranium_rod_depleted.png.mcmeta | 1 + .../assets/tfg/textures/item/fuel_rod_t_1.png | Bin 1062 -> 0 bytes .../tfg/textures/item/terrafirmaguard_pa6.png | Bin 0 -> 2564 bytes .../item/terrafirmaguard_pa6.png.mcmeta | 5 + kubejs/client_scripts/tooltips.js | 3 + kubejs/server_scripts/gregtech/recipes.js | 27 +- .../server_scripts/gtceu_terminal/recipes.js | 50 + kubejs/server_scripts/main_server_script.js | 1 + .../tfg/machines/recipes.casings.js | 30 +- .../tfg/machines/recipes.coils.js | 17 + .../tfg/machines/recipes.multiblocks.js | 47 +- .../server_scripts/tfg/mars/recipes.ostrum.js | 158 ++- .../powergen/nuclear/recipes.components.js | 12 +- .../tfg/powergen/nuclear/recipes.nuclear.js | 934 ++++++++++++++++-- .../tfg/powergen/nuclear/tags.nuclear.js | 23 +- .../tfg/powergen/recipes.early_gas.js | 19 +- .../tfg/powergen/recipes.power_gen_balance.js | 101 ++ kubejs/server_scripts/tfg/recipes.js | 1 + .../tfg/recipes.miscellaneous.js | 47 + kubejs/startup_scripts/gtceu/machines.js | 3 +- .../gtceu/material_modification.js | 8 +- kubejs/startup_scripts/gtceu/recipe_types.js | 6 +- kubejs/startup_scripts/tfg/element.js | 36 +- kubejs/startup_scripts/tfg/fluids.js | 5 + .../tfg/mars/materials.mars.js | 7 +- kubejs/startup_scripts/tfg/materials.js | 10 + .../tfg/nuclear/items.nuclear.js | 19 +- kubejs/startup_scripts/tfg/nuclear/machine.js | 8 + .../tfg/nuclear/materials.nuclear.js | 260 +++-- 147 files changed, 2711 insertions(+), 1113 deletions(-) create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.tritiated_water.png create mode 100644 kubejs/assets/gtceu/textures/block/fluids/fluid.tritiated_water.png.mcmeta create mode 100644 kubejs/assets/tfg/blockstates/heat_battery_mk1.json create mode 100644 kubejs/assets/tfg/blockstates/uv_smr_fluid_import_hatch.json create mode 100644 kubejs/assets/tfg/models/block/machines/heat_battery_mk1.json create mode 100644 kubejs/assets/tfg/models/block/machines/ports/uv_smr_fluid_import_hatch.json create mode 100644 kubejs/assets/tfg/models/item/americium_241_rod.json create mode 100644 kubejs/assets/tfg/models/item/californium_252_rod.json create mode 100644 kubejs/assets/tfg/models/item/depleted_americium_241_rod.json create mode 100644 kubejs/assets/tfg/models/item/depleted_californium_252_rod.json create mode 100644 kubejs/assets/tfg/models/item/depleted_neptunium_237_rod.json create mode 100644 kubejs/assets/tfg/models/item/depleted_plutonium_rod.json create mode 100644 kubejs/assets/tfg/models/item/depleted_tbu_232_rod.json create mode 100644 kubejs/assets/tfg/models/item/depleted_thorium_rod.json create mode 100644 kubejs/assets/tfg/models/item/depleted_uranium_rod.json create mode 100644 kubejs/assets/tfg/models/item/heat_battery_mk1.json create mode 100644 kubejs/assets/tfg/models/item/neptunium_237_rod.json create mode 100644 kubejs/assets/tfg/models/item/uv_smr_fluid_import_hatch.json create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.boron_enriched_coolant.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.boron_enriched_coolant.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.critical_steam.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.critical_steam.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.degraded_high_grade_isotopic_solvent.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.degraded_high_grade_isotopic_solvent.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.degraded_solvent_stream.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.degraded_solvent_stream.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.flibe.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.flibe.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.heavy_water.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.heavy_water.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.high_grade_isotopic_solvent.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.high_grade_isotopic_solvent.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.hot_boron_enriched_coolant.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.hot_boron_enriched_coolant.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.hot_flibe.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.hot_flibe.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.isotopic_solvent.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.isotopic_solvent.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.spent_ticl4_doped_supercritical_co2.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.spent_ticl4_doped_supercritical_co2.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.tbu_waste.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.tbu_waste.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.ticl4_doped_supercritical_co2.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.ticl4_doped_supercritical_co2.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/machines/smr/overlay_front.png create mode 100644 kubejs/assets/tfg/textures/block/machines/smr/overlay_front_active.png create mode 100644 kubejs/assets/tfg/textures/block/machines/smr/overlay_front_active.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/machines/smr/overlay_front_paused.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/americium_241_rod.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/americium_241_rod.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/americium_241_rod_depleted.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/americium_241_rod_depleted.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod.png rename kubejs/assets/tfg/textures/item/{fuel_rod_p_1.png.mcmeta => fission_rod/californium_252_rod.png.mcmeta} (100%) create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod_depleted.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod_depleted.png.mcmeta rename kubejs/assets/tfg/textures/item/{ => fission_rod}/fuel_rod_empty.png (100%) create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/fuel_rod_empty_t2.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/fuel_rod_empty_t3.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod.png rename kubejs/assets/tfg/textures/item/{fuel_rod_p_2.png.mcmeta => fission_rod/neptunium_237_rod.png.mcmeta} (100%) create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod_depleted.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod_depleted.png.mcmeta rename kubejs/assets/tfg/textures/item/{fuel_rod_p_1.png => fission_rod/plutonium_rod.png} (100%) rename kubejs/assets/tfg/textures/item/{fuel_rod_p_4.png.mcmeta => fission_rod/plutonium_rod.png.mcmeta} (100%) create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/plutonium_rod_depleted.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/plutonium_rod_depleted.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/tbu_rod.png rename kubejs/assets/tfg/textures/item/{fuel_rod_t_1.png.mcmeta => fission_rod/tbu_rod.png.mcmeta} (100%) create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/tbu_rod_depleted.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/tbu_rod_depleted.png.mcmeta rename kubejs/assets/tfg/textures/item/{fuel_rod_tbu_1.png => fission_rod/thorium_rod.png} (100%) rename kubejs/assets/tfg/textures/item/{fuel_rod_t_2.png.mcmeta => fission_rod/thorium_rod.png.mcmeta} (100%) create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/thorium_rod_depleted.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/thorium_rod_depleted.png.mcmeta rename kubejs/assets/tfg/textures/item/{ => fission_rod/unused}/fuel_rod_p_2.png (100%) rename kubejs/assets/tfg/textures/item/{fuel_rod_t_4.png.mcmeta => fission_rod/unused/fuel_rod_p_2.png.mcmeta} (100%) rename kubejs/assets/tfg/textures/item/{ => fission_rod/unused}/fuel_rod_p_4.png (100%) rename kubejs/assets/tfg/textures/item/{fuel_rod_tbu_1.png.mcmeta => fission_rod/unused/fuel_rod_p_4.png.mcmeta} (100%) rename kubejs/assets/tfg/textures/item/{ => fission_rod/unused}/fuel_rod_t_2.png (100%) rename kubejs/assets/tfg/textures/item/{fuel_rod_tbu_2.png.mcmeta => fission_rod/unused/fuel_rod_t_2.png.mcmeta} (100%) rename kubejs/assets/tfg/textures/item/{ => fission_rod/unused}/fuel_rod_t_4.png (100%) rename kubejs/assets/tfg/textures/item/{fuel_rod_tbu_4.png.mcmeta => fission_rod/unused/fuel_rod_t_4.png.mcmeta} (100%) rename kubejs/assets/tfg/textures/item/{ => fission_rod/unused}/fuel_rod_tbu_2.png (100%) rename kubejs/assets/tfg/textures/item/{fuel_rod_u_1.png.mcmeta => fission_rod/unused/fuel_rod_tbu_2.png.mcmeta} (100%) rename kubejs/assets/tfg/textures/item/{ => fission_rod/unused}/fuel_rod_tbu_4.png (100%) rename kubejs/assets/tfg/textures/item/{fuel_rod_u_2.png.mcmeta => fission_rod/unused/fuel_rod_tbu_4.png.mcmeta} (100%) rename kubejs/assets/tfg/textures/item/{ => fission_rod/unused}/fuel_rod_u_2.png (100%) rename kubejs/assets/tfg/textures/item/{fuel_rod_u_4.png.mcmeta => fission_rod/unused/fuel_rod_u_2.png.mcmeta} (100%) rename kubejs/assets/tfg/textures/item/{ => fission_rod/unused}/fuel_rod_u_4.png (100%) create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_4.png.mcmeta rename kubejs/assets/tfg/textures/item/{fuel_rod_u_1.png => fission_rod/uranium_rod.png} (100%) create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/uranium_rod.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/uranium_rod_depleted.png create mode 100644 kubejs/assets/tfg/textures/item/fission_rod/uranium_rod_depleted.png.mcmeta delete mode 100644 kubejs/assets/tfg/textures/item/fuel_rod_t_1.png create mode 100644 kubejs/assets/tfg/textures/item/terrafirmaguard_pa6.png create mode 100644 kubejs/assets/tfg/textures/item/terrafirmaguard_pa6.png.mcmeta create mode 100644 kubejs/server_scripts/gtceu_terminal/recipes.js create mode 100644 kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js create mode 100644 kubejs/startup_scripts/tfg/nuclear/machine.js diff --git a/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json b/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json index 493aef425..3aaaa1ee5 100644 --- a/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json +++ b/config/bluemap/packs/TFG_fix/assets/afc/blockColors.json @@ -1,95 +1,95 @@ -{ -//AFC leaves - "afc:wood/leaves/boabab": "@foliage", - "afc:wood/leaves/eucalyptus": "@foliage", - "afc:wood/leaves/mahogany": "@foliage", - "afc:wood/leaves/hevea": "@foliage", - "afc:wood/leaves/tualang": "@foliage", - "afc:wood/leaves/teak": "@foliage", - "afc:wood/leaves/cypress": "@foliage", - "afc:wood/leaves/fig": "@foliage", - "afc:wood/leaves/ironwood": "@foliage", - "afc:wood/leaves/ipe": "@foliage", - "afc:wood/leaves/gum_arabic": "@foliage", - "afc:wood/leaves/acacia_koa": "@foliage", - "afc:wood/leaves/poplar": "@foliage", - "afc:wood/leaves/mpingo_blackwood": "@foliage", - "afc:wood/leaves/mountain_fir": "@foliage", - "afc:wood/leaves/balsam_fir": "@foliage", - "afc:wood/leaves/scrub_hickory": "@foliage", - "afc:wood/leaves/red_silk_cotton": "@foliage", - "afc:wood/leaves/bigleaf_maple": "@foliage", - "afc:wood/leaves/weeping_maple": "@foliage", - "afc:wood/leaves/black_oak": "@foliage", - "afc:wood/leaves/live_oak": "@foliage", - "afc:wood/leaves/jaggery_palm": "@foliage", - "afc:wood/leaves/stone_pine": "@foliage", - "afc:wood/leaves/red_pine": "@foliage", - "afc:wood/leaves/tamarack": "@foliage", - "afc:wood/leaves/giant_rosewood": "@foliage", - "afc:wood/leaves/coast_redwood": "@foliage", - "afc:wood/leaves/coast_spruce": "@foliage", - "afc:wood/leaves/sitka_spruce": "@foliage", - "afc:wood/leaves/black_spruce": "@foliage", - "afc:wood/leaves/atlas_cedar": "@foliage", - "afc:wood/leaves/weeping_willow": "@foliage", - "afc:wood/leaves/rainbow_eucalyptus": "@foliage", - "afc:wood/leaves/mountain_ash": "@foliage", - "afc:wood/leaves/rubber_fig": "@foliage", - "afc:wood/leaves/redcedar": "@foliage", - "afc:wood/leaves/weeping_cypress": "@foliage", - "afc:wood/leaves/bald_cypress": "@foliage", - "afc:wood/leaves/sapele_mahogany": "@foliage", - "afc:wood/leaves/small_leaf_mahogany": "@foliage", - "afc:wood/leaves/iroko_teak": "@foliage", - "afc:wood/leaves/flame_of_the_forest": "@foliage", - "afc:wood/leaves/lebombo_ironwood": "@foliage", - "afc:wood/leaves/horsetail_ironwood": "@foliage", - -//AFC fallen_leaves - "afc:wood/fallen_leaves/boabab": "@foliage", - "afc:wood/fallen_leaves/eucalyptus": "@foliage", - "afc:wood/fallen_leaves/mahogany": "@foliage", - "afc:wood/fallen_leaves/hevea": "@foliage", - "afc:wood/fallen_leaves/tualang": "@foliage", - "afc:wood/fallen_leaves/teak": "@foliage", - "afc:wood/fallen_leaves/cypress": "@foliage", - "afc:wood/fallen_leaves/fig": "@foliage", - "afc:wood/fallen_leaves/ironwood": "@foliage", - "afc:wood/fallen_leaves/ipe": "@foliage", - "afc:wood/fallen_leaves/gum_arabic": "@foliage", - "afc:wood/fallen_leaves/acacia_koa": "@foliage", - "afc:wood/fallen_leaves/poplar": "@foliage", - "afc:wood/fallen_leaves/mpingo_blackwood": "@foliage", - "afc:wood/fallen_leaves/mountain_fir": "@foliage", - "afc:wood/fallen_leaves/balsam_fir": "@foliage", - "afc:wood/fallen_leaves/scrub_hickory": "@foliage", - "afc:wood/fallen_leaves/red_silk_cotton": "@foliage", - "afc:wood/fallen_leaves/bigleaf_maple": "@foliage", - "afc:wood/fallen_leaves/weeping_maple": "@foliage", - "afc:wood/fallen_leaves/black_oak": "@foliage", - "afc:wood/fallen_leaves/live_oak": "@foliage", - "afc:wood/fallen_leaves/jaggery_palm": "@foliage", - "afc:wood/fallen_leaves/stone_pine": "@foliage", - "afc:wood/fallen_leaves/red_pine": "@foliage", - "afc:wood/fallen_leaves/tamarack": "@foliage", - "afc:wood/fallen_leaves/giant_rosewood": "@foliage", - "afc:wood/fallen_leaves/coast_redwood": "@foliage", - "afc:wood/fallen_leaves/coast_spruce": "@foliage", - "afc:wood/fallen_leaves/sitka_spruce": "@foliage", - "afc:wood/fallen_leaves/black_spruce": "@foliage", - "afc:wood/fallen_leaves/atlas_cedar": "@foliage", - "afc:wood/fallen_leaves/weeping_willow": "@foliage", - "afc:wood/fallen_leaves/rainbow_eucalyptus": "@foliage", - "afc:wood/fallen_leaves/mountain_ash": "@foliage", - "afc:wood/fallen_leaves/rubber_fig": "@foliage", - "afc:wood/fallen_leaves/redcedar": "@foliage", - "afc:wood/fallen_leaves/weeping_cypress": "@foliage", - "afc:wood/fallen_leaves/bald_cypress": "@foliage", - "afc:wood/fallen_leaves/sapele_mahogany": "@foliage", - "afc:wood/fallen_leaves/small_leaf_mahogany": "@foliage", - "afc:wood/fallen_leaves/iroko_teak": "@foliage", - "afc:wood/fallen_leaves/flame_of_the_forest": "@foliage", - "afc:wood/fallen_leaves/lebombo_ironwood": "@foliage", - "afc:wood/fallen_leaves/horsetail_ironwood": "@foliage", +{ +//AFC leaves + "afc:wood/leaves/boabab": "@foliage", + "afc:wood/leaves/eucalyptus": "@foliage", + "afc:wood/leaves/mahogany": "@foliage", + "afc:wood/leaves/hevea": "@foliage", + "afc:wood/leaves/tualang": "@foliage", + "afc:wood/leaves/teak": "@foliage", + "afc:wood/leaves/cypress": "@foliage", + "afc:wood/leaves/fig": "@foliage", + "afc:wood/leaves/ironwood": "@foliage", + "afc:wood/leaves/ipe": "@foliage", + "afc:wood/leaves/gum_arabic": "@foliage", + "afc:wood/leaves/acacia_koa": "@foliage", + "afc:wood/leaves/poplar": "@foliage", + "afc:wood/leaves/mpingo_blackwood": "@foliage", + "afc:wood/leaves/mountain_fir": "@foliage", + "afc:wood/leaves/balsam_fir": "@foliage", + "afc:wood/leaves/scrub_hickory": "@foliage", + "afc:wood/leaves/red_silk_cotton": "@foliage", + "afc:wood/leaves/bigleaf_maple": "@foliage", + "afc:wood/leaves/weeping_maple": "@foliage", + "afc:wood/leaves/black_oak": "@foliage", + "afc:wood/leaves/live_oak": "@foliage", + "afc:wood/leaves/jaggery_palm": "@foliage", + "afc:wood/leaves/stone_pine": "@foliage", + "afc:wood/leaves/red_pine": "@foliage", + "afc:wood/leaves/tamarack": "@foliage", + "afc:wood/leaves/giant_rosewood": "@foliage", + "afc:wood/leaves/coast_redwood": "@foliage", + "afc:wood/leaves/coast_spruce": "@foliage", + "afc:wood/leaves/sitka_spruce": "@foliage", + "afc:wood/leaves/black_spruce": "@foliage", + "afc:wood/leaves/atlas_cedar": "@foliage", + "afc:wood/leaves/weeping_willow": "@foliage", + "afc:wood/leaves/rainbow_eucalyptus": "@foliage", + "afc:wood/leaves/mountain_ash": "@foliage", + "afc:wood/leaves/rubber_fig": "@foliage", + "afc:wood/leaves/redcedar": "@foliage", + "afc:wood/leaves/weeping_cypress": "@foliage", + "afc:wood/leaves/bald_cypress": "@foliage", + "afc:wood/leaves/sapele_mahogany": "@foliage", + "afc:wood/leaves/small_leaf_mahogany": "@foliage", + "afc:wood/leaves/iroko_teak": "@foliage", + "afc:wood/leaves/flame_of_the_forest": "@foliage", + "afc:wood/leaves/lebombo_ironwood": "@foliage", + "afc:wood/leaves/horsetail_ironwood": "@foliage", + +//AFC fallen_leaves + "afc:wood/fallen_leaves/boabab": "@foliage", + "afc:wood/fallen_leaves/eucalyptus": "@foliage", + "afc:wood/fallen_leaves/mahogany": "@foliage", + "afc:wood/fallen_leaves/hevea": "@foliage", + "afc:wood/fallen_leaves/tualang": "@foliage", + "afc:wood/fallen_leaves/teak": "@foliage", + "afc:wood/fallen_leaves/cypress": "@foliage", + "afc:wood/fallen_leaves/fig": "@foliage", + "afc:wood/fallen_leaves/ironwood": "@foliage", + "afc:wood/fallen_leaves/ipe": "@foliage", + "afc:wood/fallen_leaves/gum_arabic": "@foliage", + "afc:wood/fallen_leaves/acacia_koa": "@foliage", + "afc:wood/fallen_leaves/poplar": "@foliage", + "afc:wood/fallen_leaves/mpingo_blackwood": "@foliage", + "afc:wood/fallen_leaves/mountain_fir": "@foliage", + "afc:wood/fallen_leaves/balsam_fir": "@foliage", + "afc:wood/fallen_leaves/scrub_hickory": "@foliage", + "afc:wood/fallen_leaves/red_silk_cotton": "@foliage", + "afc:wood/fallen_leaves/bigleaf_maple": "@foliage", + "afc:wood/fallen_leaves/weeping_maple": "@foliage", + "afc:wood/fallen_leaves/black_oak": "@foliage", + "afc:wood/fallen_leaves/live_oak": "@foliage", + "afc:wood/fallen_leaves/jaggery_palm": "@foliage", + "afc:wood/fallen_leaves/stone_pine": "@foliage", + "afc:wood/fallen_leaves/red_pine": "@foliage", + "afc:wood/fallen_leaves/tamarack": "@foliage", + "afc:wood/fallen_leaves/giant_rosewood": "@foliage", + "afc:wood/fallen_leaves/coast_redwood": "@foliage", + "afc:wood/fallen_leaves/coast_spruce": "@foliage", + "afc:wood/fallen_leaves/sitka_spruce": "@foliage", + "afc:wood/fallen_leaves/black_spruce": "@foliage", + "afc:wood/fallen_leaves/atlas_cedar": "@foliage", + "afc:wood/fallen_leaves/weeping_willow": "@foliage", + "afc:wood/fallen_leaves/rainbow_eucalyptus": "@foliage", + "afc:wood/fallen_leaves/mountain_ash": "@foliage", + "afc:wood/fallen_leaves/rubber_fig": "@foliage", + "afc:wood/fallen_leaves/redcedar": "@foliage", + "afc:wood/fallen_leaves/weeping_cypress": "@foliage", + "afc:wood/fallen_leaves/bald_cypress": "@foliage", + "afc:wood/fallen_leaves/sapele_mahogany": "@foliage", + "afc:wood/fallen_leaves/small_leaf_mahogany": "@foliage", + "afc:wood/fallen_leaves/iroko_teak": "@foliage", + "afc:wood/fallen_leaves/flame_of_the_forest": "@foliage", + "afc:wood/fallen_leaves/lebombo_ironwood": "@foliage", + "afc:wood/fallen_leaves/horsetail_ironwood": "@foliage", } \ No newline at end of file diff --git a/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json b/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json index 37afc305b..33a0419a6 100644 --- a/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json +++ b/config/bluemap/packs/TFG_fix/assets/tfc/blockColors.json @@ -1,245 +1,245 @@ -{ -//TFC plants - "tfc:peat_grass": "@grass", - "tfc:kaolin_clay_grass": "@grass", - "tfc:grass/silt": "@grass", - "tfc:clay_grass/silt": "@grass", - "tfc:grass/loam": "@grass", - "tfc:clay_grass/loam": "@grass", - "tfc:grass/sandy": "@grass", - "tfc:clay_grass/sandy": "@grass", - "tfc:grass/silty_loam": "@grass", - "tfc:clay_grass/silty_loam": "@grass", - "tfc:grass/sandy_loam": "@grass", - "tfc:clay_grass/sandy_loam": "@grass", - "tfc:plant/sagebrush": "@foliage", - "tfc:plant/cordgrass": "@foliage", - "tfc:plant/guzmania": "@foliage", - "tfc:plant/pine_krummholz": "@foliage", - "tfc:plant/king_fern": "@foliage", - "tfc:plant/perovskia": "@foliage", - "tfc:plant/gooseberry_bush": "@foliage", - "tfc:plant/saguaro_fruit": "@foliage", - "tfc:plant/olive_growing_branch": "@foliage", - "tfc:plant/manatee_grass": "@foliage", - "tfc:plant/spanish_moss": "@foliage", - "tfc:plant/hanging_vines_plant": "@foliage", - "tfc:plant/philodendron": "@foliage", - "tfc:plant/maiden_pink": "@foliage", - "tfc:plant/switchgrass": "@foliage", - "tfc:plant/red_apple_branch": "@foliage", - "tfc:plant/lily_of_the_valley": "@foliage", - "tfc:plant/licorice_fern": "@foliage", - "tfc:plant/cloudberry_bush": "@foliage", - "tfc:plant/ivy": "@foliage", - "tfc:plant/peach_branch": "@foliage", - "tfc:plant/plum_leaves": "@foliage", - "tfc:plant/cattail": "@foliage", - "tfc:plant/butterfly_milkweed": "@foliage", - "tfc:plant/saguaro": "@foliage", - "tfc:plant/laminaria": "@foliage", - "tfc:plant/poppy": "@foliage", - "tfc:plant/snapdragon_yellow": "@foliage", - "tfc:plant/plum_sapling": "@foliage", - "tfc:plant/olive_sapling": "@foliage", - "tfc:plant/tulip_pink": "@foliage", - "tfc:plant/dead_bush": "@foliage", - "tfc:plant/peach_leaves": "@foliage", - "tfc:plant/canna": "@foliage", - "tfc:plant/green_apple_sapling": "@foliage", - "tfc:plant/orange_sapling": "@foliage", - "tfc:plant/strawberry_bush": "@foliage", - "tfc:plant/raddia_grass": "@foliage", - "tfc:plant/bromegrass": "@foliage", - "tfc:plant/kangaroo_paw": "@foliage", - "tfc:plant/green_apple_growing_branch": "@foliage", - "tfc:plant/gutweed": "@foliage", - "tfc:plant/phragmite": "@foliage", - "tfc:plant/tulip_red": "@foliage", - "tfc:plant/banana_sapling": "@foliage", - "tfc:plant/sword_fern": "@foliage", - "tfc:plant/lemon_growing_branch": "@foliage", - "tfc:plant/elderberry_bush_cane": "@foliage", - "tfc:plant/red_apple_growing_branch": "@foliage", - "tfc:plant/anthurium": "@foliage", - "tfc:plant/goldenrod": "@foliage", - "tfc:plant/peach_growing_branch": "@foliage", - "tfc:plant/elderberry_bush": "@foliage", - "tfc:plant/duckweed": "@foliage", - "tfc:plant/cranberry_bush": "@foliage", - "tfc:plant/field_horsetail": "@foliage", - "tfc:plant/olive_branch": "@foliage", - "tfc:plant/giant_kelp_plant": "@foliage", - "tfc:plant/blood_lily": "@foliage", - "tfc:plant/raspberry_bush": "@foliage", - "tfc:plant/leafy_kelp_plant": "@foliage", - "tfc:plant/orange_branch": "@foliage", - "tfc:plant/allium": "@foliage", - "tfc:plant/lotus": "@foliage", - "tfc:plant/strelitzia": "@foliage", - "tfc:plant/peach_sapling": "@foliage", - "tfc:plant/red_algae": "@foliage", - "tfc:plant/dead_berry_bush": "@foliage", - "tfc:plant/bur_reed": "@foliage", - "tfc:plant/cherry_growing_branch": "@foliage", - "tfc:plant/pulsatilla": "@foliage", - "tfc:plant/orange_leaves": "@foliage", - "tfc:plant/sea_palm": "@foliage", - "tfc:plant/silver_spurflower": "@foliage", - "tfc:plant/coontail": "@foliage", - "tfc:plant/sapphire_tower": "@foliage", - "tfc:plant/scutch_grass": "@foliage", - "tfc:plant/sago": "@foliage", - "tfc:plant/winged_kelp_plant": "@foliage", - "tfc:plant/aspen_krummholz": "@foliage", - "tfc:plant/raspberry_bush_cane": "@foliage", - "tfc:plant/timothy_grass": "@foliage", - "tfc:plant/cobblestone_lichen": "@foliage", - "tfc:plant/snapdragon_pink": "@foliage", - "tfc:plant/red_apple_leaves": "@foliage", - "tfc:plant/winged_kelp": "@foliage", - "tfc:plant/saguaro_plant": "@foliage", - "tfc:plant/sargassum": "@foliage", - "tfc:plant/artists_conk": "@foliage", - "tfc:plant/black_orchid": "@foliage", - "tfc:plant/dry_phragmite_plant": "@foliage", - "tfc:plant/tree_fern_plant": "@foliage", - "tfc:plant/oxeye_daisy": "@foliage", - "tfc:plant/vriesea": "@foliage", - "tfc:plant/toquilla_palm": "@foliage", - "tfc:plant/badderlocks": "@foliage", - "tfc:plant/grape_hyacinth": "@foliage", - "tfc:plant/red_sealing_wax_palm": "@foliage", - "tfc:plant/lemon_sapling": "@foliage", - "tfc:plant/spanish_moss_plant": "@foliage", - "tfc:plant/blueberry_bush_cane": "@foliage", - "tfc:plant/bluegrass": "@foliage", - "tfc:plant/spruce_krummholz": "@foliage", - "tfc:plant/heliconia": "@foliage", - "tfc:plant/water_taro": "@foliage", - "tfc:plant/green_apple_branch": "@foliage", - "tfc:plant/dry_phragmite": "@foliage", - "tfc:plant/barrel_cactus": "@foliage", - "tfc:plant/rose": "@foliage", - "tfc:plant/houstonia": "@foliage", - "tfc:plant/labrador_tea": "@foliage", - "tfc:plant/nasturtium": "@foliage", - "tfc:plant/leafy_kelp": "@foliage", - "tfc:plant/moss": "@foliage", - "tfc:plant/yucca": "@foliage", - "tfc:plant/lemon_leaves": "@foliage", - "tfc:plant/snowberry_bush": "@foliage", - "tfc:plant/orchard_grass": "@foliage", - "tfc:plant/morning_glory": "@foliage", - "tfc:plant/hanging_vines": "@foliage", - "tfc:plant/water_lily": "@foliage", - "tfc:plant/blueberry_bush": "@foliage", - "tfc:plant/blue_orchid": "@foliage", - "tfc:plant/banana_plant": "@foliage", - "tfc:plant/blackberry_bush_cane": "@foliage", - "tfc:plant/reindeer_lichen": "@foliage", - "tfc:plant/athyrium_fern": "@foliage", - "tfc:plant/trillium": "@foliage", - "tfc:plant/white_cedar_krummholz": "@foliage", - "tfc:plant/turtle_grass": "@foliage", - "tfc:plant/arrowhead": "@foliage", - "tfc:plant/blackberry_bush": "@foliage", - "tfc:plant/tall_fescue_grass": "@foliage", - "tfc:plant/blue_ginger": "@foliage", - "tfc:plant/arundo": "@foliage", - "tfc:plant/sacred_datura": "@foliage", - "tfc:plant/tree_fern": "@foliage", - "tfc:plant/heather": "@foliage", - "tfc:plant/foxglove": "@foliage", - "tfc:plant/liana": "@foliage", - "tfc:plant/douglas_fir_krummholz": "@foliage", - "tfc:plant/lemon_branch": "@foliage", - "tfc:plant/giant_kelp_flower": "@foliage", - "tfc:plant/meads_milkweed": "@foliage", - "tfc:plant/tulip_orange": "@foliage", - "tfc:plant/arundo_plant": "@foliage", - "tfc:plant/olive_leaves": "@foliage", - "tfc:plant/pistia": "@foliage", - "tfc:plant/snapdragon_red": "@foliage", - "tfc:plant/water_canna": "@foliage", - "tfc:plant/ryegrass": "@foliage", - "tfc:plant/fountain_grass": "@foliage", - "tfc:plant/bunchberry_bush": "@foliage", - "tfc:plant/lady_fern": "@foliage", - "tfc:plant/dandelion": "@foliage", - "tfc:plant/tulip_white": "@foliage", - "tfc:plant/cherry_leaves": "@foliage", - "tfc:plant/cherry_sapling": "@foliage", - "tfc:plant/orange_growing_branch": "@foliage", - "tfc:plant/dead_banana_plant": "@foliage", - "tfc:plant/star_grass": "@foliage", - "tfc:plant/desert_flame": "@foliage", - "tfc:plant/eel_grass": "@foliage", - "tfc:plant/wintergreen_berry_bush": "@foliage", - "tfc:plant/beachgrass": "@foliage", - "tfc:plant/milfoil": "@foliage", - "tfc:plant/pickerelweed": "@foliage", - "tfc:plant/primrose": "@foliage", - "tfc:plant/sea_lavender": "@foliage", - "tfc:plant/marigold": "@foliage", - "tfc:plant/tropical_milkweed": "@foliage", - "tfc:plant/pampas_grass": "@foliage", - "tfc:plant/ostrich_fern": "@foliage", - "tfc:plant/green_algae": "@foliage", - "tfc:plant/liana_plant": "@foliage", - "tfc:plant/hibiscus": "@foliage", - "tfc:plant/green_apple_leaves": "@foliage", - "tfc:plant/jungle_vines": "@foliage", - "tfc:plant/dead_cane": "@foliage", - "tfc:plant/red_apple_sapling": "@foliage", - "tfc:plant/calendula": "@foliage", - "tfc:plant/plum_growing_branch": "@foliage", - "tfc:plant/snapdragon_white": "@foliage", - "tfc:plant/cherry_branch": "@foliage", - "tfc:plant/plum_branch": "@foliage", - "tfc:plant/lilac": "@foliage", - -//TFC leaves - "tfc:wood/leaves/willow": "@foliage", - "tfc:wood/leaves/acacia": "@foliage", - "tfc:wood/leaves/maple": "@foliage", - "tfc:wood/leaves/douglas_fir": "@foliage", - "tfc:wood/leaves/chestnut": "@foliage", - "tfc:wood/leaves/kapok": "@foliage", - "tfc:wood/leaves/blackwood": "@foliage", - "tfc:wood/leaves/oak": "@foliage", - "tfc:wood/leaves/sequoia": "@foliage", - "tfc:wood/leaves/mangrove": "@foliage", - "tfc:wood/leaves/white_cedar": "@foliage", - "tfc:wood/leaves/ash": "@foliage", - "tfc:wood/leaves/hickory": "@foliage", - "tfc:wood/leaves/birch": "@foliage", - "tfc:wood/leaves/rosewood": "@foliage", - "tfc:wood/leaves/spruce": "@foliage", - "tfc:wood/leaves/palm": "@foliage", - "tfc:wood/leaves/aspen": "@foliage", - "tfc:wood/leaves/pine": "@foliage", - "tfc:wood/leaves/sycamore": "@foliage", - -//TFC fallen leaves - "tfc:wood/fallen_leaves/willow": "@foliage", - "tfc:wood/fallen_leaves/acacia": "@foliage", - "tfc:wood/fallen_leaves/maple": "@foliage", - "tfc:wood/fallen_leaves/douglas_fir": "@foliage", - "tfc:wood/fallen_leaves/chestnut": "@foliage", - "tfc:wood/fallen_leaves/kapok": "@foliage", - "tfc:wood/fallen_leaves/blackwood": "@foliage", - "tfc:wood/fallen_leaves/oak": "@foliage", - "tfc:wood/fallen_leaves/sequoia": "@foliage", - "tfc:wood/fallen_leaves/mangrove": "@foliage", - "tfc:wood/fallen_leaves/white_cedar": "@foliage", - "tfc:wood/fallen_leaves/ash": "@foliage", - "tfc:wood/fallen_leaves/hickory": "@foliage", - "tfc:wood/fallen_leaves/birch": "@foliage", - "tfc:wood/fallen_leaves/rosewood": "@foliage", - "tfc:wood/fallen_leaves/spruce": "@foliage", - "tfc:wood/fallen_leaves/palm": "@foliage", - "tfc:wood/fallen_leaves/aspen": "@foliage", - "tfc:wood/fallen_leaves/pine": "@foliage", - "tfc:wood/fallen_leaves/sycamore": "@foliage" +{ +//TFC plants + "tfc:peat_grass": "@grass", + "tfc:kaolin_clay_grass": "@grass", + "tfc:grass/silt": "@grass", + "tfc:clay_grass/silt": "@grass", + "tfc:grass/loam": "@grass", + "tfc:clay_grass/loam": "@grass", + "tfc:grass/sandy": "@grass", + "tfc:clay_grass/sandy": "@grass", + "tfc:grass/silty_loam": "@grass", + "tfc:clay_grass/silty_loam": "@grass", + "tfc:grass/sandy_loam": "@grass", + "tfc:clay_grass/sandy_loam": "@grass", + "tfc:plant/sagebrush": "@foliage", + "tfc:plant/cordgrass": "@foliage", + "tfc:plant/guzmania": "@foliage", + "tfc:plant/pine_krummholz": "@foliage", + "tfc:plant/king_fern": "@foliage", + "tfc:plant/perovskia": "@foliage", + "tfc:plant/gooseberry_bush": "@foliage", + "tfc:plant/saguaro_fruit": "@foliage", + "tfc:plant/olive_growing_branch": "@foliage", + "tfc:plant/manatee_grass": "@foliage", + "tfc:plant/spanish_moss": "@foliage", + "tfc:plant/hanging_vines_plant": "@foliage", + "tfc:plant/philodendron": "@foliage", + "tfc:plant/maiden_pink": "@foliage", + "tfc:plant/switchgrass": "@foliage", + "tfc:plant/red_apple_branch": "@foliage", + "tfc:plant/lily_of_the_valley": "@foliage", + "tfc:plant/licorice_fern": "@foliage", + "tfc:plant/cloudberry_bush": "@foliage", + "tfc:plant/ivy": "@foliage", + "tfc:plant/peach_branch": "@foliage", + "tfc:plant/plum_leaves": "@foliage", + "tfc:plant/cattail": "@foliage", + "tfc:plant/butterfly_milkweed": "@foliage", + "tfc:plant/saguaro": "@foliage", + "tfc:plant/laminaria": "@foliage", + "tfc:plant/poppy": "@foliage", + "tfc:plant/snapdragon_yellow": "@foliage", + "tfc:plant/plum_sapling": "@foliage", + "tfc:plant/olive_sapling": "@foliage", + "tfc:plant/tulip_pink": "@foliage", + "tfc:plant/dead_bush": "@foliage", + "tfc:plant/peach_leaves": "@foliage", + "tfc:plant/canna": "@foliage", + "tfc:plant/green_apple_sapling": "@foliage", + "tfc:plant/orange_sapling": "@foliage", + "tfc:plant/strawberry_bush": "@foliage", + "tfc:plant/raddia_grass": "@foliage", + "tfc:plant/bromegrass": "@foliage", + "tfc:plant/kangaroo_paw": "@foliage", + "tfc:plant/green_apple_growing_branch": "@foliage", + "tfc:plant/gutweed": "@foliage", + "tfc:plant/phragmite": "@foliage", + "tfc:plant/tulip_red": "@foliage", + "tfc:plant/banana_sapling": "@foliage", + "tfc:plant/sword_fern": "@foliage", + "tfc:plant/lemon_growing_branch": "@foliage", + "tfc:plant/elderberry_bush_cane": "@foliage", + "tfc:plant/red_apple_growing_branch": "@foliage", + "tfc:plant/anthurium": "@foliage", + "tfc:plant/goldenrod": "@foliage", + "tfc:plant/peach_growing_branch": "@foliage", + "tfc:plant/elderberry_bush": "@foliage", + "tfc:plant/duckweed": "@foliage", + "tfc:plant/cranberry_bush": "@foliage", + "tfc:plant/field_horsetail": "@foliage", + "tfc:plant/olive_branch": "@foliage", + "tfc:plant/giant_kelp_plant": "@foliage", + "tfc:plant/blood_lily": "@foliage", + "tfc:plant/raspberry_bush": "@foliage", + "tfc:plant/leafy_kelp_plant": "@foliage", + "tfc:plant/orange_branch": "@foliage", + "tfc:plant/allium": "@foliage", + "tfc:plant/lotus": "@foliage", + "tfc:plant/strelitzia": "@foliage", + "tfc:plant/peach_sapling": "@foliage", + "tfc:plant/red_algae": "@foliage", + "tfc:plant/dead_berry_bush": "@foliage", + "tfc:plant/bur_reed": "@foliage", + "tfc:plant/cherry_growing_branch": "@foliage", + "tfc:plant/pulsatilla": "@foliage", + "tfc:plant/orange_leaves": "@foliage", + "tfc:plant/sea_palm": "@foliage", + "tfc:plant/silver_spurflower": "@foliage", + "tfc:plant/coontail": "@foliage", + "tfc:plant/sapphire_tower": "@foliage", + "tfc:plant/scutch_grass": "@foliage", + "tfc:plant/sago": "@foliage", + "tfc:plant/winged_kelp_plant": "@foliage", + "tfc:plant/aspen_krummholz": "@foliage", + "tfc:plant/raspberry_bush_cane": "@foliage", + "tfc:plant/timothy_grass": "@foliage", + "tfc:plant/cobblestone_lichen": "@foliage", + "tfc:plant/snapdragon_pink": "@foliage", + "tfc:plant/red_apple_leaves": "@foliage", + "tfc:plant/winged_kelp": "@foliage", + "tfc:plant/saguaro_plant": "@foliage", + "tfc:plant/sargassum": "@foliage", + "tfc:plant/artists_conk": "@foliage", + "tfc:plant/black_orchid": "@foliage", + "tfc:plant/dry_phragmite_plant": "@foliage", + "tfc:plant/tree_fern_plant": "@foliage", + "tfc:plant/oxeye_daisy": "@foliage", + "tfc:plant/vriesea": "@foliage", + "tfc:plant/toquilla_palm": "@foliage", + "tfc:plant/badderlocks": "@foliage", + "tfc:plant/grape_hyacinth": "@foliage", + "tfc:plant/red_sealing_wax_palm": "@foliage", + "tfc:plant/lemon_sapling": "@foliage", + "tfc:plant/spanish_moss_plant": "@foliage", + "tfc:plant/blueberry_bush_cane": "@foliage", + "tfc:plant/bluegrass": "@foliage", + "tfc:plant/spruce_krummholz": "@foliage", + "tfc:plant/heliconia": "@foliage", + "tfc:plant/water_taro": "@foliage", + "tfc:plant/green_apple_branch": "@foliage", + "tfc:plant/dry_phragmite": "@foliage", + "tfc:plant/barrel_cactus": "@foliage", + "tfc:plant/rose": "@foliage", + "tfc:plant/houstonia": "@foliage", + "tfc:plant/labrador_tea": "@foliage", + "tfc:plant/nasturtium": "@foliage", + "tfc:plant/leafy_kelp": "@foliage", + "tfc:plant/moss": "@foliage", + "tfc:plant/yucca": "@foliage", + "tfc:plant/lemon_leaves": "@foliage", + "tfc:plant/snowberry_bush": "@foliage", + "tfc:plant/orchard_grass": "@foliage", + "tfc:plant/morning_glory": "@foliage", + "tfc:plant/hanging_vines": "@foliage", + "tfc:plant/water_lily": "@foliage", + "tfc:plant/blueberry_bush": "@foliage", + "tfc:plant/blue_orchid": "@foliage", + "tfc:plant/banana_plant": "@foliage", + "tfc:plant/blackberry_bush_cane": "@foliage", + "tfc:plant/reindeer_lichen": "@foliage", + "tfc:plant/athyrium_fern": "@foliage", + "tfc:plant/trillium": "@foliage", + "tfc:plant/white_cedar_krummholz": "@foliage", + "tfc:plant/turtle_grass": "@foliage", + "tfc:plant/arrowhead": "@foliage", + "tfc:plant/blackberry_bush": "@foliage", + "tfc:plant/tall_fescue_grass": "@foliage", + "tfc:plant/blue_ginger": "@foliage", + "tfc:plant/arundo": "@foliage", + "tfc:plant/sacred_datura": "@foliage", + "tfc:plant/tree_fern": "@foliage", + "tfc:plant/heather": "@foliage", + "tfc:plant/foxglove": "@foliage", + "tfc:plant/liana": "@foliage", + "tfc:plant/douglas_fir_krummholz": "@foliage", + "tfc:plant/lemon_branch": "@foliage", + "tfc:plant/giant_kelp_flower": "@foliage", + "tfc:plant/meads_milkweed": "@foliage", + "tfc:plant/tulip_orange": "@foliage", + "tfc:plant/arundo_plant": "@foliage", + "tfc:plant/olive_leaves": "@foliage", + "tfc:plant/pistia": "@foliage", + "tfc:plant/snapdragon_red": "@foliage", + "tfc:plant/water_canna": "@foliage", + "tfc:plant/ryegrass": "@foliage", + "tfc:plant/fountain_grass": "@foliage", + "tfc:plant/bunchberry_bush": "@foliage", + "tfc:plant/lady_fern": "@foliage", + "tfc:plant/dandelion": "@foliage", + "tfc:plant/tulip_white": "@foliage", + "tfc:plant/cherry_leaves": "@foliage", + "tfc:plant/cherry_sapling": "@foliage", + "tfc:plant/orange_growing_branch": "@foliage", + "tfc:plant/dead_banana_plant": "@foliage", + "tfc:plant/star_grass": "@foliage", + "tfc:plant/desert_flame": "@foliage", + "tfc:plant/eel_grass": "@foliage", + "tfc:plant/wintergreen_berry_bush": "@foliage", + "tfc:plant/beachgrass": "@foliage", + "tfc:plant/milfoil": "@foliage", + "tfc:plant/pickerelweed": "@foliage", + "tfc:plant/primrose": "@foliage", + "tfc:plant/sea_lavender": "@foliage", + "tfc:plant/marigold": "@foliage", + "tfc:plant/tropical_milkweed": "@foliage", + "tfc:plant/pampas_grass": "@foliage", + "tfc:plant/ostrich_fern": "@foliage", + "tfc:plant/green_algae": "@foliage", + "tfc:plant/liana_plant": "@foliage", + "tfc:plant/hibiscus": "@foliage", + "tfc:plant/green_apple_leaves": "@foliage", + "tfc:plant/jungle_vines": "@foliage", + "tfc:plant/dead_cane": "@foliage", + "tfc:plant/red_apple_sapling": "@foliage", + "tfc:plant/calendula": "@foliage", + "tfc:plant/plum_growing_branch": "@foliage", + "tfc:plant/snapdragon_white": "@foliage", + "tfc:plant/cherry_branch": "@foliage", + "tfc:plant/plum_branch": "@foliage", + "tfc:plant/lilac": "@foliage", + +//TFC leaves + "tfc:wood/leaves/willow": "@foliage", + "tfc:wood/leaves/acacia": "@foliage", + "tfc:wood/leaves/maple": "@foliage", + "tfc:wood/leaves/douglas_fir": "@foliage", + "tfc:wood/leaves/chestnut": "@foliage", + "tfc:wood/leaves/kapok": "@foliage", + "tfc:wood/leaves/blackwood": "@foliage", + "tfc:wood/leaves/oak": "@foliage", + "tfc:wood/leaves/sequoia": "@foliage", + "tfc:wood/leaves/mangrove": "@foliage", + "tfc:wood/leaves/white_cedar": "@foliage", + "tfc:wood/leaves/ash": "@foliage", + "tfc:wood/leaves/hickory": "@foliage", + "tfc:wood/leaves/birch": "@foliage", + "tfc:wood/leaves/rosewood": "@foliage", + "tfc:wood/leaves/spruce": "@foliage", + "tfc:wood/leaves/palm": "@foliage", + "tfc:wood/leaves/aspen": "@foliage", + "tfc:wood/leaves/pine": "@foliage", + "tfc:wood/leaves/sycamore": "@foliage", + +//TFC fallen leaves + "tfc:wood/fallen_leaves/willow": "@foliage", + "tfc:wood/fallen_leaves/acacia": "@foliage", + "tfc:wood/fallen_leaves/maple": "@foliage", + "tfc:wood/fallen_leaves/douglas_fir": "@foliage", + "tfc:wood/fallen_leaves/chestnut": "@foliage", + "tfc:wood/fallen_leaves/kapok": "@foliage", + "tfc:wood/fallen_leaves/blackwood": "@foliage", + "tfc:wood/fallen_leaves/oak": "@foliage", + "tfc:wood/fallen_leaves/sequoia": "@foliage", + "tfc:wood/fallen_leaves/mangrove": "@foliage", + "tfc:wood/fallen_leaves/white_cedar": "@foliage", + "tfc:wood/fallen_leaves/ash": "@foliage", + "tfc:wood/fallen_leaves/hickory": "@foliage", + "tfc:wood/fallen_leaves/birch": "@foliage", + "tfc:wood/fallen_leaves/rosewood": "@foliage", + "tfc:wood/fallen_leaves/spruce": "@foliage", + "tfc:wood/fallen_leaves/palm": "@foliage", + "tfc:wood/fallen_leaves/aspen": "@foliage", + "tfc:wood/fallen_leaves/pine": "@foliage", + "tfc:wood/fallen_leaves/sycamore": "@foliage" } \ No newline at end of file diff --git a/config/ftbquests/quests/chapters/applied_energistics_2.snbt b/config/ftbquests/quests/chapters/applied_energistics_2.snbt index 4d9acd900..0cd2b7618 100644 --- a/config/ftbquests/quests/chapters/applied_energistics_2.snbt +++ b/config/ftbquests/quests/chapters/applied_energistics_2.snbt @@ -1288,21 +1288,6 @@ x: -2.0d y: -9.0d } - { - dependencies: ["25007C5E43D28DB2"] - description: ["{quests.ae2.stock_bridge.desc}"] - id: "0E54B3BCBBA34A00" - optional: true - shape: "heart" - tasks: [{ - id: "1F8D81C524CE694A" - item: "createstockbridge:ae_bridge" - type: "item" - }] - title: "{quests.ae2.stock_bridge.title}" - x: 5.0d - y: -8.0d - } ] subtitle: ["{quests.ae2.subtitle}"] title: "{quests.ae2}" diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index a736b2b47..bae9c8d80 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -19,8 +19,8 @@ { id: "0D951ADFB3AF2E74" linked_quest: "7B2EE67E37809269" - x: 4.5d - y: 0.0d + x: 8.5d + y: -1.0d } { id: "0E76B952D3BA3BDA" @@ -32,7 +32,7 @@ id: "66960076A74E9B79" linked_quest: "0CA5B715B76E4A5B" shape: "diamond" - x: 15.5d + x: 16.0d y: 2.5d } { @@ -44,7 +44,7 @@ { id: "49FB3507B0FB3000" linked_quest: "155F421FC2F39C3C" - x: 12.0d + x: 11.5d y: 4.0d } { @@ -52,21 +52,34 @@ linked_quest: "4B1F957EB41A5E9B" shape: "octagon" size: 1.5d - x: 5.5d - y: 5.5d + x: 5.25d + y: 2.0d } { id: "7B380A243C2C39FA" linked_quest: "13F2929C1C303A0B" - x: -1.0d - y: -5.0d + x: 4.25d + y: -3.5d } { id: "2151F8AA263F1D6E" linked_quest: "6ECAD339C91EF194" shape: "heart" - x: 4.0d - y: -5.5d + x: 17.5d + y: 8.0d + } + { + icon: { + Count: 1 + id: "tfg:tbu_232_rod" + tag: { + Damage: 0 + } + } + id: "2DD8555DDAA44979" + linked_quest: "0ABD326DC2551CBD" + x: 24.5d + y: 9.0d } ] quests: [ @@ -92,6 +105,7 @@ { dependencies: [ "601088B7920140B2" + "3FBDC8552F7D8008" "3B18DE7395776B41" ] description: ["{quests.extreme_voltage.t2_rocket.desc}"] @@ -140,25 +154,17 @@ { dependencies: ["2931F887548A4A64"] description: ["{quests.extreme_voltage.tungsten.desc}"] - icon: "gtceu:tungsten_ingot" + icon: "gtceu:tungsten_dust" id: "5EC5566546591DEE" subtitle: "{quests.extreme_voltage.tungsten.subtitle}" - tasks: [ - { - id: "017BC39C681F5335" - item: "gtceu:tungsten_dust" - optional_task: true - type: "item" - } - { - id: "3A60698FD28B0CC5" - item: "gtceu:tungsten_ingot" - type: "item" - } - ] + tasks: [{ + id: "017BC39C681F5335" + item: "gtceu:tungsten_dust" + type: "item" + }] title: "{quests.extreme_voltage.tungsten.title}" - x: 7.5d - y: -2.0d + x: 7.0d + y: -4.5d } { dependencies: [ @@ -185,8 +191,8 @@ } ] title: "{quests.extreme_voltage.tunsgten_line_step_1.title}" - x: -2.0d - y: -2.0d + x: -3.75d + y: -4.5d } { dependencies: ["4EA8888B12D75BF1"] @@ -321,8 +327,8 @@ item: "gtceu:alloy_blast_smelter" type: "item" }] - x: 10.0d - y: 1.5d + x: 13.0d + y: 1.0d } { dependencies: ["4EA8888B12D75BF1"] @@ -338,13 +344,14 @@ type: "item" }] title: "{quests.extreme_voltage.ev_mixer.title}" - x: 0.0d + x: 5.25d y: 0.0d } { dependencies: [ "61D5055F344DDFAD" "42C2B749B61B1FBE" + "5EC5566546591DEE" ] description: ["{quests.extreme_voltage.rtm.desc}"] icon: "gtceu:rtm_alloy_ingot" @@ -364,7 +371,7 @@ } ] title: "{quests.extreme_voltage.rtm.title}" - x: 1.5d + x: 7.0d y: 0.0d } { @@ -372,6 +379,7 @@ "37B7342CD1B3B76D" "601088B7920140B2" "6B08799BCFD01D3D" + "5CF70AC24D269279" ] description: ["{quests.extreme_voltage.rtm_coil.desc}"] id: "7F4E529627AD9148" @@ -381,8 +389,8 @@ item: "gtceu:rtm_alloy_coil_block" type: "item" }] - x: 1.5d - y: 1.5d + x: 10.0d + y: 3.0d } { dependencies: ["7F4E529627AD9148"] @@ -436,8 +444,8 @@ } ] title: "{quests.extreme_voltage.gcym_alloys.title}" - x: 8.5d - y: 1.5d + x: 10.0d + y: 1.0d } { dependencies: ["7B2EE67E37809269"] @@ -471,7 +479,7 @@ } ] title: "{quests.extreme_voltage.ruthenium.title}" - x: 3.0d + x: 8.5d y: 0.0d } { @@ -484,8 +492,8 @@ item: "gtceu:large_centrifuge" type: "item" }] - x: 17.0d - y: 1.5d + x: 17.5d + y: 1.0d } { dependencies: [ @@ -510,14 +518,14 @@ } ] title: "{quests.extreme_voltage.tungsten_steel.title}" - x: 0.0d - y: -4.0d + x: 5.25d + y: -2.5d } { dependencies: [ - "2979AFD231E5B37B" - "5EC5566546591DEE" "0E2E93BE3364722D" + "4AD96212525517CD" + "37B7342CD1B3B76D" ] dependency_requirement: "one_completed" description: ["{quests.extreme_voltage.nuclear_fuel_factory.desc}"] @@ -529,7 +537,7 @@ type: "item" }] title: "{quests.extreme_voltage.nuclear_fuel_factory.title}" - x: 7.5d + x: 7.0d y: 7.0d } { @@ -547,7 +555,9 @@ y: 6.0d } { + dependencies: ["2979AFD231E5B37B"] description: ["{quests.extreme_voltage.heavy_water.desc}"] + hide_dependency_lines: true icon: "tfg:heavy_water_bucket" id: "4AD41E9FA7814EA1" subtitle: "{quests.extreme_voltage.heavy_water.subtitle}" @@ -582,6 +592,8 @@ "{quests.extreme_voltage.thorium_rod.desc.2}" "{@pagebreak}" "{quests.extreme_voltage.thorium_rod.desc.3}" + "{@pagebreak}" + "{quests.extreme_voltage.thorium_rod.desc.4}" ] id: "77CB4AE5B3AF5263" subtitle: "{quests.extreme_voltage.thorium_rod.subtitle}" @@ -703,8 +715,12 @@ y: 8.0d } { - dependencies: ["00004BE1D77EA003"] + dependencies: [ + "00004BE1D77EA003" + "4EA8888B12D75BF1" + ] description: ["{quests.extreme_voltage.uraninite_dust.desc}"] + hide_dependency_lines: true icon: "gtceu:uraninite_dust" id: "2814C6FA71B07C95" subtitle: "{quests.extreme_voltage.uraninite_dust.subtitle}" @@ -766,6 +782,8 @@ item: "gtceu:machine_controller_cover" type: "item" }] + shape: "octagon" + size: 1.5d subtitle: "{quests.extreme_voltage.heat_exchanger.subtitle}" tasks: [{ id: "67CB661D4F20EC3A" @@ -777,7 +795,9 @@ y: 5.5d } { + dependencies: ["4EA8888B12D75BF1"] description: ["{quests.extreme_voltage.ammonium_formate.desc}"] + hide_dependency_lines: true icon: "gtceu:ammonium_formate_bucket" id: "075434DAB3D9F0EA" subtitle: "{quests.extreme_voltage.ammonium_formate.subtitle}" @@ -801,7 +821,7 @@ } ] title: "{quests.extreme_voltage.ammonium_formate.title}" - x: 13.5d + x: 12.5d y: 5.5d } { @@ -824,7 +844,7 @@ } ] title: "{quests.extreme_voltage.formamide.title}" - x: 15.5d + x: 16.0d y: 5.5d } { @@ -857,7 +877,7 @@ } ] title: "{quests.extreme_voltage.nuclear_residue_dust.title}" - x: 17.0d + x: 17.5d y: 5.5d } { @@ -883,11 +903,13 @@ } ] title: "{quests.extreme_voltage.martian_sludge.title}" - x: 17.0d + x: 17.5d y: 3.5d } { + dependencies: ["4EA8888B12D75BF1"] description: ["{quests.extreme_voltage.hexafluorosilic_acid.desc}"] + hide_dependency_lines: true icon: "gtceu:dirty_hexafluorosilicic_acid_bucket" id: "05FED2FF1BEA05F1" subtitle: "{quests.extreme_voltage.hexafluorosilic_acid.subtitle}" @@ -911,7 +933,7 @@ } ] title: "{quests.extreme_voltage.hexafluorosilic_acid.title}" - x: 18.5d + x: 19.0d y: 3.5d } { @@ -928,7 +950,7 @@ item: "tfg:oxidized_nuclear_residue_dust" type: "item" }] - x: 18.5d + x: 19.0d y: 5.5d } { @@ -941,7 +963,7 @@ item: "tfg:refined_nuclear_residue_dust" type: "item" }] - x: 18.5d + x: 19.0d y: 7.0d } { @@ -967,7 +989,7 @@ } type: "item" }] - x: 18.5d + x: 19.0d y: 10.5d } { @@ -990,7 +1012,7 @@ } ] title: "{quests.extreme_voltage.radioactive_concoction.title}" - x: 21.5d + x: 22.0d y: 5.5d } { @@ -1013,7 +1035,7 @@ } ] title: "{quests.extreme_voltage.tritiated_water.title}" - x: 16.0d + x: 12.5d y: 10.5d } { @@ -1226,10 +1248,10 @@ type: "item" }] x: 1.5d - y: -5.5d + y: -2.5d } { - dependencies: ["2C000B45C23752D0"] + dependencies: ["2B666F65B5F196E6"] description: ["{quests.extreme_voltage.ev_superconductor.desc}"] icon: "gtceu:uranium_triplatinum_single_wire" id: "2BE373381980C85F" @@ -1255,8 +1277,8 @@ } ] title: "{quests.extreme_voltage.ev_superconductor.title}" - x: 13.5d - y: 8.0d + x: 17.5d + y: 7.0d } { dependencies: ["017019EB38F7A18C"] @@ -1479,8 +1501,8 @@ type: "item" }] title: "{quests.extreme_voltage.me_part.title}" - x: 5.5d - y: 3.0d + x: 2.5d + y: 1.0d } { dependencies: ["70ABD1E3FC1CA672"] @@ -1505,8 +1527,8 @@ type: "item" }] title: "{quests.extreme_voltage.building_gadgets.title}" - x: 4.5d - y: 4.0d + x: 1.5d + y: 1.0d } { dependencies: ["70ABD1E3FC1CA672"] @@ -1534,8 +1556,8 @@ } ] title: "{quests.ae2.wireless_access.title}" - x: 5.5d - y: 4.0d + x: 3.5d + y: 2.0d } { dependencies: ["601088B7920140B2"] @@ -1548,8 +1570,8 @@ type: "checkmark" }] title: "{quests.extreme_voltage.new_qol.title}" - x: 4.5d - y: 3.0d + x: 1.5d + y: 2.0d } { dependencies: ["55FB2776B724FB63"] @@ -1594,28 +1616,43 @@ } ] title: "{quests.extreme_voltage.plutonium.title}" - x: 18.5d + x: 19.0d y: 9.0d } { - dependencies: ["617CF3335584DC8D"] + dependencies: ["26AA29016BA23396"] description: ["{quests.extreme_voltage.ostrum_linear.desc}"] + icon: "tfg:ostrum_linear_accelerator" id: "691A36800DC755C1" shape: "octagon" size: 2.0d subtitle: "{quests.extreme_voltage.ostrum_linear.subtitle}" - tasks: [{ - id: "130FE3E2CE8735F8" - item: "tfg:ostrum_linear_accelerator" - type: "item" - }] - x: 21.5d + tasks: [ + { + id: "130FE3E2CE8735F8" + item: "tfg:ostrum_linear_accelerator" + type: "item" + } + { + id: "5D1A52502962C948" + item: "deafission:battery_heat_port_ev" + type: "item" + } + { + id: "0FEF42CB8A6DC0F6" + item: "deafission:heat_input_hatch_ev" + type: "item" + } + ] + x: 22.0d y: 9.0d } { dependencies: ["691A36800DC755C1"] + description: ["{quests.extreme_voltage.ostrum_vapor.desc}"] icon: "gtceu:ostrum_vapor_bucket" id: "58264E007C2D7CC6" + subtitle: "{quests.extreme_voltage.ostrum_vapor.subtitle}" tasks: [ { id: "5399332E050D8560" @@ -1629,13 +1666,20 @@ type: "checkmark" } ] - x: 21.5d - y: 12.5d + title: "{quests.extreme_voltage.ostrum_vapor.title}" + x: 20.5d + y: 9.0d } { - dependencies: ["691A36800DC755C1"] + dependencies: [ + "691A36800DC755C1" + "3E0ABDFCC0FC6928" + ] + dependency_requirement: "one_completed" + description: ["{quests.extreme_voltage.light_ostrum_vapor.desc}"] icon: "gtceu:lightweight_ostrum_vapor_bucket" id: "4F647D6A4949EDF7" + subtitle: "{quests.extreme_voltage.light_ostrum_vapor.subtitle}" tasks: [ { id: "3529CF130C73746E" @@ -1649,16 +1693,16 @@ type: "checkmark" } ] - x: 22.5d - y: 12.5d + title: "{quests.extreme_voltage.light_ostrum_vapor.title}" + x: 22.0d + y: 12.0d } { - dependencies: [ - "691A36800DC755C1" - "3E0ABDFCC0FC6928" - ] + dependencies: ["691A36800DC755C1"] + description: ["{quests.extreme_voltage.dense_ostrum_vapor.desc}"] icon: "gtceu:dense_ostrum_vapor_bucket" id: "4C29DDE89AE8D6EE" + subtitle: "{quests.extreme_voltage.dense_ostrum_vapor.subtitle}" tasks: [ { id: "24641F2651FFBE44" @@ -1672,21 +1716,33 @@ type: "checkmark" } ] - x: 20.5d - y: 12.5d + title: "{quests.extreme_voltage.dense_ostrum_vapor.title}" + x: 23.5d + y: 9.0d } { dependencies: ["4F647D6A4949EDF7"] id: "6ABD72F1C1971EE3" + optional: true shape: "heart" tasks: [ { - id: "02963B7E2699E185" - item: "gtceu:tricalcium_phosphate_dust" + id: "500E6AD918D6F37A" + item: "gtceu:thorium_dust" type: "item" } { - id: "0202E05696C78841" + id: "3F961A11EFDFA246" + item: "gtceu:pitchblende_dust" + type: "item" + } + { + id: "02A251EBEF64897C" + item: "gtceu:aluminium_dust" + type: "item" + } + { + id: "1CDA9E72C0CF6707" item: { Count: 1 ForgeCaps: { @@ -1700,26 +1756,7 @@ type: "item" } { - id: "07372F88634076C6" - item: "gtceu:pitchblende_dust" - type: "item" - } - ] - x: 22.5d - y: 13.5d - } - { - dependencies: ["58264E007C2D7CC6"] - id: "27804B847EE2CFF2" - shape: "heart" - tasks: [ - { - id: "19277D14081DE23B" - item: "gtceu:aluminium_dust" - type: "item" - } - { - id: "552DAD2E001E8D83" + id: "1F2D23F66866AFB4" item: { Count: 1 ForgeCaps: { @@ -1733,46 +1770,13 @@ type: "item" } { - id: "6AFCA6EE597B7F67" - item: "gtceu:beryllium_dust" + id: "4D619272F96C7EF6" + item: "gtceu:tricalcium_phosphate_dust" type: "item" } ] - x: 21.5d - y: 13.5d - } - { - dependencies: ["4C29DDE89AE8D6EE"] - id: "09A85FAD0786E667" - shape: "heart" - tasks: [ - { - id: "06B67B195C0429D5" - item: "gtceu:thorium_dust" - type: "item" - } - { - id: "0496A5C65EA6EA17" - item: "gtceu:uraninite_dust" - type: "item" - } - { - id: "43E02B6BE521142B" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:hematite_dust" - } - type: "item" - } - ] - x: 20.5d - y: 13.5d + x: 22.0d + y: 13.0d } { dependencies: ["3A2E442E4D84C891"] @@ -1863,18 +1867,27 @@ y: 9.0d } { - dependencies: ["601088B7920140B2"] + dependencies: ["58264E007C2D7CC6"] description: ["{quests.extreme_voltage.refrigerant_pellet.desc}"] - hide_dependency_lines: true + icon: "tfg:terrafirmaguard_pa6" id: "08195E9FA1396936" + shape: "hexagon" subtitle: "{quests.extreme_voltage.refrigerant_pellet.subtitle}" - tasks: [{ - id: "1B4C7B8C2EDFE595" - item: "tfg:refrigerant_pellet" - type: "item" - }] + tasks: [ + { + id: "1B4C7B8C2EDFE595" + item: "tfg:refrigerant_pellet" + optional_task: true + type: "item" + } + { + id: "0AEA0612B833D029" + item: "tfg:terrafirmaguard_pa6" + type: "item" + } + ] title: "{quests.extreme_voltage.refrigerant_pellet.title}" - x: 19.5d + x: 20.5d y: 10.5d } { @@ -1947,8 +1960,8 @@ type: "item" }] title: "{quests.extreme_voltage.large_miner.title}" - x: 7.5d - y: -3.5d + x: 10.0d + y: -4.5d } { dependencies: ["2979AFD231E5B37B"] @@ -1973,7 +1986,9 @@ y: 8.0d } { + dependencies: ["4EA8888B12D75BF1"] description: ["{quests.extreme_voltage.dense_lead.desc}"] + hide_dependency_lines: true id: "0E2E93BE3364722D" shape: "circle" subtitle: "{quests.extreme_voltage.dense_lead.subtitle}" @@ -1983,7 +1998,7 @@ type: "item" }] title: "{quests.extreme_voltage.dense_lead.title}" - x: 6.5d + x: 6.0d y: 8.0d } { @@ -2011,25 +2026,6 @@ x: 14.5d y: 4.0d } - { - dependencies: ["691A36800DC755C1"] - description: [ - "In a future update coming before Venus, the recipes within the Linear Accelerator will be change. Expect your recipes to break." - "" - "The multiblock itself won't so you are safe to use it for now." - ] - icon: "createdeco:decal_warning" - id: "3F59CD5ABE4E7510" - size: 1.5d - tasks: [{ - id: "2CCA527404CECA8C" - title: "Okay I understand this will break" - type: "checkmark" - }] - title: "Breaking changes in next update" - x: 24.0d - y: 9.0d - } { dependencies: ["04682CD04FE0A56E"] description: [ @@ -2058,8 +2054,8 @@ } ] title: "{quests.extreme_voltage.tunsgten_line_step.title}" - x: -2.0d - y: -3.0d + x: -3.75d + y: -5.5d } { dependencies: ["04682CD04FE0A56E"] @@ -2072,8 +2068,8 @@ type: "item" }] title: "{quests.extreme_voltage.tunsgten_line_step_2.title}" - x: -1.0d - y: -2.0d + x: -2.75d + y: -4.5d } { dependencies: ["3A2E442E4D84C891"] @@ -2128,6 +2124,7 @@ y: 5.5d } { + dependencies: ["2979AFD231E5B37B"] description: [ "{quests.extreme_voltage.radiation.desc.1}" "{@pagebreak}" @@ -2171,12 +2168,16 @@ type: "item" }] title: "{quests.extreme_voltage.advanced_fluid_rig.title}" - x: 9.0d - y: -2.0d + x: 7.0d + y: -6.0d } { dependencies: ["5CF58F7CBE255585"] - description: ["{quests.extreme_voltage.large_generators.desc}"] + description: [ + "{quests.extreme_voltage.large_generators.desc}" + "" + "{ \"text\": \"▶▶▶▶▶▶▶\", \"underlined\": \"true\", \"clickEvent\": { \"action\": \"change_page\", \"value\": \"2CDB9778C7A30044\" } }" + ] disable_toast: true id: "40CBACE41B71C011" shape: "octagon" @@ -2239,8 +2240,8 @@ type: "item" }] title: "{quests.extreme_voltage.btx_catalyser.title}" - x: -4.0d - y: -4.5d + x: -5.5d + y: -6.0d } { dependencies: ["3EC1D337D9FC3F1B"] @@ -2256,8 +2257,52 @@ item: "gtceu:rhenium_dust" type: "item" }] - x: -4.0d - y: -5.5d + x: -5.5d + y: -7.0d + } + { + dependencies: ["617CF3335584DC8D"] + description: ["{quests.extreme_voltage.heat_battery.desc}"] + id: "26AA29016BA23396" + shape: "octagon" + size: 1.5d + subtitle: "{quests.extreme_voltage.heat_battery.subtitle}" + tasks: [{ + id: "5C9A37E905A4030F" + item: "tfg:heat_battery_mk1" + type: "item" + }] + x: 22.0d + y: 7.0d + } + { + dependencies: ["155F421FC2F39C3C"] + description: ["{quests.extreme_voltage.nichromium_iode.desc}"] + icon: "tfg:nichromium_iodomethylate_bucket" + id: "5CF70AC24D269279" + subtitle: "{quests.extreme_voltage.nichromium_iode.subtitle}" + tasks: [ + { + id: "29015E8328231929" + item: "tfg:iodomethane_bucket" + optional_task: true + type: "item" + } + { + id: "195713F766EF130A" + item: "tfg:nichromium_iodomethylate_bucket" + optional_task: true + type: "item" + } + { + id: "20D7CE8211E091A6" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] + title: "{quests.extreme_voltage.nichromium_iode.title}" + x: 11.5d + y: 3.0d } ] subtitle: ["{quests.extreme_voltage.subtitle}"] diff --git a/config/ftbquests/quests/chapters/gregtech_energy.snbt b/config/ftbquests/quests/chapters/gregtech_energy.snbt index e52987dc3..06f8c624a 100644 --- a/config/ftbquests/quests/chapters/gregtech_energy.snbt +++ b/config/ftbquests/quests/chapters/gregtech_energy.snbt @@ -232,7 +232,7 @@ dependencies: [ "60FF9249376DF9BD" "05E2F203DA46A5E8" - "3EC8D58DB73CEFE5" + "2BE373381980C85F" ] dependency_requirement: "one_completed" description: ["{quests.gregtech_energy.transformer.desc}"] @@ -1016,8 +1016,8 @@ } { dependencies: [ - "0AF286AA540A82E6" "0C718329245D9619" + "4C620105AAC49381" ] description: [ "{quests.medium_voltage.mv_diesel.desc.1}" @@ -1034,8 +1034,8 @@ type: "item" }] title: "{quests.medium_voltage.mv_diesel.title}" - x: -9.0d - y: -5.0d + x: -8.5d + y: -7.0d } { dependencies: ["7AF726555D721DFC"] @@ -1089,7 +1089,7 @@ type: "item" }] title: "{quests.low_voltage.lv_biodiesel.title}" - x: -9.0d + x: -9.5d y: -7.0d } { @@ -1236,16 +1236,65 @@ "05E2F203DA46A5E8" "0ABD326DC2551CBD" ] - description: ["{quests.gregtech_energy.smr.desc.1}"] + description: [ + "{quests.gregtech_energy.smr.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.smr.desc.2}" + "{@pagebreak}" + "{quests.gregtech_energy.smr.desc.3}" + ] + icon: "tfg:smr_generator" id: "4659447C85CDC058" subtitle: "{quests.gregtech_energy.smr.subtitle}" - tasks: [{ - id: "1D02468DD9869C72" - item: "deafission:fission_reactor_smr1" - type: "item" - }] + tasks: [ + { + id: "1D02468DD9869C72" + item: "deafission:fission_reactor_smr1" + type: "item" + } + { + id: "4DA2451D673DABE3" + item: "tfg:smr_generator" + type: "item" + } + { + id: "7647ABCBC805E3B3" + item: "tfg:uv_smr_fluid_import_hatch" + type: "item" + } + { + id: "4BDA2F8B0D5B310D" + item: "gtceu:lubricant_bucket" + optional_task: true + type: "item" + } + { + id: "5C5003050BCE8601" + item: "tfg:polyalkylene_lubricant_bucket" + optional_task: true + type: "item" + } + { + id: "79126D47F1236F45" + item: "tfg:ozone_bucket" + optional_task: true + type: "item" + } + { + id: "5075B6C62A7AB675" + item: "tfg:cyclohex_diperoxide_bucket" + optional_task: true + type: "item" + } + { + id: "28AAB372882C8996" + item: "tfg:ticl4_doped_supercritical_co2_bucket" + optional_task: true + type: "item" + } + ] title: "{quests.gregtech_energy.smr.title}" - x: -7.5d + x: -7.0d y: 1.0d } { @@ -1266,21 +1315,64 @@ y: -7.0d } { - dependencies: ["4512E5DE7A84F809"] - description: ["{quests.gregtech_energy.fission_rod.desc.1}"] + dependencies: [ + "4512E5DE7A84F809" + "4C29DDE89AE8D6EE" + ] + dependency_requirement: "one_completed" + description: [ + "{quests.gregtech_energy.fission_rod.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.fission_rod.desc.2}" + "{@pagebreak}" + "{quests.gregtech_energy.fission_rod.desc.3}" + ] + icon: { + Count: 1 + id: "tfg:tbu_232_rod" + tag: { + Damage: 0 + } + } id: "0ABD326DC2551CBD" subtitle: "{quests.gregtech_energy.fission_rod.subtitle}" - tasks: [{ - id: "68E3EE04F4931EFE" - item: { - Count: 1 - id: "tfg:tbu_232_rod" - tag: { - Damage: 0 + tasks: [ + { + id: "68E3EE04F4931EFE" + item: { + Count: 1 + id: "tfg:tbu_232_rod" + tag: { + Damage: 0 + } } + type: "item" } - type: "item" - }] + { + id: "21383A5C0CF976DD" + item: { + Count: 1 + id: "tfg:americium_241_rod" + tag: { + Damage: 0 + } + } + optional_task: true + type: "item" + } + { + id: "5B22DEC6694CDCCB" + item: { + Count: 1 + id: "tfg:neptunium_237_rod" + tag: { + Damage: 0 + } + } + optional_task: true + type: "item" + } + ] title: "{quests.gregtech_energy.fission_rod.title}" x: -7.5d y: 0.0d @@ -1320,6 +1412,41 @@ x: -9.0d y: -1.0d } + { + dependencies: [ + "05E2F203DA46A5E8" + "0ABD326DC2551CBD" + ] + description: [ + "{quests.gregtech_energy.cooling_tower.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.cooling_tower.desc.2}" + ] + icon: "tfg:cooling_tower" + id: "7F2F435C727C7AB3" + subtitle: "{quests.gregtech_energy.cooling_tower.subtitle}" + tasks: [ + { + id: "0347D107FEC9761B" + item: "tfg:cooling_tower" + type: "item" + } + { + id: "7CD0D40C08CC42D2" + item: "tfg:boron_enriched_coolant_bucket" + optional_task: true + type: "item" + } + { + id: "23C1F8FEFBD23A5C" + item: "tfg:warm_water_bucket" + optional_task: true + type: "item" + } + ] + x: -8.0d + y: 1.0d + } ] subtitle: ["{quests.gregtech_energy.subtitle}"] title: "{quests.gregtech_energy}" diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index 92974c4a4..949f23310 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -1698,6 +1698,21 @@ x: -2.25d y: -11.0d } + { + dependencies: ["41D32C5178760F47"] + description: ["{quests.high_voltage.multi_structure_terminal.desc}"] + id: "3FC6D346B3EE4A92" + optional: true + shape: "heart" + subtitle: "{quests.high_voltage.multi_structure_terminal.subtitle}" + tasks: [{ + id: "32C53F040A2F0AD8" + item: "gtceuterminal:multi_structure_manager" + type: "item" + }] + x: 5.0d + y: 1.0d + } ] subtitle: ["{quests.high_voltage.subtitle}"] title: "{quests.high_voltage}" diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index c22390137..6e5b94f55 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -245,7 +245,7 @@ ] icon: "gtceu:storage_cover" id: "1C767009F505A813" - shape: "square" + shape: "circle" size: 1.0d subtitle: "{quests.low_voltage.cover_behaviour.subtitle}" tasks: [{ @@ -399,7 +399,7 @@ }] title: "{quests.low_voltage.lbb.title}" x: 0.0d - y: -5.5d + y: -6.0d } { dependencies: ["1E9BE8D3F8A602DC"] @@ -1711,7 +1711,7 @@ } { id: "34153032225B76BB" - item: "gtceu:light_fuel_bucket" + item: "gtceu:diesel_bucket" optional_task: true type: "item" } diff --git a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt index 19b934cac..e41e02230 100644 --- a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt +++ b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt @@ -1325,7 +1325,7 @@ }] title: "{quests.medium_voltage.mv_jetpack_2.title}" x: 1.5d - y: 5.0d + y: 4.5d } { dependencies: [ @@ -1700,6 +1700,21 @@ x: -5.0d y: 4.0d } + { + dependencies: ["75F38905DEA60F15"] + description: ["{quests.medium_voltage.terminal_dismantler.desc}"] + id: "0053E98892F910BF" + shape: "heart" + subtitle: "{quests.medium_voltage.terminal_dismantler.subtitle}" + tasks: [{ + id: "6AE4D07F675A23D0" + item: "gtceuterminal:dismantler" + type: "item" + }] + title: "{quests.medium_voltage.terminal_dismantler.title}" + x: 1.5d + y: 5.5d + } ] subtitle: ["{quests.medium_voltage.subtitle}"] title: "{quests.medium_voltage}" diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png index 8cca66fc908ee1846f04dc2ce872276ad7fc7113..922607cf6bade11f1fbcd996db8882a7481a2621 100644 GIT binary patch literal 14070 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 Q1_lNOPgg&ebxsLQ094J7=l}o! diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png.mcmeta index 33611385b..c5d457f93 100644 --- a/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png.mcmeta +++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png.mcmeta @@ -1,45 +1,5 @@ { "animation": { - "frametime": 1, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 18, - 17, - 16, - 15, - 14, - 13, - 12, - 11, - 10, - 9, - 8, - 7, - 6, - 5, - 4, - 3, - 2, - 1 - ] + "frametime": 1 } } \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png index 38280013783645c635d8925f345209b4f10de1aa..465c2a97579326d488541af1db66bb6814dabd2b 100644 GIT binary patch literal 12239 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 TS$@6@3=9mOu6{1-oD!M<=f1@N diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png.mcmeta index 33611385b..c5d457f93 100644 --- a/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png.mcmeta +++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png.mcmeta @@ -1,45 +1,5 @@ { "animation": { - "frametime": 1, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 18, - 17, - 16, - 15, - 14, - 13, - 12, - 11, - 10, - 9, - 8, - 7, - 6, - 5, - 4, - 3, - 2, - 1 - ] + "frametime": 1 } } \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png index 608ba1eb246d4d7035cf087829545b0df9ed8fa1..e07a4eaae1faba525906b429ca14637ed7e28314 100644 GIT binary patch literal 14137 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 diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png.mcmeta index 33611385b..c5d457f93 100644 --- a/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png.mcmeta +++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png.mcmeta @@ -1,45 +1,5 @@ { "animation": { - "frametime": 1, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 18, - 17, - 16, - 15, - 14, - 13, - 12, - 11, - 10, - 9, - 8, - 7, - 6, - 5, - 4, - 3, - 2, - 1 - ] + "frametime": 1 } } \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_waste.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_waste.png index c97f8bf2572f4628f7ee3740589c0fc4f9ac4219..e2bd2121342e07a3f56fcfb8f3707f2d10ef95a8 100644 GIT binary patch literal 9006 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 Sx{`r`fx*+&&t;ucLK6U^R^~|n literal 9427 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.tritiated_water.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.tritiated_water.png.mcmeta new file mode 100644 index 000000000..7e77c6485 --- /dev/null +++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.tritiated_water.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.uranium_waste.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.uranium_waste.png index af5d596974d5094014e5f300c0cd797f35224420..73eed58e6d52aaafe8efdff5754cfa8989348166 100644 GIT binary patch literal 9530 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 literal 25271 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 As{jB1 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.degraded_high_grade_isotopic_solvent.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.degraded_high_grade_isotopic_solvent.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.degraded_high_grade_isotopic_solvent.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.degraded_solvent_stream.png b/kubejs/assets/tfg/textures/block/fluids/fluid.degraded_solvent_stream.png new file mode 100644 index 0000000000000000000000000000000000000000..2557a2a77940f6c500ee5fdb80c71825fa9bb08b GIT binary patch literal 13459 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 z

  • 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.high_grade_isotopic_solvent.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.high_grade_isotopic_solvent.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.high_grade_isotopic_solvent.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.hot_boron_enriched_coolant.png b/kubejs/assets/tfg/textures/block/fluids/fluid.hot_boron_enriched_coolant.png new file mode 100644 index 0000000000000000000000000000000000000000..cb395e53bd011116dc3471e6880af91e4e8de709 GIT binary patch literal 15649 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 Hr-UW|);1MJ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.hot_boron_enriched_coolant.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.hot_boron_enriched_coolant.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.hot_boron_enriched_coolant.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.hot_flibe.png b/kubejs/assets/tfg/textures/block/fluids/fluid.hot_flibe.png new file mode 100644 index 0000000000000000000000000000000000000000..caa9486f47bda7fbd0b03eee20457dc65e58cb96 GIT binary patch literal 15590 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.hot_flibe.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.hot_flibe.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.hot_flibe.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.isotopic_solvent.png b/kubejs/assets/tfg/textures/block/fluids/fluid.isotopic_solvent.png new file mode 100644 index 0000000000000000000000000000000000000000..953666c32edf9456cab30bb118d3748fadc4ee4c GIT binary patch literal 13200 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.isotopic_solvent.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.isotopic_solvent.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.isotopic_solvent.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.spent_ticl4_doped_supercritical_co2.png b/kubejs/assets/tfg/textures/block/fluids/fluid.spent_ticl4_doped_supercritical_co2.png new file mode 100644 index 0000000000000000000000000000000000000000..90182bea625d91b65a8e7385d9206425887f7b9f GIT binary patch literal 16056 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.tbu_waste.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.tbu_waste.png.mcmeta new file mode 100644 index 000000000..7e77c6485 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.tbu_waste.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.ticl4_doped_supercritical_co2.png b/kubejs/assets/tfg/textures/block/fluids/fluid.ticl4_doped_supercritical_co2.png new file mode 100644 index 0000000000000000000000000000000000000000..fe0d8baa23afeece22c5b9bfcc867306c8c3d202 GIT binary patch literal 14008 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 U$NG6eVW2*^r>mdKI;Vst08inKLI3~& literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/smr/overlay_front_active.png b/kubejs/assets/tfg/textures/block/machines/smr/overlay_front_active.png new file mode 100644 index 0000000000000000000000000000000000000000..f57aa76ceec24f8165f6411e688db05838743501 GIT binary patch literal 5478 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 Xm#c-`q5&^zL8Dimu6{1-oD!M<#x&TD literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/machines/smr/overlay_front_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/smr/overlay_front_active.png.mcmeta new file mode 100644 index 000000000..7e77c6485 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/machines/smr/overlay_front_active.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/machines/smr/overlay_front_paused.png b/kubejs/assets/tfg/textures/block/machines/smr/overlay_front_paused.png new file mode 100644 index 0000000000000000000000000000000000000000..690c4d1ff7c74cd9df75bd230d7f039e77b413e4 GIT binary patch literal 4714 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_p_1.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_p_1.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod_depleted.png b/kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod_depleted.png new file mode 100644 index 0000000000000000000000000000000000000000..a6bfa1a0c3dbfa6ebbf93eb80d6943f4635aa5b2 GIT binary patch literal 1604 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznV07SMV_;y|%JoNyfq{+N)5S5QV$Rz;{y8F{ zGVCATiwSTpTzJs*Zo_WfQ+zzB6YNi$?VJAQ%RldJGk#yX z?B@ODpYQFFJTNgZWsmFcpUb|9pP2RBT=4JtnlkIVdY@cwY+wyt)}TIwPfN^le42@@U`t-`OQUo)+YQBM^jFeO;k@x z;hpu@_rXryDD`Pic~ZQ089qPw>S=dlyYQ{LX-X^QR3`PLu^O<8b#pE?d+>{oE zn^z>$suFG;WRGX9`}X^9gowa}%Xim?rq)^B{^SsU>7vBB7vFUqLV3(5s~&9lW;xO0 z%7td-_HUJPAxfdzPrH_s$-U5JhfCZh z-Q?TKaesT7+@7;G@d~dGcK*m~W}nuZ z@Q{(=hGa>`N1GLnS=RLo3|&2D4YqL!Wdgm47jo0@?mJMdWLf#+>#NEH?J&6;aupSZ{ukv|JmnFwj0+I%O%yQLZx@i_adoDB zK#C6YrvHzw{^rhI$oc9|<4sMQm3`t(3j^}@6!b?;4GCDceD=RZvGNzbmCj(djo%Yf z$={&l^TB3?9V`42MB#Z~pCGDYro_X2y5vtGPeFNBSl|a|~?e zTYW}_KV#*oKaI~Df7=A4SX^no6Bu%?WmE9+6=zuZzlbr+W3QC+n5On&j>oxo*?Lub z5>7MUUiquyVB`v$c~>^FulM3M{B(TrCEFQSx3H$Yo|scvQ2irY#@ctj{f4KFk;x0% zKC`p&GjwsX4e?R@5fnf&7{3`qDciuIMpJzVL zyo7$(m=|PFl)7v)cQ&?sNVOF@|G5 zny6ZPa^)vo(F5$Am#1UuxH!Sja!~ehw@8_ z<>~(a=M-wY;qxA2c8T{t0@n*x_^I4KdjGpkLA_Vx{1vvlgJ1nRa=zjCM!UeX_vZFa zyUy;zA0({1>ucxNHwWVmEMs@)uYXec;9rH@l!pfo?0o#Ra=||N&ag|YwqcL|dQ@lf za{D~6oOp!)?fPe}N5~miOGxv7S$W=kS>7Fo`uh2a zuC|{=zMR)jvE31RTyDlb`I8AuZ)-Dm&Yki4gO2Tnzj-PP;@0#3WB>8yV=156{X_-^ O1_n=8KbLh*2~7a3rSFaa literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod_depleted.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod_depleted.png.mcmeta new file mode 100644 index 000000000..cc8a1f3c9 --- /dev/null +++ b/kubejs/assets/tfg/textures/item/fission_rod/californium_252_rod_depleted.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_empty.png b/kubejs/assets/tfg/textures/item/fission_rod/fuel_rod_empty.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_empty.png rename to kubejs/assets/tfg/textures/item/fission_rod/fuel_rod_empty.png diff --git a/kubejs/assets/tfg/textures/item/fission_rod/fuel_rod_empty_t2.png b/kubejs/assets/tfg/textures/item/fission_rod/fuel_rod_empty_t2.png new file mode 100644 index 0000000000000000000000000000000000000000..3d64d1165bb4871009532f118d33f9b9f5df0a5a GIT binary patch literal 328 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7`8{16Lo9l)PT1|m94O*? zy;t9*M~v&3WS&D$8|Ojxtf@{%l@xCLti1J;^yNyF8XekwE zUWh6#u5FKI`p$UuwzNisp2o@fk_-qL-@+todN(WY&{brM{Y+BKA;{Or;Wgn&GdXKM<*rA_R j<{PFP{AhN)ru|vBg!wr;JfAQyFfe$!`njxgN@xNAGTe`( literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/fission_rod/fuel_rod_empty_t3.png b/kubejs/assets/tfg/textures/item/fission_rod/fuel_rod_empty_t3.png new file mode 100644 index 0000000000000000000000000000000000000000..f2738e5c901874b4f0461c68d380105e807edac8 GIT binary patch literal 328 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7`8{16Lo9l)PCV#!I6%PF zKWS;l4h^A92jNwh5+)>wpXW%@C{g{fwn<=VU9-|6?TZet7Ileo2Tj~|q)G4ZwS zuS?9Pvxj+oy!A3*&UH)f{+*rkx5Q|h*aS}rirB`>vHT%tcwxBo*AzArn_!;92R7xN zo9(+uc_P$7Z|M`~sl~FgR jtv$8uOxZuxT4w7nabN$3c3LqoFfe$!`njxgN@xNAErgC9 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod.png b/kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod.png new file mode 100644 index 0000000000000000000000000000000000000000..f6ac41254ad3ff0eb031d10cac18db530381fa9b GIT binary patch literal 1141 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU|7Jx#=yY9YWYTlfq})w)5S3)qw(#``~Jb{ z636$mSN%{FS+b3_>Q*q<6!}yI(;YdSvnOj=h?k^&b}}rSDQ+C6^D*hw+qj77VR@vw|rhZ zZ_oMJHuFF4yDwg`@=Mi!xm)+F9nSC54wSm{PtLus+#=`csl@lUCVDOk6gnfH#$n2o zwL3XuMa;3i_Ro#(dvUWjTa^_HFfpmTRXSEbqpjZRkcQU6!g#A0&np=YY|Y=xanHl> zeBVUh3p@BjQdukJ9lvpulOwpHK=#b5LQ7$ZUy`rv4lpw8iCdpzFdYB``Cjj ztKRIYIPi7LN}Gy%L6sXUD=s{`GZt z^_w~5Ui9-^*fw!{sGN=eN}C_{l?&uGwCAyZWw&0jOP6z{%H9jvj~ZXzFv#6Jb7G1q z2Pc!$WWyGcJO)Je*bEBic3?)3+>d{%wX>QB{>olJ&&iq)C zy)#rbA#QTQiX*ow0zQ6TzU1b`&P$T~kD>&F^Z1{ww+lSiZ05|;>1ORzD$~NfUGV3} zg_}M*9X9a3D$3O3rmXV4vLjJp)?)3{zs>W?dlQtIls11C+{=D*e@Wc`2G7nPf7h^I zwE5lKRF|~yb5qs+4L`5c6}8Ojm)GoL51nqm_~^vEkk^p~$N5qwX?P{rJYKMC_I`)O zv2FjG#dH)`)UZuktaJ0W=>#t!gFAbh7Wg+5yjxZDf5GPa9J}|i&FW~_ZU0kI?pM&w ze+jMi23CD9OlB9?FSy}9<@TrjUf;R3_~XRZcC+Wck3M;E(b-3hN&g#Gems0d#A%V! z5#{^)Z6YSuH@wnNJAb#S;OD|3xi#PTTjHn3z5LBOm0jPXo>@U++iOnEH@g@Z7#KWV L{an^LB{Ts5mJT3c literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_p_2.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_p_2.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod_depleted.png b/kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod_depleted.png new file mode 100644 index 0000000000000000000000000000000000000000..8c815ec20bb7c0bacfa05430ff3b66e8fc38222d GIT binary patch literal 1642 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznV07SMV_;y|%JoNyfq~7?)5S5QV$Rz;(K#Za zGHf66HymLKTD|4g+X)k|&J|m}W~qUyZkVpl!Cn^=wi@G$H%_QAaUN6e<+oeKueK;f zVNuh^gBAR_DjHsk7P>}jaRjck$lc1lH^4b_fynLs{I_M(%ATKDdONmk`{%t|t)IV{ zx$OD$;@OOwj8|>C`sVs-scV5>KW$y|U-tQybEkN1u3lf$e9N*SquhR%pZs%%1qVD6 z6OG+9q>imUcv@q&d86^&z_*(%&jhX7q#P!(rNq}#jceV5?+cTEeB1oK;N6$XbNiSc zh{sE8DdFXJ6kuSm-+#TE`}lw3J7%BrA8M#>wQ=@qi%C1H&dwTmL)Mx2Tv%Kl=B_q zs$Z3pE^6j7CFR!MYV*!XK2!NSLxO@m0;XOKKD#bq>g9j@9kUr2dg7%I|G1#h=GR~N z!97X-mvXwy)})V@cCU$sJmd< zvns9}#=HB3OhPvlt6~g!HXbj|G2CYU{Ikja)3Sf=tA8HyEj#-yS9|%YTS`3q ze91)*HR}GnP+{}yv-qx1p+Egi<2q~WS^6@T7f#7+^*_%XyXj1GINuxp$?Ofr!k-Q{ zujx1D_t9avQ!ycdal%x&BX<0Tr8&^r~GTtDdTwHA!S0mRvH@T4i6~mQ7@;6Ve;#j0| zIoQ5th8zE!BiERh3-jy0+3`JLl{ItTbMB8nl$SGfe{5XUa%oH50xczh*Oxy2ZSB^U z_Px#@u{}WIyMq9WjOB$cPPgf1vX7>eZTS+O|L9}>f7LTH-7RhxX@=WWJXv0w`GKJz zuj#oX+oV>x0|#pq-!<<3dFaij121b9@-gUK7j*Gd`+4N|&36ZTQp^@EdVT6+%JZMi zCKU#$j1SHyuR@=axwH1M z^IqXU@W*D-N3lN>^=cpf_;qml^XJKzuKsdlcK`LYd7rI%-k)EM7nv1qvII_A`78YU zYxa5UmecoqS2)OYU@f~9_oLRi6%R6M3f4Z|e#K^og|ZyO1{23ADO_83-;Y0G%D<;V z?!adThfVCiIwtw}%avBjd4_IV`poeW--_psY(>oHlo=aV!pQzZyGP z8w&q2%y{;hyL9b&HT(Swy4SM1&Sf{W2$-iU$B-lJ;<@bkzVdpxlhX1}Vm@7CZew*= zS1}=kF+SQ!Rdl8^eCgo$G$dJ@nOs{w=CkRlJP$R$Ta;Af}RUyP-p$XV&*K z!qemov^&m=%gwNv{_CGpl&yhEK&bO~`)>-Y=DG_{Ej#ohS^VVfq_kv~z)3H!uD@fy z|3T%1;+f}uy1czP_vJkQ8flNub&FG3UGrNqDvw&QI68cvSzoa2sZv|NztlhHnW8@q zEx4@~8nQlW8oS({DJ6=ho3GoS`~R0!e;zvzzs_;?@;{XlO$rYJqW!bvGTyrzy}Tq@ zX@BYTGF4$voRz&h{r5BbDxo=b4{dr*Chy!?5f>R+#&Pjkm^Qyo{y}jzR`XA{lsVF5 zyDPbW{cQymk7qOaZ@hQEG&|wfzAZOgr#=7h#FarXbrDY@_7K51F`j)8%J N!PC{xWt~$(69C-M2+RNg literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod_depleted.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod_depleted.png.mcmeta new file mode 100644 index 000000000..cc8a1f3c9 --- /dev/null +++ b/kubejs/assets/tfg/textures/item/fission_rod/neptunium_237_rod_depleted.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_p_1.png b/kubejs/assets/tfg/textures/item/fission_rod/plutonium_rod.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_p_1.png rename to kubejs/assets/tfg/textures/item/fission_rod/plutonium_rod.png diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_p_4.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/plutonium_rod.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_p_4.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/plutonium_rod.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fission_rod/plutonium_rod_depleted.png b/kubejs/assets/tfg/textures/item/fission_rod/plutonium_rod_depleted.png new file mode 100644 index 0000000000000000000000000000000000000000..271d22fe1805b89bba9aaff59cb6472ae7d60cfe GIT binary patch literal 1694 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/fission_rod/thorium_rod_depleted.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/thorium_rod_depleted.png.mcmeta new file mode 100644 index 000000000..cc8a1f3c9 --- /dev/null +++ b/kubejs/assets/tfg/textures/item/fission_rod/thorium_rod_depleted.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_p_2.png b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_p_2.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_p_2.png rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_p_2.png diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_t_4.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_p_2.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_t_4.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_p_2.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_p_4.png b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_p_4.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_p_4.png rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_p_4.png diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_tbu_1.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_p_4.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_tbu_1.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_p_4.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_t_2.png b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_t_2.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_t_2.png rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_t_2.png diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_tbu_2.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_t_2.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_tbu_2.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_t_2.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_t_4.png b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_t_4.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_t_4.png rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_t_4.png diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_tbu_4.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_t_4.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_tbu_4.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_t_4.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_tbu_2.png b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_tbu_2.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_tbu_2.png rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_tbu_2.png diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_u_1.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_tbu_2.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_u_1.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_tbu_2.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_tbu_4.png b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_tbu_4.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_tbu_4.png rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_tbu_4.png diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_u_2.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_tbu_4.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_u_2.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_tbu_4.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_u_2.png b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_2.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_u_2.png rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_2.png diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_u_4.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_2.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_u_4.png.mcmeta rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_2.png.mcmeta diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_u_4.png b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_4.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_u_4.png rename to kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_4.png diff --git a/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_4.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_4.png.mcmeta new file mode 100644 index 000000000..be167b255 --- /dev/null +++ b/kubejs/assets/tfg/textures/item/fission_rod/unused/fuel_rod_u_4.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 2, "frames": [{"index": 0, "time":30}, 1, 2, 3, 4, 5, 6, 7, 8, 9]}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/item/fuel_rod_u_1.png b/kubejs/assets/tfg/textures/item/fission_rod/uranium_rod.png similarity index 100% rename from kubejs/assets/tfg/textures/item/fuel_rod_u_1.png rename to kubejs/assets/tfg/textures/item/fission_rod/uranium_rod.png diff --git a/kubejs/assets/tfg/textures/item/fission_rod/uranium_rod.png.mcmeta b/kubejs/assets/tfg/textures/item/fission_rod/uranium_rod.png.mcmeta new file mode 100644 index 000000000..be167b255 --- /dev/null +++ b/kubejs/assets/tfg/textures/item/fission_rod/uranium_rod.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 2, "frames": [{"index": 0, "time":30}, 1, 2, 3, 4, 5, 6, 7, 8, 9]}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/item/fission_rod/uranium_rod_depleted.png b/kubejs/assets/tfg/textures/item/fission_rod/uranium_rod_depleted.png new file mode 100644 index 0000000000000000000000000000000000000000..498d4f5ebbe72fbdf117fe37434c70395265753f GIT binary patch literal 1698 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 orqZ { event.addAdvanced(['tfg:refrigerant_pellet'], (item, advanced, text) => { text.add(1, Text.translate("tfg.tooltip.component.refrigerant_pellet")) }) + event.addAdvanced(['tfg:terrafirmaguard_pa6'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.component.refrigerant_pellet")) + }) event.addAdvanced(['tfg:nuclear_turbine'], (item, advanced, text) => { text.add(1, Text.translate("tfg.tooltip.component.nuclear_turbine_1")); diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 1af670f68..6436c7d05 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -79,7 +79,9 @@ const registerGTCEURecipes = (event) => { //#endregion - // #region Move MV superconductor to mid-late MV instead of post-vac freezer + // #region Superconductor + + // Move MV superconductor to mid-late MV instead of post-vac freezer event.remove({ id: 'gtceu:shaped/mv_chemical_bath' }) event.shaped('gtceu:mv_chemical_bath', [ @@ -111,6 +113,28 @@ const registerGTCEURecipes = (event) => { .duration(400) .EUt(GTValues.VA[GTValues.MV]) + // Move EV to after Uranium Reactor + + event.remove({ id: 'gtceu:mixer/uranium_triplatinum' }) + event.recipes.gtceu.mixer('tfg:uranium_triplatinum') + .itemInputs(Item.of('gtceu:uranium_dust', 1), Item.of('gtceu:platinum_dust', 3)) + .inputFluids(Fluid.of('gtceu:radon', 10)) + .itemOutputs(Item.of('gtceu:uranium_triplatinum_dust', 4)) + .duration(20*10) + .EUt(GTValues.VA[GTValues.EV]) + .circuit(4) + + // Move Superconductor to EV and make them cheap + + event.remove({ id: 'gtceu:assembler/laser_cable' }) + event.recipes.gtceu.assembler('tfg:laser_cable') + .itemInputs(Item.of('gtceu:laminated_glass', 1), Item.of('2x #forge:foils/ostrum_iodide', 2)) + .itemOutputs(Item.of('gtceu:normal_laser_pipe', 16)) + .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144)) + .duration(20*5) + .EUt(GTValues.VA[GTValues.EV]) + .cleanroom(CleanroomType.CLEANROOM) + // #endregion //#region Voiding covers @@ -425,4 +449,5 @@ const registerGTCEURecipes = (event) => { event.shapeless('gtceu:magnetic_iron_ingot', ['#forge:ingots/iron', '8x minecraft:redstone']) event.shapeless('gtceu:magnetic_iron_plate', ['#forge:plates/iron', '8x minecraft:redstone']) event.shapeless('gtceu:magnetic_iron_bolt', ['#forge:bolts/iron', '2x minecraft:redstone']) + } diff --git a/kubejs/server_scripts/gtceu_terminal/recipes.js b/kubejs/server_scripts/gtceu_terminal/recipes.js new file mode 100644 index 000000000..80f8b792a --- /dev/null +++ b/kubejs/server_scripts/gtceu_terminal/recipes.js @@ -0,0 +1,50 @@ +function registerGTCEUTerminal(event) { + + + // Gregtech CEu Terminals Integration + + //event.remove({ id : 'gtceuterminal:dismantler' }) + event.shaped('1x gtceuterminal:dismantler', [ + 'ABA', + 'CDC', + 'FEF' + ], { + A: 'gtceu:mv_sensor', + B: 'gtceu:mv_emitter', + C: '#gtceu:circuits/mv', + D: 'gtceu:computer_monitor_cover', + E: 'gtceu:mv_voltage_coil', + F: '#forge:plates/aluminium' + }).id(`tfg:shaped/dismantler`) + + event.remove({ id : 'gtceuterminal:multi_structure_manager' }) + event.shaped('1x gtceuterminal:multi_structure_manager', [ + 'ABA', + 'CDC', + 'FEF' + ], { + A: 'gtceu:hv_sensor', + B: 'gtceu:hv_emitter', + C: '#gtceu:circuits/hv', + D: 'gtceu:terminal', + E: '#gtceu:batteries/hv', + F: '#forge:plates/stainless_steel' + }).id(`tfg:shaped/multi_structure_manager`) + + event.remove({ id : 'gtceuterminal:schematic_interface' }) + /* Broken for now as it can duplicate resources in the I/O Ports + event.shaped('1x gtceuterminal:schematic_interface', [ + 'ABA', + 'CDC', + 'FEF' + ], { + A: 'gtceu:iv_sensor', + B: 'gtceu:iv_emitter', + C: '#gtceu:circuits/iv', + D: 'gtceu:terminal', + E: '#gtceu:batteries/iv', + F: '#forge:plates/tungsten_steel' + }).id(`tfg:shaped/schematic_interface`) + */ + + } \ No newline at end of file diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index f29efde72..7ce704580 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -255,6 +255,7 @@ ServerEvents.recipes(event => { registerGrapplingHookRecipes(event); registerGreateRecipes(event) registerGTCEURecipes(event); + registerGTCEUTerminal(event) registerHandGliderRecipes(event) registerHotOrNotRecipes(event) registerImmersiveAircraftRecipes(event) diff --git a/kubejs/server_scripts/tfg/machines/recipes.casings.js b/kubejs/server_scripts/tfg/machines/recipes.casings.js index b240e469f..199fa44a9 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.casings.js +++ b/kubejs/server_scripts/tfg/machines/recipes.casings.js @@ -131,7 +131,7 @@ function registerTFGCasingRecipes(event) { // Ostrum Linear Acclerator event.recipes.gtceu.assembler('tfg:casings/machine_casing_mars') .itemInputs('gtceu:clean_machine_casing', '4x #forge:double_wires/kanthal') - .inputFluids(Fluid.of('gtceu:polybenzimidazole', 288)) + .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 288)) .itemOutputs('tfg:casings/machine_casing_mars') .circuit(6) .duration(2.5 * 20) @@ -145,6 +145,34 @@ function registerTFGCasingRecipes(event) { .duration(2.5 * 20) .EUt(GTValues.VA[GTValues.HV]) + // Heat Battery deafission:battery_heat_port_ev + + event.recipes.gtceu.assembler('tfg:battery_heat_port_ev') + .itemInputs(Item.of('gtceu:iv_machine_hull', 1), Item.of('gtceu:rtm_alloy_coil_block'), Item.of('gtceu:silicon_plate', 6)) + .inputFluids(Fluid.of('gtceu:mercury', 4000)) + .itemOutputs('deafission:battery_heat_port_ev') + //.circuit(6) + .duration(2.5 * 20) + .EUt(GTValues.VA[GTValues.EV]) + + // Small Modular Turbine + + event.recipes.gtceu.assembler('tfg:machine_casing_desh_ptfe') + .itemInputs('4x #forge:dense_plates/desh', '2x #forge:dense_plates/lead', Item.of('gtceu:hsla_steel_frame')) + .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 288)) + .itemOutputs('tfg:casings/machine_casing_desh_ptfe') + .circuit(6) + .duration(2.5 * 20) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.assembler('tfg:uv_smr_fluid_import_hatch') + .itemInputs('4x #forge:dense_plates/desh', '2x #forge:dense_plates/lead', Item.of('gtceu:iv_input_hatch', 1)) + .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 288)) + .itemOutputs('tfg:uv_smr_fluid_import_hatch') + //.circuit(6) + .duration(2.5 * 20) + .EUt(GTValues.VA[GTValues.EV]) + // Vacuum Intake event.shaped('tfg:casings/machine_casing_vacuum_engine_intake', [ 'USU', diff --git a/kubejs/server_scripts/tfg/machines/recipes.coils.js b/kubejs/server_scripts/tfg/machines/recipes.coils.js index 850945e8d..44a47b9e5 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.coils.js +++ b/kubejs/server_scripts/tfg/machines/recipes.coils.js @@ -74,4 +74,21 @@ function registerTFGCoilRecipes(event) { .addMaterialInfo(true, true) // #endregion + + // #region RTM Coil + + event.remove({ id : 'gtceu:assembler/coil_rtm_alloy' }) + event.recipes.gtceu.assembler('tfg:coil_rtm_alloy') + .itemInputs('8x #forge:double_wires/rtm_alloy', '8x #forge:foils/vanadium_steel', '#forge:insulation_t2/sheet') + .inputFluids('tfg:nichromium_iodomethylate 244') + .itemOutputs('gtceu:rtm_alloy_coil_block') + .duration(20 * 25) + .EUt(GTValues.VA[GTValues.EV]) + .addMaterialInfo(true, true) + + event.recipes.gtceu.mixer('tfg:nichromium_iodomethylate') + .inputFluids(Fluid.of('gtceu:nichrome', 144), Fluid.of('tfg:iodomethane', 100)) + .outputFluids('tfg:nichromium_iodomethylate 244') + .duration(20 * 8) + .EUt(GTValues.VA[GTValues.HV]) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js b/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js index 3b40a47da..b5a1d9298 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js +++ b/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js @@ -120,13 +120,26 @@ function registerTFGMultiblockRecipes(event) { 'PTP' ], { S: 'tfg:casings/machine_casing_vacuum_engine_intake', - Z: 'gtceu:iv_machine_hull', - W: '#gtceu:circuits/iv', + Z: 'gtceu:ev_machine_hull', + W: '#gtceu:circuits/ev', U: '#forge:double_plates/stellite_100', - T: '#forge:single_cables/platinum', - P: 'gtceu:iv_electric_pump' + T: '#forge:single_cables/aluminium', + P: 'gtceu:ev_electric_pump' }).addMaterialInfo().id('tfg:shaped/ostrum_linear_accelerator') + event.recipes.gtceu.shaped('tfg:heat_battery_mk1', [ + 'USU', + 'WZW', + 'PTP' + ], { + S: 'tfg:casings/heat_pipe_casing', + Z: 'gtceu:ev_machine_hull', + W: '#gtceu:circuits/ev', + U: '#forge:dense_plates/silicon', + T: '#forge:single_cables/aluminium', + P: 'gtceu:hv_field_generator' + }).addMaterialInfo().id('tfg:shaped/heat_battery_mk1') + event.recipes.gtceu.assembler('tfg:ostrum_harvester') .itemInputs( '1x gtceu:ev_machine_hull', @@ -175,6 +188,28 @@ function registerTFGMultiblockRecipes(event) { Z: 'gtceu:ev_machine_hull' }).addMaterialInfo().id('tfg:shaped/fission_reactor_mk1') + event.recipes.gtceu.shaped('deafission:fission_reactor_smr1', [ + 'TUT', + 'WZW', + 'TUT' + ], { + T: 'gtceu:atomic_casing', + W: '#gtceu:circuits/iv', + U: 'gtceu:ev_field_generator', + Z: 'gtceu:iv_machine_hull' + }).addMaterialInfo().id('tfg:shaped/fission_reactor_smr1') + + event.recipes.gtceu.shaped('tfg:smr_generator', [ + 'TUT', + 'WZW', + 'TUT' + ], { + T: 'tfg:casings/machine_casing_desh_ptfe', + W: '#gtceu:circuits/iv', + U: 'gtceu:ev_field_generator', + Z: 'gtceu:iv_machine_hull' + }).addMaterialInfo().id('tfg:shaped/smr_generator') + event.recipes.gtceu.shaped('gtceu:nuclear_fuel_factory', [ 'TUT', 'WZW', @@ -227,8 +262,8 @@ function registerTFGMultiblockRecipes(event) { event.remove({output: 'gtceu:active_transformer'}) event.recipes.gtceu.assembler('tfg:active_power_transformer') - .itemInputs('1x gtceu:iv_transformer_1a', '1x #gtceu:circuits/iv', '8x gtceu:uranium_triplatinum_single_wire', - '2x gtceu:hpic_chip') + .itemInputs('1x gtceu:ev_transformer_1a', '1x #gtceu:circuits/ev', '8x gtceu:uranium_triplatinum_single_wire', + '2x gtceu:mpic_chip') .inputFluids(Fluid.of('gtceu:ostrum_iodide', 288)) .itemOutputs('tfg:active_power_transformer') .duration(300) diff --git a/kubejs/server_scripts/tfg/mars/recipes.ostrum.js b/kubejs/server_scripts/tfg/mars/recipes.ostrum.js index 7aa0cdffd..bf4ff9dbc 100644 --- a/kubejs/server_scripts/tfg/mars/recipes.ostrum.js +++ b/kubejs/server_scripts/tfg/mars/recipes.ostrum.js @@ -2,8 +2,8 @@ function registerTFGMarsOstrumRecipes(event) { - var $HeatRecipeCapability = Java.loadClass("fi.dea.mc.deafission.common.data.recipe.HeatRecipeCapability"); - var $HeatIngredient = Java.loadClass("fi.dea.mc.deafission.common.data.recipe.HeatIngredient"); + const $HeatRecipeCapability = Java.loadClass("fi.dea.mc.deafission.common.data.recipe.HeatRecipeCapability"); + const $HeatIngredient = Java.loadClass("fi.dea.mc.deafission.common.data.recipe.HeatIngredient"); const $ChanceLogic = Java.loadClass('com.gregtechceu.gtceu.api.recipe.chance.logic.ChanceLogic') // Ostrum Harvester @@ -18,7 +18,7 @@ function registerTFGMarsOstrumRecipes(event) { .EUt(GTValues.VA[GTValues.LV]); // Ostrum Linear Accelerator Recipes - +/* event.recipes.gtceu.ostrum_linear_accelerator('tfg:ostrum_transformation') .inputFluids('gtceu:residual_radioactive_concoction 100') .itemInputs('32x #forge:dusts/ostrum') @@ -62,13 +62,13 @@ function registerTFGMarsOstrumRecipes(event) { .dimension('ad_astra:mars') .duration(20 * 5) .EUt(GTValues.VA[GTValues.IV]); - +*/ // Ostrum Linear Accelerator Recipes // .input($HeatRecipeCapability.CAP, new $HeatIngredient(X, Y)) where X is Minimal Temperature to run and where Y is HU consummed per craft - /* + event.recipes.gtceu.ostrum_linear_accelerator('tfg:ostrum_transformation') - .inputFluids('gtceu:residual_radioactive_concoction 100') + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1000)) .itemInputs('32x #forge:dusts/ostrum') .chancedFluidOutputLogic($ChanceLogic.XOR) .chancedFluidOutput('gtceu:lightweight_ostrum_vapor', 6000, 0) @@ -77,46 +77,49 @@ function registerTFGMarsOstrumRecipes(event) { .dimension('ad_astra:mars') .duration(20 * 5) .EUt(GTValues.VA[GTValues.EV]); + + //#region Light Ostrum Vapor event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t1') .perTick(true) - .inputFluids('gtceu:residual_radioactive_concoction 1') + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) .perTick(false) .inputFluids(Fluid.of('gtceu:lightweight_ostrum_vapor',1000)) .inputFluids(Fluid.of('gtceu:radon', 10)) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 1, 10) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/silver'), 1, 10) - .itemOutputsRanged(Item.of('gtceu:dusty_raw_tricalcium_phosphate'), 1, 10) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 10) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 1, 10) - //.input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500)) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 1, 5) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/silver'), 1, 2) + .itemOutputsRanged(Item.of('gtceu:dusty_raw_tricalcium_phosphate'), 1, 2) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 2) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 1, 5) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(10, 100)) .dimension('ad_astra:mars') - .duration(20 * 20) + .duration(20 * 120) + .EUt(GTValues.VA[GTValues.EV]) .circuit(1); event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t2') .perTick(true) - .inputFluids('gtceu:residual_radioactive_concoction 1') + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) .inputFluids(Fluid.of('tfg:semiheavy_water', 1)) .perTick(false) .inputFluids(Fluid.of('gtceu:lightweight_ostrum_vapor',1000)) .inputFluids(Fluid.of('gtceu:radon', 10)) .inputFluids(Fluid.of('gtceu:krypton', 10)) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 10, 20) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/silver'), 1, 10) - .itemOutputsRanged(Item.of('gtceu:dusty_raw_tricalcium_phosphate'), 1, 10) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 10) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 1, 10) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 1, 10) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/silver'), 1, 3) + .itemOutputsRanged(Item.of('gtceu:dusty_raw_tricalcium_phosphate'), 1, 3) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 3) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 1, 3) .itemOutputsRanged(Item.of('gtceu:dusty_raw_pitchblende'), 1, 10) - //.input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500)) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(10, 100)) .dimension('ad_astra:mars') - .duration(20 * 20) - .EUt(GTValues.VA[GTValues.IV]) + .duration(20 * 120) + .EUt(GTValues.VA[GTValues.EV]) .circuit(2); event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t3') .perTick(true) - .inputFluids('gtceu:residual_radioactive_concoction 1') + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) .inputFluids(Fluid.of('tfg:semiheavy_water', 1)) .perTick(false) .inputFluids(Fluid.of('gtceu:lightweight_ostrum_vapor',1000)) @@ -124,17 +127,108 @@ function registerTFGMarsOstrumRecipes(event) { .inputFluids(Fluid.of('gtceu:krypton', 10)) .inputFluids(Fluid.of('gtceu:tritiated_water', 10)) .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 10, 20) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/silver'), 1, 10) - .itemOutputsRanged(Item.of('gtceu:dusty_raw_tricalcium_phosphate'), 1, 10) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 10) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 10, 10) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/silver'), 1, 5) + .itemOutputsRanged(Item.of('gtceu:dusty_raw_tricalcium_phosphate'), 1, 5) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/bauxite'), 1, 5) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/lead'), 1, 5) .itemOutputsRanged(Item.of('gtceu:dusty_raw_pitchblende'), 10, 20) - .input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500)) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(10, 100)) .dimension('ad_astra:mars') - .duration(20 * 20) - .EUt(GTValues.VA[GTValues.IV]) + .duration(20 * 120) + .EUt(GTValues.VA[GTValues.EV]) .circuit(3); - */ + //#endregion + //#region Ostrum Vapor + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:polyalkylene_lubricant') + .perTick(true) + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) + .perTick(false) + .inputFluids(Fluid.of('gtceu:ostrum_vapor', 1000)) + .inputFluids(Fluid.of('gtceu:ethylene', 1000)) + .inputFluids(Fluid.of('gtceu:lubricant', 1000)) + .outputFluids(Fluid.of('tfg:polyalkylene_lubricant', 1000)) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 1500)) + .dimension('ad_astra:mars') + .duration(20 * 150) + .EUt(GTValues.VA[GTValues.IV]) + //.circuit(3); + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:caesium_137') + .perTick(true) + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) + .perTick(false) + .inputFluids(Fluid.of('gtceu:ostrum_vapor', 1000)) + .inputFluids(Fluid.of('gtceu:radon', 1000)) + .itemInputs(Item.of('gtceu:caesium_dust', 64)) + .itemOutputs(Item.of('#forge:dusts/caesium_137')) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 1500)) + .dimension('ad_astra:mars') + .duration(20 * 150) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:terrafirmaguard_pa6') + .perTick(true) + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) + .perTick(false) + .inputFluids(Fluid.of('gtceu:ostrum_vapor', 1000)) + .itemInputs(Item.of('tfg:polycaprolactam_fabric', 64)) + .itemInputs(Item.of('tfg:refrigerant_pellet', 8)) + .itemInputs(Item.of('gtceu:iodine_dust', 1)) + .itemOutputs(Item.of('tfg:terrafirmaguard_pa6', 32)) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 100)) + .dimension('ad_astra:mars') + .duration(20 * 120) + .EUt(GTValues.VA[GTValues.IV]) + + //#endregion + + //#region Dense Ostrum Vapor + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:radioactive_effluent') + .perTick(true) + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) + .perTick(false) + .inputFluids(Fluid.of('gtceu:dense_ostrum_vapor', 1000)) + .itemInputs(Item.of('#forge:dusts/caesium_137', 1)) + .itemInputs(Item.of('gtceu:cobalt_dust', 8)) + .outputFluids(Fluid.of('tfg:radioactive_effluent', 512)) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(500, 1600)) + .dimension('ad_astra:mars') + .duration(20 * 240) + .EUt(GTValues.VA[GTValues.LuV]) + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:tbu_232_rod_ola') + .perTick(true) + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) + .perTick(false) + .inputFluids(Fluid.of('gtceu:dense_ostrum_vapor', 1000)) + .inputFluids(Fluid.of('gtceu:radioactive_waste', 128000)) + .inputFluids(Fluid.of('gtceu:tritiated_water', 41472)) + .itemInputs('16x #forge:rods/long/thorium_230') + .itemInputs('16x #forge:rods/long/thorium_230') + .itemInputs('16x #forge:rods/long/thorium_230') + .itemInputs('16x #forge:rods/long/thorium_230') + .itemInputs('16x #forge:rods/long/thorium_230') + .itemInputs(Item.of('tfg:empty_rod_t2', 1)) + .itemOutputs(Item.of('tfg:tbu_232_rod', 1)) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500)) + .dimension('ad_astra:mars') + .duration(20 * 640) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:dense_to_light') + .perTick(true) + .inputFluids(Fluid.of('gtceu:residual_radioactive_concoction', 1)) + .perTick(false) + .inputFluids(Fluid.of('gtceu:dense_ostrum_vapor', 1000)) + .outputFluids(Fluid.of('gtceu:lightweight_ostrum_vapor', 1000)) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 100)) + .dimension('ad_astra:mars') + .duration(20 * 240) + .EUt(GTValues.VA[GTValues.IV]) + .circuit(4) + } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.components.js b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.components.js index 46cf556da..5bee23fd5 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.components.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.components.js @@ -33,9 +33,11 @@ function registerTFGNuclearComponentsRecipes(event) { component("HEAT", "tfg:aes_insulation_frame", 1); component("HEAT", "tfg:moderate_core_frame", 10); component("HEAT", "tfg:impure_moderate_core_frame", 5); -/* - componentThermal('THERMAL', 'minecraft:sand', 1000, 25); - componentThermal('THERMAL', 'tfg:impure_moderate_core_frame', 2000, 50); - componentThermal('THERMAL', 'minecraft:bedrock', 9001, 1e5); -*/ + //component("HEAT", "minecraft:bedrock", 1000); + + //componentThermal('THERMAL', '#forge:sand', 1000, 1); + componentThermal('THERMAL', 'tfg:impure_moderate_core_frame', 2000, 10); + componentThermal('THERMAL', 'tfg:moderate_core_frame', 4000, 10); + //componentThermal('THERMAL', 'minecraft:bedrock', 9001, 10); + } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js index fca0005e1..28e2af5be 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js @@ -30,47 +30,132 @@ function registerTFGNuclearRecipes(event) { //#region Nuclear Pellet - event.recipes.gtceu.nuclear_fuel_factory('tfg:thorium_pellet') - .itemInputs('16x #forge:rods/thorium_230', '32x #forge:rods/thorium_232', - '32x #forge:rods/thorium_232', '32x #forge:rods/thorium_232', '32x #forge:rods/thorium_232', - 'tfg:empty_rod') - .itemOutputs('tfg:thorium_rod') - .duration(20*200) - .EUt(GTValues.VA[GTValues.HV]) - .dimension('ad_astra:mars') + const nuclearFuelRecipes = [ + { + id: 'tfg:thorium_pellet', + itemInputs: [ + '16x #forge:rods/thorium_230', + '32x #forge:rods/thorium_232', + '32x #forge:rods/thorium_232', + '32x #forge:rods/thorium_232', + '32x #forge:rods/thorium_232', + 'tfg:empty_rod' + ], + itemOutputs: 'tfg:thorium_rod', + duration: 20 * 200, + eut: GTValues.VA[GTValues.HV] + }, - event.recipes.gtceu.nuclear_fuel_factory('tfg:uranium_pellet') - .inputFluids(Fluid.of('gtceu:radioactive_waste', 10000)) - .itemInputs('16x #forge:rods/uranium_235', '32x #forge:rods/uranium', '32x #forge:rods/uranium', - '32x #forge:rods/uranium', '32x #forge:rods/uranium', 'tfg:empty_rod') - .itemOutputs('tfg:uranium_rod') - .duration(20*600) - .EUt(GTValues.VA[GTValues.HV]) - .dimension('ad_astra:mars') + { + id: 'tfg:uranium_pellet', + itemInputs: [ + '16x #forge:rods/uranium_235', + '32x #forge:rods/uranium', + '32x #forge:rods/uranium', + '32x #forge:rods/uranium', + '32x #forge:rods/uranium', + 'tfg:empty_rod' + ], + inputFluids: Fluid.of('gtceu:radioactive_waste', 10000), + itemOutputs: 'tfg:uranium_rod', + duration: 20 * 600, + eut: GTValues.VA[GTValues.HV] + }, - event.recipes.gtceu.nuclear_fuel_factory('tfg:plutonium_pellet') - .itemInputs('32x #forge:rods/plutonium', '32x #forge:rods/plutonium', '32x #forge:rods/plutonium', - '32x #forge:rods/plutonium', 'tfg:empty_rod') - .inputFluids(Fluid.of('gtceu:radon', 100)) - .itemOutputs('tfg:plutonium_rod') - .duration(20*600) - .EUt(GTValues.VA[GTValues.EV]) - .dimension('ad_astra:mars') -/* - event.recipes.gtceu.nuclear_fuel_factory('tfg:tbu_232_rod') - .inputFluids(Fluid.of('gtceu:nuclear_waste', 32000)) - .itemInputs('2x #forge:rods/thorium_232', 'tfg:empty_rod') - .itemOutputs('tfg:tbu_232_rod') - .duration(20*300) - .EUt(GTValues.V[GTValues.IV]) + { + id: 'tfg:plutonium_pellet', + itemInputs: [ + '32x #forge:rods/plutonium', + '32x #forge:rods/plutonium', + '32x #forge:rods/plutonium', + '32x #forge:rods/plutonium', + 'tfg:empty_rod' + ], + inputFluids: Fluid.of('gtceu:radon', 100), + itemOutputs: 'tfg:plutonium_rod', + duration: 20 * 600, + eut: GTValues.VA[GTValues.EV] + }, + + { + id: 'tfg:americium_pellet', + itemInputs: [ + '32x #forge:rods/americium_241', + '32x #forge:rods/americium_241', + 'tfg:empty_rod_t2' + ], + inputFluids: Fluid.of('gtceu:radon', 100), + itemOutputs: 'tfg:americium_241_rod', + duration: 20 * 600, + eut: GTValues.VA[GTValues.IV] + }, + + { + id: 'tfg:neptunium_pellet', + itemInputs: [ + '32x #forge:rods/neptunium_237', + '32x #forge:rods/neptunium_237', + 'tfg:empty_rod_t2' + ], + inputFluids: Fluid.of('gtceu:radon', 100), + itemOutputs: 'tfg:neptunium_237_rod', + duration: 20 * 600, + eut: GTValues.VA[GTValues.IV] + }, + + { + id: 'tfg:tbu_232_rod_recycle', + itemInputs: [ + '16x #forge:rods/long/thorium_230', + '16x #forge:rods/long/thorium_230', + '32x #forge:rods/thorium_232', + '32x #forge:rods/thorium_232', + '32x #forge:rods/thorium_232', + 'tfg:empty_rod_t2' + ], + inputFluids: Fluid.of('tfg:tbu_waste', 8000), + itemOutputs: 'tfg:tbu_232_rod', + duration: 20 * 300, + eut: GTValues.VA[GTValues.IV] + } + ] + + nuclearFuelRecipes.forEach(r => { + let recipe = event.recipes.gtceu.nuclear_fuel_factory(r.id) + .itemInputs(r.itemInputs) + .itemOutputs(r.itemOutputs) + .duration(r.duration) + .EUt(r.eut) + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(recipe, true) + + if (r.inputFluids) { + recipe.inputFluids(r.inputFluids) + } + }) + + + event.recipes.gtceu.assembler('tfg:empty_rod') + .itemInputs('3x gtceu:cobalt_large_restrictive_item_pipe', '9x #forge:double_plates/cadmium', '4x #forge:dense_plates/maraging_steel_300') + .itemOutputs('tfg:empty_rod') + .duration(20*15) + .EUt(GTValues.VA[GTValues.HV]) + .addMaterialInfo(true) + + event.recipes.gtceu.assembler('tfg:empty_rod_t2') + .itemInputs('3x gtceu:cobalt_large_restrictive_item_pipe', '9x #forge:double_plates/cadmium', '4x #forge:dense_plates/beryllium') + .itemOutputs('tfg:empty_rod_t2') + .duration(20*15) + .EUt(GTValues.VA[GTValues.EV]) + .addMaterialInfo(true) +/* HIDE UNTIL VENUS IV - COMMENT OUT + event.recipes.gtceu.assembler('tfg:empty_rod_t3') + .itemInputs('3x gtceu:cobalt_large_restrictive_item_pipe', '9x #forge:double_plates/cadmium', '4x #forge:dense_plates/zirconium') + .itemOutputs('tfg:empty_rod_t3') + .duration(20*15) + .EUt(GTValues.VA[GTValues.IV]) + .addMaterialInfo(true) */ - event.recipes.gtceu.assembler('tfg:empty_rod') - .itemInputs('3x gtceu:cobalt_large_restrictive_item_pipe', '3x gtceu:lead_huge_fluid_pipe') - .itemOutputs('tfg:empty_rod') - .duration(20*15) - .EUt(GTValues.VA[GTValues.HV]) - .addMaterialInfo(true) - //#endregion //#region Processing Fuels @@ -181,24 +266,24 @@ function registerTFGNuclearRecipes(event) { event.recipes.gtceu.heat_exchanger('plutonium_steam') .perTick(true) .inputFluids(Fluid.of('minecraft:water', 10)) - .inputFluids(Fluid.of('gtceu:irradiated_steam', 1600)) - .outputFluids(Fluid.of('gtceu:dense_steam', 1600)) + .inputFluids(Fluid.of('gtceu:irradiated_steam', 3200)) + .outputFluids(Fluid.of('gtceu:dense_steam', 6400)) .perTick(false) .duration(20*5) .EUt(1) .dimension('ad_astra:mars') // Heat Exchanger for Energy - +/* event.recipes.gtceu.heat_exchanger('flibe_cooling') - .inputFluids(Fluid.of('gtceu:hot_flibe', 10)) + .inputFluids(Fluid.of('tfg:hot_flibe', 10)) .inputFluids(Fluid.of('gtceu:distilled_water', 10)) .chancedFluidInput(Fluid.of('gtceu:hastelloy_c_276', 10), 5000, 0) - .chancedFluidOutput(Fluid.of('gtceu:flibe', 10), 9500, 0) + .chancedFluidOutput(Fluid.of('tfg:flibe', 10), 9500, 0) .outputFluids(Fluid.of('gtceu:dense_steam', 10)) .duration(20*10) .EUt(1) - +*/ //#endregion //#region Fission Reactor @@ -206,15 +291,15 @@ function registerTFGNuclearRecipes(event) { // Thorium Fission event.recipes.deafission.fission_reactor_fuel('tfg:thorium') - .itemInputs(Item.of('tfg:thorium_rod')) - .outputFluids(Fluid.of('gtceu:radioactive_waste', 2500)) - .itemOutputs(Item.of('tfg:empty_rod')) - .dimension('ad_astra:mars') - .hideDuration(true) - .dimension('ad_astra:mars') + .itemInputs(Item.of('tfg:thorium_rod')) + .itemOutputs(Item.of('tfg:depleted_thorium_rod')) + // Mandatory by GT; no real impact. Use this as a convention: + // durability / const / heatValue + .duration(5000 / 0.4 / 0.7) + .dimension('ad_astra:mars'); event.recipes.deafission.fission_reactor_coolant('tfg:thorium_coolant') - .notConsumable(Item.of('tfg:thorium_rod')) + .itemInputs(Item.of('tfg:thorium_rod')) .perTick(true) .inputFluids(Fluid.of('tfg:heavy_water', 2)) .outputFluids(Fluid.of('gtceu:dense_steam', 480)) @@ -226,14 +311,15 @@ function registerTFGNuclearRecipes(event) { // Uranium Fission event.recipes.deafission.fission_reactor_fuel('tfg:uranium') - .itemInputs(Item.of('tfg:uranium_rod')) - .outputFluids(Fluid.of('gtceu:uranium_waste', 50000)) - .itemOutputs(Item.of('tfg:empty_rod')) - .hideDuration(true) - .dimension('ad_astra:mars') + .itemInputs(Item.of('tfg:uranium_rod')) + .itemOutputs(Item.of('tfg:depleted_uranium_rod')) + // Mandatory by GT; no real impact. Use this as a convention: + // durability / const / heatValue + .duration(20000 / 0.4 / 2.2) + .dimension('ad_astra:mars'); event.recipes.deafission.fission_reactor_coolant('tfg:uranium_coolant') - .notConsumable(Item.of('tfg:uranium_rod')) + .itemInputs(Item.of('tfg:uranium_rod')) .perTick(true) .inputFluids(Fluid.of('tfg:heavy_water', 20)) .outputFluids(Fluid.of('gtceu:radioactive_steam', 1600)) @@ -245,42 +331,257 @@ function registerTFGNuclearRecipes(event) { // Plutonium Fission event.recipes.deafission.fission_reactor_fuel('tfg:plutonium') - .itemInputs(Item.of('tfg:plutonium_rod')) - .outputFluids(Fluid.of('gtceu:tritiated_water', 5184)) - .itemOutputs(Item.of('tfg:empty_rod')) - .hideDuration(true) - .dimension('ad_astra:mars') + .itemInputs(Item.of('tfg:plutonium_rod')) + .itemOutputs(Item.of('tfg:depleted_plutonium_rod')) + // Mandatory by GT; no real impact. Use this as a convention: + // durability / const / heatValue + .duration(30000 / 0.4 / 3) + .dimension('ad_astra:mars'); event.recipes.deafission.fission_reactor_coolant('tfg:plutonium_coolant') - .notConsumable(Item.of('tfg:plutonium_rod')) + .itemInputs(Item.of('tfg:plutonium_rod')) .perTick(true) .inputFluids(Fluid.of('tfg:heavy_water', 25)) - .outputFluids(Fluid.of('gtceu:irradiated_steam', 6400)) + .outputFluids(Fluid.of('gtceu:irradiated_steam', 3200)) .perTick(false) .addData("coolant_heat_per_tick", 1) .duration(1) .dimension('ad_astra:mars') // TBU Fission -/* event.recipes.deafission.fission_reactor_fuel('kubejs:fuelcell_custom_x1') .itemInputs('tfg:tbu_232_rod') - .itemOutputs('minecraft:dirt') + .itemOutputs('tfg:depleted_tbu_232_rod') // Mandatory by GT; no real impact. Use this as a convention: // durability / const / heatValue .duration(10000 / 0.4 / 2) .dimension('ad_astra:mars'); - +/* event.recipes.deafission.fission_reactor_coolant('tfg:tbu_coolant') .itemInputs(Ingredient.of([ 'tfg:tbu_232_rod'])) .inputFluids(Fluid.of('tfg:heavy_water', 100)) .outputFluids(Fluid.of('gtceu:dense_steam', 100)) .addData("coolant_heat_per_tick", 12.34) - .duration(1000); -*/ + .duration(1000);*/ + + event.recipes.deafission.fission_reactor_coolant('tfg:tbu_coolant') + .itemInputs(Ingredient.of([ + 'tfg:tbu_232_rod'])) + .perTick(true) + .inputFluids(Fluid.of('tfg:heavy_water', 20)) + .outputFluids(Fluid.of('gtceu:dense_steam', 1200)) + .perTick(false) + .addData("coolant_heat_per_tick", 1) + .duration(1) + .dimension('ad_astra:mars') + + // Neptunium-237 Rod Fission + event.recipes.deafission.fission_reactor_fuel('tfg:neptunium_237') + .itemInputs('tfg:neptunium_237_rod') + .itemOutputs('tfg:depleted_neptunium_237_rod') + // Mandatory by GT; no real impact. Use this as a convention: + // durability / const / heatValue + .duration(100000 / 0.4 / 2); + + event.recipes.deafission.fission_reactor_coolant('tfg:boron_enriched_coolant') + .itemInputs( + Ingredient.of(['tfg:neptunium_237_rod', 'tfg:americium_241_rod', 'tfg:californium_252_rod'])) + .inputFluids(Fluid.of('tfg:boron_enriched_coolant', 10*64)) + .outputFluids(Fluid.of('tfg:hot_boron_enriched_coolant', 10*64)) + .addData("coolant_heat_per_tick", 1) + .duration(1); + + // Americium-241 Rod Fission + event.recipes.deafission.fission_reactor_fuel('tfg:americium_241') + .itemInputs('tfg:americium_241_rod') + .itemOutputs('tfg:depleted_americium_241_rod') + // Mandatory by GT; no real impact. Use this as a convention: + // durability / const / heatValue + .duration(1000000 / 0.4 / 0.5); + + event.recipes.deafission.fission_reactor_coolant_smr('tfg:americium_241_coolant') + .itemInputs(Ingredient.of([ + 'tfg:americium_241_rod'])) + .inputFluids(Fluid.of('tfg:ticl4_doped_supercritical_co2', 80)) + .outputFluids(Fluid.of('tfg:spent_ticl4_doped_supercritical_co2', 80)) + .addData("coolant_heat_per_tick", 1) + .duration(1); + + // Neptunium-237 Rod Fission + event.recipes.deafission.fission_reactor_fuel('tfg:californium_252_rod') + .itemInputs('tfg:californium_252_rod') + .itemOutputs('tfg:depleted_californium_252_rod') + // Mandatory by GT; no real impact. Use this as a convention: + // durability / const / heatValue + .duration(500000 / 0.4 / 4); + + event.recipes.deafission.fission_reactor_coolant('tfg:flibe_coolant') + .itemInputs( + Ingredient.of(['tfg:californium_252_rod'])) + .inputFluids(Fluid.of('tfg:flibe', 10*64)) + .outputFluids(Fluid.of('tfg:hot_flibe', 10*64)) + .addData("coolant_heat_per_tick", 1) + .duration(1); + //#endregion + //#region Fission Rod Processing + + let a; + + a = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_thorium_rod') + .inputItemNbtPredicate(Item.of('tfg:depleted_thorium_rod'), NBTPredicates.lt("avgHeat", 800)) + .itemOutputs(Item.of('tfg:empty_rod')) + .outputFluids(Fluid.of('gtceu:radioactive_waste', 2500)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "0") + .addDataString("avgHeat2", "799") + TFGRecipeSchemaBindings.isOxygenated(a, true) + + a = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_thorium_rod_average') + .inputItemNbtPredicate('tfg:depleted_thorium_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 800), + NBTPredicates.lt("avgHeat", 3000) + ])) + .itemOutputs(Item.of('tfg:empty_rod')) + .outputFluids(Fluid.of('gtceu:radioactive_waste', 1000)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "800") + .addDataString("avgHeat2", "2999") + TFGRecipeSchemaBindings.isOxygenated(a, true) + + a = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_thorium_rod_bad') + .inputItemNbtPredicate(Item.of('tfg:depleted_thorium_rod'), NBTPredicates.gte("avgHeat", 3000)) + .itemOutputs(Item.of('tfg:empty_rod')) + .outputFluids(Fluid.of('gtceu:radioactive_waste', 100)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "3000") + .addDataString("avgHeat2", "∞") + TFGRecipeSchemaBindings.isOxygenated(a, true) + + // Uranium + let b; + + b = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_uranium_rod') + .inputItemNbtPredicate(Item.of('tfg:depleted_uranium_rod'), NBTPredicates.lt("avgHeat", 2000)) + .itemOutputs(Item.of('tfg:empty_rod')) + .outputFluids(Fluid.of('gtceu:uranium_waste', 50000)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "0") + .addDataString("avgHeat2", "1999") + TFGRecipeSchemaBindings.isOxygenated(b, true) + + b = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_uranium_rod_average') + .inputItemNbtPredicate('tfg:depleted_uranium_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 2000), + NBTPredicates.lt("avgHeat", 3000) + ])) + .itemOutputs(Item.of('tfg:empty_rod')) + .outputFluids(Fluid.of('gtceu:uranium_waste', 10000)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "2000") + .addDataString("avgHeat2", "2999") + TFGRecipeSchemaBindings.isOxygenated(b, true) + + b = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_uranium_rod_bad') + .inputItemNbtPredicate(Item.of('tfg:depleted_uranium_rod'), NBTPredicates.gte("avgHeat", 3000)) + .itemOutputs(Item.of('tfg:empty_rod')) + .outputFluids(Fluid.of('gtceu:uranium_waste', 500)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "3000") + .addDataString("avgHeat2", "∞") + TFGRecipeSchemaBindings.isOxygenated(b, true); + + // Plutonium + let c; + + c = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_plutonium_rod') + .inputItemNbtPredicate(Item.of('tfg:depleted_plutonium_rod'), NBTPredicates.lt("avgHeat", 1000)) + .itemOutputs(Item.of('tfg:empty_rod')) + .outputFluids(Fluid.of('gtceu:tritiated_water', 5184)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "0") + .addDataString("avgHeat2", "999") + TFGRecipeSchemaBindings.isOxygenated(c, true); + + c = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_plutonium_rod_average') + .inputItemNbtPredicate('tfg:depleted_plutonium_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 1000), + NBTPredicates.lt("avgHeat", 3000) + ])) + .itemOutputs(Item.of('tfg:empty_rod')) + .outputFluids(Fluid.of('gtceu:tritiated_water', 576)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "1000") + .addDataString("avgHeat2", "2999") + TFGRecipeSchemaBindings.isOxygenated(c, true) + + c = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_plutonium_rod_bad') + .inputItemNbtPredicate(Item.of('tfg:depleted_plutonium_rod'), NBTPredicates.gte("avgHeat", 3000)) + .itemOutputs(Item.of('tfg:empty_rod')) + .outputFluids(Fluid.of('gtceu:tritiated_water', 144)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "3000") + .addDataString("avgHeat2", "∞") + TFGRecipeSchemaBindings.isOxygenated(c, true); + + // Americium - Neptunium - Californium + + let g = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_americium_241_rod') + //.inputItemNbtPredicate(Item.of('tfg:depleted_thorium_rod'), NBTPredicates.gte("avgHeat", 5000)) + .itemInputs(Item.of('tfg:americium_241_rod')) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + //.addDataString("avgHeat1", "5000") + //.addDataString("avgHeat2", "∞") + TFGRecipeSchemaBindings.isOxygenated(g, true); + + let h = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_neptunium_237_rod') + //.inputItemNbtPredicate(Item.of('tfg:depleted_thorium_rod'), NBTPredicates.gte("avgHeat", 5000)) + .itemInputs(Item.of('tfg:neptunium_237_rod')) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + //.addDataString("avgHeat1", "5000") + //.addDataString("avgHeat2", "∞") + TFGRecipeSchemaBindings.isOxygenated(h, true); + + let i = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_californium_252_rod') + //.inputItemNbtPredicate(Item.of('tfg:depleted_thorium_rod'), NBTPredicates.gte("avgHeat", 5000)) + .itemInputs(Item.of('tfg:californium_252_rod')) + .itemOutputs(Item.of('tfg:empty_rod_t3')) + .EUt(GTValues.VA[GTValues.HV]) + .duration(20*16) + .dimension('ad_astra:mars') + //.addDataString("avgHeat1", "5000") + //.addDataString("avgHeat2", "∞") + TFGRecipeSchemaBindings.isOxygenated(i, true); + //#region Fission Recipes for cooling event.recipes.deafission.fission_reactor_processing('tfg:dry_ice') @@ -291,6 +592,12 @@ function registerTFGNuclearRecipes(event) { event.recipes.deafission.fission_reactor_processing('tfg:refrigerant_pellet') .itemInputs('tfg:refrigerant_pellet') + .blastFurnaceTemp(100) + .addData("heat_per_tick", 5) + .duration(20*10) + + event.recipes.deafission.fission_reactor_processing('tfg:terrafirmaguard_pa6') + .itemInputs('tfg:terrafirmaguard_pa6') .blastFurnaceTemp(100) .addData("heat_per_tick", 40) .duration(20*30) @@ -420,17 +727,30 @@ function registerTFGNuclearRecipes(event) { //#endregion - //#region Power Generation + //#region Power Gen event.recipes.gtceu.nuclear_turbine('dense_steam') .inputFluids(Fluid.of('gtceu:dense_steam', 160)) + .outputFluids(Fluid.of('tfg:warm_water', 40)) .EUt(-(32)) .duration(20*1.5) + .dimension('minecraft:overworld') + .dimension('ad_astra:mars') + //.dimension('ad_astra:glacio') + + event.recipes.gtceu.smr_generator('tfg:boron_smr') + .inputFluids(Fluid.of('tfg:spent_ticl4_doped_supercritical_co2', 50)) + .outputFluids(Fluid.of('tfg:ticl4_doped_supercritical_co2', 50)) + .EUt(-(32)) + .duration(20) + .dimension('minecraft:overworld') + .dimension('ad_astra:mars') + //.dimension('ad_astra:glacio') //#endregion //#region Cooling Tower - + event.recipes.gtceu.assembler('tfg:ostrum_carbon_casing') .itemInputs('2x #forge:plates/ostrum', '2x #forge:plates/titanium_carbide', '#forge:dense_plates/hsla_steel', '#forge:frames/black_steel') .itemOutputs('2x tfg:casings/machine_casing_ostrum_carbon') @@ -438,7 +758,6 @@ function registerTFGNuclearRecipes(event) { .duration(20 * (2.5)) .EUt(GTValues.VH[GTValues.LV]) .addMaterialInfo(true) - /* event.recipes.gtceu.mixer('tfg:thermally_conductive_fluid') .itemInputs('7x #forge:dusts/gallium', '2x #forge:dusts/tin', '#forge:dusts/zinc') @@ -452,11 +771,9 @@ function registerTFGNuclearRecipes(event) { .inputFluids(Fluid.of('tfg:thermally_conductive_fluid', 1000)) .itemOutputs('tfg:casings/heat_pipe_casing') .circuit(6) - .EUt(GTValues.VA[GTValues.IV] * 2) + .EUt(GTValues.VA[GTValues.IV]) .duration(20*4) - */ - /* event.shaped('tfg:cooling_tower', [ 'ABA', 'CDC', @@ -468,61 +785,338 @@ function registerTFGNuclearRecipes(event) { D: 'gtceu:iv_machine_hull', E: 'gtceu:iv_fluid_regulator' }).id('tfg:shaped/cooling_tower') - */ + + event.recipes.gtceu.cooling_tower('tfg:warm_into_distilled_1') + .perTick(true) + .inputFluids(Fluid.of('tfg:warm_water', 1000)) + .outputFluids(Fluid.of('gtceu:distilled_water', 1000)) + .perTick(false) + .EUt(1) + .duration(20*60) + .circuit(1) + .dimension('minecraft:overworld') + .dimension('ad_astra:mars') + //.dimension('ad_astra:glacio') + + event.recipes.gtceu.cooling_tower('tfg:warm_into_distilled_2') + .perTick(true) + .inputFluids(Fluid.of('tfg:warm_water', 5000)) + .outputFluids(Fluid.of('gtceu:distilled_water', 5000)) + .perTick(false) + .EUt(1) + .duration(20*60) + .circuit(2) + .dimension('minecraft:overworld') + .dimension('ad_astra:mars') + //.dimension('ad_astra:glacio') + + event.recipes.gtceu.cooling_tower('tfg:warm_into_distilled_3') + .perTick(true) + .inputFluids(Fluid.of('tfg:warm_water', 10000)) + .outputFluids(Fluid.of('gtceu:distilled_water', 10000)) + .perTick(false) + .EUt(1) + .duration(20*60) + .circuit(3) + .dimension('minecraft:overworld') + .dimension('ad_astra:mars') + //.dimension('ad_astra:glacio') + + event.recipes.gtceu.cooling_tower('tfg:warm_into_distilled_4') + .perTick(true) + .inputFluids(Fluid.of('tfg:warm_water', 50000)) + .outputFluids(Fluid.of('gtceu:distilled_water', 50000)) + .perTick(false) + .EUt(1) + .duration(20*60) + .circuit(4) + .dimension('minecraft:overworld') + .dimension('ad_astra:mars') + //.dimension('ad_astra:glacio') + + event.recipes.gtceu.cooling_tower('tfg:warm_into_distilled_5') + .perTick(true) + .inputFluids(Fluid.of('tfg:warm_water', 100000)) + .outputFluids(Fluid.of('gtceu:distilled_water', 100000)) + .perTick(false) + .EUt(1) + .duration(20*60) + .circuit(5) + .dimension('minecraft:overworld') + .dimension('ad_astra:mars') + //.dimension('ad_astra:glacio') //#endregion - /* + + //#region Heat Battery + + event.recipes.deafission.hb_import('tfg:boron_coolant') + .inputFluids(Fluid.of('tfg:hot_boron_enriched_coolant', 3600)) + .outputFluids(Fluid.of('tfg:boron_enriched_coolant', 3600)) + .blastFurnaceTemp(2000) + .addData("hb_energy", 30) +/* + event.recipes.deafission.hb_export('tfg:boron_coolant_to_dense_steam') + .inputFluids(Fluid.of('gtceu:distilled_water', 7200)) + .outputFluids(Fluid.of('gtceu:dense_steam', 28800)) + .blastFurnaceTemp(1000) + .addData("hb_energy", 10) + .circuit(1) +*/ + event.recipes.deafission.hb_export('tfg:boron_coolant_to_dense_steam') + .inputFluids(Fluid.of('gtceu:distilled_water', 28800)) + .outputFluids(Fluid.of('gtceu:dense_steam', 115200)) + .blastFurnaceTemp(1000) + .addData("hb_energy", 40) + //.circuit(2) + event.recipes.deafission.hb_import('tfg:dense_steam') - .inputFluids(Fluid.of('gtceu:dense_steam', 100)) - .outputFluids(Fluid.of('minecraft:water', 10)) - .blastFurnaceTemp(4000) - .addData("hb_energy", 100) - */ + .inputFluids(Fluid.of('gtceu:dense_steam', 20)) + .outputFluids(Fluid.of('minecraft:water', 20)) + .blastFurnaceTemp(1000) + .addData("hb_energy", 20) + + //#endregion + + //#region Processing Depleted TBU + + let j = event.recipes.gtceu.nuclear_fuel_factory('tfg:americium_300_t1') + .inputFluids(Fluid.of('tfg:isotopic_solvent', 64000)) + .inputItemNbtPredicate('tfg:depleted_tbu_232_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 0), + NBTPredicates.lte("avgHeat", 100) + ])) + .chancedItemOutputLogic($ChanceLogic.OR) + .chancedOutput(Item.of('12x gtceu:tiny_americium_241_dust'), 2500, 0) + .chancedOutput(Item.of('16x gtceu:tiny_americium_241_dust'), 7500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_solvent_stream', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 8000)) + .duration(20*3) + .EUt(GTValues.VA[GTValues.IV]) + .addDataString("avgHeat1", "0") + .addDataString("avgHeat2", "100") + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(j, true); + + let k = event.recipes.gtceu.nuclear_fuel_factory('tfg:americium_300_t2') + .inputFluids(Fluid.of('tfg:isotopic_solvent', 64000)) + .inputItemNbtPredicate('tfg:depleted_tbu_232_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 101), + NBTPredicates.lte("avgHeat", 200) + ])) + .chancedItemOutputLogic($ChanceLogic.OR) + .chancedOutput(Item.of('4x gtceu:tiny_americium_241_dust'), 2500, 0) + .chancedOutput(Item.of('8x gtceu:tiny_americium_241_dust'), 7500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_solvent_stream', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 8000)) + .duration(20*3) + .EUt(GTValues.VA[GTValues.IV]) + .addDataString("avgHeat1", "101") + .addDataString("avgHeat2", "200") + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(k, true); + + let l = event.recipes.gtceu.nuclear_fuel_factory('tfg:americium_30_t3') + .inputFluids(Fluid.of('tfg:isotopic_solvent', 64000)) + .inputItemNbtPredicate('tfg:depleted_tbu_232_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 201), + NBTPredicates.lte("avgHeat", 300) + ])) + .chancedItemOutputLogic($ChanceLogic.OR) + .chancedOutput(Item.of('1x gtceu:tiny_americium_241_dust'), 2500, 0) + .chancedOutput(Item.of('2x gtceu:tiny_americium_241_dust'), 7500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_solvent_stream', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 8000)) + .duration(20*3) + .EUt(GTValues.VA[GTValues.IV]) + .addDataString("avgHeat1", "201") + .addDataString("avgHeat2", "300") + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(l, true); + + let m = event.recipes.gtceu.nuclear_fuel_factory('tfg:neptunium_t1') + .inputFluids(Fluid.of('tfg:isotopic_solvent', 64000)) + .inputItemNbtPredicate('tfg:depleted_tbu_232_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 301), + NBTPredicates.lte("avgHeat", 400) + ])) + .chancedItemOutputLogic($ChanceLogic.OR) + .chancedOutput(Item.of('1x gtceu:tiny_neptunium_237_dust'), 2500, 0) + .chancedOutput(Item.of('2x gtceu:tiny_neptunium_237_dust'), 7500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_solvent_stream', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 8000)) + .duration(20*3) + .EUt(GTValues.VA[GTValues.IV]) + .addDataString("avgHeat1", "301") + .addDataString("avgHeat2", "400") + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(m, true); + + let n = event.recipes.gtceu.nuclear_fuel_factory('tfg:neptunium_t2') + .inputFluids(Fluid.of('tfg:isotopic_solvent', 64000)) + .inputItemNbtPredicate('tfg:depleted_tbu_232_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 401), + NBTPredicates.lte("avgHeat", 500) + ])) + .chancedItemOutputLogic($ChanceLogic.OR) + .chancedOutput(Item.of('4x gtceu:tiny_neptunium_237_dust'), 2500, 0) + .chancedOutput(Item.of('8x gtceu:tiny_neptunium_237_dust'), 7500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_solvent_stream', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 8000)) + .duration(20*3) + .EUt(GTValues.VA[GTValues.IV]) + .addDataString("avgHeat1", "401") + .addDataString("avgHeat2", "500") + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(n, true); + + let o = event.recipes.gtceu.nuclear_fuel_factory('tfg:neptunium_t3') + .inputFluids(Fluid.of('tfg:isotopic_solvent', 64000)) + .inputItemNbtPredicate('tfg:depleted_tbu_232_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 501), + NBTPredicates.lte("avgHeat", 599) + ])) + .chancedItemOutputLogic($ChanceLogic.OR) + .chancedOutput(Item.of('12x gtceu:tiny_neptunium_237_dust'), 2500, 0) + .chancedOutput(Item.of('16x gtceu:tiny_neptunium_237_dust'), 7500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_solvent_stream', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 8000)) + .duration(20*3) + .EUt(GTValues.VA[GTValues.IV]) + .addDataString("avgHeat1", "501") + .addDataString("avgHeat2", "599") + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(o, true); + + let p = event.recipes.gtceu.nuclear_fuel_factory('tfg:californium_t1') + .inputFluids(Fluid.of('tfg:high_grade_isotopic_solvent', 64000)) + .inputItemNbtPredicate('tfg:depleted_tbu_232_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 800), + NBTPredicates.lte("avgHeat", 899) + ])) + .chancedItemOutputLogic($ChanceLogic.OR) + .chancedOutput(Item.of('gtceu:tiny_californium_252_dust'), 2500, 0) + .chancedOutput(Item.of('2x gtceu:tiny_californium_252_dust'), 7500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_high_grade_isotopic_solvent', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 8000)) + .duration(20*3) + .EUt(GTValues.VA[GTValues.IV]) + .addDataString("avgHeat1", "800") + .addDataString("avgHeat2", "899") + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(p, true); + + let q = event.recipes.gtceu.nuclear_fuel_factory('tfg:californium_t2') + .inputFluids(Fluid.of('tfg:high_grade_isotopic_solvent', 64000)) + .inputItemNbtPredicate('tfg:depleted_tbu_232_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 900), + NBTPredicates.lte("avgHeat", 999) + ])) + .chancedItemOutputLogic($ChanceLogic.OR) + .chancedOutput(Item.of('4x gtceu:tiny_californium_252_dust'), 2500, 0) + .chancedOutput(Item.of('8x gtceu:tiny_californium_252_dust'), 7500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_high_grade_isotopic_solvent', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 8000)) + .duration(20*3) + .EUt(GTValues.VA[GTValues.IV]) + .addDataString("avgHeat1", "900") + .addDataString("avgHeat2", "999") + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(q, true); + + let r = event.recipes.gtceu.nuclear_fuel_factory('tfg:californium_t3') + .inputFluids(Fluid.of('tfg:high_grade_isotopic_solvent', 64000)) + .inputItemNbtPredicate('tfg:depleted_tbu_232_rod', + NBTPredicates.all([ + NBTPredicates.gte("avgHeat", 1000), + NBTPredicates.lte("avgHeat", 1100) + ])) + .chancedItemOutputLogic($ChanceLogic.OR) + .chancedOutput(Item.of('12x gtceu:tiny_californium_252_dust'), 2500, 0) + .chancedOutput(Item.of('16x gtceu:tiny_californium_252_dust'), 7500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_high_grade_isotopic_solvent', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 8000)) + .duration(20*3) + .EUt(GTValues.VA[GTValues.IV]) + .addDataString("avgHeat1", "1000") + .addDataString("avgHeat2", "1100") + .dimension('ad_astra:mars') + TFGRecipeSchemaBindings.isOxygenated(r, true); + + let s = event.recipes.gtceu.nuclear_fuel_factory('tfg:tbu_overheated') + .inputFluids(Fluid.of('tfg:isotopic_solvent', 64000)) + .inputItemNbtPredicate(Item.of('tfg:depleted_tbu_232_rod'), NBTPredicates.gte("avgHeat", 1101)) + .chancedOutput(Item.of('1x gtceu:tiny_neptunium_237_dust'), 2500, 0) + .itemOutputs(Item.of('tfg:empty_rod_t2')) + .outputFluids(Fluid.of('tfg:degraded_solvent_stream', 64000)) + .outputFluids(Fluid.of('tfg:tbu_waste', 4000)) + .EUt(GTValues.VA[GTValues.IV]) + .duration(20*16) + .dimension('ad_astra:mars') + .addDataString("avgHeat1", "1101") + .addDataString("avgHeat2", "∞") + TFGRecipeSchemaBindings.isOxygenated(s, true); + //#region FLiBe Line - SCRAP FROM MARS TO VENUS - - /* - +/* event.recipes.gtceu.evaporation_tower('raw_rich_brine_earth') .inputFluids(Fluid.of('tfc:spring_water', 20000)) - .outputFluids(Fluid.of('gtceu:raw_rich_brine', 1000)) + .outputFluids(Fluid.of('tfg:raw_rich_brine', 1000)) .duration(20*50) .EUt(GTValues.VA[GTValues.EV]) event.recipes.gtceu.evaporation_tower('raw_rich_brine_mars') .inputFluids(Fluid.of('tfg:heavy_ammoniacal_water', 20000)) - .outputFluids(Fluid.of('gtceu:raw_rich_brine', 1000)) + .outputFluids(Fluid.of('tfg:raw_rich_brine', 1000)) .duration(20*50) .EUt(GTValues.VA[GTValues.EV]) event.recipes.gtceu.chemical_reactor('hydrogen_iodide_to_hot_iodine_brine') .inputFluids(Fluid.of('gtceu:hydrogen_iodide', 1000)) - .inputFluids(Fluid.of('gtceu:raw_rich_brine', 1000)) + .inputFluids(Fluid.of('tfg:raw_rich_brine', 1000)) .outputFluids(Fluid.of('gtceu:sodium_potassium', 1000)) - .outputFluids(Fluid.of('gtceu:hot_iodine_brine', 1000)) + .outputFluids(Fluid.of('tfg:hot_iodine_brine', 1000)) .duration(20*24) .EUt(GTValues.VA[GTValues.HV]) event.recipes.gtceu.large_chemical_reactor('basic_bromine_exhaust_to_hot_iodine_brine') - .inputFluids(Fluid.of('gtceu:basic_bromine_exhaust', 1000)) - .inputFluids(Fluid.of('gtceu:raw_rich_brine', 1000)) + .inputFluids(Fluid.of('tfg:basic_bromine_exhaust', 1000)) + .inputFluids(Fluid.of('tfg:raw_rich_brine', 1000)) .outputFluids(Fluid.of('gtceu:sodium_potassium', 1000)) - .outputFluids(Fluid.of('gtceu:hot_iodine_brine', 1000)) + .outputFluids(Fluid.of('tfg:hot_iodine_brine', 1000)) .outputFluids(Fluid.of('gtceu:steam', 1000)) .duration(20*30) .EUt(GTValues.VA[GTValues.HV]) event.recipes.gtceu.evaporation_tower('brominated_iodine_vapor') - .inputFluids(Fluid.of('gtceu:hot_iodine_brine', 10000)) + .inputFluids(Fluid.of('tfg:hot_iodine_brine', 10000)) .itemOutputs('#forge:dusts/magnesium_chloride') - .outputFluids(Fluid.of('gtceu:brominated_iodine_vapor', 1000)) + .outputFluids(Fluid.of('tfg:brominated_iodine_vapor', 1000)) .duration(20*50) .EUt(GTValues.VA[GTValues.EV]) event.recipes.gtceu.chemical_reactor('lithium_carbonate') - .inputFluids(Fluid.of('gtceu:brominated_iodine_vapor', 1000)) + .inputFluids(Fluid.of('tfg:brominated_iodine_vapor', 1000)) .itemInputs('#forge:dusts/sodium_hydroxide') .itemOutputs('#forge:dusts/lithium_carbonate') - .outputFluids(Fluid.of('gtceu:basic_bromine_exhaust', 1000)) + .outputFluids(Fluid.of('tfg:basic_bromine_exhaust', 1000)) .duration(20*54) .EUt(GTValues.VA[GTValues.HV]) @@ -549,24 +1143,119 @@ function registerTFGNuclearRecipes(event) { .inputFluids(Fluid.of('minecraft:water', 1000)) .itemInputs('#forge:gems/lithium_fluoride') .itemInputs('#forge:gems/tetrafluoroberyllate') - .outputFluids(Fluid.of('gtceu:dirty_flibe', 1000)) + .outputFluids(Fluid.of('tfg:dirty_flibe', 1000)) .blastFurnaceTemp(3600) .duration(20*36) .EUt(GTValues.VA[GTValues.IV]) event.recipes.gtceu.electrolyzer('flibe') - .inputFluids(Fluid.of('gtceu:dirty_flibe', 1000)) - .outputFluids(Fluid.of('gtceu:flibe', 1000)) + .inputFluids(Fluid.of('tfg:dirty_flibe', 1000)) + .outputFluids(Fluid.of('tfg:flibe', 1000)) .itemOutputs('#forge:dusts/chromium') .itemOutputs('gtceu:nickel_dust') .itemOutputs('gtceu:iron_dust') .duration(20*36) .EUt(GTValues.VA[GTValues.IV]) - - */ - +*/ //#endregion + //#region Isotopic Solvent and degradated + + event.recipes.gtceu.chemical_reactor('tfg:copper_trace_catalyst') + .itemInputs('#forge:dusts/copper') + .itemInputs('2x #forge:dusts/salt') + .itemInputs('#forge:dusts/magnesium') + .inputFluids(Fluid.of('gtceu:hydrofluoric_acid', 1000)) + .inputFluids(Fluid.of('gtceu:sulfuric_acid', 1000)) + .inputFluids(Fluid.of('gtceu:oxygen', 3000)) + .itemOutputs('13x tfg:copper_trace_catalyst_dust') + .outputFluids(Fluid.of('minecraft:water', 1000)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.chemical_reactor('tfg:trace_catalyst_salt_e') + .itemInputs('13x tfg:copper_trace_catalyst_dust') + .inputFluids(Fluid.of('gtceu:ethanol', 1000)) + .inputFluids(Fluid.of('gtceu:distilled_water', 1000)) + .itemOutputs('25x tfg:trace_catalyst_salt_e_dust') + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.chemical_reactor('tfg:organic_stabilizer') + .itemInputs('2x #forge:dusts/ammonium_chloride') + .inputFluids(Fluid.of('gtceu:phenol', 1000)) + .inputFluids(Fluid.of('gtceu:ethanol', 2000)) + .inputFluids(Fluid.of('gtceu:toluene', 3000)) + .itemOutputs('8x tfg:organic_stabilizer_dust') + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.chemical_reactor('tfg:sodium_fluoride') + .itemInputs('#forge:dusts/sodium') + .inputFluids(Fluid.of('gtceu:fluorine', 1000)) + .itemOutputs('2x tfg:sodium_fluoride_dust') + .duration(20 * 10) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.large_chemical_reactor('tfg:isotopic_solvent') + .itemInputs('25x tfg:trace_catalyst_salt_e_dust') + .itemInputs('8x tfg:organic_stabilizer_dust') + .itemInputs('2x tfg:sodium_fluoride_dust') + .inputFluids(Fluid.of('gtceu:argon', 1000)) + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('tfg:isotopic_solvent', 1000)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + + // Degraded solvent + + event.recipes.gtceu.centrifuge('tfg:centrifuge_degraded_solvent') + .inputFluids(Fluid.of('tfg:degraded_solvent_stream', 1000)) + .itemOutputs('tfg:inert_dust_fraction_dust') + .outputFluids(Fluid.of('tfg:residual_sludge', 1000)) + .outputFluids(Fluid.of('tfg:gas_fraction', 1000)) + .outputFluids(Fluid.of('tfg:organic_degradation_slurry', 1000)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.centrifuge('tfg:centrifuge_gas_fraction') + .inputFluids(Fluid.of('tfg:gas_fraction', 1000)) + .outputFluids(Fluid.of('gtceu:argon', 500)) + .outputFluids(Fluid.of('gtceu:radon', 500)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.distillation_tower('tfg:distill_organic_degradation_slurry') + .inputFluids(Fluid.of('tfg:organic_degradation_slurry', 1000)) + .outputFluids(Fluid.of('gtceu:ethanol', 3000)) + .outputFluids(Fluid.of('gtceu:toluene', 3000)) + .outputFluids(Fluid.of('gtceu:dichlorobenzene', 1000)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.autoclave('tfg:mixed_radioactive_fluid') + .itemInputs('tfg:inert_dust_fraction_dust') + .inputFluids(Fluid.of('tfg:residual_sludge', 1000)) + .itemOutputs('tfg:recovered_ionic_complex_dust') + .outputFluids(Fluid.of('tfg:mixed_radioactive_fluid', 1000)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.electrolyzer('tfg:electrolyze_recovered_ionic_complex') + .itemInputs('tfg:recovered_ionic_complex_dust') + .itemOutputs('2x #forge:dusts/sodium') + .itemOutputs('#forge:dusts/magnesium') + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.centrifuge('tfg:centrifuge_mixed_radioactive_fluid') + .inputFluids(Fluid.of('tfg:mixed_radioactive_fluid', 1000)) + .outputFluids(Fluid.of('gtceu:sulfuric_copper_solution', 1000)) + .outputFluids(Fluid.of('gtceu:fluorine', 2000)) + .outputFluids(Fluid.of('gtceu:hydrogen', 1000)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + //#region Epoxidized Isosorbide Linolenate event.recipes.gtceu.distillery('tfg:linolenic_from_seed') @@ -647,7 +1336,46 @@ function registerTFGNuclearRecipes(event) { .duration(100) .EUt(GTValues.VA[GTValues.IV]) - //#endregion + //#region Boron Coolant + + event.recipes.gtceu.chemical_reactor('tfg:boron_trichloride') + .inputFluids(Fluid.of('gtceu:chlorine', 2000)) + .itemInputs(Item.of('gtceu:boron_dust', 1)) + .outputFluids(Fluid.of('tfg:boron_thrichloride')) + .circuit(2) + .duration(20*36) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.centrifuge('tfg:enriched_boron_trichloride') + .inputFluids(Fluid.of('tfg:boron_thrichloride', 1000)) + .outputFluids(Fluid.of('tfg:enriched_boron_thrichloride', 10)) + .duration(20*62) + .EUt(GTValues.VHA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('tfg:boron_10_hydroxide') + .inputFluids(Fluid.of('tfg:enriched_boron_thrichloride', 1000), Fluid.of('minecraft:water', 6000) ) + .itemOutputs(Item.of('tfg:boron_10_hydroxide_dust')) + .outputFluids(Fluid.of('gtceu:hydrochloric_acid', 1000)) + .circuit(2) + .duration(20*8) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.chemical_reactor('tfg:boron_enriched_coolant') + .inputFluids(Fluid.of('gtceu:nitrogen', 2000)) + .itemInputs(Item.of('tfg:boron_10_hydroxide_dust'), Item.of('tfg:sodium_deuteroxide_dust')) + .outputFluids(Fluid.of('tfg:boron_enriched_coolant', 1500)) + .circuit(2) + .duration(20*14) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.chemical_reactor('tfg:boron_10') + .inputFluids(Fluid.of('tfg:heavy_water', 1000)) + .itemInputs(Item.of('gtceu:sodium_dust')) + .itemOutputs(Item.of('tfg:sodium_deuteroxide_dust', 1)) + .circuit(2) + .duration(20*14) + .EUt(GTValues.VA[GTValues.EV]) + } diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js index 97fe73b6c..aacbef8fd 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js @@ -8,6 +8,13 @@ const registerTFGItemTagsNuclear = (event) => { event.add('deafission:fuels', 'tfg:plutonium_rod') event.add('tfg:fission_rods', '#deafission:fuels') + let FISSION_ROD_TAG = 'tfg:fission_rods'; + + event.add(FISSION_ROD_TAG, 'tfg:tbu_232_rod'); + event.add(FISSION_ROD_TAG, 'tfg:americium_241_rod'); + event.add(FISSION_ROD_TAG, 'tfg:neptunium_237_rod'); + event.add(FISSION_ROD_TAG, 'tfg:californium_252_rod'); + } const registerTFGBlockTagsNuclear = (event) => { @@ -39,14 +46,28 @@ const registerTFGBlockTagsNuclear = (event) => { event.add(COMPONENTS_HB, 'minecraft:sand'); event.add(COMPONENTS_HB, 'tfg:impure_moderate_core_frame'); - + event.add(COMPONENTS_HB, 'tfg:moderate_core_frame'); event.add(COMPONENTS_HB, 'minecraft:bedrock'); // For Creative usage only //#endregion + } //#endregion //#region Fluids const registerTFGFluidTagsNuclear = (event) => { + // Fluid allowed for the SMR Hatch + + let SMR_FLUIDS = 'tfg:smr_fluids'; + + event.add(SMR_FLUIDS, 'gtceu:lubricant'); + event.add(SMR_FLUIDS, 'tfg:polyalkylene_lubricant'); + event.add(SMR_FLUIDS, 'tfg:spent_ticl4_doped_supercritical_co2'); + event.add(SMR_FLUIDS, 'tfg:ozone'); + event.add(SMR_FLUIDS, 'tfg:cyclohex_diperoxide'); + event.add(SMR_FLUIDS, 'tfg:booster_t3'); + + //#endregion + } diff --git a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js index a6826317b..e979f098e 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js @@ -169,13 +169,13 @@ function registerTFGEarlyGasRecipes(event) { .inputFluids(Fluid.of('tfg:reformed_aromatic_feedstock', 2000), Fluid.of('gtceu:steam', 4000)) .outputFluids(Fluid.of('tfg:reformate_gas', 8000)) .outputFluids(Fluid.of('tfg:cracker_off_gas', 1000)) - .duration(20*30) + .duration(20*16) .EUt(GTValues.VA[GTValues.MV]) event.recipes.gtceu.chemical_reactor('tfg:reformate_gas') .inputFluids(Fluid.of('tfg:reformed_aromatic_feedstock', 2000), Fluid.of('gtceu:steam', 1000)) .outputFluids(Fluid.of('tfg:reformate_gas', 3000)) - .duration(20*30) + .duration(20*16) .EUt(GTValues.VA[GTValues.MV]) // Recycling @@ -190,11 +190,12 @@ function registerTFGEarlyGasRecipes(event) { // Modify Recipe to balance new line event.remove({ id: 'gtceu:extractor/charcoal_extraction' }) + /* event.recipes.gtceu.extractor('tfg:charcoal_extraction') .itemInputs(Item.of('minecraft:charcoal')) .outputFluids(Fluid.of('gtceu:wood_tar', 100)) .duration(20*6.4) - .EUt(GTValues.VA[GTValues.MV]) + .EUt(GTValues.VA[GTValues.MV])*/ //#endregion @@ -235,7 +236,7 @@ function registerTFGEarlyGasRecipes(event) { event.recipes.gtceu.gas_turbine('tfg:btx_fuel') // Gas Turbine .inputFluids(Fluid.of('tfg:btx_fuel', 1)) .EUt(-(32)) - .duration(20*2.6) + .duration(20*2.86) .dimension('minecraft:overworld') .dimension('minecraft:the_nether') @@ -246,7 +247,7 @@ function registerTFGEarlyGasRecipes(event) { event.recipes.gtceu.chemical_reactor('tfg:electrolyze_syngas') .notConsumable(Item.of('gtceu:copper_dust', 1)) .inputFluids(Fluid.of('tfg:syngas', 1000)) - .outputFluids(Fluid.of('gtceu:methanol', 4000), Fluid.of('minecraft:water', 2000)) + .outputFluids(Fluid.of('gtceu:methanol', 3000), Fluid.of('minecraft:water', 2000)) .duration(20*12) .EUt(GTValues.VA[GTValues.MV]) @@ -273,7 +274,7 @@ function registerTFGEarlyGasRecipes(event) { .inputFluids(Fluid.of('gtceu:ammonia', 1000), Fluid.of('gtceu:ethanol', 1000)) .outputFluids(Fluid.of('tfg:tpaoh', 1000)) .duration(20*8) - .EUt(GTValues.VA[GTValues.EV]) + .EUt(GTValues.VA[GTValues.MV]) event.recipes.gtceu.chemical_reactor('tfg:zsm_5_gel') .itemInputs(Item.of('#forge:dusts/sodium_aluminium')) @@ -303,6 +304,7 @@ function registerTFGEarlyGasRecipes(event) { .itemInputs(Item.of('tfg:catalyser_pt_re_zsm')) .inputFluids(Fluid.of('tfg:reformate_gas', 8000)) .inputFluids(Fluid.of('gtceu:propene', 2000)) + .itemOutputs(Item.of('tfg:used_catalyser', 1)) .outputFluids(Fluid.of('tfg:crude_mixed_gas', 10000)) .duration(20*240) .EUt(GTValues.VA[GTValues.LV]) @@ -312,8 +314,7 @@ function registerTFGEarlyGasRecipes(event) { .inputFluids(Fluid.of('gtceu:benzene', 20000)) .inputFluids(Fluid.of('gtceu:toluene', 6000)) .inputFluids(Fluid.of('gtceu:dimethylbenzene', 12000)) - .itemOutputs(Item.of('tfg:used_catalyser', 1)) - .outputFluids(Fluid.of('tfg:btx_fuel', 48000)) + .outputFluids(Fluid.of('tfg:btx_fuel', 54000)) .duration(20*6) .EUt(GTValues.VA[GTValues.IV]) .circuit(24) @@ -328,7 +329,7 @@ function registerTFGEarlyGasRecipes(event) { event.recipes.gtceu.chemical_reactor('tfg:clean_powder') .itemInputs(Item.of('tfg:catalyser_powder_dust', 1)) - .inputFluids(Fluid.of('gtceu:hydrogen_peroxide', 2000)) + .inputFluids(Fluid.of('gtceu:hydrogen_peroxide', 200)) .itemOutputs(Item.of('tfg:clean_powder_dust', 1), Item.of('gtceu:sodium_dust', 1)) .duration(20*14) .EUt(GTValues.VA[GTValues.MV]) diff --git a/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js b/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js new file mode 100644 index 000000000..ae4171c2f --- /dev/null +++ b/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js @@ -0,0 +1,101 @@ +function registerTFGPowerGenBalance(event) { + + //#region Buff fuels + + event.remove({ id: 'gtceu:combustion_generator/cetane_diesel' }) + event.recipes.gtceu.combustion_generator('tfg:cetane_boosted_diesel') + .inputFluids(Fluid.of('gtceu:cetane_boosted_diesel', 1)) + .duration(20*1.6) + .EUt(-32) + .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') + + //#endregion + + //#region Nerf/Removed +/* COMMENT OUT UNTIL WE WANT TO ENABLE THE NERF + event.remove({ id: 'gtceu:gas_turbine/benzene' }) + event.recipes.gtceu.gas_turbine('tfg:benzene') + .inputFluids(Fluid.of('gtceu:benzene', 1)) + .duration(20*0.2) + .EUt(-32) + .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') + + event.remove({ id: 'gtceu:gas_turbine/nitrobenzene' }) + event.recipes.gtceu.gas_turbine('tfg:nitrobenzene') + .inputFluids(Fluid.of('gtceu:nitrobenzene', 1)) + .duration(20*0.5) + .EUt(-32) + .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') +*/ + // Remove Light fuel ability as a fuel + + event.remove({ id: 'gtceu:combustion_generator/sulfuric_light_fuel' }) + event.remove({ id: 'gtceu:combustion_generator/light_fuel' }) + + + // Make Diesel available at ULV and balance power gen + + event.remove({ id: 'gtceu:combustion_generator/diesel' }) + event.recipes.gtceu.combustion_generator('tfg:diesel') + .inputFluids(Fluid.of('gtceu:diesel', 1)) + .duration(20*0.6) + .EUt(-32) + .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') + + event.remove({ id: 'gtceu:mixer/diesel' }) + event.recipes.gtceu.mixer('tfg:diesel') + .inputFluids(Fluid.of('gtceu:light_fuel', 5000), Fluid.of('gtceu:heavy_fuel', 1000)) + .outputFluids(Fluid.of('gtceu:diesel', 6000)) + .duration(20*1.6) + .EUt(GTValues.VA[GTValues.LV]) + + // Oil to Light Fuel + + event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:light_fuel', 250), [Fluid.of('gtceu:oil', 1000)]) + .secondaryFluidOutput(0) + .processingTime(500) + .heated() + .id('tfg:vi/vacuumizing/light_fuel_from_oil') + + event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:light_fuel', 50), [Fluid.of('gtceu:oil_light', 1000)]) + .secondaryFluidOutput(0) + .processingTime(500) + .heated() + .id('tfg:vi/vacuumizing/light_fuel_from_light_oil') + + // Raw Oil to Naphtha + + event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:naphtha', 500), [Fluid.of('gtceu:oil_raw', 1000)]) + .secondaryFluidOutput(0) + .processingTime(500) + .heated() + .id('tfg:vi/vacuumizing/light_fuel_from_raw_oil') + + // Heavy oil to Heavy Fuel + + event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:heavy_fuel', 750), [Fluid.of('gtceu:oil_heavy', 1000)]) + .secondaryFluidOutput(0) + .processingTime(500) + .heated() + .id('tfg:vi/vacuumizing/heavy_fuel_from_heavy_oil') + + // Switch HOG to require IV Energy Hatch + + event.remove({ id: 'gtceu:large_chemical_reactor/high_octane_gasoline' }) + event.recipes.gtceu.large_chemical_reactor('tfg:high_octane_gasoline') + .inputFluids( + Fluid.of('gtceu:gasoline', 20000), + Fluid.of('gtceu:octane', 2000), + Fluid.of('gtceu:nitrous_oxide', 2000), + Fluid.of('gtceu:toluene', 1000), + Fluid.of('gtceu:ethyl_tertbutyl_ether', 1000)) + .outputFluids(Fluid.of('gtceu:high_octane_gasoline', 32000)) + .duration(20*1.5) + .EUt(GTValues.VA[GTValues.LuV]) + .circuit(24) + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index eec9b4a7a..25f4720d9 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -67,6 +67,7 @@ const registerTFGRecipes = (event) => { registerTFGNuclearComponentsRecipes(event) registerTFGSolarRecipes(event) registerTFGCoalRecipes(event) + registerTFGPowerGenBalance(event) registerTFGZirconiumRecipes(event) registerTFGBromineRecipes(event) diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index ad5bc65a4..f80d3b1b6 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -177,5 +177,52 @@ function registerTFGMiscellaneousRecipes(event) { .duration(5*20) .EUt(GTValues.VA[GTValues.LV]) .addMaterialInfo(true); + + // Gregtech CEu Terminals Integration + + //event.remove({ id : 'gtceuterminal:dismantler' }) + event.shaped('1x gtceuterminal:dismantler', [ + 'ABA', + 'CDC', + 'FEF' + ], { + A: 'gtceu:mv_sensor', + B: 'gtceu:mv_emitter', + C: '#gtceu:circuits/mv', + D: 'gtceu:computer_monitor_cover', + E: 'gtceu:mv_voltage_coil', + F: '#forge:plates/aluminium' + }).id(`tfg:shaped/dismantler`) + + event.remove({ id : 'gtceuterminal:multi_structure_manager' }) + event.shaped('1x gtceuterminal:multi_structure_manager', [ + 'ABA', + 'CDC', + 'FEF' + ], { + A: 'gtceu:hv_sensor', + B: 'gtceu:hv_emitter', + C: '#gtceu:circuits/hv', + D: 'gtceu:terminal', + E: '#gtceu:batteries/hv', + F: '#forge:plates/stainless_steel' + }).id(`tfg:shaped/multi_structure_manager`) + + event.remove({ id : 'gtceuterminal:schematic_interface' }) + /* Broken for now as it can duplicate resources in the I/O Ports + event.shaped('1x gtceuterminal:schematic_interface', [ + 'ABA', + 'CDC', + 'FEF' + ], { + A: 'gtceu:iv_sensor', + B: 'gtceu:iv_emitter', + C: '#gtceu:circuits/iv', + D: 'gtceu:terminal', + E: '#gtceu:batteries/iv', + F: '#forge:plates/tungsten_steel' + }).id(`tfg:shaped/schematic_interface`) + */ + } diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index 20241104f..dfd7a176b 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -207,6 +207,7 @@ const registerGTCEuMachines = (event) => { .or(Predicates.abilities(PartAbility.EXPORT_ITEMS).setPreviewCount(1)) .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1)) .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setPreviewCount(1)) + .or(Predicates.abilities(PartAbility.EXPORT_FLUIDS).setPreviewCount(1)) .or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1)) .or(Predicates.abilities(PartAbility.PARALLEL_HATCH).setMaxGlobalLimited(1))) .where('#', Predicates.air()) @@ -380,7 +381,7 @@ const registerGTCEuMachines = (event) => { .or(Predicates.abilities(PartAbility.IMPORT_ITEMS).setPreviewCount(1))) .where('C', Predicates.blocks('gtceu:solid_machine_casing') .or(Predicates.abilities(PartAbility.EXPORT_FLUIDS).setPreviewCount(2)) - .or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1).setPreviewCount(1)) + .or(Predicates.abilities(PartAbility.INPUT_ENERGY).setMinGlobalLimited(1).setMaxGlobalLimited(2).setPreviewCount(2)) .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1).setPreviewCount(1))) .where('D', Predicates.blocks('create:metal_girder')) .where('E', Predicates.blocks('gtceu:steam_machine_casing')) diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 10ed98e61..025b563f5 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -316,10 +316,16 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.RTMAlloy.addFlags(GENERATE_DENSE, GENERATE_SPRING); GTMaterials.Lead.addFlags(GENERATE_DENSE); + GTMaterials.Beryllium.addFlags(GENERATE_DENSE); + GTMaterials.MaragingSteel300.addFlags(GENERATE_DENSE); + GTMaterials.Quartzite.addFlags(GENERATE_ROD); GTMaterials.TreatedWood.addFlags(GENERATE_LONG_ROD); + GTMaterials.Cadmium.addFlags(GENERATE_PLATE); + GTMaterials.Cadmium.setProperty(PropertyKey.INGOT, new $INGOT_PROPERTY()); + // Hide ore processing tab for plutonium GTMaterials.Plutonium239.addFlags(GENERATE_ROD, GENERATE_LONG_ROD, NO_ORE_PROCESSING_TAB, NO_ORE_SMELTING) GTMaterials.Thorium.addFlags(NO_ORE_SMELTING) @@ -328,7 +334,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Zirconium.setProperty(PropertyKey.DUST, new $DUST_PROPERTY()); GTMaterials.Zirconium.setProperty(PropertyKey.INGOT, new $INGOT_PROPERTY()); GTMaterials.Zirconium.setProperty(PropertyKey.BLAST, new $BLAST_PROPERTY(4200, 'mid', GTValues.VA[GTValues.EV], 1300, GTValues.VA[GTValues.HV], 14.7*20)); - GTMaterials.Zirconium.addFlags(GENERATE_FINE_WIRE, GENERATE_PLATE, NO_ORE_SMELTING); + GTMaterials.Zirconium.addFlags(GENERATE_FINE_WIRE, GENERATE_PLATE, GENERATE_DENSE, NO_ORE_SMELTING); // Tools GTMaterials.Stone.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(1.2, 1.0, 8, 1, [ diff --git a/kubejs/startup_scripts/gtceu/recipe_types.js b/kubejs/startup_scripts/gtceu/recipe_types.js index 3cffd2c81..849baf9e7 100644 --- a/kubejs/startup_scripts/gtceu/recipe_types.js +++ b/kubejs/startup_scripts/gtceu/recipe_types.js @@ -20,15 +20,15 @@ const registerGTCEuRecipeTypes = (event) => { .setMaxIOSize(2, 0, 2, 1) .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.COOLING) - +/* event.create('nuclear_fuel_factory') .category('nuclear_fuel_factory') .setEUIO('in') - .setMaxIOSize(6, 1, 1, 0) + .setMaxIOSize(6, 1, 1, 1) .setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1) .setProgressBar(GuiTextures.PROGRESS_BAR_LATHE, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.CUT) - +*/ event.create('heat_exchanger') .category('heat_exchanger') .setEUIO('in') diff --git a/kubejs/startup_scripts/tfg/element.js b/kubejs/startup_scripts/tfg/element.js index b71cadcb5..e7fa697bf 100644 --- a/kubejs/startup_scripts/tfg/element.js +++ b/kubejs/startup_scripts/tfg/element.js @@ -4,10 +4,42 @@ const registerTFGElement = (event) => { event.create("thorium_230") .protons(90) - .neutrons(230) + .neutrons(140) .symbol("Th²³⁰") + event.create("thorium_232") .protons(90) - .neutrons(232) + .neutrons(142) .symbol("Th²³²") + + event.create("boron_10") + .protons(5) + .neutrons(6) + .symbol("B¹⁰") + + event.create("americium_241") + .protons(95) + .neutrons(146) + .symbol("Am²⁴¹") + + event.create("neptunium_237") + .protons(93) + .neutrons(144) + .symbol("Np²³⁷") + + event.create("californium_252") + .protons(98) + .neutrons(154) + .symbol("Ca²⁵²") + + event.create("unknown") + .protons(75) + .neutrons(75) + .symbol("?") + + event.create("caesium_137") + .protons(55) + .neutrons(82) + .symbol("Cs¹³⁷") + } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/fluids.js b/kubejs/startup_scripts/tfg/fluids.js index 3f9cadb31..87bba4564 100644 --- a/kubejs/startup_scripts/tfg/fluids.js +++ b/kubejs/startup_scripts/tfg/fluids.js @@ -28,5 +28,10 @@ const registerTFGFluids = (event) => { .noBlock() // Venus + event.create('tfg:supercritical_co2') + .thinTexture(0x3deb96) + .bucketColor(0x08733f) + .temperature(236) + .noBlock() } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/mars/materials.mars.js b/kubejs/startup_scripts/tfg/mars/materials.mars.js index e048876ce..fb53dba15 100644 --- a/kubejs/startup_scripts/tfg/mars/materials.mars.js +++ b/kubejs/startup_scripts/tfg/mars/materials.mars.js @@ -22,6 +22,11 @@ function registerTFGMarsMaterials(event) { event.create('residual_radioactive_concoction') .liquid(new GTFluidBuilder().customStill().temperature(450)) + // New OLA Materials + + event.create('tfg:radioactive_effluent') + .liquid(new GTFluidBuilder().customStill().temperature(293)) + // Atmosphere event.create('tfg:mars_air') @@ -100,7 +105,7 @@ function registerTFGMarsMaterials(event) { .components('2x ostrum', 'iodine') .blastTemp(3700, 'mid', GTValues.VA[GTValues.IV], (20*120)) .iconSet(GTMaterialIconSet.getByName('cereal_box')) - .flags(GTMaterialFlags.GENERATE_GEAR) + .flags(GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_FOIL) .color(0xc696f2) .secondaryColor(0x9b99ff) } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index ad21a71ba..158fb7185 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -241,4 +241,14 @@ const registerTFGMaterials = (event) => { .flags(GTMaterialFlags.GENERATE_PLATE) // #endregion + + //#region Material for Coils + + event.create('tfg:nichromium_iodomethylate') + .liquid(new GTFluidBuilder().temperature(1818)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('4x nickel', '1x chromium', '1x carbon', '3x hydrogen', '1x iodine') + .color(0xe7a2fc) + + } diff --git a/kubejs/startup_scripts/tfg/nuclear/items.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/items.nuclear.js index 33d19dcb9..50304d7cb 100644 --- a/kubejs/startup_scripts/tfg/nuclear/items.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/items.nuclear.js @@ -5,8 +5,18 @@ function registerTFGNuclearItems(event) { // Empty Fission Rod event.create('tfg:empty_rod') - .translationKey('item.tfg.empty_road') - .texture('tfg:item/fuel_rod_empty') + .translationKey('item.tfg.empty_rod') + .texture('tfg:item/fission_rod/fuel_rod_empty') + .tag('tfg:fission_rods') + + event.create('tfg:empty_rod_t2') + .translationKey('item.tfg.empty_rod_t2') + .texture('tfg:item/fission_rod/fuel_rod_empty_t2') + .tag('tfg:fission_rods') + + event.create('tfg:empty_rod_t3') + .translationKey('item.tfg.empty_rod_t3') + .texture('tfg:item/fission_rod/fuel_rod_empty_t3') .tag('tfg:fission_rods') event.create('tfg:refrigerant_pellet') @@ -14,6 +24,11 @@ function registerTFGNuclearItems(event) { .texture('tfg:item/refrigerant_pellet') .tag('tfg:fission_coolant') + event.create('tfg:terrafirmaguard_pa6') + .translationKey('item.tfg.terrafirmaguard_pa6') + .texture('tfg:item/terrafirmaguard_pa6') + .tag('tfg:fission_coolant') + // Moderator Line event.create('tfg:graphite_compound') diff --git a/kubejs/startup_scripts/tfg/nuclear/machine.js b/kubejs/startup_scripts/tfg/nuclear/machine.js new file mode 100644 index 000000000..837ae36ab --- /dev/null +++ b/kubejs/startup_scripts/tfg/nuclear/machine.js @@ -0,0 +1,8 @@ +// priority: 0 +"use strict"; + +GTCEuStartupEvents.registry('gtceu:machine', _ => { + const $FrComponents = Java.loadClass("fi.dea.mc.deafission.core.c2.fr.FrComponents"); + const $ReactorBaseStats = Java.loadClass("fi.dea.mc.deafission.core.ReactorBaseStats"); + $ReactorBaseStats.Smr1 = new $FrComponents(200, 0, 0); +}) \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js index c78078fb4..04a1dd43c 100644 --- a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js @@ -50,10 +50,16 @@ const registerTFGNuclearMaterials = (event) => { .components('1x water', '1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - // Coolant + //#region Coolant + + event.create('tfg:warm_water') + .liquid(new GTFluidBuilder().temperature(313)) + .components('2x hydrogen', '1x oxygen') + .color(0x8de3fc) + .secondaryColor(0x81FFF9) event.create('tfg:heavy_water') - .liquid(new GTFluidBuilder().temperature(236)) + .liquid(new GTFluidBuilder().customStill().temperature(236)) .components('2x deuterium', '1x oxygen') .color(0xB5B9FF) .secondaryColor(0x81FFF9) @@ -65,16 +71,24 @@ const registerTFGNuclearMaterials = (event) => { .secondaryColor(0x81FFF9) event.create('tfg:boron_enriched_coolant') - .liquid(new GTFluidBuilder().temperature(213)) + .liquid(new GTFluidBuilder().customStill().temperature(213)) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0x43D6E4) - .secondaryColor(0x2C9AAF) event.create('tfg:hot_boron_enriched_coolant') - .liquid(new GTFluidBuilder().temperature(2000)) + .liquid(new GTFluidBuilder().customStill().temperature(2000)) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0xFF715B) - .secondaryColor(0xFF9D6E) + + event.create('tfg:ticl4_doped_supercritical_co2') + .liquid(new GTFluidBuilder().customStill().temperature(500)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('1x titanium', '4x chlorine', '1x carbon', '2x oxygen') + + event.create('tfg:spent_ticl4_doped_supercritical_co2') + .liquid(new GTFluidBuilder().customStill().temperature(2000)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('1x titanium', '4x chlorine', '1x carbon', '2x oxygen') + + //#endregion // Fision Waste @@ -84,7 +98,7 @@ const registerTFGNuclearMaterials = (event) => { .color(0xB5B9FF) .secondaryColor(0x81FFF9) - event.create('nuclear_waste') + event.create('tfg:tbu_waste') .liquid(new GTFluidBuilder().customStill().temperature(3850)) .components('1x thorium', '1x uranium', '1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) @@ -114,7 +128,7 @@ const registerTFGNuclearMaterials = (event) => { .secondaryColor(0xfc5e03) event.create('tritiated_water') - .fluid() + .liquid(new GTFluidBuilder().customStill()) .components('2x tritium', '1x oxygen') .color(0xb2c3e7) @@ -136,39 +150,81 @@ const registerTFGNuclearMaterials = (event) => { // FLiBe Line - event.create('raw_rich_brine') - .liquid(new GTFluidBuilder().customStill().temperature(293)) + event.create('tfg:raw_rich_brine') + .liquid(new GTFluidBuilder().temperature(293)) + .color(0xf2b257) + .secondaryColor(0xcd8dbc) - event.create('hot_iodine_brine') - .liquid(new GTFluidBuilder().customStill().temperature(293)) + event.create('tfg:hot_iodine_brine') + .liquid(new GTFluidBuilder().temperature(293)) .components('1x hydrogen', '1x iodine', '1x magnesium', '1x chlorine', '1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xf26c57) + .secondaryColor(0xcd8dbc) - event.create('brominated_iodine_vapor') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(412)) + event.create('tfg:brominated_iodine_vapor') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(412)) .components('1x hydrogen', '1x iodine', '1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xf5f1b5) + .secondaryColor(0xcd8dbc) - event.create('basic_bromine_exhaust') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(406)) + event.create('tfg:basic_bromine_exhaust') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(406)) .components('1x bromine', '1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xf5bbb5) + .secondaryColor(0xcd8dbc) - event.create('flibe') + event.create('tfg:flibe') .liquid(new GTFluidBuilder().customStill().temperature(293)) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .components('1x fluorine', '1x lithium', '1x beryllium') - event.create('dirty_flibe') - .liquid(new GTFluidBuilder().customStill().temperature(293)) + event.create('tfg:dirty_flibe') + .liquid(new GTFluidBuilder().temperature(293)) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .components('1x flibe', '1x unknown') + .color(0xdaffd6) + .secondaryColor(0xcd8dbc) - event.create('hot_flibe') + event.create('tfg:hot_flibe') .liquid(new GTFluidBuilder().customStill().temperature(3293)) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .components('1x flibe') + // Material Fission Earth + + event.create('boron_10') + .dust() + .element(GTElements.get("boron_10")) + .iconSet(GTMaterialIconSet.DULL) + .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) + .color(0xf8a8c0) + .secondaryColor(0xcd8dbc) + + event.create('caesium_137') + .dust() + .element(GTElements.get("caesium_137")) + .iconSet(GTMaterialIconSet.METALLIC) + .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) + .color(0xB6FF00) + .secondaryColor(0x9FAFB2) + + event.create('tfg:boron_thrichloride') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).attribute(GTFluidAttributes.ACID).temperature(380)) + .components('1x boron', '3x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xb3fcb9) + //.secondaryColor(0x9FAFB2) + + event.create('tfg:enriched_boron_thrichloride') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).attribute(GTFluidAttributes.ACID).temperature(480)) + .components("boron_10", '3x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x65db6f) + .secondaryColor(0x9FAFB2) + //#endregion //#region Dust @@ -199,6 +255,23 @@ const registerTFGNuclearMaterials = (event) => { .secondaryColor('0xffffff') .iconSet(GTMaterialIconSet.RADIOACTIVE) + event.create('tfg:boron_10_hydroxide') + .dust() + .components('boron_10', '2x oxygen', '1x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x8ee8a6) + .secondaryColor('0xffffff') + .iconSet(GTMaterialIconSet.RADIOACTIVE) + + event.create('tfg:sodium_deuteroxide') + .dust() + .components('1x sodium', '2x deuterium', '1x oxygen') + .formula('NaOD') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xfef8f6) + .secondaryColor('0xffffff') + .iconSet(GTMaterialIconSet.NETHERSTAR) + // FLiBe Dusts event.create('lithium_carbonate') @@ -233,7 +306,7 @@ const registerTFGNuclearMaterials = (event) => { .ingot() .element(GTElements.get("thorium_230")) .iconSet(GTMaterialIconSet.RADIOACTIVE) - .flags(GTMaterialFlags.GENERATE_ROD) + .flags(GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_LONG_ROD) .color(0xf8a8c0) .secondaryColor(0xcd8dbc) .radioactiveHazard(1000000) @@ -242,35 +315,35 @@ const registerTFGNuclearMaterials = (event) => { .ingot() .element(GTElements.get("thorium_232")) .iconSet(GTMaterialIconSet.RADIOACTIVE) - .flags(GTMaterialFlags.GENERATE_ROD) + .flags(GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_LONG_ROD) .color(0x694c66) .radioactiveHazard(1000) - event.create('tfg:americium_241') + event.create('americium_241') .ingot() .element(GTElements.get("americium_241")) .iconSet(GTMaterialIconSet.RADIOACTIVE) .flags(GTMaterialFlags.GENERATE_ROD) - .color(0x0600ff) - .secondaryColor(0x1b1d36) + .color(0x10B193) + .secondaryColor(0x66ff00) .radioactiveHazard(1000000) - event.create('tfg:neptunium_237') + event.create('neptunium_237') .ingot() .element(GTElements.get("neptunium_237")) .iconSet(GTMaterialIconSet.RADIOACTIVE) .flags(GTMaterialFlags.GENERATE_ROD) .color(0x00df98) - .secondaryColor(0xffffff) + .secondaryColor(0x66ff00) .radioactiveHazard(5000000) - event.create('tfg:californium_252') + event.create('californium_252') .ingot() .element(GTElements.get("californium_252")) .iconSet(GTMaterialIconSet.RADIOACTIVE) .flags(GTMaterialFlags.GENERATE_ROD) .color(0xffba00) - .secondaryColor(0xdfffff) + .secondaryColor(0x66ff00) .radioactiveHazard(10000000) //#endregion @@ -324,73 +397,73 @@ const registerTFGNuclearMaterials = (event) => { //#region Isotopic Solvent - // Organic Stabilizer + // Organic Stabilizer event.create('tfg:organic_stabilizer') - .dust() - .components('49x carbon', '64x hydrogen', '6x oxygen', '1x nitrogen', '1x chlorine') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0xd8c9b5) - .secondaryColor(0xb8a896) + .dust() + .components('31x carbon', '46x hydrogen', '3x oxygen', '1x nitrogen', '1x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xd8c9b5) + .secondaryColor(0xb8a896) .iconSet(GTMaterialIconSet.BRIGHT) // Trace Catalyst Salt - E event.create('tfg:trace_catalyst_salt_e') - .dust() - .components( - '2x carbon', - '9x hydrogen', - '8x oxygen', - '1x copper', - '1x sodium', - '1x chlorine', - '1x magnesium', - '1x fluorine', - '1x sulfur') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0xcad4cf) - .secondaryColor(0x9eb1a9) + .dust() + .components( + '2x carbon', + '9x hydrogen', + '8x oxygen', + '1x copper', + '1x sodium', + '1x chlorine', + '1x magnesium', + '1x fluorine', + '1x sulfur') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xcad4cf) + .secondaryColor(0x9eb1a9) .iconSet(GTMaterialIconSet.EMERALD) // Sodium Fluoride event.create('tfg:sodium_fluoride') - .dust() - .components('1x sodium', '1x fluorine') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0xffffff) - .secondaryColor(0xb7b9bd) + .dust() + .components('1x sodium', '1x fluorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xffffff) + .secondaryColor(0xb7b9bd) .iconSet(GTMaterialIconSet.ROUGH) // Copper Trace Catalyst Dust - event.create('tfg:copper_trace_catalyst_dust') - .dust() - .components('1x copper', '1x sodium', '1x chlorine', '1x magnesium', '1x fluorine', '1x sulfur', '6x oxygen', '1x hydrogen') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0x4a2e1a) - .secondaryColor(0x7a5c47) + event.create('tfg:copper_trace_catalyst') + .dust() + .components('1x copper', '1x sodium', '1x chlorine', '1x magnesium', '1x fluorine', '1x sulfur', '6x oxygen', '1x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x4a2e1a) + .secondaryColor(0x7a5c47) .iconSet(GTMaterialIconSet.FINE) // Isotopic Solvent event.create('tfg:isotopic_solvent') - .liquid(new GTFluidBuilder().temperature(320)) - .components( - '51x carbon', - '75x hydrogen', - '15x oxygen', - '1x nitrogen', - '2x chlorine', - '2x sodium', - '2x fluorine', - '1x copper', - '1x magnesium', - '1x sulfur', - '1x argon') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0xd4b464) - .secondaryColor(0xa88e55) + .liquid(new GTFluidBuilder().customStill().temperature(320)) + .components( + '33x carbon', + '57x hydrogen', + '12x oxygen', + '1x nitrogen', + '2x chlorine', + '2x sodium', + '2x fluorine', + '1x copper', + '1x magnesium', + '1x sulfur', + '1x argon') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xd4b464) + .secondaryColor(0xa88e55) // Degraded Solvent Stream event.create('tfg:degraded_solvent_stream') - .liquid(new GTFluidBuilder().temperature(350)) + .liquid(new GTFluidBuilder().customStill().temperature(350)) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0x8b4513) .secondaryColor(0xd2b48c) @@ -440,6 +513,19 @@ const registerTFGNuclearMaterials = (event) => { .color(0xff4500) .secondaryColor(0xff6347) + // High Grade + + event.create('tfg:high_grade_isotopic_solvent') + .liquid(new GTFluidBuilder().customStill().temperature(300)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xfc7303) + .secondaryColor(0xfcf403) + + event.create('tfg:degraded_high_grade_isotopic_solvent') + .liquid(new GTFluidBuilder().customStill().temperature(300)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xfc7303) + .secondaryColor(0xfcf403) }; @@ -485,12 +571,14 @@ StartupEvents.registry("item", (event) => { } }; - fuel("thorium_rod", 5000, 1, 0.7, false); // Max Heat 139 - 1 Fuel - fuel("uranium_rod", 20000, 1, 2.2, false); // Max Heat 435 - 1 Fuel - fuel("plutonium_rod", 30000, 4, 3, false); // Max Heat 595 - 1 Fuel - fuel("tbu_232_rod", 10000, 1, 2); // Max Heat 396 - 1 Fuel + fuel("thorium_rod", 5000, 1, 0.7); // Max Heat 139 - 1 Fuel + fuel("uranium_rod", 20000, 1, 2.2); // Max Heat 435 - 1 Fuel + fuel("plutonium_rod", 30000, 1, 3); // Max Heat 595 - 1 Fuel + + fuel("tbu_232_rod", 5000, 1, 2); // Max Heat 396 - 1 Fuel + + fuel("americium_241_rod", 5000000, 1, 0.5); // Max Heat 99 - 1 Fuel + fuel("neptunium_237_rod", 100000, 1, 2); // Max Heat 396 - 1 Fuel + fuel("californium_252_rod", 500000, 1, 4); // Max Heat 792 - 1 Fuel - fuel("americium_241_rod", 1000000, 1, 0.5); - fuel("neptunium_237_rod", 50000, 1, 2); - fuel("californium_252_rod", 500000, 1, 4); }); From 40ddd4f30ee262ad91cd836e590feace1a6acdd0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 16:53:05 +0000 Subject: [PATCH 302/474] field guide for new mobs --- config/defaultoptions/keybindings.txt | 6 ++- .../en_us/entries/tfg_tips/space_fauna.json | 51 +++++++++++++++---- 2 files changed, 46 insertions(+), 11 deletions(-) diff --git a/config/defaultoptions/keybindings.txt b/config/defaultoptions/keybindings.txt index de2c93287..f0523281e 100644 --- a/config/defaultoptions/keybindings.txt +++ b/config/defaultoptions/keybindings.txt @@ -120,4 +120,8 @@ key_gtceu.key.armor_mode_switch:key.keyboard.o key_key.ftbchunks.map:key.keyboard.unknown:NONE key_key.ftbchunks.claim_manager:key.keyboard.unknown:NONE key_key.ad_astra.toggle_suit_flight:key.keyboard.h:NONE -key_key.ad_astra.open_radio:key.keyboard.r:NONE \ No newline at end of file +key_key.ad_astra.open_radio:key.keyboard.r:NONE +key_key.wan_ancient_beasts.special_ability:key.keyboard.x:NONE +key_key.saveToolbarActivator:key.keyboard.unknown:NONE +key_key.loadToolbarActivator:key.keyboard.unknown:NONE +key_key.tacz.crawl.desc:key.keyboard.x:NONE \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json index c9ccd1669..c11604b73 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json @@ -6,7 +6,7 @@ { "type": "patchouli:text", "title": "Extraterrestrial Fauna", - "text": "Space is home to many other kinds of animals than those you'd find on Earth. A few animals are hostile and will attack the player, but most are passive. Only a few of them are $(l:mechanics/animal_husbandry)domesticatable$() like the livestock on Earth.$(br)Animals you find on other worlds can be divided into two categories: $(item)hot$() and $(item)cold$(). Animals can only survive on planets that either have a similar climate to where they came from, or on $(thing)temperate$() planets like Earth." + "text": "Space is home to many other kinds of animals than those you'd find on Earth. A few animals are hostile and will attack the player, but most are passive. Only a few of them are $(l:mechanics/animal_husbandry)domesticatable$().$(br)Animals you find on other worlds can be divided into two categories: $(item)hot$() and $(item)cold$(). Animals can only survive on planets that either have a similar climate to where they came from, or on $(thing)temperate$() planets like Earth." }, { "type": "patchouli:text", @@ -105,14 +105,46 @@ "name": " ", "text": "A glacian ram/ewe." }, + { + "type": "patchouli:text", + "title": "Snatcher", + "text": "$(thing)Snatchers$() are passive animals that like to steal your stuff! Attack them to retrieve your items, or feed them $(item)Raw Fish$() to tame them.$(br2)Once tamed, you can carry them on your back and equip them with a wooden chest. Press $(k:key.wan_ancient_beasts.special_ability)$() to throw them, and they will steal the contents of the chest and bring it to you." + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:snatcher", + "scale": 0.35, + "name": " ", + "text": "A snatcher." + }, + { + "type": "patchouli:text", + "title": "Charger", + "text": "$(thing)Chargers$() are semipassive animals. You can tame them with $(item)any Mars crop$() to use them as a combat land mount.$(br2)Press $(k:key.wan_ancient_beasts.special_ability)$() for a headbutt attack, or press and hold $(item)Spacebar$() for a charge attack.$(br2)They can also be equipped with $(item)dyeable armor$()." + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:charger", + "scale": 0.45, + "name": " ", + "text": "Chargers have a natural rivalry with $(thing)Raiders$(). They will attack each other on sight." + }, { "type": "patchouli:entity", "entity": "wan_ancient_beasts:surfer", - "scale": 0.35, + "scale": 0.4, "offset": 0.2, "name": "Surfer", "text": "$(thing)Surfers$() are semiaquatic passive animals. You can tame them with $(item)Raw Fish$() to ride them underwater. They can also be eaten." }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:soarer", + "scale": 0.4, + "offset": 1.0, + "name": "Soarer", + "text": "$(thing)Soarers$() are passive animals found above -106°C. You can tame them with $(item)Raw Fish$() to use them as a flying mount. They can also be eaten." + }, { "type": "patchouli:entity", "entity": "wan_ancient_beasts:eater", @@ -127,14 +159,6 @@ "name": "Cruncher", "text": "$(thing)Crunchers$() are territorial $(item)miniboss$() predators. Feed them meat to stop their regeneration. They can also be eaten." }, - { - "type": "patchouli:entity", - "entity": "wan_ancient_beasts:soarer", - "scale": 0.4, - "offset": 1.0, - "name": "Soarer", - "text": "$(thing)Soarers$() are passive animals found above -106°C. You can tame them with $(item)Raw Fish$() to use them as a flying mount. They can also be eaten." - }, { "type": "patchouli:entity", "entity": "wan_ancient_beasts:glider", @@ -173,6 +197,13 @@ "name": "Walker", "text": "The gigantic $(thing)Walkers$() inhabit areas above -97°C. They are passive and can be eaten." }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:raider", + "scale": 0.5, + "name": "Raider", + "text": "$(thing)Raiders$() are hostile animals found above -109°C. They have a natural rivalry with $(thing)Chargers$(). You can make them neutral by feeding them $(item)Raw Meat$()." + }, { "type": "patchouli:entity", "entity": "wan_ancient_beasts:toxlacanth", From b2fe5d351ad55484d7f57b38b141f19c714d0eb4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 17:20:59 +0000 Subject: [PATCH 303/474] add them to biomes --- .../tfg/worldgen/biome/mars/amber_edge.json | 20 ++++++++++++++++++- .../tfg/worldgen/biome/mars/amber_hills.json | 20 ++++++++++++++++++- .../tfg/worldgen/biome/mars/amber_plains.json | 20 ++++++++++++++++++- .../biome/mars/martian_dune_edge.json | 12 +++++++++++ .../biome/mars/martian_mountains.json | 18 +++++++++++++++++ .../worldgen/biome/mars/martian_river.json | 20 ++++++++++++++++++- .../worldgen/biome/mars/rusticus_edge.json | 20 ++++++++++++++++++- .../worldgen/biome/mars/rusticus_hills.json | 18 +++++++++++++++++ .../worldgen/biome/mars/rusticus_plains.json | 18 +++++++++++++++++ .../tfg/worldgen/biome/mars/sangnum_edge.json | 20 ++++++++++++++++++- .../worldgen/biome/mars/sangnum_hills.json | 18 +++++++++++++++++ .../worldgen/biome/mars/sangnum_plains.json | 20 ++++++++++++++++++- 12 files changed, 217 insertions(+), 7 deletions(-) diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json b/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json index 6a32c043f..23fc49950 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json @@ -132,7 +132,25 @@ "type": "wan_ancient_beasts:eater", "maxCount": 1, "minCount": 1, - "weight": 10 + "weight": 20 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 20 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 20 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 50 }, { "type": "species:goober", diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json index c4197ddb0..930731ac2 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json @@ -116,7 +116,7 @@ "type": "wan_ancient_beasts:walker", "maxCount": 3, "minCount": 2, - "weight": 20 + "weight": 30 }, { "type": "wan_ancient_beasts:crusher", @@ -142,6 +142,24 @@ "minCount": 1, "weight": 40 }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 100 + }, { "type": "species:springling", "maxCount": 4, diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json index 9db57c216..50eef88ce 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json @@ -147,7 +147,25 @@ "type": "wan_ancient_beasts:eater", "maxCount": 2, "minCount": 1, - "weight": 15 + "weight": 20 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 40 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 40 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 100 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json b/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json index 455793a48..27f4ac101 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json @@ -116,6 +116,18 @@ "maxCount": 2, "minCount": 1, "weight": 20 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 2, + "minCount": 1, + "weight": 20 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 2, + "minCount": 1, + "weight": 20 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json index 56f61b571..cd441acb3 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json @@ -148,6 +148,24 @@ "maxCount": 3, "minCount": 2, "weight": 50 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 40 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 40 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 20 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json index ea6e3cd87..338b76712 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json @@ -132,7 +132,7 @@ "type": "wan_ancient_beasts:walker", "maxCount": 3, "minCount": 2, - "weight": 20 + "weight": 30 }, { "type": "tfg:glacian_ram", @@ -145,6 +145,24 @@ "maxCount": 2, "minCount": 1, "weight": 20 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 30 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 30 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 100 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json index add6a2c08..413473836 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json @@ -132,13 +132,31 @@ "type": "wan_ancient_beasts:eater", "maxCount": 1, "minCount": 1, - "weight": 10 + "weight": 20 }, { "type": "species:goober", "maxCount": 2, "minCount": 2, "weight": 40 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 30 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 30 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 50 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json index e5d56f973..50185326f 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json @@ -153,6 +153,24 @@ "maxCount": 4, "minCount": 3, "weight": 100 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 100 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json index 209823d94..02836a8fd 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json @@ -148,6 +148,24 @@ "maxCount": 2, "minCount": 1, "weight": 15 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 100 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json index f14203a29..f7a48d0b0 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json @@ -132,13 +132,31 @@ "type": "wan_ancient_beasts:eater", "maxCount": 1, "minCount": 1, - "weight": 5 + "weight": 20 }, { "type": "species:goober", "maxCount": 2, "minCount": 2, "weight": 30 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 20 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 20 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 50 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json index cc71e25bc..9cd5ab19c 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json @@ -153,6 +153,24 @@ "maxCount": 4, "minCount": 3, "weight": 100 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 100 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json index cce3e0a2c..2943880d7 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json @@ -147,7 +147,25 @@ "type": "wan_ancient_beasts:eater", "maxCount": 2, "minCount": 1, - "weight": 15 + "weight": 20 + }, + { + "type": "wan_ancient_beasts:charger", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:raider", + "maxCount": 4, + "minCount": 3, + "weight": 50 + }, + { + "type": "wan_ancient_beasts:snatcher", + "maxCount": 4, + "minCount": 2, + "weight": 100 } ], "misc": [], From 365acb1e9eed8ecef69b498a8b1c8f40beffe346 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 17:21:10 +0000 Subject: [PATCH 304/474] recipes and fauna data --- kubejs/server_scripts/tfc_gurman/recipes.js | 2 +- kubejs/server_scripts/tfg/worldgen/data.fauna.js | 9 +++++++++ kubejs/startup_scripts/wan_ancient_beasts/constants.js | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfc_gurman/recipes.js b/kubejs/server_scripts/tfc_gurman/recipes.js index 2ad4369e8..a6ee1a527 100644 --- a/kubejs/server_scripts/tfc_gurman/recipes.js +++ b/kubejs/server_scripts/tfc_gurman/recipes.js @@ -516,7 +516,7 @@ function registerTFCGurmanRecipes(event) { 'tfc:powder/salt' ]).id('tfg:shapeless/takoyaki_from_crawlermari'); - event.replaceOutput({ id: "tfc_gurman:crafting/raw_pelmeni" }, "tfc_gurman:raw_pelmeni", "2x tfc_gurman:raw_pelmini"); + event.replaceOutput({ id: "tfc_gurman:crafting/raw_pelmeni" }, "tfc_gurman:raw_pelmeni", "2x tfc_gurman:raw_pelmeni"); event.replaceOutput({ id: "tfc_gurman:crafting/raw_vareniki" }, "tfc_gurman:raw_vareniki", "tfc_gurman:raw_vareniki"); event.replaceOutput({ id: "tfc_gurman:crafting/raw_oladyi" }, "tfc_gurman:raw_oladyi", "2x tfc_gurman:raw_oladyi"); event.replaceOutput({ id: "tfc_gurman:crafting/raw_syrniki" }, "tfc_gurman:raw_syrniki", "2x tfc_gurman:raw_syrniki"); diff --git a/kubejs/server_scripts/tfg/worldgen/data.fauna.js b/kubejs/server_scripts/tfg/worldgen/data.fauna.js index e68ce1c84..5621dd1f6 100644 --- a/kubejs/server_scripts/tfg/worldgen/data.fauna.js +++ b/kubejs/server_scripts/tfg/worldgen/data.fauna.js @@ -19,6 +19,7 @@ function registerTFGFauna(event) { climate => { climate.minTemp(-102) climate.maxTemp(-30) + climate.maxForest('normal') climate.fuzzy(true) }, faunaData => { @@ -49,6 +50,7 @@ function registerTFGFauna(event) { event.fauna( climate => { climate.minTemp(-109) + climate.maxForest('normal') climate.fuzzy(true) }, faunaData => { @@ -59,6 +61,7 @@ function registerTFGFauna(event) { event.fauna( climate => { climate.minTemp(-97) + climate.maxForest('edge') climate.fuzzy(true) }, faunaData => { @@ -69,6 +72,7 @@ function registerTFGFauna(event) { event.fauna( climate => { climate.minTemp(-109) + climate.maxForest('normal') climate.fuzzy(true) }, faunaData => { @@ -89,6 +93,7 @@ function registerTFGFauna(event) { event.fauna( climate => { climate.minTemp(-109) + climate.maxForest('normal') climate.fuzzy(true) }, faunaData => { @@ -99,6 +104,7 @@ function registerTFGFauna(event) { event.fauna( climate => { climate.minTemp(-107) + climate.maxForest('normal') climate.fuzzy(true) }, faunaData => { @@ -109,6 +115,7 @@ function registerTFGFauna(event) { event.fauna( climate => { climate.minTemp(-105) + climate.minForest('edge') climate.fuzzy(true) }, faunaData => { @@ -119,6 +126,7 @@ function registerTFGFauna(event) { event.fauna( climate => { climate.minTemp(-106) + climate.minForest('edge') climate.fuzzy(true) }, faunaData => { @@ -129,6 +137,7 @@ function registerTFGFauna(event) { event.fauna( climate => { climate.minTemp(-105) + climate.minForest('edge') climate.fuzzy(true) }, faunaData => { diff --git a/kubejs/startup_scripts/wan_ancient_beasts/constants.js b/kubejs/startup_scripts/wan_ancient_beasts/constants.js index a255a4abc..da44bc411 100644 --- a/kubejs/startup_scripts/wan_ancient_beasts/constants.js +++ b/kubejs/startup_scripts/wan_ancient_beasts/constants.js @@ -60,7 +60,7 @@ global.WAB_DISABLED_ITEMS = [ 'wan_ancient_beasts:moonflower', 'wan_ancient_beasts:equisetum_seeds', 'wan_ancient_beasts:olden_moss_carpet', - 'wan_ancient_beasts:olden_moss', + 'wan_ancient_beasts:olden_moss_block', 'wan_ancient_beasts:amber_ginkgo_seeds', 'wan_ancient_beasts:verdant_ginkgo_seeds', 'wan_ancient_beasts:amber_ginkgo_sapling', From 9e0c303438f5cbc33d0167e7d7b1ce62ddbf614e Mon Sep 17 00:00:00 2001 From: OLOXpl <125832723+OLOXpl@users.noreply.github.com> Date: Sun, 1 Feb 2026 18:43:07 +0100 Subject: [PATCH 305/474] Update recipes.dyes.js (#2925) * Update recipes.dyes.js added base 9 dye mixing as fluids + 2 custom ones as stated in the issue #2818 * Revert "Update recipes.dyes.js" This reverts commit b06ed24bf42fafc4233c6c6278fa5199e5542bfd. * Update recipes.dyes.js added base 9 dye mixing as fluids + 2 custom ones as stated in the issue #2818 attempt nr 2 --- kubejs/server_scripts/tfc/recipes.dyes.js | 45 +++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/kubejs/server_scripts/tfc/recipes.dyes.js b/kubejs/server_scripts/tfc/recipes.dyes.js index 8499a98f5..a0d9d435b 100644 --- a/kubejs/server_scripts/tfc/recipes.dyes.js +++ b/kubejs/server_scripts/tfc/recipes.dyes.js @@ -156,4 +156,49 @@ function registerTFCDyeRecipes(event) { }) //#endregion + + //#region Dye mixing + const dyeMixes = [ + // input 1 + [ + 'black', 'white', 'white', + 'white', 'blue', 'blue', + 'purple', 'white', 'red', + 'orange', 'yellow' + ], + // input 2 + [ + 'light_gray', 'gray', 'green', + 'blue', 'green', 'red', + 'pink', 'red', 'yellow', + 'black', 'blue' + ], + // output + [ + 'gray', 'light_gray', 'light_green', + 'light_blue', 'cyan', 'purple', + 'magenta', 'pink', 'orange', + 'brown', 'green' + ] + ] + + for (let i = 0; i < dyeMixes[2].length; i++) { + if (!Fluid.exists(`tfc:${dyeMixes[0][i]}_dye`) || + !Fluid.exists(`tfc:${dyeMixes[1][i]}_dye`) || + !Fluid.exists(`tfc:${dyeMixes[2][i]}_dye`) + ) continue + + event.recipes.gtceu.mixer(`mixer_dye_${dyeMixes[2][i]}`) + .inputFluids( + Fluid.of(`tfc:${dyeMixes[0][i]}_dye`, 144), + Fluid.of(`tfc:${dyeMixes[1][i]}_dye`, 144) + ) + .outputFluids( + Fluid.of(`tfc:${dyeMixes[2][i]}_dye`, 288) + ) + .duration(20) + .EUt(8) + } + + //#endregion } \ No newline at end of file From e30b293440a909c80865a81ff17ed56c7d4fe44f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 17:44:41 +0000 Subject: [PATCH 306/474] fix #2928, update cl --- CHANGELOG.md | 4 ++++ kubejs/startup_scripts/gtceu/constants.js | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a8d7d7e6f..aba034dc3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ### Breaking changes - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie - The two chemical reactor recipes for Tetramethoxysilane now have circuits (1 and 2) (#2898) @Pyritie +- Toluene + Benzene = Biphenyl + Methane now uses circuit 1 (#2928) @Pyritie #### ULV changes - The vacuum chamber requires a blue steel spring now, so the colored steel anvil can't be skipped - The steel mechanical mixer can now only make weak red/blue steel dust, not regular (it can still make black steel dust though). The LV mixer can make normal red/blue steel dust @@ -41,6 +42,9 @@ - Piglin brutes now always spawn with full armor and harder-hitting weapons @Pyritie - Added quartzite as a mars stone type @Pyritie - Added assembler recipe for framed cubes (#2889) @Coox1e +- Added a furnace recipe for dead grass to thatch (#2935) @Coox1e +- Added support for Bluemap (#2922) @trisjob +- Added mixer recipes for dye fluids (#2925) @OLOXpl ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index e6d531c48..ad6c1828c 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -453,7 +453,10 @@ global.ADD_CIRCUIT = /** @type {const} */ ([ { recipeId: "gtceu:large_chemical_reactor/butraldehyde", circuitNumber: 5 }, { recipeId: "gtceu:chemical_reactor/saltpeter", circuitNumber: 2 }, - { recipeId: "gtceu:large_chemical_reactor/saltpeter", circuitNumber: 2 } + { recipeId: "gtceu:large_chemical_reactor/saltpeter", circuitNumber: 2 }, + + { recipeId: "gtceu:chemical_reactor/biphenyl_from_toluene", circuitNumber: 2 }, + { recipeId: "gtceu:large_chemical_reactor/biphenyl_from_toluene", circuitNumber: 2 }, ]); //#endregion From fbbb9715d95b07dc12603c5f79129403db2726b7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 17:47:29 +0000 Subject: [PATCH 307/474] langs --- kubejs/assets/gtceu/lang/en_us.json | 7 +- kubejs/assets/tfg/lang/en_us.json | 84 +++++++++++++++---- kubejs/assets/tfg/lang/zh_cn.json | 3 +- .../assets/wan_ancient_beasts/lang/en_us.json | 18 +++- .../assets/wan_ancient_beasts/lang/ja_jp.json | 18 +++- .../assets/wan_ancient_beasts/lang/ru_ru.json | 18 +++- .../assets/wan_ancient_beasts/lang/uk_ua.json | 18 +++- .../assets/wan_ancient_beasts/lang/zh_cn.json | 18 +++- 8 files changed, 163 insertions(+), 21 deletions(-) diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index c07bbc0e6..08469bd6a 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -126,7 +126,7 @@ "material.gtceu.hydrogen_iodide": "Hydrogen Iodide", "material.gtceu.dense_steam": "High Pressure Steam", "material.gtceu.radioactive_steam": "Radioactive Steam", - "material.gtceu.radioactive_waste": "Radioactive Waste", + "material.gtceu.radioactive_waste": "Thorium Waste", "material.gtceu.irradiated_steam": "Irradiated Steam", "material.gtceu.heavy_water": "Heavy Water", "material.gtceu.uranium_waste": "Uranium Waste", @@ -164,6 +164,11 @@ "material.gtceu.americium": "Americium 243", "material.gtceu.uranium": "Uranium 238", "material.gtceu.plutonium": "Plutonium 239", + "material.gtceu.neptunium_237": "Neptunium 237", + "material.gtceu.caesium_137": "Caesium 137", + "material.gtceu.americium_241": "Americium 241", + "material.gtceu.californium_252": "Californium 252", + "material.gtceu.boron_10": "Boron 10", "material.gtceu.residual_radioactive_concoction": "Residual Radioactive Concoction", "material.gtceu.regolith_vapor": "Regolith Vapor", "material.gtceu.dense_ostrum_vapor": "Dense Ostrum Vapor", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 4b092bc6b..09c7032a8 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -803,6 +803,7 @@ "block.tfg.cooling_tower": "Nuclear Cooling Tower", "block.tfg.smr_generator": "Small Modular Turbine", "block.tfg.casings.machine_casing_desh_ptfe": "Radiation-Safe Desh Casing", + "block.tfg.uv_smr_fluid_import_hatch": "SMT Input Hatch", "block.tfg.growth_monitor": "Growth Monitor", "block.tfg.sample_rack": "Sample Rack", "block.tfg.casings.machine_casing_sterilizing_pipes": "Sterilizing Pipes", @@ -810,6 +811,7 @@ "block.tfg.impure_moderate_core": "Impure Moderate Core", "block.tfg.moderate_core_frame": "Moderate Core Frame", "block.tfg.impure_moderate_core_frame": "Impure Moderate Core Frame", + "block.tfg.heat_battery_mk1": "Heat Battery", "tfg.block_entity.artisan_table": "Artisan Table", "block.tfg.artisan_table": "Artisan Table", "fluid.tfg.heavy_ammoniacal_water": "Heavy Ammoniacal Water", @@ -1138,10 +1140,12 @@ "item.tfg.clean_dna_syringe": "Clean Syringe", "item.tfg.stainless_steel_needle": "Stainless Steel Needle", "item.tfg.empty_rod": "Empty Fissile Fuel Rod", + "item.tfg.empty_rod_t2": "Empty Beryllium Fissile Fuel Rod", + "item.tfg.empty_rod_t3": "Empty Zirconium Fissile Fuel Rod", "item.tfg.thorium_rod": "Thorium Fuel Rod", "item.tfg.uranium_rod": "Uranium Fuel Rod", "item.tfg.plutonium_rod": "Plutonium Fuel Rod", - "item.tfg.tbu_232_rod": "TBU-232 Fuel Rod", + "item.tfg.tbu_232_rod": "T-Rod Fuel", "item.tfg.refrigerant_pellet": "Refrigerant Pellet", "item.tfg.graphite_compound": "Graphite Compound", "item.tfg.raw_graphite_briquette": "Raw Graphite Briquette", @@ -1280,6 +1284,7 @@ "material.tfg.silica_gel": "Silica Gel", "material.tfg.soaked_silica_gel": "Acetone Soaked Silica Gel", "material.tfg.heavy_water": "Heavy Water", + "material.tfg.warm_water": "Warm Water", "material.tfg.semiheavy_water": "Semiheavy Water", "material.tfg.nuclear_residue": "Nuclear Residue", "material.tfg.oxidized_nuclear_residue": "Oxidized Nuclear Residue", @@ -1340,6 +1345,7 @@ "material.tfg.americium_241": "Americium 241", "material.tfg.californium_252": "Californium 252", "material.tfg.neptunium_237": "Neptunium 237", + "material.tfg.tbu_waste": "T Waste", "material.tfg.mixed_radioactive_fluid": "Mixed Radioactive Fluid", "material.tfg.degraded_solvent_stream": "Degraded Solvent Stream", "material.tfg.boron_enriched_coolant": "Boron Enriched Coolant", @@ -1351,10 +1357,20 @@ "material.tfg.residual_sludge": "Residual Sludge", "material.tfg.sodium_fluoride": "Sodium Fluoride", "material.tfg.trace_catalyst_salt_e": "Trace Catalyst Salt E", - "material.tfg.copper_trace_catalyst_dust": "Copper Trace Catalyst", + "material.tfg.copper_trace_catalyst": "Copper Trace Catalyst", "material.tfg.organic_stabilizer": "Organic Stabilizer", "material.tfg.inert_dust_fraction": "Inert Fraction", "material.tfg.recovered_ionic_complex": "Recovered Ionic Complex", + "material.tfg.boron_10_hydroxide": "Boron-10 Hydroxide", + "material.tfg.sodium_deuteroxide": "Sodium Deuteroxide", + "material.tfg.boron_thrichloride": "Boron Trichloride", + "material.tfg.enriched_boron_thrichloride": "Enriched Boron Trichloride", + "material.tfg.booster_t3": "NYI", + "material.tfg.radioactive_effluent": "Radioactive Effluent", + "material.tfg.high_grade_isotopic_solvent": "High Grade Isotopic Solvent", + "material.tfg.degraded_high_grade_isotopic_solvent": "Degraded High Grade Isotopic Solvent", + "material.tfg.spent_ticl4_doped_supercritical_co2": "Hot TiCl₄ Doped Supercritical CO₂", + "material.tfg.ticl4_doped_supercritical_co2": "TiCl₄ Doped Supercritical CO₂", "material.tfg.glucose": "Glucose", "material.tfg.galactose": "Galactose", "material.tfg.fructose": "Fructose", @@ -1388,6 +1404,7 @@ "material.tfg.phenolic_resin": "Phenolic Resin", "material.tfg.magnesium_hydroxide": "Magnesium Hydroxide", "material.tfg.magnesia_refractory_brick": "Resin-Bonded Magnesia Refractory Brick", + "material.tfg.nichromium_iodomethylate": "Nichromium Iodomethylate", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", @@ -1800,6 +1817,22 @@ "tfg.gui.cycle_duration": "Cycle duration: ", "tfg.emi.bacon_requirement": "Bacon - The Raw Pork must be smoked first", "tag.item.tfg.dried_fruit": "Dried Fruit", + "tfg.nuclear.average_heat.text": "Heat: From %s to %s", + "tfg.nuclear.skip": "", + "tfg.machine.aux_exchanger.heat.title": "=== Heat Information ===", + "tfg.machine.aux_exchanger.recipe_temperature": "Recipe Temperature: ", + "tfg.machine.aux_exchanger.recipe_temperature.desc": "Temperature required by this recipe", + "tfg.machine.aux_exchanger.battery_temperature": "Battery Temperature: ", + "tfg.machine.aux_exchanger.battery_temperature.desc": "Current temperature of the heat battery", + "tfg.machine.aux_exchanger.hu_consumed": "HU Consumed: ", + "tfg.machine.aux_exchanger.hu_consumed.desc": "Heat units consumed per recipe cycle", + "tfg.machine.aux_exchanger.total_hu": "Total HU Available: ", + "tfg.machine.aux_exchanger.total_hu.desc": "Total heat units stored in the heat battery", + "tfg.machine.aux_exchanger.speed_modifier": "Speed Modifier: ", + "tfg.machine.aux_exchanger.speed_modifier.desc": "Recipe speed based on battery temperature", + "tfg.machine.aux_exchanger.heat_unavailable": "Heat information unavailable", + "tfg.machine.aux_echanger.output.title": "=== Output ===", + "tfg.multiblock.turbine.obstructed": "Your turbine is obstructed, check under and inside the chimney that there is nothing blocking it", "tfc.jei.flint_knapping": "Flint Knapping", "tfc.jei.straw_knapping": "Straw Knapping", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Dyeing", @@ -2291,11 +2324,11 @@ "quests.extreme_voltage.reactor_components.desc.2": "As discussed earlier, running three &eThorium Rods&r will push your reactor’s heat to around &c420&r, just above the default limit. However, you can safely reach that threshold by improving your &6reactor insulation&r.&r\n\nAdding &e10 Framed Glacial Wool&r or &e20 Framed AES Insulation&r blocks inside the structure will raise your reactor’s Max Heat to &e420&r, allowing you to operate with three Thorium Rods without triggering cooldown mode.&r\n\nKeep in mind, though, that increasing the number of active rods will also accelerate their &adurability loss&r. This means each rod will produce less steam per tick on average, reducing its &aefficiency&r, but on the other hand, it will &bspeed up fission material production&r significantly.\n\nWhether you prefer &aefficiency&r or &bthroughput&r is entirely up to you - that’s the balancing act at the heart of mastering the &6Fission Reactor&r.", "quests.extreme_voltage.heat_exchanger.title": "Heat Exchanger", "quests.extreme_voltage.heat_exchanger.subtitle": "All that heat's gotta go somewhere!", - "quests.extreme_voltage.heat_exchanger.desc.1": "The &6Heat Exchanger&r is a critical component for the next step of your Fission Line - not only for cooling, but also for producing more &eHigh Pressure Steam&r, the steam that powers your Nuclear Turbine.\n\nIt features &bPerfect Overclocking&r and &bSubtick Processing&r. If these terms sound unfamiliar, we strongly recommend reviewing the &dGregTech Energy Chapter&r to fully understand how they affect performance.", + "quests.extreme_voltage.heat_exchanger.desc.1": "The &6Heat Exchanger&r is a critical component for the next step of your Fission Line - not only for cooling, but also for producing more &eHigh Pressure Steam&r, the steam that powers your Nuclear Turbine. We strongly advise you to use one for each reactor as they can have an hard time processing different recipes.\n\nIt features &bPerfect Overclocking&r and &bSubtick Processing&r. If these terms sound unfamiliar, we strongly recommend reviewing the &dGregTech Energy Chapter&r to fully understand how they affect performance.", "quests.extreme_voltage.heat_exchanger.desc.2": "Don’t hold back! Install a &516A EV Energy Hatch&r right from the start so you’ll never have to worry about speed or throughput limitations.\n\nWe also provide you with a &9Machine Controller&r to attach to your Heat Exchanger’s main controller. We’ve noticed that the machine can sometimes disable itself unexpectedly, so be sure to enable &ePrevent Power Failing&r. This will counter the GregTech mechanic that shuts down machines when they momentarily lose power.", "quests.extreme_voltage.refrigerant_pellet.title": "Refrigerant Pellets", "quests.extreme_voltage.refrigerant_pellet.subtitle": "A temporary solution to extreme temperatures", - "quests.extreme_voltage.refrigerant_pellet.desc": "The &dPlutonium Fuel Rod&r runs at extremely high temperatures - so high, in fact, that you’ll need to use &bRefrigerant Pellets&r inside your reactor to prevent it from going into cooldown mode.\n\nThese pellets are quite expensive to produce, but you should still be able to mass-produce them early on, or at least enough to keep your first few plutonium rods operational. You need approximatively &9256&r to run a full Plutonium Rod.\n\nLater on, if you don’t like constantly crafting these consumables, you’ll gain access to &6advanced reactor components&r. With those installed, your reactor will be able to safely reach up to &e600 Max Heat&r, greatly improving efficiency and stability.\n\nInvest in better internal parts early, to spend less time babysitting your power core.", + "quests.extreme_voltage.refrigerant_pellet.desc": "The &dPlutonium Fuel Rod&r runs at extremely high temperatures - so high, in fact, that you’ll need to use &bTerraFirmaGuard PA6&r inside your reactor to prevent it from going into cooldown mode.\n\nThese pellets are quite expensive to produce, but you should still be able to mass-produce them early on, or at least enough to keep your first few plutonium rods operational. You need approximatively &9256&r to run a full Plutonium Rod.\n\nLater on, if you don’t like constantly crafting these consumables, you’ll gain access to &6advanced reactor components&r. With those installed, your reactor will be able to safely reach up to &e600 Max Heat&r, greatly improving efficiency and stability.\n\nInvest in better internal parts early, to spend less time babysitting your power core.", "quests.extreme_voltage.important_info.title": "Before starting", "quests.extreme_voltage.important_info.subtitle": "Not an easy place to start", "quests.extreme_voltage.important_info.desc.1": "Before you start building your base on &cMars&r, here are a few important tips to help you settle in successfully.&r\n\nBefore crafting up an entire base to carry in your pocket, we always recommend having an exploration mission before you start setting down!", @@ -2310,16 +2343,17 @@ "quests.extreme_voltage.thorium_rod.desc.1": "Each &6Fuel Rod&r comes with its own set of properties including &adurability&r (how long it lasts in the reactor), &cheat generation&r (how much heat it produces), and even different &eproducts&r and &bsteam output levels&r. You can view all of this information directly in the &aEMI&r tabs for each rod.&r\n\nBefore diving into how the Fission Reactor functions, here are some key points to understand:&r", "quests.extreme_voltage.thorium_rod.desc.2": "• The &eHeat Percentage&r shown on a fuel rod translates to slightly less than double its value inside the reactor. For example, a &eThorium Rod&r with a &cHeat&r of 70%% will generate just under 140 heat when enough &bHeavy Water&r is pumped into your reactor. This heat increase is &aadditive&r, meaning that 2 Thorium Rods will raise your reactor’s total heat to around 280.&r", "quests.extreme_voltage.thorium_rod.desc.3": "• &aDurability&r decreases at the same base rate for all rods. However, the higher the reactor’s temperature, the faster the rods degrade. Because of this, even if a certain rod type has 4× the durability of another, it doesn’t necessarily mean it will last 4× longer, as &ctemperature directly impacts longevity&r.&r\n\nBalancing the amount of rods within the reactor will be your first challenge with Fission.", + "quests.extreme_voltage.thorium_rod.desc.4": "• &6Average Heat&r is simply the mean temperature of the reactor while the rod was inside it. Depending on this &laverage heat value&r, the depleted rod will yield &bdifferent output products&r.\n\nYou can browse &bEMI&r to preview the possible results and see exactly what each depleted rod produces at specific temperature ranges.", "quests.extreme_voltage.fission_reactor.title": "Fission Reactor", "quests.extreme_voltage.fission_reactor.subtitle": "Oh no, it's on cooldown again", "quests.extreme_voltage.fission_reactor.desc.1": "To start off, if you’re looking for a deeper dive into &6Fission Reactor&r mechanics including formulas, detailed calculations, and system behavior, check out the quest in the &aGregTech Energy&r chapter. It covers everything you’ll need if you want to get into the math behind the heat and efficiency systems.&r\n\nFor now, let’s focus on your very first &6Thorium Reactor&r. Its base &cMax Heat&r is &e400&r. As explained in the previous quest, running two Thorium Rods will push your internal heat to around &e280&r, which is perfectly safe. However, adding a third rod raises the total to about &c420 Heat&r, exceeding the limit and triggering &ccooldown mode&r.", - "quests.extreme_voltage.fission_reactor.desc.2": "Don’t worry, there’s no explosion, but your reactor will shut down and won’t restart until it fully cools back to 0 Heat. This will completely halt both your &aenergy production&r and your &afission product&r generation - a major setback.\n\nManaging how many rods are active will therefore be your first &6challenge&r and the main minigame of Fission.\n\nThere are multiple ways to approach this, and experimentation is part of the fun.\n\nOne way is by attaching a &6Redstone Port&r to your reactor, and using a &aWrench&r on it switches its monitoring mode between &erod count&r and &cheat level&r.\n\nFinally, note that all rods are stored inside the &6Fuel Holder&r. That means limiting the number of active rods isn’t as simple as having 2 rods in the input bus, &cyou’ll need to control what enters the Input Bus&r to fine-tune your reactor’s operation.", + "quests.extreme_voltage.fission_reactor.desc.2": "Don’t worry, there’s no explosion, but your reactor will shut down and won’t restart until it fully cools back to 0 Heat. This will completely halt both your &aenergy production&r and your &afission product&r generation - a major setback.\n\nAlso be aware that each time your reactor enters cooldown mode, every fuel rod inside will receive &c10 000 Heat&r, which can lead to extremely poor outputs or even disastrous losses. Be very cautious, as this is something you absolutely want to avoid.\n\nManaging how many rods are active will therefore be your first &6challenge&r and the main minigame of Fission.\n\nThere are multiple ways to approach this, and experimentation is part of the fun.\n\nOne way is by attaching a &6Redstone Port&r to your reactor, and using a &aWrench&r on it switches its monitoring mode between &erod count&r and &cheat level&r.\n\nFinally, note that all rods are stored inside the &6Fuel Holder&r. That means limiting the number of active rods isn’t as simple as having 2 rods in the input bus, &cyou’ll need to control what enters the Input Bus&r to fine-tune your reactor’s operation.", "quests.extreme_voltage.high_pressure_steam.title": "High Pressure Steam", "quests.extreme_voltage.high_pressure_steam.subtitle": "Better steam, bigger turbine", "quests.extreme_voltage.high_pressure_steam.desc": "&4Important Info&r: If the reactor doesn't have enough space to output High Pressure Steam, it will simply void.\n\nFor balancing (and pipe throughput) reasons, the &6Fission Reactor&r does not produce regular steam. Instead, it generates &bHigh Pressure Steam&r, which can only be used in a &6Nuclear Steam Turbine&r.\n\nAttempting to run it through a standard Steam Turbine will &cnot work&r.", "quests.extreme_voltage.ev_superconductor.title": "EV Superconductors", "quests.extreme_voltage.ev_superconductor.subtitle": "Bigger Amp ability", - "quests.extreme_voltage.ev_superconductor.desc": "Now that you've processed some &eUranium&r, you should check out the &5EV Superconductors&r.\n\nThese superconductors have higher amp capacity, helping you move energy efficiently across your base and ensuring your &6Nuclear Steam Turbines&r output reaches all your machines without loss.", + "quests.extreme_voltage.ev_superconductor.desc": "Now that you've processed some &eRadon&r, you should check out the &5EV Superconductors&r.\n\nThese superconductors have higher amp capacity, helping you move energy efficiently across your base and ensuring your &6Nuclear Steam Turbines&r output reaches all your machines without loss.", "quests.extreme_voltage.uraninite_dust.subtitle": "That's a lot of rods", "quests.extreme_voltage.uraninite_dust.desc": "To craft your &eUranium Fuel Rods&r, you’ll need a substantial amount of &eUraninite&r - around &c240 Dust&r per rod. Start mining it early to keep up with demand later.\n\nThe largest veins can be found on Mars, where some deposits reach &aimpressive sizes&r. Later in your progression, you’ll be able to produce Pitchblende and Uraninite Dust &ainfinitely&r using the &6Ostrum Linear Accelerator&r, but we’ll cover that in more detail in a future quest.", "quests.extreme_voltage.uranium_line.title": "The Uranium Line", @@ -2402,8 +2436,8 @@ "quests.extreme_voltage.radioactive_concoction.title": "Residual Radioactive Concoction", "quests.extreme_voltage.radioactive_concoction.subtitle": "Don't void this one!", "quests.extreme_voltage.radioactive_concoction.desc": "The &dResidual Radioactive Concoction&r is a very important byproduct of the Fission Line. Its main use is to produce infinite ores with the &bOstrum Linear Accelerator&r, but it is also required to unlock the &bGrowth Chamber&r.\n\nIf you want to build Fission Reactors outside of Mars, you will also need a continuous supply of it.", - "quests.extreme_voltage.ostrum_linear.subtitle": "Infinite but next level", - "quests.extreme_voltage.ostrum_linear.desc": "The &bOstrum Linear Accelerator&r allows you to create various materials using different products from the Fission Line. This multiblock supports a large number of &bInput Buses&r and &bInput Hatches&r, and since all of its recipes are quite fast, a single unit should be enough to cover all your needs.\n\nWe strongly recommend crafting some &eSpray Cans&r with different colors to organize your inputs and outputs. For example, if you color an Input Bus and an Input Hatch in &9blue&r, only those two will interact together, preventing recipe conflicts and ensuring smoother automation.", + "quests.extreme_voltage.ostrum_linear.subtitle": "It does a bit of everything", + "quests.extreme_voltage.ostrum_linear.desc": "The &5Ostrum Linear Accelerator&r allows you to create various materials using different products from the &cFission Line&r; this multiblock supports a large number of &aInput Buses&r and &aInput Hatches&r and can also be expanded vertically to increase its capacity.\n\nTo operate the &5Ostrum Linear Accelerator&r, it must be placed next to a &6Heat Battery&r, ensuring that the &cHeat Port&r from the &6Heat Battery&r is in direct contact with the &cHeat Input Hatch&r of the OLA; like the &6Heat Battery&r, it consumes &cHeat Units&r for every recipe and requires a minimum &eTemperature&r for specific recipes, and it is important to note that the higher the temperature compared to the required minimum, the faster the recipe will run.\n\nWe strongly recommend crafting &bSpray Cans&r in different colors to organize your inputs and outputs; for example, if you color an &aInput Bus&r and an &aInput Hatch&r in &9blue&r, only those two will interact with each other, preventing recipe conflicts and ensuring smoother automation.", "quests.extreme_voltage.pss.subtitle": "A glorified battery", "quests.extreme_voltage.pss.desc": "The &ePower Substation&r was moved from &1IV&r to &5EV&r so you can build it directly on Mars, where energy management can be quite challenging with Fission Power. It’s not mandatory, so feel free to skip it if you prefer.\n\nIf you want to learn more about how this multiblock works, check out its detailed entry in the &aEnergy Chapter&r.", "quests.extreme_voltage.liquid_air.title": "Earth Air", @@ -2508,6 +2542,20 @@ "quests.extreme_voltage.btx_loop.subtitle": "Getting back as much as you can", "quests.extreme_voltage.btx_loop.desc.1": "The last part of this chain consists in recycling your Used Catalyzer. The overall process is fairly straightforward, and the main challenge will be maintaining a continuous supply of &aReinforced Epoxy Resin Plates&r and &eGlue&r.\n\nIf you still have your &2tapping system&r in place, it should be more than sufficient to produce all the resin required to craft your Glue. Alternatively, using an &bExtractor&r on logs is also a perfectly viable option. This method is slightly more &cpower-hungry&r, but the choice is entirely up to you depending on your infrastructure.", "quests.extreme_voltage.btx_loop.desc.2": "A small remark regarding &9Diluted Hydrochloric Acid&r: it can be easily produced by reacting &bWater&r with &aChlorine&r. You could store your &dHypochlorous Acid&r, or &7Electrolyze&r it if you wish to recover &fhalf of your Chlorine&r.\n\nAs for &6Sulfuric Acid&r, you should already have access to an &ainfinite source of Sulfur&r through your &ePetrochemical Distillation&r setup. If this is not yet the case, we strongly advise you to address this as soon as possible. Alternatively, the &7Coal Tar&r obtained while producing &bReformate Gas&r can be reconverted into &2Hydrogen Sulfide&r and ultimately refined back into &6Sulfur&r.", + "quests.extreme_voltage.nichromium_iode.title": "Nichromium Iodomethylate", + "quests.extreme_voltage.nichromium_iode.subtitle": "Better heating conductivity", + "quests.extreme_voltage.nichromium_iode.desc": "This alloy will be required to craft your new &6RTM Coils&r; while the costs are not excessive, you will need to find the &cCrimsene&r and &9Warpane&r trees on &4Mars&r, and since you may need a large amount of &6RTM Coils&r and &bIodine&r, do not forget to set up a solid passive income using &asap&r.", + "quests.extreme_voltage.heat_battery.subtitle": "A better Heat Exchanger", + "quests.extreme_voltage.heat_battery.desc": "The &6Heat Battery&r is a multiblock capable of storing &cHeat&r from hot coolants coming directly from your &cFission Reactor&r, which can then be used either to heat other fluids or to be consumed in the &5Ostrum Linear Accelerator&r.\n\nThe mechanic is fairly simple: depending on the fluid being input, the &6Heat Battery&r can reach higher temperatures, and you can check how much temperature a fluid can provide by browsing &bEMI&r under the Heat Battery Import recipes tab; conversely, you can spend your &cHeat Units&r by warming fluids, and like the EBF, some recipes require a minimum temperature, for example, producing &bHigh Pressure Steam&r from &9Distilled Water&r requires the Heat Battery to be at least at &c1000°&r.\n\nFinally, just like the &cFission Reactor&r, you can add specific blocks (tag &7#components_hb&r) to increase both the maximum reachable temperature of your &6Heat Battery&r and how many &cHeat Units&r it can store.", + "quests.extreme_voltage.dense_ostrum_vapor.title": "Dense Ostrum Vapor", + "quests.extreme_voltage.dense_ostrum_vapor.subtitle": "Fission on Earth?", + "quests.extreme_voltage.dense_ostrum_vapor.desc": "The &6Dense Ostrum Vapor&r is required to craft &cT-Rod Fuel&r, which you will need to start &eFission&r for power generation; more uses will be added with each new update, so stay tuned.\n\nNote that you can also use it to get more Light Ostrum Vapor if you ever feel the need.", + "quests.extreme_voltage.ostrum_vapor.title": "Ostrum Vapor", + "quests.extreme_voltage.ostrum_vapor.subtitle": "We really need to chill", + "quests.extreme_voltage.ostrum_vapor.desc": "The first use of &6Ostrum Vapor&r is allowing you to craft &bTerrafirmaguard PA6&r, which you will need to run your &cPlutonium Reactor&r without losing all your &3Tritiated Water&r.\n\nLater, when you unlock &eFission Energy&r and the &aSmall Modular Turbine&r, &dPolyalkylene Lubricant&r becomes an extremely strong asset for producing more power in your isolated outposts.", + "quests.extreme_voltage.light_ostrum_vapor.title": "Lightweight Ostrum Vapor", + "quests.extreme_voltage.light_ostrum_vapor.subtitle": "Infinite ores?", + "quests.extreme_voltage.light_ostrum_vapor.desc": "With the help of &6Lightweight Ostrum Vapor&r, you can begin producing infinite ores, especially those required for the &cFission Line&r. There are three tiers of infinite ores:\n\n&eCircuit 1&r is not self-sufficient but can still be helpful if you are truly tired of mining.\n\n&eCircuit 2&r is &dThorium&r positive, meaning that simply by running your &cFission Line&r, you will produce more &dThorium&r than you consume.\n\n&eCircuit 3&r is the final and best tier, where you generate more resources than are required to produce the ores themselves; you become net positive in &dThorium&r and &aUraninite&r, allowing you to fully automate the &cFission Line&r on &4Mars&r for infinite resources, &bNano CPU&r, and everything needed to run &eFission Energy&r on &2Earth&r.", "quests.gregtech_energy": "GregTech Energy", "quests.gregtech_energy.subtitle": "So how does all of that work?", "quests.gregtech_energy.start.title": "Let's do some explaining", @@ -2596,14 +2644,17 @@ "quests.gregtech_energy.btx.desc": "Obtaining the &5EV Energy Hatches&r means you can finally get &eBTX Fuel&r (Benzene-Toluene-Xylene) production started. This fuel will last you for a very long time and remains competitive in a &6Large Turbine&r well into the late game. Even if it looks like a massive undertaking at first, rest assured that it will be well worth the effort.\n\nThis production line requires a large number of wood-based products. Sap becomes relevant again due to the need for &eGlue&r — you can either tap your trees passively or extract it directly from logs. You will also need to distill &eWood Tar&r in a &6Distillation Tower&r. Beyond that, make sure you can produce infinite amounts of &eEthanol&r, &eNether Quartz&r, &eSodium&r, &eAmmonia&r, &eLye&r, and &eReinforced Epoxy Resin Sheets&r.\n\nIf you want a more detailed breakdown of the BTX Fuel production chain, refer to the &5EV&r Chapter.", "quests.gregtech_energy.fission_rod.title": "Fission Fuels", "quests.gregtech_energy.fission_rod.subtitle": "Don't get me too hot", - "quests.gregtech_energy.fission_rod.desc.1": "The Earth Fission materials are NYI but may come sooner than later", - "quests.gregtech_energy.fission_rod.desc.2": "", - "quests.gregtech_energy.fission_rod.task": "", + "quests.gregtech_energy.fission_rod.desc.1": "To begin producing power on &2Earth&r, you will need to invest in an impressive setup on &4Mars&r to produce and process &cT-Rod Fuel&r; every time you craft a new &cT-Rod&r, you must use an &5OLA&r recipe, which is quite expensive, but the advantage is that the rods are fully recyclable after being depleted.\n\nAfter obtaining your first &cT-Rod&r, it is very important to decide which isotope you want to target.", + "quests.gregtech_energy.fission_rod.desc.2": "The &aAmericium Rod&r has extremely high durability but very low &cHeat&r, and it is the only rod that can be used in a &eSmall Fission Reactor&r; this incredibly potent rod is very difficult to obtain, as you will need to run your &cFission Reactor&r at an extremely low temperature to maximize americium output—refer to EMI to determine the heat range you should target.\n\nThe &bNeptunium Rod&r is the standard option, offering good power output and good durability; it can produce up to &1360k EU/t&r at &1IV&r but requires a very extensive infrastructure, and with one &cFission Reactor&r, one &6Heat Battery&r, and one &9Cooling Tower&r, you should be able to generate a massive amount of steam in a perfectly looped system.", + "quests.gregtech_energy.fission_rod.desc.3": "Be very cautious, however: if your &cT-Rods&r are operated at too high a temperature, you will lose part of the &8TBU Waste&r and will not be able to fully recycle the rod; always be extremely careful when running a &cT-Rod&r, as losing them is something you absolutely want to avoid.\n\nWhen targeting specific temperatures to increase isotope yield, remember that you can mix multiple rods together, and as always, refer to EMI to see which rods use which coolants.", "quests.gregtech_energy.smr.title": "Small Modular Reactor", "quests.gregtech_energy.smr.subtitle": "Finally Power for these far outposts", - "quests.gregtech_energy.smr.desc.1": "The Small Modular Reactor is NYI but may come sooner than later", - "quests.gregtech_energy.smr.desc.2": "", - "quests.gregtech_energy.smr.task": "", + "quests.gregtech_energy.smr.desc.1": "If you manage to obtain two &aAmericium-241 Rods&r, you can start looking into the &eSmall Fission Reactor&r and the &aSmall Modular Turbine&r; this generator setup is ideal for long-term, sustainable power generation with no required interaction, making it perfect for isolated outposts or as backup power for your base if everything goes wrong.", + "quests.gregtech_energy.smr.desc.2": "In the &eSmall Fission Reactor&r, you must install two &bFuel Holders&r, as this is the minimum required to produce power, and then craft enough &3TiCl2 Doped Supercritical CO2&r, which is the only coolant this reactor can use; the good news is that the system will be perfectly looped.\n\nTo set up the &aSmall Modular Turbine&r, you must use its dedicated &aSMT Input Hatches&r, as no other input hatches will function; the modular aspect comes from the requirement to use a &eLubricant&r to run the generator, either the &bGregTech&r one or the version produced with the &5OLA&r, which doubles efficiency, and you can further enhance output by adding a &dBooster&r—currently &bOzone&r or &61,1-Cyclohexanediyl Dihydroperoxide&r—to increase the amount of &eEU&r produced.", + "quests.gregtech_energy.smr.desc.3": "While this setup may seem intimidating at first, the benefit of having an extremely long-lasting and reliable power source anywhere in the world is significant, making it well suited for isolated harvesters, miners, or even a fully independent base.", + "quests.gregtech_energy.cooling_tower.subtitle": "Finally Fission Power on Earth", + "quests.gregtech_energy.cooling_tower.desc.1": "The most traditional way to generate power using &eFission Energy&r is through a combination of a &6Heat Battery&r and a &9Cooling Tower&r; the amount of &9Distilled Water&r required is so high that you should not expect to skip the tower. The initial setup usually consists of a &cFission Reactor&r running &bNeptunium Rods&r (you may also add some &aAmericium Rods&r) using &eBoron Coolant&r, which is then cooled through the &6Heat Battery&r.", + "quests.gregtech_energy.cooling_tower.desc.2": "The &cHeat Units&r generated this way should be used to produce &bHigh Pressure Steam&r from &9Distilled Water&r; this steam can then be sent to &eNuclear Turbines&r, which will output &aWarm Water&r that is cooled back into &9Distilled Water&r using the &9Cooling Tower&r. Be prepared to allocate a large amount of space for this setup.\n\nAs a helpful tip, remember that the &9Cooling Tower&r requires a circuit to be selected to operate, and the higher the circuit, the higher the flow rate it can handle.", "quests.gregtech_energy.gasoline.title": "Gasoline", "quests.gregtech_energy.gasoline.subtitle": "The middle child", "quests.gregtech_energy.gasoline.desc": "&aGasoline&r is a really strong combustion fuel that you unlock at &6HV&r, but realistically only begin to make when you build your first &6Distillation Towers&r. &7Toluene&r is easily made from &7Wood Tar&r or &7Heavy Fuel&r, while everything else you need is &dRefinery Gas&r, &eNaphtha&r, and a mix of &3Oxygen&r, &bHydrogen&r, and &1Carbon&r.\n\nIt's strong, quite easy to make, and even better, it can be upgraded into &cHigh Octane Gasoline&r.", @@ -2903,6 +2954,8 @@ "quests.high_voltage.pisciculture.subtitle": "A multiblock for pollock.", "quests.high_voltage.pisciculture.desc.1": "The &bPisciculture Fishery&r is not only your one stop shop for infinite fish, but also a supporting multiblock in the &3Aquaponics Loop&r. A circular loop of recipes between the Pisciculture fishery and the &2Electric Greenhouse&r which boosts each others yields and if done properly--Will require no external inputs.", "quests.high_voltage.pisciculture.desc.2": "&5Note:&r The structure can be filled with any liquid with the fluid tag &o&7#tfg:pisciculture_fishery_fluids&r&r. But, be aware that some fluids will freeze in space and that some recipes may not run if the multiblock controller is not in an &noxygenated environment&r.", + "quests.high_voltage.multi_structure_terminal.subtitle": "Simply better", + "quests.high_voltage.multi_structure_terminal.desc": "The &4Multi-Structure Manager&r is an advanced terminal and a direct upgrade from the GregTech one. You can use it the same way to &ebuild a multiblock&r by right-clicking a controller, with the &dadded options&r to choose the tier (size of the multiblock or coils used) and whether to place Input/Output ports.\n\nIt can also scan nearby multiblocks to upgrade their hatches or coils, and if linked to your &bME Network&r, it can directly use your ME Storage to upgrade the ports.", "quests.low_voltage": "&7LV&r - Low Voltage", "quests.low_voltage.subtitle": "Tame electricity and begin your GregTech journey", "quests.low_voltage.lv_machine_hull.title": "Your second machine hull", @@ -3454,6 +3507,9 @@ "quests.medium_voltage.stainless_greate.title": "Stainless Steel-tier Greate", "quests.medium_voltage.stainless_greate.subtitle": "High Stress", "quests.medium_voltage.stainless_greate.desc": "This quest is just here to let you know that Greate has another upgrade at this point.\n\nYou may find the next tier of Crushing Wheels useful, as they can give the full amount of byproducts, just like the HV Macerator, but also process multiple items at the same time!", + "quests.medium_voltage.terminal_dismantler.title": "Dismantler Terminal", + "quests.medium_voltage.terminal_dismantler.subtitle": "When your wrench isn't fast enough", + "quests.medium_voltage.terminal_dismantler.desc": "The &8Dismantler&r is an amazing tool, allowing you to dismantle your multiblocks instantly by simply shift-right-clicking the controller, though be wary that the Multiblock must be fully formed to be completely dismantled.", "quests.metal_age": "Metallurgy Age", "quests.metal_age.subtitle": "Your First Technological Advancements.", "quests.metal_age.weld_bronze_ingots.title": "Welding Bronze", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index e96a83971..98d505a81 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1801,6 +1801,7 @@ "tfg.tooltip.hotornot_cold_equipment": "§7提供对所有§b低温§7物品、流体和管道的防护。§r", "tfg.tooltip.hotornot_floating_equipment": "§7提供对所有§e比空气轻§7的气体的防护。§r", "tfg.tooltip.polycaprolactam": "也称为尼龙", + "tfg.tooltip.vessel_warning": "§c加热过满的小缸将销毁所有溢出的金属,并可能毁掉你正在冶炼的合金!§r", "tfg.tooltip.machine.one_energy_hatch": "只允许有且仅有§61个§f能源仓。", "tfg.tooltip.machine.two_energy_hatches": "允许有最多§62个§r能源仓。", "tfg.tooltip.machine.subtick": "这台机器支持§2子刻机制§r!", @@ -3302,7 +3303,7 @@ "quests.medium_voltage.mv_component.desc": "&bMV&r阶段所需组件清单如下。为减轻负担,建议对这些零件进行自动化或&d批量合成&r,尤其是&a马达&r。\n\n熟悉&a发射器&r吗?本阶段的发射器配方需要&d无瑕的绿宝石&r,目前只能通过&3筛选机&r获取。\n\n若用作覆盖版,传送带、泵与机械臂均为&7LV&r版本的实打实升级。", "quests.medium_voltage.electrolyzer.title": "MV电解机", "quests.medium_voltage.electrolyzer.subtitle": "我们成功进入了MV时代,不过...", - "quests.medium_voltage.electrolyzer.desc.1": "&b这个设备看起来应该很熟悉&r——你之前已经见过它了。\n&2我们强烈建议你尽快制作它&r,因为它将解锁大量新的&7铝&r来源。\n\n在此之前,你唯一获取&7铝粉&r的方法是&9电解蓝宝石&r。\n但随着&bMV&r电解机的出现,资源的利用将开启全新领域。", + "quests.medium_voltage.electrolyzer.desc.1": "&b这个设备看起来应该很熟悉&r——你之前已经见过它了。\n&2我们强烈建议你尽快制作它&r,因为它将解锁大量新的&7铝&r来源。\n\n在此之前,你获取&7铝粉&r的方法仅限于&9电解蓝宝石&r和矿石加工的副产物。。\n但随着&bMV&r电解机的出现,资源的利用将开启全新领域。", "quests.medium_voltage.electrolyzer.desc.2": "&6以下是一些需要寻找的关键材料:&r\n&9红宝石&r – 同时提供&7铝&r和&5铬&r。\n&9镁铝榴石&r – 通常与蓝宝石矿脉一起找到。\n&9锂云母&r – 提供大量有价值的副产物选择。\n&9方钠石&r – 附带&3氯&r和&b硅&r。\n&9黄玉&r – 以固体形式产出&3氟&r和&7铝&r。\n\n&2而这仅仅是个开始!&r使用&aEMI&r探索更多选项——我们保证,有很多东西等着你去发现。\n\n&c哦,顺便说一下:&r电解黏土现在被锁定在&6HV&r之后。\n&7我们并不抱歉。&r", "quests.medium_voltage.mv_extruder.title": "高级压模器", "quests.medium_voltage.mv_extruder.subtitle": "你将进行最重大的升级", diff --git a/kubejs/assets/wan_ancient_beasts/lang/en_us.json b/kubejs/assets/wan_ancient_beasts/lang/en_us.json index 494713798..41707b3ba 100644 --- a/kubejs/assets/wan_ancient_beasts/lang/en_us.json +++ b/kubejs/assets/wan_ancient_beasts/lang/en_us.json @@ -5,5 +5,21 @@ "item.wan_ancient_beasts.raw_ancient_meat": "Raw Eater Drumstick", "item.wan_ancient_beasts.cooked_ancient_meat": "Cooked Eater Drumstick", "config.jade.plugin_tfc.surfer": "Surfer", - "config.jade.plugin_tfc.soarer": "Soarer" + "config.jade.plugin_tfc.soarer": "Soarer", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_black": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_gray": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_gray": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_white": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_pink": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_magenta": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_purple": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_blue": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_blue": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_cyan": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_green": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_lime": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_yellow": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_orange": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_red": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_brown": "Dyeing" } \ No newline at end of file diff --git a/kubejs/assets/wan_ancient_beasts/lang/ja_jp.json b/kubejs/assets/wan_ancient_beasts/lang/ja_jp.json index 0da551aa7..1fe9f4d80 100644 --- a/kubejs/assets/wan_ancient_beasts/lang/ja_jp.json +++ b/kubejs/assets/wan_ancient_beasts/lang/ja_jp.json @@ -3,5 +3,21 @@ "block.wan_ancient_beasts.quick_red_sand": "赤鉄質の流砂", "item.wan_ancient_beasts.toxlacanth": "生のトキシーラカンス", "item.wan_ancient_beasts.raw_ancient_meat": "生のイーターの骨付き肉", - "item.wan_ancient_beasts.cooked_ancient_meat": "焼いたイーターの骨付き肉" + "item.wan_ancient_beasts.cooked_ancient_meat": "焼いたイーターの骨付き肉", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_black": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_gray": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_gray": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_white": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_pink": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_magenta": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_purple": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_blue": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_blue": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_cyan": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_green": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_lime": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_yellow": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_orange": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_red": "Dyeing", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_brown": "Dyeing" } \ No newline at end of file diff --git a/kubejs/assets/wan_ancient_beasts/lang/ru_ru.json b/kubejs/assets/wan_ancient_beasts/lang/ru_ru.json index 6da5a0cc8..297d4d858 100644 --- a/kubejs/assets/wan_ancient_beasts/lang/ru_ru.json +++ b/kubejs/assets/wan_ancient_beasts/lang/ru_ru.json @@ -3,5 +3,21 @@ "block.wan_ancient_beasts.quick_red_sand": "Гематитовый зыбучий песок", "item.wan_ancient_beasts.toxlacanth": "Сырой токслакант", "item.wan_ancient_beasts.raw_ancient_meat": "Сырая ножка пожирателя", - "item.wan_ancient_beasts.cooked_ancient_meat": "Приготовленная ножка пожирателя" + "item.wan_ancient_beasts.cooked_ancient_meat": "Приготовленная ножка пожирателя", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_black": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_gray": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_gray": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_white": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_pink": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_magenta": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_purple": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_blue": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_blue": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_cyan": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_green": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_lime": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_yellow": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_orange": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_red": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_brown": "Окрашивание" } \ No newline at end of file diff --git a/kubejs/assets/wan_ancient_beasts/lang/uk_ua.json b/kubejs/assets/wan_ancient_beasts/lang/uk_ua.json index 63240b7d4..00ebadd53 100644 --- a/kubejs/assets/wan_ancient_beasts/lang/uk_ua.json +++ b/kubejs/assets/wan_ancient_beasts/lang/uk_ua.json @@ -3,5 +3,21 @@ "block.wan_ancient_beasts.quick_red_sand": "Гематитовий Пливун", "item.wan_ancient_beasts.toxlacanth": "Сирий токсакант", "item.wan_ancient_beasts.raw_ancient_meat": "Сире стегно пожирача", - "item.wan_ancient_beasts.cooked_ancient_meat": "Смажене стегно пожирача" + "item.wan_ancient_beasts.cooked_ancient_meat": "Смажене стегно пожирача", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_black": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_gray": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_gray": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_white": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_pink": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_magenta": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_purple": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_blue": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_blue": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_cyan": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_green": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_lime": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_yellow": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_orange": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_red": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_brown": "Окрашивание" } \ No newline at end of file diff --git a/kubejs/assets/wan_ancient_beasts/lang/zh_cn.json b/kubejs/assets/wan_ancient_beasts/lang/zh_cn.json index ad0befad8..19078bae3 100644 --- a/kubejs/assets/wan_ancient_beasts/lang/zh_cn.json +++ b/kubejs/assets/wan_ancient_beasts/lang/zh_cn.json @@ -5,5 +5,21 @@ "item.wan_ancient_beasts.raw_ancient_meat": "生噬颚兽腿肉", "item.wan_ancient_beasts.cooked_ancient_meat": "熟噬颚兽腿肉", "config.jade.plugin_tfc.surfer": "破浪兽", - "config.jade.plugin_tfc.soarer": "翱翔鸟" + "config.jade.plugin_tfc.soarer": "翱翔鸟", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_black": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_gray": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_gray": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_white": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_pink": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_magenta": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_purple": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_blue": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_blue": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_cyan": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_green": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_lime": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_yellow": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_orange": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_red": "染色", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_brown": "染色" } \ No newline at end of file From 41bfc7397c891a7325c2595b15ca274ff5adafd8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 18:02:34 +0000 Subject: [PATCH 308/474] update veins --- .../entries/tfg_ores/earth_vein_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 2 +- .../earth/vein/normal_graphite.json | 133 ------------------ 8 files changed, 7 insertions(+), 140 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json index f23822ceb..4389eeb16 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/earth_vein_index.json @@ -1629,7 +1629,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/80 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — -16$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/80 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — -16$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "normal_graphite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_vein_index.json index f23822ceb..4389eeb16 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_vein_index.json @@ -1629,7 +1629,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/80 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — -16$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/80 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — -16$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "normal_graphite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json index f23822ceb..4389eeb16 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json @@ -1629,7 +1629,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/80 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — -16$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Chalk, Chert, Claystone, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Gneiss, Granite, Limestone, Marble, Phyllite, Quartzite, Rhyolite, Schist, Shale, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/80 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — -16$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 16$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Rhyolite, Schist, Slate", "title": "Graphite & Diamond", "type": "patchouli:text", "anchor": "normal_graphite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_vein_index.json index fdef0abf8..3f3723398 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_vein_index.json @@ -1949,7 +1949,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/80 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Tamanho$(): 16$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Argilito, Basalto, Calcário, Cherte, Conglomerado, Dacito, Diorito, Dolomito, Filito, Folhelho, Gabro, Giz, Gnaisse, Granito, Mármore, Quartzito, Riolito, Xisto", + "text": "$(thing)Raridade$(): 1/80 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Tamanho$(): 16$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Ardósia, Basalto, Dacito, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Riolito, Xisto", "title": "Grafite e Diamante", "type": "patchouli:text", "anchor": "normal_graphite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json index f21d79ff6..3729f5313 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json @@ -1190,7 +1190,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/80 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -64 — -16$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 16$(br)$(thing)Высота$(): 6$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/80 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -64 — -16$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 16$(br)$(thing)Высота$(): 6$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Кварцит, Мрамор, Риолит, Филлит, Шиферный сланец", "title": "Графит и Алмаз", "type": "patchouli:text", "anchor": "normal_graphite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json index 2f51d20f8..95d366a41 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json @@ -1217,7 +1217,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/80 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Розмір$(): 16$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Аспідний сланець, Базальт, Вапняк, Габро, Глинистий сланець, Гнейс, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Ріоліт, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/80 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — -16$(br)$(thing)Розмір$(): 16$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Аспідний сланець, Базальт, Габро, Гнейс, Граніт, Дацит, Діорит, Кварцит, Мармур, Ріоліт, Філіт, Шиферний сланець", "title": "Графіт і Діамант", "type": "patchouli:text", "anchor": "normal_graphite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json index dea185666..60a264324 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_vein_index.json @@ -863,7 +863,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/80 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — -16$(br)$(thing)尺寸$(): 16$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 燧石, 片岩, 片麻岩, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 1/80 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — -16$(br)$(thing)尺寸$(): 16$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 片岩, 片麻岩, 玄武岩, 石英岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", "title": "石墨, 钻石", "type": "patchouli:text", "anchor": "normal_graphite" diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_graphite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_graphite.json index 1b1f7a1a1..7d6fbd458 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_graphite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_graphite.json @@ -257,139 +257,6 @@ "weight": 30 } ] - }, - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_graphite_ore", - "weight": 45 - }, - { - "block": "gtceu:shale_diamond_ore", - "weight": 25 - }, - { - "block": "gtceu:shale_coal_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_graphite_ore", - "weight": 45 - }, - { - "block": "gtceu:claystone_diamond_ore", - "weight": 25 - }, - { - "block": "gtceu:claystone_coal_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_graphite_ore", - "weight": 45 - }, - { - "block": "gtceu:limestone_diamond_ore", - "weight": 25 - }, - { - "block": "gtceu:limestone_coal_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_graphite_ore", - "weight": 45 - }, - { - "block": "gtceu:conglomerate_diamond_ore", - "weight": 25 - }, - { - "block": "gtceu:conglomerate_coal_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_graphite_ore", - "weight": 45 - }, - { - "block": "gtceu:dolomite_diamond_ore", - "weight": 25 - }, - { - "block": "gtceu:dolomite_coal_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_graphite_ore", - "weight": 45 - }, - { - "block": "gtceu:chert_diamond_ore", - "weight": 25 - }, - { - "block": "gtceu:chert_coal_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_graphite_ore", - "weight": 45 - }, - { - "block": "gtceu:chalk_diamond_ore", - "weight": 25 - }, - { - "block": "gtceu:chalk_coal_ore", - "weight": 30 - } - ] } ], "indicator": { From d8bebc627c6065a69b0c532825a018bd18b47859 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 18:04:33 +0000 Subject: [PATCH 309/474] rename mars food tags --- kubejs/server_scripts/tfg/mars/tags.mars.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js index 68f49594c..3d554382d 100644 --- a/kubejs/server_scripts/tfg/mars/tags.mars.js +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -28,14 +28,14 @@ function registerTFGMarsItemTags(event) { event.add('forge:eggs', '#tfg:martian_eggs') event.add('firmalife:foods/raw_eggs', '#tfg:martian_eggs') - event.add('tfg:martian_animal_foods', 'betterend:amber_root_product') - event.add('tfg:martian_animal_foods', 'betterend:blossom_berry_product') - event.add('tfg:martian_animal_foods', 'betterend:chorus_mushroom_product') - event.add('tfg:martian_animal_foods', 'betterend:shadow_berry_product') - event.add('tfg:martian_animal_foods', 'betterend:bolux_mushroom_product') - event.add('tfg:martian_animal_foods', 'betterend:cave_pumpkin_chunks') + event.add('tfg:martian_herbivore_foods', 'betterend:amber_root_product') + event.add('tfg:martian_herbivore_foods', 'betterend:blossom_berry_product') + event.add('tfg:martian_herbivore_foods', 'betterend:chorus_mushroom_product') + event.add('tfg:martian_herbivore_foods', 'betterend:shadow_berry_product') + event.add('tfg:martian_herbivore_foods', 'betterend:bolux_mushroom_product') + event.add('tfg:martian_herbivore_foods', 'betterend:cave_pumpkin_chunks') - event.add('tfg:martian_meat_foods', '#firmalife:foods/raw_fish') + event.add('tfg:martian_piscivore_foods', '#firmalife:foods/raw_fish') event.remove('minecraft:wool', 'ad_astra:glacian_fur') From 3b3ae9c4f0b75bb250cf323dff051f85b19b453e Mon Sep 17 00:00:00 2001 From: TomPlop Date: Sun, 1 Feb 2026 13:18:26 -0500 Subject: [PATCH 310/474] Oupsi Oupsi (#2937) Signed-off-by: TomPlop --- .../tfg/recipes.miscellaneous.js | 47 ------------------- 1 file changed, 47 deletions(-) diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index f80d3b1b6..ad5bc65a4 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -177,52 +177,5 @@ function registerTFGMiscellaneousRecipes(event) { .duration(5*20) .EUt(GTValues.VA[GTValues.LV]) .addMaterialInfo(true); - - // Gregtech CEu Terminals Integration - - //event.remove({ id : 'gtceuterminal:dismantler' }) - event.shaped('1x gtceuterminal:dismantler', [ - 'ABA', - 'CDC', - 'FEF' - ], { - A: 'gtceu:mv_sensor', - B: 'gtceu:mv_emitter', - C: '#gtceu:circuits/mv', - D: 'gtceu:computer_monitor_cover', - E: 'gtceu:mv_voltage_coil', - F: '#forge:plates/aluminium' - }).id(`tfg:shaped/dismantler`) - - event.remove({ id : 'gtceuterminal:multi_structure_manager' }) - event.shaped('1x gtceuterminal:multi_structure_manager', [ - 'ABA', - 'CDC', - 'FEF' - ], { - A: 'gtceu:hv_sensor', - B: 'gtceu:hv_emitter', - C: '#gtceu:circuits/hv', - D: 'gtceu:terminal', - E: '#gtceu:batteries/hv', - F: '#forge:plates/stainless_steel' - }).id(`tfg:shaped/multi_structure_manager`) - - event.remove({ id : 'gtceuterminal:schematic_interface' }) - /* Broken for now as it can duplicate resources in the I/O Ports - event.shaped('1x gtceuterminal:schematic_interface', [ - 'ABA', - 'CDC', - 'FEF' - ], { - A: 'gtceu:iv_sensor', - B: 'gtceu:iv_emitter', - C: '#gtceu:circuits/iv', - D: 'gtceu:terminal', - E: '#gtceu:batteries/iv', - F: '#forge:plates/tungsten_steel' - }).id(`tfg:shaped/schematic_interface`) - */ - } From 5872199c7a9f219112c00c035c6f64eca4c0c9b7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 18:25:35 +0000 Subject: [PATCH 311/474] emi tabs --- kubejs/assets/emi/category/properties/ae2_condenser.json | 2 +- kubejs/assets/emi/category/properties/ae2_p2p_attunement.json | 2 +- kubejs/assets/emi/category/properties/create_draining.json | 2 +- kubejs/assets/emi/category/properties/create_spout_filling.json | 2 +- .../assets/emi/category/properties/createaddition_rolling.json | 2 +- .../assets/emi/category/properties/deafission_component_hb.json | 1 + .../emi/category/properties/diggerhelmet_helmet_repair.json | 2 +- .../category/properties/domum_ornamentum_architects_cutter.json | 2 +- kubejs/assets/emi/category/properties/emi_info.json | 2 +- kubejs/assets/emi/category/properties/emi_tag.json | 2 +- .../emi/category/properties/exposure_photograph_printing.json | 2 +- .../emi/category/properties/exposure_photograph_stacking.json | 2 +- .../emi/category/properties/framedblocks_framing_saw.json | 2 +- .../emi/category/properties/greate_automatic_packing.json | 2 +- .../assets/emi/category/properties/greate_automatic_shaped.json | 2 +- .../emi/category/properties/greate_automatic_shapeless.json | 2 +- kubejs/assets/emi/category/properties/greate_block_cutting.json | 2 +- kubejs/assets/emi/category/properties/greate_crushing.json | 2 +- kubejs/assets/emi/category/properties/greate_fan_washing.json | 2 +- kubejs/assets/emi/category/properties/greate_milling.json | 2 +- kubejs/assets/emi/category/properties/greate_mixing.json | 2 +- kubejs/assets/emi/category/properties/greate_pressing.json | 2 +- kubejs/assets/emi/category/properties/greate_sawing.json | 2 +- kubejs/assets/emi/category/properties/gtceu_air_scrubber.json | 2 +- .../emi/category/properties/gtceu_alloy_blast_smelter.json | 2 +- kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json | 2 +- .../emi/category/properties/gtceu_aqueous_accumulator.json | 2 +- kubejs/assets/emi/category/properties/gtceu_arc_furnace.json | 2 +- .../emi/category/properties/gtceu_arc_furnace_recycling.json | 2 +- kubejs/assets/emi/category/properties/gtceu_assembler.json | 2 +- kubejs/assets/emi/category/properties/gtceu_assembly_line.json | 2 +- kubejs/assets/emi/category/properties/gtceu_autoclave.json | 2 +- kubejs/assets/emi/category/properties/gtceu_bender.json | 2 +- kubejs/assets/emi/category/properties/gtceu_bioreactor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_brewery.json | 2 +- kubejs/assets/emi/category/properties/gtceu_canner.json | 2 +- kubejs/assets/emi/category/properties/gtceu_centrifuge.json | 2 +- kubejs/assets/emi/category/properties/gtceu_chem_dyes.json | 2 +- kubejs/assets/emi/category/properties/gtceu_chemical_bath.json | 2 +- .../assets/emi/category/properties/gtceu_chemical_reactor.json | 2 +- .../assets/emi/category/properties/gtceu_circuit_assembler.json | 2 +- .../emi/category/properties/gtceu_coal_liquefaction_tower.json | 2 +- kubejs/assets/emi/category/properties/gtceu_compressor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_cracker.json | 2 +- kubejs/assets/emi/category/properties/gtceu_cutter.json | 2 +- .../emi/category/properties/gtceu_distillation_tower.json | 2 +- kubejs/assets/emi/category/properties/gtceu_distillery.json | 2 +- .../emi/category/properties/gtceu_electric_blast_furnace.json | 2 +- kubejs/assets/emi/category/properties/gtceu_electrolyzer.json | 2 +- .../category/properties/gtceu_electromagnetic_separator.json | 2 +- .../assets/emi/category/properties/gtceu_evaporation_tower.json | 2 +- kubejs/assets/emi/category/properties/gtceu_extractor.json | 2 +- .../emi/category/properties/gtceu_extractor_recycling.json | 2 +- kubejs/assets/emi/category/properties/gtceu_extruder.json | 2 +- kubejs/assets/emi/category/properties/gtceu_fermenter.json | 2 +- .../assets/emi/category/properties/gtceu_fission_reactor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_fluid_heater.json | 2 +- .../assets/emi/category/properties/gtceu_fluid_solidifier.json | 2 +- kubejs/assets/emi/category/properties/gtceu_forge_hammer.json | 2 +- kubejs/assets/emi/category/properties/gtceu_forming_press.json | 2 +- kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_gas_collector.json | 2 +- .../assets/emi/category/properties/gtceu_gas_pressurizer.json | 2 +- kubejs/assets/emi/category/properties/gtceu_greenhouse.json | 2 +- kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json | 2 +- .../emi/category/properties/gtceu_hydroponics_facility.json | 2 +- .../emi/category/properties/gtceu_implosion_compressor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ingot_molding.json | 2 +- .../emi/category/properties/gtceu_large_chemical_reactor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_laser_engraver.json | 2 +- kubejs/assets/emi/category/properties/gtceu_lathe.json | 2 +- kubejs/assets/emi/category/properties/gtceu_macerator.json | 2 +- .../emi/category/properties/gtceu_macerator_recycling.json | 2 +- kubejs/assets/emi/category/properties/gtceu_mixer.json | 2 +- .../emi/category/properties/gtceu_moon_dust_harvester.json | 2 +- .../emi/category/properties/gtceu_nuclear_fuel_factory.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ore_bathing.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ore_crushing.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ore_forging.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ore_washer.json | 2 +- .../assets/emi/category/properties/gtceu_ostrum_harvester.json | 2 +- .../category/properties/gtceu_ostrum_linear_accelerator.json | 2 +- kubejs/assets/emi/category/properties/gtceu_packer.json | 2 +- .../emi/category/properties/gtceu_pisciculture_fishery.json | 2 +- .../assets/emi/category/properties/gtceu_plasma_generator.json | 2 +- kubejs/assets/emi/category/properties/gtceu_polarizer.json | 2 +- .../emi/category/properties/gtceu_programmed_circuit.json | 2 +- kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json | 2 +- .../assets/emi/category/properties/gtceu_research_station.json | 2 +- kubejs/assets/emi/category/properties/gtceu_rock_breaker.json | 2 +- kubejs/assets/emi/category/properties/gtceu_scanner.json | 2 +- kubejs/assets/emi/category/properties/gtceu_sifter.json | 2 +- kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json | 2 +- .../emi/category/properties/gtceu_thermal_centrifuge.json | 2 +- kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json | 2 +- kubejs/assets/emi/category/properties/gtceu_wire_coating.json | 2 +- kubejs/assets/emi/category/properties/gtceu_wiremill.json | 2 +- kubejs/assets/emi/category/properties/minecraft_smelting.json | 2 +- kubejs/assets/emi/category/properties/minecraft_smithing.json | 2 +- .../assets/emi/category/properties/minecraft_stonecutting.json | 2 +- .../assets/emi/category/properties/tacz_attachment_query.json | 2 +- .../emi/category/properties/taczammoquery_ammo_query.json | 2 +- .../category/properties/vintageimprovements_centrifugation.json | 2 +- .../emi/category/properties/vintageimprovements_coiling.json | 2 +- .../emi/category/properties/vintageimprovements_curving.json | 2 +- .../category/properties/vintageimprovements_laser_cutting.json | 2 +- .../emi/category/properties/vintageimprovements_polishing.json | 2 +- .../category/properties/vintageimprovements_pressurizing.json | 2 +- .../category/properties/vintageimprovements_vacuumizing.json | 2 +- .../emi/category/properties/vintageimprovements_vibrating.json | 2 +- 110 files changed, 110 insertions(+), 109 deletions(-) create mode 100644 kubejs/assets/emi/category/properties/deafission_component_hb.json diff --git a/kubejs/assets/emi/category/properties/ae2_condenser.json b/kubejs/assets/emi/category/properties/ae2_condenser.json index 6b95888a8..3c6f19748 100644 --- a/kubejs/assets/emi/category/properties/ae2_condenser.json +++ b/kubejs/assets/emi/category/properties/ae2_condenser.json @@ -1 +1 @@ -{"ae2:condenser":{"order":159}} \ No newline at end of file +{"ae2:condenser":{"order":160}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json b/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json index 067e17ad4..0adebe4fe 100644 --- a/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json +++ b/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json @@ -1 +1 @@ -{"ae2:p2p_attunement":{"order":171}} \ No newline at end of file +{"ae2:p2p_attunement":{"order":172}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_draining.json b/kubejs/assets/emi/category/properties/create_draining.json index 89073cb93..9d95ee42b 100644 --- a/kubejs/assets/emi/category/properties/create_draining.json +++ b/kubejs/assets/emi/category/properties/create_draining.json @@ -1 +1 @@ -{"create:draining":{"order":174}} \ No newline at end of file +{"create:draining":{"order":175}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_spout_filling.json b/kubejs/assets/emi/category/properties/create_spout_filling.json index 267530a67..990983baa 100644 --- a/kubejs/assets/emi/category/properties/create_spout_filling.json +++ b/kubejs/assets/emi/category/properties/create_spout_filling.json @@ -1 +1 @@ -{"create:spout_filling":{"order":175}} \ No newline at end of file +{"create:spout_filling":{"order":176}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/createaddition_rolling.json b/kubejs/assets/emi/category/properties/createaddition_rolling.json index ff2e73280..8c84042d2 100644 --- a/kubejs/assets/emi/category/properties/createaddition_rolling.json +++ b/kubejs/assets/emi/category/properties/createaddition_rolling.json @@ -1 +1 @@ -{"createaddition:rolling":{"order":82}} \ No newline at end of file +{"createaddition:rolling":{"order":83}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_component_hb.json b/kubejs/assets/emi/category/properties/deafission_component_hb.json new file mode 100644 index 000000000..3c97bda2e --- /dev/null +++ b/kubejs/assets/emi/category/properties/deafission_component_hb.json @@ -0,0 +1 @@ +{"deafission:component_hb":{"order":73}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json b/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json index 3c15a19a7..12f0df49a 100644 --- a/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json +++ b/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json @@ -1 +1 @@ -{"diggerhelmet:helmet_repair":{"order":166}} \ No newline at end of file +{"diggerhelmet:helmet_repair":{"order":167}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json index c2935cecb..c3e34b0d4 100644 --- a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json +++ b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json @@ -1 +1 @@ -{"domum_ornamentum:architects_cutter":{"order":170}} \ No newline at end of file +{"domum_ornamentum:architects_cutter":{"order":171}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/emi_info.json b/kubejs/assets/emi/category/properties/emi_info.json index 5854418dc..3db09b20a 100644 --- a/kubejs/assets/emi/category/properties/emi_info.json +++ b/kubejs/assets/emi/category/properties/emi_info.json @@ -1 +1 @@ -{"emi:info":{"order":180}} \ No newline at end of file +{"emi:info":{"order":181}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/emi_tag.json b/kubejs/assets/emi/category/properties/emi_tag.json index eda00a319..8951f2570 100644 --- a/kubejs/assets/emi/category/properties/emi_tag.json +++ b/kubejs/assets/emi/category/properties/emi_tag.json @@ -1 +1 @@ -{"emi:tag":{"order":181}} \ No newline at end of file +{"emi:tag":{"order":182}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json index 707d2dbc2..a3cb78b5c 100644 --- a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json +++ b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json @@ -1 +1 @@ -{"exposure:photograph_printing":{"order":164}} \ No newline at end of file +{"exposure:photograph_printing":{"order":165}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json index 25cf51b96..2675d757b 100644 --- a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json +++ b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json @@ -1 +1 @@ -{"exposure:photograph_stacking":{"order":165}} \ No newline at end of file +{"exposure:photograph_stacking":{"order":166}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json index 38da3b56b..14d32f01c 100644 --- a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json +++ b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json @@ -1 +1 @@ -{"framedblocks:framing_saw":{"order":169}} \ No newline at end of file +{"framedblocks:framing_saw":{"order":170}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_packing.json b/kubejs/assets/emi/category/properties/greate_automatic_packing.json index 698a21706..b791e2c34 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_packing.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_packing.json @@ -1 +1 @@ -{"greate:automatic_packing":{"order":178}} \ No newline at end of file +{"greate:automatic_packing":{"order":179}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json index b422abba8..28fd48ddc 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json @@ -1 +1 @@ -{"greate:automatic_shaped":{"order":176}} \ No newline at end of file +{"greate:automatic_shaped":{"order":177}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json index 442c0e107..cb810aba0 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json @@ -1 +1 @@ -{"greate:automatic_shapeless":{"order":177}} \ No newline at end of file +{"greate:automatic_shapeless":{"order":178}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_block_cutting.json b/kubejs/assets/emi/category/properties/greate_block_cutting.json index 2e41c54b1..b34f02651 100644 --- a/kubejs/assets/emi/category/properties/greate_block_cutting.json +++ b/kubejs/assets/emi/category/properties/greate_block_cutting.json @@ -1 +1 @@ -{"greate:block_cutting":{"order":168}} \ No newline at end of file +{"greate:block_cutting":{"order":169}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_crushing.json b/kubejs/assets/emi/category/properties/greate_crushing.json index 640462ec6..1687d189d 100644 --- a/kubejs/assets/emi/category/properties/greate_crushing.json +++ b/kubejs/assets/emi/category/properties/greate_crushing.json @@ -1 +1 @@ -{"greate:crushing":{"order":120}} \ No newline at end of file +{"greate:crushing":{"order":121}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_fan_washing.json b/kubejs/assets/emi/category/properties/greate_fan_washing.json index 7944b77b7..8a33b662f 100644 --- a/kubejs/assets/emi/category/properties/greate_fan_washing.json +++ b/kubejs/assets/emi/category/properties/greate_fan_washing.json @@ -1 +1 @@ -{"greate:fan_washing":{"order":126}} \ No newline at end of file +{"greate:fan_washing":{"order":127}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_milling.json b/kubejs/assets/emi/category/properties/greate_milling.json index 954c52b28..904d7b9cc 100644 --- a/kubejs/assets/emi/category/properties/greate_milling.json +++ b/kubejs/assets/emi/category/properties/greate_milling.json @@ -1 +1 @@ -{"greate:milling":{"order":119}} \ No newline at end of file +{"greate:milling":{"order":120}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_mixing.json b/kubejs/assets/emi/category/properties/greate_mixing.json index 3c5c093c7..39a4fe80c 100644 --- a/kubejs/assets/emi/category/properties/greate_mixing.json +++ b/kubejs/assets/emi/category/properties/greate_mixing.json @@ -1 +1 @@ -{"greate:mixing":{"order":124}} \ No newline at end of file +{"greate:mixing":{"order":125}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_pressing.json b/kubejs/assets/emi/category/properties/greate_pressing.json index 6ec0e927b..660491ff4 100644 --- a/kubejs/assets/emi/category/properties/greate_pressing.json +++ b/kubejs/assets/emi/category/properties/greate_pressing.json @@ -1 +1 @@ -{"greate:pressing":{"order":109}} \ No newline at end of file +{"greate:pressing":{"order":110}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_sawing.json b/kubejs/assets/emi/category/properties/greate_sawing.json index 9fa83720a..b3637406e 100644 --- a/kubejs/assets/emi/category/properties/greate_sawing.json +++ b/kubejs/assets/emi/category/properties/greate_sawing.json @@ -1 +1 @@ -{"greate:sawing":{"order":96}} \ No newline at end of file +{"greate:sawing":{"order":97}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json b/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json index 6699a164c..5b3fc2de4 100644 --- a/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json +++ b/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json @@ -1 +1 @@ -{"gtceu:air_scrubber":{"order":75}} \ No newline at end of file +{"gtceu:air_scrubber":{"order":76}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json b/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json index ef4356bb7..cc3d08990 100644 --- a/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json +++ b/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json @@ -1 +1 @@ -{"gtceu:alloy_blast_smelter":{"order":136}} \ No newline at end of file +{"gtceu:alloy_blast_smelter":{"order":137}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json b/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json index f6e4b0423..f5fb46b95 100644 --- a/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json +++ b/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json @@ -1 +1 @@ -{"gtceu:alloy_smelter":{"order":76}} \ No newline at end of file +{"gtceu:alloy_smelter":{"order":77}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json b/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json index 92c064469..567ddbcab 100644 --- a/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json +++ b/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json @@ -1 +1 @@ -{"gtceu:aqueous_accumulator":{"order":78}} \ No newline at end of file +{"gtceu:aqueous_accumulator":{"order":79}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json b/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json index 86d984b45..de6efb553 100644 --- a/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json +++ b/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json @@ -1 +1 @@ -{"gtceu:arc_furnace":{"order":79}} \ No newline at end of file +{"gtceu:arc_furnace":{"order":80}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json index 6186ec92e..ed5d63c9b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json @@ -1 +1 @@ -{"gtceu:arc_furnace_recycling":{"order":160}} \ No newline at end of file +{"gtceu:arc_furnace_recycling":{"order":161}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_assembler.json b/kubejs/assets/emi/category/properties/gtceu_assembler.json index 8edabc0e4..b4ee6926b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_assembler.json +++ b/kubejs/assets/emi/category/properties/gtceu_assembler.json @@ -1 +1 @@ -{"gtceu:assembler":{"order":80}} \ No newline at end of file +{"gtceu:assembler":{"order":81}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_assembly_line.json b/kubejs/assets/emi/category/properties/gtceu_assembly_line.json index fd55fae87..b62e991ea 100644 --- a/kubejs/assets/emi/category/properties/gtceu_assembly_line.json +++ b/kubejs/assets/emi/category/properties/gtceu_assembly_line.json @@ -1 +1 @@ -{"gtceu:assembly_line":{"order":137}} \ No newline at end of file +{"gtceu:assembly_line":{"order":138}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_autoclave.json b/kubejs/assets/emi/category/properties/gtceu_autoclave.json index a53a009d1..d58a46ca0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_autoclave.json +++ b/kubejs/assets/emi/category/properties/gtceu_autoclave.json @@ -1 +1 @@ -{"gtceu:autoclave":{"order":81}} \ No newline at end of file +{"gtceu:autoclave":{"order":82}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_bender.json b/kubejs/assets/emi/category/properties/gtceu_bender.json index 72563097a..a4dd6da29 100644 --- a/kubejs/assets/emi/category/properties/gtceu_bender.json +++ b/kubejs/assets/emi/category/properties/gtceu_bender.json @@ -1 +1 @@ -{"gtceu:bender":{"order":84}} \ No newline at end of file +{"gtceu:bender":{"order":85}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_bioreactor.json b/kubejs/assets/emi/category/properties/gtceu_bioreactor.json index 5954ef3db..31b7b2658 100644 --- a/kubejs/assets/emi/category/properties/gtceu_bioreactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_bioreactor.json @@ -1 +1 @@ -{"gtceu:bioreactor":{"order":138}} \ No newline at end of file +{"gtceu:bioreactor":{"order":139}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_brewery.json b/kubejs/assets/emi/category/properties/gtceu_brewery.json index 422d93589..832ad3782 100644 --- a/kubejs/assets/emi/category/properties/gtceu_brewery.json +++ b/kubejs/assets/emi/category/properties/gtceu_brewery.json @@ -1 +1 @@ -{"gtceu:brewery":{"order":85}} \ No newline at end of file +{"gtceu:brewery":{"order":86}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_canner.json b/kubejs/assets/emi/category/properties/gtceu_canner.json index 526901f9c..d1d7856a2 100644 --- a/kubejs/assets/emi/category/properties/gtceu_canner.json +++ b/kubejs/assets/emi/category/properties/gtceu_canner.json @@ -1 +1 @@ -{"gtceu:canner":{"order":86}} \ No newline at end of file +{"gtceu:canner":{"order":87}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_centrifuge.json b/kubejs/assets/emi/category/properties/gtceu_centrifuge.json index d8004471f..23326661f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_centrifuge.json +++ b/kubejs/assets/emi/category/properties/gtceu_centrifuge.json @@ -1 +1 @@ -{"gtceu:centrifuge":{"order":88}} \ No newline at end of file +{"gtceu:centrifuge":{"order":89}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json b/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json index ff35d2403..cb71aa041 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json +++ b/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json @@ -1 +1 @@ -{"gtceu:chem_dyes":{"order":90}} \ No newline at end of file +{"gtceu:chem_dyes":{"order":91}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json b/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json index 77fb65f40..35da3689b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json +++ b/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json @@ -1 +1 @@ -{"gtceu:chemical_bath":{"order":89}} \ No newline at end of file +{"gtceu:chemical_bath":{"order":90}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json b/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json index 6dea103e0..b43a3b8ad 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json @@ -1 +1 @@ -{"gtceu:chemical_reactor":{"order":92}} \ No newline at end of file +{"gtceu:chemical_reactor":{"order":93}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json b/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json index 45bdc0ff5..64bb8f009 100644 --- a/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json +++ b/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json @@ -1 +1 @@ -{"gtceu:circuit_assembler":{"order":94}} \ No newline at end of file +{"gtceu:circuit_assembler":{"order":95}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json b/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json index 13f13109d..08d3d80fd 100644 --- a/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json @@ -1 +1 @@ -{"gtceu:coal_liquefaction_tower":{"order":139}} \ No newline at end of file +{"gtceu:coal_liquefaction_tower":{"order":140}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_compressor.json b/kubejs/assets/emi/category/properties/gtceu_compressor.json index 52e2dbf69..1e028d533 100644 --- a/kubejs/assets/emi/category/properties/gtceu_compressor.json +++ b/kubejs/assets/emi/category/properties/gtceu_compressor.json @@ -1 +1 @@ -{"gtceu:compressor":{"order":95}} \ No newline at end of file +{"gtceu:compressor":{"order":96}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_cracker.json b/kubejs/assets/emi/category/properties/gtceu_cracker.json index 886e4779b..8cc086257 100644 --- a/kubejs/assets/emi/category/properties/gtceu_cracker.json +++ b/kubejs/assets/emi/category/properties/gtceu_cracker.json @@ -1 +1 @@ -{"gtceu:cracker":{"order":140}} \ No newline at end of file +{"gtceu:cracker":{"order":141}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_cutter.json b/kubejs/assets/emi/category/properties/gtceu_cutter.json index f265e3581..02383736f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_cutter.json +++ b/kubejs/assets/emi/category/properties/gtceu_cutter.json @@ -1 +1 @@ -{"gtceu:cutter":{"order":97}} \ No newline at end of file +{"gtceu:cutter":{"order":98}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json b/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json index dbb857434..1d99295bc 100644 --- a/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json @@ -1 +1 @@ -{"gtceu:distillation_tower":{"order":99}} \ No newline at end of file +{"gtceu:distillation_tower":{"order":100}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_distillery.json b/kubejs/assets/emi/category/properties/gtceu_distillery.json index abe5bff62..a0f789349 100644 --- a/kubejs/assets/emi/category/properties/gtceu_distillery.json +++ b/kubejs/assets/emi/category/properties/gtceu_distillery.json @@ -1 +1 @@ -{"gtceu:distillery":{"order":98}} \ No newline at end of file +{"gtceu:distillery":{"order":99}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json b/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json index 20666032f..89f4dc1aa 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json +++ b/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json @@ -1 +1 @@ -{"gtceu:electric_blast_furnace":{"order":141}} \ No newline at end of file +{"gtceu:electric_blast_furnace":{"order":142}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json b/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json index 3d59509ee..af9021d58 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json +++ b/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json @@ -1 +1 @@ -{"gtceu:electrolyzer":{"order":100}} \ No newline at end of file +{"gtceu:electrolyzer":{"order":101}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json b/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json index 55b6d8105..1633122d8 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json +++ b/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json @@ -1 +1 @@ -{"gtceu:electromagnetic_separator":{"order":101}} \ No newline at end of file +{"gtceu:electromagnetic_separator":{"order":102}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json b/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json index 75b000ec2..432b22df2 100644 --- a/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json @@ -1 +1 @@ -{"gtceu:evaporation_tower":{"order":142}} \ No newline at end of file +{"gtceu:evaporation_tower":{"order":143}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extractor.json b/kubejs/assets/emi/category/properties/gtceu_extractor.json index a098ce001..9e2143626 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extractor.json +++ b/kubejs/assets/emi/category/properties/gtceu_extractor.json @@ -1 +1 @@ -{"gtceu:extractor":{"order":103}} \ No newline at end of file +{"gtceu:extractor":{"order":104}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json index 99ab62d51..af4723a94 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json @@ -1 +1 @@ -{"gtceu:extractor_recycling":{"order":162}} \ No newline at end of file +{"gtceu:extractor_recycling":{"order":163}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extruder.json b/kubejs/assets/emi/category/properties/gtceu_extruder.json index f191dc87e..cad13dc1c 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extruder.json +++ b/kubejs/assets/emi/category/properties/gtceu_extruder.json @@ -1 +1 @@ -{"gtceu:extruder":{"order":105}} \ No newline at end of file +{"gtceu:extruder":{"order":106}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fermenter.json b/kubejs/assets/emi/category/properties/gtceu_fermenter.json index d5c266326..f72f39ca2 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fermenter.json +++ b/kubejs/assets/emi/category/properties/gtceu_fermenter.json @@ -1 +1 @@ -{"gtceu:fermenter":{"order":106}} \ No newline at end of file +{"gtceu:fermenter":{"order":107}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json index 6e14a9976..6b2d77d20 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json @@ -1 +1 @@ -{"gtceu:fission_reactor":{"order":143}} \ No newline at end of file +{"gtceu:fission_reactor":{"order":144}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json b/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json index ea2cd6df9..6b45f3ae9 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json +++ b/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json @@ -1 +1 @@ -{"gtceu:fluid_heater":{"order":107}} \ No newline at end of file +{"gtceu:fluid_heater":{"order":108}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json b/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json index 4f6b62384..8cb246b5f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json +++ b/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json @@ -1 +1 @@ -{"gtceu:fluid_solidifier":{"order":108}} \ No newline at end of file +{"gtceu:fluid_solidifier":{"order":109}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json b/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json index 05db31d07..c8470f99c 100644 --- a/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json +++ b/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json @@ -1 +1 @@ -{"gtceu:forge_hammer":{"order":110}} \ No newline at end of file +{"gtceu:forge_hammer":{"order":111}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_forming_press.json b/kubejs/assets/emi/category/properties/gtceu_forming_press.json index 213ce1954..5e78677dc 100644 --- a/kubejs/assets/emi/category/properties/gtceu_forming_press.json +++ b/kubejs/assets/emi/category/properties/gtceu_forming_press.json @@ -1 +1 @@ -{"gtceu:forming_press":{"order":112}} \ No newline at end of file +{"gtceu:forming_press":{"order":113}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json index 3f4912970..0feb3fbad 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json @@ -1 +1 @@ -{"gtceu:fusion_reactor":{"order":144}} \ No newline at end of file +{"gtceu:fusion_reactor":{"order":145}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_collector.json b/kubejs/assets/emi/category/properties/gtceu_gas_collector.json index c7c01db93..92914839a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_gas_collector.json +++ b/kubejs/assets/emi/category/properties/gtceu_gas_collector.json @@ -1 +1 @@ -{"gtceu:gas_collector":{"order":113}} \ No newline at end of file +{"gtceu:gas_collector":{"order":114}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json b/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json index 7231cc1c7..49a2d7d46 100644 --- a/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json +++ b/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json @@ -1 +1 @@ -{"gtceu:gas_pressurizer":{"order":114}} \ No newline at end of file +{"gtceu:gas_pressurizer":{"order":115}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json index efa9331fc..68408b958 100644 --- a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json +++ b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json @@ -1 +1 @@ -{"gtceu:greenhouse":{"order":145}} \ No newline at end of file +{"gtceu:greenhouse":{"order":146}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json index 462decfd8..573b71507 100644 --- a/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json +++ b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json @@ -1 +1 @@ -{"gtceu:heat_exchanger":{"order":146}} \ No newline at end of file +{"gtceu:heat_exchanger":{"order":147}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json b/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json index baafe3f50..3356a2c95 100644 --- a/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json +++ b/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json @@ -1 +1 @@ -{"gtceu:hydroponics_facility":{"order":147}} \ No newline at end of file +{"gtceu:hydroponics_facility":{"order":148}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json b/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json index 0a8de3528..703c8ce4d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json +++ b/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json @@ -1 +1 @@ -{"gtceu:implosion_compressor":{"order":148}} \ No newline at end of file +{"gtceu:implosion_compressor":{"order":149}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json b/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json index d02888088..f4efc2728 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json +++ b/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json @@ -1 +1 @@ -{"gtceu:ingot_molding":{"order":77}} \ No newline at end of file +{"gtceu:ingot_molding":{"order":78}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json b/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json index 47a56c517..40797e778 100644 --- a/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json @@ -1 +1 @@ -{"gtceu:large_chemical_reactor":{"order":93}} \ No newline at end of file +{"gtceu:large_chemical_reactor":{"order":94}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json b/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json index 4a437912f..116f91b70 100644 --- a/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json +++ b/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json @@ -1 +1 @@ -{"gtceu:laser_engraver":{"order":116}} \ No newline at end of file +{"gtceu:laser_engraver":{"order":117}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_lathe.json b/kubejs/assets/emi/category/properties/gtceu_lathe.json index c980bccd7..6e35a108d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_lathe.json +++ b/kubejs/assets/emi/category/properties/gtceu_lathe.json @@ -1 +1 @@ -{"gtceu:lathe":{"order":118}} \ No newline at end of file +{"gtceu:lathe":{"order":119}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_macerator.json b/kubejs/assets/emi/category/properties/gtceu_macerator.json index 196bf9eff..4441df932 100644 --- a/kubejs/assets/emi/category/properties/gtceu_macerator.json +++ b/kubejs/assets/emi/category/properties/gtceu_macerator.json @@ -1 +1 @@ -{"gtceu:macerator":{"order":121}} \ No newline at end of file +{"gtceu:macerator":{"order":122}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json index d347311b6..59cf7d209 100644 --- a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json @@ -1 +1 @@ -{"gtceu:macerator_recycling":{"order":161}} \ No newline at end of file +{"gtceu:macerator_recycling":{"order":162}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_mixer.json b/kubejs/assets/emi/category/properties/gtceu_mixer.json index 414afa0ea..68776609e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_mixer.json +++ b/kubejs/assets/emi/category/properties/gtceu_mixer.json @@ -1 +1 @@ -{"gtceu:mixer":{"order":123}} \ No newline at end of file +{"gtceu:mixer":{"order":124}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json b/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json index 83720c659..49f445263 100644 --- a/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json +++ b/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json @@ -1 +1 @@ -{"gtceu:moon_dust_harvester":{"order":149}} \ No newline at end of file +{"gtceu:moon_dust_harvester":{"order":150}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json index 345240e54..449ee0844 100644 --- a/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json +++ b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json @@ -1 +1 @@ -{"gtceu:nuclear_fuel_factory":{"order":150}} \ No newline at end of file +{"gtceu:nuclear_fuel_factory":{"order":151}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json b/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json index df113f580..aab36afb1 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json @@ -1 +1 @@ -{"gtceu:ore_bathing":{"order":91}} \ No newline at end of file +{"gtceu:ore_bathing":{"order":92}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json b/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json index d95deb28b..63e5ada41 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json @@ -1 +1 @@ -{"gtceu:ore_crushing":{"order":122}} \ No newline at end of file +{"gtceu:ore_crushing":{"order":123}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_forging.json b/kubejs/assets/emi/category/properties/gtceu_ore_forging.json index e3a94606a..c18dc52b5 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_forging.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_forging.json @@ -1 +1 @@ -{"gtceu:ore_forging":{"order":111}} \ No newline at end of file +{"gtceu:ore_forging":{"order":112}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_washer.json b/kubejs/assets/emi/category/properties/gtceu_ore_washer.json index 405a50946..95d8c9ac6 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_washer.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_washer.json @@ -1 +1 @@ -{"gtceu:ore_washer":{"order":125}} \ No newline at end of file +{"gtceu:ore_washer":{"order":126}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json b/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json index 602826a05..0aec181bf 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json +++ b/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json @@ -1 +1 @@ -{"gtceu:ostrum_harvester":{"order":151}} \ No newline at end of file +{"gtceu:ostrum_harvester":{"order":152}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json b/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json index 5ac587256..959d8f07f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json +++ b/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json @@ -1 +1 @@ -{"gtceu:ostrum_linear_accelerator":{"order":152}} \ No newline at end of file +{"gtceu:ostrum_linear_accelerator":{"order":153}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_packer.json b/kubejs/assets/emi/category/properties/gtceu_packer.json index 7b19510f3..286479fa4 100644 --- a/kubejs/assets/emi/category/properties/gtceu_packer.json +++ b/kubejs/assets/emi/category/properties/gtceu_packer.json @@ -1 +1 @@ -{"gtceu:packer":{"order":127}} \ No newline at end of file +{"gtceu:packer":{"order":128}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json b/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json index a0bd0d75a..23e4660fa 100644 --- a/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json +++ b/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json @@ -1 +1 @@ -{"gtceu:pisciculture_fishery":{"order":153}} \ No newline at end of file +{"gtceu:pisciculture_fishery":{"order":154}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json b/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json index 902dc1974..dbbbf810b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json +++ b/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json @@ -1 +1 @@ -{"gtceu:plasma_generator":{"order":73}} \ No newline at end of file +{"gtceu:plasma_generator":{"order":74}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_polarizer.json b/kubejs/assets/emi/category/properties/gtceu_polarizer.json index 77f51e722..bbcbcae74 100644 --- a/kubejs/assets/emi/category/properties/gtceu_polarizer.json +++ b/kubejs/assets/emi/category/properties/gtceu_polarizer.json @@ -1 +1 @@ -{"gtceu:polarizer":{"order":128}} \ No newline at end of file +{"gtceu:polarizer":{"order":129}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json index 2ddd1eaf6..ff8bdb18c 100644 --- a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json +++ b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json @@ -1 +1 @@ -{"gtceu:programmed_circuit":{"order":179}} \ No newline at end of file +{"gtceu:programmed_circuit":{"order":180}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json index d2931e90f..980dc4022 100644 --- a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json +++ b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json @@ -1 +1 @@ -{"gtceu:pyrolyse_oven":{"order":154}} \ No newline at end of file +{"gtceu:pyrolyse_oven":{"order":155}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_research_station.json b/kubejs/assets/emi/category/properties/gtceu_research_station.json index 7a62851bb..fd0c82d6c 100644 --- a/kubejs/assets/emi/category/properties/gtceu_research_station.json +++ b/kubejs/assets/emi/category/properties/gtceu_research_station.json @@ -1 +1 @@ -{"gtceu:research_station":{"order":155}} \ No newline at end of file +{"gtceu:research_station":{"order":156}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json b/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json index 8fc971e87..509ae0ecd 100644 --- a/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json +++ b/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json @@ -1 +1 @@ -{"gtceu:rock_breaker":{"order":129}} \ No newline at end of file +{"gtceu:rock_breaker":{"order":130}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_scanner.json b/kubejs/assets/emi/category/properties/gtceu_scanner.json index f499fd75f..c950dea46 100644 --- a/kubejs/assets/emi/category/properties/gtceu_scanner.json +++ b/kubejs/assets/emi/category/properties/gtceu_scanner.json @@ -1 +1 @@ -{"gtceu:scanner":{"order":130}} \ No newline at end of file +{"gtceu:scanner":{"order":131}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_sifter.json b/kubejs/assets/emi/category/properties/gtceu_sifter.json index 08590a5a8..eafae1c58 100644 --- a/kubejs/assets/emi/category/properties/gtceu_sifter.json +++ b/kubejs/assets/emi/category/properties/gtceu_sifter.json @@ -1 +1 @@ -{"gtceu:sifter":{"order":132}} \ No newline at end of file +{"gtceu:sifter":{"order":133}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json index 4beba1a99..be7eea57f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json +++ b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json @@ -1 +1 @@ -{"gtceu:steam_bloomery":{"order":156}} \ No newline at end of file +{"gtceu:steam_bloomery":{"order":157}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json b/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json index 0bc83bd94..43b1beec0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json +++ b/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json @@ -1 +1 @@ -{"gtceu:thermal_centrifuge":{"order":133}} \ No newline at end of file +{"gtceu:thermal_centrifuge":{"order":134}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json index 5edc94182..4cd1bfbf0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json +++ b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json @@ -1 +1 @@ -{"gtceu:vacuum_freezer":{"order":157}} \ No newline at end of file +{"gtceu:vacuum_freezer":{"order":158}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json index a127850c7..e29d232d3 100644 --- a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json +++ b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json @@ -1 +1 @@ -{"gtceu:wire_coating":{"order":158}} \ No newline at end of file +{"gtceu:wire_coating":{"order":159}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_wiremill.json b/kubejs/assets/emi/category/properties/gtceu_wiremill.json index d33e56613..2108ef64d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_wiremill.json +++ b/kubejs/assets/emi/category/properties/gtceu_wiremill.json @@ -1 +1 @@ -{"gtceu:wiremill":{"order":135}} \ No newline at end of file +{"gtceu:wiremill":{"order":136}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_smelting.json b/kubejs/assets/emi/category/properties/minecraft_smelting.json index e0a9398cb..134ba08c3 100644 --- a/kubejs/assets/emi/category/properties/minecraft_smelting.json +++ b/kubejs/assets/emi/category/properties/minecraft_smelting.json @@ -1 +1 @@ -{"minecraft:smelting":{"order":74}} \ No newline at end of file +{"minecraft:smelting":{"order":75}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_smithing.json b/kubejs/assets/emi/category/properties/minecraft_smithing.json index 3ef51601a..333764a49 100644 --- a/kubejs/assets/emi/category/properties/minecraft_smithing.json +++ b/kubejs/assets/emi/category/properties/minecraft_smithing.json @@ -1 +1 @@ -{"minecraft:smithing":{"order":163}} \ No newline at end of file +{"minecraft:smithing":{"order":164}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json index adbf423f4..17ba3a220 100644 --- a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json +++ b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json @@ -1 +1 @@ -{"minecraft:stonecutting":{"order":167}} \ No newline at end of file +{"minecraft:stonecutting":{"order":168}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tacz_attachment_query.json b/kubejs/assets/emi/category/properties/tacz_attachment_query.json index 5120abdce..567b7a739 100644 --- a/kubejs/assets/emi/category/properties/tacz_attachment_query.json +++ b/kubejs/assets/emi/category/properties/tacz_attachment_query.json @@ -1 +1 @@ -{"tacz:attachment_query":{"order":172}} \ No newline at end of file +{"tacz:attachment_query":{"order":173}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json index d1d6603bc..0d9de90af 100644 --- a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json +++ b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json @@ -1 +1 @@ -{"taczammoquery:ammo_query":{"order":173}} \ No newline at end of file +{"taczammoquery:ammo_query":{"order":174}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json b/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json index ee3e03c79..a2fbc0494 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json @@ -1 +1 @@ -{"vintageimprovements:centrifugation":{"order":87}} \ No newline at end of file +{"vintageimprovements:centrifugation":{"order":88}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json b/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json index 9cb992072..6dcfa2369 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json @@ -1 +1 @@ -{"vintageimprovements:coiling":{"order":134}} \ No newline at end of file +{"vintageimprovements:coiling":{"order":135}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_curving.json b/kubejs/assets/emi/category/properties/vintageimprovements_curving.json index ecaad064d..38067fe07 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_curving.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_curving.json @@ -1 +1 @@ -{"vintageimprovements:curving":{"order":104}} \ No newline at end of file +{"vintageimprovements:curving":{"order":105}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json b/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json index aa0b4f013..ce8da854e 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json @@ -1 +1 @@ -{"vintageimprovements:laser_cutting":{"order":115}} \ No newline at end of file +{"vintageimprovements:laser_cutting":{"order":116}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json b/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json index fde04d7d1..1c1632b67 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json @@ -1 +1 @@ -{"vintageimprovements:polishing":{"order":117}} \ No newline at end of file +{"vintageimprovements:polishing":{"order":118}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json b/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json index 40a51fa64..883d4cb5b 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json @@ -1 +1 @@ -{"vintageimprovements:pressurizing":{"order":83}} \ No newline at end of file +{"vintageimprovements:pressurizing":{"order":84}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json b/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json index 9d955f31a..d6209b715 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json @@ -1 +1 @@ -{"vintageimprovements:vacuumizing":{"order":102}} \ No newline at end of file +{"vintageimprovements:vacuumizing":{"order":103}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json b/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json index 05cc197f3..4c10887a4 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json @@ -1 +1 @@ -{"vintageimprovements:vibrating":{"order":131}} \ No newline at end of file +{"vintageimprovements:vibrating":{"order":132}} \ No newline at end of file From c9c60944bb325d3c9dd580b9999a8cc312ffee80 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 18:25:44 +0000 Subject: [PATCH 312/474] fix quest --- config/ftbquests/quests/chapters/queststfc_tips.snbt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index 6628a862d..f160ba9cf 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -2159,7 +2159,10 @@ y: -10.5d } { - dependencies: ["30DD0DDF86C96926", "1F41C35890E2C44F"] + dependencies: [ + "30DD0DDF86C96926" + "1F41C35890E2C44F" + ] dependency_requirement: "one_completed" description: ["{quests.tfg_tips.food_automation.desc}"] icon: "tfg:lv_food_oven" From 4db618ff37193bd369ae9b7927ab07ffddd104bb Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 19:02:33 +0000 Subject: [PATCH 313/474] langs --- kubejs/assets/gtceu/lang/en_us.json | 8 ------- kubejs/assets/tfg/lang/en_us.json | 35 +++++++++++++++++++++-------- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 08469bd6a..874fff8fe 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -128,20 +128,12 @@ "material.gtceu.radioactive_steam": "Radioactive Steam", "material.gtceu.radioactive_waste": "Thorium Waste", "material.gtceu.irradiated_steam": "Irradiated Steam", - "material.gtceu.heavy_water": "Heavy Water", "material.gtceu.uranium_waste": "Uranium Waste", "material.gtceu.nuclear_waste": "Nuclear Waste", "material.gtceu.dirty_hexafluorosilicic_acid": "Dirty Hexafluorosilicic Acid", "material.gtceu.martian_sludge": "Martian Sludge", "material.gtceu.dioxygen_difluoride": "Dioxygen Difluoride", "material.gtceu.tritiated_water": "Tritiated Water", - "material.gtceu.raw_rich_brine": "Raw Rich Brine", - "material.gtceu.hot_iodine_brine": "Hot Iodine Brine", - "material.gtceu.brominated_iodine_vapor": "Brominated Iodine Vapor", - "material.gtceu.basic_bromine_exhaust": "Basic Bromine Exhaust", - "material.gtceu.dirty_flibe": "Dirty FLiBe", - "material.gtceu.flibe": "FLiBe", - "material.gtceu.hot_flibe": "Hot FLiBe", "material.gtceu.raw_brine": "Raw Brine", "material.gtceu.hot_brine": "Hot Brine", "material.gtceu.hot_chlorinated_brominated_brine": "Hot Chlorinated Brominated Brine", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 09c7032a8..f84b7a487 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1143,9 +1143,19 @@ "item.tfg.empty_rod_t2": "Empty Beryllium Fissile Fuel Rod", "item.tfg.empty_rod_t3": "Empty Zirconium Fissile Fuel Rod", "item.tfg.thorium_rod": "Thorium Fuel Rod", + "item.tfg.depleted_thorium_rod": "Depleted Thorium Fuel Rod", "item.tfg.uranium_rod": "Uranium Fuel Rod", + "item.tfg.depleted_uranium_rod": "Depleted Uranium Fuel Rod", "item.tfg.plutonium_rod": "Plutonium Fuel Rod", - "item.tfg.tbu_232_rod": "T-Rod Fuel", + "item.tfg.depleted_plutonium_rod": "Depleted Plutonium Fuel Rod", + "item.tfg.tbu_232_rod": "Thorium-Uranium Breeder Fuel Rod", + "item.tfg.depleted_tbu_232_rod": "Depleted Thorium-Uranium Breeder Fuel Rod", + "item.tfg.americium_241_rod": "Americium Fuel Rod", + "item.tfg.depleted_americium_241_rod": "Depleted Americium Fuel Rod", + "item.tfg.neptunium_237_rod": "Neptunium Fuel Rod", + "item.tfg.depleted_neptunium_237_rod": "Depleted Neptunium Fuel Rod", + "item.tfg.californium_252_rod": "Californium Fuel Rod", + "item.tfg.depleted_californium_252_rod": "Depleted Californium Fuel Rod", "item.tfg.refrigerant_pellet": "Refrigerant Pellet", "item.tfg.graphite_compound": "Graphite Compound", "item.tfg.raw_graphite_briquette": "Raw Graphite Briquette", @@ -1291,6 +1301,10 @@ "material.tfg.refined_nuclear_residue": "Refined Nuclear Residue", "material.tfg.mars_air": "Mars Air", "material.tfg.liquid_mars_air": "Liquid Mars Air", + "material.tfg.raw_rich_brine": "Raw Rich Brine", + "material.tfg.basic_bromine_exhaust": "Basic Bromine Exhaust", + "material.tfg.brominated_iodine_vapor": "Brominated Iodine Vapor", + "material.tfg.hot_iodine_brine": "Hot Iodine Brine", "material.tfg.certus_regolith": "Certus Regolith", "material.tfg.goethe_regolith": "Goethe Regolith", "material.tfg.bright_regolith": "Bright Regolith", @@ -1345,16 +1359,16 @@ "material.tfg.americium_241": "Americium 241", "material.tfg.californium_252": "Californium 252", "material.tfg.neptunium_237": "Neptunium 237", - "material.tfg.tbu_waste": "T Waste", + "material.tfg.tbu_waste": "Thorium Breeder Waste", "material.tfg.mixed_radioactive_fluid": "Mixed Radioactive Fluid", "material.tfg.degraded_solvent_stream": "Degraded Solvent Stream", "material.tfg.boron_enriched_coolant": "Boron Enriched Coolant", "material.tfg.hot_boron_enriched_coolant": "Hot Boron Enriched Coolant", "material.tfg.polyalkylene_lubricant": "Polyalkylene Lubricant", "material.tfg.organic_degradation_slurry": "Organic Degradation Slurry", - "material.tfg.gas_fraction": "Gas Fraction", + "material.tfg.gas_fraction": "Solvent Gas Fraction", "material.tfg.isotopic_solvent": "Isotopic Solvent", - "material.tfg.residual_sludge": "Residual Sludge", + "material.tfg.residual_sludge": "Residual Solvent Sludge", "material.tfg.sodium_fluoride": "Sodium Fluoride", "material.tfg.trace_catalyst_salt_e": "Trace Catalyst Salt E", "material.tfg.copper_trace_catalyst": "Copper Trace Catalyst", @@ -1369,8 +1383,11 @@ "material.tfg.radioactive_effluent": "Radioactive Effluent", "material.tfg.high_grade_isotopic_solvent": "High Grade Isotopic Solvent", "material.tfg.degraded_high_grade_isotopic_solvent": "Degraded High Grade Isotopic Solvent", - "material.tfg.spent_ticl4_doped_supercritical_co2": "Hot TiCl₄ Doped Supercritical CO₂", - "material.tfg.ticl4_doped_supercritical_co2": "TiCl₄ Doped Supercritical CO₂", + "material.tfg.spent_ticl4_doped_supercritical_co2": "Hot TiCl₄-Doped Supercritical CO₂", + "material.tfg.ticl4_doped_supercritical_co2": "TiCl₄-Doped Supercritical CO₂", + "material.tfg.flibe": "FLiBe", + "material.tfg.dirty_flibe": "Dirty FLiBe", + "material.tfg.hot_flibe": "Hot FLiBe", "material.tfg.glucose": "Glucose", "material.tfg.galactose": "Galactose", "material.tfg.fructose": "Fructose", @@ -2549,7 +2566,7 @@ "quests.extreme_voltage.heat_battery.desc": "The &6Heat Battery&r is a multiblock capable of storing &cHeat&r from hot coolants coming directly from your &cFission Reactor&r, which can then be used either to heat other fluids or to be consumed in the &5Ostrum Linear Accelerator&r.\n\nThe mechanic is fairly simple: depending on the fluid being input, the &6Heat Battery&r can reach higher temperatures, and you can check how much temperature a fluid can provide by browsing &bEMI&r under the Heat Battery Import recipes tab; conversely, you can spend your &cHeat Units&r by warming fluids, and like the EBF, some recipes require a minimum temperature, for example, producing &bHigh Pressure Steam&r from &9Distilled Water&r requires the Heat Battery to be at least at &c1000°&r.\n\nFinally, just like the &cFission Reactor&r, you can add specific blocks (tag &7#components_hb&r) to increase both the maximum reachable temperature of your &6Heat Battery&r and how many &cHeat Units&r it can store.", "quests.extreme_voltage.dense_ostrum_vapor.title": "Dense Ostrum Vapor", "quests.extreme_voltage.dense_ostrum_vapor.subtitle": "Fission on Earth?", - "quests.extreme_voltage.dense_ostrum_vapor.desc": "The &6Dense Ostrum Vapor&r is required to craft &cT-Rod Fuel&r, which you will need to start &eFission&r for power generation; more uses will be added with each new update, so stay tuned.\n\nNote that you can also use it to get more Light Ostrum Vapor if you ever feel the need.", + "quests.extreme_voltage.dense_ostrum_vapor.desc": "The &6Dense Ostrum Vapor&r is required to craft a &cThorium-Uranium Breeder Fuel Rod&r, which you will need to start &eFission&r for power generation; more uses will be added with each new update, so stay tuned.\n\nNote that you can also use it to get more Light Ostrum Vapor if you ever feel the need.", "quests.extreme_voltage.ostrum_vapor.title": "Ostrum Vapor", "quests.extreme_voltage.ostrum_vapor.subtitle": "We really need to chill", "quests.extreme_voltage.ostrum_vapor.desc": "The first use of &6Ostrum Vapor&r is allowing you to craft &bTerrafirmaguard PA6&r, which you will need to run your &cPlutonium Reactor&r without losing all your &3Tritiated Water&r.\n\nLater, when you unlock &eFission Energy&r and the &aSmall Modular Turbine&r, &dPolyalkylene Lubricant&r becomes an extremely strong asset for producing more power in your isolated outposts.", @@ -2644,9 +2661,9 @@ "quests.gregtech_energy.btx.desc": "Obtaining the &5EV Energy Hatches&r means you can finally get &eBTX Fuel&r (Benzene-Toluene-Xylene) production started. This fuel will last you for a very long time and remains competitive in a &6Large Turbine&r well into the late game. Even if it looks like a massive undertaking at first, rest assured that it will be well worth the effort.\n\nThis production line requires a large number of wood-based products. Sap becomes relevant again due to the need for &eGlue&r — you can either tap your trees passively or extract it directly from logs. You will also need to distill &eWood Tar&r in a &6Distillation Tower&r. Beyond that, make sure you can produce infinite amounts of &eEthanol&r, &eNether Quartz&r, &eSodium&r, &eAmmonia&r, &eLye&r, and &eReinforced Epoxy Resin Sheets&r.\n\nIf you want a more detailed breakdown of the BTX Fuel production chain, refer to the &5EV&r Chapter.", "quests.gregtech_energy.fission_rod.title": "Fission Fuels", "quests.gregtech_energy.fission_rod.subtitle": "Don't get me too hot", - "quests.gregtech_energy.fission_rod.desc.1": "To begin producing power on &2Earth&r, you will need to invest in an impressive setup on &4Mars&r to produce and process &cT-Rod Fuel&r; every time you craft a new &cT-Rod&r, you must use an &5OLA&r recipe, which is quite expensive, but the advantage is that the rods are fully recyclable after being depleted.\n\nAfter obtaining your first &cT-Rod&r, it is very important to decide which isotope you want to target.", + "quests.gregtech_energy.fission_rod.desc.1": "To begin producing power on &2Earth&r, you will need to invest in an impressive setup on &4Mars&r to produce and process &cThorium-Uranium Breeder Fuel&r; every time you craft a new &cBreeder Rod&r, you must use an &5OLA&r recipe, which is quite expensive, but the advantage is that the rods are fully recyclable after being depleted.\n\nAfter obtaining your first &cBreeder Rod&r, it is very important to decide which isotope you want to target.", "quests.gregtech_energy.fission_rod.desc.2": "The &aAmericium Rod&r has extremely high durability but very low &cHeat&r, and it is the only rod that can be used in a &eSmall Fission Reactor&r; this incredibly potent rod is very difficult to obtain, as you will need to run your &cFission Reactor&r at an extremely low temperature to maximize americium output—refer to EMI to determine the heat range you should target.\n\nThe &bNeptunium Rod&r is the standard option, offering good power output and good durability; it can produce up to &1360k EU/t&r at &1IV&r but requires a very extensive infrastructure, and with one &cFission Reactor&r, one &6Heat Battery&r, and one &9Cooling Tower&r, you should be able to generate a massive amount of steam in a perfectly looped system.", - "quests.gregtech_energy.fission_rod.desc.3": "Be very cautious, however: if your &cT-Rods&r are operated at too high a temperature, you will lose part of the &8TBU Waste&r and will not be able to fully recycle the rod; always be extremely careful when running a &cT-Rod&r, as losing them is something you absolutely want to avoid.\n\nWhen targeting specific temperatures to increase isotope yield, remember that you can mix multiple rods together, and as always, refer to EMI to see which rods use which coolants.", + "quests.gregtech_energy.fission_rod.desc.3": "Be very cautious, however: if your &cBreeder Rods&r are operated at too high a temperature, you will lose part of the &8TBU Waste&r and will not be able to fully recycle the rod; always be extremely careful when running a &cBreeder Rod&r, as losing them is something you absolutely want to avoid.\n\nWhen targeting specific temperatures to increase isotope yield, remember that you can mix multiple rods together, and as always, refer to EMI to see which rods use which coolants.", "quests.gregtech_energy.smr.title": "Small Modular Reactor", "quests.gregtech_energy.smr.subtitle": "Finally Power for these far outposts", "quests.gregtech_energy.smr.desc.1": "If you manage to obtain two &aAmericium-241 Rods&r, you can start looking into the &eSmall Fission Reactor&r and the &aSmall Modular Turbine&r; this generator setup is ideal for long-term, sustainable power generation with no required interaction, making it perfect for isolated outposts or as backup power for your base if everything goes wrong.", From a74407c10caf100b4aa06fc0eb2d5602d2a2daa4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 19:02:40 +0000 Subject: [PATCH 314/474] tidy colors and isotopes --- kubejs/client_scripts/tooltips.js | 3 +-- .../tfg/powergen/nuclear/tags.nuclear.js | 4 ++-- .../gtceu/material_modification.js | 5 +++++ .../tfg/nuclear/materials.nuclear.js | 16 ++++++++-------- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 9800c0024..bfd0c0cfa 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -70,8 +70,7 @@ const registerTooltips = (event) => { event.addAdvanced(['tfg:ostrum_linear_accelerator'], (item, advanced, text) => { text.add(1, Text.translate('gtceu.tooltip.machine.ostrum_linear_accelerator_1')); text.add(2, Text.translate('gtceu.tooltip.machine.ostrum_linear_accelerator_2')); - text.add(3, Text.translate('gtceu.tooltip.machine.ostrum_linear_accelerator_3')); - text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')); + text.add(3, Text.translate('tfg.tooltip.machine.two_energy_hatches')); }) event.addAdvanced(['gtceu:heat_exchanger'], (item, advanced, text) => { text.add(1, Text.translate('gtceu.tooltip.machine.heat_exchanger_1')); diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js index aacbef8fd..36090a32f 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js @@ -30,7 +30,7 @@ const registerTFGBlockTagsNuclear = (event) => { event.add(COMPONENTS_FR, 'tfg:impure_moderate_core_frame'); // Max Heat 5 //event.add(COMPONENTS, 'minecraft:blue_ice'); // Max Heat 0.5 - event.add(COMPONENTS_FR, 'minecraft:bedrock'); // Max Heat 10000 CREATIVE BLOCK + //event.add(COMPONENTS_FR, 'minecraft:bedrock'); // Max Heat 10000 CREATIVE BLOCK // Increase Throttle //event.add(COMPONENTS_FR, 'minecraft:iron_block'); @@ -47,7 +47,7 @@ const registerTFGBlockTagsNuclear = (event) => { event.add(COMPONENTS_HB, 'minecraft:sand'); event.add(COMPONENTS_HB, 'tfg:impure_moderate_core_frame'); event.add(COMPONENTS_HB, 'tfg:moderate_core_frame'); - event.add(COMPONENTS_HB, 'minecraft:bedrock'); // For Creative usage only + //event.add(COMPONENTS_HB, 'minecraft:bedrock'); // For Creative usage only //#endregion diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 025b563f5..c371989c7 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -460,6 +460,9 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Rhenium.setMaterialSecondaryARGB(0x9ccbd6) GTMaterials.Diamond.setMaterialARGB(0x4AEDD9) GTMaterials.Diamond.setMaterialSecondaryARGB(0x1AAAA7) + GTMaterials.Boron.setMaterialARGB(0x75BD8D) + GTMaterials.Boron.setMaterialSecondaryARGB(0x013A15) + GTMaterials.Americium.setMaterialARGB(0x284D7B) // Fluids global.MINECRAFT_DYE_NAMES.forEach(colorName => { @@ -477,4 +480,6 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Glowstone.setComponents('1x gold', '1x redstone') GTMaterials.Thorium.setFormula('ThO2') GTMaterials.Americium.setFormula('Am²⁴³') + GTMaterials.Boron.setFormula('B¹¹') + GTMaterials.Caesium.setFormula('Cs¹³³') } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js index 04a1dd43c..0d06ea808 100644 --- a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js @@ -200,16 +200,16 @@ const registerTFGNuclearMaterials = (event) => { .element(GTElements.get("boron_10")) .iconSet(GTMaterialIconSet.DULL) .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) - .color(0xf8a8c0) - .secondaryColor(0xcd8dbc) + .color(0xbffdbf) + .secondaryColor(0x6d7058) event.create('caesium_137') .dust() .element(GTElements.get("caesium_137")) - .iconSet(GTMaterialIconSet.METALLIC) + .iconSet(GTMaterialIconSet.SHINY) .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) - .color(0xB6FF00) - .secondaryColor(0x9FAFB2) + .color(0xFCB65C) + .secondaryColor(0x55461B) event.create('tfg:boron_thrichloride') .gas(new GTFluidBuilder().state(GTFluidState.GAS).attribute(GTFluidAttributes.ACID).temperature(380)) @@ -324,8 +324,8 @@ const registerTFGNuclearMaterials = (event) => { .element(GTElements.get("americium_241")) .iconSet(GTMaterialIconSet.RADIOACTIVE) .flags(GTMaterialFlags.GENERATE_ROD) - .color(0x10B193) - .secondaryColor(0x66ff00) + .color(0x648ABA) + .secondaryColor(0x999900) .radioactiveHazard(1000000) event.create('neptunium_237') @@ -343,7 +343,7 @@ const registerTFGNuclearMaterials = (event) => { .iconSet(GTMaterialIconSet.RADIOACTIVE) .flags(GTMaterialFlags.GENERATE_ROD) .color(0xffba00) - .secondaryColor(0x66ff00) + .secondaryColor(0xA85A12) .radioactiveHazard(10000000) //#endregion From 852d31a2719687430f8548962ebe575f64299583 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 19:04:37 +0000 Subject: [PATCH 315/474] fix #2839 --- .../quests/chapters/questsstoneage.snbt | 26 ------------------- 1 file changed, 26 deletions(-) diff --git a/config/ftbquests/quests/chapters/questsstoneage.snbt b/config/ftbquests/quests/chapters/questsstoneage.snbt index d18ee6438..8945bdddc 100644 --- a/config/ftbquests/quests/chapters/questsstoneage.snbt +++ b/config/ftbquests/quests/chapters/questsstoneage.snbt @@ -1507,32 +1507,6 @@ shape: "heart" subtitle: "{quests.stone_age.meals.subtitle}" tasks: [ - { - id: "7D77C6BFE159FDC9" - item: { - Count: 1 - ForgeCaps: { - "tfc:food": { - creationDate: -2L - foodData: { - dairy: 0.0f - decay: 0.0f - food: 0 - fruit: 0.0f - grain: 0.0f - meat: 0.0f - sat: 0.0f - veg: 0.0f - water: 0.0f - } - ingredients: [ ] - traits: [ ] - } - } - id: "firmalife:food/cooked_pizza" - } - type: "item" - } { id: "597808680916715E" item: { From 79f5afe347837c96c8c6b9c3776be6f0e2e10ebc Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 19:14:16 +0000 Subject: [PATCH 316/474] langs, quest for toolbelt --- config/defaultoptions/keybindings.txt | 7 ++++--- .../quests/chapters/questsmetallurgy.snbt | 17 ++++++++++++++++- kubejs/assets/tfg/lang/en_us.json | 7 +++++-- kubejs/assets/tfg/lang/fr_fr.json | 2 +- kubejs/assets/tfg/lang/pt_br.json | 2 +- 5 files changed, 27 insertions(+), 8 deletions(-) diff --git a/config/defaultoptions/keybindings.txt b/config/defaultoptions/keybindings.txt index f0523281e..a170c108b 100644 --- a/config/defaultoptions/keybindings.txt +++ b/config/defaultoptions/keybindings.txt @@ -78,7 +78,7 @@ key_key.astikorcarts.desc:key.keyboard.r:NONE key_key.curios.open.desc:key.keyboard.unknown:NONE key_create.keyinfo.toolmenu:key.keyboard.left.alt:NONE key_create.keyinfo.toolbelt:key.keyboard.left.alt:NONE -key_key.toolbelt.open:key.keyboard.unknown:NONE +key_key.toolbelt.open:key.keyboard.x:NONE key_key.toolbelt.slot:key.keyboard.unknown:NONE key_gui.xaero_switch_waypoint_set:key.keyboard.unknown:NONE key_gui.xaero_instant_waypoint:key.keyboard.unknown:NONE @@ -121,7 +121,8 @@ key_key.ftbchunks.map:key.keyboard.unknown:NONE key_key.ftbchunks.claim_manager:key.keyboard.unknown:NONE key_key.ad_astra.toggle_suit_flight:key.keyboard.h:NONE key_key.ad_astra.open_radio:key.keyboard.r:NONE -key_key.wan_ancient_beasts.special_ability:key.keyboard.x:NONE +key_key.wan_ancient_beasts.special_ability:key.keyboard.c:NONE key_key.saveToolbarActivator:key.keyboard.unknown:NONE key_key.loadToolbarActivator:key.keyboard.unknown:NONE -key_key.tacz.crawl.desc:key.keyboard.x:NONE \ No newline at end of file +key_key.tacz.crawl.desc:key.keyboard.c:NONE +key_key.prone:key.keyboard.c:NONE diff --git a/config/ftbquests/quests/chapters/questsmetallurgy.snbt b/config/ftbquests/quests/chapters/questsmetallurgy.snbt index 61a20311b..2fefe32ca 100644 --- a/config/ftbquests/quests/chapters/questsmetallurgy.snbt +++ b/config/ftbquests/quests/chapters/questsmetallurgy.snbt @@ -51,7 +51,7 @@ id: "19CF6D922179DFF9" linked_quest: "11C45DBB20ED7647" shape: "heart" - x: 9.0d + x: 8.5d y: -34.0d } { @@ -1302,6 +1302,21 @@ x: 18.5d y: -24.0d } + { + dependencies: ["174DA15847665CF8"] + description: ["{quests.metal_age.toolbelt.desc}"] + id: "1DEC710C3570D5D0" + shape: "heart" + subtitle: "{quests.metal_age.toolbelt.subtitle}" + tasks: [{ + id: "0233F2A323C9FF6F" + item: "toolbelt:belt" + type: "item" + }] + title: "{quests.metal_age.toolbelt.title}" + x: 9.5d + y: -34.0d + } ] subtitle: ["{quests.metal_age.subtitle}"] title: "{quests.metal_age}" diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index f84b7a487..ee01e4260 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1359,7 +1359,7 @@ "material.tfg.americium_241": "Americium 241", "material.tfg.californium_252": "Californium 252", "material.tfg.neptunium_237": "Neptunium 237", - "material.tfg.tbu_waste": "Thorium Breeder Waste", + "material.tfg.tbu_waste": "Thorium-Uranium Breeder Waste", "material.tfg.mixed_radioactive_fluid": "Mixed Radioactive Fluid", "material.tfg.degraded_solvent_stream": "Degraded Solvent Stream", "material.tfg.boron_enriched_coolant": "Boron Enriched Coolant", @@ -3556,6 +3556,9 @@ "quests.metal_age.wrought_iron_anvil.title": "T3 Anvil: Wrought Iron", "quests.metal_age.wrought_iron_anvil.subtitle": "Waterwheels, Windmills and more Greate", "quests.metal_age.wrought_iron_anvil.desc": "With the Wrought Iron Anvil you'll be able to work Wrought Iron Ingots into different items such as Sheets, Tool heads, etc.\n\nWrought Iron tools and armor isn't much of an improvement over Bronze, but it has far more durability.\n\nCreating the next anvil is going to be a significant step up in difficulty, so this is a good point to settle down and explore some of the other things this modpack has to offer.", + "quests.metal_age.toolbelt.title": "Toolbelt", + "quests.metal_age.toolbelt.subtitle": "Free up your inventory!", + "quests.metal_age.toolbelt.desc": "Put one of these in your &6Belt Slot&r and you'll free up a whole row of your inventory!\n\nYou can swap tools at any time by pressing the &aSwap Tool&r (default: X) keybind to open a radial menu.", "quests.metal_age.coke_oven.title": "Coke Oven", "quests.metal_age.coke_oven.subtitle": "Finally, No More Charcoal Piles", "quests.metal_age.coke_oven.desc.1": "The Coke Oven is your first GregTech multiblock! It allows you to automatically create Charcoal and other powerful combustibles. The Coke Oven will burn one Log into one Charcoal and 250mb of Creosote, which is an important chemical used in wood treating and as an early fuel.\n\nIf you craft the main Coke Oven block and press the JEI 'Uses' key on it (defaults to \"U\"), you'll find the tab called \"Multiblock Info\", which shows you how to build the Coke Oven in the world.\n\nYou can also just place the Controller block in the world, and interact with it while sneaking to create a Hologram of blocks missing.", @@ -4218,7 +4221,7 @@ "quests.stone_age.soup_time.desc": "By crafting a pot and some bowls out of clay, you'll be able to create soups!\n\nSoups are one of the first and easiest ways to create more complex meals. Unlike eating plain ingredients, these contain much more saturation and let you consume multiple nutrients at once!", "quests.stone_age.meals.title": "Meals", "quests.stone_age.meals.subtitle": "GET IN MAH BELLEH!", - "quests.stone_age.meals.desc": "These are just some of the basic meals you can create. Soups, salads, and sandwiches are your go-tos for easy high saturation combined meals, while pizzas are the only food that can contain every type of nutrient at once.", + "quests.stone_age.meals.desc": "These are just some of the basic meals you can create. Soups, salads, and sandwiches are your go-tos for easy high saturation combined meals.", "quests.stone_age.meals.tasks.1": "Any regular Sandwich", "quests.stone_age.meals.tasks.2": "Any regular Jam Sandwich", "quests.stone_age.garlic_bread.title": "Garlic Bread...?", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index b489989b6..49830c29e 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -3127,7 +3127,7 @@ "quests.stone_age.soup_time.desc": "By crafting a pot and some bowls out of clay, you'll be able to create soups!\n\nSoups are one of the first and easiest ways to create more complex meals. Unlike eating plain ingredients, these contain much more saturation and let you consume multiple nutrients at once!", "quests.stone_age.meals.title": "Meals", "quests.stone_age.meals.subtitle": "GET IN MAH BELLEH!", - "quests.stone_age.meals.desc": "These are just some of the basic meals you can create. Soups, salads, and sandwiches are your go-tos for easy high saturation combined meals, while pizzas are the only food that can contain every type of nutrient at once.", + "quests.stone_age.meals.desc": "These are just some of the basic meals you can create. Soups, salads, and sandwiches are your go-tos for easy high saturation combined meals.", "quests.stone_age.meals.tasks.1": "Any regular Sandwich", "quests.stone_age.meals.tasks.2": "Any regular Jam Sandwich", "quests.stone_age.garlic_bread.title": "Garlic Bread...?", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index 99ddccf2c..cde311ad7 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -2061,7 +2061,7 @@ "quests.stone_age.soup_time.desc": "Ao criar um pote e algumas tigelas de argila, você poderá preparar sopas!\n\nAs sopas são uma das primeiras e mais simples formas de criar refeições mais complexas. Diferente de comer os ingredientes crus, elas têm muito mais saturação e permitem consumir vários nutrientes de uma vez só!", "quests.stone_age.meals.title": "Refeições", "quests.stone_age.meals.subtitle": "ENTRA NO MEU BUCHO!", - "quests.stone_age.meals.desc": "Estas são apenas algumas das refeições básicas que você pode preparar. Sopas, saladas e sanduíches são boas opções para refeições combinadas com alta saturação, enquanto pizzas são o único alimento que pode conter todos os tipos de nutrientes ao mesmo tempo.", + "quests.stone_age.meals.desc": "Estas são apenas algumas das refeições básicas que você pode preparar. Sopas, saladas e sanduíches são boas opções para refeições combinadas com alta saturação.", "quests.stone_age.meals.tasks.1": "Qualquer Sanduíche comum", "quests.stone_age.meals.tasks.2": "Qualquer Sanduíche com Geleia", "quests.stone_age.garlic_bread.title": "Pão de Alho...?", From 679cd48f38f6608b57f6a3a6062d1ab9bc1a60d8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 19:16:17 +0000 Subject: [PATCH 317/474] add optional pouch --- .../quests/chapters/questsmetallurgy.snbt | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/config/ftbquests/quests/chapters/questsmetallurgy.snbt b/config/ftbquests/quests/chapters/questsmetallurgy.snbt index 2fefe32ca..eca75da26 100644 --- a/config/ftbquests/quests/chapters/questsmetallurgy.snbt +++ b/config/ftbquests/quests/chapters/questsmetallurgy.snbt @@ -1305,14 +1305,23 @@ { dependencies: ["174DA15847665CF8"] description: ["{quests.metal_age.toolbelt.desc}"] + icon: "toolbelt:belt" id: "1DEC710C3570D5D0" shape: "heart" subtitle: "{quests.metal_age.toolbelt.subtitle}" - tasks: [{ - id: "0233F2A323C9FF6F" - item: "toolbelt:belt" - type: "item" - }] + tasks: [ + { + id: "0233F2A323C9FF6F" + item: "toolbelt:belt" + type: "item" + } + { + id: "09A674FE4BA67280" + item: "toolbelt:pouch" + optional_task: true + type: "item" + } + ] title: "{quests.metal_age.toolbelt.title}" x: 9.5d y: -34.0d From 614472d659151ac36cf0b89817ae59b0c257f51e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 20:02:41 +0000 Subject: [PATCH 318/474] quest tweaks --- .../quests/chapters/ev__extreme_voltage.snbt | 123 +++++++++--------- .../quests/chapters/gregtech_energy.snbt | 1 + 2 files changed, 63 insertions(+), 61 deletions(-) diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index bae9c8d80..429aa4cec 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -6,7 +6,7 @@ icon: "tfg:ev_universal_circuit" id: "6B1AD2350778D945" images: [{ - alpha: 64 + alpha: 32 height: 8.0d image: "gtceu:textures/gui/overlay/atomic_overlay_2.png" rotation: 0.0d @@ -32,20 +32,21 @@ id: "66960076A74E9B79" linked_quest: "0CA5B715B76E4A5B" shape: "diamond" - x: 16.0d - y: 2.5d + x: 13.0d + y: 1.5d } { id: "6058CD9466BE0852" linked_quest: "00202200344F3456" - x: 13.0d - y: 4.0d + x: 12.5d + y: 3.0d } { id: "49FB3507B0FB3000" linked_quest: "155F421FC2F39C3C" + shape: "diamond" x: 11.5d - y: 4.0d + y: 1.5d } { id: "7FDAA0AA0D463A49" @@ -66,7 +67,7 @@ linked_quest: "6ECAD339C91EF194" shape: "heart" x: 17.5d - y: 8.0d + y: 7.5d } { icon: { @@ -78,8 +79,8 @@ } id: "2DD8555DDAA44979" linked_quest: "0ABD326DC2551CBD" - x: 24.5d - y: 9.0d + x: 23.5d + y: 10.5d } ] quests: [ @@ -327,8 +328,8 @@ item: "gtceu:alloy_blast_smelter" type: "item" }] - x: 13.0d - y: 1.0d + x: 14.5d + y: 0.0d } { dependencies: ["4EA8888B12D75BF1"] @@ -445,7 +446,7 @@ ] title: "{quests.extreme_voltage.gcym_alloys.title}" x: 10.0d - y: 1.0d + y: 0.0d } { dependencies: ["7B2EE67E37809269"] @@ -493,7 +494,7 @@ type: "item" }] x: 17.5d - y: 1.0d + y: 0.0d } { dependencies: [ @@ -581,7 +582,7 @@ } ] title: "{quests.extreme_voltage.heavy_water.title}" - x: 10.0d + x: 8.5d y: 5.5d } { @@ -690,7 +691,7 @@ } type: "item" }] - x: 12.5d + x: 13.0d y: 7.0d } { @@ -711,8 +712,8 @@ } ] title: "{quests.extreme_voltage.uranium_line.title}" - x: 12.5d - y: 8.0d + x: 13.0d + y: 9.0d } { dependencies: [ @@ -729,7 +730,7 @@ item: "gtceu:uraninite_dust" type: "item" }] - x: 12.5d + x: 11.5d y: 9.0d } { @@ -792,7 +793,7 @@ }] title: "{quests.extreme_voltage.heat_exchanger.title}" x: 14.5d - y: 5.5d + y: 4.5d } { dependencies: ["4EA8888B12D75BF1"] @@ -821,8 +822,8 @@ } ] title: "{quests.extreme_voltage.ammonium_formate.title}" - x: 12.5d - y: 5.5d + x: 13.0d + y: 4.5d } { dependencies: ["75725B3F6603F1D0"] @@ -845,7 +846,7 @@ ] title: "{quests.extreme_voltage.formamide.title}" x: 16.0d - y: 5.5d + y: 4.5d } { dependencies: [ @@ -878,7 +879,7 @@ ] title: "{quests.extreme_voltage.nuclear_residue_dust.title}" x: 17.5d - y: 5.5d + y: 4.5d } { dependencies: [ @@ -904,7 +905,7 @@ ] title: "{quests.extreme_voltage.martian_sludge.title}" x: 17.5d - y: 3.5d + y: 1.5d } { dependencies: ["4EA8888B12D75BF1"] @@ -933,8 +934,8 @@ } ] title: "{quests.extreme_voltage.hexafluorosilic_acid.title}" - x: 19.0d - y: 3.5d + x: 16.0d + y: 1.5d } { dependencies: ["2B666F65B5F196E6"] @@ -951,7 +952,7 @@ type: "item" }] x: 19.0d - y: 5.5d + y: 4.5d } { dependencies: ["5523F60CE095BD0A"] @@ -964,7 +965,7 @@ type: "item" }] x: 19.0d - y: 7.0d + y: 6.0d } { dependencies: [ @@ -990,7 +991,7 @@ type: "item" }] x: 19.0d - y: 10.5d + y: 9.0d } { dependencies: ["5523F60CE095BD0A"] @@ -1012,8 +1013,8 @@ } ] title: "{quests.extreme_voltage.radioactive_concoction.title}" - x: 22.0d - y: 5.5d + x: 20.5d + y: 4.5d } { dependencies: ["4C0E5C517F0137B9"] @@ -1035,7 +1036,7 @@ } ] title: "{quests.extreme_voltage.tritiated_water.title}" - x: 12.5d + x: 19.0d y: 10.5d } { @@ -1181,7 +1182,7 @@ ] title: "{quests.extreme_voltage.ostrum_harvester.title}" x: 14.5d - y: 2.5d + y: 1.5d } { dependencies: ["017019EB38F7A18C"] @@ -1278,7 +1279,7 @@ ] title: "{quests.extreme_voltage.ev_superconductor.title}" x: 17.5d - y: 7.0d + y: 6.0d } { dependencies: ["017019EB38F7A18C"] @@ -1599,8 +1600,6 @@ description: ["{quests.extreme_voltage.plutonium.desc}"] icon: "gtceu:plutonium_ingot" id: "41D968B30C11934C" - shape: "octagon" - size: 1.5d subtitle: "{quests.extreme_voltage.plutonium.subtitle}" tasks: [ { @@ -1617,7 +1616,7 @@ ] title: "{quests.extreme_voltage.plutonium.title}" x: 19.0d - y: 9.0d + y: 7.5d } { dependencies: ["26AA29016BA23396"] @@ -1625,7 +1624,7 @@ icon: "tfg:ostrum_linear_accelerator" id: "691A36800DC755C1" shape: "octagon" - size: 2.0d + size: 1.5d subtitle: "{quests.extreme_voltage.ostrum_linear.subtitle}" tasks: [ { @@ -1645,7 +1644,7 @@ } ] x: 22.0d - y: 9.0d + y: 6.0d } { dependencies: ["691A36800DC755C1"] @@ -1668,7 +1667,7 @@ ] title: "{quests.extreme_voltage.ostrum_vapor.title}" x: 20.5d - y: 9.0d + y: 6.0d } { dependencies: [ @@ -1695,7 +1694,7 @@ ] title: "{quests.extreme_voltage.light_ostrum_vapor.title}" x: 22.0d - y: 12.0d + y: 7.5d } { dependencies: ["691A36800DC755C1"] @@ -1718,7 +1717,7 @@ ] title: "{quests.extreme_voltage.dense_ostrum_vapor.title}" x: 23.5d - y: 9.0d + y: 6.0d } { dependencies: ["4F647D6A4949EDF7"] @@ -1776,7 +1775,7 @@ } ] x: 22.0d - y: 13.0d + y: 9.0d } { dependencies: ["3A2E442E4D84C891"] @@ -1888,7 +1887,7 @@ ] title: "{quests.extreme_voltage.refrigerant_pellet.title}" x: 20.5d - y: 10.5d + y: 7.5d } { dependencies: ["29E0829816B9DBA0"] @@ -1960,7 +1959,7 @@ type: "item" }] title: "{quests.extreme_voltage.large_miner.title}" - x: 10.0d + x: 9.5d y: -4.5d } { @@ -2024,7 +2023,7 @@ ] title: "{quests.extreme_voltage.ostrum_dust.title}" x: 14.5d - y: 4.0d + y: 3.0d } { dependencies: ["04682CD04FE0A56E"] @@ -2180,20 +2179,21 @@ ] disable_toast: true id: "40CBACE41B71C011" + optional: true shape: "octagon" size: 1.5d - tasks: [ - { - id: "229957FF419324F0" - item: "gtceu:large_combustion_engine" - type: "item" + tasks: [{ + id: "656484D8CCA0018E" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:large_combustion_engine)item(gtceu:gas_large_turbine))" + } } - { - id: "49B66E0C0E22403A" - item: "gtceu:gas_large_turbine" - type: "item" - } - ] + title: "{quests.extreme_voltage.large_generators.task}" + type: "item" + }] title: "{quests.extreme_voltage.large_generators.title}" x: 2.0d y: 4.5d @@ -2264,8 +2264,6 @@ dependencies: ["617CF3335584DC8D"] description: ["{quests.extreme_voltage.heat_battery.desc}"] id: "26AA29016BA23396" - shape: "octagon" - size: 1.5d subtitle: "{quests.extreme_voltage.heat_battery.subtitle}" tasks: [{ id: "5C9A37E905A4030F" @@ -2273,10 +2271,13 @@ type: "item" }] x: 22.0d - y: 7.0d + y: 4.5d } { - dependencies: ["155F421FC2F39C3C"] + dependencies: [ + "155F421FC2F39C3C" + "29E0829816B9DBA0" + ] description: ["{quests.extreme_voltage.nichromium_iode.desc}"] icon: "tfg:nichromium_iodomethylate_bucket" id: "5CF70AC24D269279" diff --git a/config/ftbquests/quests/chapters/gregtech_energy.snbt b/config/ftbquests/quests/chapters/gregtech_energy.snbt index 06f8c624a..1c658bad5 100644 --- a/config/ftbquests/quests/chapters/gregtech_energy.snbt +++ b/config/ftbquests/quests/chapters/gregtech_energy.snbt @@ -1318,6 +1318,7 @@ dependencies: [ "4512E5DE7A84F809" "4C29DDE89AE8D6EE" + "3E0ABDFCC0FC6928" ] dependency_requirement: "one_completed" description: [ From 90d0c8e915a424da5fd9a6a6f27aedb1b2e68595 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 20:03:03 +0000 Subject: [PATCH 319/474] more rockwool for the RTM coils --- kubejs/server_scripts/tfg/machines/recipes.coils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/machines/recipes.coils.js b/kubejs/server_scripts/tfg/machines/recipes.coils.js index 44a47b9e5..1bb65e9c6 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.coils.js +++ b/kubejs/server_scripts/tfg/machines/recipes.coils.js @@ -79,7 +79,7 @@ function registerTFGCoilRecipes(event) { event.remove({ id : 'gtceu:assembler/coil_rtm_alloy' }) event.recipes.gtceu.assembler('tfg:coil_rtm_alloy') - .itemInputs('8x #forge:double_wires/rtm_alloy', '8x #forge:foils/vanadium_steel', '#forge:insulation_t2/sheet') + .itemInputs('8x #forge:double_wires/rtm_alloy', '8x #forge:foils/vanadium_steel', '8x #forge:insulation_t2/sheet') .inputFluids('tfg:nichromium_iodomethylate 244') .itemOutputs('gtceu:rtm_alloy_coil_block') .duration(20 * 25) From f3888958a2d722666f8c30c597362d8eea94f4a0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 20:03:08 +0000 Subject: [PATCH 320/474] pakku --- pakku.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pakku.json b/pakku.json index faf8a0638..e9af41c30 100644 --- a/pakku.json +++ b/pakku.json @@ -1,7 +1,7 @@ { "name": "TerraFirmaGreg-Modern", "version": "DEV", - "release_type": "release", + "release_type": "alpha", "description": "An innovative modpack that contains GregTech and TerraFirmaCraft on 1.20.x.", "author": "Exception, Xikaro", "overrides": [ From 177fa4169717cc37bfc1e2eb5c4332ca740b565f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 20:13:06 +0000 Subject: [PATCH 321/474] convert more bucket quests into checkboxes --- .../quests/chapters/ev__extreme_voltage.snbt | 204 ++++++++++++------ 1 file changed, 136 insertions(+), 68 deletions(-) diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 429aa4cec..7e486c033 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -19,7 +19,7 @@ { id: "0D951ADFB3AF2E74" linked_quest: "7B2EE67E37809269" - x: 8.5d + x: 5.0d y: -1.0d } { @@ -59,8 +59,8 @@ { id: "7B380A243C2C39FA" linked_quest: "13F2929C1C303A0B" - x: 4.25d - y: -3.5d + x: 5.5d + y: -2.5d } { id: "2151F8AA263F1D6E" @@ -256,13 +256,22 @@ "{@pagebreak}" "{quests.extreme_voltage.epoxy.desc.3}" ] + icon: "gtceu:epoxy_bucket" id: "55FB2776B724FB63" subtitle: "{quests.extreme_voltage.epoxy.subtitle}" - tasks: [{ - id: "096B6E1EA8DBC186" - item: "gtceu:epoxy_bucket" - type: "item" - }] + tasks: [ + { + id: "096B6E1EA8DBC186" + item: "gtceu:epoxy_bucket" + optional_task: true + type: "item" + } + { + id: "33C7361EEFF2E4B5" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] title: "{quests.extreme_voltage.epoxy.title}" x: -7.0d y: 4.5d @@ -270,19 +279,28 @@ { dependencies: ["3A2E442E4D84C891"] description: ["{quests.extreme_voltage.oil_distillation.desc}"] + icon: "gtceu:oil_bucket" id: "2DEC7AF917AAE4EC" - tasks: [{ - id: "559166D928E75B8F" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:oil_bucket)item(gtceu:oil_light_bucket)item(gtceu:oil_medium_bucket)item(gtceu:oil_heavy_bucket))" + tasks: [ + { + id: "559166D928E75B8F" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:oil_bucket)item(gtceu:oil_light_bucket)item(gtceu:oil_medium_bucket)item(gtceu:oil_heavy_bucket))" + } } + optional_task: true + title: "{quests.extreme_voltage.oil_distillation.task}" + type: "item" } - title: "{quests.extreme_voltage.oil_distillation.task}" - type: "item" - }] + { + id: "2B5D6C28550F3FD9" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] title: "{quests.extreme_voltage.oil_distillation.title}" x: -7.0d y: -2.5d @@ -296,19 +314,28 @@ "{@pagebreak}" "{quests.extreme_voltage.wood_distillation.desc.3}" ] + icon: "gtceu:wood_tar_bucket" id: "43BBB9074608F9B1" - tasks: [{ - id: "4D90CDAAA91AE033" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:wood_tar_bucket)item(gtceu:wood_vinegar_bucket)item(gtceu:charcoal_byproducts_bucket))" + tasks: [ + { + id: "4D90CDAAA91AE033" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:wood_tar_bucket)item(gtceu:wood_vinegar_bucket)item(gtceu:charcoal_byproducts_bucket))" + } } + optional_task: true + title: "{quests.extreme_voltage.wood_distillation.task}" + type: "item" } - title: "{quests.extreme_voltage.wood_distillation.task}" - type: "item" - }] + { + id: "6EB7DA5D867B279C" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] title: "{quests.extreme_voltage.wood_distillation.title}" x: -5.5d y: -2.5d @@ -336,8 +363,6 @@ dependency_requirement: "all_started" description: ["{quests.extreme_voltage.ev_mixer.desc}"] id: "61D5055F344DDFAD" - shape: "octagon" - size: 1.5d subtitle: "{quests.extreme_voltage.ev_mixer.subtitle}" tasks: [{ id: "7A401E905A41C399" @@ -345,7 +370,7 @@ type: "item" }] title: "{quests.extreme_voltage.ev_mixer.title}" - x: 5.25d + x: 3.75d y: 0.0d } { @@ -384,6 +409,8 @@ ] description: ["{quests.extreme_voltage.rtm_coil.desc}"] id: "7F4E529627AD9148" + shape: "octagon" + size: 1.5d subtitle: "{quests.extreme_voltage.rtm_coil.subtitle}" tasks: [{ id: "00C380A4403239AA" @@ -480,8 +507,8 @@ } ] title: "{quests.extreme_voltage.ruthenium.title}" - x: 8.5d - y: 0.0d + x: 6.0d + y: -1.0d } { dependencies: ["24ECDF70031B39C4"] @@ -519,7 +546,7 @@ } ] title: "{quests.extreme_voltage.tungsten_steel.title}" - x: 5.25d + x: 3.75d y: -2.5d } { @@ -908,7 +935,7 @@ y: 1.5d } { - dependencies: ["4EA8888B12D75BF1"] + dependencies: ["2979AFD231E5B37B"] description: ["{quests.extreme_voltage.hexafluorosilic_acid.desc}"] hide_dependency_lines: true icon: "gtceu:dirty_hexafluorosilicic_acid_bucket" @@ -922,14 +949,8 @@ type: "item" } { - id: "541418FD093548C2" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "item_tag(forge:dusts/ochrum)" - } - } + id: "1963DB3E483659FD" + item: "gtceu:ochrum_dust" type: "item" } ] @@ -1217,6 +1238,7 @@ { dependencies: ["55FB2776B724FB63"] description: ["{quests.extreme_voltage.aes_insulation.desc}"] + icon: "tfg:aes_insulation_roll" id: "3B18DE7395776B41" subtitle: "{quests.extreme_voltage.aes_insulation.subtitle}" tasks: [ @@ -1446,13 +1468,22 @@ { dependencies: ["3A2E442E4D84C891"] description: ["{quests.extreme_voltage.liquid_mars_air.desc}"] + icon: "tfg:liquid_mars_air_bucket" id: "3A46387D683ADC58" subtitle: "{quests.extreme_voltage.liquid_mars_air.subtitle}" - tasks: [{ - id: "60D5C9CC89134D1E" - item: "tfg:liquid_mars_air_bucket" - type: "item" - }] + tasks: [ + { + id: "60D5C9CC89134D1E" + item: "tfg:liquid_mars_air_bucket" + optional_task: true + type: "item" + } + { + id: "7679D78CE272C509" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] title: "{quests.extreme_voltage.liquid_mars_air.title}" x: -9.5d y: 1.0d @@ -1795,13 +1826,22 @@ { dependencies: ["3A2E442E4D84C891"] description: ["{quests.extreme_voltage.liquid_air.desc}"] + icon: "gtceu:liquid_air_bucket" id: "7EAA2149BD77A5E6" subtitle: "{quests.extreme_voltage.liquid_air.subtitle}" - tasks: [{ - id: "4B69CAB4467BBE1E" - item: "gtceu:liquid_air_bucket" - type: "item" - }] + tasks: [ + { + id: "4B69CAB4467BBE1E" + item: "gtceu:liquid_air_bucket" + optional_task: true + type: "item" + } + { + id: "001FF194BBEB98F1" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] title: "{quests.extreme_voltage.liquid_air.title}" x: -9.5d y: 0.0d @@ -1822,6 +1862,7 @@ dependencies: ["4EA8888B12D75BF1"] description: ["{quests.extreme_voltage.nuclear_turbine.desc}"] hide_dependency_lines: true + icon: "tfg:nuclear_turbine" id: "1655573AE1C8484B" shape: "octagon" size: 1.5d @@ -2074,12 +2115,21 @@ dependencies: ["3A2E442E4D84C891"] description: ["{quests.extreme_voltage.epichlorohydrin.desc}"] hide_dependency_lines: true + icon: "gtceu:epichlorohydrin_bucket" id: "146E086823CEEF7A" - tasks: [{ - id: "7E1FFA943BAECDB9" - item: "gtceu:epichlorohydrin_bucket" - type: "item" - }] + tasks: [ + { + id: "7E1FFA943BAECDB9" + item: "gtceu:epichlorohydrin_bucket" + optional_task: true + type: "item" + } + { + id: "5FE5EC623F1412C0" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] title: "{quests.extreme_voltage.epichlorohydrin.title}" x: -8.5d y: 3.5d @@ -2094,12 +2144,21 @@ "{quests.extreme_voltage.phenol.desc.3}" ] hide_dependency_lines: true + icon: "gtceu:phenol_bucket" id: "431063775DFA1519" - tasks: [{ - id: "6452431C90671E6D" - item: "gtceu:phenol_bucket" - type: "item" - }] + tasks: [ + { + id: "6452431C90671E6D" + item: "gtceu:phenol_bucket" + optional_task: true + type: "item" + } + { + id: "282831A0E103E0CE" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] title: "{quests.extreme_voltage.phenol.title}" x: -9.0d y: 4.5d @@ -2112,12 +2171,21 @@ "{quests.extreme_voltage.acetone.desc.2}" ] hide_dependency_lines: true + icon: "gtceu:acetone_bucket" id: "461ABF74A9406752" - tasks: [{ - id: "4CE653FC4E438F02" - item: "gtceu:acetone_bucket" - type: "item" - }] + tasks: [ + { + id: "4CE653FC4E438F02" + item: "gtceu:acetone_bucket" + optional_task: true + type: "item" + } + { + id: "2BB3BED0A7927EDC" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] title: "{quests.extreme_voltage.acetone.title}" x: -8.5d y: 5.5d From 27cab596a97a53e5661f8b941b1da26604dda6c6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 21:07:46 +0000 Subject: [PATCH 322/474] add double rocket to quests --- .../quests/chapters/ev__extreme_voltage.snbt | 14 +++++++++++--- .../quests/chapters/hv__high_voltage.snbt | 14 +++++++++++--- kubejs/assets/tfg/lang/en_us.json | 5 ++++- kubejs/client_scripts/tooltips.js | 2 +- 4 files changed, 27 insertions(+), 8 deletions(-) diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 7e486c033..73080192c 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -110,18 +110,26 @@ "3B18DE7395776B41" ] description: ["{quests.extreme_voltage.t2_rocket.desc}"] + icon: { + Count: 1 + id: "ad_astra:tier_2_rocket" + tag: { } + } icon_scale: 2.0d id: "52AB0BDC64293253" shape: "none" size: 2.0d subtitle: "{quests.extreme_voltage.t2_rocket.subtitle}" tasks: [{ - id: "00802CE875F2FB24" + id: "13C10613129C3692" item: { Count: 1 - id: "ad_astra:tier_2_rocket" - tag: { } + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(ad_astra:tier_2_rocket)item(tfg:tier_2_double_rocket))" + } } + title: "{quests.extreme_voltage.t2_rocket.task}" type: "item" }] title: "{quests.extreme_voltage.t2_rocket.title}" diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index 949f23310..7fad3ab38 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -1010,18 +1010,26 @@ ] dependency_requirement: "one_completed" description: ["{quests.high_voltage.rocket_t1.desc}"] + icon: { + Count: 1 + id: "ad_astra:tier_1_rocket" + tag: { } + } icon_scale: 2.0d id: "3FBDC8552F7D8008" shape: "none" size: 2.0d subtitle: "{quests.high_voltage.rocket_t1.subtitle}" tasks: [{ - id: "76D1CE96C52F9963" + id: "6F40128FAA409B16" item: { Count: 1 - id: "ad_astra:tier_1_rocket" - tag: { } + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(ad_astra:tier_1_rocket)item(tfg:tier_1_double_rocket))" + } } + title: "{quests.high_voltage.rocket_t1.task}" type: "item" }] title: "{quests.high_voltage.rocket_t1.title}" diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index ee01e4260..3121d421f 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2320,6 +2320,7 @@ "quests.extreme_voltage.t2_rocket.title": "Rocket 2: Titanium Boogaloo", "quests.extreme_voltage.t2_rocket.subtitle": "This one's purple", "quests.extreme_voltage.t2_rocket.desc": "This new rocket shouldn’t be too difficult to assemble, but you’ll notice a clear jump in material costs compared to your previous model.\n\nThe upgraded &6Rocket Alloys&r now require both &bDistilled Water&r and &bCryogenized Fluix&r for cooling.\n\nMake sure you've fully set up your &eTitanium&r production line, as you're going to need a lot of it going forward! A continuous production line will save you a lot of frustration down the road.", + "quests.extreme_voltage.t2_rocket.task": "Either rocket", "quests.extreme_voltage.mars.title": "I'm on &4Mars&r!", "quests.extreme_voltage.mars.subtitle": "The Red Planet", "quests.extreme_voltage.mars.desc.1": "Before landing on &4Mars&r, there are a few important things to keep in mind.\n\nFirst, like the Moon, &4Mars&r will have some hostile surface mobs as well. If you haven't already figured out how to make your Space Suit stay with you after dying or invested in new EV-tier weaponry, you'll have a rough time.\n\nThe planet is mostly a &edesert world&r, dotted with \"&aislands&r\" where you’ll find &bwater&r, lush fauna, and much safer places to build your first base. Meanwhile, the open desert is extremely dangerous if you don't watch your step, but contains some other crucial resources!", @@ -2546,6 +2547,7 @@ "quests.extreme_voltage.martian_sludge.desc": "Centrifuge the Hexafluorosilic Acid to get your Fluorine back, along with some &6Martian Sludge&r - required for Radon and Nuclear Residue.", "quests.extreme_voltage.large_generators.title": "Extreme Power Generation", "quests.extreme_voltage.large_generators.desc": "The various single-block generators only go up to HV, so from here on, you'll have to use multiblocks to generate more power. Two of the best options at EV are the &dLarge Gas Turbine&r and &dLarge Combustion Engine&r, so head over to the GregTech Energy chapter to learn more about them.", + "quests.extreme_voltage.large_generators.task": "A Large Gas Turbine or Large Combustion Engine", "quests.extreme_voltage.large_centrifuge.subtitle": "Material Carousel", "quests.extreme_voltage.large_centrifuge.desc": "The &6Large Centrifugal Unit&r is a mandatory multiblock for your Fission Line.\n\nIt supports up to &52x EV Energy Hatches&r, allowing it to process &1IV-tier&r recipes using the same mechanic as the EBF, so it should feel familiar.\n\nThis machine can operate in two modes: &bCentrifuge&r and &6Thermal Centrifuge&r. You can easily switch between them directly in the controller interface, but unfortunately can't be controlled with AE2 or other automation.\n\nWith this upgrade, you can finally bring your &aore processing&r to a whole new level of speed.", "quests.extreme_voltage.btx.title": "BTX Fuel", @@ -2891,6 +2893,7 @@ "quests.high_voltage.rocket_t1.title": "Your First Rocket!", "quests.high_voltage.rocket_t1.subtitle": "The first of many", "quests.high_voltage.rocket_t1.desc": "Wow, it's time to build your &6Rocket&r!\n\nAssemble all the parts with &d8 Dense Rocket Alloy&r. To finish the insulation, you'll need &b2304mb&r of &bLiquid Silicon&r (&b16 ingots&r) and &f16 pieces of dust&r.\n\nYou have two choices:\n&e-&r &eBorosilicate Glass Dust&r — crafted in a &6Mixer&r with &dBoron&r and &fGlass Dust&r\n\n&e-&r &5Vitrified Asbestos&r — obtained through a &6Pyrolyse Oven&r\n\nGo with whichever's easiest for you!", + "quests.high_voltage.rocket_t1.task": "Either rocket", "quests.high_voltage.vitrified_pearl.title": "Vitrified Ender Pearl", "quests.high_voltage.vitrified_pearl.subtitle": "An Exotic Ceramic", "quests.high_voltage.vitrified_pearl.desc": "Heat the Ender Pearl in a &ePyrolyse Oven&r along with some appropriate insulation to properly vitrify it into something resembling a &3ceramic&r.\n\nYou won’t need many of these for now — at minimum, just one for your &6Rocket&r and another for your &6HV Circuit Assembler&r.\nBut be warned: from &5EV&r and beyond, the demand will rise quickly.", @@ -3558,7 +3561,7 @@ "quests.metal_age.wrought_iron_anvil.desc": "With the Wrought Iron Anvil you'll be able to work Wrought Iron Ingots into different items such as Sheets, Tool heads, etc.\n\nWrought Iron tools and armor isn't much of an improvement over Bronze, but it has far more durability.\n\nCreating the next anvil is going to be a significant step up in difficulty, so this is a good point to settle down and explore some of the other things this modpack has to offer.", "quests.metal_age.toolbelt.title": "Toolbelt", "quests.metal_age.toolbelt.subtitle": "Free up your inventory!", - "quests.metal_age.toolbelt.desc": "Put one of these in your &6Belt Slot&r and you'll free up a whole row of your inventory!\n\nYou can swap tools at any time by pressing the &aSwap Tool&r (default: X) keybind to open a radial menu.", + "quests.metal_age.toolbelt.desc": "Put one of these in your &6Belt Slot&r and you'll free up a whole row of your inventory!\n\nYou can swap tools at any time by pressing the &aSwap Tool&r (default: X) keybind to open a radial menu.\n\nToolbelts can be upgraded with eight pouches to hold 9 items total.", "quests.metal_age.coke_oven.title": "Coke Oven", "quests.metal_age.coke_oven.subtitle": "Finally, No More Charcoal Piles", "quests.metal_age.coke_oven.desc.1": "The Coke Oven is your first GregTech multiblock! It allows you to automatically create Charcoal and other powerful combustibles. The Coke Oven will burn one Log into one Charcoal and 250mb of Creosote, which is an important chemical used in wood treating and as an early fuel.\n\nIf you craft the main Coke Oven block and press the JEI 'Uses' key on it (defaults to \"U\"), you'll find the tab called \"Multiblock Info\", which shows you how to build the Coke Oven in the world.\n\nYou can also just place the Controller block in the world, and interact with it while sneaking to create a Hologram of blocks missing.", diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index bfd0c0cfa..4ac1839b5 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -115,7 +115,7 @@ const registerTooltips = (event) => { text.add(1, Text.translate('gtceu.tooltip.machine.coal_liquefaction_tower_1')); text.add(2, Text.translate('gtceu.tooltip.machine.coal_liquefaction_tower_2')); text.add(3, Text.translate('tfg.tooltip.machine.coil_speed_discount')); - text.add(4, Text.translate('tfg.tooltip.machine.one_energy_hatch')); + text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatch')); }) event.addAdvanced(['tfg:hydroponics_facility'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.machine.hydroponics_facility_1')); From 36125f7d5d699885259ccd462b83fb89890bb133 Mon Sep 17 00:00:00 2001 From: OLOXpl <125832723+OLOXpl@users.noreply.github.com> Date: Sun, 1 Feb 2026 22:45:44 +0100 Subject: [PATCH 323/474] Dye mixing (#2938) * Update recipes.dyes.js added base 9 dye mixing as fluids + 2 custom ones as stated in the issue #2818 * Revert "Update recipes.dyes.js" This reverts commit b06ed24bf42fafc4233c6c6278fa5199e5542bfd. * Update recipes.dyes.js added base 9 dye mixing as fluids + 2 custom ones as stated in the issue #2818 attempt nr 2 * barrel recipe barrel recipes and fix due to my colour blindness (; --------- Signed-off-by: OLOXpl <125832723+OLOXpl@users.noreply.github.com> --- kubejs/server_scripts/tfc/recipes.dyes.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfc/recipes.dyes.js b/kubejs/server_scripts/tfc/recipes.dyes.js index a0d9d435b..45c3e2030 100644 --- a/kubejs/server_scripts/tfc/recipes.dyes.js +++ b/kubejs/server_scripts/tfc/recipes.dyes.js @@ -168,7 +168,7 @@ function registerTFCDyeRecipes(event) { ], // input 2 [ - 'light_gray', 'gray', 'green', + 'white', 'gray', 'green', 'blue', 'green', 'red', 'pink', 'red', 'yellow', 'black', 'blue' @@ -188,6 +188,7 @@ function registerTFCDyeRecipes(event) { !Fluid.exists(`tfc:${dyeMixes[2][i]}_dye`) ) continue + // GT mixer recipe event.recipes.gtceu.mixer(`mixer_dye_${dyeMixes[2][i]}`) .inputFluids( Fluid.of(`tfc:${dyeMixes[0][i]}_dye`, 144), @@ -198,6 +199,18 @@ function registerTFCDyeRecipes(event) { ) .duration(20) .EUt(8) + + // TFC barrel recipes (2x because 2! = 2) + event.recipes.tfc.barrel_instant_fluid( + Fluid.of(`tfc:${dyeMixes[2][i]}_dye`, 2), + TFC.fluidStackIngredient(Fluid.of(`tfc:${dyeMixes[0][i]}_dye`, 1)), + TFC.fluidStackIngredient(Fluid.of(`tfc:${dyeMixes[1][i]}_dye`, 1)), + ) + event.recipes.tfc.barrel_instant_fluid( + Fluid.of(`tfc:${dyeMixes[2][i]}_dye`, 2), + TFC.fluidStackIngredient(Fluid.of(`tfc:${dyeMixes[1][i]}_dye`, 1)), + TFC.fluidStackIngredient(Fluid.of(`tfc:${dyeMixes[0][i]}_dye`, 1)), + ) } //#endregion From 9228cd7645a2a70892b6b01db83e965fc2d5633c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 22:02:37 +0000 Subject: [PATCH 324/474] change hss-g coils, update mars quests, langs --- CHANGELOG.md | 6 +- config/ftbquests/quests/chapters/mars.snbt | 69 +++++++++++++++++-- .../en_us/entries/tfg_tips/space_fauna.json | 2 +- kubejs/assets/tfg/lang/en_us.json | 14 +++- .../tfg/machines/recipes.coils.js | 15 ++++ 5 files changed, 96 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aba034dc3..03e468ca9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,10 @@ - Cupronickel coils now also need blue steel foil instead of bronze - Polyethylene now requires an MV chemical reactor - Added the Artisan Table to "knap" circuit boards and GT extruder and casting molds, replacing their crafting table recipes. @BlueBoat29 @Redeix +#### EV changes +(tom's changelist goes here) +#### IV changes +- Multi-Layer Insulated Shielding is now required for HSS-G coils. ### Changes - Added much more music to the different dimensions @Pyritie - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie @@ -44,7 +48,7 @@ - Added assembler recipe for framed cubes (#2889) @Coox1e - Added a furnace recipe for dead grass to thatch (#2935) @Coox1e - Added support for Bluemap (#2922) @trisjob -- Added mixer recipes for dye fluids (#2925) @OLOXpl +- Added mixer and barrel recipes for dye fluids (#2925, #2938) @OLOXpl ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/config/ftbquests/quests/chapters/mars.snbt b/config/ftbquests/quests/chapters/mars.snbt index 48f971db3..fea88964f 100644 --- a/config/ftbquests/quests/chapters/mars.snbt +++ b/config/ftbquests/quests/chapters/mars.snbt @@ -153,7 +153,7 @@ type: "item" }] title: "{quests.space_survival.heavy_ammoniacal_water.title}" - x: 15.0d + x: 15.5d y: -4.0d } { @@ -174,7 +174,7 @@ { dependencies: ["5AC5AAB9B3758E30"] description: ["{quests.space_survival.soarer.desc}"] - guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 20" + guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 21" icon: "wan_ancient_beasts:soarer_egg" id: "2F711C064635EF2D" optional: true @@ -289,7 +289,7 @@ }] title: "{quests.space_survival.mars_crops.title}" x: 13.5d - y: -1.5d + y: -2.0d } { dependencies: ["0967CE7F5DFF5CF6"] @@ -460,7 +460,7 @@ ] title: "{quests.space_survival.bulbkin_pie.title}" x: 13.5d - y: 0.0d + y: -0.5d } { dependencies: ["155F421FC2F39C3C"] @@ -479,7 +479,7 @@ { dependencies: ["5AC5AAB9B3758E30"] description: ["{quests.space_survival.surfer.desc}"] - guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 17" + guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 20" id: "43EBECA48E341C47" optional: true shape: "heart" @@ -578,6 +578,65 @@ x: 12.0d y: -6.5d } + { + dependencies: ["5AC5AAB9B3758E30"] + description: ["{quests.space_survival.charger.desc}"] + guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 19" + icon: "wan_ancient_beasts:charger_egg" + id: "148C2DA8FB1D6DB1" + optional: true + shape: "heart" + subtitle: "{quests.space_survival.charger.subtitle}" + tasks: [ + { + icon: "wan_ancient_beasts:charger_egg" + id: "78EBECCA1C40A3BD" + observe_type: 5 + timer: 0L + title: "{quests.space_survival.charger.task}" + to_observe: "wan_ancient_beasts:charger" + type: "observation" + } + { + id: "33ADD26F6AA89CA7" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(wan_ancient_beasts:charger_armors)" + } + } + optional_task: true + title: "Any #wan_ancient_beasts:charger_armors" + type: "item" + } + ] + title: "{quests.space_survival.charger.title}" + x: 9.0d + y: -4.0d + } + { + dependencies: ["5AC5AAB9B3758E30"] + description: ["{quests.space_survival.snatcher.desc}"] + guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 17" + icon: "wan_ancient_beasts:snatcher_egg" + id: "02A7FD58F462320F" + optional: true + shape: "heart" + subtitle: "{quests.space_survival.snatcher.subtitle}" + tasks: [{ + icon: "wan_ancient_beasts:snatcher_egg" + id: "4AC531B94CBA93CE" + observe_type: 5 + timer: 0L + title: "{quests.space_survival.snatchertask}" + to_observe: "wan_ancient_beasts:snatcher" + type: "observation" + }] + title: "{quests.space_survival.snatcher.title}" + x: 9.0d + y: -3.0d + } ] subtitle: ["{quests.mars.subtitle}"] title: "{quests.mars}" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json index c11604b73..ca7950a17 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_fauna.json @@ -108,7 +108,7 @@ { "type": "patchouli:text", "title": "Snatcher", - "text": "$(thing)Snatchers$() are passive animals that like to steal your stuff! Attack them to retrieve your items, or feed them $(item)Raw Fish$() to tame them.$(br2)Once tamed, you can carry them on your back and equip them with a wooden chest. Press $(k:key.wan_ancient_beasts.special_ability)$() to throw them, and they will steal the contents of the chest and bring it to you." + "text": "$(thing)Snatchers$() are passive animals that like to steal your stuff! Attack them to retrieve your items, or feed them $(item)Raw Fish$() to tame them.$(br2)Once tamed, you can carry them on your back and equip them with a wooden chest. Press $(k:key.wan_ancient_beasts.special_ability)$() to throw them, and they will steal the contents of a nearby chest and bring it to you." }, { "type": "patchouli:entity", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 3121d421f..b0e3e3b7d 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -3928,12 +3928,20 @@ "quests.space_survival.bulbkin_pie.desc": "Wraptor Eggs can be extracted for a Sugar substitute, while Sniffer eggs are full of Cream.\n\n&eBulbkin Pie&r is probably the pinnacle of Mars' food, boasting high amounts of four different kinds of nutrition, at the expense of being a bit of a pain to craft.\n\n&eBeer-Battered Dinosaur Nuggets&r combine the huge protein of dinosaur meat with a little grain, and can also be put in your meal bags.\n\n&9Tip:&r It's not really a food, but you can also mix together Bulbkin Chunks and Alphacene Mushroom Blocks to get Glowstone Dust.", "quests.space_survival.soarer.title": "Soarer", "quests.space_survival.soarer.subtitle": "Need a lift?", - "quests.space_survival.soarer.desc": "Airplanes don't work on Mars, and your space suit doesn't have a jetpack, so there's no other way to fly, right?\n\nIf you're able to find an elusive &4Soarer&r, you can tame them with raw fish and equip them with a Saddle to glide through the Martian skies with ease.\n\nThey can't fly forever though, indicated by the wing icons on the top left, and will need to land occasionally. Still, they're a great option for long-distance travel, and won't upset the sandworm either!\n\n&9Note&r: Soarers are unable to survive on particularly hot planets such as &6Venus&r.", + "quests.space_survival.soarer.desc": "Airplanes don't work on Mars, and your space suit doesn't have a jetpack, so there's no other way to fly, right?\n\nIf you're able to find an elusive &4Soarer&r, you can tame them with Raw Fish and equip them with a Saddle to glide through the Martian skies with ease.\n\nThey can't fly forever though, indicated by the wing icons on the top left, and will need to land occasionally. (You can feed them more Raw Fish to speed up their recovery.)\n\nStill, they're a great option for long-distance travel, and won't upset the sandworm either!\n\n&9Note&r: Soarers are unable to survive on particularly hot planets such as &6Venus&r.", "quests.space_survival.soarer.task": "Find a Soarer", "quests.space_survival.surfer.title": "Surfer", "quests.space_survival.surfer.subtitle": "Need a swim?", "quests.space_survival.surfer.desc": "&bSurfers&r can be found in the small bodies of water. You can tame them by sneaking up to them while they're lying on the shore, and feeding them raw fish. Once tamed, you can equip them with a saddle to swim quickly underwater too.\n\nThis doesn't sound particularly useful on Mars, but remember that you can transport entities around through AE2's Spatial Storage Disks, and there will be a certain oceanic icy moon in the future...\n\n&9Note&r: Surfers are unable to survive on particularly hot planets such as &6Venus&r.", "quests.space_survival.surfer.task": "Find a Surfer", + "quests.space_survival.charger.title": "Charger", + "quests.space_survival.charger.subtitle": "Chaaaaaaaaarge!", + "quests.space_survival.charger.desc": "&bChargers&r are large green herbivores that can be found roaming around. You can tame them with any Martian crop, but don't feed them &cBeetroot&r...\n\nOnce tamed, you can equip them with a saddle and Armor for some extra defence, hold down Spacebar to charge forward in a straight line (dealing extra damage and knockback), or press the &eSpecial Ability&r keybind (default &9C&r) for a headbutt attack.\n\nFeeding them more Martian crops will restore their health.\n\n&9Note&r: Surfers are unable to survive on particularly hot planets such as &6Venus&r.", + "quests.space_survival.charger.task": "Find a Charger", + "quests.space_survival.snatcher.title": "Snatcher", + "quests.space_survival.snatcher.subtitle": "Yoink!", + "quests.space_survival.snatcher.desc": "&bSnatchers&r are passive animals that like to steal your stuff! Attack them to retrieve your items, or feed them Raw Fish to tame them.\n\nOnce tamed, you can carry them on your back and equip them with a wooden chest for a little extra inventory space. Press the &eSpecial Ability&r keybind (default &9C&r) to throw them, and they will steal the contents of a nearby chest and bring it to you.\n\nFeeding them more Raw Fish will restore their health.\n\n&9Note&r: Surfers are unable to survive on particularly hot planets such as &6Venus&r.", + "quests.space_survival.snatcher.task": "Find a Snatcher", "quests.space_survival.sniffer_or_wraptor.title": "Sniffers and Wraptors", "quests.space_survival.sniffer_or_wraptor.subtitle": "Cow and Chicken", "quests.space_survival.sniffer_or_wraptor.desc": "&2Sniffers&r and &dWraptors&r can be found all over Mars and can be domesticated for meat, eggs, and most importantly, their mineral-rich tufts and feathers.\n\nThey eat any Martian crops, and you can automatically breed and feed them with the Feeding Troughs just like on Earth.", @@ -3945,10 +3953,10 @@ "quests.space_survival.mars_nest.task": "Either Nest", "quests.space_survival.mineral_rich_wool.title": "Mineral-Rich Wool", "quests.space_survival.mineral_rich_wool.subtitle": "Built up from years of dust storms", - "quests.space_survival.mineral_rich_wool.desc": "Once your Sniffers or Wraptors are familiar enough, you can shear them for mineral-rich tufts of fur or feathers.\n\nThese can be melted down in an EBF for an infinite and cheap source of Alkaline Earth Silicate, and are also a required component of &6Bio-AES Reinforced R-Polyurethane Foam.", + "quests.space_survival.mineral_rich_wool.desc": "Once your Sniffers or Wraptors are familiar enough, you can shear them for mineral-rich tufts of fur or feathers. (This can be automated with a Deployer holding Shears.)\n\nThese can be melted down in an EBF for an infinite and cheap source of Alkaline Earth Silicate, and are also a required component of &6Bio-AES Reinforced R-Polyurethane Foam.", "quests.space_survival.aes_insulation.title": "Multi-Layer Insulated Shielding", "quests.space_survival.aes_insulation.subtitle": "Not an ice cream sandwich", - "quests.space_survival.aes_insulation.desc": "This may not be used for much at the moment, but it will be a critical component of your &1IV&r rocket in the future.", + "quests.space_survival.aes_insulation.desc": "This is used for a few components in &1IV&r.", "quests.space_survival.mars_shields.title": "Advanced Shields", "quests.space_survival.mars_shields.subtitle": "Isn't it about time you upgraded your old metal shield?", "quests.space_survival.mars_shields.desc": "The &3Reinforced Shield&r deals damage back to attackers, like the Thorns enchant in normal Minecraft. Its crafting materials can be found from Crunchers and Eaters.\n\nThe &5Corrupted Shield&r randomly teleports attackers, which can be good for keeping them away from you... but it can also teleport them behind you. You can get the teeth from the Cave Endermen under the surface.\n\nThe &4Ricoshield&r absorbs an amount of damage before releasing a shockwave, hurting anything else nearby. You can find the Kinetic Core as a rare drop from the hostile golems in the Martian caves.", diff --git a/kubejs/server_scripts/tfg/machines/recipes.coils.js b/kubejs/server_scripts/tfg/machines/recipes.coils.js index 1bb65e9c6..e6fd13546 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.coils.js +++ b/kubejs/server_scripts/tfg/machines/recipes.coils.js @@ -91,4 +91,19 @@ function registerTFGCoilRecipes(event) { .outputFluids('tfg:nichromium_iodomethylate 244') .duration(20 * 8) .EUt(GTValues.VA[GTValues.HV]) + + // #endregion + + // #region HSS-G + + event.remove({ id : 'gtceu:assembler/coil_hssg' }) + event.recipes.gtceu.assembler('tfg:coil_hssg') + .itemInputs('8x #forge:double_wires/hssg', '8x #forge:foils/tungsten_carbide', '2x #forge:insulation_t3/sheet') + .inputFluids('gtceu:tungsten 144') + .itemOutputs('gtceu:hssg_coil_block') + .duration(20 * 30) + .EUt(GTValues.VA[GTValues.IV]) + .addMaterialInfo(true, true) + + // #endregion } \ No newline at end of file From ecba52b775e96b9d7b6d4417c6b7206c087e4216 Mon Sep 17 00:00:00 2001 From: OLOXpl <125832723+OLOXpl@users.noreply.github.com> Date: Sun, 1 Feb 2026 23:44:59 +0100 Subject: [PATCH 325/474] cotta fix (#2940) dupe fix + valid recipe --- kubejs/server_scripts/macaws_for_tfc/recipes.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kubejs/server_scripts/macaws_for_tfc/recipes.js b/kubejs/server_scripts/macaws_for_tfc/recipes.js index 352f5cca6..2880c456a 100644 --- a/kubejs/server_scripts/macaws_for_tfc/recipes.js +++ b/kubejs/server_scripts/macaws_for_tfc/recipes.js @@ -23,4 +23,11 @@ function registerMacawsForTFCRecipes(event) { C: `tfc:wood/log/${wood}` }).id(`tfg:shaped/${wood}_wired_fence`) }) + + event.remove({input: ['mcw_tfc_aio:roofs/gray_roofs/gray_roof_slab','#tfc:saws']}) + + event.shapeless('minecraft:gray_terracotta', [ + 'mcw_tfc_aio:roofs/gray_roofs/gray_roof_slab', + 'mcw_tfc_aio:roofs/gray_roofs/gray_roof_slab' + ]).id('minecraft:gray_terracotta') } From 675c159dfec815d25463f751c6306cf31b9bac94 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 23:29:40 +0000 Subject: [PATCH 326/474] fix #2942 --- kubejs/startup_scripts/gtceu/material_modification.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index c371989c7..a1e687dea 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -266,6 +266,10 @@ const registerGTCEuMaterialModification = (event) => { // Change Beryllium to add Chemical Bath recipe and Thorium byproduct GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.Emerald, GTMaterials.Emerald, GTMaterials.Thorium, GTMaterials.Thorium); GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setWashedIn(GTMaterials.SodiumPersulfate); + + // Remove old stone dusts + GTMaterials.GraniticMineralSand.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.get('tfg:igneous_felsic'), GTMaterials.Magnetite, GTMaterials.Magnetite); + GTMaterials.BasalticMineralSand.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.get('tfg:igneous_mafic'), GTMaterials.Magnetite, GTMaterials.Magnetite); // Other flags GTMaterials.CertusQuartz.addFlags(GENERATE_ROD); From 08065dc12a72cb89595a50821ca346d800cf4e16 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 23:30:01 +0000 Subject: [PATCH 327/474] fix raw oil vacuumizer recipe --- kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js b/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js index ae4171c2f..93505a347 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js @@ -69,7 +69,7 @@ function registerTFGPowerGenBalance(event) { // Raw Oil to Naphtha - event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:naphtha', 500), [Fluid.of('gtceu:oil_raw', 1000)]) + event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:naphtha', 500), [Fluid.of('gtceu:oil_medium', 1000)]) .secondaryFluidOutput(0) .processingTime(500) .heated() From 6e147dbece76c10cd6fe742d22a83bcaec3104da Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 1 Feb 2026 23:30:07 +0000 Subject: [PATCH 328/474] modlist --- config/crash_assistant/modlist.json | 181 +++++++++++++++------------- 1 file changed, 94 insertions(+), 87 deletions(-) diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index 4ac65046b..35fa42550 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -123,12 +123,12 @@ "curseForgeHash": 409215932, "modrinthHash": "f0b711df59cd589b088e536ca4134c5e6e73fd58" }, - "AmbientSounds_FORGE_v6.3.3_mc1.20.1.jar": { - "jarName": "AmbientSounds_FORGE_v6.3.3_mc1.20.1.jar", + "AmbientSounds_FORGE_v6.3.4_mc1.20.1.jar": { + "jarName": "AmbientSounds_FORGE_v6.3.4_mc1.20.1.jar", "modId": "ambientsounds", - "version": "6.3.3", - "curseForgeHash": 1083459992, - "modrinthHash": "b4a0e4937db9c83ec82a6809f8d53ab2b9e7a62c" + "version": "6.3.4", + "curseForgeHash": 2803957593, + "modrinthHash": "e84e7053c4c3a73c7f608c9da516bb5d393aab60" }, "applied_ammo_box-1.0.2.jar": { "jarName": "applied_ammo_box-1.0.2.jar", @@ -165,12 +165,12 @@ "curseForgeHash": 381211649, "modrinthHash": "6eb69343eb21d38f95d1b1d00e6bc777bdb336fa" }, - "baguettelib-1.20.1-Forge-1.1.5.jar": { - "jarName": "baguettelib-1.20.1-Forge-1.1.5.jar", + "baguettelib-1.20.1-Forge-1.1.6.jar": { + "jarName": "baguettelib-1.20.1-Forge-1.1.6.jar", "modId": "baguettelib", - "version": "1.1.5", - "curseForgeHash": 734602455, - "modrinthHash": "7aaab6216e7fc72e1606b1e35f1f56a18f01153f" + "version": "1.1.6", + "curseForgeHash": 2947245849, + "modrinthHash": "8d3c9551bbed4c2f2e8cb2b9a10d31bad4edb52d" }, "balm-forge-1.20.1-7.3.38-all.jar": { "jarName": "balm-forge-1.20.1-7.3.38-all.jar", @@ -396,12 +396,12 @@ "curseForgeHash": 2156032012, "modrinthHash": "b13d912b9247a38d66d11598c121442585a1c1e9" }, - "create_connected-1.1.10-mc1.20.1-all.jar": { - "jarName": "create_connected-1.1.10-mc1.20.1-all.jar", + "create_connected-1.1.12-mc1.20.1-all.jar": { + "jarName": "create_connected-1.1.12-mc1.20.1-all.jar", "modId": "create_connected", - "version": "1.1.10-mc1.20.1", - "curseForgeHash": 198954090, - "modrinthHash": "eea1d04aee638689a99acf66457327b13a4b3f96" + "version": "1.1.12-mc1.20.1", + "curseForgeHash": 658641737, + "modrinthHash": "6a27b27ad502429650fa621009daacc876bd3e28" }, "create_factory_logistics-1.20.1-1.4.7.jar": { "jarName": "create_factory_logistics-1.20.1-1.4.7.jar", @@ -452,13 +452,6 @@ "curseForgeHash": 3915242941, "modrinthHash": "338704cdf6623ad96983e72e81e8a9d97e8b28d8" }, - "createstockbridge-1.20-0.1.5.jar": { - "jarName": "createstockbridge-1.20-0.1.5.jar", - "modId": "createstockbridge", - "version": "0.1.5", - "curseForgeHash": 3147522607, - "modrinthHash": "0fa15f11788e3bc3a812fc597ade17af33888952" - }, "CreativeCore_FORGE_v2.12.32_mc1.20.1.jar": { "jarName": "CreativeCore_FORGE_v2.12.32_mc1.20.1.jar", "modId": "creativecore", @@ -515,12 +508,12 @@ "curseForgeHash": 4053708632, "modrinthHash": "08b58bfbdf20660bdc5a0c4a0b088f7d89f40a38" }, - "domum_ornamentum-1.20.1-1.0.295-snapshot-universal.jar": { - "jarName": "domum_ornamentum-1.20.1-1.0.295-snapshot-universal.jar", + "domum_ornamentum-1.20.1-1.0.295-universal.jar": { + "jarName": "domum_ornamentum-1.20.1-1.0.295-universal.jar", "modId": "domum_ornamentum", - "version": "1.20.1-1.0.295-snapshot", - "curseForgeHash": 2324950079, - "modrinthHash": "f5fc47a7006445e4f999611d1cc95bda55c70b1f" + "version": "1.20.1-1.0.295", + "curseForgeHash": 2550579719, + "modrinthHash": "29950245b98ec35184d806e3b9ace700e67ac585" }, "drippyloadingscreen_forge_3.1.0_MC_1.20.1.jar": { "jarName": "drippyloadingscreen_forge_3.1.0_MC_1.20.1.jar", @@ -627,12 +620,12 @@ "curseForgeHash": 3575355395, "modrinthHash": "ceeeae222c51ae100e5126c4a5a7a05f4f3f4712" }, - "FastSuite-1.20.1-5.1.1.jar": { - "jarName": "FastSuite-1.20.1-5.1.1.jar", + "FastSuite-1.20.1-5.1.2.jar": { + "jarName": "FastSuite-1.20.1-5.1.2.jar", "modId": "fastsuite", - "version": "5.1.1", - "curseForgeHash": 4161769711, - "modrinthHash": "dfceb81524a9e1be19bf89d0281c05b6edf5326c" + "version": "5.1.2", + "curseForgeHash": 2881858684, + "modrinthHash": "32ea4495b0e646f8f060e4e97d17044dd9fdefbd" }, "FastWorkbench-1.20.1-8.0.4.jar": { "jarName": "FastWorkbench-1.20.1-8.0.4.jar", @@ -767,12 +760,12 @@ "curseForgeHash": 1765843012, "modrinthHash": "7e890f8b527ccb4523fed54a2864549a53f65fed" }, - "geckolib-forge-1.20.1-4.8.2.jar": { - "jarName": "geckolib-forge-1.20.1-4.8.2.jar", + "geckolib-forge-1.20.1-4.8.3.jar": { + "jarName": "geckolib-forge-1.20.1-4.8.3.jar", "modId": "geckolib", - "version": "4.8.2", - "curseForgeHash": 1555934041, - "modrinthHash": "395a9f21a36dc8466d67c2af67a904e7013460d1" + "version": "4.8.3", + "curseForgeHash": 4092514766, + "modrinthHash": "5428765c6c2e2135da6ee01f2f0478fa0db6aee7" }, "Glodium-1.20-1.5-forge.jar": { "jarName": "Glodium-1.20-1.5-forge.jar", @@ -795,12 +788,12 @@ "curseForgeHash": 3324262533, "modrinthHash": "aa53625ab5e145c6aa196645335b062b37ae82da" }, - "greate-0.0.62.jar": { - "jarName": "greate-0.0.62.jar", + "greate-0.0.64.jar": { + "jarName": "greate-0.0.64.jar", "modId": "greate", - "version": "0.0.62", - "curseForgeHash": 4030779299, - "modrinthHash": "0e4ffe5e88f97df724172b3061a1691028f45582" + "version": "0.0.64", + "curseForgeHash": 2026447132, + "modrinthHash": "7e779ac568c27ebb8cb9b16c6b8797b633ffdcdf" }, "gtceu-1.20.1-7.4.1.jar": { "jarName": "gtceu-1.20.1-7.4.1.jar", @@ -809,12 +802,19 @@ "curseForgeHash": 2174922911, "modrinthHash": "50ae5df1cc5213aa429a976b6393e0bd4e22238e" }, - "gtmoldraw-3.0.0.jar": { - "jarName": "gtmoldraw-3.0.0.jar", + "gtceuterminal-2.4.5.jar": { + "jarName": "gtceuterminal-2.4.5.jar", + "modId": "gtceuterminal", + "version": "1.0.2", + "curseForgeHash": 3654021553, + "modrinthHash": "d0e5cd6b8d6d5fe89f9e24434c35a61bc0294896" + }, + "gtmoldraw-3.0.1.jar": { + "jarName": "gtmoldraw-3.0.1.jar", "modId": "moldraw", - "version": "3.0.0", - "curseForgeHash": 586035337, - "modrinthHash": "9377694e2e3d8c62bdacd400e125acc732c54803" + "version": "3.0.1", + "curseForgeHash": 3258582267, + "modrinthHash": "caaf28b88afe1b01ec4180a4458c2795184255bc" }, "guideme-20.1.14.jar": { "jarName": "guideme-20.1.14.jar", @@ -844,12 +844,12 @@ "curseForgeHash": 726705548, "modrinthHash": "bc2d8febd3ddb7f5a0da5c840544ad49eb6e8625" }, - "ImmediatelyFast-Forge-1.5.3+1.20.4.jar": { - "jarName": "ImmediatelyFast-Forge-1.5.3+1.20.4.jar", + "ImmediatelyFast-Forge-1.5.4+1.20.4.jar": { + "jarName": "ImmediatelyFast-Forge-1.5.4+1.20.4.jar", "modId": "immediatelyfast", - "version": "1.5.3+1.20.4", - "curseForgeHash": 2056126318, - "modrinthHash": "d4695d013e9da7089e2906db3f56bc5398e478e2" + "version": "1.5.4+1.20.4", + "curseForgeHash": 4234781540, + "modrinthHash": "e2e60485a0c3efa72f1948c952b095150e3ba4fc" }, "immersive_aircraft-1.4.0+1.20.1-forge.jar": { "jarName": "immersive_aircraft-1.4.0+1.20.1-forge.jar", @@ -968,12 +968,12 @@ "curseForgeHash": 2035895651, "modrinthHash": "e6346060ae70cbf103b231d8a1536bcd044c84a8" }, - "lootjs-forge-1.20.1-2.13.0.jar": { - "jarName": "lootjs-forge-1.20.1-2.13.0.jar", + "lootjs-forge-1.20.1-2.13.1.jar": { + "jarName": "lootjs-forge-1.20.1-2.13.1.jar", "modId": "lootjs", - "version": "1.20.1-2.13.0", - "curseForgeHash": 4083554858, - "modrinthHash": "fdf90acf177c19bcbfaa08527f6568bd3e6e622e" + "version": "1.20.1-2.13.1", + "curseForgeHash": 1389353380, + "modrinthHash": "804deb0bd34d69cad873170642b9d7e47fa0d6ad" }, "lootr-forge-1.20-0.7.35.94.jar": { "jarName": "lootr-forge-1.20-0.7.35.94.jar", @@ -1024,12 +1024,12 @@ "curseForgeHash": 544928077, "modrinthHash": "24e6611df470afd957eafd16c43890b7214e3da9" }, - "modernfix-forge-5.26.1+mc1.20.1.jar": { - "jarName": "modernfix-forge-5.26.1+mc1.20.1.jar", + "modernfix-forge-5.26.2+mc1.20.1.jar": { + "jarName": "modernfix-forge-5.26.2+mc1.20.1.jar", "modId": "modernfix", - "version": "5.26.1+mc1.20.1", - "curseForgeHash": 424935770, - "modrinthHash": "fa0163b33e911b69af61fee8a3920820e7c617a0" + "version": "5.26.2+mc1.20.1", + "curseForgeHash": 2785638273, + "modrinthHash": "0adfc122e9f632d8847688c4c3ed20a1af182afa" }, "ModernUI-Forge-1.20.1-3.12.0.1-universal.jar": { "jarName": "ModernUI-Forge-1.20.1-3.12.0.1-universal.jar", @@ -1038,12 +1038,12 @@ "curseForgeHash": 2393054142, "modrinthHash": "fcebe51e3c2ca34793f9b132fa05b5494ffc76a4" }, - "moonlight-1.20-2.16.23-forge.jar": { - "jarName": "moonlight-1.20-2.16.23-forge.jar", + "moonlight-1.20-2.16.27-forge.jar": { + "jarName": "moonlight-1.20-2.16.27-forge.jar", "modId": "moonlight", - "version": "1.20-2.16.23", - "curseForgeHash": 3524849719, - "modrinthHash": "c63750ef54ac17d0dc1e58c246c6dac3d8d9ac87" + "version": "1.20-2.16.27", + "curseForgeHash": 827170608, + "modrinthHash": "0a1b384ec20d63e94c56123b53e264dc2afe5b17" }, "morered-1.20.1-4.0.0.4.jar": { "jarName": "morered-1.20.1-4.0.0.4.jar", @@ -1129,12 +1129,12 @@ "curseForgeHash": 3233971835, "modrinthHash": "cc0332d3bbf7824b673abc59e231f1f5aafc6420" }, - "particle_core-0.3.1+1.20.1+forge.jar": { - "jarName": "particle_core-0.3.1+1.20.1+forge.jar", + "particle_core-0.3.2+1.20.1+forge.jar": { + "jarName": "particle_core-0.3.2+1.20.1+forge.jar", "modId": "particle_core", - "version": "0.3.1+1.20.1+forge", - "curseForgeHash": 4077743380, - "modrinthHash": "935a8c19cc7a72364fdfe494d9ddbd599f01588d" + "version": "0.3.2+1.20.1+forge", + "curseForgeHash": 1864908717, + "modrinthHash": "57079d1607ce044533fb076d2db0e2a3d277a4fb" }, "particular-1.20.1-Forge-1.2.7.jar": { "jarName": "particular-1.20.1-Forge-1.2.7.jar", @@ -1164,6 +1164,13 @@ "curseForgeHash": 3174429337, "modrinthHash": "e85f53de2e582a79ce25ff1df1e7b5b5fc08440f" }, + "playerrevive_compat-1.0.1-1d0e244.jar": { + "jarName": "playerrevive_compat-1.0.1-1d0e244.jar", + "modId": "playerrevive_compat", + "version": "1.0.1", + "curseForgeHash": 3694497333, + "modrinthHash": "05d191e5bb7c4ada8b2cbb7c604b3ab7d5040563" + }, "PlayerRevive_FORGE_v2.0.31_mc1.20.1.jar": { "jarName": "PlayerRevive_FORGE_v2.0.31_mc1.20.1.jar", "modId": "playerrevive", @@ -1374,12 +1381,12 @@ "curseForgeHash": 218830698, "modrinthHash": "7d4f578a42c9b880744ea6058a495847aac9e4c3" }, - "tacz-tweaks-2.12.1-all.jar": { - "jarName": "tacz-tweaks-2.12.1-all.jar", + "tacz-tweaks-2.12.2-all.jar": { + "jarName": "tacz-tweaks-2.12.2-all.jar", "modId": "tacztweaks", - "version": "2.12.1", - "curseForgeHash": 769672337, - "modrinthHash": "92c9981e2e2f2edecab25ee48c5bade7a14298a8" + "version": "2.12.2", + "curseForgeHash": 493830591, + "modrinthHash": "f726c2d0ac2c77e3cc7f93fad7fd4338117c7a80" }, "taczammoquery-1.20.1-1.0.0.jar": { "jarName": "taczammoquery-1.20.1-1.0.0.jar", @@ -1409,12 +1416,12 @@ "curseForgeHash": 3264017794, "modrinthHash": "b4f98b976aa7096b6ec0a6bd291fb16415dfeb3a" }, - "tfc_gurman-1.3.0.jar": { - "jarName": "tfc_gurman-1.3.0.jar", + "tfc_gurman-1.4.1.jar": { + "jarName": "tfc_gurman-1.4.1.jar", "modId": "tfc_gurman", - "version": "1.3.0", - "curseForgeHash": 1214501371, - "modrinthHash": "c55512789128af89d57fe0c9a2f3b4d59a491724" + "version": "1.4.1", + "curseForgeHash": 3220058819, + "modrinthHash": "0be72570ba157b7600c3b9f4ea694744a227112a" }, "TFC_punishment_for_death-1.20.1-1.0.0.15.jar": { "jarName": "TFC_punishment_for_death-1.20.1-1.0.0.15.jar", @@ -1626,12 +1633,12 @@ "curseForgeHash": 1687292018, "modrinthHash": "d1416bd683464538a7615d1649eecc7027b227e2" }, - "wab-1.20.1-1.3.2.jar": { - "jarName": "wab-1.20.1-1.3.2.jar", + "wab-1.20.1-1.4.1.jar": { + "jarName": "wab-1.20.1-1.4.1.jar", "modId": "wan_ancient_beasts", - "version": "1.3.2", - "curseForgeHash": 2333549546, - "modrinthHash": "7298a59e383d2327e2acc49d8f1b132cedb8860b" + "version": "1.4.1", + "curseForgeHash": 194648790, + "modrinthHash": "6a9465b15671d7f1ea2f7b3ed44c881065b945f6" }, "wakes-1.20.1-Forge-1.0.9.jar": { "jarName": "wakes-1.20.1-Forge-1.0.9.jar", From 92e1c653a6b207720a4ddf5f779f9a22403bc7b8 Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Sun, 1 Feb 2026 15:40:16 -0800 Subject: [PATCH 329/474] Added a couple recipes to egh (#2944) * added a couple recipes to EGH Signed-off-by: thederpysockdude123 * some tag stuff to get it working lol Signed-off-by: thederpysockdude123 --------- Signed-off-by: thederpysockdude123 --- .../server_scripts/tfg/aquaponics/recipes.greenhouse.js | 8 ++++++-- kubejs/server_scripts/tfg/beneath/tags.beneath.js | 9 ++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js index 2c88edd43..fa8c59eb5 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js @@ -465,7 +465,7 @@ const registerTFGGreenhouseRecipes = (event) => { //#region Recipes // Mushrooms - Ingredient.of('#beneath:mushrooms').stacks.forEach(element => { + Ingredient.of('#tfg:plants/beneath').stacks.forEach(element => { generateGreenHouseRecipe(event, 'minecraft:the_nether', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1); }); @@ -501,6 +501,10 @@ const registerTFGGreenhouseRecipes = (event) => { }); generateGreenHouseRecipe(event, null, '8x minecraft:bamboo', ['64x minecraft:bamboo', '8x minecraft:bamboo'], 1); + + generateGreenHouseRecipe(event, null, '8x tfc:food/fresh_seaweed', ['24x tfc:food/fresh_seaweed', '8x tfc:food/fresh_seaweed'], 1); + + generateGreenHouseRecipe(event, 'minecraft:the_nether', '4x minecraft:glow_berries', ['20x minecraft:glow_berries', '4x minecraft:glow_berries'], 1); // Mars Wood generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/strophar', [ @@ -547,4 +551,4 @@ const registerTFGGreenhouseRecipes = (event) => { }); //#endregion -}; \ No newline at end of file +}; diff --git a/kubejs/server_scripts/tfg/beneath/tags.beneath.js b/kubejs/server_scripts/tfg/beneath/tags.beneath.js index c61249bb5..768569bea 100644 --- a/kubejs/server_scripts/tfg/beneath/tags.beneath.js +++ b/kubejs/server_scripts/tfg/beneath/tags.beneath.js @@ -15,6 +15,10 @@ function registerTFGBeneathItemTags(event) { event.add('tfc:plants', 'minecraft:spore_blossom') event.remove('createaddition:plants', 'minecraft:moss_carpet') + event.add('tfg:plants/beneath', 'beneath:gleamflower') + event.add('tfg:plants/beneath', 'beneath:burpflower') + event.add('tfg:plants/beneath', '#beneath:mushrooms') + event.add('tfc:compost_greens', 'minecraft:red_mushroom_block') event.add('tfc:compost_greens', 'minecraft:brown_mushroom_block') event.add('tfc:compost_greens', 'minecraft:mushroom_stem') @@ -27,6 +31,9 @@ function registerTFGBeneathItemTags(event) { function registerTFGBeneathBlockTags(event) { event.add('tfg:lush_ground_replaceable', 'minecraft:deepslate') event.add('tfg:lush_ground_replaceable', 'minecraft:blackstone') + + event.remove('tfc:plants', 'beneath:gleamflower') + event.remove('tfc:plants', 'beneath:burpflower') event.add('minecraft:lush_ground_replaceable', 'minecraft:blackstone') event.add('beneath:nether_bush_plantable_on', 'minecraft:blackstone') @@ -136,4 +143,4 @@ function registerTFGBeneathPlacedFeatures(event) { event.add('tfg:nether_underground_decoration', 'minecraft:spring_open') event.add('tfg:nether_underground_decoration', 'minecraft:spring_closed') event.add('tfg:nether_underground_decoration', 'tfg:nether/terrain/magma_blob') -} \ No newline at end of file +} From e7eaef730f0f5dfcc047dcae5690aad24ec1d13b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 00:07:51 +0000 Subject: [PATCH 330/474] clean out some more missing recipe removals --- .../server_scripts/greate/recipes.removes.js | 1 + .../gregtech/recipes.removes.js | 33 +++++++++++++++++-- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index 2330e20fe..e0e049213 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -85,6 +85,7 @@ function removeGreateRecipes(event) { event.remove({ id: 'greate:mixing/brass_ingot' }) event.remove({ id: /^greate:.*\/integration\/createaddition/ }) + event.remove({ id: /^greate:.*\/integration\/vintageimprovements/ }) event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_phosphorus_boule' }) event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_phosphorus_boule_water' }) diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index be346ced9..0180d1430 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -30,10 +30,18 @@ function removeGTCEURecipes(event) { removeMaceratorRecipe(event, 'macerate_sandstone_slab') removeMaceratorRecipe(event, 'macerate_red_sandstone_stairs') removeMaceratorRecipe(event, 'macerate_red_sandstone_slab') - removeMaceratorRecipe(event, 'macerate_granite') - removeMaceratorRecipe(event, 'macerate_diorite') removeMaceratorRecipe(event, 'macerate_cobblestone_slab') - removeMaceratorRecipe(event, 'macerate_andesite') + + removeMaceratorRecipe(event, 'macerate_granite') + removeMaceratorRecipe(event, 'macerate_polished_granite'); + removeMaceratorRecipe(event, 'macerate_granite_wall'); + removeMaceratorRecipe(event, 'macerate_diorite'); + removeMaceratorRecipe(event, 'macerate_polished_diorite'); + removeMaceratorRecipe(event, 'macerate_diorite_wall'); + removeMaceratorRecipe(event, 'macerate_andesite'); + removeMaceratorRecipe(event, 'macerate_polished_andesite'); + removeMaceratorRecipe(event, 'macerate_andesite_wall'); + event.remove({ id: 'gtceu:shaped/stone_hammer' }) event.remove({ id: 'gtceu:mixer/mossy_cobblestone_from_moss_block' }) event.remove({ id: 'greate:mixing/integration/gtceu/mixer/mossy_cobblestone_from_moss_block' }) @@ -115,6 +123,16 @@ function removeGTCEURecipes(event) { removeMaceratorRecipe(event, 'macerate_deepslate') event.remove({ id: 'gtceu:rock_breaker/deepslate' }) + removeMaceratorRecipe(event, 'macerate_deepslate_wall'); + removeMaceratorRecipe(event, 'macerate_polished_deepslate'); + removeMaceratorRecipe(event, 'macerate_cobbled_deepslate'); + removeMaceratorRecipe(event, 'macerate_cobbled_deepslate_wall'); + removeMaceratorRecipe(event, 'macerate_chiseled_deepslate'); + removeMaceratorRecipe(event, 'macerate_polished_deepslate_wall'); + removeMaceratorRecipe(event, 'macerate_deepslate_bricks'); + removeMaceratorRecipe(event, 'macerate_deepslate_brick_wall'); + removeMaceratorRecipe(event, 'macerate_deepslate_tiles'); + removeMaceratorRecipe(event, 'macerate_deepslate_tile_wall'); // #endregion @@ -159,6 +177,13 @@ function removeGTCEURecipes(event) { removeCutterRecipe(event, 'cut_polished_blackstone_brick_into_slab_distilled_water') event.remove({ id: 'gtceu:rock_breaker/blackstone' }) + removeMaceratorRecipe(event, 'macerate_blackstone'); + removeMaceratorRecipe(event, 'macerate_polished_blackstone'); + removeMaceratorRecipe(event, 'macerate_polished_blackstone_bricks'); + removeMaceratorRecipe(event, 'macerate_chiseled_polished_blackstone'); + removeMaceratorRecipe(event, 'macerate_blackstone_wall'); + removeMaceratorRecipe(event, 'macerate_polished_blackstone_wall'); + removeMaceratorRecipe(event, 'macerate_blackstone_brick_wall'); // #endregion @@ -473,6 +498,7 @@ function removeGTCEURecipes(event) { //#region Выход: Пыль базальта removeMaceratorRecipe(event, 'macerate_basalt') + removeMaceratorRecipe(event, 'macerate_polished_basalt'); //#endregion @@ -853,6 +879,7 @@ function removeGTCEURecipes(event) { removeMaceratorRecipe(event, 'macerate_end_stone_bricks'); removeMaceratorRecipe(event, 'macerate_end_stone_brick_wall'); + // Remove Default Pressure Plate Recipes const MC_PRESSURE_PLATES = [ 'bamboo', From 63b3ad76bbbe519416cd2bd67d21b5476c08306b Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Sun, 1 Feb 2026 16:18:04 -0800 Subject: [PATCH 331/474] Added roe to the mealbags whitelist (#2945) * Added roe to the mealbags whitelist Signed-off-by: thederpysockdude123 * much more epic solution :D Signed-off-by: thederpysockdude123 --------- Signed-off-by: thederpysockdude123 --- kubejs/server_scripts/tfg/food/tags.food.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/food/tags.food.js b/kubejs/server_scripts/tfg/food/tags.food.js index 40323f389..384575c05 100644 --- a/kubejs/server_scripts/tfg/food/tags.food.js +++ b/kubejs/server_scripts/tfg/food/tags.food.js @@ -239,6 +239,7 @@ function registerTFGFoodItemTags(event) { */ const usable_in_meal_bag = [ '#tfc:foods/meats', + '#minecraft:fishes', '#tfc:foods/grains', '#tfc:foods/vegetables', '#tfc:foods/fruits', @@ -358,4 +359,4 @@ function registerTFGFoodBlockTags(event) { event.add('ad_astra:destroyed_in_space', '#tfc:wild_fruits') event.add('ad_astra:destroyed_in_space', '#minecraft:saplings') -} \ No newline at end of file +} From 952370e6da66941e70a02161136a0d78ea9d8fb0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 00:46:48 +0000 Subject: [PATCH 332/474] actually removes a bunch of recycling recipes for disabled items --- kubejs/server_scripts/greate/recipes.js | 2 +- kubejs/server_scripts/greate/recipes.removes.js | 1 + kubejs/server_scripts/gregtech/recipes.removes.js | 1 + kubejs/server_scripts/minecraft/recipes.removes.js | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js index 6bfd0a31e..bac53d5ba 100644 --- a/kubejs/server_scripts/greate/recipes.js +++ b/kubejs/server_scripts/greate/recipes.js @@ -674,7 +674,7 @@ function registerGreateRecipes(event) { removeMaceratorRecipe(event, 'macerate_stone_belt_connector') event.remove({ id: 'greate:shaped/stone_belt_connector' }) - TFGHelpers.registerMaterialInfo('greate:stone_belt_connector', [GTMaterials.Air, 1]); + TFGHelpers.clearMaterialInfo('greate:stone_belt_connector'); // Rubber event.shaped('greate:rubber_belt_connector', [ diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index e0e049213..fbac8a351 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -9,6 +9,7 @@ function removeGreateRecipes(event) { global.GREATE_DISABLED_ITEMS.forEach(item => { event.remove({ input: item }) event.remove({ output: item }) + TFGHelpers.clearMaterialInfo(item); }) global.GREATE_DISABLED_FLUIDS.forEach(fluid => { diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index 0180d1430..b09204936 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -12,6 +12,7 @@ function removeGTCEURecipes(event) { global.GTCEU_DISABLED_ITEMS.forEach(item => { event.remove({ input: item }) event.remove({ output: item }) + TFGHelpers.clearMaterialInfo(item); }) //#region Выход: Крошечная кучка камня diff --git a/kubejs/server_scripts/minecraft/recipes.removes.js b/kubejs/server_scripts/minecraft/recipes.removes.js index 883168c8e..afeaa86e6 100644 --- a/kubejs/server_scripts/minecraft/recipes.removes.js +++ b/kubejs/server_scripts/minecraft/recipes.removes.js @@ -6,6 +6,7 @@ function removeMinecraftRecipes(event) { global.MINECRAFT_DISABLED_ITEMS.forEach(item => { event.remove({ input: item }) event.remove({ output: item }) + TFGHelpers.clearMaterialInfo(item); }) //#region Выход: Камень From f92ce6e6dfbfdac3a8743175ea3db39133d6d31e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 12:02:16 +0000 Subject: [PATCH 333/474] lowered the % of tiny dusts from ores --- kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js b/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js index fa1c1c6f4..826fef649 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js @@ -25,7 +25,7 @@ const registerTFGOreLoots = (event) => { let richRawOre = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1) let normalRawOre = ChemicalHelper.get(TagPrefix.rawOre, material, 1) let poorRawOre = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1) - let dustOre = ChemicalHelper.get(TagPrefix.dustTiny, material, 1) + let tinyDustOre = ChemicalHelper.get(TagPrefix.dustTiny, material, 1) let rawOreBlock = ChemicalHelper.get(TagPrefix.rawOreBlock, material, 1).getItem().id; event.addBlockLootModifier(rawOreBlock) @@ -35,7 +35,7 @@ const registerTFGOreLoots = (event) => { normalRawOre.withChance(0.6), poorRawOre.withChance(0.2) ]) - .addLoot(LootEntry.of(dustOre).when(c => c.randomChance(0.2))); + .addLoot(LootEntry.of(tinyDustOre).when(c => c.randomChance(0.1))); // Stone ores global.ORE_BEARING_STONES.forEach(stoneType => { @@ -54,7 +54,7 @@ const registerTFGOreLoots = (event) => { poorRawOre.withChance(0.2) ]) .addLoot(LootEntry.of(stoneTypeDust).when(c => c.randomChance(0.2))) - .addLoot(LootEntry.of(dustOre).when(c => c.randomChance(0.05))); + .addLoot(LootEntry.of(tinyDustOre).when(c => c.randomChance(0.02))); // break with hammer event.addBlockLootModifier(`${namespace}:${stoneType}_${material.getName()}_ore`) From 961786b8eee8df97a4c20b3fab48812805573096 Mon Sep 17 00:00:00 2001 From: Redeix Date: Mon, 2 Feb 2026 06:21:48 -0600 Subject: [PATCH 334/474] egh update (#2950) * egh update * changelog and config * add spore blossom, remove beneath leaves (those are for mars) Signed-off-by: Pyritie * Update tags.beneath.js Signed-off-by: Pyritie --------- Signed-off-by: Pyritie Co-authored-by: Pyritie --- CHANGELOG.md | 11 + config/via_romana.json | 62 ++++++ kubejs/server_scripts/afc/recipes.js | 59 +++--- kubejs/server_scripts/beneath/recipes.js | 14 ++ kubejs/server_scripts/firmalife/recipes.js | 2 + kubejs/server_scripts/firmalife/tags.js | 5 + .../server_scripts/macaws_for_tfc/recipes.js | 10 +- kubejs/server_scripts/tfc/recipes.js | 28 +++ kubejs/server_scripts/tfc/tags.js | 15 ++ .../tfg/aquaponics/recipes.greenhouse.js | 192 +++++++++++------- .../tfg/aquaponics/recipes.pisciculture.js | 6 +- .../tfg/beneath/tags.beneath.js | 20 +- kubejs/startup_scripts/firmalife/constants.js | 4 +- kubejs/startup_scripts/tfc/constants.js | 18 +- 14 files changed, 323 insertions(+), 123 deletions(-) create mode 100644 config/via_romana.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 03e468ca9..53f929102 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,12 @@ (tom's changelist goes here) #### IV changes - Multi-Layer Insulated Shielding is now required for HSS-G coils. +#### Electric Greenhouse changes +- You can now use glass casings and trapdoors for the EGH floor. @Redeix +- Aquaponic multiblocks now only need half an amp to run. (#2950) @Redeix +- Base recipe duration has been reduced to 600/450/300 seconds. (#2950) @Redeix +- More circuit options for recipes that priorities seeds/saplings and recipes that prioritize leaves have been added. (#2950) @Redeix +- More plants have been added for production. @Redeix & @thederpysockdude123 ### Changes - Added much more music to the different dimensions @Pyritie - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie @@ -49,6 +55,11 @@ - Added a furnace recipe for dead grass to thatch (#2935) @Coox1e - Added support for Bluemap (#2922) @trisjob - Added mixer and barrel recipes for dye fluids (#2925, #2938) @OLOXpl +- Added recipes to convert leaves into leaf piles. (#2950) @Redeix +- Added a recipe to convert fruit leaf blocks into firmalife fruit leaf items. (#2950) @Redeix +- Added a recipe to turn leaf blocks into hedges. (#2950) @Redeix +- Added recipes to make krummholz. (#2950) @Redeix +- Added config file for Via Romana support. (#2950) @Redeix ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/config/via_romana.json b/config/via_romana.json new file mode 100644 index 000000000..faa359fe6 --- /dev/null +++ b/config/via_romana.json @@ -0,0 +1,62 @@ +{ + "infrastructure_check_radius": 1, + "path_quality_threshold": 0.6, + "node_distance_minimum": 10, + "node_distance_maximum": 20, + "path_block_ids": [ + ], + "path_block_tags": [ + "tfc:paths", + "forge:gravel", + "rnr:gravel_road_blocks", + "rnr:gravel_road_slabs", + "rnr:gravel_road_stairs", + "forge:cobblestone", + "minecraft:stairs", + "minecraft:slabs", + "rnr:cobbled_road_blocks", + "rnr:cobbled_road_stairs", + "rnr:cobbled_road_slabs", + "minecraft:mineable/pickaxe", + "minecraft:mineable/axe" + ], + "path_block_strings": [ + ], + "block_string_blacklist": [ + ], + "invalid_dimensions": [], + "no_gui_charting": false, + "invalid_entities": [], + "warp_block_ids": [ + "via_romana:warp_block" + ], + "warp_block_tags": [ + "minecraft:all_signs" + ], + "travel_fatigue_cooldown": 6, + "fast_movement_speed": 0.0, + "direct_warp": false, + "fog_of_war_distance": 10, + "spline_animation_time": 2.0, + "maximum_map_dimension": 512, + "map_refresh_interval": 10, + "map_refresh_threshold": 10, + "map_save_interval": 5, + "biome_color_pairs": [], + "use_biome_fallback_for_lowres": false, + "enable_remote_map_access": true, + "enable_surveyor_landmark": false, + "enable_surveyor_landmark_coloring": false, + "invalid_block_overlay_opacity": 0.4, + "biome_map_opacity": 0.3, + "node_vignette_opacity": 1.0, + "line_colors": [ + "#ffffff", + "#cccccc" + ], + "line_opacity": 1.0, + "enable_teleport_particles": true, + "enable_sign_particles": true, + "enable_custom_cursor": true, + "logging_enum": "NONE" +} \ No newline at end of file diff --git a/kubejs/server_scripts/afc/recipes.js b/kubejs/server_scripts/afc/recipes.js index 1fcc394c8..9f385e5c7 100644 --- a/kubejs/server_scripts/afc/recipes.js +++ b/kubejs/server_scripts/afc/recipes.js @@ -89,7 +89,37 @@ const registerAFCRecipes = (event) => { }).id(`afc:crafting/wood/${wood}_stomping_barrel`) - }) + event.recipes.gtceu.lathe(`tfg:stripping_${wood}_log`) + .itemInputs(`afc:wood/log/${wood}`) + .itemOutputs(`afc:wood/stripped_log/${wood}`) + .duration(50) + .EUt(2) + + event.recipes.gtceu.lathe(`tfg:stripping_${wood}_wood`) + .itemInputs(`afc:wood/wood/${wood}`) + .itemOutputs(`afc:wood/stripped_wood/${wood}`) + .duration(50) + .EUt(2) + + event.recipes.vintageimprovements.polishing(`afc:wood/stripped_log/${wood}`, `afc:wood/log/${wood}`) + .speedLimits(0) + .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/stripping_${wood}_log`) + + event.recipes.vintageimprovements.polishing(`afc:wood/stripped_wood/${wood}`, `afc:wood/wood/${wood}`) + .speedLimits(0) + .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/stripping_${wood}_wood`) + }); + + global.AFC_SAPLINGS.forEach(wood => { + event.shaped(`4x afc:wood/fallen_leaves/${wood.sapling}`,[ + 'AA', + 'AA' + ], { + A: `afc:wood/leaves/${wood.sapling}` + }).id(`tfg:shaped/afc/${wood.sapling}_leaves_to_fallen_leaves`); + }); // #endregion @@ -237,33 +267,6 @@ const registerAFCRecipes = (event) => { .outputItem('afc:birch_sugar') .id('tfg:barrel/birch_syrup_to_sugar') - - // Stripped logs - - global.AFC_WOOD_TYPES.forEach(wood => { - event.recipes.gtceu.lathe(`tfg:stripping_${wood}_log`) - .itemInputs(`afc:wood/log/${wood}`) - .itemOutputs(`afc:wood/stripped_log/${wood}`) - .duration(50) - .EUt(2) - - event.recipes.gtceu.lathe(`tfg:stripping_${wood}_wood`) - .itemInputs(`afc:wood/wood/${wood}`) - .itemOutputs(`afc:wood/stripped_wood/${wood}`) - .duration(50) - .EUt(2) - - event.recipes.vintageimprovements.polishing(`afc:wood/stripped_log/${wood}`, `afc:wood/log/${wood}`) - .speedLimits(0) - .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) - .id(`tfg:vi/lathe/stripping_${wood}_log`) - - event.recipes.vintageimprovements.polishing(`afc:wood/stripped_wood/${wood}`, `afc:wood/wood/${wood}`) - .speedLimits(0) - .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) - .id(`tfg:vi/lathe/stripping_${wood}_wood`) - }) - const MORE_STRIPPING = [ { wood: 'black_oak', stripped: 'oak', stripped_mod: 'tfc' }, { wood: 'rainbow_eucalyptus', stripped: 'eucalyptus', stripped_mod: 'afc' }, diff --git a/kubejs/server_scripts/beneath/recipes.js b/kubejs/server_scripts/beneath/recipes.js index b7036a19b..e5182c117 100644 --- a/kubejs/server_scripts/beneath/recipes.js +++ b/kubejs/server_scripts/beneath/recipes.js @@ -85,4 +85,18 @@ const registerBeneathRecipes = (event) => { C: 'beneath:wood/planks/warped', D: 'beneath:wood/log/warped' }).id('tfg:shaped/warped_sewing_table') + + event.shaped(`4x beneath:wood/fallen_leaves/crimson`,[ + 'AA', + 'AA' + ], { + A: `beneath:wood/leaves/crimson` + }).id(`tfg:shaped/beneath/crimson_leaves_to_fallen_leaves`); + + event.shaped(`4x beneath:wood/fallen_leaves/warped`,[ + 'AA', + 'AA' + ], { + A: `beneath:wood/leaves/warped` + }).id(`tfg:shaped/beneath/warped_leaves_to_fallen_leaves`); } \ No newline at end of file diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 49e4e1ec5..e1e4ba600 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -200,6 +200,8 @@ const registerFirmaLifeRecipes = (event) => { .category(GTRecipeCategories.INGOT_MOLDING) event.replaceInput({ id: 'firmalife:crafting/bottle_label' }, 'firmalife:beeswax', '#forge:wax') + + event.shapeless('firmalife:fruit_leaf', ['#tfc:fruit_tree_leaves']).id('tfg:shapeless/firmalife/fruit_leaf_from_fruit_leaves'); //#endregion diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index 307bc6230..2264a45d2 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -22,6 +22,11 @@ const registerFirmaLifeItemTags = (event) => { .map(fruit => fruit.id) .filter(fruit => fruit !== 'betterend:shadow_berry_cooked' && fruit !== 'minecraft:popped_chorus_fruit') .forEach(fruit => event.add('tfg:dried_fruit', fruit)) + + event.add('tfc:fruit_tree_leaves', 'firmalife:plant/cocoa_leaves') + event.add('tfc:fruit_tree_leaves', 'firmalife:plant/fig_leaves') + event.add('minecraft:leaves', 'firmalife:plant/cocoa_leaves') + event.add('minecraft:leaves', 'firmalife:plant/fig_leaves') } const registerFirmaLifeBlockTags = (event) => { diff --git a/kubejs/server_scripts/macaws_for_tfc/recipes.js b/kubejs/server_scripts/macaws_for_tfc/recipes.js index 2880c456a..a412f913e 100644 --- a/kubejs/server_scripts/macaws_for_tfc/recipes.js +++ b/kubejs/server_scripts/macaws_for_tfc/recipes.js @@ -30,4 +30,12 @@ function registerMacawsForTFCRecipes(event) { 'mcw_tfc_aio:roofs/gray_roofs/gray_roof_slab', 'mcw_tfc_aio:roofs/gray_roofs/gray_roof_slab' ]).id('minecraft:gray_terracotta') -} + + event.shaped(`4x mcw_tfc_aio:fences/other_fences/hedge`, [ + 'BAB', + 'BAB' + ], { + A: '#forge:rods/wooden', + B: '#minecraft:leaves' + }).id(`tfg:shaped/mcw_tfc/hedge_fence_from_leaves`); +}; diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 577940b86..6eb87bda4 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -256,4 +256,32 @@ const registerTFCRecipes = (event) => { event.shapeless('4x tfc:kaolin_clay', ['tfc:white_kaolin_clay']) event.shapeless('4x tfc:kaolin_clay', ['tfc:pink_kaolin_clay']) event.shapeless('4x tfc:kaolin_clay', ['tfc:red_kaolin_clay']) + + global.TFC_WOOD_TYPES.forEach(element => { + event.shaped(`4x tfc:wood/fallen_leaves/${element}`,[ + 'AA', + 'AA' + ], { + A: `tfc:wood/leaves/${element}` + }).id(`tfg:shaped/tfc/${element}_leaves_to_fallen_leaves`); + }); + + /** + * @property {string[]} krummholz_types - List of krummholz wood types. + */ + const krummholz_types = [ + 'aspen', + 'douglas_fir', + 'pine', + 'spruce', + 'white_cedar' + ]; + krummholz_types.forEach(type => { + event.shaped(`1x tfc:plant/${type}_krummholz`,[ + 'A', + 'A' + ], { + A: `tfc:wood/sapling/${type}` + }).id(`tfg:shaped/tfc/${type}_krummholz`); + }); } diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 3637b57ff..b5d7879aa 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -137,6 +137,21 @@ function registerTFCItemTags(event) { //Plants event.add("tfc:plants", "#tfc:wild_fruits"); + /** + * @property {string[]} krummholz_types - List of krummholz wood types. + */ + const krummholz_types = [ + 'aspen', + 'douglas_fir', + 'pine', + 'spruce', + 'white_cedar' + ]; + krummholz_types.forEach(type => { + event.add('tfc:plants', `tfc:plant/${type}_krummholz`); + event.add('tfc:krummholz', `tfc:plant/${type}_krummholz`); + }); + // Для складывания event.add("tfc:pileable_ingots", "#forge:ingots"); event.add("tfc:pileable_sheets", "#forge:plates"); diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js index fa8c59eb5..23a86cb19 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js @@ -5,11 +5,11 @@ //#region Balancing Values /** Base duration of recipes in ticks. */ -const greenhouse_base_duration = 16 * 60 * 20; +const greenhouse_base_duration = 10 * 60 * 20; /** Duration multiplier for fertilized recipes. */ -const greenhouse_duration_multiplier_fertilized = 0.5; +const greenhouse_duration_multiplier_fertilized = 0.75; /** Duration multiplier for aquaponic recipes. */ -const greenhouse_duration_multiplier_aquaponics = 0.4; +const greenhouse_duration_multiplier_aquaponics = 0.5; /** Hydroponic facility chance multiplier. */ const hydroponics_facility_chance_multiplier = 1.25; @@ -35,10 +35,10 @@ const greenhouse_chanced_output_aquaponics = 80; /** @param {...DimensionIndex[]} - Dimension settings array */ const greenhouse_dimension_index = [ // Overworld settings are also used as the default when no dimension is specified. - {id: 'minecraft:overworld', fluid: '#tfg:clean_water', fluid_tier2: 'tfg:nitrate_rich_water', fluid_chance: 10, fertilizer: 'gtceu:fertilizer', eut: GTValues.VA[GTValues.LV], oxygenated: true}, - {id: 'minecraft:the_nether', fluid: '#tfg:clean_water', fluid_tier2: 'tfg:nitrate_rich_water', fluid_chance: 10, fertilizer: 'gtceu:fertilizer', eut: GTValues.VA[GTValues.LV], oxygenated: true}, - {id: 'ad_astra:moon', fluid: 'gtceu:helium_3', fluid_tier2: null, fluid_chance: 2, fertilizer: null, eut: GTValues.VA[GTValues.MV], oxygenated: null}, - {id: 'ad_astra:mars', fluid: 'tfg:semiheavy_ammoniacal_water', fluid_tier2: 'tfg:nitrate_rich_semiheavy_ammoniacal_water', fluid_chance: 10, fertilizer: 'gtceu:fertilizer', eut: GTValues.VA[GTValues.HV], oxygenated: null} + {id: 'minecraft:overworld', fluid: '#tfg:clean_water', fluid_tier2: 'tfg:nitrate_rich_water', fluid_chance: 10, fertilizer: 'gtceu:fertilizer', eut: GTValues.VHA[GTValues.LV], oxygenated: true}, + {id: 'minecraft:the_nether', fluid: '#tfg:clean_water', fluid_tier2: 'tfg:nitrate_rich_water', fluid_chance: 10, fertilizer: 'gtceu:fertilizer', eut: GTValues.VHA[GTValues.LV], oxygenated: true}, + {id: 'ad_astra:moon', fluid: 'gtceu:helium_3', fluid_tier2: null, fluid_chance: 2, fertilizer: null, eut: GTValues.VHA[GTValues.MV], oxygenated: null}, + {id: 'ad_astra:mars', fluid: 'tfg:semiheavy_ammoniacal_water', fluid_tier2: 'tfg:nitrate_rich_semiheavy_ammoniacal_water', fluid_chance: 10, fertilizer: 'gtceu:fertilizer', eut: GTValues.VHA[GTValues.HV], oxygenated: null} ]; //#endregion @@ -54,8 +54,9 @@ const greenhouse_dimension_index = [ * @param {Internal.ItemStack} input -Input Item (seeds, saplings, etc.) * @param {Internal.ItemStack|Internal.ItemStack[]} output -Output Items. If array, first item is guaranteed while rest use chanced output. Last item in array is used for the rest of the chance outputs. * @param {number|null} chance_multiplier -Multiplies output chances by this value. Defaults to 1. + * @param {number|null} circuit - Circuit number. 1-32. Or null. */ -function generateGreenHouseRecipe(event, dimension, input, output, chance_multiplier) { +function generateGreenHouseRecipe(event, dimension, input, output, chance_multiplier, circuit) { // Resolve dimension based modifier defaults by comparing to the `greenhouse_dimension_index` array. @@ -83,25 +84,37 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip /** @type {boolean|null} - Whether the recipe requires an oxygenated environment. Defaults to true. */ const requiresOxygen = dimMods ? dimMods.oxygenated : true; + /** @type {string} - Circuit number for the recipe id. Defaults to an empty string if not provided. */ + const idCircuit = (circuit === null || circuit === undefined) ? "" : `/${circuit}`; + ///////////////////////////////////////////////////////////////////////////////////////////////////// /** Collect errors. */ const errors = []; - if (input === undefined || Array.isArray(input)) { - errors.push("input is undefined or is an array"); + if (input === undefined || input === null || Array.isArray(input) || (typeof input === 'string' && input.trim() === '')) { + errors.push(`input is invalid: ${JSON.stringify(input)}`); }; + if (output !== undefined && !Array.isArray(output)) { output = [output]; - } - if (output === undefined || output.length === 0 || output.length > 4) { - errors.push("output is undefined or has invalid length"); + }; + + if (output === undefined || output === null || output.length === 0 || output.length > 4) { + errors.push(`output is invalid: ${JSON.stringify(output)}`); + } else { + output.forEach((o, idx) => { + if (o === undefined || o === null) { + errors.push(`output[${idx}] is null or undefined`); + }; + }); }; // If there are any errors, log them all and throw once. if (errors.length > 0) { - throw new TypeError(`Greenhouse recipe errors for recipe ID ${`tfg:greenhouse/${linuxUnfucker(input)}`}\n - ${errors.join("\n - ")}`); + console.error(`Greenhouse recipe error details:\n input: ${JSON.stringify(input)}\n output: ${JSON.stringify(output)}\n dimension: ${JSON.stringify(dimension)}\n circuit: ${JSON.stringify(circuit)}\n chance_multiplier: ${JSON.stringify(chance_multiplier)}`); + throw new TypeError(`Greenhouse recipe errors for recipe ID ${`tfg:greenhouse/${linuxUnfucker(input)}${idCircuit}`}\n - ${errors.join("\n - ")}`); }; //////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -163,9 +176,8 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip //======================== Greenhouse Recipes ======================== // Base recipe. - let a = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}`) + let a = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}${idCircuit}`) .notConsumable(input) - .circuit(1) .itemOutputs(outputs_array[0]) .perTick(true) .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) @@ -183,11 +195,13 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip a.chancedOutput(outputs_array[2], base_chance, 0) a.chancedOutput(outputs_array[3], base_chance, 0) }; + if (circuit !== null) { + a.circuit(circuit) + }; // Fertilized Recipe. - let b = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}_fertilized`) + let b = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}_fertilized${idCircuit}`) .notConsumable(input) - .circuit(2) .itemOutputs(outputs_array[0]) .perTick(true) .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) @@ -206,11 +220,13 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip b.chancedOutput(outputs_array[3], fertilizer_chance, 0) b.itemInputs(Item.of(resolvedFertilizer, 8)) }; + if (circuit !== null) { + b.circuit(circuit + 1) + }; // Aquaponics Recipe. - let c = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}_aquaponic`) + let c = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}_aquaponic${idCircuit}`) .notConsumable(input) - .circuit(3) .itemOutputs(outputs_array[0]) .perTick(true) .chancedFluidInput(`${resolvedFluidTier2} 1`, resolvedChance, 0) @@ -228,14 +244,16 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip c.chancedOutput(outputs_array[2], aquaponic_chance, 0) c.chancedOutput(outputs_array[3], aquaponic_chance, 0) }; + if (circuit !== null) { + c.circuit(circuit + 2) + }; c.itemOutputs('tfg:flora_pellets'); //======================== Hydroponic Facility Recipes ======================== // Base recipe. - let d = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}`) + let d = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}${idCircuit}`) .notConsumable(input) - .circuit(1) .itemOutputs(outputs_array[0]) .perTick(true) .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) @@ -250,11 +268,13 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip d.chancedOutput(outputs_array[2], hydroponics_base_chance, 0) d.chancedOutput(outputs_array[3], hydroponics_base_chance, 0) }; + if (circuit !== null) { + d.circuit(circuit) + }; // Fertilized Recipe. - let e = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}_fertilized`) + let e = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}_fertilized${idCircuit}`) .notConsumable(input) - .circuit(2) .itemOutputs(outputs_array[0]) .perTick(true) .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) @@ -270,11 +290,13 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip e.chancedOutput(outputs_array[3], hydroponics_fertilizer_chance, 0) e.itemInputs(Item.of(resolvedFertilizer, 8)) }; + if (circuit !== null) { + e.circuit(circuit + 1) + }; // Aquaponics Recipe. - let f = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}_aquaponic`) + let f = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}_aquaponic${idCircuit}`) .notConsumable(input) - .circuit(3) .itemOutputs(outputs_array[0]) .perTick(true) .chancedFluidInput(`${resolvedFluidTier2} 1`, resolvedChance, 0) @@ -289,6 +311,9 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip f.chancedOutput(outputs_array[2], hydroponics_aquaponic_chance, 0) f.chancedOutput(outputs_array[3], hydroponics_aquaponic_chance, 0) }; + if (circuit !== null) { + f.circuit(circuit + 2) + }; f.itemOutputs('tfg:flora_pellets'); } else { @@ -296,9 +321,8 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip //======================== Greenhouse Recipes ======================== - let a = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}`) + let a = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}${idCircuit}`) .notConsumable(input) - .circuit(1) .itemOutputs(outputs_array[0]) .perTick(true) .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) @@ -316,12 +340,14 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip a.chancedOutput(outputs_array[2], fertilizer_chance, 0) a.chancedOutput(outputs_array[3], fertilizer_chance, 0) }; + if (circuit !== null) { + a.circuit(circuit) + }; //======================== Hydroponics Facility Recipes ======================== - let b = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}`) + let b = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}${idCircuit}`) .notConsumable(input) - .circuit(1) .itemOutputs(outputs_array[0]) .perTick(true) .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) @@ -336,6 +362,9 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip b.chancedOutput(outputs_array[2], hydroponics_fertilizer_chance, 0) b.chancedOutput(outputs_array[3], hydroponics_fertilizer_chance, 0) }; + if (circuit !== null) { + b.circuit(circuit) + }; }; }; @@ -351,10 +380,15 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip * @param {Internal.Dimension|null} dimension -Dimension ID * @param {Internal.Ingredient} input -Input Item. (seed, bush, etc.) * @param {Internal.ItemStack} output -Output Item. (vegetable, fruit, etc.) + * @param {Internal.ItemStack|null} leaves - Leaf block. Generates extra recipes with leaf outputs if provided. * @param {number|null} chance_multiplier -Multiplies output chances by this value. Defaults to 1. */ -function generateCropGreenHouseRecipe(event, dimension, input, output, chance_multiplier) { - generateGreenHouseRecipe(event, dimension, `4x ${input}`, [Item.of(output, 20), Item.of(input, 1), Item.of(output, 4)], chance_multiplier); +function generateCropGreenHouseRecipe(event, dimension, input, output, leaves, chance_multiplier) { + generateGreenHouseRecipe(event, dimension, `4x ${input}`, [Item.of(output, 20), Item.of(input, 1), Item.of(output, 4)], chance_multiplier, 1); + generateGreenHouseRecipe(event, dimension, `4x ${input}`, [Item.of(output, 20), Item.of(input, 8), Item.of(input, 4)], chance_multiplier, 5); + if (leaves !== null && leaves !== undefined) { + generateGreenHouseRecipe(event, dimension, `4x ${input}`, [Item.of(output, 20), Item.of(leaves, 16), Item.of(leaves, 8)], chance_multiplier, 10); + }; }; /** @@ -369,10 +403,15 @@ function generateCropGreenHouseRecipe(event, dimension, input, output, chance_mu * @param {Internal.Dimension|null} dimension -Dimension ID * @param {Internal.Ingredient} input -Input Item. (sapling) * @param {Internal.ItemStack} output -Output Item. (wood) + * @param {Internal.ItemStack|null} leaves - Leaf block. Generates extra recipes with leaf outputs if provided. * @param {number|null} chance_multiplier -Multiplies output chances by this value. Defaults to 1. */ -function generateTreeGreenHouseRecipe(event, dimension, input, output, chance_multiplier) { - generateGreenHouseRecipe(event, dimension, `8x ${input}`, [Item.of(output, 64), Item.of(input, 4), Item.of(output, 16)], chance_multiplier); +function generateTreeGreenHouseRecipe(event, dimension, input, output, leaves, chance_multiplier) { + generateGreenHouseRecipe(event, dimension, `8x ${input}`, [Item.of(output, 64), Item.of(input, 4), Item.of(output, 16)], chance_multiplier, 1); + generateGreenHouseRecipe(event, dimension, `8x ${input}`, [Item.of(output, 64), Item.of(input, 16), Item.of(input, 8)], chance_multiplier, 5); + if (leaves !== null && leaves !== undefined) { + generateGreenHouseRecipe(event, dimension, `8x ${input}`, [Item.of(output, 64), Item.of(leaves, 32), Item.of(leaves, 16)], chance_multiplier, 10); + }; }; //#endregion @@ -466,88 +505,89 @@ const registerTFGGreenhouseRecipes = (event) => { // Mushrooms Ingredient.of('#tfg:plants/beneath').stacks.forEach(element => { - generateGreenHouseRecipe(event, 'minecraft:the_nether', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1); + generateGreenHouseRecipe(event, 'minecraft:the_nether', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1, 1); }); - generateGreenHouseRecipe(event, 'minecraft:the_nether', '8x minecraft:red_mushroom', ['24x minecraft:red_mushroom', '8x minecraft:red_mushroom'], 1); - generateGreenHouseRecipe(event, 'minecraft:the_nether', '8x minecraft:brown_mushroom', ['24x minecraft:brown_mushroom', '8x minecraft:brown_mushroom'], 1); + generateGreenHouseRecipe(event, 'minecraft:the_nether', '8x minecraft:red_mushroom', ['24x minecraft:red_mushroom', '8x minecraft:red_mushroom'], 1, 1); + generateGreenHouseRecipe(event, 'minecraft:the_nether', '8x minecraft:brown_mushroom', ['24x minecraft:brown_mushroom', '8x minecraft:brown_mushroom'], 1, 1); // Crops global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { - generateCropGreenHouseRecipe(event, null, element.input, element.output, 1); + generateCropGreenHouseRecipe(event, null, element.input, element.output, element.leaves, 1); }); global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { - generateCropGreenHouseRecipe(event, null, element.input, element.output, 1); + generateCropGreenHouseRecipe(event, null, element.input, element.output, element.leaves, 1); }); global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS.forEach(element => { - generateCropGreenHouseRecipe(event, null, element.input, element.output, 1); + generateCropGreenHouseRecipe(event, null, element.input, element.output, null, 1); }); global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => { - generateCropGreenHouseRecipe(event, null, element.input, element.output, 1); + generateCropGreenHouseRecipe(event, null, element.input, element.output, null, 1); }); // Wood global.TFC_WOOD_TYPES.forEach(element => { - generateTreeGreenHouseRecipe(event, null, `tfc:wood/sapling/${element}`, `tfc:wood/log/${element}`, 1); + generateTreeGreenHouseRecipe(event, null, `tfc:wood/sapling/${element}`, `tfc:wood/log/${element}`, `tfc:wood/leaves/${element}`, 1); }); global.AFC_SAPLINGS.forEach(element => { - generateTreeGreenHouseRecipe(event, null, `afc:wood/sapling/${element.sapling}`, element.log, 1); + generateTreeGreenHouseRecipe(event, null, `afc:wood/sapling/${element.sapling}`, element.log, `afc:wood/leaves/${element.sapling}`, 1); }); // Plants Ingredient.of('#tfc:plants').subtract('#tfc:wild_fruits').stacks.forEach(element => { - generateGreenHouseRecipe(event, null, `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1); + generateGreenHouseRecipe(event, null, `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1, 1); + }); + Ingredient.of('#forge:corals').stacks.forEach(element => { + generateGreenHouseRecipe(event, null, `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1, 1); + }); + Ingredient.of('#forge:coral_blocks').stacks.forEach(element => { + generateGreenHouseRecipe(event, null, `8x ${element.id}`, [element.withCount(12), element.withCount(4)], 1, 1); }); - generateGreenHouseRecipe(event, null, '8x minecraft:bamboo', ['64x minecraft:bamboo', '8x minecraft:bamboo'], 1); - - generateGreenHouseRecipe(event, null, '8x tfc:food/fresh_seaweed', ['24x tfc:food/fresh_seaweed', '8x tfc:food/fresh_seaweed'], 1); + generateGreenHouseRecipe(event, null, '8x minecraft:bamboo', ['64x minecraft:bamboo', '8x minecraft:bamboo'], 1, 1); - generateGreenHouseRecipe(event, 'minecraft:the_nether', '4x minecraft:glow_berries', ['20x minecraft:glow_berries', '4x minecraft:glow_berries'], 1); + generateGreenHouseRecipe(event, null, '8x tfc:tree_roots', ['64x tfc:tree_roots', '8x tfc:tree_roots'], 1, 1); + + generateGreenHouseRecipe(event, null, '8x tfc:food/fresh_seaweed', ['24x tfc:food/fresh_seaweed', '8x tfc:food/fresh_seaweed'], 1, 1); + + generateGreenHouseRecipe(event, 'minecraft:the_nether', '4x minecraft:glow_berries', ['20x minecraft:glow_berries', '4x minecraft:glow_berries'], 1, 1); // Mars Wood - generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/strophar', [ - '64x ad_astra:strophar_stem', '4x tfg:saplings/strophar', '32x ad_astra:strophar_stem', '16x ad_astra:strophar_cap' - ], 1); - generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/aeronos', [ - '64x ad_astra:aeronos_stem', '4x tfg:saplings/aeronos', '32x ad_astra:aeronos_stem', '16x ad_astra:aeronos_cap' - ], 1); - generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/glacian', [ - '64x ad_astra:glacian_log', '4x tfg:saplings/glacian', '32x ad_astra:glacian_log', '16x species:alphacene_moss_block' - ], 1); - generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/alphacene', [ - '64x species:alphacene_mushroom_block', '4x tfg:saplings/alphacene', '16x minecraft:mushroom_stem', '16x minecraft:mushroom_stem' - ], 1); - generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/warped', [ - '64x beneath:wood/log/warped', '4x tfg:saplings/warped', '32x beneath:wood/log/warped', '16x minecraft:warped_wart_block' - ], 1); - generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/crimson', [ - '64x beneath:wood/log/crimson', '4x tfg:saplings/crimson', '32x beneath:wood/log/crimson', '16x minecraft:nether_wart_block' - ], 1); + generateTreeGreenHouseRecipe(event, 'ad_astra:mars', `tfg:saplings/strophar`, `ad_astra:strophar_stem`, `ad_astra:strophar_cap`, 1); + + generateTreeGreenHouseRecipe(event, 'ad_astra:mars', `tfg:saplings/aeronos`, `ad_astra:aeronos_stem`, `ad_astra:aeronos_cap`, 1); + + generateTreeGreenHouseRecipe(event, 'ad_astra:mars', `tfg:saplings/glacian`, `ad_astra:glacian_log`, `species:alphacene_moss_block`, 1); + + generateTreeGreenHouseRecipe(event, 'ad_astra:mars', `tfg:saplings/alphacene`, `species:alphacene_mushroom_block`, `minecraft:mushroom_stem`, 1); + + generateTreeGreenHouseRecipe(event, 'ad_astra:mars', `tfg:saplings/warped`, `beneath:wood/log/warped`, `minecraft:warped_wart_block`, 1); + + generateTreeGreenHouseRecipe(event, 'ad_astra:mars', `tfg:saplings/crimson`, `beneath:wood/log/crimson`, `minecraft:nether_wart_block`, 1); // Mars Plants Ingredient.of('#tfg:mars_plants').stacks.forEach(element => { - generateGreenHouseRecipe(event, 'ad_astra:mars', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1); + generateGreenHouseRecipe(event, 'ad_astra:mars', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1, 1); }); - generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:amber_root_seeds', 'betterend:amber_root_product', 1); - generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:blossom_berry_seeds', 'betterend:blossom_berry_product', 1); - generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:bolux_mushroom_seeds', 'betterend:bolux_mushroom_product', 1); - generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:cave_pumpkin_plant_seeds', 'betterend:cave_pumpkin', 1); - generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:chorus_mushroom_seeds', 'betterend:chorus_mushroom_product', 1); - generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:shadow_berry_seeds', 'betterend:shadow_berry_product', 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:amber_root_seeds', 'betterend:amber_root_product', null, 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:blossom_berry_seeds', 'betterend:blossom_berry_product', null, 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:bolux_mushroom_seeds', 'betterend:bolux_mushroom_product', null, 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:cave_pumpkin_plant_seeds', 'betterend:cave_pumpkin', null, 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:chorus_mushroom_seeds', 'betterend:chorus_mushroom_product', null, 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:shadow_berry_seeds', 'betterend:shadow_berry_product', null, 1); // Moon Plants generateGreenHouseRecipe(event, 'ad_astra:moon', '8x tfg:lunar_chorus_flower', [ '64x minecraft:chorus_fruit', '8x minecraft:chorus_fruit', '8x tfg:lunar_chorus_flower', '8x tfg:lunar_chorus_flower' - ], 1); + ], 1, 1); generateGreenHouseRecipe(event, 'ad_astra:moon', '8x minecraft:twisting_vines', [ '16x minecraft:twisting_vines', '8x minecraft:pearlescent_froglight', '8x minecraft:verdant_froglight', '8x minecraft:ochre_froglight' - ], 1); + ], 1, 1); Ingredient.of('#tfg:moon_plants').stacks.forEach(element => { - generateGreenHouseRecipe(event, 'ad_astra:moon', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1); + generateGreenHouseRecipe(event, 'ad_astra:moon', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1, 1); }); //#endregion diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js index 71b258c93..667fb3953 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js @@ -25,10 +25,10 @@ const pisciculture_base_duration = Math.max(1, greenhouse_base_duration * greenh /** @type {DimensionIndex[]} - Dimension settings array */ const pisciculture_dimension_index = [ // Overworld settings are also used as the default when no dimension is specified. - {id: 'minecraft:overworld', fluid: '#tfg:clean_water', fluid_chance: 10, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true}, - {id: 'minecraft:the_nether', fluid: '#tfg:clean_water', fluid_chance: 10, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true}, + {id: 'minecraft:overworld', fluid: '#tfg:clean_water', fluid_chance: 10, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VHA[GTValues.LV], oxygenated: true}, + {id: 'minecraft:the_nether', fluid: '#tfg:clean_water', fluid_chance: 10, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VHA[GTValues.LV], oxygenated: true}, // The moon has no fish yet :( - {id: 'ad_astra:mars', fluid: 'tfg:semiheavy_ammoniacal_water', fluid_chance: 10, fluid_out: 'tfg:nitrate_rich_semiheavy_ammoniacal_water', eut: GTValues.VA[GTValues.HV], oxygenated: null} + {id: 'ad_astra:mars', fluid: 'tfg:semiheavy_ammoniacal_water', fluid_chance: 10, fluid_out: 'tfg:nitrate_rich_semiheavy_ammoniacal_water', eut: GTValues.VHA[GTValues.HV], oxygenated: null} ]; //#endregion diff --git a/kubejs/server_scripts/tfg/beneath/tags.beneath.js b/kubejs/server_scripts/tfg/beneath/tags.beneath.js index 768569bea..b5d3b554e 100644 --- a/kubejs/server_scripts/tfg/beneath/tags.beneath.js +++ b/kubejs/server_scripts/tfg/beneath/tags.beneath.js @@ -12,12 +12,24 @@ function registerTFGBeneathItemTags(event) { event.add("minecraft:piglin_loved", "tfc:ore/rich_native_gold"); event.add('minecraft:piglin_loved', 'tfg:piglin_disguise') - event.add('tfc:plants', 'minecraft:spore_blossom') event.remove('createaddition:plants', 'minecraft:moss_carpet') - event.add('tfg:plants/beneath', 'beneath:gleamflower') - event.add('tfg:plants/beneath', 'beneath:burpflower') - event.add('tfg:plants/beneath', '#beneath:mushrooms') + /** + * @property {string[]} beneath_plants - List of Beneath plants to be added to the `tfg:plants/beneath` tag. + */ + const beneath_plants = [ + 'beneath:gleamflower', + 'beneath:burpflower', + 'minecraft:big_dripleaf', + 'minecraft:small_dripleaf', + 'minecraft:glow_lichen', + 'minecraft:hanging_roots', + 'minecraft:spore_blossom', + '#beneath:mushrooms' + ]; + beneath_plants.forEach(plant => + event.add('tfg:plants/beneath', plant) + ); event.add('tfc:compost_greens', 'minecraft:red_mushroom_block') event.add('tfc:compost_greens', 'minecraft:brown_mushroom_block') diff --git a/kubejs/startup_scripts/firmalife/constants.js b/kubejs/startup_scripts/firmalife/constants.js index f6ae1a013..6708cf1c2 100644 --- a/kubejs/startup_scripts/firmalife/constants.js +++ b/kubejs/startup_scripts/firmalife/constants.js @@ -107,8 +107,8 @@ global.FIRMALIFE_JAMS = [ ] global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = [ - { input: 'firmalife:plant/cocoa_sapling', output: 'firmalife:food/cocoa_beans'}, - { input: 'firmalife:plant/fig_sapling', output: 'firmalife:food/fig'}, + { input: 'firmalife:plant/cocoa_sapling', output: 'firmalife:food/cocoa_beans', leaves: 'firmalife:plant/cocoa_leaves' }, + { input: 'firmalife:plant/fig_sapling', output: 'firmalife:food/fig', leaves: 'firmalife:plant/fig_leaves' }, { input: 'firmalife:plant/pineapple_bush', output: 'firmalife:food/pineapple'}, { input: 'firmalife:plant/nightshade_bush', output: 'firmalife:food/nightshade_berry'}, { input: 'firmalife:seeds/red_grape', output: 'firmalife:food/red_grapes'}, diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index a6513b569..eb6d8dfa0 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -788,15 +788,15 @@ global.TFC_JAMS = /** @type {const} */ ([ ]); global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = /** @type {const} */ ([ - { input: "tfc:plant/cherry_sapling", output: "tfc:food/cherry"}, - { input: "tfc:plant/green_apple_sapling", output: "tfc:food/green_apple"}, - { input: "tfc:plant/lemon_sapling", output: "tfc:food/lemon"}, - { input: "tfc:plant/olive_sapling", output: "tfc:food/olive"}, - { input: "tfc:plant/orange_sapling", output: "tfc:food/orange"}, - { input: "tfc:plant/peach_sapling", output: "tfc:food/peach"}, - { input: "tfc:plant/plum_sapling", output: "tfc:food/plum"}, - { input: "tfc:plant/red_apple_sapling", output: "tfc:food/red_apple"}, - { input: "tfc:plant/banana_sapling", output: "tfc:food/banana"} + { input: "tfc:plant/cherry_sapling", output: "tfc:food/cherry", leaves: "tfc:plant/cherry_leaves" }, + { input: "tfc:plant/green_apple_sapling", output: "tfc:food/green_apple", leaves: "tfc:plant/green_apple_leaves" }, + { input: "tfc:plant/lemon_sapling", output: "tfc:food/lemon", leaves: "tfc:plant/lemon_leaves" }, + { input: "tfc:plant/olive_sapling", output: "tfc:food/olive", leaves: "tfc:plant/olive_leaves" }, + { input: "tfc:plant/orange_sapling", output: "tfc:food/orange", leaves: "tfc:plant/orange_leaves" }, + { input: "tfc:plant/peach_sapling", output: "tfc:food/peach", leaves: "tfc:plant/peach_leaves" }, + { input: "tfc:plant/plum_sapling", output: "tfc:food/plum", leaves: "tfc:plant/plum_leaves" }, + { input: "tfc:plant/red_apple_sapling", output: "tfc:food/red_apple", leaves: "tfc:plant/red_apple_leaves" }, + { input: "tfc:plant/banana_sapling", output: "tfc:food/banana" } ]); global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS = /** @type {const} */ ([ From bfc385ea8a9e860938f66640597a296392c04da4 Mon Sep 17 00:00:00 2001 From: Mqrius Date: Mon, 2 Feb 2026 13:22:24 +0100 Subject: [PATCH 335/474] Fix method overload (#2946) There was never actually any overload? --- kubejs/server_scripts/tfg/events.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/kubejs/server_scripts/tfg/events.js b/kubejs/server_scripts/tfg/events.js index 4c19dd387..e50979af0 100644 --- a/kubejs/server_scripts/tfg/events.js +++ b/kubejs/server_scripts/tfg/events.js @@ -1,14 +1,15 @@ "use strict"; -// TODO TFGServerEvents.dimensionalPowerConsumption(event => { - event["add(java.lang.String,double)"]("minecraft:overworld", 10000); - event["add(java.lang.String,double)"]("minecraft:the_nether", 20000); - event["add(java.lang.String,double)"]("ad_astra:earth_orbit", 20000); - event["add(java.lang.String,double)"]("ad_astra:moon", 50000); - event["add(java.lang.String,double)"]("ad_astra:moon_orbit", 50000); - event["add(java.lang.String,double)"]("ad_astra:mars", 100000); - event["add(java.lang.String,double)"]("ad_astra:mars_orbit", 100000); + event.add("minecraft:overworld", 10000); + event.add("minecraft:the_nether", 20000); + event.add("ad_astra:earth_orbit", 20000); + event.add("ad_astra:moon", 50000); + event.add("ad_astra:moon_orbit", 50000); + event.add("ad_astra:mars", 100000); + event.add("ad_astra:mars_orbit", 100000); + event.add("ad_astra:venus", 200000); + event.add("ad_astra:venus_orbit", 200000); }); // Vase Sounds From 47dce4a4890f00f56aae819b2cd6eb502943394c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 12:23:59 +0000 Subject: [PATCH 336/474] make void upgrade cheaper --- kubejs/server_scripts/sophisticated_backpacks/recipes.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/sophisticated_backpacks/recipes.js b/kubejs/server_scripts/sophisticated_backpacks/recipes.js index 0873a71f5..abf461805 100644 --- a/kubejs/server_scripts/sophisticated_backpacks/recipes.js +++ b/kubejs/server_scripts/sophisticated_backpacks/recipes.js @@ -251,8 +251,8 @@ const registerSophisticatedBackpacksRecipes = (event) => { 'CDE', 'FGF' ], { - A: '#forge:screws/steel', - B: 'gtceu:item_detector_cover', + A: '#forge:screws/wrought_iron', + B: '#forge:small_gears/red_alloy', C: '#forge:tools/screwdrivers', D: 'sophisticatedbackpacks:upgrade_base', E: '#forge:tools/wrenches', @@ -262,7 +262,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { event.shapeless('sophisticatedbackpacks:advanced_void_upgrade', [ 'sophisticatedbackpacks:void_upgrade', - '#gtceu:circuits/mv' + '#gtceu:circuits/ulv' ]).id('tfg:sophisticated_backpacks/shapeless/advanced_void_upgrade') event.shaped('sophisticatedbackpacks:deposit_upgrade', [ From 3fb458b0a232be28d0600d7ff71a1eeecd90b2ef Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 12:24:25 +0000 Subject: [PATCH 337/474] cl --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 53f929102..ab5a5667f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -60,6 +60,7 @@ - Added a recipe to turn leaf blocks into hedges. (#2950) @Redeix - Added recipes to make krummholz. (#2950) @Redeix - Added config file for Via Romana support. (#2950) @Redeix +- Backpack void upgrades are now cheaper @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie From fb87520e22c480522376bd97c9dc92f9f13f29a7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 13:11:12 +0000 Subject: [PATCH 338/474] fix concrete dupe #2948, fix other stone recycling recipes --- CHANGELOG.md | 1 + .../gregtech/recipes.removes.js | 51 ++++++++----------- .../tfg/natural_blocks/recipes.concrete.js | 18 ------- .../tfg/natural_blocks/recipes.rocks.js | 2 +- .../tfg/natural_blocks/tags.stones.js | 2 +- .../tfg/primitive/recipes.supports.js | 34 ++++++++++--- 6 files changed, 50 insertions(+), 58 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab5a5667f..4c9dc8df3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -76,6 +76,7 @@ - Fixed RNR roofs not having mineable tags, and blocked the stair/slab frame from Additional Placements (#2870) @Pyritie - Fixed piglin brutes not dropping meat or bones @Pyritie - Fixed not being able to put rings, wrench tips, screwdriver tips, buzzsaw blades, or wire cutter tips in a crucible (#2913) @Pyritie +- Fixed a concrete dupe (#2948) and some other stone-related recycling recipes @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index b09204936..c218a3c6e 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -33,16 +33,6 @@ function removeGTCEURecipes(event) { removeMaceratorRecipe(event, 'macerate_red_sandstone_slab') removeMaceratorRecipe(event, 'macerate_cobblestone_slab') - removeMaceratorRecipe(event, 'macerate_granite') - removeMaceratorRecipe(event, 'macerate_polished_granite'); - removeMaceratorRecipe(event, 'macerate_granite_wall'); - removeMaceratorRecipe(event, 'macerate_diorite'); - removeMaceratorRecipe(event, 'macerate_polished_diorite'); - removeMaceratorRecipe(event, 'macerate_diorite_wall'); - removeMaceratorRecipe(event, 'macerate_andesite'); - removeMaceratorRecipe(event, 'macerate_polished_andesite'); - removeMaceratorRecipe(event, 'macerate_andesite_wall'); - event.remove({ id: 'gtceu:shaped/stone_hammer' }) event.remove({ id: 'gtceu:mixer/mossy_cobblestone_from_moss_block' }) event.remove({ id: 'greate:mixing/integration/gtceu/mixer/mossy_cobblestone_from_moss_block' }) @@ -122,18 +112,18 @@ function removeGTCEURecipes(event) { removeCutterRecipe(event, 'cut_deepslate_tile_into_slab_water') removeCutterRecipe(event, 'cut_deepslate_tile_into_slab_distilled_water') - removeMaceratorRecipe(event, 'macerate_deepslate') event.remove({ id: 'gtceu:rock_breaker/deepslate' }) - removeMaceratorRecipe(event, 'macerate_deepslate_wall'); - removeMaceratorRecipe(event, 'macerate_polished_deepslate'); - removeMaceratorRecipe(event, 'macerate_cobbled_deepslate'); - removeMaceratorRecipe(event, 'macerate_cobbled_deepslate_wall'); - removeMaceratorRecipe(event, 'macerate_chiseled_deepslate'); - removeMaceratorRecipe(event, 'macerate_polished_deepslate_wall'); - removeMaceratorRecipe(event, 'macerate_deepslate_bricks'); - removeMaceratorRecipe(event, 'macerate_deepslate_brick_wall'); - removeMaceratorRecipe(event, 'macerate_deepslate_tiles'); - removeMaceratorRecipe(event, 'macerate_deepslate_tile_wall'); + TFGHelpers.clearMaterialInfo('minecraft:deepslate') + TFGHelpers.clearMaterialInfo('minecraft:deepslate_wall'); + TFGHelpers.clearMaterialInfo('minecraft:polished_deepslate'); + TFGHelpers.clearMaterialInfo('minecraft:cobbled_deepslate'); + TFGHelpers.clearMaterialInfo('minecraft:cobbled_deepslate_wall'); + TFGHelpers.clearMaterialInfo('minecraft:chiseled_deepslate'); + TFGHelpers.clearMaterialInfo('minecraft:polished_deepslate_wall'); + TFGHelpers.clearMaterialInfo('minecraft:deepslate_bricks'); + TFGHelpers.clearMaterialInfo('minecraft:deepslate_brick_wall'); + TFGHelpers.clearMaterialInfo('minecraft:deepslate_tiles'); + TFGHelpers.clearMaterialInfo('minecraft:deepslate_tile_wall'); // #endregion @@ -178,13 +168,14 @@ function removeGTCEURecipes(event) { removeCutterRecipe(event, 'cut_polished_blackstone_brick_into_slab_distilled_water') event.remove({ id: 'gtceu:rock_breaker/blackstone' }) - removeMaceratorRecipe(event, 'macerate_blackstone'); - removeMaceratorRecipe(event, 'macerate_polished_blackstone'); - removeMaceratorRecipe(event, 'macerate_polished_blackstone_bricks'); - removeMaceratorRecipe(event, 'macerate_chiseled_polished_blackstone'); - removeMaceratorRecipe(event, 'macerate_blackstone_wall'); - removeMaceratorRecipe(event, 'macerate_polished_blackstone_wall'); - removeMaceratorRecipe(event, 'macerate_blackstone_brick_wall'); + TFGHelpers.clearMaterialInfo('minecraft:blackstone'); + TFGHelpers.clearMaterialInfo('minecraft:polished_blackstone'); + TFGHelpers.clearMaterialInfo('minecraft:polished_blackstone_bricks'); + TFGHelpers.clearMaterialInfo('minecraft:polished_blackstone_brick_wall'); + TFGHelpers.clearMaterialInfo('minecraft:chiseled_polished_blackstone'); + TFGHelpers.clearMaterialInfo('minecraft:blackstone_wall'); + TFGHelpers.clearMaterialInfo('minecraft:polished_blackstone_wall'); + TFGHelpers.clearMaterialInfo('minecraft:blackstone_brick_wall'); // #endregion @@ -498,8 +489,8 @@ function removeGTCEURecipes(event) { //#region Выход: Пыль базальта - removeMaceratorRecipe(event, 'macerate_basalt') - removeMaceratorRecipe(event, 'macerate_polished_basalt'); + TFGHelpers.clearMaterialInfo('minecraft:basalt') + TFGHelpers.clearMaterialInfo('minecraft:polished_basalt'); //#endregion diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js index fe60118ed..1fe0048ff 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js @@ -87,29 +87,11 @@ function registerTFGConcreteRecipes(event) { .outputItem('gtceu:light_concrete') .id('tfg:barrel/light_concrete') - event.recipes.tfc.barrel_sealed(1000) - .inputFluid(Fluid.of('gtceu:concrete', 96)) - .inputItem('tfg:rebar_support') - .outputItem('tfg:reinforced_light_concrete_support') - .id('tfg:barrel/reinforced_light_concrete_support') - event.recipes.tfc.barrel_sealed(500) .inputItem('gtceu:light_concrete') .inputFluid(Fluid.of('tfc:black_dye', 18)) .outputItem('gtceu:dark_concrete') .id('tfg:barrel/dark_concrete') - - event.recipes.tfc.barrel_sealed(500) - .inputItem('tfg:light_concrete_support') - .inputFluid(Fluid.of('tfc:black_dye', 10)) - .outputItem('tfg:dark_concrete_support') - .id('tfg:barrel/dark_concrete_support') - - event.recipes.tfc.barrel_sealed(500) - .inputItem('tfg:reinforced_light_concrete_support') - .inputFluid(Fluid.of('tfc:black_dye', 10)) - .outputItem('tfg:reinforced_dark_concrete_support') - .id('tfg:barrel/reinforced_dark_concrete_support') // Titanium concrete event.recipes.gtceu.assembler('tfg:titanium_concrete') diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index 262c47dd9..e81bcb904 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -562,7 +562,7 @@ function registerTFGRockRecipes(event) { let half = Ingredient.of(`#tfg:stone_composition/${compositionId}_half`).itemIds.toArray(); if (half.length > 0) { event.recipes.gtceu.macerator(`tfg:macerate_${compositionId}_half`) - .itemInputs(half) + .itemInputs(`#tfg:stone_composition/${compositionId}_half`) .itemOutputs(ChemicalHelper.getDust(material, GTValues.M / 2)) .duration(150) .EUt(2) diff --git a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js index e94ffb1f9..fdc774c8b 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js +++ b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js @@ -10,7 +10,7 @@ function registerTFGStoneItemTags(event) { function addToMaterialTag(material, block) { if (material != null) { - if (block.endsWith('_slab') || block.endsWith('_wall')) { + if (block.endsWith('_slab') || block.endsWith('_wall') || block.endsWith('_support')) { event.add(`tfg:stone_composition/${material}_half`, block); } else { diff --git a/kubejs/server_scripts/tfg/primitive/recipes.supports.js b/kubejs/server_scripts/tfg/primitive/recipes.supports.js index e86cba890..08d9b09fe 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.supports.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.supports.js @@ -8,14 +8,14 @@ function registerTFGSupportRecipes(event) { // Concrete Supports event.recipes.gtceu.fluid_solidifier('tfg:gtceu/fluid_solidifier/reinforced_light_concrete_support') - .inputFluids(Fluid.of('gtceu:concrete', 96)) + .inputFluids(Fluid.of('gtceu:concrete', 144 / 2)) .itemOutputs('1x tfg:reinforced_light_concrete_support') .itemInputs('1x tfg:rebar_support') .duration(60) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.assembler('tfg:gtceu/assembler/reinforced_light_concrete_support') - .inputFluids(Fluid.of('gtceu:concrete', 96)) + .inputFluids(Fluid.of('gtceu:concrete', 144 / 2)) .itemOutputs('1x tfg:reinforced_light_concrete_support') .itemInputs('1x tfg:rebar_support') .duration(120) @@ -23,7 +23,7 @@ function registerTFGSupportRecipes(event) { event.recipes.gtceu.macerator(`reinforced_light_concrete_support_to_dust`) .itemInputs('tfg:reinforced_light_concrete_support') - .itemOutputs('gtceu:tiny_steel_dust') + .itemOutputs('2x gtceu:small_concrete_dust', 'gtceu:tiny_steel_dust') .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING); @@ -44,13 +44,13 @@ function registerTFGSupportRecipes(event) { event.recipes.gtceu.macerator(`reinforced_dark_concrete_support_to_dust`) .itemInputs('tfg:reinforced_dark_concrete_support') - .itemOutputs('gtceu:tiny_steel_dust') + .itemOutputs('2x gtceu:small_concrete_dust', 'gtceu:tiny_steel_dust') .duration(150) .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING); event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped('8x tfg:light_concrete_support', [ + event.shaped('6x tfg:light_concrete_support', [ 'AB ', 'AC ', 'AC ' @@ -63,13 +63,13 @@ function registerTFGSupportRecipes(event) { event.recipes.gtceu.assembler('tfg:gtceu/assembler/light_concrete_support') .circuit(11) .inputFluids(Fluid.of('gtceu:concrete', 36)) - .itemOutputs('8x tfg:light_concrete_support') + .itemOutputs('6x tfg:light_concrete_support') .itemInputs('3x gtceu:light_concrete') .duration(40) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped('8x tfg:dark_concrete_support', [ + event.shaped('6x tfg:dark_concrete_support', [ 'AB ', 'AC ', 'AC ' @@ -82,11 +82,29 @@ function registerTFGSupportRecipes(event) { event.recipes.gtceu.assembler('tfg:gtceu/assembler/dark_concrete_support') .circuit(11) .inputFluids(Fluid.of('gtceu:concrete', 36)) - .itemOutputs('8x tfg:dark_concrete_support') + .itemOutputs('6x tfg:dark_concrete_support') .itemInputs('3x gtceu:dark_concrete') .duration(40) .EUt(GTValues.VA[GTValues.ULV]) + event.recipes.tfc.barrel_sealed(1000) + .inputFluid(Fluid.of('gtceu:concrete', 96)) + .inputItem('tfg:rebar_support') + .outputItem('tfg:reinforced_light_concrete_support') + .id('tfg:barrel/reinforced_light_concrete_support') + + event.recipes.tfc.barrel_sealed(500) + .inputItem('tfg:light_concrete_support') + .inputFluid(Fluid.of('tfc:black_dye', 10)) + .outputItem('tfg:dark_concrete_support') + .id('tfg:barrel/dark_concrete_support') + + event.recipes.tfc.barrel_sealed(500) + .inputItem('tfg:reinforced_light_concrete_support') + .inputFluid(Fluid.of('tfc:black_dye', 10)) + .outputItem('tfg:reinforced_dark_concrete_support') + .id('tfg:barrel/reinforced_dark_concrete_support') + // Stone supports are in recipes.rocks.js // Metal Supports From b9e14a46e03dbabdcc00a58c049f8d09c29cd6c2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 13:50:27 +0000 Subject: [PATCH 339/474] tags for damage types #2868 Related Work Items: #28 --- CHANGELOG.md | 1 + .../server_scripts/tfg/equipment/tags.equipment.js | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c9dc8df3..a1331bf4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -61,6 +61,7 @@ - Added recipes to make krummholz. (#2950) @Redeix - Added config file for Via Romana support. (#2950) @Redeix - Backpack void upgrades are now cheaper @Pyritie +- All tools should now have TFC damage types (#2868) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/server_scripts/tfg/equipment/tags.equipment.js b/kubejs/server_scripts/tfg/equipment/tags.equipment.js index b0d28afdc..c6e4d9ac4 100644 --- a/kubejs/server_scripts/tfg/equipment/tags.equipment.js +++ b/kubejs/server_scripts/tfg/equipment/tags.equipment.js @@ -49,4 +49,18 @@ function registerTFGEquipmentItemTags(event) { event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_leggings') event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_boots') + event.add('tfc:deals_crushing_damage', '#forge:tools/mining_hammers') + event.add('tfc:deals_crushing_damage', '#minecraft:shovels') + event.add('tfc:deals_crushing_damage', '#forge:tools/spades') + event.add('tfc:deals_crushing_damage', '#forge:tools/wrenches') + event.add('tfc:deals_slashing_damage', '#forge:tools/chainsaws') + event.add('tfc:deals_slashing_damage', '#forge:tools/saws') + event.add('tfc:deals_slashing_damage', '#forge:tools/butchery_knives') + event.add('tfc:deals_slashing_damage', '#forge:tools/files') + event.add('tfc:deals_piercing_damage', '#minecraft:pickaxes') + event.add('tfc:deals_piercing_damage', '#forge:tools/drills') + event.add('tfc:deals_piercing_damage', '#forge:tools/screwdrivers') + event.add('tfc:deals_piercing_damage', '#minecraft:hoes') + event.add('tfc:deals_piercing_damage', '#forge:tools/crowbars') + event.add('tfc:deals_piercing_damage', '#forge:tools/wire_cutters') } \ No newline at end of file From fa706f85cbd97300b22932878d0c57e8bcbb54ec Mon Sep 17 00:00:00 2001 From: TomPlop Date: Mon, 2 Feb 2026 09:54:11 -0500 Subject: [PATCH 340/474] Update CHANGELOG (#2953) Signed-off-by: TomPlop --- CHANGELOG.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab5a5667f..adba052ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,13 @@ - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie - The two chemical reactor recipes for Tetramethoxysilane now have circuits (1 and 2) (#2898) @Pyritie - Toluene + Benzene = Biphenyl + Methane now uses circuit 1 (#2928) @Pyritie +#### Energy Update +- Cetane Boosted Diesel duration is buffed by 30% +- Diesel duration is nerfed by 25% but can now be craftable at ULV +- Added distillation recipe to get fuel from oil with the Vacuum Chamber +- Lightfuel isn't a fuel anymore (make Diesel with it) +- High Octane Gasoline now requires IV Energy Hatch +- Add Small Fission Reactor, Small Turbine Generator and the Cooling Tower. You can now make power from Fission on Earth #### ULV changes - The vacuum chamber requires a blue steel spring now, so the colored steel anvil can't be skipped - The steel mechanical mixer can now only make weak red/blue steel dust, not regular (it can still make black steel dust though). The LV mixer can make normal red/blue steel dust @@ -25,7 +32,15 @@ - Polyethylene now requires an MV chemical reactor - Added the Artisan Table to "knap" circuit boards and GT extruder and casting molds, replacing their crafting table recipes. @BlueBoat29 @Redeix #### EV changes -(tom's changelist goes here) +- Add Radon to EV Superconductor so they are gated behind the Uranium Reactor +- Active Energy Transformer and Normal Laser Pipe moved to EV behind the Uranium Reactor +- Change to Refrigerant Pellet, you now need the Terrafirmaguard PA6 to run Plutonium Rod +- Adding the Heat Battery a new multiblock storing heat from your fission coolant +- Rework of the Ostrum Linear Accelerator: it can now be expanded in height, requires heat from a Heat Battery to run and used for many new resources +- Every Fission Reactors now output a depleted rod that you have to process to get the product from fission +- The depleted rod now has an average heat depending of the temperature of the fission reactor while it was in it. Everytime the reactor goes in cooldown it adds 10 000 heat to your rod +- RTM Coils were modified to require resources from Mars (from the martian trees) and Rockwool +- Nuclear Turbine will now stop without the structure breaking if there is blocks under it or inside the chimney #### IV changes - Multi-Layer Insulated Shielding is now required for HSS-G coils. #### Electric Greenhouse changes @@ -61,6 +76,7 @@ - Added recipes to make krummholz. (#2950) @Redeix - Added config file for Via Romana support. (#2950) @Redeix - Backpack void upgrades are now cheaper @Pyritie +- Added recipes for GTceu Terminal ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie From 19bf4de976686c3d9efdc555ee75edf5683df35b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 14:54:21 +0000 Subject: [PATCH 341/474] gurman update --- config/crash_assistant/modlist.json | 32 +- .../quests/chapters/queststfc_tips.snbt | 2 +- .../en_us/entries/mechanics/drinks.json | 6 +- .../ru_ru/entries/mechanics/drinks.json | 6 +- .../zh_cn/entries/mechanics/drinks.json | 6 +- kubejs/client_scripts/tooltips.js | 20 +- .../data/tfc_gurman/tfc/drinkables/cocoa.json | 2 +- .../tfc_gurman/tfc/drinkables/coffee.json | 2 +- .../tfc_gurman/tfc/drinkables/compote.json | 2 +- .../data/tfc_gurman/tfc/drinkables/kvass.json | 2 +- .../tfc_gurman/tfc/drinkables/lemonade.json | 2 +- .../tfc_gurman/tfc/drinkables/nalivka.json | 2 +- .../tfc/drinkables/tea_chamomile.json | 2 +- .../tfc_gurman/tfc/drinkables/tea_mint.json | 2 +- .../tfc_gurman/tfc/drinkables/tea_nettle.json | 2 +- .../tfc/drinkables/tea_rosehip.json | 2 +- .../server_scripts/gtceu_terminal/recipes.js | 5 +- kubejs/server_scripts/main_server_script.js | 4 +- kubejs/server_scripts/tfc/tags.js | 28 +- kubejs/server_scripts/tfc_gurman/recipes.js | 297 +++++++++--------- kubejs/server_scripts/tfg/food/tags.food.js | 20 +- .../tfg/powergen/nuclear/tags.nuclear.js | 2 +- kubejs/server_scripts/tfg/tags.js | 2 +- .../gtceu/material_modification.js | 1 - kubejs/startup_scripts/tfc/constants.js | 12 +- kubejs/startup_scripts/tfg/items.js | 126 +++++++- pakku-lock.json | 110 +++---- 27 files changed, 407 insertions(+), 292 deletions(-) diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index 35fa42550..ee1c5609d 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -1094,12 +1094,12 @@ "curseForgeHash": 1367373369, "modrinthHash": "c0806369f4257149664904db44efc60bd1785c17" }, - "notenoughanimations-forge-1.11.1-mc1.20.1.jar": { - "jarName": "notenoughanimations-forge-1.11.1-mc1.20.1.jar", + "notenoughanimations-forge-1.11.2-mc1.20.1.jar": { + "jarName": "notenoughanimations-forge-1.11.2-mc1.20.1.jar", "modId": "notenoughanimations", - "version": "1.11.1", - "curseForgeHash": 1394524316, - "modrinthHash": "9aa8917d7c0a5311dc495da3c720434de49e0e24" + "version": "1.11.2", + "curseForgeHash": 978006094, + "modrinthHash": "fe7898d27c15b76552a69b972abec0728be9ea8a" }, "OctoLib-FORGE-0.5.0.1+1.20.1.jar": { "jarName": "OctoLib-FORGE-0.5.0.1+1.20.1.jar", @@ -1164,12 +1164,12 @@ "curseForgeHash": 3174429337, "modrinthHash": "e85f53de2e582a79ce25ff1df1e7b5b5fc08440f" }, - "playerrevive_compat-1.0.1-1d0e244.jar": { - "jarName": "playerrevive_compat-1.0.1-1d0e244.jar", + "playerrevive_compat-1.0.2-12c699b.jar": { + "jarName": "playerrevive_compat-1.0.2-12c699b.jar", "modId": "playerrevive_compat", - "version": "1.0.1", - "curseForgeHash": 3694497333, - "modrinthHash": "05d191e5bb7c4ada8b2cbb7c604b3ab7d5040563" + "version": "1.0.2", + "curseForgeHash": 2120677158, + "modrinthHash": "a0f05d85155560b743d6ffab61741e3da3803611" }, "PlayerRevive_FORGE_v2.0.31_mc1.20.1.jar": { "jarName": "PlayerRevive_FORGE_v2.0.31_mc1.20.1.jar", @@ -1416,12 +1416,12 @@ "curseForgeHash": 3264017794, "modrinthHash": "b4f98b976aa7096b6ec0a6bd291fb16415dfeb3a" }, - "tfc_gurman-1.4.1.jar": { - "jarName": "tfc_gurman-1.4.1.jar", - "modId": "tfc_gurman", - "version": "1.4.1", - "curseForgeHash": 3220058819, - "modrinthHash": "0be72570ba157b7600c3b9f4ea694744a227112a" + "tfc_gourmet-1.4.2.jar": { + "jarName": "tfc_gourmet-1.4.2.jar", + "modId": "tfc_gourmet", + "version": "1.4.2", + "curseForgeHash": 2832259553, + "modrinthHash": "d4c2f1eb89330129fdc1e4ee78f61f1130d83fe5" }, "TFC_punishment_for_death-1.20.1-1.0.0.15.jar": { "jarName": "TFC_punishment_for_death-1.20.1-1.0.0.15.jar", diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index f160ba9cf..257d7156c 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -685,7 +685,7 @@ Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "or(item(minecraft:milk_bucket)item(firmalife:bucket/yak_milk)item(firmalife:bucket/goat_milk)item(tfc_gurman:ox_milk_bucket)item(tfc_gurman:sheep_milk_bucket)item(tfc_gurman:alpaca_milk_bucket))" + "ftbfiltersystem:filter": "or(item(minecraft:milk_bucket)item(firmalife:bucket/yak_milk)item(firmalife:bucket/goat_milk)item(tfc_gourmet:ox_milk_bucket)item(tfc_gourmet:sheep_milk_bucket)item(tfc_gourmet:alpaca_milk_bucket))" } } optional_task: true diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json index 38c1e6cb9..f4eefde87 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json @@ -38,7 +38,7 @@ "type": "patchouli:spotlight", "title": "Teas", "text": "$(thing)Teas$() can be brewed using dried versions of certain plants.$(br2)They provide short but useful buffs and warm your body temperature by 4°C. Perfect for winters!", - "item": "tfc_gurman:tea_mint_bucket,tfc_gurman:tea_chamomile_bucket,tfc_gurman:tea_rosehip_bucket,tfc_gurman:tea_nettle_bucket" + "item": "tfc_gourmet:tea_mint_bucket,tfc_gourmet:tea_chamomile_bucket,tfc_gourmet:tea_rosehip_bucket,tfc_gourmet:tea_nettle_bucket" }, { "type": "patchouli:text", @@ -48,7 +48,7 @@ "type": "patchouli:spotlight", "title": "Treats", "text": "This is a category for more misc drinks with delicious taste and special effects. Enjoy!", - "item": "tfc_gurman:cocoa_bucket,tfc_gurman:coffee_bucket,tfc_gurman:nalivka_bucket,tfc_gurman:kvass_bucket,tfc_gurman:compote_bucket,tfc_gurman:lemonade_bucket" + "item": "tfc_gourmet:cocoa_bucket,tfc_gourmet:coffee_bucket,tfc_gourmet:nalivka_bucket,tfc_gourmet:kvass_bucket,tfc_gourmet:compote_bucket,tfc_gourmet:lemonade_bucket" }, { "type": "patchouli:text", @@ -58,7 +58,7 @@ "type": "patchouli:spotlight", "title": "Milks", "text": "$(thing)Milk$() can be aquired from most female livestock by simply right clicking them with a wood or metal bucket once familiarity is at a high enough level. (If the milking isn't working, make sure the buckets aren't stacked!)$(br)While it doesn't provide any buffs, it provides dairy nutrition if drank after eating, and can later be made into cheese.", - "item": "minecraft:milk_bucket,firmalife:bucket/yak_milk,firmalife:bucket/goat_milk,tfc_gurman:ox_milk_bucket,tfc_gurman:sheep_milk_bucket,tfc_gurman:alpaca_milk_bucket" + "item": "minecraft:milk_bucket,firmalife:bucket/yak_milk,firmalife:bucket/goat_milk,tfc_gourmet:ox_milk_bucket,tfc_gourmet:sheep_milk_bucket,tfc_gourmet:alpaca_milk_bucket" }, { "title": "Spring Water", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/drinks.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/drinks.json index 2b432fe19..41cf6b2fb 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/drinks.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/drinks.json @@ -38,7 +38,7 @@ "type": "patchouli:spotlight", "title": "Чаи", "text": "$(thing)Чаи$() можно заваривать, используя высушенные версии некоторых растений.$(br2)Они дают кратковременные, но эффективные эффекты и согревают на 4°C. Идеально подходят для зимы!", - "item": "tfc_gurman:tea_mint_bucket,tfc_gurman:tea_chamomile_bucket,tfc_gurman:tea_rosehip_bucket,tfc_gurman:tea_nettle_bucket" + "item": "tfc_gourmet:tea_mint_bucket,tfc_gourmet:tea_chamomile_bucket,tfc_gourmet:tea_rosehip_bucket,tfc_gourmet:tea_nettle_bucket" }, { "type": "patchouli:text", @@ -48,7 +48,7 @@ "type": "patchouli:spotlight", "title": "Сладости", "text": "Это категория для других разнообразных напитков с восхитительным вкусом и особыми эффектами. Приятного аппетита!", - "item": "tfc_gurman:cocoa_bucket,tfc_gurman:coffee_bucket,tfc_gurman:nalivka_bucket,tfc_gurman:kvass_bucket,tfc_gurman:compote_bucket,tfc_gurman:lemonade_bucket" + "item": "tfc_gourmet:cocoa_bucket,tfc_gourmet:coffee_bucket,tfc_gourmet:nalivka_bucket,tfc_gourmet:kvass_bucket,tfc_gourmet:compote_bucket,tfc_gourmet:lemonade_bucket" }, { "type": "patchouli:text", @@ -58,7 +58,7 @@ "type": "patchouli:spotlight", "title": "Молоко", "text": "$(thing)Молоко$() можно получить от большинства самок молочных животных, просто щелкнув по ним правой кнопкой мыши с деревянным или металлическим ведром, когда уровень прирученности достигнет достаточно высокого уровня. (Если доение не работает, убедитесь, что ведра не состаканы!)$(br)Хотя этот напиток не дает никаких бонусов, он обеспечивает организм молочными продуктами, если его выпить после еды, и из него впоследствии можно приготовить сыр.", - "item": "minecraft:milk_bucket,firmalife:bucket/yak_milk,firmalife:bucket/goat_milk,tfc_gurman:ox_milk_bucket,tfc_gurman:sheep_milk_bucket,tfc_gurman:alpaca_milk_bucket" + "item": "minecraft:milk_bucket,firmalife:bucket/yak_milk,firmalife:bucket/goat_milk,tfc_gourmet:ox_milk_bucket,tfc_gourmet:sheep_milk_bucket,tfc_gourmet:alpaca_milk_bucket" }, { "title": "Родниковая вода", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/drinks.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/drinks.json index 068ad70b4..bc59a3429 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/drinks.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/drinks.json @@ -38,7 +38,7 @@ "type": "patchouli:spotlight", "title": "茶", "text": "$(thing)茶$()可以用某些干燥的植物冲泡。$(br2)它们提供短暂但有用的增益,并使你的体温升高4°C。非常适合冬天!", - "item": "tfc_gurman:tea_mint_bucket,tfc_gurman:tea_chamomile_bucket,tfc_gurman:tea_rosehip_bucket,tfc_gurman:tea_nettle_bucket" + "item": "tfc_gourmet:tea_mint_bucket,tfc_gourmet:tea_chamomile_bucket,tfc_gourmet:tea_rosehip_bucket,tfc_gourmet:tea_nettle_bucket" }, { "type": "patchouli:text", @@ -48,7 +48,7 @@ "type": "patchouli:spotlight", "title": "特调饮品", "text": "这是一个包含更多口味独特、效果各异的杂项饮品的类别。尽情享用吧!", - "item": "tfc_gurman:cocoa_bucket,tfc_gurman:coffee_bucket,tfc_gurman:nalivka_bucket,tfc_gurman:kvass_bucket,tfc_gurman:compote_bucket,tfc_gurman:lemonade_bucket" + "item": "tfc_gourmet:cocoa_bucket,tfc_gourmet:coffee_bucket,tfc_gourmet:nalivka_bucket,tfc_gourmet:kvass_bucket,tfc_gourmet:compote_bucket,tfc_gourmet:lemonade_bucket" }, { "type": "patchouli:text", @@ -58,7 +58,7 @@ "type": "patchouli:spotlight", "title": "奶类", "text": "$(thing)奶$()可以从大多数雌性家畜身上获取,只需在亲密度足够高时,用木桶或金属桶右键点击它们即可。(如果无法挤奶,请确保桶没有堆叠!)$(br)虽然它不提供任何增益,但如果在进食后饮用,可以提供乳制品营养,并且之后可以制成奶酪。", - "item": "minecraft:milk_bucket,firmalife:bucket/yak_milk,firmalife:bucket/goat_milk,tfc_gurman:ox_milk_bucket,tfc_gurman:sheep_milk_bucket,tfc_gurman:alpaca_milk_bucket" + "item": "minecraft:milk_bucket,firmalife:bucket/yak_milk,firmalife:bucket/goat_milk,tfc_gourmet:ox_milk_bucket,tfc_gourmet:sheep_milk_bucket,tfc_gourmet:alpaca_milk_bucket" }, { "title": "温泉", diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 4ac1839b5..27cc61e5f 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -413,42 +413,42 @@ const registerTooltips = (event) => { }) // Drink effects - event.addAdvanced(['tfc_gurman:compote_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:compote_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.jump_boost").append(Text.of(" II (00:30)")).blue()); }) - event.addAdvanced(['tfc_gurman:kvass_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:kvass_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.strength").append(Text.of(" (01:20)")).blue()); text.add(2, Text.translate('tfg.tooltip.cooling_foods')); }) - event.addAdvanced(['tfc_gurman:lemonade_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:lemonade_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.haste").append(Text.of(" (00:30)")).blue()); text.add(2, Text.translate('tfg.tooltip.cooling_foods')); }) - event.addAdvanced(['tfc_gurman:coffee_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:coffee_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.speed").append(Text.of(" (00:30)")).blue()); text.add(2, Text.translate('tfg.tooltip.warming_foods')); }) - event.addAdvanced(['tfc_gurman:cocoa_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:cocoa_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.haste").append(Text.of(" (00:30)")).blue()); text.add(2, Text.translate('tfg.tooltip.warming_foods')); }) - event.addAdvanced(['tfc_gurman:tea_mint_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:tea_mint_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.regeneration").append(Text.of(" II (00:30)")).blue()); text.add(2, Text.translate('tfg.tooltip.warming_foods')); }) - event.addAdvanced(['tfc_gurman:tea_chamomile_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:tea_chamomile_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.resistance").append(Text.of(" II (00:30)")).blue()); text.add(2, Text.translate('tfg.tooltip.warming_foods')); }) - event.addAdvanced(['tfc_gurman:tea_nettle_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:tea_nettle_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.slow_falling").append(Text.of(" (00:30)")).blue()); text.add(2, Text.translate('tfg.tooltip.warming_foods')); }) - event.addAdvanced(['tfc_gurman:tea_rosehip_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:tea_rosehip_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.absorption").append(Text.of(" (00:30)")).blue()); text.add(2, Text.translate('tfg.tooltip.warming_foods')); }) - event.addAdvanced(['tfc_gurman:nalivka_bucket'], (item, advanced, text) => { + event.addAdvanced(['tfc_gourmet:nalivka_bucket'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.strength").append(Text.of(" (02:40)")).blue()); text.add(2, Text.translate('tfg.tooltip.cooling_foods')); }) diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/cocoa.json b/kubejs/data/tfc_gurman/tfc/drinkables/cocoa.json index 0f59bce41..b8b268214 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/cocoa.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/cocoa.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:cocoa", + "ingredient": "tfc_gourmet:cocoa", "thirst": 10, "may_drink_when_full": true, "effects": [ diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/coffee.json b/kubejs/data/tfc_gurman/tfc/drinkables/coffee.json index c64e29166..47bf4613f 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/coffee.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/coffee.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:coffee", + "ingredient": "tfc_gourmet:coffee", "thirst": 10, "may_drink_when_full": true, "effects": [ diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/compote.json b/kubejs/data/tfc_gurman/tfc/drinkables/compote.json index d86db6987..124807bcc 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/compote.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/compote.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:compote", + "ingredient": "tfc_gourmet:compote", "thirst": 10, "may_drink_when_full": true, "effects": [ diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/kvass.json b/kubejs/data/tfc_gurman/tfc/drinkables/kvass.json index 2f70a543d..17b9eabf9 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/kvass.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/kvass.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:kvass", + "ingredient": "tfc_gourmet:kvass", "thirst": 10, "may_drink_when_full": true, "effects": [ diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/lemonade.json b/kubejs/data/tfc_gurman/tfc/drinkables/lemonade.json index d5d810fe4..755373fe9 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/lemonade.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/lemonade.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:lemonade", + "ingredient": "tfc_gourmet:lemonade", "thirst": 10, "may_drink_when_full": true, "effects": [ diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/nalivka.json b/kubejs/data/tfc_gurman/tfc/drinkables/nalivka.json index 563b57b30..a93b02e15 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/nalivka.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/nalivka.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:nalivka", + "ingredient": "tfc_gourmet:nalivka", "thirst": 10, "intoxication": 4000, "may_drink_when_full": true, diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/tea_chamomile.json b/kubejs/data/tfc_gurman/tfc/drinkables/tea_chamomile.json index bb7a5223f..1445cb421 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/tea_chamomile.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/tea_chamomile.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:tea_chamomile", + "ingredient": "tfc_gourmet:tea_chamomile", "thirst": 10, "may_drink_when_full": true, "effects": [ diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/tea_mint.json b/kubejs/data/tfc_gurman/tfc/drinkables/tea_mint.json index e43e41414..de5d5a07a 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/tea_mint.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/tea_mint.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:tea_mint", + "ingredient": "tfc_gourmet:tea_mint", "thirst": 10, "may_drink_when_full": true, "effects": [ diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/tea_nettle.json b/kubejs/data/tfc_gurman/tfc/drinkables/tea_nettle.json index a9e53654d..317504cc9 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/tea_nettle.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/tea_nettle.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:tea_nettle", + "ingredient": "tfc_gourmet:tea_nettle", "thirst": 10, "may_drink_when_full": true, "effects": [ diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/tea_rosehip.json b/kubejs/data/tfc_gurman/tfc/drinkables/tea_rosehip.json index 9f45aa167..58e41fe52 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/tea_rosehip.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/tea_rosehip.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:tea_rosehip", + "ingredient": "tfc_gourmet:tea_rosehip", "thirst": 10, "may_drink_when_full": true, "effects": [ diff --git a/kubejs/server_scripts/gtceu_terminal/recipes.js b/kubejs/server_scripts/gtceu_terminal/recipes.js index 80f8b792a..e1f75679d 100644 --- a/kubejs/server_scripts/gtceu_terminal/recipes.js +++ b/kubejs/server_scripts/gtceu_terminal/recipes.js @@ -1,4 +1,7 @@ -function registerGTCEUTerminal(event) { +// priority: 0 +"use strict"; + +function registerGTCEUTerminalRecipes(event) { // Gregtech CEu Terminals Integration diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 7ce704580..df97fcde1 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -53,7 +53,7 @@ ServerEvents.tags('item', event => { registerTFCItemTags(event) registerTFCTextileItemTags(event) registerTFGItemTags(event) - registerTFGItemTagsNuclear(event) + registerTFGNuclearItemTags(event) registerTFCLunchboxItemTags(event) registerVintageImprovementsItemTags(event) registerWABItemTags(event) @@ -255,7 +255,7 @@ ServerEvents.recipes(event => { registerGrapplingHookRecipes(event); registerGreateRecipes(event) registerGTCEURecipes(event); - registerGTCEUTerminal(event) + registerGTCEUTerminalRecipes(event) registerHandGliderRecipes(event) registerHotOrNotRecipes(event) registerImmersiveAircraftRecipes(event) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index b5d7879aa..8f69d82c7 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -92,9 +92,9 @@ function registerTFCItemTags(event) { event.add("tfc:nonplaceable", "minecraft:milk_bucket") event.add("tfc:nonplaceable", "firmalife:bucket/yak_milk") event.add("tfc:nonplaceable", "firmalife:bucket/goat_milk") - event.add("tfc:nonplaceable", "tfc_gurman:ox_milk_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:sheep_milk_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:alpaca_milk_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:ox_milk_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:sheep_milk_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:alpaca_milk_bucket") event.add("tfc:nonplaceable", "tfc:bucket/beer") event.add("tfc:nonplaceable", "tfc:bucket/cider") event.add("tfc:nonplaceable", "tfc:bucket/rum") @@ -112,16 +112,16 @@ function registerTFCItemTags(event) { event.add("tfc:nonplaceable", "tfcagedalcohol:bucket/aged_corn_whiskey") event.add("tfc:nonplaceable", "tfcagedalcohol:bucket/aged_rye_whiskey") event.add("tfc:nonplaceable", "tfcagedalcohol:bucket/aged_mead") - event.add("tfc:nonplaceable", "tfc_gurman:nalivka_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:coffee_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:tea_mint_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:tea_chamomile_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:tea_rosehip_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:tea_nettle_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:cocoa_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:compote_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:kvass_bucket") - event.add("tfc:nonplaceable", "tfc_gurman:lemonade_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:nalivka_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:coffee_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:tea_mint_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:tea_chamomile_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:tea_rosehip_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:tea_nettle_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:cocoa_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:compote_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:kvass_bucket") + event.add("tfc:nonplaceable", "tfc_gourmet:lemonade_bucket") event.add("tfc:nonplaceable", "firmalife:bucket/mead") event.add("tfc:nonplaceable", "firmalife:bucket/red_wine") event.add("tfc:nonplaceable", "firmalife:bucket/white_wine") @@ -832,7 +832,7 @@ function registerTFCFluidTags(event) { event.add("tfg:alcohols", "tfcagedalcohol:aged_corn_whiskey"); event.add("tfg:alcohols", "tfcagedalcohol:aged_rye_whiskey"); event.add("tfg:alcohols", "tfcagedalcohol:aged_mead"); - event.add("tfg:alcohols", "tfc_gurman:nalivka"); + event.add("tfg:alcohols", "tfc_gourmet:nalivka"); // Добавляем тег для скрытия в EMI event.add("c:hidden_from_recipe_viewers", "tfc:metal/bismuth"); diff --git a/kubejs/server_scripts/tfc_gurman/recipes.js b/kubejs/server_scripts/tfc_gurman/recipes.js index a6ee1a527..558402021 100644 --- a/kubejs/server_scripts/tfc_gurman/recipes.js +++ b/kubejs/server_scripts/tfc_gurman/recipes.js @@ -2,56 +2,63 @@ "use strict"; function registerTFCGurmanRecipes(event) { + + let deprecated = Ingredient.of('#tfc_gourmet:deprecated_foods').itemIds.toArray(); + deprecated.forEach(oldID => { + let newID = `${oldID}`.replace(/tfc_gurman:/g, 'tfc_gourmet:'); + event.shapeless(newID, oldID); + }) + //#region Food Oven Recipes - - global.cookingRecipe(event, 'margarita_pizza', 'tfc_gurman:raw_margarita_pizza', 'tfc_gurman:margarita_pizza'); - - global.cookingRecipe(event, 'pepperoni_pizza', 'tfc_gurman:raw_pepperoni_pizza', 'tfc_gurman:pepperoni_pizza'); - - global.cookingRecipe(event, 'hawaiian_pizza', 'tfc_gurman:raw_hawaiian_pizza', 'tfc_gurman:hawaiian_pizza'); - - global.cookingRecipe(event, 'four_cheeses_pizza', 'tfc_gurman:raw_four_cheeses_pizza', 'tfc_gurman:four_cheeses_pizza'); - - global.cookingRecipe(event, 'four_meats_pizza', 'tfc_gurman:raw_four_meats_pizza', 'tfc_gurman:four_meats_pizza'); - - global.cookingRecipe(event, 'neapolitano_pizza', 'tfc_gurman:raw_neapolitano_pizza', 'tfc_gurman:neapolitano_pizza'); - - global.cookingRecipe(event, 'croissants', 'tfc_gurman:raw_croissants', 'tfc_gurman:croissants'); - - global.cookingRecipe(event, 'kiev_cutlets', 'tfc_gurman:raw_kiev_cutlets', 'tfc_gurman:kiev_cutlets'); - - global.cookingRecipe(event, 'quiche', 'tfc_gurman:raw_quiche', 'tfc_gurman:quiche'); - global.cookingRecipe(event, 'tandoori_chicken', 'tfc_gurman:raw_tandoori_chicken', 'tfc_gurman:tandoori_chicken'); - - global.cookingRecipe(event, 'placinda', 'tfc_gurman:raw_placinda', 'tfc_gurman:placinda'); - - global.cookingRecipe(event, 'tonkatsu', 'tfc_gurman:raw_tonkatsu', 'tfc_gurman:tonkatsu'); - - global.cookingRecipe(event, 'takoyaki', 'tfc_gurman:raw_takoyaki', 'tfc_gurman:takoyaki'); - - global.cookingRecipe(event, 'bulgogi', 'tfc_gurman:raw_bulgogi', 'tfc_gurman:bulgogi'); - - global.cookingRecipe(event, 'bratwurst', 'tfc_gurman:raw_bratwurst', 'tfc_gurman:bratwurst'); + global.cookingRecipe(event, 'margarita_pizza', 'tfc_gourmet:raw_margarita_pizza', 'tfc_gourmet:margarita_pizza'); - global.cookingRecipe(event, 'crepes', 'tfc_gurman:raw_crepes', 'tfc_gurman:crepes'); + global.cookingRecipe(event, 'pepperoni_pizza', 'tfc_gourmet:raw_pepperoni_pizza', 'tfc_gourmet:pepperoni_pizza'); - global.cookingRecipe(event, 'chebureki', 'tfc_gurman:raw_chebureki', 'tfc_gurman:chebureki'); + global.cookingRecipe(event, 'hawaiian_pizza', 'tfc_gourmet:raw_hawaiian_pizza', 'tfc_gourmet:hawaiian_pizza'); + + global.cookingRecipe(event, 'four_cheeses_pizza', 'tfc_gourmet:raw_four_cheeses_pizza', 'tfc_gourmet:four_cheeses_pizza'); + + global.cookingRecipe(event, 'four_meats_pizza', 'tfc_gourmet:raw_four_meats_pizza', 'tfc_gourmet:four_meats_pizza'); + + global.cookingRecipe(event, 'neapolitano_pizza', 'tfc_gourmet:raw_neapolitano_pizza', 'tfc_gourmet:neapolitano_pizza'); + + global.cookingRecipe(event, 'croissants', 'tfc_gourmet:raw_croissants', 'tfc_gourmet:croissants'); + + global.cookingRecipe(event, 'kiev_cutlets', 'tfc_gourmet:raw_kiev_cutlets', 'tfc_gourmet:kiev_cutlets'); + + global.cookingRecipe(event, 'quiche', 'tfc_gourmet:raw_quiche', 'tfc_gourmet:quiche'); - global.cookingRecipe(event, 'khachapuri', 'tfc_gurman:raw_khachapuri', 'tfc_gurman:khachapuri'); + global.cookingRecipe(event, 'tandoori_chicken', 'tfc_gourmet:raw_tandoori_chicken', 'tfc_gourmet:tandoori_chicken'); - global.cookingRecipe(event, 'lavash_wrap', 'tfc_gurman:raw_lavash_wrap', 'tfc_gurman:lavash_wrap'); + global.cookingRecipe(event, 'placinda', 'tfc_gourmet:raw_placinda', 'tfc_gourmet:placinda'); - global.cookingRecipe(event, 'syrniki', 'tfc_gurman:raw_syrniki', 'tfc_gurman:syrniki'); + global.cookingRecipe(event, 'tonkatsu', 'tfc_gourmet:raw_tonkatsu', 'tfc_gourmet:tonkatsu'); + + global.cookingRecipe(event, 'takoyaki', 'tfc_gourmet:raw_takoyaki', 'tfc_gourmet:takoyaki'); + + global.cookingRecipe(event, 'bulgogi', 'tfc_gourmet:raw_bulgogi', 'tfc_gourmet:bulgogi'); + + global.cookingRecipe(event, 'bratwurst', 'tfc_gourmet:raw_bratwurst', 'tfc_gourmet:bratwurst'); + + global.cookingRecipe(event, 'crepes', 'tfc_gourmet:raw_crepes', 'tfc_gourmet:crepes'); + + global.cookingRecipe(event, 'chebureki', 'tfc_gourmet:raw_chebureki', 'tfc_gourmet:chebureki'); + + global.cookingRecipe(event, 'khachapuri', 'tfc_gourmet:raw_khachapuri', 'tfc_gourmet:khachapuri'); + + global.cookingRecipe(event, 'lavash_wrap', 'tfc_gourmet:raw_lavash_wrap', 'tfc_gourmet:lavash_wrap'); + + global.cookingRecipe(event, 'syrniki', 'tfc_gourmet:raw_syrniki', 'tfc_gourmet:syrniki'); - global.cookingRecipe(event, 'oladyi', 'tfc_gurman:raw_oladyi', 'tfc_gurman:oladyi'); + global.cookingRecipe(event, 'oladyi', 'tfc_gourmet:raw_oladyi', 'tfc_gourmet:oladyi'); // Falafel - from soybean (no raw version) - global.cookingRecipe(event, 'falafel', 'tfc_gurman:raw_falafel', 'tfc_gurman:falafel'); + global.cookingRecipe(event, 'falafel', 'tfc_gourmet:raw_falafel', 'tfc_gourmet:falafel'); - global.cookingRecipe(event, 'pelmeni', 'tfc_gurman:raw_pelmeni', 'tfc_gurman:pelmeni', '#tfg:clean_water 500'); + global.cookingRecipe(event, 'pelmeni', 'tfc_gourmet:raw_pelmeni', 'tfc_gourmet:pelmeni', '#tfg:clean_water 500'); - global.cookingRecipe(event, 'vareniki', 'tfc_gurman:raw_vareniki', 'tfc_gurman:vareniki', '#tfg:clean_water 500'); + global.cookingRecipe(event, 'vareniki', 'tfc_gourmet:raw_vareniki', 'tfc_gourmet:vareniki', '#tfg:clean_water 500'); //#endregion @@ -60,33 +67,33 @@ function registerTFCGurmanRecipes(event) { // Borscht global.processorRecipe(event, 'sliced_cabbage', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/cabbage'], - itemOutputs: ['2x tfc_gurman:sliced_cabbage'], + itemOutputs: ['2x tfc_gourmet:sliced_cabbage'], circuit: 1, - itemOutputProvider: TFC.isp.of('2x tfc_gurman:sliced_cabbage').copyOldestFood() + itemOutputProvider: TFC.isp.of('2x tfc_gourmet:sliced_cabbage').copyOldestFood() }); global.processorRecipe(event, 'borscht', 300, GTValues.VA[GTValues.LV], { - itemInputs: ['tfc:food/beet', 'tfc_gurman:sliced_cabbage', 'tfc:food/carrot', 'tfc:food/onion', '#tfc:foods/cooked_meats', '3x #tfc:bowls'], + itemInputs: ['tfc:food/beet', 'tfc_gourmet:sliced_cabbage', 'tfc:food/carrot', 'tfc:food/onion', '#tfc:foods/cooked_meats', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:borscht'], + itemOutputs: ['3x tfc_gourmet:borscht'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:borscht').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:borscht').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Schi global.processorRecipe(event, 'schi', 300, GTValues.VA[GTValues.LV], { itemInputs: ['2x tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/tomato', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:schi'], + itemOutputs: ['3x tfc_gourmet:schi'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:schi').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:schi').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Coffee global.processorRecipe(event, 'coffee', 1000, GTValues.VHA[GTValues.LV], { itemInputs: ['2x firmalife:food/roasted_cocoa_beans'], fluidInputs: ['minecraft:water 1000'], - fluidOutputs: ['tfc_gurman:coffee 1000'], + fluidOutputs: ['tfc_gourmet:coffee 1000'], circuit: 2 }); @@ -94,15 +101,15 @@ function registerTFCGurmanRecipes(event) { global.processorRecipe(event, 'cocoa', 1000, GTValues.VHA[GTValues.LV], { itemInputs: ['2x firmalife:food/cocoa_powder'], fluidInputs: ['#tfc:milks 1000'], - fluidOutputs: ['tfc_gurman:cocoa 1000'], + fluidOutputs: ['tfc_gourmet:cocoa 1000'], circuit: 1 }); // Compote global.processorRecipe(event, 'compote', 1000, GTValues.VHA[GTValues.LV], { - itemInputs: ['2x #tfc_gurman:compote_fruits'], + itemInputs: ['2x #tfc_gourmet:compote_fruits'], fluidInputs: ['minecraft:water 1000'], - fluidOutputs: ['tfc_gurman:compote 1000'], + fluidOutputs: ['tfc_gourmet:compote 1000'], circuit: 6 }); @@ -110,7 +117,7 @@ function registerTFCGurmanRecipes(event) { global.processorRecipe(event, 'lemonade', 1500, GTValues.VHA[GTValues.LV], { itemInputs: ['2x tfc:food/lemon'], fluidInputs: ['minecraft:water 1000'], - fluidOutputs: ['tfc_gurman:lemonade 1000'], + fluidOutputs: ['tfc_gourmet:lemonade 1000'], circuit: 2 }); @@ -118,39 +125,39 @@ function registerTFCGurmanRecipes(event) { global.processorRecipe(event, 'kvass', 2400, GTValues.VHA[GTValues.LV], { itemInputs: ['2x #tfc:foods/grains'], fluidInputs: ['minecraft:water 1000'], - fluidOutputs: ['tfc_gurman:kvass 1000'], + fluidOutputs: ['tfc_gourmet:kvass 1000'], circuit: 2 }); // Tea Mint global.processorRecipe(event, 'tea_mint', 200, GTValues.VHA[GTValues.LV], { - itemInputs: ['2x tfc_gurman:dried_mint_leaves'], + itemInputs: ['2x tfc_gourmet:dried_mint_leaves'], fluidInputs: ['minecraft:water 1000'], - fluidOutputs: ['tfc_gurman:tea_mint 1000'], + fluidOutputs: ['tfc_gourmet:tea_mint 1000'], circuit: 2 }); // Tea Chamomile global.processorRecipe(event, 'tea_chamomile', 200, GTValues.VHA[GTValues.LV], { - itemInputs: ['2x tfc_gurman:dried_chamomile_leaves'], + itemInputs: ['2x tfc_gourmet:dried_chamomile_leaves'], fluidInputs: ['minecraft:water 1000'], - fluidOutputs: ['tfc_gurman:tea_chamomile 1000'], + fluidOutputs: ['tfc_gourmet:tea_chamomile 1000'], circuit: 2 }); // Tea Rosehip global.processorRecipe(event, 'tea_rosehip', 200, GTValues.VHA[GTValues.LV], { - itemInputs: ['2x tfc_gurman:dried_rosehip_leaves'], + itemInputs: ['2x tfc_gourmet:dried_rosehip_leaves'], fluidInputs: ['minecraft:water 1000'], - fluidOutputs: ['tfc_gurman:tea_rosehip 1000'], + fluidOutputs: ['tfc_gourmet:tea_rosehip 1000'], circuit: 2 }); // Tea Nettle global.processorRecipe(event, 'tea_nettle', 200, GTValues.VHA[GTValues.LV], { - itemInputs: ['2x tfc_gurman:dried_nettle_leaves'], + itemInputs: ['2x tfc_gourmet:dried_nettle_leaves'], fluidInputs: ['minecraft:water 1000'], - fluidOutputs: ['tfc_gurman:tea_nettle 1000'], + fluidOutputs: ['tfc_gourmet:tea_nettle 1000'], circuit: 2 }); @@ -158,311 +165,311 @@ function registerTFCGurmanRecipes(event) { global.processorRecipe(event, 'solyanka', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#tfc:foods/meats', 'tfc:food/cabbage', 'tfc:food/onion', 'tfc:food/tomato', 'tfc:food/olive', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:solyanka'], + itemOutputs: ['3x tfc_gourmet:solyanka'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:solyanka').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:solyanka').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Okroshka global.processorRecipe(event, 'okroshka', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/cabbage', 'tfc:food/tomato', 'tfc:food/potato', 'tfc:food/onion', '#firmalife:foods/raw_eggs', '3x #tfc:bowls'], - fluidInputs: ['tfc_gurman:kvass 1000'], - itemOutputs: ['3x tfc_gurman:okroshka'], + fluidInputs: ['tfc_gourmet:kvass 1000'], + itemOutputs: ['3x tfc_gourmet:okroshka'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:okroshka').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:okroshka').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Zama global.processorRecipe(event, 'zama', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/chicken', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:powder/salt', 'tfc:food/garlic', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:zama'], + itemOutputs: ['3x tfc_gourmet:zama'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:zama').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:zama').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Curry global.processorRecipe(event, 'curry', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#tfc:foods/cooked_meats', '#tfc:foods/vegetables', 'tfc:powder/salt', 'tfc:food/cooked_rice', '3x #tfc:bowls'], fluidInputs: ['#tfc:milks 1000'], - itemOutputs: ['3x tfc_gurman:curry'], + itemOutputs: ['3x tfc_gourmet:curry'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:curry').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:curry').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Goulash global.processorRecipe(event, 'goulash', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#tfc:foods/raw_meats', 'tfc:food/onion', 'tfc:food/potato', 'tfc:powder/salt', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 100'], - itemOutputs: ['3x tfc_gurman:goulash'], + itemOutputs: ['3x tfc_gourmet:goulash'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:goulash').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:goulash').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Pho global.processorRecipe(event, 'pho', 300, GTValues.VA[GTValues.LV], { itemInputs: ['firmalife:food/cooked_pasta', '#tfc:foods/cooked_meats', 'tfc:food/garlic', 'tfc:powder/salt', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 100'], - itemOutputs: ['3x tfc_gurman:pho'], + itemOutputs: ['3x tfc_gourmet:pho'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:pho').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:pho').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Bouillabaisse global.processorRecipe(event, 'bouillabaisse', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#firmalife:foods/raw_fish', 'tfc:food/tomato', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:bouillabaisse'], + itemOutputs: ['3x tfc_gourmet:bouillabaisse'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:bouillabaisse').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:bouillabaisse').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Ramen with Beef global.processorRecipe(event, 'ramen_beef', 300, GTValues.VA[GTValues.LV], { itemInputs: ['firmalife:food/raw_egg_noodles', '#firmalife:foods/raw_eggs', 'tfc:food/beef', 'tfc:food/onion', '2x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['2x tfc_gurman:ramen_with_beef'], + itemOutputs: ['2x tfc_gourmet:ramen_with_beef'], circuit: 21, - itemOutputProvider: TFC.isp.of('2x tfc_gurman:ramen_with_beef').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('2x tfc_gourmet:ramen_with_beef').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Ramen with Camelidae global.processorRecipe(event, 'ramen_camelidae', 300, GTValues.VA[GTValues.LV], { itemInputs: ['firmalife:food/raw_egg_noodles', '#firmalife:foods/raw_eggs', 'tfc:food/camelidae', 'tfc:food/onion', '2x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['2x tfc_gurman:ramen_with_camelidae'], + itemOutputs: ['2x tfc_gourmet:ramen_with_camelidae'], circuit: 21, - itemOutputProvider: TFC.isp.of('2x tfc_gurman:ramen_with_camelidae').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('2x tfc_gourmet:ramen_with_camelidae').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Ramen with Chevon global.processorRecipe(event, 'ramen_chevon', 300, GTValues.VA[GTValues.LV], { itemInputs: ['firmalife:food/raw_egg_noodles', '#firmalife:foods/raw_eggs', 'tfc:food/chevon', 'tfc:food/onion', '2x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['2x tfc_gurman:ramen_with_chevon'], + itemOutputs: ['2x tfc_gourmet:ramen_with_chevon'], circuit: 21, - itemOutputProvider: TFC.isp.of('2x tfc_gurman:ramen_with_chevon').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('2x tfc_gourmet:ramen_with_chevon').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Ramen with Bacon global.processorRecipe(event, 'ramen_bacon', 300, GTValues.VA[GTValues.LV], { itemInputs: ['firmalife:food/raw_egg_noodles', '#firmalife:foods/raw_eggs', 'firmalife:food/bacon', 'tfc:food/onion', '2x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['2x tfc_gurman:ramen_with_bacon'], + itemOutputs: ['2x tfc_gourmet:ramen_with_bacon'], circuit: 21, - itemOutputProvider: TFC.isp.of('2x tfc_gurman:ramen_with_bacon').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('2x tfc_gourmet:ramen_with_bacon').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Biryani global.processorRecipe(event, 'biryani', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/rice_grain', '#tfc:foods/meats', 'tfc:food/onion', 'tfc:food/carrot', 'tfc:food/tomato', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:biryani'], + itemOutputs: ['3x tfc_gourmet:biryani'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:biryani').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:biryani').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Fried Rice global.processorRecipe(event, 'fried_rice', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/cooked_rice', '#forge:eggs', '#tfc:foods/vegetables', 'tfc:powder/salt', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 100'], - itemOutputs: ['3x tfc_gurman:fried_rice'], + itemOutputs: ['3x tfc_gourmet:fried_rice'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:fried_rice').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:fried_rice').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Kimchi global.processorRecipe(event, 'kimchi', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:kimchi'], + itemOutputs: ['3x tfc_gourmet:kimchi'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:kimchi').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:kimchi').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Dolma global.processorRecipe(event, 'dolma', 300, GTValues.VA[GTValues.LV], { - itemInputs: ['#tfc:foods/meats', 'tfc:food/rice_grain', 'tfc:powder/salt', '2x #tfc:bowls'], + itemInputs: ['#tfc:foods/meats', 'tfc:food/rice_grain', 'tfc:powder/salt', 'firmalife:fruit_leaf', '2x #tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['2x tfc_gurman:dolma'], + itemOutputs: ['2x tfc_gourmet:dolma'], circuit: 16, - itemOutputProvider: TFC.isp.of('2x tfc_gurman:dolma').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('2x tfc_gourmet:dolma').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Spaghetti Bolognese global.processorRecipe(event, 'spaghetti_bolognese', 300, GTValues.VA[GTValues.LV], { itemInputs: ['firmalife:food/cooked_pasta', '#tfc:foods/cooked_meats', 'tfc:food/tomato', 'tfc:food/onion', 'tfc:food/garlic', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 500'], - itemOutputs: ['3x tfc_gurman:spaghetti_bolognese'], + itemOutputs: ['3x tfc_gourmet:spaghetti_bolognese'], circuit: 18, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:spaghetti_bolognese').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:spaghetti_bolognese').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Pasta Carbonara global.processorRecipe(event, 'pasta_carbonara', 300, GTValues.VA[GTValues.LV], { itemInputs: ['firmalife:food/cooked_pasta', 'firmalife:food/bacon', '#firmalife:foods/raw_eggs', 'firmalife:food/shredded_cheese', 'tfc:powder/salt', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 500'], - itemOutputs: ['3x tfc_gurman:pasta_carbonara'], + itemOutputs: ['3x tfc_gourmet:pasta_carbonara'], circuit: 18, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:pasta_carbonara').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:pasta_carbonara').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Ratatouille global.processorRecipe(event, 'ratatouille', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/tomato', 'tfc:food/pumpkin_chunks', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic', '3x #tfc:bowls'], fluidInputs: ['minecraft:water 500'], - itemOutputs: ['3x tfc_gurman:ratatouille'], + itemOutputs: ['3x tfc_gourmet:ratatouille'], circuit: 18, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:ratatouille').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:ratatouille').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Risotto global.processorRecipe(event, 'risotto', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/rice_grain', '#firmalife:foods/cheeses', '#tfc:foods/vegetables', '2x #tfc:bowls'], fluidInputs: ['minecraft:water 100'], - itemOutputs: ['3x tfc_gurman:risotto'], + itemOutputs: ['3x tfc_gourmet:risotto'], circuit: 18, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:risotto').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:risotto').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Porridge global.processorRecipe(event, 'porridge', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#tfc:foods/grains', 'tfc:powder/salt', '#tfc:bowls'], fluidInputs: ['minecraft:water 250'], - itemOutputs: ['tfc_gurman:porridge'], + itemOutputs: ['tfc_gourmet:porridge'], circuit: 18, - itemOutputProvider: TFC.isp.of('tfc_gurman:porridge').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('tfc_gourmet:porridge').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Mamaliga global.processorRecipe(event, 'mamaliga', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/maize_grain', 'tfc:powder/salt', '#tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['tfc_gurman:mamaliga'], + itemOutputs: ['tfc_gourmet:mamaliga'], circuit: 16, - itemOutputProvider: TFC.isp.of('tfc_gurman:mamaliga').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('tfc_gourmet:mamaliga').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Adjika global.processorRecipe(event, 'adjika', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#tfc:food/bell_peppers', '#tfc:food/bell_peppers', 'tfc:powder/salt', 'tfc:food/garlic', "tfg:spice/cilantro_leaves", '5x #tfc:bowls'], fluidInputs: ['minecraft:water 500'], - itemOutputs: ['5x tfc_gurman:adjika'], + itemOutputs: ['5x tfc_gourmet:adjika'], circuit: 8, - itemOutputProvider: TFC.isp.of('5x tfc_gurman:adjika').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('5x tfc_gourmet:adjika').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Onion soup with bread global.processorRecipe(event, 'onion_soup_with_bread', 300, GTValues.VA[GTValues.LV], { itemInputs: ['2x tfc:food/onion', '#firmalife:foods/flatbreads', '#firmalife:foods/cheeses', 'tfc:powder/salt', '#tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:fresh_onion_soup_bread'], + itemOutputs: ['3x tfc_gourmet:fresh_onion_soup_bread'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:fresh_onion_soup_bread').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:fresh_onion_soup_bread').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Lentil soup global.processorRecipe(event, 'lentil_soup', 300, GTValues.VA[GTValues.LV], { itemInputs: ['2x tfc:food/soybean', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt', '#tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:lent_soup'], + itemOutputs: ['3x tfc_gourmet:lent_soup'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:lent_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:lent_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Gazpacho global.processorRecipe(event, 'gazpacho', 300, GTValues.VA[GTValues.LV], { itemInputs: ['2x tfc:food/tomato', '#tfc:food/bell_peppers', '#firmalife:foods/flatbreads', 'tfc:food/garlic', '#tfc:bowls'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:gazpacho'], + itemOutputs: ['3x tfc_gourmet:gazpacho'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:gazpacho').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:gazpacho').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Kharcho global.processorRecipe(event, 'kharcho', 300, GTValues.VA[GTValues.LV], { - itemInputs: ['tfc_gurman:plant_mix', 'tfc:food/garlic', 'tfc:food/onion', 'tfc:food/rice_grain', 'tfc:food/cooked_beef'], + itemInputs: ['tfc_gourmet:plant_mix', 'tfc:food/garlic', 'tfc:food/onion', 'tfc:food/rice_grain', 'tfc:food/cooked_beef'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:kharcho'], + itemOutputs: ['3x tfc_gourmet:kharcho'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:kharcho').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:kharcho').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Kholodnik global.processorRecipe(event, 'kholodnik', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/potato', '2x tfc:food/beet', '#forge:eggs', 'tfc:powder/salt'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:kholodnik'], + itemOutputs: ['3x tfc_gourmet:kholodnik'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:kholodnik').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:kholodnik').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Shurpa global.processorRecipe(event, 'shurpa', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#tfc:food/bell_peppers', 'tfc:food/onion', 'tfc:food/potato', 'tfc:food/cooked_mutton', 'tfc:powder/salt'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:shurpa'], + itemOutputs: ['3x tfc_gourmet:shurpa'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:shurpa').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:shurpa').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); global.processorRecipe(event, 'shurpa2', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#tfc:food/bell_peppers', 'tfc:food/onion', 'tfc:food/potato', 'tfc:food/cooked_beef', 'tfc:powder/salt'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:shurpa'], + itemOutputs: ['3x tfc_gourmet:shurpa'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:shurpa').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:shurpa').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Fish tomato soup global.processorRecipe(event, 'fish_tomato_soup', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#firmalife:foods/raw_fish', 'tfc:food/tomato', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:fish_soup_tomato'], + itemOutputs: ['3x tfc_gourmet:fish_soup_tomato'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:fish_soup_tomato').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:fish_soup_tomato').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Pea soup global.processorRecipe(event, 'pea_soup', 300, GTValues.VA[GTValues.LV], { itemInputs: ['2x tfc:food/green_bean', 'tfc:food/onion', '#tfc:foods/cooked_meats', 'tfc:powder/salt'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:pea_soup'], + itemOutputs: ['3x tfc_gourmet:pea_soup'], circuit: 16, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:pea_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:pea_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Minestrone global.processorRecipe(event, 'minestrone', 300, GTValues.VA[GTValues.LV], { itemInputs: ['tfc:food/rice_grain', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic', '#tfc:foods/cooked_meats'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:minestrone'], + itemOutputs: ['3x tfc_gourmet:minestrone'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:minestrone').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:minestrone').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); global.processorRecipe(event, 'minestrone2', 300, GTValues.VA[GTValues.LV], { itemInputs: ['firmalife:food/raw_egg_noodles', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic', '#tfc:foods/cooked_meats'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:minestrone'], + itemOutputs: ['3x tfc_gourmet:minestrone'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:minestrone').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:minestrone').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // Fish soup global.processorRecipe(event, 'fish_soup', 300, GTValues.VA[GTValues.LV], { itemInputs: ['#firmalife:foods/raw_fish', 'tfc:food/onion', 'tfc:food/potato', 'tfc:powder/salt'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:fish_soup'], + itemOutputs: ['3x tfc_gourmet:fish_soup'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:fish_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:fish_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); // French onion soup with toast global.processorRecipe(event, 'french_onion_soup', 300, GTValues.VA[GTValues.LV], { itemInputs: ['2x tfc:food/onion', '#firmalife:foods/slices', '#firmalife:foods/cheeses', 'tfc:powder/salt'], fluidInputs: ['minecraft:water 1000'], - itemOutputs: ['3x tfc_gurman:fresh_onion_soup'], + itemOutputs: ['3x tfc_gourmet:fresh_onion_soup'], circuit: 20, - itemOutputProvider: TFC.isp.of('3x tfc_gurman:fresh_onion_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() + itemOutputProvider: TFC.isp.of('3x tfc_gourmet:fresh_onion_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); //#endregion @@ -471,54 +478,54 @@ function registerTFCGurmanRecipes(event) { global.processorRecipeText(event, 'dried_mint', 200, GTValues.VA[GTValues.LV], "tfg.food_recipe.drying", { itemInputs: ["tfc:plant/foxglove"], fluidInputs: ['gtceu:nitrogen 100'], - itemOutputs: ["tfc_gurman:dried_mint_leaves"], + itemOutputs: ["tfc_gourmet:dried_mint_leaves"], circuit: 6 }); global.processorRecipeText(event, 'dried_chamomile', 200, GTValues.VA[GTValues.LV], "tfg.food_recipe.drying", { itemInputs: ["tfc:plant/lilac"], fluidInputs: ['gtceu:nitrogen 100'], - itemOutputs: ["tfc_gurman:dried_chamomile_leaves"], + itemOutputs: ["tfc_gourmet:dried_chamomile_leaves"], circuit: 6 }); global.processorRecipeText(event, 'dried_rosehip', 200, GTValues.VA[GTValues.LV], "tfg.food_recipe.drying", { itemInputs: ["tfc:plant/rose"], fluidInputs: ['gtceu:nitrogen 100'], - itemOutputs: ["tfc_gurman:dried_rosehip_leaves"], + itemOutputs: ["tfc_gourmet:dried_rosehip_leaves"], circuit: 6 }); global.processorRecipeText(event, 'dried_nettle', 200, GTValues.VA[GTValues.LV], "tfg.food_recipe.drying", { itemInputs: ["tfc:plant/trillium"], fluidInputs: ['gtceu:nitrogen 100'], - itemOutputs: ["tfc_gurman:dried_nettle_leaves"], + itemOutputs: ["tfc_gourmet:dried_nettle_leaves"], circuit: 6 }); // #endregion Drying // #region Replacements - event.replaceInput({ id: "tfc_gurman:crafting/tiramisu" }, "minecraft:sugar", "#tfg:sugars"); + event.replaceInput({ id: "tfc_gourmet:crafting/tiramisu" }, "minecraft:sugar", "#tfg:sugars"); - event.shapeless('2x tfc_gurman:plant_mix', [ + event.shapeless('2x tfc_gourmet:plant_mix', [ "2x firmalife:spice/basil_leaves", "tfg:spice/oregano_leaves", "tfg:spice/cilantro_leaves", - ]).id("tfc_gurman:crafting/plant_mix") + ]).id("tfc_gourmet:crafting/plant_mix") - event.replaceInput({ id: "tfc_gurman:pot/adjika_bowl" }, "firmalife:plant/cilantro", "tfg:spice/cilantro_leaves"); + event.replaceInput({ id: "tfc_gourmet:pot/adjika_bowl" }, "firmalife:plant/cilantro", "tfg:spice/cilantro_leaves"); - event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of('4x tfc_gurman:raw_takoyaki').copyOldestFood(), [ + event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of('4x tfc_gourmet:raw_takoyaki').copyOldestFood(), [ TFC.ingredient.notRotten('tfg:food/raw_crawlermari'), TFC.ingredient.notRotten('#tfc:foods/flour'), TFC.ingredient.notRotten('#forge:eggs'), 'tfc:powder/salt' ]).id('tfg:shapeless/takoyaki_from_crawlermari'); - event.replaceOutput({ id: "tfc_gurman:crafting/raw_pelmeni" }, "tfc_gurman:raw_pelmeni", "2x tfc_gurman:raw_pelmeni"); - event.replaceOutput({ id: "tfc_gurman:crafting/raw_vareniki" }, "tfc_gurman:raw_vareniki", "tfc_gurman:raw_vareniki"); - event.replaceOutput({ id: "tfc_gurman:crafting/raw_oladyi" }, "tfc_gurman:raw_oladyi", "2x tfc_gurman:raw_oladyi"); - event.replaceOutput({ id: "tfc_gurman:crafting/raw_syrniki" }, "tfc_gurman:raw_syrniki", "2x tfc_gurman:raw_syrniki"); + event.replaceOutput({ id: "tfc_gourmet:crafting/raw_pelmeni" }, "tfc_gourmet:raw_pelmeni", "2x tfc_gourmet:raw_pelmeni"); + event.replaceOutput({ id: "tfc_gourmet:crafting/raw_vareniki" }, "tfc_gourmet:raw_vareniki", "tfc_gourmet:raw_vareniki"); + event.replaceOutput({ id: "tfc_gourmet:crafting/raw_oladyi" }, "tfc_gourmet:raw_oladyi", "2x tfc_gourmet:raw_oladyi"); + event.replaceOutput({ id: "tfc_gourmet:crafting/raw_syrniki" }, "tfc_gourmet:raw_syrniki", "2x tfc_gourmet:raw_syrniki"); // #endregion } diff --git a/kubejs/server_scripts/tfg/food/tags.food.js b/kubejs/server_scripts/tfg/food/tags.food.js index 384575c05..525a044d1 100644 --- a/kubejs/server_scripts/tfg/food/tags.food.js +++ b/kubejs/server_scripts/tfg/food/tags.food.js @@ -149,9 +149,9 @@ function registerTFGFoodItemTags(event) { 'firmalife:food/yak_curd', 'firmalife:food/goat_curd', 'firmalife:food/milk_curd', - 'tfc_gurman:ox_curd', - 'tfc_gurman:sheep_curd', - 'tfc_gurman:alpaca_curd' + 'tfc_gourmet:ox_curd', + 'tfc_gourmet:sheep_curd', + 'tfc_gourmet:alpaca_curd' ]; cheeseCurds.forEach(item => { event.add('tfg:foods/cheese_curds', item); @@ -177,7 +177,7 @@ function registerTFGFoodItemTags(event) { '#firmalife:foods/cheeses', 'tfg:food/slice_of_cheese', 'firmalife:food/shredded_cheese', - '#tfc_gurman:foods/brinza' + '#tfc_gourmet:foods/brinza' ]; cheeses.forEach(item => { event.add('tfg:foods/cheeses', item); @@ -269,12 +269,12 @@ function registerTFGFoodItemTags(event) { 'firmalife:food/toast_with_butter', 'firmalife:food/toast_with_jam', 'firmalife:food/butter', - 'tfc_gurman:adjika', - 'tfc_gurman:tzatziki', - 'tfc_gurman:falafel', - 'tfc_gurman:hummus', - 'tfc_gurman:sauerkraut', - 'tfc_gurman:bratwurst' + 'tfc_gourmet:adjika', + 'tfc_gourmet:tzatziki', + 'tfc_gourmet:falafel', + 'tfc_gourmet:hummus', + 'tfc_gourmet:sauerkraut', + 'tfc_gourmet:bratwurst' ]; usable_in_meal_bag.forEach(item => { event.add('tfg:foods/usable_in_meal_bag', item); diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js index 36090a32f..7e851dcca 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js @@ -1,6 +1,6 @@ "use strict"; -const registerTFGItemTagsNuclear = (event) => { +const registerTFGNuclearItemTags = (event) => { //Fission Nucleat Fuel event.add('deafission:fuels', 'tfg:thorium_rod') diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index a1c988e5f..888189a0b 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -19,7 +19,7 @@ const registerTFGItemTags = (event) => { registerTFGAquaponicsItemTags(event) // TEMPORARY, REMOVE WHEN GURMAN FIXES THIS - event.remove('tfc:foods', 'tfc_gurman:havai_pizza') + event.remove('tfc:foods', 'tfc_gourmet:havai_pizza') //Circuit Stuff event.add('tfg:components/uv_leds', 'tfg:uv_led') diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index a1e687dea..c6b02e729 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -484,6 +484,5 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Glowstone.setComponents('1x gold', '1x redstone') GTMaterials.Thorium.setFormula('ThO2') GTMaterials.Americium.setFormula('Am²⁴³') - GTMaterials.Boron.setFormula('B¹¹') GTMaterials.Caesium.setFormula('Cs¹³³') } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index eb6d8dfa0..19a876b1c 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -867,18 +867,18 @@ global.TFC_CURDS_AND_CHEESES = /** @type {const} */ ([ salted_cheese: "firmalife:food/chevre", salted_wheel: "firmalife:chevre_wheel" }, { - id: "ox", milk: "tfc_gurman:ox_milk", curdled_fluid: "tfc_gurman:curdled_ox_milk", curd: "tfc_gurman:ox_curd", - unsalted_cheese: "tfc_gurman:ox_brinza_slice", unsalted_wheel: "tfc_gurman:ox_brinza_wheel", + id: "ox", milk: "tfc_gourmet:ox_milk", curdled_fluid: "tfc_gourmet:curdled_ox_milk", curd: "tfc_gourmet:ox_curd", + unsalted_cheese: "tfc_gourmet:ox_brinza_slice", unsalted_wheel: "tfc_gourmet:ox_brinza_wheel", salted_cheese: null, salted_wheel: null }, { - id: "sheep", milk: "tfc_gurman:sheep_milk", curdled_fluid: "tfc_gurman:curdled_sheep_milk", curd: "tfc_gurman:sheep_curd", - unsalted_cheese: "tfc_gurman:sheep_brinza_slice", unsalted_wheel: "tfc_gurman:sheep_brinza_wheel", + id: "sheep", milk: "tfc_gourmet:sheep_milk", curdled_fluid: "tfc_gourmet:curdled_sheep_milk", curd: "tfc_gourmet:sheep_curd", + unsalted_cheese: "tfc_gourmet:sheep_brinza_slice", unsalted_wheel: "tfc_gourmet:sheep_brinza_wheel", salted_cheese: null, salted_wheel: null }, { - id: "alpaca", milk: "tfc_gurman:alpaca_milk", curdled_fluid: "tfc_gurman:curdled_alpaca_milk", curd: "tfc_gurman:alpaca_curd", - unsalted_cheese: "tfc_gurman:alpaca_brinza_slice", unsalted_wheel: "tfc_gurman:alpaca_brinza_wheel", + id: "alpaca", milk: "tfc_gourmet:alpaca_milk", curdled_fluid: "tfc_gourmet:curdled_alpaca_milk", curd: "tfc_gourmet:alpaca_curd", + unsalted_cheese: "tfc_gourmet:alpaca_brinza_slice", unsalted_wheel: "tfc_gourmet:alpaca_brinza_wheel", salted_cheese: null, salted_wheel: null } ]); diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index c71f7f7b5..fbcfcff39 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -49,7 +49,16 @@ const registerTFGItems = (event) => { event.create('tfg:zpm_universal_circuit') event.create('tfg:uv_universal_circuit') event.create('tfg:uhv_universal_circuit') + + // Add item for BTX Fuel + event.create('tfg:catalyser_pt_re_zsm') + .texture('tfg:item/btx/catalyser_zsm') + event.create('tfg:used_catalyser') + .texture('tfg:item/btx/used_catalyser') + + event.create('tfg:loaded_resin') + .texture('tfg:item/btx/loaded_resin') // Temporary event.create('gtceu:rose_quartz_dust').texture('tfg:item/deprecated') @@ -70,14 +79,111 @@ const registerTFGItems = (event) => { event.create('gtceu:rose_quartz_lens').texture('tfg:item/deprecated') event.create('gtceu:rose_quartz_plate').texture('tfg:item/deprecated') - // Add item for BTX Fuel - - event.create('tfg:catalyser_pt_re_zsm') - .texture('tfg:item/btx/catalyser_zsm') - - event.create('tfg:used_catalyser') - .texture('tfg:item/btx/used_catalyser') - - event.create('tfg:loaded_resin') - .texture('tfg:item/btx/loaded_resin') + // Thanks gurman + event.create('tfc_gurman:raw_margarita_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:margarita_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_pepperoni_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:pepperoni_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_hawaiian_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:hawaiian_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_four_cheeses_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:four_cheeses_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_four_meats_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:four_meats_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_neapolitano_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:neapolitano_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_placinda').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:placinda').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:ramen_with_bacon').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:ramen_with_beef').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:ramen_with_camelidae').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:ramen_with_chevon').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:plant_mix').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:adjika').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:adjika_bread').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:porridge').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:porridge_with_honey').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:porridge_with_fruits').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:pasta_with_adjika').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:zama').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:mamaliga').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:ox_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:sheep_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:alpaca_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:ox_brinza_slice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:sheep_brinza_slice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:alpaca_brinza_slice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:ox_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:sheep_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:alpaca_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:fried_rice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:curry').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:pho').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:hummus').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:greek_salad').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:tzatziki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:falafel').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:dolma').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:goulash').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:risotto').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_lavash_wrap').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:lavash_wrap').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_pelmeni').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:pelmeni').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_vareniki').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:vareniki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_oladyi').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:oladyi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_syrniki').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:syrniki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:sliced_cabbage').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:sauerkraut').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_khachapuri').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:khachapuri').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_chebureki').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:chebureki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:dried_mint_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:dried_chamomile_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:dried_rosehip_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:dried_nettle_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:borscht').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:schi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:solyanka').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_kiev_cutlets').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:kiev_cutlets').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:okroshka').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:spaghetti_bolognese').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:pasta_carbonara').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:tiramisu').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_croissants').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:croissants').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:ratatouille').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_quiche').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:quiche').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:bouillabaisse').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_crepes').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:crepes').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_bratwurst').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:bratwurst').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_tonkatsu').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:tonkatsu').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_takoyaki').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:takoyaki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:kimchi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_bulgogi').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:bulgogi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:raw_tandoori_chicken').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:tandoori_chicken').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:biryani').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:fresh_onion_soup_bread').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:lent_soup').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:gazpacho').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:kharcho').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:kholodnik').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:shurpa').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:fish_soup_tomato').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:pea_soup').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:minestrone').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:fish_soup').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:fresh_onion_soup').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); } diff --git a/pakku-lock.json b/pakku-lock.json index 9847ecb03..65438c87e 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -10049,7 +10049,7 @@ "files": [ { "type": "modrinth", - "file_name": "notenoughanimations-forge-1.11.1-mc1.20.1.jar", + "file_name": "notenoughanimations-forge-1.11.2-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -10057,20 +10057,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/MPCX6s5C/versions/cfiRPrQF/notenoughanimations-forge-1.11.1-mc1.20.1.jar", - "id": "cfiRPrQF", + "url": "https://cdn.modrinth.com/data/MPCX6s5C/versions/5SeKXwLU/notenoughanimations-forge-1.11.2-mc1.20.1.jar", + "id": "5SeKXwLU", "parent_id": "MPCX6s5C", "hashes": { - "sha512": "9335ace46a9f6477df026f19cab08c656fc7c0a7f1069eedfdadbba01bfd2ad43f9e90a0bb5ef8e867d51608dddcf85fa9653eb178f4a0e6e6bcfb45d0959270", - "sha1": "9aa8917d7c0a5311dc495da3c720434de49e0e24" + "sha512": "594ce4db615446ee20e9938dcb1770c75f2073d82474ff515bebb08fcd1451eac1cd98add2f0a0ddf4b7e35e78525973ae6ed8538a705f5606ce5379173d0718", + "sha1": "fe7898d27c15b76552a69b972abec0728be9ea8a" }, "required_dependencies": [], - "size": 1933839, - "date_published": "2025-12-12T19:11:52.494096Z" + "size": 1935532, + "date_published": "2026-02-01T17:18:01.484134Z" }, { "type": "curseforge", - "file_name": "notenoughanimations-forge-1.11.1-mc1.20.1.jar", + "file_name": "notenoughanimations-forge-1.11.2-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -10078,16 +10078,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7325/366/notenoughanimations-forge-1.11.1-mc1.20.1.jar", - "id": "7325366", + "url": "https://edge.forgecdn.net/files/7561/811/notenoughanimations-forge-1.11.2-mc1.20.1.jar", + "id": "7561811", "parent_id": "433760", "hashes": { - "sha1": "9aa8917d7c0a5311dc495da3c720434de49e0e24", - "md5": "34fd79756da8b5278a5b0905d98ffeca" + "sha1": "fe7898d27c15b76552a69b972abec0728be9ea8a", + "md5": "81f5099779c0b4d223275e7bac616a4e" }, "required_dependencies": [], - "size": 1933839, - "date_published": "2025-12-12T19:11:51.067Z" + "size": 1935532, + "date_published": "2026-02-01T17:17:59.670Z" } ] }, @@ -12887,7 +12887,7 @@ ] }, { - "pakku_id": "zjKgkuN1c64ZMrfV", + "pakku_id": "5Hw8y3XluL4fjZ65", "pakku_links": [ "AqNG8HNM9pfy1ges", "64uacGcEw697jVGs" @@ -12895,42 +12895,21 @@ "type": "MOD", "side": "BOTH", "slug": { - "curseforge": "tfcgurman", - "modrinth": "tfc_gurman" + "curseforge": "tfc-gurman", + "modrinth": "tfc_gourmet" }, "name": { "curseforge": "TFC Gurman", - "modrinth": "TFC Gurman" + "modrinth": "TFC Gourmet" }, "id": { "curseforge": "1363944", "modrinth": "ERme2o65" }, "files": [ - { - "type": "modrinth", - "file_name": "tfc_gurman-1.4.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/ERme2o65/versions/zhoqj2Wr/tfc_gurman-1.4.1.jar", - "id": "zhoqj2Wr", - "parent_id": "ERme2o65", - "hashes": { - "sha512": "dbfa8e9423dc6bb4fa98a17b99478651b99081e4990f1b9f01bfc5ade6ec35955756f8c856d2bfd3f4865779aaff4a7c68b6bb3b7e93f397afbf407c83c992c3", - "sha1": "0be72570ba157b7600c3b9f4ea694744a227112a" - }, - "required_dependencies": [], - "size": 520225, - "date_published": "2026-01-28T01:09:39.160234Z" - }, { "type": "curseforge", - "file_name": "tfc_gurman-1.4.1.jar", + "file_name": "tfc_gourmet-1.4.2.jar", "mc_versions": [ "1.20.1" ], @@ -12938,19 +12917,40 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7538/795/tfc_gurman-1.4.1.jar", - "id": "7538795", + "url": "https://edge.forgecdn.net/files/7564/444/tfc_gourmet-1.4.2.jar", + "id": "7564444", "parent_id": "1363944", "hashes": { - "sha1": "0be72570ba157b7600c3b9f4ea694744a227112a", - "md5": "d5734cf9b727fbb11b8025ceb26fe8aa" + "sha1": "d4c2f1eb89330129fdc1e4ee78f61f1130d83fe5", + "md5": "5e39aeac6e9a02f282140ef87c156de4" }, "required_dependencies": [ - "302973", - "453394" + "453394", + "302973" ], - "size": 520225, - "date_published": "2026-01-28T01:08:21.107Z" + "size": 521700, + "date_published": "2026-02-02T03:07:46.393Z" + }, + { + "type": "modrinth", + "file_name": "tfc_gurman-1.4.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/ERme2o65/versions/tMfASqPh/tfc_gurman-1.4.2.jar", + "id": "tMfASqPh", + "parent_id": "ERme2o65", + "hashes": { + "sha512": "ac46e98199659c20c11c036ced30b7aaff012e702be7ef8d7cad06ad91db386969edd0d686ec2862682b7dab322d0c23c1f6c8ff8a35799bfd492c1589515450", + "sha1": "0f079c981e2610bf6462bad4bf171c831813cd5c" + }, + "required_dependencies": [], + "size": 519124, + "date_published": "2026-02-02T02:29:35.480162Z" } ] }, @@ -15261,7 +15261,7 @@ "files": [ { "type": "curseforge", - "file_name": "playerrevive_compat-1.0.1-1d0e244.jar", + "file_name": "playerrevive_compat-1.0.2-12c699b.jar", "mc_versions": [ "1.20.1" ], @@ -15269,18 +15269,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7528/776/playerrevive_compat-1.0.1-1d0e244.jar", - "id": "7528776", + "url": "https://edge.forgecdn.net/files/7564/958/playerrevive_compat-1.0.2-12c699b.jar", + "id": "7564958", "parent_id": "1440963", "hashes": { - "sha1": "05d191e5bb7c4ada8b2cbb7c604b3ab7d5040563", - "md5": "7be622f95b711409c493da13c5c08772" + "sha1": "a0f05d85155560b743d6ffab61741e3da3803611", + "md5": "c1cb2f857a6fd0e71458637b25a33cbd" }, "required_dependencies": [ "266890" ], - "size": 198416, - "date_published": "2026-01-26T05:31:05.240Z" + "size": 198220, + "date_published": "2026-02-02T06:43:37.990Z" } ] }, From ff64df0d1d4c6590b6ac3ad4746b6278ed3f6355 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 15:16:00 +0000 Subject: [PATCH 342/474] langs, emi categories --- CHANGELOG.md | 28 +++++++++---------- .../category/properties/ae2_condenser.json | 2 +- .../properties/ae2_p2p_attunement.json | 2 +- .../category/properties/create_draining.json | 2 +- .../properties/create_spout_filling.json | 2 +- .../properties/createaddition_rolling.json | 2 +- .../properties/deafission_component_fr.json | 2 +- .../properties/deafission_component_hb.json | 2 +- .../deafission_fission_component.json | 2 +- .../deafission_fission_reactor_coolant.json | 2 +- .../deafission_fission_reactor_fuel.json | 2 +- ...deafission_fission_reactor_processing.json | 2 +- .../properties/deafission_hb_export.json | 1 + .../properties/deafission_hb_import.json | 1 + .../diggerhelmet_helmet_repair.json | 2 +- .../domum_ornamentum_architects_cutter.json | 2 +- .../emi/category/properties/emi_info.json | 2 +- .../emi/category/properties/emi_tag.json | 2 +- .../exposure_photograph_printing.json | 2 +- .../exposure_photograph_stacking.json | 2 +- .../properties/framedblocks_framing_saw.json | 2 +- .../properties/greate_automatic_packing.json | 2 +- .../properties/greate_automatic_shaped.json | 2 +- .../greate_automatic_shapeless.json | 2 +- .../properties/greate_block_cutting.json | 2 +- .../category/properties/greate_crushing.json | 2 +- .../properties/greate_fan_washing.json | 2 +- .../category/properties/greate_milling.json | 2 +- .../category/properties/greate_mixing.json | 2 +- .../category/properties/greate_pressing.json | 2 +- .../category/properties/greate_sawing.json | 2 +- .../properties/gtceu_air_scrubber.json | 2 +- .../properties/gtceu_alloy_blast_smelter.json | 2 +- .../properties/gtceu_alloy_smelter.json | 2 +- .../properties/gtceu_aqueous_accumulator.json | 2 +- .../properties/gtceu_arc_furnace.json | 2 +- .../gtceu_arc_furnace_recycling.json | 2 +- .../category/properties/gtceu_assembler.json | 2 +- .../properties/gtceu_assembly_line.json | 2 +- .../category/properties/gtceu_autoclave.json | 2 +- .../emi/category/properties/gtceu_bender.json | 2 +- .../category/properties/gtceu_bioreactor.json | 2 +- .../category/properties/gtceu_brewery.json | 2 +- .../emi/category/properties/gtceu_canner.json | 2 +- .../category/properties/gtceu_centrifuge.json | 2 +- .../category/properties/gtceu_chem_dyes.json | 2 +- .../properties/gtceu_chemical_bath.json | 2 +- .../properties/gtceu_chemical_reactor.json | 2 +- .../properties/gtceu_circuit_assembler.json | 2 +- .../gtceu_coal_liquefaction_tower.json | 2 +- .../category/properties/gtceu_compressor.json | 2 +- .../properties/gtceu_cooling_tower.json | 1 + .../category/properties/gtceu_cracker.json | 2 +- .../emi/category/properties/gtceu_cutter.json | 2 +- .../properties/gtceu_distillation_tower.json | 2 +- .../category/properties/gtceu_distillery.json | 2 +- .../gtceu_electric_blast_furnace.json | 2 +- .../properties/gtceu_electrolyzer.json | 2 +- .../gtceu_electromagnetic_separator.json | 2 +- .../properties/gtceu_evaporation_tower.json | 2 +- .../category/properties/gtceu_extractor.json | 2 +- .../properties/gtceu_extractor_recycling.json | 2 +- .../category/properties/gtceu_extruder.json | 2 +- .../category/properties/gtceu_fermenter.json | 2 +- .../properties/gtceu_fission_reactor.json | 2 +- .../properties/gtceu_fluid_heater.json | 2 +- .../properties/gtceu_fluid_solidifier.json | 2 +- .../properties/gtceu_forge_hammer.json | 2 +- .../properties/gtceu_forming_press.json | 2 +- .../properties/gtceu_fusion_reactor.json | 2 +- .../properties/gtceu_gas_collector.json | 2 +- .../properties/gtceu_gas_pressurizer.json | 2 +- .../category/properties/gtceu_greenhouse.json | 2 +- .../properties/gtceu_heat_exchanger.json | 2 +- .../gtceu_hydroponics_facility.json | 2 +- .../gtceu_implosion_compressor.json | 2 +- .../properties/gtceu_ingot_molding.json | 2 +- .../gtceu_large_chemical_reactor.json | 2 +- .../properties/gtceu_laser_engraver.json | 2 +- .../emi/category/properties/gtceu_lathe.json | 2 +- .../category/properties/gtceu_macerator.json | 2 +- .../properties/gtceu_macerator_recycling.json | 2 +- .../emi/category/properties/gtceu_mixer.json | 2 +- .../properties/gtceu_moon_dust_harvester.json | 2 +- .../gtceu_nuclear_fuel_factory.json | 2 +- .../properties/gtceu_ore_bathing.json | 2 +- .../properties/gtceu_ore_crushing.json | 2 +- .../properties/gtceu_ore_forging.json | 2 +- .../category/properties/gtceu_ore_washer.json | 2 +- .../properties/gtceu_ostrum_harvester.json | 2 +- .../gtceu_ostrum_linear_accelerator.json | 2 +- .../emi/category/properties/gtceu_packer.json | 2 +- .../gtceu_pisciculture_fishery.json | 2 +- .../properties/gtceu_plasma_generator.json | 2 +- .../category/properties/gtceu_polarizer.json | 2 +- .../properties/gtceu_programmed_circuit.json | 2 +- .../properties/gtceu_pyrolyse_oven.json | 2 +- .../properties/gtceu_research_station.json | 2 +- .../properties/gtceu_rock_breaker.json | 2 +- .../category/properties/gtceu_scanner.json | 2 +- .../emi/category/properties/gtceu_sifter.json | 2 +- .../properties/gtceu_smr_generator.json | 1 + .../properties/gtceu_steam_bloomery.json | 2 +- .../properties/gtceu_thermal_centrifuge.json | 2 +- .../properties/gtceu_vacuum_freezer.json | 2 +- .../properties/gtceu_wire_coating.json | 2 +- .../category/properties/gtceu_wiremill.json | 2 +- .../properties/minecraft_smelting.json | 2 +- .../properties/minecraft_smithing.json | 2 +- .../properties/minecraft_stonecutting.json | 2 +- .../properties/tacz_attachment_query.json | 2 +- .../properties/taczammoquery_ammo_query.json | 2 +- .../vintageimprovements_centrifugation.json | 2 +- .../vintageimprovements_coiling.json | 2 +- .../vintageimprovements_curving.json | 2 +- .../vintageimprovements_laser_cutting.json | 2 +- .../vintageimprovements_polishing.json | 2 +- .../vintageimprovements_pressurizing.json | 2 +- .../vintageimprovements_vacuumizing.json | 2 +- .../vintageimprovements_vibrating.json | 2 +- kubejs/assets/gtceu/lang/en_us.json | 1 + kubejs/assets/tfg/lang/en_us.json | 4 ++- 122 files changed, 137 insertions(+), 130 deletions(-) create mode 100644 kubejs/assets/emi/category/properties/deafission_hb_export.json create mode 100644 kubejs/assets/emi/category/properties/deafission_hb_import.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_cooling_tower.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_smr_generator.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 58e90dca6..835fa9373 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,12 +6,12 @@ - The two chemical reactor recipes for Tetramethoxysilane now have circuits (1 and 2) (#2898) @Pyritie - Toluene + Benzene = Biphenyl + Methane now uses circuit 1 (#2928) @Pyritie #### Energy Update -- Cetane Boosted Diesel duration is buffed by 30% -- Diesel duration is nerfed by 25% but can now be craftable at ULV +- Cetane Boosted Diesel's duration is buffed by 30% +- Diesel's duration is nerfed by 25%, but can now be crafted at ULV - Added distillation recipe to get fuel from oil with the Vacuum Chamber -- Lightfuel isn't a fuel anymore (make Diesel with it) -- High Octane Gasoline now requires IV Energy Hatch -- Add Small Fission Reactor, Small Turbine Generator and the Cooling Tower. You can now make power from Fission on Earth +- Light Fuel isn't a fuel anymore (make Diesel with it!) +- High Octane Gasoline now requires an IV Energy Hatch +- Add Small Fission Reactor, Small Turbine Generator, and the Cooling Tower. You can now make power from Fission on Earth! #### ULV changes - The vacuum chamber requires a blue steel spring now, so the colored steel anvil can't be skipped - The steel mechanical mixer can now only make weak red/blue steel dust, not regular (it can still make black steel dust though). The LV mixer can make normal red/blue steel dust @@ -32,15 +32,15 @@ - Polyethylene now requires an MV chemical reactor - Added the Artisan Table to "knap" circuit boards and GT extruder and casting molds, replacing their crafting table recipes. @BlueBoat29 @Redeix #### EV changes -- Add Radon to EV Superconductor so they are gated behind the Uranium Reactor -- Active Energy Transformer and Normal Laser Pipe moved to EV behind the Uranium Reactor -- Change to Refrigerant Pellet, you now need the Terrafirmaguard PA6 to run Plutonium Rod -- Adding the Heat Battery a new multiblock storing heat from your fission coolant -- Rework of the Ostrum Linear Accelerator: it can now be expanded in height, requires heat from a Heat Battery to run and used for many new resources -- Every Fission Reactors now output a depleted rod that you have to process to get the product from fission -- The depleted rod now has an average heat depending of the temperature of the fission reactor while it was in it. Everytime the reactor goes in cooldown it adds 10 000 heat to your rod -- RTM Coils were modified to require resources from Mars (from the martian trees) and Rockwool -- Nuclear Turbine will now stop without the structure breaking if there is blocks under it or inside the chimney +- Added Radon to EV Superconductor so they are gated behind the Uranium Reactor +- Active Energy Transformer and Normal Laser Pipe are moved to EV behind the Uranium Reactor +- Change to Refrigerant Pellet, you now need the TerraFirmaGuard PA6 to run your first Plutonium Rods +- Added the Heat Battery - a new multiblock that stores heat from your fission coolant +- Rework of the Ostrum Linear Accelerator - it can now be expanded in height, requires heat from a Heat Battery to run and used for many new resources +- Every Fission Reactor recipe now outputs a depleted rod that you have to process to get the product from fission +- The depleted rod now has an average heat depending on the temperature of the fission reactor while it was in it. Every time the reactor goes on cooldown, it adds 10,000 heat to your rod +- RTM Coils were modified to require resources from Mars (from the martian trees) and Rockwool, but now you don't need them as early in EV +- Blocks (such as sand piles) in the Nuclear Turbine's chimney or turbine area will now just stop it from working instead of unforming the multiblock #### IV changes - Multi-Layer Insulated Shielding is now required for HSS-G coils. #### Electric Greenhouse changes diff --git a/kubejs/assets/emi/category/properties/ae2_condenser.json b/kubejs/assets/emi/category/properties/ae2_condenser.json index 3c6f19748..2a88e6aa9 100644 --- a/kubejs/assets/emi/category/properties/ae2_condenser.json +++ b/kubejs/assets/emi/category/properties/ae2_condenser.json @@ -1 +1 @@ -{"ae2:condenser":{"order":160}} \ No newline at end of file +{"ae2:condenser":{"order":164}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json b/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json index 0adebe4fe..f2f488c61 100644 --- a/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json +++ b/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json @@ -1 +1 @@ -{"ae2:p2p_attunement":{"order":172}} \ No newline at end of file +{"ae2:p2p_attunement":{"order":176}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_draining.json b/kubejs/assets/emi/category/properties/create_draining.json index 9d95ee42b..a68239477 100644 --- a/kubejs/assets/emi/category/properties/create_draining.json +++ b/kubejs/assets/emi/category/properties/create_draining.json @@ -1 +1 @@ -{"create:draining":{"order":175}} \ No newline at end of file +{"create:draining":{"order":179}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_spout_filling.json b/kubejs/assets/emi/category/properties/create_spout_filling.json index 990983baa..76a64a02a 100644 --- a/kubejs/assets/emi/category/properties/create_spout_filling.json +++ b/kubejs/assets/emi/category/properties/create_spout_filling.json @@ -1 +1 @@ -{"create:spout_filling":{"order":176}} \ No newline at end of file +{"create:spout_filling":{"order":180}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/createaddition_rolling.json b/kubejs/assets/emi/category/properties/createaddition_rolling.json index 8c84042d2..701dd43df 100644 --- a/kubejs/assets/emi/category/properties/createaddition_rolling.json +++ b/kubejs/assets/emi/category/properties/createaddition_rolling.json @@ -1 +1 @@ -{"createaddition:rolling":{"order":83}} \ No newline at end of file +{"createaddition:rolling":{"order":87}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_component_fr.json b/kubejs/assets/emi/category/properties/deafission_component_fr.json index 875234609..241c80cc6 100644 --- a/kubejs/assets/emi/category/properties/deafission_component_fr.json +++ b/kubejs/assets/emi/category/properties/deafission_component_fr.json @@ -1 +1 @@ -{"deafission:component_fr":{"order":72}} \ No newline at end of file +{"deafission:component_fr":{"order":74}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_component_hb.json b/kubejs/assets/emi/category/properties/deafission_component_hb.json index 3c97bda2e..26c6710ab 100644 --- a/kubejs/assets/emi/category/properties/deafission_component_hb.json +++ b/kubejs/assets/emi/category/properties/deafission_component_hb.json @@ -1 +1 @@ -{"deafission:component_hb":{"order":73}} \ No newline at end of file +{"deafission:component_hb":{"order":75}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_fission_component.json b/kubejs/assets/emi/category/properties/deafission_fission_component.json index 5784c5d53..a10af10af 100644 --- a/kubejs/assets/emi/category/properties/deafission_fission_component.json +++ b/kubejs/assets/emi/category/properties/deafission_fission_component.json @@ -1 +1 @@ -{"deafission:fission_component":{"order":71}} \ No newline at end of file +{"deafission:fission_component":{"order":72}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant.json b/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant.json index 6c6afed67..07145076d 100644 --- a/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant.json +++ b/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant.json @@ -1 +1 @@ -{"deafission:fission_reactor_coolant":{"order":68}} \ No newline at end of file +{"deafission:fission_reactor_coolant":{"order":69}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_fission_reactor_fuel.json b/kubejs/assets/emi/category/properties/deafission_fission_reactor_fuel.json index 504f42e25..0cbac9942 100644 --- a/kubejs/assets/emi/category/properties/deafission_fission_reactor_fuel.json +++ b/kubejs/assets/emi/category/properties/deafission_fission_reactor_fuel.json @@ -1 +1 @@ -{"deafission:fission_reactor_fuel":{"order":70}} \ No newline at end of file +{"deafission:fission_reactor_fuel":{"order":71}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_fission_reactor_processing.json b/kubejs/assets/emi/category/properties/deafission_fission_reactor_processing.json index 1d7899a11..91ecf310f 100644 --- a/kubejs/assets/emi/category/properties/deafission_fission_reactor_processing.json +++ b/kubejs/assets/emi/category/properties/deafission_fission_reactor_processing.json @@ -1 +1 @@ -{"deafission:fission_reactor_processing":{"order":69}} \ No newline at end of file +{"deafission:fission_reactor_processing":{"order":70}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_hb_export.json b/kubejs/assets/emi/category/properties/deafission_hb_export.json new file mode 100644 index 000000000..bfbb533f0 --- /dev/null +++ b/kubejs/assets/emi/category/properties/deafission_hb_export.json @@ -0,0 +1 @@ +{"deafission:hb_export":{"order":77}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_hb_import.json b/kubejs/assets/emi/category/properties/deafission_hb_import.json new file mode 100644 index 000000000..bbccd21d3 --- /dev/null +++ b/kubejs/assets/emi/category/properties/deafission_hb_import.json @@ -0,0 +1 @@ +{"deafission:hb_import":{"order":76}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json b/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json index 12f0df49a..beeabcd62 100644 --- a/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json +++ b/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json @@ -1 +1 @@ -{"diggerhelmet:helmet_repair":{"order":167}} \ No newline at end of file +{"diggerhelmet:helmet_repair":{"order":171}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json index c3e34b0d4..c9b814f2e 100644 --- a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json +++ b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json @@ -1 +1 @@ -{"domum_ornamentum:architects_cutter":{"order":171}} \ No newline at end of file +{"domum_ornamentum:architects_cutter":{"order":175}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/emi_info.json b/kubejs/assets/emi/category/properties/emi_info.json index 3db09b20a..a91984d00 100644 --- a/kubejs/assets/emi/category/properties/emi_info.json +++ b/kubejs/assets/emi/category/properties/emi_info.json @@ -1 +1 @@ -{"emi:info":{"order":181}} \ No newline at end of file +{"emi:info":{"order":185}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/emi_tag.json b/kubejs/assets/emi/category/properties/emi_tag.json index 8951f2570..0d21b766a 100644 --- a/kubejs/assets/emi/category/properties/emi_tag.json +++ b/kubejs/assets/emi/category/properties/emi_tag.json @@ -1 +1 @@ -{"emi:tag":{"order":182}} \ No newline at end of file +{"emi:tag":{"order":186}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json index a3cb78b5c..cf4a0fb5e 100644 --- a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json +++ b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json @@ -1 +1 @@ -{"exposure:photograph_printing":{"order":165}} \ No newline at end of file +{"exposure:photograph_printing":{"order":169}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json index 2675d757b..cb039cc1e 100644 --- a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json +++ b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json @@ -1 +1 @@ -{"exposure:photograph_stacking":{"order":166}} \ No newline at end of file +{"exposure:photograph_stacking":{"order":170}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json index 14d32f01c..8e82debe5 100644 --- a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json +++ b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json @@ -1 +1 @@ -{"framedblocks:framing_saw":{"order":170}} \ No newline at end of file +{"framedblocks:framing_saw":{"order":174}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_packing.json b/kubejs/assets/emi/category/properties/greate_automatic_packing.json index b791e2c34..eabbb0b7d 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_packing.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_packing.json @@ -1 +1 @@ -{"greate:automatic_packing":{"order":179}} \ No newline at end of file +{"greate:automatic_packing":{"order":183}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json index 28fd48ddc..616a8e54a 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json @@ -1 +1 @@ -{"greate:automatic_shaped":{"order":177}} \ No newline at end of file +{"greate:automatic_shaped":{"order":181}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json index cb810aba0..3cf6ecbb8 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json @@ -1 +1 @@ -{"greate:automatic_shapeless":{"order":178}} \ No newline at end of file +{"greate:automatic_shapeless":{"order":182}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_block_cutting.json b/kubejs/assets/emi/category/properties/greate_block_cutting.json index b34f02651..fd3bf6618 100644 --- a/kubejs/assets/emi/category/properties/greate_block_cutting.json +++ b/kubejs/assets/emi/category/properties/greate_block_cutting.json @@ -1 +1 @@ -{"greate:block_cutting":{"order":169}} \ No newline at end of file +{"greate:block_cutting":{"order":173}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_crushing.json b/kubejs/assets/emi/category/properties/greate_crushing.json index 1687d189d..3a574ff33 100644 --- a/kubejs/assets/emi/category/properties/greate_crushing.json +++ b/kubejs/assets/emi/category/properties/greate_crushing.json @@ -1 +1 @@ -{"greate:crushing":{"order":121}} \ No newline at end of file +{"greate:crushing":{"order":125}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_fan_washing.json b/kubejs/assets/emi/category/properties/greate_fan_washing.json index 8a33b662f..8883f8376 100644 --- a/kubejs/assets/emi/category/properties/greate_fan_washing.json +++ b/kubejs/assets/emi/category/properties/greate_fan_washing.json @@ -1 +1 @@ -{"greate:fan_washing":{"order":127}} \ No newline at end of file +{"greate:fan_washing":{"order":131}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_milling.json b/kubejs/assets/emi/category/properties/greate_milling.json index 904d7b9cc..78992a198 100644 --- a/kubejs/assets/emi/category/properties/greate_milling.json +++ b/kubejs/assets/emi/category/properties/greate_milling.json @@ -1 +1 @@ -{"greate:milling":{"order":120}} \ No newline at end of file +{"greate:milling":{"order":124}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_mixing.json b/kubejs/assets/emi/category/properties/greate_mixing.json index 39a4fe80c..d3e607380 100644 --- a/kubejs/assets/emi/category/properties/greate_mixing.json +++ b/kubejs/assets/emi/category/properties/greate_mixing.json @@ -1 +1 @@ -{"greate:mixing":{"order":125}} \ No newline at end of file +{"greate:mixing":{"order":129}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_pressing.json b/kubejs/assets/emi/category/properties/greate_pressing.json index 660491ff4..1d16a8f28 100644 --- a/kubejs/assets/emi/category/properties/greate_pressing.json +++ b/kubejs/assets/emi/category/properties/greate_pressing.json @@ -1 +1 @@ -{"greate:pressing":{"order":110}} \ No newline at end of file +{"greate:pressing":{"order":114}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_sawing.json b/kubejs/assets/emi/category/properties/greate_sawing.json index b3637406e..11b327ba2 100644 --- a/kubejs/assets/emi/category/properties/greate_sawing.json +++ b/kubejs/assets/emi/category/properties/greate_sawing.json @@ -1 +1 @@ -{"greate:sawing":{"order":97}} \ No newline at end of file +{"greate:sawing":{"order":101}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json b/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json index 5b3fc2de4..ef25348e0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json +++ b/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json @@ -1 +1 @@ -{"gtceu:air_scrubber":{"order":76}} \ No newline at end of file +{"gtceu:air_scrubber":{"order":80}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json b/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json index cc3d08990..8fdc5624b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json +++ b/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json @@ -1 +1 @@ -{"gtceu:alloy_blast_smelter":{"order":137}} \ No newline at end of file +{"gtceu:alloy_blast_smelter":{"order":141}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json b/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json index f5fb46b95..128213141 100644 --- a/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json +++ b/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json @@ -1 +1 @@ -{"gtceu:alloy_smelter":{"order":77}} \ No newline at end of file +{"gtceu:alloy_smelter":{"order":81}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json b/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json index 567ddbcab..8a11bcfb8 100644 --- a/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json +++ b/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json @@ -1 +1 @@ -{"gtceu:aqueous_accumulator":{"order":79}} \ No newline at end of file +{"gtceu:aqueous_accumulator":{"order":83}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json b/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json index de6efb553..7dbfb0a91 100644 --- a/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json +++ b/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json @@ -1 +1 @@ -{"gtceu:arc_furnace":{"order":80}} \ No newline at end of file +{"gtceu:arc_furnace":{"order":84}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json index ed5d63c9b..f6a2a9514 100644 --- a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json @@ -1 +1 @@ -{"gtceu:arc_furnace_recycling":{"order":161}} \ No newline at end of file +{"gtceu:arc_furnace_recycling":{"order":165}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_assembler.json b/kubejs/assets/emi/category/properties/gtceu_assembler.json index b4ee6926b..900e31bc2 100644 --- a/kubejs/assets/emi/category/properties/gtceu_assembler.json +++ b/kubejs/assets/emi/category/properties/gtceu_assembler.json @@ -1 +1 @@ -{"gtceu:assembler":{"order":81}} \ No newline at end of file +{"gtceu:assembler":{"order":85}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_assembly_line.json b/kubejs/assets/emi/category/properties/gtceu_assembly_line.json index b62e991ea..1977efa4e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_assembly_line.json +++ b/kubejs/assets/emi/category/properties/gtceu_assembly_line.json @@ -1 +1 @@ -{"gtceu:assembly_line":{"order":138}} \ No newline at end of file +{"gtceu:assembly_line":{"order":142}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_autoclave.json b/kubejs/assets/emi/category/properties/gtceu_autoclave.json index d58a46ca0..77de45bc4 100644 --- a/kubejs/assets/emi/category/properties/gtceu_autoclave.json +++ b/kubejs/assets/emi/category/properties/gtceu_autoclave.json @@ -1 +1 @@ -{"gtceu:autoclave":{"order":82}} \ No newline at end of file +{"gtceu:autoclave":{"order":86}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_bender.json b/kubejs/assets/emi/category/properties/gtceu_bender.json index a4dd6da29..89a87002f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_bender.json +++ b/kubejs/assets/emi/category/properties/gtceu_bender.json @@ -1 +1 @@ -{"gtceu:bender":{"order":85}} \ No newline at end of file +{"gtceu:bender":{"order":89}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_bioreactor.json b/kubejs/assets/emi/category/properties/gtceu_bioreactor.json index 31b7b2658..1568b9c72 100644 --- a/kubejs/assets/emi/category/properties/gtceu_bioreactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_bioreactor.json @@ -1 +1 @@ -{"gtceu:bioreactor":{"order":139}} \ No newline at end of file +{"gtceu:bioreactor":{"order":143}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_brewery.json b/kubejs/assets/emi/category/properties/gtceu_brewery.json index 832ad3782..fa782ae3a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_brewery.json +++ b/kubejs/assets/emi/category/properties/gtceu_brewery.json @@ -1 +1 @@ -{"gtceu:brewery":{"order":86}} \ No newline at end of file +{"gtceu:brewery":{"order":90}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_canner.json b/kubejs/assets/emi/category/properties/gtceu_canner.json index d1d7856a2..2b3c6695a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_canner.json +++ b/kubejs/assets/emi/category/properties/gtceu_canner.json @@ -1 +1 @@ -{"gtceu:canner":{"order":87}} \ No newline at end of file +{"gtceu:canner":{"order":91}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_centrifuge.json b/kubejs/assets/emi/category/properties/gtceu_centrifuge.json index 23326661f..8b9920a82 100644 --- a/kubejs/assets/emi/category/properties/gtceu_centrifuge.json +++ b/kubejs/assets/emi/category/properties/gtceu_centrifuge.json @@ -1 +1 @@ -{"gtceu:centrifuge":{"order":89}} \ No newline at end of file +{"gtceu:centrifuge":{"order":93}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json b/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json index cb71aa041..13c56fd39 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json +++ b/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json @@ -1 +1 @@ -{"gtceu:chem_dyes":{"order":91}} \ No newline at end of file +{"gtceu:chem_dyes":{"order":95}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json b/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json index 35da3689b..1d5d87c8a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json +++ b/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json @@ -1 +1 @@ -{"gtceu:chemical_bath":{"order":90}} \ No newline at end of file +{"gtceu:chemical_bath":{"order":94}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json b/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json index b43a3b8ad..d7ad7a4e7 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json @@ -1 +1 @@ -{"gtceu:chemical_reactor":{"order":93}} \ No newline at end of file +{"gtceu:chemical_reactor":{"order":97}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json b/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json index 64bb8f009..15297e519 100644 --- a/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json +++ b/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json @@ -1 +1 @@ -{"gtceu:circuit_assembler":{"order":95}} \ No newline at end of file +{"gtceu:circuit_assembler":{"order":99}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json b/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json index 08d3d80fd..558681cc0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json @@ -1 +1 @@ -{"gtceu:coal_liquefaction_tower":{"order":140}} \ No newline at end of file +{"gtceu:coal_liquefaction_tower":{"order":144}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_compressor.json b/kubejs/assets/emi/category/properties/gtceu_compressor.json index 1e028d533..26300f3a0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_compressor.json +++ b/kubejs/assets/emi/category/properties/gtceu_compressor.json @@ -1 +1 @@ -{"gtceu:compressor":{"order":96}} \ No newline at end of file +{"gtceu:compressor":{"order":100}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_cooling_tower.json b/kubejs/assets/emi/category/properties/gtceu_cooling_tower.json new file mode 100644 index 000000000..f7a0895eb --- /dev/null +++ b/kubejs/assets/emi/category/properties/gtceu_cooling_tower.json @@ -0,0 +1 @@ +{"gtceu:cooling_tower":{"order":68}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_cracker.json b/kubejs/assets/emi/category/properties/gtceu_cracker.json index 8cc086257..9f0e04d1f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_cracker.json +++ b/kubejs/assets/emi/category/properties/gtceu_cracker.json @@ -1 +1 @@ -{"gtceu:cracker":{"order":141}} \ No newline at end of file +{"gtceu:cracker":{"order":145}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_cutter.json b/kubejs/assets/emi/category/properties/gtceu_cutter.json index 02383736f..3a3b05441 100644 --- a/kubejs/assets/emi/category/properties/gtceu_cutter.json +++ b/kubejs/assets/emi/category/properties/gtceu_cutter.json @@ -1 +1 @@ -{"gtceu:cutter":{"order":98}} \ No newline at end of file +{"gtceu:cutter":{"order":102}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json b/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json index 1d99295bc..6148bcd24 100644 --- a/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json @@ -1 +1 @@ -{"gtceu:distillation_tower":{"order":100}} \ No newline at end of file +{"gtceu:distillation_tower":{"order":104}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_distillery.json b/kubejs/assets/emi/category/properties/gtceu_distillery.json index a0f789349..eeebfbb7d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_distillery.json +++ b/kubejs/assets/emi/category/properties/gtceu_distillery.json @@ -1 +1 @@ -{"gtceu:distillery":{"order":99}} \ No newline at end of file +{"gtceu:distillery":{"order":103}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json b/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json index 89f4dc1aa..272066ae2 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json +++ b/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json @@ -1 +1 @@ -{"gtceu:electric_blast_furnace":{"order":142}} \ No newline at end of file +{"gtceu:electric_blast_furnace":{"order":146}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json b/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json index af9021d58..d54519044 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json +++ b/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json @@ -1 +1 @@ -{"gtceu:electrolyzer":{"order":101}} \ No newline at end of file +{"gtceu:electrolyzer":{"order":105}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json b/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json index 1633122d8..bac9ee3ae 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json +++ b/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json @@ -1 +1 @@ -{"gtceu:electromagnetic_separator":{"order":102}} \ No newline at end of file +{"gtceu:electromagnetic_separator":{"order":106}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json b/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json index 432b22df2..822775ed1 100644 --- a/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json @@ -1 +1 @@ -{"gtceu:evaporation_tower":{"order":143}} \ No newline at end of file +{"gtceu:evaporation_tower":{"order":147}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extractor.json b/kubejs/assets/emi/category/properties/gtceu_extractor.json index 9e2143626..561cd7cd5 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extractor.json +++ b/kubejs/assets/emi/category/properties/gtceu_extractor.json @@ -1 +1 @@ -{"gtceu:extractor":{"order":104}} \ No newline at end of file +{"gtceu:extractor":{"order":108}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json index af4723a94..10e45e705 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json @@ -1 +1 @@ -{"gtceu:extractor_recycling":{"order":163}} \ No newline at end of file +{"gtceu:extractor_recycling":{"order":167}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extruder.json b/kubejs/assets/emi/category/properties/gtceu_extruder.json index cad13dc1c..07b29a3f0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extruder.json +++ b/kubejs/assets/emi/category/properties/gtceu_extruder.json @@ -1 +1 @@ -{"gtceu:extruder":{"order":106}} \ No newline at end of file +{"gtceu:extruder":{"order":110}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fermenter.json b/kubejs/assets/emi/category/properties/gtceu_fermenter.json index f72f39ca2..989bb719b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fermenter.json +++ b/kubejs/assets/emi/category/properties/gtceu_fermenter.json @@ -1 +1 @@ -{"gtceu:fermenter":{"order":107}} \ No newline at end of file +{"gtceu:fermenter":{"order":111}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json index 6b2d77d20..66c32ca1f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json @@ -1 +1 @@ -{"gtceu:fission_reactor":{"order":144}} \ No newline at end of file +{"gtceu:fission_reactor":{"order":148}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json b/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json index 6b45f3ae9..e96eb8e6e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json +++ b/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json @@ -1 +1 @@ -{"gtceu:fluid_heater":{"order":108}} \ No newline at end of file +{"gtceu:fluid_heater":{"order":112}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json b/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json index 8cb246b5f..078e47ab8 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json +++ b/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json @@ -1 +1 @@ -{"gtceu:fluid_solidifier":{"order":109}} \ No newline at end of file +{"gtceu:fluid_solidifier":{"order":113}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json b/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json index c8470f99c..537d43377 100644 --- a/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json +++ b/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json @@ -1 +1 @@ -{"gtceu:forge_hammer":{"order":111}} \ No newline at end of file +{"gtceu:forge_hammer":{"order":115}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_forming_press.json b/kubejs/assets/emi/category/properties/gtceu_forming_press.json index 5e78677dc..d8476321e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_forming_press.json +++ b/kubejs/assets/emi/category/properties/gtceu_forming_press.json @@ -1 +1 @@ -{"gtceu:forming_press":{"order":113}} \ No newline at end of file +{"gtceu:forming_press":{"order":117}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json index 0feb3fbad..8f428bf21 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json @@ -1 +1 @@ -{"gtceu:fusion_reactor":{"order":145}} \ No newline at end of file +{"gtceu:fusion_reactor":{"order":149}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_collector.json b/kubejs/assets/emi/category/properties/gtceu_gas_collector.json index 92914839a..84a70e8fd 100644 --- a/kubejs/assets/emi/category/properties/gtceu_gas_collector.json +++ b/kubejs/assets/emi/category/properties/gtceu_gas_collector.json @@ -1 +1 @@ -{"gtceu:gas_collector":{"order":114}} \ No newline at end of file +{"gtceu:gas_collector":{"order":118}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json b/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json index 49a2d7d46..0d9a15d1e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json +++ b/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json @@ -1 +1 @@ -{"gtceu:gas_pressurizer":{"order":115}} \ No newline at end of file +{"gtceu:gas_pressurizer":{"order":119}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json index 68408b958..da1b296a9 100644 --- a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json +++ b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json @@ -1 +1 @@ -{"gtceu:greenhouse":{"order":146}} \ No newline at end of file +{"gtceu:greenhouse":{"order":150}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json index 573b71507..3007de5e5 100644 --- a/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json +++ b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json @@ -1 +1 @@ -{"gtceu:heat_exchanger":{"order":147}} \ No newline at end of file +{"gtceu:heat_exchanger":{"order":151}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json b/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json index 3356a2c95..8e8257483 100644 --- a/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json +++ b/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json @@ -1 +1 @@ -{"gtceu:hydroponics_facility":{"order":148}} \ No newline at end of file +{"gtceu:hydroponics_facility":{"order":152}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json b/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json index 703c8ce4d..2e2308480 100644 --- a/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json +++ b/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json @@ -1 +1 @@ -{"gtceu:implosion_compressor":{"order":149}} \ No newline at end of file +{"gtceu:implosion_compressor":{"order":153}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json b/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json index f4efc2728..95118caa1 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json +++ b/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json @@ -1 +1 @@ -{"gtceu:ingot_molding":{"order":78}} \ No newline at end of file +{"gtceu:ingot_molding":{"order":82}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json b/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json index 40797e778..a21eec930 100644 --- a/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json @@ -1 +1 @@ -{"gtceu:large_chemical_reactor":{"order":94}} \ No newline at end of file +{"gtceu:large_chemical_reactor":{"order":98}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json b/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json index 116f91b70..914996c58 100644 --- a/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json +++ b/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json @@ -1 +1 @@ -{"gtceu:laser_engraver":{"order":117}} \ No newline at end of file +{"gtceu:laser_engraver":{"order":121}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_lathe.json b/kubejs/assets/emi/category/properties/gtceu_lathe.json index 6e35a108d..ccd0df6cd 100644 --- a/kubejs/assets/emi/category/properties/gtceu_lathe.json +++ b/kubejs/assets/emi/category/properties/gtceu_lathe.json @@ -1 +1 @@ -{"gtceu:lathe":{"order":119}} \ No newline at end of file +{"gtceu:lathe":{"order":123}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_macerator.json b/kubejs/assets/emi/category/properties/gtceu_macerator.json index 4441df932..6d351fe92 100644 --- a/kubejs/assets/emi/category/properties/gtceu_macerator.json +++ b/kubejs/assets/emi/category/properties/gtceu_macerator.json @@ -1 +1 @@ -{"gtceu:macerator":{"order":122}} \ No newline at end of file +{"gtceu:macerator":{"order":126}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json index 59cf7d209..215f78308 100644 --- a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json @@ -1 +1 @@ -{"gtceu:macerator_recycling":{"order":162}} \ No newline at end of file +{"gtceu:macerator_recycling":{"order":166}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_mixer.json b/kubejs/assets/emi/category/properties/gtceu_mixer.json index 68776609e..3603ad076 100644 --- a/kubejs/assets/emi/category/properties/gtceu_mixer.json +++ b/kubejs/assets/emi/category/properties/gtceu_mixer.json @@ -1 +1 @@ -{"gtceu:mixer":{"order":124}} \ No newline at end of file +{"gtceu:mixer":{"order":128}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json b/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json index 49f445263..2da9c870b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json +++ b/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json @@ -1 +1 @@ -{"gtceu:moon_dust_harvester":{"order":150}} \ No newline at end of file +{"gtceu:moon_dust_harvester":{"order":154}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json index 449ee0844..26f6f0670 100644 --- a/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json +++ b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json @@ -1 +1 @@ -{"gtceu:nuclear_fuel_factory":{"order":151}} \ No newline at end of file +{"gtceu:nuclear_fuel_factory":{"order":155}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json b/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json index aab36afb1..99a9a0a3d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json @@ -1 +1 @@ -{"gtceu:ore_bathing":{"order":92}} \ No newline at end of file +{"gtceu:ore_bathing":{"order":96}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json b/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json index 63e5ada41..6ef5fae3d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json @@ -1 +1 @@ -{"gtceu:ore_crushing":{"order":123}} \ No newline at end of file +{"gtceu:ore_crushing":{"order":127}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_forging.json b/kubejs/assets/emi/category/properties/gtceu_ore_forging.json index c18dc52b5..ae254eccd 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_forging.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_forging.json @@ -1 +1 @@ -{"gtceu:ore_forging":{"order":112}} \ No newline at end of file +{"gtceu:ore_forging":{"order":116}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_washer.json b/kubejs/assets/emi/category/properties/gtceu_ore_washer.json index 95d8c9ac6..347c3be04 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_washer.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_washer.json @@ -1 +1 @@ -{"gtceu:ore_washer":{"order":126}} \ No newline at end of file +{"gtceu:ore_washer":{"order":130}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json b/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json index 0aec181bf..a5924c92b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json +++ b/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json @@ -1 +1 @@ -{"gtceu:ostrum_harvester":{"order":152}} \ No newline at end of file +{"gtceu:ostrum_harvester":{"order":156}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json b/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json index 959d8f07f..e1edd7b39 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json +++ b/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json @@ -1 +1 @@ -{"gtceu:ostrum_linear_accelerator":{"order":153}} \ No newline at end of file +{"gtceu:ostrum_linear_accelerator":{"order":157}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_packer.json b/kubejs/assets/emi/category/properties/gtceu_packer.json index 286479fa4..315b0880b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_packer.json +++ b/kubejs/assets/emi/category/properties/gtceu_packer.json @@ -1 +1 @@ -{"gtceu:packer":{"order":128}} \ No newline at end of file +{"gtceu:packer":{"order":132}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json b/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json index 23e4660fa..b2ea831dc 100644 --- a/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json +++ b/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json @@ -1 +1 @@ -{"gtceu:pisciculture_fishery":{"order":154}} \ No newline at end of file +{"gtceu:pisciculture_fishery":{"order":158}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json b/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json index dbbbf810b..196d893a6 100644 --- a/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json +++ b/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json @@ -1 +1 @@ -{"gtceu:plasma_generator":{"order":74}} \ No newline at end of file +{"gtceu:plasma_generator":{"order":78}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_polarizer.json b/kubejs/assets/emi/category/properties/gtceu_polarizer.json index bbcbcae74..aec4ea41c 100644 --- a/kubejs/assets/emi/category/properties/gtceu_polarizer.json +++ b/kubejs/assets/emi/category/properties/gtceu_polarizer.json @@ -1 +1 @@ -{"gtceu:polarizer":{"order":129}} \ No newline at end of file +{"gtceu:polarizer":{"order":133}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json index ff8bdb18c..4e90c640e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json +++ b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json @@ -1 +1 @@ -{"gtceu:programmed_circuit":{"order":180}} \ No newline at end of file +{"gtceu:programmed_circuit":{"order":184}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json index 980dc4022..a4284417e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json +++ b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json @@ -1 +1 @@ -{"gtceu:pyrolyse_oven":{"order":155}} \ No newline at end of file +{"gtceu:pyrolyse_oven":{"order":159}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_research_station.json b/kubejs/assets/emi/category/properties/gtceu_research_station.json index fd0c82d6c..f494fc8c0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_research_station.json +++ b/kubejs/assets/emi/category/properties/gtceu_research_station.json @@ -1 +1 @@ -{"gtceu:research_station":{"order":156}} \ No newline at end of file +{"gtceu:research_station":{"order":160}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json b/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json index 509ae0ecd..9a6b621bb 100644 --- a/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json +++ b/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json @@ -1 +1 @@ -{"gtceu:rock_breaker":{"order":130}} \ No newline at end of file +{"gtceu:rock_breaker":{"order":134}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_scanner.json b/kubejs/assets/emi/category/properties/gtceu_scanner.json index c950dea46..94f1af547 100644 --- a/kubejs/assets/emi/category/properties/gtceu_scanner.json +++ b/kubejs/assets/emi/category/properties/gtceu_scanner.json @@ -1 +1 @@ -{"gtceu:scanner":{"order":131}} \ No newline at end of file +{"gtceu:scanner":{"order":135}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_sifter.json b/kubejs/assets/emi/category/properties/gtceu_sifter.json index eafae1c58..4024d327c 100644 --- a/kubejs/assets/emi/category/properties/gtceu_sifter.json +++ b/kubejs/assets/emi/category/properties/gtceu_sifter.json @@ -1 +1 @@ -{"gtceu:sifter":{"order":133}} \ No newline at end of file +{"gtceu:sifter":{"order":137}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_smr_generator.json b/kubejs/assets/emi/category/properties/gtceu_smr_generator.json new file mode 100644 index 000000000..591509c17 --- /dev/null +++ b/kubejs/assets/emi/category/properties/gtceu_smr_generator.json @@ -0,0 +1 @@ +{"gtceu:smr_generator":{"order":73}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json index be7eea57f..f73a0a4e2 100644 --- a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json +++ b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json @@ -1 +1 @@ -{"gtceu:steam_bloomery":{"order":157}} \ No newline at end of file +{"gtceu:steam_bloomery":{"order":161}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json b/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json index 43b1beec0..d3849f903 100644 --- a/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json +++ b/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json @@ -1 +1 @@ -{"gtceu:thermal_centrifuge":{"order":134}} \ No newline at end of file +{"gtceu:thermal_centrifuge":{"order":138}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json index 4cd1bfbf0..0b3a4149a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json +++ b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json @@ -1 +1 @@ -{"gtceu:vacuum_freezer":{"order":158}} \ No newline at end of file +{"gtceu:vacuum_freezer":{"order":162}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json index e29d232d3..f795f97d2 100644 --- a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json +++ b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json @@ -1 +1 @@ -{"gtceu:wire_coating":{"order":159}} \ No newline at end of file +{"gtceu:wire_coating":{"order":163}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_wiremill.json b/kubejs/assets/emi/category/properties/gtceu_wiremill.json index 2108ef64d..d34145767 100644 --- a/kubejs/assets/emi/category/properties/gtceu_wiremill.json +++ b/kubejs/assets/emi/category/properties/gtceu_wiremill.json @@ -1 +1 @@ -{"gtceu:wiremill":{"order":136}} \ No newline at end of file +{"gtceu:wiremill":{"order":140}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_smelting.json b/kubejs/assets/emi/category/properties/minecraft_smelting.json index 134ba08c3..e6b101d1e 100644 --- a/kubejs/assets/emi/category/properties/minecraft_smelting.json +++ b/kubejs/assets/emi/category/properties/minecraft_smelting.json @@ -1 +1 @@ -{"minecraft:smelting":{"order":75}} \ No newline at end of file +{"minecraft:smelting":{"order":79}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_smithing.json b/kubejs/assets/emi/category/properties/minecraft_smithing.json index 333764a49..7709d9312 100644 --- a/kubejs/assets/emi/category/properties/minecraft_smithing.json +++ b/kubejs/assets/emi/category/properties/minecraft_smithing.json @@ -1 +1 @@ -{"minecraft:smithing":{"order":164}} \ No newline at end of file +{"minecraft:smithing":{"order":168}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json index 17ba3a220..ac5db94a5 100644 --- a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json +++ b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json @@ -1 +1 @@ -{"minecraft:stonecutting":{"order":168}} \ No newline at end of file +{"minecraft:stonecutting":{"order":172}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tacz_attachment_query.json b/kubejs/assets/emi/category/properties/tacz_attachment_query.json index 567b7a739..94f3a1348 100644 --- a/kubejs/assets/emi/category/properties/tacz_attachment_query.json +++ b/kubejs/assets/emi/category/properties/tacz_attachment_query.json @@ -1 +1 @@ -{"tacz:attachment_query":{"order":173}} \ No newline at end of file +{"tacz:attachment_query":{"order":177}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json index 0d9de90af..4e2b7d13d 100644 --- a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json +++ b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json @@ -1 +1 @@ -{"taczammoquery:ammo_query":{"order":174}} \ No newline at end of file +{"taczammoquery:ammo_query":{"order":178}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json b/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json index a2fbc0494..d056a8f63 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json @@ -1 +1 @@ -{"vintageimprovements:centrifugation":{"order":88}} \ No newline at end of file +{"vintageimprovements:centrifugation":{"order":92}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json b/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json index 6dcfa2369..037bc40b9 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json @@ -1 +1 @@ -{"vintageimprovements:coiling":{"order":135}} \ No newline at end of file +{"vintageimprovements:coiling":{"order":139}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_curving.json b/kubejs/assets/emi/category/properties/vintageimprovements_curving.json index 38067fe07..72c055815 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_curving.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_curving.json @@ -1 +1 @@ -{"vintageimprovements:curving":{"order":105}} \ No newline at end of file +{"vintageimprovements:curving":{"order":109}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json b/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json index ce8da854e..874a16190 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json @@ -1 +1 @@ -{"vintageimprovements:laser_cutting":{"order":116}} \ No newline at end of file +{"vintageimprovements:laser_cutting":{"order":120}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json b/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json index 1c1632b67..a427bf712 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json @@ -1 +1 @@ -{"vintageimprovements:polishing":{"order":118}} \ No newline at end of file +{"vintageimprovements:polishing":{"order":122}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json b/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json index 883d4cb5b..cc052b686 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json @@ -1 +1 @@ -{"vintageimprovements:pressurizing":{"order":84}} \ No newline at end of file +{"vintageimprovements:pressurizing":{"order":88}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json b/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json index d6209b715..fa19cea38 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json @@ -1 +1 @@ -{"vintageimprovements:vacuumizing":{"order":103}} \ No newline at end of file +{"vintageimprovements:vacuumizing":{"order":107}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json b/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json index 4c10887a4..3c06151d8 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json @@ -1 +1 @@ -{"vintageimprovements:vibrating":{"order":132}} \ No newline at end of file +{"vintageimprovements:vibrating":{"order":136}} \ No newline at end of file diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 874fff8fe..944201e48 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -199,6 +199,7 @@ "gtceu.gas_pressurizer": "Gas Pressurizer", "gtceu.nuclear_fuel_factory": "Nuclear Fuel Factory", "gtceu.nuclear_turbine": "Nuclear Steam Turbine", + "gtceu.cooling_tower": "Nuclear Cooling Tower", "gtceu.heat_exchanger": "Heat Exchanger", "gtceu.fission_reactor": "Fission Reactor", "gtceu.evaporation_tower": "Evaporation Tower", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index b0e3e3b7d..711918258 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1157,6 +1157,7 @@ "item.tfg.californium_252_rod": "Californium Fuel Rod", "item.tfg.depleted_californium_252_rod": "Depleted Californium Fuel Rod", "item.tfg.refrigerant_pellet": "Refrigerant Pellet", + "item.tfg.terrafirmaguard_pa6": "TerraFirmaGuard PA6", "item.tfg.graphite_compound": "Graphite Compound", "item.tfg.raw_graphite_briquette": "Raw Graphite Briquette", "item.tfg.faulty_graphite_briquette": "Faulty Graphite Briquette", @@ -1834,6 +1835,7 @@ "tfg.gui.cycle_duration": "Cycle duration: ", "tfg.emi.bacon_requirement": "Bacon - The Raw Pork must be smoked first", "tag.item.tfg.dried_fruit": "Dried Fruit", + "tfg.clientmessage.spatialioblocked.claimedchunks": "Spatial IO blocked: Region contains chunks claimed by another team", "tfg.nuclear.average_heat.text": "Heat: From %s to %s", "tfg.nuclear.skip": "", "tfg.machine.aux_exchanger.heat.title": "=== Heat Information ===", @@ -2571,7 +2573,7 @@ "quests.extreme_voltage.dense_ostrum_vapor.desc": "The &6Dense Ostrum Vapor&r is required to craft a &cThorium-Uranium Breeder Fuel Rod&r, which you will need to start &eFission&r for power generation; more uses will be added with each new update, so stay tuned.\n\nNote that you can also use it to get more Light Ostrum Vapor if you ever feel the need.", "quests.extreme_voltage.ostrum_vapor.title": "Ostrum Vapor", "quests.extreme_voltage.ostrum_vapor.subtitle": "We really need to chill", - "quests.extreme_voltage.ostrum_vapor.desc": "The first use of &6Ostrum Vapor&r is allowing you to craft &bTerrafirmaguard PA6&r, which you will need to run your &cPlutonium Reactor&r without losing all your &3Tritiated Water&r.\n\nLater, when you unlock &eFission Energy&r and the &aSmall Modular Turbine&r, &dPolyalkylene Lubricant&r becomes an extremely strong asset for producing more power in your isolated outposts.", + "quests.extreme_voltage.ostrum_vapor.desc": "The first use of &6Ostrum Vapor&r is allowing you to craft &bTerraFirmaGuard PA6&r, which you will need to run your &cPlutonium Reactor&r without losing all your &3Tritiated Water&r.\n\nLater, when you unlock &eFission Energy&r and the &aSmall Modular Turbine&r, &dPolyalkylene Lubricant&r becomes an extremely strong asset for producing more power in your isolated outposts.", "quests.extreme_voltage.light_ostrum_vapor.title": "Lightweight Ostrum Vapor", "quests.extreme_voltage.light_ostrum_vapor.subtitle": "Infinite ores?", "quests.extreme_voltage.light_ostrum_vapor.desc": "With the help of &6Lightweight Ostrum Vapor&r, you can begin producing infinite ores, especially those required for the &cFission Line&r. There are three tiers of infinite ores:\n\n&eCircuit 1&r is not self-sufficient but can still be helpful if you are truly tired of mining.\n\n&eCircuit 2&r is &dThorium&r positive, meaning that simply by running your &cFission Line&r, you will produce more &dThorium&r than you consume.\n\n&eCircuit 3&r is the final and best tier, where you generate more resources than are required to produce the ores themselves; you become net positive in &dThorium&r and &aUraninite&r, allowing you to fully automate the &cFission Line&r on &4Mars&r for infinite resources, &bNano CPU&r, and everything needed to run &eFission Energy&r on &2Earth&r.", From 3c6b79adc9bcab6dec6bc67e29c377df19017642 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 15:23:37 +0000 Subject: [PATCH 343/474] fix wrong gurman tags --- .../server_scripts/tfg/food/recipes.food.js | 2 +- kubejs/startup_scripts/tfg/items.js | 68 +++++++++---------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/kubejs/server_scripts/tfg/food/recipes.food.js b/kubejs/server_scripts/tfg/food/recipes.food.js index 74c76a144..66b716e11 100644 --- a/kubejs/server_scripts/tfg/food/recipes.food.js +++ b/kubejs/server_scripts/tfg/food/recipes.food.js @@ -1180,7 +1180,7 @@ function registerTFGFoodRecipes(event) { .duration(60) .EUt(16) - event.shaped('4x tfc:powder/salt', ['A', 'B'], {A: '#forge:dusts/salt', B: '#forge:tools/mortars'}) + event.shapeless('4x tfc:powder/salt', ['#forge:dusts/salt', '#forge:tools/mortars']) .id(`tfg:mortar/salt`) //#endregion diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index fbcfcff39..d8f3d71a1 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -80,19 +80,19 @@ const registerTFGItems = (event) => { event.create('gtceu:rose_quartz_plate').texture('tfg:item/deprecated') // Thanks gurman - event.create('tfc_gurman:raw_margarita_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_margarita_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:margarita_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_pepperoni_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_pepperoni_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:pepperoni_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_hawaiian_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_hawaiian_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:hawaiian_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_four_cheeses_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_four_cheeses_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:four_cheeses_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_four_meats_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_four_meats_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:four_meats_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_neapolitano_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_neapolitano_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:neapolitano_pizza').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_placinda').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_placinda').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:placinda').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:ramen_with_bacon').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:ramen_with_beef').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); @@ -107,15 +107,15 @@ const registerTFGItems = (event) => { event.create('tfc_gurman:pasta_with_adjika').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:zama').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:mamaliga').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:ox_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); - event.create('tfc_gurman:sheep_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); - event.create('tfc_gurman:alpaca_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:ox_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:sheep_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:alpaca_curd').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:ox_brinza_slice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:sheep_brinza_slice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:alpaca_brinza_slice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:ox_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); - event.create('tfc_gurman:sheep_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); - event.create('tfc_gurman:alpaca_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:ox_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:sheep_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:alpaca_brinza_wheel').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:fried_rice').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:curry').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:pho').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); @@ -126,53 +126,53 @@ const registerTFGItems = (event) => { event.create('tfc_gurman:dolma').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:goulash').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:risotto').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_lavash_wrap').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_lavash_wrap').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:lavash_wrap').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_pelmeni').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_pelmeni').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:pelmeni').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_vareniki').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_vareniki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:vareniki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_oladyi').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_oladyi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:oladyi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_syrniki').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_syrniki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:syrniki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:sliced_cabbage').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:sliced_cabbage').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:sauerkraut').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_khachapuri').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_khachapuri').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:khachapuri').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_chebureki').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_chebureki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:chebureki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:dried_mint_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); - event.create('tfc_gurman:dried_chamomile_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); - event.create('tfc_gurman:dried_rosehip_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); - event.create('tfc_gurman:dried_nettle_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:dried_mint_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:dried_chamomile_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:dried_rosehip_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); + event.create('tfc_gurman:dried_nettle_leaves').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:borscht').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:schi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:solyanka').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_kiev_cutlets').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_kiev_cutlets').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:kiev_cutlets').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:okroshka').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:spaghetti_bolognese').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:pasta_carbonara').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:tiramisu').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_croissants').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_croissants').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:croissants').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:ratatouille').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_quiche').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_quiche').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:quiche').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:bouillabaisse').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_crepes').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_crepes').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:crepes').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_bratwurst').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_bratwurst').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:bratwurst').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_tonkatsu').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_tonkatsu').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:tonkatsu').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_takoyaki').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_takoyaki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:takoyaki').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:kimchi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_bulgogi').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_bulgogi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:bulgogi').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); - event.create('tfc_gurman:raw_tandoori_chicken').texture('tfg:item/deprecated').tag('tfc_gourmet:old_cooked_foods'); + event.create('tfc_gurman:raw_tandoori_chicken').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:tandoori_chicken').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:biryani').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); event.create('tfc_gurman:fresh_onion_soup_bread').texture('tfg:item/deprecated').tag('tfc_gourmet:deprecated_foods'); From b5bbce607caf74d3f124f9058f65396c4152a2f6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 15:25:42 +0000 Subject: [PATCH 344/474] emi again --- kubejs/assets/emi/category/properties/ae2_condenser.json | 2 +- kubejs/assets/emi/category/properties/ae2_p2p_attunement.json | 2 +- kubejs/assets/emi/category/properties/create_draining.json | 2 +- kubejs/assets/emi/category/properties/create_spout_filling.json | 2 +- .../assets/emi/category/properties/createaddition_rolling.json | 2 +- .../assets/emi/category/properties/deafission_component_fr.json | 2 +- .../assets/emi/category/properties/deafission_component_hb.json | 2 +- .../properties/deafission_fission_reactor_coolant_smr.json | 1 + kubejs/assets/emi/category/properties/deafission_hb_export.json | 2 +- kubejs/assets/emi/category/properties/deafission_hb_import.json | 2 +- .../emi/category/properties/diggerhelmet_helmet_repair.json | 2 +- .../category/properties/domum_ornamentum_architects_cutter.json | 2 +- kubejs/assets/emi/category/properties/emi_info.json | 2 +- kubejs/assets/emi/category/properties/emi_tag.json | 2 +- .../emi/category/properties/exposure_photograph_printing.json | 2 +- .../emi/category/properties/exposure_photograph_stacking.json | 2 +- .../emi/category/properties/framedblocks_framing_saw.json | 2 +- .../emi/category/properties/greate_automatic_packing.json | 2 +- .../assets/emi/category/properties/greate_automatic_shaped.json | 2 +- .../emi/category/properties/greate_automatic_shapeless.json | 2 +- kubejs/assets/emi/category/properties/greate_block_cutting.json | 2 +- kubejs/assets/emi/category/properties/greate_crushing.json | 2 +- kubejs/assets/emi/category/properties/greate_fan_washing.json | 2 +- kubejs/assets/emi/category/properties/greate_milling.json | 2 +- kubejs/assets/emi/category/properties/greate_mixing.json | 2 +- kubejs/assets/emi/category/properties/greate_pressing.json | 2 +- kubejs/assets/emi/category/properties/greate_sawing.json | 2 +- kubejs/assets/emi/category/properties/gtceu_air_scrubber.json | 2 +- .../emi/category/properties/gtceu_alloy_blast_smelter.json | 2 +- kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json | 2 +- .../emi/category/properties/gtceu_aqueous_accumulator.json | 2 +- kubejs/assets/emi/category/properties/gtceu_arc_furnace.json | 2 +- .../emi/category/properties/gtceu_arc_furnace_recycling.json | 2 +- kubejs/assets/emi/category/properties/gtceu_assembler.json | 2 +- kubejs/assets/emi/category/properties/gtceu_assembly_line.json | 2 +- kubejs/assets/emi/category/properties/gtceu_autoclave.json | 2 +- kubejs/assets/emi/category/properties/gtceu_bender.json | 2 +- kubejs/assets/emi/category/properties/gtceu_bioreactor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_brewery.json | 2 +- kubejs/assets/emi/category/properties/gtceu_canner.json | 2 +- kubejs/assets/emi/category/properties/gtceu_centrifuge.json | 2 +- kubejs/assets/emi/category/properties/gtceu_chem_dyes.json | 2 +- kubejs/assets/emi/category/properties/gtceu_chemical_bath.json | 2 +- .../assets/emi/category/properties/gtceu_chemical_reactor.json | 2 +- .../assets/emi/category/properties/gtceu_circuit_assembler.json | 2 +- .../emi/category/properties/gtceu_coal_liquefaction_tower.json | 2 +- kubejs/assets/emi/category/properties/gtceu_compressor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_cracker.json | 2 +- kubejs/assets/emi/category/properties/gtceu_cutter.json | 2 +- .../emi/category/properties/gtceu_distillation_tower.json | 2 +- kubejs/assets/emi/category/properties/gtceu_distillery.json | 2 +- .../emi/category/properties/gtceu_electric_blast_furnace.json | 2 +- kubejs/assets/emi/category/properties/gtceu_electrolyzer.json | 2 +- .../category/properties/gtceu_electromagnetic_separator.json | 2 +- .../assets/emi/category/properties/gtceu_evaporation_tower.json | 2 +- kubejs/assets/emi/category/properties/gtceu_extractor.json | 2 +- .../emi/category/properties/gtceu_extractor_recycling.json | 2 +- kubejs/assets/emi/category/properties/gtceu_extruder.json | 2 +- kubejs/assets/emi/category/properties/gtceu_fermenter.json | 2 +- .../assets/emi/category/properties/gtceu_fission_reactor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_fluid_heater.json | 2 +- .../assets/emi/category/properties/gtceu_fluid_solidifier.json | 2 +- kubejs/assets/emi/category/properties/gtceu_forge_hammer.json | 2 +- kubejs/assets/emi/category/properties/gtceu_forming_press.json | 2 +- kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_gas_collector.json | 2 +- .../assets/emi/category/properties/gtceu_gas_pressurizer.json | 2 +- kubejs/assets/emi/category/properties/gtceu_greenhouse.json | 2 +- kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json | 2 +- .../emi/category/properties/gtceu_hydroponics_facility.json | 2 +- .../emi/category/properties/gtceu_implosion_compressor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ingot_molding.json | 2 +- .../emi/category/properties/gtceu_large_chemical_reactor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_laser_engraver.json | 2 +- kubejs/assets/emi/category/properties/gtceu_lathe.json | 2 +- kubejs/assets/emi/category/properties/gtceu_macerator.json | 2 +- .../emi/category/properties/gtceu_macerator_recycling.json | 2 +- kubejs/assets/emi/category/properties/gtceu_mixer.json | 2 +- .../emi/category/properties/gtceu_moon_dust_harvester.json | 2 +- .../emi/category/properties/gtceu_nuclear_fuel_factory.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ore_bathing.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ore_crushing.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ore_forging.json | 2 +- kubejs/assets/emi/category/properties/gtceu_ore_washer.json | 2 +- .../assets/emi/category/properties/gtceu_ostrum_harvester.json | 2 +- .../category/properties/gtceu_ostrum_linear_accelerator.json | 2 +- kubejs/assets/emi/category/properties/gtceu_packer.json | 2 +- .../emi/category/properties/gtceu_pisciculture_fishery.json | 2 +- .../assets/emi/category/properties/gtceu_plasma_generator.json | 2 +- kubejs/assets/emi/category/properties/gtceu_polarizer.json | 2 +- .../emi/category/properties/gtceu_programmed_circuit.json | 2 +- kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json | 2 +- .../assets/emi/category/properties/gtceu_research_station.json | 2 +- kubejs/assets/emi/category/properties/gtceu_rock_breaker.json | 2 +- kubejs/assets/emi/category/properties/gtceu_scanner.json | 2 +- kubejs/assets/emi/category/properties/gtceu_sifter.json | 2 +- kubejs/assets/emi/category/properties/gtceu_smr_generator.json | 2 +- kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json | 2 +- .../emi/category/properties/gtceu_thermal_centrifuge.json | 2 +- kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json | 2 +- kubejs/assets/emi/category/properties/gtceu_wire_coating.json | 2 +- kubejs/assets/emi/category/properties/gtceu_wiremill.json | 2 +- kubejs/assets/emi/category/properties/minecraft_smelting.json | 2 +- kubejs/assets/emi/category/properties/minecraft_smithing.json | 2 +- .../assets/emi/category/properties/minecraft_stonecutting.json | 2 +- .../assets/emi/category/properties/tacz_attachment_query.json | 2 +- .../emi/category/properties/taczammoquery_ammo_query.json | 2 +- .../category/properties/vintageimprovements_centrifugation.json | 2 +- .../emi/category/properties/vintageimprovements_coiling.json | 2 +- .../emi/category/properties/vintageimprovements_curving.json | 2 +- .../category/properties/vintageimprovements_laser_cutting.json | 2 +- .../emi/category/properties/vintageimprovements_polishing.json | 2 +- .../category/properties/vintageimprovements_pressurizing.json | 2 +- .../category/properties/vintageimprovements_vacuumizing.json | 2 +- .../emi/category/properties/vintageimprovements_vibrating.json | 2 +- 115 files changed, 115 insertions(+), 114 deletions(-) create mode 100644 kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant_smr.json diff --git a/kubejs/assets/emi/category/properties/ae2_condenser.json b/kubejs/assets/emi/category/properties/ae2_condenser.json index 2a88e6aa9..6d793d7a9 100644 --- a/kubejs/assets/emi/category/properties/ae2_condenser.json +++ b/kubejs/assets/emi/category/properties/ae2_condenser.json @@ -1 +1 @@ -{"ae2:condenser":{"order":164}} \ No newline at end of file +{"ae2:condenser":{"order":165}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json b/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json index f2f488c61..144701206 100644 --- a/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json +++ b/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json @@ -1 +1 @@ -{"ae2:p2p_attunement":{"order":176}} \ No newline at end of file +{"ae2:p2p_attunement":{"order":177}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_draining.json b/kubejs/assets/emi/category/properties/create_draining.json index a68239477..57751beb1 100644 --- a/kubejs/assets/emi/category/properties/create_draining.json +++ b/kubejs/assets/emi/category/properties/create_draining.json @@ -1 +1 @@ -{"create:draining":{"order":179}} \ No newline at end of file +{"create:draining":{"order":180}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/create_spout_filling.json b/kubejs/assets/emi/category/properties/create_spout_filling.json index 76a64a02a..a1245f2ca 100644 --- a/kubejs/assets/emi/category/properties/create_spout_filling.json +++ b/kubejs/assets/emi/category/properties/create_spout_filling.json @@ -1 +1 @@ -{"create:spout_filling":{"order":180}} \ No newline at end of file +{"create:spout_filling":{"order":181}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/createaddition_rolling.json b/kubejs/assets/emi/category/properties/createaddition_rolling.json index 701dd43df..a6981b0d3 100644 --- a/kubejs/assets/emi/category/properties/createaddition_rolling.json +++ b/kubejs/assets/emi/category/properties/createaddition_rolling.json @@ -1 +1 @@ -{"createaddition:rolling":{"order":87}} \ No newline at end of file +{"createaddition:rolling":{"order":88}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_component_fr.json b/kubejs/assets/emi/category/properties/deafission_component_fr.json index 241c80cc6..a31c0142e 100644 --- a/kubejs/assets/emi/category/properties/deafission_component_fr.json +++ b/kubejs/assets/emi/category/properties/deafission_component_fr.json @@ -1 +1 @@ -{"deafission:component_fr":{"order":74}} \ No newline at end of file +{"deafission:component_fr":{"order":73}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_component_hb.json b/kubejs/assets/emi/category/properties/deafission_component_hb.json index 26c6710ab..6fe0382cc 100644 --- a/kubejs/assets/emi/category/properties/deafission_component_hb.json +++ b/kubejs/assets/emi/category/properties/deafission_component_hb.json @@ -1 +1 @@ -{"deafission:component_hb":{"order":75}} \ No newline at end of file +{"deafission:component_hb":{"order":76}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant_smr.json b/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant_smr.json new file mode 100644 index 000000000..8a055828e --- /dev/null +++ b/kubejs/assets/emi/category/properties/deafission_fission_reactor_coolant_smr.json @@ -0,0 +1 @@ +{"deafission:fission_reactor_coolant_smr":{"order":75}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_hb_export.json b/kubejs/assets/emi/category/properties/deafission_hb_export.json index bfbb533f0..4f0921b66 100644 --- a/kubejs/assets/emi/category/properties/deafission_hb_export.json +++ b/kubejs/assets/emi/category/properties/deafission_hb_export.json @@ -1 +1 @@ -{"deafission:hb_export":{"order":77}} \ No newline at end of file +{"deafission:hb_export":{"order":78}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/deafission_hb_import.json b/kubejs/assets/emi/category/properties/deafission_hb_import.json index bbccd21d3..ce94329b8 100644 --- a/kubejs/assets/emi/category/properties/deafission_hb_import.json +++ b/kubejs/assets/emi/category/properties/deafission_hb_import.json @@ -1 +1 @@ -{"deafission:hb_import":{"order":76}} \ No newline at end of file +{"deafission:hb_import":{"order":77}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json b/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json index beeabcd62..1b882038b 100644 --- a/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json +++ b/kubejs/assets/emi/category/properties/diggerhelmet_helmet_repair.json @@ -1 +1 @@ -{"diggerhelmet:helmet_repair":{"order":171}} \ No newline at end of file +{"diggerhelmet:helmet_repair":{"order":172}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json index c9b814f2e..07efe08f4 100644 --- a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json +++ b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json @@ -1 +1 @@ -{"domum_ornamentum:architects_cutter":{"order":175}} \ No newline at end of file +{"domum_ornamentum:architects_cutter":{"order":176}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/emi_info.json b/kubejs/assets/emi/category/properties/emi_info.json index a91984d00..3416b5a87 100644 --- a/kubejs/assets/emi/category/properties/emi_info.json +++ b/kubejs/assets/emi/category/properties/emi_info.json @@ -1 +1 @@ -{"emi:info":{"order":185}} \ No newline at end of file +{"emi:info":{"order":186}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/emi_tag.json b/kubejs/assets/emi/category/properties/emi_tag.json index 0d21b766a..08545f84c 100644 --- a/kubejs/assets/emi/category/properties/emi_tag.json +++ b/kubejs/assets/emi/category/properties/emi_tag.json @@ -1 +1 @@ -{"emi:tag":{"order":186}} \ No newline at end of file +{"emi:tag":{"order":187}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json index cf4a0fb5e..8ffd17bc0 100644 --- a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json +++ b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json @@ -1 +1 @@ -{"exposure:photograph_printing":{"order":169}} \ No newline at end of file +{"exposure:photograph_printing":{"order":170}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json index cb039cc1e..ff12d914c 100644 --- a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json +++ b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json @@ -1 +1 @@ -{"exposure:photograph_stacking":{"order":170}} \ No newline at end of file +{"exposure:photograph_stacking":{"order":171}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json index 8e82debe5..3b7a0b11e 100644 --- a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json +++ b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json @@ -1 +1 @@ -{"framedblocks:framing_saw":{"order":174}} \ No newline at end of file +{"framedblocks:framing_saw":{"order":175}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_packing.json b/kubejs/assets/emi/category/properties/greate_automatic_packing.json index eabbb0b7d..0d39e8a77 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_packing.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_packing.json @@ -1 +1 @@ -{"greate:automatic_packing":{"order":183}} \ No newline at end of file +{"greate:automatic_packing":{"order":184}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json index 616a8e54a..0837dfed8 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json @@ -1 +1 @@ -{"greate:automatic_shaped":{"order":181}} \ No newline at end of file +{"greate:automatic_shaped":{"order":182}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json index 3cf6ecbb8..bf0202360 100644 --- a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json +++ b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json @@ -1 +1 @@ -{"greate:automatic_shapeless":{"order":182}} \ No newline at end of file +{"greate:automatic_shapeless":{"order":183}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_block_cutting.json b/kubejs/assets/emi/category/properties/greate_block_cutting.json index fd3bf6618..a169ad942 100644 --- a/kubejs/assets/emi/category/properties/greate_block_cutting.json +++ b/kubejs/assets/emi/category/properties/greate_block_cutting.json @@ -1 +1 @@ -{"greate:block_cutting":{"order":173}} \ No newline at end of file +{"greate:block_cutting":{"order":174}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_crushing.json b/kubejs/assets/emi/category/properties/greate_crushing.json index 3a574ff33..bf8a5f071 100644 --- a/kubejs/assets/emi/category/properties/greate_crushing.json +++ b/kubejs/assets/emi/category/properties/greate_crushing.json @@ -1 +1 @@ -{"greate:crushing":{"order":125}} \ No newline at end of file +{"greate:crushing":{"order":126}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_fan_washing.json b/kubejs/assets/emi/category/properties/greate_fan_washing.json index 8883f8376..666937c38 100644 --- a/kubejs/assets/emi/category/properties/greate_fan_washing.json +++ b/kubejs/assets/emi/category/properties/greate_fan_washing.json @@ -1 +1 @@ -{"greate:fan_washing":{"order":131}} \ No newline at end of file +{"greate:fan_washing":{"order":132}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_milling.json b/kubejs/assets/emi/category/properties/greate_milling.json index 78992a198..1f125ce31 100644 --- a/kubejs/assets/emi/category/properties/greate_milling.json +++ b/kubejs/assets/emi/category/properties/greate_milling.json @@ -1 +1 @@ -{"greate:milling":{"order":124}} \ No newline at end of file +{"greate:milling":{"order":125}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_mixing.json b/kubejs/assets/emi/category/properties/greate_mixing.json index d3e607380..ca5f932ac 100644 --- a/kubejs/assets/emi/category/properties/greate_mixing.json +++ b/kubejs/assets/emi/category/properties/greate_mixing.json @@ -1 +1 @@ -{"greate:mixing":{"order":129}} \ No newline at end of file +{"greate:mixing":{"order":130}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_pressing.json b/kubejs/assets/emi/category/properties/greate_pressing.json index 1d16a8f28..4508b0399 100644 --- a/kubejs/assets/emi/category/properties/greate_pressing.json +++ b/kubejs/assets/emi/category/properties/greate_pressing.json @@ -1 +1 @@ -{"greate:pressing":{"order":114}} \ No newline at end of file +{"greate:pressing":{"order":115}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/greate_sawing.json b/kubejs/assets/emi/category/properties/greate_sawing.json index 11b327ba2..3c7f64bf2 100644 --- a/kubejs/assets/emi/category/properties/greate_sawing.json +++ b/kubejs/assets/emi/category/properties/greate_sawing.json @@ -1 +1 @@ -{"greate:sawing":{"order":101}} \ No newline at end of file +{"greate:sawing":{"order":102}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json b/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json index ef25348e0..10abeaa89 100644 --- a/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json +++ b/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json @@ -1 +1 @@ -{"gtceu:air_scrubber":{"order":80}} \ No newline at end of file +{"gtceu:air_scrubber":{"order":81}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json b/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json index 8fdc5624b..15bd8683a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json +++ b/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json @@ -1 +1 @@ -{"gtceu:alloy_blast_smelter":{"order":141}} \ No newline at end of file +{"gtceu:alloy_blast_smelter":{"order":142}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json b/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json index 128213141..463b0b972 100644 --- a/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json +++ b/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json @@ -1 +1 @@ -{"gtceu:alloy_smelter":{"order":81}} \ No newline at end of file +{"gtceu:alloy_smelter":{"order":82}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json b/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json index 8a11bcfb8..25dd363dc 100644 --- a/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json +++ b/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json @@ -1 +1 @@ -{"gtceu:aqueous_accumulator":{"order":83}} \ No newline at end of file +{"gtceu:aqueous_accumulator":{"order":84}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json b/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json index 7dbfb0a91..b472adc38 100644 --- a/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json +++ b/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json @@ -1 +1 @@ -{"gtceu:arc_furnace":{"order":84}} \ No newline at end of file +{"gtceu:arc_furnace":{"order":85}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json index f6a2a9514..997b4841c 100644 --- a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json @@ -1 +1 @@ -{"gtceu:arc_furnace_recycling":{"order":165}} \ No newline at end of file +{"gtceu:arc_furnace_recycling":{"order":166}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_assembler.json b/kubejs/assets/emi/category/properties/gtceu_assembler.json index 900e31bc2..d8025a7bd 100644 --- a/kubejs/assets/emi/category/properties/gtceu_assembler.json +++ b/kubejs/assets/emi/category/properties/gtceu_assembler.json @@ -1 +1 @@ -{"gtceu:assembler":{"order":85}} \ No newline at end of file +{"gtceu:assembler":{"order":86}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_assembly_line.json b/kubejs/assets/emi/category/properties/gtceu_assembly_line.json index 1977efa4e..280a75cd6 100644 --- a/kubejs/assets/emi/category/properties/gtceu_assembly_line.json +++ b/kubejs/assets/emi/category/properties/gtceu_assembly_line.json @@ -1 +1 @@ -{"gtceu:assembly_line":{"order":142}} \ No newline at end of file +{"gtceu:assembly_line":{"order":143}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_autoclave.json b/kubejs/assets/emi/category/properties/gtceu_autoclave.json index 77de45bc4..4e80ee6b5 100644 --- a/kubejs/assets/emi/category/properties/gtceu_autoclave.json +++ b/kubejs/assets/emi/category/properties/gtceu_autoclave.json @@ -1 +1 @@ -{"gtceu:autoclave":{"order":86}} \ No newline at end of file +{"gtceu:autoclave":{"order":87}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_bender.json b/kubejs/assets/emi/category/properties/gtceu_bender.json index 89a87002f..8b572933d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_bender.json +++ b/kubejs/assets/emi/category/properties/gtceu_bender.json @@ -1 +1 @@ -{"gtceu:bender":{"order":89}} \ No newline at end of file +{"gtceu:bender":{"order":90}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_bioreactor.json b/kubejs/assets/emi/category/properties/gtceu_bioreactor.json index 1568b9c72..53579c632 100644 --- a/kubejs/assets/emi/category/properties/gtceu_bioreactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_bioreactor.json @@ -1 +1 @@ -{"gtceu:bioreactor":{"order":143}} \ No newline at end of file +{"gtceu:bioreactor":{"order":144}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_brewery.json b/kubejs/assets/emi/category/properties/gtceu_brewery.json index fa782ae3a..ab2cc4e21 100644 --- a/kubejs/assets/emi/category/properties/gtceu_brewery.json +++ b/kubejs/assets/emi/category/properties/gtceu_brewery.json @@ -1 +1 @@ -{"gtceu:brewery":{"order":90}} \ No newline at end of file +{"gtceu:brewery":{"order":91}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_canner.json b/kubejs/assets/emi/category/properties/gtceu_canner.json index 2b3c6695a..144df42ea 100644 --- a/kubejs/assets/emi/category/properties/gtceu_canner.json +++ b/kubejs/assets/emi/category/properties/gtceu_canner.json @@ -1 +1 @@ -{"gtceu:canner":{"order":91}} \ No newline at end of file +{"gtceu:canner":{"order":92}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_centrifuge.json b/kubejs/assets/emi/category/properties/gtceu_centrifuge.json index 8b9920a82..702ec374e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_centrifuge.json +++ b/kubejs/assets/emi/category/properties/gtceu_centrifuge.json @@ -1 +1 @@ -{"gtceu:centrifuge":{"order":93}} \ No newline at end of file +{"gtceu:centrifuge":{"order":94}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json b/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json index 13c56fd39..6f6192cbd 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json +++ b/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json @@ -1 +1 @@ -{"gtceu:chem_dyes":{"order":95}} \ No newline at end of file +{"gtceu:chem_dyes":{"order":96}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json b/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json index 1d5d87c8a..fe711cc74 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json +++ b/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json @@ -1 +1 @@ -{"gtceu:chemical_bath":{"order":94}} \ No newline at end of file +{"gtceu:chemical_bath":{"order":95}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json b/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json index d7ad7a4e7..55b471812 100644 --- a/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json @@ -1 +1 @@ -{"gtceu:chemical_reactor":{"order":97}} \ No newline at end of file +{"gtceu:chemical_reactor":{"order":98}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json b/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json index 15297e519..70c07ce3b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json +++ b/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json @@ -1 +1 @@ -{"gtceu:circuit_assembler":{"order":99}} \ No newline at end of file +{"gtceu:circuit_assembler":{"order":100}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json b/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json index 558681cc0..57eadfa61 100644 --- a/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json @@ -1 +1 @@ -{"gtceu:coal_liquefaction_tower":{"order":144}} \ No newline at end of file +{"gtceu:coal_liquefaction_tower":{"order":145}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_compressor.json b/kubejs/assets/emi/category/properties/gtceu_compressor.json index 26300f3a0..939dd6cc7 100644 --- a/kubejs/assets/emi/category/properties/gtceu_compressor.json +++ b/kubejs/assets/emi/category/properties/gtceu_compressor.json @@ -1 +1 @@ -{"gtceu:compressor":{"order":100}} \ No newline at end of file +{"gtceu:compressor":{"order":101}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_cracker.json b/kubejs/assets/emi/category/properties/gtceu_cracker.json index 9f0e04d1f..ad6b1e88e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_cracker.json +++ b/kubejs/assets/emi/category/properties/gtceu_cracker.json @@ -1 +1 @@ -{"gtceu:cracker":{"order":145}} \ No newline at end of file +{"gtceu:cracker":{"order":146}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_cutter.json b/kubejs/assets/emi/category/properties/gtceu_cutter.json index 3a3b05441..2cd4c8d25 100644 --- a/kubejs/assets/emi/category/properties/gtceu_cutter.json +++ b/kubejs/assets/emi/category/properties/gtceu_cutter.json @@ -1 +1 @@ -{"gtceu:cutter":{"order":102}} \ No newline at end of file +{"gtceu:cutter":{"order":103}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json b/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json index 6148bcd24..678dd900a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json @@ -1 +1 @@ -{"gtceu:distillation_tower":{"order":104}} \ No newline at end of file +{"gtceu:distillation_tower":{"order":105}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_distillery.json b/kubejs/assets/emi/category/properties/gtceu_distillery.json index eeebfbb7d..b2cc1385d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_distillery.json +++ b/kubejs/assets/emi/category/properties/gtceu_distillery.json @@ -1 +1 @@ -{"gtceu:distillery":{"order":103}} \ No newline at end of file +{"gtceu:distillery":{"order":104}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json b/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json index 272066ae2..ca5c2f3a9 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json +++ b/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json @@ -1 +1 @@ -{"gtceu:electric_blast_furnace":{"order":146}} \ No newline at end of file +{"gtceu:electric_blast_furnace":{"order":147}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json b/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json index d54519044..bdc026e07 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json +++ b/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json @@ -1 +1 @@ -{"gtceu:electrolyzer":{"order":105}} \ No newline at end of file +{"gtceu:electrolyzer":{"order":106}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json b/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json index bac9ee3ae..d0395585b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json +++ b/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json @@ -1 +1 @@ -{"gtceu:electromagnetic_separator":{"order":106}} \ No newline at end of file +{"gtceu:electromagnetic_separator":{"order":107}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json b/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json index 822775ed1..489f2125d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json +++ b/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json @@ -1 +1 @@ -{"gtceu:evaporation_tower":{"order":147}} \ No newline at end of file +{"gtceu:evaporation_tower":{"order":148}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extractor.json b/kubejs/assets/emi/category/properties/gtceu_extractor.json index 561cd7cd5..e4cd3af52 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extractor.json +++ b/kubejs/assets/emi/category/properties/gtceu_extractor.json @@ -1 +1 @@ -{"gtceu:extractor":{"order":108}} \ No newline at end of file +{"gtceu:extractor":{"order":109}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json index 10e45e705..108124baa 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json @@ -1 +1 @@ -{"gtceu:extractor_recycling":{"order":167}} \ No newline at end of file +{"gtceu:extractor_recycling":{"order":168}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_extruder.json b/kubejs/assets/emi/category/properties/gtceu_extruder.json index 07b29a3f0..d6a9cc44f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extruder.json +++ b/kubejs/assets/emi/category/properties/gtceu_extruder.json @@ -1 +1 @@ -{"gtceu:extruder":{"order":110}} \ No newline at end of file +{"gtceu:extruder":{"order":111}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fermenter.json b/kubejs/assets/emi/category/properties/gtceu_fermenter.json index 989bb719b..eeb25baed 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fermenter.json +++ b/kubejs/assets/emi/category/properties/gtceu_fermenter.json @@ -1 +1 @@ -{"gtceu:fermenter":{"order":111}} \ No newline at end of file +{"gtceu:fermenter":{"order":112}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json index 66c32ca1f..2e30a0629 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json @@ -1 +1 @@ -{"gtceu:fission_reactor":{"order":148}} \ No newline at end of file +{"gtceu:fission_reactor":{"order":149}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json b/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json index e96eb8e6e..9e2f560c6 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json +++ b/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json @@ -1 +1 @@ -{"gtceu:fluid_heater":{"order":112}} \ No newline at end of file +{"gtceu:fluid_heater":{"order":113}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json b/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json index 078e47ab8..1c1aa3f61 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json +++ b/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json @@ -1 +1 @@ -{"gtceu:fluid_solidifier":{"order":113}} \ No newline at end of file +{"gtceu:fluid_solidifier":{"order":114}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json b/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json index 537d43377..0960dd3eb 100644 --- a/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json +++ b/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json @@ -1 +1 @@ -{"gtceu:forge_hammer":{"order":115}} \ No newline at end of file +{"gtceu:forge_hammer":{"order":116}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_forming_press.json b/kubejs/assets/emi/category/properties/gtceu_forming_press.json index d8476321e..7bef3bd74 100644 --- a/kubejs/assets/emi/category/properties/gtceu_forming_press.json +++ b/kubejs/assets/emi/category/properties/gtceu_forming_press.json @@ -1 +1 @@ -{"gtceu:forming_press":{"order":117}} \ No newline at end of file +{"gtceu:forming_press":{"order":118}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json index 8f428bf21..01440a9e9 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json @@ -1 +1 @@ -{"gtceu:fusion_reactor":{"order":149}} \ No newline at end of file +{"gtceu:fusion_reactor":{"order":150}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_collector.json b/kubejs/assets/emi/category/properties/gtceu_gas_collector.json index 84a70e8fd..dba3edbe9 100644 --- a/kubejs/assets/emi/category/properties/gtceu_gas_collector.json +++ b/kubejs/assets/emi/category/properties/gtceu_gas_collector.json @@ -1 +1 @@ -{"gtceu:gas_collector":{"order":118}} \ No newline at end of file +{"gtceu:gas_collector":{"order":119}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json b/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json index 0d9a15d1e..b838b4b30 100644 --- a/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json +++ b/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json @@ -1 +1 @@ -{"gtceu:gas_pressurizer":{"order":119}} \ No newline at end of file +{"gtceu:gas_pressurizer":{"order":120}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json index da1b296a9..6886aa56e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json +++ b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json @@ -1 +1 @@ -{"gtceu:greenhouse":{"order":150}} \ No newline at end of file +{"gtceu:greenhouse":{"order":151}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json index 3007de5e5..09c6ddca7 100644 --- a/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json +++ b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json @@ -1 +1 @@ -{"gtceu:heat_exchanger":{"order":151}} \ No newline at end of file +{"gtceu:heat_exchanger":{"order":152}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json b/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json index 8e8257483..b44431281 100644 --- a/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json +++ b/kubejs/assets/emi/category/properties/gtceu_hydroponics_facility.json @@ -1 +1 @@ -{"gtceu:hydroponics_facility":{"order":152}} \ No newline at end of file +{"gtceu:hydroponics_facility":{"order":153}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json b/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json index 2e2308480..2882e3981 100644 --- a/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json +++ b/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json @@ -1 +1 @@ -{"gtceu:implosion_compressor":{"order":153}} \ No newline at end of file +{"gtceu:implosion_compressor":{"order":154}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json b/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json index 95118caa1..823e59c0f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json +++ b/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json @@ -1 +1 @@ -{"gtceu:ingot_molding":{"order":82}} \ No newline at end of file +{"gtceu:ingot_molding":{"order":83}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json b/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json index a21eec930..73b5dbb07 100644 --- a/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json +++ b/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json @@ -1 +1 @@ -{"gtceu:large_chemical_reactor":{"order":98}} \ No newline at end of file +{"gtceu:large_chemical_reactor":{"order":99}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json b/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json index 914996c58..52c58b778 100644 --- a/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json +++ b/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json @@ -1 +1 @@ -{"gtceu:laser_engraver":{"order":121}} \ No newline at end of file +{"gtceu:laser_engraver":{"order":122}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_lathe.json b/kubejs/assets/emi/category/properties/gtceu_lathe.json index ccd0df6cd..0d1a89e1d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_lathe.json +++ b/kubejs/assets/emi/category/properties/gtceu_lathe.json @@ -1 +1 @@ -{"gtceu:lathe":{"order":123}} \ No newline at end of file +{"gtceu:lathe":{"order":124}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_macerator.json b/kubejs/assets/emi/category/properties/gtceu_macerator.json index 6d351fe92..2640912fa 100644 --- a/kubejs/assets/emi/category/properties/gtceu_macerator.json +++ b/kubejs/assets/emi/category/properties/gtceu_macerator.json @@ -1 +1 @@ -{"gtceu:macerator":{"order":126}} \ No newline at end of file +{"gtceu:macerator":{"order":127}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json index 215f78308..ea2f4ad33 100644 --- a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json +++ b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json @@ -1 +1 @@ -{"gtceu:macerator_recycling":{"order":166}} \ No newline at end of file +{"gtceu:macerator_recycling":{"order":167}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_mixer.json b/kubejs/assets/emi/category/properties/gtceu_mixer.json index 3603ad076..93b8ba65d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_mixer.json +++ b/kubejs/assets/emi/category/properties/gtceu_mixer.json @@ -1 +1 @@ -{"gtceu:mixer":{"order":128}} \ No newline at end of file +{"gtceu:mixer":{"order":129}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json b/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json index 2da9c870b..32bac591a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json +++ b/kubejs/assets/emi/category/properties/gtceu_moon_dust_harvester.json @@ -1 +1 @@ -{"gtceu:moon_dust_harvester":{"order":154}} \ No newline at end of file +{"gtceu:moon_dust_harvester":{"order":155}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json index 26f6f0670..c7941f299 100644 --- a/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json +++ b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json @@ -1 +1 @@ -{"gtceu:nuclear_fuel_factory":{"order":155}} \ No newline at end of file +{"gtceu:nuclear_fuel_factory":{"order":156}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json b/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json index 99a9a0a3d..5c8b84f03 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json @@ -1 +1 @@ -{"gtceu:ore_bathing":{"order":96}} \ No newline at end of file +{"gtceu:ore_bathing":{"order":97}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json b/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json index 6ef5fae3d..36f32ddf0 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json @@ -1 +1 @@ -{"gtceu:ore_crushing":{"order":127}} \ No newline at end of file +{"gtceu:ore_crushing":{"order":128}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_forging.json b/kubejs/assets/emi/category/properties/gtceu_ore_forging.json index ae254eccd..d90685f88 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_forging.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_forging.json @@ -1 +1 @@ -{"gtceu:ore_forging":{"order":116}} \ No newline at end of file +{"gtceu:ore_forging":{"order":117}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_washer.json b/kubejs/assets/emi/category/properties/gtceu_ore_washer.json index 347c3be04..2b7d07bdb 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ore_washer.json +++ b/kubejs/assets/emi/category/properties/gtceu_ore_washer.json @@ -1 +1 @@ -{"gtceu:ore_washer":{"order":130}} \ No newline at end of file +{"gtceu:ore_washer":{"order":131}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json b/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json index a5924c92b..a4dc65f70 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json +++ b/kubejs/assets/emi/category/properties/gtceu_ostrum_harvester.json @@ -1 +1 @@ -{"gtceu:ostrum_harvester":{"order":156}} \ No newline at end of file +{"gtceu:ostrum_harvester":{"order":157}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json b/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json index e1edd7b39..d124449e2 100644 --- a/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json +++ b/kubejs/assets/emi/category/properties/gtceu_ostrum_linear_accelerator.json @@ -1 +1 @@ -{"gtceu:ostrum_linear_accelerator":{"order":157}} \ No newline at end of file +{"gtceu:ostrum_linear_accelerator":{"order":158}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_packer.json b/kubejs/assets/emi/category/properties/gtceu_packer.json index 315b0880b..91c970477 100644 --- a/kubejs/assets/emi/category/properties/gtceu_packer.json +++ b/kubejs/assets/emi/category/properties/gtceu_packer.json @@ -1 +1 @@ -{"gtceu:packer":{"order":132}} \ No newline at end of file +{"gtceu:packer":{"order":133}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json b/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json index b2ea831dc..e8a144719 100644 --- a/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json +++ b/kubejs/assets/emi/category/properties/gtceu_pisciculture_fishery.json @@ -1 +1 @@ -{"gtceu:pisciculture_fishery":{"order":158}} \ No newline at end of file +{"gtceu:pisciculture_fishery":{"order":159}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json b/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json index 196d893a6..f366e419d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json +++ b/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json @@ -1 +1 @@ -{"gtceu:plasma_generator":{"order":78}} \ No newline at end of file +{"gtceu:plasma_generator":{"order":79}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_polarizer.json b/kubejs/assets/emi/category/properties/gtceu_polarizer.json index aec4ea41c..77b36c91b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_polarizer.json +++ b/kubejs/assets/emi/category/properties/gtceu_polarizer.json @@ -1 +1 @@ -{"gtceu:polarizer":{"order":133}} \ No newline at end of file +{"gtceu:polarizer":{"order":134}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json index 4e90c640e..2cef461f4 100644 --- a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json +++ b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json @@ -1 +1 @@ -{"gtceu:programmed_circuit":{"order":184}} \ No newline at end of file +{"gtceu:programmed_circuit":{"order":185}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json index a4284417e..3eca5299f 100644 --- a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json +++ b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json @@ -1 +1 @@ -{"gtceu:pyrolyse_oven":{"order":159}} \ No newline at end of file +{"gtceu:pyrolyse_oven":{"order":160}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_research_station.json b/kubejs/assets/emi/category/properties/gtceu_research_station.json index f494fc8c0..d4fc0e341 100644 --- a/kubejs/assets/emi/category/properties/gtceu_research_station.json +++ b/kubejs/assets/emi/category/properties/gtceu_research_station.json @@ -1 +1 @@ -{"gtceu:research_station":{"order":160}} \ No newline at end of file +{"gtceu:research_station":{"order":161}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json b/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json index 9a6b621bb..07966e920 100644 --- a/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json +++ b/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json @@ -1 +1 @@ -{"gtceu:rock_breaker":{"order":134}} \ No newline at end of file +{"gtceu:rock_breaker":{"order":135}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_scanner.json b/kubejs/assets/emi/category/properties/gtceu_scanner.json index 94f1af547..b789a642e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_scanner.json +++ b/kubejs/assets/emi/category/properties/gtceu_scanner.json @@ -1 +1 @@ -{"gtceu:scanner":{"order":135}} \ No newline at end of file +{"gtceu:scanner":{"order":136}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_sifter.json b/kubejs/assets/emi/category/properties/gtceu_sifter.json index 4024d327c..e873e76cb 100644 --- a/kubejs/assets/emi/category/properties/gtceu_sifter.json +++ b/kubejs/assets/emi/category/properties/gtceu_sifter.json @@ -1 +1 @@ -{"gtceu:sifter":{"order":137}} \ No newline at end of file +{"gtceu:sifter":{"order":138}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_smr_generator.json b/kubejs/assets/emi/category/properties/gtceu_smr_generator.json index 591509c17..657500dbe 100644 --- a/kubejs/assets/emi/category/properties/gtceu_smr_generator.json +++ b/kubejs/assets/emi/category/properties/gtceu_smr_generator.json @@ -1 +1 @@ -{"gtceu:smr_generator":{"order":73}} \ No newline at end of file +{"gtceu:smr_generator":{"order":74}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json index f73a0a4e2..b69c5987d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json +++ b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json @@ -1 +1 @@ -{"gtceu:steam_bloomery":{"order":161}} \ No newline at end of file +{"gtceu:steam_bloomery":{"order":162}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json b/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json index d3849f903..8aae086a1 100644 --- a/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json +++ b/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json @@ -1 +1 @@ -{"gtceu:thermal_centrifuge":{"order":138}} \ No newline at end of file +{"gtceu:thermal_centrifuge":{"order":139}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json index 0b3a4149a..4bd686e53 100644 --- a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json +++ b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json @@ -1 +1 @@ -{"gtceu:vacuum_freezer":{"order":162}} \ No newline at end of file +{"gtceu:vacuum_freezer":{"order":163}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json index f795f97d2..7a782ed2a 100644 --- a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json +++ b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json @@ -1 +1 @@ -{"gtceu:wire_coating":{"order":163}} \ No newline at end of file +{"gtceu:wire_coating":{"order":164}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/gtceu_wiremill.json b/kubejs/assets/emi/category/properties/gtceu_wiremill.json index d34145767..f9c899e7d 100644 --- a/kubejs/assets/emi/category/properties/gtceu_wiremill.json +++ b/kubejs/assets/emi/category/properties/gtceu_wiremill.json @@ -1 +1 @@ -{"gtceu:wiremill":{"order":140}} \ No newline at end of file +{"gtceu:wiremill":{"order":141}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_smelting.json b/kubejs/assets/emi/category/properties/minecraft_smelting.json index e6b101d1e..bcafcd573 100644 --- a/kubejs/assets/emi/category/properties/minecraft_smelting.json +++ b/kubejs/assets/emi/category/properties/minecraft_smelting.json @@ -1 +1 @@ -{"minecraft:smelting":{"order":79}} \ No newline at end of file +{"minecraft:smelting":{"order":80}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_smithing.json b/kubejs/assets/emi/category/properties/minecraft_smithing.json index 7709d9312..f72c12cbb 100644 --- a/kubejs/assets/emi/category/properties/minecraft_smithing.json +++ b/kubejs/assets/emi/category/properties/minecraft_smithing.json @@ -1 +1 @@ -{"minecraft:smithing":{"order":168}} \ No newline at end of file +{"minecraft:smithing":{"order":169}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json index ac5db94a5..ac498007e 100644 --- a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json +++ b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json @@ -1 +1 @@ -{"minecraft:stonecutting":{"order":172}} \ No newline at end of file +{"minecraft:stonecutting":{"order":173}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/tacz_attachment_query.json b/kubejs/assets/emi/category/properties/tacz_attachment_query.json index 94f3a1348..88f3ccee4 100644 --- a/kubejs/assets/emi/category/properties/tacz_attachment_query.json +++ b/kubejs/assets/emi/category/properties/tacz_attachment_query.json @@ -1 +1 @@ -{"tacz:attachment_query":{"order":177}} \ No newline at end of file +{"tacz:attachment_query":{"order":178}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json index 4e2b7d13d..651aa5d75 100644 --- a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json +++ b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json @@ -1 +1 @@ -{"taczammoquery:ammo_query":{"order":178}} \ No newline at end of file +{"taczammoquery:ammo_query":{"order":179}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json b/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json index d056a8f63..7370eed06 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json @@ -1 +1 @@ -{"vintageimprovements:centrifugation":{"order":92}} \ No newline at end of file +{"vintageimprovements:centrifugation":{"order":93}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json b/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json index 037bc40b9..c22ef4e2d 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json @@ -1 +1 @@ -{"vintageimprovements:coiling":{"order":139}} \ No newline at end of file +{"vintageimprovements:coiling":{"order":140}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_curving.json b/kubejs/assets/emi/category/properties/vintageimprovements_curving.json index 72c055815..7aec9d5b3 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_curving.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_curving.json @@ -1 +1 @@ -{"vintageimprovements:curving":{"order":109}} \ No newline at end of file +{"vintageimprovements:curving":{"order":110}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json b/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json index 874a16190..bda0778a8 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json @@ -1 +1 @@ -{"vintageimprovements:laser_cutting":{"order":120}} \ No newline at end of file +{"vintageimprovements:laser_cutting":{"order":121}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json b/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json index a427bf712..d71b6efb1 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json @@ -1 +1 @@ -{"vintageimprovements:polishing":{"order":122}} \ No newline at end of file +{"vintageimprovements:polishing":{"order":123}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json b/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json index cc052b686..f4728f967 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json @@ -1 +1 @@ -{"vintageimprovements:pressurizing":{"order":88}} \ No newline at end of file +{"vintageimprovements:pressurizing":{"order":89}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json b/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json index fa19cea38..4e919b6ad 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json @@ -1 +1 @@ -{"vintageimprovements:vacuumizing":{"order":107}} \ No newline at end of file +{"vintageimprovements:vacuumizing":{"order":108}} \ No newline at end of file diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json b/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json index 3c06151d8..4c48b860d 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json @@ -1 +1 @@ -{"vintageimprovements:vibrating":{"order":136}} \ No newline at end of file +{"vintageimprovements:vibrating":{"order":137}} \ No newline at end of file From 96951a7b113f0b71ef9f8e81a54909871ef4cf26 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 15:46:57 +0000 Subject: [PATCH 345/474] fix some warnings --- .../block/fluids/fluid.lightweight_ostrum_vapor.png.mcmeta | 2 -- .../item/material_sets/dull/dusty_raw_ore_overlay.png.mcmeta | 2 -- 2 files changed, 4 deletions(-) diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.lightweight_ostrum_vapor.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.lightweight_ostrum_vapor.png.mcmeta index 744a3d54c..efc92f29e 100644 --- a/kubejs/assets/gtceu/textures/block/fluids/fluid.lightweight_ostrum_vapor.png.mcmeta +++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.lightweight_ostrum_vapor.png.mcmeta @@ -42,8 +42,6 @@ 37, 38, 39, - 40, - 39, 38, 37, 36, diff --git a/kubejs/assets/gtceu/textures/item/material_sets/dull/dusty_raw_ore_overlay.png.mcmeta b/kubejs/assets/gtceu/textures/item/material_sets/dull/dusty_raw_ore_overlay.png.mcmeta index 6439dab8e..cfc989020 100644 --- a/kubejs/assets/gtceu/textures/item/material_sets/dull/dusty_raw_ore_overlay.png.mcmeta +++ b/kubejs/assets/gtceu/textures/item/material_sets/dull/dusty_raw_ore_overlay.png.mcmeta @@ -32,8 +32,6 @@ 27, 28, 29, - 30, - 29, 28, 27, 26, From b3f43feeb38d63a1eca29a6f5c513f13c3d1e186 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 16:34:11 +0000 Subject: [PATCH 346/474] figured out how to do emissives finally --- CHANGELOG.md | 1 + .../betterend/models/block/cave_pumpkin.json | 4 +- .../tfc/models/block/rock/magma/andesite.json | 7 ++ .../tfc/models/block/rock/magma/basalt.json | 7 ++ .../tfc/models/block/rock/magma/dacite.json | 7 ++ .../tfc/models/block/rock/magma/diorite.json | 7 ++ .../tfc/models/block/rock/magma/gabbro.json | 7 ++ .../tfc/models/block/rock/magma/granite.json | 7 ++ .../tfc/models/block/rock/magma/magma.json | 50 ++++++++++ .../tfc/models/block/rock/magma/rhyolite.json | 7 ++ .../assets/tfg/models/block/lunar_roots.json | 97 ++++++++++++++++++- 11 files changed, 199 insertions(+), 2 deletions(-) create mode 100644 kubejs/assets/tfc/models/block/rock/magma/andesite.json create mode 100644 kubejs/assets/tfc/models/block/rock/magma/basalt.json create mode 100644 kubejs/assets/tfc/models/block/rock/magma/dacite.json create mode 100644 kubejs/assets/tfc/models/block/rock/magma/diorite.json create mode 100644 kubejs/assets/tfc/models/block/rock/magma/gabbro.json create mode 100644 kubejs/assets/tfc/models/block/rock/magma/granite.json create mode 100644 kubejs/assets/tfc/models/block/rock/magma/magma.json create mode 100644 kubejs/assets/tfc/models/block/rock/magma/rhyolite.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 835fa9373..d91e5b91b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -78,6 +78,7 @@ - Backpack void upgrades are now cheaper @Pyritie - All tools should now have TFC damage types (#2868) @Pyritie - Added recipes for advanced GTCEu Terminals @TomPlop +- TFC magma blocks, lightblooms, and bulbkins now correctly have emissive textures @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/assets/betterend/models/block/cave_pumpkin.json b/kubejs/assets/betterend/models/block/cave_pumpkin.json index a37a47661..05ba66f11 100644 --- a/kubejs/assets/betterend/models/block/cave_pumpkin.json +++ b/kubejs/assets/betterend/models/block/cave_pumpkin.json @@ -8,11 +8,13 @@ "top": "betterend:block/cave_pumpkin_top", "side": "betterend:block/cave_pumpkin_side" }, - "elements": [ + "elements": [ { "__comment": "Box1", "from": [ 1, 0, 1 ], "to": [ 15, 13, 15 ], + "forge_data": { "block_light": 15, "sky_light": 15 }, + "shade": false, "faces": { "down": { "uv": [ 1, 1, 15, 15 ], "texture": "#lantern_bottom" }, "north": { "uv": [ 1, 3, 15, 16 ], "texture": "#lantern_side" }, diff --git a/kubejs/assets/tfc/models/block/rock/magma/andesite.json b/kubejs/assets/tfc/models/block/rock/magma/andesite.json new file mode 100644 index 000000000..11668294a --- /dev/null +++ b/kubejs/assets/tfc/models/block/rock/magma/andesite.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/magma/magma", + "textures": { + "0": "tfc:block/rock/magma/andesite", + "particle": "tfc:block/rock/magma/andesite" + } +} diff --git a/kubejs/assets/tfc/models/block/rock/magma/basalt.json b/kubejs/assets/tfc/models/block/rock/magma/basalt.json new file mode 100644 index 000000000..8a4654eb8 --- /dev/null +++ b/kubejs/assets/tfc/models/block/rock/magma/basalt.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/magma/magma", + "textures": { + "0": "tfc:block/rock/magma/basalt", + "particle": "tfc:block/rock/magma/basalt" + } +} diff --git a/kubejs/assets/tfc/models/block/rock/magma/dacite.json b/kubejs/assets/tfc/models/block/rock/magma/dacite.json new file mode 100644 index 000000000..682d84608 --- /dev/null +++ b/kubejs/assets/tfc/models/block/rock/magma/dacite.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/magma/magma", + "textures": { + "0": "tfc:block/rock/magma/dacite", + "particle": "tfc:block/rock/magma/dacite" + } +} diff --git a/kubejs/assets/tfc/models/block/rock/magma/diorite.json b/kubejs/assets/tfc/models/block/rock/magma/diorite.json new file mode 100644 index 000000000..7d100fee9 --- /dev/null +++ b/kubejs/assets/tfc/models/block/rock/magma/diorite.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/magma/magma", + "textures": { + "0": "tfc:block/rock/magma/diorite", + "particle": "tfc:block/rock/magma/diorite" + } +} diff --git a/kubejs/assets/tfc/models/block/rock/magma/gabbro.json b/kubejs/assets/tfc/models/block/rock/magma/gabbro.json new file mode 100644 index 000000000..3f684ae32 --- /dev/null +++ b/kubejs/assets/tfc/models/block/rock/magma/gabbro.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/magma/magma", + "textures": { + "0": "tfc:block/rock/magma/gabbro", + "particle": "tfc:block/rock/magma/gabbro" + } +} diff --git a/kubejs/assets/tfc/models/block/rock/magma/granite.json b/kubejs/assets/tfc/models/block/rock/magma/granite.json new file mode 100644 index 000000000..e7d1706f7 --- /dev/null +++ b/kubejs/assets/tfc/models/block/rock/magma/granite.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/magma/magma", + "textures": { + "0": "tfc:block/rock/magma/granite", + "particle": "tfc:block/rock/magma/granite" + } +} diff --git a/kubejs/assets/tfc/models/block/rock/magma/magma.json b/kubejs/assets/tfc/models/block/rock/magma/magma.json new file mode 100644 index 000000000..9a3d09c75 --- /dev/null +++ b/kubejs/assets/tfc/models/block/rock/magma/magma.json @@ -0,0 +1,50 @@ +{ + "format_version": "1.9.0", + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "forge_data": { "block_light": 15, "sky_light": 15 }, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ], + "display": { + "gui": { + "rotation": [ 30, 225, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 0.625, 0.625, 0.625 ] + }, + "ground": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 3, 0 ], + "scale": [ 0.25, 0.25, 0.25 ] + }, + "fixed": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 0.5, 0.5, 0.5 ] + }, + "thirdperson_righthand": { + "rotation": [ 75, 45, 0 ], + "translation": [ 0, 2.5, 0 ], + "scale": [ 0.375, 0.375, 0.375 ] + }, + "firstperson_righthand": { + "rotation": [ 0, 45, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 0.40, 0.40, 0.40 ] + }, + "firstperson_lefthand": { + "rotation": [ 0, 225, 0 ], + "translation": [ 0, 0, 0 ], + "scale": [ 0.40, 0.40, 0.40 ] + } + } +} diff --git a/kubejs/assets/tfc/models/block/rock/magma/rhyolite.json b/kubejs/assets/tfc/models/block/rock/magma/rhyolite.json new file mode 100644 index 000000000..f88af7a1a --- /dev/null +++ b/kubejs/assets/tfc/models/block/rock/magma/rhyolite.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/rock/magma/magma", + "textures": { + "0": "tfc:block/rock/magma/rhyolite", + "particle": "tfc:block/rock/magma/rhyolite" + } +} diff --git a/kubejs/assets/tfg/models/block/lunar_roots.json b/kubejs/assets/tfg/models/block/lunar_roots.json index cdb4e9ca0..dd0cf7f10 100644 --- a/kubejs/assets/tfg/models/block/lunar_roots.json +++ b/kubejs/assets/tfg/models/block/lunar_roots.json @@ -4,6 +4,101 @@ "ambientocclusion": "false", "textures": { "cross": "tfg:block/lunar_roots", + "emissive": "tfg:block/lunar_roots_e", "particle": "tfg:block/lunar_roots" - } + }, + "elements": [ + { + "from": [ 0.8, 0, 8 ], + "to": [ 15.2, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": 45, + "rescale": true + }, + "shade": false, + "faces": { + "north": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#cross" + }, + "south": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#cross" + } + } + }, + { + "from": [ 8, 0, 0.8 ], + "to": [ 8, 16, 15.2 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": 45, + "rescale": true + }, + "shade": false, + "faces": { + "west": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#cross" + }, + "east": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#cross" + } + } + }, + { + "from": [ 0.8, 0, 8 ], + "to": [ 15.2, 16, 8 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": 45, + "rescale": true + }, + "shade": false, + "forge_data": { + "block_light": 15, + "sky_light": 15 + }, + "faces": { + "north": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#emissive" + }, + "south": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#emissive" + } + } + }, + { + "from": [ 8, 0, 0.8 ], + "to": [ 8, 16, 15.2 ], + "rotation": { + "origin": [ 8, 8, 8 ], + "axis": "y", + "angle": 45, + "rescale": true + }, + "shade": false, + "forge_data": { + "block_light": 15, + "sky_light": 15 + }, + "faces": { + "west": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#emissive" + }, + "east": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#emissive" + } + } + } + ] } \ No newline at end of file From 2c9c5a2fd5a5d2d24c3437044dc3df6c6e9857d8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 17:21:54 +0000 Subject: [PATCH 347/474] adjust stray HP, add gurman notes to changelog --- CHANGELOG.md | 1 + kubejs/server_scripts/tfg/worldgen/events.entities.js | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d91e5b91b..c08d6e1dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie - The two chemical reactor recipes for Tetramethoxysilane now have circuits (1 and 2) (#2898) @Pyritie - Toluene + Benzene = Biphenyl + Methane now uses circuit 1 (#2928) @Pyritie +- TFC Gurman changed its name and recipe IDs to TFC Gourmet. There will be conversion items, but not fluids, so drink all your lemonade and kvass before updating. #### Energy Update - Cetane Boosted Diesel's duration is buffed by 30% - Diesel's duration is nerfed by 25%, but can now be crafted at ULV diff --git a/kubejs/server_scripts/tfg/worldgen/events.entities.js b/kubejs/server_scripts/tfg/worldgen/events.entities.js index 8534d677a..fa3ef3c58 100644 --- a/kubejs/server_scripts/tfg/worldgen/events.entities.js +++ b/kubejs/server_scripts/tfg/worldgen/events.entities.js @@ -10,6 +10,7 @@ const NEW_MOB_MAX_HP = { "endermanoverhaul:end_islands_enderman": 120, "endermanoverhaul:windswept_hills_enderman": 70, "endermanoverhaul:soulsand_valley_enderman": 80, + "minecraft:stray": 40, // mars mobs -- wan's ancient beasts has its own config for this (also includes sniffer) "endermanoverhaul:crimson_enderman": 60, From 928c7129aa729a888386e4dbc9904ed6943be00d Mon Sep 17 00:00:00 2001 From: TomPlop Date: Mon, 2 Feb 2026 12:32:49 -0500 Subject: [PATCH 348/474] Heat battery (#2955) * heat battery and tooltips * Add tooltip back * fix tooltip --- .../models/block/beryllium_sandy_frame.json | 7 +++ .../tfg/models/block/copper_sandy_frame.json | 7 +++ .../models/block/fission/beryllium_sandy.json | 6 +++ .../models/block/fission/copper_sandy.json | 6 +++ .../block/fission/beryllium_sandy.png | Bin 0 -> 433 bytes .../textures/block/fission/copper_sandy.png | Bin 0 -> 771 bytes kubejs/client_scripts/tooltips.js | 48 +++++++++++++++--- .../tfg/aquaponics/recipes.greenhouse.js | 2 +- .../tfg/aquaponics/recipes.pisciculture.js | 2 +- .../server_scripts/tfg/events.interactions.js | 6 +++ .../powergen/nuclear/recipes.components.js | 4 +- .../tfg/powergen/nuclear/recipes.nuclear.js | 22 +++++++- .../tfg/powergen/nuclear/tags.nuclear.js | 6 +-- .../tfg/nuclear/blocks.nuclear.js | 32 +++++++++++- 14 files changed, 132 insertions(+), 16 deletions(-) create mode 100644 kubejs/assets/tfg/models/block/beryllium_sandy_frame.json create mode 100644 kubejs/assets/tfg/models/block/copper_sandy_frame.json create mode 100644 kubejs/assets/tfg/models/block/fission/beryllium_sandy.json create mode 100644 kubejs/assets/tfg/models/block/fission/copper_sandy.json create mode 100644 kubejs/assets/tfg/textures/block/fission/beryllium_sandy.png create mode 100644 kubejs/assets/tfg/textures/block/fission/copper_sandy.png diff --git a/kubejs/assets/tfg/models/block/beryllium_sandy_frame.json b/kubejs/assets/tfg/models/block/beryllium_sandy_frame.json new file mode 100644 index 000000000..a3d8a6450 --- /dev/null +++ b/kubejs/assets/tfg/models/block/beryllium_sandy_frame.json @@ -0,0 +1,7 @@ +{ + "parent": "tfg:block/fission_component", + "textures": { + "infill": "tfg:block/fission/beryllium_sandy", + "frame": "tfg:block/empty_fission_frame" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/copper_sandy_frame.json b/kubejs/assets/tfg/models/block/copper_sandy_frame.json new file mode 100644 index 000000000..4606ec4e4 --- /dev/null +++ b/kubejs/assets/tfg/models/block/copper_sandy_frame.json @@ -0,0 +1,7 @@ +{ + "parent": "tfg:block/fission_component", + "textures": { + "infill": "tfg:block/fission/copper_sandy", + "frame": "tfg:block/empty_fission_frame" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/fission/beryllium_sandy.json b/kubejs/assets/tfg/models/block/fission/beryllium_sandy.json new file mode 100644 index 000000000..2c30ff07e --- /dev/null +++ b/kubejs/assets/tfg/models/block/fission/beryllium_sandy.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/fission/beryllium_sandy" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/fission/copper_sandy.json b/kubejs/assets/tfg/models/block/fission/copper_sandy.json new file mode 100644 index 000000000..fbbb7ade8 --- /dev/null +++ b/kubejs/assets/tfg/models/block/fission/copper_sandy.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/fission/copper_sandy" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fission/beryllium_sandy.png b/kubejs/assets/tfg/textures/block/fission/beryllium_sandy.png new file mode 100644 index 0000000000000000000000000000000000000000..9f21e0adfdfcfd258eee8de851ab925d7a6e7d20 GIT binary patch literal 433 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0XB4ude`@%$Aj z3=E9Po-U3d7QMZb?|U6K5NY49v-oy~m99wp1<{t+3f+6v4=4Zdv1`zOtleR*b&1P) zM$Qd~Sj8jVW`7r-dmGdGq(*)JpQ64GwfBSCr%ZA_Byo97JHx!^hW*KhK1ehua9oI5 zJcY?+Zr1F*I;TB0o1faWhRec&gK69K^*KKk{M;PQRqx8pE3UqCma(F$E>UCYn}eHE zj-1@-ztQN)YW=j6D}qFOXS#e9&Y$+;wt%K8bNFBV8?FMqJ8gC|Er^&oZ&hQp@dy1s z6YhUMCu7WTAjs5V^O@CV%19qQvEC}BxaHvwDiv4%O@0;Jelas{fxfH3td6K<$ zH){@mS>F4mqgNJ8ITUq!){Y$(Rvh!@gjrVJ3tTWIOZFbKxVQ6<9T_3~y@n}~VOyV{ z{UjbDsU{eF`9S5o&G&K)jw#gK-#+j8#52i<4A$&fG5biX^dhfqse5luSSFbo8O9p( n=zO7=lSy{=>@D{!>Y1x!e%E@w&+K4eU|{fc^>bP0l+XkK7jMAo literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fission/copper_sandy.png b/kubejs/assets/tfg/textures/block/fission/copper_sandy.png new file mode 100644 index 0000000000000000000000000000000000000000..4cbd215455667051297c4548076ed20bc417bf03 GIT binary patch literal 771 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_q|Bo-U3d7QL#cJ&PZ^Ff?3TZ@$%ReW8(}@qq)376lL8KgqA06~gE#W4%$>`r0Mk ztydl$*lqvt-TyglhdTqlzpz<)d!NxZx!+&8ogaIw7e8UK*xpvDOGZ=u(b9$W{~ccQ z-2MOijD)Jsg?si2Lfn;&_vfFm%kMZZJGa7JZ@NK=LFS#u+Al;*S+<3=OB9oru{60nAo2!@X z<;j>`^y^!Xhw-d(|MJ2aUuA5)FC^Bts2u$F!T4@jJD0MG6IU_zQcjB@<(`+~cpVu|I3Lb7AGm4XIso zwj8??m%Qd+kLux-%QBT8J}P`Ky0G8IcCO`{^D~T=@6lQrpWWhV@LEQ5^OTo=9FxpT zl3jzpx2#&29d%6Lrd-y!smj_#Vcl~yoi@#wcz10A(@K{k>-HIRaJ{c;x!7~Bcx822 zzG&&=8E1>^VyAK}eX+}9(}|9K$Mc?@cr)Fe?>>-B9yDX~Y1Co@EHGWNVo2SvjGFkG?qK0!5_0lso zHe~m{yKfgzdFqDAkIm}3y21)7Pg0u#xURG1BnB2OiI}=%wtmZL;f;YAiYz^i@Aj%` zbNlhLe>&S$lqgxNz;W{Idwa)%8zD)PEf?MsTI$x%m??BL;Omp{;#>7`5q~S1XWAr7 z1ZE!klh-y)Hge^O{lC3@q!xwr95;8nzxeJxr~Zk*>W+WfZvE!1=~?9$996N4jJhWY zukztMD}47~N32N4A)^?pEquyn{~h^r{k)IbrTsD&qm { event.addAdvanced(['tfg:polycaprolactam_fabric'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.polycaprolactam')) }) + + //#region Multiblock Controler Tooltip + event.addAdvanced(['tfg:electric_greenhouse'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.machine.electric_greenhouse_1')); text.add(2, Text.translate('tfg.tooltip.machine.electric_greenhouse_2')); @@ -70,7 +73,8 @@ const registerTooltips = (event) => { event.addAdvanced(['tfg:ostrum_linear_accelerator'], (item, advanced, text) => { text.add(1, Text.translate('gtceu.tooltip.machine.ostrum_linear_accelerator_1')); text.add(2, Text.translate('gtceu.tooltip.machine.ostrum_linear_accelerator_2')); - text.add(3, Text.translate('tfg.tooltip.machine.two_energy_hatches')); + text.add(3, Text.translate('gtceu.tooltip.machine.ostrum_linear_accelerator_3')); + text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')); }) event.addAdvanced(['gtceu:heat_exchanger'], (item, advanced, text) => { text.add(1, Text.translate('gtceu.tooltip.machine.heat_exchanger_1')); @@ -129,6 +133,31 @@ const registerTooltips = (event) => { text.add(3, Text.translate('tfg.tooltip.machine.parallel')); text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')); }) + event.addAdvanced(['tfg:smr_generator'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.machine.smt_1')); + text.add(2, Text.translate('tfg.tooltip.machine.smt_2')); + text.add(3, Text.translate('tfg.tooltip.machine.smt_3')); + }) + event.addAdvanced(['deafission:fission_reactor_mk1'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.machine.fission_reactor_mk1_1')); + text.add(2, Text.translate('tfg.tooltip.machine.fission_reactor_mk1_2')); + }) + event.addAdvanced(['deafission:fission_reactor_smr1'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.machine.small_fission_reactor_mk1_1')); + text.add(2, Text.translate('tfg.tooltip.machine.small_fission_reactor_mk1_2')); + }) + event.addAdvanced(['tfg:nuclear_turbine'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.component.nuclear_turbine_1")); + text.add(2, Text.translate("tfg.tooltip.component.nuclear_turbine_2")); + }) + event.addAdvanced(['tfg:heat_battery_mk1'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.machine.heat_battery_1')); + text.add(2, Text.translate('tfg.tooltip.machine.heat_battery_2')); + text.add(3, Text.translate('tfg.tooltip.machine.heat_battery_3')); + }) + + //#endregion + event.addAdvanced(['tfg:grow_light'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.grow_light_disapointment')); }) @@ -359,7 +388,7 @@ const registerTooltips = (event) => { text.add(1, Text.translate("gtceu.universal.tooltip.item_storage_capacity", "9")) }) - //Nuclear Fission Tooltips + //#region Nuclear Fission Tooltips event.addAdvanced(['minecraft:blue_ice'], (item, advanced, text) => { text.add(1, Text.translate("tfg.tooltip.component.blue_ice")) }) @@ -384,11 +413,17 @@ const registerTooltips = (event) => { event.addAdvanced(['tfg:terrafirmaguard_pa6'], (item, advanced, text) => { text.add(1, Text.translate("tfg.tooltip.component.refrigerant_pellet")) }) - - event.addAdvanced(['tfg:nuclear_turbine'], (item, advanced, text) => { - text.add(1, Text.translate("tfg.tooltip.component.nuclear_turbine_1")); - text.add(2, Text.translate("tfg.tooltip.component.nuclear_turbine_2")); + event.addAdvanced(['tfg:copper_sandy_frame'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.component.sandy_copper_frame")) }) + event.addAdvanced(['tfg:beryllium_sandy_frame'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.component.sandy_beryllium_frame")) + }) + event.addAdvanced(['tfg:uv_smr_fluid_import_hatch'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.machine.smr_fluid_import_hatch")) + }) + + //#endregion event.addAdvanced(['tfg:food/slice_of_cheese'], (item, advanced, text) => { if (!event.isShift()) { @@ -399,6 +434,7 @@ const registerTooltips = (event) => { }; }); + //#endregion // AE2 event.addAdvanced(['tfg:wireless_card'], (item, advanced, text) => { diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js index 23a86cb19..6e651e58b 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js @@ -76,7 +76,7 @@ function generateGreenHouseRecipe(event, dimension, input, output, chance_multip const canFertilize = resolvedFertilizer !== null; /** @type {GTValues.EUt} - Resolved EUt value. Defaults to LV */ - const resolvedEUt = dimMods ? dimMods.eut : GTValues.VA[GTValues.LV]; + const resolvedEUt = dimMods ? dimMods.eut : GTValues.VHA[GTValues.LV]; /** @type {number} - Resolved fluid chance multiplied by 100. Defaults to 1000. */ const resolvedChance = dimMods ? (dimMods.fluid_chance * 100) : 1000; diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js index 667fb3953..e01d95179 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js @@ -58,7 +58,7 @@ const pisciculture_dimension_index = [ const resolvedFluidOut = dimMods?.fluid_out ?? 'tfg:nitrate_rich_water'; /** @type {GTValues.EUt} - Resolved EUt value. Defaults to LV EUt. */ - const resolvedEUt = dimMods ? dimMods.eut : GTValues.VA[GTValues.LV]; + const resolvedEUt = dimMods ? dimMods.eut : GTValues.VHA[GTValues.LV]; /** @type {number} - Resolved fluid chance multiplied by 100. Defaults to 1000. */ const resolvedChance = dimMods ? (dimMods.fluid_chance * 100) : 1000; diff --git a/kubejs/server_scripts/tfg/events.interactions.js b/kubejs/server_scripts/tfg/events.interactions.js index a561f24f2..d6259c238 100644 --- a/kubejs/server_scripts/tfg/events.interactions.js +++ b/kubejs/server_scripts/tfg/events.interactions.js @@ -248,6 +248,12 @@ BlockEvents.rightClicked(event => { transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:impure_moderate_core_frame', 'tfg:impure_graphite_moderator', true, 1, 'block.wool.place', 'minecraft:happy_villager', true); transformBlockWithToolReturn(event, 'tfg:impure_moderate_core_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:impure_graphite_moderator', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); + transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:copper_sandy_frame', 'tfg:copper_sandy', true, 1, 'block.wool.place', 'minecraft:happy_villager', true); + transformBlockWithToolReturn(event, 'tfg:copper_sandy_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:copper_sandy', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); + + transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:beryllium_sandy_frame', 'tfg:beryllium_sandy', true, 1, 'block.wool.place', 'minecraft:happy_villager', true); + transformBlockWithToolReturn(event, 'tfg:beryllium_sandy_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:beryllium_sandy', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); + }); // Makes scythes, hoes, and knives take damage when cutting grass diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.components.js b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.components.js index 5bee23fd5..bf81d06e7 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.components.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.components.js @@ -36,8 +36,8 @@ function registerTFGNuclearComponentsRecipes(event) { //component("HEAT", "minecraft:bedrock", 1000); //componentThermal('THERMAL', '#forge:sand', 1000, 1); - componentThermal('THERMAL', 'tfg:impure_moderate_core_frame', 2000, 10); - componentThermal('THERMAL', 'tfg:moderate_core_frame', 4000, 10); + componentThermal('THERMAL', 'tfg:copper_sandy_frame', 1000, 10); + componentThermal('THERMAL', 'tfg:beryllium_sandy_frame', 2000, 10); //componentThermal('THERMAL', 'minecraft:bedrock', 9001, 10); } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js index 28e2af5be..558ffbdbc 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js @@ -727,6 +727,26 @@ function registerTFGNuclearRecipes(event) { //#endregion + //#region Heat Battery Component + + event.recipes.gtceu.mixer('tfg:copper_sandy') + .itemInputs('1x #forge:sand') + .inputFluids(Fluid.of('gtceu:copper', 15984)) + //.inputFluids(Fluid.of('gtceu:silicon', 7992)) + .itemOutputs(Item.of('tfg:copper_sandy', 1)) + .EUt(GTValues.VA[GTValues.EV]) + .duration(20*48) + + event.recipes.gtceu.mixer('tfg:beryllium_sandy') + .itemInputs('1x #forge:sand') + .inputFluids(Fluid.of('gtceu:beryllium', 15984)) + .inputFluids(Fluid.of('gtceu:silicon', 7992)) + .itemOutputs(Item.of('tfg:beryllium_sandy', 1)) + .EUt(GTValues.VA[GTValues.IV]) + .duration(20*48) + + //#endregion + //#region Power Gen event.recipes.gtceu.nuclear_turbine('dense_steam') @@ -771,7 +791,7 @@ function registerTFGNuclearRecipes(event) { .inputFluids(Fluid.of('tfg:thermally_conductive_fluid', 1000)) .itemOutputs('tfg:casings/heat_pipe_casing') .circuit(6) - .EUt(GTValues.VA[GTValues.IV]) + .EUt(GTValues.VA[GTValues.EV]) .duration(20*4) event.shaped('tfg:cooling_tower', [ diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js index 7e851dcca..428ebfa79 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js @@ -44,9 +44,9 @@ const registerTFGBlockTagsNuclear = (event) => { let COMPONENTS_HB = 'deafission:components_hb'; - event.add(COMPONENTS_HB, 'minecraft:sand'); - event.add(COMPONENTS_HB, 'tfg:impure_moderate_core_frame'); - event.add(COMPONENTS_HB, 'tfg:moderate_core_frame'); + //event.add(COMPONENTS_HB, 'minecraft:sand'); + event.add(COMPONENTS_HB, 'tfg:copper_sandy_frame'); + event.add(COMPONENTS_HB, 'tfg:beryllium_sandy_frame'); //event.add(COMPONENTS_HB, 'minecraft:bedrock'); // For Creative usage only //#endregion diff --git a/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js index 5ea789413..a4a37bf36 100644 --- a/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js @@ -2,7 +2,7 @@ function registerTFGNuclearBlocks(event) { - // Insulation + // Insulation Fission Reactor event.create('tfg:glacian_wool_frame') .soundType('copper') .hardness(4) @@ -27,7 +27,7 @@ function registerTFGNuclearBlocks(event) { .resistance(6) .tagBlock('gtceu:mineable/pickaxe_or_wrench') - // Unfinished Insulation + // Unfinished Insulation Reactor event.create('tfg:moderate_core') .soundType('ancient_debris') .hardness(7) @@ -42,6 +42,34 @@ function registerTFGNuclearBlocks(event) { .tagBlock('gtceu:mineable/pickaxe_or_wrench') .model('tfg:block/fission/impure_moderate_core') + // Heat Battery Components + + event.create('tfg:copper_sandy') + .soundType('ancient_debris') + .hardness(7) + .resistance(8) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .model('tfg:block/fission/copper_sandy') + + event.create('tfg:beryllium_sandy') + .soundType('ancient_debris') + .hardness(7) + .resistance(8) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .model('tfg:block/fission/beryllium_sandy') + + event.create('tfg:copper_sandy_frame') + .soundType('copper') + .hardness(4) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + + event.create('tfg:beryllium_sandy_frame') + .soundType('copper') + .hardness(5) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + // Nuclear cooling tower event.create('tfg:titanium_exhaust_vent', 'tfg:active_particle_emitter') .textureAll('tfg:block/titanium_exhaust_vent') From af01de9a2c3cdae6f619a05d77b55a865c86f8a3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 17:44:28 +0000 Subject: [PATCH 349/474] langs --- kubejs/assets/gtceu/lang/en_us.json | 1 + kubejs/assets/tfg/lang/en_us.json | 31 ++++++++++++++++++++++------- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 944201e48..1da35e6fc 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -255,6 +255,7 @@ "gtceu.tooltip.machine.ostrum_harvester_3": "§7Requires drilling fluid to work.§r", "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7Higgs Boson not included§r", "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7Breaks down Ostrum Dust into its components. Requires various fluids from fission line.§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_3": "§7Cannot Overclock, use §eHeat§r§7 and §eTemperature§r§7 from an adjascent §bHeat Battery§r§7 to run.§r", "gtceu.tooltip.machine.heat_exchanger_1": "§7Heating up Fluids with other hot Fluids§r", "gtceu.tooltip.machine.heat_exchanger_2": "§7Transfers heat from one fluid to another.§r", "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7Producing extra spicy Rods§r", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 711918258..bf468e88d 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -811,6 +811,10 @@ "block.tfg.impure_moderate_core": "Impure Moderate Core", "block.tfg.moderate_core_frame": "Moderate Core Frame", "block.tfg.impure_moderate_core_frame": "Impure Moderate Core Frame", + "block.tfg.copper_sandy": "Copper-Bound Silica", + "block.tfg.copper_sandy_frame": "Copper-Bound Silica Frame", + "block.tfg.beryllium_sandy": "Beryllium-Bound Silica", + "block.tfg.beryllium_sandy_frame": "Beryllium-Bound Silica Frame", "block.tfg.heat_battery_mk1": "Heat Battery", "tfg.block_entity.artisan_table": "Artisan Table", "block.tfg.artisan_table": "Artisan Table", @@ -1791,13 +1795,6 @@ "tfg.tooltip.wireless_card_1": "Enables wireless connections from any range, even from different planets!", "tfg.tooltip.wireless_card_2": "Items can still be transferred through the terminal, but at a very high power cost.", "tfg.tooltip.wireless_card_3": "Use a §dRailgun§r for your interplanetary logistical needs instead.", - "tfg.tooltip.component.blue_ice": "Can be placed inside a Fission Reactor to increase the maximum heat by §90.5§r", - "tfg.tooltip.component.aes_insulation_frame": "Can be placed inside a Fission Reactor to increase the maximum heat by §91§r", - "tfg.tooltip.component.glacian_fur": "Can be placed inside a Fission Reactor to increase the maximum heat by §92§r", - "tfg.tooltip.component.impure_moderate_core_frame": "Can be placed inside a Fission Reactor to increase the maximum heat by §95§r", - "tfg.tooltip.component.moderate_core_frame": "Can be placed inside a Fission Reactor to increase the maximum heat by §910§r", - "tfg.tooltip.component.dry_ice": "Can be used as an input in the Fission Reactor to cool it down, requires a Material Holder", - "tfg.tooltip.component.refrigerant_pellet": "Can be used as an input in the Fission Reactor to cool it down, requires a Material Holder", "tfg.tooltip.component.nuclear_turbine_1": "§eBase Production:§r 8192 EU/t", "tfg.tooltip.component.nuclear_turbine_2": "Each Rotor Holder above §5EV§r §7adds§r 10% efficiency and multiplies EU/t by 2.", "tfg.tooltip.component.smr_generator_1": "§eBase Production:§r 4096 EU/t", @@ -1979,6 +1976,26 @@ "tfg.grapplemod.downgrades.vertical_throwing_angle": "Decreases the §lVertical Throwing Angle§r of the hook by 5°, down to 0°.", "tfg.grapplemod.upgrades.angle": "Increases the §lHorizontal Angle§r for throwing your §lDouble Hooks§r by 5°, up to 90°.\nOnly accessible with a §lDouble Hook§r installed.", "tfg.grapplemod.downgrades.angle": "Decreases the §lHorizontal Angle§r for throwing your §lDouble Hooks§r by 5°, down to 5°°.\nOnly accessible with a §lDouble Hook§r installed.", + "tfg.tooltip.machine.fission_reactor_mk1_1": "§7The power of the atom§r", + "tfg.tooltip.machine.fission_reactor_mk1_2": "§7Customizable Fission Reactor, add better components, process rods and materials into it and watch out for its temperature.§r", + "tfg.tooltip.machine.smt_1": "§ePower Production:§r From 2048 to 32768 EU/t", + "tfg.tooltip.machine.smt_2": "§7Requires a lubricant to run and can increase power output by using a booster.§r", + "tfg.tooltip.machine.smt_3": "§7Only accept§r SMT Input Hatch §7to input fluids.§r", + "tfg.tooltip.machine.small_fission_reactor_mk1_1": "§7The power of the atom but smaller§r", + "tfg.tooltip.machine.small_fission_reactor_mk1_2": "§7Can only process§r Americium 241 Rod§7 with§r TiCl₄-Doped Supercritical CO₂", + "tfg.tooltip.machine.heat_battery_1": "§7It stores heat§r", + "tfg.tooltip.machine.heat_battery_2": "§7Increase its temperature by inputting hot fluids and use the heat to boil other fluids or run recipes in the OLA.§r", + "tfg.tooltip.machine.heat_battery_3": "§7To transfer Heat to a Ostrum Linear Accelerator, make both§r Heat Port§7 and§r Heat Input Hatch§7 face each other.§r", + "tfg.tooltip.machine.smr_fluid_import_hatch": "§7Can only be used in a Small Modular Turbine§r", + "tfg.tooltip.component.blue_ice": "Can be placed inside a Fission Reactor to increase the maximum heat by §90.5§r", + "tfg.tooltip.component.aes_insulation_frame": "Can be placed inside a Fission Reactor to increase the maximum heat by §91§r", + "tfg.tooltip.component.glacian_fur": "Can be placed inside a Fission Reactor to increase the maximum heat by §92§r", + "tfg.tooltip.component.impure_moderate_core_frame": "Can be placed inside a Fission Reactor to increase the maximum heat by §95§r", + "tfg.tooltip.component.moderate_core_frame": "Can be placed inside a Fission Reactor to increase the maximum heat by §910§r", + "tfg.tooltip.component.dry_ice": "Can be used as an input in the Fission Reactor to cool it down, requires a Material Holder", + "tfg.tooltip.component.refrigerant_pellet": "Can be used as an input in the Fission Reactor to cool it down, requires a Material Holder", + "tfg.tooltip.component.sandy_copper_frame": "Can be placed inside a Heat Battery to increase its storage ability", + "tfg.tooltip.component.sandy_beryllium_frame": "Can be placed inside a Heat Battery to increase its storage ability", "quests.ae2": "Applied Energistics 2", "quests.ae2.subtitle": "The strongest tool to help you with GregTech, unlocked after your first trip to the moon", "quests.ae2.certus_quartz.title": "Certus Quartz", From 4c208a0928103433bdd783dd68b7b77614ac4bb5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 17:46:54 +0000 Subject: [PATCH 350/474] #2927 --- CHANGELOG.md | 1 + kubejs/server_scripts/sacksnstuff/tags.js | 2 ++ kubejs/server_scripts/tfg/space_general/tags.railgun.js | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c08d6e1dd..263126c4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -80,6 +80,7 @@ - All tools should now have TFC damage types (#2868) @Pyritie - Added recipes for advanced GTCEu Terminals @TomPlop - TFC magma blocks, lightblooms, and bulbkins now correctly have emissive textures @Pyritie +- Quivers can now also go in the belt curios slot (#2927) @Pyritie ### Bug fixes - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie diff --git a/kubejs/server_scripts/sacksnstuff/tags.js b/kubejs/server_scripts/sacksnstuff/tags.js index bb1c9422b..c7c553151 100644 --- a/kubejs/server_scripts/sacksnstuff/tags.js +++ b/kubejs/server_scripts/sacksnstuff/tags.js @@ -45,4 +45,6 @@ function registerSNSItemTags(event) { // Remove this tag to avoid confusion with the other lunchbox event.removeAll('sns:lunchbox_food') + + event.add('curios:belt', 'sns:quiver'); } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/space_general/tags.railgun.js b/kubejs/server_scripts/tfg/space_general/tags.railgun.js index e9d9a973b..89cb59a4b 100644 --- a/kubejs/server_scripts/tfg/space_general/tags.railgun.js +++ b/kubejs/server_scripts/tfg/space_general/tags.railgun.js @@ -105,5 +105,5 @@ function registerTFGRailgunItemTags(event) { event.add('tfg:cannot_launch_in_railgun', 'gtceu:zpm_quantum_tank') event.add('tfg:cannot_launch_in_railgun', 'gtceu:uv_quantum_tank') event.add('tfg:cannot_launch_in_railgun', 'gtceu:uhv_quantum_tank') - + event.add('tfg:cannot_launch_in_railgun', 'toolbelt:belt') } \ No newline at end of file From 68d0681c0b5ebe6d13bd3dee9cf4ad6e0177208f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 17:48:35 +0000 Subject: [PATCH 351/474] buff helium3 from asurine --- kubejs/server_scripts/tfg/natural_blocks/recipes.stone_dusts.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.stone_dusts.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.stone_dusts.js index 26f82dfdd..0d559e9fa 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.stone_dusts.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.stone_dusts.js @@ -38,7 +38,7 @@ function registerTFGStoneDustRecipes(event) { .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.CertusQuartz, 1), 5000, 0) .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Olivine, 1), 4500, 0) .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Zinc, 1), 3500, 0) - .outputFluids(Fluid.of('gtceu:helium_3', 200)) + .outputFluids(Fluid.of('gtceu:helium_3', 500)) event.recipes.gtceu.centrifuge('ochrum_dust_separation') .EUt(GTValues.VA[GTValues.MV]) From f678f084d4f0ce969f2ab5b8d9571a30865b09b0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 18:23:28 +0000 Subject: [PATCH 352/474] fix recycling of laser cable --- kubejs/server_scripts/gregtech/recipes.js | 5 ++++- kubejs/server_scripts/tfg/worldgen/events.entities.js | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 31024c63c..5aa507f5f 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -134,7 +134,10 @@ const registerGTCEURecipes = (event) => { .duration(20*5) .EUt(GTValues.VA[GTValues.EV]) .cleanroom(CleanroomType.CLEANROOM) - .addMaterialInfo(true, true) + + TFGHelpers.registerMaterialInfo('gtceu:normal_laser_pipe', [GTMaterials.Air, 1]) + event.remove({ id: 'gtceu:arc_furnace/arc_normal_laser_pipe' }) + removeMaceratorRecipe(event, 'macerate_normal_laser_pipe') // #endregion diff --git a/kubejs/server_scripts/tfg/worldgen/events.entities.js b/kubejs/server_scripts/tfg/worldgen/events.entities.js index fa3ef3c58..7352f1b33 100644 --- a/kubejs/server_scripts/tfg/worldgen/events.entities.js +++ b/kubejs/server_scripts/tfg/worldgen/events.entities.js @@ -11,6 +11,8 @@ const NEW_MOB_MAX_HP = { "endermanoverhaul:windswept_hills_enderman": 70, "endermanoverhaul:soulsand_valley_enderman": 80, "minecraft:stray": 40, + "species:limpet": 20, + "species:birt": 20, // mars mobs -- wan's ancient beasts has its own config for this (also includes sniffer) "endermanoverhaul:crimson_enderman": 60, From 601f72b12a628ed0c44747fb8bfaf9e99277fcfb Mon Sep 17 00:00:00 2001 From: TomPlop Date: Mon, 2 Feb 2026 13:38:56 -0500 Subject: [PATCH 353/474] Update changeling (#2958) * Update changeling Signed-off-by: TomPlop * Revise BTX line description and update changelog (#11) Updated changelog to clarify modifications to BTX line and other changes. Signed-off-by: TomPlop --------- Signed-off-by: TomPlop --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 263126c4a..6aa3708b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - The two chemical reactor recipes for Tetramethoxysilane now have circuits (1 and 2) (#2898) @Pyritie - Toluene + Benzene = Biphenyl + Methane now uses circuit 1 (#2928) @Pyritie - TFC Gurman changed its name and recipe IDs to TFC Gourmet. There will be conversion items, but not fluids, so drink all your lemonade and kvass before updating. +- The BTX line has been modified, with the Cracker now outputting the used Catalyser instead of the LCR #### Energy Update - Cetane Boosted Diesel's duration is buffed by 30% - Diesel's duration is nerfed by 25%, but can now be crafted at ULV @@ -13,6 +14,7 @@ - Light Fuel isn't a fuel anymore (make Diesel with it!) - High Octane Gasoline now requires an IV Energy Hatch - Add Small Fission Reactor, Small Turbine Generator, and the Cooling Tower. You can now make power from Fission on Earth! +- BTX has been buffed by 10%, and also produces 12.5% more with each craft! #### ULV changes - The vacuum chamber requires a blue steel spring now, so the colored steel anvil can't be skipped - The steel mechanical mixer can now only make weak red/blue steel dust, not regular (it can still make black steel dust though). The LV mixer can make normal red/blue steel dust @@ -50,6 +52,7 @@ - Base recipe duration has been reduced to 600/450/300 seconds. (#2950) @Redeix - More circuit options for recipes that priorities seeds/saplings and recipes that prioritize leaves have been added. (#2950) @Redeix - More plants have been added for production. @Redeix & @thederpysockdude123 +- The EGH and the Pisciculture recipes now require 50% less energy ### Changes - Added much more music to the different dimensions @Pyritie - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie From b5b7e26fee1fbf3a0a267a2e8766d0e042684a83 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 22:52:24 +0000 Subject: [PATCH 354/474] update tfc gourmet --- CHANGELOG.md | 10 ++- config/crash_assistant/modlist.json | 10 +-- kubejs/server_scripts/tfc_gurman/recipes.js | 74 +++++++++++++++++++-- pakku-lock.json | 42 ++++++------ 4 files changed, 104 insertions(+), 32 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 263126c4a..ce2b09b56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,8 +50,11 @@ - Base recipe duration has been reduced to 600/450/300 seconds. (#2950) @Redeix - More circuit options for recipes that priorities seeds/saplings and recipes that prioritize leaves have been added. (#2950) @Redeix - More plants have been added for production. @Redeix & @thederpysockdude123 -### Changes +#### Other major changes - Added much more music to the different dimensions @Pyritie +- Added new advanced GTCEu Terminals @TomPlop +- Added two-person rockets! @BlueBoat29 +### Changes - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie - Paracetamol now cures a small amount of the Radioactive condition, and RadAway now cures everything completely @Pyritie - Glow ink now just requires a fluid solidifier and a ball mold, instead of whatever it was doing before @Pyritie @@ -78,10 +81,10 @@ - Added config file for Via Romana support. (#2950) @Redeix - Backpack void upgrades are now cheaper @Pyritie - All tools should now have TFC damage types (#2868) @Pyritie -- Added recipes for advanced GTCEu Terminals @TomPlop - TFC magma blocks, lightblooms, and bulbkins now correctly have emissive textures @Pyritie - Quivers can now also go in the belt curios slot (#2927) @Pyritie ### Bug fixes +- Fixed being able to right-click crops with a scythe to harvest them (#1724) @Ujhik - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie - Fixed red granite ores never dropping poor or rich raw ores @Pyritie - Fixed rosin leaves and saplings having tags the wrong way around (#2840) @TanJeeSchuan @@ -97,6 +100,9 @@ - Fixed piglin brutes not dropping meat or bones @Pyritie - Fixed not being able to put rings, wrench tips, screwdriver tips, buzzsaw blades, or wire cutter tips in a crucible (#2913) @Pyritie - Fixed a concrete dupe (#2948) and some other stone-related recycling recipes @Pyritie +- Fixed the rendering of adjacent large martian nests @Mqrius +- Fixed the interdimensional wireless card so it should actually work again (the crafting requests aren't fixed yet though) @Mqrius +- Fixed the position of the dimension indicator on recipes that are valid on multiple dimensions ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index ee1c5609d..eadb2dd35 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -1416,12 +1416,12 @@ "curseForgeHash": 3264017794, "modrinthHash": "b4f98b976aa7096b6ec0a6bd291fb16415dfeb3a" }, - "tfc_gourmet-1.4.2.jar": { - "jarName": "tfc_gourmet-1.4.2.jar", + "tfc_gourmet-1.4.3.jar": { + "jarName": "tfc_gourmet-1.4.3.jar", "modId": "tfc_gourmet", - "version": "1.4.2", - "curseForgeHash": 2832259553, - "modrinthHash": "d4c2f1eb89330129fdc1e4ee78f61f1130d83fe5" + "version": "1.4.3", + "curseForgeHash": 415442845, + "modrinthHash": "103326499c4a574c87474a5af52f97d7a730071f" }, "TFC_punishment_for_death-1.20.1-1.0.0.15.jar": { "jarName": "TFC_punishment_for_death-1.20.1-1.0.0.15.jar", diff --git a/kubejs/server_scripts/tfc_gurman/recipes.js b/kubejs/server_scripts/tfc_gurman/recipes.js index 558402021..b5b7bd351 100644 --- a/kubejs/server_scripts/tfc_gurman/recipes.js +++ b/kubejs/server_scripts/tfc_gurman/recipes.js @@ -472,6 +472,33 @@ function registerTFCGurmanRecipes(event) { itemOutputProvider: TFC.isp.of('3x tfc_gourmet:fresh_onion_soup').simpleModifier('tfg:force_add_bowl').copyOldestFood() }); + // Raw Croissants + global.processorRecipe(event, 'raw_croissants', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['#tfc:foods/flour', 'firmalife:food/butter', '#forge:eggs'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['2x tfc_gourmet:raw_croissants'], + circuit: 20, + itemOutputProvider: TFC.isp.of('2x tfc_gourmet:raw_croissants').copyOldestFood() + }); + + // Raw crepes + global.processorRecipe(event, 'raw_crepes', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['#tfc:foods/flour', 'firmalife:food/butter', '#forge:eggs'], + fluidInputs: ['#tfc:milks 500'], + itemOutputs: ['2x tfc_gourmet:raw_crepes'], + circuit: 20, + itemOutputProvider: TFC.isp.of('2x tfc_gourmet:raw_crepes').copyOldestFood() + }); + + // Oladyi + global.processorRecipe(event, 'raw_oladyi', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['2x #tfc:foods/dough'], + fluidInputs: ['#tfc:milks 500'], + itemOutputs: ['2x tfc_gourmet:raw_oladyi'], + circuit: 20, + itemOutputProvider: TFC.isp.of('2x tfc_gourmet:raw_oladyi').copyOldestFood() + }); + //#endregion // #region Drying @@ -523,9 +550,48 @@ function registerTFCGurmanRecipes(event) { 'tfc:powder/salt' ]).id('tfg:shapeless/takoyaki_from_crawlermari'); - event.replaceOutput({ id: "tfc_gourmet:crafting/raw_pelmeni" }, "tfc_gourmet:raw_pelmeni", "2x tfc_gourmet:raw_pelmeni"); - event.replaceOutput({ id: "tfc_gourmet:crafting/raw_vareniki" }, "tfc_gourmet:raw_vareniki", "tfc_gourmet:raw_vareniki"); - event.replaceOutput({ id: "tfc_gourmet:crafting/raw_oladyi" }, "tfc_gourmet:raw_oladyi", "2x tfc_gourmet:raw_oladyi"); - event.replaceOutput({ id: "tfc_gourmet:crafting/raw_syrniki" }, "tfc_gourmet:raw_syrniki", "2x tfc_gourmet:raw_syrniki"); + event.remove({ id: "tfc_gourmet:crafting/raw_pelmeni" }); + event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`2x tfc_gourmet:raw_pelmeni`).copyFood(), [ + TFC.ingredient.notRotten(`#tfc:foods/dough`), + TFC.ingredient.notRotten(`#tfc:foods/raw_meats`), + TFC.ingredient.notRotten(`#tfc:foods/dough`) + ]).id(`tfg:shapeless/raw_pelmeni`) + + event.remove({ id: "tfc_gourmet:crafting/raw_vareniki" }); + event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`tfc_gourmet:raw_vareniki`).copyFood(), [ + TFC.ingredient.notRotten(`#tfc:foods/dough`), + TFC.ingredient.notRotten(`#tfc:foods/vegetables`) + ]).id(`tfg:shapeless/raw_vareniki`) + + event.remove({ id: "tfc_gourmet:crafting/raw_oladyi" }); + event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`2x tfc_gourmet:raw_oladyi`).copyFood(), [ + TFC.ingredient.notRotten(`#tfc:foods/dough`), + TFC.ingredient.notRotten(`#tfc:foods/dough`), + TFC.ingredient.fluid(TFC.fluidStackIngredient('#tfc:milks', 500)) + ]).id(`tfg:shapeless/raw_oladyi`) + + event.remove({ id: "tfc_gourmet:crafting/raw_syrniki" }); + event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`2x tfc_gourmet:raw_syrniki`).copyFood(), [ + TFC.ingredient.notRotten(`#tfg:foods/cheeses`), + TFC.ingredient.notRotten(`#forge:eggs`), + TFC.ingredient.notRotten(`#tfc:foods/flour`) + ]).id(`tfg:shapeless/raw_syrniki`) + + event.remove({ id: "tfc_gourmet:crafting/raw_croissants" }); + event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`2x tfc_gourmet:raw_croissants`).copyFood(), [ + TFC.ingredient.notRotten(`#tfc:foods/flour`), + TFC.ingredient.notRotten(`firmalife:food/butter`), + TFC.ingredient.notRotten(`#forge:eggs`), + TFC.ingredient.fluid(TFC.fluidStackIngredient('minecraft:water', 1000)) + ]).id(`tfg:shapeless/raw_croissants`) + + event.remove({ id: "tfc_gourmet:crafting/raw_crepes" }); + event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`2x tfc_gourmet:raw_crepes`).copyFood(), [ + TFC.ingredient.notRotten(`#tfc:foods/flour`), + TFC.ingredient.notRotten(`firmalife:food/butter`), + TFC.ingredient.notRotten(`#forge:eggs`), + TFC.ingredient.fluid(TFC.fluidStackIngredient('#tfc:milks', 500)) + ]).id(`tfg:shapeless/raw_crepes`) + // #endregion } diff --git a/pakku-lock.json b/pakku-lock.json index 65438c87e..341487b43 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -12907,6 +12907,27 @@ "modrinth": "ERme2o65" }, "files": [ + { + "type": "modrinth", + "file_name": "tfc_gourmet-1.4.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/ERme2o65/versions/1ns5Lyk4/tfc_gourmet-1.4.3.jar", + "id": "1ns5Lyk4", + "parent_id": "ERme2o65", + "hashes": { + "sha512": "7fef1e460dfb20478d959efad82093de0c538aa16b8b6294dcd057f06da82dc6ad90c6e1c5adfa275f600de8c04868e952f46b856b36d61402383bdfacac61ec", + "sha1": "103326499c4a574c87474a5af52f97d7a730071f" + }, + "required_dependencies": [], + "size": 398088, + "date_published": "2026-02-02T19:04:40.071653Z" + }, { "type": "curseforge", "file_name": "tfc_gourmet-1.4.2.jar", @@ -12930,27 +12951,6 @@ ], "size": 521700, "date_published": "2026-02-02T03:07:46.393Z" - }, - { - "type": "modrinth", - "file_name": "tfc_gurman-1.4.2.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/ERme2o65/versions/tMfASqPh/tfc_gurman-1.4.2.jar", - "id": "tMfASqPh", - "parent_id": "ERme2o65", - "hashes": { - "sha512": "ac46e98199659c20c11c036ced30b7aaff012e702be7ef8d7cad06ad91db386969edd0d686ec2862682b7dab322d0c23c1f6c8ff8a35799bfd492c1589515450", - "sha1": "0f079c981e2610bf6462bad4bf171c831813cd5c" - }, - "required_dependencies": [], - "size": 519124, - "date_published": "2026-02-02T02:29:35.480162Z" } ] }, From 260851074c39b56dfdf208580b912e54e850b2ff Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 2 Feb 2026 23:42:42 +0000 Subject: [PATCH 355/474] Feature/venus stone ores (#2961) * langs * fix veins * missing knapping textures * rename ignimbrite features * new ores * feature stuff * entity tweaks --- kubejs/assets/betterend/lang/es_es.json | 10 +-- kubejs/assets/gtceu/lang/en_us.json | 2 + .../entries/tfg_ores/venus_vein_index.json | 4 +- .../entries/tfg_ores/venus_vein_index.json | 4 +- .../entries/tfg_ores/venus_vein_index.json | 4 +- .../entries/tfg_ores/venus_vein_index.json | 4 +- .../entries/tfg_ores/venus_vein_index.json | 4 +- .../entries/tfg_ores/venus_vein_index.json | 4 +- .../entries/tfg_ores/venus_vein_index.json | 4 +- .../textures/gui/knapping/loose/flavolite.png | Bin 0 -> 222 bytes .../gui/knapping/loose/sandy_jadestone.png | Bin 0 -> 187 bytes .../textures/gui/knapping/loose/scorchia.png | Bin 0 -> 208 bytes .../textures/gui/knapping/loose/scoria.png | Bin 0 -> 208 bytes kubejs/data/ad_astra/dimension/venus.json | 27 +++++- .../tfg/worldgen/biome/venus/arachnoids.json | 20 +++-- .../worldgen/biome/venus/fractured_pools.json | 20 +++-- .../tfg/worldgen/biome/venus/fumaroles.json | 19 +++-- .../tfg/worldgen/biome/venus/geysers.json | 19 +++-- .../biome/venus/jagged_tablelands.json | 65 +++++++++++--- .../tfg/worldgen/biome/venus/salt_flats.json | 20 +++-- .../biome/venus/scorching_volcanoes.json | 30 ++++--- .../biome/venus/stromatolite_beach.json | 20 +++-- .../worldgen/biome/venus/sulfuric_ravine.json | 19 +++-- .../venus/surface/adakite_spikes.json | 62 ++++++++++++++ .../venus/surface/crimsite_spikes.json | 80 ++++++++++++++++++ .../venus/surface/loose_crackrack.json | 55 ++++++++++++ .../venus/surface/loose_scorchia.json | 55 ++++++++++++ .../venus/surface/loose_scoria.json | 55 ++++++++++++ .../venus/surface/ochrum_spikes.json | 80 ++++++++++++++++++ ...rite_columns.json => thermal_columns.json} | 0 ...ignimbrite_disk.json => thermal_disk.json} | 0 ...ube_worms.json => thermal_tube_worms.json} | 0 ...nimbrite_vents.json => thermal_vents.json} | 0 .../venus/vein/venus_manual_salt.json | 46 ++++++++++ .../venus/vein/venus_manual_sulfur.json | 53 +++++++++++- .../worldgen/noise_settings/venus_noise.json | 13 +-- .../venus/surface/adakite_spikes.json | 23 +++++ .../venus/surface/crimsite_spikes.json | 23 +++++ .../venus/surface/loose_crackrack.json | 12 +++ .../venus/surface/loose_scorchia.json | 12 +++ .../venus/surface/loose_scoria.json | 12 +++ .../venus/surface/ochrum_spikes.json | 23 +++++ .../venus/terrain/lava_spring_rare.json | 12 +++ .../venus/terrain/thermal_vent.json | 8 +- .../venus/terrain/thermal_vent_rare.json | 8 +- kubejs/server_scripts/tfg/mars/tags.mars.js | 1 + .../tfg/natural_blocks/tags.stones.js | 4 +- kubejs/server_scripts/tfg/venus/tags.venus.js | 19 ++++- kubejs/startup_scripts/gtceu/constants.js | 4 +- .../tfg/stone_types/constants.rocks.js | 4 +- .../tfg/stone_types/tag_prefixes.rocks.js | 18 ++++ 51 files changed, 850 insertions(+), 131 deletions(-) create mode 100644 kubejs/assets/tfc/textures/gui/knapping/loose/flavolite.png create mode 100644 kubejs/assets/tfc/textures/gui/knapping/loose/sandy_jadestone.png create mode 100644 kubejs/assets/tfc/textures/gui/knapping/loose/scorchia.png create mode 100644 kubejs/assets/tfc/textures/gui/knapping/loose/scoria.png create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/adakite_spikes.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/crimsite_spikes.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_crackrack.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scorchia.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scoria.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/ochrum_spikes.json rename kubejs/data/tfg/worldgen/configured_feature/venus/terrain/{ignimbrite_columns.json => thermal_columns.json} (100%) rename kubejs/data/tfg/worldgen/configured_feature/venus/terrain/{ignimbrite_disk.json => thermal_disk.json} (100%) rename kubejs/data/tfg/worldgen/configured_feature/venus/terrain/{ignimbrite_tube_worms.json => thermal_tube_worms.json} (100%) rename kubejs/data/tfg/worldgen/configured_feature/venus/terrain/{ignimbrite_vents.json => thermal_vents.json} (100%) create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/adakite_spikes.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/crimsite_spikes.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_crackrack.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_scorchia.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_scoria.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/ochrum_spikes.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_spring_rare.json diff --git a/kubejs/assets/betterend/lang/es_es.json b/kubejs/assets/betterend/lang/es_es.json index b20b22cf0..eb5e160e3 100644 --- a/kubejs/assets/betterend/lang/es_es.json +++ b/kubejs/assets/betterend/lang/es_es.json @@ -46,11 +46,11 @@ "block.betterend.filalux_wings": "Alas filalúceas", "block.betterend.flamaea": "Hongo flamigero", "block.betterend.flammalix": "Hongo flamante", - "block.betterend.flavolite": "Lucitita en bruto", - "block.betterend.flavolite_bricks": "Ladrillos de lucitita", - "block.betterend.flavolite_pillar": "Pilar de lucitita", - "block.betterend.flavolite_polished": "Lucitita pulida", - "block.betterend.flavolite_tiles": "Baldosas de lucitita", + "block.betterend.flavolite": "Ignimbrita en bruto", + "block.betterend.flavolite_bricks": "Ladrillos de ignimbrita", + "block.betterend.flavolite_pillar": "Pilar de ignimbrita", + "block.betterend.flavolite_polished": "Ignimbrita pulida", + "block.betterend.flavolite_tiles": "Baldosas de ignimbrita", "block.betterend.fracturn": "Fracturno", "block.betterend.glacian_hymenophore": "Himenóforo glacial", "block.betterend.globulagus": "Globulago", diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 1da35e6fc..7e6050d1c 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -248,6 +248,8 @@ "tagprefix.deepslate": "Migmatite %s Ore", "tagprefix.pyroxenite": "Pyroxenite %s Ore", "tagprefix.dripstone": "Travertine %s Ore", + "tagprefix.sandy_jadestone": "Lamproite %s Ore", + "tagprefix.flavolite": "Ignimbrite %s Ore", "gtceu.tooltip.machine.moon_dust_harvester_1": "§7Extraterrestrial Vacuum Cleaner§r", "gtceu.tooltip.machine.moon_dust_harvester_2": "§7Harvests infinite Regolith Dust depending on the biome its placed in.§r", "gtceu.tooltip.machine.ostrum_harvester_1": "§7Legally Distinct Spice Crawler§r", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json index b24ac9b4c..aa0337fbd 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Ignimbrite, Lamproite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Salt Flats$() biome.", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Ignimbrite, Lamproite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "venus_manual_sulfur" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json index b24ac9b4c..aa0337fbd 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Ignimbrite, Lamproite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Salt Flats$() biome.", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Ignimbrite, Lamproite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "venus_manual_sulfur" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/venus_vein_index.json index b24ac9b4c..b63bea0b9 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine, イグニンブライト, ランプロアイト$(br2)Only appears in the $(thing)Salt Flats$() biome.", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/30 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 20%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine, イグニンブライト, ランプロアイト$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", "title": "Sulfur & Pyrite", "type": "patchouli:text", "anchor": "venus_manual_sulfur" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_vein_index.json index 9fd5f17e3..b2d841c0c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/30 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito, Traquito, Travertino", + "text": "$(thing)Raridade$(): 1/30 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Ignimbrito, Lamproíto, Riolito, Traquito, Travertino", "title": "Enxofre e Pirita", "type": "patchouli:text", "anchor": "venus_manual_sulfur" @@ -86,7 +86,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/30 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Tamanho$(): 20$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito, Traquito, Travertino$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)Raridade$(): 1/30 chunks$(br)$(thing)Densidade$(): 20%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Tamanho$(): 20$(br)$(thing)Altura$(): 6$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Ignimbrito, Lamproíto, Riolito, Traquito, Travertino$(br2)Only appears in the $(thing)Salt Flats$() biome.", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "venus_manual_salt" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json index ad813fd4e..a0e933ece 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/30 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 40 — 65$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)Высота$(): 6$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/30 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 40 — 65$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)Высота$(): 6$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Игнимбрит, Лампроит, Риолит, Травертин, Трахит$(br2)Only appears in the $(thing)Salt Flats$() biome.", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/30 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 40 — 65$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/30 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 40 — 65$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Игнимбрит, Лампроит, Риолит, Травертин, Трахит", "title": "Сера и Пирит", "type": "patchouli:text", "anchor": "venus_manual_sulfur" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json index e2cf19252..755e2793c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/30 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт, Травертин, Трахіт", + "text": "$(thing)Рідкість$(): 1/30 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Iгнімбрит, Андезит, Базальт, Дацит, Лампроїт, Ріоліт, Травертин, Трахіт", "title": "Сірка та Пірит", "type": "patchouli:text", "anchor": "venus_manual_sulfur" @@ -86,7 +86,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/30 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт, Травертин, Трахіт", + "text": "$(thing)Рідкість$(): 1/30 чанків$(br)$(thing)Щільність$(): 20%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Iгнімбрит, Андезит, Базальт, Дацит, Лампроїт, Ріоліт, Травертин, Трахіт", "title": "Солі і Сподумен", "type": "patchouli:text", "anchor": "venus_manual_salt" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json index c7df0df3f..eb801f189 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/30 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 20$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", + "text": "$(thing)稀有度$(): 1/30 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 20$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 天然煌斑岩, 天然熔灰岩, 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", "title": "盐, 锂辉石", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/30 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", + "text": "$(thing)稀有度$(): 1/30 区块$(br)$(thing)密度$(): 20%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 天然煌斑岩, 天然熔灰岩, 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", "title": "硫, 黄铁矿", "type": "patchouli:text", "anchor": "venus_manual_sulfur" diff --git a/kubejs/assets/tfc/textures/gui/knapping/loose/flavolite.png b/kubejs/assets/tfc/textures/gui/knapping/loose/flavolite.png new file mode 100644 index 0000000000000000000000000000000000000000..f259025e7e6655068f0712bc7dc50d8d840d2458 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUsuz{S+^6mc* zO?}3+JCWDY_~iCkTXh;A?rzvpc&69oaKg^c#aq+(4!?Y`J}l_=1jhKI`_j2LyPy5K zH|)fk`Kejj$Il(RldyNS!ODn-TT zI(1V@|B|StX~ETP9>ujbcfTKvWME*3@^onkAF$xFRg~Vky-PQq^LJ+Ybug=jz`(%Z>FVdQ&MBb@09v_29smFU literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/gui/knapping/loose/scorchia.png b/kubejs/assets/tfc/textures/gui/knapping/loose/scorchia.png new file mode 100644 index 0000000000000000000000000000000000000000..8d1c9f3b2601bee7f7beec72940a90619d4409db GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdnK1d_r79Q=?q{y)A6*b@ffP zbd1#0bmSFOq^0G=*iOG@U|=Zrba4!+U}Qb$$j788z;YliK0)oGwQs}fob-zJLZSCv zHI3h+SxZl!jye!glEz=K`f}=pS9f-alq9e57dxSQ^xcX|Tc6d7UL?#8TX4=Mt|aEB z+Iyi0_Y+e;6w7KZ?^-T7y}kL*xewnP&6NFihxTyfZv4aOuu#gxmdK II;Vst0BXichX4Qo literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/gui/knapping/loose/scoria.png b/kubejs/assets/tfc/textures/gui/knapping/loose/scoria.png new file mode 100644 index 0000000000000000000000000000000000000000..eecc0be2bab75aa27d6ae6e3a45d62e156558c8c GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdnK1d_r6+Vgr)AodWI5T#WVX z^>wT?wTzWD^yJiHA}?)XU|=Zrba4!+U}Qb$$j788z;YliK0)oGwQs}fob-zJLZSCv zHI3h+SxZl!jye!glEz=K`f}=pS9f-alq9e57dxSQ^xcX|Tc6d7UL?#8TX4=Mt|aEB z+Iyi0_Y+e;6w7KZ?^-T7y}kL*xewnP&6NFihxTyfZv4aOuu#gxmdK II;Vst010wSlmGw# literal 0 HcmV?d00001 diff --git a/kubejs/data/ad_astra/dimension/venus.json b/kubejs/data/ad_astra/dimension/venus.json index 6d7dba3d4..f27fbe150 100644 --- a/kubejs/data/ad_astra/dimension/venus.json +++ b/kubejs/data/ad_astra/dimension/venus.json @@ -64,6 +64,26 @@ "spike": "tfg:spike/dripstone_spike", "loose": "tfg:loose/dripstone" }, + "flavolite": { + "raw": "betterend:flavolite", + "hardened": "tfg:rock/hardened_flavolite", + "gravel": "tfg:rock/gravel_flavolite", + "cobble": "tfg:rock/cobble_flavolite", + "sand": "tfc:sand/green", + "sandstone": "tfc:raw_sandstone/green", + "spike": "tfg:spike/flavolite_spike", + "loose": "tfg:loose/flavolite" + }, + "sandy_jadestone": { + "raw": "betterend:sandy_jadestone", + "hardened": "tfg:rock/hardened_sandy_jadestone", + "gravel": "tfg:rock/gravel_sandy_jadestone", + "cobble": "tfg:rock/cobble_sandy_jadestone", + "sand": "tfc:sand/green", + "sandstone": "tfc:raw_sandstone/green", + "spike": "tfg:spike/sandy_jadestone_spike", + "loose": "tfg:loose/sandy_jadestone" + }, "granite": "tfc:granite", "diorite": "tfc:diorite", "gabbro": "tfc:gabbro", @@ -95,7 +115,8 @@ "basalt": "bottom", "schist": "bottom", "gneiss": "bottom", - "quartzite": "bottom" + "quartzite": "bottom", + "flavolite": "bottom" } }, { @@ -116,7 +137,9 @@ "rhyolite": "middle", "basalt": "middle", "andesite": "middle", - "dacite": "middle" + "dacite": "middle", + "flavolite": "middle", + "sandy_jadestone": "middle" } } ], diff --git a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json index 95fb1affa..d5b111716 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json +++ b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json @@ -39,7 +39,9 @@ "tfc:erosion" ], [], - [], + [ + "tfc:random_empty_hot_spring" + ], [], [], [], @@ -55,20 +57,20 @@ "has_precipitation": true, "spawn_costs": { "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:nether_wastes_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "minecraft:enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "species:cliff_hanger": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json index 9f2b96211..d86ef6e86 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json @@ -39,7 +39,9 @@ "tfc:erosion" ], [], - [], + [ + "tfc:random_empty_hot_spring" + ], [], [], [], @@ -57,20 +59,20 @@ "has_precipitation": true, "spawn_costs": { "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:nether_wastes_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "minecraft:enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "species:cliff_hanger": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json index 143ac2e11..dbd00bd06 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json @@ -55,27 +55,28 @@ ], [ "tfg:venus/surface/sulfur_patch", - "tfg:venus/surface/hydralux_rare" + "tfg:venus/surface/hydralux_rare", + "tfg:venus/surface/loose_scoria" ], "#tfg:venus_top_layer_modification" ], "has_precipitation": true, "spawn_costs": { "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:nether_wastes_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "minecraft:enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "species:cliff_hanger": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/venus/geysers.json b/kubejs/data/tfg/worldgen/biome/venus/geysers.json index 843cfe253..b4132b4eb 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/geysers.json +++ b/kubejs/data/tfg/worldgen/biome/venus/geysers.json @@ -40,7 +40,8 @@ ], [], [ - "tfg:venus/terrain/hot_spring_delta" + "tfg:venus/terrain/hot_spring_delta", + "tfc:random_empty_hot_spring" ], [], [], @@ -59,20 +60,20 @@ "has_precipitation": true, "spawn_costs": { "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:nether_wastes_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "minecraft:enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "species:cliff_hanger": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json index 61ec76bf1..acabee994 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json +++ b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json @@ -8,8 +8,8 @@ "sound": "tfg:ambient.venus_surface.additions", "tick_chance": 0.0015 }, - "sky_color": 10465603, - "fog_color": 9938052, + "sky_color": 11239553, + "fog_color": 11239553, "water_color": 8241044, "water_fog_color": 10866612, "ambient_sound": "tfg:ambient.venus_surface.loop", @@ -39,7 +39,10 @@ "tfc:erosion" ], [], - [], + [ + "tfg:venus/terrain/lava_spring_rare", + "tfc:random_empty_hot_spring" + ], [], [], [], @@ -49,28 +52,38 @@ "tfc:raw_boulder", "tfc:cobble_boulder", "tfc:raw_boulder_small_patch", - "tfc:cobble_boulder_small_patch" + "tfc:cobble_boulder_small_patch", + "tfg:venus/surface/adakite_spikes", + "tfg:venus/surface/ochrum_spikes", + "tfg:venus/surface/crimsite_spikes" + ], + [ + "tfg:venus/surface/smoker_source_patch", + "tfg:venus/surface/lava_source_patch", + "tfg:venus/surface/twisted_vine", + "tfg:venus/surface/shadow_plant_patch", + "tfg:venus/surface/pile_volcanic_ash", + "tfg:venus/surface/loose_scorchia" ], - [], "#tfg:venus_top_layer_modification" ], "has_precipitation": true, "spawn_costs": { "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:nether_wastes_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "minecraft:enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "species:cliff_hanger": { "energy_budget": 0.15, @@ -97,7 +110,7 @@ "charge": 0.9 } }, - "creature_spawn_probability": 0.1, + "creature_spawn_probability": 0.15, "spawners": { "ambient": [], "axolotls": [], @@ -153,6 +166,18 @@ "minCount": 1, "weight": 100 }, + { + "type": "endermanoverhaul:nether_wastes_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 100 + }, + { + "type": "endermanoverhaul:desert_enderman", + "maxCount": 1, + "minCount": 1, + "weight": 100 + }, { "type": "minecraft:enderman", "maxCount": 1, @@ -171,6 +196,18 @@ "minCount": 1, "weight": 100 }, + { + "type": "minecraft:magma_cube", + "maxCount": 2, + "minCount": 1, + "weight": 30 + }, + { + "type": "minecraft:blaze", + "maxCount": 2, + "minCount": 1, + "weight": 30 + }, { "type": "arthropocolypse:millipede_head", "maxCount": 2, diff --git a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json index 2e46cbaf2..16c2bf780 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json +++ b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json @@ -39,7 +39,9 @@ "tfc:erosion" ], [], - [], + [ + "tfc:random_empty_hot_spring" + ], [], [], [], @@ -56,20 +58,20 @@ "has_precipitation": true, "spawn_costs": { "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:nether_wastes_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "minecraft:enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "species:cliff_hanger": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json index 720efe591..46cb11773 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json +++ b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json @@ -8,8 +8,8 @@ "sound": "tfg:ambient.venus_surface.additions", "tick_chance": 0.0015 }, - "sky_color": 5450003, - "fog_color": 5450003, + "sky_color": 7687245, + "fog_color": 7687245, "water_color": 8241044, "water_fog_color": 10866612, "ambient_sound": "tfg:ambient.venus_surface.loop", @@ -68,7 +68,9 @@ "tfg:venus/surface/twisted_vine", "tfg:venus/surface/shadow_plant_patch", "tfg:venus/surface/pile_volcanic_ash", - "tfg:venus/surface/pile_black_sand" + "tfg:venus/surface/pile_black_sand", + "tfg:venus/surface/loose_scorchia", + "tfg:venus/surface/loose_crackrack" ], [ "tfg:venus/terrain/lava_fill" @@ -78,20 +80,20 @@ "has_precipitation": true, "spawn_costs": { "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:nether_wastes_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "minecraft:enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "species:cliff_hanger": { "energy_budget": 0.3, @@ -123,6 +125,12 @@ "ambient": [], "axolotls": [], "creature": [ + { + "type": "minecraft:strider", + "maxCount": 5, + "minCount": 3, + "weight": 100 + }, { "type": "arthropocolypse:ice_crawler", "maxCount": 2, diff --git a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json index 820b5ad67..13198fce5 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json +++ b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json @@ -40,6 +40,7 @@ ], [], [ + "tfc:random_empty_hot_spring", "tfg:venus/terrain/stromatolite_disk" ], [], @@ -52,27 +53,28 @@ "tfg:venus/terrain/thermal_vent_rare" ], [ - "tfg:venus/surface/sulfur_patch" + "tfg:venus/surface/sulfur_patch", + "tfg:venus/surface/loose_scoria" ], "#tfg:venus_top_layer_modification" ], "has_precipitation": true, "spawn_costs": { "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:nether_wastes_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "minecraft:enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "species:cliff_hanger": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json index fc2615b45..79b328a81 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json +++ b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json @@ -54,27 +54,28 @@ ], [ "tfg:venus/surface/sulfur_patch", - "tfg:venus/surface/hydralux" + "tfg:venus/surface/hydralux", + "tfg:venus/surface/loose_scoria" ], "#tfg:venus_top_layer_modification" ], "has_precipitation": true, "spawn_costs": { "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "endermanoverhaul:nether_wastes_enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "minecraft:enderman": { - "energy_budget": 0.05, - "charge": 0.9 + "energy_budget": 0.15, + "charge": 0.7 }, "species:cliff_hanger": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/adakite_spikes.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/adakite_spikes.json new file mode 100644 index 000000000..5a617f6b4 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/adakite_spikes.json @@ -0,0 +1,62 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:block_column", + "config": { + "allowed_placement": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction": "up", + "layers": [ + { + "height": { + "type": "minecraft:weighted_list", + "distribution": [ + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 8, + "min_inclusive": 4 + } + }, + "weight": 5 + }, + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 16, + "min_inclusive": 8 + } + }, + "weight": 1 + } + ] + }, + "provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "betterend:lacugrove_bark" + } + } + } + ], + "prioritize_tip": true + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR" + } + ] + }, + "tries": 12, + "xz_spread": 16, + "y_spread": 1 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/crimsite_spikes.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/crimsite_spikes.json new file mode 100644 index 000000000..dce1d7f60 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/crimsite_spikes.json @@ -0,0 +1,80 @@ +{ + "type": "minecraft:vegetation_patch", + "config": { + "depth": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + }, + "extra_bottom_block_chance": 0, + "extra_edge_column_chance": 0.2, + "ground_state": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "create:crimsite" + } + }, + "replaceable": "#ad_astra:venus_stone_replaceables", + "surface": "floor", + "vegetation_chance": 0.4, + "vegetation_feature": { + "feature": { + "type": "minecraft:block_column", + "config": { + "allowed_placement": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction": "up", + "layers": [ + { + "height": { + "type": "minecraft:weighted_list", + "distribution": [ + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 3, + "min_inclusive": 0 + } + }, + "weight": 5 + }, + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 7, + "min_inclusive": 1 + } + }, + "weight": 1 + } + ] + }, + "provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "create:crimsite" + } + } + } + ], + "prioritize_tip": true + } + }, + "placement": [] + }, + "vertical_range": 5, + "xz_radius": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_crackrack.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_crackrack.json new file mode 100644 index 000000000..b42fe220e --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_crackrack.json @@ -0,0 +1,55 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "count", + "values": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 1, + "max_inclusive": 3 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:loose/crackrack" + } + } + } + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:has_sturdy_face", + "offset": [ 0, -1, 0 ], + "direction": "down" + } + ] + } + } + ] + }, + "tries": 8, + "xz_spread": 7, + "y_spread": 1 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scorchia.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scorchia.json new file mode 100644 index 000000000..040d64b68 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scorchia.json @@ -0,0 +1,55 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "count", + "values": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 1, + "max_inclusive": 3 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:loose/scorchia" + } + } + } + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:has_sturdy_face", + "offset": [ 0, -1, 0 ], + "direction": "down" + } + ] + } + } + ] + }, + "tries": 8, + "xz_spread": 7, + "y_spread": 1 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scoria.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scoria.json new file mode 100644 index 000000000..406c92329 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scoria.json @@ -0,0 +1,55 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:randomized_int_state_provider", + "property": "count", + "values": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 1, + "max_inclusive": 3 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:loose/scoria" + } + } + } + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:has_sturdy_face", + "offset": [ 0, -1, 0 ], + "direction": "down" + } + ] + } + } + ] + }, + "tries": 8, + "xz_spread": 7, + "y_spread": 1 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/ochrum_spikes.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/ochrum_spikes.json new file mode 100644 index 000000000..a1ea43be6 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/ochrum_spikes.json @@ -0,0 +1,80 @@ +{ + "type": "minecraft:vegetation_patch", + "config": { + "depth": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + }, + "extra_bottom_block_chance": 0, + "extra_edge_column_chance": 0.2, + "ground_state": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "create:ochrum" + } + }, + "replaceable": "#ad_astra:venus_stone_replaceables", + "surface": "floor", + "vegetation_chance": 0.4, + "vegetation_feature": { + "feature": { + "type": "minecraft:block_column", + "config": { + "allowed_placement": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction": "up", + "layers": [ + { + "height": { + "type": "minecraft:weighted_list", + "distribution": [ + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 0 + } + }, + "weight": 5 + }, + { + "data": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 5, + "min_inclusive": 1 + } + }, + "weight": 1 + } + ] + }, + "provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "create:ochrum" + } + } + } + ], + "prioritize_tip": true + } + }, + "placement": [] + }, + "vertical_range": 5, + "xz_radius": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_columns.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_columns.json similarity index 100% rename from kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_columns.json rename to kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_columns.json diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_disk.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_disk.json similarity index 100% rename from kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_disk.json rename to kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_disk.json diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_tube_worms.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_tube_worms.json similarity index 100% rename from kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_tube_worms.json rename to kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_tube_worms.json diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_vents.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_vents.json similarity index 100% rename from kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_vents.json rename to kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_vents.json diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_salt.json b/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_salt.json index 375a552e5..fb68763cf 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_salt.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_salt.json @@ -148,6 +148,52 @@ "weight": 5 } ] + }, + { + "replace": [ + "betterend:flavolite" + ], + "with": [ + { + "block": "gtceu:flavolite_salt_ore", + "weight": 80 + }, + { + "block": "gtceu:flavolite_rock_salt_ore", + "weight": 10 + }, + { + "block": "gtceu:flavolite_lepidolite_ore", + "weight": 5 + }, + { + "block": "gtceu:flavolite_spodumene_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "betterend:sandy_jadestone" + ], + "with": [ + { + "block": "gtceu:sandy_jadestone_salt_ore", + "weight": 80 + }, + { + "block": "gtceu:sandy_jadestone_rock_salt_ore", + "weight": 10 + }, + { + "block": "gtceu:sandy_jadestone_lepidolite_ore", + "weight": 5 + }, + { + "block": "gtceu:sandy_jadestone_spodumene_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_sulfur.json b/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_sulfur.json index acc09cbcb..6555775b3 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_sulfur.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/vein/venus_manual_sulfur.json @@ -123,6 +123,44 @@ "weight": 5 } ] + }, + { + "replace": [ + "betterend:flavolite" + ], + "with": [ + { + "block": "gtceu:flavolite_sulfur_ore", + "weight": 80 + }, + { + "block": "gtceu:flavolite_pyrite_ore", + "weight": 15 + }, + { + "block": "gtceu:flavolite_sphalerite_ore", + "weight": 5 + } + ] + }, + { + "replace": [ + "betterend:sandy_jadestone" + ], + "with": [ + { + "block": "gtceu:sandy_jadestone_sulfur_ore", + "weight": 80 + }, + { + "block": "gtceu:sandy_jadestone_pyrite_ore", + "weight": 15 + }, + { + "block": "gtceu:sandy_jadestone_sphalerite_ore", + "weight": 5 + } + ] } ], "indicator": { @@ -130,7 +168,20 @@ "depth": 30, "underground_rarity": 40, "underground_count": 200, - "blocks": [] + "blocks": [ + { + "block": "gtceu:sulfur_indicator", + "weight": 80 + }, + { + "block": "gtceu:pyrite_indicator", + "weight": 15 + }, + { + "block": "tfc:ore/small_sphalerite", + "weight": 5 + } + ] } } } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json index 50fead7fc..36a967625 100644 --- a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json +++ b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json @@ -323,7 +323,7 @@ "then_run": { "type": "minecraft:block", "result_state": { - "Name": "betterend:flavolite" + "Name": "minecraft:tuff" } } } @@ -349,13 +349,16 @@ "raw_rock_weight": 20, "palette": [ { "Name": "create:ochrum" }, - { "Name": "betterend:sandy_jadestone" }, - { "Name": "betterend:sandy_jadestone" }, + { "Name": "create:ochrum" }, + { "Name": "tfg:rock/hardened_scoria" }, + { "Name": "tfg:rock/hardened_scorchia" }, { "Name": "betterend:sandy_jadestone" }, { "Name": "betterend:sandy_jadestone" }, { "Name": "betterend:flavolite" }, { "Name": "betterend:flavolite" }, - { "Name": "betterend:flavolite" } + { "Name": "minecraft:tuff" }, + { "Name": "tfc:rock/raw/basalt" }, + { "Name": "ad_astra:venus_stone" } ], "fallback": { "Name": "ad_astra:venus_stone" @@ -544,7 +547,7 @@ "then_run": { "type": "minecraft:block", "result_state": { - "Name": "create:scorchia" + "Name": "tfg:rock/hardened_scorchia" } } } diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/adakite_spikes.json b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/adakite_spikes.json new file mode 100644 index 000000000..c8b439c68 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/adakite_spikes.json @@ -0,0 +1,23 @@ +{ + "feature": "tfg:venus/surface/adakite_spikes", + "placement": [ + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:rarity_filter", + "chance": 3 + }, + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:heightmap", + "heightmap": "MOTION_BLOCKING" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/crimsite_spikes.json b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/crimsite_spikes.json new file mode 100644 index 000000000..8e6070cab --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/crimsite_spikes.json @@ -0,0 +1,23 @@ +{ + "feature": "tfg:venus/surface/crimsite_spikes", + "placement": [ + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:rarity_filter", + "chance": 4 + }, + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:heightmap", + "heightmap": "MOTION_BLOCKING" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_crackrack.json b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_crackrack.json new file mode 100644 index 000000000..5d1fe5881 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_crackrack.json @@ -0,0 +1,12 @@ +{ + "feature": "tfg:venus/surface/loose_crackrack", + "placement": [ + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:in_square" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_scorchia.json b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_scorchia.json new file mode 100644 index 000000000..244e2e670 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_scorchia.json @@ -0,0 +1,12 @@ +{ + "feature": "tfg:venus/surface/loose_scorchia", + "placement": [ + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:in_square" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_scoria.json b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_scoria.json new file mode 100644 index 000000000..ac76c0dba --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/loose_scoria.json @@ -0,0 +1,12 @@ +{ + "feature": "tfg:venus/surface/loose_scoria", + "placement": [ + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:in_square" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/ochrum_spikes.json b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/ochrum_spikes.json new file mode 100644 index 000000000..121e57bd7 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/ochrum_spikes.json @@ -0,0 +1,23 @@ +{ + "feature": "tfg:venus/surface/ochrum_spikes", + "placement": [ + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:rarity_filter", + "chance": 8 + }, + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:heightmap", + "heightmap": "MOTION_BLOCKING" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_spring_rare.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_spring_rare.json new file mode 100644 index 000000000..fc484f739 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_spring_rare.json @@ -0,0 +1,12 @@ +{ + "feature": "tfg:venus/terrain/lava_spring", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 40 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent.json index eadd12694..01b0d8c21 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent.json +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent.json @@ -4,19 +4,19 @@ "config": { "features": [ { - "feature": "tfg:venus/terrain/ignimbrite_disk", + "feature": "tfg:venus/terrain/thermal_disk", "placement": [] }, { - "feature": "tfg:venus/terrain/ignimbrite_columns", + "feature": "tfg:venus/terrain/thermal_columns", "placement": [] }, { - "feature": "tfg:venus/terrain/ignimbrite_vents", + "feature": "tfg:venus/terrain/thermal_vents", "placement": [] }, { - "feature": "tfg:venus/terrain/ignimbrite_tube_worms", + "feature": "tfg:venus/terrain/thermal_tube_worms", "placement": [] } ] diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent_rare.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent_rare.json index fa99f779f..ae2633784 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent_rare.json +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent_rare.json @@ -4,19 +4,19 @@ "config": { "features": [ { - "feature": "tfg:venus/terrain/ignimbrite_disk", + "feature": "tfg:venus/terrain/thermal_disk", "placement": [] }, { - "feature": "tfg:venus/terrain/ignimbrite_columns", + "feature": "tfg:venus/terrain/thermal_columns", "placement": [] }, { - "feature": "tfg:venus/terrain/ignimbrite_vents", + "feature": "tfg:venus/terrain/thermal_vents", "placement": [] }, { - "feature": "tfg:venus/terrain/ignimbrite_tube_worms", + "feature": "tfg:venus/terrain/thermal_tube_worms", "placement": [] } ] diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js index 3d554382d..e7a130957 100644 --- a/kubejs/server_scripts/tfg/mars/tags.mars.js +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -394,6 +394,7 @@ function registerTFGMarsEntityTypeTags(event) { 'species:springling', 'species:quake', 'species:stackatick', + 'minecraft:enderman', 'endermanoverhaul:crimson_forest_enderman', 'endermanoverhaul:warped_forest_enderman', 'endermanoverhaul:badlands_enderman', diff --git a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js index fdc774c8b..01a941a77 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js +++ b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js @@ -278,8 +278,6 @@ function registerTFGStoneBlockTags(event) { if (rock.raw != null) { event.add('forge:stone', rock.raw.block) - event.add('tfc:breaks_when_isolated', rock.raw.block) - event.add('tfc:rock/raw', rock.raw.block) event.add('minecraft:mineable/pickaxe', rock.raw.block) event.add('tfc:can_carve', rock.raw.block) event.add('tfc:powderkeg_breaking_blocks', rock.raw.block) @@ -288,11 +286,13 @@ function registerTFGStoneBlockTags(event) { event.add('tfc:forge_insulation', rock.raw.block) if (rock.collapsible && rock.cobble != null) { + event.add('tfc:rock/raw', rock.raw.block) // Collapse tags also require a collapse recipe to work. // Don't add the recipe if you don't want them to actually collapse! event.add('tfc:can_collapse', rock.raw.block) event.add('tfc:can_trigger_collapse', rock.raw.block) event.add('tfc:can_start_collapse', rock.raw.block) + event.add('tfc:breaks_when_isolated', rock.raw.block) } SHAPES.forEach(shape => { diff --git a/kubejs/server_scripts/tfg/venus/tags.venus.js b/kubejs/server_scripts/tfg/venus/tags.venus.js index 7b480c219..15dd2188b 100644 --- a/kubejs/server_scripts/tfg/venus/tags.venus.js +++ b/kubejs/server_scripts/tfg/venus/tags.venus.js @@ -61,6 +61,12 @@ function registerTFGVenusBlockTags(event) { event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/quartzite') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/quartzite') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/gravel/quartzite') + event.add('ad_astra:venus_stone_replaceables', 'betterend:flavolite') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_flavolite') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/gravel_flavolite') + event.add('ad_astra:venus_stone_replaceables', 'betterend:sandy_jadestone') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_sandy_jadestone') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/gravel_sandy_jadestone') event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/blue') event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/blue') event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/green') @@ -79,6 +85,7 @@ function registerTFGVenusBlockTags(event) { event.add('ad_astra:venus_stone_replaceables', 'tfc:raw_sandstone/black') event.add('ad_astra:venus_stone_replaceables', 'create:scoria') event.add('ad_astra:venus_stone_replaceables', 'create:scorchia') + event.add('ad_astra:venus_stone_replaceables', 'ad_astra:conglomerate') event.add('ad_astra:venus_stone_replaceables', 'minecraft:tuff') event.add('ad_astra:venus_stone_replaceables', 'minecraft:basalt') event.add('ad_astra:venus_stone_replaceables', 'minecraft:smooth_basalt') @@ -91,16 +98,22 @@ function registerTFGVenusBlockTags(event) { event.add('ad_astra:venus_stone_replaceables', 'betterend:lucernia_bark') event.add('tfc:can_carve', '#ad_astra:venus_stone_replaceables') + event.add('minecraft:animals_spawnable_on', '#ad_astra:venus_stone_replaceables') - event.add("tfc:monster_spawns_on", "create:scorchia"); - event.add("tfc:monster_spawns_on", "minecraft:basalt"); - event.add("tfc:monster_spawns_on", "minecraft:smooth_basalt"); + event.add("tfc:monster_spawns_on", "create:scorchia"); + event.add("tfc:monster_spawns_on", "create:scoria"); + event.add("tfc:monster_spawns_on", "minecraft:basalt"); + event.add("tfc:monster_spawns_on", "minecraft:smooth_basalt"); event.add("minecraft:strider_warm_blocks", "create:scorchia"); + event.add("minecraft:strider_warm_blocks", "tfg:rock/hardened_scorchia"); event.add("minecraft:strider_warm_blocks", "minecraft:basalt"); event.add("minecraft:strider_warm_blocks", "minecraft:smooth_basalt"); event.add("minecraft:strider_warm_blocks", 'tfc:rock/raw/basalt'); event.add("minecraft:strider_warm_blocks", 'tfc:rock/magma/basalt'); + event.add("minecraft:strider_warm_blocks", 'tfc:rock/hardened/basalt'); + event.add("minecraft:strider_warm_blocks", 'beneath:crackrack'); + event.add("minecraft:strider_warm_blocks", '#minecraft:infiniburn_nether'); event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/blue') event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/green') diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index ad6c1828c..8084f8658 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -427,7 +427,9 @@ global.ORE_BEARING_STONES = /** @type {const} */ ([ "venus_stone", "mercury_stone", "glacio_stone", - "red_granite" + "red_granite", + "flavolite", + "sandy_jadestone" ]); //#endregion diff --git a/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js b/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js index 5e13faaa9..0154cb35a 100644 --- a/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js +++ b/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js @@ -1051,7 +1051,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ "ochrum": { material: 'ochrum', collapsible: false, - dimensions: ['ad_astra:mars'], + dimensions: ['ad_astra:mars', 'ad_astra:venus'], pillar: 'create:ochrum_pillar', pillar2: 'create:layered_ochrum', stonecutterTag: 'create:stone_types/ochrum', @@ -1066,7 +1066,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ "crimsite": { material: 'crimsite', collapsible: false, - dimensions: ['ad_astra:venus'], + dimensions: ['ad_astra:venus', 'ad_astra:mercury'], pillar: 'create:crimsite_pillar', pillar2: 'create:layered_crimsite', stonecutterTag: 'create:stone_types/crimsite', diff --git a/kubejs/startup_scripts/tfg/stone_types/tag_prefixes.rocks.js b/kubejs/startup_scripts/tfg/stone_types/tag_prefixes.rocks.js index 0595b7243..594ddc170 100644 --- a/kubejs/startup_scripts/tfg/stone_types/tag_prefixes.rocks.js +++ b/kubejs/startup_scripts/tfg/stone_types/tag_prefixes.rocks.js @@ -128,4 +128,22 @@ const registerTFGRocksTagPrefixes = (event) => { .generationCondition(shouldGenerateOre) TFGHelpers.registerCobbleBlock('red_granite', 'gtceu:red_granite_cobblestone'); + + event.create('flavolite', 'ore') + .stateSupplier(() => Block.getBlock('tfg:rock/hardened_flavolite').defaultBlockState()) + .baseModelLocation('betterend:block/flavolite') + .unificationEnabled(true) + .materialIconType(GTMaterialIconType.ore) + .generationCondition(shouldGenerateOre) + + TFGHelpers.registerCobbleBlock('flavolite', 'tfg:rock/cobble_flavolite'); + + event.create('sandy_jadestone', 'ore') + .stateSupplier(() => Block.getBlock('tfg:rock/hardened_sandy_jadestone').defaultBlockState()) + .baseModelLocation('betterend:block/sandy_jadestone') + .unificationEnabled(true) + .materialIconType(GTMaterialIconType.ore) + .generationCondition(shouldGenerateOre) + + TFGHelpers.registerCobbleBlock('sandy_jadestone', 'tfg:rock/cobble_sandy_jadestone'); } \ No newline at end of file From 5aa82d80afbd648d164d09a51e359ba1496aa148 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 01:34:00 +0000 Subject: [PATCH 356/474] make chorus flowers drop 100% of the time, but now more are required --- .../data/tfg/loot_tables/blocks/lunar_chorus_flower.json | 8 +------- .../server_scripts/tfg/aquaponics/recipes.greenhouse.js | 4 ++-- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/kubejs/data/tfg/loot_tables/blocks/lunar_chorus_flower.json b/kubejs/data/tfg/loot_tables/blocks/lunar_chorus_flower.json index 8aa73cbbc..8c24b4f7b 100644 --- a/kubejs/data/tfg/loot_tables/blocks/lunar_chorus_flower.json +++ b/kubejs/data/tfg/loot_tables/blocks/lunar_chorus_flower.json @@ -37,13 +37,7 @@ "entries": [ { "type": "minecraft:item", - "name": "tfg:lunar_chorus_flower", - "conditions": [ - { - "condition": "minecraft:random_chance", - "chance": 0.2 - } - ] + "name": "tfg:lunar_chorus_flower" } ], "conditions": [ diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js index 6e651e58b..aeeee27df 100644 --- a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js @@ -579,8 +579,8 @@ const registerTFGGreenhouseRecipes = (event) => { generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:shadow_berry_seeds', 'betterend:shadow_berry_product', null, 1); // Moon Plants - generateGreenHouseRecipe(event, 'ad_astra:moon', '8x tfg:lunar_chorus_flower', [ - '64x minecraft:chorus_fruit', '8x minecraft:chorus_fruit', '8x tfg:lunar_chorus_flower', '8x tfg:lunar_chorus_flower' + generateGreenHouseRecipe(event, 'ad_astra:moon', '16x tfg:lunar_chorus_flower', [ + '64x minecraft:chorus_fruit', '8x minecraft:chorus_fruit', '4x tfg:lunar_chorus_flower', '4x tfg:lunar_chorus_flower' ], 1, 1); generateGreenHouseRecipe(event, 'ad_astra:moon', '8x minecraft:twisting_vines', [ '16x minecraft:twisting_vines', '8x minecraft:pearlescent_froglight', '8x minecraft:verdant_froglight', '8x minecraft:ochre_froglight' From 8fd7cf38474739e7771773e0248047a4f362c66a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 01:34:28 +0000 Subject: [PATCH 357/474] improvements to jagged tablelands + some skew for the rock layers --- .../biome/venus/jagged_tablelands.json | 8 ++-- .../venus/terrain/adakite_column.json | 30 +++++++++++++ .../venus/terrain/adakite_column.json | 4 ++ .../tfg/worldgen/events.chunks.js | 45 ++++++------------- 4 files changed, 52 insertions(+), 35 deletions(-) create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/adakite_column.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/adakite_column.json diff --git a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json index acabee994..eac86146f 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json +++ b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json @@ -43,7 +43,9 @@ "tfg:venus/terrain/lava_spring_rare", "tfc:random_empty_hot_spring" ], - [], + [ + "tfg:venus/terrain/adakite_column" + ], [], [], "#tfg:venus_veins", @@ -102,8 +104,8 @@ "charge": 0.7 }, "minecraft:magma_cube": { - "energy_budget": 0.15, - "charge": 0.7 + "energy_budget": 0.03, + "charge": 0.10 }, "arthropocolypse:millipede_head": { "energy_budget": 0.05, diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/adakite_column.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/adakite_column.json new file mode 100644 index 000000000..08b7f018f --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/adakite_column.json @@ -0,0 +1,30 @@ +{ + "type": "tfc:pipe_vein", + "config": { + "height": 120, + "radius": 4, + "min_skew": 0, + "max_skew": 2, + "min_slant": 0, + "max_slant": 2, + "sign": 0, + "rarity": 80, + "density": 0.99, + "min_y": 60, + "max_y": 180, + "random_name": "adakite_column", + "blocks": [ + { + "replace": [ + "minecraft:air" + ], + "with": [ + { + "block": "betterend:lacugrove_bark", + "weight": 1 + } + ] + } + ] + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/adakite_column.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/adakite_column.json new file mode 100644 index 000000000..7a7c2c0f0 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/adakite_column.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:venus/terrain/adakite_column", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/worldgen/events.chunks.js b/kubejs/server_scripts/tfg/worldgen/events.chunks.js index 1caa80b20..edf85128b 100644 --- a/kubejs/server_scripts/tfg/worldgen/events.chunks.js +++ b/kubejs/server_scripts/tfg/worldgen/events.chunks.js @@ -58,10 +58,13 @@ let forestWeirdnessNoise = TFC.misc.newOpenSimplex2D(3210378120) .map(i => 1.1 * Math.abs(i)) .clamped(0, 1) +let cellularNoise = TFC.misc.cellular3D(678965856); + //TFC.misc.register2DNoiseForInspection('temp', tempLayer) //TFC.misc.register2DNoiseForInspection('rain', rainLayer) //TFC.misc.register2DNoiseForInspection('forestType', forestDensityNoise) //TFC.misc.register2DNoiseForInspection('forestWeirdness', forestWeirdnessNoise) +TFC.misc.register3DNoiseForInspection('cellular', cellularNoise); // Forest layer let forestLayerNoise = TFC.misc.newOpenSimplex2D(3210378120) @@ -126,41 +129,17 @@ TFCEvents.createChunkDataProvider('mars', event => { }); event.rocks((x, y, z, surfaceY, cache, rockSettings) => { - return rockSettings.sampleAtLayer(rockLayer.getAt(x, z), (surfaceY - y) / ROCK_LAYER_HEIGHT); + let skew = y / 8; + return rockSettings.sampleAtLayer(rockLayer.getAt(x + skew, z + skew), (surfaceY - y) / ROCK_LAYER_HEIGHT); }); }) TFCEvents.createChunkDataProvider('venus', event => { + const emptyLayer = TFC.misc.lerpFloatLayer(0, 0, 0, 0); + event.partial((data, chunk) => { - let x = chunk.pos.minBlockX; - let z = chunk.pos.minBlockZ; - - const avgTemp1 = calcAverage(z, global.VENUS_PLANET_SIZE, 0, 100) - const avgTemp2 = calcAverage(z + 15, global.VENUS_PLANET_SIZE, 0, 100) - const avgRain1 = calcAverage(x, global.VENUS_PLANET_SIZE, 0, 100) - const avgRain2 = calcAverage(x + 15, global.VENUS_PLANET_SIZE, 0, 100) - - let rain = TFC.misc.lerpFloatLayer( - avgRain1 + rainLayer.noise(x, z), - avgRain1 + rainLayer.noise(x, z + 15), - avgRain2 + rainLayer.noise(x + 15, z), - avgRain2 + rainLayer.noise(x + 15, z + 15) - ); - let temp = TFC.misc.lerpFloatLayer( - avgTemp1 + tempLayer.noise(x, z), - avgTemp1 + tempLayer.noise(x, z + 15), - avgTemp2 + tempLayer.noise(x + 15, z), - avgTemp2 + tempLayer.noise(x + 15, z + 15) - ); - - data.generatePartial( - rain, - temp, - floatToForestType(forestLayerNoise.noise(x, z)), - forestWeirdnessNoise.noise(x, z), // forest weirdness - forestDensityNoise.noise(x, z) // forest density - ); - }); + data.generatePartial(emptyLayer, emptyLayer, 0, 0, 0) + }) event.full((data, chunk) => { let heights = []; @@ -173,7 +152,8 @@ TFCEvents.createChunkDataProvider('venus', event => { }); event.rocks((x, y, z, surfaceY, cache, rockSettings) => { - return rockSettings.sampleAtLayer(rockLayer.getAt(x, z), (surfaceY - y) / ROCK_LAYER_HEIGHT); + let skew = y / 6; + return rockSettings.sampleAtLayer(rockLayer.getAt(x + skew, z + skew), (surfaceY - y) / ROCK_LAYER_HEIGHT); }); }) @@ -220,7 +200,8 @@ TFCEvents.createChunkDataProvider('glacio', event => { }); event.rocks((x, y, z, surfaceY, cache, rockSettings) => { - return rockSettings.sampleAtLayer(rockLayer.getAt(x, z), (surfaceY - y) / ROCK_LAYER_HEIGHT); + let skew = y / 8; + return rockSettings.sampleAtLayer(rockLayer.getAt(x + skew, z + skew), (surfaceY - y) / ROCK_LAYER_HEIGHT); }); }) From c5248e685b30bb45eeccc17b1fe3b4206a318c04 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 03:04:49 +0000 Subject: [PATCH 358/474] update cl --- CHANGELOG.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 81dcdd4e4..ac87af9a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,9 +54,10 @@ - More plants have been added for production. @Redeix & @thederpysockdude123 - The EGH and the Pisciculture recipes now require 50% less energy #### Other major changes -- Added much more music to the different dimensions @Pyritie -- Added new advanced GTCEu Terminals @TomPlop +- The railgun should actually work on servers now! (#2820, #2702, #2030, #2031, #2057, #2010) @gustovafing - Added two-person rockets! @BlueBoat29 +- Added new advanced GTCEu Terminals @TomPlop +- Added much more music to the different dimensions @Pyritie ### Changes - Vanadium magnetite is now usable as an iron ore for TFC purposes (#2834) @Pyritie - Paracetamol now cures a small amount of the Radioactive condition, and RadAway now cures everything completely @Pyritie From e6d2b900663de4d2eaa81c315955df384f95ced6 Mon Sep 17 00:00:00 2001 From: Gustavo <77560533+gustovafing@users.noreply.github.com> Date: Tue, 3 Feb 2026 14:09:15 +1100 Subject: [PATCH 359/474] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac87af9a9..8d6749064 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,7 +54,7 @@ - More plants have been added for production. @Redeix & @thederpysockdude123 - The EGH and the Pisciculture recipes now require 50% less energy #### Other major changes -- The railgun should actually work on servers now! (#2820, #2702, #2030, #2031, #2057, #2010) @gustovafing +- The railgun should actually work on servers now! (#2820, #2702, #2030, #2031, #2057, #2010) @gustovafing, @asere - Added two-person rockets! @BlueBoat29 - Added new advanced GTCEu Terminals @TomPlop - Added much more music to the different dimensions @Pyritie From a8e1ba1c6ac9188a13935c486713738c3f02098d Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Mon, 2 Feb 2026 21:10:49 -0600 Subject: [PATCH 360/474] add in some minor bugfixes Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d6749064..e36b32040 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -106,7 +106,8 @@ - Fixed a concrete dupe (#2948) and some other stone-related recycling recipes @Pyritie - Fixed the rendering of adjacent large martian nests @Mqrius - Fixed the interdimensional wireless card so it should actually work again (the crafting requests aren't fixed yet though) @Mqrius -- Fixed the position of the dimension indicator on recipes that are valid on multiple dimensions +- Fixed the position of the dimension indicator on recipes that are valid on multiple dimensions @BlueBoat29 +- Fixed rockets breaking when you were carrying something @BlueBoat29 ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare From 92a4574c88d2aec9e6fe65fc30e71131f01892ee Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 11:50:05 +0000 Subject: [PATCH 361/474] fix a dupe with hp steam miners/rock breakers --- CHANGELOG.md | 3 ++- kubejs/server_scripts/gregtech/recipes.machines.js | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac87af9a9..71ee9b074 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -106,7 +106,8 @@ - Fixed a concrete dupe (#2948) and some other stone-related recycling recipes @Pyritie - Fixed the rendering of adjacent large martian nests @Mqrius - Fixed the interdimensional wireless card so it should actually work again (the crafting requests aren't fixed yet though) @Mqrius -- Fixed the position of the dimension indicator on recipes that are valid on multiple dimensions +- Fixed the position of the dimension indicator on recipes that are valid on multiple dimensions @BlueBoat29 +- Fixed a rare crash with beneath to overworld teleporting @Lolens ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index cb93b4faa..89709a1e6 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -419,7 +419,8 @@ function registerGTCEuMachineRecipes(event) { C: '#forge:drill_heads', D: ChemicalHelper.get(TagPrefix.rod, GTMaterials.WroughtIron, 1), E: ChemicalHelper.get(TagPrefix.screw, GTMaterials.WroughtIron, 1) - }).addMaterialInfo().id('gtceu:shaped/steam_rock_breaker_steel') + }).id('gtceu:shaped/steam_rock_breaker_steel') + TFGHelpers.registerMaterialInfo('gtceu:hp_steam_rock_crusher', [GTMaterials.WroughtIron, 6.5, GTMaterials.TinAlloy, 2]) removeMaceratorRecipe(event, 'macerate_hp_steam_miner') event.recipes.gtceu.shaped('gtceu:hp_steam_miner', [ @@ -433,7 +434,8 @@ function registerGTCEuMachineRecipes(event) { D: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 1), E: ChemicalHelper.get(TagPrefix.plate, GTMaterials.WroughtIron, 1), F: '#gtceu:circuits/ulv' - }).addMaterialInfo().id('gtceu:shaped/steam_miner_steel') + }).id('gtceu:shaped/steam_miner_steel') + TFGHelpers.registerMaterialInfo('gtceu:hp_steam_miner', [GTMaterials.WroughtIron, 7, GTMaterials.Steel, 1, GTMaterials.TinAlloy, 2]) //#endregion From c76c4a0f2f77fe044024a584b22f63fe5201de31 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 11:52:17 +0000 Subject: [PATCH 362/474] fix dupe with toolbelt and sns containers #2926 --- CHANGELOG.md | 3 + defaultconfigs/toolbelt-server.toml | 2 +- kubejs/data/ad_astra/dimension/venus.json | 126 +++++++++++----------- 3 files changed, 67 insertions(+), 64 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 71ee9b074..a1788c944 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -87,6 +87,7 @@ - All tools should now have TFC damage types (#2868) @Pyritie - TFC magma blocks, lightblooms, and bulbkins now correctly have emissive textures @Pyritie - Quivers can now also go in the belt curios slot (#2927) @Pyritie +- Various quest fixes and improvements @ashleney @Tinchik @TomPlop @Pyritie ### Bug fixes - Fixed being able to right-click crops with a scythe to harvest them (#1724) @Ujhik - Fixed large miners not outputting crushed ore when mining Migmatite @Pyritie @@ -108,6 +109,8 @@ - Fixed the interdimensional wireless card so it should actually work again (the crafting requests aren't fixed yet though) @Mqrius - Fixed the position of the dimension indicator on recipes that are valid on multiple dimensions @BlueBoat29 - Fixed a rare crash with beneath to overworld teleporting @Lolens +- Added Sacks 'n' Such's containers to the Toolbelt blacklist, preventing a dupe (#2926) @Pyritie +- Fixed a dupe with steam miner and steam rock crusher recycling @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 + @Nixieeunrare diff --git a/defaultconfigs/toolbelt-server.toml b/defaultconfigs/toolbelt-server.toml index 4da7870b0..47a11192c 100644 --- a/defaultconfigs/toolbelt-server.toml +++ b/defaultconfigs/toolbelt-server.toml @@ -3,7 +3,7 @@ #List of items to force-allow placing in the belt. Takes precedence over blacklist. whitelist = ["measurements:tape_measure"] #List of items to disallow from placing in the belt. (whitelist takes precedence) - blacklist = ["tfclunchbox:lunchbox", "tfclunchbox:cooling_lunchbox", "tfclunchbox:electric_lunchbox", "sophisticatedbackpacks:backpack", "sophisticatedbackpacks:iron_backpack", "sophisticatedbackpacks:gold_backpack", "sophisticatedbackpacks:diamond_backpack", "sophisticatedbackpacks:netherite_backpack", "tfc:ceramic/cyan_glazed_vessel", "tfc:ceramic/purple_glazed_vessel", "tfc:ceramic/blue_glazed_vessel", "tfc:ceramic/brown_glazed_vessel", "tfc:ceramic/green_glazed_vessel", "tfc:ceramic/red_glazed_vessel", "tfc:ceramic/black_glazed_vessel", "tfc:ceramic/large_vessel/gray", "tfc:ceramic/large_vessel/pink", "tfc:ceramic/large_vessel/lime", "tfc:ceramic/large_vessel/yellow", "tfc:ceramic/large_vessel/light_blue", "tfc:ceramic/large_vessel/magenta", "tfc:ceramic/large_vessel/orange", "tfc:ceramic/large_vessel/white", "tfc:ceramic/large_vessel", "tfc:ceramic/large_vessel/light_gray", "tfc:ceramic/large_vessel/cyan", "tfc:ceramic/large_vessel/purple", "tfc:ceramic/large_vessel/blue", "tfc:ceramic/large_vessel/brown", "tfc:ceramic/large_vessel/green", "tfc:ceramic/large_vessel/red", "tfc:ceramic/large_vessel/black", "tfc:ceramic/vessel", "tfc:ceramic/light_gray_glazed_vessel", "tfc:ceramic/gray_glazed_vessel", "tfc:ceramic/pink_glazed_vessel", "tfc:ceramic/lime_glazed_vessel", "tfc:ceramic/yellow_glazed_vessel", "tfc:ceramic/light_blue_glazed_vessel", "tfc:ceramic/magenta_glazed_vessel", "tfc:ceramic/orange_glazed_vessel", "tfc:ceramic/white_glazed_vessel"] + blacklist = ["tfclunchbox:lunchbox", "tfclunchbox:cooling_lunchbox", "tfclunchbox:electric_lunchbox", "sophisticatedbackpacks:backpack", "sophisticatedbackpacks:iron_backpack", "sophisticatedbackpacks:gold_backpack", "sophisticatedbackpacks:diamond_backpack", "sophisticatedbackpacks:netherite_backpack", "tfc:ceramic/cyan_glazed_vessel", "tfc:ceramic/purple_glazed_vessel", "tfc:ceramic/blue_glazed_vessel", "tfc:ceramic/brown_glazed_vessel", "tfc:ceramic/green_glazed_vessel", "tfc:ceramic/red_glazed_vessel", "tfc:ceramic/black_glazed_vessel", "tfc:ceramic/large_vessel/gray", "tfc:ceramic/large_vessel/pink", "tfc:ceramic/large_vessel/lime", "tfc:ceramic/large_vessel/yellow", "tfc:ceramic/large_vessel/light_blue", "tfc:ceramic/large_vessel/magenta", "tfc:ceramic/large_vessel/orange", "tfc:ceramic/large_vessel/white", "tfc:ceramic/large_vessel", "tfc:ceramic/large_vessel/light_gray", "tfc:ceramic/large_vessel/cyan", "tfc:ceramic/large_vessel/purple", "tfc:ceramic/large_vessel/blue", "tfc:ceramic/large_vessel/brown", "tfc:ceramic/large_vessel/green", "tfc:ceramic/large_vessel/red", "tfc:ceramic/large_vessel/black", "tfc:ceramic/vessel", "tfc:ceramic/light_gray_glazed_vessel", "tfc:ceramic/gray_glazed_vessel", "tfc:ceramic/pink_glazed_vessel", "tfc:ceramic/lime_glazed_vessel", "tfc:ceramic/yellow_glazed_vessel", "tfc:ceramic/light_blue_glazed_vessel", "tfc:ceramic/magenta_glazed_vessel", "tfc:ceramic/orange_glazed_vessel", "tfc:ceramic/white_glazed_vessel", "sns:burlap_sack", "sns:frame_pack", "sns:leather_sack", "sns:ore_sack", "sns:quiver", "sns:seed_pouch", "sns:straw_basket"] #When set to false, stackable items will no longer be allowed by default. allowAllNonStackableItems = true diff --git a/kubejs/data/ad_astra/dimension/venus.json b/kubejs/data/ad_astra/dimension/venus.json index f27fbe150..bdbd37c82 100644 --- a/kubejs/data/ad_astra/dimension/venus.json +++ b/kubejs/data/ad_astra/dimension/venus.json @@ -176,7 +176,7 @@ "temperature": 0, "humidity": 0, "continentalness": -1, - "erosion": -0.05, + "erosion": 0.05, "weirdness": -0.2, "depth": 0, "offset": 0 @@ -188,7 +188,7 @@ "temperature": 0, "humidity": 0, "continentalness": -1, - "erosion": -0.05, + "erosion": 0.05, "weirdness": 0, "depth": 0, "offset": 0 @@ -200,7 +200,7 @@ "temperature": 0, "humidity": 0, "continentalness": -1, - "erosion": -0.05, + "erosion": 0.05, "weirdness": 0.2, "depth": 0, "offset": 0 @@ -250,7 +250,7 @@ "temperature": 0, "humidity": 0, "continentalness": -0.47, - "erosion": -0.05, + "erosion": 0.05, "weirdness": -0.2, "depth": 0, "offset": 0 @@ -262,7 +262,7 @@ "temperature": 0, "humidity": 0, "continentalness": -0.47, - "erosion": -0.05, + "erosion": 0.05, "weirdness": 0, "depth": 0, "offset": 0 @@ -274,7 +274,7 @@ "temperature": 0, "humidity": 0, "continentalness": -0.47, - "erosion": -0.05, + "erosion": 0.05, "weirdness": 0.2, "depth": 0, "offset": 0 @@ -324,7 +324,7 @@ "temperature": 0, "humidity": 0, "continentalness": -0.44, - "erosion": -0.05, + "erosion": 0.05, "depth": 0, "weirdness": -0.2, "offset": 0 @@ -336,7 +336,7 @@ "temperature": 0, "humidity": 0, "continentalness": -0.44, - "erosion": -0.05, + "erosion": 0.05, "depth": 0, "weirdness": 0, "offset": 0 @@ -348,7 +348,7 @@ "temperature": 0, "humidity": 0, "continentalness": -0.44, - "erosion": -0.05, + "erosion": 0.05, "depth": 0, "weirdness": 0.2, "offset": 0 @@ -398,8 +398,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.39, - "erosion": -0.05, + "continentalness": -0.315, + "erosion": 0.05, "depth": 0, "weirdness": -0.2, "offset": 0 @@ -410,8 +410,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.39, - "erosion": -0.05, + "continentalness": -0.315, + "erosion": 0.05, "depth": 0, "weirdness": 0, "offset": 0 @@ -422,8 +422,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.39, - "erosion": -0.05, + "continentalness": -0.315, + "erosion": 0.05, "depth": 0, "weirdness": 0.2, "offset": 0 @@ -435,7 +435,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.39, + "continentalness": -0.315, "erosion": 0.05, "depth": 0, "weirdness": -0.2, @@ -447,7 +447,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.39, + "continentalness": -0.315, "erosion": 0.05, "depth": 0, "weirdness": 0, @@ -459,7 +459,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.39, + "continentalness": -0.315, "erosion": 0.05, "depth": 0, "weirdness": 0.2, @@ -474,7 +474,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.375, + "continentalness": -0.3, "erosion": 0.05, "depth": 0, "weirdness": -0.2, @@ -486,7 +486,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.375, + "continentalness": -0.3, "erosion": 0.05, "depth": 0, "weirdness": 0, @@ -498,7 +498,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.375, + "continentalness": -0.3, "erosion": 0.05, "depth": 0, "weirdness": 0.2, @@ -511,7 +511,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.1, + "continentalness": 0, "erosion": 0.05, "depth": 0, "weirdness": -0.2, @@ -523,7 +523,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.1, + "continentalness": 0, "erosion": 0.05, "depth": 0, "weirdness": 0, @@ -535,7 +535,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.1, + "continentalness": 0, "erosion": 0.05, "depth": 0, "weirdness": 0.2, @@ -550,8 +550,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.375, - "erosion": -0.05, + "continentalness": -0.3, + "erosion": 0.05, "depth": 0, "weirdness": -0.2, "offset": 0.0 @@ -562,8 +562,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.375, - "erosion": -0.05, + "continentalness": -0.3, + "erosion": 0.05, "depth": 0, "weirdness": 0, "offset": 0.0 @@ -574,8 +574,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.375, - "erosion": -0.05, + "continentalness": -0.3, + "erosion": 0.05, "depth": 0, "weirdness": 0.2, "offset": 0.0 @@ -587,8 +587,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.1, - "erosion": -0.05, + "continentalness": 0, + "erosion": 0.05, "depth": 0, "weirdness": -0.2, "offset": 0.0 @@ -599,8 +599,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.1, - "erosion": -0.05, + "continentalness": 0, + "erosion": 0.05, "depth": 0, "weirdness": 0, "offset": 0.0 @@ -611,8 +611,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.1, - "erosion": -0.05, + "continentalness": 0, + "erosion": 0.05, "depth": 0, "weirdness": 0.2, "offset": 0.0 @@ -625,7 +625,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.05, + "continentalness": 0.05, "erosion": 0.05, "depth": 0, "weirdness": -0.2, @@ -637,7 +637,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.05, + "continentalness": 0.05, "erosion": 0.05, "depth": 0, "weirdness": 0, @@ -649,7 +649,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.05, + "continentalness": 0.05, "erosion": 0.05, "depth": 0, "weirdness": 0.2, @@ -662,7 +662,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.35, + "continentalness": 0.45, "erosion": 0.05, "depth": 0, "weirdness": -0.2, @@ -674,7 +674,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.35, + "continentalness": 0.45, "erosion": 0.05, "depth": 0, "weirdness": 0, @@ -686,7 +686,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.35, + "continentalness": 0.45, "erosion": 0.05, "depth": 0, "weirdness": 0.2, @@ -701,8 +701,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.05, - "erosion": -0.05, + "continentalness": 0.05, + "erosion": 0.05, "depth": 0, "weirdness": -0.2, "offset": 0.0 @@ -713,8 +713,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.05, - "erosion": -0.05, + "continentalness": 0.05, + "erosion": 0.05, "depth": 0, "weirdness": 0, "offset": 0.0 @@ -725,8 +725,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.05, - "erosion": -0.05, + "continentalness": 0.05, + "erosion": 0.05, "depth": 0, "weirdness": 0.2, "offset": 0.0 @@ -739,8 +739,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.35, - "erosion": -0.05, + "continentalness": 0.45, + "erosion": 0.05, "depth": 0, "weirdness": -0.2, "offset": 0.0 @@ -751,8 +751,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.35, - "erosion": -0.05, + "continentalness": 0.45, + "erosion": 0.05, "depth": 0, "weirdness": 0, "offset": 0.0 @@ -763,8 +763,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.35, - "erosion": -0.05, + "continentalness": 0.45, + "erosion": 0.05, "depth": 0, "weirdness": 0.2, "offset": 0.0 @@ -779,7 +779,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.4, + "continentalness": 0.5, "erosion": 0.05, "depth": 0, "weirdness": -0.2, @@ -791,7 +791,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.4, + "continentalness": 0.5, "erosion": 0.05, "depth": 0, "weirdness": 0, @@ -803,7 +803,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.4, + "continentalness": 0.5, "erosion": 0.05, "depth": 0, "weirdness": 0.2, @@ -817,8 +817,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.4, - "erosion": -0.05, + "continentalness": 0.5, + "erosion": 0.05, "depth": 0, "weirdness": -0.2, "offset": 0.0 @@ -829,8 +829,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.4, - "erosion": -0.05, + "continentalness": 0.5, + "erosion": 0.05, "depth": 0, "weirdness": 0, "offset": 0.0 @@ -841,8 +841,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.4, - "erosion": -0.05, + "continentalness": 0.5, + "erosion": 0.05, "depth": 0, "weirdness": 0.2, "offset": 0.0 From e7beb2763cbbf56ff02a4a1600b9df0bb4da8223 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 12:02:46 +0000 Subject: [PATCH 363/474] 0.11.19 --- config/crash_assistant/modlist.json | 20 +++---- .../tfg/venus/blocks.venus_deco.js | 4 +- pakku-lock.json | 60 +++++++++---------- 3 files changed, 42 insertions(+), 42 deletions(-) diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index eadb2dd35..75537b804 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -753,12 +753,12 @@ "curseForgeHash": 3895274001, "modrinthHash": "6f1e3a25c4a0258c2592fefb837f95a24eb3bfa0" }, - "fzzy_config-0.7.5+1.20.1+forge.jar": { - "jarName": "fzzy_config-0.7.5+1.20.1+forge.jar", + "fzzy_config-0.7.6+1.20.1+forge.jar": { + "jarName": "fzzy_config-0.7.6+1.20.1+forge.jar", "modId": "fzzy_config", - "version": "0.7.5+1.20.1+forge", - "curseForgeHash": 1765843012, - "modrinthHash": "7e890f8b527ccb4523fed54a2864549a53f65fed" + "version": "0.7.6+1.20.1+forge", + "curseForgeHash": 3620637257, + "modrinthHash": "2e9ca1c5f028c251e1bc18b9ebaa06d401c8e624" }, "geckolib-forge-1.20.1-4.8.3.jar": { "jarName": "geckolib-forge-1.20.1-4.8.3.jar", @@ -1409,12 +1409,12 @@ "curseForgeHash": 2679626739, "modrinthHash": "ea725f5bed9662aa22d4ec089a009bd52fb82275" }, - "TerraFirmaGreg-Core-Modern-0.8.18.jar": { - "jarName": "TerraFirmaGreg-Core-Modern-0.8.18.jar", + "TerraFirmaGreg-Core-Modern-0.8.19.jar": { + "jarName": "TerraFirmaGreg-Core-Modern-0.8.19.jar", "modId": "tfg", - "version": "0.8.18", - "curseForgeHash": 3264017794, - "modrinthHash": "b4f98b976aa7096b6ec0a6bd291fb16415dfeb3a" + "version": "0.8.19", + "curseForgeHash": 275630824, + "modrinthHash": "ff9b919b7afa7a8f921c50d29718d4a3f8115648" }, "tfc_gourmet-1.4.3.jar": { "jarName": "tfc_gourmet-1.4.3.jar", diff --git a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js index 0a7be13f0..c142430a7 100644 --- a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js +++ b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js @@ -335,7 +335,7 @@ function registerTFGWorldGenVenusDecoBlocks(event) { event.create('betterend:shadow_plant', 'tfg:decorative_plant') .soundType('crop') - .mapColor('color_black') + .mapColor('none') .box(3, 0, 3, 13, 10, 13) .tagItem('tfg:venus_plants') .tagBlock('tfg:do_not_destroy_in_space') @@ -343,7 +343,7 @@ function registerTFGWorldGenVenusDecoBlocks(event) { event.create('betterend:twisted_vine', 'tfg:tall_decorative_plant') .height(3) .soundType('crop') - .mapColor('color_black') + .mapColor('none') .box(3, 0, 3, 13, 16, 13) .tagItem('tfg:venus_plants') .tagBlock('tfg:do_not_destroy_in_space') diff --git a/pakku-lock.json b/pakku-lock.json index 341487b43..c711894cf 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -6765,7 +6765,7 @@ "files": [ { "type": "modrinth", - "file_name": "fzzy_config-0.7.5+1.20.1+forge.jar", + "file_name": "fzzy_config-0.7.6+1.20.1+forge.jar", "mc_versions": [ "1.20.1" ], @@ -6774,22 +6774,22 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/hYykXjDp/versions/Dt5erL4a/fzzy_config-0.7.5+1.20.1+forge.jar", - "id": "Dt5erL4a", + "url": "https://cdn.modrinth.com/data/hYykXjDp/versions/7MmXhjWs/fzzy_config-0.7.6+1.20.1+forge.jar", + "id": "7MmXhjWs", "parent_id": "hYykXjDp", "hashes": { - "sha512": "a5e86b8ea8a63bf8b9102b351314393aad5ede26b2480ae8ecaf55eefc482824a27e63ffa088a6d4e30a1ab814502f5e19bc77ac5a09e5120902f191ded59439", - "sha1": "7e890f8b527ccb4523fed54a2864549a53f65fed" + "sha512": "dff242c555006ddab4ffca5ca005b4186cfec3e9f5a9409dc15e91bf1e4eadb33508e458709d0b154b372e214ceb6d8cd343f1e718eb426db4570a292b0e4b0c", + "sha1": "2e9ca1c5f028c251e1bc18b9ebaa06d401c8e624" }, "required_dependencies": [ "ordsPcFz" ], - "size": 2372465, - "date_published": "2026-01-19T17:33:10.246513Z" + "size": 2374667, + "date_published": "2026-02-03T01:48:46.478341Z" }, { "type": "curseforge", - "file_name": "fzzy_config-0.7.5+1.20.1+forge.jar", + "file_name": "fzzy_config-0.7.6+1.20.1+forge.jar", "mc_versions": [ "1.20.1" ], @@ -6798,18 +6798,18 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7489/457/fzzy_config-0.7.5+1.20.1+forge.jar", - "id": "7489457", + "url": "https://edge.forgecdn.net/files/7568/893/fzzy_config-0.7.6+1.20.1+forge.jar", + "id": "7568893", "parent_id": "1005914", "hashes": { - "sha1": "7e890f8b527ccb4523fed54a2864549a53f65fed", - "md5": "0519be93c6e6b9183c9416031db4c715" + "sha1": "2e9ca1c5f028c251e1bc18b9ebaa06d401c8e624", + "md5": "f48f8112f6e2d161c655b750f6bfd0c8" }, "required_dependencies": [ "351264" ], - "size": 2372465, - "date_published": "2026-01-19T17:33:01.213Z" + "size": 2374667, + "date_published": "2026-02-03T01:48:37.523Z" } ] }, @@ -14110,7 +14110,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.18.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.19.jar", "mc_versions": [ "1.20.1" ], @@ -14119,23 +14119,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/xA84bf76/TerraFirmaGreg-Core-Modern-0.8.18.jar", - "id": "xA84bf76", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/LusgkBmJ/TerraFirmaGreg-Core-Modern-0.8.19.jar", + "id": "LusgkBmJ", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "8a6e5bdd978ff3352df0e6a5723da09a6495f30850b68e5c191a976bf628f2ce537cd1be354ca214859a9e63f6398f2147d186156654946b38159d8a73ea860c", - "sha1": "b4f98b976aa7096b6ec0a6bd291fb16415dfeb3a" + "sha512": "b65de612b24528baead242f0d9564e799db5221b36fd12ccbb191a45f9186082ca4d21599343a909ef65541d230eff2353cfaa0c78f200fd4ff259c33cda11ec", + "sha1": "ff9b919b7afa7a8f921c50d29718d4a3f8115648" }, "required_dependencies": [ "JaCEZUhg", "7tG215v7" ], - "size": 9461778, - "date_published": "2026-01-23T05:43:54.009706Z" + "size": 9564353, + "date_published": "2026-02-03T11:14:10.819830Z" }, { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.18.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.19.jar", "mc_versions": [ "1.20.1" ], @@ -14144,19 +14144,19 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7510/518/TerraFirmaGreg-Core-Modern-0.8.18.jar", - "id": "7510518", + "url": "https://edge.forgecdn.net/files/7570/367/TerraFirmaGreg-Core-Modern-0.8.19.jar", + "id": "7570367", "parent_id": "513402", "hashes": { - "sha1": "b4f98b976aa7096b6ec0a6bd291fb16415dfeb3a", - "md5": "98d393ea8d2bedda684ba69b5546c438" + "sha1": "ff9b919b7afa7a8f921c50d29718d4a3f8115648", + "md5": "81f3dfb6d3e503c2e10263ec3563c49a" }, "required_dependencies": [ - "890405", - "302973" + "302973", + "890405" ], - "size": 9461778, - "date_published": "2026-01-23T05:43:16.570Z" + "size": 9564353, + "date_published": "2026-02-03T11:14:05.233Z" } ] }, From 6d99f97b7e993841afdca1d0dde4e2395b00ab5d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Feb 2026 12:02:56 +0000 Subject: [PATCH 364/474] Bump actions/cache from 5.0.2 to 5.0.3 in the dependencies group (#2963) Bumps the dependencies group with 1 update: [actions/cache](https://github.com/actions/cache). Updates `actions/cache` from 5.0.2 to 5.0.3 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v5.0.2...v5.0.3) --- updated-dependencies: - dependency-name: actions/cache dependency-version: 5.0.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1ff05d7ea..140f229f2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -347,7 +347,7 @@ jobs: sed -i -e "s/MINECRAFT_VERSION/${MINECRAFT_VERSION}/g" .pakku/docker-overrides/docker-compose.yml - name: 📝 Cache Pakku - uses: actions/cache@v5.0.2 + uses: actions/cache@v5.0.3 id: cache with: path: build/.cache From b35d54e6a51436a7511f7da45d7b1e116aabe9b1 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 12:07:35 +0000 Subject: [PATCH 365/474] oh yeah --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 40ab82d27..f081702d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ # Changelog ## Unreleased +### Changes +### Bug fixes +### Translation updates + +## [0.11.19] - 03-02-2026 ### Breaking changes - The chemical reactor recipe for making Kaolinite Powder now uses circuit 3 @Pyritie - The two chemical reactor recipes for Tetramethoxysilane now have circuits (1 and 2) (#2898) @Pyritie From c9b6fbe65fc60f547881b32c55939de197259da5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 12:36:12 +0000 Subject: [PATCH 366/474] things endermen can pick up and move around --- .../server_scripts/endermanoverhaul/tags.js | 4 +- kubejs/server_scripts/minecraft/tags.js | 92 ++++++++++++------- .../tfg/beneath/tags.beneath.js | 31 ++++--- kubejs/server_scripts/tfg/mars/tags.mars.js | 3 - kubejs/server_scripts/tfg/moon/tags.moon.js | 3 - .../tfg/natural_blocks/tags.stones.js | 6 +- kubejs/startup_scripts/minecraft/constants.js | 1 + .../tfg/mars/blocks.mars_deco.js | 28 +++--- .../tfg/moon/blocks.moon_deco.js | 6 +- .../tfg/venus/blocks.venus_deco.js | 12 +-- .../startup_scripts/tfg/worldgen/utility.js | 4 +- 11 files changed, 106 insertions(+), 84 deletions(-) diff --git a/kubejs/server_scripts/endermanoverhaul/tags.js b/kubejs/server_scripts/endermanoverhaul/tags.js index 8185fce25..a10f0dd9d 100644 --- a/kubejs/server_scripts/endermanoverhaul/tags.js +++ b/kubejs/server_scripts/endermanoverhaul/tags.js @@ -18,7 +18,7 @@ const registerEndermanOverhaulItemTags = (event) => { const registerEndermanOverhaulBlockTags = (event) => { - event.add('endermanoverhaul:cave_enderman_holdable', 'forge:ores') - event.add('endermanoverhaul:cave_enderman_holdable', 'minecraft:base_stone_nether') + event.add('endermanoverhaul:cave_enderman_holdable', '#forge:ores') + event.add('endermanoverhaul:cave_enderman_holdable', '#minecraft:base_stone_nether') } \ No newline at end of file diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 2c029750c..83dac430a 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -6,57 +6,81 @@ * @param {TagEvent.Item} event */ const registerMinecraftItemTags = (event) => { - global.MINECRAFT_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) - }) + global.MINECRAFT_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) - global.MINECRAFT_HIDED_ITEMS.forEach(item => { - event.add('c:hidden_from_recipe_viewers', item) - }) + global.MINECRAFT_HIDED_ITEMS.forEach(item => { + event.add('c:hidden_from_recipe_viewers', item) + }) - // Hide potions - event.add('c:hidden_from_recipe_viewers', /minecraft.*potion.*/) + // Hide potions + event.add('c:hidden_from_recipe_viewers', /minecraft.*potion.*/) - // Теперь обсидиан сторадж блок - event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') + // Теперь обсидиан сторадж блок + event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') - // Бамбуковые полублоки - event.add('tfg:bamboo_slabs', 'minecraft:bamboo_slab') - event.add('tfg:bamboo_slabs', 'minecraft:bamboo_mosaic_slab') + // Бамбуковые полублоки + event.add('tfg:bamboo_slabs', 'minecraft:bamboo_slab') + event.add('tfg:bamboo_slabs', 'minecraft:bamboo_mosaic_slab') - event.remove('minecraft:creeper_drop_music_discs', ['minecraft:music_disc_11']) + event.remove('minecraft:creeper_drop_music_discs', ['minecraft:music_disc_11']) - event.remove('forge:gems', 'minecraft:charcoal') - event.remove('forge:gems', 'minecraft:coal') - event.remove('forge:gems', 'minecraft:flint') + event.remove('forge:gems', 'minecraft:charcoal') + event.remove('forge:gems', 'minecraft:coal') + event.remove('forge:gems', 'minecraft:flint') - event.add('tfc:colored_terracotta', 'minecraft:white_terracotta') + event.add('tfc:colored_terracotta', 'minecraft:white_terracotta') - event.add('tfc:bells', 'minecraft:bell') + event.add('tfc:bells', 'minecraft:bell') + + event.add('tfc:makes_black_dye', 'minecraft:ink_sac') + event.add('tfc:makes_white_dye', 'minecraft:bone_meal') - event.add('tfc:makes_black_dye', 'minecraft:ink_sac') - event.add('tfc:makes_white_dye', 'minecraft:bone_meal') - event.add('create:blaze_burner_fuel/regular', 'minecraft:coal') event.add('create:blaze_burner_fuel/regular', 'minecraft:charcoal') event.add("tfg:rubber_plants", "minecraft:spore_blossom") - event.add('tfg:stonecutting/crackrack', 'minecraft:nether_brick_fence') + event.add('tfg:stonecutting/crackrack', 'minecraft:nether_brick_fence') } const registerMinecraftBlockTags = (event) => { - global.MINECRAFT_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - }) + global.MINECRAFT_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + }) - // Stops saws from being able to pick up ice - event.remove('minecraft:ice', 'minecraft:ice') - event.remove('minecraft:ice', 'tfc:sea_ice') + // 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') - - event.add('minecraft:mineable/pickaxe', 'minecraft:glowstone') + // Теперь обсидиан сторадж блок + event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') + + event.add('minecraft:mineable/pickaxe', 'minecraft:glowstone') + + // Things endermen can pick up and move around + event.removeAll('minecraft:enderman_holdable'); + event.add('minecraft:enderman_holdable', '#tfc:dirt') + event.add('minecraft:enderman_holdable', '#tfc:mud') + event.add('minecraft:enderman_holdable', '#tfc:loose_rocks') + event.add('minecraft:enderman_holdable', '#forge:gravel') + event.add('minecraft:enderman_holdable', '#forge:sand') + event.add('minecraft:enderman_holdable', '#forge:cobblestone') + event.add('minecraft:enderman_holdable', '#tfc:plants') + event.add('minecraft:enderman_holdable', '#tfg:plants/beneath') + event.add('minecraft:enderman_holdable', '#tfg:moon_plants') + event.add('minecraft:enderman_holdable', '#tfg:mars_plants') + event.add('minecraft:enderman_holdable', '#tfg:venus_plants') + event.add('minecraft:enderman_holdable', '#tfg:mercury_plants') + event.add('minecraft:enderman_holdable', '#tfg:europa_plants') + event.add('minecraft:enderman_holdable', 'tfc:pumpkin') + event.add('minecraft:enderman_holdable', 'tfc:melon') + event.add('minecraft:enderman_holdable', 'betterend:cave_pumpkin') + event.add('minecraft:enderman_holdable', '#minecraft:leaves') + event.add('minecraft:enderman_holdable', 'beneath:wood/leaves/crimson') + event.add('minecraft:enderman_holdable', 'beneath:wood/leaves/warped') + event.add('minecraft:enderman_holdable', 'tfg:glacian_leaves') + event.add('minecraft:enderman_holdable', '#tfg:solid_leaves') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/beneath/tags.beneath.js b/kubejs/server_scripts/tfg/beneath/tags.beneath.js index b5d3b554e..ce5e1a4b1 100644 --- a/kubejs/server_scripts/tfg/beneath/tags.beneath.js +++ b/kubejs/server_scripts/tfg/beneath/tags.beneath.js @@ -1,5 +1,19 @@ "use strict"; +/** + * @property {string[]} beneath_plants - List of Beneath plants to be added to the `tfg:plants/beneath` tag. +*/ +const beneath_plants = [ + 'beneath:gleamflower', + 'beneath:burpflower', + 'minecraft:big_dripleaf', + 'minecraft:small_dripleaf', + 'minecraft:glow_lichen', + 'minecraft:hanging_roots', + 'minecraft:spore_blossom', + '#beneath:mushrooms' +]; + function registerTFGBeneathItemTags(event) { event.add("minecraft:piglin_loved", "gtceu:tiny_pyrite_dust"); @@ -14,19 +28,6 @@ function registerTFGBeneathItemTags(event) { event.remove('createaddition:plants', 'minecraft:moss_carpet') - /** - * @property {string[]} beneath_plants - List of Beneath plants to be added to the `tfg:plants/beneath` tag. - */ - const beneath_plants = [ - 'beneath:gleamflower', - 'beneath:burpflower', - 'minecraft:big_dripleaf', - 'minecraft:small_dripleaf', - 'minecraft:glow_lichen', - 'minecraft:hanging_roots', - 'minecraft:spore_blossom', - '#beneath:mushrooms' - ]; beneath_plants.forEach(plant => event.add('tfg:plants/beneath', plant) ); @@ -46,6 +47,10 @@ function registerTFGBeneathBlockTags(event) { event.remove('tfc:plants', 'beneath:gleamflower') event.remove('tfc:plants', 'beneath:burpflower') + + beneath_plants.forEach(plant => + event.add('tfg:plants/beneath', plant) + ); event.add('minecraft:lush_ground_replaceable', 'minecraft:blackstone') event.add('beneath:nether_bush_plantable_on', 'minecraft:blackstone') diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js index e7a130957..fcecf3062 100644 --- a/kubejs/server_scripts/tfg/mars/tags.mars.js +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -238,9 +238,6 @@ function registerTFGMarsBlockTags(event) { event.add('tfg:heightmap_ignore', 'tfg:aeronos_cap') event.add('tfg:heightmap_ignore', 'tfg:strophar_cap') - event.remove('minecraft:enderman_holdable', 'minecraft:crimson_fungus') - event.remove('minecraft:enderman_holdable', 'minecraft:warped_fungus') - event.remove('ad_astra:strophar_caps', 'ad_astra:strophar_cap') event.remove('ad_astra:aeronos_caps', 'ad_astra:aeronos_cap') diff --git a/kubejs/server_scripts/tfg/moon/tags.moon.js b/kubejs/server_scripts/tfg/moon/tags.moon.js index 33b50a4d3..90fe8cdae 100644 --- a/kubejs/server_scripts/tfg/moon/tags.moon.js +++ b/kubejs/server_scripts/tfg/moon/tags.moon.js @@ -2,9 +2,6 @@ function registerTFGMoonItemTags(event) { - event.add('tfg:moon_plants', 'tfg:lunar_roots') - event.add('tfg:moon_plants', 'tfg:lunar_sprouts') - event.add('tfc:compost_greens_high', 'minecraft:pearlescent_froglight') event.add('tfc:compost_greens_high', 'minecraft:verdant_froglight') event.add('tfc:compost_greens_high', 'minecraft:ochre_froglight') diff --git a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js index 01a941a77..e8c1f7f7d 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js +++ b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js @@ -28,8 +28,10 @@ function registerTFGStoneItemTags(event) { material = rock.material.replace(/tfg:/g, ''); if (rock.raw != null) { - event.add('tfc:rock/raw', rock.raw.block); - event.add('forge:stone', rock.raw.block); + if (rock.collapsible) { + event.add('tfc:rock/raw', rock.raw.block); + event.add('forge:stone', rock.raw.block); + } addToTfcTag(rock.raw.block); addToMaterialTag(material, rock.raw.block); diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index 6770553fe..a778f5a80 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -525,6 +525,7 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:warped_fungus_on_a_stick', 'minecraft:carrot_on_a_stick', 'minecraft:carrot', + 'minecraft:melon', 'minecraft:pumpkin', 'minecraft:suspicious_stew', 'minecraft:mycelium', diff --git a/kubejs/startup_scripts/tfg/mars/blocks.mars_deco.js b/kubejs/startup_scripts/tfg/mars/blocks.mars_deco.js index 86ccf9ea9..93f846ad4 100644 --- a/kubejs/startup_scripts/tfg/mars/blocks.mars_deco.js +++ b/kubejs/startup_scripts/tfg/mars/blocks.mars_deco.js @@ -54,8 +54,8 @@ function registerTFGWorldGenMarsDecoBlocks(event) { .soundType('crop') .box(1, 0, 1, 15, 2, 15) .mapColor('color_light_blue') - .tagItem('tfg:mars_plants') - .tagItem('forge:mushrooms') + .tagBoth('tfg:mars_plants') + .tagBoth('forge:mushrooms') .tagBlock('tfg:do_not_destroy_in_space') .tagBlock('minecraft:replaceable') .tagBlock('tfc:can_be_ice_piled') @@ -65,7 +65,7 @@ function registerTFGWorldGenMarsDecoBlocks(event) { .soundType('crop') .box(0, 0, 0, 16, 1, 16) .mapColor('color_cyan') - .tagItem('tfg:mars_plants') + .tagBoth('tfg:mars_plants') .tagBlock('tfg:do_not_destroy_in_space') .tagBlock('minecraft:replaceable') .tagBlock('tfc:can_be_ice_piled') @@ -74,30 +74,30 @@ function registerTFGWorldGenMarsDecoBlocks(event) { event.create('betterend:aurant_polypore', 'tfg:attached_decorative_plant') .soundType('nether_wart') - .tagItem('tfg:mars_plants') - .tagItem('forge:mushrooms') + .tagBoth('tfg:mars_plants') + .tagBoth('forge:mushrooms') .tagBlock('minecraft:replaceable') .tagBlock('tfg:do_not_destroy_in_space') event.create('betterend:purple_polypore', 'tfg:attached_decorative_plant') .soundType('nether_wart') - .tagItem('tfg:mars_plants') - .tagItem('forge:mushrooms') + .tagBoth('tfg:mars_plants') + .tagBoth('forge:mushrooms') .tagBlock('minecraft:replaceable') .tagBlock('tfg:do_not_destroy_in_space') event.create('betterend:filalux_wings', 'tfg:attached_decorative_plant') .soundType('nether_wart') .allowVertical(true) - .tagItem('tfg:mars_plants') - .tagItem('forge:mushrooms') + .tagBoth('tfg:mars_plants') + .tagBoth('forge:mushrooms') .tagBlock('minecraft:replaceable') .tagBlock('tfg:do_not_destroy_in_space') event.create('betterend:bulb_moss', 'tfg:attached_decorative_plant') .soundType('crop') .lootItem('tfc:straw') - .tagItem('tfg:mars_plants') + .tagBoth('tfg:mars_plants') .tagBlock('minecraft:replaceable') .tagBlock('tfg:do_not_destroy_in_space') @@ -116,7 +116,7 @@ function registerTFGWorldGenMarsDecoBlocks(event) { .tagBlock('tfg:do_not_destroy_in_space') .mapColor('fire') .seasonalColors(false) - .tagItem('tfg:mars_plants') + .tagBoth('tfg:mars_plants') .fallenLeaves(leaves => { leaves.noCollision() leaves.notSolid() @@ -141,7 +141,7 @@ function registerTFGWorldGenMarsDecoBlocks(event) { .tagBlock('tfg:do_not_destroy_in_space') .mapColor('color_orange') .seasonalColors(false) - .tagItem('tfg:mars_plants') + .tagBoth('tfg:mars_plants') .fallenLeaves(leaves => { leaves.noCollision() leaves.notSolid() @@ -165,7 +165,7 @@ function registerTFGWorldGenMarsDecoBlocks(event) { event.create('betterend:large_amaranita_mushroom', 'tfg:tall_decorative_plant') .height(3) .soundType('nether_wart') - .tagItem('tfg:mars_plants') + .tagBoth('tfg:mars_plants') .tagBlock('tfg:do_not_destroy_in_space') .tagItem('forge:mushrooms') .mapColor('fire') @@ -173,7 +173,7 @@ function registerTFGWorldGenMarsDecoBlocks(event) { event.create('betterend:lanceleaf', 'tfg:tall_decorative_plant') .height(5) .soundType('crop') - .tagItem('tfg:mars_plants') + .tagBoth('tfg:mars_plants') .tagBlock('tfg:do_not_destroy_in_space') .mapColor('color_orange') diff --git a/kubejs/startup_scripts/tfg/moon/blocks.moon_deco.js b/kubejs/startup_scripts/tfg/moon/blocks.moon_deco.js index 0cd4d8935..edb53fbab 100644 --- a/kubejs/startup_scripts/tfg/moon/blocks.moon_deco.js +++ b/kubejs/startup_scripts/tfg/moon/blocks.moon_deco.js @@ -7,18 +7,18 @@ function registerTFGWorldGenMoonDecoBlocks(event) { event.create('tfg:lunar_roots', 'tfg:decorative_plant') .soundType('nether_wart') .lightLevel(0.4) - .tagItem('tfg:moon_plants') + .tagBoth('tfg:moon_plants') .tagBlock('minecraft:replaceable') event.create('tfg:lunar_sprouts', 'tfg:decorative_plant') .soundType('nether_wart') - .tagItem('tfg:moon_plants') + .tagBoth('tfg:moon_plants') .tagBlock('minecraft:replaceable') event.create('betterend:chorus_lily', 'tfc:ground_cover') .soundType('cherry_wood') .hardness(0.5) - .tagItem('tfg:moon_plants') + .tagBoth('tfg:moon_plants') .tagBlock('minecraft:mineable/hoe') .tagBlock('tfg:do_not_destroy_in_space') .mapColor('terracotta_white') diff --git a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js index c142430a7..a5db21f7e 100644 --- a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js +++ b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js @@ -322,7 +322,7 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .soundType('nether_wart') .mapColor('green_terracotta') .box(3, 0, 3, 13, 16, 13) - .tagItem('tfg:venus_plants') + .tagBoth('tfg:venus_plants') .tagBlock('tfg:do_not_destroy_in_space') event.create('betterend:hydralux_large', 'tfg:tall_decorative_plant') @@ -330,22 +330,18 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .soundType('nether_wart') .mapColor('green_terracotta') .box(3, 0, 3, 13, 16, 13) - .tagItem('tfg:venus_plants') + .tagBoth('tfg:venus_plants') .tagBlock('tfg:do_not_destroy_in_space') - event.create('betterend:shadow_plant', 'tfg:decorative_plant') - .soundType('crop') - .mapColor('none') + createPlant(event, "shadow_plant", "venus") .box(3, 0, 3, 13, 10, 13) - .tagItem('tfg:venus_plants') - .tagBlock('tfg:do_not_destroy_in_space') event.create('betterend:twisted_vine', 'tfg:tall_decorative_plant') .height(3) .soundType('crop') .mapColor('none') .box(3, 0, 3, 13, 16, 13) - .tagItem('tfg:venus_plants') + .tagBoth('tfg:venus_plants') .tagBlock('tfg:do_not_destroy_in_space') } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/worldgen/utility.js b/kubejs/startup_scripts/tfg/worldgen/utility.js index 83e19c2f5..825fa631b 100644 --- a/kubejs/startup_scripts/tfg/worldgen/utility.js +++ b/kubejs/startup_scripts/tfg/worldgen/utility.js @@ -9,7 +9,7 @@ */ function createPlant(event, id, planet) { return event.create(`betterend:${id}`, 'tfg:decorative_plant') - .tagItem(`tfg:${planet}_plants`) + .tagBoth(`tfg:${planet}_plants`) .tagBlock('minecraft:replaceable') .tagBlock('tfg:do_not_destroy_in_space') .tagBlock('tfc:can_be_snow_piled') @@ -22,7 +22,7 @@ function createPlant(event, id, planet) { */ function createWaterPlant(event, id, planet) { return event.create(`betterend:${id}`, 'tfg:decorative_plant') - .tagItem(`tfg:${planet}_plants`) + .tagBoth(`tfg:${planet}_plants`) .tagBlock('minecraft:replaceable') .tagBlock('tfg:do_not_destroy_in_space') .tagBlock('tfc:can_be_ice_piled') From 4516d9ce5008e09bbc644a3811dfc094e57eb431 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 12:57:42 +0000 Subject: [PATCH 367/474] icon set changes --- kubejs/startup_scripts/tfg/icon_sets.js | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/kubejs/startup_scripts/tfg/icon_sets.js b/kubejs/startup_scripts/tfg/icon_sets.js index be0ac333c..8d86dfd69 100644 --- a/kubejs/startup_scripts/tfg/icon_sets.js +++ b/kubejs/startup_scripts/tfg/icon_sets.js @@ -37,7 +37,9 @@ function registerTFGIconSets(event) { event.create('nether_quartz').parent('quartz') + // Looks like VI vanadium event.create('noodle').parent('metallic') + // Looks like ad astra ostrum event.create('cereal_box').parent('bright') // Credits to Flare from the Cosmic Frontiers team @@ -94,7 +96,6 @@ function modifyTFGIconSets(event) { GTMaterials.BlackBronze.setMaterialIconSet(GTMaterialIconSet.SHINY) GTMaterials.Potin.setMaterialIconSet(GTMaterialIconSet.SHINY) GTMaterials.Cupronickel.setMaterialIconSet(GTMaterialIconSet.SHINY) - GTMaterials.ManganesePhosphide.setMaterialIconSet(GTMaterialIconSet.DULL) GTMaterials.Osmium.setMaterialIconSet(GTMaterialIconSet.DULL) GTMaterials.Invar.setMaterialIconSet(GTMaterialIconSet.DULL) @@ -144,19 +145,29 @@ function modifyTFGIconSets(event) { GTMaterials.Electrotine.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_garnierite')) GTMaterials.Bauxite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_borax')) + // Superconductors get noodle + GTMaterials.ManganesePhosphide.setMaterialIconSet(GTMaterialIconSet.getByName('noodle')) + GTMaterials.MagnesiumDiboride.setMaterialIconSet(GTMaterialIconSet.getByName('noodle')) + GTMaterials.MercuryBariumCalciumCuprate.setMaterialIconSet(GTMaterialIconSet.getByName('noodle')) + GTMaterials.UraniumTriplatinum.setMaterialIconSet(GTMaterialIconSet.getByName('noodle')) + GTMaterials.SamariumIronArsenicOxide.setMaterialIconSet(GTMaterialIconSet.getByName('noodle')) + GTMaterials.IndiumTinBariumTitaniumCuprate.setMaterialIconSet(GTMaterialIconSet.getByName('noodle')) + GTMaterials.UraniumRhodiumDinaquadide.setMaterialIconSet(GTMaterialIconSet.getByName('noodle')) + GTMaterials.EnrichedNaquadahTriniumEuropiumDuranide.setMaterialIconSet(GTMaterialIconSet.getByName('noodle')) + GTMaterials.RutheniumTriniumAmericiumNeutronate.setMaterialIconSet(GTMaterialIconSet.getByName('noodle')) + // Not a superconductor but it's where the icon comes from in the first place + GTMaterials.Vanadium.setMaterialIconSet(GTMaterialIconSet.getByName('noodle')) + + // All naquadah/neutronium/zirconium materials get chonky GTMaterials.Naquadah.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) GTMaterials.NaquadahEnriched.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) GTMaterials.Naquadria.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) GTMaterials.UraniumRhodiumDinaquadide.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) - GTMaterials.EnrichedNaquadahTriniumEuropiumDuranide.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) GTMaterials.NaquadahAlloy.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) GTMaterials.Neutronium.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) - GTMaterials.RutheniumTriniumAmericiumNeutronate.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) GTMaterials.Zirconium.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) - GTMaterials.Vanadium.setMaterialIconSet(GTMaterialIconSet.getByName('noodle')) - const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") $GreateMaterials.RoseQuartz.setMaterialIconSet(GTMaterialIconSet.getByName('nether_quartz')) } \ No newline at end of file From b1ec5ad5b45917525abe3c283c20e825daa726d5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 13:03:19 +0000 Subject: [PATCH 368/474] #2965 add tfg crop block colors --- kubejs/startup_scripts/tfg/blocks.crops.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/kubejs/startup_scripts/tfg/blocks.crops.js b/kubejs/startup_scripts/tfg/blocks.crops.js index 700f6610d..3cbbca165 100644 --- a/kubejs/startup_scripts/tfg/blocks.crops.js +++ b/kubejs/startup_scripts/tfg/blocks.crops.js @@ -7,6 +7,7 @@ const registerTFGCrops = (event) => { event.create('tfg:sunflower', 'tfc:double_crop') .translationKey('block.tfg.sunflower') + .mapColor('plant') .soundType('crop') .nutrient('nitrogen') .stages(4) @@ -40,6 +41,7 @@ const registerTFGCrops = (event) => { .tagItem('c:hidden_from_recipe_viewers') event.create('tfg:rapeseed', 'tfc:double_crop') + .mapColor('plant') .translationKey('block.tfg.rapeseed') .soundType('crop') .nutrient('phosphorous') @@ -67,6 +69,7 @@ const registerTFGCrops = (event) => { .tagItem('c:hidden_from_recipe_viewers') event.create('tfg:flax', 'tfc:double_crop') + .mapColor('plant') .translationKey('block.tfg.flax') .soundType('crop') .nutrient('nitrogen') @@ -103,6 +106,7 @@ const registerTFGCrops = (event) => { // Mars Crops event.create('betterend:amber_root', 'tfc:crop') + .mapColor('color_orange') .soundType('crop') .nutrient('phosphorous') .stages(3) @@ -134,6 +138,7 @@ const registerTFGCrops = (event) => { event.create('betterend:blossom_berry', 'tfc:crop') + .mapColor('color_pink') .soundType('crop') .nutrient('potassium') .stages(3) @@ -165,6 +170,7 @@ const registerTFGCrops = (event) => { event.create('betterend:cave_pumpkin') + .mapColor('color_red') .soundType('cherry_wood') .tagBlock('minecraft:mineable/axe') .tagBlock('minecraft:mineable/hoe') @@ -176,6 +182,7 @@ const registerTFGCrops = (event) => { .notSolid() event.create('betterend:cave_pumpkin_plant', 'tfc:spreading_crop') + .mapColor('plant') .soundType('crop') .nutrient('nitrogen') .stages(3) @@ -207,6 +214,7 @@ const registerTFGCrops = (event) => { event.create('betterend:chorus_mushroom', 'tfc:crop') + .mapColor('color_purple') .translationKey('block.betterend.chorus_mushroom') .soundType('nether_wart') .nutrient('phosphorous') @@ -244,6 +252,7 @@ const registerTFGCrops = (event) => { event.create('betterend:shadow_berry', 'tfc:crop') + .mapColor('color_blue') .soundType('crop') .box(2, 0, 2, 14, 3, 14) .nutrient('potassium') @@ -278,6 +287,7 @@ const registerTFGCrops = (event) => { event.create('betterend:bolux_mushroom', 'tfc:crop') + .mapColor('color_orange') .soundType('nether_wart') .box(2, 0, 2, 14, 5, 14) .nutrient('phosphorous') From d5974bf0c8a4d95cd16c758e77fc5d909405a14a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 13:03:27 +0000 Subject: [PATCH 369/474] more tags --- kubejs/server_scripts/tfg/venus/tags.venus.js | 1 + kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js | 2 ++ 2 files changed, 3 insertions(+) diff --git a/kubejs/server_scripts/tfg/venus/tags.venus.js b/kubejs/server_scripts/tfg/venus/tags.venus.js index 15dd2188b..87d703712 100644 --- a/kubejs/server_scripts/tfg/venus/tags.venus.js +++ b/kubejs/server_scripts/tfg/venus/tags.venus.js @@ -86,6 +86,7 @@ function registerTFGVenusBlockTags(event) { event.add('ad_astra:venus_stone_replaceables', 'create:scoria') event.add('ad_astra:venus_stone_replaceables', 'create:scorchia') event.add('ad_astra:venus_stone_replaceables', 'ad_astra:conglomerate') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/halite') event.add('ad_astra:venus_stone_replaceables', 'minecraft:tuff') event.add('ad_astra:venus_stone_replaceables', 'minecraft:basalt') event.add('ad_astra:venus_stone_replaceables', 'minecraft:smooth_basalt') diff --git a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js index a5db21f7e..c74331090 100644 --- a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js +++ b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js @@ -230,6 +230,8 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .mapColor('podzol') .requiresTool(true) .tagBlock('minecraft:mineable/pickaxe') + .tagBoth('tfc:rock/raw') + .tagBoth('forge:stone') event.create('betterend:lucernia_bark') .soundType('netherrack') From f37f3b258c5568e57daab7081f4ebed7f14178c4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 13:30:09 +0000 Subject: [PATCH 370/474] quest tweaks --- config/ftbquests/quests/chapters/ev__extreme_voltage.snbt | 1 - config/ftbquests/quests/chapters/questsmetallurgy.snbt | 7 +++++++ config/ftbquests/quests/chapters/tips__tools.snbt | 7 +++++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 73080192c..13841b922 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -561,7 +561,6 @@ dependencies: [ "0E2E93BE3364722D" "4AD96212525517CD" - "37B7342CD1B3B76D" ] dependency_requirement: "one_completed" description: ["{quests.extreme_voltage.nuclear_fuel_factory.desc}"] diff --git a/config/ftbquests/quests/chapters/questsmetallurgy.snbt b/config/ftbquests/quests/chapters/questsmetallurgy.snbt index eca75da26..93b921e93 100644 --- a/config/ftbquests/quests/chapters/questsmetallurgy.snbt +++ b/config/ftbquests/quests/chapters/questsmetallurgy.snbt @@ -60,6 +60,12 @@ x: 18.5d y: -28.0d } + { + id: "5B4E347985A66970" + linked_quest: "21C58B2541BFA2EE" + x: -1.5d + y: -32.0d + } ] quests: [ { @@ -1307,6 +1313,7 @@ description: ["{quests.metal_age.toolbelt.desc}"] icon: "toolbelt:belt" id: "1DEC710C3570D5D0" + optional: true shape: "heart" subtitle: "{quests.metal_age.toolbelt.subtitle}" tasks: [ diff --git a/config/ftbquests/quests/chapters/tips__tools.snbt b/config/ftbquests/quests/chapters/tips__tools.snbt index 897535008..5f6ce1a06 100644 --- a/config/ftbquests/quests/chapters/tips__tools.snbt +++ b/config/ftbquests/quests/chapters/tips__tools.snbt @@ -2573,7 +2573,11 @@ y: -0.5d } { - dependencies: ["509C064AA92FD78F"] + dependencies: [ + "509C064AA92FD78F" + "234B68E86F72C29E" + ] + dependency_requirement: "one_completed" description: ["{quests.tfg_tips.special_sacks.desc}"] guide_page: "tfc:field_guide tfc:sns/ore_sack" id: "21C58B2541BFA2EE" @@ -2609,7 +2613,6 @@ } id: "sns:ore_sack" } - optional_task: true type: "item" } ] From abef642e6626f32a70b4be9702f6e644ee701b0d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 15:51:45 +0000 Subject: [PATCH 371/474] bunch o venus stuff --- kubejs/assets/gtceu/lang/en_us.json | 6 + kubejs/assets/tfg/lang/en_us.json | 5 +- kubejs/data/ad_astra/dimension/venus.json | 182 ++++---- .../tfg/worldgen/biome/venus/fumaroles.json | 4 +- .../biome/venus/scorching_volcanoes.json | 11 +- .../worldgen/biome/venus/sulfuric_ravine.json | 10 +- .../nether/terrain/spring_lava.json | 2 +- .../venus/surface/loose_crackrack.json | 2 +- .../venus/surface/loose_scorchia.json | 2 +- .../venus/surface/loose_scoria.json | 2 +- .../venus/surface/pile_black_sand.json | 2 +- .../venus/surface/pile_volcanic_ash.json | 2 +- .../venus/surface/shadow_plant_patch.json | 6 +- .../venus/terrain/lava_spring.json | 4 +- .../venus/terrain/sulfur_fumes_fill.json | 11 + .../venus/terrain/sulfur_fumes_spring.json | 87 ++++ .../venus/terrain/thermal_tube_worms.json | 8 +- .../density_function/venus/offset.json | 403 +++++++++++++++++- .../worldgen/noise_settings/venus_noise.json | 6 +- .../venus/terrain/adakite_column.json | 6 +- .../venus/terrain/sulfur_fumes_fill.json | 16 + .../venus/terrain/sulfur_fumes_spring.json | 12 + 22 files changed, 676 insertions(+), 113 deletions(-) create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/sulfur_fumes_fill.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/sulfur_fumes_spring.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/sulfur_fumes_fill.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/sulfur_fumes_spring.json diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 7e6050d1c..dc9a569b8 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -39,6 +39,12 @@ "block.tfg.single_itemstack_bus": "Limiting Input Bus", "block.tfg.hydroponics_facility": "Hydroponics Facility", "block.tfg.pisciculture_fishery": "Pisciculture Fishery", + "block.gtceu.ev_1024a_laser_source_hatch": "§5EV§r 1,024§eA§r Laser Source Hatch", + "block.gtceu.ev_1024a_laser_target_hatch": "§5EV§r 1,024§eA§r Laser Target Hatch", + "block.gtceu.ev_256a_laser_source_hatch": "§5EV§r 256§eA§r Laser Source Hatch", + "block.gtceu.ev_256a_laser_target_hatch": "§5EV§r 256§eA§r Laser Target Hatch", + "block.gtceu.ev_4096a_laser_source_hatch": "§5EV§r 4,096§eA§r Laser Source Hatch", + "block.gtceu.ev_4096a_laser_target_hatch": "§5EV§r 4,096§eA§r Laser Target Hatch", "item.gtceu.tiny_wood_dust": "Tiny Pile of Softwood Pulp", "item.gtceu.small_wood_dust": "Small Pile of Softwood Pulp", "item.gtceu.wood_dust": "Softwood Pulp", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index bf468e88d..f59ce46fb 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -224,6 +224,7 @@ "block.tfg.spike.dripstone_spike": "Travertine Spike", "block.tfg.loose.dripstone": "Loose Travertine Rock", "block.tfg.rock.aqueduct_dripstone": "Travertine Aqueduct", + "block.tfg.rock.hardened_crackrack": "Hardened Keratophyre", "block.tfg.rock.crackrack_stairs": "Raw Keratophyre Stairs", "block.tfg.rock.crackrack_slab": "Raw Keratophyre Slab", "block.tfg.rock.crackrack_wall": "Raw Keratophyre Wall", @@ -1915,6 +1916,7 @@ "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.clay_ball": "Hydrating Clay", "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", @@ -2607,6 +2609,7 @@ "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&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.transformer.task": "Any Laser Hatch from EV to IV", "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&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.", @@ -3030,7 +3033,7 @@ "quests.low_voltage.lv_polariser.desc": "One of the cheapest - if not the cheapest - &7LV&r machine. Use this to make &6Redstone-free Magnetic Rods&r for your Motors. Whenever you start to batch your Motors, this machine will save you stacks and stacks of Redstone.", "quests.low_voltage.link_chapter.title": "Explain energy to me", "quests.low_voltage.link_chapter.subtitle": "There is a whole chapter about energy", - "quests.low_voltage.link_chapter.desc": "It might look like a lot of reading, but it's important to understand if you want to avoid accidents and get the most out of your power generation.\n\nGregTech's energy system (EU, Energy Units) works differently to FE (Forge Energy), the system used by almost every other mod.\n\nThere's four ways to generate power in LV, and all are viable options. If you're new to GregTech, Steam is the easiest but falls off fast as you progress to further tiers. Gas fuel is more complicated to produce, but has the cheapest generators. Combustion is somewhere in between.\n\nHere's a link to the energy chapter", + "quests.low_voltage.link_chapter.desc": "GregTech's energy system (EU, Energy Units) works differently to FE (Forge Energy), the system used by almost every other mod, so we've dedicated a chapter of the questbook to talk about it.\n\nIt might look like a lot of reading, but it's important to understand if you want to avoid accidents and get the most out of your power generation.\n\nThere's four ways to generate power in LV, and all are viable options. If you're new to GregTech, Steam is the easiest but falls off fast as you progress to further tiers. Gas fuel is more complicated to produce, but has the cheapest generators. Combustion is somewhere in between.\n\nHere's a link to the energy chapter", "quests.low_voltage.link_chapter.task": "I read it", "quests.low_voltage.lv_combuston_gen.title": "The Combustion Generator", "quests.low_voltage.lv_combuston_gen.subtitle": "It does boom and make energy", diff --git a/kubejs/data/ad_astra/dimension/venus.json b/kubejs/data/ad_astra/dimension/venus.json index bdbd37c82..61d748a5f 100644 --- a/kubejs/data/ad_astra/dimension/venus.json +++ b/kubejs/data/ad_astra/dimension/venus.json @@ -10,7 +10,7 @@ "spawn_center_z": 0, "temperature_scale": 10000, "rainfall_scale": 10000, - "continentalness": 0, + "continentalness": 0.1, "rock_layer_settings": { "rocks": { "venus": { @@ -84,6 +84,36 @@ "spike": "tfg:spike/sandy_jadestone_spike", "loose": "tfg:loose/sandy_jadestone" }, + "crackrack": { + "raw": "beneath:crackrack", + "hardened": "tfg:rock/hardened_crackrack", + "gravel": "tfg:rock/gravel_crackrack", + "cobble": "tfg:rock/cobble_crackrack", + "sand": "tfc:sand/pink", + "sandstone": "tfc:raw_sandstone/pink", + "spike": "tfg:spike/crackrack_spike", + "loose": "tfg:loose/crackrack" + }, + "scoria": { + "raw": "create:scoria", + "hardened": "tfg:rock/hardened_scoria", + "gravel": "tfg:rock/gravel_scoria", + "cobble": "tfg:rock/cobble_scoria", + "sand": "tfc:sand/brown", + "sandstone": "tfc:raw_sandstone/brown", + "spike": "tfg:spike/scoria_spike", + "loose": "tfg:loose/scoria" + }, + "scorchia": { + "raw": "create:scorchia", + "hardened": "tfg:rock/hardened_scorchia", + "gravel": "tfg:rock/gravel_scorchia", + "cobble": "tfg:rock/cobble_scorchia", + "sand": "tfc:sand/black", + "sandstone": "tfc:raw_sandstone/black", + "spike": "tfg:spike/scorchia_spike", + "loose": "tfg:loose/scorchia" + }, "granite": "tfc:granite", "diorite": "tfc:diorite", "gabbro": "tfc:gabbro", @@ -176,7 +206,7 @@ "temperature": 0, "humidity": 0, "continentalness": -1, - "erosion": 0.05, + "erosion": -0.05, "weirdness": -0.2, "depth": 0, "offset": 0 @@ -188,7 +218,7 @@ "temperature": 0, "humidity": 0, "continentalness": -1, - "erosion": 0.05, + "erosion": -0.05, "weirdness": 0, "depth": 0, "offset": 0 @@ -200,7 +230,7 @@ "temperature": 0, "humidity": 0, "continentalness": -1, - "erosion": 0.05, + "erosion": -0.05, "weirdness": 0.2, "depth": 0, "offset": 0 @@ -249,8 +279,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.47, - "erosion": 0.05, + "continentalness": -0.57, + "erosion": -0.05, "weirdness": -0.2, "depth": 0, "offset": 0 @@ -261,8 +291,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.47, - "erosion": 0.05, + "continentalness": -0.57, + "erosion": -0.05, "weirdness": 0, "depth": 0, "offset": 0 @@ -273,8 +303,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.47, - "erosion": 0.05, + "continentalness": -0.57, + "erosion": -0.05, "weirdness": 0.2, "depth": 0, "offset": 0 @@ -285,7 +315,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.47, + "continentalness": -0.57, "erosion": 0.05, "weirdness": -0.2, "depth": 0, @@ -297,7 +327,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.47, + "continentalness": -0.57, "erosion": 0.05, "weirdness": 0, "depth": 0, @@ -309,7 +339,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.47, + "continentalness": -0.57, "erosion": 0.05, "weirdness": 0.2, "depth": 0, @@ -323,8 +353,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.44, - "erosion": 0.05, + "continentalness": -0.54, + "erosion": -0.05, "depth": 0, "weirdness": -0.2, "offset": 0 @@ -335,8 +365,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.44, - "erosion": 0.05, + "continentalness": -0.54, + "erosion": -0.05, "depth": 0, "weirdness": 0, "offset": 0 @@ -347,8 +377,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.44, - "erosion": 0.05, + "continentalness": -0.54, + "erosion": -0.05, "depth": 0, "weirdness": 0.2, "offset": 0 @@ -360,7 +390,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.44, + "continentalness": -0.54, "erosion": 0.05, "depth": 0, "weirdness": -0.2, @@ -372,7 +402,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.44, + "continentalness": -0.54, "erosion": 0.05, "depth": 0, "weirdness": 0, @@ -384,7 +414,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.44, + "continentalness": -0.54, "erosion": 0.05, "depth": 0, "weirdness": 0.2, @@ -398,8 +428,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.315, - "erosion": 0.05, + "continentalness": -0.415, + "erosion": -0.05, "depth": 0, "weirdness": -0.2, "offset": 0 @@ -410,8 +440,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.315, - "erosion": 0.05, + "continentalness": -0.415, + "erosion": -0.05, "depth": 0, "weirdness": 0, "offset": 0 @@ -422,8 +452,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.315, - "erosion": 0.05, + "continentalness": -0.415, + "erosion": -0.05, "depth": 0, "weirdness": 0.2, "offset": 0 @@ -435,7 +465,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.315, + "continentalness": -0.415, "erosion": 0.05, "depth": 0, "weirdness": -0.2, @@ -447,7 +477,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.315, + "continentalness": -0.415, "erosion": 0.05, "depth": 0, "weirdness": 0, @@ -459,7 +489,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.315, + "continentalness": -0.415, "erosion": 0.05, "depth": 0, "weirdness": 0.2, @@ -474,7 +504,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.3, + "continentalness": -0.39, "erosion": 0.05, "depth": 0, "weirdness": -0.2, @@ -486,7 +516,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.3, + "continentalness": -0.39, "erosion": 0.05, "depth": 0, "weirdness": 0, @@ -498,7 +528,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.3, + "continentalness": -0.39, "erosion": 0.05, "depth": 0, "weirdness": 0.2, @@ -511,7 +541,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0, + "continentalness": 0.1, "erosion": 0.05, "depth": 0, "weirdness": -0.2, @@ -523,7 +553,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0, + "continentalness": 0.1, "erosion": 0.05, "depth": 0, "weirdness": 0, @@ -535,7 +565,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0, + "continentalness": 0.1, "erosion": 0.05, "depth": 0, "weirdness": 0.2, @@ -550,8 +580,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.3, - "erosion": 0.05, + "continentalness": -0.39, + "erosion": -0.05, "depth": 0, "weirdness": -0.2, "offset": 0.0 @@ -562,8 +592,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.3, - "erosion": 0.05, + "continentalness": -0.39, + "erosion": -0.05, "depth": 0, "weirdness": 0, "offset": 0.0 @@ -574,8 +604,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": -0.3, - "erosion": 0.05, + "continentalness": -0.39, + "erosion": -0.05, "depth": 0, "weirdness": 0.2, "offset": 0.0 @@ -587,8 +617,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0, - "erosion": 0.05, + "continentalness": 0.1, + "erosion": -0.05, "depth": 0, "weirdness": -0.2, "offset": 0.0 @@ -599,8 +629,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0, - "erosion": 0.05, + "continentalness": 0.1, + "erosion": -0.05, "depth": 0, "weirdness": 0, "offset": 0.0 @@ -611,8 +641,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0, - "erosion": 0.05, + "continentalness": 0.1, + "erosion": -0.05, "depth": 0, "weirdness": 0.2, "offset": 0.0 @@ -625,7 +655,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.05, + "continentalness": 0.15, "erosion": 0.05, "depth": 0, "weirdness": -0.2, @@ -637,7 +667,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.05, + "continentalness": 0.15, "erosion": 0.05, "depth": 0, "weirdness": 0, @@ -649,7 +679,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.05, + "continentalness": 0.15, "erosion": 0.05, "depth": 0, "weirdness": 0.2, @@ -662,7 +692,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.45, + "continentalness": 0.59, "erosion": 0.05, "depth": 0, "weirdness": -0.2, @@ -674,7 +704,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.45, + "continentalness": 0.59, "erosion": 0.05, "depth": 0, "weirdness": 0, @@ -686,7 +716,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.45, + "continentalness": 0.59, "erosion": 0.05, "depth": 0, "weirdness": 0.2, @@ -701,8 +731,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.05, - "erosion": 0.05, + "continentalness": 0.15, + "erosion": -0.05, "depth": 0, "weirdness": -0.2, "offset": 0.0 @@ -713,8 +743,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.05, - "erosion": 0.05, + "continentalness": 0.15, + "erosion": -0.05, "depth": 0, "weirdness": 0, "offset": 0.0 @@ -725,8 +755,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.05, - "erosion": 0.05, + "continentalness": 0.15, + "erosion": -0.05, "depth": 0, "weirdness": 0.2, "offset": 0.0 @@ -739,8 +769,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.45, - "erosion": 0.05, + "continentalness": 0.59, + "erosion": -0.05, "depth": 0, "weirdness": -0.2, "offset": 0.0 @@ -751,8 +781,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.45, - "erosion": 0.05, + "continentalness": 0.59, + "erosion": -0.05, "depth": 0, "weirdness": 0, "offset": 0.0 @@ -763,8 +793,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.45, - "erosion": 0.05, + "continentalness": 0.59, + "erosion": -0.05, "depth": 0, "weirdness": 0.2, "offset": 0.0 @@ -779,7 +809,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.5, + "continentalness": 0.61, "erosion": 0.05, "depth": 0, "weirdness": -0.2, @@ -791,7 +821,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.5, + "continentalness": 0.61, "erosion": 0.05, "depth": 0, "weirdness": 0, @@ -803,7 +833,7 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.5, + "continentalness": 0.61, "erosion": 0.05, "depth": 0, "weirdness": 0.2, @@ -817,8 +847,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.5, - "erosion": 0.05, + "continentalness": 0.61, + "erosion": -0.05, "depth": 0, "weirdness": -0.2, "offset": 0.0 @@ -829,8 +859,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.5, - "erosion": 0.05, + "continentalness": 0.61, + "erosion": -0.05, "depth": 0, "weirdness": 0, "offset": 0.0 @@ -841,8 +871,8 @@ "parameters": { "temperature": 0, "humidity": 0, - "continentalness": 0.5, - "erosion": 0.05, + "continentalness": 0.61, + "erosion": -0.05, "depth": 0, "weirdness": 0.2, "offset": 0.0 diff --git a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json index dbd00bd06..57fa5d58f 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json @@ -35,6 +35,9 @@ } }, "features": [ + [ + "tfg:venus/terrain/sulfur_fumes_spring" + ], [ "tfc:erosion" ], @@ -42,7 +45,6 @@ [], [], [], - [], "#tfg:venus_veins", "#tfg:venus_underground_decoration", [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json index 46cb11773..4c757911f 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json +++ b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json @@ -35,20 +35,19 @@ } }, "features": [ - [ - "tfc:erosion" - ], [ "tfg:venus/terrain/lava_spring", "tfg:venus/terrain/lava_delta", "tfg:venus/terrain/lava_lake", "tfg:venus/terrain/lava_fissure", "tfg:venus/terrain/lava_rivulet", - "tfg:venus/terrain/magma_rivulet" - ], - [ + "tfg:venus/terrain/magma_rivulet", "tfg:venus/terrain/basalt_pillar" ], + [ + "tfc:erosion" + ], + [], [], [ "tfg:venus/terrain/basalt_columns_small", diff --git a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json index 79b328a81..e65dbd1cc 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json +++ b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json @@ -35,6 +35,10 @@ } }, "features": [ + [ + "tfg:venus/terrain/sulfur_fumes_fill", + "tfg:venus/terrain/sulfur_fumes_spring" + ], [ "tfc:erosion" ], @@ -42,7 +46,6 @@ [], [], [], - [], "#tfg:venus_veins", "#tfg:venus_underground_decoration", [ @@ -50,13 +53,12 @@ "tfg:venus/vein_manual/sulfur", "tfc:raw_boulder_small_patch", "tfc:cobble_boulder_small_patch", - "tfg:venus/terrain/thermal_vent" - ], - [ + "tfg:venus/terrain/thermal_vent", "tfg:venus/surface/sulfur_patch", "tfg:venus/surface/hydralux", "tfg:venus/surface/loose_scoria" ], + [], "#tfg:venus_top_layer_modification" ], "has_precipitation": true, diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/spring_lava.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/spring_lava.json index cfbbc5b0b..05ea8c047 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/spring_lava.json +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/spring_lava.json @@ -10,6 +10,6 @@ "falling": "true" } }, - "valid_blocks": "#base_stone_nether" + "valid_blocks": "#minecraft:base_stone_nether" } } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_crackrack.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_crackrack.json index b42fe220e..e75620e1d 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_crackrack.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_crackrack.json @@ -27,7 +27,7 @@ "placement": [ { "type": "minecraft:heightmap", - "heightmap": "OCEAN_FLOOR" + "heightmap": "WORLD_SURFACE" }, { "type": "minecraft:block_predicate_filter", diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scorchia.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scorchia.json index 040d64b68..4192d4339 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scorchia.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scorchia.json @@ -27,7 +27,7 @@ "placement": [ { "type": "minecraft:heightmap", - "heightmap": "OCEAN_FLOOR" + "heightmap": "WORLD_SURFACE" }, { "type": "minecraft:block_predicate_filter", diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scoria.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scoria.json index 406c92329..5377f30b2 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scoria.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/loose_scoria.json @@ -27,7 +27,7 @@ "placement": [ { "type": "minecraft:heightmap", - "heightmap": "OCEAN_FLOOR" + "heightmap": "WORLD_SURFACE" }, { "type": "minecraft:block_predicate_filter", diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/pile_black_sand.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/pile_black_sand.json index b9bc3ca6a..2e211ab1f 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/pile_black_sand.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/pile_black_sand.json @@ -27,7 +27,7 @@ "placement": [ { "type": "minecraft:heightmap", - "heightmap": "OCEAN_FLOOR" + "heightmap": "WORLD_SURFACE" }, { "type": "minecraft:block_predicate_filter", diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/pile_volcanic_ash.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/pile_volcanic_ash.json index e0e523bb8..f919ce0b8 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/pile_volcanic_ash.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/pile_volcanic_ash.json @@ -27,7 +27,7 @@ "placement": [ { "type": "minecraft:heightmap", - "heightmap": "OCEAN_FLOOR" + "heightmap": "WORLD_SURFACE" }, { "type": "minecraft:block_predicate_filter", diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/shadow_plant_patch.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/shadow_plant_patch.json index abaeb145b..d8262a4f6 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/shadow_plant_patch.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/shadow_plant_patch.json @@ -16,7 +16,7 @@ "placement": [ { "type": "minecraft:heightmap", - "heightmap": "OCEAN_FLOOR_WG" + "heightmap": "WORLD_SURFACE" }, { "type": "minecraft:block_predicate_filter", @@ -24,9 +24,9 @@ "type": "minecraft:all_of", "predicates": [ { - "type": "minecraft:matching_block_tag", + "type": "minecraft:has_sturdy_face", "offset": [ 0, -1, 0 ], - "tag": "ad_astra:venus_stone_replaceables" + "direction": "down" }, { "type": "minecraft:matching_blocks", diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_spring.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_spring.json index 8968b9e43..c749a23d8 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_spring.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_spring.json @@ -80,8 +80,8 @@ ] } ], - "radius": 8, - "count": 32, + "radius": 12, + "count": 48, "rarity": 1 } } diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/sulfur_fumes_fill.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/sulfur_fumes_fill.json new file mode 100644 index 000000000..df39b7c16 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/sulfur_fumes_fill.json @@ -0,0 +1,11 @@ +{ + "type": "tfc:flood_fill_lake", + "config": { + "overfill": true, + "replace_fluids": [ + "minecraft:lava", + "tfg:geyser_slurry" + ], + "state": "tfg:fluid/sulfur_fumes" + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/sulfur_fumes_spring.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/sulfur_fumes_spring.json new file mode 100644 index 000000000..ba96454ad --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/sulfur_fumes_spring.json @@ -0,0 +1,87 @@ +{ + "type": "tfc:hot_spring", + "config": { + "fluid_state": "tfg:fluid/sulfur_fumes", + "radius": 8, + "decoration": { + "blocks": [ + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "tfc:rock/magma/rhyolite" + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt", + "ad_astra:moon_deepslate" + ], + "with": [ + { + "block": "tfc:rock/magma/basalt" + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "tfc:rock/magma/andesite" + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "tfc:rock/magma/dacite" + } + ] + }, + { + "replace": [ + "tfc:rock/raw/granite", + "gtceu:red_granite" + ], + "with": [ + { + "block": "tfc:rock/magma/granite" + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "tfc:rock/magma/diorite" + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro", + "minecraft:deepslate" + ], + "with": [ + { + "block": "tfc:rock/magma/gabbro" + } + ] + } + ], + "radius": 8, + "count": 24, + "rarity": 1 + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_tube_worms.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_tube_worms.json index d8b77e7ed..5295d9cbe 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_tube_worms.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/thermal_tube_worms.json @@ -12,7 +12,7 @@ "type": "tfg:attached_decorative_plant", "config": { "block": "betterend:tube_worm", - "heightRange": 5 + "heightRange": 1 } }, "placement": [] @@ -33,7 +33,7 @@ "fluid": "sulfur_fumes" } }, - "heightRange": 5 + "heightRange": 1 } }, "placement": [] @@ -48,8 +48,8 @@ }, "placement": [] }, - "tries": 36, + "tries": 48, "xz_spread": 4, - "y_spread": 0 + "y_spread": 5 } } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/density_function/venus/offset.json b/kubejs/data/tfg/worldgen/density_function/venus/offset.json index 31910ca48..1846adcd6 100644 --- a/kubejs/data/tfg/worldgen/density_function/venus/offset.json +++ b/kubejs/data/tfg/worldgen/density_function/venus/offset.json @@ -41,12 +41,12 @@ }, { "derivative": 0.0, - "location": -0.51, + "location": -0.61, "value": -0.09 }, { "derivative": 0.0, - "location": -0.42, + "location": -0.52, "value": { "coordinate": "tfg:venus/ridges_folded", "points": [ @@ -85,7 +85,7 @@ }, { "derivative": 0.0, - "location": -0.35, + "location": -0.45, "value": { "coordinate": "tfg:venus/erosion", "points": [ @@ -655,7 +655,7 @@ }, { "derivative": 0.0, - "location": 0.0, + "location": 0.1, "value": { "coordinate": "tfg:venus/erosion", "points": [ @@ -1046,7 +1046,7 @@ }, { "derivative": 0.0, - "location": 0.30, + "location": 0.375, "value": { "coordinate": "tfg:venus/erosion", "points": [ @@ -1437,7 +1437,398 @@ }, { "derivative": 0.0, - "location": 0.45, + "location": 0.6, + "value": { + "coordinate": "tfg:venus/erosion", + "points": [ + { + "derivative": 0.0, + "location": -0.85, + "value": { + "coordinate": "tfg:venus/ridges_folded", + "points": [ + { + "derivative": 0.0, + "location": -1.0, + "value": 0.40235021 + }, + { + "derivative": 0.5138249, + "location": 0.0, + "value": 0.55 + }, + { + "derivative": 0.5138249, + "location": 1.0, + "value": 0.7 + } + ] + } + }, + { + "derivative": 0.0, + "location": -0.7, + "value": { + "coordinate": "tfg:venus/ridges_folded", + "points": [ + { + "derivative": 0.0, + "location": -1.0, + "value": 0.3 + }, + { + "derivative": 0.43317974, + "location": 0.0, + "value": 0.45 + }, + { + "derivative": 0.43317974, + "location": 1.0, + "value": 0.6 + } + ] + } + }, + { + "derivative": 0.0, + "location": -0.4, + "value": { + "coordinate": "tfg:venus/ridges_folded", + "points": [ + { + "derivative": 0.0, + "location": -1.0, + "value": 0.35 + }, + { + "derivative": 0.3917051, + "location": 0.0, + "value": 0.4 + }, + { + "derivative": 0.3917051, + "location": 1.0, + "value": 0.45 + } + ] + } + }, + { + "derivative": 0.0, + "location": -0.35, + "value": { + "coordinate": "tfg:venus/ridges_folded", + "points": [ + { + "derivative": 0.5, + "location": -1.0, + "value": 0.2 + }, + { + "derivative": 0.0, + "location": -0.4, + "value": 0.3 + }, + { + "derivative": 0.0, + "location": 0.0, + "value": 0.35 + }, + { + "derivative": 0.0, + "location": 0.4, + "value": 0.4 + }, + { + "derivative": 0.049000014, + "location": 1.0, + "value": 0.45 + } + ] + } + }, + { + "derivative": 0.0, + "location": -0.1, + "value": { + "coordinate": "tfg:venus/ridges_folded", + "points": [ + { + "derivative": 0.5, + "location": -1.0, + "value": -0.1 + }, + { + "derivative": 0.07, + "location": -0.4, + "value": 0.0069999998 + }, + { + "derivative": 0.07, + "location": 0.0, + "value": 0.021 + }, + { + "derivative": 0.658, + "location": 0.4, + "value": 0.35 + }, + { + "derivative": 0.049000014, + "location": 1.0, + "value": 0.42000002 + } + ] + } + }, + { + "derivative": 0.0, + "location": 0.2, + "value": { + "coordinate": "tfg:venus/ridges_folded", + "points": [ + { + "derivative": 0.5, + "location": -1.0, + "value": -0.1 + }, + { + "derivative": 0.0, + "location": -0.4, + "value": 0.01 + }, + { + "derivative": 0.0, + "location": 0.0, + "value": 0.01 + }, + { + "derivative": 0.04, + "location": 0.4, + "value": 0.03 + }, + { + "derivative": 0.049, + "location": 1.0, + "value": 0.1 + } + ] + } + }, + { + "derivative": 0.0, + "location": 0.4, + "value": { + "coordinate": "tfg:venus/ridges_folded", + "points": [ + { + "derivative": 0.5, + "location": -1.0, + "value": 0.1 + }, + { + "derivative": 0.0, + "location": -0.4, + "value": 0.05 + }, + { + "derivative": 0.0, + "location": 0.0, + "value": 0.01 + }, + { + "derivative": 0.04, + "location": 0.4, + "value": 0.03 + }, + { + "derivative": 0.049, + "location": 1.0, + "value": 0.3 + } + ] + } + }, + { + "derivative": 0.0, + "location": 0.45, + "value": { + "coordinate": "tfg:venus/ridges_folded", + "points": [ + { + "derivative": 0.0, + "location": -1.0, + "value": -0.1 + }, + { + "derivative": 0.0, + "location": -0.4, + "value": { + "coordinate": "tfg:venus/ridges_folded", + "points": [ + { + "derivative": 0.5, + "location": -1.0, + "value": -0.1 + }, + { + "derivative": 0.0, + "location": -0.4, + "value": 0.01 + }, + { + "derivative": 0.0, + "location": 0.0, + "value": 0.01 + }, + { + "derivative": 0.04, + "location": 0.4, + "value": 0.03 + }, + { + "derivative": 0.049, + "location": 1.0, + "value": 0.1 + } + ] + } + }, + { + "derivative": 0.0, + "location": 0.0, + "value": 0.17 + } + ] + } + }, + { + "derivative": 0.0, + "location": 0.55, + "value": { + "coordinate": "tfg:venus/ridges_folded", + "points": [ + { + "derivative": 0.0, + "location": -1.0, + "value": -0.1 + }, + { + "derivative": 0.0, + "location": -0.4, + "value": { + "coordinate": "tfg:venus/ridges_folded", + "points": [ + { + "derivative": 0.5, + "location": -1.0, + "value": -0.1 + }, + { + "derivative": 0.0, + "location": -0.4, + "value": 0.01 + }, + { + "derivative": 0.0, + "location": 0.0, + "value": 0.01 + }, + { + "derivative": 0.04, + "location": 0.4, + "value": 0.03 + }, + { + "derivative": 0.049, + "location": 1.0, + "value": 0.1 + } + ] + } + }, + { + "derivative": 0.0, + "location": 0.0, + "value": 0.17 + } + ] + } + }, + { + "derivative": 0.0, + "location": 0.58, + "value": { + "coordinate": "tfg:venus/ridges_folded", + "points": [ + { + "derivative": 0.5, + "location": -1.0, + "value": -0.1 + }, + { + "derivative": 0.0, + "location": -0.4, + "value": 0.01 + }, + { + "derivative": 0.0, + "location": 0.0, + "value": 0.01 + }, + { + "derivative": 0.04, + "location": 0.4, + "value": 0.03 + }, + { + "derivative": 0.049, + "location": 1.0, + "value": 0.1 + } + ] + } + }, + { + "derivative": 0.0, + "location": 0.7, + "value": { + "coordinate": "tfg:venus/ridges_folded", + "points": [ + { + "derivative": 0.0, + "location": -1.0, + "value": -0.02 + }, + { + "derivative": 0.0, + "location": -0.4, + "value": -0.03 + }, + { + "derivative": 0.0, + "location": 0.0, + "value": -0.03 + }, + { + "derivative": 0.12, + "location": 0.4, + "value": 0.03 + }, + { + "derivative": 0.049, + "location": 1.0, + "value": 0.1 + } + ] + } + } + ] + } + }, + { + "derivative": 0.0, + "location": 0.65, "value": { "coordinate": "tfg:venus/erosion", "points": [ diff --git a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json index 36a967625..cb1fa3e2c 100644 --- a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json +++ b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json @@ -382,7 +382,7 @@ "if_true": { "type": "minecraft:y_above", "anchor": { - "absolute": 65 + "absolute": 70 }, "surface_depth_multiplier": 0, "add_stone_depth": false @@ -402,10 +402,10 @@ "type": "minecraft:vertical_gradient", "random_name": "salt_flats", "true_at_and_below": { - "absolute": 60 + "absolute": 63 }, "false_at_and_above": { - "absolute": 64 + "absolute": 67 } } }, diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/adakite_column.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/adakite_column.json index 7a7c2c0f0..cffa3ebfd 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/adakite_column.json +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/adakite_column.json @@ -1,4 +1,8 @@ { "feature": "tfg:venus/terrain/adakite_column", - "placement": [] + "placement": [ + { + "type": "minecraft:biome" + } + ] } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/sulfur_fumes_fill.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/sulfur_fumes_fill.json new file mode 100644 index 000000000..1a4620961 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/sulfur_fumes_fill.json @@ -0,0 +1,16 @@ +{ + "feature": "tfg:venus/terrain/sulfur_fumes_fill", + "placement": [ + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE_WG" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/sulfur_fumes_spring.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/sulfur_fumes_spring.json new file mode 100644 index 000000000..f55982796 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/sulfur_fumes_spring.json @@ -0,0 +1,12 @@ +{ + "feature": "tfg:venus/terrain/sulfur_fumes_spring", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 30 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file From 811956bf8c00fde7713d25cfef2d27de7b84c6b3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 16:02:17 +0000 Subject: [PATCH 372/474] salt adjustments --- kubejs/data/tfg/worldgen/noise_settings/venus_noise.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json index cb1fa3e2c..023d2582e 100644 --- a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json +++ b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json @@ -402,10 +402,10 @@ "type": "minecraft:vertical_gradient", "random_name": "salt_flats", "true_at_and_below": { - "absolute": 63 + "absolute": 60 }, "false_at_and_above": { - "absolute": 67 + "absolute": 64 } } }, From 430317bcc83007a925442b9ce6dfc94aa09bef65 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 20:39:27 +0000 Subject: [PATCH 373/474] fixed missing saw recipes #2967 --- CHANGELOG.md | 1 + kubejs/server_scripts/macaws_for_tfc/recipes.js | 7 ------- kubejs/server_scripts/macaws_for_tfc/tags.js | 8 ++++++++ kubejs/server_scripts/main_server_script.js | 1 + 4 files changed, 10 insertions(+), 7 deletions(-) create mode 100644 kubejs/server_scripts/macaws_for_tfc/tags.js diff --git a/CHANGELOG.md b/CHANGELOG.md index f081702d6..0d0762661 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unreleased ### Changes ### Bug fixes +- Fixed all the missing crafting table saw recipes (#2967) ### Translation updates ## [0.11.19] - 03-02-2026 diff --git a/kubejs/server_scripts/macaws_for_tfc/recipes.js b/kubejs/server_scripts/macaws_for_tfc/recipes.js index a412f913e..29cb84ea2 100644 --- a/kubejs/server_scripts/macaws_for_tfc/recipes.js +++ b/kubejs/server_scripts/macaws_for_tfc/recipes.js @@ -24,13 +24,6 @@ function registerMacawsForTFCRecipes(event) { }).id(`tfg:shaped/${wood}_wired_fence`) }) - event.remove({input: ['mcw_tfc_aio:roofs/gray_roofs/gray_roof_slab','#tfc:saws']}) - - event.shapeless('minecraft:gray_terracotta', [ - 'mcw_tfc_aio:roofs/gray_roofs/gray_roof_slab', - 'mcw_tfc_aio:roofs/gray_roofs/gray_roof_slab' - ]).id('minecraft:gray_terracotta') - event.shaped(`4x mcw_tfc_aio:fences/other_fences/hedge`, [ 'BAB', 'BAB' diff --git a/kubejs/server_scripts/macaws_for_tfc/tags.js b/kubejs/server_scripts/macaws_for_tfc/tags.js new file mode 100644 index 000000000..9a233b5f3 --- /dev/null +++ b/kubejs/server_scripts/macaws_for_tfc/tags.js @@ -0,0 +1,8 @@ +// priority: 0 +"use strict"; + +function registerMacawsForTFCItemTags(event) { + global.MINECRAFT_DYE_NAMES.forEach(color => { + event.remove(`mcw_tfc_aio:${color}_roofs`, `mcw_tfc_aio:roofs/${color}_roofs/${color}_roof_slab`); + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index df97fcde1..362a89dce 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -37,6 +37,7 @@ ServerEvents.tags('item', event => { registerGreateItemTags(event) registerGTCEUItemTags(event) registerImmersiveAircraftItemTags(event) + registerMacawsForTFCItemTags(event) registerMegaCellsItemTags(event) registerMinecraftItemTags(event) registerModernMarkingsItemTags(event) From 1886acaebce48e47dc267a4d8296558963c3b6a9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 20:42:28 +0000 Subject: [PATCH 374/474] fix paper for nebby --- CHANGELOG.md | 6 +++++- kubejs/server_scripts/tfg/primitive/recipes.paper.js | 11 ++--------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d0762661..6688a2d4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,12 @@ ## Unreleased ### Changes +- Added EV laser hatches! @TomPlop +- Removed the logs to wood dust quern recipes as originally intended @Pyritie ### Bug fixes -- Fixed all the missing crafting table saw recipes (#2967) +- Fixed all the missing crafting table saw recipes (#2967) @Pyritie +- Fixed not being able to send crafting requests to your AE2 network with the interdimensional wireless card @Mqrius +- Fixed the hydroponics facility, pisciculture fishery, and growth chamber's missing overclocks @TomPlop ### Translation updates ## [0.11.19] - 03-02-2026 diff --git a/kubejs/server_scripts/tfg/primitive/recipes.paper.js b/kubejs/server_scripts/tfg/primitive/recipes.paper.js index 9fba0ec9e..372ad7595 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.paper.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.paper.js @@ -77,25 +77,18 @@ function registerTFGPapermakingRecipes(event) { // Create macerator recipes for softwood event.recipes.gtceu.macerator('macerate_softwood') .itemInputs('#tfg:softwood') - .itemOutputs('6x gtceu:wood_dust') + .itemOutputs('4x gtceu:wood_dust') .chancedOutput('gtceu:wood_dust', 8000, 680) .duration(70) .EUt(2) - event.recipes.tfc.quern('4x gtceu:wood_dust', '#tfg:softwood') - .id('tfg:quern/softwood_dust') - - //Create identical macerator recipe for hardwood event.recipes.gtceu.macerator('macerate_hardwood') .itemInputs('#tfg:hardwood') - .itemOutputs('6x gtceu:hardwood_dust') + .itemOutputs('4x gtceu:hardwood_dust') .chancedOutput('gtceu:hardwood_dust', 8000, 680) .duration(70) .EUt(2) - event.recipes.tfc.quern('4x gtceu:hardwood_dust', '#tfg:hardwood') - .id('tfg:quern/hardwood_dust') - //Replace any recipe that outputs wood dust to use hardwood dust if it's ID string contains the name of one of the hardwood types. //This absolutely fuckin sucks but it works event.forEachRecipe({ output: 'gtceu:wood_dust' }, r => { From 5b3ff2ab4dc6f5eef320671798d314030074c9cd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 20:43:08 +0000 Subject: [PATCH 375/474] salt flat tweak --- kubejs/data/tfg/worldgen/noise_settings/venus_noise.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json index 023d2582e..19fc1262d 100644 --- a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json +++ b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json @@ -382,7 +382,7 @@ "if_true": { "type": "minecraft:y_above", "anchor": { - "absolute": 70 + "absolute": 68 }, "surface_depth_multiplier": 0, "add_stone_depth": false From 535fe8ff2d91807a4e027a7c8d26d93d99eba99a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 21:17:06 +0000 Subject: [PATCH 376/474] fix culling on magma blocks --- .../tfc/models/block/rock/magma/magma.json | 36 +++++++++++++++---- 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/kubejs/assets/tfc/models/block/rock/magma/magma.json b/kubejs/assets/tfc/models/block/rock/magma/magma.json index 9a3d09c75..4c497183b 100644 --- a/kubejs/assets/tfc/models/block/rock/magma/magma.json +++ b/kubejs/assets/tfc/models/block/rock/magma/magma.json @@ -6,12 +6,36 @@ "to": [16, 16, 16], "forge_data": { "block_light": 15, "sky_light": 15 }, "faces": { - "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, - "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, - "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, - "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, - "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, - "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + "north": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#0", + "cullface": "north" + }, + "east": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#0", + "cullface": "east" + }, + "south": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#0", + "cullface": "south" + }, + "west": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#0", + "cullface": "west" + }, + "up": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#0", + "cullface": "up" + }, + "down": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#0", + "cullface": "down" + } } } ], From aee36ca59ed3707bfa874b0b5c7b83fd3d87edae Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 21:17:14 +0000 Subject: [PATCH 377/474] fix basalt columns --- .../venus/terrain/basalt_columns_large.json | 53 ++++++++++++++----- .../venus/terrain/basalt_columns_small.json | 47 +++++++++++++--- .../venus/terrain/lava_fissure.json | 2 +- .../venus/terrain/lava_spring.json | 1 - 4 files changed, 79 insertions(+), 24 deletions(-) diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/basalt_columns_large.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/basalt_columns_large.json index e52016bcb..a9eb54e9d 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/basalt_columns_large.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/basalt_columns_large.json @@ -1,19 +1,44 @@ { - "type": "minecraft:basalt_columns", + "type": "minecraft:random_patch", "config": { - "height": { - "type": "minecraft:uniform", - "value": { - "max_inclusive": 10, - "min_inclusive": 4 - } + "feature": { + "feature": { + "type": "minecraft:block_column", + "config": { + "allowed_placement": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction": "up", + "layers": [ + { + "height": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 10, + "min_inclusive": 4 + } + }, + "provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:basalt" + } + } + } + ], + "prioritize_tip": false + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR" + } + ] }, - "reach": { - "type": "minecraft:uniform", - "value": { - "max_inclusive": 3, - "min_inclusive": 1 - } - } + "tries": 10, + "xz_spread": 4, + "y_spread": 1 } } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/basalt_columns_small.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/basalt_columns_small.json index 108d52449..16dd80c68 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/basalt_columns_small.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/basalt_columns_small.json @@ -1,13 +1,44 @@ { - "type": "minecraft:basalt_columns", + "type": "minecraft:random_patch", "config": { - "height": { - "type": "minecraft:uniform", - "value": { - "max_inclusive": 4, - "min_inclusive": 1 - } + "feature": { + "feature": { + "type": "minecraft:block_column", + "config": { + "allowed_placement": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + "direction": "up", + "layers": [ + { + "height": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 4, + "min_inclusive": 1 + } + }, + "provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:basalt" + } + } + } + ], + "prioritize_tip": false + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR" + } + ] }, - "reach": 1 + "tries": 6, + "xz_spread": 3, + "y_spread": 1 } } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_fissure.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_fissure.json index a79f36a28..4068e766e 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_fissure.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_fissure.json @@ -1,7 +1,7 @@ { "type": "tfc:fissure", "config": { - "wall_state": "beneath:crackrack", + "wall_state": "tfg:rock/hardened_crackrack", "fluid_state": "minecraft:lava", "count": 3, "radius": 6 diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_spring.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_spring.json index c749a23d8..f270b2d4c 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_spring.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_spring.json @@ -1,7 +1,6 @@ { "type": "tfc:hot_spring", "config": { - "wall_state": "beneath:crackrack", "fluid_state": "minecraft:lava", "radius": 16, "decoration": { From 21da3197f1f2cb6cd0d5fdfad4eaf4e20c681e4f Mon Sep 17 00:00:00 2001 From: TomPlop Date: Tue, 3 Feb 2026 18:19:39 -0500 Subject: [PATCH 378/474] Ev laser hatch (#2966) * Add EV Laser Hatches * Chapters change and buff casings --- .../quests/chapters/ev__extreme_voltage.snbt | 25 ++++++++++++--- .../ev_1024a_laser_source_hatch.json | 28 ++++++++++++++++ .../ev_1024a_laser_target_hatch.json | 28 ++++++++++++++++ .../ev_256a_laser_source_hatch.json | 28 ++++++++++++++++ .../ev_256a_laser_target_hatch.json | 28 ++++++++++++++++ .../ev_4096a_laser_source_hatch.json | 28 ++++++++++++++++ .../ev_4096a_laser_target_hatch.json | 28 ++++++++++++++++ .../machine/ev_1024a_laser_source_hatch.json | 32 +++++++++++++++++++ .../machine/ev_1024a_laser_target_hatch.json | 32 +++++++++++++++++++ .../machine/ev_256a_laser_source_hatch.json | 32 +++++++++++++++++++ .../machine/ev_256a_laser_target_hatch.json | 32 +++++++++++++++++++ .../machine/ev_4096a_laser_source_hatch.json | 32 +++++++++++++++++++ .../machine/ev_4096a_laser_target_hatch.json | 32 +++++++++++++++++++ .../item/ev_1024a_laser_source_hatch.json | 3 ++ .../item/ev_1024a_laser_target_hatch.json | 3 ++ .../item/ev_256a_laser_source_hatch.json | 3 ++ .../item/ev_256a_laser_target_hatch.json | 3 ++ .../item/ev_4096a_laser_source_hatch.json | 3 ++ .../item/ev_4096a_laser_target_hatch.json | 3 ++ .../tfg/machines/recipes.casings.js | 2 +- 20 files changed, 399 insertions(+), 6 deletions(-) create mode 100644 kubejs/assets/gtceu/blockstates/ev_1024a_laser_source_hatch.json create mode 100644 kubejs/assets/gtceu/blockstates/ev_1024a_laser_target_hatch.json create mode 100644 kubejs/assets/gtceu/blockstates/ev_256a_laser_source_hatch.json create mode 100644 kubejs/assets/gtceu/blockstates/ev_256a_laser_target_hatch.json create mode 100644 kubejs/assets/gtceu/blockstates/ev_4096a_laser_source_hatch.json create mode 100644 kubejs/assets/gtceu/blockstates/ev_4096a_laser_target_hatch.json create mode 100644 kubejs/assets/gtceu/models/block/machine/ev_1024a_laser_source_hatch.json create mode 100644 kubejs/assets/gtceu/models/block/machine/ev_1024a_laser_target_hatch.json create mode 100644 kubejs/assets/gtceu/models/block/machine/ev_256a_laser_source_hatch.json create mode 100644 kubejs/assets/gtceu/models/block/machine/ev_256a_laser_target_hatch.json create mode 100644 kubejs/assets/gtceu/models/block/machine/ev_4096a_laser_source_hatch.json create mode 100644 kubejs/assets/gtceu/models/block/machine/ev_4096a_laser_target_hatch.json create mode 100644 kubejs/assets/gtceu/models/item/ev_1024a_laser_source_hatch.json create mode 100644 kubejs/assets/gtceu/models/item/ev_1024a_laser_target_hatch.json create mode 100644 kubejs/assets/gtceu/models/item/ev_256a_laser_source_hatch.json create mode 100644 kubejs/assets/gtceu/models/item/ev_256a_laser_target_hatch.json create mode 100644 kubejs/assets/gtceu/models/item/ev_4096a_laser_source_hatch.json create mode 100644 kubejs/assets/gtceu/models/item/ev_4096a_laser_target_hatch.json diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 13841b922..643d62723 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -2338,13 +2338,28 @@ { dependencies: ["617CF3335584DC8D"] description: ["{quests.extreme_voltage.heat_battery.desc}"] + icon: "tfg:heat_battery_mk1" id: "26AA29016BA23396" subtitle: "{quests.extreme_voltage.heat_battery.subtitle}" - tasks: [{ - id: "5C9A37E905A4030F" - item: "tfg:heat_battery_mk1" - type: "item" - }] + tasks: [ + { + id: "5C9A37E905A4030F" + item: "tfg:heat_battery_mk1" + type: "item" + } + { + id: "7B355A4ECACCBE5C" + item: "tfg:copper_sandy_frame" + optional_task: true + type: "item" + } + { + id: "36B68338FCD5F7F5" + item: "tfg:beryllium_sandy_frame" + optional_task: true + type: "item" + } + ] x: 22.0d y: 4.5d } diff --git a/kubejs/assets/gtceu/blockstates/ev_1024a_laser_source_hatch.json b/kubejs/assets/gtceu/blockstates/ev_1024a_laser_source_hatch.json new file mode 100644 index 000000000..ab095fc62 --- /dev/null +++ b/kubejs/assets/gtceu/blockstates/ev_1024a_laser_source_hatch.json @@ -0,0 +1,28 @@ +{ + "variants": { + "facing=down": { + "model": "gtceu:block/machine/ev_1024a_laser_source_hatch", + "x": 90 + }, + "facing=east": { + "model": "gtceu:block/machine/ev_1024a_laser_source_hatch", + "y": 90 + }, + "facing=north": { + "model": "gtceu:block/machine/ev_1024a_laser_source_hatch" + }, + "facing=south": { + "model": "gtceu:block/machine/ev_1024a_laser_source_hatch", + "y": 180 + }, + "facing=up": { + "gtceu:z": 180, + "model": "gtceu:block/machine/ev_1024a_laser_source_hatch", + "x": 270 + }, + "facing=west": { + "model": "gtceu:block/machine/ev_1024a_laser_source_hatch", + "y": 270 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/blockstates/ev_1024a_laser_target_hatch.json b/kubejs/assets/gtceu/blockstates/ev_1024a_laser_target_hatch.json new file mode 100644 index 000000000..400b7cb0b --- /dev/null +++ b/kubejs/assets/gtceu/blockstates/ev_1024a_laser_target_hatch.json @@ -0,0 +1,28 @@ +{ + "variants": { + "facing=down": { + "model": "gtceu:block/machine/ev_1024a_laser_target_hatch", + "x": 90 + }, + "facing=east": { + "model": "gtceu:block/machine/ev_1024a_laser_target_hatch", + "y": 90 + }, + "facing=north": { + "model": "gtceu:block/machine/ev_1024a_laser_target_hatch" + }, + "facing=south": { + "model": "gtceu:block/machine/ev_1024a_laser_target_hatch", + "y": 180 + }, + "facing=up": { + "gtceu:z": 180, + "model": "gtceu:block/machine/ev_1024a_laser_target_hatch", + "x": 270 + }, + "facing=west": { + "model": "gtceu:block/machine/ev_1024a_laser_target_hatch", + "y": 270 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/blockstates/ev_256a_laser_source_hatch.json b/kubejs/assets/gtceu/blockstates/ev_256a_laser_source_hatch.json new file mode 100644 index 000000000..b9614fa11 --- /dev/null +++ b/kubejs/assets/gtceu/blockstates/ev_256a_laser_source_hatch.json @@ -0,0 +1,28 @@ +{ + "variants": { + "facing=down": { + "model": "gtceu:block/machine/ev_256a_laser_source_hatch", + "x": 90 + }, + "facing=east": { + "model": "gtceu:block/machine/ev_256a_laser_source_hatch", + "y": 90 + }, + "facing=north": { + "model": "gtceu:block/machine/ev_256a_laser_source_hatch" + }, + "facing=south": { + "model": "gtceu:block/machine/ev_256a_laser_source_hatch", + "y": 180 + }, + "facing=up": { + "gtceu:z": 180, + "model": "gtceu:block/machine/ev_256a_laser_source_hatch", + "x": 270 + }, + "facing=west": { + "model": "gtceu:block/machine/ev_256a_laser_source_hatch", + "y": 270 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/blockstates/ev_256a_laser_target_hatch.json b/kubejs/assets/gtceu/blockstates/ev_256a_laser_target_hatch.json new file mode 100644 index 000000000..4e662b935 --- /dev/null +++ b/kubejs/assets/gtceu/blockstates/ev_256a_laser_target_hatch.json @@ -0,0 +1,28 @@ +{ + "variants": { + "facing=down": { + "model": "gtceu:block/machine/ev_256a_laser_target_hatch", + "x": 90 + }, + "facing=east": { + "model": "gtceu:block/machine/ev_256a_laser_target_hatch", + "y": 90 + }, + "facing=north": { + "model": "gtceu:block/machine/ev_256a_laser_target_hatch" + }, + "facing=south": { + "model": "gtceu:block/machine/ev_256a_laser_target_hatch", + "y": 180 + }, + "facing=up": { + "gtceu:z": 180, + "model": "gtceu:block/machine/ev_256a_laser_target_hatch", + "x": 270 + }, + "facing=west": { + "model": "gtceu:block/machine/ev_256a_laser_target_hatch", + "y": 270 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/blockstates/ev_4096a_laser_source_hatch.json b/kubejs/assets/gtceu/blockstates/ev_4096a_laser_source_hatch.json new file mode 100644 index 000000000..c325b47d6 --- /dev/null +++ b/kubejs/assets/gtceu/blockstates/ev_4096a_laser_source_hatch.json @@ -0,0 +1,28 @@ +{ + "variants": { + "facing=down": { + "model": "gtceu:block/machine/ev_4096a_laser_source_hatch", + "x": 90 + }, + "facing=east": { + "model": "gtceu:block/machine/ev_4096a_laser_source_hatch", + "y": 90 + }, + "facing=north": { + "model": "gtceu:block/machine/ev_4096a_laser_source_hatch" + }, + "facing=south": { + "model": "gtceu:block/machine/ev_4096a_laser_source_hatch", + "y": 180 + }, + "facing=up": { + "gtceu:z": 180, + "model": "gtceu:block/machine/ev_4096a_laser_source_hatch", + "x": 270 + }, + "facing=west": { + "model": "gtceu:block/machine/ev_4096a_laser_source_hatch", + "y": 270 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/blockstates/ev_4096a_laser_target_hatch.json b/kubejs/assets/gtceu/blockstates/ev_4096a_laser_target_hatch.json new file mode 100644 index 000000000..751c8ab3d --- /dev/null +++ b/kubejs/assets/gtceu/blockstates/ev_4096a_laser_target_hatch.json @@ -0,0 +1,28 @@ +{ + "variants": { + "facing=down": { + "model": "gtceu:block/machine/ev_4096a_laser_target_hatch", + "x": 90 + }, + "facing=east": { + "model": "gtceu:block/machine/ev_4096a_laser_target_hatch", + "y": 90 + }, + "facing=north": { + "model": "gtceu:block/machine/ev_4096a_laser_target_hatch" + }, + "facing=south": { + "model": "gtceu:block/machine/ev_4096a_laser_target_hatch", + "y": 180 + }, + "facing=up": { + "gtceu:z": 180, + "model": "gtceu:block/machine/ev_4096a_laser_target_hatch", + "x": 270 + }, + "facing=west": { + "model": "gtceu:block/machine/ev_4096a_laser_target_hatch", + "y": 270 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/block/machine/ev_1024a_laser_source_hatch.json b/kubejs/assets/gtceu/models/block/machine/ev_1024a_laser_source_hatch.json new file mode 100644 index 000000000..72e226dbd --- /dev/null +++ b/kubejs/assets/gtceu/models/block/machine/ev_1024a_laser_source_hatch.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "gtceu:ev_1024a_laser_source_hatch", + "replaceable_textures": [ + "bottom", + "top", + "side" + ], + "variants": { + "is_formed=false": { + "model": { + "parent": "gtceu:block/machine/part/laser_source_hatch", + "textures": { + "bottom": "gtceu:block/casings/voltage/ev/bottom", + "side": "gtceu:block/casings/voltage/ev/side", + "top": "gtceu:block/casings/voltage/ev/top" + } + } + }, + "is_formed=true": { + "model": { + "parent": "gtceu:block/machine/part/laser_source_hatch", + "textures": { + "bottom": "gtceu:block/casings/voltage/ev/bottom", + "side": "gtceu:block/casings/voltage/ev/side", + "top": "gtceu:block/casings/voltage/ev/top" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/block/machine/ev_1024a_laser_target_hatch.json b/kubejs/assets/gtceu/models/block/machine/ev_1024a_laser_target_hatch.json new file mode 100644 index 000000000..48d96376e --- /dev/null +++ b/kubejs/assets/gtceu/models/block/machine/ev_1024a_laser_target_hatch.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "gtceu:ev_1024a_laser_target_hatch", + "replaceable_textures": [ + "bottom", + "top", + "side" + ], + "variants": { + "is_formed=false": { + "model": { + "parent": "gtceu:block/machine/part/laser_target_hatch", + "textures": { + "bottom": "gtceu:block/casings/voltage/ev/bottom", + "side": "gtceu:block/casings/voltage/ev/side", + "top": "gtceu:block/casings/voltage/ev/top" + } + } + }, + "is_formed=true": { + "model": { + "parent": "gtceu:block/machine/part/laser_target_hatch", + "textures": { + "bottom": "gtceu:block/casings/voltage/ev/bottom", + "side": "gtceu:block/casings/voltage/ev/side", + "top": "gtceu:block/casings/voltage/ev/top" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/block/machine/ev_256a_laser_source_hatch.json b/kubejs/assets/gtceu/models/block/machine/ev_256a_laser_source_hatch.json new file mode 100644 index 000000000..79b9416ee --- /dev/null +++ b/kubejs/assets/gtceu/models/block/machine/ev_256a_laser_source_hatch.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "gtceu:ev_256a_laser_source_hatch", + "replaceable_textures": [ + "bottom", + "top", + "side" + ], + "variants": { + "is_formed=false": { + "model": { + "parent": "gtceu:block/machine/part/laser_source_hatch", + "textures": { + "bottom": "gtceu:block/casings/voltage/ev/bottom", + "side": "gtceu:block/casings/voltage/ev/side", + "top": "gtceu:block/casings/voltage/ev/top" + } + } + }, + "is_formed=true": { + "model": { + "parent": "gtceu:block/machine/part/laser_source_hatch", + "textures": { + "bottom": "gtceu:block/casings/voltage/ev/bottom", + "side": "gtceu:block/casings/voltage/ev/side", + "top": "gtceu:block/casings/voltage/ev/top" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/block/machine/ev_256a_laser_target_hatch.json b/kubejs/assets/gtceu/models/block/machine/ev_256a_laser_target_hatch.json new file mode 100644 index 000000000..6541957d1 --- /dev/null +++ b/kubejs/assets/gtceu/models/block/machine/ev_256a_laser_target_hatch.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "gtceu:ev_256a_laser_target_hatch", + "replaceable_textures": [ + "bottom", + "top", + "side" + ], + "variants": { + "is_formed=false": { + "model": { + "parent": "gtceu:block/machine/part/laser_target_hatch", + "textures": { + "bottom": "gtceu:block/casings/voltage/ev/bottom", + "side": "gtceu:block/casings/voltage/ev/side", + "top": "gtceu:block/casings/voltage/ev/top" + } + } + }, + "is_formed=true": { + "model": { + "parent": "gtceu:block/machine/part/laser_target_hatch", + "textures": { + "bottom": "gtceu:block/casings/voltage/ev/bottom", + "side": "gtceu:block/casings/voltage/ev/side", + "top": "gtceu:block/casings/voltage/ev/top" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/block/machine/ev_4096a_laser_source_hatch.json b/kubejs/assets/gtceu/models/block/machine/ev_4096a_laser_source_hatch.json new file mode 100644 index 000000000..99d0fddfc --- /dev/null +++ b/kubejs/assets/gtceu/models/block/machine/ev_4096a_laser_source_hatch.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "gtceu:ev_4096a_laser_source_hatch", + "replaceable_textures": [ + "bottom", + "top", + "side" + ], + "variants": { + "is_formed=false": { + "model": { + "parent": "gtceu:block/machine/part/laser_source_hatch", + "textures": { + "bottom": "gtceu:block/casings/voltage/ev/bottom", + "side": "gtceu:block/casings/voltage/ev/side", + "top": "gtceu:block/casings/voltage/ev/top" + } + } + }, + "is_formed=true": { + "model": { + "parent": "gtceu:block/machine/part/laser_source_hatch", + "textures": { + "bottom": "gtceu:block/casings/voltage/ev/bottom", + "side": "gtceu:block/casings/voltage/ev/side", + "top": "gtceu:block/casings/voltage/ev/top" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/block/machine/ev_4096a_laser_target_hatch.json b/kubejs/assets/gtceu/models/block/machine/ev_4096a_laser_target_hatch.json new file mode 100644 index 000000000..a979c8181 --- /dev/null +++ b/kubejs/assets/gtceu/models/block/machine/ev_4096a_laser_target_hatch.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "gtceu:ev_4096a_laser_target_hatch", + "replaceable_textures": [ + "bottom", + "top", + "side" + ], + "variants": { + "is_formed=false": { + "model": { + "parent": "gtceu:block/machine/part/laser_target_hatch", + "textures": { + "bottom": "gtceu:block/casings/voltage/ev/bottom", + "side": "gtceu:block/casings/voltage/ev/side", + "top": "gtceu:block/casings/voltage/ev/top" + } + } + }, + "is_formed=true": { + "model": { + "parent": "gtceu:block/machine/part/laser_target_hatch", + "textures": { + "bottom": "gtceu:block/casings/voltage/ev/bottom", + "side": "gtceu:block/casings/voltage/ev/side", + "top": "gtceu:block/casings/voltage/ev/top" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/item/ev_1024a_laser_source_hatch.json b/kubejs/assets/gtceu/models/item/ev_1024a_laser_source_hatch.json new file mode 100644 index 000000000..8e9a1040c --- /dev/null +++ b/kubejs/assets/gtceu/models/item/ev_1024a_laser_source_hatch.json @@ -0,0 +1,3 @@ +{ + "parent": "gtceu:block/machine/ev_1024a_laser_source_hatch" +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/item/ev_1024a_laser_target_hatch.json b/kubejs/assets/gtceu/models/item/ev_1024a_laser_target_hatch.json new file mode 100644 index 000000000..d3c960479 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/ev_1024a_laser_target_hatch.json @@ -0,0 +1,3 @@ +{ + "parent": "gtceu:block/machine/ev_1024a_laser_target_hatch" +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/item/ev_256a_laser_source_hatch.json b/kubejs/assets/gtceu/models/item/ev_256a_laser_source_hatch.json new file mode 100644 index 000000000..8e47764c5 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/ev_256a_laser_source_hatch.json @@ -0,0 +1,3 @@ +{ + "parent": "gtceu:block/machine/ev_256a_laser_source_hatch" +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/item/ev_256a_laser_target_hatch.json b/kubejs/assets/gtceu/models/item/ev_256a_laser_target_hatch.json new file mode 100644 index 000000000..8565b9d64 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/ev_256a_laser_target_hatch.json @@ -0,0 +1,3 @@ +{ + "parent": "gtceu:block/machine/ev_256a_laser_target_hatch" +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/item/ev_4096a_laser_source_hatch.json b/kubejs/assets/gtceu/models/item/ev_4096a_laser_source_hatch.json new file mode 100644 index 000000000..3bace741b --- /dev/null +++ b/kubejs/assets/gtceu/models/item/ev_4096a_laser_source_hatch.json @@ -0,0 +1,3 @@ +{ + "parent": "gtceu:block/machine/ev_4096a_laser_source_hatch" +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/item/ev_4096a_laser_target_hatch.json b/kubejs/assets/gtceu/models/item/ev_4096a_laser_target_hatch.json new file mode 100644 index 000000000..9b1c0448b --- /dev/null +++ b/kubejs/assets/gtceu/models/item/ev_4096a_laser_target_hatch.json @@ -0,0 +1,3 @@ +{ + "parent": "gtceu:block/machine/ev_4096a_laser_target_hatch" +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/machines/recipes.casings.js b/kubejs/server_scripts/tfg/machines/recipes.casings.js index 199fa44a9..814409db3 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.casings.js +++ b/kubejs/server_scripts/tfg/machines/recipes.casings.js @@ -200,7 +200,7 @@ function registerTFGCasingRecipes(event) { .itemInputs('gtceu:ostrum_frame', '4x #forge:plates/titanium_tungsten_carbide', '16x #forge:fine_wires/copper', '16x #forge:fine_wires/tungsten_bismuth_oxide_composite') .inputFluids(Fluid.of('gtceu:reinforced_epoxy_resin', 288)) - .itemOutputs('2x tfg:machine_casing_power_casing') + .itemOutputs('4x tfg:machine_casing_power_casing') .circuit(6) .duration(2.5 * 20) .EUt(GTValues.VA[GTValues.EV]) From 643facfdd4394da5419ab7f03ff5de2be4d6addb Mon Sep 17 00:00:00 2001 From: OLOXpl <125832723+OLOXpl@users.noreply.github.com> Date: Wed, 4 Feb 2026 00:19:54 +0100 Subject: [PATCH 379/474] dust to balls (#2943) yes --- kubejs/server_scripts/tfc/recipes.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 6eb87bda4..b51634c4d 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -241,6 +241,12 @@ const registerTFCRecipes = (event) => { .outputFluid(Fluid.of('tfc:vinegar', 250)) .id('tfc:barrel/vinegar') + // Clay dust to balls + event.recipes.tfc.barrel_sealed(8000) + .inputs('gtceu:clay_dust',TFC.fluidStackIngredient('minecraft:water', 250)) + .outputItem('1x minecraft:clay_ball') + .id('tfc:barrel/clay_ball') + // Borax to flux event.recipes.tfc.quern('4x tfc:powder/flux', 'gtceu:borax_dust') .id(`tfg:quern/borax`) From 6121d14d162e891f78de092554cbd86f41e9e92c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 3 Feb 2026 23:20:46 +0000 Subject: [PATCH 380/474] langs --- .../assets/constructionwand/lang/es_es.json | 7 ++ kubejs/assets/create/lang/es_es.json | 107 ++++++++++++++++++ kubejs/assets/createdeco/lang/es_es.json | 73 ++++++++++++ .../assets/createhorsepower/lang/es_es.json | 4 + 4 files changed, 191 insertions(+) create mode 100644 kubejs/assets/constructionwand/lang/es_es.json create mode 100644 kubejs/assets/create/lang/es_es.json create mode 100644 kubejs/assets/createdeco/lang/es_es.json create mode 100644 kubejs/assets/createhorsepower/lang/es_es.json diff --git a/kubejs/assets/constructionwand/lang/es_es.json b/kubejs/assets/constructionwand/lang/es_es.json new file mode 100644 index 000000000..d642aad77 --- /dev/null +++ b/kubejs/assets/constructionwand/lang/es_es.json @@ -0,0 +1,7 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "item.constructionwand.stone_wand": "Vara de cobre", + "item.constructionwand.iron_wand": "Vara de hierro forjado", + "item.constructionwand.diamond_wand": "Vara de acero azul", + "item.constructionwand.infinity_wand": "Vara de titanio inteligente" +} \ No newline at end of file diff --git a/kubejs/assets/create/lang/es_es.json b/kubejs/assets/create/lang/es_es.json new file mode 100644 index 000000000..51b1c77dd --- /dev/null +++ b/kubejs/assets/create/lang/es_es.json @@ -0,0 +1,107 @@ +{ + "__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": "Tanque trasero de acero azul", + "block.create.shadow_casing": "Carcasa de acero negro", + "block.create.refined_radiance_casing": "Carcasa brillante", + "block.create.industrial_iron_block": "Bloque de acero industrial", + "block.create.weathered_iron_block": "Bloque de acero degradado", + "block.create.industrial_iron_window": "Ventana de acero industrial", + "block.create.weathered_iron_window": "Ventana de acero degradado", + "block.create.industrial_iron_window_pane": "Panel de ventana de acero industrial", + "block.create.weathered_iron_window_pane": "Panel de ventana de acero degradado", + "block.create.dark_oak_window": "Ventana de nogal americano", + "block.create.dark_oak_window_pane": "Panel de ventana de nogal americano", + "block.create.cherry_window": "Ventana de higuera", + "block.create.cherry_window_pane": "Panel de ventana de higuera", + "block.create.spruce_window": "Ventana de cipres", + "block.create.spruce_window_pane": "Panel de ventana de cipres", + "block.create.jungle_window": "Ventana de teca", + "block.create.jungle_window_pane": "Panel de ventana de teca", + "block.create.birch_window": "Ventana de eucalipto", + "block.create.birch_window_pane": "Panel de ventana de eucalipto", + "block.create.acacia_window": "Ventana de baobab", + "block.create.acacia_window_pane": "Panel de ventana de baobab", + "block.create.andesite_bars": "Barras de metal", + "block.create.andesite_belt_funnel": "Embudo lateral de metal", + "block.create.andesite_casing": "Carcasa de metal", + "block.create.andesite_door": "Puerta de metal", + "block.create.andesite_encased_cogwheel": "Engranaje revestido de metal", + "block.create.andesite_encased_large_cogwheel": "Engranaje grande revestido de metal", + "block.create.andesite_encased_shaft": "Eje revestido de metal", + "block.create.andesite_funnel": "Embudo de metal", + "block.create.andesite_ladder": "Escalera de metal", + "block.create.andesite_scaffolding": "Andamio de metal", + "block.create.andesite_tunnel": "Túnel de metal", + "block.create.andesite_table_cloth": "Mantel de metal", + "block.create.cut_deepslate": "Migmatita cortada", + "block.create.cut_deepslate_stairs": "Escaleras de migmatita cortada", + "block.create.cut_deepslate_slab": "Losa de migmatita cortada", + "block.create.cut_deepslate_wall": "Muro de migmatita cortada", + "block.create.polished_cut_deepslate": "Migmatita cortada pulida", + "block.create.polished_cut_deepslate_stairs": "Escaleras de migmatita cortada pulida", + "block.create.polished_cut_deepslate_slab": "Losa de migmatita cortada pulida", + "block.create.polished_cut_deepslate_wall": "Muro de migmatita cortada pulida", + "block.create.cut_deepslate_brick_stairs": "Escaleras de ladrillos de migmatita cortada", + "block.create.cut_deepslate_brick_slab": "Losa de ladrillos de migmatita cortada", + "block.create.cut_deepslate_brick_wall": "Muro de ladrillos de migmatita cortada", + "block.create.small_deepslate_bricks": "Ladrillos pequeños de migmatita", + "block.create.small_deepslate_brick_stairs": "Escaleras de ladrillos pequeños de migmatita", + "block.create.small_deepslate_brick_slab": "Losa de ladrillos pequeños de migmatita", + "block.create.small_deepslate_brick_wall": "Muro de ladrillos pequeños de migmatita", + "block.create.layered_deepslate": "Migmatita estratificada", + "block.create.deepslate_pillar": "Pilar de migmatita", + "block.create.cut_dripstone": "Travertino cortado", + "block.create.cut_dripstone_stairs": "Escaleras de travertino cortado", + "block.create.cut_dripstone_slab": "Losa de travertino cortado", + "block.create.cut_dripstone_wall": "Muro de travertino cortado", + "block.create.polished_cut_dripstone": "Travertino cortado pulido", + "block.create.polished_cut_dripstone_stairs": "Escaleras de travertino cortado pulido", + "block.create.polished_cut_dripstone_slab": "Losa de travertino cortado pulido", + "block.create.polished_cut_dripstone_wall": "Muro de travertino cortado pulido", + "block.create.cut_dripstone_brick_stairs": "Escaleras de ladrillos de travertino cortado", + "block.create.cut_dripstone_brick_slab": "Losa de ladrillos de travertino cortado", + "block.create.cut_dripstone_brick_wall": "Muro de ladrillos de travertino cortado", + "block.create.small_dripstone_bricks": "Ladrillos pequeños de travertino", + "block.create.small_dripstone_brick_stairs": "Escaleras de ladrillos pequeños de travertino", + "block.create.small_dripstone_brick_slab": "Losa de ladrillos pequeños de travertino", + "block.create.small_dripstone_brick_wall": "Muro de ladrillos pequeños de travertino", + "block.create.layered_dripstone": "Travertino estratificado", + "block.create.dripstone_pillar": "Pilar de travertino", + "block.create.cut_granite": "Sílex cortado", + "block.create.cut_granite_stairs": "Escaleras de sílex cortado", + "block.create.cut_granite_slab": "Losa de sílex cortado", + "block.create.cut_granite_wall": "Muro de sílex cortado", + "block.create.polished_cut_granite": "Sílex cortado pulido", + "block.create.polished_cut_granite_stairs": "Escaleras de sílex cortado pulido", + "block.create.polished_cut_granite_slab": "Losa de sílex cortado pulido", + "block.create.polished_cut_granite_wall": "Muro de sílex cortado pulido", + "block.create.cut_granite_brick_stairs": "Escaleras de ladrillos de sílex cortado", + "block.create.cut_granite_brick_slab": "Losa de ladrillos de sílex cortado", + "block.create.cut_granite_brick_wall": "Muro de ladrillos de sílex cortado", + "block.create.small_granite_bricks": "Ladrillos pequeños de sílex", + "block.create.small_granite_brick_stairs": "Escaleras de ladrillos pequeños de sílex", + "block.create.small_granite_brick_slab": "Losa de ladrillos pequeños de sílex", + "block.create.small_granite_brick_wall": "Muro de ladrillos pequeños de sílex", + "block.create.layered_granite": "Sílex estratificado", + "block.create.granite_pillar": "Pilar de sílex", + "item.create.netherite_diving_helmet.tooltip.summary": "Junto a un _Tanque trasero de acero azul_, esto puede protegerte del _calor extremo_. Para ser efectivo, _piernas y pies_ deben estar cubiertas con un _equipamiento de buceo de acero azul_.", + "item.create.netherite_backtank": "Tanque tracero de acero azul", + "item.create.netherite_diving_helmet": "Casco de buceo de acero azul", + "item.create.netherite_diving_boots": "Botas de buceo de acero azul", + "item.create.copper_sheet": "Placa de cobre", + "item.create.brass_sheet": "Placa de latón", + "item.create.golden_sheet": "Placa de oro", + "item.create.crushed_raw_gold": "Mena de oro purificada", + "item.create.crushed_raw_copper": "Mena de cobre purificada", + "item.create.crushed_raw_zinc": "Mena de zinc purificada", + "item.create.crushed_raw_silver": "Mena de plata purificada", + "item.create.crushed_raw_tin": "Mena de estaño purificada", + "item.create.crushed_raw_lead": "Mena de plomo purificada", + "create.ponder.andesite_tunnel.header": "Usando túneles de metal", + "create.ponder.andesite_tunnel.text_1": "Los túneles de metal pueden ser usados para cubrir tus cintas transportadoras", + "create.ponder.andesite_tunnel.text_2": "Cuando un túnel de metal tiene conexiones en sus lados...", + "create.ponder.belt_casing.text_1": "Las carcasas de latón o de metal pueden ser usadas para decorar cintas transportadoras", + "create.ponder.brass_funnel.text_1": "Los túneles de metal solo pueden extraer ítems uno por uno.", + "create.ponder.cogwheel_casing.text_1": "Las carcasas de latón o de metal pueden ser usadas para decorar engranajes", + "create.ponder.shaft_casing.text_1": "Las carcasas de latón o de metal pueden ser usadas para decorar ejes" +} \ No newline at end of file diff --git a/kubejs/assets/createdeco/lang/es_es.json b/kubejs/assets/createdeco/lang/es_es.json new file mode 100644 index 000000000..57980aec0 --- /dev/null +++ b/kubejs/assets/createdeco/lang/es_es.json @@ -0,0 +1,73 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.createdeco.andesite_bars": "Barras de aleación de estaño", + "block.createdeco.andesite_bars_overlay": "Barras de aleación de estaño superpuestas", + "block.createdeco.andesite_window": "Ventana de aleación de estaño", + "block.createdeco.andesite_window_pane": "Panel de ventana de aleación de estaño", + "block.createdeco.andesite_mesh_fence": "Cerca de malla de aleación de estaño", + "block.createdeco.andesite_catwalk": "Pasarela de aleación de estaño", + "block.createdeco.andesite_catwalk_stairs": "Escaleras de pasarela de aleación de estaño", + "block.createdeco.andesite_catwalk_railing": "Barandilla de pasarela de aleación de estaño", + "block.createdeco.andesite_support_wedge": "Cuña de apoyo de aleación de estaño", + "block.createdeco.andesite_hull": "Carcasa de tren de aleación de estaño", + "block.createdeco.andesite_support": "Soporte de aleación de estaño", + "block.createdeco.yellow_andesite_lamp": "Lámpara de jaula amarilla de aleación de estaño", + "block.createdeco.red_andesite_lamp": "Lámpara de jaula roja de aleación de estaño", + "block.createdeco.blue_andesite_lamp": "Lámpara de jaula azul de aleación de estaño", + "block.createdeco.green_andesite_lamp": "Lámpara de jaula verde de aleación de estaño", + "block.createdeco.andesite_sheet_metal": "Chapa metálica de aleación de estaño", + "block.createdeco.andesite_door": "Puerta de aleación de estaño", + "block.createdeco.locked_andesite_door": "Puerta de aleación de estaño cerrada", + "block.createdeco.andesite_trapdoor": "Trampilla de aleación de estaño", + "block.createdeco.andesite_facade": "Fachada de aleación de estaño", + "block.createdeco.iron_bars": "Barras de hierro forjado", + "block.createdeco.iron_bars_overlay": "Barras de hierro forjado superpuestas", + "block.createdeco.iron_window": "Ventana de hierro forjado", + "block.createdeco.iron_window_pane": "Panel de ventana de hierro forjado", + "block.createdeco.iron_mesh_fence": "Cerca de malla de hierro forjado", + "block.createdeco.iron_catwalk": "Pasarela de hierro forjado", + "block.createdeco.iron_catwalk_stairs": "Escaleras de pasarela de hierro forjado", + "block.createdeco.iron_catwalk_railing": "Barandilla de pasarela de hierro forjado", + "block.createdeco.iron_support_wedge": "Cuña de apoyo de hierro forjado", + "block.createdeco.iron_hull": "Carcasa de tren de hierro forjado", + "block.createdeco.iron_support": "Soporte de hierro forjado", + "block.createdeco.yellow_iron_lamp": "Lámpara de jaula amarilla de hierro forjado", + "block.createdeco.red_iron_lamp": "Lámpara de jaula roja de hierro forjado", + "block.createdeco.blue_iron_lamp": "Lámpara de jaula azul de hierro forjado", + "block.createdeco.green_iron_lamp": "Lámpara de jaula verde de hierro forjado", + "block.createdeco.iron_sheet_metal": "Chapa metálica de hierro forjado", + "block.createdeco.iron_door": "Puerta de hierro forjado", + "block.createdeco.locked_iron_door": "Puerta de hierro forjado cerrada", + "block.createdeco.iron_trapdoor": "Trampilla de hierro forjado", + "block.createdeco.iron_facade": "Fachada de hierro forjado", + "block.createdeco.iron_coinstack": "Montón de monedas de hierro forjado", + "block.createdeco.netherite_coinstack": "Montón de monedas de acero azul", + "block.createdeco.industrial_iron_coinstack": "Montón de monedas de acero", + "block.createdeco.industrial_iron_bars": "Barras de acero", + "block.createdeco.industrial_iron_bars_overlay": "Barras de acero superpuestas", + "block.createdeco.industrial_iron_window": "Ventana de acero", + "block.createdeco.industrial_iron_window_pane": "Panel de ventana de acero", + "block.createdeco.industrial_iron_mesh_fence": "Cerca de malla de acero", + "block.createdeco.industrial_iron_catwalk": "Pasarela de acero", + "block.createdeco.industrial_iron_catwalk_stairs": "Escaleras de pasarela de acero", + "block.createdeco.industrial_iron_catwalk_railing": "Barandilla de pasarela de acero", + "block.createdeco.industrial_iron_support_wedge": "Cuña de apoyo de acero", + "block.createdeco.industrial_iron_hull": "Carcasa de tren de acero", + "block.createdeco.industrial_iron_support": "Soporte de acero", + "block.createdeco.yellow_industrial_iron_lamp": "Lámpara de jaula amarilla de acero", + "block.createdeco.red_industrial_iron_lamp": "Lámpara de jaula roja de acero", + "block.createdeco.blue_industrial_iron_lamp": "Lámpara de jaula azul de acero", + "block.createdeco.green_industrial_iron_lamp": "Lámpara de jaula verde de acero", + "block.createdeco.industrial_iron_sheet_metal": "Chapa metálica de acero", + "block.createdeco.industrial_iron_door": "Puerta de acero", + "block.createdeco.locked_industrial_iron_door": "Puerta de acero cerrada", + "block.createdeco.industrial_iron_trapdoor": "Trampilla de acero", + "block.createdeco.industrial_iron_ladder": "Escaleras de acero", + "block.createdeco.industrial_iron_facade": "Fachada de acero", + "item.createdeco.iron_coin": "Moneda de hierro forjado", + "item.createdeco.netherite_coin": "Moneda de acero azul", + "item.createdeco.industrial_iron_coin": "Moneda de acero", + "item.createdeco.iron_coinstack": "Montón de monedas de hierro forjado", + "item.createdeco.netherite_coinstack": "Montón de monedas de acero azul", + "item.createdeco.industrial_iron_coinstack": "Montón de monedas de acero" +} \ No newline at end of file diff --git a/kubejs/assets/createhorsepower/lang/es_es.json b/kubejs/assets/createhorsepower/lang/es_es.json new file mode 100644 index 000000000..ae353ad4f --- /dev/null +++ b/kubejs/assets/createhorsepower/lang/es_es.json @@ -0,0 +1,4 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.createhorsepower.horse_crank": "Manivela animal" +} \ No newline at end of file From e9c7c2dfef053c439d4179555e9cdc7c19243e64 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Feb 2026 00:29:09 +0000 Subject: [PATCH 381/474] cl --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6688a2d4b..87871c631 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,11 +4,13 @@ ### Changes - Added EV laser hatches! @TomPlop - Removed the logs to wood dust quern recipes as originally intended @Pyritie +- Added a sealed barrel recipe to convert clay dust into clay balls (#2943) @OLOXpl ### Bug fixes - Fixed all the missing crafting table saw recipes (#2967) @Pyritie - Fixed not being able to send crafting requests to your AE2 network with the interdimensional wireless card @Mqrius - Fixed the hydroponics facility, pisciculture fishery, and growth chamber's missing overclocks @TomPlop ### Translation updates +- Spanish @NikoNeko17 ## [0.11.19] - 03-02-2026 ### Breaking changes From 4664715240ff0203fec063224e2491c041cc5c32 Mon Sep 17 00:00:00 2001 From: TomPlop Date: Tue, 3 Feb 2026 20:28:59 -0500 Subject: [PATCH 382/474] fast fix (#2971) --- kubejs/startup_scripts/gtceu/machines.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index dfd7a176b..d45b41af1 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -227,9 +227,9 @@ const registerGTCEuMachines = (event) => { .appearanceBlock(() => Block.getBlock('gtceu:high_temperature_smelting_casing')) .pattern(definition => FactoryBlockPattern.start() .aisle(' ','BBBBBBB','BCCCCCB','BBBBBBB',' ') - .aisle('AAAAAAA','A#####A','BDDDDDB','A#####A','AAAAAAA') + .aisle('AAAAAAA','A#####A','ZDDDDDZ','A#####A','AAAAAAA') .aisle('AFFFFFA','B#####B','LEEEEEL','B#####B','AFFFFFA') - .aisle('AAAAAAA','A#####A','BDDDDDB','A#####A','AAAAAAA') + .aisle('AAAAAAA','A#####A','ZDDDDDZ','A#####A','AAAAAAA') .aisle(' ','BBBXBBB','BCCCCCB','BBBMBBB',' ') .where('X', Predicates.controller(Predicates.blocks(definition.get()))) .where('A', Predicates.blocks('gtceu:atomic_casing')) @@ -244,6 +244,9 @@ const registerGTCEuMachines = (event) => { .or(Predicates.abilities(PartAbility.EXPORT_FLUIDS_4X).setExactLimit(1))) .where('M', Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1) .or(Predicates.blocks('gtceu:high_temperature_smelting_casing'))) + .where('Z', Predicates.blocks('gtceu:high_temperature_smelting_casing') + .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS_4X).setMaxGlobalLimited(2)) + .or(Predicates.abilities(PartAbility.EXPORT_FLUIDS_4X).setMaxGlobalLimited(2))) .where('#', Predicates.air()) .where(' ', Predicates.any()) .build() From 6a48d721d7f0875e49830779a6d361eb0f87ab4a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Feb 2026 01:39:31 +0000 Subject: [PATCH 383/474] pregnant man emoji --- CHANGELOG.md | 6 +++ config/crash_assistant/modlist.json | 20 ++++---- pakku-lock.json | 72 ++++++++++++++--------------- 3 files changed, 52 insertions(+), 46 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 87871c631..a989cecbc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,15 @@ ## Unreleased ### Changes +### Bug fixes +### Translation updates + +## [0.11.20] - 04-02-2026 +### Changes - Added EV laser hatches! @TomPlop - Removed the logs to wood dust quern recipes as originally intended @Pyritie - Added a sealed barrel recipe to convert clay dust into clay balls (#2943) @OLOXpl +- Added more fluid hatches to the Heat Exchanger to handle the increased flowrate (#2971) @TomPlop ### Bug fixes - Fixed all the missing crafting table saw recipes (#2967) @Pyritie - Fixed not being able to send crafting requests to your AE2 network with the interdimensional wireless card @Mqrius diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index 75537b804..f2b57a477 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -1381,12 +1381,12 @@ "curseForgeHash": 218830698, "modrinthHash": "7d4f578a42c9b880744ea6058a495847aac9e4c3" }, - "tacz-tweaks-2.12.2-all.jar": { - "jarName": "tacz-tweaks-2.12.2-all.jar", + "tacz-tweaks-2.13.0-all.jar": { + "jarName": "tacz-tweaks-2.13.0-all.jar", "modId": "tacztweaks", - "version": "2.12.2", - "curseForgeHash": 493830591, - "modrinthHash": "f726c2d0ac2c77e3cc7f93fad7fd4338117c7a80" + "version": "2.13.0", + "curseForgeHash": 3917857281, + "modrinthHash": "1b2d7873fd3e2150f339d0d36e588196a50061d1" }, "taczammoquery-1.20.1-1.0.0.jar": { "jarName": "taczammoquery-1.20.1-1.0.0.jar", @@ -1409,12 +1409,12 @@ "curseForgeHash": 2679626739, "modrinthHash": "ea725f5bed9662aa22d4ec089a009bd52fb82275" }, - "TerraFirmaGreg-Core-Modern-0.8.19.jar": { - "jarName": "TerraFirmaGreg-Core-Modern-0.8.19.jar", + "TerraFirmaGreg-Core-Modern-0.8.20.jar": { + "jarName": "TerraFirmaGreg-Core-Modern-0.8.20.jar", "modId": "tfg", - "version": "0.8.19", - "curseForgeHash": 275630824, - "modrinthHash": "ff9b919b7afa7a8f921c50d29718d4a3f8115648" + "version": "0.8.20", + "curseForgeHash": 3054155648, + "modrinthHash": "4a31376e9527ba6c70bf9666c308c47b5371e18a" }, "tfc_gourmet-1.4.3.jar": { "jarName": "tfc_gourmet-1.4.3.jar", diff --git a/pakku-lock.json b/pakku-lock.json index c711894cf..c58739a69 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -13968,7 +13968,7 @@ "files": [ { "type": "modrinth", - "file_name": "tacz-tweaks-2.12.2-all.jar", + "file_name": "tacz-tweaks-2.13.0-all.jar", "mc_versions": [ "1.20", "1.20.1" @@ -13977,24 +13977,24 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/H8peNuJG/versions/JnqIQ9EH/tacz-tweaks-2.12.2-all.jar", - "id": "JnqIQ9EH", + "url": "https://cdn.modrinth.com/data/H8peNuJG/versions/2ElSdr6d/tacz-tweaks-2.13.0-all.jar", + "id": "2ElSdr6d", "parent_id": "H8peNuJG", "hashes": { - "sha512": "6ff5680072a972f9a597928745525a89c194d9c7701cda33ba386d1bf8a0ff0fe010d5bf63f467c3ef7d746896ac6a7678e98a7285b0254b926075d4170ac353", - "sha1": "f726c2d0ac2c77e3cc7f93fad7fd4338117c7a80" + "sha512": "135248ead8c07f16d28253ae7ff9a7c1574f768921c9fbfa26bc05c4adb2ce1990be7a0e09897209dc758ef5eb2c302368a983fbe07af8168340971741c2d88a", + "sha1": "1b2d7873fd3e2150f339d0d36e588196a50061d1" }, "required_dependencies": [ - "1eAoo2KR", "ordsPcFz", - "SzzJttH8" + "SzzJttH8", + "1eAoo2KR" ], - "size": 1894239, - "date_published": "2026-01-24T10:14:48.372979Z" + "size": 1921024, + "date_published": "2026-02-03T11:33:11.132699Z" }, { "type": "curseforge", - "file_name": "tacz-tweaks-2.12.2-all.jar", + "file_name": "tacz-tweaks-2.13.0-all.jar", "mc_versions": [ "1.20.1", "1.20" @@ -14003,20 +14003,20 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7517/23/tacz-tweaks-2.12.2-all.jar", - "id": "7517023", + "url": "https://edge.forgecdn.net/files/7570/412/tacz-tweaks-2.13.0-all.jar", + "id": "7570412", "parent_id": "1193263", "hashes": { - "sha1": "f726c2d0ac2c77e3cc7f93fad7fd4338117c7a80", - "md5": "2b74092c813b98a27dad4b543808f61f" + "sha1": "1b2d7873fd3e2150f339d0d36e588196a50061d1", + "md5": "5a59c4f690866c9ff50eecd8015d4a73" }, "required_dependencies": [ "1028108", - "667299", - "351264" + "351264", + "667299" ], - "size": 1894239, - "date_published": "2026-01-24T10:14:48.150Z" + "size": 1921024, + "date_published": "2026-02-03T11:33:11.103Z" } ] }, @@ -14110,7 +14110,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.19.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.20.jar", "mc_versions": [ "1.20.1" ], @@ -14119,23 +14119,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/LusgkBmJ/TerraFirmaGreg-Core-Modern-0.8.19.jar", - "id": "LusgkBmJ", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/lFy65M5b/TerraFirmaGreg-Core-Modern-0.8.20.jar", + "id": "lFy65M5b", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "b65de612b24528baead242f0d9564e799db5221b36fd12ccbb191a45f9186082ca4d21599343a909ef65541d230eff2353cfaa0c78f200fd4ff259c33cda11ec", - "sha1": "ff9b919b7afa7a8f921c50d29718d4a3f8115648" + "sha512": "d6f9c3331589e46cbb30cec39d2ff3c83bc6b25f168a03cf80d6e13d144ae17d3dc6bbbcdc65963c81c289f07e2b00e52cc53b48f61dc1d836e1f6542d04b9ef", + "sha1": "4a31376e9527ba6c70bf9666c308c47b5371e18a" }, "required_dependencies": [ - "JaCEZUhg", - "7tG215v7" + "7tG215v7", + "JaCEZUhg" ], - "size": 9564353, - "date_published": "2026-02-03T11:14:10.819830Z" + "size": 9566314, + "date_published": "2026-02-03T23:29:11.849110Z" }, { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.19.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.20.jar", "mc_versions": [ "1.20.1" ], @@ -14144,19 +14144,19 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7570/367/TerraFirmaGreg-Core-Modern-0.8.19.jar", - "id": "7570367", + "url": "https://edge.forgecdn.net/files/7572/993/TerraFirmaGreg-Core-Modern-0.8.20.jar", + "id": "7572993", "parent_id": "513402", "hashes": { - "sha1": "ff9b919b7afa7a8f921c50d29718d4a3f8115648", - "md5": "81f3dfb6d3e503c2e10263ec3563c49a" + "sha1": "4a31376e9527ba6c70bf9666c308c47b5371e18a", + "md5": "173c0b79425140a01365b3707fb17dc4" }, "required_dependencies": [ - "302973", - "890405" + "890405", + "302973" ], - "size": 9564353, - "date_published": "2026-02-03T11:14:05.233Z" + "size": 9566314, + "date_published": "2026-02-03T23:29:07.213Z" } ] }, From e632e8bb08b07462eb1aa673524289edbc220d67 Mon Sep 17 00:00:00 2001 From: OneTwistedTit <38736948+OneTwistedTit@users.noreply.github.com> Date: Wed, 4 Feb 2026 06:42:26 -0600 Subject: [PATCH 384/474] fix typo (#2974) --- config/ftbquests/quests/chapters/queststfc_tips.snbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index 257d7156c..9a5e01028 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -1872,7 +1872,7 @@ { dependencies: ["4A8910950F638BB5"] description: ["{quests.tfg_tips.juicer.desc}"] - guide_page: "tfc:field_guide tfc:beneath:water" + guide_page: "tfc:field_guide tfc:beneath/water" id: "3D845616A2F7083F" subtitle: "{quests.tfg_tips.juicer.subtitle}" tasks: [{ From 256d489be68da52c230dfba6d52d17814259cf07 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Feb 2026 22:20:27 +0000 Subject: [PATCH 385/474] fix #2977 --- .../tfg/ores_and_materials/recipes.alloys.js | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js index d132b768a..a159b0a38 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js @@ -71,28 +71,38 @@ function registerTFGAlloyingRecipes(event) { event.remove({ id: 'greate:mixing/integration/gtceu/mixer/red_steel' }) event.remove({ id: 'greate:mixing/integration/gtceu/mixer/blue_steel' }) - event.recipes.greate.mixing('#forge:dusts/weak_red_steel', - ['4x #forge:dusts/black_steel', '2x #forge:dusts/steel', '#forge:dusts/brass', '#forge:dusts/rose_gold']) + event.recipes.greate.mixing('8x #forge:dusts/weak_red_steel', [ + '#forge:dusts/black_steel', '#forge:dusts/black_steel', '#forge:dusts/black_steel', '#forge:dusts/black_steel', + '#forge:dusts/steel', '#forge:dusts/steel', + '#forge:dusts/brass', + '#forge:dusts/rose_gold']) .recipeTier(1) .circuitNumber(2) - .heated() .id('tfg:weak_red_steel_greate') - event.recipes.greate.mixing('#forge:dusts/weak_blue_steel', - ['4x #forge:dusts/black_steel', '2x #forge:dusts/steel', '#forge:dusts/bismuth_bronze', '#forge:dusts/sterling_silver']) + event.recipes.greate.mixing('8x #forge:dusts/weak_blue_steel', [ + '#forge:dusts/black_steel', '#forge:dusts/black_steel', '#forge:dusts/black_steel', '#forge:dusts/black_steel', + '#forge:dusts/steel', '#forge:dusts/steel', + '#forge:dusts/bismuth_bronze', + '#forge:dusts/sterling_silver']) .recipeTier(1) .circuitNumber(2) - .heated() .id('tfg:weak_blue_steel_greate') - event.recipes.greate.mixing('#forge:dusts/red_steel', - ['4x #forge:dusts/black_steel', '2x #forge:dusts/steel', '#forge:dusts/brass', '#forge:dusts/rose_gold']) + event.recipes.greate.mixing('8x #forge:dusts/red_steel', [ + '#forge:dusts/black_steel','#forge:dusts/black_steel', '#forge:dusts/black_steel', '#forge:dusts/black_steel', + '#forge:dusts/steel', '#forge:dusts/steel', + '#forge:dusts/brass', + '#forge:dusts/rose_gold']) .recipeTier(2) .circuitNumber(1) .id('tfg:red_steel_greate') - event.recipes.greate.mixing('#forge:dusts/blue_steel', - ['4x #forge:dusts/black_steel', '2x #forge:dusts/steel', '#forge:dusts/bismuth_bronze', '#forge:dusts/sterling_silver']) + event.recipes.greate.mixing('8x #forge:dusts/blue_steel', [ + '#forge:dusts/black_steel','#forge:dusts/black_steel', '#forge:dusts/black_steel', '#forge:dusts/black_steel', + '#forge:dusts/steel', '#forge:dusts/steel', + '#forge:dusts/bismuth_bronze', + '#forge:dusts/sterling_silver']) .recipeTier(2) .circuitNumber(1) .id('tfg:blue_steel_greate') From 6a63006b838a3812eb420511aee102452f5c7f6c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Feb 2026 22:20:43 +0000 Subject: [PATCH 386/474] fix #2980 Related Work Items: #2 --- kubejs/server_scripts/tfg/natural_blocks/loot.stones.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/server_scripts/tfg/natural_blocks/loot.stones.js b/kubejs/server_scripts/tfg/natural_blocks/loot.stones.js index 064bb05cc..a4603154a 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/loot.stones.js +++ b/kubejs/server_scripts/tfg/natural_blocks/loot.stones.js @@ -27,6 +27,7 @@ function registerTFGRockLoots(event) { if (rock.cobble != null) { event.addBlockLootModifier(rock.cobble.block) + .removeLoot(ItemFilter.ALWAYS_TRUE) .addLoot(rock.cobble.block) } From 766f05f6e458226d405199d2c493e7eb3df2461b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Feb 2026 22:20:57 +0000 Subject: [PATCH 387/474] fix a leftover greate mixer recipe --- kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js b/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js index 93505a347..27e8ec5df 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js @@ -47,6 +47,7 @@ function registerTFGPowerGenBalance(event) { .dimension('minecraft:the_nether') event.remove({ id: 'gtceu:mixer/diesel' }) + event.remove({ id: 'greate:mixing/integration/gtceu/mixer/diesel' }) event.recipes.gtceu.mixer('tfg:diesel') .inputFluids(Fluid.of('gtceu:light_fuel', 5000), Fluid.of('gtceu:heavy_fuel', 1000)) .outputFluids(Fluid.of('gtceu:diesel', 6000)) From d0705e84f1e6add9ca624a15eff34be5687dff73 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Feb 2026 22:39:20 +0000 Subject: [PATCH 388/474] remove plutonium ore --- kubejs/startup_scripts/gtceu/material_modification.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index c6b02e729..c16fd2c04 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -412,6 +412,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Glass.getProperties().removeProperty(PropertyKey.GEM) GTMaterials.Thorium.getProperties().removeProperty(PropertyKey.INGOT) GTMaterials.Thorium.getProperties().removeProperty(PropertyKey.FLUID) + GTMaterials.Plutonium.getProperties().removeProperty(PropertyKey.ORE) // Color Adjustments GTMaterials.BismuthBronze.setMaterialARGB(0x5A966E) From a2662d621cdaf3e96889b139282d9a2583c2f32f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Feb 2026 22:56:28 +0000 Subject: [PATCH 389/474] fixed plutonium ores existing --- kubejs/startup_scripts/gtceu/material_modification.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index c16fd2c04..4efcece0b 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -412,7 +412,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Glass.getProperties().removeProperty(PropertyKey.GEM) GTMaterials.Thorium.getProperties().removeProperty(PropertyKey.INGOT) GTMaterials.Thorium.getProperties().removeProperty(PropertyKey.FLUID) - GTMaterials.Plutonium.getProperties().removeProperty(PropertyKey.ORE) + GTMaterials.Plutonium239.getProperties().removeProperty(PropertyKey.ORE) // Color Adjustments GTMaterials.BismuthBronze.setMaterialARGB(0x5A966E) From 16df93f188c523d3dcbf09eb82a7666802d072e4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 4 Feb 2026 23:13:08 +0000 Subject: [PATCH 390/474] add tags for lighters --- CHANGELOG.md | 3 ++ kubejs/server_scripts/tfc/tags.js | 5 ++++ .../recipes.material_tools.js | 30 +++++++++++++++++++ 3 files changed, 38 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a989cecbc..1ed8c1fa2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ ## Unreleased ### Changes ### Bug fixes +- Fixed incorrect mechanical mixer recipes for weak and regular colored steel dust (#2977) @Pyritie +- Fixed cobble breaking into two cobble blocks (#2980) @Pyritie ### Translation updates ## [0.11.20] - 04-02-2026 @@ -15,6 +17,7 @@ - Fixed all the missing crafting table saw recipes (#2967) @Pyritie - Fixed not being able to send crafting requests to your AE2 network with the interdimensional wireless card @Mqrius - Fixed the hydroponics facility, pisciculture fishery, and growth chamber's missing overclocks @TomPlop +- Fixed matches, matchboxes, and lighters so they actually work with TFC things now (#1486) @Pyritie ### Translation updates - Spanish @NikoNeko17 diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 8f69d82c7..514226f04 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -485,6 +485,11 @@ function registerTFCItemTags(event) { event.add('tfc:mob_offhand_weapons', 'gtceu:black_bronze_knife'); event.add('tfc:mob_offhand_weapons', 'tfc:metal/javelin/black_bronze'); event.add('tfc:mob_offhand_weapons', 'tfc:metal/mace/black_bronze'); + + event.add('tfc:starts_fires_with_items', 'gtceu:matches'); + event.add('tfc:starts_fires_with_durability', 'gtceu:matchbox'); + event.add('tfc:starts_fires_with_durability', 'gtceu:invar_lighter'); + event.add('tfc:starts_fires_with_durability', 'gtceu:platinum_lighter'); } /** @param {TagEvent.Block} event */ diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js index 8eabb675d..88485e155 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tools.js @@ -183,4 +183,34 @@ function modifyRecyclingAmounts(material) { TFGTagPrefix.toolHeadSaw.modifyMaterialAmount(material, 1); TFGTagPrefix.toolHeadFile.modifyMaterialAmount(material, 1); TFGTagPrefix.toolHeadKnife.modifyMaterialAmount(material, 1); + TFGTagPrefix.toolHeadScythe.modifyMaterialAmount(material, 1); + + // TODO: uncomment out if this are ever modifiable + //GTToolType.SWORD.modifyMaterialAmount(material, 2); + //GTToolType.PICKAXE.modifyMaterialAmount(material, 1); + //GTToolType.AXE.modifyMaterialAmount(material, 1); + //GTToolType.SHOVEL.modifyMaterialAmount(material, 1); + //GTToolType.HOE.modifyMaterialAmount(material, 1); + //GTToolType.KNIFE.modifyMaterialAmount(material, 1); + //GTToolType.FILE.modifyMaterialAmount(material, 1); + //GTToolType.SAW.modifyMaterialAmount(material, 1); + //GTToolType.SPADE.modifyMaterialAmount(material, 2); + //GTToolType.MINING_HAMMER.modifyMaterialAmount(material, 2); + //GTToolType.SCYTHE.modifyMaterialAmount(material, 1); + //GTToolType.HARD_HAMMER.modifyMaterialAmount(material, 1); + //GTToolType.BUTCHERY_KNIFE.modifyMaterialAmount(material, 1); + //GTToolType.SCREWDRIVER.modifyMaterialAmount(material, 1); + //GTToolType.SCREWDRIVER_LV.modifyMaterialAmount(material, 1); + //GTToolType.SCREWDRIVER_HV.modifyMaterialAmount(material, 1); + //GTToolType.SCREWDRIVER_IV.modifyMaterialAmount(material, 1); + //GTToolType.WRENCH.modifyMaterialAmount(material, 2); + //GTToolType.WRENCH_LV.modifyMaterialAmount(material, 2); + //GTToolType.WRENCH_HV.modifyMaterialAmount(material, 2); + //GTToolType.WRENCH_IV.modifyMaterialAmount(material, 2); + //GTToolType.WIRE_CUTTER.modifyMaterialAmount(material, 2); + //GTToolType.WIRE_CUTTER_LV.modifyMaterialAmount(material, 2); + //GTToolType.WIRE_CUTTER_HV.modifyMaterialAmount(material, 2); + //GTToolType.WIRE_CUTTERIV.modifyMaterialAmount(material, 2); + //GTToolType.MORTAR.modifyMaterialAmount(material, 1); + //GTToolType.BUZZSAW.modifyMaterialAmount(material, 2); } \ No newline at end of file From 26dfa184e6cf24580f9b7e195ebb47acc0230657 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 5 Feb 2026 00:28:23 +0000 Subject: [PATCH 391/474] added missing bear meat to pandas --- kubejs/server_scripts/tfc/loot.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/kubejs/server_scripts/tfc/loot.js b/kubejs/server_scripts/tfc/loot.js index ab68c15ca..5a895445f 100644 --- a/kubejs/server_scripts/tfc/loot.js +++ b/kubejs/server_scripts/tfc/loot.js @@ -13,6 +13,15 @@ function registerTFCLoots(event) { .addWeightedLoot([4, 6], ['tfc:food/bear']) + event.addEntityLootModifier('tfc:panda') + .addWeightedLoot([8, 12], ['tfc:food/bear']) + .addWeightedLoot([1, 2], ['tfc:blubber']) + + event.addEntityLootModifier('tfc:panda') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([4, 6], ['tfc:food/bear']) + + event.addEntityLootModifier('tfc:grizzly_bear') .addWeightedLoot([10, 16], ['tfc:food/bear']) .addWeightedLoot([1, 2], ['tfc:blubber']) From 4e53f799f038f9e6dd5121f7c0bc8ef92be40c5c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 5 Feb 2026 00:40:27 +0000 Subject: [PATCH 392/474] remove modernui, add blur and fps reducer again --- pakku-lock.json | 189 +++++++++++++++++++++++++++++++----------------- 1 file changed, 124 insertions(+), 65 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index c58739a69..05137e8d1 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -5602,6 +5602,69 @@ } ] }, + { + "pakku_id": "3RRKO5wzFNa95Vkb", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "fps-reducer", + "modrinth": "fps-reducer" + }, + "name": { + "curseforge": "FPS Reducer", + "modrinth": "FPS Reducer" + }, + "id": { + "curseforge": "280294", + "modrinth": "iZ10HXDj" + }, + "files": [ + { + "type": "curseforge", + "file_name": "FpsReducer2-forge-1.20.1-2.5.1.jar", + "mc_versions": [ + "1.20.1", + "1.20" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6791/399/FpsReducer2-forge-1.20.1-2.5.1.jar", + "id": "6791399", + "parent_id": "280294", + "hashes": { + "sha1": "4920a2e1d17090007179a568181624847fba0993", + "md5": "d17bad88d746c21dcd37f16257a1e84d" + }, + "required_dependencies": [], + "size": 125660, + "date_published": "2025-07-20T14:53:34.933Z" + }, + { + "type": "modrinth", + "file_name": "FpsReducer2-forge-1.20.1-2.5.1.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/iZ10HXDj/versions/UfMtCXs7/FpsReducer2-forge-1.20.1-2.5.1.jar", + "id": "UfMtCXs7", + "parent_id": "iZ10HXDj", + "hashes": { + "sha512": "b6123d73602e8909f71d71ff5fe78e3cd8dc1628645c82e4d0ca5bdc93c9a2cb3135a9bada7ffa6f5dbcb34142bf05f9546f44896df7be6f5f3f1fb804d735cd", + "sha1": "4920a2e1d17090007179a568181624847fba0993" + }, + "required_dependencies": [], + "size": 125660, + "date_published": "2025-07-22T00:03:21.002137Z" + } + ] + }, { "pakku_id": "DNPr6iL9YKiQI0Wu", "pakku_links": [ @@ -9350,71 +9413,6 @@ } ] }, - { - "pakku_id": "DBqtXgbdT2kqVKUh", - "type": "MOD", - "side": "CLIENT", - "slug": { - "curseforge": "modern-ui", - "modrinth": "modern-ui" - }, - "name": { - "curseforge": "Modern UI", - "modrinth": "Modern UI" - }, - "id": { - "curseforge": "352491", - "modrinth": "3sjzyvGR" - }, - "files": [ - { - "type": "curseforge", - "file_name": "ModernUI-Forge-1.20.1-3.12.0.1-universal.jar", - "mc_versions": [ - "1.20.1", - "1.20" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6956/345/ModernUI-Forge-1.20.1-3.12.0.1-universal.jar", - "id": "6956345", - "parent_id": "352491", - "hashes": { - "sha1": "fcebe51e3c2ca34793f9b132fa05b5494ffc76a4", - "md5": "5b863668f0de88993289ba098c77dcff" - }, - "required_dependencies": [], - "size": 25104473, - "date_published": "2025-09-02T16:33:54.937Z" - }, - { - "type": "modrinth", - "file_name": "ModernUI-Forge-1.20.1-3.12.0.1-universal.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/3sjzyvGR/versions/6ksT8CWg/ModernUI-Forge-1.20.1-3.12.0.1-universal.jar", - "id": "6ksT8CWg", - "parent_id": "3sjzyvGR", - "hashes": { - "sha512": "cf9a1bfa25f956a9277639da833a86d59a6a55bc690b6c03d4292bb240cb775c32ecf7ae253db7779757e2c74c5adf2c272c4ecdb35b907027de3ec7534bbd27", - "sha1": "fcebe51e3c2ca34793f9b132fa05b5494ffc76a4" - }, - "required_dependencies": [], - "size": 25104473, - "date_published": "2025-09-02T16:36:27.248973Z" - } - ] - }, { "pakku_id": "vLkSeib1zFzTMcPF", "type": "MOD", @@ -11167,6 +11165,67 @@ } ] }, + { + "pakku_id": "RCLoXroN4KKClb7X", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "reblured", + "modrinth": "reblured" + }, + "name": { + "curseforge": "ReBlured", + "modrinth": "ReBlured" + }, + "id": { + "curseforge": "637729", + "modrinth": "s4G3ZCcv" + }, + "files": [ + { + "type": "curseforge", + "file_name": "Reblured-1.20.1-1.3.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/4695/744/Reblured-1.20.1-1.3.0.jar", + "id": "4695744", + "parent_id": "637729", + "hashes": { + "sha1": "9acd6f7702418fc77280bcc3c82b8589032d9f34", + "md5": "0844d81a8fb2e544245bbf4faa1e4482" + }, + "required_dependencies": [], + "size": 366687, + "date_published": "2023-08-11T12:01:45.827Z" + }, + { + "type": "modrinth", + "file_name": "Reblured-1.20.1-1.3.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/s4G3ZCcv/versions/V8bX1gty/Reblured-1.20.1-1.3.0.jar", + "id": "V8bX1gty", + "parent_id": "s4G3ZCcv", + "hashes": { + "sha512": "3ba7e80d0a71e25d734532933206c3472ba292575fee70f65845f4816ea7a321e45391c57909638ee989c8413dd309eded8f24eb27edb82776788dc19ae426cd", + "sha1": "9acd6f7702418fc77280bcc3c82b8589032d9f34" + }, + "required_dependencies": [], + "size": 366687, + "date_published": "2023-08-11T12:01:49.996223Z" + } + ] + }, { "pakku_id": "zQAe1eid9EE5PMwK", "type": "MOD", From f426a34d9b5d4ad4f961ed7e60b87d65026dbf82 Mon Sep 17 00:00:00 2001 From: Redeix Date: Thu, 5 Feb 2026 00:12:47 -0600 Subject: [PATCH 393/474] pipe molds (#2983) * pipe molds * changelog --- CHANGELOG.md | 1 + .../tfg/machines/recipes.molds.js | 52 ------------------- .../tfg/primitive/recipes.artisan_table.js | 33 +++++++++++- 3 files changed, 33 insertions(+), 53 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ed8c1fa2..3a4c0784e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Unreleased ### Changes +- Added artisan table recipes for all pipe mold sizes (#2983) @Redeix ### Bug fixes - Fixed incorrect mechanical mixer recipes for weak and regular colored steel dust (#2977) @Pyritie - Fixed cobble breaking into two cobble blocks (#2980) @Pyritie diff --git a/kubejs/server_scripts/tfg/machines/recipes.molds.js b/kubejs/server_scripts/tfg/machines/recipes.molds.js index f6271a63a..d64f492c7 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.molds.js +++ b/kubejs/server_scripts/tfg/machines/recipes.molds.js @@ -6,58 +6,6 @@ */ function registerTFGMoldRecipes(event) { - /** @type {['huge'|'large'|'normal'|'small'|'tiny']}*/ - const pipe_sizes = [ - 'huge', - 'large', - 'normal', - 'small', - 'tiny' - ]; - - let prev_size; - pipe_sizes.forEach((size) => { - if (size !== 'huge'){ - event.shaped(`gtceu:${size}_pipe_casting_mold`, [ - 'ABC' - ], { - A: '#forge:tools/hammers', - B: `gtceu:${prev_size}_pipe_casting_mold`, - C: '#forge:tools/mallets' - }).id(`tfg:shaped/${prev_size}_${size}_casting_mold`) - - event.shaped(`gtceu:${size}_pipe_extruder_mold`, [ - 'ABC' - ], { - A: '#forge:tools/hammers', - B: `gtceu:${prev_size}_pipe_extruder_mold`, - C: '#forge:tools/mallets' - }).id(`tfg:shaped/${prev_size}_${size}_extruder_mold`) - } - prev_size = size; - }); - - pipe_sizes.reverse().forEach((size) => { - if (size !== 'tiny'){ - event.shaped(`gtceu:${size}_pipe_casting_mold`, [ - 'ABC' - ], { - A: '#forge:tools/mallets', - B: `gtceu:${prev_size}_pipe_casting_mold`, - C: '#forge:tools/hammers' - }).id(`tfg:shaped/${prev_size}_${size}_casting_mold`) - - event.shaped(`gtceu:${size}_pipe_extruder_mold`, [ - 'ABC' - ], { - A: '#forge:tools/mallets', - B: `gtceu:${prev_size}_pipe_extruder_mold`, - C: '#forge:tools/hammers' - }).id(`tfg:shaped/${prev_size}_${size}_extruder_mold`) - } - prev_size = size; - }); - global.TFG_EXTRUDER_MOLDS.forEach(mold => { TFGHelpers.registerMaterialInfo(mold, [GTMaterials.Steel, 4]) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.artisan_table.js b/kubejs/server_scripts/tfg/primitive/recipes.artisan_table.js index 340244b36..8df4d6ff2 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.artisan_table.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.artisan_table.js @@ -177,7 +177,38 @@ function registerTFGArtisanTableRecipes(event) { " XXXX ", " " ]}, - + { name: 'gtceu:large_pipe', genCast: true, genExtrude: true, pattern: [ + "X ", + "X XXX ", + "X XXX ", + "X XXX ", + "X ", + "XXXXXX" + ]}, + { name: 'gtceu:normal_pipe', genCast: true, genExtrude: true, pattern: [ + "XXXXXX", + "X X", + "X XX X", + "X XX X", + "X X", + "XXXXXX" + ]}, + { name: 'gtceu:small_pipe', genCast: true, genExtrude: true, pattern: [ + "XXXXXX", + "XX X", + "XX X X", + "XX X", + "XXXXXX", + "XXXXXX" + ]}, + { name: 'gtceu:tiny_pipe', genCast: true, genExtrude: true, pattern: [ + "XXXXXX", + "XXX XX", + "XX X X", + "XXX XX", + "XXXXXX", + "XXXXXX" + ]}, { name: 'gtceu:rod', genCast: false, genExtrude: true, pattern: [ "XXXXXX", "XXXXXX", From 840d9f9b3d4e5f26207d4b03bdd0e8244ba92174 Mon Sep 17 00:00:00 2001 From: TreyR9 <106098556+TreyR9@users.noreply.github.com> Date: Thu, 5 Feb 2026 00:42:15 -0600 Subject: [PATCH 394/474] Optional chimes compat (#2973) * Update main_server_script.js Chimes registration Signed-off-by: TreyR9 <106098556+TreyR9@users.noreply.github.com> * Chimes compat Adds rudimentary, optional compatibility for chimes mod. Functions should only run if the mod is present. Signed-off-by: TreyR9 <106098556+TreyR9@users.noreply.github.com> --------- Signed-off-by: TreyR9 <106098556+TreyR9@users.noreply.github.com> --- .../chimes/textures/block/metal_chimes.png | Bin 0 -> 1131 bytes .../chimes/textures/item/chimes_metal.png | Bin 0 -> 469 bytes kubejs/server_scripts/chimes/data.js | 17 ++++ kubejs/server_scripts/chimes/recipes.js | 96 ++++++++++++++++++ kubejs/server_scripts/main_server_script.js | 4 +- 5 files changed, 116 insertions(+), 1 deletion(-) create mode 100644 kubejs/assets/chimes/textures/block/metal_chimes.png create mode 100644 kubejs/assets/chimes/textures/item/chimes_metal.png create mode 100644 kubejs/server_scripts/chimes/data.js create mode 100644 kubejs/server_scripts/chimes/recipes.js diff --git a/kubejs/assets/chimes/textures/block/metal_chimes.png b/kubejs/assets/chimes/textures/block/metal_chimes.png new file mode 100644 index 0000000000000000000000000000000000000000..41649a5cf25c05900a7c1ebf65f0945cc6d6baed GIT binary patch literal 1131 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hE#Tyu;va%Pa_%vBHPt*$dPNx}qqW>=?B2USrNmzUS&mSMp@P-A;}-vSQ2M&Q-Gf>F(8^e$9T~sO`P| zNo%WX#owadzV!5EC*^)0aAPT3P%0PNU$fCM>OF@5cj^4s8`jRtX7X9K*p}Tp$oo3q zZ>`?NE8e7TD)|2~cxRX{L*0ze760lL?!?WSyj&)rQm>Iy4^&o6Aw=gqpMnw6iwk6(lDw9e&b(S=`{=W;CF^hi~O z!PIo!s%^F$RxUSLLnr>cImO7#>G&q+cEj5`pFbX9nd^MCYr|}XX}?24-c9|RFngj% z^Op}gvm=gOPG3|K6LMbvQ7A=762=FP4LH_W!vzxc6c>;AQ_ zzduY*fBd0xy<2jX!0Iv%zQ(t{2CtZR3*N}dnVPe3-K+O*=QYoitMmWb*0M8>4of3~E(bPf`f$xJMY+s$L;`{3eM$*M0NE~Oe` zy$(up3m?bq<2jr5e0}$YYiIgyDjdEQn(Z59I3Zl#=-WG%!rnAV?XZvYudPs?8(`dF zZT;r(q_nb|IcF!`-TvmHRb7nr?w79Rl}{JiSeEjA`n{jw>(R|y_no+X_r1toONZYD zE1GZIeJ|4Z+Wh^=1mi_BSUgv~SamnQI*nuH7nUv2xg4#|ZB|^lsgIk#3p`!1&dRsI zX6BOSz$xDkPIB+Ll9}-~d8R>-@u{g?;dgy5bO}x~^sl_y=;&arTq@d zjox0HVwl;kw6jL=oZqt2ua}SQT0GUExMA*Q6Sk)1e#(EkJ-g=f~XuOf2~ zco_uoxU7sY2z%P9rRTxc(+cT5k0kokC$&{wGL&WV%MX34R#5m*>w9+LcK@WsMXTm+KJ;Ss z0nX$63>7l=3=azbFf<(h$jl%|Sl~H70|UeV|99^F|G>b&zy>NSm>K?@-_dsBnczwW P1_lOCS3j3^P6|1m3HSLV!{#Y>lQY5&hZ<->F0LqWZEMa7d1_t|$oVSIB^Xm0MolxJOv zJ3m!C@8Fs(w18vL#eYo?E4Y$Y`K;4$da0whjzMXz_NEhCyp;CV&3~7*mQmth@QU#H zX6g<_CQ_{z16cn*n7K+qSXk|u%&x_ndjn@l724VqnMF4&P;uOTyLs(lp)H|vwcg}Z zE6NGJJbkn|41LM++t#%LpJerkuR_LHf!qSU9mT%f>RFWDiE8fjoXI*Y_{*2_= z8E$v|EKGNBUJ$&Sw6S)U;Ny*c=_10+LK<9O(|54<-~OvIHA-Of-9mATax2*tnxcts zg+2DMQ;nL2)al>FWORQ}KmQ@(c_N44$rjF6*2UngG))%Z~s6 literal 0 HcmV?d00001 diff --git a/kubejs/server_scripts/chimes/data.js b/kubejs/server_scripts/chimes/data.js new file mode 100644 index 000000000..6249171d1 --- /dev/null +++ b/kubejs/server_scripts/chimes/data.js @@ -0,0 +1,17 @@ +"use strict"; + +/** + * + * @param {Internal.TFCDataEventJS} evt + */ + +const registerTFCDataForChimes = (evt) => { + if (Platform.isLoaded("chimes")) { + evt.itemSize('chimes:bamboo_chimes', 'large', 'heavy'); + evt.itemSize('chimes:carved_bamboo_chimes', 'large', 'heavy'); + evt.itemSize('chimes:copper_chimes', 'large', 'heavy'); + evt.itemSize('chimes:iron_chimes', 'large', 'heavy'); + evt.itemSize('chimes:amethyst_chimes', 'large', 'heavy'); + evt.itemSize('chimes:glass_bells', 'normal', 'medium'); + } +} \ No newline at end of file diff --git a/kubejs/server_scripts/chimes/recipes.js b/kubejs/server_scripts/chimes/recipes.js new file mode 100644 index 000000000..3b8f2e826 --- /dev/null +++ b/kubejs/server_scripts/chimes/recipes.js @@ -0,0 +1,96 @@ +"use strict"; + +/** + * + * @param {Internal.RecipesEventJS} event + */ +const registerChimesRecipes = (event) => { + if (Platform.isLoaded("chimes")) { + event.remove({ input: 'string', mod: 'chimes' }) + + //TODO: dye recipes in barrel for glass chimes (if possible) + + //bamboo chimes + event.shaped( + Item.of('chimes:bamboo_chimes'), + [ + " A ", + "CBC", + "C C" + ], { + A: "#minecraft:wooden_slabs", + B: "#forge:string", + C: "minecraft:bamboo" + }) + + //copper chimes + event.shaped( + Item.of('chimes:copper_chimes'), + [ + " A ", + "CBC", + "C C" + ], { + A: "#minecraft:wooden_slabs", + B: "#forge:chains", + C: "#forge:rods/copper" + }) + //iron chimes + event.shaped( + Item.of('chimes:iron_chimes'), + [ + " A ", + "CBC", + "C C" + ], { + A: "#minecraft:wooden_slabs", + B: "#forge:chains", + C: "#forge:rods/iron" + }) + //carved bamboo chimes + event.shapeless( + Item.of('chimes:carved_bamboo_chimes'), + [ + 'chimes:bamboo_chimes', + '#forge:tools/knives' + ] + ) + //carved bamboo chimes direct + event.shaped( + Item.of('chimes:carved_bamboo_chimes'), + [ + " A ", + "CBC", + "CDC" + ], { + A: "#minecraft:wooden_slabs", + B: "#forge:string", + C: "minecraft:bamboo", + D: "#forge:tools/knives" + }) + //amethyst_chime + event.shaped( + Item.of('chimes:amethyst_chimes'), + [ + " A ", + "CBC", + "C C" + ], { + A: "#forge:plates/cast_iron", + B: "#forge:chains", + C: "#forge:rods/amethyst" + }) + //glass_wind_bell + event.shaped( + Item.of('chimes:glass_bells'), + [ + "A", + "B", + "C" + ], { + A: "#tfc:glass_bottles", + B: "#forge:string", + C: "#forge:paper" + }) + } +} \ No newline at end of file diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 362a89dce..2b4cdb451 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -159,6 +159,7 @@ TFCEvents.data(event => { registerTFCDataForAdAstra(event); registerTFCDataForArborFirmaCraft(event) registerTFCDataForChalk(event); + registerTFCDataForChimes(event); registerTFCDataForCreateAddition(event); registerTFCDataForFirmalife(event) registerTFCDataForGTCEU(event) @@ -229,6 +230,7 @@ ServerEvents.recipes(event => { registerBeneathRecipes(event) registerBuildingGadgetsRecipes(event) registerChalkRecipes(event); + registerChimesRecipes(event); registerComfortsRecipes(event); registerComputerCraftRecipes(event) //registerCccBridgeRecipes(event) @@ -310,4 +312,4 @@ TaCZServerEvents.gunDataLoad((event) => { TaCZServerEvents.attachmentDataLoad((event) => { attachmentDataLogic(event) -}) \ No newline at end of file +}) From ecbb476d5dc48a702916e2dbdabf912bfd25460c Mon Sep 17 00:00:00 2001 From: Redeix Date: Thu, 5 Feb 2026 00:43:34 -0600 Subject: [PATCH 395/474] changelog Signed-off-by: Redeix --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a4c0784e..1e55b8a33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ ## Unreleased ### Changes - Added artisan table recipes for all pipe mold sizes (#2983) @Redeix +- Added optional chimes compat. (#2973) @TreyR9 + ### Bug fixes - Fixed incorrect mechanical mixer recipes for weak and regular colored steel dust (#2977) @Pyritie - Fixed cobble breaking into two cobble blocks (#2980) @Pyritie From 684e554ee410c8c16abb2ab29e6ca8c003feeaab Mon Sep 17 00:00:00 2001 From: Redeix Date: Thu, 5 Feb 2026 00:53:51 -0600 Subject: [PATCH 396/474] soy mixture recipes with salt water (#2984) --- kubejs/server_scripts/chimes/data.js | 32 +++++++++---------- .../server_scripts/tfg/food/recipes.food.js | 16 ++++++++++ 2 files changed, 32 insertions(+), 16 deletions(-) diff --git a/kubejs/server_scripts/chimes/data.js b/kubejs/server_scripts/chimes/data.js index 6249171d1..010d7e222 100644 --- a/kubejs/server_scripts/chimes/data.js +++ b/kubejs/server_scripts/chimes/data.js @@ -1,17 +1,17 @@ -"use strict"; - -/** - * - * @param {Internal.TFCDataEventJS} evt - */ - -const registerTFCDataForChimes = (evt) => { - if (Platform.isLoaded("chimes")) { - evt.itemSize('chimes:bamboo_chimes', 'large', 'heavy'); - evt.itemSize('chimes:carved_bamboo_chimes', 'large', 'heavy'); - evt.itemSize('chimes:copper_chimes', 'large', 'heavy'); - evt.itemSize('chimes:iron_chimes', 'large', 'heavy'); - evt.itemSize('chimes:amethyst_chimes', 'large', 'heavy'); - evt.itemSize('chimes:glass_bells', 'normal', 'medium'); - } +"use strict"; + +/** + * + * @param {Internal.TFCDataEventJS} evt + */ + +const registerTFCDataForChimes = (evt) => { + if (Platform.isLoaded("chimes")) { + evt.itemSize('chimes:bamboo_chimes', 'large', 'heavy'); + evt.itemSize('chimes:carved_bamboo_chimes', 'large', 'heavy'); + evt.itemSize('chimes:copper_chimes', 'large', 'heavy'); + evt.itemSize('chimes:iron_chimes', 'large', 'heavy'); + evt.itemSize('chimes:amethyst_chimes', 'large', 'heavy'); + evt.itemSize('chimes:glass_bells', 'normal', 'medium'); + } } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/food/recipes.food.js b/kubejs/server_scripts/tfg/food/recipes.food.js index 66b716e11..a9cb67849 100644 --- a/kubejs/server_scripts/tfg/food/recipes.food.js +++ b/kubejs/server_scripts/tfg/food/recipes.food.js @@ -894,6 +894,22 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of('firmalife:food/soy_mixture').copyFood() }) + global.processorRecipe(event, 'soy_mixture_sea_water', 300, 8, { + circuit: 1, + itemInputs: ['tfc:food/soybean'], + fluidInputs: ['tfc:salt_water 50'], + itemOutputs: ['firmalife:food/soy_mixture'], + itemOutputProvider: TFC.isp.of('firmalife:food/soy_mixture').copyFood() + }) + + global.processorRecipe(event, 'soy_mixture_salt_water', 300, 8, { + circuit: 1, + itemInputs: ['tfc:food/soybean'], + fluidInputs: ['gtceu:salt_water 25'], + itemOutputs: ['firmalife:food/soy_mixture'], + itemOutputProvider: TFC.isp.of('firmalife:food/soy_mixture').copyFood() + }) + global.processorRecipe(event, "brown_mushroom", 100, 8, { circuit: 30, itemInputs: ["minecraft:brown_mushroom_block"], From 6b11a4086217617a284e8eebce9bb79933095bb0 Mon Sep 17 00:00:00 2001 From: Coox1e <166007852+Coox1e@users.noreply.github.com> Date: Thu, 5 Feb 2026 19:43:21 +1100 Subject: [PATCH 397/474] Fixed pure fertilizers to fertilizer recipe amounts being reversed (#2985) Signed-off-by: Coox1e <166007852+Coox1e@users.noreply.github.com> --- kubejs/server_scripts/tfg/primitive/recipes.compost.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.compost.js b/kubejs/server_scripts/tfg/primitive/recipes.compost.js index 4d56cce0f..80f255cd3 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.compost.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.compost.js @@ -28,8 +28,8 @@ function registerTFGCompostRecipes(event) { .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.mixer('tfg:tfc/mixer/fertilizer') - .itemInputs('8x tfc:pure_nitrogen', '8x tfc:pure_potassium', '8x tfc:pure_phosphorus', ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Clay, 1)) - .itemOutputs('1x gtceu:fertilizer') + .itemInputs('1x tfc:pure_nitrogen', '1x tfc:pure_potassium', '1x tfc:pure_phosphorus', ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Clay, 1)) + .itemOutputs('8x gtceu:fertilizer') .duration(160) .EUt(GTValues.VA[GTValues.ULV]) From 3eb0a5810ba13abb4f20dab300e9165b0355f612 Mon Sep 17 00:00:00 2001 From: Redeix Date: Thu, 5 Feb 2026 03:20:37 -0600 Subject: [PATCH 398/474] updated recycling recipes for wood (#2986) --- kubejs/server_scripts/ad_astra/recipes.js | 3 +- kubejs/server_scripts/afc/recipes.js | 41 +++++++++++++++++ .../server_scripts/asticor_carts/recipes.js | 44 ++++++++----------- kubejs/server_scripts/beneath/recipes.js | 39 ++++++++++++++++ kubejs/server_scripts/etched/recipes.js | 2 + kubejs/server_scripts/tacz/recipes.misc.js | 2 + kubejs/server_scripts/tfc/recipes.js | 41 +++++++++++++++++ 7 files changed, 144 insertions(+), 28 deletions(-) diff --git a/kubejs/server_scripts/ad_astra/recipes.js b/kubejs/server_scripts/ad_astra/recipes.js index e700d283b..ec330a56d 100644 --- a/kubejs/server_scripts/ad_astra/recipes.js +++ b/kubejs/server_scripts/ad_astra/recipes.js @@ -453,7 +453,7 @@ const registerAdAstraRecipes = (event) => { .itemOutputs('ad_astra:steel_door') .duration(100) .EUt(GTValues.VA[GTValues.LV]) - .addMaterialInfo(true, true) + TFGHelpers.registerMaterialInfo('ad_astra:steel_door', [GTMaterials.Steel, 2, GTMaterials.Glass, 3/4, GTMaterials.Polyethylene, 1/4]) event.recipes.gtceu.assembler(`tfg:ad_astra_steel_trapdoor`) .itemInputs('tfc:metal/trapdoor/steel', '#forge:glass_panes') @@ -461,7 +461,6 @@ const registerAdAstraRecipes = (event) => { .itemOutputs('ad_astra:steel_trapdoor') .duration(100) .EUt(GTValues.VA[GTValues.LV]) - TFGHelpers.registerMaterialInfo('ad_astra:steel_trapdoor', [GTMaterials.Steel, 1, GTMaterials.Glass, 3/4, GTMaterials.Polyethylene, 1/4]) // Etrium only has factory block, encased block, plateblock, panel, and (storage) block diff --git a/kubejs/server_scripts/afc/recipes.js b/kubejs/server_scripts/afc/recipes.js index 9f385e5c7..d9f0d6676 100644 --- a/kubejs/server_scripts/afc/recipes.js +++ b/kubejs/server_scripts/afc/recipes.js @@ -299,4 +299,45 @@ const registerAFCRecipes = (event) => { .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) .id(`tfg:vi/lathe/stripping_${x.wood}_wood`) }) + + /** + * @property {Array} afcWoodRecyclingIndex - Wood recycling material index. + */ + const afcWoodRecyclingIndex = [ + ['afc:wood/chest_minecart/{type}', ['{wood}', 4, GTMaterials.WroughtIron, 5]], + ['afc:wood/planks/{type}', ['{wood}', 8]], + ['afc:wood/planks/{type}_door', ['{wood}', 6]], + ['afc:wood/planks/{type}_trapdoor', ['{wood}', 4]], + ['afc:wood/planks/{type}_fence', ['{wood}', 4]], + ['afc:wood/planks/{type}_log_fence', ['{wood}', 8]], + ['afc:wood/planks/{type}_fence_gate', ['{wood}', 8]], + ['afc:wood/planks/{type}_slab', ['{wood}', 2]], + ['afc:wood/planks/{type}_stairs', ['{wood}', 3]], + ['afc:wood/planks/{type}_pressure_plate', ['{wood}', 4]], + ['afc:wood/planks/{type}_button', ['{wood}', 1]], + ['afc:wood/chest/{type}', ['{wood}', 16]], + ['afc:wood/trapped_chest/{type}', ['{wood}', 16, GTMaterials.WroughtIron, 4/9, GTMaterials.Wood, 1]] + ]; + /** + * @param {Array} materials + * @param {string} woodMaterial + * @return {Array} + */ + function resolveArgs(materials, woodMaterial) { + return materials.map(materials => materials === '{wood}' ? woodMaterial : materials); + }; + global.AFC_HARDWOOD_TYPES.forEach(type => { + afcWoodRecyclingIndex.forEach(([template, args]) => { + const item = template.replace('{type}', type); + const resolvedArgs = resolveArgs(args, GTMaterials.get('hardwood')); + TFGHelpers.registerMaterialInfo(item, resolvedArgs); + }); + }); + global.AFC_SOFTWOOD_TYPES.forEach(type => { + afcWoodRecyclingIndex.forEach(([template, args]) => { + const item = template.replace('{type}', type); + const resolvedArgs = resolveArgs(args, GTMaterials.Wood); + TFGHelpers.registerMaterialInfo(item, resolvedArgs); + }); + }); } diff --git a/kubejs/server_scripts/asticor_carts/recipes.js b/kubejs/server_scripts/asticor_carts/recipes.js index f7f477827..8a997bea4 100644 --- a/kubejs/server_scripts/asticor_carts/recipes.js +++ b/kubejs/server_scripts/asticor_carts/recipes.js @@ -2,31 +2,23 @@ "use strict"; const registerAsticorCartsRecipes = (event) => { - event.remove({ id: 'astikorcarts:animal_cart' }) - event.remove({ id: 'astikorcarts:supply_cart' }) - event.remove({ id: 'astikorcarts:plow' }) - event.remove({ id: 'astikorcarts:wheel' }) + event.remove({ id: 'astikorcarts:animal_cart' }); + event.remove({ id: 'astikorcarts:supply_cart' }); + event.remove({ id: 'astikorcarts:plow' }); + event.remove({ id: 'astikorcarts:wheel' }); - event.recipes.gtceu.macerator(`tfg:recycle_astikor_animal_cart`) - .itemInputs('#tfcastikorcarts:animal_cart') - .itemOutputs('#forge:dusts/brass') - .duration(100) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) + global.TFC_HARDWOOD_TYPES.forEach(type => { + TFGHelpers.registerMaterialInfo(`tfcastikorcarts:wheel/${type}`, [GTMaterials.get('hardwood'), 2]); + TFGHelpers.registerMaterialInfo(`tfcastikorcarts:supply_cart/${type}`, [GTMaterials.Brass, 1, GTMaterials.get('hardwood'), 8, GTMaterials.Wood, 12]); + TFGHelpers.registerMaterialInfo(`tfcastikorcarts:plow/${type}`, [GTMaterials.Brass, 1, GTMaterials.get('hardwood'), 8]); + TFGHelpers.registerMaterialInfo(`tfcastikorcarts:animal_cart/${type}`, [GTMaterials.Brass, 1, GTMaterials.get('hardwood'), 14]); + }); + global.TFC_SOFTWOOD_TYPES.forEach(type => { + TFGHelpers.registerMaterialInfo(`tfcastikorcarts:wheel/${type}`, [GTMaterials.Wood, 2]); + TFGHelpers.registerMaterialInfo(`tfcastikorcarts:supply_cart/${type}`, [GTMaterials.Brass, 1, GTMaterials.Wood, 20]); + TFGHelpers.registerMaterialInfo(`tfcastikorcarts:plow/${type}`, [GTMaterials.Brass, 1, GTMaterials.Wood, 8]); + TFGHelpers.registerMaterialInfo(`tfcastikorcarts:animal_cart/${type}`, [GTMaterials.Brass, 1, GTMaterials.Wood, 14]); + }); - event.recipes.gtceu.macerator(`tfg:recycle_astikor_supply_cart`) - .itemInputs('#tfcastikorcarts:supply_cart') - .itemOutputs('#forge:dusts/brass') - .duration(100) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.macerator(`tfg:recycle_astikor_plow`) - .itemInputs('#tfcastikorcarts:plow') - .itemOutputs('#forge:dusts/brass') - .duration(100) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.replaceInput({ mod: 'tfcastikorcarts' }, '#forge:rods', '#mcw_tfc_aio:metal_rods') -} \ No newline at end of file + event.replaceInput({ mod: 'tfcastikorcarts' }, '#forge:rods', '#mcw_tfc_aio:metal_rods'); +}; \ No newline at end of file diff --git a/kubejs/server_scripts/beneath/recipes.js b/kubejs/server_scripts/beneath/recipes.js index e5182c117..0c35158d6 100644 --- a/kubejs/server_scripts/beneath/recipes.js +++ b/kubejs/server_scripts/beneath/recipes.js @@ -99,4 +99,43 @@ const registerBeneathRecipes = (event) => { ], { A: `beneath:wood/leaves/warped` }).id(`tfg:shaped/beneath/warped_leaves_to_fallen_leaves`); + + + /** + * @property {Array} beneathWoodRecyclingIndex - Wood recycling material index. + */ + const beneathWoodRecyclingIndex = [ + ['beneath:wood/chest_minecart/{type}', ['{wood}', 4, GTMaterials.WroughtIron, 5]], + ['beneath:wood/planks/{type}', ['{wood}', 8]], + ['beneath:wood/planks/{type}_door', ['{wood}', 6]], + ['beneath:wood/planks/{type}_trapdoor', ['{wood}', 4]], + ['beneath:wood/planks/{type}_fence', ['{wood}', 4]], + ['beneath:wood/planks/{type}_log_fence', ['{wood}', 8]], + ['beneath:wood/planks/{type}_fence_gate', ['{wood}', 8]], + ['beneath:wood/planks/{type}_slab', ['{wood}', 2]], + ['beneath:wood/planks/{type}_stairs', ['{wood}', 3]], + ['beneath:wood/planks/{type}_pressure_plate', ['{wood}', 4]], + ['beneath:wood/planks/{type}_button', ['{wood}', 1]], + ['beneath:wood/chest/{type}', ['{wood}', 16]], + ['beneath:wood/trapped_chest/{type}', ['{wood}', 16, GTMaterials.WroughtIron, 4/9, GTMaterials.Wood, 1]] + ]; + /** + * @param {Array} materials + * @param {string} woodMaterial + * @return {Array} + */ + function resolveArgs(materials, woodMaterial) { + return materials.map(materials => materials === '{wood}' ? woodMaterial : materials); + }; + + beneathWoodRecyclingIndex.forEach(([template, args]) => { + const item = template.replace('{type}', 'crimson'); + const resolvedArgs = resolveArgs(args, GTMaterials.get('hardwood')); + TFGHelpers.registerMaterialInfo(item, resolvedArgs); + }); + beneathWoodRecyclingIndex.forEach(([template, args]) => { + const item = template.replace('{type}', 'warped'); + const resolvedArgs = resolveArgs(args, GTMaterials.Wood); + TFGHelpers.registerMaterialInfo(item, resolvedArgs); + }); } \ No newline at end of file diff --git a/kubejs/server_scripts/etched/recipes.js b/kubejs/server_scripts/etched/recipes.js index 021999a1c..66bb5a409 100644 --- a/kubejs/server_scripts/etched/recipes.js +++ b/kubejs/server_scripts/etched/recipes.js @@ -72,4 +72,6 @@ const registerEtchedRecipes = (event) => { event.shapeless('create_connected:music_disc_elevator', ['etched:blank_music_disc', 'create:elevator_pulley']) //dear god why event.shapeless('gtceu:sus_record', ['etched:blank_music_disc', '#tfc:knives', 'tfc:food/green_bean']).id('tfg:sus_record'); + + TFGHelpers.registerMaterialInfo('etched:jukebox_minecart', [GTMaterials.WroughtIron, 5, GTMaterials.Wood, 16, GTMaterials.Diamond, 1]); } \ No newline at end of file diff --git a/kubejs/server_scripts/tacz/recipes.misc.js b/kubejs/server_scripts/tacz/recipes.misc.js index f0d7632f7..bd0fd23ab 100644 --- a/kubejs/server_scripts/tacz/recipes.misc.js +++ b/kubejs/server_scripts/tacz/recipes.misc.js @@ -74,4 +74,6 @@ function registerTACZMiscRecipes(event) { .itemOutputs('tfg:certus_mechanism') .EUt(GTValues.VA[GTValues.EV]) .duration(80) + + TFGHelpers.registerMaterialInfo('tacz:target_minecart', [GTMaterials.WroughtIron, 5, GTMaterials.Steel, 1, GTMaterials.Wood, 1]); } diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index b51634c4d..a84425475 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -290,4 +290,45 @@ const registerTFCRecipes = (event) => { A: `tfc:wood/sapling/${type}` }).id(`tfg:shaped/tfc/${type}_krummholz`); }); + + /** + * @property {Array} tfcWoodRecyclingIndex - Wood recycling material index. + */ + const tfcWoodRecyclingIndex = [ + ['tfc:wood/chest_minecart/{type}', ['{wood}', 4, GTMaterials.WroughtIron, 5]], + ['tfc:wood/planks/{type}', ['{wood}', 8]], + ['tfc:wood/planks/{type}_door', ['{wood}', 6]], + ['tfc:wood/planks/{type}_trapdoor', ['{wood}', 4]], + ['tfc:wood/planks/{type}_fence', ['{wood}', 4]], + ['tfc:wood/planks/{type}_log_fence', ['{wood}', 8]], + ['tfc:wood/planks/{type}_fence_gate', ['{wood}', 8]], + ['tfc:wood/planks/{type}_slab', ['{wood}', 2]], + ['tfc:wood/planks/{type}_stairs', ['{wood}', 3]], + ['tfc:wood/planks/{type}_pressure_plate', ['{wood}', 4]], + ['tfc:wood/planks/{type}_button', ['{wood}', 1]], + ['tfc:wood/chest/{type}', ['{wood}', 16]], + ['tfc:wood/trapped_chest/{type}', ['{wood}', 16, GTMaterials.WroughtIron, 4/9, GTMaterials.Wood, 1]] + ]; + /** + * @param {Array} materials + * @param {string} woodMaterial + * @return {Array} + */ + function resolveArgs(materials, woodMaterial) { + return materials.map(materials => materials === '{wood}' ? woodMaterial : materials); + }; + global.TFC_HARDWOOD_TYPES.forEach(type => { + tfcWoodRecyclingIndex.forEach(([template, args]) => { + const item = template.replace('{type}', type); + const resolvedArgs = resolveArgs(args, GTMaterials.get('hardwood')); + TFGHelpers.registerMaterialInfo(item, resolvedArgs); + }); + }); + global.TFC_SOFTWOOD_TYPES.forEach(type => { + tfcWoodRecyclingIndex.forEach(([template, args]) => { + const item = template.replace('{type}', type); + const resolvedArgs = resolveArgs(args, GTMaterials.Wood); + TFGHelpers.registerMaterialInfo(item, resolvedArgs); + }); + }); } From 82114352d83eb59c2fb3aef2af502ae47b72a4d4 Mon Sep 17 00:00:00 2001 From: Bumperdo09 <45916709+Bumperdo09@users.noreply.github.com> Date: Fri, 6 Feb 2026 00:33:55 -0500 Subject: [PATCH 399/474] Add Curios Face Slot (For Engineers Goggles and Face Mask) (#2992) * Add Curios Face Slot Curio face slot for create goggles and GT face mask. GT night vision goggles would need extra work to get working in the curio slot * InventoryHUD config for face curio slot --- config/InventoryHUD/curios.json | 7 +++++++ kubejs/assets/tfg/lang/en_us.json | 1 + kubejs/assets/tfg/textures/slot/face.png | Bin 0 -> 650 bytes kubejs/data/tfg/curios/entities/entities.json | 8 ++++++++ kubejs/data/tfg/curios/slots/face.json | 5 +++++ kubejs/server_scripts/create/tags.js | 4 ++++ kubejs/server_scripts/gregtech/tags.js | 4 ++++ 7 files changed, 29 insertions(+) create mode 100644 kubejs/assets/tfg/textures/slot/face.png create mode 100644 kubejs/data/tfg/curios/entities/entities.json create mode 100644 kubejs/data/tfg/curios/slots/face.json diff --git a/config/InventoryHUD/curios.json b/config/InventoryHUD/curios.json index eb0aca1d4..57bff8aaf 100644 --- a/config/InventoryHUD/curios.json +++ b/config/InventoryHUD/curios.json @@ -13,6 +13,13 @@ "halign": "LEFT", "valign": "BOTTOM" }, + "face": { + "x": 2, + "y": 134, + "enabled": true, + "halign": "LEFT", + "valign": "BOTTOM" + }, "hands": { "x": 2, "y": 44, diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index f59ce46fb..7796d84d5 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1686,6 +1686,7 @@ "trim_material.tfc.neutronium_tfc": "Neutronium", "trim_material.tfc.pyrite_tfc": "Pyrite", "trim_material.tfc.redx_tfc": "RedX", + "curios.identifier.face": "Face", "tfg.emi.ore_veins.rock_types": "Found in rock types:", "tfg.emi.ore_veins.rarity": "Rarity: 1/%d chunks", "tfg.emi.ore_veins.density": "Density: %d", diff --git a/kubejs/assets/tfg/textures/slot/face.png b/kubejs/assets/tfg/textures/slot/face.png new file mode 100644 index 0000000000000000000000000000000000000000..0908de242aa3cf071d6fc43a8a3d96256610ab78 GIT binary patch literal 650 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7TQZ%U13aCb6$*;-(=u~X z85lGs)=u2-eb_L?!Lj$~Q@T^B%vJv)gy?XvMVeJME7z2r`j;Al&)b$6V(T@1vW( z-p}{=%cO~VD%z>fGkMW;q(5eQY~ACSvWN#W6P2gWROb`!ekwPudPXSE)QUEXRV$>P za#v0lJr_OaYE*OSyOZ$}T3OnW>n_VU3we7e@(LPBtysjyZ5U-57UG^ zlTTJPO-yDiT`@t%{)haZch_`${damUWD%&?__n`LVF&k?+1vis=G=ZOeBeJ%OlEBT zUe+_UlkUCAx~QCxA-!YAyR1)g1v{Bt=9QeBAal|`SYv9#cjI5nm<)=zdDiUQTl%f= z7sHbktDj0gcpxxCBlz2{hT|;+&tG zo0?a`;9QiNSdyBeP@Y+mq2TW68xY>eC(gjYkmTv&7-DfcIYA=hK!>k^iOCmxvyWF- zhZ{dK)dg|%&hB_3IZ-vyOrVHyQxuQ7a1mozsR5te*&SClJqT)$OJL!34{tahEz$PS yNH%`Wfg>|lOj~r~E7Q4#L*gAQ!A~wQF+4B#y)ipq@+1QT1B0ilpUXO@geCyC4+cd5 literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/curios/entities/entities.json b/kubejs/data/tfg/curios/entities/entities.json new file mode 100644 index 000000000..dfd119064 --- /dev/null +++ b/kubejs/data/tfg/curios/entities/entities.json @@ -0,0 +1,8 @@ +{ + "entities": [ + "minecraft:player" + ], + "slots": [ + "face" + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/curios/slots/face.json b/kubejs/data/tfg/curios/slots/face.json new file mode 100644 index 000000000..046825bab --- /dev/null +++ b/kubejs/data/tfg/curios/slots/face.json @@ -0,0 +1,5 @@ +{ + "size": 1, + "icon": "tfg:slot/face", + "add_cosmetic": false +} \ No newline at end of file diff --git a/kubejs/server_scripts/create/tags.js b/kubejs/server_scripts/create/tags.js index 704c76b11..81d451ee3 100644 --- a/kubejs/server_scripts/create/tags.js +++ b/kubejs/server_scripts/create/tags.js @@ -9,6 +9,10 @@ const registerCreateItemTags = (event) => { event.add('c:hidden_from_recipe_viewers', item) }) + // Face curio slot for goggles + event.remove("curios:head", "create:goggles") + event.add("curios:face", "create:goggles") + // This is greate's fault event.remove('c:hidden_from_recipe_viewers', 'create:copper_sheet') event.remove('c:hidden_from_recipe_viewers', 'create:brass_sheet') diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index bca277013..91ea36295 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -13,6 +13,10 @@ function registerGTCEUItemTags(event) { event.add("c:hidden_from_recipe_viewers", item); }); + // Face curio slot for mask + event.remove("curios:head", "gtceu:face_mask") + event.add("curios:face", "gtceu:face_mask") + // Добавление тега EMI для скрытия всех руд event.add("c:hidden_from_recipe_viewers", "#forge:ores"); From 2efa0180a8188f5a46df4fe74a9d96172d6bcd80 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 7 Feb 2026 11:20:59 +0000 Subject: [PATCH 400/474] Greate splashing update (#2995) * update to greate 0.0.65 * update greate and pakku, add circuits to fan recipes * that doesn't work * add ore deposits too --- config/greate-recipes.yaml | 9 ++ kubejs/server_scripts/greate/recipes.js | 20 +++++ kubejs/server_scripts/tfc/recipes.metals.js | 7 ++ .../tfg/food/recipes.meal_bags.js | 5 +- .../recipes.material_ores.js | 51 ++++++++++-- .../tfg/primitive/recipes.wood.js | 10 ++- kubejs/startup_scripts/greate/constants.js | 3 + pakku-lock.json | 82 +++++++++---------- 8 files changed, 135 insertions(+), 52 deletions(-) diff --git a/config/greate-recipes.yaml b/config/greate-recipes.yaml index 50dd46256..e3cc99132 100644 --- a/config/greate-recipes.yaml +++ b/config/greate-recipes.yaml @@ -13,6 +13,15 @@ useCreateItemsInRecipes: false # [WARNING]: This will not cover every single recipe conflict, only common conflicts (like components (plates/sheets)), or ore processing conflicts. disableConflictingRecipes: true +# Should tiered encased fans process item entities? +processItemEntitiesWithFan: false + +# Should recipes that cannot be removed be logged? +logUnremovableRecipes: true + +# "Multiplier used for calculating how many ticks should initially be removed in fan processing recipes, based on how fast the fan is spinning." +fanSpeedMultiplier: 0.5 + # Recipe types that should not be copied to Greate machines. Ex. 'gtceu:macerator' for macerator recipes ignoredRecipeTypes: - gtceu:ore_washer diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js index bac53d5ba..cdce0215e 100644 --- a/kubejs/server_scripts/greate/recipes.js +++ b/kubejs/server_scripts/greate/recipes.js @@ -1132,4 +1132,24 @@ function registerGreateRecipes(event) { C: 'gtceu:iv_electric_pump', D: 'create:spout' }).addMaterialInfo().id('tfg:shaped/toms_favourite_block') + + event.shaped(`2x greate:treated_wood_window`, [ + 'BAB', + ' B ' + ], { + A: '#forge:glass', + B: 'gtceu:treated_wood_planks' + }).id(`tfg:greate/shaped/treated_wood_window`) + + event.shapeless(`2x greate:treated_wood_window_pane`, + [ + `greate:treated_wood_window`, + '#forge:tools/saws' + ]).id('tfg:greate/shapeless/treated_wood_window_pane') + + event.recipes.gtceu.cutter(`tfg:greate/greate:treated_wood_window_pane`) + .itemInputs(`3x greate:treated_wood_window`) + .itemOutputs(`8x greate:treated_wood_window_pane`) + .duration(40) + .EUt(7) } diff --git a/kubejs/server_scripts/tfc/recipes.metals.js b/kubejs/server_scripts/tfc/recipes.metals.js index 84f0f4ff9..079f34930 100644 --- a/kubejs/server_scripts/tfc/recipes.metals.js +++ b/kubejs/server_scripts/tfc/recipes.metals.js @@ -308,6 +308,13 @@ function registerTFCMetalsRecipes(event) { .itemOutputs(`1x tfc:ore/normal_${ore}`) .duration(20) .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.greate.splashing( + [`tfc:ore/normal_${ore}`], + [`1x tfc:deposit/${ore}/${stone}`, Fluid.of('minecraft:water', 100)] + ) + .recipeTier(1) + .id(`tfg:splashing/${ore}/${stone}_deposit`) }) }) //#endregion diff --git a/kubejs/server_scripts/tfg/food/recipes.meal_bags.js b/kubejs/server_scripts/tfg/food/recipes.meal_bags.js index 4ac8c515a..72ccd1165 100644 --- a/kubejs/server_scripts/tfg/food/recipes.meal_bags.js +++ b/kubejs/server_scripts/tfg/food/recipes.meal_bags.js @@ -53,7 +53,7 @@ function registerTFGMealBagRecipes(event) { .itemInputs('1x tfg:used_foil_pack') .inputFluids(Fluid.of('gtceu:distilled_water', 10)) .itemOutputs('1x tfg:clean_foil_pack') - .duration(200) + .duration(50) .circuit(2) .EUt(GTValues.VA[GTValues.ULV]) @@ -68,7 +68,8 @@ function registerTFGMealBagRecipes(event) { result: { item: 'tfg:clean_foil_pack' } }).id('tfg:ae_transform/clean_foil_pack') - event.recipes.greate.splashing(['tfg:clean_foil_pack'], 'tfg:used_foil_pack') + event.recipes.greate.splashing(['tfg:clean_foil_pack'], ['tfg:used_foil_pack', Fluid.of('minecraft:water', 100)]) + .recipeTier(0) .id('tfg:splashing/clean_foil_pack') event.shapeless('1x tfg:used_foil_pack', [ diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js index 09f9e62f1..2e3fe3968 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_ores.js @@ -325,9 +325,22 @@ function processCrushedOre(event, material) { .EUt(2) // Bulk washing + + event.recipes.greate.splashing( + [pureOreItem, Item.of(byproductItem).withChance(0.14), 'gtceu:stone_dust'], + [crushedOreItem, Fluid.of('minecraft:water', 100)] + ) + .recipeTier(1) + .circuitNumber(1) + .id(`tfg:splashing/${materialName}_purified_ore_water`) - event.recipes.greate.splashing([pureOreItem, Item.of(byproductItem).withChance(0.333), 'gtceu:stone_dust'], crushedOreItem) - .id(`tfg:splashing/${materialName}_purified_ore`) + event.recipes.greate.splashing( + [pureOreItem, Item.of(byproductItem).withChance(0.333), 'gtceu:stone_dust'], + [crushedOreItem, Fluid.of('gtceu:distilled_water', 10)] + ) + .recipeTier(1) + .circuitNumber(2) + .id(`tfg:splashing/${materialName}_purified_ore_distilled`) // Dropping in water event.custom({ @@ -443,8 +456,21 @@ function processImpureDust(event, material) { const materialName = material.getName(); // Bulk washing - event.recipes.greate.splashing(dustItem, impureDustItem) - .id(`tfg:splashing/${materialName}_dust_from_impure`) + event.recipes.greate.splashing( + [dustItem], + [impureDustItem, Fluid.of('minecraft:water', 100)] + ) + .recipeTier(1) + .circuitNumber(1) + .id(`tfg:splashing/${materialName}_dust_from_impure_water`) + + event.recipes.greate.splashing( + [dustItem], + [impureDustItem, Fluid.of('gtceu:distilled_water', 10)] + ) + .recipeTier(1) + .circuitNumber(2) + .id(`tfg:splashing/${materialName}_dust_from_impure_distilled`) event.recipes.tfc.barrel_instant() .inputItem(impureDustItem) @@ -495,8 +521,21 @@ function processPureDust(event, material) { const materialName = material.getName(); // Bulk washing - event.recipes.greate.splashing(dustItem, pureDustItem) - .id(`tfg:splashing/${materialName}_dust_from_pure`) + event.recipes.greate.splashing( + [dustItem], + [pureDustItem, Fluid.of('minecraft:water', 100)] + ) + .recipeTier(1) + .circuitNumber(1) + .id(`tfg:splashing/${materialName}_dust_from_pure_water`) + + event.recipes.greate.splashing( + [dustItem], + [pureDustItem, Fluid.of('gtceu:distilled_water', 10)] + ) + .recipeTier(1) + .circuitNumber(2) + .id(`tfg:splashing/${materialName}_dust_from_pure_distilled`) event.recipes.tfc.barrel_instant() .inputItem(pureDustItem) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.wood.js b/kubejs/server_scripts/tfg/primitive/recipes.wood.js index 70afd59ac..746aad25f 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.wood.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.wood.js @@ -15,9 +15,13 @@ function registerTFGWoodRecipes(event) { .duration(20 * 5) .EUt(GTValues.VA[GTValues.LV]) - event.recipes.create.splashing([Item.of('tfc:powder/wood_ash').withChance(0.25), Item.of('minecraft:stick').withChance(0.25)], 'tfc:torch') - .id('tfg:splashing/wash_torch') - + event.recipes.greate.splashing( + [Item.of('tfc:powder/wood_ash').withChance(0.25), Item.of('minecraft:stick').withChance(0.25)], + ['tfc:torch', Fluid.of('minecraft:water', 100)] + ) + .recipeTier(0) + .id('tfg:splashing/wash_torch') + // Just a dummy recipe to tell people they can get wood ash by throwing torches in water via TFC event.custom({ type: "ae2:transform", diff --git a/kubejs/startup_scripts/greate/constants.js b/kubejs/startup_scripts/greate/constants.js index c0e4eaf7c..3e1ada724 100644 --- a/kubejs/startup_scripts/greate/constants.js +++ b/kubejs/startup_scripts/greate/constants.js @@ -34,6 +34,9 @@ global.GREATE_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:darmstadtium_alloy", "gtceu:neutronium_alloy", + "greate:rubber_window", + "greate:rubber_window_pane", + "gtceu:neutronium_whisk", "greate:polyethylene_belt_connector", "greate:polytetrafluoroethylene_belt_connector", diff --git a/pakku-lock.json b/pakku-lock.json index 05137e8d1..ffc824f1c 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -4875,7 +4875,7 @@ "files": [ { "type": "curseforge", - "file_name": "domum_ornamentum-1.20.1-1.0.295-universal.jar", + "file_name": "domum_ornamentum-1.20.1-1.0.296-universal.jar", "mc_versions": [ "1.20.1" ], @@ -4883,16 +4883,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7530/695/domum_ornamentum-1.20.1-1.0.295-universal.jar", - "id": "7530695", + "url": "https://edge.forgecdn.net/files/7585/567/domum_ornamentum-1.20.1-1.0.296-universal.jar", + "id": "7585567", "parent_id": "527361", "hashes": { - "sha1": "29950245b98ec35184d806e3b9ace700e67ac585", - "md5": "2f8435a8c43ebff6df70299ea212b336" + "sha1": "f0052adb170e5f73f0f5b625c411bc5b99183c00", + "md5": "2a29092b7f67ac477f253c44d3d0463c" }, "required_dependencies": [], - "size": 1141554, - "date_published": "2026-01-26T15:27:31.327Z" + "size": 1141555, + "date_published": "2026-02-06T18:57:22.807Z" } ] }, @@ -7163,7 +7163,7 @@ "files": [ { "type": "modrinth", - "file_name": "greate-0.0.64.jar", + "file_name": "greate-0.0.66.jar", "mc_versions": [ "1.20.1" ], @@ -7172,23 +7172,23 @@ "neoforge" ], "release_type": "alpha", - "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/9flLlqpd/greate-0.0.64.jar", - "id": "9flLlqpd", + "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/PKMB9cOR/greate-0.0.66.jar", + "id": "PKMB9cOR", "parent_id": "8wDcQuht", "hashes": { - "sha512": "9f7d4f37fa720eeca5177263c4cd00f6812cd77063214061f31ef416123d51bc0a553f46393c1e0e3a548ef6d15b2da2bd6f703d80379d3ad084ee749c12b2c0", - "sha1": "7e779ac568c27ebb8cb9b16c6b8797b633ffdcdf" + "sha512": "664e7ef0bd1a75739159dd2da6e8acb1085071c50f057eb8e8edd9b6e3c71c738364c328f98cfa00841a55411fa27980c53befea3a9867d1245bc7818f326560", + "sha1": "34cc291020c237e39e0f04939cc78ccf2a9ab862" }, "required_dependencies": [ "7tG215v7", "LNytGWDc" ], - "size": 1257336, - "date_published": "2026-01-24T05:55:41.391475Z" + "size": 1302534, + "date_published": "2026-02-06T02:33:01.791850Z" }, { "type": "curseforge", - "file_name": "greate-0.0.64.jar", + "file_name": "greate-0.0.66.jar", "mc_versions": [ "1.20.1" ], @@ -7197,19 +7197,19 @@ "neoforge" ], "release_type": "alpha", - "url": "https://edge.forgecdn.net/files/7516/28/greate-0.0.64.jar", - "id": "7516028", + "url": "https://edge.forgecdn.net/files/7582/520/greate-0.0.66.jar", + "id": "7582520", "parent_id": "901996", "hashes": { - "sha1": "7e779ac568c27ebb8cb9b16c6b8797b633ffdcdf", - "md5": "31e92230efe5fc01d683e25fbe6a561c" + "sha1": "34cc291020c237e39e0f04939cc78ccf2a9ab862", + "md5": "5a4ed301d6d3ab28f32be01489390cc7" }, "required_dependencies": [ - "890405", - "328085" + "328085", + "890405" ], - "size": 1257336, - "date_published": "2026-01-24T05:55:39.687Z" + "size": 1302534, + "date_published": "2026-02-06T02:32:59.240Z" } ] }, @@ -10548,7 +10548,7 @@ "files": [ { "type": "modrinth", - "file_name": "particle_core-0.3.2+1.20.1+forge.jar", + "file_name": "particle_core-0.3.3+1.20.1+forge.jar", "mc_versions": [ "1.20.1" ], @@ -10557,23 +10557,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/RSeLon5O/versions/qSjxrRl9/particle_core-0.3.2+1.20.1+forge.jar", - "id": "qSjxrRl9", + "url": "https://cdn.modrinth.com/data/RSeLon5O/versions/cFafZfyr/particle_core-0.3.3+1.20.1+forge.jar", + "id": "cFafZfyr", "parent_id": "RSeLon5O", "hashes": { - "sha512": "042a26c72ed13a5b7a961afd575561442fe979295e2adc5901127e2be578391f597ce24d17d92fdf6ad515a19033f1b7cde0a455e7e9e9b0a36a8089caddf459", - "sha1": "57079d1607ce044533fb076d2db0e2a3d277a4fb" + "sha512": "46694c2525b1e14b20ec6043ce9f7e7b92b9fe3a7d55c995951ec54d7acecf1c1a8a674d829efb42e6d1d9c7b0a29fd0edc834a876fb5a85ad90f35b932748ff", + "sha1": "1da5744853d17979033d5ee3cd4251b8340ea7be" }, "required_dependencies": [ - "ordsPcFz", - "hYykXjDp" + "hYykXjDp", + "ordsPcFz" ], - "size": 773147, - "date_published": "2026-01-25T16:04:41.088385Z" + "size": 773448, + "date_published": "2026-02-05T19:47:58.826248Z" }, { "type": "curseforge", - "file_name": "particle_core-0.3.2+1.20.1+forge.jar", + "file_name": "particle_core-0.3.3+1.20.1+forge.jar", "mc_versions": [ "1.20.1" ], @@ -10582,19 +10582,19 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7525/37/particle_core-0.3.2+1.20.1+forge.jar", - "id": "7525037", + "url": "https://edge.forgecdn.net/files/7581/36/particle_core-0.3.3+1.20.1+forge.jar", + "id": "7581036", "parent_id": "985426", "hashes": { - "sha1": "57079d1607ce044533fb076d2db0e2a3d277a4fb", - "md5": "5ebd6c2396924c3e33ea96003ec10b0c" + "sha1": "1da5744853d17979033d5ee3cd4251b8340ea7be", + "md5": "eb8ce770b3ddc793df437bfcec169a6d" }, "required_dependencies": [ - "1005914", - "351264" + "351264", + "1005914" ], - "size": 773147, - "date_published": "2026-01-25T16:04:36.363Z" + "size": 773448, + "date_published": "2026-02-05T19:47:53.227Z" } ] }, From 2a4dfabed0fa90647862433cb3bb9701d0b2bc27 Mon Sep 17 00:00:00 2001 From: Inceitious <124896643+Inceitious@users.noreply.github.com> Date: Sat, 7 Feb 2026 19:21:54 +0800 Subject: [PATCH 401/474] glass vials (#2999) --- .../tfg/ores_and_materials/recipes.quartzes.js | 8 ++++++++ 1 file changed, 8 insertions(+) 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 eee2285b4..4e87f3d93 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js @@ -178,5 +178,13 @@ function registerTFGQuartzRecipes(event) { .duration(16 * 20) .EUt(16) .category(GTRecipeCategories.INGOT_MOLDING); + + // Glass vials + event.recipes.gtceu.extruder('tfg:glass_vial_from_batch') + .itemInputs('#tfc:glass_batches_tier_3') + .notConsumable('gtceu:cell_extruder_mold') + .itemOutputs("4x gtceu:glass_vial") + .duration(6.4 * 20) + .EUt(30) //#endregion } From 02749b05e608e421a19f0b6ab0f739952ca51f72 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 7 Feb 2026 13:52:50 +0000 Subject: [PATCH 402/474] allow hang gliders on venus, allow foxes to be picked up --- config/carryon-common.toml | 2 +- defaultconfigs/tfg-server.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/carryon-common.toml b/config/carryon-common.toml index c8fe92609..9706dd436 100644 --- a/config/carryon-common.toml +++ b/config/carryon-common.toml @@ -57,7 +57,7 @@ [whitelist] #Whitelist. Read about the format here: https://github.com/Tschipp/CarryOn/wiki/Black---and-Whitelist-Config #Entities that CAN be picked up (useWhitelistEntities must be true) - allowedEntities = ["minecraft:axolotl", "tfc:turkey", "tfc:isopod", "tfc:lobster", "tfc:frog", "tfc:penguin", "tfc:turtle", "tfc:horseshoe_crab", "tfc:crayfish", "tfc:grouse", "tfc:pheasant", "tfc:peafowl", "tfc:rat", "tfc:chicken", "tfc:duck", "tfc:quail", "tfc:rabbit", "tfc:sheep", "tfc:wolf", "tfc:dog", "tfc:pig", "tfc:goat", "tfc:alpaca", "tfg:wraptor", "tfg:surfer", "tfg:moon_rabbit", "species:limpet", "species:birt", "species:stackatick", "species:springling", "tfg:glacian_ram", "wan_ancient_beasts:crusher", "wan_ancient_beasts:glider", "wan_ancient_beasts:soarer", "wan_ancient_beasts:surfer", "wan_ancient_beasts:snatcher", "primitive_creatures:viloger_10"] + allowedEntities = ["minecraft:axolotl", "tfc:turkey", "tfc:isopod", "tfc:lobster", "tfc:frog", "tfc:penguin", "tfc:turtle", "tfc:horseshoe_crab", "tfc:crayfish", "tfc:grouse", "tfc:pheasant", "tfc:peafowl", "tfc:rat", "tfc:chicken", "tfc:duck", "tfc:quail", "tfc:rabbit", "tfc:sheep", "tfc:wolf", "tfc:dog", "tfc:pig", "tfc:goat", "tfc:alpaca", "tfc:fox", "tfc:boar", "tfg:wraptor", "tfg:surfer", "tfg:moon_rabbit", "species:limpet", "species:birt", "species:stackatick", "species:springling", "tfg:glacian_ram", "wan_ancient_beasts:crusher", "wan_ancient_beasts:glider", "wan_ancient_beasts:soarer", "wan_ancient_beasts:surfer", "wan_ancient_beasts:snatcher", "primitive_creatures:viloger_10"] #Blocks that CAN be picked up (useWhitelistBlocks must be true) allowedBlocks = ["framedblocks:framed_chest", "tfc:wood/chest/*", "tfc:wood/trapped_chest/*", "afc:wood/chest/*", "afc:wood/trapped_chest/*", "#forge:chests/wooden"] #Entities that CAN have other entities stacked on top of them (useWhitelistStacking must be true) diff --git a/defaultconfigs/tfg-server.toml b/defaultconfigs/tfg-server.toml index 88812038f..bae12ee97 100644 --- a/defaultconfigs/tfg-server.toml +++ b/defaultconfigs/tfg-server.toml @@ -26,7 +26,7 @@ can_glide_on_mars = false # #If true, gliders will function in the Ad Astra dimension Venus - can_glide_on_venus = false + can_glide_on_venus = true # #If true, gliders will function in the Ad Astra dimension Mercury can_glide_on_mercury = false From 7e4547353e16dc6030cb01200e39b249f86f9241 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 7 Feb 2026 14:22:00 +0000 Subject: [PATCH 403/474] alignment with tfc 1.21 --- kubejs/data/tfc/worldgen/placed_feature/flood_fill_lake.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/data/tfc/worldgen/placed_feature/flood_fill_lake.json b/kubejs/data/tfc/worldgen/placed_feature/flood_fill_lake.json index 3c544cd20..7a3352a37 100644 --- a/kubejs/data/tfc/worldgen/placed_feature/flood_fill_lake.json +++ b/kubejs/data/tfc/worldgen/placed_feature/flood_fill_lake.json @@ -8,7 +8,7 @@ }, { "type": "tfc:climate", - "min_rainfall": 100 + "min_rainfall": 125 }, { "type": "minecraft:in_square" From 4ddab5e7be998cc887d7bbc36ee2bd6268a0c6f4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 8 Feb 2026 11:54:31 +0000 Subject: [PATCH 404/474] fix #2990 --- .../blocks/wood/leaves/crimson.json | 52 +++++++++++++++++++ .../blocks/wood/leaves/warped.json | 52 +++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 kubejs/data/beneath/loot_tables/blocks/wood/leaves/crimson.json create mode 100644 kubejs/data/beneath/loot_tables/blocks/wood/leaves/warped.json diff --git a/kubejs/data/beneath/loot_tables/blocks/wood/leaves/crimson.json b/kubejs/data/beneath/loot_tables/blocks/wood/leaves/crimson.json new file mode 100644 index 000000000..a2c0090d9 --- /dev/null +++ b/kubejs/data/beneath/loot_tables/blocks/wood/leaves/crimson.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "beneath:wood/leaves/crimson", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "tag": "forge:shears" + } + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:saplings/crimson", + "conditions": [ + { + "condition": "minecraft:survives_explosion" + }, + { + "condition": "minecraft:random_chance", + "chance": 0.013 + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/beneath/loot_tables/blocks/wood/leaves/warped.json b/kubejs/data/beneath/loot_tables/blocks/wood/leaves/warped.json new file mode 100644 index 000000000..cb488c12f --- /dev/null +++ b/kubejs/data/beneath/loot_tables/blocks/wood/leaves/warped.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "beneath:wood/leaves/warped", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "tag": "forge:shears" + } + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + }, + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:saplings/warped", + "conditions": [ + { + "condition": "minecraft:survives_explosion" + }, + { + "condition": "minecraft:random_chance", + "chance": 0.013 + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file From 5f69f6e730985e2dbdb4cb5925884be0b0831fb2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 8 Feb 2026 12:31:32 +0000 Subject: [PATCH 405/474] pakku --- pakku-lock.json | 141 ++++++++++++++++++++++++++++-------------------- 1 file changed, 84 insertions(+), 57 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index ffc824f1c..af97e2c39 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -2328,7 +2328,7 @@ "files": [ { "type": "modrinth", - "file_name": "chat_heads-0.14.2-forge-1.20.jar", + "file_name": "chat_heads-0.15.0-forge-1.20.jar", "mc_versions": [ "1.20", "1.20.1" @@ -2337,20 +2337,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/Wb5oqrBJ/versions/kHywXsX0/chat_heads-0.14.2-forge-1.20.jar", - "id": "kHywXsX0", + "url": "https://cdn.modrinth.com/data/Wb5oqrBJ/versions/Sx6LvCU5/chat_heads-0.15.0-forge-1.20.jar", + "id": "Sx6LvCU5", "parent_id": "Wb5oqrBJ", "hashes": { - "sha512": "44970e9d913c19b0c36990dcf6f4cf757b032f3bec596cc9b85ff0ac7fe5fcab3d20cd590e31825e649f5393189fc2bb89386f95cca36013e9c0195eb62e10e2", - "sha1": "0410ab9636c69324e3671012af64c7743f6d6079" + "sha512": "28b65bbe29799f8f2ffbefd29292bc2f56c7695515e34ee1d9c854be0f07fb727c8541aab65cfde3ec7662ecfc7fea6fa28bc897c293dac477f36d3595a8f275", + "sha1": "52a21207af65259adfa840e26042c28058f6513f" }, "required_dependencies": [], - "size": 718678, - "date_published": "2025-11-11T19:30:49.532052Z" + "size": 722765, + "date_published": "2026-02-07T22:28:55.850710Z" }, { "type": "curseforge", - "file_name": "chat_heads-0.14.2-forge-1.20.jar", + "file_name": "chat_heads-0.15.0-forge-1.20.jar", "mc_versions": [ "1.20.1", "1.20" @@ -2359,16 +2359,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7211/700/chat_heads-0.14.2-forge-1.20.jar", - "id": "7211700", + "url": "https://edge.forgecdn.net/files/7591/237/chat_heads-0.15.0-forge-1.20.jar", + "id": "7591237", "parent_id": "407206", "hashes": { - "sha1": "0410ab9636c69324e3671012af64c7743f6d6079", - "md5": "90c7b2c8dd6b9001528c5d741152b784" + "sha1": "52a21207af65259adfa840e26042c28058f6513f", + "md5": "74d7adf4a7ea4d2f6544d61690836b0f" }, "required_dependencies": [], - "size": 718678, - "date_published": "2025-11-11T19:30:55.800Z" + "size": 722765, + "date_published": "2026-02-07T22:29:26.510Z" } ] }, @@ -5382,7 +5382,7 @@ "files": [ { "type": "modrinth", - "file_name": "everycomp-1.20-2.9.15-forge.jar", + "file_name": "everycomp-1.20-2.9.16-forge.jar", "mc_versions": [ "1.20.1" ], @@ -5390,22 +5390,22 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/eiktJyw1/versions/tkWAtsse/everycomp-1.20-2.9.15-forge.jar", - "id": "tkWAtsse", + "url": "https://cdn.modrinth.com/data/eiktJyw1/versions/PzLUDEeR/everycomp-1.20-2.9.16-forge.jar", + "id": "PzLUDEeR", "parent_id": "eiktJyw1", "hashes": { - "sha512": "1628b4518f6ade1709a8c5823d92fb9e4f728aac77a1c3e4e1e5ece02920652babf3851d902f1a6dd1dc617227bb37c965a894a803b78b6fa9896d23e1e7980a", - "sha1": "9199f9a117e655ba64186b76c5ff1f78236034ae" + "sha512": "a5cedf32c29573af7d65323a58ba9d302f8a4623a5086909feddfde24d1d514a63aed9cb69d05963a9d54ef0f22aae7f550e2e458029434688d9d803c0b0f212", + "sha1": "6f68b7f54c895d38001d4ae5dc20e7f47929e981" }, "required_dependencies": [ "twkfQtEc" ], - "size": 2830108, - "date_published": "2026-01-09T06:12:02.600913Z" + "size": 2834510, + "date_published": "2026-02-08T09:44:23.096170Z" }, { "type": "curseforge", - "file_name": "everycomp-1.20-2.9.15-forge.jar", + "file_name": "everycomp-1.20-2.9.16-forge.jar", "mc_versions": [ "1.20.1" ], @@ -5413,18 +5413,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7436/288/everycomp-1.20-2.9.15-forge.jar", - "id": "7436288", + "url": "https://edge.forgecdn.net/files/7593/349/everycomp-1.20-2.9.16-forge.jar", + "id": "7593349", "parent_id": "628539", "hashes": { - "sha1": "9199f9a117e655ba64186b76c5ff1f78236034ae", - "md5": "2ad6623c8a89c933122fb7519b8d3437" + "sha1": "6f68b7f54c895d38001d4ae5dc20e7f47929e981", + "md5": "9262a59d15f024e3022a1d5249fe9361" }, "required_dependencies": [ "499980" ], - "size": 2830108, - "date_published": "2026-01-09T06:11:41.930Z" + "size": 2834510, + "date_published": "2026-02-08T09:44:01.477Z" } ] }, @@ -7904,7 +7904,7 @@ "files": [ { "type": "modrinth", - "file_name": "[1.20.1_ver_0.05]_Improved_AE_2_32x.zip", + "file_name": "[1.20.1_ver_0.05.1]_Improved_AE_2_32x.zip", "mc_versions": [ "1.20", "1.20.1" @@ -7913,34 +7913,34 @@ "minecraft" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/dOV2wnYX/versions/Ww3GLvVA/[1.20.1_ver_0.05]_Improved_AE_2_32x.zip", - "id": "Ww3GLvVA", + "url": "https://cdn.modrinth.com/data/dOV2wnYX/versions/ADLAHWpP/[1.20.1_ver_0.05.1]_Improved_AE_2_32x.zip", + "id": "ADLAHWpP", "parent_id": "dOV2wnYX", "hashes": { - "sha512": "1538ae239d35dcf57b83190b3a9f27a36299b0d5ab4a1c73884c7fa904b4f05c89806ca99af568367103280d123a218fa93607935698864ffd76ccc4578654e2", - "sha1": "c34d762042a4c04d4e7293937b7ce8bb5c6c4e32" + "sha512": "dd2a19913bd656c7e15efcd9121a75ececef9af7caa6322fc74033bda8b84f5579f0dd0bb2a7f2989012b91bd6e9f69c1481ac4b78719cc9b89512ccb1cc2da0", + "sha1": "a88aca7ec618bfb8ce4f2ab596c5c2c9c6e41193" }, "required_dependencies": [], - "size": 2702030, - "date_published": "2026-01-05T16:26:57.406085Z" + "size": 2703847, + "date_published": "2026-02-07T20:56:27.938640Z" }, { "type": "curseforge", - "file_name": "[1.20.1_ver_0.05]_Improved_AE_2_32x.zip", + "file_name": "[1.20.1_ver_0.05.1]_Improved_AE_2_32x.zip", "mc_versions": [ "1.20.1" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7421/592/[1.20.1_ver_0.05]_Improved_AE_2_32x.zip", - "id": "7421592", + "url": "https://edge.forgecdn.net/files/7590/860/[1.20.1_ver_0.05.1]_Improved_AE_2_32x.zip", + "id": "7590860", "parent_id": "891816", "hashes": { - "sha1": "c34d762042a4c04d4e7293937b7ce8bb5c6c4e32", - "md5": "8cad22a0fc22ed05d025e08394f17369" + "sha1": "a88aca7ec618bfb8ce4f2ab596c5c2c9c6e41193", + "md5": "eba81a21ae31f7b50f5b6aef0d905496" }, "required_dependencies": [], - "size": 2702030, - "date_published": "2026-01-05T16:27:10.323Z" + "size": 2703847, + "date_published": "2026-02-07T20:56:33.880Z" } ] }, @@ -8446,39 +8446,66 @@ ] }, { - "pakku_id": "oZ0Gttnl2q3cjZJI", + "pakku_id": "7AYiwFrPOxcW64HB", "type": "MOD", + "side": "BOTH", "slug": { - "curseforge": "krypton-reforged" + "curseforge": "krypton-fnp", + "modrinth": "krypton-fnp" }, "name": { - "curseforge": "Krypton Reforged" + "curseforge": "Krypton FNP", + "modrinth": "Krypton FNP" }, "id": { - "curseforge": "549394" + "curseforge": "1269169", + "modrinth": "JkxWVYwU" }, + "redistributable": false, "files": [ { "type": "curseforge", - "file_name": "KryptonReforged-0.2.3.jar", + "file_name": "Krypton FNP-forge-1.20.1-0.2.28.2-1.20.1.jar", "mc_versions": [ - "1.20.1", - "1.20" + "1.20.1" ], "loaders": [ - "forge" + "forge", + "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/4606/534/KryptonReforged-0.2.3.jar", - "id": "4606534", - "parent_id": "549394", + "url": "https://edge.forgecdn.net/files/7464/032/Krypton FNP-forge-1.20.1-0.2.28.2-1.20.1.jar", + "id": "7464032", + "parent_id": "1269169", "hashes": { - "sha1": "92690482dad46a8c9cf28e4b6b26e49f4dc67095", - "md5": "5b6b46d86a9a3858c766182a4cb9c3f1" + "sha1": "84f719905f9c01943b7e67ba61b0624ae6b073a3", + "md5": "cdf00793d38e0d689d4bb4edb18d78ff" }, "required_dependencies": [], - "size": 206758, - "date_published": "2023-06-24T02:52:47.757Z" + "size": 1794016, + "date_published": "2026-01-15T16:03:38.220Z" + }, + { + "type": "modrinth", + "file_name": "Krypton FNP-forge-1.20.1-0.2.28.2-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/JkxWVYwU/versions/e37D0ChM/Krypton FNP-forge-1.20.1-0.2.28.2-1.20.1.jar", + "id": "e37D0ChM", + "parent_id": "JkxWVYwU", + "hashes": { + "sha512": "103e08777f541b54240a1fd42669f308f1b672ab5e6ffb7469ca2a9fd1827cb22b4d41b53d08a1f064c250c5d2eb84dec96daf604c927354154fdec443693997", + "sha1": "84f719905f9c01943b7e67ba61b0624ae6b073a3" + }, + "required_dependencies": [], + "size": 1794016, + "date_published": "2026-01-15T16:03:44.377420Z" } ] }, From 7d0868379e63abbde120c0675a3f5b826fb632cf Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 8 Feb 2026 12:53:44 +0000 Subject: [PATCH 406/474] fix #3003 --- kubejs/server_scripts/gregtech/recipes.recycling.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kubejs/server_scripts/gregtech/recipes.recycling.js b/kubejs/server_scripts/gregtech/recipes.recycling.js index 809491ee1..e3bd454a9 100644 --- a/kubejs/server_scripts/gregtech/recipes.recycling.js +++ b/kubejs/server_scripts/gregtech/recipes.recycling.js @@ -16,6 +16,9 @@ function registerGTCEURecyclingRecipes(event) { // Iron Door TFGHelpers.registerMaterialInfo('minecraft:iron_door', [GTMaterials.Iron, 2]) + removeMaceratorRecipe(event, 'macerate_maintenance_hatch') + TFGHelpers.registerMaterialInfo('gtceu:maintenance_hatch', [GTMaterials.Steel, 8, GTMaterials.Rubber, 2, GTMaterials.Tin, 1]) + // #region Hanging Signs global.TFC_EQUIPMENT_METALS.forEach(metal => { // Recycling Hardwood From 29047265b7e9aa2833195cae794a298edb6a0232 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 8 Feb 2026 12:55:06 +0000 Subject: [PATCH 407/474] fix #2988 --- kubejs/server_scripts/tfg/food/recipes.food.js | 6 +++--- kubejs/startup_scripts/firmalife/constants.js | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/kubejs/server_scripts/tfg/food/recipes.food.js b/kubejs/server_scripts/tfg/food/recipes.food.js index a9cb67849..b982734fe 100644 --- a/kubejs/server_scripts/tfg/food/recipes.food.js +++ b/kubejs/server_scripts/tfg/food/recipes.food.js @@ -700,7 +700,7 @@ function registerTFGFoodRecipes(event) { //#region Pizza - global.processorRecipe(event, "pizza_no_extra", 600, GTValues.VHA[GTValues.MV], { + global.processorRecipe(event, "pizza_no_extra", 600, GTValues.VHA[GTValues.LV], { circuit: 3, itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese"], itemOutputs: ["firmalife:food/raw_pizza"], @@ -710,7 +710,7 @@ function registerTFGFoodRecipes(event) { ) }) - global.processorRecipe(event, "pizza_1_extra", 600, GTValues.VHA[GTValues.MV], { + global.processorRecipe(event, "pizza_1_extra", 600, GTValues.VHA[GTValues.LV], { circuit: 1, itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese", "#firmalife:foods/pizza_ingredients"], itemOutputs: ["firmalife:food/raw_pizza"], @@ -720,7 +720,7 @@ function registerTFGFoodRecipes(event) { ) }) - global.processorRecipe(event, "pizza_2_extra", 600, GTValues.VHA[GTValues.MV], { + global.processorRecipe(event, "pizza_2_extra", 600, GTValues.VHA[GTValues.LV], { circuit: 2, itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese", "2x #firmalife:foods/pizza_ingredients"], itemOutputs: ["firmalife:food/raw_pizza"], diff --git a/kubejs/startup_scripts/firmalife/constants.js b/kubejs/startup_scripts/firmalife/constants.js index 6708cf1c2..c0259e578 100644 --- a/kubejs/startup_scripts/firmalife/constants.js +++ b/kubejs/startup_scripts/firmalife/constants.js @@ -127,7 +127,6 @@ global.FIRMALIFE_COOKING_RECIPE_COMPONENTS = [ { input: 'firmalife:food/filled_pie', output: 'firmalife:food/cooked_pie', name: 'cooked_pie' }, { input: 'firmalife:food/cocoa_beans', output: 'firmalife:food/roasted_cocoa_beans', name: 'roasted_cocoa_beans' }, { input: 'firmalife:food/raw_pumpkin_pie', output: 'minecraft:pumpkin_pie', name: 'pumpkin_pie' }, - { input: 'tfc:food/soybean', output: 'firmalife:food/dehydrated_soybeans', name: 'dehydrated_soybeans' }, { input: 'firmalife:food/raw_lasagna', output: 'firmalife:food/cooked_lasagna', name: 'cooked_lasagna' }, { input: 'firmalife:food/bacon', output: 'firmalife:food/cooked_bacon', name: 'cooked_bacon' }, { input: '#firmalife:foods/slices', output: 'firmalife:food/toast', name: 'toast' } From 900bd06825aa747a1a2ea15d073cf3e5f51670c6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 8 Feb 2026 13:12:58 +0000 Subject: [PATCH 408/474] changelog --- CHANGELOG.md | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e55b8a33..5f0340a6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,14 +1,33 @@ # Changelog ## Unreleased +### Breaking changes +If you missed it, [0.11.19](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/releases/tag/0.11.19) and [0.11.20](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/releases/tag/0.11.20) were Alpha versions with many important breaking changes. Be sure to read their changelogs as well! +- Greate Encased Fans now work differently. Water (or distilled water) needs to be pumped into the encased fan itself, instead of having a source block in front. Items also must be on a Depot or Belt in order to be washed, instead of the floor. Processing time decreases with fan RPM. Regular water produces fewer byproducts than distilled water. ### Changes - Added artisan table recipes for all pipe mold sizes (#2983) @Redeix -- Added optional chimes compat. (#2973) @TreyR9 - +- Added optional [Chimes](https://www.curseforge.com/minecraft/mc-mods/chimes) compat. (#2973) @TreyR9 +- You can now pick up foxes @Pyritie +- Added glass batch to glass vial extruder recipe (#2999) @Inceitious +- Added a new Face curios slot for Create's Goggles and the Face Mask (#2992) @Bumperdo09 +- Added more recycling recipes for wood related items (#2986) @Redeix +- Added soybean + sea water to soy mixture recipe (#2984) @Redeix ### Bug fixes - Fixed incorrect mechanical mixer recipes for weak and regular colored steel dust (#2977) @Pyritie - Fixed cobble breaking into two cobble blocks (#2980) @Pyritie +- Fixed a recycling dupe with maintenance hatches (#3003) @Pyritie +- Fixed warped and crimson lamella giving the wrong saplings (#2990) @Pyritie +- Fixed recipe conflict with soybeans (#2988) @Pyritie +- Fixed TFC pure fertilisers to GT fertiliser recipe amounts being reversed (#2985) @Coox1e +- Fixed pandas not dropping meat @Pyritie +- Fixed plutonium ores existing @Pyritie +- Fixed names of non-TFC materials in ingot piles @Ujhik ### Translation updates +- Ukranian @MetEnBouldry +- German @Enderderschander +- Russian @Nixieeunrare + @Petr211071 +- Chinese (simplified) @jmecn +- Spanish @NikoNeko17 ## [0.11.20] - 04-02-2026 ### Changes From a0aee6915fdec05af84726d2670645a9b8d2bf27 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 8 Feb 2026 13:15:51 +0000 Subject: [PATCH 409/474] langs, ores field guide --- kubejs/assets/ad_astra/lang/uk_ua.json | 2 +- .../assets/createstockbridge/lang/uk_ua.json | 16 + kubejs/assets/gtceu/lang/ru_ru.json | 1 + kubejs/assets/gtceu/lang/uk_ua.json | 121 +- kubejs/assets/gtceu/lang/zh_cn.json | 27 +- kubejs/assets/minecraft/lang/uk_ua.json | 4 +- kubejs/assets/tfc/lang/uk_ua.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 57 + .../entries/tfg_ores/earth_vein_index.json | 4057 +++++++++++++++++ .../entries/tfg_ores/mars_ore_index.json | 47 + .../entries/tfg_ores/mars_vein_index.json | 2513 ++++++++++ .../entries/tfg_ores/moon_ore_index.json | 47 + .../entries/tfg_ores/moon_vein_index.json | 2521 ++++++++++ .../entries/tfg_ores/nether_ore_index.json | 52 + .../entries/tfg_ores/nether_vein_index.json | 2857 ++++++++++++ .../entries/tfg_ores/venus_ore_index.json | 22 + .../entries/tfg_ores/venus_vein_index.json | 181 + .../entries/tfg_ores/earth_vein_index.json | 2 +- .../entries/tfg_ores/venus_vein_index.json | 140 +- kubejs/assets/tfcscraping/lang/zh_cn.json | 24 + kubejs/assets/tfg/lang/de_de.json | 1998 ++++++++ kubejs/assets/tfg/lang/en_us.json | 4 +- kubejs/assets/tfg/lang/ru_ru.json | 116 +- kubejs/assets/tfg/lang/uk_ua.json | 462 +- kubejs/assets/tfg/lang/zh_cn.json | 178 +- .../assets/wan_ancient_beasts/lang/uk_ua.json | 34 +- kubejs/assets/xaeroworldmap/lang/uk_ua.json | 297 ++ 27 files changed, 15458 insertions(+), 324 deletions(-) create mode 100644 kubejs/assets/createstockbridge/lang/uk_ua.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/earth_ore_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/earth_vein_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/mars_ore_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/mars_vein_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/moon_ore_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/moon_vein_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/nether_ore_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/nether_vein_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/venus_ore_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/venus_vein_index.json create mode 100644 kubejs/assets/tfcscraping/lang/zh_cn.json create mode 100644 kubejs/assets/tfg/lang/de_de.json create mode 100644 kubejs/assets/xaeroworldmap/lang/uk_ua.json diff --git a/kubejs/assets/ad_astra/lang/uk_ua.json b/kubejs/assets/ad_astra/lang/uk_ua.json index 3f1402c1b..4dd4fb463 100644 --- a/kubejs/assets/ad_astra/lang/uk_ua.json +++ b/kubejs/assets/ad_astra/lang/uk_ua.json @@ -2,7 +2,7 @@ "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.ad_astra.oxygen_distributor": "Розподілювач повітря", "block.ad_astra.infernal_spire_block": "Пекельний шпиль", - "block.ad_astra.moon_sand": "Місячний пісок", + "block.ad_astra.moon_sand": "Сірий пісок", "block.ad_astra.moon_stone": "Необроблений Анортозит", "block.ad_astra.moon_cobblestone": "Анортоцитовий кругляк", "block.ad_astra.moon_cobblestone_slab": "Анортоцитова круглякова плита", diff --git a/kubejs/assets/createstockbridge/lang/uk_ua.json b/kubejs/assets/createstockbridge/lang/uk_ua.json new file mode 100644 index 000000000..c7ba31560 --- /dev/null +++ b/kubejs/assets/createstockbridge/lang/uk_ua.json @@ -0,0 +1,16 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.createstockbridge.ae_bridge": "Місток запасів AE", + "gui.createstockbridge.address": "Адреса пакета:", + "gui.stockbridge.remote_items": "Створити предмети системи запасів", + "tooltip.stockbridge.remote_item": "Предмет у віддаленій системі", + "item.createstockbridge.request_pattern": "Запит шаблону", + "createstockbridge.ponder.ae_stockbridge.header": "Підключення Місток запасів до AE", + "createstockbridge.ponder.ae_stockbridge.text_1": "Місток запасів AE з’єднує систему запаси Create з AE", + "createstockbridge.ponder.ae_stockbridge.text_2": "Пкм, щоб прив’язати до мережі запасів перед розміщенням", + "createstockbridge.ponder.ae_stockbridge.text_3": "Встановіть адресу Місток запасів AE так, щоб вона збігалася з адресою жабопорта", + "createstockbridge.ponder.ae_stockbridge.text_4": "AE", + "createstockbridge.ponder.ae_stockbridge.text_5": "AE", + "createstockbridge.ponder.ae_stockbridge.text_6": "AE може запитувати предмети через «створення»", + "createstockbridge.ponder.ae_stockbridge.text_7": "Create може запитувати збережені предмети з AE" +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/lang/ru_ru.json b/kubejs/assets/gtceu/lang/ru_ru.json index 011cd3904..ee692932d 100644 --- a/kubejs/assets/gtceu/lang/ru_ru.json +++ b/kubejs/assets/gtceu/lang/ru_ru.json @@ -260,6 +260,7 @@ "gtceu.tooltip.machine.ostrum_harvester_3": "§7Для работы требуется буровой раствор.§r", "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7Бозон Хиггса в сделку не входил.§r", "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7Разлагает пыль Острума на составляющие. Требует различных жидкостей из ядерной линии.§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_3": "§7Не поддерживает ускорение, используйте §eТепло§r§7 и §eТемпературу§r§7 из соседних §bТепловых батарей§r§7 для работы.§r", "gtceu.tooltip.machine.heat_exchanger_1": "§7Нагревание жидкостей с другими горячими жидкостями§r", "gtceu.tooltip.machine.heat_exchanger_2": "§7Передает тепло от одной жидкости к другой.§r", "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7Производство особо опасных стержней§r", diff --git a/kubejs/assets/gtceu/lang/uk_ua.json b/kubejs/assets/gtceu/lang/uk_ua.json index 7a886c648..79d7076ae 100644 --- a/kubejs/assets/gtceu/lang/uk_ua.json +++ b/kubejs/assets/gtceu/lang/uk_ua.json @@ -1,15 +1,16 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.bud_indicator": "%s Поверхнева Друза", + "block.gtceu.salt_block": "Блок солі", "block.gtceu.greenhouse": "Теплиця", "block.tfg.steam_bloomery": "Паровий Горн", "block.tfg.steam_thermal_centrifuge": "Парова термічна центрифуга", "block.tfg.steam_fuser": "Паровий сплавлювач", "block.tfg.steam_squasher": "Паровий сплющувач", "block.tfg.steam_presser": "Паровий прес", - "block.gtceu.large_solar_panel": "§9Велика сонячна панель MK I", - "block.gtceu.large_solar_panel_tier2": "§bВелика сонячна панель MK II", - "block.gtceu.large_solar_panel_tier3": "§cВелика сонячна панель MK III", + "block.gtceu.large_solar_panel": "§9Великий сонячний масив MK I", + "block.gtceu.large_solar_panel_tier2": "§bВеликий сонячний масив MK II", + "block.gtceu.large_solar_panel_tier3": "§cВеликий сонячний масив MK III", "block.gtceu.gas_pressurizer": "Газовий пресуризатор", "block.gtceu.nuclear_fuel_factory": "Фабрика ядерного палива", "block.gtceu.heat_exchanger": "Теплообмінник", @@ -17,15 +18,12 @@ "block.gtceu.evaporation_tower": "Випарна камера", "block.gtceu.ostrum_harvester": "Збирач Острому", "block.gtceu.moon_dust_harvester": "Збирач Місячного Пилу", - "block.tfg.ostrum_linear_accelerator": "Лінійний Прискорювач з Оструму", + "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": "Базова герметична оболонка", "block.gtceu.hv_energy_output_hatch_4a": "§6HV 4A люк динамо§r", - "block.tfg.bioreactor": "Біореактор", - "block.tfg.growth_chamber": "Камера росту", - "block.tfg.single_itemstack_bus": "Обмежувальна вхідна шина", "block.gtceu.red_granite_cobblestone": "Червоний гранітний кругляк", "block.gtceu.mossy_red_granite_cobblestone": "Моховитий червоний гранітний кругляк", "block.gtceu.copper_crate": "Мідний Ящик", @@ -36,47 +34,17 @@ "block.gtceu.bismuth_bronze_drum": "Бочка з Вісмутової Бронзи", "block.gtceu.overworld_marker": "Земля", "block.gtceu.the_nether_marker": "Безодня", + "block.tfg.bioreactor": "Біореактор", + "block.tfg.growth_chamber": "Камера росту", + "block.tfg.single_itemstack_bus": "Обмежувальна вхідна шина", "block.tfg.hydroponics_facility": "Гідропонічний комплекс", "block.tfg.pisciculture_fishery": "Рибна ферма", - "gtceu.greenhouse": "Електрична теплиця", - "gtceu.steam_bloomery": "Парова Сиродутна Піч", - "gtceu.food_oven": "Духова піч", - "gtceu.food_processor": "Кухонний комбайн", - "gtceu.large_solar_panel": "Велика сонячна панель MK I", - "gtceu.large_solar_panel_tier2": "Велика сонячна панель MK II", - "gtceu.large_solar_panel_tier3": "Велика сонячна панель MK III", - "gtceu.gas_pressurizer": "Газовий пресуризатор", - "gtceu.nuclear_fuel_factory": "Фабрика ядерного палива", - "gtceu.nuclear_turbine": "Ядерна парова турбіна", - "gtceu.heat_exchanger": "Теплообмінник", - "gtceu.fission_reactor": "Реактор ядерного поділу", - "gtceu.evaporation_tower": "Випарна камера", - "gtceu.ostrum_harvester": "Збирач Острому", - "gtceu.moon_dust_harvester": "Збирач Місячного Пилу", - "gtceu.ostrum_linear_accelerator": "Лінійний Прискорювач з Оструму", - "gtceu.bioreactor": "Біореактор", - "gtceu.growth_chamber": "Камера росту", - "gtceu.coal_liquefaction_tower": "Вежа зрідження", - "gtceu.smr_generator": "Мала модульна турбіна", - "gtceu.hydroponics_facility": "Гідропонічний комплекс", - "gtceu.pisciculture_fishery": "Рибна ферма", - "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_3": "§7Потребує бурової рідини для роботи.§r", - "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7Бозон Хіггса не входить у комплект§r", - "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7Розкладає острумовий пил на його компоненти. Потребує різні рідини з лінії поділу.§r", - "gtceu.tooltip.machine.heat_exchanger_1": "§7Нагрівання рідин іншими гарячими рідинами§r", - "gtceu.tooltip.machine.heat_exchanger_2": "§7Передає тепло від однієї рідини до іншої.§r", - "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7Виробляє додатково пікантні стрижні§r", - "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7Переробляє необроблений радіоактивний матеріал у подільне паливо.§r", - "gtceu.tooltip.machine.steam_bloomery_1": "§7Покращуйте свою домницю силою пари!§r", - "gtceu.tooltip.machine.steam_bloomery_2": "§7Переробляє пил або злитки, що містять залізо, у необроблені залізні криці.§r", - "gtceu.tooltip.machine.steam_bloomery_3": "§7Використання коксу або антрациту як пального подвоїть продуктивність.§r", - "gtceu.tooltip.machine.steam_parallel": "§7Може обробляти до 8 рецептів одночасно, що змінює кількість необхідної пари.§r", - "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Фруктовий міксер§r", - "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Видобуває гази та рідини з вуглецевих твердих речовин§r", + "block.gtceu.ev_1024a_laser_source_hatch": "§5EV§r 1,024§eA§r Люк джерела лазера", + "block.gtceu.ev_1024a_laser_target_hatch": "§5EV§r 1,024§eA§r Люк приймача лазера", + "block.gtceu.ev_256a_laser_source_hatch": "§5EV§r 256§eA§r Люк джерела лазера", + "block.gtceu.ev_256a_laser_target_hatch": "§5EV§r 256§eA§r Люк приймача лазера", + "block.gtceu.ev_4096a_laser_source_hatch": "§5EV§r 4,096§eA§r Люк джерела лазера", + "block.gtceu.ev_4096a_laser_target_hatch": "§5EV§r 4,096§eA§r Люк приймача лазера", "item.gtceu.tiny_wood_dust": "Маленька купа хвойної целюлози", "item.gtceu.small_wood_dust": "Мала купа хвойної целюлози", "item.gtceu.wood_dust": "Хвойна целюлоза", @@ -130,11 +98,22 @@ "item.gtceu.naquadah_credit": "§7262,144 Кредитів", "item.gtceu.neutronium_credit": "§72,097,152 Кредити", "item.gtceu.wood_plate": "ДВП середньої щільності", + "item.gtceu.salt_dust": "Сіль", + "item.gtceu.small_salt_dust": "Мала купка солі", + "item.gtceu.tiny_salt_dust": "Крихітна купка солі", + "item.gtceu.chipped_salt_gem": "Уламок кристалу солі", + "item.gtceu.flawed_salt_gem": "Дефектний кристал солі", + "item.gtceu.salt_gem": "Кристал солі", + "item.gtceu.exquisite_salt_gem": "Вишуканий кристал солі", + "item.gtceu.flawless_salt_gem": "Бездоганний кристал солі", "material.gtceu.ice": "Крижана каша", "material.gtceu.damascus_steel": "Свиняча сталь", "material.gtceu.air": "Повітря Землі", "material.gtceu.liquid_air": "Рідке повітря Землі", "material.gtceu.cooperite": "Куперит", + "material.gtceu.rock_salt": "Сильвін", + "material.gtceu.salt": "Галіт", + "material.gtceu.quartzite": "Кварц", "material.gtceu.armalcolite": "Армалколіт", "material.gtceu.desh": "Деш", "material.gtceu.ostrum": "Острум", @@ -142,6 +121,7 @@ "material.tfg.etrium": "Етріум", "material.gtceu.tarkianite": "Таркіаніт", "material.gtceu.thorium": "Торіаніт", + "material.gtceu.dimethylbenzene": "Ксилол", "material.gtceu.aluminium_silicate": "Алюмосилікат", "material.gtceu.rocket_alloy_t1": "Алюміносталевий ракетний сплав R-класу", "material.gtceu.rocket_alloy_t2": "Ракетний титановий сплав ASM 4914", @@ -182,7 +162,7 @@ "material.gtceu.tetrafluoroberyllate": "Тетрафтороберилат", "material.gtceu.thorium_230": "Торій 230", "material.gtceu.thorium_232": "Торій 232", - "material.gtceu.tbu-232_pellet": "Гранула TBU 232", + "material.gtceu.tbu-232_pellet": "Гранула ТУР 232", "material.gtceu.plutonium_pellet": "Плутонієва гранула", "material.gtceu.uranium_pellet": "Уранова гранула", "material.gtceu.thorium_pellet": "Торієва гранула", @@ -216,6 +196,31 @@ "block.gtceu.wire_coil.tooltip_cracking": "§8Установка крекінгу, місячний та острумний збирачі:§r", "tooltip.moldraw.shift_view_molecule": "§7§oУтримуй (Shift), щоб побачити молекулярну структуру§r", "tooltip.moldraw.shift_view_alloy": "§7§oУтримуй (Shift), щоб побачити склад сплаву§r", + "gtceu.medical_condition.antidote.description.effect_removed": "Знімає %s%% ефектів наведених вище станів", + "gtceu.medical_condition.antidote.description.effect_removed.all": "Знімає всі ефекти наведених вище станів", + "gtceu.greenhouse": "Електрична теплиця", + "gtceu.steam_bloomery": "Паровий Горн", + "gtceu.food_oven": "Духова піч", + "gtceu.food_processor": "Харчовий процесор", + "gtceu.large_solar_panel": "Великий сонячний масив MK I", + "gtceu.large_solar_panel_tier2": "Великий сонячний масив MK II", + "gtceu.large_solar_panel_tier3": "Великий сонячний масив MK III", + "gtceu.gas_pressurizer": "Газовий пресуризатор", + "gtceu.nuclear_fuel_factory": "Фабрика ядерного палива", + "gtceu.nuclear_turbine": "Ядерна парова турбіна", + "gtceu.cooling_tower": "Ядерна градирня", + "gtceu.heat_exchanger": "Теплообмінник", + "gtceu.fission_reactor": "Реактор ядерного поділу", + "gtceu.evaporation_tower": "Випарна камера", + "gtceu.ostrum_harvester": "Збирач Острому", + "gtceu.moon_dust_harvester": "Збирач Місячного Пилу", + "gtceu.ostrum_linear_accelerator": "Острумієвий Лінійний Прискорювач", + "gtceu.bioreactor": "Біореактор", + "gtceu.growth_chamber": "Камера росту", + "gtceu.coal_liquefaction_tower": "Вежа зрідження", + "gtceu.smr_generator": "Мала модульна турбіна", + "gtceu.hydroponics_facility": "Гідропонічний комплекс", + "gtceu.pisciculture_fishery": "Рибна ферма", "tagprefix.sword_head": "%s Лезо меча", "tagprefix.pickaxe_head": "%s Лезо кайла", "tagprefix.shovel_head": "%s Лезо лопати", @@ -251,5 +256,25 @@ "tagprefix.marble": "Мармурова %s руда", "tagprefix.deepslate": "Мігматитова %s руда", "tagprefix.pyroxenite": "Піроксенітова %s руда", - "tagprefix.dripstone": "Травертинова %s руда" + "tagprefix.dripstone": "Травертинова %s руда", + "tagprefix.sandy_jadestone": "%s руда лампроїту", + "tagprefix.flavolite": "%s руда ігнімбриту", + "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_3": "§7Потребує бурової рідини для роботи.§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7Бозон Хіггса не входить у комплект§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7Розкладає острумовий пил на його компоненти. Потребує різні рідини з лінії поділу.§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_3": "§7Не можна розганяти, використовуйте §eТепло§r§7 та §eТемпературу§r§7 від сусідньої §bТеплової батареї§r§7 для роботи.§r", + "gtceu.tooltip.machine.heat_exchanger_1": "§7Нагрівання рідин іншими гарячими рідинами§r", + "gtceu.tooltip.machine.heat_exchanger_2": "§7Передає тепло від однієї рідини до іншої.§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7Виробляє додатково пікантні стрижні§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7Переробляє необроблений радіоактивний матеріал у подільне паливо.§r", + "gtceu.tooltip.machine.steam_bloomery_1": "§7Покращуйте свою домницю силою пари!§r", + "gtceu.tooltip.machine.steam_bloomery_2": "§7Переробляє пил або злитки, що містять залізо, у необроблені залізні криці.§r", + "gtceu.tooltip.machine.steam_bloomery_3": "§7Використання коксу або антрациту як пального подвоїть продуктивність.§r", + "gtceu.tooltip.machine.steam_parallel": "§7Може обробляти до 8 рецептів одночасно, що змінює кількість необхідної пари.§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Фруктовий міксер§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Видобуває гази та рідини з вуглецевих твердих речовин§r" } \ No newline at end of file diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index 61fd14ab4..984c3a9dd 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -39,6 +39,12 @@ "block.tfg.single_itemstack_bus": "限速输入总线", "block.tfg.hydroponics_facility": "水培设施", "block.tfg.pisciculture_fishery": "水产养殖场", + "block.gtceu.ev_1024a_laser_source_hatch": "1024§e安§r§5EV§r激光源仓", + "block.gtceu.ev_1024a_laser_target_hatch": "1024§e安§r§aEV§r激光靶仓", + "block.gtceu.ev_256a_laser_source_hatch": "256§e安§r§5EV§r激光源仓", + "block.gtceu.ev_256a_laser_target_hatch": "256§e安§r§5EV§r激光靶仓", + "block.gtceu.ev_4096a_laser_source_hatch": "4096§e安§r§5EV§r激光源仓", + "block.gtceu.ev_4096a_laser_target_hatch": "4096§e安§r§5EV§r激光靶仓", "item.gtceu.tiny_wood_dust": "小撮软木浆", "item.gtceu.small_wood_dust": "小堆软木浆", "item.gtceu.wood_dust": "软木浆", @@ -126,22 +132,14 @@ "material.gtceu.hydrogen_iodide": "碘化氢", "material.gtceu.dense_steam": "高压蒸汽", "material.gtceu.radioactive_steam": "放射性蒸汽", - "material.gtceu.radioactive_waste": "放射性废料", + "material.gtceu.radioactive_waste": "钍废料", "material.gtceu.irradiated_steam": "辐照蒸汽", - "material.gtceu.heavy_water": "重水", "material.gtceu.uranium_waste": "铀废料", "material.gtceu.nuclear_waste": "核废料", "material.gtceu.dirty_hexafluorosilicic_acid": "粗制氟硅酸", "material.gtceu.martian_sludge": "火星浆液", "material.gtceu.dioxygen_difluoride": "二氟化二氧", "material.gtceu.tritiated_water": "氚化水", - "material.gtceu.raw_rich_brine": "粗制富集卤水", - "material.gtceu.hot_iodine_brine": "高温含碘卤水", - "material.gtceu.brominated_iodine_vapor": "溴化碘蒸气", - "material.gtceu.basic_bromine_exhaust": "基础溴废气", - "material.gtceu.dirty_flibe": "粗氟锂铍熔盐", - "material.gtceu.flibe": "氟锂铍熔盐", - "material.gtceu.hot_flibe": "高温氟锂铍熔盐", "material.gtceu.raw_brine": "粗制卤水", "material.gtceu.hot_brine": "高温卤水", "material.gtceu.hot_chlorinated_brominated_brine": "高温氯化溴卤水", @@ -164,6 +162,11 @@ "material.gtceu.americium": "镅-243", "material.gtceu.uranium": "铀-238", "material.gtceu.plutonium": "钚-239", + "material.gtceu.neptunium_237": "镎-237", + "material.gtceu.caesium_137": "铯-137", + "material.gtceu.americium_241": "镅-241", + "material.gtceu.californium_252": "锎-252", + "material.gtceu.boron_10": "硼-10", "material.gtceu.residual_radioactive_concoction": "放射性残液", "material.gtceu.regolith_vapor": "风化土蒸气", "material.gtceu.dense_ostrum_vapor": "致密紫金蒸气", @@ -202,6 +205,7 @@ "gtceu.gas_pressurizer": "气体加压器", "gtceu.nuclear_fuel_factory": "核燃料工厂", "gtceu.nuclear_turbine": "核能蒸汽涡轮", + "gtceu.cooling_tower": "核能冷却塔", "gtceu.heat_exchanger": "热交换器", "gtceu.fission_reactor": "裂变反应堆", "gtceu.evaporation_tower": "蒸发塔", @@ -211,7 +215,7 @@ "gtceu.bioreactor": "生物反应器", "gtceu.growth_chamber": "生长室", "gtceu.coal_liquefaction_tower": "液化塔", - "gtceu.smr_generator": "小型模块化涡轮", + "gtceu.smr_generator": "小型模块化涡轮机", "gtceu.hydroponics_facility": "水培设施", "gtceu.pisciculture_fishery": "水产养殖场", "tagprefix.sword_head": "%s剑身", @@ -250,6 +254,8 @@ "tagprefix.deepslate": "混合岩%s矿石", "tagprefix.pyroxenite": "辉石岩%s矿石", "tagprefix.dripstone": "石灰华%s矿石", + "tagprefix.sandy_jadestone": "煌斑岩%s矿石", + "tagprefix.flavolite": "熔灰岩%s矿石", "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", @@ -257,6 +263,7 @@ "gtceu.tooltip.machine.ostrum_harvester_3": "§7需要钻井液才能工作。§r", "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7不含希格斯玻色子§r", "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7将紫金矿粉分解为组分原料。需配合裂变产线多种流体。§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_3": "§7无法超频,需从相邻的§b储热单元§r§7获取§e热量§r§7与§e温度§r§7以运行。§r", "gtceu.tooltip.machine.heat_exchanger_1": "§7用高温流体加热其他流体§r", "gtceu.tooltip.machine.heat_exchanger_2": "§7实现流体间的热量传递§r", "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7超劲爆燃料棒制造厂§r", diff --git a/kubejs/assets/minecraft/lang/uk_ua.json b/kubejs/assets/minecraft/lang/uk_ua.json index 4f5037b27..e3766a21d 100644 --- a/kubejs/assets/minecraft/lang/uk_ua.json +++ b/kubejs/assets/minecraft/lang/uk_ua.json @@ -100,7 +100,9 @@ "item.minecraft.glow_ink_sac": "Світний барвник", "item.minecraft.nether_brick": "Кератофірова цегла", "item.minecraft.furnace_minecart": "Вагонетка з котлом", + "item.minecraft.milk_bucket": "Відро коров’ячого молока", "material.tfg.dripstone": "Травертин", "death.attack.magic": "%1$s був убитий смертельною отрутою", - "death.attack.magic.player": "%1$s був убитий смертельною отрутою, намагаючись утекти від %2$s" + "death.attack.magic.player": "%1$s був убитий смертельною отрутою, намагаючись утекти від %2$s", + "effect.minecraft.dolphins_grace": "Швидкість плавання" } \ No newline at end of file diff --git a/kubejs/assets/tfc/lang/uk_ua.json b/kubejs/assets/tfc/lang/uk_ua.json index 52cd85bf3..50433b300 100644 --- a/kubejs/assets/tfc/lang/uk_ua.json +++ b/kubejs/assets/tfc/lang/uk_ua.json @@ -41,7 +41,7 @@ "trim_material.tfc.rutile_tfc": "Рутил", "trim_material.tfc.lazurite_tfc": "Лазурит", "trim_material.tfc.pyrope_tfc": "Піроп", - "trim_material.tfc.rock_salt_tfc": "Кам'яна Сіль", + "trim_material.tfc.rock_salt_tfc": "Сильвін", "trim_material.tfc.ruby_tfc": "Рубін", "trim_material.tfc.salt_tfc": "сіль", "trim_material.tfc.sapphire_tfc": "Сапфір", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/earth_ore_index.json new file mode 100644 index 000000000..657cc282b --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/earth_ore_index.json @@ -0,0 +1,57 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Erde Erzindex", + "icon": "tfc:ore/normal_native_copper", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "Dies ist der $(thing)Erzindex$() für $(thing)Erde$(). Alle Erze sind zuerst alphabetisch und danach von reichen nach armen Adertypen sortiert. Du kannst sie anklicken, um mehr über jede Ader zu erfahren.", + "title": "Erde Erzindex", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Almandin: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)Alunit: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)Amethyst: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)Apatit: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)Asbest: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)Baryt: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)Basaltischer Mineralsand: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)Bastnäsit: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)Bauxit: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Bentonit: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Beryllium: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Bismut: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Blautopas: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)Blei: $(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)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Bleicherde: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)Borax: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()$(li)Bornit: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)Chalkopyrit: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)Chalkosin: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Chromit: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)Cooperit: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Diamant: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)Elektrotin: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()$(li)Galenit: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Garnierit: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Gelber Granat: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Gelbes Limonit: $(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)Gips: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Glaukonitsand: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Glimmer: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Goethit: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Granatsand: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Granitischer Mineralsand: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Graphit: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)Grossular: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)Grüner Saphir: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)Halit: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Hematit: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Kalzit: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)Kassiterit: $(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)Kassiteritsand: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)35%$(/l)$()$(li)Kieselgur: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Kobalt: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)Kobaltit: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)Kohle: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)Kyanit: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Lapis: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lasurit: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lepidolith: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesit: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetit: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Malachit: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Molybdänit: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazit: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Natives Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Natives Kupfer: $(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)Natives Silber: $(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)Neodym: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Olivin: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Ölsand: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pechblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Pentlandit: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Platin: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucit: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellit: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrit: $(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)Pyrochlor: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Pyrolusit: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Pyrop: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)Quarz: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)Realgar: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Redstone: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)Roter Granat: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)Rubin: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/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)Saphir: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Scheelit: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)Schwefel: $(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)Smaragd: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Sodalith: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Speckstein: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Spessartin: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Sphalerit: $(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)Spodumen: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Stibnit: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Sylvin: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)Talk: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalit: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tarkianit: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Tetrahedrit: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorianit: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Topas: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalciumphosphat: $(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)Uranit: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Vanadium Magnetit: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Wolframat: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Wulfenit: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Zeolith: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Zinn: $(l:tfg_ores/earth_vein_index#normal_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)35%$(/l)$()$(li)Zinnober: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()", + "type": "patchouli:text" + } + ], + "sortnum": 0 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/earth_vein_index.json new file mode 100644 index 000000000..9dba1d7a7 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/earth_vein_index.json @@ -0,0 +1,4057 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Erde Aderindex", + "icon": "tfc:ore/normal_native_copper/chalk", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "Dies ist der $(thing)Erzindex$() für $(item)Erde$(). Jede Ader hat Details über Seltenheit, Dichte, Adertyp, gefundene Höhe, Größen, in welchen Gesteinen sie vorkommt und noch viel mehr.", + "title": "Erde Aderindex", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)Amethyst & Granat$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_apatite)Apatit & Pyrochlor$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_monazite)Bastnäsit & Monazit$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_olivine)Bentonit & Olivin$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_bismuthinite)Bismut (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_bismuthinite)Bismut (Oberfläche)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_copper)Chalkopyrit & Realgar$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_magnetite)Chromit & Magnetit$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Cooperit & Bornit$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_garnierite)Garnierit & Kobaltit$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gypsum)Gips & Kalzit$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_limonite)Goethit & Malachit$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_gold)Gold (Tief)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_gold)Gold, Limonit, & Hematit$()$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_garnet_tin)Granat & Kassiterit Sand$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_graphite)Graphit & Diamant$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_hematite)Hematit & Limonit$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)Hematit, Goethit, & Rubin$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_cassiterite)Kassiterit (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_cassiterite)Kassiterit (Oberfläche)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_coal)Kohle$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_copper)Kupfer & Chalkopyrit$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_mica)Kyanit, Glimmer, & Bauxit$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lapis)Lapis, Lasurit, & Sodalith$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_limonite)Limonit$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_magnetite)Magnetit & Vanadium$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_manganese)Mangan & Tantal$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_basaltic_sands)Mineralsand$()$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_oilsands)Ölsand$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_garnet_opal)Opal & Granat$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_quartz)Quarz$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_redstone)Redstone, Zinnober, & Rubin$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)Saltpeter & Electrotin$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_salt)Salze & Borax$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sapphire)Saphir & Almandin$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Scheelit & Wolframate$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Schwefel & Pyrit$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_silver)Silber, Galenit, & Blei$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_beryllium)Smaragd & Beryllium$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_lubricant)Speckstein, Talk, & Trona$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_sphalerite)Sphalerit & Pyrit$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)Sphalerit & Schwefel$()$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_spodumene)Spodumen & Lepidolith$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tarkianite)Tarkianit & Ölsand$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Tetraedrit (Oberfläche)$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_tetrahedrite)Tetrahedrit (Normal)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Topas & Chalkosin$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_pitchblende)Uraninit & Pechblende$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_molybdenum)Wulfenit & Molybdänit$()$()$(li)$(l:tfg_ores/earth_vein_index#desert_oilsands)Wüsten Ölsand$()$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/230 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -64 — 26$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)Höhe$(): 8$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Dolomit, Gneis, Hornstein, Kalk, Kalkstein, Konglomerat, Kristallschiefer, Marmor, Phyllit, Quarzit, Schieferstein, Tonschiefer, Tonstein", + "title": "Amethyst & Granat", + "type": "patchouli:text", + "anchor": "deep_garnet_amethyst" + }, + { + "Type": "patchouli:multiblock", + "name": "Amethyst", + "multiblock": { + "mapping": { + "0": "#forge:ores/amethyst" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 65%$(br)$(thing)Quelle von$(): Eisen$(br)$(thing)Formel$(): (SiO₂)₄Fe", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Gelber Granat", + "multiblock": { + "mapping": { + "0": "#forge:ores/yellow_garnet" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Andradit, Grossular, Uwarowit", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Opal", + "multiblock": { + "mapping": { + "0": "#forge:ores/opal" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Silicium, Sauerstoff$(br)$(thing)Formel$(): (SiO₂)", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Roter Granat", + "multiblock": { + "mapping": { + "0": "#forge:ores/red_garnet" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Quelle von$(): Pyrop, Almandin, Spessartin", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/170 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 20 — 120$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 34$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Marmor, Phyllit, Quarzit, Tonschiefer", + "title": "Apatit & Pyrochlor", + "type": "patchouli:text", + "anchor": "normal_apatite" + }, + { + "Type": "patchouli:multiblock", + "name": "Apatit", + "multiblock": { + "mapping": { + "0": "#forge:ores/apatite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 50%$(br)$(thing)Quelle von$(): Calcium, Phosphor, Wald-PTSD$(br)$(thing)Formel$(): Ca₅(PO₄)₃Cl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Tricalciumphosphat", + "multiblock": { + "mapping": { + "0": "#forge:ores/tricalcium_phosphate" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Calcium, Phosphor$(br)$(thing)Formel$(): Ca₃(PO₄)₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrochlor", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrochlore" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Niob$(br)$(thing)Formel$(): Ca₂Nb₂O₇", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/205 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 50$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 35$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Granit", + "title": "Bastnäsit & Monazit", + "type": "patchouli:text", + "anchor": "normal_monazite" + }, + { + "Type": "patchouli:multiblock", + "name": "Bastnäsit", + "multiblock": { + "mapping": { + "0": "#forge:ores/bastnasite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 62%$(br)$(thing)Quelle von$(): Cer, Fluor$(br)$(thing)Formel$(): CeCFO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Monazit", + "multiblock": { + "mapping": { + "0": "#forge:ores/monazite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 31%$(br)$(thing)Quelle von$(): Phosphor, Seltene Erden$(br)$(thing)Formel$(): ?(PO₄)", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Neodym", + "multiblock": { + "mapping": { + "0": "#forge:ores/neodymium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 6%$(br)$(thing)Quelle von$(): Neodym$(br)$(thing)Formel$(): Nd", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/180 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -40 — 30$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 26$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Diorit, Gabbro, Granit, Rhyolith", + "title": "Bentonit & Olivin", + "type": "patchouli:text", + "anchor": "normal_olivine" + }, + { + "Type": "patchouli:multiblock", + "name": "Bentonit", + "multiblock": { + "mapping": { + "0": "#forge:ores/bentonite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Natrium, Magnesium$(br)$(thing)Formel$(): NaMg₆Si₁₂H₄(H₂O)₅O₃₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Magnesit", + "multiblock": { + "mapping": { + "0": "#forge:ores/magnesite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Magnesium$(br)$(thing)Formel$(): MgCO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Olivin", + "multiblock": { + "mapping": { + "0": "#forge:ores/olivine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Magnesium, Eisen$(br)$(thing)Formel$(): Mg₂Fe(SiO₂)₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Glaukonitsand", + "multiblock": { + "mapping": { + "0": "#forge:ores/glauconite_sand" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Magnesium, Aluminium$(br)$(thing)Formel$(): KMg₂Al₄H₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/170 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Diorit, Dolomit, Gabbro, Granit, Hornstein, Kalk, Kalkstein, Konglomerat, Schieferstein, Tonstein", + "title": "Bismut (Normal)", + "type": "patchouli:text", + "anchor": "normal_bismuthinite" + }, + { + "Type": "patchouli:multiblock", + "name": "Bismut", + "multiblock": { + "mapping": { + "0": "#forge:ores/bismuth" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 70%$(br)$(thing)Quelle von$(): Bismut$(br)$(thing)Formel$(): Bi", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Blei", + "multiblock": { + "mapping": { + "0": "#forge:ores/lead" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 11%$(br)$(thing)Schmelzt in$(): Blei$(br)$(thing)Formel$(): Pb$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Leicht Giftig (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Silber", + "multiblock": { + "mapping": { + "0": "#forge:ores/silver" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Schmelzt in$(): Silber$(br)$(thing)Formel$(): Ag", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Schwefel", + "multiblock": { + "mapping": { + "0": "#forge:ores/sulfur" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 9%$(br)$(thing)Quelle von$(): Schwefel$(br)$(thing)Formel$(): S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/140 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 60 — 210$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 50$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Diorit, Dolomit, Gabbro, Granit, Hornstein, Kalk, Kalkstein, Konglomerat, Schieferstein, Tonstein", + "title": "Bismut (Oberfläche)", + "type": "patchouli:text", + "anchor": "surface_bismuthinite" + }, + { + "Type": "patchouli:multiblock", + "name": "Bismut", + "multiblock": { + "mapping": { + "0": "#forge:ores/bismuth" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 80%$(br)$(thing)Quelle von$(): Bismut$(br)$(thing)Formel$(): Bi", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Silber", + "multiblock": { + "mapping": { + "0": "#forge:ores/silver" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Schmelzt in$(): Silber$(br)$(thing)Formel$(): Ag", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Blei", + "multiblock": { + "mapping": { + "0": "#forge:ores/lead" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 7%$(br)$(thing)Schmelzt in$(): Blei$(br)$(thing)Formel$(): Pb$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Leicht Giftig (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Schwefel", + "multiblock": { + "mapping": { + "0": "#forge:ores/sulfur" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 3%$(br)$(thing)Quelle von$(): Schwefel$(br)$(thing)Formel$(): S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/200 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 20 — 217$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 50$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Rhyolith", + "title": "Chalkopyrit & Realgar", + "type": "patchouli:text", + "anchor": "surface_copper" + }, + { + "Type": "patchouli:multiblock", + "name": "Chalkopyrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/chalcopyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 61%$(br)$(thing)Quelle von$(): Kupfer$(br)$(thing)Formel$(): CuFeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Zeolith", + "multiblock": { + "mapping": { + "0": "#forge:ores/zeolite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 16%$(br)$(thing)Quelle von$(): Aluminium, Sauerstoff$(br)$(thing)Formel$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Realgar", + "multiblock": { + "mapping": { + "0": "#forge:ores/realgar" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 16%$(br)$(thing)Quelle von$(): Arsen$(br)$(thing)Formel$(): As₄S₄$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Arsenikose (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kassiterit", + "multiblock": { + "mapping": { + "0": "#forge:ores/cassiterite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Quelle von$(): Zinn$(br)$(thing)Formel$(): SnO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/225 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 20$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Dolomit, Hornstein, Kalk, Kalkstein, Konglomerat, Marmor, Schieferstein, Tonstein", + "title": "Chromit & Magnetit", + "type": "patchouli:text", + "anchor": "deep_magnetite" + }, + { + "Type": "patchouli:multiblock", + "name": "Chromit", + "multiblock": { + "mapping": { + "0": "#forge:ores/chromite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 33%$(br)$(thing)Quelle von$(): Chrom$(br)$(thing)Formel$(): FeCr₂O₄$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Gummihandschuhe)Reizend (Hautkontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Vanadium Magnetit", + "multiblock": { + "mapping": { + "0": "#forge:ores/vanadium_magnetite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Eisen, Vanadium$(br)$(thing)Formel$(): (Fe₃O₄)V", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Gold", + "multiblock": { + "mapping": { + "0": "#forge:ores/gold" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Schmelzt in$(): Gold$(br)$(thing)Formel$(): Au", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Magnetit", + "multiblock": { + "mapping": { + "0": "#forge:ores/magnetite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 8%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₃O₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Saphir", + "multiblock": { + "mapping": { + "0": "#forge:ores/sapphire" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 8%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/320 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -64 — 0$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 30$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Gneis, Kristallschiefer, Marmor, Phyllit, Quarzit, Tonschiefer", + "title": "Cooperit & Bornit", + "type": "patchouli:text", + "anchor": "deep_sheldonite" + }, + { + "Type": "patchouli:multiblock", + "name": "Bornit", + "multiblock": { + "mapping": { + "0": "#forge:ores/bornite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 53%$(br)$(thing)Quelle von$(): Kupfer$(br)$(thing)Formel$(): Cu₅FeS₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Cooperit", + "multiblock": { + "mapping": { + "0": "#forge:ores/cooperite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 38%$(br)$(thing)Quelle von$(): Platin, Nickel, Palladium$(br)$(thing)Formel$(): Pt₃NiSPd", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Platin", + "multiblock": { + "mapping": { + "0": "#forge:ores/platinum" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 7%$(br)$(thing)Schmelzt in$(): Platin$(br)$(thing)Formel$(): Pt", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/160 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 70$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro$(br2)Kannst es nicht finden? Gabbro erscheint immer unter $(thing)Basalt$(), und Gabbrodeiche im Ozean können auch nützlich sein!", + "title": "Garnierit & Kobaltit", + "type": "patchouli:text", + "anchor": "normal_garnierite" + }, + { + "Type": "patchouli:multiblock", + "name": "Garnierit", + "multiblock": { + "mapping": { + "0": "#forge:ores/garnierite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): NiO", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pentlandit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pentlandite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): Ni₉S₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kobaltit", + "multiblock": { + "mapping": { + "0": "#forge:ores/cobaltite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Kobalt, Arsen$(br)$(thing)Formel$(): CoAsS$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Arsenikose (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kobalt", + "multiblock": { + "mapping": { + "0": "#forge:ores/cobalt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Kobalt$(br)$(thing)Formel$(): Co", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Nickel", + "multiblock": { + "mapping": { + "0": "#forge:ores/nickel" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): Ni", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/180 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)Höhe$(): 9$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Dolomit, Hornstein, Kalk, Kalkstein, Konglomerat, Schieferstein, Tonstein", + "title": "Gips & Kalzit", + "type": "patchouli:text", + "anchor": "normal_gypsum" + }, + { + "Type": "patchouli:multiblock", + "name": "Gips", + "multiblock": { + "mapping": { + "0": "#forge:ores/gypsum" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Verwendet für$(): (färbbare) Alabasterziegel$(br)$(thing)Formel$(): CaS(H₂O)₂O₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kalzit", + "multiblock": { + "mapping": { + "0": "#forge:ores/calcite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Quelle von$(): Calcium$(br)$(thing)Formel$(): CaCO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Borax", + "multiblock": { + "mapping": { + "0": "#forge:ores/borax" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Natrium, Bor$(br)$(thing)Formel$(): Na₂B₄(H₂O)₁₀O₇", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Bleicherde", + "multiblock": { + "mapping": { + "0": "#forge:ores/fullers_earth" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Magnesium$(br)$(thing)Formel$(): MgSi₄H(H₂O)₄O₁₁", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/240 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 32$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Kalkstein, Marmor", + "title": "Goethit & Malachit", + "type": "patchouli:text", + "anchor": "deep_limonite" + }, + { + "Type": "patchouli:multiblock", + "name": "Goethit", + "multiblock": { + "mapping": { + "0": "#forge:ores/goethite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 50%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Malachit", + "multiblock": { + "mapping": { + "0": "#forge:ores/malachite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Schmelzt in$(): Kupfer$(br)$(thing)Formel$(): Cu₂CH₂O₅", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Gelbes Limonit", + "multiblock": { + "mapping": { + "0": "#forge:ores/yellow_limonite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/260 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 45%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 32$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Diorit, Gabbro, Granit, Rhyolith", + "title": "Gold (Tief)", + "type": "patchouli:text", + "anchor": "deep_gold" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Gold", + "multiblock": { + "mapping": { + "0": "#forge:ores/gold" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 75%$(br)$(thing)Schmelzt in$(): Gold$(br)$(thing)Formel$(): Au", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Goethit", + "multiblock": { + "mapping": { + "0": "#forge:ores/goethite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Gelbes Limonit", + "multiblock": { + "mapping": { + "0": "#forge:ores/yellow_limonite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/170 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)Höhe$(): 12$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Diorit, Gabbro, Granit, Rhyolith", + "title": "Gold, Limonit, & Hematit", + "type": "patchouli:text", + "anchor": "normal_gold" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Gold", + "multiblock": { + "mapping": { + "0": "#forge:ores/gold" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 55%$(br)$(thing)Schmelzt in$(): Gold$(br)$(thing)Formel$(): Au", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Gelbes Limonit", + "multiblock": { + "mapping": { + "0": "#forge:ores/yellow_limonite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Goethit", + "multiblock": { + "mapping": { + "0": "#forge:ores/goethite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/270 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -40 — 64$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Diorit, Dolomit, Gabbro, Gneis, Granit, Hornstein, Kalk, Kalkstein, Konglomerat, Kristallschiefer, Marmor, Phyllit, Quarzit, Rhyolith, Schieferstein, Tonschiefer, Tonstein", + "title": "Granat & Kassiterit Sand", + "type": "patchouli:text", + "anchor": "normal_garnet_tin" + }, + { + "Type": "patchouli:multiblock", + "name": "Kassiteritsand", + "multiblock": { + "mapping": { + "0": "#forge:ores/cassiterite_sand" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Schmelzt in$(): Zinn$(br)$(thing)Formel$(): SnO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Granatsand", + "multiblock": { + "mapping": { + "0": "#forge:ores/garnet_sand" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Almandin, Andradit, Grossular, Pyrop, Spessartin, Uwarowit", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Asbest", + "multiblock": { + "mapping": { + "0": "#forge:ores/asbestos" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Magnesium, Lungenkrebs$(br)$(thing)Formel$(): Mg₃Si₂H₄O₉$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Asbestose (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kieselgur", + "multiblock": { + "mapping": { + "0": "#forge:ores/diatomite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Eisen, Aluminium$(br)$(thing)Formel$(): (SiO₂)₈(Fe₂O₃)(Al₂O₃)", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/80 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -64 — -16$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 16$(br)$(thing)Höhe$(): 6$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Marmor, Phyllit, Quarzit, Rhyolith, Tonschiefer", + "title": "Graphit & Diamant", + "type": "patchouli:text", + "anchor": "normal_graphite" + }, + { + "Type": "patchouli:multiblock", + "name": "Graphit", + "multiblock": { + "mapping": { + "0": "#forge:ores/graphite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 45%$(br)$(thing)Verwendet für$(): $(l:mechanics/fire_clay)Schamotte$(), Graphen$(br)$(thing)Formel$(): C", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kohle", + "multiblock": { + "mapping": { + "0": "#forge:ores/coal" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Verwendet für$(): Treibstoff, Destillation$(br)$(thing)Formel$(): C", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Diamant", + "multiblock": { + "mapping": { + "0": "#forge:ores/diamond" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Verwendet für$(): Mazeratoren, AE2$(br)$(thing)Formel$(): C", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/210 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Rhyolith", + "title": "Hematit & Limonit", + "type": "patchouli:text", + "anchor": "normal_hematite" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 50%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Gelbes Limonit", + "multiblock": { + "mapping": { + "0": "#forge:ores/yellow_limonite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Goethit", + "multiblock": { + "mapping": { + "0": "#forge:ores/goethite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Gold", + "multiblock": { + "mapping": { + "0": "#forge:ores/gold" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Gold$(br)$(thing)Formel$(): Au", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/220 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 30$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Rhyolith", + "title": "Hematit, Goethit, & Rubin", + "type": "patchouli:text", + "anchor": "deep_hematite" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Goethit", + "multiblock": { + "mapping": { + "0": "#forge:ores/goethite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Rubin", + "multiblock": { + "mapping": { + "0": "#forge:ores/ruby" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Chrom, Aluminium$(br)$(thing)Formel$(): CrAl₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Gelbes Limonit", + "multiblock": { + "mapping": { + "0": "#forge:ores/yellow_limonite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Gold", + "multiblock": { + "mapping": { + "0": "#forge:ores/gold" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Gold$(br)$(thing)Formel$(): Au", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/170 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Granit", + "title": "Kassiterit (Normal)", + "type": "patchouli:text", + "anchor": "normal_cassiterite" + }, + { + "Type": "patchouli:multiblock", + "name": "Zinn", + "multiblock": { + "mapping": { + "0": "#forge:ores/tin" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 55%$(br)$(thing)Schmelzt in$(): Zinn$(br)$(thing)Formel$(): Sn", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kassiterit", + "multiblock": { + "mapping": { + "0": "#forge:ores/cassiterite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Zinn$(br)$(thing)Formel$(): SnO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Saltpeter", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Quelle von$(): Kalium, Stickstoff$(br)$(thing)Formel$(): KNO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/135 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 60 — 210$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 50$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Granit", + "title": "Kassiterit (Oberfläche)", + "type": "patchouli:text", + "anchor": "surface_cassiterite" + }, + { + "Type": "patchouli:multiblock", + "name": "Kassiterit", + "multiblock": { + "mapping": { + "0": "#forge:ores/cassiterite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 55%$(br)$(thing)Quelle von$(): Zinn$(br)$(thing)Formel$(): SnO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Zinn", + "multiblock": { + "mapping": { + "0": "#forge:ores/tin" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Schmelzt in$(): Zinn$(br)$(thing)Formel$(): Sn", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Saltpeter", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Quelle von$(): Kalium, Stickstoff$(br)$(thing)Formel$(): KNO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/215 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 55%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 210$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 60$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Dolomit, Hornstein, Kalk, Kalkstein, Konglomerat, Schieferstein, Tonstein", + "title": "Kohle", + "type": "patchouli:text", + "anchor": "normal_coal" + }, + { + "Type": "patchouli:multiblock", + "name": "Kohle", + "multiblock": { + "mapping": { + "0": "#forge:ores/coal" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 100%$(br)$(thing)Verwendet für$(): Treibstoff, Destillation$(br)$(thing)Formel$(): C", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/170 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 85$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Rhyolith", + "title": "Kupfer & Chalkopyrit", + "type": "patchouli:text", + "anchor": "normal_copper" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Kupfer", + "multiblock": { + "mapping": { + "0": "#forge:ores/copper" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 65%$(br)$(thing)Schmelzt in$(): Kupfer$(br)$(thing)Formel$(): Cu", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Chalkopyrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/chalcopyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Kupfer$(br)$(thing)Formel$(): CuFeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/190 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 210$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 36$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Marmor, Phyllit, Quarzit, Tonschiefer", + "title": "Kyanit, Glimmer, & Bauxit", + "type": "patchouli:text", + "anchor": "normal_mica" + }, + { + "Type": "patchouli:multiblock", + "name": "Kyanit", + "multiblock": { + "mapping": { + "0": "#forge:ores/kyanite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂SiO₅", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Glimmer", + "multiblock": { + "mapping": { + "0": "#forge:ores/mica" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Kalium, Aluminium, Fluor$(br)$(thing)Formel$(): KAl₃Si₃F₂O₁₀", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Bauxit", + "multiblock": { + "mapping": { + "0": "#forge:ores/bauxite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pollucit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pollucite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Cäsium, Aluminium$(br)$(thing)Formel$(): Cs₂Al₂Si₄(H₂O)₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/170 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -60 — 10$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Gneis, Kristallschiefer, Marmor, Phyllit, Quarzit, Tonschiefer", + "title": "Lapis, Lasurit, & Sodalith", + "type": "patchouli:text", + "anchor": "normal_lapis" + }, + { + "Type": "patchouli:multiblock", + "name": "Lasurit", + "multiblock": { + "mapping": { + "0": "#forge:ores/lazurite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Aluminium, Calcium, Natrium$(br)$(thing)Formel$(): Al₆Si₆Ca₈Na₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sodalith", + "multiblock": { + "mapping": { + "0": "#forge:ores/sodalite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Aluminium, Natrium$(br)$(thing)Formel$(): Al₃Si₃Na₄Cl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Lapis", + "multiblock": { + "mapping": { + "0": "#forge:ores/lapis" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Lasurit, Sodalith, Pyrit, Calcit", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kalzit", + "multiblock": { + "mapping": { + "0": "#forge:ores/calcite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Calcium$(br)$(thing)Formel$(): CaCO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/190 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Kalkstein, Marmor", + "title": "Limonit", + "type": "patchouli:text", + "anchor": "normal_limonite" + }, + { + "Type": "patchouli:multiblock", + "name": "Gelbes Limonit", + "multiblock": { + "mapping": { + "0": "#forge:ores/yellow_limonite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 50%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Goethit", + "multiblock": { + "mapping": { + "0": "#forge:ores/goethite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Malachit", + "multiblock": { + "mapping": { + "0": "#forge:ores/malachite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Kupfer$(br)$(thing)Formel$(): Cu₂CH₂O₅", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/200 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 30$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Dolomit, Hornstein, Kalk, Kalkstein, Konglomerat, Schieferstein, Tonstein", + "title": "Magnetit & Vanadium", + "type": "patchouli:text", + "anchor": "normal_magnetite" + }, + { + "Type": "patchouli:multiblock", + "name": "Magnetit", + "multiblock": { + "mapping": { + "0": "#forge:ores/magnetite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 63%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₃O₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Vanadium Magnetit", + "multiblock": { + "mapping": { + "0": "#forge:ores/vanadium_magnetite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 22%$(br)$(thing)Quelle von$(): Eisen, Vanadium$(br)$(thing)Formel$(): (Fe₃O₄)V", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Gold", + "multiblock": { + "mapping": { + "0": "#forge:ores/gold" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 9%$(br)$(thing)Schmelzt in$(): Gold$(br)$(thing)Formel$(): Au", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Chromit", + "multiblock": { + "mapping": { + "0": "#forge:ores/chromite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 4%$(br)$(thing)Quelle von$(): Chrom$(br)$(thing)Formel$(): FeCr₂O₄$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Gummihandschuhe)Reizend (Hautkontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/195 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 30$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Dolomit, Hornstein, Kalk, Kalkstein, Konglomerat, Rhyolith, Schieferstein, Tonstein", + "title": "Mangan & Tantal", + "type": "patchouli:text", + "anchor": "normal_manganese" + }, + { + "Type": "patchouli:multiblock", + "name": "Grossular", + "multiblock": { + "mapping": { + "0": "#forge:ores/grossular" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 37%$(br)$(thing)Quelle von$(): Calcium, Aluminium$(br)$(thing)Formel$(): Ca₃Al₂Si₃O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Spessartin", + "multiblock": { + "mapping": { + "0": "#forge:ores/spessartine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Mangan, Aluminium$(br)$(thing)Formel$(): Al₂Mn₃Si₃O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrolusit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrolusite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Mangan$(br)$(thing)Formel$(): MnO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Tantalit", + "multiblock": { + "mapping": { + "0": "#forge:ores/tantalite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 12%$(br)$(thing)Quelle von$(): Mangan, Tantal$(br)$(thing)Formel$(): MnTa₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/160 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 48$(br)$(thing)Höhe$(): 9$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Basalt, Granit", + "title": "Mineralsand", + "type": "patchouli:text", + "anchor": "normal_basaltic_sands" + }, + { + "Type": "patchouli:multiblock", + "name": "Basaltischer Mineralsand", + "multiblock": { + "mapping": { + "0": "#forge:ores/basaltic_mineral_sand" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): (Fe₃O₄)((Mg₂Fe(SiO₂)₂)(CaCo₃)₃(SiO₂)₈C₄)", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Granitischer Mineralsand", + "multiblock": { + "mapping": { + "0": "#forge:ores/granitic_mineral_sand" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): (Fe₃O₄)((SiO₂)₄(KMg₃Al₃F₂Si₃O₁₀))", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Bleicherde", + "multiblock": { + "mapping": { + "0": "#forge:ores/fullers_earth" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Magnesium$(br)$(thing)Formel$(): MgSi₄H(H₂O)₄O₁₁", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Gips", + "multiblock": { + "mapping": { + "0": "#forge:ores/gypsum" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Verwendet für$(): (färbbare) Alabasterziegel$(br)$(thing)Formel$(): CaS(H₂O)₂O₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/220 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 20%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 40 — 90$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 30$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Dolomit, Hornstein, Kalk, Kalkstein, Konglomerat, Schieferstein, Tonstein", + "title": "Ölsand", + "type": "patchouli:text", + "anchor": "normal_oilsands" + }, + { + "Type": "patchouli:multiblock", + "name": "Ölsand", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 100%$(br)$(thing)Quelle von$(): Demokratie & Freiheit \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/220 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -64 — 62$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 26$(br)$(thing)Höhe$(): 6$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Diorit, Gabbro, Granit, Rhyolith", + "title": "Opal & Granat", + "type": "patchouli:text", + "anchor": "deep_garnet_opal" + }, + { + "Type": "patchouli:multiblock", + "name": "Opal", + "multiblock": { + "mapping": { + "0": "#forge:ores/opal" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 55%$(br)$(thing)Quelle von$(): Silicium, Sauerstoff$(br)$(thing)Formel$(): (SiO₂)", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Amethyst", + "multiblock": { + "mapping": { + "0": "#forge:ores/amethyst" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Eisen$(br)$(thing)Formel$(): (SiO₂)₄Fe", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Gelber Granat", + "multiblock": { + "mapping": { + "0": "#forge:ores/yellow_garnet" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Andradit, Grossular, Uwarowit", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Roter Granat", + "multiblock": { + "mapping": { + "0": "#forge:ores/red_garnet" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Quelle von$(): Pyrop, Almandin, Spessartin", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/190 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 100$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 40$(br2)$(thing)Gesteinsarten$(): Gneis, Kristallschiefer, Quarzit, Schieferstein", + "title": "Quarz", + "type": "patchouli:text", + "anchor": "normal_quartz" + }, + { + "Type": "patchouli:multiblock", + "name": "Quarz", + "multiblock": { + "mapping": { + "0": "#forge:ores/quartzite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 43%$(br)$(thing)Verwendet für$(): LV Komponenten$(br)$(thing)Formel$(): SiO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Baryt", + "multiblock": { + "mapping": { + "0": "#forge:ores/barite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 37%$(br)$(thing)Quelle von$(): Barium$(br)$(thing)Formel$(): BaSO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Asbest", + "multiblock": { + "mapping": { + "0": "#forge:ores/asbestos" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 18%$(br)$(thing)Quelle von$(): Magnesium, Lungenkrebs$(br)$(thing)Formel$(): Mg₃Si₂H₄O₉$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Asbestose (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/160 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 100$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Granit$(br2)Kannst es nicht finden? Granit erscheint immer unter $(thing)Rhyolith$(), und im Ozean zu schauen kann auch nützlich sein!", + "title": "Redstone, Zinnober, & Rubin", + "type": "patchouli:text", + "anchor": "normal_redstone" + }, + { + "Type": "patchouli:multiblock", + "name": "Redstone", + "multiblock": { + "mapping": { + "0": "#forge:ores/redstone" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 45%$(br)$(thing)Schmelzt in$(): Redstone$(br)$(thing)Formel$(): Si(FeS₂)₅(CrAl₂O₃)Hg₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Rubin", + "multiblock": { + "mapping": { + "0": "#forge:ores/ruby" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Chrom, Aluminium$(br)$(thing)Formel$(): CrAl₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Zinnober", + "multiblock": { + "mapping": { + "0": "#forge:ores/cinnabar" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Quecksilber$(br)$(thing)Formel$(): HgS", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/210 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Marmor, Phyllit, Quarzit, Tonschiefer", + "title": "Saltpeter & Electrotin", + "type": "patchouli:text", + "anchor": "normal_saltpeter" + }, + { + "Type": "patchouli:multiblock", + "name": "Saltpeter", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Kalium, Stickstoff$(br)$(thing)Formel$(): KNO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kieselgur", + "multiblock": { + "mapping": { + "0": "#forge:ores/diatomite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Eisen, Aluminium$(br)$(thing)Formel$(): (SiO₂)₈(Fe₂O₃)(Al₂O₃)", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Elektrotin", + "multiblock": { + "mapping": { + "0": "#forge:ores/electrotine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Gold, Silber, Redstone$(br)$(thing)Formel$(): (Si(FeS₂)₅(CrAl₂O₃)Hg₃)(AgAu)", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Alunit", + "multiblock": { + "mapping": { + "0": "#forge:ores/alunite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Kalium, Aluminium$(br)$(thing)Formel$(): KAl₃Si₂H₆O₁₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/175 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 30 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)Höhe$(): 4$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 40$(br2)$(thing)Gesteinsarten$(): Kalkstein, Schieferstein, Tonstein", + "title": "Salze & Borax", + "type": "patchouli:text", + "anchor": "normal_salt" + }, + { + "Type": "patchouli:multiblock", + "name": "Sylvin", + "multiblock": { + "mapping": { + "0": "#forge:ores/rock_salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 40%$(br)$(thing)Quelle von$(): Kalium, Chlor, Dünger$(br)$(thing)Formel$(): KCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Halit", + "multiblock": { + "mapping": { + "0": "#forge:ores/salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Quelle von$(): Natrium, Chlor$(br)$(thing)Formel$(): NaCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Lepidolith", + "multiblock": { + "mapping": { + "0": "#forge:ores/lepidolite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Kalium, Lithium, Aluminium, Fluor$(br)$(thing)Formel$(): KLi₃Al₄F₂O₁₀", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Borax", + "multiblock": { + "mapping": { + "0": "#forge:ores/borax" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Natrium, Bor$(br)$(thing)Formel$(): Na₂B₄(H₂O)₁₀O₇", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/180 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -64 — 32$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 28$(br)$(thing)Höhe$(): 8$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Diorit, Rhyolith", + "title": "Saphir & Almandin", + "type": "patchouli:text", + "anchor": "deep_sapphire" + }, + { + "Type": "patchouli:multiblock", + "name": "Almandin", + "multiblock": { + "mapping": { + "0": "#forge:ores/almandine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 38%$(br)$(thing)Quelle von$(): Aluminium, Eisen$(br)$(thing)Formel$(): Al₂Fe₃Si₃O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrop", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrope" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 27%$(br)$(thing)Quelle von$(): Aluminium, Magnesium$(br)$(thing)Formel$(): Al₂Mg₃Si₃O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Saphir", + "multiblock": { + "mapping": { + "0": "#forge:ores/sapphire" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 16%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Grüner Saphir", + "multiblock": { + "mapping": { + "0": "#forge:ores/green_sapphire" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 16%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/240 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -64 — 0$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 20$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Granit", + "title": "Scheelit & Wolframate", + "type": "patchouli:text", + "anchor": "deep_scheelite" + }, + { + "Type": "patchouli:multiblock", + "name": "Scheelit", + "multiblock": { + "mapping": { + "0": "#forge:ores/scheelite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 45%$(br)$(thing)Quelle von$(): Wolfram$(br)$(thing)Formel$(): Ca(WO₃)O", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Wolframat", + "multiblock": { + "mapping": { + "0": "#forge:ores/tungstate" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Wolfram, Lithium$(br)$(thing)Formel$(): Li₂(WO₃)O", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Lithium", + "multiblock": { + "mapping": { + "0": "#forge:ores/lithium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Lithium$(br)$(thing)Formel$(): Li", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/165 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 20%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 210$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 40$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Rhyolith", + "title": "Schwefel & Pyrit", + "type": "patchouli:text", + "anchor": "normal_sulfur" + }, + { + "Type": "patchouli:multiblock", + "name": "Schwefel", + "multiblock": { + "mapping": { + "0": "#forge:ores/sulfur" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 50%$(br)$(thing)Quelle von$(): Schwefel$(br)$(thing)Formel$(): S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sphalerit", + "multiblock": { + "mapping": { + "0": "#forge:ores/sphalerite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Zink$(br)$(thing)Formel$(): ZnS", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/160 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Gneis, Granit", + "title": "Silber, Galenit, & Blei", + "type": "patchouli:text", + "anchor": "normal_silver" + }, + { + "Type": "patchouli:multiblock", + "name": "Blei", + "multiblock": { + "mapping": { + "0": "#forge:ores/lead" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 55%$(br)$(thing)Schmelzt in$(): Blei$(br)$(thing)Formel$(): Pb$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Leicht Giftig (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Galenit", + "multiblock": { + "mapping": { + "0": "#forge:ores/galena" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Schmelzt in$(): Blei$(br)$(thing)Formel$(): PbS$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Leicht Giftig (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Silber", + "multiblock": { + "mapping": { + "0": "#forge:ores/silver" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Silber$(br)$(thing)Formel$(): Ag", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/250 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Hoch und schmal)Rohrader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 30$(br)$(thing)Höhe$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Rhyolith", + "title": "Smaragd & Beryllium", + "type": "patchouli:text", + "anchor": "normal_beryllium" + }, + { + "Type": "patchouli:multiblock", + "name": "Smaragd", + "multiblock": { + "mapping": { + "0": "#forge:ores/emerald" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 50%$(br)$(thing)Verwendet für$(): MV Komponenten, Gegenstandsfilter$(br)$(thing)Formel$(): Be₃Al₂Si₆O₁₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Beryllium", + "multiblock": { + "mapping": { + "0": "#forge:ores/beryllium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Beryllium$(br)$(thing)Formel$(): Be$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Gummihandschuhe)Berylliose (Hautkontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Thorianit", + "multiblock": { + "mapping": { + "0": "#forge:ores/thorium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Thorium$(br)$(thing)Formel$(): ThO₂$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Vollschutz)Radioaktiv (Beliebiger Kontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/190 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -40 — 56$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 36$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Granit", + "title": "Speckstein, Talk, & Trona", + "type": "patchouli:text", + "anchor": "normal_lubricant" + }, + { + "Type": "patchouli:multiblock", + "name": "Speckstein", + "multiblock": { + "mapping": { + "0": "#forge:ores/soapstone" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Quelle von$(): Magnesium$(br)$(thing)Formel$(): Mg₃Si₄H₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Glaukonitsand", + "multiblock": { + "mapping": { + "0": "#forge:ores/glauconite_sand" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Magnesium, Aluminium$(br)$(thing)Formel$(): KMg₂Al₄H₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Talk", + "multiblock": { + "mapping": { + "0": "#forge:ores/talc" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Magnesium$(br)$(thing)Formel$(): Mg₃Si₄H₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pentlandit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pentlandite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): Ni₉S₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Trona", + "multiblock": { + "mapping": { + "0": "#forge:ores/trona" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Quelle von$(): Natrium$(br)$(thing)Formel$(): Na₃C₂H(H₂O)₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/170 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Gneis, Kristallschiefer, Marmor, Phyllit, Quarzit, Rhyolith, Tonschiefer", + "title": "Sphalerit & Pyrit", + "type": "patchouli:text", + "anchor": "normal_sphalerite" + }, + { + "Type": "patchouli:multiblock", + "name": "Sphalerit", + "multiblock": { + "mapping": { + "0": "#forge:ores/sphalerite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 40%$(br)$(thing)Schmelzt in$(): Zink$(br)$(thing)Formel$(): ZnS", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Schwefel", + "multiblock": { + "mapping": { + "0": "#forge:ores/sulfur" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Schwefel$(br)$(thing)Formel$(): S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/145 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 60 — 210$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 50$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Gneis, Kristallschiefer, Marmor, Phyllit, Quarzit, Rhyolith, Tonschiefer", + "title": "Sphalerit & Schwefel", + "type": "patchouli:text", + "anchor": "surface_sphalerite" + }, + { + "Type": "patchouli:multiblock", + "name": "Schwefel", + "multiblock": { + "mapping": { + "0": "#forge:ores/sulfur" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 55%$(br)$(thing)Quelle von$(): Schwefel$(br)$(thing)Formel$(): S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sphalerit", + "multiblock": { + "mapping": { + "0": "#forge:ores/sphalerite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 40%$(br)$(thing)Schmelzt in$(): Zink$(br)$(thing)Formel$(): ZnS", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/180 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 38%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 20 — 60$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 35$(br)$(thing)Höhe$(): 6$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 40$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Marmor, Phyllit, Quarzit, Tonschiefer", + "title": "Spodumen & Lepidolith", + "type": "patchouli:text", + "anchor": "normal_spodumene" + }, + { + "Type": "patchouli:multiblock", + "name": "Spodumen", + "multiblock": { + "mapping": { + "0": "#forge:ores/spodumene" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Lithium, Aluminium$(br)$(thing)Formel$(): LiAlSi₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Halit", + "multiblock": { + "mapping": { + "0": "#forge:ores/salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Quelle von$(): Natrium, Chlor$(br)$(thing)Formel$(): NaCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sylvin", + "multiblock": { + "mapping": { + "0": "#forge:ores/rock_salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Kalium, Chlor, Dünger$(br)$(thing)Formel$(): KCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Lepidolith", + "multiblock": { + "mapping": { + "0": "#forge:ores/lepidolite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Kalium, Lithium, Aluminium, Fluor$(br)$(thing)Formel$(): KLi₃Al₄F₂O₁₀", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/140 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Hoch und schmal)Rohrader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 20 — 120$(br)$(thing)Höhe$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Diorit, Dolomit, Gabbro, Gneis, Granit, Hornstein, Kalk, Kalkstein, Konglomerat, Kristallschiefer, Marmor, Phyllit, Quarzit, Rhyolith, Schieferstein, Tonschiefer, Tonstein$(br2)Erscheint nur in $(thing)süd-westlichen$() Wüsten, mit einer minimalen Temperatur von 7°C und einem maximalen Niederschlag von 100mm.", + "title": "Tarkianit & Ölsand", + "type": "patchouli:text", + "anchor": "normal_tarkianite" + }, + { + "Type": "patchouli:multiblock", + "name": "Tarkianit", + "multiblock": { + "mapping": { + "0": "#forge:ores/tarkianite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Rhenium, Molybdän$(br)$(thing)Formel$(): CuFeRe₄Mo₄S₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Ölsand", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Demokratie & Freiheit \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Borax", + "multiblock": { + "mapping": { + "0": "#forge:ores/borax" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Natrium, Bor$(br)$(thing)Formel$(): Na₂B₄(H₂O)₁₀O₇", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Trona", + "multiblock": { + "mapping": { + "0": "#forge:ores/trona" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Quelle von$(): Natrium$(br)$(thing)Formel$(): Na₃C₂H(H₂O)₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/140 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 60 — 210$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 50$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Gneis, Kristallschiefer, Marmor, Phyllit, Quarzit, Tonschiefer", + "title": "Tetraedrit (Oberfläche)", + "type": "patchouli:text", + "anchor": "surface_tetrahedrite" + }, + { + "Type": "patchouli:multiblock", + "name": "Tetrahedrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/tetrahedrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 60%$(br)$(thing)Schmelzt in$(): Kupfer$(br)$(thing)Formel$(): Cu₃SbS₃Fe", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Kupfer", + "multiblock": { + "mapping": { + "0": "#forge:ores/copper" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Schmelzt in$(): Kupfer$(br)$(thing)Formel$(): Cu", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Stibnit", + "multiblock": { + "mapping": { + "0": "#forge:ores/stibnite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Schmelzt in$(): Antimonie$(br)$(thing)Formel$(): Sb₂S₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/170 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 75$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Gneis, Kristallschiefer, Marmor, Phyllit, Quarzit, Tonschiefer", + "title": "Tetrahedrit (Normal)", + "type": "patchouli:text", + "anchor": "normal_tetrahedrite" + }, + { + "Type": "patchouli:multiblock", + "name": "Tetrahedrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/tetrahedrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 50%$(br)$(thing)Schmelzt in$(): Kupfer$(br)$(thing)Formel$(): Cu₃SbS₃Fe", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Kupfer", + "multiblock": { + "mapping": { + "0": "#forge:ores/copper" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Schmelzt in$(): Kupfer$(br)$(thing)Formel$(): Cu", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Stibnit", + "multiblock": { + "mapping": { + "0": "#forge:ores/stibnite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Schmelzt in$(): Antimonie$(br)$(thing)Formel$(): Sb₂S₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/260 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -64 — 26$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 28$(br)$(thing)Höhe$(): 7$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Gneis, Kristallschiefer, Marmor, Phyllit, Quarzit, Tonschiefer", + "title": "Topas & Chalkosin", + "type": "patchouli:text", + "anchor": "deep_topaz" + }, + { + "Type": "patchouli:multiblock", + "name": "Blautopas", + "multiblock": { + "mapping": { + "0": "#forge:ores/blue_topaz" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Aluminium, Fluor$(br)$(thing)Formel$(): Al₂SiF₂H₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Topas", + "multiblock": { + "mapping": { + "0": "#forge:ores/topaz" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Aluminium, Fluor$(br)$(thing)Formel$(): Al₂SiFH₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Chalkosin", + "multiblock": { + "mapping": { + "0": "#forge:ores/chalcocite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Kupfer$(br)$(thing)Formel$(): Cu₂S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Bornit", + "multiblock": { + "mapping": { + "0": "#forge:ores/bornite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Kupfer$(br)$(thing)Formel$(): Cu₅FeS₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/240 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 45%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -64 — -20$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 19$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Marmor, Phyllit, Quarzit, Tonschiefer", + "title": "Uraninit & Pechblende", + "type": "patchouli:text", + "anchor": "deep_pitchblende" + }, + { + "Type": "patchouli:multiblock", + "name": "Pechblende", + "multiblock": { + "mapping": { + "0": "#forge:ores/pitchblende" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 62%$(br)$(thing)Quelle von$(): Uran, Thorium, Blei$(br)$(thing)Formel$(): (UO₂)₃ThPb$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Vollschutz)Radioaktiv (Beliebiger Kontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Uranit", + "multiblock": { + "mapping": { + "0": "#forge:ores/uraninite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Uran$(br)$(thing)Formel$(): UO₂$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Vollschutz)Radioaktiv (Beliebiger Kontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Wulfenit", + "multiblock": { + "mapping": { + "0": "#forge:ores/wulfenite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 12%$(br)$(thing)Quelle von$(): Blei, Molybdän$(br)$(thing)Formel$(): PbMoO₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/245 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 45%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -64 — 10$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 26$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Diorit, Gabbro, Granit, Rhyolith", + "title": "Wulfenit & Molybdänit", + "type": "patchouli:text", + "anchor": "deep_molybdenum" + }, + { + "Type": "patchouli:multiblock", + "name": "Wulfenit", + "multiblock": { + "mapping": { + "0": "#forge:ores/wulfenite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 47%$(br)$(thing)Quelle von$(): Blei, Molybdän$(br)$(thing)Formel$(): PbMoO₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Molybdänit", + "multiblock": { + "mapping": { + "0": "#forge:ores/molybdenite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Molybdän$(br)$(thing)Formel$(): MoS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Powellit", + "multiblock": { + "mapping": { + "0": "#forge:ores/powellite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 17%$(br)$(thing)Quelle von$(): Molybdän$(br)$(thing)Formel$(): CaMoO₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/150 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 20%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 30 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 60$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Dolomit, Hornstein, Kalk, Kalkstein, Konglomerat, Schieferstein, Tonstein$(br2)Erscheint nur in $(thing)westlichen$() Wüsten, mit einem maximalen Niederschlag von 120mm.", + "title": "Wüsten Ölsand", + "type": "patchouli:text", + "anchor": "desert_oilsands" + }, + { + "Type": "patchouli:multiblock", + "name": "Ölsand", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 100%$(br)$(thing)Quelle von$(): Demokratie & Freiheit \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + } + ], + "sortnum": 1 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/mars_ore_index.json new file mode 100644 index 000000000..7c37431bc --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/mars_ore_index.json @@ -0,0 +1,47 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Mars Erzindex", + "icon": "tfc:ore/normal_hematite", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "Dies ist der $(thing)Erzindex$() für $(thing)Mars$(). Alle Erze sind zuerst alphabetisch und danach von reichen nach armen Adertypen sortiert. Du kannst sie anklicken, um mehr über jede Ader zu erfahren.", + "title": "Mars Erzindex", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Almandin: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Apatit: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Asbest: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Baryt: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Bastnäsit: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Bauxit: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Beryllium: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Bismut: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Blei: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Bornit: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Chalkopyrit: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Chromit: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)Cooperit: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)Diamant: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Elektrotin: $(l:tfg_ores/mars_vein_index#mars_gold)20%$(/l)$()$(li)Galenit: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Garnierit: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Gelbes Limonit: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Gips: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Glaukonitsand: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Goethit: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Graphit: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Grossular: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Grüner Saphir: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_gold)5%$(/l)$()$(li)Halit: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Hematit: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)Kalzit: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Kassiterit: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Kobaltit: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Kohle: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)Lapis: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Lasurit: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Lepidolith: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Monazit: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Natives Gold: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Natives Kupfer: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Natives Silber: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Neodym: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Nickel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Pechblende: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Pentlandit: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Platin: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Pyrit: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Pyrochlor: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Pyrolusit: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Pyrop: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Quarz: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Realgar: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Redstone: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Rubin: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Saphir: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Scheelit: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Schwefel: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Smaragd: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Sodalith: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Speckstein: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Spessartin: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Sphalerit: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Spodumen: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Stibnit: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Sylvin: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Talk: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalit: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetrahedrit: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Thorianit: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Tricalciumphosphat: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Uranit: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Wolframat: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)Zinn: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()", + "type": "patchouli:text" + } + ], + "sortnum": 6 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/mars_vein_index.json new file mode 100644 index 000000000..19968f482 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/mars_vein_index.json @@ -0,0 +1,2513 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Mars Aderindex", + "icon": "gtceu:mars_stone_hematite_ore", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "Dies ist der $(thing)Erzindex$() für $(item)Mars$(). Jede Ader hat Details über Seltenheit, Dichte, Adertyp, gefundene Höhe, Größen, in welchen Gesteinen sie vorkommt und noch viel mehr.", + "title": "Mars Aderindex", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Almandin & Saphir$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Apatit & Pyrochlor$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Bastnäsit & Monazit$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Bismut$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Bornit & Cooperit$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)Garnierit & Kobaltit$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_gold)Gold, Elektrotin, & Bauxit$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)Graphit & Diamant$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)Hematit & Limonit$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Hematit & Limonit$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)Kassiterit$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)Kohle & Hematit$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)Kupfer & Chalkopyrit$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)Lapis, Lasurit, & Sodalith$()$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Mangan & Tantal$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Pechblende & Thorianit, & Hematit$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Pechblende, Thorianit, & Uraninit$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Quarzit, Asbest, & Baryt$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Redstone & Chromit$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Salts & Spodumen$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Scheelit & Wolframit$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Silber, Galenit, & Blei$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)Smaragd & Beryllium$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Sphalerit & Galenit$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Sphalerit & Pyrit$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Tetrahedrit (Normal)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Tetrahedrit (Oberfläche)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Trona, Talk, & Glaukonit$()$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/280 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 65$(br)$(thing)Höhe$(): 8$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 15$(br2)$(thing)Gesteinsarten$(): Argillit, Diorit, Dolomit, Gabbro, Hornstein, Kalkstein, Roter Granit, Schieferstein, Tonstein, Trachyt", + "title": "Almandin & Saphir", + "type": "patchouli:text", + "anchor": "mars_almandine" + }, + { + "Type": "patchouli:multiblock", + "name": "Almandin", + "multiblock": { + "mapping": { + "0": "#forge:ores/almandine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 36%$(br)$(thing)Quelle von$(): Aluminium, Eisen$(br)$(thing)Formel$(): Al₂Fe₃Si₃O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrop", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrope" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 26%$(br)$(thing)Quelle von$(): Aluminium, Magnesium$(br)$(thing)Formel$(): Al₂Mg₃Si₃O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Saphir", + "multiblock": { + "mapping": { + "0": "#forge:ores/sapphire" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Grüner Saphir", + "multiblock": { + "mapping": { + "0": "#forge:ores/green_sapphire" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/220 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 15$(br2)$(thing)Gesteinsarten$(): Basalt, Dazit, Hornstein, Kalk, Kalkstein, Konglomerat, Roter Granit, Schieferstein, Tonstein, Trachyt", + "title": "Apatit & Pyrochlor", + "type": "patchouli:text", + "anchor": "mars_apatite" + }, + { + "Type": "patchouli:multiblock", + "name": "Apatit", + "multiblock": { + "mapping": { + "0": "#forge:ores/apatite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 47%$(br)$(thing)Quelle von$(): Calcium, Phosphor, Wald-PTSD$(br)$(thing)Formel$(): Ca₅(PO₄)₃Cl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Tricalciumphosphat", + "multiblock": { + "mapping": { + "0": "#forge:ores/tricalcium_phosphate" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 33%$(br)$(thing)Quelle von$(): Calcium, Phosphor$(br)$(thing)Formel$(): Ca₃(PO₄)₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrochlor", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrochlore" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 14%$(br)$(thing)Quelle von$(): Niob$(br)$(thing)Formel$(): Ca₂Nb₂O₇", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 4%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/215 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 15$(br2)$(thing)Gesteinsarten$(): Argillit, Basalt, Diorit, Dolomit, Gabbro, Hornstein, Kalk, Quarzit, Trachyt", + "title": "Bastnäsit & Monazit", + "type": "patchouli:text", + "anchor": "mars_neodynium" + }, + { + "Type": "patchouli:multiblock", + "name": "Bastnäsit", + "multiblock": { + "mapping": { + "0": "#forge:ores/bastnasite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 58%$(br)$(thing)Quelle von$(): Cer, Fluor$(br)$(thing)Formel$(): CeCFO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Monazit", + "multiblock": { + "mapping": { + "0": "#forge:ores/monazite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 29%$(br)$(thing)Quelle von$(): Phosphor, Seltene Erden$(br)$(thing)Formel$(): ?(PO₄)", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Neodym", + "multiblock": { + "mapping": { + "0": "#forge:ores/neodymium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Quelle von$(): Neodym$(br)$(thing)Formel$(): Nd", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/140 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 40$(br2)$(thing)Gesteinsarten$(): Argillit, Basalt, Dazit, Diorit, Dolomit, Gabbro, Granit, Hornstein, Kalk, Kalkstein, Konglomerat, Quarzit, Roter Granit, Schieferstein, Tonstein, Trachyt", + "title": "Bismut", + "type": "patchouli:text", + "anchor": "mars_surface_bismuthinite" + }, + { + "Type": "patchouli:multiblock", + "name": "Bismut", + "multiblock": { + "mapping": { + "0": "#forge:ores/bismuth" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 40%$(br)$(thing)Quelle von$(): Bismut$(br)$(thing)Formel$(): Bi", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Schwefel", + "multiblock": { + "mapping": { + "0": "#forge:ores/sulfur" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Schwefel$(br)$(thing)Formel$(): S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Gips", + "multiblock": { + "mapping": { + "0": "#forge:ores/gypsum" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Verwendet für$(): (färbbare) Alabasterziegel$(br)$(thing)Formel$(): CaS(H₂O)₂O₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/370 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 60$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Granit, Roter Granit", + "title": "Bornit & Cooperit", + "type": "patchouli:text", + "anchor": "deep_mars_sheldonite" + }, + { + "Type": "patchouli:multiblock", + "name": "Bornit", + "multiblock": { + "mapping": { + "0": "#forge:ores/bornite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Kupfer$(br)$(thing)Formel$(): Cu₅FeS₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Cooperit", + "multiblock": { + "mapping": { + "0": "#forge:ores/cooperite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Platin, Nickel, Palladium$(br)$(thing)Formel$(): Pt₃NiSPd", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Nickel", + "multiblock": { + "mapping": { + "0": "#forge:ores/nickel" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): Ni", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Platin", + "multiblock": { + "mapping": { + "0": "#forge:ores/platinum" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Platin$(br)$(thing)Formel$(): Pt", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/250 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 55$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 40$(br2)$(thing)Gesteinsarten$(): Argillit, Basalt, Dazit, Granit, Kalk, Kalkstein, Quarzit, Roter Granit, Schieferstein, Tonstein", + "title": "Garnierit & Kobaltit", + "type": "patchouli:text", + "anchor": "mars_nickel" + }, + { + "Type": "patchouli:multiblock", + "name": "Garnierit", + "multiblock": { + "mapping": { + "0": "#forge:ores/garnierite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): NiO", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Nickel", + "multiblock": { + "mapping": { + "0": "#forge:ores/nickel" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 28%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): Ni", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kobaltit", + "multiblock": { + "mapping": { + "0": "#forge:ores/cobaltite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 28%$(br)$(thing)Quelle von$(): Kobalt, Arsen$(br)$(thing)Formel$(): CoAsS$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Arsenikose (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 7%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/230 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 15$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Granit, Hornstein, Kalk, Schieferstein, Tonstein", + "title": "Gold, Elektrotin, & Bauxit", + "type": "patchouli:text", + "anchor": "mars_gold" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Gold", + "multiblock": { + "mapping": { + "0": "#forge:ores/gold" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 55%$(br)$(thing)Schmelzt in$(): Gold$(br)$(thing)Formel$(): Au", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Bauxit", + "multiblock": { + "mapping": { + "0": "#forge:ores/bauxite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Elektrotin", + "multiblock": { + "mapping": { + "0": "#forge:ores/electrotine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Gold, Silber, Redstone$(br)$(thing)Formel$(): (Si(FeS₂)₅(CrAl₂O₃)Hg₃)(AgAu)", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Grüner Saphir", + "multiblock": { + "mapping": { + "0": "#forge:ores/green_sapphire" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/220 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Hoch und schmal)Rohrader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 120$(br)$(thing)Höhe$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Argillit, Dazit, Diorit, Gabbro, Granit, Roter Granit, Trachyt", + "title": "Graphit & Diamant", + "type": "patchouli:text", + "anchor": "mars_graphite" + }, + { + "Type": "patchouli:multiblock", + "name": "Graphit", + "multiblock": { + "mapping": { + "0": "#forge:ores/graphite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 45%$(br)$(thing)Verwendet für$(): $(l:mechanics/fire_clay)Schamotte$(), Graphen$(br)$(thing)Formel$(): C", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kohle", + "multiblock": { + "mapping": { + "0": "#forge:ores/coal" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Verwendet für$(): Treibstoff, Destillation$(br)$(thing)Formel$(): C", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Diamant", + "multiblock": { + "mapping": { + "0": "#forge:ores/diamond" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Verwendet für$(): Mazeratoren, AE2$(br)$(thing)Formel$(): C", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/210 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 30$(br2)$(thing)Gesteinsarten$(): Argillit, Basalt, Dazit, Dolomit, Kalkstein, Konglomerat, Quarzit, Roter Granit, Tonstein", + "title": "Hematit & Limonit", + "type": "patchouli:text", + "anchor": "mars_hematite" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 50%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Gelbes Limonit", + "multiblock": { + "mapping": { + "0": "#forge:ores/yellow_limonite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Goethit", + "multiblock": { + "mapping": { + "0": "#forge:ores/goethite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Gold", + "multiblock": { + "mapping": { + "0": "#forge:ores/gold" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Gold$(br)$(thing)Formel$(): Au", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/140 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 40$(br2)$(thing)Gesteinsarten$(): Argillit, Basalt, Dazit, Diorit, Dolomit, Gabbro, Granit, Hornstein, Kalk, Kalkstein, Konglomerat, Quarzit, Roter Granit, Schieferstein, Tonstein, Trachyt", + "title": "Hematit & Limonit", + "type": "patchouli:text", + "anchor": "mars_surface_hematite" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 55%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Gelbes Limonit", + "multiblock": { + "mapping": { + "0": "#forge:ores/yellow_limonite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 33%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Gold", + "multiblock": { + "mapping": { + "0": "#forge:ores/gold" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Gold$(br)$(thing)Formel$(): Au", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kalzit", + "multiblock": { + "mapping": { + "0": "#forge:ores/calcite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Quelle von$(): Calcium$(br)$(thing)Formel$(): CaCO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/135 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 40$(br2)$(thing)Gesteinsarten$(): Argillit, Basalt, Dazit, Diorit, Dolomit, Gabbro, Granit, Hornstein, Kalk, Kalkstein, Konglomerat, Quarzit, Roter Granit, Schieferstein, Tonstein, Trachyt", + "title": "Kassiterit", + "type": "patchouli:text", + "anchor": "mars_surface_cassiterite" + }, + { + "Type": "patchouli:multiblock", + "name": "Kassiterit", + "multiblock": { + "mapping": { + "0": "#forge:ores/cassiterite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 55%$(br)$(thing)Quelle von$(): Zinn$(br)$(thing)Formel$(): SnO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Zinn", + "multiblock": { + "mapping": { + "0": "#forge:ores/tin" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Schmelzt in$(): Zinn$(br)$(thing)Formel$(): Sn", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Saltpeter", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Quelle von$(): Kalium, Stickstoff$(br)$(thing)Formel$(): KNO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/215 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 60%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 55$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 10$(br2)$(thing)Gesteinsarten$(): Argillit, Basalt, Dazit, Diorit, Dolomit, Granit, Kalk, Konglomerat, Roter Granit, Tonstein, Trachyt", + "title": "Kohle & Hematit", + "type": "patchouli:text", + "anchor": "mars_coal" + }, + { + "Type": "patchouli:multiblock", + "name": "Kohle", + "multiblock": { + "mapping": { + "0": "#forge:ores/coal" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 70%$(br)$(thing)Verwendet für$(): Treibstoff, Destillation$(br)$(thing)Formel$(): C", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/220 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 50$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 40$(br2)$(thing)Gesteinsarten$(): Argillit, Basalt, Dazit, Dolomit, Kalkstein, Konglomerat, Quarzit, Schieferstein, Tonstein, Trachyt", + "title": "Kupfer & Chalkopyrit", + "type": "patchouli:text", + "anchor": "mars_copper" + }, + { + "Type": "patchouli:multiblock", + "name": "Chalkopyrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/chalcopyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 65%$(br)$(thing)Quelle von$(): Kupfer$(br)$(thing)Formel$(): CuFeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Kupfer", + "multiblock": { + "mapping": { + "0": "#forge:ores/copper" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Schmelzt in$(): Kupfer$(br)$(thing)Formel$(): Cu", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/200 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 30$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Argillit, Dolomit, Hornstein, Kalk, Kalkstein, Schieferstein", + "title": "Lapis, Lasurit, & Sodalith", + "type": "patchouli:text", + "anchor": "mars_lapis" + }, + { + "Type": "patchouli:multiblock", + "name": "Lasurit", + "multiblock": { + "mapping": { + "0": "#forge:ores/lazurite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Aluminium, Calcium, Natrium$(br)$(thing)Formel$(): Al₆Si₆Ca₈Na₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sodalith", + "multiblock": { + "mapping": { + "0": "#forge:ores/sodalite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Aluminium, Natrium$(br)$(thing)Formel$(): Al₃Si₃Na₄Cl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Lapis", + "multiblock": { + "mapping": { + "0": "#forge:ores/lapis" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Lasurit, Sodalith, Pyrit, Calcit", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kalzit", + "multiblock": { + "mapping": { + "0": "#forge:ores/calcite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Calcium$(br)$(thing)Formel$(): CaCO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/230 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 42$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 15$(br2)$(thing)Gesteinsarten$(): Argillit, Basalt, Gabbro, Hornstein, Kalk, Kalkstein, Roter Granit, Schieferstein, Tonstein, Trachyt", + "title": "Mangan & Tantal", + "type": "patchouli:text", + "anchor": "mars_tantalite" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrolusit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrolusite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 42%$(br)$(thing)Quelle von$(): Mangan$(br)$(thing)Formel$(): MnO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Tantalit", + "multiblock": { + "mapping": { + "0": "#forge:ores/tantalite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 36%$(br)$(thing)Quelle von$(): Mangan, Tantal$(br)$(thing)Formel$(): MnTa₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Grossular", + "multiblock": { + "mapping": { + "0": "#forge:ores/grossular" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Quelle von$(): Calcium, Aluminium$(br)$(thing)Formel$(): Ca₃Al₂Si₃O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Spessartin", + "multiblock": { + "mapping": { + "0": "#forge:ores/spessartine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Quelle von$(): Mangan, Aluminium$(br)$(thing)Formel$(): Al₂Mn₃Si₃O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/220 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 55%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 20$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 15$(br2)$(thing)Gesteinsarten$(): Argillit, Dazit, Diorit, Dolomit, Gabbro, Konglomerat, Quarzit, Roter Granit, Schieferstein, Trachyt", + "title": "Pechblende & Thorianit, & Hematit", + "type": "patchouli:text", + "anchor": "mars_pitchblende" + }, + { + "Type": "patchouli:multiblock", + "name": "Pechblende", + "multiblock": { + "mapping": { + "0": "#forge:ores/pitchblende" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 41%$(br)$(thing)Quelle von$(): Uran, Thorium, Blei$(br)$(thing)Formel$(): (UO₂)₃ThPb$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Vollschutz)Radioaktiv (Beliebiger Kontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Thorianit", + "multiblock": { + "mapping": { + "0": "#forge:ores/thorium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 29%$(br)$(thing)Quelle von$(): Thorium$(br)$(thing)Formel$(): ThO₂$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Vollschutz)Radioaktiv (Beliebiger Kontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 29%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/370 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 60$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Granit, Roter Granit", + "title": "Pechblende, Thorianit, & Uraninit", + "type": "patchouli:text", + "anchor": "deep_mars_pitchblende" + }, + { + "Type": "patchouli:multiblock", + "name": "Pechblende", + "multiblock": { + "mapping": { + "0": "#forge:ores/pitchblende" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 52%$(br)$(thing)Quelle von$(): Uran, Thorium, Blei$(br)$(thing)Formel$(): (UO₂)₃ThPb$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Vollschutz)Radioaktiv (Beliebiger Kontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Thorianit", + "multiblock": { + "mapping": { + "0": "#forge:ores/thorium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 26%$(br)$(thing)Quelle von$(): Thorium$(br)$(thing)Formel$(): ThO₂$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Vollschutz)Radioaktiv (Beliebiger Kontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Uranit", + "multiblock": { + "mapping": { + "0": "#forge:ores/uraninite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 21%$(br)$(thing)Quelle von$(): Uran$(br)$(thing)Formel$(): UO₂$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Vollschutz)Radioaktiv (Beliebiger Kontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/210 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 15$(br2)$(thing)Gesteinsarten$(): Argillit, Granit, Hornstein, Kalk, Kalkstein, Quarzit, Roter Granit, Schieferstein, Tonstein, Trachyt", + "title": "Quarzit, Asbest, & Baryt", + "type": "patchouli:text", + "anchor": "mars_quartzite" + }, + { + "Type": "patchouli:multiblock", + "name": "Quarz", + "multiblock": { + "mapping": { + "0": "#forge:ores/quartzite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 41%$(br)$(thing)Verwendet für$(): LV Komponenten$(br)$(thing)Formel$(): SiO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Baryt", + "multiblock": { + "mapping": { + "0": "#forge:ores/barite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Barium$(br)$(thing)Formel$(): BaSO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Asbest", + "multiblock": { + "mapping": { + "0": "#forge:ores/asbestos" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 17%$(br)$(thing)Quelle von$(): Magnesium, Lungenkrebs$(br)$(thing)Formel$(): Mg₃Si₂H₄O₉$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Asbestose (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/370 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -30 — 0$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 60$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Granit, Roter Granit", + "title": "Redstone & Chromit", + "type": "patchouli:text", + "anchor": "deep_mars_chromite" + }, + { + "Type": "patchouli:multiblock", + "name": "Redstone", + "multiblock": { + "mapping": { + "0": "#forge:ores/redstone" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 45%$(br)$(thing)Schmelzt in$(): Redstone$(br)$(thing)Formel$(): Si(FeS₂)₅(CrAl₂O₃)Hg₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Rubin", + "multiblock": { + "mapping": { + "0": "#forge:ores/ruby" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Chrom, Aluminium$(br)$(thing)Formel$(): CrAl₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Chromit", + "multiblock": { + "mapping": { + "0": "#forge:ores/chromite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Chrom$(br)$(thing)Formel$(): FeCr₂O₄$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Gummihandschuhe)Reizend (Hautkontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/210 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)Höhe$(): 6$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 15$(br2)$(thing)Gesteinsarten$(): Argillit, Diorit, Granit, Hornstein, Kalk, Kalkstein, Quarzit, Roter Granit, Tonstein, Trachyt", + "title": "Salts & Spodumen", + "type": "patchouli:text", + "anchor": "mars_salt" + }, + { + "Type": "patchouli:multiblock", + "name": "Spodumen", + "multiblock": { + "mapping": { + "0": "#forge:ores/spodumene" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Lithium, Aluminium$(br)$(thing)Formel$(): LiAlSi₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Halit", + "multiblock": { + "mapping": { + "0": "#forge:ores/salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Quelle von$(): Natrium, Chlor$(br)$(thing)Formel$(): NaCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sylvin", + "multiblock": { + "mapping": { + "0": "#forge:ores/rock_salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Kalium, Chlor, Dünger$(br)$(thing)Formel$(): KCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Lepidolith", + "multiblock": { + "mapping": { + "0": "#forge:ores/lepidolite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Kalium, Lithium, Aluminium, Fluor$(br)$(thing)Formel$(): KLi₃Al₄F₂O₁₀", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/280 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 45%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 50$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 15$(br2)$(thing)Gesteinsarten$(): Basalt, Dolomit, Hornstein, Kalk, Kalkstein, Roter Granit, Schieferstein, Tonstein", + "title": "Scheelit & Wolframit", + "type": "patchouli:text", + "anchor": "mars_tungsten" + }, + { + "Type": "patchouli:multiblock", + "name": "Scheelit", + "multiblock": { + "mapping": { + "0": "#forge:ores/scheelite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 42%$(br)$(thing)Quelle von$(): Wolfram$(br)$(thing)Formel$(): Ca(WO₃)O", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Wolframat", + "multiblock": { + "mapping": { + "0": "#forge:ores/tungstate" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 33%$(br)$(thing)Quelle von$(): Wolfram, Lithium$(br)$(thing)Formel$(): Li₂(WO₃)O", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Lithium", + "multiblock": { + "mapping": { + "0": "#forge:ores/lithium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 19%$(br)$(thing)Quelle von$(): Lithium$(br)$(thing)Formel$(): Li", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 4%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/215 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 50$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 40$(br2)$(thing)Gesteinsarten$(): Argillit, Basalt, Dazit, Gabbro, Granit, Hornstein, Kalk, Roter Granit, Schieferstein, Tonstein", + "title": "Silber, Galenit, & Blei", + "type": "patchouli:text", + "anchor": "mars_galena" + }, + { + "Type": "patchouli:multiblock", + "name": "Galenit", + "multiblock": { + "mapping": { + "0": "#forge:ores/galena" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 40%$(br)$(thing)Schmelzt in$(): Blei$(br)$(thing)Formel$(): PbS$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Leicht Giftig (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Blei", + "multiblock": { + "mapping": { + "0": "#forge:ores/lead" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 33%$(br)$(thing)Schmelzt in$(): Blei$(br)$(thing)Formel$(): Pb$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Leicht Giftig (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Silber", + "multiblock": { + "mapping": { + "0": "#forge:ores/silver" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Schmelzt in$(): Silber$(br)$(thing)Formel$(): Ag", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 6%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/350 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Hoch und schmal)Rohrader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -20 — 50$(br)$(thing)Höhe$(): 40$(br)$(thing)Radius$(): 8$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 15$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Rhyolith", + "title": "Smaragd & Beryllium", + "type": "patchouli:text", + "anchor": "mars_beryllium" + }, + { + "Type": "patchouli:multiblock", + "name": "Smaragd", + "multiblock": { + "mapping": { + "0": "#forge:ores/emerald" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 50%$(br)$(thing)Verwendet für$(): MV Komponenten, Gegenstandsfilter$(br)$(thing)Formel$(): Be₃Al₂Si₆O₁₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Beryllium", + "multiblock": { + "mapping": { + "0": "#forge:ores/beryllium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Beryllium$(br)$(thing)Formel$(): Be$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Gummihandschuhe)Berylliose (Hautkontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Realgar", + "multiblock": { + "mapping": { + "0": "#forge:ores/realgar" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Arsen$(br)$(thing)Formel$(): As₄S₄$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Arsenikose (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/150 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 40$(br2)$(thing)Gesteinsarten$(): Argillit, Basalt, Dazit, Diorit, Dolomit, Gabbro, Granit, Hornstein, Kalk, Kalkstein, Konglomerat, Quarzit, Roter Granit, Schieferstein, Tonstein, Trachyt", + "title": "Sphalerit & Galenit", + "type": "patchouli:text", + "anchor": "mars_surface_nickel_galena" + }, + { + "Type": "patchouli:multiblock", + "name": "Galenit", + "multiblock": { + "mapping": { + "0": "#forge:ores/galena" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Schmelzt in$(): Blei$(br)$(thing)Formel$(): PbS$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Leicht Giftig (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Nickel", + "multiblock": { + "mapping": { + "0": "#forge:ores/nickel" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 23%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): Ni", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sphalerit", + "multiblock": { + "mapping": { + "0": "#forge:ores/sphalerite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 17%$(br)$(thing)Schmelzt in$(): Zink$(br)$(thing)Formel$(): ZnS", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Silber", + "multiblock": { + "mapping": { + "0": "#forge:ores/silver" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 11%$(br)$(thing)Schmelzt in$(): Silber$(br)$(thing)Formel$(): Ag", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kobaltit", + "multiblock": { + "mapping": { + "0": "#forge:ores/cobaltite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 11%$(br)$(thing)Quelle von$(): Kobalt, Arsen$(br)$(thing)Formel$(): CoAsS$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Arsenikose (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/215 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 20%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 30$(br2)$(thing)Gesteinsarten$(): Argillit, Basalt, Dazit, Diorit, Gabbro, Granit, Hornstein, Kalk, Trachyt", + "title": "Sphalerit & Pyrit", + "type": "patchouli:text", + "anchor": "mars_sulfur" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 42%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sphalerit", + "multiblock": { + "mapping": { + "0": "#forge:ores/sphalerite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 23%$(br)$(thing)Schmelzt in$(): Zink$(br)$(thing)Formel$(): ZnS", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 19%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Schwefel", + "multiblock": { + "mapping": { + "0": "#forge:ores/sulfur" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 14%$(br)$(thing)Quelle von$(): Schwefel$(br)$(thing)Formel$(): S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/210 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 40$(br2)$(thing)Gesteinsarten$(): Argillit, Basalt, Dazit, Diorit, Dolomit, Gabbro, Hornstein, Kalk, Quarzit, Roter Granit, Schieferstein, Trachyt", + "title": "Tetrahedrit (Normal)", + "type": "patchouli:text", + "anchor": "mars_stibnite" + }, + { + "Type": "patchouli:multiblock", + "name": "Tetrahedrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/tetrahedrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 47%$(br)$(thing)Schmelzt in$(): Kupfer$(br)$(thing)Formel$(): Cu₃SbS₃Fe", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Kupfer", + "multiblock": { + "mapping": { + "0": "#forge:ores/copper" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 28%$(br)$(thing)Schmelzt in$(): Kupfer$(br)$(thing)Formel$(): Cu", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Stibnit", + "multiblock": { + "mapping": { + "0": "#forge:ores/stibnite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 19%$(br)$(thing)Schmelzt in$(): Antimonie$(br)$(thing)Formel$(): Sb₂S₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 4%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/140 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 80 — 180$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 40$(br2)$(thing)Gesteinsarten$(): Argillit, Basalt, Dazit, Diorit, Dolomit, Gabbro, Granit, Hornstein, Kalk, Kalkstein, Konglomerat, Quarzit, Roter Granit, Schieferstein, Tonstein, Trachyt", + "title": "Tetrahedrit (Oberfläche)", + "type": "patchouli:text", + "anchor": "mars_surface_tetrahedrite" + }, + { + "Type": "patchouli:multiblock", + "name": "Tetrahedrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/tetrahedrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 57%$(br)$(thing)Schmelzt in$(): Kupfer$(br)$(thing)Formel$(): Cu₃SbS₃Fe", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Kupfer", + "multiblock": { + "mapping": { + "0": "#forge:ores/copper" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 19%$(br)$(thing)Schmelzt in$(): Kupfer$(br)$(thing)Formel$(): Cu", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Stibnit", + "multiblock": { + "mapping": { + "0": "#forge:ores/stibnite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 19%$(br)$(thing)Schmelzt in$(): Antimonie$(br)$(thing)Formel$(): Sb₂S₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Redstone", + "multiblock": { + "mapping": { + "0": "#forge:ores/redstone" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 4%$(br)$(thing)Schmelzt in$(): Redstone$(br)$(thing)Formel$(): Si(FeS₂)₅(CrAl₂O₃)Hg₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/220 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 15$(br2)$(thing)Gesteinsarten$(): Argillit, Dazit, Diorit, Dolomit, Granit, Kalkstein, Konglomerat, Quarzit, Roter Granit, Schieferstein, Tonstein", + "title": "Trona, Talk, & Glaukonit", + "type": "patchouli:text", + "anchor": "mars_lubricant" + }, + { + "Type": "patchouli:multiblock", + "name": "Trona", + "multiblock": { + "mapping": { + "0": "#forge:ores/trona" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Natrium$(br)$(thing)Formel$(): Na₃C₂H(H₂O)₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Speckstein", + "multiblock": { + "mapping": { + "0": "#forge:ores/soapstone" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 21%$(br)$(thing)Quelle von$(): Magnesium$(br)$(thing)Formel$(): Mg₃Si₄H₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Talk", + "multiblock": { + "mapping": { + "0": "#forge:ores/talc" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 21%$(br)$(thing)Quelle von$(): Magnesium$(br)$(thing)Formel$(): Mg₃Si₄H₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Glaukonitsand", + "multiblock": { + "mapping": { + "0": "#forge:ores/glauconite_sand" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 7%$(br)$(thing)Quelle von$(): Magnesium, Aluminium$(br)$(thing)Formel$(): KMg₂Al₄H₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pentlandit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pentlandite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 7%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): Ni₉S₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 7%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + } + ], + "sortnum": 7 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/moon_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/moon_ore_index.json new file mode 100644 index 000000000..f991a1f56 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/moon_ore_index.json @@ -0,0 +1,47 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Mond Erzindex", + "icon": "ae2:certus_quartz_crystal", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "Dies ist der $(thing)Erzindex$() für $(thing)Der Mond$(). Alle Erze sind zuerst alphabetisch und danach von reichen nach armen Adertypen sortiert. Du kannst sie anklicken, um mehr über jede Ader zu erfahren.", + "title": "Mond Erzindex", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Almandin: $(l:tfg_ores/moon_vein_index#moon_sapphire)38%$(/l)$()$(li)Aluminium: $(l:tfg_ores/moon_vein_index#moon_desh)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_mica)14%$(/l)$()$(li)Alunit: $(l:tfg_ores/moon_vein_index#moon_gypsum)15%$(/l)$()$(li)Amethyst: $(l:tfg_ores/moon_vein_index#moon_garnet)38%$(/l)$()$(li)Apatit: $(l:tfg_ores/moon_vein_index#moon_apatite)23%$(/l)$()$(li)Armalcolit: $(l:tfg_ores/moon_vein_index#moon_bauxite)21%$(/l), $(l:tfg_ores/moon_vein_index#moon_desh)20%$(/l)$()$(li)Baryt: $(l:tfg_ores/moon_vein_index#moon_quartz)5%$(/l)$()$(li)Bastnäsit: $(l:tfg_ores/moon_vein_index#moon_monazite)61%$(/l)$()$(li)Bauxit: $(l:tfg_ores/moon_vein_index#moon_bauxite)36%$(/l), $(l:tfg_ores/moon_vein_index#moon_mica)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)20%$(/l)$()$(li)Beryllium: $(l:tfg_ores/moon_vein_index#moon_beryllium)31%$(/l)$()$(li)Blautopas: $(l:tfg_ores/moon_vein_index#moon_topaz)35%$(/l)$()$(li)Blei: $(l:tfg_ores/moon_vein_index#moon_silver)23%$(/l)$()$(li)Borax: $(l:tfg_ores/moon_vein_index#moon_gypsum)20%$(/l)$()$(li)Bornit: $(l:tfg_ores/moon_vein_index#moon_sheldonite)35%$(/l), $(l:tfg_ores/moon_vein_index#moon_topaz)15%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Certus Quarz: $(l:tfg_ores/moon_vein_index#moon_quartz)45%$(/l)$()$(li)Chalkopyrit: $(l:tfg_ores/moon_vein_index#moon_cassiterite)35%$(/l)$()$(li)Chalkosin: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Chromit: $(l:tfg_ores/moon_vein_index#moon_magnetite)40%$(/l)$()$(li)Cooperit: $(l:tfg_ores/moon_vein_index#moon_sheldonite)25%$(/l)$()$(li)Desh: $(l:tfg_ores/moon_vein_index#moon_desh)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_sphalerite)10%$(/l)$()$(li)Diamant: $(l:tfg_ores/moon_vein_index#moon_graphite)36%$(/l)$()$(li)Elektrotin: $(l:tfg_ores/moon_vein_index#moon_saltpeter)37%$(/l)$()$(li)Galenit: $(l:tfg_ores/moon_vein_index#moon_silver)28%$(/l)$()$(li)Garnierit: $(l:tfg_ores/moon_vein_index#moon_garnierite)23%$(/l)$()$(li)Gelber Granat: $(l:tfg_ores/moon_vein_index#moon_garnet)14%$(/l)$()$(li)Gips: $(l:tfg_ores/moon_vein_index#moon_gypsum)35%$(/l)$()$(li)Glaukonitsand: $(l:tfg_ores/moon_vein_index#moon_lubricant)25%$(/l)$()$(li)Glimmer: $(l:tfg_ores/moon_vein_index#moon_mica)23%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Graphit: $(l:tfg_ores/moon_vein_index#moon_graphite)52%$(/l)$()$(li)Grossular: $(l:tfg_ores/moon_vein_index#moon_manganese)37%$(/l)$()$(li)Grüner Saphir: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)5%$(/l)$()$(li)Ilmenit: $(l:tfg_ores/moon_vein_index#moon_bauxite)42%$(/l), $(l:tfg_ores/moon_vein_index#moon_desh)30%$(/l)$()$(li)Kalzit: $(l:tfg_ores/moon_vein_index#moon_gypsum)25%$(/l)$()$(li)Kassiterit: $(l:tfg_ores/moon_vein_index#moon_cassiterite)41%$(/l)$()$(li)Kobalt: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_garnierite)14%$(/l)$()$(li)Kobaltit: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_garnierite)19%$(/l)$()$(li)Kyanit: $(l:tfg_ores/moon_vein_index#moon_mica)33%$(/l)$()$(li)Lithium: $(l:tfg_ores/moon_vein_index#moon_scheelite)10%$(/l)$()$(li)Magnetit: $(l:tfg_ores/moon_vein_index#moon_magnetite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)20%$(/l)$()$(li)Molybdänit: $(l:tfg_ores/moon_vein_index#moon_molybdenum)33%$(/l)$()$(li)Monazit: $(l:tfg_ores/moon_vein_index#moon_monazite)30%$(/l)$()$(li)Natives Gold: $(l:tfg_ores/moon_vein_index#moon_gold)55%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Natives Kupfer: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)15%$(/l)$()$(li)Natives Silber: $(l:tfg_ores/moon_vein_index#moon_silver)42%$(/l)$()$(li)Neodym: $(l:tfg_ores/moon_vein_index#moon_monazite)6%$(/l)$()$(li)Netherquarz: $(l:tfg_ores/moon_vein_index#moon_quartz)30%$(/l)$()$(li)Nickel: $(l:tfg_ores/moon_vein_index#moon_sheldonite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_garnierite)19%$(/l)$()$(li)Olivin: $(l:tfg_ores/moon_vein_index#moon_graphite)10%$(/l), $(l:tfg_ores/moon_vein_index#moon_apatite)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_beryllium)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_gypsum)5%$(/l), $(l:tfg_ores/moon_vein_index#moon_mica)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_molybdenum)5%$(/l), $(l:tfg_ores/moon_vein_index#moon_redstone)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_silver)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_sapphire)2%$(/l), $(l:tfg_ores/moon_vein_index#moon_monazite)1%$(/l)$()$(li)Opal: $(l:tfg_ores/moon_vein_index#moon_garnet)38%$(/l)$()$(li)Pentlandit: $(l:tfg_ores/moon_vein_index#moon_garnierite)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_lubricant)15%$(/l)$()$(li)Platin: $(l:tfg_ores/moon_vein_index#moon_sheldonite)15%$(/l)$()$(li)Powellit: $(l:tfg_ores/moon_vein_index#moon_molybdenum)16%$(/l)$()$(li)Pyrit: $(l:tfg_ores/moon_vein_index#moon_sphalerite)40%$(/l)$()$(li)Pyrochlor: $(l:tfg_ores/moon_vein_index#moon_apatite)38%$(/l)$()$(li)Pyrolusit: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)38%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)Pyrop: $(l:tfg_ores/moon_vein_index#moon_sapphire)27%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Quarz: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)Redstone: $(l:tfg_ores/moon_vein_index#moon_redstone)42%$(/l)$()$(li)Roter Granat: $(l:tfg_ores/moon_vein_index#moon_garnet)9%$(/l)$()$(li)Rubin: $(l:tfg_ores/moon_vein_index#moon_redstone)33%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()$(li)Saphir: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)Scheelit: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)Smaragd: $(l:tfg_ores/moon_vein_index#moon_beryllium)45%$(/l)$()$(li)Speckstein: $(l:tfg_ores/moon_vein_index#moon_lubricant)30%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)20%$(/l)$()$(li)Spessartin: $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)Sphalerit: $(l:tfg_ores/moon_vein_index#moon_sphalerite)50%$(/l)$()$(li)Stibnit: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)20%$(/l)$()$(li)Sylvin: $(l:tfg_ores/moon_vein_index#moon_beryllium)18%$(/l)$()$(li)Talk: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Tantalit: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)14%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)12%$(/l)$()$(li)Tetrahedrit: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)40%$(/l)$()$(li)Thorianit: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)Topas: $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Tricalciumphosphat: $(l:tfg_ores/moon_vein_index#moon_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)Vanadium Magnetit: $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)Wolframat: $(l:tfg_ores/moon_vein_index#moon_scheelite)50%$(/l)$()$(li)Wulfenit: $(l:tfg_ores/moon_vein_index#moon_molybdenum)44%$(/l)$()$(li)Zeolith: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()$(li)Zinn: $(l:tfg_ores/moon_vein_index#moon_cassiterite)17%$(/l)$()$(li)Zinnober: $(l:tfg_ores/moon_vein_index#moon_redstone)19%$(/l)$()", + "type": "patchouli:text" + } + ], + "sortnum": 4 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/moon_vein_index.json new file mode 100644 index 000000000..574ca1384 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/moon_vein_index.json @@ -0,0 +1,2521 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Mond Aderindex", + "icon": "gtceu:moon_stone_certus_quartz_ore", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "Dies ist der $(thing)Erzindex$() für $(item)Der Mond$(). Jede Ader hat Details über Seltenheit, Dichte, Adertyp, gefundene Höhe, Größen, in welchen Gesteinen sie vorkommt und noch viel mehr.", + "title": "Mond Aderindex", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)$(l:tfg_ores/moon_vein_index#moon_garnet)Amethyst, Opal, & Granat$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_apatite)Apatit & Pyrochlor$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_monazite)Bastnasite & Monazite$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_bauxite)Bauxit & Ilmenit$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_cassiterite)Cassiterit & Chalkopyrit$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_quartz)Certus Quarz$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_magnetite)Chromit & Magnetit$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_sheldonite)Cooperit & Bornit$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_desh)Desh & Ilmenit$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_garnierite)Garnierit & Kobaltit$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_gypsum)Gips & Kalzit$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_gold)Gold & Magnetit$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_graphite)Graphit & Diamant$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_mica)Kyanit, Glimmer, & Bauxit$()$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)$(l:tfg_ores/moon_vein_index#moon_manganese)Mangan & Tantalum$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_pyrolusite)Pyrolusit and Kobalt$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_redstone)Redstone, Zinnober, & Rubin$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_saltpeter)Saltpeter & Elektrotin$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_sapphire)Saphir & Almandin$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_scheelite)Scheelit & Wolframit$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_silver)Silber, Galenit, & Blei$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_beryllium)Smaragd & Beryllium$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_lubricant)Speckstein, Talk, & Trona$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_sphalerite)Sphalerit & Pyrit$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_tetrahedrite)Tetrahedrit & Chalkosin$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_topaz)Topas & Chalkosin$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_molybdenum)Wulfenit & Molybdänit$()$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/230 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 10 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 35$(br)$(thing)Höhe$(): 7$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Rhyolith", + "title": "Amethyst, Opal, & Granat", + "type": "patchouli:text", + "anchor": "moon_garnet" + }, + { + "Type": "patchouli:multiblock", + "name": "Amethyst", + "multiblock": { + "mapping": { + "0": "#forge:ores/amethyst" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 38%$(br)$(thing)Quelle von$(): Eisen$(br)$(thing)Formel$(): (SiO₂)₄Fe", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Opal", + "multiblock": { + "mapping": { + "0": "#forge:ores/opal" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 38%$(br)$(thing)Quelle von$(): Silicium, Sauerstoff$(br)$(thing)Formel$(): (SiO₂)", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Gelber Granat", + "multiblock": { + "mapping": { + "0": "#forge:ores/yellow_garnet" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 14%$(br)$(thing)Quelle von$(): Andradit, Grossular, Uwarowit", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Roter Granat", + "multiblock": { + "mapping": { + "0": "#forge:ores/red_garnet" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 9%$(br)$(thing)Quelle von$(): Pyrop, Almandin, Spessartin", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/250 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 100$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 35$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Anorthosit, Diorit, Norit", + "title": "Apatit & Pyrochlor", + "type": "patchouli:text", + "anchor": "moon_apatite" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrochlor", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrochlore" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 38%$(br)$(thing)Quelle von$(): Niob$(br)$(thing)Formel$(): Ca₂Nb₂O₇", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Tricalciumphosphat", + "multiblock": { + "mapping": { + "0": "#forge:ores/tricalcium_phosphate" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 33%$(br)$(thing)Quelle von$(): Calcium, Phosphor$(br)$(thing)Formel$(): Ca₃(PO₄)₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Apatit", + "multiblock": { + "mapping": { + "0": "#forge:ores/apatite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 23%$(br)$(thing)Quelle von$(): Calcium, Phosphor, Wald-PTSD$(br)$(thing)Formel$(): Ca₅(PO₄)₃Cl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Olivin", + "multiblock": { + "mapping": { + "0": "#forge:ores/olivine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 4%$(br)$(thing)Quelle von$(): Magnesium, Eisen$(br)$(thing)Formel$(): Mg₂Fe(SiO₂)₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/310 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 20%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Andesit, Dazit, Phonolith, Rhyolith", + "title": "Bastnasite & Monazite", + "type": "patchouli:text", + "anchor": "moon_monazite" + }, + { + "Type": "patchouli:multiblock", + "name": "Bastnäsit", + "multiblock": { + "mapping": { + "0": "#forge:ores/bastnasite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 61%$(br)$(thing)Quelle von$(): Cer, Fluor$(br)$(thing)Formel$(): CeCFO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Monazit", + "multiblock": { + "mapping": { + "0": "#forge:ores/monazite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Quelle von$(): Phosphor, Seltene Erden$(br)$(thing)Formel$(): ?(PO₄)", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Neodym", + "multiblock": { + "mapping": { + "0": "#forge:ores/neodymium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 6%$(br)$(thing)Quelle von$(): Neodym$(br)$(thing)Formel$(): Nd", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Olivin", + "multiblock": { + "mapping": { + "0": "#forge:ores/olivine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 1%$(br)$(thing)Quelle von$(): Magnesium, Eisen$(br)$(thing)Formel$(): Mg₂Fe(SiO₂)₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/200 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 80$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Anorthosit, Basalt, Diorit, Norit, Phonolith, Rhyolith", + "title": "Bauxit & Ilmenit", + "type": "patchouli:text", + "anchor": "moon_bauxite" + }, + { + "Type": "patchouli:multiblock", + "name": "Ilmenit", + "multiblock": { + "mapping": { + "0": "#forge:ores/ilmenite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 42%$(br)$(thing)Quelle von$(): Eisen, Titan$(br)$(thing)Formel$(): FeTiO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Bauxit", + "multiblock": { + "mapping": { + "0": "#forge:ores/bauxite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 36%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Armalcolit", + "multiblock": { + "mapping": { + "0": "#forge:ores/armalcolite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 21%$(br)$(thing)Quelle von$(): Magnesium, Rutil, Titan$(br)$(thing)Formel$(): (Mg,Fe)Ti₂O₅", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/210 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 10 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 35$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Granit, Norit", + "title": "Cassiterit & Chalkopyrit", + "type": "patchouli:text", + "anchor": "moon_cassiterite" + }, + { + "Type": "patchouli:multiblock", + "name": "Kassiterit", + "multiblock": { + "mapping": { + "0": "#forge:ores/cassiterite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 41%$(br)$(thing)Quelle von$(): Zinn$(br)$(thing)Formel$(): SnO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Chalkopyrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/chalcopyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Kupfer$(br)$(thing)Formel$(): CuFeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Zinn", + "multiblock": { + "mapping": { + "0": "#forge:ores/tin" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 17%$(br)$(thing)Schmelzt in$(): Zinn$(br)$(thing)Formel$(): Sn", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Zeolith", + "multiblock": { + "mapping": { + "0": "#forge:ores/zeolite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Quelle von$(): Aluminium, Sauerstoff$(br)$(thing)Formel$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/230 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 10 — 100$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 80$(br2)$(thing)Gesteinsarten$(): Andesit, Anorthosit, Basalt, Dazit, Diorit, Gabbro, Norit, Phonolith, Rhyolith", + "title": "Certus Quarz", + "type": "patchouli:text", + "anchor": "moon_quartz" + }, + { + "Type": "patchouli:multiblock", + "name": "Certus Quarz", + "multiblock": { + "mapping": { + "0": "#forge:ores/certus_quartz" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 45%$(br)$(thing)Verwendet für$(): Applied Energistics 2$(br)$(thing)Formel$(): SiO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Netherquarz", + "multiblock": { + "mapping": { + "0": "#forge:ores/nether_quartz" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Verwendet für$(): Applied Energistics 2$(br)$(thing)Formel$(): SiO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Quarz", + "multiblock": { + "mapping": { + "0": "#forge:ores/quartzite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Verwendet für$(): LV Komponenten$(br)$(thing)Formel$(): SiO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Baryt", + "multiblock": { + "mapping": { + "0": "#forge:ores/barite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Quelle von$(): Barium$(br)$(thing)Formel$(): BaSO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/280 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 90$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 50$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Anorthosit, Diorit, Gabbro, Norit", + "title": "Chromit & Magnetit", + "type": "patchouli:text", + "anchor": "moon_magnetite" + }, + { + "Type": "patchouli:multiblock", + "name": "Chromit", + "multiblock": { + "mapping": { + "0": "#forge:ores/chromite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 40%$(br)$(thing)Quelle von$(): Chrom$(br)$(thing)Formel$(): FeCr₂O₄$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Gummihandschuhe)Reizend (Hautkontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Magnetit", + "multiblock": { + "mapping": { + "0": "#forge:ores/magnetite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₃O₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Vanadium Magnetit", + "multiblock": { + "mapping": { + "0": "#forge:ores/vanadium_magnetite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Eisen, Vanadium$(br)$(thing)Formel$(): (Fe₃O₄)V", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Gold", + "multiblock": { + "mapping": { + "0": "#forge:ores/gold" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Gold$(br)$(thing)Formel$(): Au", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Saphir", + "multiblock": { + "mapping": { + "0": "#forge:ores/sapphire" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/260 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 30$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Phonolith", + "title": "Cooperit & Bornit", + "type": "patchouli:text", + "anchor": "moon_sheldonite" + }, + { + "Type": "patchouli:multiblock", + "name": "Bornit", + "multiblock": { + "mapping": { + "0": "#forge:ores/bornite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Kupfer$(br)$(thing)Formel$(): Cu₅FeS₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Cooperit", + "multiblock": { + "mapping": { + "0": "#forge:ores/cooperite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Platin, Nickel, Palladium$(br)$(thing)Formel$(): Pt₃NiSPd", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Nickel", + "multiblock": { + "mapping": { + "0": "#forge:ores/nickel" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): Ni", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Platin", + "multiblock": { + "mapping": { + "0": "#forge:ores/platinum" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Platin$(br)$(thing)Formel$(): Pt", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/230 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 10 — 80$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 30$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Gabbro", + "title": "Desh & Ilmenit", + "type": "patchouli:text", + "anchor": "moon_desh" + }, + { + "Type": "patchouli:multiblock", + "name": "Ilmenit", + "multiblock": { + "mapping": { + "0": "#forge:ores/ilmenite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Quelle von$(): Eisen, Titan$(br)$(thing)Formel$(): FeTiO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Desh", + "multiblock": { + "mapping": { + "0": "#forge:ores/desh" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Eisen, Titan, Stickstoff$(br)$(thing)Formel$(): (Mg₂Fe(SiO₂)₂)₂(TiO₂)N₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Aluminium", + "multiblock": { + "mapping": { + "0": "#forge:ores/aluminium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Armalcolit", + "multiblock": { + "mapping": { + "0": "#forge:ores/armalcolite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Magnesium, Rutil, Titan$(br)$(thing)Formel$(): (Mg,Fe)Ti₂O₅", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/250 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 5 — 85$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Rhyolith", + "title": "Garnierit & Kobaltit", + "type": "patchouli:text", + "anchor": "moon_garnierite" + }, + { + "Type": "patchouli:multiblock", + "name": "Garnierit", + "multiblock": { + "mapping": { + "0": "#forge:ores/garnierite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 23%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): NiO", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pentlandit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pentlandite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 23%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): Ni₉S₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Nickel", + "multiblock": { + "mapping": { + "0": "#forge:ores/nickel" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 19%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): Ni", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kobaltit", + "multiblock": { + "mapping": { + "0": "#forge:ores/cobaltite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 19%$(br)$(thing)Quelle von$(): Kobalt, Arsen$(br)$(thing)Formel$(): CoAsS$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Arsenikose (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kobalt", + "multiblock": { + "mapping": { + "0": "#forge:ores/cobalt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 14%$(br)$(thing)Schmelzt in$(): Kobalt$(br)$(thing)Formel$(): Co", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/180 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 10 — 100$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 30$(br)$(thing)Höhe$(): 9$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Anorthosit, Norit, Phonolith", + "title": "Gips & Kalzit", + "type": "patchouli:text", + "anchor": "moon_gypsum" + }, + { + "Type": "patchouli:multiblock", + "name": "Gips", + "multiblock": { + "mapping": { + "0": "#forge:ores/gypsum" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Verwendet für$(): (färbbare) Alabasterziegel$(br)$(thing)Formel$(): CaS(H₂O)₂O₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kalzit", + "multiblock": { + "mapping": { + "0": "#forge:ores/calcite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Calcium$(br)$(thing)Formel$(): CaCO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Borax", + "multiblock": { + "mapping": { + "0": "#forge:ores/borax" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Natrium, Bor$(br)$(thing)Formel$(): Na₂B₄(H₂O)₁₀O₇", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Alunit", + "multiblock": { + "mapping": { + "0": "#forge:ores/alunite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Kalium, Aluminium$(br)$(thing)Formel$(): KAl₃Si₂H₆O₁₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Olivin", + "multiblock": { + "mapping": { + "0": "#forge:ores/olivine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Quelle von$(): Magnesium, Eisen$(br)$(thing)Formel$(): Mg₂Fe(SiO₂)₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/170 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 10 — 80$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 35$(br)$(thing)Höhe$(): 10$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Basalt, Diorit, Granit", + "title": "Gold & Magnetit", + "type": "patchouli:text", + "anchor": "moon_gold" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Gold", + "multiblock": { + "mapping": { + "0": "#forge:ores/gold" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 55%$(br)$(thing)Schmelzt in$(): Gold$(br)$(thing)Formel$(): Au", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Bauxit", + "multiblock": { + "mapping": { + "0": "#forge:ores/bauxite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Magnetit", + "multiblock": { + "mapping": { + "0": "#forge:ores/magnetite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₃O₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Grüner Saphir", + "multiblock": { + "mapping": { + "0": "#forge:ores/green_sapphire" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/260 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Hoch und schmal)Rohrader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 120$(br)$(thing)Höhe$(): 60$(br)$(thing)Radius$(): 9$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Anorthosit, Basalt, Basalt, Gabbro, Phonolith", + "title": "Graphit & Diamant", + "type": "patchouli:text", + "anchor": "moon_graphite" + }, + { + "Type": "patchouli:multiblock", + "name": "Graphit", + "multiblock": { + "mapping": { + "0": "#forge:ores/graphite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 52%$(br)$(thing)Verwendet für$(): $(l:mechanics/fire_clay)Schamotte$(), Graphen$(br)$(thing)Formel$(): C", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Diamant", + "multiblock": { + "mapping": { + "0": "#forge:ores/diamond" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 36%$(br)$(thing)Verwendet für$(): Mazeratoren, AE2$(br)$(thing)Formel$(): C", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Olivin", + "multiblock": { + "mapping": { + "0": "#forge:ores/olivine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Quelle von$(): Magnesium, Eisen$(br)$(thing)Formel$(): Mg₂Fe(SiO₂)₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/250 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 120$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 35$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Anorthosit, Diorit, Gabbro, Norit", + "title": "Kyanit, Glimmer, & Bauxit", + "type": "patchouli:text", + "anchor": "moon_mica" + }, + { + "Type": "patchouli:multiblock", + "name": "Kyanit", + "multiblock": { + "mapping": { + "0": "#forge:ores/kyanite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 33%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂SiO₅", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Glimmer", + "multiblock": { + "mapping": { + "0": "#forge:ores/mica" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 23%$(br)$(thing)Quelle von$(): Kalium, Aluminium, Fluor$(br)$(thing)Formel$(): KAl₃Si₃F₂O₁₀", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Bauxit", + "multiblock": { + "mapping": { + "0": "#forge:ores/bauxite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 23%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Aluminium", + "multiblock": { + "mapping": { + "0": "#forge:ores/aluminium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 14%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Olivin", + "multiblock": { + "mapping": { + "0": "#forge:ores/olivine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 4%$(br)$(thing)Quelle von$(): Magnesium, Eisen$(br)$(thing)Formel$(): Mg₂Fe(SiO₂)₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/215 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 5 — 80$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 30$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Basalt, Dazit, Gabbro, Norit", + "title": "Mangan & Tantalum", + "type": "patchouli:text", + "anchor": "moon_manganese" + }, + { + "Type": "patchouli:multiblock", + "name": "Grossular", + "multiblock": { + "mapping": { + "0": "#forge:ores/grossular" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 37%$(br)$(thing)Quelle von$(): Calcium, Aluminium$(br)$(thing)Formel$(): Ca₃Al₂Si₃O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Spessartin", + "multiblock": { + "mapping": { + "0": "#forge:ores/spessartine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Mangan, Aluminium$(br)$(thing)Formel$(): Al₂Mn₃Si₃O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrolusit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrolusite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Mangan$(br)$(thing)Formel$(): MnO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Tantalit", + "multiblock": { + "mapping": { + "0": "#forge:ores/tantalite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 12%$(br)$(thing)Quelle von$(): Mangan, Tantal$(br)$(thing)Formel$(): MnTa₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/210 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 20 — 80$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 35$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Andesit, Anorthosit, Basalt, Gabbro, Norit", + "title": "Pyrolusit and Kobalt", + "type": "patchouli:text", + "anchor": "moon_pyrolusite" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrolusit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrolusite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 38%$(br)$(thing)Quelle von$(): Mangan$(br)$(thing)Formel$(): MnO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kobaltit", + "multiblock": { + "mapping": { + "0": "#forge:ores/cobaltite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 23%$(br)$(thing)Quelle von$(): Kobalt, Arsen$(br)$(thing)Formel$(): CoAsS$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Arsenikose (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kobalt", + "multiblock": { + "mapping": { + "0": "#forge:ores/cobalt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 23%$(br)$(thing)Schmelzt in$(): Kobalt$(br)$(thing)Formel$(): Co", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Tantalit", + "multiblock": { + "mapping": { + "0": "#forge:ores/tantalite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 14%$(br)$(thing)Quelle von$(): Mangan, Tantal$(br)$(thing)Formel$(): MnTa₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/250 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 20%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 20 — 100$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 35$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Andesit, Dazit, Phonolith", + "title": "Redstone, Zinnober, & Rubin", + "type": "patchouli:text", + "anchor": "moon_redstone" + }, + { + "Type": "patchouli:multiblock", + "name": "Redstone", + "multiblock": { + "mapping": { + "0": "#forge:ores/redstone" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 42%$(br)$(thing)Schmelzt in$(): Redstone$(br)$(thing)Formel$(): Si(FeS₂)₅(CrAl₂O₃)Hg₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Rubin", + "multiblock": { + "mapping": { + "0": "#forge:ores/ruby" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 33%$(br)$(thing)Quelle von$(): Chrom, Aluminium$(br)$(thing)Formel$(): CrAl₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Zinnober", + "multiblock": { + "mapping": { + "0": "#forge:ores/cinnabar" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 19%$(br)$(thing)Quelle von$(): Quecksilber$(br)$(thing)Formel$(): HgS", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Olivin", + "multiblock": { + "mapping": { + "0": "#forge:ores/olivine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 4%$(br)$(thing)Quelle von$(): Magnesium, Eisen$(br)$(thing)Formel$(): Mg₂Fe(SiO₂)₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/210 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 90$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 30$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Andesit, Dazit, Norit, Rhyolith", + "title": "Saltpeter & Elektrotin", + "type": "patchouli:text", + "anchor": "moon_saltpeter" + }, + { + "Type": "patchouli:multiblock", + "name": "Elektrotin", + "multiblock": { + "mapping": { + "0": "#forge:ores/electrotine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 37%$(br)$(thing)Quelle von$(): Gold, Silber, Redstone$(br)$(thing)Formel$(): (Si(FeS₂)₅(CrAl₂O₃)Hg₃)(AgAu)", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Saltpeter", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 29%$(br)$(thing)Quelle von$(): Kalium, Stickstoff$(br)$(thing)Formel$(): KNO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Speckstein", + "multiblock": { + "mapping": { + "0": "#forge:ores/soapstone" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Magnesium$(br)$(thing)Formel$(): Mg₃Si₄H₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Talk", + "multiblock": { + "mapping": { + "0": "#forge:ores/talc" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 12%$(br)$(thing)Quelle von$(): Magnesium$(br)$(thing)Formel$(): Mg₃Si₄H₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/280 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 100$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 28$(br)$(thing)Höhe$(): 8$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Basalt, Norit", + "title": "Saphir & Almandin", + "type": "patchouli:text", + "anchor": "moon_sapphire" + }, + { + "Type": "patchouli:multiblock", + "name": "Almandin", + "multiblock": { + "mapping": { + "0": "#forge:ores/almandine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 38%$(br)$(thing)Quelle von$(): Aluminium, Eisen$(br)$(thing)Formel$(): Al₂Fe₃Si₃O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrop", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrope" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 27%$(br)$(thing)Quelle von$(): Aluminium, Magnesium$(br)$(thing)Formel$(): Al₂Mg₃Si₃O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Saphir", + "multiblock": { + "mapping": { + "0": "#forge:ores/sapphire" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 16%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Grüner Saphir", + "multiblock": { + "mapping": { + "0": "#forge:ores/green_sapphire" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 16%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Olivin", + "multiblock": { + "mapping": { + "0": "#forge:ores/olivine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 2%$(br)$(thing)Quelle von$(): Magnesium, Eisen$(br)$(thing)Formel$(): Mg₂Fe(SiO₂)₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/200 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 70$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 20$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Gabbro, Phonolith, Rhyolith", + "title": "Scheelit & Wolframit", + "type": "patchouli:text", + "anchor": "moon_scheelite" + }, + { + "Type": "patchouli:multiblock", + "name": "Wolframat", + "multiblock": { + "mapping": { + "0": "#forge:ores/tungstate" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 50%$(br)$(thing)Quelle von$(): Wolfram, Lithium$(br)$(thing)Formel$(): Li₂(WO₃)O", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Scheelit", + "multiblock": { + "mapping": { + "0": "#forge:ores/scheelite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 40%$(br)$(thing)Quelle von$(): Wolfram$(br)$(thing)Formel$(): Ca(WO₃)O", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Lithium", + "multiblock": { + "mapping": { + "0": "#forge:ores/lithium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Quelle von$(): Lithium$(br)$(thing)Formel$(): Li", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/210 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 20 — 75$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 30$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Anorthosit, Dazit, Diorit, Norit, Rhyolith", + "title": "Silber, Galenit, & Blei", + "type": "patchouli:text", + "anchor": "moon_silver" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Silber", + "multiblock": { + "mapping": { + "0": "#forge:ores/silver" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 42%$(br)$(thing)Schmelzt in$(): Silber$(br)$(thing)Formel$(): Ag", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Galenit", + "multiblock": { + "mapping": { + "0": "#forge:ores/galena" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 28%$(br)$(thing)Schmelzt in$(): Blei$(br)$(thing)Formel$(): PbS$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Leicht Giftig (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Blei", + "multiblock": { + "mapping": { + "0": "#forge:ores/lead" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 23%$(br)$(thing)Schmelzt in$(): Blei$(br)$(thing)Formel$(): Pb$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Leicht Giftig (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Olivin", + "multiblock": { + "mapping": { + "0": "#forge:ores/olivine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 4%$(br)$(thing)Quelle von$(): Magnesium, Eisen$(br)$(thing)Formel$(): Mg₂Fe(SiO₂)₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/260 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Hoch und schmal)Rohrader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 120$(br)$(thing)Höhe$(): 70$(br)$(thing)Radius$(): 8$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Anorthosit, Basalt, Phonolith", + "title": "Smaragd & Beryllium", + "type": "patchouli:text", + "anchor": "moon_beryllium" + }, + { + "Type": "patchouli:multiblock", + "name": "Smaragd", + "multiblock": { + "mapping": { + "0": "#forge:ores/emerald" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 45%$(br)$(thing)Verwendet für$(): MV Komponenten, Gegenstandsfilter$(br)$(thing)Formel$(): Be₃Al₂Si₆O₁₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Beryllium", + "multiblock": { + "mapping": { + "0": "#forge:ores/beryllium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 31%$(br)$(thing)Quelle von$(): Beryllium$(br)$(thing)Formel$(): Be$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Gummihandschuhe)Berylliose (Hautkontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sylvin", + "multiblock": { + "mapping": { + "0": "#forge:ores/rock_salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 18%$(br)$(thing)Quelle von$(): Kalium, Chlor, Dünger$(br)$(thing)Formel$(): KCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Olivin", + "multiblock": { + "mapping": { + "0": "#forge:ores/olivine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 4%$(br)$(thing)Quelle von$(): Magnesium, Eisen$(br)$(thing)Formel$(): Mg₂Fe(SiO₂)₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Thorianit", + "multiblock": { + "mapping": { + "0": "#forge:ores/thorium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 0%$(br)$(thing)Quelle von$(): Thorium$(br)$(thing)Formel$(): ThO₂$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Vollschutz)Radioaktiv (Beliebiger Kontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/190 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 66$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 30$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Anorthosit, Basalt, Diorit, Gabbro, Norit", + "title": "Speckstein, Talk, & Trona", + "type": "patchouli:text", + "anchor": "moon_lubricant" + }, + { + "Type": "patchouli:multiblock", + "name": "Speckstein", + "multiblock": { + "mapping": { + "0": "#forge:ores/soapstone" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Quelle von$(): Magnesium$(br)$(thing)Formel$(): Mg₃Si₄H₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Glaukonitsand", + "multiblock": { + "mapping": { + "0": "#forge:ores/glauconite_sand" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Magnesium, Aluminium$(br)$(thing)Formel$(): KMg₂Al₄H₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Talk", + "multiblock": { + "mapping": { + "0": "#forge:ores/talc" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Magnesium$(br)$(thing)Formel$(): Mg₃Si₄H₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pentlandit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pentlandite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): Ni₉S₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Trona", + "multiblock": { + "mapping": { + "0": "#forge:ores/trona" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Quelle von$(): Natrium$(br)$(thing)Formel$(): Na₃C₂H(H₂O)₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/205 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 2 — 75$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 35$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Gabbro, Phonolith", + "title": "Sphalerit & Pyrit", + "type": "patchouli:text", + "anchor": "moon_sphalerite" + }, + { + "Type": "patchouli:multiblock", + "name": "Sphalerit", + "multiblock": { + "mapping": { + "0": "#forge:ores/sphalerite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 50%$(br)$(thing)Schmelzt in$(): Zink$(br)$(thing)Formel$(): ZnS", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 40%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Desh", + "multiblock": { + "mapping": { + "0": "#forge:ores/desh" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Quelle von$(): Eisen, Titan, Stickstoff$(br)$(thing)Formel$(): (Mg₂Fe(SiO₂)₂)₂(TiO₂)N₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/190 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 50 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 35$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Andesit, Dazit, Phonolith, Rhyolith", + "title": "Tetrahedrit & Chalkosin", + "type": "patchouli:text", + "anchor": "moon_tetrahedrite" + }, + { + "Type": "patchouli:multiblock", + "name": "Tetrahedrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/tetrahedrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 40%$(br)$(thing)Schmelzt in$(): Kupfer$(br)$(thing)Formel$(): Cu₃SbS₃Fe", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Chalkosin", + "multiblock": { + "mapping": { + "0": "#forge:ores/chalcocite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Kupfer$(br)$(thing)Formel$(): Cu₂S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Stibnit", + "multiblock": { + "mapping": { + "0": "#forge:ores/stibnite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Schmelzt in$(): Antimonie$(br)$(thing)Formel$(): Sb₂S₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Kupfer", + "multiblock": { + "mapping": { + "0": "#forge:ores/copper" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Kupfer$(br)$(thing)Formel$(): Cu", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/210 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 120$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br)$(thing)Höhe$(): 16$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Andesit, Anorthosit, Basalt, Dazit, Diorit, Gabbro, Norit, Phonolith, Rhyolith", + "title": "Topas & Chalkosin", + "type": "patchouli:text", + "anchor": "moon_topaz" + }, + { + "Type": "patchouli:multiblock", + "name": "Blautopas", + "multiblock": { + "mapping": { + "0": "#forge:ores/blue_topaz" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Aluminium, Fluor$(br)$(thing)Formel$(): Al₂SiF₂H₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Topas", + "multiblock": { + "mapping": { + "0": "#forge:ores/topaz" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Aluminium, Fluor$(br)$(thing)Formel$(): Al₂SiFH₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Chalkosin", + "multiblock": { + "mapping": { + "0": "#forge:ores/chalcocite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Kupfer$(br)$(thing)Formel$(): Cu₂S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Bornit", + "multiblock": { + "mapping": { + "0": "#forge:ores/bornite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Kupfer$(br)$(thing)Formel$(): Cu₅FeS₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/245 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 50$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 35$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Basalt, Dazit, Gabbro, Norit", + "title": "Wulfenit & Molybdänit", + "type": "patchouli:text", + "anchor": "moon_molybdenum" + }, + { + "Type": "patchouli:multiblock", + "name": "Wulfenit", + "multiblock": { + "mapping": { + "0": "#forge:ores/wulfenite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 44%$(br)$(thing)Quelle von$(): Blei, Molybdän$(br)$(thing)Formel$(): PbMoO₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Molybdänit", + "multiblock": { + "mapping": { + "0": "#forge:ores/molybdenite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 33%$(br)$(thing)Quelle von$(): Molybdän$(br)$(thing)Formel$(): MoS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Powellit", + "multiblock": { + "mapping": { + "0": "#forge:ores/powellite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 16%$(br)$(thing)Quelle von$(): Molybdän$(br)$(thing)Formel$(): CaMoO₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Olivin", + "multiblock": { + "mapping": { + "0": "#forge:ores/olivine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Quelle von$(): Magnesium, Eisen$(br)$(thing)Formel$(): Mg₂Fe(SiO₂)₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + } + ], + "sortnum": 5 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/nether_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/nether_ore_index.json new file mode 100644 index 000000000..a0a2753bb --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/nether_ore_index.json @@ -0,0 +1,52 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Die Unterwelt Erzindex", + "icon": "minecraft:quartz", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "Dies ist der $(thing)Erzindex$() für $(thing)Die Unterwelt$(). Alle Erze sind zuerst alphabetisch und danach von reichen nach armen Adertypen sortiert. Du kannst sie anklicken, um mehr über jede Ader zu erfahren.", + "title": "Die Unterwelt Erzindex", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Almandin: $(l:tfg_ores/nether_vein_index#nether_sapphire)38%$(/l)$()$(li)Alunit: $(l:tfg_ores/nether_vein_index#nether_saltpeter)15%$(/l)$()$(li)Amethyst: $(l:tfg_ores/nether_vein_index#nether_garnet)38%$(/l)$()$(li)Anthrazit: $(l:tfg_ores/nether_vein_index#nether_anthracite)100%$(/l)$()$(li)Apatit: $(l:tfg_ores/nether_vein_index#nether_apatite)50%$(/l)$()$(li)Asbest: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)25%$(/l)$()$(li)Baryt: $(l:tfg_ores/nether_vein_index#nether_quartz)20%$(/l)$()$(li)Basaltischer Mineralsand: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)35%$(/l)$()$(li)Bastnäsit: $(l:tfg_ores/nether_vein_index#nether_monazite)50%$(/l)$()$(li)Bentonit: $(l:tfg_ores/nether_vein_index#nether_olivine)35%$(/l)$()$(li)Beryllium: $(l:tfg_ores/nether_vein_index#nether_beryllium)33%$(/l)$()$(li)Blautopas: $(l:tfg_ores/nether_vein_index#nether_topaz)35%$(/l)$()$(li)Blei: $(l:tfg_ores/nether_vein_index#nether_silver)35%$(/l)$()$(li)Bleicherde: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gypsum)15%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Borax: $(l:tfg_ores/nether_vein_index#nether_gypsum)20%$(/l)$()$(li)Bornit: $(l:tfg_ores/nether_vein_index#nether_sheldonite)41%$(/l), $(l:tfg_ores/nether_vein_index#nether_topaz)15%$(/l)$()$(li)Chalkopyrit: $(l:tfg_ores/nether_vein_index#nether_copper)20%$(/l)$()$(li)Chalkosin: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Chromit: $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Cooperit: $(l:tfg_ores/nether_vein_index#nether_sheldonite)29%$(/l)$()$(li)Diamant: $(l:tfg_ores/nether_vein_index#nether_graphite)40%$(/l)$()$(li)Elektrotin: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l)$()$(li)Galenit: $(l:tfg_ores/nether_vein_index#nether_silver)30%$(/l)$()$(li)Garnierit: $(l:tfg_ores/nether_vein_index#nether_garnierite)23%$(/l)$()$(li)Gelber Granat: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()$(li)Gelbes Limonit: $(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)Gips: $(l:tfg_ores/nether_vein_index#nether_gypsum)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)15%$(/l)$()$(li)Glaukonitsand: $(l:tfg_ores/nether_vein_index#nether_lubricant)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_olivine)15%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Glimmer: $(l:tfg_ores/nether_vein_index#nether_mica)33%$(/l)$()$(li)Goethit: $(l:tfg_ores/nether_vein_index#nether_goethite)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gold)5%$(/l)$()$(li)Granatsand: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)25%$(/l)$()$(li)Granitischer Mineralsand: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l)$()$(li)Graphit: $(l:tfg_ores/nether_vein_index#nether_graphite)45%$(/l)$()$(li)Grossular: $(l:tfg_ores/nether_vein_index#nether_manganese)37%$(/l)$()$(li)Grüner Saphir: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l)$()$(li)Hematit: $(l:tfg_ores/nether_vein_index#nether_hematite)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_goethite)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_gold)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_copper)5%$(/l)$()$(li)Kalzit: $(l:tfg_ores/nether_vein_index#nether_gypsum)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_lapis)15%$(/l)$()$(li)Kassiterit: $(l:tfg_ores/nether_vein_index#nether_cassiterite)36%$(/l)$()$(li)Kassiteritsand: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)35%$(/l)$()$(li)Kieselgur: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnet_tin)15%$(/l)$()$(li)Kobalt: $(l:tfg_ores/nether_vein_index#nether_garnierite)14%$(/l)$()$(li)Kobaltit: $(l:tfg_ores/nether_vein_index#nether_garnierite)19%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Kohle: $(l:tfg_ores/nether_vein_index#nether_graphite)15%$(/l)$()$(li)Kyanit: $(l:tfg_ores/nether_vein_index#nether_mica)46%$(/l)$()$(li)Lapis: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)Lasurit: $(l:tfg_ores/nether_vein_index#nether_lapis)35%$(/l)$()$(li)Lithium: $(l:tfg_ores/nether_vein_index#nether_scheelite)20%$(/l)$()$(li)Magnesit: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)Magnetit: $(l:tfg_ores/nether_vein_index#nether_magnetite)20%$(/l)$()$(li)Malachit: $(l:tfg_ores/nether_vein_index#nether_goethite)20%$(/l)$()$(li)Molybdänit: $(l:tfg_ores/nether_vein_index#nether_molybdenum)31%$(/l)$()$(li)Monazit: $(l:tfg_ores/nether_vein_index#nether_monazite)25%$(/l)$()$(li)Naquadah: $(l:tfg_ores/nether_vein_index#nether_naquadah)100%$(/l)$()$(li)Natives Gold: $(l:tfg_ores/nether_vein_index#nether_gold)75%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)5%$(/l)$()$(li)Natives Kupfer: $(l:tfg_ores/nether_vein_index#nether_copper)65%$(/l), $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)30%$(/l)$()$(li)Natives Silber: $(l:tfg_ores/nether_vein_index#nether_silver)35%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Neodym: $(l:tfg_ores/nether_vein_index#nether_monazite)25%$(/l)$()$(li)Netherquarz: $(l:tfg_ores/nether_vein_index#nether_quartz)54%$(/l)$()$(li)Nickel: $(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)Olivin: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/nether_vein_index#nether_garnet)38%$(/l)$()$(li)Pechblende: $(l:tfg_ores/nether_vein_index#nether_pitchblende)62%$(/l)$()$(li)Pentlandit: $(l:tfg_ores/nether_vein_index#nether_garnierite)23%$(/l), $(l:tfg_ores/nether_vein_index#nether_lubricant)15%$(/l)$()$(li)Platin: $(l:tfg_ores/nether_vein_index#nether_sheldonite)5%$(/l)$()$(li)Pollucit: $(l:tfg_ores/nether_vein_index#nether_mica)20%$(/l)$()$(li)Powellit: $(l:tfg_ores/nether_vein_index#nether_molybdenum)10%$(/l)$()$(li)Pyrit: $(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)Pyrochlor: $(l:tfg_ores/nether_vein_index#nether_apatite)15%$(/l)$()$(li)Pyrolusit: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)Pyrop: $(l:tfg_ores/nether_vein_index#nether_sapphire)27%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Quarz: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)Redstone: $(l:tfg_ores/nether_vein_index#nether_redstone)45%$(/l)$()$(li)Roter Granat: $(l:tfg_ores/nether_vein_index#nether_garnet)9%$(/l)$()$(li)Rubin: $(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)Saphir: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Scheelit: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()$(li)Schwefel: $(l:tfg_ores/nether_vein_index#nether_sulfur)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_sphalerite)35%$(/l)$()$(li)Smaragd: $(l:tfg_ores/nether_vein_index#nether_beryllium)47%$(/l)$()$(li)Sodalith: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)Speckstein: $(l:tfg_ores/nether_vein_index#nether_lubricant)30%$(/l)$()$(li)Spessartin: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)Sphalerit: $(l:tfg_ores/nether_vein_index#nether_sphalerite)40%$(/l), $(l:tfg_ores/nether_vein_index#nether_sulfur)15%$(/l)$()$(li)Stibnit: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)20%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Sylvin: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/l)$()$(li)Talk: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalit: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Tetrahedrit: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Thorianit: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Topas: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Tricalciumphosphat: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Uranit: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Vanadium Magnetit: $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l)$()$(li)Wolframat: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Wulfenit: $(l:tfg_ores/nether_vein_index#nether_molybdenum)42%$(/l), $(l:tfg_ores/nether_vein_index#nether_pitchblende)12%$(/l)$()$(li)Zinn: $(l:tfg_ores/nether_vein_index#nether_cassiterite)54%$(/l)$()$(li)Zinnober: $(l:tfg_ores/nether_vein_index#nether_redstone)20%$(/l)$()", + "type": "patchouli:text" + } + ], + "sortnum": 2 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/nether_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/nether_vein_index.json new file mode 100644 index 000000000..1866bbcf4 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/nether_vein_index.json @@ -0,0 +1,2857 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Die Unterwelt Aderindex", + "icon": "gtceu:pyroxenite_nether_quartz_ore", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "Dies ist der $(thing)Erzindex$() für $(item)Die Unterwelt$(). Jede Ader hat Details über Seltenheit, Dichte, Adertyp, gefundene Höhe, Größen, in welchen Gesteinen sie vorkommt und noch viel mehr.", + "title": "Die Unterwelt Aderindex", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_garnet)Amethyst, Opal, & Granat$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_anthracite)Anthrazit$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_apatite)Apatit & Pyrochlor$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_monazite)Bastnäsit & Monazit$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_olivine)Bentonit & Olivin$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_magnetite)Chromit$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sheldonite)Cooperit & Bornit$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_garnierite)Garnierit & Kobaltit$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_gypsum)Gips & Kalzit$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_goethite)Goethit$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_gold)Gold & Hematit$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_garnet_tin)Granat & Kassiteritsand$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_graphite)Graphit & Diamant$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_hematite)Hematit & Limonit$()$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_cassiterite)Kassiterit$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_copper)Kupfer & Chalkopyrit$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_mica)Kyanit, Glimmer, & Bauxit$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_lapis)Lapis, Lasurit, & Sodalith$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_manganese)Mangan & Tantal$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_basaltic_sands)Mineralsand$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_naquadah)Naquadah$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_quartz)Netherquarz$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_redstone)Redstone, Zinnober, & Rubin$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_saltpeter)Saltpeter & Elektrotin$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sapphire)Saphir & Almandin$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_scheelite)Scheelit & Wolframit$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sulfur)Schwefel & Pyrit$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_silver)Silber, Galenit, & Blei$()$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_beryllium)Smaragd & Beryllium$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_lubricant)Speckstein, Talk, & Trona$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sphalerite)Sphalerit & Pyrit$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_tetrahedrite)Tetrahedrit$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_topaz)Topas & Chalkolith$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_pitchblende)Uraninit & Pechblende$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_molybdenum)Wulfenit & Molybdänit$()$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/230 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br)$(thing)Höhe$(): 8$(br2)$(thing)Gesteinsarten$(): Basalt, Migmatit, Pyroxenit, Travertin", + "title": "Amethyst, Opal, & Granat", + "type": "patchouli:text", + "anchor": "nether_garnet" + }, + { + "Type": "patchouli:multiblock", + "name": "Amethyst", + "multiblock": { + "mapping": { + "0": "#forge:ores/amethyst" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 38%$(br)$(thing)Quelle von$(): Eisen$(br)$(thing)Formel$(): (SiO₂)₄Fe", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Opal", + "multiblock": { + "mapping": { + "0": "#forge:ores/opal" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 38%$(br)$(thing)Quelle von$(): Silicium, Sauerstoff$(br)$(thing)Formel$(): (SiO₂)", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Gelber Granat", + "multiblock": { + "mapping": { + "0": "#forge:ores/yellow_garnet" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 14%$(br)$(thing)Quelle von$(): Andradit, Grossular, Uwarowit", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Roter Granat", + "multiblock": { + "mapping": { + "0": "#forge:ores/red_garnet" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 9%$(br)$(thing)Quelle von$(): Pyrop, Almandin, Spessartin", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/35 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 80%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 48 — 127$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 13$(br)$(thing)Höhe$(): 4$(br2)$(thing)Gesteinsarten$(): Migmatit", + "title": "Anthrazit", + "type": "patchouli:text", + "anchor": "nether_anthracite" + }, + { + "Type": "patchouli:multiblock", + "name": "Anthrazit", + "multiblock": { + "mapping": { + "0": "beneath:ore/nether_cursecoal" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 100%$(br)$(thing)Verwendet für$(): Treibstoff$(br)$(thing)Formel$(): C", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/220 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 48 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 39$(br2)$(thing)Gesteinsarten$(): Gneis, Kristallschiefer", + "title": "Apatit & Pyrochlor", + "type": "patchouli:text", + "anchor": "nether_apatite" + }, + { + "Type": "patchouli:multiblock", + "name": "Apatit", + "multiblock": { + "mapping": { + "0": "#forge:ores/apatite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 50%$(br)$(thing)Quelle von$(): Calcium, Phosphor, Wald-PTSD$(br)$(thing)Formel$(): Ca₅(PO₄)₃Cl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Tricalciumphosphat", + "multiblock": { + "mapping": { + "0": "#forge:ores/tricalcium_phosphate" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Calcium, Phosphor$(br)$(thing)Formel$(): Ca₃(PO₄)₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrochlor", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrochlore" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Niob$(br)$(thing)Formel$(): Ca₂Nb₂O₇", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/245 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 24 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Pyroxenit", + "title": "Bastnäsit & Monazit", + "type": "patchouli:text", + "anchor": "nether_monazite" + }, + { + "Type": "patchouli:multiblock", + "name": "Bastnäsit", + "multiblock": { + "mapping": { + "0": "#forge:ores/bastnasite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 50%$(br)$(thing)Quelle von$(): Cer, Fluor$(br)$(thing)Formel$(): CeCFO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Monazit", + "multiblock": { + "mapping": { + "0": "#forge:ores/monazite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Phosphor, Seltene Erden$(br)$(thing)Formel$(): ?(PO₄)", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Neodym", + "multiblock": { + "mapping": { + "0": "#forge:ores/neodymium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Neodym$(br)$(thing)Formel$(): Nd", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/250 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 24 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 31$(br2)$(thing)Gesteinsarten$(): Basalt, Migmatit, Pyroxenit, Travertin", + "title": "Bentonit & Olivin", + "type": "patchouli:text", + "anchor": "nether_olivine" + }, + { + "Type": "patchouli:multiblock", + "name": "Bentonit", + "multiblock": { + "mapping": { + "0": "#forge:ores/bentonite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Natrium, Magnesium$(br)$(thing)Formel$(): NaMg₆Si₁₂H₄(H₂O)₅O₃₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Magnesit", + "multiblock": { + "mapping": { + "0": "#forge:ores/magnesite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Magnesium$(br)$(thing)Formel$(): MgCO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Olivin", + "multiblock": { + "mapping": { + "0": "#forge:ores/olivine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Magnesium, Eisen$(br)$(thing)Formel$(): Mg₂Fe(SiO₂)₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Glaukonitsand", + "multiblock": { + "mapping": { + "0": "#forge:ores/glauconite_sand" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Magnesium, Aluminium$(br)$(thing)Formel$(): KMg₂Al₄H₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/205 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 39$(br2)$(thing)Gesteinsarten$(): Basalt, Migmatit, Pyroxenit, Travertin", + "title": "Chromit", + "type": "patchouli:text", + "anchor": "nether_magnetite" + }, + { + "Type": "patchouli:multiblock", + "name": "Vanadium Magnetit", + "multiblock": { + "mapping": { + "0": "#forge:ores/vanadium_magnetite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Quelle von$(): Eisen, Vanadium$(br)$(thing)Formel$(): (Fe₃O₄)V", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Gold", + "multiblock": { + "mapping": { + "0": "#forge:ores/gold" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Schmelzt in$(): Gold$(br)$(thing)Formel$(): Au", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Magnetit", + "multiblock": { + "mapping": { + "0": "#forge:ores/magnetite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₃O₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Chromit", + "multiblock": { + "mapping": { + "0": "#forge:ores/chromite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Quelle von$(): Chrom$(br)$(thing)Formel$(): FeCr₂O₄$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Gummihandschuhe)Reizend (Hautkontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Saphir", + "multiblock": { + "mapping": { + "0": "#forge:ores/sapphire" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/250 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 35$(br2)$(thing)Gesteinsarten$(): Basalt, Migmatit, Pyroxenit, Travertin", + "title": "Cooperit & Bornit", + "type": "patchouli:text", + "anchor": "nether_sheldonite" + }, + { + "Type": "patchouli:multiblock", + "name": "Bornit", + "multiblock": { + "mapping": { + "0": "#forge:ores/bornite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 41%$(br)$(thing)Quelle von$(): Kupfer$(br)$(thing)Formel$(): Cu₅FeS₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Cooperit", + "multiblock": { + "mapping": { + "0": "#forge:ores/cooperite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 29%$(br)$(thing)Quelle von$(): Platin, Nickel, Palladium$(br)$(thing)Formel$(): Pt₃NiSPd", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Nickel", + "multiblock": { + "mapping": { + "0": "#forge:ores/nickel" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 23%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): Ni", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Platin", + "multiblock": { + "mapping": { + "0": "#forge:ores/platinum" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Platin$(br)$(thing)Formel$(): Pt", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/160 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 50%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 16 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Pyroxenit", + "title": "Garnierit & Kobaltit", + "type": "patchouli:text", + "anchor": "nether_garnierite" + }, + { + "Type": "patchouli:multiblock", + "name": "Garnierit", + "multiblock": { + "mapping": { + "0": "#forge:ores/garnierite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 23%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): NiO", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pentlandit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pentlandite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 23%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): Ni₉S₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Nickel", + "multiblock": { + "mapping": { + "0": "#forge:ores/nickel" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 19%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): Ni", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kobaltit", + "multiblock": { + "mapping": { + "0": "#forge:ores/cobaltite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 19%$(br)$(thing)Quelle von$(): Kobalt, Arsen$(br)$(thing)Formel$(): CoAsS$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Arsenikose (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kobalt", + "multiblock": { + "mapping": { + "0": "#forge:ores/cobalt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 14%$(br)$(thing)Schmelzt in$(): Kobalt$(br)$(thing)Formel$(): Co", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/180 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)Höhe$(): 9$(br2)$(thing)Gesteinsarten$(): Migmatit, Pyroxenit, Travertin", + "title": "Gips & Kalzit", + "type": "patchouli:text", + "anchor": "nether_gypsum" + }, + { + "Type": "patchouli:multiblock", + "name": "Gips", + "multiblock": { + "mapping": { + "0": "#forge:ores/gypsum" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Verwendet für$(): (färbbare) Alabasterziegel$(br)$(thing)Formel$(): CaS(H₂O)₂O₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kalzit", + "multiblock": { + "mapping": { + "0": "#forge:ores/calcite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Quelle von$(): Calcium$(br)$(thing)Formel$(): CaCO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Borax", + "multiblock": { + "mapping": { + "0": "#forge:ores/borax" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Natrium, Bor$(br)$(thing)Formel$(): Na₂B₄(H₂O)₁₀O₇", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Bleicherde", + "multiblock": { + "mapping": { + "0": "#forge:ores/fullers_earth" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Magnesium$(br)$(thing)Formel$(): MgSi₄H(H₂O)₄O₁₁", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/240 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 45%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 37$(br2)$(thing)Gesteinsarten$(): Basalt, Migmatit, Pyroxenit, Travertin", + "title": "Goethit", + "type": "patchouli:text", + "anchor": "nether_goethite" + }, + { + "Type": "patchouli:multiblock", + "name": "Goethit", + "multiblock": { + "mapping": { + "0": "#forge:ores/goethite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 50%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Malachit", + "multiblock": { + "mapping": { + "0": "#forge:ores/malachite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Schmelzt in$(): Kupfer$(br)$(thing)Formel$(): Cu₂CH₂O₅", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Gelbes Limonit", + "multiblock": { + "mapping": { + "0": "#forge:ores/yellow_limonite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/260 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 55%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 37$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Pyroxenit", + "title": "Gold & Hematit", + "type": "patchouli:text", + "anchor": "nether_gold" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Gold", + "multiblock": { + "mapping": { + "0": "#forge:ores/gold" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 75%$(br)$(thing)Schmelzt in$(): Gold$(br)$(thing)Formel$(): Au", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Goethit", + "multiblock": { + "mapping": { + "0": "#forge:ores/goethite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Gelbes Limonit", + "multiblock": { + "mapping": { + "0": "#forge:ores/yellow_limonite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/270 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 24 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Migmatit, Pyroxenit, Travertin", + "title": "Granat & Kassiteritsand", + "type": "patchouli:text", + "anchor": "nether_garnet_tin" + }, + { + "Type": "patchouli:multiblock", + "name": "Kassiteritsand", + "multiblock": { + "mapping": { + "0": "#forge:ores/cassiterite_sand" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Schmelzt in$(): Zinn$(br)$(thing)Formel$(): SnO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Granatsand", + "multiblock": { + "mapping": { + "0": "#forge:ores/garnet_sand" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Almandin, Andradit, Grossular, Pyrop, Spessartin, Uwarowit", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Asbest", + "multiblock": { + "mapping": { + "0": "#forge:ores/asbestos" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Magnesium, Lungenkrebs$(br)$(thing)Formel$(): Mg₃Si₂H₄O₉$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Asbestose (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kieselgur", + "multiblock": { + "mapping": { + "0": "#forge:ores/diatomite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Eisen, Aluminium$(br)$(thing)Formel$(): (SiO₂)₈(Fe₂O₃)(Al₂O₃)", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/120 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Hoch und schmal)Rohrader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 128$(br)$(thing)Höhe$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Pyroxenit", + "title": "Graphit & Diamant", + "type": "patchouli:text", + "anchor": "nether_graphite" + }, + { + "Type": "patchouli:multiblock", + "name": "Graphit", + "multiblock": { + "mapping": { + "0": "#forge:ores/graphite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 45%$(br)$(thing)Verwendet für$(): $(l:mechanics/fire_clay)Schamotte$(), Graphen$(br)$(thing)Formel$(): C", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Diamant", + "multiblock": { + "mapping": { + "0": "#forge:ores/diamond" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 40%$(br)$(thing)Verwendet für$(): Mazeratoren, AE2$(br)$(thing)Formel$(): C", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kohle", + "multiblock": { + "mapping": { + "0": "#forge:ores/coal" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Verwendet für$(): Treibstoff, Destillation$(br)$(thing)Formel$(): C", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/220 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 45%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 35$(br2)$(thing)Gesteinsarten$(): Basalt, Migmatit, Pyroxenit, Travertin", + "title": "Hematit & Limonit", + "type": "patchouli:text", + "anchor": "nether_hematite" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Goethit", + "multiblock": { + "mapping": { + "0": "#forge:ores/goethite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Rubin", + "multiblock": { + "mapping": { + "0": "#forge:ores/ruby" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Chrom, Aluminium$(br)$(thing)Formel$(): CrAl₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Gelbes Limonit", + "multiblock": { + "mapping": { + "0": "#forge:ores/yellow_limonite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeHO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Gold", + "multiblock": { + "mapping": { + "0": "#forge:ores/gold" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Gold$(br)$(thing)Formel$(): Au", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/170 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 50%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Pyroxenit", + "title": "Kassiterit", + "type": "patchouli:text", + "anchor": "nether_cassiterite" + }, + { + "Type": "patchouli:multiblock", + "name": "Zinn", + "multiblock": { + "mapping": { + "0": "#forge:ores/tin" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 54%$(br)$(thing)Schmelzt in$(): Zinn$(br)$(thing)Formel$(): Sn", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kassiterit", + "multiblock": { + "mapping": { + "0": "#forge:ores/cassiterite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 36%$(br)$(thing)Quelle von$(): Zinn$(br)$(thing)Formel$(): SnO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Saltpeter", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 9%$(br)$(thing)Quelle von$(): Kalium, Stickstoff$(br)$(thing)Formel$(): KNO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/170 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 50%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br2)$(thing)Gesteinsarten$(): Basalt, Migmatit, Pyroxenit, Travertin", + "title": "Kupfer & Chalkopyrit", + "type": "patchouli:text", + "anchor": "nether_copper" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Kupfer", + "multiblock": { + "mapping": { + "0": "#forge:ores/copper" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 65%$(br)$(thing)Schmelzt in$(): Kupfer$(br)$(thing)Formel$(): Cu", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Chalkopyrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/chalcopyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Kupfer$(br)$(thing)Formel$(): CuFeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Hematit", + "multiblock": { + "mapping": { + "0": "#forge:ores/hematite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/220 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 41$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Pyroxenit", + "title": "Kyanit, Glimmer, & Bauxit", + "type": "patchouli:text", + "anchor": "nether_mica" + }, + { + "Type": "patchouli:multiblock", + "name": "Kyanit", + "multiblock": { + "mapping": { + "0": "#forge:ores/kyanite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 46%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂SiO₅", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Glimmer", + "multiblock": { + "mapping": { + "0": "#forge:ores/mica" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 33%$(br)$(thing)Quelle von$(): Kalium, Aluminium, Fluor$(br)$(thing)Formel$(): KAl₃Si₃F₂O₁₀", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pollucit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pollucite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Cäsium, Aluminium$(br)$(thing)Formel$(): Cs₂Al₂Si₄(H₂O)₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/220 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br2)$(thing)Gesteinsarten$(): Migmatit, Pyroxenit, Travertin", + "title": "Lapis, Lasurit, & Sodalith", + "type": "patchouli:text", + "anchor": "nether_lapis" + }, + { + "Type": "patchouli:multiblock", + "name": "Lasurit", + "multiblock": { + "mapping": { + "0": "#forge:ores/lazurite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Aluminium, Calcium, Natrium$(br)$(thing)Formel$(): Al₆Si₆Ca₈Na₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sodalith", + "multiblock": { + "mapping": { + "0": "#forge:ores/sodalite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Aluminium, Natrium$(br)$(thing)Formel$(): Al₃Si₃Na₄Cl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Lapis", + "multiblock": { + "mapping": { + "0": "#forge:ores/lapis" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Lasurit, Sodalith, Pyrit, Calcit", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kalzit", + "multiblock": { + "mapping": { + "0": "#forge:ores/calcite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Calcium$(br)$(thing)Formel$(): CaCO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/225 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br2)$(thing)Gesteinsarten$(): Basalt, Migmatit, Pyroxenit, Travertin", + "title": "Mangan & Tantal", + "type": "patchouli:text", + "anchor": "nether_manganese" + }, + { + "Type": "patchouli:multiblock", + "name": "Grossular", + "multiblock": { + "mapping": { + "0": "#forge:ores/grossular" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 37%$(br)$(thing)Quelle von$(): Calcium, Aluminium$(br)$(thing)Formel$(): Ca₃Al₂Si₃O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Spessartin", + "multiblock": { + "mapping": { + "0": "#forge:ores/spessartine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Mangan, Aluminium$(br)$(thing)Formel$(): Al₂Mn₃Si₃O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrolusit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrolusite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Mangan$(br)$(thing)Formel$(): MnO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Tantalit", + "multiblock": { + "mapping": { + "0": "#forge:ores/tantalite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 12%$(br)$(thing)Quelle von$(): Mangan, Tantal$(br)$(thing)Formel$(): MnTa₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/160 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 48 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 48$(br)$(thing)Höhe$(): 9$(br2)$(thing)Gesteinsarten$(): Basalt, Granit", + "title": "Mineralsand", + "type": "patchouli:text", + "anchor": "nether_basaltic_sands" + }, + { + "Type": "patchouli:multiblock", + "name": "Basaltischer Mineralsand", + "multiblock": { + "mapping": { + "0": "#forge:ores/basaltic_mineral_sand" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): (Fe₃O₄)((Mg₂Fe(SiO₂)₂)(CaCo₃)₃(SiO₂)₈C₄)", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Granitischer Mineralsand", + "multiblock": { + "mapping": { + "0": "#forge:ores/granitic_mineral_sand" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): (Fe₃O₄)((SiO₂)₄(KMg₃Al₃F₂Si₃O₁₀))", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Bleicherde", + "multiblock": { + "mapping": { + "0": "#forge:ores/fullers_earth" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Magnesium$(br)$(thing)Formel$(): MgSi₄H(H₂O)₄O₁₁", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Gips", + "multiblock": { + "mapping": { + "0": "#forge:ores/gypsum" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Verwendet für$(): (färbbare) Alabasterziegel$(br)$(thing)Formel$(): CaS(H₂O)₂O₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/200 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 70%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 38$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 32$(br2)$(thing)Gesteinsarten$(): Basalt, Pyroxenit", + "title": "Naquadah", + "type": "patchouli:text", + "anchor": "nether_naquadah" + }, + { + "Type": "patchouli:multiblock", + "name": "Naquadah", + "multiblock": { + "mapping": { + "0": "#forge:ores/naquadah" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 100%$(br)$(thing)Quelle von$(): Naquadah, Tritanium$(br)$(thing)Formel$(): Nq", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/150 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br2)$(thing)Gesteinsarten$(): Basalt, Diorit, Gabbro, Granit, Migmatit, Pyroxenit, Travertin", + "title": "Netherquarz", + "type": "patchouli:text", + "anchor": "nether_quartz" + }, + { + "Type": "patchouli:multiblock", + "name": "Netherquarz", + "multiblock": { + "mapping": { + "0": "#forge:ores/nether_quartz" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 54%$(br)$(thing)Verwendet für$(): Applied Energistics 2$(br)$(thing)Formel$(): SiO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Quarz", + "multiblock": { + "mapping": { + "0": "#forge:ores/quartzite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Verwendet für$(): LV Komponenten$(br)$(thing)Formel$(): SiO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Baryt", + "multiblock": { + "mapping": { + "0": "#forge:ores/barite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Barium$(br)$(thing)Formel$(): BaSO₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/160 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 50%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br2)$(thing)Gesteinsarten$(): Granit, Pyroxenit", + "title": "Redstone, Zinnober, & Rubin", + "type": "patchouli:text", + "anchor": "nether_redstone" + }, + { + "Type": "patchouli:multiblock", + "name": "Redstone", + "multiblock": { + "mapping": { + "0": "#forge:ores/redstone" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 45%$(br)$(thing)Schmelzt in$(): Redstone$(br)$(thing)Formel$(): Si(FeS₂)₅(CrAl₂O₃)Hg₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Rubin", + "multiblock": { + "mapping": { + "0": "#forge:ores/ruby" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Chrom, Aluminium$(br)$(thing)Formel$(): CrAl₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Zinnober", + "multiblock": { + "mapping": { + "0": "#forge:ores/cinnabar" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Quecksilber$(br)$(thing)Formel$(): HgS", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/210 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Pyroxenit", + "title": "Saltpeter & Elektrotin", + "type": "patchouli:text", + "anchor": "nether_saltpeter" + }, + { + "Type": "patchouli:multiblock", + "name": "Saltpeter", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Kalium, Stickstoff$(br)$(thing)Formel$(): KNO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Kieselgur", + "multiblock": { + "mapping": { + "0": "#forge:ores/diatomite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Eisen, Aluminium$(br)$(thing)Formel$(): (SiO₂)₈(Fe₂O₃)(Al₂O₃)", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Elektrotin", + "multiblock": { + "mapping": { + "0": "#forge:ores/electrotine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Gold, Silber, Redstone$(br)$(thing)Formel$(): (Si(FeS₂)₅(CrAl₂O₃)Hg₃)(AgAu)", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Alunit", + "multiblock": { + "mapping": { + "0": "#forge:ores/alunite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Kalium, Aluminium$(br)$(thing)Formel$(): KAl₃Si₂H₆O₁₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/180 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 45%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 33$(br)$(thing)Höhe$(): 8$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Pyroxenit", + "title": "Saphir & Almandin", + "type": "patchouli:text", + "anchor": "nether_sapphire" + }, + { + "Type": "patchouli:multiblock", + "name": "Almandin", + "multiblock": { + "mapping": { + "0": "#forge:ores/almandine" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 38%$(br)$(thing)Quelle von$(): Aluminium, Eisen$(br)$(thing)Formel$(): Al₂Fe₃Si₃O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrop", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrope" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 27%$(br)$(thing)Quelle von$(): Aluminium, Magnesium$(br)$(thing)Formel$(): Al₂Mg₃Si₃O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Saphir", + "multiblock": { + "mapping": { + "0": "#forge:ores/sapphire" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 16%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Grüner Saphir", + "multiblock": { + "mapping": { + "0": "#forge:ores/green_sapphire" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 16%$(br)$(thing)Quelle von$(): Aluminium$(br)$(thing)Formel$(): Al₂O₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/180 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 45%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 25$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Pyroxenit", + "title": "Scheelit & Wolframit", + "type": "patchouli:text", + "anchor": "nether_scheelite" + }, + { + "Type": "patchouli:multiblock", + "name": "Scheelit", + "multiblock": { + "mapping": { + "0": "#forge:ores/scheelite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 45%$(br)$(thing)Quelle von$(): Wolfram$(br)$(thing)Formel$(): Ca(WO₃)O", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Wolframat", + "multiblock": { + "mapping": { + "0": "#forge:ores/tungstate" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Wolfram, Lithium$(br)$(thing)Formel$(): Li₂(WO₃)O", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Lithium", + "multiblock": { + "mapping": { + "0": "#forge:ores/lithium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Lithium$(br)$(thing)Formel$(): Li", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/165 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 50$(br2)$(thing)Gesteinsarten$(): Basalt, Diorit, Kristallschiefer, Pyroxenit", + "title": "Schwefel & Pyrit", + "type": "patchouli:text", + "anchor": "nether_sulfur" + }, + { + "Type": "patchouli:multiblock", + "name": "Schwefel", + "multiblock": { + "mapping": { + "0": "#forge:ores/sulfur" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 50%$(br)$(thing)Quelle von$(): Schwefel$(br)$(thing)Formel$(): S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sphalerit", + "multiblock": { + "mapping": { + "0": "#forge:ores/sphalerite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Zink$(br)$(thing)Formel$(): ZnS", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/160 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 50%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 24 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br2)$(thing)Gesteinsarten$(): Gneis, Granit, Pyroxenit", + "title": "Silber, Galenit, & Blei", + "type": "patchouli:text", + "anchor": "nether_silver" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Silber", + "multiblock": { + "mapping": { + "0": "#forge:ores/silver" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Schmelzt in$(): Silber$(br)$(thing)Formel$(): Ag", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Blei", + "multiblock": { + "mapping": { + "0": "#forge:ores/lead" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Schmelzt in$(): Blei$(br)$(thing)Formel$(): Pb$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Leicht Giftig (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Galenit", + "multiblock": { + "mapping": { + "0": "#forge:ores/galena" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Schmelzt in$(): Blei$(br)$(thing)Formel$(): PbS$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Leicht Giftig (Einatmung)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/300 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 45%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Hoch und schmal)Rohrader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 32 — 128$(br)$(thing)Höhe$(): 60$(br)$(thing)Radius$(): 12$(br2)$(thing)Gesteinsarten$(): Basalt, Migmatit, Pyroxenit, Travertin", + "title": "Smaragd & Beryllium", + "type": "patchouli:text", + "anchor": "nether_beryllium" + }, + { + "Type": "patchouli:multiblock", + "name": "Smaragd", + "multiblock": { + "mapping": { + "0": "#forge:ores/emerald" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 47%$(br)$(thing)Verwendet für$(): MV Komponenten, Gegenstandsfilter$(br)$(thing)Formel$(): Be₃Al₂Si₆O₁₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Beryllium", + "multiblock": { + "mapping": { + "0": "#forge:ores/beryllium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 33%$(br)$(thing)Quelle von$(): Beryllium$(br)$(thing)Formel$(): Be$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Gummihandschuhe)Berylliose (Hautkontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sylvin", + "multiblock": { + "mapping": { + "0": "#forge:ores/rock_salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 18%$(br)$(thing)Quelle von$(): Kalium, Chlor, Dünger$(br)$(thing)Formel$(): KCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Thorianit", + "multiblock": { + "mapping": { + "0": "#forge:ores/thorium" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 0%$(br)$(thing)Quelle von$(): Thorium$(br)$(thing)Formel$(): ThO₂$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Vollschutz)Radioaktiv (Beliebiger Kontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/250 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 35%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 41$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Pyroxenit", + "title": "Speckstein, Talk, & Trona", + "type": "patchouli:text", + "anchor": "nether_lubricant" + }, + { + "Type": "patchouli:multiblock", + "name": "Speckstein", + "multiblock": { + "mapping": { + "0": "#forge:ores/soapstone" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Quelle von$(): Magnesium$(br)$(thing)Formel$(): Mg₃Si₄H₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Glaukonitsand", + "multiblock": { + "mapping": { + "0": "#forge:ores/glauconite_sand" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Magnesium, Aluminium$(br)$(thing)Formel$(): KMg₂Al₄H₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Talk", + "multiblock": { + "mapping": { + "0": "#forge:ores/talc" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Quelle von$(): Magnesium$(br)$(thing)Formel$(): Mg₃Si₄H₂O₁₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pentlandit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pentlandite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): Ni₉S₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Trona", + "multiblock": { + "mapping": { + "0": "#forge:ores/trona" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Quelle von$(): Natrium$(br)$(thing)Formel$(): Na₃C₂H(H₂O)₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/170 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 50%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br2)$(thing)Gesteinsarten$(): Basalt, Migmatit, Pyroxenit, Travertin", + "title": "Sphalerit & Pyrit", + "type": "patchouli:text", + "anchor": "nether_sphalerite" + }, + { + "Type": "patchouli:multiblock", + "name": "Sphalerit", + "multiblock": { + "mapping": { + "0": "#forge:ores/sphalerite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 40%$(br)$(thing)Schmelzt in$(): Zink$(br)$(thing)Formel$(): ZnS", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Schwefel", + "multiblock": { + "mapping": { + "0": "#forge:ores/sulfur" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Schwefel$(br)$(thing)Formel$(): S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/170 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 50%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 32 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 45$(br2)$(thing)Gesteinsarten$(): Gneis, Kristallschiefer, Migmatit, Pyroxenit, Travertin", + "title": "Tetrahedrit", + "type": "patchouli:text", + "anchor": "nether_tetrahedrite" + }, + { + "Type": "patchouli:multiblock", + "name": "Tetrahedrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/tetrahedrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 50%$(br)$(thing)Schmelzt in$(): Kupfer$(br)$(thing)Formel$(): Cu₃SbS₃Fe", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Natives Kupfer", + "multiblock": { + "mapping": { + "0": "#forge:ores/copper" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Schmelzt in$(): Kupfer$(br)$(thing)Formel$(): Cu", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Stibnit", + "multiblock": { + "mapping": { + "0": "#forge:ores/stibnite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 20%$(br)$(thing)Schmelzt in$(): Antimonie$(br)$(thing)Formel$(): Sb₂S₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/180 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 33$(br)$(thing)Höhe$(): 7$(br2)$(thing)Gesteinsarten$(): Basalt, Migmatit, Pyroxenit, Travertin", + "title": "Topas & Chalkolith", + "type": "patchouli:text", + "anchor": "nether_topaz" + }, + { + "Type": "patchouli:multiblock", + "name": "Blautopas", + "multiblock": { + "mapping": { + "0": "#forge:ores/blue_topaz" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 35%$(br)$(thing)Quelle von$(): Aluminium, Fluor$(br)$(thing)Formel$(): Al₂SiF₂H₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Topas", + "multiblock": { + "mapping": { + "0": "#forge:ores/topaz" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Aluminium, Fluor$(br)$(thing)Formel$(): Al₂SiFH₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Chalkosin", + "multiblock": { + "mapping": { + "0": "#forge:ores/chalcocite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Kupfer$(br)$(thing)Formel$(): Cu₂S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Bornit", + "multiblock": { + "mapping": { + "0": "#forge:ores/bornite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Quelle von$(): Kupfer$(br)$(thing)Formel$(): Cu₅FeS₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/250 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 55%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 24$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Pyroxenit", + "title": "Uraninit & Pechblende", + "type": "patchouli:text", + "anchor": "nether_pitchblende" + }, + { + "Type": "patchouli:multiblock", + "name": "Pechblende", + "multiblock": { + "mapping": { + "0": "#forge:ores/pitchblende" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 62%$(br)$(thing)Quelle von$(): Uran, Thorium, Blei$(br)$(thing)Formel$(): (UO₂)₃ThPb$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Vollschutz)Radioaktiv (Beliebiger Kontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Uranit", + "multiblock": { + "mapping": { + "0": "#forge:ores/uraninite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 25%$(br)$(thing)Quelle von$(): Uran$(br)$(thing)Formel$(): UO₂$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Vollschutz)Radioaktiv (Beliebiger Kontakt)$(/t)$()", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Wulfenit", + "multiblock": { + "mapping": { + "0": "#forge:ores/wulfenite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 12%$(br)$(thing)Quelle von$(): Blei, Molybdän$(br)$(thing)Formel$(): PbMoO₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/245 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 55%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 128$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 31$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Pyroxenit", + "title": "Wulfenit & Molybdänit", + "type": "patchouli:text", + "anchor": "nether_molybdenum" + }, + { + "Type": "patchouli:multiblock", + "name": "Wulfenit", + "multiblock": { + "mapping": { + "0": "#forge:ores/wulfenite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 42%$(br)$(thing)Quelle von$(): Blei, Molybdän$(br)$(thing)Formel$(): PbMoO₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Molybdänit", + "multiblock": { + "mapping": { + "0": "#forge:ores/molybdenite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 31%$(br)$(thing)Quelle von$(): Molybdän$(br)$(thing)Formel$(): MoS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Nickel", + "multiblock": { + "mapping": { + "0": "#forge:ores/nickel" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Nickel$(br)$(thing)Formel$(): Ni", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Powellit", + "multiblock": { + "mapping": { + "0": "#forge:ores/powellite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Quelle von$(): Molybdän$(br)$(thing)Formel$(): CaMoO₄", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + } + ], + "sortnum": 3 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/venus_ore_index.json new file mode 100644 index 000000000..0bbb0ed43 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/venus_ore_index.json @@ -0,0 +1,22 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Venus Erzindex", + "icon": "vintageimprovements:sulfur", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "Dies ist der $(thing)Erzindex$() für $(thing)Venus$(). Alle Erze sind zuerst alphabetisch und danach von reichen nach armen Adertypen sortiert. Du kannst sie anklicken, um mehr über jede Ader zu erfahren.", + "title": "Venus Erzindex", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Halit: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Lepidolith: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Pyrit: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Schwefel: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)Sphalerit: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()$(li)Spodumen: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Sylvin: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()", + "type": "patchouli:text" + } + ], + "sortnum": 8 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/venus_vein_index.json new file mode 100644 index 000000000..be67feb52 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/venus_vein_index.json @@ -0,0 +1,181 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Venus Aderindex", + "icon": "gtceu:venus_stone_sulfur_ore", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "Dies ist der $(thing)Erzindex$() für $(item)Venus$(). Jede Ader hat Details über Seltenheit, Dichte, Adertyp, gefundene Höhe, Größen, in welchen Gesteinen sie vorkommt und noch viel mehr.", + "title": "Venus Aderindex", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)$(l:tfg_ores/venus_vein_index#venus_manual_salt)Salze & Spodumen$()$()$(li)$(l:tfg_ores/venus_vein_index#venus_manual_sulfur)Schwefel & Pyrit$()$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/30 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 20%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 20$(br)$(thing)Höhe$(): 6$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 30$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Ignimbrit, Lamproit, Rhyolith, Trachyt, Travertin$(br2)Erscheint nur im $(thing)Salzebenen$() Biom.", + "title": "Salze & Spodumen", + "type": "patchouli:text", + "anchor": "venus_manual_salt" + }, + { + "Type": "patchouli:multiblock", + "name": "Halit", + "multiblock": { + "mapping": { + "0": "#forge:ores/salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 80%$(br)$(thing)Quelle von$(): Natrium, Chlor$(br)$(thing)Formel$(): NaCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sylvin", + "multiblock": { + "mapping": { + "0": "#forge:ores/rock_salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 10%$(br)$(thing)Quelle von$(): Kalium, Chlor, Dünger$(br)$(thing)Formel$(): KCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Lepidolith", + "multiblock": { + "mapping": { + "0": "#forge:ores/lepidolite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Quelle von$(): Kalium, Lithium, Aluminium, Fluor$(br)$(thing)Formel$(): KLi₃Al₄F₂O₁₀", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Spodumen", + "multiblock": { + "mapping": { + "0": "#forge:ores/spodumene" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Quelle von$(): Lithium, Aluminium$(br)$(thing)Formel$(): LiAlSi₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/30 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 20%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 40 — 65$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 20$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 30$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Ignimbrit, Lamproit, Rhyolith, Trachyt, Travertin$(br2)Erscheint nur im $(thing)Schwefelschlucht$() Biom.", + "title": "Schwefel & Pyrit", + "type": "patchouli:text", + "anchor": "venus_manual_sulfur" + }, + { + "Type": "patchouli:multiblock", + "name": "Schwefel", + "multiblock": { + "mapping": { + "0": "#forge:ores/sulfur" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 80%$(br)$(thing)Quelle von$(): Schwefel$(br)$(thing)Formel$(): S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrit", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 15%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): FeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sphalerit", + "multiblock": { + "mapping": { + "0": "#forge:ores/sphalerite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Zink$(br)$(thing)Formel$(): ZnS", + "type": "patchouli:multiblock" + } + ], + "sortnum": 9 +} \ No newline at end of file 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 3729f5313..c7842768a 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 @@ -2581,7 +2581,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/160 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 100$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Гранит$(br2)Не получается найти это? На дне океана легко увидеть красное свечение!", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/160 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 100$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Гранит$(br2)Никак не найти? Гранит всегда появляется под $(thing)Риолитом$(), а на дне океана ищи красное свечение!", "title": "Редстоун, Киноварь и Рубин", "type": "patchouli:text", "anchor": "normal_redstone" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json index a0e933ece..70382e8da 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json @@ -14,13 +14,80 @@ }, { "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)Сера и Пирит$()$()", + "text": "$(li)$(l:tfg_ores/venus_vein_index#venus_manual_sulfur)Сера и Пирит$()$()$(li)$(l:tfg_ores/venus_vein_index#venus_manual_salt)Соли и Cподумен$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/30 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 40 — 65$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)Высота$(): 6$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Игнимбрит, Лампроит, Риолит, Травертин, Трахит$(br2)Only appears in the $(thing)Salt Flats$() biome.", - "title": "Salts & Spodumene", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/30 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 40 — 65$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Игнимбрит, Лампроит, Риолит, Травертин, Трахит$(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)Процент руды$(): 80%$(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)Процент руды$(): 15%$(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)Процент руды$(): 5%$(br)$(thing)Плавится в$(): Цинк$(br)$(thing)Формула$(): ZnS", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/30 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 40 — 65$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)Высота$(): 6$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Игнимбрит, Лампроит, Риолит, Травертин, Трахит$(br2)Встречается только в $(thing)Соляных равнинах$().", + "title": "Соли и Cподумен", "type": "patchouli:text", "anchor": "venus_manual_salt" }, @@ -108,73 +175,6 @@ "Type": "patchouli:empty", "draw_filler": true, "type": "patchouli:empty" - }, - { - "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/30 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 20%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 40 — 65$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Игнимбрит, Лампроит, Риолит, Травертин, Трахит", - "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)Процент руды$(): 80%$(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)Процент руды$(): 15%$(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)Процент руды$(): 5%$(br)$(thing)Плавится в$(): Цинк$(br)$(thing)Формула$(): ZnS", - "type": "patchouli:multiblock" } ], "sortnum": 9 diff --git a/kubejs/assets/tfcscraping/lang/zh_cn.json b/kubejs/assets/tfcscraping/lang/zh_cn.json new file mode 100644 index 000000000..bc8c61138 --- /dev/null +++ b/kubejs/assets/tfcscraping/lang/zh_cn.json @@ -0,0 +1,24 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "item.tfcscraping.metal.scraping_knife.bismuth_bronze": "铋青铜刮皮刀", + "item.tfcscraping.metal.scraping_knife_blade.bismuth_bronze": "铋青铜刮皮刀片", + "item.tfcscraping.metal.scraping_knife.black_bronze": "黑铜刮皮刀", + "item.tfcscraping.metal.scraping_knife_blade.black_bronze": "黑铜刮皮刀片", + "item.tfcscraping.metal.scraping_knife.bronze": "青铜刮皮刀", + "item.tfcscraping.metal.scraping_knife_blade.bronze": "青铜刮皮刀片", + "item.tfcscraping.metal.scraping_knife.copper": "铜刮皮刀", + "item.tfcscraping.metal.scraping_knife_blade.copper": "铜刮皮刀片", + "item.tfcscraping.metal.scraping_knife.wrought_iron": "锻铁刮皮刀", + "item.tfcscraping.metal.scraping_knife_blade.wrought_iron": "锻铁刮皮刀片", + "item.tfcscraping.metal.scraping_knife.steel": "钢刮皮刀", + "item.tfcscraping.metal.scraping_knife_blade.steel": "钢刮皮刀片", + "item.tfcscraping.metal.scraping_knife.black_steel": "黑钢刮皮刀", + "item.tfcscraping.metal.scraping_knife_blade.black_steel": "黑钢刮皮刀片", + "item.tfcscraping.metal.scraping_knife.blue_steel": "蓝钢刮皮刀", + "item.tfcscraping.metal.scraping_knife_blade.blue_steel": "蓝钢刮皮刀片", + "item.tfcscraping.metal.scraping_knife.red_steel": "红钢刮皮刀", + "item.tfcscraping.metal.scraping_knife_blade.red_steel": "红钢刮皮刀片", + "item.tfcscraping.ceramic.unfired_scraping_knife_blade_mold": "未烧制的刮皮刀片模具", + "item.tfcscraping.ceramic.scraping_knife_blade_mold": "刮皮刀片模具", + "tfcscraping.creative_tab.scraping": "刮皮刀" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/de_de.json b/kubejs/assets/tfg/lang/de_de.json new file mode 100644 index 000000000..093d10631 --- /dev/null +++ b/kubejs/assets/tfg/lang/de_de.json @@ -0,0 +1,1998 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "biome.tfg.nether/basalt_deltas": "Basaltdeltas", + "biome.tfg.nether/decaying_caverns": "Verfallende Höhlen", + "biome.tfg.nether/lush_hollow": "Üppige Höhlen", + "biome.tfg.nether/webbed_lair": "Vernetztes Versteck", + "biome.tfg.nether/ash_forest": "Aschewald", + "biome.tfg.nether/lava_floes": "Lavaschollen", + "biome.tfg.nether/diorite_caves": "Tiefe Höhlen", + "biome.tfg.nether/gabbro_caves": "Tiefe Höhlen", + "biome.tfg.nether/gneiss_caves": "Tiefe Höhlen", + "biome.tfg.nether/granite_caves": "Tiefe Höhlen", + "biome.tfg.nether/schist_caves": "Tiefe Höhlen", + "biome.tfg.moon/lunar_asurine_dense": "Certusfelder", + "biome.tfg.moon/lunar_asurine_sparse": "Asurinfelder", + "biome.tfg.moon/lunar_chorus_dense": "Chorusdickicht", + "biome.tfg.moon/lunar_chorus_sparse": "Choruswald", + "biome.tfg.moon/lunar_corals_dense": "Mondriff", + "biome.tfg.moon/lunar_corals_sparse": "Mare", + "biome.tfg.moon/lunar_lights_dense": "Lichtblütenmacchia", + "biome.tfg.moon/lunar_lights_sparse": "Lichtblütenbuschland", + "biome.tfg.moon/lunar_plains": "Mondebene", + "biome.tfg.moon/lunar_sands": "Mondwüste", + "biome.tfg.mars/martian_deep_desert": "Tiefe Marsianische Dünen", + "biome.tfg.mars/martian_dunes": "Marsianische Wüste", + "biome.tfg.mars/martian_dune_edge": "Marsianischer Wüstenrand", + "biome.tfg.mars/martian_river": "Marsianische Küste", + "biome.tfg.mars/martian_mountains": "Erloschener Marsianischer Vulkan", + "biome.tfg.mars/amber_edge": "Amberrand", + "biome.tfg.mars/amber_plains": "Amberebene", + "biome.tfg.mars/amber_hills": "Amberhügel", + "biome.tfg.mars/rusticus_edge": "Rusticusrand", + "biome.tfg.mars/rusticus_plains": "Rusticusalm", + "biome.tfg.mars/rusticus_hills": "Rusticusheide", + "biome.tfg.mars/sangnum_edge": "Sangnumrand", + "biome.tfg.mars/sangnum_plains": "Sangnumprärie", + "biome.tfg.mars/sangnum_hills": "Sangnumheidemoor", + "biome.tfg.venus/arachnoids": "Venusische Arachnoiden", + "biome.tfg.venus/fractured_pools": "Zerzauste Seen", + "biome.tfg.venus/fumaroles": "Gashaltige Fumarolen", + "biome.tfg.venus/geysers": "Siedende Geysire", + "biome.tfg.venus/jagged_tablelands": "Zerklüftetes Tafelland", + "biome.tfg.venus/salt_flats": "Salztonebene", + "biome.tfg.venus/stromatolite_beach": "Stromatolithküste", + "biome.tfg.venus/sulfuric_ravine": "Schwefelschlucht", + "biome.tfg.venus/scorching_volcanoes": "Glühende Vulkane", + "block.tfg.piglin_disguise": "Piglinverkleidung", + "block.tfg.piglin_disguise_block": "Piglinverkleidung", + "block.tfg.dry_ice": "Trockeneis", + "block.tfg.decorative_vase.black": "Schwarze Dekorative Vase", + "block.tfg.decorative_vase.gray": "Graue Dekorative Vase", + "block.tfg.decorative_vase.light_gray": "Hellgraue Dekorative Vase", + "block.tfg.decorative_vase.white": "Weiße Dekorative Vase", + "block.tfg.decorative_vase.pink": "Pinke Dekorative Vase", + "block.tfg.decorative_vase.magenta": "Magenta Dekorative Vase", + "block.tfg.decorative_vase.purple": "Violette Dekorative Vase", + "block.tfg.decorative_vase.blue": "Blaue Dekorative Vase", + "block.tfg.decorative_vase.light_blue": "Hellblaue Dekorative Vase", + "block.tfg.decorative_vase.cyan": "Türkise Dekorative Vase", + "block.tfg.decorative_vase.green": "Grüne Dekorative Vase", + "block.tfg.decorative_vase.lime": "Hellgrüne Dekorative Vase", + "block.tfg.decorative_vase.yellow": "Gelbe Dekorative Vase", + "block.tfg.decorative_vase.orange": "Orange Dekorative Vase", + "block.tfg.decorative_vase.red": "Rote Dekorative Vase", + "block.tfg.decorative_vase.brown": "Braune Dekorative Vase", + "block.tfg.decorative_vase.unfired": "Ungebrannte Dekorative Vase", + "block.tfg.decorative_vase.unfired.black": "Schwarze Ungebrannte Dekorative Vase", + "block.tfg.decorative_vase.unfired.gray": "Graue Ungebrannte Dekorative Vase", + "block.tfg.decorative_vase.unfired.light_gray": "Hellgraue Ungebrannte Dekorative Vase", + "block.tfg.decorative_vase.unfired.white": "Weiße Ungebrannte Dekorative Vase", + "block.tfg.decorative_vase.unfired.pink": "Pinke Ungebrannte Dekorative Vase", + "block.tfg.decorative_vase.unfired.magenta": "Magenta Ungebrannte Dekorative Vase", + "block.tfg.decorative_vase.unfired.purple": "Violette Ungebrannte Dekorative Vase", + "block.tfg.decorative_vase.unfired.blue": "Blaue Ungebrannte Dekorative Vase", + "block.tfg.decorative_vase.unfired.light_blue": "Hellblaue Ungebrannte Dekorative Vase", + "block.tfg.decorative_vase.unfired.cyan": "Türkise Ungebrannte Dekorative Vase", + "block.tfg.decorative_vase.unfired.green": "Grüne Ungebrannte Dekorative Vase", + "block.tfg.decorative_vase.unfired.lime": "Hellgrüne Ungebrannte Dekorative Vase", + "block.tfg.decorative_vase.unfired.yellow": "Gelbe Ungebrannte Dekorative Vase", + "block.tfg.decorative_vase.unfired.orange": "Orange Ungebrannte Dekorative Vase", + "block.tfg.decorative_vase.unfired.red": "Rote Ungebrannte Dekorative Vase", + "block.tfg.decorative_vase.unfired.brown": "Braune Ungebrannte Dekorative Vase", + "block.tfg.decorative_vase.generated.black": "Schwarze Loot Vase", + "block.tfg.decorative_vase.generated.gray": "Graue Loot Vase", + "block.tfg.decorative_vase.generated.light_gray": "Hellgraue Loot Vase", + "block.tfg.decorative_vase.generated.white": "Weiße Loot Vase", + "block.tfg.decorative_vase.generated.pink": "Pinke Loot Vase", + "block.tfg.decorative_vase.generated.magenta": "Magenta Loot Vase", + "block.tfg.decorative_vase.generated.purple": "Violette Loot Vase", + "block.tfg.decorative_vase.generated.blue": "Blaue Loot Vase", + "block.tfg.decorative_vase.generated.light_blue": "Hellblaue Loot Vase", + "block.tfg.decorative_vase.generated.cyan": "Türkise Loot Vase", + "block.tfg.decorative_vase.generated.green": "Grüne Loot Vase", + "block.tfg.decorative_vase.generated.lime": "Hellgrüne Loot Vase", + "block.tfg.decorative_vase.generated.yellow": "Gelbe Loot Vase", + "block.tfg.decorative_vase.generated.orange": "Orange Loot Vase", + "block.tfg.decorative_vase.generated.red": "Rote Loot Vase", + "block.tfg.decorative_vase.generated.brown": "Braune Loot Vase", + "block.tfg.light_concrete_support": "Leichtbetonstütze", + "block.tfg.light_concrete_support_horizontal": "Horizontale Leichtbetonstütze", + "block.tfg.dark_concrete_support": "Dunkelbetonstütze", + "block.tfg.dark_concrete_support_horizontal": "Horizontale Dunkelbetonstütze", + "block.tfg.reinforced_light_concrete_support": "Verstärkte Leichtbetonstütze", + "block.tfg.reinforced_light_concrete_support_horizontal": "Horizontale Verstärkte Leichtbetonstütze", + "block.tfg.reinforced_dark_concrete_support": "Verstärkte Dunkelbetonstütze", + "block.tfg.reinforced_dark_concrete_support_horizontal": "Horizontale Verstärkte Dunkelbetonstütze", + "block.tfg.rebar_support": "Betonstahlstütze", + "block.tfg.rebar_support_horizontal": "Horizontale Betonstahlstütze", + "block.tfg.steel_support": "Stahlstütze", + "block.tfg.steel_support_horizontal": "Horizontale Stahlstütze", + "block.tfg.gabbro_support_horizontal": "Horizontale Gabbrostütze", + "block.tfg.gabbro_support": "Gabbrostütze", + "block.tfg.shale_support_horizontal": "Horizontale Schiefersteinstütze", + "block.tfg.shale_support": "Schiefersteinstütze", + "block.tfg.claystone_support_horizontal": "Horizontale Tonsteinstütze", + "block.tfg.claystone_support": "Tonsteinstütze", + "block.tfg.limestone_support_horizontal": "Horizontale Kalksteinstütze", + "block.tfg.limestone_support": "Kalksteinstütze", + "block.tfg.conglomerate_support_horizontal": "Horizontale Konglomeratstütze", + "block.tfg.conglomerate_support": "Konglomeratstütze", + "block.tfg.dolomite_support_horizontal": "Horizontale Dolomitstütze", + "block.tfg.dolomite_support": "Dolomitstütze", + "block.tfg.chert_support_horizontal": "Horizontale Hornsteinstütze", + "block.tfg.chert_support": "Hornsteinstütze", + "block.tfg.chalk_support_horizontal": "Horizontale Kalkstütze", + "block.tfg.chalk_support": "Kalkstütze", + "block.tfg.rhyolite_support_horizontal": "Horizontale Rhyolithstütze", + "block.tfg.rhyolite_support": "Rhyolithstütze", + "block.tfg.dacite_support_horizontal": "Horizontale Dazitstütze", + "block.tfg.dacite_support": "Dazitstütze", + "block.tfg.quartzite_support_horizontal": "Horizontale Quarzitstütze", + "block.tfg.quartzite_support": "Quarzitstütze", + "block.tfg.slate_support_horizontal": "Horizontale Tonschieferstütze", + "block.tfg.slate_support": "Tonschieferstütze", + "block.tfg.phyllite_support_horizontal": "Horizontale Phyllitstütze", + "block.tfg.phyllite_support": "Phyllitstütze", + "block.tfg.schist_support_horizontal": "Horizontale Kristallschieferstütze", + "block.tfg.schist_support": "Kristallschieferstütze", + "block.tfg.gneiss_support_horizontal": "Horizontale Gneisstütze", + "block.tfg.gneiss_support": "Gneisstütze", + "block.tfg.marble_support_horizontal": "Horizontale Marmorstütze", + "block.tfg.marble_support": "Marmorstütze", + "block.tfg.basalt_support_horizontal": "Horizontale Basaltstütze", + "block.tfg.basalt_support": "Basaltstütze", + "block.tfg.diorite_support_horizontal": "Horizontale Dioritstütze", + "block.tfg.diorite_support": "Dioritstütze", + "block.tfg.andesite_support_horizontal": "Horizontale Andesitstütze", + "block.tfg.andesite_support": "Andesitstütze", + "block.tfg.granite_support_horizontal": "Horizontale Granitstütze", + "block.tfg.granite_support": "Granitstütze", + "block.tfg.pyroxenite_support_horizontal": "Horizontale Pyroxenitstütze", + "block.tfg.pyroxenite_support": "Pyroxenitstütze", + "block.tfg.migmatite_support_horizontal": "Horizontale Migmatitstütze", + "block.tfg.migmatite_support": "Migmatitstütze", + "block.tfg.travertine_support_horizontal": "Horizontale Travertinstütze", + "block.tfg.travertine_support": "Travertinstütze", + "block.tfg.glacian_support": "Gletscherstütze", + "block.tfg.glacian_support_horizontal": "Horizontale Gletscherstütze", + "block.tfg.strophar_support": "Stropharstütze", + "block.tfg.strophar_support_horizontal": "Horizontale Stropharstütze", + "block.tfg.aeronos_support": "Aeronosstütze", + "block.tfg.aeronos_support_horizontal": "Horizontale Aeronosstütze", + "block.tfg.rock.hardened_deepslate": "Gehärteter Migmatit", + "block.tfg.rock.deepslate_stairs": "Raue Migmatittreppe", + "block.tfg.rock.deepslate_slab": "Raue Migmatitstufe", + "block.tfg.rock.deepslate_wall": "Raue Migmatitwand", + "block.tfg.rock.mossy_cobble_deepslate": "Bemooster Migmatitschotter", + "block.tfg.rock.mossy_cobble_deepslate_stairs": "Bemooste Migmatitschottertreppe", + "block.tfg.rock.mossy_cobble_deepslate_slab": "Bemooste Migmatitschotterstufe", + "block.tfg.rock.mossy_cobble_deepslate_wall": "Bemooste Migmatitschotterwand", + "block.tfg.rock.cracked_bricks_deepslate_stairs": "Rissige Migmatittreppe", + "block.tfg.rock.cracked_bricks_deepslate_slab": "Rissige Migmatitstufe", + "block.tfg.rock.cracked_bricks_deepslate_wall": "Rissige Migmatitwand", + "block.tfg.rock.cracked_tiles_deepslate_stairs": "Rissige Migmatitfliesentreppe", + "block.tfg.rock.cracked_tiles_deepslate_slab": "Rissige Migmatitfliesenstufe", + "block.tfg.rock.cracked_tiles_deepslate_wall": "Rissige Migmatitfliesenwand", + "block.tfg.rock.mossy_bricks_deepslate": "Bemooste Migmatitziegel", + "block.tfg.rock.mossy_bricks_deepslate_stairs": "Bemooste Migmatitziegeltreppe", + "block.tfg.rock.mossy_bricks_deepslate_slab": "Bemooste Migmatitziegelstufe", + "block.tfg.rock.mossy_bricks_deepslate_wall": "Bemooste Migmatitziegelwand", + "block.tfg.rock.gravel_deepslate": "Migmatitkies", + "block.tfg.spike.deepslate_spike": "Migmatitzacke", + "block.tfg.loose.deepslate": "Loser Migmatit", + "block.tfg.rock.aqueduct_deepslate": "Migmatitaquädukt", + "block.tfg.rock.hardened_blackstone": "Gehärteter Pyroxenit", + "block.tfg.rock.cobble_blackstone_stairs": "Pyroxenitschottertreppe", + "block.tfg.rock.cobble_blackstone_slab": "Pyroxenitschotterstufe", + "block.tfg.rock.cobble_blackstone_wall": "Pyroxenitschotterwand", + "block.tfg.rock.cobble_blackstone": "Pyroxenitschotter", + "block.tfg.rock.mossy_cobble_blackstone": "Bemooster Pyroxenitschotter", + "block.tfg.rock.mossy_cobble_blackstone_stairs": "Bemooste Pyroxenitschottertreppe", + "block.tfg.rock.mossy_cobble_blackstone_slab": "Bemooste Pyroxenitschotterstufe", + "block.tfg.rock.mossy_cobble_blackstone_wall": "Bemooste Pyroxenitschotterwand", + "block.tfg.rock.cracked_bricks_blackstone_stairs": "Rissige Pyroxenitziegeltreppe", + "block.tfg.rock.cracked_bricks_blackstone_slab": "Rissige Pyroxenitziegelstufe", + "block.tfg.rock.cracked_bricks_blackstone_wall": "Rissige Pyroxenitziegelwand", + "block.tfg.rock.mossy_bricks_blackstone": "Bemooste Pyroxenitziegel", + "block.tfg.rock.mossy_bricks_blackstone_stairs": "Bemooste Pyroxenitziegeltreppe", + "block.tfg.rock.mossy_bricks_blackstone_slab": "Bemooste Pyroxenitziegelstufe", + "block.tfg.rock.mossy_bricks_blackstone_wall": "Bemooste Pyroxenitziegelwand", + "block.tfg.rock.gravel_blackstone": "Pyroxenitkies", + "block.tfg.spike.blackstone_spike": "Pyroxenitzacke", + "block.tfg.rock.hardened_dripstone": "Gehärteter Travertin", + "block.tfg.rock.dripstone_stairs": "Raue Travertintreppe", + "block.tfg.rock.dripstone_slab": "Raue Travertinstufe", + "block.tfg.rock.dripstone_wall": "Raue Travertinwand", + "block.tfg.rock.cobble_dripstone": "Travertinschotter", + "block.tfg.rock.cobble_dripstone_stairs": "Travertinschottertreppe", + "block.tfg.rock.cobble_dripstone_slab": "Travertinschotterstufe", + "block.tfg.rock.cobble_dripstone_wall": "Travertinschotterwand", + "block.tfg.rock.mossy_cobble_dripstone": "Bemooster Travertinschotter", + "block.tfg.rock.mossy_cobble_dripstone_stairs": "Bemooste Travertinschottertreppe", + "block.tfg.rock.mossy_cobble_dripstone_slab": "Bemooste Travertinschotterstufe", + "block.tfg.rock.mossy_cobble_dripstone_wall": "Bemooste Travertinschotterwand", + "block.tfg.rock.cracked_bricks_dripstone": "Rissige Travertinziegel", + "block.tfg.rock.cracked_bricks_dripstone_stairs": "Rissige Travertinziegeltreppe", + "block.tfg.rock.cracked_bricks_dripstone_slab": "Rissige Travertinziegelstufe", + "block.tfg.rock.cracked_bricks_dripstone_wall": "Rissige Travertinziegelwand", + "block.tfg.rock.mossy_bricks_dripstone": "Bemooste Travertinziegel", + "block.tfg.rock.mossy_bricks_dripstone_stairs": "Bemooste Travertinziegeltreppe", + "block.tfg.rock.mossy_bricks_dripstone_slab": "Bemooste Travertinziegelstufe", + "block.tfg.rock.mossy_bricks_dripstone_wall": "Bemooste Travertinziegelwand", + "block.tfg.rock.gravel_dripstone": "Travertinkies", + "block.tfg.spike.dripstone_spike": "Travertinzacke", + "block.tfg.loose.dripstone": "Loser Travertin", + "block.tfg.rock.aqueduct_dripstone": "Travertinaquädukt", + "block.tfg.rock.crackrack_stairs": "Raue Keratophyrtreppe", + "block.tfg.rock.crackrack_slab": "Raue Keratophyrstufe", + "block.tfg.rock.crackrack_wall": "Raue Keratophyrwand", + "block.tfg.rock.polished_crackrack": "Polierter Keratophyr", + "block.tfg.rock.polished_crackrack_stairs": "Polierte Keratophyrtreppe", + "block.tfg.rock.polished_crackrack_slab": "Polierte Keratophyrstufe", + "block.tfg.rock.polished_crackrack_wall": "Polierte Keratophyrwand", + "block.tfg.rock.cobble_crackrack": "Keratophyrschotter", + "block.tfg.rock.cobble_crackrack_stairs": "Keratophyrschottertreppe", + "block.tfg.rock.cobble_crackrack_slab": "Keratophyrschotterstufe", + "block.tfg.rock.cobble_crackrack_wall": "Keratophyrschotterwand", + "block.tfg.rock.mossy_cobble_crackrack": "Bemooster Keratophyrschotter", + "block.tfg.rock.mossy_cobble_crackrack_stairs": "Bemooste Keratophyrschottertreppe", + "block.tfg.rock.mossy_cobble_crackrack_slab": "Bemooste Keratophyrschotterstufe", + "block.tfg.rock.mossy_cobble_crackrack_wall": "Bemooste Keratophyrschotterwand", + "block.tfg.rock.cracked_bricks_nether_stairs": "Rissige Keratophyrziegeltreppe", + "block.tfg.rock.cracked_bricks_nether_slab": "Rissige Keratophyrziegelstufe", + "block.tfg.rock.cracked_bricks_nether_wall": "Rissige Keratophyrziegelwand", + "block.tfg.rock.mossy_bricks_nether": "Bemooste Keratophyrziegel", + "block.tfg.rock.mossy_bricks_nether_stairs": "Bemooste Keratophyrziegeltreppe", + "block.tfg.rock.mossy_bricks_nether_slab": "Bemooste Keratophyrziegelstufe", + "block.tfg.rock.mossy_bricks_nether_wall": "Bemooste Keratophyrziegelwand", + "block.tfg.rock.gravel_crackrack": "Keratophyrkies", + "block.tfg.loose.crackrack": "Loser Keratophyr", + "block.tfg.rock.aqueduct_nether": "Keratophyraquädukt", + "block.tfg.rock.hardened_moon_stone": "Gehärteter Anorthosit", + "block.tfg.rock.moon_stone_wall": "Raue Anorthositwand", + "block.tfg.rock.cobble_moon_wall": "Anorthositschotterwand", + "block.tfg.rock.mossy_cobble_moon": "Bemooster Anorthositschotter", + "block.tfg.rock.mossy_cobble_moon_stairs": "Bemooste Anorthositschottertreppe", + "block.tfg.rock.mossy_cobble_moon_slab": "Bemooste Anorthositschotterstufe", + "block.tfg.rock.mossy_cobble_moon_wall": "Bemooste Anorthositschotterwand", + "block.tfg.rock.mossy_bricks_moon": "Bemooste Anorthositziegel", + "block.tfg.rock.mossy_bricks_moon_stairs": "Bemooste Anorthositziegeltreppe", + "block.tfg.rock.mossy_bricks_moon_slab": "Bemooste Anorthositziegelstufe", + "block.tfg.rock.mossy_bricks_moon_wall": "Bemooste Anorthositziegelwand", + "block.tfg.rock.chiseled_bricks_moon_wall": "Gemeißelte Anorthositziegelwand", + "block.tfg.rock.gravel_moon": "Anorthositkies", + "block.tfg.spike.moon_stone_spike": "Anorthositzacke", + "block.tfg.loose.moon_stone": "Loser Anorthosit", + "block.tfg.rock.aqueduct_moon_stone": "Anorthositaquädukt", + "block.tfg.rock.polished_moon_wall": "Polierte Anorthositwand", + "block.tfg.rock.cracked_bricks_moon_stairs": "Rissige Anorthositziegeltreppe", + "block.tfg.rock.cracked_bricks_moon_slab": "Rissige Anorthositziegelstufe", + "block.tfg.rock.cracked_bricks_moon_wall": "Rissige Anorthositziegelwand", + "block.tfg.rock.hardened_moon_deepslate": "Gehärteter Norit", + "block.tfg.rock.moon_deepslate_stairs": "Raue Norittreppe", + "block.tfg.rock.moon_deepslate_slab": "Raue Noritstufe", + "block.tfg.rock.moon_deepslate_wall": "Raue Noritwand", + "block.tfg.rock.cobble_moon_deepslate": "Noritschotter", + "block.tfg.rock.cobble_moon_deepslate_stairs": "Noritschottertreppe", + "block.tfg.rock.cobble_moon_deepslate_slab": "Noritschotterstufe", + "block.tfg.rock.cobble_moon_deepslate_wall": "Noritschotterwand", + "block.tfg.rock.mossy_cobble_moon_deepslate": "Bemooster Noritschotter", + "block.tfg.rock.mossy_cobble_moon_deepslate_stairs": "Bemooste Noritschottertreppe", + "block.tfg.rock.mossy_cobble_moon_deepslate_slab": "Bemooste Noritschotterstufe", + "block.tfg.rock.mossy_cobble_moon_deepslate_wall": "Bemooste Noritschotterwand", + "block.tfg.rock.polished_moon_deepslate": "Polierter Norit", + "block.tfg.rock.polished_moon_deepslate_stairs": "Polierte Norittreppe", + "block.tfg.rock.polished_moon_deepslate_slab": "Polierte Noritstufe", + "block.tfg.rock.polished_moon_deepslate_wall": "Polierte Noritwand", + "block.tfg.rock.bricks_moon_deepslate": "Noritziegel", + "block.tfg.rock.bricks_moon_deepslate_stairs": "Noritziegeltreppe", + "block.tfg.rock.bricks_moon_deepslate_slab": "Noritziegelstufe", + "block.tfg.rock.bricks_moon_deepslate_wall": "Noritziegelwand", + "block.tfg.rock.cracked_bricks_moon_deepslate": "Rissige Noritziegel", + "block.tfg.rock.cracked_bricks_moon_deepslate_stairs": "Rissige Noritziegeltreppe", + "block.tfg.rock.cracked_bricks_moon_deepslate_slab": "Rissige Noritziegelstufe", + "block.tfg.rock.cracked_bricks_moon_deepslate_wall": "Rissige Noritziegelwand", + "block.tfg.rock.chiseled_bricks_moon_deepslate": "Gemeißelte Noritziegel", + "block.tfg.rock.chiseled_bricks_moon_deepslate_stairs": "Gemeißelte Noritziegeltreppe", + "block.tfg.rock.chiseled_bricks_moon_deepslate_slab": "Gemeißelte Noritziegelstufe", + "block.tfg.rock.chiseled_bricks_moon_deepslate_wall": "Gemeißelte Noritziegelwand", + "block.tfg.rock.pillar_moon_deepslate": "Noritsäule", + "block.tfg.rock.gravel_moon_deepslate": "Noritkies", + "block.tfg.spike.moon_deepslate_spike": "Noritzacke", + "block.tfg.loose.moon_deepslate": "Loser Norit", + "block.tfg.rock.aqueduct_moon_deepslate": "Noritaquädukt", + "block.tfg.rock.mossy_bricks_moon_deepslate": "Bemooste Noritziegel", + "block.tfg.rock.mossy_bricks_moon_deepslate_stairs": "Bemooste Noritziegeltreppe", + "block.tfg.rock.mossy_bricks_moon_deepslate_slab": "Bemooste Noritziegelstufe", + "block.tfg.rock.mossy_bricks_moon_deepslate_wall": "Bemooste Noritziegelwand", + "block.tfg.rock.hardened_mars_stone": "Gehärteter Schiefer", + "block.tfg.rock.mars_stone_wall": "Raue Schieferwand", + "block.tfg.rock.cobble_mars_wall": "Bruchschieferwand", + "block.tfg.rock.mossy_cobble_mars": "Bemooster Bruchschiefer", + "block.tfg.rock.mossy_cobble_mars_stairs": "Bemooste Bruchschiefertreppe", + "block.tfg.rock.mossy_cobble_mars_slab": "Bemooste Bruchschieferstufe", + "block.tfg.rock.mossy_cobble_mars_wall": "Bemooste Bruchschieferwand", + "block.tfg.rock.polished_mars_wall": "Polierte Schieferwand", + "block.tfg.rock.mossy_bricks_mars": "Bemooste Schieferziegel", + "block.tfg.rock.mossy_bricks_mars_stairs": "Bemooste Schieferziegeltreppe", + "block.tfg.rock.mossy_bricks_mars_slab": "Bemooste Schieferziegelstufe", + "block.tfg.rock.mossy_bricks_mars_wall": "Bemooste Schieferziegelwand", + "block.tfg.rock.cracked_bricks_mars_stairs": "Rissige Schieferziegeltreppe", + "block.tfg.rock.cracked_bricks_mars_slab": "Rissige Schieferziegelstufe", + "block.tfg.rock.cracked_bricks_mars_wall": "Rissige Schieferziegelwand", + "block.tfg.rock.chiseled_bricks_mars_wall": "Gemeißelte Schieferziegelwand", + "block.tfg.rock.gravel_mars": "Schieferkies", + "block.tfg.spike.mars_stone_spike": "Schieferzacke", + "block.tfg.loose.mars_stone": "Loser Schiefer", + "block.tfg.rock.aqueduct_mars_stone": "Schieferaquädukt", + "block.tfg.rock.hardened_venus_stone": "Gehärteter Trachyt", + "block.tfg.rock.venus_stone_wall": "Raue Trachytwand", + "block.tfg.rock.cobble_venus_wall": "Trachytschotterwand", + "block.tfg.rock.mossy_cobble_venus": "Bemooster Trachytschotter", + "block.tfg.rock.mossy_cobble_venus_stairs": "Bemooste Trachytschottertreppe", + "block.tfg.rock.mossy_cobble_venus_slab": "Bemooste Trachytschotterstufe", + "block.tfg.rock.mossy_cobble_venus_wall": "Bemooste Trachytschotterwand", + "block.tfg.rock.polished_venus_wall": "Polierte Trachytwand", + "block.tfg.rock.mossy_bricks_venus": "Bemooste Trachytziegel", + "block.tfg.rock.mossy_bricks_venus_stairs": "Bemooste Trachytziegeltreppe", + "block.tfg.rock.mossy_bricks_venus_slab": "Bemooste Trachytziegelstufe", + "block.tfg.rock.mossy_bricks_venus_wall": "Bemooste Trachytziegelwand", + "block.tfg.rock.cracked_bricks_venus_stairs": "Rissige Trachytziegeltreppe", + "block.tfg.rock.cracked_bricks_venus_slab": "Rissige Trachytziegelstufe", + "block.tfg.rock.cracked_bricks_venus_wall": "Rissige Trachytziegelwand", + "block.tfg.rock.chiseled_bricks_venus_wall": "Gemeißelte Trachytziegelwand", + "block.tfg.rock.gravel_venus": "Trachytkies", + "block.tfg.spike.venus_stone_spike": "Trachytzacke", + "block.tfg.loose.venus_stone": "Loser Trachyt", + "block.tfg.rock.aqueduct_venus_stone": "Trachytaquädukt", + "block.tfg.rock.hardened_mercury_stone": "Gehärteter Komatiit", + "block.tfg.rock.mercury_stone_wall": "Raue Komatiitwand", + "block.tfg.rock.cobble_mercury_wall": "Komatiitschotterwand", + "block.tfg.rock.mossy_cobble_mercury": "Bemooster Komatiitschotter", + "block.tfg.rock.mossy_cobble_mercury_stairs": "Bemooste Komatiitschottertreppe", + "block.tfg.rock.mossy_cobble_mercury_slab": "Bemooste Komatiitschotterstufe", + "block.tfg.rock.mossy_cobble_mercury_wall": "Bemooste Komatiitschotterwand", + "block.tfg.rock.polished_mercury_wall": "Polierte Komatiitwand", + "block.tfg.rock.mossy_bricks_mercury": "Bemooste Komatiitziegel", + "block.tfg.rock.mossy_bricks_mercury_stairs": "Bemooste Komatiitziegeltreppe", + "block.tfg.rock.mossy_bricks_mercury_slab": "Bemooste Komatiitziegelstufe", + "block.tfg.rock.mossy_bricks_mercury_wall": "Bemooste Komatiitziegelwand", + "block.tfg.rock.cracked_bricks_mercury_stairs": "Rissige Komatiitziegeltreppe", + "block.tfg.rock.cracked_bricks_mercury_slab": "Rissige Komatiitziegelstufe", + "block.tfg.rock.cracked_bricks_mercury_wall": "Rissige Komatiitziegelwand", + "block.tfg.rock.chiseled_bricks_mercury_wall": "Gemeißelte Komatiitziegelwand", + "block.tfg.rock.gravel_mercury": "Komatiitkies", + "block.tfg.spike.mercury_stone_spike": "Komatiitzacke", + "block.tfg.loose.mercury_stone": "Loser Komatiit", + "block.tfg.rock.aqueduct_mercury_stone": "Komatiitaquädukt", + "block.tfg.rock.hardened_glacio_stone": "Gehärteter Phonolith", + "block.tfg.rock.glacio_stone_wall": "Raue Phonolithwand", + "block.tfg.rock.cobble_glacio_wall": "Phonolithschotterwand", + "block.tfg.rock.mossy_cobble_glacio": "Bemooster Phonolithschotter", + "block.tfg.rock.mossy_cobble_glacio_stairs": "Bemooste Phonolithschottertreppe", + "block.tfg.rock.mossy_cobble_glacio_slab": "Bemooste Phonolithschotterstufe", + "block.tfg.rock.mossy_cobble_glacio_wall": "Bemooste Phonolithschotterwand", + "block.tfg.rock.polished_glacio_wall": "Polierte Phonolithwand", + "block.tfg.rock.mossy_bricks_glacio": "Bemooste Phonolithziegel", + "block.tfg.rock.mossy_bricks_glacio_stairs": "Bemooste Phonolithziegeltreppe", + "block.tfg.rock.mossy_bricks_glacio_slab": "Bemooste Phonolithziegelstufe", + "block.tfg.rock.mossy_bricks_glacio_wall": "Bemooste Phonolithziegelwand", + "block.tfg.rock.cracked_bricks_glacio_stairs": "Rissige Phonolithziegeltreppe", + "block.tfg.rock.cracked_bricks_glacio_slab": "Rissige Phonolithziegelstufe", + "block.tfg.rock.cracked_bricks_glacio_wall": "Rissige Phonolithziegelwand", + "block.tfg.rock.chiseled_bricks_glacio_wall": "Gemeißelte Phonolithziegelwand", + "block.tfg.rock.gravel_glacio": "Phonolithkies", + "block.tfg.spike.glacio_stone_spike": "Phonolithzacke", + "block.tfg.loose.glacio_stone": "Loser Phonolith", + "block.tfg.rock.aqueduct_glacio_stone": "Phonolithaquädukt", + "block.tfg.rock.hardened_permafrost": "Gehärteter Permafrost", + "block.tfg.rock.permafrost_stairs": "Raue Permafrosttreppe", + "block.tfg.rock.permafrost_slab": "Raue Permafroststufe", + "block.tfg.rock.permafrost_wall": "Raue Permafrostwand", + "block.tfg.rock.cobble_permafrost": "Permafrostschotter", + "block.tfg.rock.cobble_permafrost_stairs": "Permafrostschottertreppe", + "block.tfg.rock.cobble_permafrost_slab": "Permafrostschotterstufe", + "block.tfg.rock.cobble_permafrost_wall": "Permafrostschotterwand", + "block.tfg.rock.mossy_cobble_permafrost": "Bemooster Permafrostschotter", + "block.tfg.rock.mossy_cobble_permafrost_stairs": "Bemooste Permafrostschottertreppe", + "block.tfg.rock.mossy_cobble_permafrost_slab": "Bemooste Permafrostschotterstufe", + "block.tfg.rock.mossy_cobble_permafrost_wall": "Bemooste Permafrostschotterwand", + "block.tfg.rock.polished_permafrost_wall": "Polierte Permafrostwand", + "block.tfg.rock.mossy_bricks_permafrost": "Bemooste Permafrostziegel", + "block.tfg.rock.mossy_bricks_permafrost_stairs": "Bemooste Permafrostziegeltreppe", + "block.tfg.rock.mossy_bricks_permafrost_slab": "Bemooste Permafrostziegelstufe", + "block.tfg.rock.mossy_bricks_permafrost_wall": "Bemooste Permafrostziegelwand", + "block.tfg.rock.cracked_bricks_permafrost_stairs": "Rissige Permafrostziegeltreppe", + "block.tfg.rock.cracked_bricks_permafrost_slab": "Rissige Permafrostziegelstufe", + "block.tfg.rock.cracked_bricks_permafrost_wall": "Rissige Permafrostziegelwand", + "block.tfg.rock.chiseled_bricks_permafrost_wall": "Gemeißelte Permafrostziegelwand", + "block.tfg.rock.gravel_permafrost": "Permafrostkies", + "block.tfg.spike.permafrost_spike": "Permafrostzacke", + "block.tfg.loose.permafrost": "Loser Permafrost", + "block.tfg.rock.aqueduct_permafrost": "Permafrostaquädukt", + "block.tfg.rock.hardened_red_granite": "Gehärteter Roter Granit", + "block.tfg.rock.red_granite_stairs": "Raue Rote Granittreppe", + "block.tfg.rock.red_granite_slab": "Raue Rote Granitstufe", + "block.tfg.rock.red_granite_wall": "Raue Rote Granitwand", + "block.tfg.rock.polished_red_granite_stairs": "Polierte Rote Granittreppe", + "block.tfg.rock.polished_red_granite_slab": "Polierte Rote Granitstufe", + "block.tfg.rock.polished_red_granite_wall": "Polierte Rote Granitwand", + "block.tfg.rock.cobble_red_granite_stairs": "Rote Granitschottertreppe", + "block.tfg.rock.cobble_red_granite_slab": "Rote Granitschotterstufe", + "block.tfg.rock.cobble_red_granite_wall": "Rote Granitschotterwand", + "block.tfg.rock.mossy_cobble_red_granite_stairs": "Bemooste Rote Granitschottertreppe", + "block.tfg.rock.mossy_cobble_red_granite_slab": "Bemooste Rote Granitschotterstufe", + "block.tfg.rock.mossy_cobble_red_granite_wall": "Bemooste Rote Granitschotterwand", + "block.tfg.rock.bricks_red_granite_stairs": "Rote Granitziegeltreppe", + "block.tfg.rock.bricks_red_granite_slab": "Rote Granitziegelstufe", + "block.tfg.rock.bricks_red_granite_wall": "Rote Granitziegelwand", + "block.tfg.rock.cracked_bricks_red_granite_stairs": "Rissige Rote Granitziegeltreppe", + "block.tfg.rock.cracked_bricks_red_granite_slab": "Rissige Rote Granitziegelstufe", + "block.tfg.rock.cracked_bricks_red_granite_wall": "Rissige Rote Granitziegelwand", + "block.tfg.rock.mossy_bricks_red_granite_stairs": "Bemooste Rote Granitziegeltreppe", + "block.tfg.rock.mossy_bricks_red_granite_slab": "Bemooste Rote Granitziegelstufe", + "block.tfg.rock.mossy_bricks_red_granite_wall": "Bemooste Rote Granitziegelwand", + "block.tfg.rock.gravel_red_granite": "Roter Granitkies", + "block.tfg.loose.red_granite": "Loser Roter Granit", + "block.tfg.spike.red_granite_spike": "Rote Granitzacke", + "block.tfg.rock.aqueduct_red_granite": "Rotes Granitaquädukt", + "block.tfg.rock.sandy_jadestone_stairs": "Raue Lamproittreppe", + "block.tfg.rock.sandy_jadestone_slab": "Raue Lamproitstufe", + "block.tfg.rock.sandy_jadestone_wall": "Raue Lamproitwand", + "block.tfg.rock.hardened_sandy_jadestone": "Gehärteter Lamproit", + "block.tfg.spike.sandy_jadestone_spike": "Lamproitzacke", + "block.tfg.sandy_jadestone_support": "Lamproitstütze", + "block.tfg.rock.cobble_sandy_jadestone": "Lamproitschotter", + "block.tfg.rock.cobble_sandy_jadestone_stairs": "Lamproitschottertreppe", + "block.tfg.rock.cobble_sandy_jadestone_slab": "Lamproitschotterstufe", + "block.tfg.rock.cobble_sandy_jadestone_wall": "Lamproitschotterwand", + "block.tfg.rock.gravel_sandy_jadestone": "Lamproitkies", + "block.tfg.rock.aqueduct_sandy_jadestone": "Lamproitaquädukt", + "block.tfg.rock.bricks_sandy_jadestone_stairs": "Lamproitziegeltreppe", + "block.tfg.rock.bricks_sandy_jadestone_slab": "Lamproitziegelstufe", + "block.tfg.rock.bricks_sandy_jadestone_wall": "Lamproitziegelwand", + "block.tfg.rock.polished_sandy_jadestone_stairs": "Polierte Lamproittreppe", + "block.tfg.rock.polished_sandy_jadestone_slab": "Polierte Lamproitstufe", + "block.tfg.rock.polished_sandy_jadestone_wall": "Polierte Lamproitwand", + "block.tfg.rock.chiseled_sandy_jadestone_stairs": "Lamproitfliesentreppe", + "block.tfg.rock.chiseled_sandy_jadestone_slab": "Lamproitfliesenstufe", + "block.tfg.rock.chiseled_sandy_jadestone_wall": "Lamproitfliesenwand", + "block.tfg.loose.sandy_jadestone": "Loser Lamproit", + "block.tfg.rock.flavolite_stairs": "Raue Ignimbrittreppe", + "block.tfg.rock.flavolite_slab": "Raue Ignimbritstufe", + "block.tfg.rock.flavolite_wall": "Raue Ignimbritwand", + "block.tfg.rock.hardened_flavolite": "Gehärteter Ignimbrit", + "block.tfg.spike.flavolite_spike": "Ignimbritzacke", + "block.tfg.flavolite_support": "Ignimbritstütze", + "block.tfg.rock.cobble_flavolite": "Ignimbritschotter", + "block.tfg.rock.cobble_flavolite_stairs": "Ignimbritschottertreppe", + "block.tfg.rock.cobble_flavolite_slab": "Ignimbritschotterstufe", + "block.tfg.rock.cobble_flavolite_wall": "Ignimbritschotterwand", + "block.tfg.rock.gravel_flavolite": "Ignimbritkies", + "block.tfg.rock.aqueduct_flavolite": "Ignimbritaquädukt", + "block.tfg.rock.bricks_flavolite_stairs": "Ignimbritziegeltreppe", + "block.tfg.rock.bricks_flavolite_slab": "Ignimbritziegelstufe", + "block.tfg.rock.bricks_flavolite_wall": "Ignimbritziegelwand", + "block.tfg.rock.polished_flavolite_stairs": "Polierte Ignimbrittreppe", + "block.tfg.rock.polished_flavolite_slab": "Polierte Ignimbritstufe", + "block.tfg.rock.polished_flavolite_wall": "Polierte Ignimbritwand", + "block.tfg.rock.chiseled_flavolite_stairs": "Ignimbritfliesentreppe", + "block.tfg.rock.chiseled_flavolite_slab": "Ignimbritfliesenstufe", + "block.tfg.rock.chiseled_flavolite_wall": "Ignimbritfliesenwand", + "block.tfg.loose.flavolite": "Loser Ignimbrit", + "block.tfg.rock.scoria_stairs": "Raue Schlacketreppe", + "block.tfg.rock.scoria_slab": "Raue Schlackestufe", + "block.tfg.rock.scoria_wall": "Raue Schlackewand", + "block.tfg.rock.hardened_scoria": "Gehärtete Schlacke", + "block.tfg.spike.scoria_spike": "Schlackezacke", + "block.tfg.scoria_support": "Schlackestütze", + "block.tfg.rock.cobble_scoria": "Schlackeschotter", + "block.tfg.rock.cobble_scoria_stairs": "Schlackeschottertreppe", + "block.tfg.rock.cobble_scoria_slab": "Schlackeschotterstufe", + "block.tfg.rock.cobble_scoria_wall": "Schlackeschotterwand", + "block.tfg.rock.gravel_scoria": "Schlackekies", + "block.tfg.rock.aqueduct_scoria": "Schlackeaquädukt", + "block.tfg.loose.scoria": "Lose Schlacke", + "block.tfg.rock.scorchia_stairs": "Raue Scorchiatreppe", + "block.tfg.rock.scorchia_slab": "Raue Scorchiastufe", + "block.tfg.rock.scorchia_wall": "Raue Scorchiawand", + "block.tfg.rock.hardened_scorchia": "Gehärteter Scorchia", + "block.tfg.spike.scorchia_spike": "Scorchiazacke", + "block.tfg.scorchia_support": "Scorchiastütze", + "block.tfg.rock.cobble_scorchia": "Scorchiaschotter", + "block.tfg.rock.cobble_scorchia_stairs": "Scorchiaschottertreppe", + "block.tfg.rock.cobble_scorchia_slab": "Scorchiaschotterstufe", + "block.tfg.rock.cobble_scorchia_wall": "Scorchiaschotterwand", + "block.tfg.rock.gravel_scorchia": "Scorchiakies", + "block.tfg.rock.aqueduct_scorchia": "Scorchiaaquädukt", + "block.tfg.loose.scorchia": "Loser Scorchia", + "block.tfg.rock.stone_wall": "Wiederhergestellte Steinwand", + "block.tfg.rock.smooth_stone_stairs": "Polierte Wiederhergestellte Steintreppe", + "block.tfg.rock.smooth_stone_wall": "Polierte Wiederhergestellte Steinwand", + "block.tfg.rock.cracked_bricks_stone_stairs": "Rissige Wiederhergestellte Steinziegeltreppe", + "block.tfg.rock.cracked_bricks_stone_slab": "Rissige Wiederhergestellte Steinziegelstufe", + "block.tfg.rock.cracked_bricks_stone_wall": "Rissige Wiederhergestellte Steinziegelwand", + "block.tfg.rock.aqueduct_stone": "Wiederhergestelltes Steinaquädukt", + "block.tfg.rock.smooth_red_sandstone_wall": "Glatte Hematitische Sandsteinwand", + "block.tfg.rock.cut_red_sandstone_stairs": "Geschnittene Hematitische Sandsteintreppe", + "block.tfg.rock.cut_red_sandstone_wall": "Geschnittene Hematitische Sandsteinwand", + "block.tfg.rock.bricks_venus_sandstone_wall": "Trachyt Sandsteinziegelwand", + "block.tfg.rock.cracked_bricks_venus_sandstone_stairs": "Rissige Trachyt Sandsteinziegeltreppe", + "block.tfg.rock.cracked_bricks_venus_sandstone_slab": "Rissige Trachyt Sandsteinziegelstufe", + "block.tfg.rock.cracked_bricks_venus_sandstone_wall": "Rissige Trachyt Sandsteinziegelwand", + "block.tfg.rock.quartz_wall": "Quarzwand", + "block.tfg.rock.smooth_quartz_wall": "Glatte Quarzwand", + "block.tfg.rock.raw.stromatolite": "Rauer Stromatolit", + "block.tfg.rock.spike.stromatolite": "Stromatolitzacke", + "block.tfg.stromatolite_cluster_small": "Kleine Stromatolitanhäufung", + "block.tfg.stromatolite_cluster_medium": "Große Stromatolitanhäufung", + "block.tfg.rock.raw.geyserite": "Raues Geysirit", + "block.tfg.rock.spike.geyserite": "Geysiritzacke", + "block.tfg.geyser_source_small": "Kleiner Dampfender Geysir", + "block.tfg.geyser_source": "Dampfender Geysir", + "block.tfg.smoker_source": "Vulkanischer Raucher", + "block.tfg.lava_source": "Lavaschlot", + "block.tfg.rock.halite": "Halit", + "block.tfg.mushroom_roots": "Pilzwurzeln", + "block.tfg.mushroom_sprouts": "Pilzkeimlinge", + "block.tfg.charred_log": "Verkohlter Holzstamm", + "block.tfg.ash_pile": "Haufen Holzasche", + "block.tfg.pile.white_sand": "Weißer Sand", + "block.tfg.pile.black_sand": "Schwarzer Sand", + "block.tfg.pile.brown_sand": "Brauner Sand", + "block.tfg.pile.red_sand": "Roter Sand", + "block.tfg.pile.yellow_sand": "Gelber Sand", + "block.tfg.pile.green_sand": "Grüner Sand", + "block.tfg.pile.pink_sand": "Pinker Sand", + "block.tfg.pile.moon_sand": "Mond Sand", + "block.tfg.pile.mars_sand": "Argillit Sand", + "block.tfg.pile.mars_sand_covering": "Argillit Sand", + "block.tfg.pile.venus_sand": "Trachyt Sand", + "block.tfg.pile.venus_sand_covering": "Trachyt Sand", + "block.tfg.pile.hematitic_sand": "Hematitischer Sand", + "block.tfg.pile.hematitic_sand_covering": "Hematitischer Sand", + "block.tfg.pile.volcanic_ash": "Vulkanischer Aschehaufen", + "block.tfg.lunar_roots": "Lichtblüte", + "block.tfg.lunar_sprouts": "Lichtgrass", + "block.tfg.lunar_chorus_plant": "Choruspflanze", + "block.tfg.lunar_chorus_flower": "Chorusblume", + "block.tfg.glacian_log": "Gletscherholz", + "block.tfg.glacian_log_stripped": "Entrindetes Gletscherholz", + "block.tfg.glacian_wood": "Gletscherhyphae", + "block.tfg.glacian_wood_stripped": "Entrindetes Gletscherhyphae", + "block.tfg.glacian_leaves": "Gletscherlamella", + "block.tfg.glacian_leaves_fallen": "Kleine Gletcherlamella", + "block.tfg.crimson_wart_block": "Karmesinpilz", + "block.tfg.warped_wart_block": "Wirrpilz", + "block.tfg.aeronos_cap": "Aeronospilz", + "block.tfg.strophar_cap": "Stropharpilz", + "block.tfg.marker.moon": "Der Mond", + "block.tfg.marker.mars": "Mars", + "block.tfg.marker.venus": "Venus", + "block.tfg.marker.mercury": "Merkur", + "block.tfg.marker.glacio": "Europa", + "block.tfg.lv_aqueous_accumulator": "Einfacher Wassersammler", + "block.tfg.mv_aqueous_accumulator": "§bFortgeschrittener Wassersammler§r", + "block.tfg.hv_aqueous_accumulator": "§6Fortgeschrittener Wassersammler II§r", + "block.tfg.ev_aqueous_accumulator": "§5Fortgeschrittener Wassersammler III§r", + "block.tfg.iv_aqueous_accumulator": "§9Elite Wassersammler§r", + "block.tfg.luv_aqueous_accumulator": "§dElite Wassersammler II§r", + "block.tfg.zpm_aqueous_accumulator": "§cElite Wassersammler III§r", + "block.tfg.uv_aqueous_accumulator": "§3Ultimativer Wassersammler§r", + "block.tfg.electric_greenhouse": "Elektrisches Gewächshaus", + "block.tfg.lv_food_processor": "Einfache Küchenmaschine", + "block.tfg.mv_food_processor": "§bFortgeschrittene Küchenmaschine§r", + "block.tfg.hv_food_processor": "§6Fortgeschrittene Küchenmaschine II§r", + "block.tfg.ev_food_processor": "§5Fortgeschrittene Küchenmaschine III§r", + "block.tfg.iv_food_processor": "§9Elite Küchenmaschine§r", + "block.tfg.luv_food_processor": "§dElite Küchenmaschine II§r", + "block.tfg.zpm_food_processor": "§cElite Küchenmaschine III§r", + "block.tfg.uv_food_processor": "§3Ultimative Küchenmaschine§r", + "block.tfg.lv_food_oven": "Einfacher Elektrischer Ofen", + "block.tfg.mv_food_oven": "§bFortgeschrittener Elektrischer Ofen§r", + "block.tfg.hv_food_oven": "§6Fortgeschrittener Elektrischer Ofen II§r", + "block.tfg.ev_food_oven": "§5Fortgeschrittener Elektrischer Ofen III§r", + "block.tfg.iv_food_oven": "§9Elite Elektrischer Ofen§r", + "block.tfg.luv_food_oven": "§dElite Elektrischer Ofen II§r", + "block.tfg.zpm_food_oven": "§cElite Elektrischer Ofen III§r", + "block.tfg.uv_food_oven": "§3Ultimativer Elektrischer Ofen§r", + "block.tfg.lv_food_refrigerator": "Einfacher Kühlschrank", + "block.tfg.mv_food_refrigerator": "§bFortgeschrittener Kühlschrank", + "block.tfg.hv_food_refrigerator": "§6Fortgeschrittener Kühlschrank II§r", + "block.tfg.ev_food_refrigerator": "§5Fortgeschrittener Kühlschrank III§r", + "block.tfg.iv_food_refrigerator": "§9Elite Kühlschrank§r", + "block.tfg.lv_gas_pressurizer": "Einfacher Druckhalter", + "block.tfg.mv_gas_pressurizer": "§bFortgeschrittener Druckhalter§r", + "block.tfg.hv_gas_pressurizer": "§6Fortgeschrittener Druckhalter II§r", + "block.tfg.ev_gas_pressurizer": "§5Fortgeschrittener Druckhalter III§r", + "block.tfg.iv_gas_pressurizer": "§9Elite Druckhalter§r", + "block.tfg.luv_gas_pressurizer": "§dElite Druckhalter II§r", + "block.tfg.zpm_gas_pressurizer": "§cElite Druckhalter III§r", + "block.tfg.uv_gas_pressurizer": "§3Ultimativer Druckhalter§r", + "block.tfg.fluid.semiheavy_ammoniacal_water": "Halbschweres Ammonisches Wasser", + "block.tfg.fluid.sulfur_fumes": "Dichte Schwefeldämpfe", + "block.tfg.fluid.geyser_slurry": "Siedeverzogener Schlamm", + "block.tfg.grass.mars_dirt": "Marsianererde", + "block.tfg.grass.mars_clay_dirt": "Marsianertonerde", + "block.tfg.grass.mars_farmland": "Marsianeracker", + "block.tfg.grass.mars_path": "Marsianerpfad", + "block.tfg.grass.amber_mycelium": "Ambermyzel", + "block.tfg.grass.amber_clay_mycelium": "Ambertonmyzel", + "block.tfg.grass.amber_kaolin_mycelium": "Amberkaolinmyzel", + "block.tfg.grass.rusticus_mycelium": "Rusticusmyzel", + "block.tfg.grass.rusticus_clay_mycelium": "Rusticustonmyzel", + "block.tfg.grass.rusticus_kaolin_mycelium": "Rusticuskaolinmyzel", + "block.tfg.grass.sangnum_mycelium": "Sangnummyzel", + "block.tfg.grass.sangnum_clay_mycelium": "Sangnumtonmyzel", + "block.tfg.grass.sangnum_kaolin_mycelium": "Sangnumkaolinmyzel", + "block.tfg.spice": "Ostrumlagerstätte", + "block.tfg.saplings.crimson": "Karmesinpilz", + "block.tfg.saplings.warped": "Wirrpilz", + "block.tfg.saplings.alphacene": "Alphacenepilz", + "block.tfg.saplings.aeronos": "Aeronospilz", + "block.tfg.saplings.strophar": "Stropharpilz", + "block.tfg.saplings.glacian": "Gletscherpilz", + "block.tfg.groundcover.glider_feather": "Gleiterfeder", + "block.tfg.groundcover.wraptor_feather": "Wraptorfeder", + "block.tfg.groundcover.aeronos_stick": "Aeronoszweig", + "block.tfg.groundcover.strophar_stick": "Stropharzweig", + "block.tfg.groundcover.glacian_stick": "Glacianzweig", + "block.tfg.groundcover.alphacene_stick": "Alphacenezweig", + "block.tfg.mars_ice": "Halbschweres Ammonisches Eis", + "block.tfg.mars_icicle": "Halbschwerer Ammonischer Eiszapfen", + "block.tfg.electromagnetic_accelerator": "Elektromagnetischer Beschleuniger", + "block.tfg.superconductor_coil_large": "Große Supraleiter Spule", + "block.tfg.superconductor_coil_small": "Kleine Supraleiter Spule", + "block.tfg.interplanetary_item_launcher": "Interplanetarische Schienenkanone", + "block.tfg.interplanetary_item_receiver": "Interplanetarischer Empfänger", + "block.tfg.interplanetary_logistics_monitor": "Interplanetarischer Logistik Monitor", + "block.tfg.railgun_ammo_loader": "Schienenkanone Munitionslader", + "block.tfg.ulv_railgun_item_loader_in": "§8ULV Interplanetarische Schienenkanone Eingangsluke§r", + "block.tfg.lv_railgun_item_loader_in": "§7LV Interplanetarische Schienenkanone Eingangsluke§r", + "block.tfg.mv_railgun_item_loader_in": "§bMV Interplanetarische Schienenkanone Eingangsluke§r", + "block.tfg.hv_railgun_item_loader_in": "§6HV Interplanetarische Schienenkanone Eingangsluke§r", + "block.tfg.ev_railgun_item_loader_in": "§5EV Interplanetarische Schienenkanone Eingangsluke§r", + "block.tfg.iv_railgun_item_loader_in": "§9IV Interplanetarische Schienenkanone Eingangsluke§r", + "block.tfg.luv_railgun_item_loader_in": "§dLuV Interplanetarische Schienenkanone Eingangsluke§r", + "block.tfg.zpm_railgun_item_loader_in": "§cZPM Interplanetarische Schienenkanone Eingangsluke§r", + "block.tfg.uv_railgun_item_loader_in": "§3UV Interplanetarische Schienenkanone Eingangsluke§r", + "block.tfg.uhv_railgun_item_loader_in": "§4UHV Interplanetarische Schienenkanone Eingangsluke§r", + "block.tfg.ulv_railgun_item_loader_out": "§8ULV Interplanetarische Schienenkanone Ausgangsluke§r", + "block.tfg.lv_railgun_item_loader_out": "§7LV Interplanetarische Schienenkanone Ausgangsluke§r", + "block.tfg.mv_railgun_item_loader_out": "§bMV Interplanetarische Schienenkanone Ausgangsluke§r", + "block.tfg.hv_railgun_item_loader_out": "§6HV Interplanetarische Schienenkanone Ausgangsluke§r", + "block.tfg.ev_railgun_item_loader_out": "§5EV Interplanetarische Schienenkanone Ausgangsluke§r", + "block.tfg.iv_railgun_item_loader_out": "§9IV Interplanetarische Schienenkanone Ausgangsluke§r", + "block.tfg.luv_railgun_item_loader_out": "§dLuV Interplanetarische Schienenkanone Ausgangsluke§r", + "block.tfg.zpm_railgun_item_loader_out": "§cZPM Interplanetarische Schienenkanone Ausgangsluke§r", + "block.tfg.uv_railgun_item_loader_out": "§3UV Interplanetarische Schienenkanone Ausgangsluke§r", + "block.tfg.uhv_railgun_item_loader_out": "§4UHV Interplanetarische Schienenkanone Ausgangsluke§r", + "block.tfg.reflector": "Reflektor Block", + "block.tfg.sunflower": "Sonnenblume", + "block.tfg.sunflower_wild": "Wilde Sonnenblume", + "block.tfg.sunflower_dead": "Tote Sonnenblume", + "block.tfg.rapeseed": "Raps", + "block.tfg.rapeseed_wild": "Wilder Raps", + "block.tfg.rapeseed_dead": "Toter Raps", + "block.tfg.flax": "Flachs", + "block.tfg.flax_wild": "Wilder Flachs", + "block.tfg.flax_dead": "Toter Flachs", + "block.tfg.casings.machine_casing_iron_desh": "Desh Maschinengehäuse", + "block.tfg.casings.machine_casing_stainless_evaporation": "Makellose Verdunstung Maschinengehäuse", + "block.tfg.casings.machine_casing_vacuum_engine_intake": "Vakuummotor Einlass Maschinengehäuse", + "block.tfg.casings.machine_casing_mars": "Robustes Staub-Sicheres Maschinengehäuse", + "block.tfg.casings.machine_casing_blue_solar_panel": "Einfaches Photovoltaikgehäuse", + "block.tfg.casings.machine_casing_green_solar_panel": "Fortgeschrittenes Photovoltaikgehäuse", + "block.tfg.casings.machine_casing_red_solar_panel": "Elite Photovoltaikgehäuse", + "block.tfg.machine_casing_aluminium_plated_steel": "Aluminiumüberzogenes Stahl Maschinengehäuse", + "block.tfg.casings.machine_casing_ultraviolet": "§dUltraViolett §fMaschinengehäuse", + "block.tfg.casings.machine_casing_bioculture": "Biokultur Maschinengehäuse", + "block.tfg.casings.machine_casing_bioculture_glass": "Biokultur Glas", + "block.tfg.casings.bioculture_rotor_primary": "Primärer Biokultur Rotor", + "block.tfg.casings.bioculture_rotor_secondary": "Sekundärer Biokultur Rotor", + "block.tfg.casings.machine_casing_ostrum_carbon": "Ostrum Maschinengehäuse", + "block.tfg.casings.heat_pipe_casing": "Wärmerohrgehäuse", + "block.tfg.glacian_wool_frame": "Eingerahmte Gletscherwolle", + "block.tfg.aes_insulation_frame": "Eingerahmte AES Isolation", + "block.tfg.machine_casing_power_casing": "Isoliertes Stromgehäuse", + "block.tfg.active_power_transformer": "Aktiver Energie Transformator", + "block.tfg.sand.fluorapatite.blue": "Blauer Fluorapatit Sand", + "block.tfg.sandstone.raw.fluorapatite.blue": "Rauer Blauer Fluorapatit Sandstein", + "block.tfg.sandstone.wall.raw.fluorapatite.blue": "Raue Blaue Fluorapatit Sandsteinwand", + "block.tfg.sandstone.slab.raw.fluorapatite.blue": "Raue Blaue Fluorapatit Sandsteinstufe", + "block.tfg.sandstone.stairs.raw.fluorapatite.blue": "Raue Blaue Fluorapatit Sandsteintreppe", + "block.tfg.sandstone.smooth.fluorapatite.blue": "Glatter Blauer Fluorapatit Sandstein", + "block.tfg.sandstone.wall.smooth.fluorapatite.blue": "Glatte Blaue Fluorapatit Sandsteinwand", + "block.tfg.sandstone.slab.smooth.fluorapatite.blue": "Glatte Blaue Fluorapatit Sandsteinstufe", + "block.tfg.sandstone.stairs.smooth.fluorapatite.blue": "Glatte Blaue Fluorapatit Sandsteintreppe", + "block.tfg.sandstone.fluorapatite.blue": "Geschnittener Blauer Fluorapatit Sandstein", + "block.tfg.sandstone.smooth.chiseled.fluorapatite.blue": "Gemeißelter Blauer Fluorapatit Sandstein", + "block.tfg.sand.fluorapatite.green": "Grüner Fluorapatit Sand", + "block.tfg.sandstone.raw.fluorapatite.green": "Rauer Grüner Fluorapatit Sandstein", + "block.tfg.sandstone.wall.raw.fluorapatite.green": "Raue Grüne Fluorapatit Sandsteinwand", + "block.tfg.sandstone.slab.raw.fluorapatite.green": "Raue Grüne Fluorapatit Sandsteinstufe", + "block.tfg.sandstone.stairs.raw.fluorapatite.green": "Raue Grüne Fluorapatit Sandsteintreppe", + "block.tfg.sandstone.smooth.fluorapatite.green": "Glatter Grüner Fluorapatit Sandstein", + "block.tfg.sandstone.wall.smooth.fluorapatite.green": "Glatte Grüne Fluorapatit Sandsteinwand", + "block.tfg.sandstone.slab.smooth.fluorapatite.green": "Glatte Grüne Fluorapatit Sandsteinstufe", + "block.tfg.sandstone.stairs.smooth.fluorapatite.green": "Glatte Grüne Fluorapatit Sandsteintreppe", + "block.tfg.sandstone.fluorapatite.green": "Geschnittener Grüner Fluorapatit Sandstein", + "block.tfg.sandstone.smooth.chiseled.fluorapatite.green": "Gemeißelter Grüner Fluorapatit Sandstein", + "block.tfg.sand.fluorapatite.brown": "Brauner Fluorapatit Sand", + "block.tfg.sandstone.raw.fluorapatite.brown": "Rauer Brauner Fluorapatit Sandstein", + "block.tfg.sandstone.wall.raw.fluorapatite.brown": "Raue Braune Fluorapatit Sandsteinwand", + "block.tfg.sandstone.slab.raw.fluorapatite.brown": "Raue Braune Fluorapatit Sandsteinstufe", + "block.tfg.sandstone.stairs.raw.fluorapatite.brown": "Raue Braune Fluorapatit Sandsteintreppe", + "block.tfg.sandstone.smooth.fluorapatite.brown": "Glatter Brauner Fluorapatit Sandstein", + "block.tfg.sandstone.wall.smooth.fluorapatite.brown": "Glatte Braune Fluorapatit Sandsteinwand", + "block.tfg.sandstone.slab.smooth.fluorapatite.brown": "Glatte Braune Fluorapatit Sandsteinstufe", + "block.tfg.sandstone.stairs.smooth.fluorapatite.brown": "Glatte Braune Fluorapatit Sandsteintreppe", + "block.tfg.sandstone.fluorapatite.brown": "Geschnittener Brauner Fluorapatit Sandstein", + "block.tfg.sandstone.smooth.chiseled.fluorapatite.brown": "Gemeißelter Brauner Fluorapatit Sandstein", + "block.tfg.sand.fluorapatite.orange": "Orange Fluorapatit Sand", + "block.tfg.sandstone.raw.fluorapatite.orange": "Rauer Orange Fluorapatit Sandstein", + "block.tfg.sandstone.wall.raw.fluorapatite.orange": "Raue Orange Fluorapatit Sandsteinwand", + "block.tfg.sandstone.slab.raw.fluorapatite.orange": "Raue Orange Fluorapatit Sandsteinstufe", + "block.tfg.sandstone.stairs.raw.fluorapatite.orange": "Raue Orange Fluorapatit Sandsteintreppe", + "block.tfg.sandstone.smooth.fluorapatite.orange": "Glatter Orange Fluorapatit Sandstein", + "block.tfg.sandstone.wall.smooth.fluorapatite.orange": "Glatte Orange Fluorapatit Sandsteinwand", + "block.tfg.sandstone.slab.smooth.fluorapatite.orange": "Glatte Orange Fluorapatit Sandsteinstufe", + "block.tfg.sandstone.stairs.smooth.fluorapatite.orange": "Glatte Orange Fluorapatit Sandsteintreppe", + "block.tfg.sandstone.fluorapatite.orange": "Geschnittener Orange Fluorapatit Sandstein", + "block.tfg.sandstone.smooth.chiseled.fluorapatite.orange": "Gemeißelter Orange Fluorapatit Sandstein", + "block.tfg.sand.fluorapatite.white": "Weißer Fluorapatit Sand", + "block.tfg.sandstone.raw.fluorapatite.white": "Rauer Weißer Fluorapatit Sandstein", + "block.tfg.sandstone.wall.raw.fluorapatite.white": "Raue Weiße Fluorapatit Sandsteinwand", + "block.tfg.sandstone.slab.raw.fluorapatite.white": "Raue Weiße Fluorapatit Sandsteinstufe", + "block.tfg.sandstone.stairs.raw.fluorapatite.white": "Raue Weiße Fluorapatit Sandsteintreppe", + "block.tfg.sandstone.smooth.fluorapatite.white": "Glatter Weißer Fluorapatit Sandstein", + "block.tfg.sandstone.wall.smooth.fluorapatite.white": "Glatte Weiße Fluorapatit Sandsteinwand", + "block.tfg.sandstone.slab.smooth.fluorapatite.white": "Glatte Weiße Fluorapatit Sandsteinwandstufe", + "block.tfg.sandstone.stairs.smooth.fluorapatite.white": "Glatte Weiße Fluorapatit Sandsteintreppe", + "block.tfg.sandstone.fluorapatite.white": "Geschnittener Weißer Fluorapatit Sandstein", + "block.tfg.sandstone.smooth.chiseled.fluorapatite.white": "Gemeißelter Weißer Fluorapatit Sandstein", + "block.tfg.sand.fluorapatite.yellow": "Gelber Fluorapatit Sand", + "block.tfg.sandstone.raw.fluorapatite.yellow": "Rauer Gelber Fluorapatit Sandstein", + "block.tfg.sandstone.wall.raw.fluorapatite.yellow": "Raue Gelbe Fluorapatit Sandsteinwand", + "block.tfg.sandstone.slab.raw.fluorapatite.yellow": "Raue Gelbe Fluorapatit Sandsteinstufe", + "block.tfg.sandstone.stairs.raw.fluorapatite.yellow": "Raue Gelbe Fluorapatit Sandsteintreppe", + "block.tfg.sandstone.smooth.fluorapatite.yellow": "Glatter Gelber Fluorapatit Sandstein", + "block.tfg.sandstone.wall.smooth.fluorapatite.yellow": "Glatte Gelbe Fluorapatit Sandsteinwand", + "block.tfg.sandstone.slab.smooth.fluorapatite.yellow": "Glatte Gelbe Fluorapatit Sandsteinstufe", + "block.tfg.sandstone.stairs.smooth.fluorapatite.yellow": "Glatte Gelbe Fluorapatit Sandsteintreppe", + "block.tfg.sandstone.fluorapatite.yellow": "Geschnittener Gelber Fluorapatit Sandstein", + "block.tfg.sandstone.smooth.chiseled.fluorapatite.yellow": "Gemeißelter Gelber Fluorapatit Sandstein", + "block.tfg.large_nest_box": "Großes Karmesin Nest", + "tfg.block_entity.large_nest_box": "Große Nest Box", + "block.tfg.large_nest_box_warped": "Großes Wirr Nest", + "block.tfg.cultivation_monitor": "Kultivationsmonitor", + "block.tfg.egh_planter": "Hortikultur Anbauer", + "block.tfg.grow_light": "Pflanzenlampe", + "block.tfg.casings.machine_casing_egh": "Hortikultur Gehäuse", + "block.tfg.pisciculture_core": "Fischerei Kernrotor", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_0": "§nMakellose§r Gewachste Holz Gewächshauswand", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_1": "§nVertikale§r Gewachste Holz Gewächshauswand", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_2": "§nHorizontale§r Gewachste Holz Gewächshauswand", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_3": "§nNubio§r Gewachste Holz Gewächshauswand", + "block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_4": "§nOrnat§r Gewachste Holz Gewächshauswand", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_0": "§nMakellose§r Kupfer Gewächshauswand", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_1": "§nVertikale§r Kupfer Gewächshauswand", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_2": "§nHorizontale§r Kupfer Gewächshauswand", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_3": "§nNubio§r Kupfer Gewächshauswand", + "block.tfg.casings.greenhouse.copper_greenhouse_casing_4": "§nOrnat§r Kupfer Gewächshauswand", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_0": "§nMakellose§r Eisen Gewächshauswand", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_1": "§nVertikale§r Eisen Gewächshauswand", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_2": "§nHorizontale§r Eisen Gewächshauswand", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_3": "§nNubio§r Eisen Gewächshauswand", + "block.tfg.casings.greenhouse.iron_greenhouse_casing_4": "§nOrnat§r Eisen Gewächshauswand", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_0": "§nMakellose§r Edelstahl Gewächshauswand", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_1": "§nVertikale§r Edelstahl Gewächshauswand", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_2": "§nHorizontale§r Edelstahl Gewächshauswand", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_3": "§nNubio§r Edelstahl Gewächshauswand", + "block.tfg.casings.greenhouse.stainless_greenhouse_casing_4": "§nOrnat§r Edelstahl Gewächshauswand", + "block.tfg.titanium_concrete": "Titan-Betonstahl", + "block.tfg.polished_titanium_concrete": "Poliertes Titan-Betonstahl", + "block.tfg.titanium_concrete_tile": "Titan-Betonstahlfliesen", + "block.tfg.titanium_concrete_tile_small": "Kleine Titan-Betonstahlfliesen", + "block.tfg.titanium_concrete_bricks": "Titan-Betonstahlziegel", + "block.tfg.titanium_concrete_bricks_small": "Kleine Titan-Betonstahlziegel", + "block.tfg.titanium_concrete_bricks_square": "Quadratische Titan-Betonstahlziegel", + "block.tfg.nuclear_turbine": "Nukleare Dampfturbine", + "block.tfg.evaporation_tower": "Kühlturm", + "block.tfg.cooling_tower": "Nuklearer Kühlturm", + "block.tfg.smr_generator": "Kleine Modulare Turbine", + "block.tfg.casings.machine_casing_desh_ptfe": "Strahlung-Sicheres Desh Gehäuse", + "block.tfg.growth_monitor": "Wachstums Monitor", + "block.tfg.sample_rack": "Probenregal", + "block.tfg.casings.machine_casing_sterilizing_pipes": "Sterilizierende Rohre", + "block.tfg.moderate_core": "Moderater Kern", + "block.tfg.impure_moderate_core": "Unreiner Moderater Kern", + "block.tfg.moderate_core_frame": "Moderates Kerngehäuse", + "block.tfg.impure_moderate_core_frame": "Unreines Moderates Kerngehäuse", + "block.tfg.copper_sandy": "Kupfer-Gebundenes Siliciumdioxid", + "block.tfg.copper_sandy_frame": "Kupfer-Gebundener Siliciumdioxidrahmen", + "block.tfg.beryllium_sandy": "Beryllium-Gebundenes Siliciumdioxid", + "block.tfg.beryllium_sandy_frame": "Beryllium-Gebundener Siliciumdioxidrahmen", + "block.tfg.heat_battery_mk1": "Thermalbatterie", + "tfg.block_entity.artisan_table": "Handwerkertisch", + "block.tfg.artisan_table": "Handwerkertisch", + "fluid.tfg.heavy_ammoniacal_water": "Schweres Ammonisches Wasser", + "fluid.tfg.semiheavy_ammoniacal_water": "Halbschweres Ammonisches Wasser", + "fluid.tfg.sulfur_fumes": "Dichte Schwefelige Dämpfe", + "fluid.tfg.geyser_slurry": "Siedeverzogener Schlamm", + "fluid.tfg.cryogenized_fluix": "Kyrogenischer Fluix", + "fluid.tfg.bw_photographic_developer": "Schwarz und Weißer Fotografischer Entwickler", + "fluid.tfg.color_photographic_developer": "Farbiger Fotografischer Entwickler", + "item.tfg.antipoison_pill": "Gegengiftpille", + "item.tfg.haste_pill": "Eilepille", + "item.tfg.night_vision_pill": "Nachtsichtpille", + "item.tfg.poison_pill": "Giftpille", + "item.tfg.regeneration_pill": "Regenerationspille", + "item.tfg.slowness_pill": "Langsamkeistpille", + "item.tfg.speed_pill": "Geschwindigkeitspille", + "item.tfg.water_breathing_pill": "Unterwasseratmungspille", + "item.tfg.weakness_pill": "Schwächepille", + "item.tfg.antipoison_tablet": "Gegengifttablette", + "item.tfg.haste_tablet": "Eiletablette", + "item.tfg.night_vision_tablet": "Nachtsichttablette", + "item.tfg.poison_tablet": "Gifttablette", + "item.tfg.regeneration_tablet": "Regenerationstablette", + "item.tfg.slowness_tablet": "Langsamkeitstablette", + "item.tfg.speed_tablet": "Geschwindigkeitstablette", + "item.tfg.water_breathing_tablet": "Unterwasseratmungstablette", + "item.tfg.weakness_tablet": "Schwächetablette", + "item.tfg.absorption_salvo": "Absorptionssalbe", + "item.tfg.fire_resistance_salvo": "Feuerresistenzsalbe", + "item.tfg.instant_health_salvo": "Direktheilungssalbe", + "item.tfg.invisibility_salvo": "Unsichtbarkeitssalbe", + "item.tfg.luck_salvo": "Glückssalbe", + "item.tfg.resistance_salvo": "Resistenzsalbe", + "item.tfg.paracetamol_pill": "Paracetamolpille", + "item.tfg.rad_away_pill": "RadAway™ Pille", + "item.tfg.paraffin_wax": "Paraffiner Wachs", + "item.tfg.flint_arrow_head": "Feuerstein Pfeilspitze", + "item.tfg.fletching": "Pfeilfeder", + "item.tfg.phantom_silk": "Phantomseide", + "item.tfg.phantom_thread": "Phantomfaden", + "item.tfg.polycaprolactam_fabric": "Polycaprolactamgewebe", + "item.tfg.polycaprolactam_string": "Polycaprolactamfaden", + "item.tfg.space_suit_fabric": "Raumanzuggewebe", + "item.tfg.vitrified_pearl": "Verglaste Enderperle", + "item.tfg.fishing_net.wood": "Holz Fischernetz", + "item.tfg.fishing_net.brass": "Messing Fischernetz", + "item.tfg.fishing_net.rose_gold": "Rosengold Fischernetz", + "item.tfg.fishing_net.sterling_silver": "Sterlingsilber Fischernetz", + "item.tfg.fishing_net.invar": "Invar Fischernetz", + "item.tfg.fishing_net.cupronickel": "Cupronickel Fischernetz", + "item.tfg.fishing_net.tin_alloy": "Zinnlegierung Fischernetz", + "item.tfg.fishing_net.magnalium": "Magnalium Fischernetz", + "item.tfg.conifer_rosin": "Nadelbaumharz", + "item.tfg.hardwood_strip": "Hartholzstreifen", + "item.tfg.soaked_hardwood_strip": "Eingeweichter Hartholzstreifen", + "item.tfg.soaked_unrefined_paper": "Eingeweichtes Unfeines Papier", + "item.tfg.prepared_leather_gloves": "Gebrauchsfertige Lederhandschuhe", + "item.tfg.latex_soaked_gloves": "Latex-Eingelegte Handschuhe", + "item.tfg.unfired_chalk": "Ungebrannte Kreide", + "item.tfg.armor_stand_arms": "Rüstungsständer mit Armen", + "item.tfg.flint_club_head": "Feuerstein Keulenkopf", + "item.tfg.unfinished_electron_tube": "Unfertige Elektronenröhre", + "item.tfg.unfinished_vacuum_tube": "Unfertige Vakuumröhre", + "item.tfg.unfinished_basic_electronic_circuit": "Unfertiger Einfacher Elektronischer Schaltkreis", + "item.tfg.unfinished_good_electronic_circuit": "Unfertiger Guter Elektronischer Schaltkreis", + "item.tfg.unfinished_inscriber_accumulation_press": "Unfertige Gravierer Beschleunigungs Presse", + "item.tfg.brick.deepslate": "Migmatitziegel", + "item.tfg.brick.dripstone": "Travertinziegel", + "item.tfg.brick.moon_stone": "Anorthositziegel", + "item.tfg.brick.moon_deepslate": "Noritziegel", + "item.tfg.brick.mars_stone": "Argillitziegel", + "item.tfg.brick.venus_stone": "Trachytziegel", + "item.tfg.brick.mercury_stone": "Komatiitziegel", + "item.tfg.brick.glacio_stone": "Phonolitziegel", + "item.tfg.brick.permafrost": "Permafrostziegel", + "item.tfg.brick.red_granite": "Roter Granitziegel", + "item.tfg.brick.sandy_jadestone": "Lamproitziegel", + "item.tfg.brick.flavolite": "Ignimbritziegel", + "item.tfg.brick.scoria": "Schlackeziegel", + "item.tfg.brick.scorchia": "Scorchiaziegel", + "item.tfg.terra_firma_greg": "TerraFirmaGreg", + "item.tfg.scaffolding_frame": "Gerüstrahmen", + "item.tfg.airship_hull": "Luftschiffwanne", + "item.tfg.airship_balloon": "Luftschiffballon", + "item.tfg.lv_aircraft_engine": "LV Flugzeugmotor", + "item.tfg.hv_aircraft_engine": "HV Flugzeugmotor", + "item.tfg.ev_aircraft_engine": "EV Flugzeugmotor", + "item.tfg.black_steel_plated_airplane_propeller": "Schwarzstahl-Überzogener Flugzeugpropeller", + "item.tfg.redblu_steel_plated_airplane_propeller": "Roter & Blauer Stahl-Überzogener Flugzeugpropeller", + "item.tfg.stainless_steel_plated_airplane_propeller": "Edelstahl-Überzogener Flugzeugpropeller", + "item.tfg.titanium_plated_airplane_propeller": "Titan-Überzogener Flugzeugpropeller", + "item.tfg.redblu_steel_landing_gear": "Roter & Blauer Stahlfahrwerk", + "item.tfg.aluminium_landing_gear": "Aluminiumfahrwerk", + "item.tfg.stainless_steel_landing_gear": "Edelstahlfahrwerk", + "item.tfg.titanium_landing_gear": "Titanfahrwerk", + "item.tfg.redblu_steel_hull_reinforcement": "Roter & Blauer Stahl Wannenverstärkung", + "item.tfg.aluminium_hull_reinforcement": "Aluminium Wannenverstärkung", + "item.tfg.stainless_steel_hull_reinforcement": "Edelstahl Wannenverstärkung", + "item.tfg.titanium_hull_reinforcement": "Titan Wannenverstärkung", + "item.tfg.ulv_universal_circuit": "ULV Universeller Schaltkreis", + "item.tfg.lv_universal_circuit": "LV Universeller Schaltkreis", + "item.tfg.mv_universal_circuit": "MV Universeller Schaltkreis", + "item.tfg.hv_universal_circuit": "HV Universeller Schaltkreis", + "item.tfg.ev_universal_circuit": "EV Universeller Schaltkreis", + "item.tfg.iv_universal_circuit": "IV Universeller Schaltkreis", + "item.tfg.luv_universal_circuit": "LuV Universeller Schaltkreis", + "item.tfg.zpm_universal_circuit": "ZPM Universeller Schaltkreis", + "item.tfg.uv_universal_circuit": "UV Universeller Schaltkreis", + "item.tfg.uhv_universal_circuit": "UHV Universeller Schaltkreis", + "item.tfg.chipboard_composite": "Graupappengemisch", + "item.tfg.piglin_disguise": "Piglinverkleidung", + "item.tfg.trowel": "Kelle", + "item.tfg.foil_pack": "Folienpackung", + "item.tfg.used_foil_pack": "Verwendete Folienpackung", + "item.tfg.clean_foil_pack": "Saubere Folienpackung", + "item.tfg.dry_ice": "Trockeneis", + "item.tfg.food.raw_birt": "Roher Birt", + "item.tfg.food.cooked_birt": "Gebratener Birt", + "item.tfg.food.raw_crawlermari": "Roher Crawlermari", + "item.tfg.food.cooked_crawlermari": "Gebratener Crawlermari", + "item.tfg.food.raw_limpet": "Rohes Limpet", + "item.tfg.food.cooked_limpet": "Gebratenes Limpet", + "item.tfg.food.raw_moon_rabbit": "Roher Mondhase", + "item.tfg.food.cooked_moon_rabbit": "Gebratener Mondhase", + "item.tfg.food.freeze_dried.red_grapes": "Gefriergetrocknete Rote Weintrauben", + "item.tfg.food.freeze_dried.white_grapes": "Gefriergetrocknete Weiß Weintrauben", + "item.tfg.food.freeze_dried.glow_berries": "Gefriergetrocknete Leuchtbeeren", + "item.tfg.food.freeze_dried.chorus_fruit": "Gefriergetrocknete Chorus Frucht", + "item.tfg.food.freeze_dried.popped_chorus_fruit": "Gefriergetrocknete Geplatzte Chorus Frucht", + "item.tfg.food.freeze_dried.blackberry": "Gefriergetrocknete Brombeere", + "item.tfg.food.freeze_dried.blueberry": "Gefriergetrocknete Blaubeere", + "item.tfg.food.freeze_dried.bunchberry": "Gefriergetrockneter Hartriegel", + "item.tfg.food.freeze_dried.cloudberry": "Gefriergetrocknete Moltebeere", + "item.tfg.food.freeze_dried.cranberry": "Gefriergetrocknete Moosbeere", + "item.tfg.food.freeze_dried.elderberry": "Gefriergetrockneter Holunder", + "item.tfg.food.freeze_dried.gooseberry": "Gefriergetrocknete Stachelbeere", + "item.tfg.food.freeze_dried.raspberry": "Gefriergetrocknete Himbeere", + "item.tfg.food.freeze_dried.snowberry": "Gefriergetrocknete Schneebeere", + "item.tfg.food.freeze_dried.strawberry": "Gefriergetrocknete Erdbeere", + "item.tfg.food.freeze_dried.wintergreen_berry": "Gefriergetrocknete Scheinbeeren", + "item.tfg.food.freeze_dried.banana": "Gefriergetrocknete Banane", + "item.tfg.food.freeze_dried.cherry": "Gefriergetrocknete Kirsche", + "item.tfg.food.freeze_dried.green_apple": "Gefriergetrockneter Grüner Apfel", + "item.tfg.food.freeze_dried.lemon": "Gefriergetrocknete Zitrone", + "item.tfg.food.freeze_dried.olive": "Gefriergetrocknete Olive", + "item.tfg.food.freeze_dried.orange": "Gefriergetrocknete Orange", + "item.tfg.food.freeze_dried.peach": "Gefriergetrockneter Pfirsisch", + "item.tfg.food.freeze_dried.plum": "Gefriergetrocknete Pflaume", + "item.tfg.food.freeze_dried.red_apple": "Gefriergetrockneter Roter Apfel", + "item.tfg.food.freeze_dried.pumpkin_chunks": "Gefriergetrocknete Kürbisstücke", + "item.tfg.food.freeze_dried.melon_slice": "Gefriergetrocknete Melonenscheibe", + "item.tfg.food.freeze_dried.fig": "Gefriergetrocknete Feige", + "item.tfg.food.freeze_dried.pineapple": "Gefriergetrocknete Ananas", + "item.tfg.food.freeze_dried.blossom_berry": "Gefriergetrocknete Blossom Berry", + "item.tfg.food.freeze_dried.shadow_berry": "Gefriergetrocknete Nox Berry", + "item.tfg.food.freeze_dried.cave_pumpkin": "Gefriergetrocknete Bulbkin Chunks", + "item.tfg.food.calorie_paste": "Kalorienpaste", + "item.tfg.food.meal_bag": "Mahlzeit-In-Der-Tüte™", + "item.tfg.food.ice_soup": "Eissuppe", + "item.tfg.food.raw_glacian_mutton": "Rohes Gletscherlamm", + "item.tfg.food.cooked_glacian_mutton": "Gebratenes Gletscherlamm", + "item.tfg.food.raw_sniffer_beef": "Rohes Schnüfflersteak", + "item.tfg.food.cooked_sniffer_beef": "Gebratenes Schnüfflersteak", + "item.tfg.food.raw_wraptor": "Roher Wraptor", + "item.tfg.food.cooked_wraptor": "Gebratener Wraptor", + "item.tfg.food.raw_springling_collar": "Rohes Springling Collar", + "item.tfg.food.cooked_springling_collar": "Gebratenes Springling Collar", + "item.tfg.food.raw_walker_steak": "Rohes Walker Steak", + "item.tfg.food.cooked_walker_steak": "Gebratenes Walker Steak", + "item.tfg.food.raw_glider_wings": "Rohe Glider Flügel", + "item.tfg.food.cooked_glider_wings": "Gebratene Glider Flügel", + "item.tfg.food.raw_whole_soarer": "Rohes Ganzer Soarer", + "item.tfg.food.cooked_whole_soarer": "Gebratenes Ganzer Soarer", + "item.tfg.food.raw_crusher_meat": "Rohes Crusher Fleisch", + "item.tfg.food.cooked_crusher_meat": "Gebratenes Crusher Fleisch", + "item.tfg.food.raw_goober_meat": "Rohes Goober Fleisch", + "item.tfg.food.cooked_goober_meat": "Cooked Goober Fleisch", + "item.tfg.food.raw_long_pig_filet": "Rohes Long Pig Filet", + "item.tfg.food.cooked_long_pig_filet": "Gebratenes Long Pig Filet", + "item.tfg.food.raw_surfer_steak": "Rohes Surfer Steak", + "item.tfg.food.cooked_surfer_steak": "Gebratenes Surfer Steak", + "item.tfg.food.raw_stackatick_chunks": "Rohe Stackatick Stücke", + "item.tfg.food.raw_stickastackatick": "Rohes Stick'a'Stackatick", + "item.tfg.food.cooked_stickastackatick": "Gebratenes Stick'a'Stackatick", + "item.tfg.food.raw_cruncher_ribs": "Rohe Cruncher Rippen", + "item.tfg.food.cooked_cruncher_ribs": "Gebratene Cruncher Rippen", + "item.tfg.food.raw_dino_nugget": "Vorbereitete Dino-Nuggets", + "item.tfg.food.cooked_dino_nugget": "Frittierte Dino-Nuggets", + "item.tfg.food.raw_beer_battered_cheese_curds": "Eingelegter Weißkäse", + "item.tfg.food.cooked_beer_battered_cheese_curds": "Frittierter Weißkäse", + "item.tfg.food.raw_fries": "Rohe Pommes", + "item.tfg.food.cooked_fries": "Pommes", + "item.tfg.food.poutine": "Poutine", + "item.tfg.food.brioche_dough": "Brioche Teig", + "item.tfg.food.brioche_bun": "Brioche Brot", + "item.tfg.food.raw_burger_patty": "Roher Burger Patty", + "item.tfg.food.cooked_burger_patty": "Burger Patty", + "item.tfg.food.slice_of_cheese": "\"Käse\"scheibe", + "item.tfg.food.hamburger": "Hamburger", + "item.tfg.food.cheeseburger": "Cheeseburger", + "item.tfg.food.oatmeal": "Haferbrei", + "item.tfg.food.raw_instant_mac": "Ungekochtes Instant Mac & Cheese", + "item.tfg.food.cooked_instant_mac": "Instant Mac & Cheese", + "item.tfg.spice.bay_leaf": "Lorbeerblatt", + "item.tfg.spice.cardamom_pods": "Kardamom Kapseln", + "item.tfg.spice.cilantro_leaves": "Koriander", + "item.tfg.spice.cumin_seeds": "Kreuzkümmel Samen", + "item.tfg.spice.oregano_leaves": "Oregano", + "item.tfg.spice.allspice": "Jamaikapfeffer", + "item.tfg.roasted_sunflower_seeds": "Geröstete Sonnenblumenkerne", + "item.tfg.sunflower_seeds": "Sonnenblumensamen", + "item.tfg.sunflower_product": "Sonnenblume", + "item.tfg.rapeseed_seeds": "Rapssamen", + "item.tfg.rapeseed_product": "Raps Ovula", + "item.tfg.spawn_egg.moon_rabbit": "Mondhase Spawn Ei", + "item.tfg.spawn_egg.surfer": "Surfer Spawn Ei", + "item.tfg.spawn_egg.wraptor": "Wraptor Spawn Ei", + "item.tfg.spawn_egg.glacian_ram": "Glacian Spawn Ei", + "item.tfg.spawn_egg.sniffer": "Schnüffler Spawn Ei", + "item.tfg.flintlock_mechanism": "Steinschloss Mechanismus", + "item.tfg.advanced_clockwork_mechanism": "Fortgeschrittener Uhrwerk Mechanismus", + "item.tfg.certus_mechanism": "Certus Mechanismus", + "item.tfg.small_bullet_casing": "Kleine Patronenhülse", + "item.tfg.large_bullet_casing": "Große Patronenhülse", + "item.tfg.shell_bullet_casing": "Kugelhülse", + "item.tfg.nitrocellulose": "Cellulosenitrat", + "item.tfg.aes_wool": "Alkalische Hochtemperaturwolle", + "item.tfg.aes_compressed_wool": "Komprimierte Alkalische Hochtemperaturwolle", + "item.tfg.aes_insulation_sheet": "Blatt von Alkalischer Hochtemperaturwolle", + "item.tfg.aes_insulation_roll": "Rolle von Alkalischer Hochtemperaturwolle", + "item.tfg.rocket_cone_t2": "Verbesseter Raketen Nasenkonus", + "item.tfg.rocket_fin_t2": "Verbesseter Raketenflügel", + "item.tfg.cryo_fluix_pearl": "Kryogenische Fluix Perle", + "item.tfg.marker.earth_orbit": "Erdumlaufbahn", + "item.tfg.marker.moon_orbit": "Mondumlaufbahn", + "item.tfg.marker.mars_orbit": "Marsumlaufbahn", + "item.tfg.marker.venus_orbit": "Venusumlaufbahn", + "item.tfg.marker.mercury_orbit": "Merkurumlaufbahn", + "item.tfg.marker.glacio_orbit": "Europaumlaufbahn", + "item.tfg.railgun_ammo_shell": "Schienenkanone Patronenhülse", + "item.tfg.sulfur_fumes_bucket": "Dichter Schwefeldampfeimer", + "item.tfg.geyser_slurry_bucket": "Siedeverzogener Schlammeimer", + "item.tfg.cryogenized_fluix_bucket": "Kryogenischer Fluixeimer", + "item.tfg.fluix_bucket": "Flüssiger Fluixeimer", + "item.tfg.latex_bucket": "Latexeimer", + "item.tfg.vulcanized_latex_bucket": "Vulkanisierter Latexeimer", + "item.tfg.conifer_pitch_bucket": "Nadelbaumharzeimer", + "item.tfg.compressed_nitrox_bucket": "Nitroxeimer", + "item.tfg.compressed_heliox_bucket": "Helioxeimer", + "item.tfg.compressed_heliox_3_bucket": "Heliox-3 Eimer", + "item.tfg.compressed_trimix_bucket": "50/30/20 Trimixeimer", + "item.tfg.compressed_trimix_3_bucket": "50/30/20 Trimix-3 Eimer", + "item.tfg.heavy_ammoniacal_water_bucket": "Schwerer Ammonischer Wassereimer", + "item.tfg.semiheavy_ammoniacal_water_bucket": "Halbschwerer Ammonischer Wassereimer", + "item.tfg.harvest_basket": "Erntekorb", + "item.tfg.aluminium_harvest_basket": "Aluminium Erntekorb", + "item.tfg.wood.lumber.aeronos": "Aeronosbauholz", + "item.tfg.wood.lumber.strophar": "Stropharbauholz", + "item.tfg.wood.lumber.glacian": "Gletscherbauholz", + "item.tfg.twigs.aeronos": "Aeronoszweig", + "item.tfg.twigs.strophar": "Stropharzweig", + "item.tfg.twigs.glacian": "Gletscherzweig", + "item.tfg.twigs.alphacene": "Alphacenezweig", + "item.tfg.crimsene_gem": "Karmesinharz", + "item.tfg.warpane_gem": "Wirrharz", + "item.tfg.glacian_wool": "Gletscherwolle", + "item.tfg.sniffer_wool": "Mineralien Enthaltender Büschel", + "item.tfg.sniffer_egg": "Schnüfflerei", + "item.tfg.wraptor_wool": "Mineralien Enthaltende Down Federn", + "item.tfg.wraptor_egg": "Wraptor Ei", + "item.tfg.wraptor_sugar": "Wraptorzucker", + "item.tfg.aes_polyurethane": "Bio-AES Verstärkter R-Polyurethane Schaum", + "item.tfg.mli_shielding": "Mehrschichtiges Insuliertes Abschirmblech", + "item.tfg.rocket_cone_t3": "Fortgeschrittener Raketen Nasenkonus", + "item.tfg.rocket_fin_t3": "Fortgeschrittener Raketenflügel", + "item.tfg.elite_power_thruster": "§aElite Raketenantrieb", + "item.tfg.silica_aerogel": "Silicat Aerogel", + "item.tfg.better_space_suit_fabric": "Anpassungsfähiges Raumanzuggewebe", + "item.tfg.universal_compost_browns": "Brauner Universeller Kompost", + "item.tfg.universal_compost_greens": "Grüner Universeller Kompost", + "item.tfg.etching_diamond_tip": "Ätzende Diamantspitze", + "item.tfg.spade_head_extruder_mold": "Extruderform (Spatenkopf)", + "item.tfg.mining_hammer_head_extruder_mold": "Extruderform (Bergbauhammerkopf)", + "item.tfg.sword_head_extruder_mold": "Extruderform (Schwertkopf)", + "item.tfg.pickaxe_head_extruder_mold": "Extruderform (Spitzhackenkopf)", + "item.tfg.shovel_head_extruder_mold": "Extruderform (Schaufelkopf)", + "item.tfg.axe_head_extruder_mold": "Extruderform (Axtkopf)", + "item.tfg.hoe_head_extruder_mold": "Extruderform (Hackenkopf)", + "item.tfg.scythe_head_extruder_mold": "Extruderform (Sensenkopf)", + "item.tfg.file_head_extruder_mold": "Extruderform (Feilenkopf)", + "item.tfg.hammer_head_extruder_mold": "Extruderform (Hammerkopf)", + "item.tfg.saw_head_extruder_mold": "Extruderform (Sägenkopf)", + "item.tfg.knife_head_extruder_mold": "Extruderform (Messerkopf)", + "item.tfg.butchery_knife_head_extruder_mold": "Extruderform (Fleischermesserkopf)", + "item.tfg.propick_head_extruder_mold": "Extruderform (Schürferspitzhackenkopf)", + "item.tfg.javelin_head_extruder_mold": "Extruderform (Wurfspeerkopf)", + "item.tfg.chisel_head_extruder_mold": "Extruderform (Meißelkopf)", + "item.tfg.mace_head_extruder_mold": "Extruderform (Streitkolbenkopf)", + "item.tfg.mattock_head_extruder_mold": "Extruderform (Breithackenkopf)", + "item.tfg.fish_hook_extruder_mold": "Extruderform (Angelhaken)", + "item.tfg.whisk_extruder_mold": "Extruderform (Schneebesen)", + "item.tfg.screwdriver_tip_extruder_mold": "Extruderform (Schraubenzieherspitze)", + "item.tfg.wrench_tip_extruder_mold": "Extruderform (Schraubenschlüsselspitze)", + "item.tfg.wire_cutter_head_extruder_mold": "Extruderform (Drahtschneiderkopf)", + "item.tfg.small_casing_extruder_mold": "Extruderform (Kleine Patronenhülse)", + "item.tfg.shell_casing_extruder_mold": "Extruderform (Kugelhülse)", + "item.tfg.large_casing_extruder_mold": "Extruderform (Große Patronenhülse)", + "item.tfg.photo_cell_t1": "Einfache Photovoltaikzelle", + "item.tfg.electric_extendo_grip": "Elektrischer Extendo Griff", + "item.tfg.treated_chipboard_composite": "Behandeltes Spanplattengemisch", + "item.tfg.high_density_treated_fiberboard": "Mittlere Dichte Behandeltes Hartpappe", + "item.tfg.flax_seeds": "Flachssamen", + "item.tfg.flax_product": "Flachsstiel", + "item.tfg.flax_bundle": "Flachsbündel", + "item.tfg.flax_line": "Flachs Leinfasern", + "item.tfg.flax_tow": "Flachs Towfasern", + "item.tfg.flax_waste": "Abgekratztes Flachs", + "item.tfg.bundled_scraped_flax": "Gebündeltes Abgekratztes Flachs", + "item.tfg.linen_thread": "Leinfasern", + "item.tfg.linen_cloth": "Leingewebe", + "item.tfg.uv_led": "§dUltraviolettes §fLED", + "item.tfg.smd_uv_led": "§fSMD §dUltraviolettes §fLED", + "item.tfg.empty_dna_syringe": "Leere Spritze", + "item.tfg.filled_dna_syringe": "Volle Spritze", + "item.tfg.dirty_dna_syringe": "Dreckige Spritze", + "item.tfg.clean_dna_syringe": "Saubere Spritze", + "item.tfg.stainless_steel_needle": "Edelstahlnadel", + "item.tfg.empty_rod": "Leerer Spaltbarer Brennstab", + "item.tfg.empty_rod_t2": "Leerer Beryllium Spaltbarer Brennstab", + "item.tfg.empty_rod_t3": "Leerer Zirconium Spaltbarer Brennstab", + "item.tfg.thorium_rod": "Thorium Brennstab", + "item.tfg.depleted_thorium_rod": "Abgenutzter Thorium Brennstab", + "item.tfg.uranium_rod": "Uranium Brennstab", + "item.tfg.depleted_uranium_rod": "Abgenutzter Uranium Brennstab", + "item.tfg.plutonium_rod": "Plutonium Brennstab", + "item.tfg.depleted_plutonium_rod": "Abgenutzter Plutonium Brennstab", + "item.tfg.tbu_232_rod": "Thorium-Uranium Brutbrennstab", + "item.tfg.depleted_tbu_232_rod": "Abgenutzter Thorium-Uranium Brutbrennstab", + "item.tfg.americium_241_rod": "Americium Brennstab", + "item.tfg.depleted_americium_241_rod": "Abgenutzter Americium Brennstab", + "item.tfg.neptunium_237_rod": "Neptunium Brennstab", + "item.tfg.depleted_neptunium_237_rod": "Abgenutzter Neptunium Brennstab", + "item.tfg.californium_252_rod": "Californium Brennstab", + "item.tfg.depleted_californium_252_rod": "Abgenutzter Californium Brennstab", + "item.tfg.refrigerant_pellet": "Kälterzeugendes Pellet", + "item.tfg.terrafirmaguard_pa6": "TerraFirmaGuard PA6", + "item.tfg.graphite_compound": "Graphitgemisch", + "item.tfg.raw_graphite_briquette": "Rohes Graphit Brikett", + "item.tfg.faulty_graphite_briquette": "Mangelhaftes Graphit Brikett", + "item.tfg.washed_graphite_briquette": "Gewaschenes Graphit Brikett", + "item.tfg.pure_graphite_rod": "Reiner Graphitstab", + "item.tfg.impure_graphite_rod": "Unreiner Graphitstab", + "item.tfg.annealed_graphite_rod": "Glühender Graphitstab", + "item.tfg.impure_annealed_graphite_rod": "Unreiner Glühender Graphitstab", + "item.tfg.graphite_moderator": "Graphit Moderator", + "item.tfg.impure_graphite_moderator": "Unreiner Graphit Moderator", + "item.tfg.advanced_polymer_binder": "Fortgeschrittenes Polymer Bindemittel", + "item.tfg.beaker": "Messbecher", + "item.tfg.beaker.filled": "Messbecher von %s", + "item.tfg.flask": "Erlenmeyerkolben", + "item.tfg.flask.filled": "Erlenmeyerkolben von %s", + "item.tfg.vial": "Reagenzglas", + "item.tfg.vial.filled": "Reagenzglas von %s", + "item.tfg.lab_equipment": "Laboraustattung", + "item.tfg.dirty_lab_equipment": "Dreckige Laboraustattung", + "item.tfg.wireless_card": "Interplanetarische Drahtlose Karte", + "item.tfg.wet_magenta_chalk": "Nasse Magenta Kreide", + "item.tfg.wet_pink_chalk": "Nasse Pinke Kreide", + "item.tfg.wet_green_chalk": "Nasse Green Kreide", + "item.tfg.wet_lime_chalk": "Nasse Hellgrüne Kreide", + "item.tfg.wet_light_gray_chalk": "Nasse Hellgraue Kreide", + "item.tfg.wet_yellow_chalk": "Nasse Gelbe Kreide", + "item.tfg.wet_black_chalk": "Nasse Schwarze Kreide", + "item.tfg.wet_light_blue_chalk": "Nasse Hellblaue Kreide", + "item.tfg.wet_brown_chalk": "Nasse Braune Kreide", + "item.tfg.wet_cyan_chalk": "Nasse Türkise Kreide", + "item.tfg.wet_orange_chalk": "Nasse Orange Kreide", + "item.tfg.wet_red_chalk": "Nasse Rote Kreide", + "item.tfg.wet_gray_chalk": "Nasse Graue Kreide", + "item.tfg.wet_white_chalk": "Nasse Weiße Kreide", + "item.tfg.wet_blue_chalk": "Nasse Blaue Kreide", + "item.tfg.wet_purple_chalk": "Nasse Violette Kreide", + "item.tfg.lamp_casting_mold": "Lampen Gussform", + "item.tfg.trapdoor_casting_mold": "Falltür Gussform", + "item.tfg.chain_casting_mold": "Ketten Gussform", + "item.tfg.bell_casting_mold": "Glocken Gussform", + "item.tfg.rnr_plow": "Pflasterpflug", + "item.tfg.cobalt_brass_wheel": "Kobalt Messingrad", + "item.tfg.cellulose_matrix": "Cellulose Matrix", + "item.tfg.smooth_endoplasmic_reticula": "Glattes Endoplasmatisches Retikulum", + "item.tfg.rough_endoplasmic_reticula": "Raues Endoplasmatisches Retikulum", + "item.tfg.alpha_keratin": "α-Keratin", + "item.tfg.progenitor_cells": "Progenitorzellen", + "item.tfg.catalyser_pt_re_zsm": "Platinum-Rhenium ZSM-5 Katalysator", + "item.tfg.used_catalyser": "Used Platinum-Rhenium ZSM-5 Katalysator", + "item.tfg.loaded_resin": "Rhenium-Geladenes Granulat", + "item.tfg.rod_mold": "Stabform", + "item.tfg.small_gear_mold": "Kleines Zahnradform", + "item.tfg.nugget_mold": "Klumpenform", + "item.tfg.unfired_rod_mold": "Ungebrannte Stabform", + "item.tfg.unfired_small_gear_mold": "Ungebrannte Kleines Zahnradform", + "item.tfg.unfired_nugget_mold": "Ungebrannte Klumpenform", + "item.tfg.fish_roe": "%s Rogen", + "item.tfg.rotten_voiding_cover": "Verdorbenes Voiding Abdeckung", + "item.tfg.flora_pellets": "Flora Pellets", + "item.tfg.magnesia_refractory_brick_ingot": "Harz-Gebundener Magnesia Hochtemperaturwerkstoffziegel", + "item.tfg.tier_1_double_rocket": "R-Aluminostahl Zwei-Mann Rakete", + "item.tfg.tier_2_double_rocket": "ASM 4914 Titan Zwei-Mann Rakete", + "item.tfg.tier_3_double_rocket": "45-Ti Wolframstahl Zwei-Mann Rakete", + "material.tfg.latex": "Latex", + "material.tfg.vulcanized_latex": "Vulkanisiertes Latex", + "material.tfg.fluix": "Fluix", + "material.tfg.conifer_pitch": "Nadelbaumpech", + "material.tfg.pyrogallol": "1,2,3-Trihydroxybenzol", + "material.gtceu.lactose": "Laktose", + "material.tfg.gabbro": "Gabbro", + "material.tfg.shale": "Schieferstein", + "material.tfg.claystone": "Tonstein", + "material.tfg.limestone": "Kalkstein", + "material.tfg.conglomerate": "Konglomerat", + "material.tfg.dolomite": "Dolomit", + "material.tfg.chert": "Hornstein", + "material.tfg.rhyolite": "Rhyolit", + "material.tfg.dacite": "Dacit", + "material.tfg.slate": "Tonschiefer", + "material.tfg.phyllite": "Phyllit", + "material.tfg.schist": "Kristallschiefer", + "material.tfg.gneiss": "Gneis", + "material.tfg.chalk": "Kalk", + "material.tfg.moon_stone": "Anorthosit", + "material.tfg.moon_deepslate": "Norit", + "material.tfg.mars_stone": "Argillit", + "material.tfg.venus_stone": "Trachyt", + "material.tfg.mercury_stone": "Komatiite", + "material.tfg.glacio_stone": "Phonolit", + "material.tfg.sedimentary_clastic": "Klatischer Sediment", + "material.tfg.sedimentary_carbonate": "Kohlensaures Sediment", + "material.tfg.sedimentary_organic": "Organisches Sediment", + "material.tfg.metamorphic": "Metamorphes Gestein", + "material.tfg.igneous_ultramafic": "Ultramafisch Magmatisch", + "material.tfg.igneous_mafic": "Mafisch Magmatisch", + "material.tfg.igneous_intermediate": "Zwischenstufe Magmatisch", + "material.tfg.igneous_felsic": "Felsisch Magmatisch", + "material.gtceu.thermochemically_treated_hardwood": "Thermochemisch Behandeltes Hartholz", + "material.gtceu.hardwood": "Hartholz", + "material.gtceu.asurine": "Asurine", + "material.gtceu.ochrum": "Ockrum", + "material.gtceu.veridium": "Veridium", + "material.gtceu.crimsite": "Karmesit", + "material.gtceu.scoria": "Schlacke", + "material.gtceu.scorchia": "Scorchia", + "material.tfg.kaolinite": "Kaolinit", + "material.tfg.vitrified_pearl": "Verglastes Ender", + "material.tfg.aes_mix": "Alkalische Erdsilikat Mixtur", + "material.tfg.molten_aes": "Geschmolzenes Alkalisches Erdsilikat", + "material.tfg.compressed_nitrox": "Komprimiertes Nitrox", + "material.tfg.compressed_heliox": "Komprimiertes Heliox", + "material.tfg.compressed_heliox_3": "Komprimiertes Heliox-3", + "material.tfg.compressed_trimix": "Komprimiertes 50/30/20 Trimix", + "material.tfg.compressed_trimix_3": "Komprimiertes 50/30/20 Trimix-3", + "material.tfg.chlorodifluoromethane": "Chlordifluormethan", + "material.tfg.acetylene": "Ethin", + "material.tfg.1_1_1_2_tetrafluoroethane": "1,1,1,2-Tetrafluorethan", + "material.tfg.isobutane": "Isobutan", + "material.tfg.chloryl_fluoride": "Chlorylfluorid", + "material.tfg.chlorine_pentafluoride": "Chlorpentafluorid", + "material.tfg.solar_coolant": "Solarflüssigkeit", + "material.tfg.solar_coolant_tier2": "Raumfahrt Solarflüssigkeit", + "material.tfg.sodium_hydride": "Natriumhydrid", + "material.tfg.boric_acid": "Borsäure", + "material.tfg.trimethyl_borate": "Borsäuretrimethylester", + "material.tfg.sodium_borohydride": "Natriumborhydrid", + "material.tfg.sodium_methoxide": "Natriummethanolat", + "material.tfg.ammonia_borane": "Amminboran", + "material.tfg.aniline": "Anilin", + "material.tfg.dimethyl_carbonate": "Kohlensäuredimethylester", + "material.tfg.methyl_phenylcarbamate": "Methyl N-Phenylcarbamate", + "material.tfg.methylene_diphenyl_dicarbamate": "Methylene Diphenyl-4,4'-Dicarbamate", + "material.tfg.methylene_diphenyl_diisocyanate": "Methylene Diphenyl-4,4'-Diisocyanate", + "material.tfg.tmos": "Tetramethylorthosilicat", + "material.tfg.silica_gel": "Kieselgel", + "material.tfg.soaked_silica_gel": "Aceton Eingeweichtes Kieselgel", + "material.tfg.heavy_water": "Schweres Wasser", + "material.tfg.semiheavy_water": "Halbschweres Wasser", + "material.tfg.nuclear_residue": "Atommüll", + "material.tfg.oxidized_nuclear_residue": "Oxidierter Atommüll", + "material.tfg.refined_nuclear_residue": "Verarbeiteter Atommüll", + "material.tfg.mars_air": "Marsluft", + "material.tfg.liquid_mars_air": "Flüssige Marsluft", + "material.tfg.raw_rich_brine": "Rohe Reiche Salzlösung", + "material.tfg.basic_bromine_exhaust": "Einfacher Bromauspuff", + "material.tfg.brominated_iodine_vapor": "Brominierter Ioddampf", + "material.tfg.hot_iodine_brine": "Heiße Iod Salzlösung", + "material.tfg.certus_regolith": "Certus Regolith", + "material.tfg.goethe_regolith": "Goethe Regolith", + "material.tfg.bright_regolith": "Bright Regolith", + "material.tfg.cassiterite_regolith": "Cassiterite Regolith", + "material.tfg.regolith_mush": "Regolithbrei", + "material.tfg.apt": "Ammoniumparawolframat", + "material.tfg.ammonium_tungstate": "Ammoniumwolframat", + "material.tfg.tungsten_bismuth_oxide_composite": "Wolfram-Bismuth Oxidgemisch", + "material.tfg.tungsten_oxide": "Wolfwramoxid", + "material.tfg.sodium_tungstate": "Natriumwolframat", + "material.tfg.tetrafluoroethane": "Tetrafluoroethan", + "material.tfg.thermally_conductive_fluid": "Wärmeleitflüssigkeit", + "material.tfg.crimsene": "Karminit", + "material.tfg.warpane": "Wirrit", + "material.tfg.mycelienzene": "Myzelienzen", + "material.tfg.cooked_mycelienzane": "1,3-Myzelienzen", + "material.tfg.iodomethane": "Iodomethan", + "material.tfg.trideuteroiodomethane": "Trideuteroiodomethan", + "material.tfg.lauryl_alcohol": "1-Dodecanol", + "material.tfg.chlorosulfuric_acid": "Chlorsulfonsäure", + "material.tfg.sodium_dodecyl_sulfate": "Natriumlaurylsulfat", + "material.tfg.sodium_hypochlorite": "Natriumhypochlorit", + "material.tfg.mutative_yeast": "Mutative Hefe", + "material.tfg.proto_growth_medium": "Proto Wachstumsmedium", + "material.tfg.fibroblast_feeder_cells": "Fibroblast Fütterzellen", + "material.tfg.gram_stain": "Gram-Färbung", + "material.tfg.crystal_violet": "Kristallviolett", + "material.tfg.n_n_dimethylaniline": "N,N-Dimethylanilin", + "material.tfg.triglyceride_oil": "Mittelkettige Triglyceride", + "material.tfg.cholesterol": "Cholesterin", + "material.tfg.butyric_acid": "Buttersäure", + "material.tfg.citric_acid": "Citronensäure", + "material.tfg.sodium_dihydrogen_citrate": "Natriumihydrogencitrat", + "material.tfg.light_stock": "Leichter Bestand", + "material.tfg.rich_stock": "Reicher Bestand", + "material.tfg.brown_gravy": "Braune Soße", + "material.tfg.zircon": "Zirkon", + "material.tfg.silicon_tetrachloride": "Tetrachlorsilan", + "material.tfg.zirconium_tetrachloride": "Zirconium(IV)-chlorid", + "material.tfg.zirconium_oxide": "Zirkonia", + "material.tfg.zirconium_bromide": "Zirconium(IV)-bromid", + "material.tfg.zirconium_diboride": "Zirkoniumdiborid", + "material.tfg.boron_carbide": "Borcarbid", + "material.tfg.syngas": "Synthesegas", + "material.tfg.raw_aromatic_mix": "Rohe Aromatische Mixtur", + "material.tfg.aromatic_feedstock": "Aromatisches Feedstock", + "material.tfg.reformed_aromatic_feedstock": "Reformiertes Aromatisches Feedstock", + "material.tfg.reformate_gas": "Katalytisches Reforming", + "material.tfg.cracker_off_gas": "Gecracktes Reformat Off-Gas", + "material.tfg.btx_fuel": "BTX Treibstoff", + "material.tfg.critical_steam": "Kritischer Dampf", + "material.tfg.americium_241": "Americium 241", + "material.tfg.californium_252": "Californium 252", + "material.tfg.neptunium_237": "Neptunium 237", + "material.tfg.tbu_waste": "Thorium-Uranium Brutreaktor Abfall", + "material.tfg.mixed_radioactive_fluid": "Gemischte Radioaktive Flüssigkeit", + "material.tfg.degraded_solvent_stream": "Degradierter Lösungsfluss", + "material.tfg.boron_enriched_coolant": "Angereichertes Bor-Kühlungsmittel", + "material.tfg.hot_boron_enriched_coolant": "Heißes Angereichertes Bor-Kühlungsmittel", + "material.tfg.polyalkylene_lubricant": "Polyalkylen Schmiermittel", + "material.tfg.organic_degradation_slurry": "Organischer Zersetzungsschlamm", + "material.tfg.gas_fraction": "Gasgemisch", + "material.tfg.isotopic_solvent": "Isotopische Lösung", + "material.tfg.residual_sludge": "Rückständiger Abfall", + "material.tfg.sodium_fluoride": "Natriumfluorid", + "material.tfg.trace_catalyst_salt_e": "Trace Katalysator Salz E", + "material.tfg.copper_trace_catalyst_dust": "Kupfer Trace Katalysator", + "material.tfg.organic_stabilizer": "Organischer Stabilizator", + "material.tfg.inert_dust_fraction": "Träge Spaltung", + "material.tfg.recovered_ionic_complex": "Wiederhergestellter Ionischer Komplex", + "material.tfg.boron_10_hydroxide": "Bor-10 Hydroxid", + "material.tfg.sodium_deuteroxide": "Natrium Deuteroxid", + "material.tfg.boron_thrichloride": "Bor Trichlorid", + "material.tfg.enriched_boron_thrichloride": "Angereichertes Bor Trichlorid", + "material.tfg.booster_t3": "NYI", + "material.tfg.radioactive_effluent": "Radioaktives Abwasser", + "material.tfg.high_grade_isotopic_solvent": "Hochwertige Isotopische Lösung", + "material.tfg.degraded_high_grade_isotopic_solvent": "Abgenutzte Hochwertige Isotopische Lösung", + "material.tfg.spent_ticl4_doped_supercritical_co2": "Heißes TiCl₄-Gedoptes Superkritisches CO₂", + "material.tfg.ticl4_doped_supercritical_co2": "TiCl₄-Gedoptes Superkritisches CO₂", + "material.tfg.flibe": "FLiBe", + "material.tfg.dirty_flibe": "Dreckiges FLiBe", + "material.tfg.hot_flibe": "Heißes FLiBe", + "material.tfg.glucose": "Glukose", + "material.tfg.galactose": "Galaktose", + "material.tfg.fructose": "Fructose", + "material.tfg.sorbitol": "Sorbit", + "material.tfg.14_sorbitan": "1,4-Sorbitan", + "material.tfg.isosorbide": "Isosorbid", + "material.tfg.linolenic_acid": "α-Linolensäure", + "material.tfg.isosorbide_ln": "Isosorbide Linolen", + "material.tfg.epox_isosorbide_ln": "Epoxidizierte Isosorbide Linolen", + "material.tfg.ozone": "Ozon", + "material.tfg.tin_chloride": "Zinn(II)-chlorid", + "material.tfg.cyclohexanone": "Cyclohexanon", + "material.tfg.cyclohex_diperoxide": "1,1-Cyclohexanediyl Dihydroperoxid", + "material.tfg.aciditic_waste": "Saurer Epoxy Abfall", + "material.tfg.tpaoh": "Tetrapropylammoniumhydroxid", + "material.tfg.sodium_silicate": "Natriumsilicat", + "material.tfg.metal_rich_solution": "Metall-Reiche Lösung", + "material.tfg.crude_mixed_gas": "Grobes Gasgemisch", + "material.tfg.zsm5_gel": "ZSM-5 Gel", + "material.tfg.leachate": "Rhenium Leachat", + "material.tfg.clean_powder": "Re-Silicat Sauber", + "material.tfg.catalyser_powder": "Rhenium ZSM-5 Katalysator", + "material.tfg.sodium_aluminium": "Natriumaluminate", + "material.tfg.chloroplasts": "Chloroplasten", + "material.tfg.nitrate_rich_water": "Nitrat-Reiches Wasser", + "material.tfg.nitrate_rich_semiheavy_ammoniacal_water": "Nitrat-Reiches Halbschweres Ammonisches Wasser", + "material.tfg.weak_red_steel": "Schwacher Roter Stahl", + "material.tfg.weak_blue_steel": "Schwacher Blauer Stahl", + "material.tfg.refractory_clay": "Hochtemperaturwerkstofflehm", + "material.tfg.bakelite": "Bakelit", + "material.tfg.phenolic_resin": "Phenolisches Harz", + "material.tfg.magnesium_hydroxide": "Magnesium Hydroxid", + "material.tfg.magnesia_refractory_brick": "Harz-Gebundenes Magnesia Hochtemperaturwerkstoffziegel", + "material.tfg.nichromium_iodomethylate": "Nichromium Iodomethylat", + "ore_vein.tfg.deep_sheldonite": "Cooperit & Bornit", + "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Granat", + "ore_vein.tfg.deep_garnet_opal": "Opal & Granat", + "ore_vein.tfg.deep_gold": "Gold (Tief)", + "ore_vein.tfg.deep_hematite": "Hematit, Goethit, & Rubin", + "ore_vein.tfg.deep_limonite": "Goethit & Malachit", + "ore_vein.tfg.deep_magnetite": "Chromit & Magnetit", + "ore_vein.tfg.deep_molybdenum": "Wulfenit & Molybdänit", + "ore_vein.tfg.deep_pitchblende": "Uraninit & Pechblende", + "ore_vein.tfg.deep_sapphire": "Saphir & Almandin", + "ore_vein.tfg.deep_scheelite": "Scheelit & Wolframate", + "ore_vein.tfg.deep_topaz": "Topas & Chalkosin", + "ore_vein.tfg.desert_oilsands": "Wüsten Ölsand", + "ore_vein.tfg.desert_oilsands.emi.0": "Nur in trockenen Klimatas.", + "ore_vein.tfg.desert_oilsands.emi.1": "Max. Niederschlag: 120mm", + "ore_vein.tfg.normal_apatite": "Apatit & Pyrochlor", + "ore_vein.tfg.normal_basaltic_sands": "Mineralsand", + "ore_vein.tfg.normal_beryllium": "Smaragd & Beryllium", + "ore_vein.tfg.normal_bismuthinite": "Bismut (Normal)", + "ore_vein.tfg.normal_cassiterite": "Kassiterit (Normal)", + "ore_vein.tfg.normal_coal": "Kohle", + "ore_vein.tfg.normal_copper": "Kupfer & Chalkopyrit", + "ore_vein.tfg.normal_garnet_tin": "Granat & Kassiterit Sand", + "ore_vein.tfg.normal_garnierite": "Garnierit & Kobaltit", + "ore_vein.tfg.normal_garnierite.emi.0": "Tipp: Gabbro ist immer", + "ore_vein.tfg.normal_garnierite.emi.1": "unter Basalt.", + "ore_vein.tfg.normal_gold": "Gold, Limonit, & Hematit", + "ore_vein.tfg.normal_graphite": "Graphit & Diamant", + "ore_vein.tfg.normal_gypsum": "Gips & Kalzit", + "ore_vein.tfg.normal_hematite": "Hematit & Limonit", + "ore_vein.tfg.normal_lapis": "Lapis, Lasurit, & Sodalith", + "ore_vein.tfg.normal_limonite": "Limonit", + "ore_vein.tfg.normal_lubricant": "Speckstein, Talk, & Trona", + "ore_vein.tfg.normal_magnetite": "Magnetit & Vanadium", + "ore_vein.tfg.normal_manganese": "Mangan & Tantal", + "ore_vein.tfg.normal_mica": "Kyanit, Glimmer, & Bauxit", + "ore_vein.tfg.normal_monazite": "Bastnäsit & Monazit", + "ore_vein.tfg.normal_oilsands": "Ölsand", + "ore_vein.tfg.normal_olivine": "Bentonit & Olivin", + "ore_vein.tfg.normal_quartz": "Quarz", + "ore_vein.tfg.normal_redstone": "Redstone, Zinnober, & Rubin", + "ore_vein.tfg.normal_redstone.emi.0": "Tipp: Granit ist immer", + "ore_vein.tfg.normal_redstone.emi.1": "unter Rhyolith.", + "ore_vein.tfg.normal_salt": "Salze & Borax", + "ore_vein.tfg.normal_saltpeter": "Saltpeter & Electrotin", + "ore_vein.tfg.normal_silver": "Silber, Galenit, & Blei", + "ore_vein.tfg.normal_sphalerite": "Sphalerit & Pyrit", + "ore_vein.tfg.normal_spodumene": "Spodumen & Lepidolith", + "ore_vein.tfg.normal_sulfur": "Schwefel & Pyrit", + "ore_vein.tfg.normal_tarkianite": "Tarkianit & Ölsand", + "ore_vein.tfg.normal_tarkianite.emi.0": "Nur in trockenen Klimatas.", + "ore_vein.tfg.normal_tarkianite.emi.1": "Min. Temp: 7°C", + "ore_vein.tfg.normal_tarkianite.emi.2": "Max. Niederschlag: 100mm", + "ore_vein.tfg.normal_tetrahedrite": "Tetrahedrit (Normal)", + "ore_vein.tfg.surface_bismuthinite": "Bismut (Oberfläche)", + "ore_vein.tfg.surface_cassiterite": "Kassiterit (Oberfläche)", + "ore_vein.tfg.surface_copper": "Chalkopyrit & Realgar", + "ore_vein.tfg.surface_sphalerite": "Sphalerit & Schwefel", + "ore_vein.tfg.surface_tetrahedrite": "Tetraedrit (Oberfläche)", + "ore_vein.tfg.deep_mars_chromite": "Redstone & Chromit", + "ore_vein.tfg.deep_mars_pitchblende": "Pechblende, Thorianit, & Uraninit", + "ore_vein.tfg.deep_mars_sheldonite": "Bornit & Cooperit", + "ore_vein.tfg.mars_almandine": "Almandin & Saphir", + "ore_vein.tfg.mars_apatite": "Apatit & Pyrochlor", + "ore_vein.tfg.mars_beryllium": "Smaragd & Beryllium", + "ore_vein.tfg.mars_coal": "Kohle & Hematit", + "ore_vein.tfg.mars_copper": "Kupfer & Chalkopyrit", + "ore_vein.tfg.mars_galena": "Silber, Galenit, & Blei", + "ore_vein.tfg.mars_gold": "Gold, Elektrotin, & Bauxit", + "ore_vein.tfg.mars_graphite": "Graphit & Diamant", + "ore_vein.tfg.mars_hematite": "Hematit & Limonit", + "ore_vein.tfg.mars_lapis": "Lapis, Lasurit, & Sodalith", + "ore_vein.tfg.mars_lubricant": "Trona, Talk, & Glaukonit", + "ore_vein.tfg.mars_neodynium": "Bastnäsit & Monazit", + "ore_vein.tfg.mars_nickel": "Garnierit & Kobaltit", + "ore_vein.tfg.mars_pitchblende": "Pechblende & Thorianit, & Hematit", + "ore_vein.tfg.mars_quartzite": "Quarzit, Asbest, & Baryt", + "ore_vein.tfg.mars_salt": "Salts & Spodumen", + "ore_vein.tfg.mars_stibnite": "Tetrahedrit (Normal)", + "ore_vein.tfg.mars_sulfur": "Sphalerit & Pyrit", + "ore_vein.tfg.mars_tantalite": "Mangan & Tantal", + "ore_vein.tfg.mars_tungsten": "Scheelit & Wolframit", + "ore_vein.tfg.mars_surface_bismuthinite": "Bismut", + "ore_vein.tfg.mars_surface_cassiterite": "Kassiterit", + "ore_vein.tfg.mars_surface_hematite": "Hematit & Limonit", + "ore_vein.tfg.mars_surface_nickel_galena": "Sphalerit & Galenit", + "ore_vein.tfg.mars_surface_tetrahedrite": "Tetrahedrit (Oberfläche)", + "ore_vein.tfg.moon_apatite": "Apatit & Pyrochlor", + "ore_vein.tfg.moon_bauxite": "Bauxit & Ilmenit", + "ore_vein.tfg.moon_beryllium": "Smaragd & Beryllium", + "ore_vein.tfg.moon_cassiterite": "Cassiterit & Chalkopyrit", + "ore_vein.tfg.moon_sheldonite": "Cooperit & Bornit", + "ore_vein.tfg.moon_desh": "Desh & Ilmenit", + "ore_vein.tfg.moon_garnet": "Amethyst, Opal, & Granat", + "ore_vein.tfg.moon_garnierite": "Garnierit & Kobaltit", + "ore_vein.tfg.moon_gold": "Gold & Magnetit", + "ore_vein.tfg.moon_graphite": "Graphit & Diamant", + "ore_vein.tfg.moon_gypsum": "Gips & Kalzit", + "ore_vein.tfg.moon_lubricant": "Speckstein, Talk, & Trona", + "ore_vein.tfg.moon_magnetite": "Chromit & Magnetit", + "ore_vein.tfg.moon_manganese": "Mangan & Tantalum", + "ore_vein.tfg.moon_mica": "Kyanit, Glimmer, & Bauxit", + "ore_vein.tfg.moon_molybdenum": "Wulfenit & Molybdänit", + "ore_vein.tfg.moon_monazite": "Bastnasite & Monazite", + "ore_vein.tfg.moon_pyrolusite": "Pyrolusit and Kobalt", + "ore_vein.tfg.moon_quartz": "Certus Quarz", + "ore_vein.tfg.moon_redstone": "Redstone, Zinnober, & Rubin", + "ore_vein.tfg.moon_saltpeter": "Saltpeter & Elektrotin", + "ore_vein.tfg.moon_sapphire": "Saphir & Almandin", + "ore_vein.tfg.moon_scheelite": "Scheelit & Wolframit", + "ore_vein.tfg.moon_silver": "Silber, Galenit, & Blei", + "ore_vein.tfg.moon_sphalerite": "Sphalerit & Pyrit", + "ore_vein.tfg.moon_tetrahedrite": "Tetrahedrit & Chalkosin", + "ore_vein.tfg.moon_topaz": "Topas & Chalkosin", + "ore_vein.tfg.nether_anthracite": "Anthrazit", + "ore_vein.tfg.nether_apatite": "Apatit & Pyrochlor", + "ore_vein.tfg.nether_basaltic_sands": "Mineralsand", + "ore_vein.tfg.nether_beryllium": "Smaragd & Beryllium", + "ore_vein.tfg.nether_cassiterite": "Kassiterit", + "ore_vein.tfg.nether_sheldonite": "Cooperit & Bornit", + "ore_vein.tfg.nether_copper": "Kupfer & Chalkopyrit", + "ore_vein.tfg.nether_garnet": "Amethyst, Opal, & Granat", + "ore_vein.tfg.nether_garnet_tin": "Granat & Kassiteritsand", + "ore_vein.tfg.nether_garnierite": "Garnierit & Kobaltit", + "ore_vein.tfg.nether_goethite": "Goethit", + "ore_vein.tfg.nether_gold": "Gold & Hematit", + "ore_vein.tfg.nether_graphite": "Graphit & Diamant", + "ore_vein.tfg.nether_gypsum": "Gips & Kalzit", + "ore_vein.tfg.nether_hematite": "Hematit & Limonit", + "ore_vein.tfg.nether_lapis": "Lapis, Lasurit, & Sodalith", + "ore_vein.tfg.nether_lubricant": "Speckstein, Talk, & Trona", + "ore_vein.tfg.nether_magnetite": "Chromit", + "ore_vein.tfg.nether_manganese": "Mangan & Tantal", + "ore_vein.tfg.nether_mica": "Kyanit, Glimmer, & Bauxit", + "ore_vein.tfg.nether_molybdenum": "Wulfenit & Molybdänit", + "ore_vein.tfg.nether_monazite": "Bastnäsit & Monazit", + "ore_vein.tfg.nether_naquadah": "Naquadah", + "ore_vein.tfg.nether_olivine": "Bentonit & Olivin", + "ore_vein.tfg.nether_pitchblende": "Uraninit & Pechblende", + "ore_vein.tfg.nether_quartz": "Netherquarz", + "ore_vein.tfg.nether_redstone": "Redstone, Zinnober, & Rubin", + "ore_vein.tfg.nether_saltpeter": "Saltpeter & Elektrotin", + "ore_vein.tfg.nether_sapphire": "Saphir & Almandin", + "ore_vein.tfg.nether_scheelite": "Scheelit & Wolframit", + "ore_vein.tfg.nether_silver": "Silber, Galenit, & Blei", + "ore_vein.tfg.nether_sphalerite": "Sphalerit & Pyrit", + "ore_vein.tfg.nether_sulfur": "Schwefel & Pyrit", + "ore_vein.tfg.nether_tetrahedrite": "Tetrahedrit", + "ore_vein.tfg.nether_topaz": "Topas & Chalkolith", + "ore_vein.tfg.venus_manual_salt": "Salze & Spodumen", + "ore_vein.tfg.venus_manual_salt.emi.0": "Nur in Salzebenen.", + "ore_vein.tfg.venus_manual_sulfur": "Schwefel & Pyrit", + "ore_vein.tfg.venus_manual_sulfur.emi.0": "Nur in Schwefelschlucht.", + "tfg.creative_tab.tfg": "TerraFirmaGreg", + "tfg.disabled_portal": "Die Portalmagie scheint von einer unbekannten Macht blockiert zu sein, vielleicht lässt sich eine andere Dimension oben oder unten auffinden?", + "tfg.tooltip.food_trait.refrigerating": "§bGekühlt", + "tfg.tooltip.foodtrait.freeze_dried": "Sublimiert", + "tfg.tooltip.extraterrestrial_farming": "§4Temperatur:§r Eine Sauerstoffreiche Umgebung gewährt 15°C", + "entity.tfg.moon_rabbit.male": "Mondhase", + "entity.tfg.moon_rabbit.female": "Mondhase", + "tfg.tooltip.moon_rabbit_variant.pink": "Pinkes Fell", + "tfg.tooltip.moon_rabbit_variant.white": "Weißes Fell", + "tfg.tooltip.moon_rabbit_variant.grey": "Steiniges Fell", + "tfg.tooltip.moon_rabbit_variant.cyan": "Seeschaum Fell", + "tfg.tooltip.moon_rabbit_variant.purple": "Lavendel Fell", + "tfg.tooltip.moon_rabbit_variant.sofu": "Sundae Fell", + "entity.tfg.glacian_ram.male": "Gletscherwidder", + "entity.tfg.glacian_ram.female": "Gletscherschaf", + "tfg.tooltip.attribution.glacian_ram": "§9§oCredits an: Ad Astra", + "entity.tfg.sniffer.male": "Schnüffler", + "entity.tfg.sniffer.female": "Schnüffler", + "tfg.tooltip.attribution.sniffer": "§9§oCredits an: Minecraft", + "entity.tfg.wraptor.male": "Wraptor", + "entity.tfg.wraptor.female": "Wraptor", + "tfg.tooltip.attribution.wraptor": "§9§oCredits an: Species", + "entity.tfg.surfer": "Surfer", + "tfg.tooltip.surfer_variant.base": "Teal Fell", + "tfg.tooltip.surfer_variant.bubble": "Blossom Beere Fell", + "tfg.tooltip.surfer_variant.horn": "Goldenes Fell", + "tfg.tooltip.surfer_variant.tube": "Nox Beere Fell", + "tfg.tooltip.surfer_variant.fire": "Sangnum Fell", + "tfg.tooltip.surfer_variant.brain": "Gletscher Fell", + "tfg.tooltip.attribution.surfer": "§9§oCredit: Wan's Ancient Beasts", + "entity.tfg.rnr_plow": "Pflasterwagen", + "entity.tfg.tier_1_double_rocket": "R-Aluminostahl Zwei-Mann Rakete", + "entity.tfg.tier_2_double_rocket": "ASM 4914 Titan Zwei-Mann Rakete", + "entity.tfg.tier_3_double_rocket": "45-Ti Wolframstahl Zwei-Mann Rakete", + "effect.tfg.cooling": "§bAbkühlen", + "effect.tfg.warming": "§6Aufwärmen", + "effect.tfg.instant_radiation": "Direktstrahlung", + "effect.tfg.chemical_burns_warning": "Leidet Unter Verätzung", + "effect.tfg.poison_warning": "Giftiges Material", + "effect.tfg.weak_poison_warning": "Leicht Giftiges Material", + "effect.tfg.irritant_warning": "Reizendes Material", + "effect.tfg.nausea_warning": "Ekelerregendes Material", + "effect.tfg.carcinogen_warning": "Krebserregendes Material", + "effect.tfg.asbestosis_warning": "Asbestose", + "effect.tfg.arsenicosis_warning": "Arsenikose", + "effect.tfg.silicosis_warning": "Silikose", + "effect.tfg.berylliosis_warning": "Berylliose", + "effect.tfg.methanol_poisoning_warning": "Methanvergiftung", + "effect.tfg.carbon_monoxide_poisoning_warning": "Kohlenstoffmonoxidvergiftung", + "effect.tfg.radioactive_warning": "Verstrahlt", + "gtceu.medical_condition.radioactive": "§4Radioaktiv", + "symptom.tfg.glowing": "Leuchtend", + "tfg.greate.uls_limit": "§432§r (§8ULS§r)", + "tfg.greate.ls_limit": "§f128§r (§7LS§r)", + "tfg.greate.windmill_hint_1": "Windmühlen sind von relativer Höhe", + "tfg.greate.windmill_hint_2": "und der Größe des naheliegenden", + "tfg.greate.windmill_hint_3": "freien Raums betroffen.", + "trim_material.tfc.almandine_tfc": "Almandin", + "trim_material.tfc.andradite_tfc": "Andradit", + "trim_material.tfc.blue_topaz_tfc": "Blauer Topaz", + "trim_material.tfc.cinnabar_tfc": "Zinnober", + "trim_material.tfc.coal_tfc": "Kohle", + "trim_material.tfc.diamond_tfc": "Diamant", + "trim_material.tfc.emerald_tfc": "Smaragd", + "trim_material.tfc.green_sapphire_tfc": "Grüner Saphir", + "trim_material.tfc.grossular_tfc": "Grossular", + "trim_material.tfc.rutile_tfc": "Rutil", + "trim_material.tfc.lazurite_tfc": "Lasurit", + "trim_material.tfc.pyrope_tfc": "Pyrop", + "trim_material.tfc.rock_salt_tfc": "Sylvin", + "trim_material.tfc.ruby_tfc": "Rubin", + "trim_material.tfc.salt_tfc": "Salz", + "trim_material.tfc.sapphire_tfc": "Saphir", + "trim_material.tfc.sodalite_tfc": "Sodalith", + "trim_material.tfc.armalcolite_tfc": "Armalcolit", + "trim_material.tfc.spessartine_tfc": "Spessartin", + "trim_material.tfc.topaz_tfc": "Topaz", + "trim_material.tfc.uvarovite_tfc": "Uwarowit", + "trim_material.tfc.nether_quartz_tfc": "Nether Quarz", + "trim_material.tfc.certus_quartz_tfc": "Certus Quarz", + "trim_material.tfc.quartzite_tfc": "Quarzit", + "trim_material.tfc.realgar_tfc": "Realgar", + "trim_material.tfc.malachite_tfc": "Malachit", + "trim_material.tfc.glass_tfc": "Glas", + "trim_material.tfc.olivine_tfc": "Olivin", + "trim_material.tfc.opal_tfc": "Opal", + "trim_material.tfc.amethyst_tfc": "Amethyst", + "trim_material.tfc.lapis_tfc": "Lapis", + "trim_material.tfc.apatite_tfc": "Apatit", + "trim_material.tfc.red_garnet_tfc": "Roter Granat", + "trim_material.tfc.yellow_garnet_tfc": "Gelber Granat", + "trim_material.tfc.monazite_tfc": "Monazit", + "trim_material.tfc.rose_quartz_tfc": "Rosenquarz", + "trim_material.tfc.fluix_tfc": "Fluix", + "trim_material.tfc.silver_tfc": "Silber", + "trim_material.tfc.sterling_silver_tfc": "Sterlingsilber", + "trim_material.tfc.gold_tfc": "Gold", + "trim_material.tfc.rose_gold_tfc": "Rosengold", + "trim_material.tfc.nickel_tfc": "Nickel", + "trim_material.tfc.platinum_tfc": "Platin", + "trim_material.tfc.titanium_tfc": "Titan", + "trim_material.tfc.bismuth_tfc": "Bismut", + "trim_material.tfc.neutronium_tfc": "Neutronium", + "trim_material.tfc.pyrite_tfc": "Pyrit", + "trim_material.tfc.redx_tfc": "RedX", + "tfg.emi.ore_veins.rock_types": "Gefunden in Gesteinstypen:", + "tfg.emi.ore_veins.rarity": "Seltenheit: 1/%d Chunks", + "tfg.emi.ore_veins.density": "Dichte: %d", + "tfg.emi.ore_veins.y_ranges": "Y Höhe: %d to %d", + "tfg.emi.ore_veins.size": "Größe: %d", + "tfg.emi.ore_veins.height": "Höhe: %d", + "tfg.emi.ore_veins.radius": "Radius: %d", + "ore_vein.tfg.rose_quartz": "Rosenquarz", + "ore_vein.tfg.rose_quartz.emi.0": "Gefunden in tiefgelegenen", + "ore_vein.tfg.rose_quartz.emi.1": "Biomen in Klimatas", + "ore_vein.tfg.rose_quartz.emi.2": "unter -10°C.", + "emi.category.tfg.ore_vein_info": "Erzadern", + "tfg.emi.liquid_bb_burn_time": "Dauer: %d Sek.", + "tfg.emi.liquid_bb_superheat": "§lSiedeverzogen", + "emi.category.tfg.blaze_burner": "Lohenbrenner Treibstoff", + "emi.category.tfg.block_interaction": "Block Modifikationen", + "emi.category.deafission.fission_reactor_coolant": "Kernspaltungsreaktor Kühlmittel", + "emi.category.deafission.fission_reactor_processing": "Kernspaltungsreaktor Materialhalter", + "emi.category.deafission.fission_reactor_fuel": "Kernspaltungsreaktor Treibstoff", + "tfg.toast.ore_prospector_none": "Keine Erze in der Nähe gefunden.", + "tfg.toast.ore_prospector_message": "Erze innerhalb von %s §6Blöcken in dieser Richtung: %s", + "tfg.tooltip.ore_prospector_stats": "Erkennungsreichweite: %s, Querschnitt: %s x %s.", + "tfg.tooltip.ore_prospector_count": "Dieser Schürfer wird Erzvorkommen anzeigen.", + "tfg.tooltip.ore_prospector_xray": "Dieser Schürfer wird eine %s X-Ray Ansicht von Erzen anzeigen.", + "tfg.tooltip.ore_prospector_mode_vein": "Pro-Ader", + "tfg.tooltip.ore_prospector_mode_block": "Pro-Block", + "tfg.hangglider.disabled_dimension": "Du kannst hier keinen Hängegleiter verwenden!", + "tfg.tooltip.nametag": "§7Kann mithilfe eines Anreißtisch oder schwarzer Farbe einen Gegenstand benennen.", + "tfg.tooltip.yeast_starter": "§7Mit getrockneten Früchten hergestellt.", + "tfg.tooltip.beehive": "§7Muss mit leeren Rahmen gefüllt werden und von Blumen umgeben sein um Bienen anzuziehen.", + "tfg.tooltip.obsolete.tree_tap": "§4Veraltet§f: Von dem AFC Zapfhahn ersetzt, man kann ihn durch das Legen in eine Werkbank herstellen!", + "tfg.tooltip.obsolete.fridge": "§4Veraltet§f: Von dem TFG Kühlschrank ersetzt, man kann ihn durch das Legen in eine Werkbank herstellen!", + "tfg.tooltip.blaze_burner": "§cAngefeuert§r §7mit Koks, Anthracit, oder Makellose und Ausgezeichnete Kohleedelsteine.", + "tfg.tooltip.machine.perfect_overclock": "Diese Maschine hat §2Perfekte Übertaktung§r!", + "tfg.tooltip.machine.parallel": "Kann §dParallelisieren§r mit Parallelen Kontrollluken.", + "tfg.tooltip.machine.customize_interior": "§7Der Innenraum ist personalisierbar! Siehe die Multiblock-Vorschau im EMI.", + "tfg.tooltip.machine.customize_greenhouse": "§7Die Wände des Multiblock können jegliche gültige §eEisen Gewächshaus§7 Blöcke verwenden. Siehe die Multiblock-Vorschau im EMI.", + "tfg.tooltip.armor.copper_diving_suit_warmth": "§7Wärme: -1", + "tfg.tooltip.armor.copper_diving_suit_insulation": "§7Dämmung: +1", + "tfg.tooltip.armor.netherite_diving_suit_warmth": "§7Wärme: -2", + "tfg.tooltip.armor.netherite_diving_suit_insulation": "§7Dämmung: +9", + "tfg.tooltip.armor.netherite_diving_suit_set": "§7Trage das ganze Set um §eHitzefest§7 von Umgebungstemperatur zu sein.", + "tfg.tooltip.armor.nanomuscle_warmth": "§7Wärme: 0", + "tfg.tooltip.armor.nanomuscle_insulation": "§7Dämmung: +10", + "tfg.tooltip.armor.nanomuscle_set": "§7Trage das ganze Set um §eVollkommen Gedämmt§7 von Umgebungstemperatur zu sein.", + "tfg.tooltip.armor.nanomuscle_legs_buff": "§7Gewährt §9Schnelligkeit I§7 wenn angezogen", + "tfg.tooltip.armor.quarktech_warmth": "§7Wärme: 0", + "tfg.tooltip.armor.quarktech_insulation": "§7Dämmung: +10", + "tfg.tooltip.armor.quarktech_set": "§7Trage das ganze Set um §eVollkommen Gedämmt§7 von Umgebungstemperatur zu sein.", + "tfg.tooltip.armor.space_suit_warmth": "§7Wärme: 0", + "tfg.tooltip.armor.space_suit_insulation": "§7Dämmung: +10", + "tfg.tooltip.armor.space_suit_set": "§7Trage das ganze Set um §eVollkommen Gedämmt§7 von Umgebungstemperatur zu sein.", + "tfg.tooltip.support.tier1": "§79 x 5 x 9", + "tfg.tooltip.support.tier2": "§717 x 9 x 17", + "tfg.tooltip.support.tier3": "§733 x 13 x 33", + "tfg.tooltip.solar_panel.single": "Produziert §6128 FE/t§r (32 EU/t) auf dem §6Mond§r am §6Tag§r", + "tfg.tooltip.solar_panel.large_tier1": "Massive Struktur produziert von §61024 bis 4096 EU/t§r auf dem §6Mond§r am §6Tag§r", + "tfg.tooltip.solar_panel.large_tier2": "Massive Struktur produziert von §64096 bis 16384 EU/t§r auf dem §6Mond§r am §6Tag§r", + "tfg.tooltip.solar_panel.large_tier3": "Massive Struktur produziert von §616384 bis 65536 EU/t§r auf dem §6Mond§r am §6Tag§r", + "tfg.tooltip.petrified_egg": "§7Benötigt Magma um Ausberütet zu werden", + "tfg.tooltip.large_egg": "§7Kann nur in einem §oGroßen Nest§r ausgebrütet werden", + "tfg.tooltip.sniffer_wool": "§7Von dem Rücken eines Schnüfflers geerntet", + "tfg.tooltip.wraptor_wool": "§7Von den Federn eines Wraptors geerntet", + "tfg.tooltip.wraptor_sugar": "§7Denk einfach nicht drüber nach", + "tfg.tooltip.cooling_foods": "§bKühlt dich um: 2°C", + "tfg.tooltip.cooling_foods_strong": "§bKühlt dich um: 10°C", + "tfg.tooltip.warming_foods": "§6Wärmt dich um: 4°C", + "tfg.tooltip.hotornot_container": "§aKann sicher deine §6heißen§a, §bkalten§a, and §eleichter-als-luft§a Gegenstände und Flüssigkeiten halten.§r", + "tfg.tooltip.hotornot_hot_equipment": "§7Gewährt Schutz vor allen §6heißen§7 Gegenständen, Flüssigkeiten, und Rohren.§r", + "tfg.tooltip.hotornot_cold_equipment": "§7Gewährt Schutz vor allen §bkalten§7 Gegenständen, Flüssigkeiten, und Rohren.§r", + "tfg.tooltip.hotornot_floating_equipment": "§7Gewährt Schutz vor allen §eleichter-als-luft§7 Gasen.§r", + "tfg.tooltip.polycaprolactam": "Auch bekannt als Nylon", + "tfg.tooltip.vessel_warning": "§cDas Erhitzen eines überfüllten Behälters wird jeglichen Überfluss löschen und könnte die Legierung ruinieren!§r", + "tfg.tooltip.machine.one_energy_hatch": "Akzeptiert exakt §6Eine§r Energieluke.", + "tfg.tooltip.machine.two_energy_hatches": "Akzeptiert bis zu §6Zwei§r Energieluken.", + "tfg.tooltip.machine.subtick": "Diese Maschine unterstützt §2Subticking§r!", + "tfg.tooltip.machine.coil_energy_discount": "Jede Spule nach §6Kupfernickel§r reduziert Energieverbrauch um 10%.", + "tfg.tooltip.machine.coil_speed_discount": "§6Kupfernickel§r Spulen arbeiten 75% langsamer. Jede Spule nach §3Heizleiterlegierung§r erhöht die Prozessierungsgeschwindigkeit um 50%.", + "tfg.tooltip.machine.bioreactor_1": "§7Chemie trifft auf Biologie§r", + "tfg.tooltip.machine.bioreactor_2": "§7Kombiniert organisches und unorganische Zutaten um ein syntetisches biologisches Produkt herzustellen.§r", + "tfg.tooltip.machine.growth_chamber_1": "§7Neues Leben wachsen§r", + "tfg.tooltip.machine.growth_chamber_2": "§7Enthält alles Notwendige für Bioengineering.§r", + "tfg.tooltip.machine.evaporation_tower_1": "§7Nicht zu verwechseln mit der Destillationsanlage§r", + "tfg.tooltip.machine.evaporation_tower_2": "§7Entfernt überflüssige Lösung um die Endlösung zusammenzuführen.§r", + "tfg.tooltip.machine.electric_greenhouse_1": "§7§oLandwirtschaft im Fabrikmodus§r", + "tfg.tooltip.machine.electric_greenhouse_2": "§7Lass die Pflanzen das ganze Jahr über mit Elektrizität wachsen! Das Elektrische Gewächshaus kann Dünger benutzen um Wachstum zu erhöhen oder mit einer Fischereianlage verbunden werden für maximale Effizienz.§r", + "tfg.tooltip.machine.cooling_tower_1": "§7Die Erderwärmung vorantreiben§r", + "tfg.tooltip.machine.cooling_tower_2": "§7Kühlt das heiße Kühlmittel ab, indem überflüssige Hitze durch Dampf in die Atmosphäre gelangt.§r", + "tfg.tooltip.machine.hydroponics_facility_1": "§7§oLandwirtschaft auf die laaange Tour§r", + "tfg.tooltip.machine.hydroponics_facility_2": "§7Die verbesserte Form des EGW! Die Hydroponische Anlage verbessert Gewächshausertragschancen und hat keine Sauerstoffbeschränkungen..§r", + "tfg.tooltip.machine.pisciculture_fishery_1": "§7§o1 Fisch, 2 Fische...§r", + "tfg.tooltip.machine.pisciculture_fishery_2": "§7Fischereianlagen sind nicht nur eine Quelle frischer Fische, sondern auch zentral für die Erhöhung der Gewächshauserträge durch §3Aquaponik.§7 Die Struktur kann mit jeder Flüssig gefüllt werden, die als §o#tfg:pisciculture_fishery_fluids§r markiert ist.", + "tfg.tooltip.obsolete.depreciated": "§cVeraltet, kann nicht mehr hergestellt werden.", + "tfg.tooltip.antipoison_pill": "§9Heilt Vergiftungen", + "tfg.tooltip.antipoison_tablet": "§9Heilt alle Aktiven Schädlichen Effekte", + "tfg.tooltip.dna_syringe.empty": "§7Eine leere Spritze.§r", + "tfg.tooltip.dna_syringe.dirty1": "§7Eine benutzte Spritze.§r", + "tfg.tooltip.dna_syringe.dirty2": "§7Vorsicht, damit nicht jemanden pieksen!§r", + "tfg.tooltip.dna_syringe.full": "DNA Probe: ", + "tfg.tooltip.dna_syringe.explain": "Rechtsclick auf eine Kreatur um eine DNA Probe zu bekommen. Lege die Spritze in eine Werkbank um die Inhalte zu leeren.", + "tfg.tooltip.shift_hint": "[Halte-Shift]", + "tfg.tooltip.lab_equipment.part": "§7Besitzt genau: ", + "tfg.tooltip.lab_equipment.set": "§7Besitzt nicht einen 5000mB Rundkolben.", + "tfg.tooltip.lab_equipment.set_dirty": "§7Vielleicht entdeckst du bald Penicillin wenn du nicht mal langsam sauber machst...", + "tfg.tooltip.single_itemstack_bus.0": "§6Itemslots: §f1", + "tfg.tooltip.single_itemstack_bus.1": "§6Stapelgröße: §f1", + "tfg.tooltip.growth_chamber": "Diese Maschine kann mehr Rezepte auf einmal bearbeiten, wenn man die Anzahl der Schichten vergrößert.", + "tfg.tooltip.wireless_card_1": "Ermöglicht drahtlose Verbindungen von unbegrenzter Reichweite, sogar über Planeten!", + "tfg.tooltip.wireless_card_2": "Gegenstände konnen immernoch durch das Terminal übertragen werden. Allerdings wird es viel Strom kosten.", + "tfg.tooltip.wireless_card_3": "Verwende stattdessen eine §dSchienenkanone§r für deine interplanetarischen logistischen Bedürfnisse.", + "tfg.tooltip.component.nuclear_turbine_1": "§eGrunderzeugnis:§r 8192 EU/t", + "tfg.tooltip.component.nuclear_turbine_2": "Jeder Rotorhalter über §5EV§r §7fügt§r 10% Effizienz hinzu und multipliziert EU/t um 2.", + "tfg.tooltip.component.smr_generator_1": "§eGrunderzeugnis:§r 4096 EU/t", + "tfg.tooltip.component.smr_generator_2": "Dediziert um Strom von sC02 zu produzieren und der Kleine Modulare Reaktor.\n Verwende Schmiermittel und Booster um seine Effizienz zu erhöhen und verwalte den Kühlkreis des KMR.", + "tfg.tooltip.show_recipes": "Zeig Rezepte", + "emi.category.tfg.artisan_table": "Artisan Table", + "tfg.gui.refrigerator.unify_dates.enabled": "Ablaufdatumsvereinigung ist: §aOn", + "tfg.gui.refrigerator.unify_dates.disabled": "Ablaufdatumsvereinigung ist: §cOff", + "tfg.machine.food_refrigerator_power_usage": "§7Verbraucht§r %s EU/t §7 im Betrieb um dein Essen frisch zu halten.§r", + "tfg.gui.rnr_plow.random_mode": "Wähle Willkürlich Materialien Aus", + "tfg.gui.rnr_plow.width": "Pfadbreite: %d Blöcke", + "tfg.gui.rnr_plow.empty_crushed_base_course": "§cEs Fehlt Zerdrückte Grundschicht!!", + "tfg.tooltip.progenitor_cells.mob": "Tierkultur: ", + "tfg.tooltip.fake_nutrition_info_listener": "§7§oHalte (Shift) für Nährwerte", + "tfg.tooltip.fake_nutrition_info": "§7Ernährung:", + "tfg.tooltip.cheese_slice_microplastics": "§b- Mikroplastik: 1.9", + "tfg.tooltip.recipe_condition.oxygenated.true": "§bIn Sauerstoffhaltige Umgebung", + "tfg.tooltip.recipe_condition.oxygenated.false": "§5In Sauerstofflose Umgebung", + "tfg.tooltip.recipe_condition.climate_rain": "Niederschlag mm", + "tfg.tooltip.recipe_condition.climate_temp": "Klima °C", + "tfg.tooltip.recipe_condition.gravity": "Schwerkraft m/s²", + "tfg.tooltip.firmalife_greenhouse.oxygen_required": "§cEine Sauerstoffhaltige Umgebung wird benötigt!", + "tfg.tooltip.firmalife_greenhouse.oxygen_required.block": "§7Eine Sauerstoffhaltige Umgebung wird benötiogt um als Gewächshaus im Weltraum zu funktionieren.", + "tfg.tooltip.grow_light_disapointment": "§7Nein. Das wird nicht die Wachstumsgeschwindigkeit erhöhen...", + "tfg.tooltip.rotten_voiding_cover": "§7Die Verdorbene Voiding Abdeckung funktioniert genauso wie eine Gegenstand Voiding Abdeckung, aber sie wählt und entfernt nur §cVerdorbene Gegenstände.", + "tfg.gui.menu.field_guide_splash_text": "Tipp: Lest das Handbuch!!!", + "tfg.gui.menu.ram_usage": "RAM:", + "tfg.gui.menu.fps_count": "FPS:", + "tfg.gui.smr_generator.credit": "Credits an das Frontiers Team", + "tfg.gui.smr_generator.lubricant_used": "Schmiermittel: %s", + "tfg.gui.smr_generator.booster_used": "Booster: %s", + "tfg.gui.max_energy_per_tick_amps.prefix": "Maximal EU/t:", + "tfg.gui.consumes": "Verbraucht: ", + "tfg.gui.per_cycle": "pro Zyklus", + "tfg.gui.cycle_duration": "Zyklusdauer: ", + "tfg.emi.bacon_requirement": "Speck - Das rohe Schweinefleisch muss erst geräuchert werden.", + "tag.item.tfg.dried_fruit": "Getrocknetes Obst", + "tfg.clientmessage.spatialioblocked.claimedchunks": "Spatial IO blockiert: Region beeinhaltet Chunks, die von einem anderen Team beansprucht sind", + "tfg.nuclear.average_heat.text": "Hitze: Von %s zu %s", + "tfg.nuclear.skip": "", + "tfg.machine.aux_exchanger.heat.title": "=== Hitze Information ===", + "tfg.machine.aux_exchanger.recipe_temperature": "Rezept Temperatur: ", + "tfg.machine.aux_exchanger.recipe_temperature.desc": "Für dieses Rezept benötigte Temperatur", + "tfg.machine.aux_exchanger.battery_temperature": "Batterie Temperatur: ", + "tfg.machine.aux_exchanger.battery_temperature.desc": "Jetzige Temperatur der Hitzebatterie", + "tfg.machine.aux_exchanger.hu_consumed": "HE Verbraucht: ", + "tfg.machine.aux_exchanger.hu_consumed.desc": "Hitzeeinheiten pro Rezeptzyklus verbraucht", + "tfg.machine.aux_exchanger.total_hu": "Ganze Verfügbare HE: ", + "tfg.machine.aux_exchanger.total_hu.desc": "Ganze gespeicherte HE in der Hitzebatterie:", + "tfg.machine.aux_exchanger.speed_modifier": "Geschwindigkeits Modifikator: ", + "tfg.machine.aux_exchanger.speed_modifier.desc": "Rezeptgeschwindigkeit basiert auf der Batterietemperatur", + "tfg.machine.aux_exchanger.heat_unavailable": "Hitzeinformation nicht verfügbar", + "tfg.machine.aux_echanger.output.title": "=== Ausgabe ===", + "tfg.multiblock.turbine.obstructed": "Deine Turbine ist blockiert, schau unter und in dem Kamin, dass er nicht blockiert ist", + "tfc.jei.flint_knapping": "Feuersteinbearbeitung", + "tfc.jei.straw_knapping": "Stohbearbeitung", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Färben", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.gray": "Färben", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.light_gray": "Färben", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.white": "Färben", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.pink": "Färben", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.magenta": "Färben", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.purple": "Färben", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.blue": "Färben", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.light_blue": "Färben", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.cyan": "Färben", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.green": "Färben", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.lime": "Färben", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.yellow": "Färben", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.orange": "Färben", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.red": "Färben", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.brown": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_black_block_on": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_gray_block_on": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_gray_block_on": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_white_block_on": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_pink_block_on": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_magenta_block_on": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_purple_block_on": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_blue_block_on": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_blue_block_on": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_cyan_block_on": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_green_block_on": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_lime_block_on": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_yellow_block_on": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_orange_block_on": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_red_block_on": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_brown_block_on": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_black_block": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_gray_block": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_gray_block": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_white_block": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_pink_block": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_magenta_block": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_purple_block": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_blue_block": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_blue_block": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_cyan_block": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_green_block": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_lime_block": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_yellow_block": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_orange_block": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_red_block": "Färben", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_brown_block": "Färben", + "tfc.recipe.barrel.tfg.barrel.treated_chipboard_composite": "Spanplattengemisch Behandlen", + "tfc.recipe.barrel.tfg.barrel.soak_hardwood_strip": "Hartholzstreifen Einweichen", + "tfc.recipe.barrel.tfg.barrel.treated_wood_dust": "Holzspäne Behandlen", + "tfc.recipe.barrel.tfg.barrel.treated_wood_planks": " Holzbretter Behandlen", + "tfc.recipe.barrel.tfg.barrel.packed_ice": "Eis Einfrieren", + "tfc.recipe.barrel.tfg.barrel.cooling_water_1": "Wasser Abkühlen", + "tfc.recipe.barrel.tfg.barrel.cooling_water_2": "Wasser Abkühlen", + "tfc.recipe.barrel.tfg.barrel.cooling_water_3": "Wasser Abkühlen", + "tfc.recipe.barrel.tfg.barrel.cooling_water_4": "Wasser Abkühlen", + "tfc.recipe.barrel.tfg.sealed_barrel.prepared_leather_gloves": "Lederhandschuhe Einweichen", + "tfc.recipe.barrel.tfg.barrel.rapeseed_to_oil": "Rapsöl Extrahieren", + "tfc.recipe.barrel.tfg.barrel.sunflower_to_oil": "Sonnenblumenöl Extrahieren", + "tfc.recipe.barrel.tfg.barrel.maple_syrup_to_sugar": "Zucker Machen", + "tfc.recipe.barrel.tfg.barrel.birch_syrup_to_sugar": "Zucker Machen", + "tfc.recipe.barrel.tfg.barrel.develop_black_and_white_film": "Film Entwicklen", + "tfc.recipe.barrel.tfg.barrel.develop_color_film": "Film Entwicklen", + "tfc.recipe.barrel.tfg.barrel.clay_ball": "Lehm Hydrieren", + "tfc.recipe.barrel.tfg.barrel.light_concrete": "Beton Aushärten", + "tfc.recipe.barrel.tfg.barrel.reinforced_light_concrete_support": "Beton Aushärten", + "tfc.recipe.barrel.tfg.barrel.dark_concrete": "Färben", + "tfc.recipe.barrel.tfg.barrel.dark_concrete_support": "Färben", + "tfc.recipe.barrel.tfg.barrel.reinforced_dark_concrete_support": "Färben", + "gtceu.aqueous_accumulator": "Wassersammler", + "tfg.food_recipe.brining": "Pökeln", + "tfg.food_recipe.smoking": "Räuchern", + "tfg.food_recipe.drying": "Trocknen", + "tfg.food_recipe.freeze_drying": "Dörren", + "tfg.food_recipe.deep_frying": "Frittieren", + "tfg.recipe.macerator_warning": "Gibt nur aus dem ersten Slot aus bis HV", + "tfg.grapplemod.repair": "Reperaturrezept, behält deine Verbesserungen. §lVerbinde NIEMALS zwei Enterhaken oder du wirst alle deine Verbesserungen verlieren!§r", + "tfg.grapplemod.upgrades.maxlen": "Erhöht die §lMaximale Länge§r um 20, bis zu 200.", + "tfg.grapplemod.downgrades.maxlen": "Verringert die §lMaximale Länge§r um 20, bis zu 20. (Juteseil wird Erstattet).", + "tfg.grapplemod.upgrades.motor.lv": "Aktiviert die §lMotor§r Verbesserung, die dich automatisch reinzieht.\n§lMotorMaxSpeed§r auf 1 gesetzt\n§lMotorAcceleration§r auf 0.125 gesetzt", + "tfg.grapplemod.upgrades.motor.mv": "Aktiviert die §lMotor§r Verbesserung, die dich automatisch reinzieht.\n§lMotorMaxSpeed§r auf 1.14 gesetzt\n§lMotorAcceleration§r auf 0.25 gesetzt", + "tfg.grapplemod.upgrades.motor.hv": "Aktiviert die §lMotor§r Verbesserung, die dich automatisch reinzieht.\n§lMotorMaxSpeed§r auf 1.28 gesetzt\n§lMotorAcceleration§r auf 0.375 gesetzt", + "tfg.grapplemod.upgrades.motor.ev": "Aktiviert die §lMotor§r Verbesserung, die dich automatisch reinzieht.\n§lMotorMaxSpeed§r auf 1.42 gesetzt\n§lMotorAcceleration§r auf 0.5 gesetzt", + "tfg.grapplemod.upgrades.motor.iv": "Aktiviert die §lMotor§r Verbesserung, die dich automatisch reinzieht.\n§lMotorMaxSpeed§r auf 1.56 gesetzt\n§lMotorAcceleration§r auf 0.625 gesetzt", + "tfg.grapplemod.upgrades.motor.luv": "Aktiviert die §lMotor§r Verbesserung, die dich automatisch reinzieht.\n§lMotorMaxSpeed§r auf 1.7 gesetzt\n§lMotorAcceleration§r auf 0.75 gesetzt", + "tfg.grapplemod.upgrades.motor.zpm": "Aktiviert die §lMotor§r Verbesserung, die dich automatisch reinzieht.\n§lMotorMaxSpeed§r auf 1.84 gesetzt\n§lMotorAcceleration§r auf 0.875 gesetzt", + "tfg.grapplemod.upgrades.motor.uv": "Aktiviert die §lMotor§r Verbesserung, die dich automatisch reinzieht.\n§lMotorMaxSpeed§r auf 2 gesetzt\n§lMotorAcceleration§r auf 1 gesetzt", + "tfg.grapplemod.downgrades.motor": "Deaktiviert die §lMotor§r Verbesserung und gibt den verwendeten Motor zürück.\nFunktioniert nur wenn man den gleichen Motor wie zuvor benutzt.", + "tfg.grapplemod.upgrades.smart_motor": "Aktiviert die §lSmart Motor§r Verbesserung, setzt einen installierten Motor vorraus.", + "tfg.grapplemod.downgrades.smart_motor": "Deaktiviert die §lSmart Motor§r Verbesserung, kann entfernt werden wenn der Motor schon ausgebaut ist. Gibt den Einfachen Schaltkreis zurück.", + "tfg.grapplemod.upgrades.sticky": "Aktiviert die §lSticky§r Verbesserung, was dafür sorgt, dass der Haken an jedem Block den das Seil berührt kleben bleibt.", + "tfg.grapplemod.downgrades.sticky": "Deaktiviert die §lSticky§r Verbesserung und gibt das Klebrige Harz zurück", + "tfg.grapplemod.upgrades.forcefield.lv": "Aktiviert die §lKraftfeld§r Verbesserung, die dich beim Grappeln von nahen Blöcken wegstößt.\n§lRepel Force§r auf 0.625 gesetzt", + "tfg.grapplemod.upgrades.forcefield.mv": "Aktiviert die §lKraftfeld§r Verbesserung, die dich beim Grappeln von nahen Blöcken wegstößt.\n§lRepel Force§r auf 1.25 gesetzt", + "tfg.grapplemod.upgrades.forcefield.hv": "Aktiviert die §lKraftfeld§r Verbesserung, die dich beim Grappeln von nahen Blöcken wegstößt.\n§lRepel Force§r auf 1.875 gesetzt", + "tfg.grapplemod.upgrades.forcefield.ev": "Aktiviert die §lKraftfeld§r Verbesserung, die dich beim Grappeln von nahen Blöcken wegstößt.\n§lRepel Force§r auf 2.5 gesetzt", + "tfg.grapplemod.upgrades.forcefield.iv": "Aktiviert die §lKraftfeld§r Verbesserung, die dich beim Grappeln von nahen Blöcken wegstößt.\n§lRepel Force§r auf 3.125 gesetzt", + "tfg.grapplemod.upgrades.forcefield.luv": "Aktiviert die §lKraftfeld§r Verbesserung, die dich beim Grappeln von nahen Blöcken wegstößt.\n§lRepel Force§r auf 3.75 gesetzt", + "tfg.grapplemod.upgrades.forcefield.zpm": "Aktiviert die §lKraftfeld§r Verbesserung, die dich beim Grappeln von nahen Blöcken wegstößt.\n§lRepel Force§r set 4.375 gesetzt", + "tfg.grapplemod.upgrades.forcefield.uv": "Aktiviert die §lKraftfeld§r Verbesserung, die dich beim Grappeln von nahen Blöcken wegstößt.\n§lRepel Force§r auf 5 gesetzt", + "tfg.grapplemod.downgrades.forcefield": "Deaktiviert die §lKraftfeld§r Verbesserung und gibt den originalen Feldgenerator zurück.\nFunktioniert nur wenn man den gleichen Feldgenerator wie zuvor benutzt.", + "tfg.grapplemod.upgrades.magnet.magnetic_iron_ingot": "Aktiviert die §lMagnet§r Verbesserung, die dafür sorgt, dass der Haken sich selber an nahe Blöcke befestigt.\n§lAttraction Radius§r auf 1.25 gesetzt", + "tfg.grapplemod.upgrades.magnet.magnetic_steel_ingot": "Aktiviert die §lMagnet§r Verbesserung, die dafür sorgt, dass der Haken sich selber an nahe Blöcke befestigt.\n§lAttraction Radius§r auf 2.5 gesetzt", + "tfg.grapplemod.upgrades.magnet.magnetic_neodymium_ingot": "Aktiviert die §lMagnet§r Verbesserung, die dafür sorgt, dass der Haken sich selber an nahe Blöcke befestigt.\n§lAttraction Radius§r auf 3.75 gesetzt", + "tfg.grapplemod.upgrades.magnet.magnetic_samarium_ingot": "Aktiviert die §lMagnet§r Verbesserung, die dafür sorgt, dass der Haken sich selber an nahe Blöcke befestigt.\n§lAttraction Radius§r auf 5 gesetzt", + "tfg.grapplemod.downgrades.magnet": "Deaktiviert die §lMagnet§r Verbesserung und gibt den originalen Magnetischen Barren zurück.\nFunktioniert nur wenn man den gleichen Magnetischen Barren wie zuvor benutzt.", + "tfg.grapplemod.upgrades.gravity.0.5": "Senkt die §lSchwerkraft§r des Hakens um 50% (1 -> 0.5)", + "tfg.grapplemod.downgrades.gravity.0.5": "Kehrt die §lSchwerkraft§r zurück auf 100% (0.5 -> 1).\nDer leere Eimer wird mit dem benutzten Helium gefüllt.", + "tfg.grapplemod.upgrades.gravity.0": "Senkt die §lSchwerkraft§r des Hakens auf 0% (1 -> 0)", + "tfg.grapplemod.downgrades.gravity.0": "Kehrt die §lSchwerkraft§r zurück auf 100% (0 -> 1).\nDie Gravitationsantriebeinheit wird erstattet.", + "tfg.grapplemod.upgrades.throwspeed.lv": "Erhöht die §lWurfgeschwindigkeit§r des Hakens, damit er weiter fliegen kann.\n§lThrow Speed§r auf 2.25 gesetzt", + "tfg.grapplemod.upgrades.throwspeed.mv": "Erhöht die §lWurfgeschwindigkeit§r des Hakens, damit er weiter fliegen kann.\n§lThrow Speed§r auf 2.5 gesetzt", + "tfg.grapplemod.upgrades.throwspeed.hv": "Erhöht die §lWurfgeschwindigkeit§r des Hakens, damit er weiter fliegen kann.\n§lThrow Speed§r auf 2.75 gesetzt", + "tfg.grapplemod.upgrades.throwspeed.ev": "Erhöht die §lWurfgeschwindigkeit§r des Hakens, damit er weiter fliegen kann.\n§lThrow Speed§r auf 3 gesetzt", + "tfg.grapplemod.upgrades.throwspeed.iv": "Erhöht die §lWurfgeschwindigkeit§r des Hakens, damit er weiter fliegen kann.\n§lThrow Speed§r auf 3.25 gesetzt", + "tfg.grapplemod.upgrades.throwspeed.luv": "Erhöht die §lWurfgeschwindigkeit§r des Hakens, damit er weiter fliegen kann.\n§lThrow Speed§r auf 3.5 gesetzt", + "tfg.grapplemod.upgrades.throwspeed.zpm": "Erhöht die §lWurfgeschwindigkeit§r des Hakens, damit er weiter fliegen kann.\n§lThrow Speed§r auf 3.75 gesetzt", + "tfg.grapplemod.upgrades.throwspeed.uv": "Erhöht die §lWurfgeschwindigkeit§r des Hakens, damit er weiter fliegen kann.\n§lThrow Speed§r auf 4 gesetzt", + "tfg.grapplemod.downgrades.throwspeed": "Setzt die §lWurfgeschwindigkeit§r des Hakens zurück und gibt den originalen Kolben zurück.\nFunktioniert nur wenn man den gleichen Kolben wie zuvor benutzt.", + "tfg.grapplemod.upgrades.doublehook": "Fügt einen §lSekundären Haken§r zu deinem Enterhaken hinzu", + "tfg.grapplemod.downgrades.doublehook": "Entfernt den §lSekundären Haken§r von deinem Enterhaken", + "tfg.grapplemod.upgrades.vertical_throwing_angle": "Erhöht den §lVertikalen Wurfwinkel§r des Hakens um 5°, bis zu 90°.", + "tfg.grapplemod.downgrades.vertical_throwing_angle": "Verringert den §lVertikalen Wurfwinkel§r des Hakens um 5°, bis zu 0°.", + "tfg.grapplemod.upgrades.angle": "Erhöht den §lHorizontalen Winkel§r beim Wurf des §lSekundären Haken§r um 5°, bis zu 90°.\nNur verfügbar, wenn der §lSekundäre Haken§r installiert ist.", + "tfg.grapplemod.downgrades.angle": "Verringert den §lHorizontalen Winkel§r beim Wurf des §lSekundären Haken§r um 5°, bis zu 5°..\nNur verfügbar, wenn der §lSekundäre Haken§r installiert ist.", + "tfg.tooltip.machine.fission_reactor_mk1_1": "§7Die Kraft des Atoms§r", + "tfg.tooltip.machine.fission_reactor_mk1_2": "§7Personalisierbarer Kernreaktor, füge bessere Teile hinzu, verarbeite Stäbe und Mineralien mit ihm und pass auf die Temperatur auf.§r", + "tfg.tooltip.machine.smt_1": "§eEnergieproduktion:§r Von 2048 bis 32768 EU/t", + "tfg.tooltip.machine.smt_2": "§7Benötigt Schmiermittel zum Laufen und kann mittels Booster mehr Energie erzeugen.§r", + "tfg.tooltip.machine.smt_3": "§7Kann nur mit der§r KMT Einfuhrluke §7Flüssigkeiten einspeisen.§r", + "tfg.tooltip.machine.small_fission_reactor_mk1_1": "§7Die Kraft des Atoms in Klein§r", + "tfg.tooltip.machine.small_fission_reactor_mk1_2": "§7Kann nur mit§r Americium 241 Brennstäbe§7 und§r TiCl₄-Doped Supercritical CO₂ arbeiten", + "tfg.tooltip.machine.heat_battery_1": "§7Sie speichert Hitze§r", + "tfg.tooltip.machine.heat_battery_2": "§7Erhöhe ihre Temperatur durch die Zufuhr von heißen Flüssigkeiten and benutze die Hitze um andere Flüssigkeiten zu kochen oder Rezepte im LOB durchzulaufen.§r", + "tfg.tooltip.machine.heat_battery_3": "§7Um Hitze in einen Linearen Ostrum Beschleuniger zu übertragen, müssen §r Hitzeanschluss§7 und§r Hitze Einfuhrluke§7 sich gegenüber stehen.§r", + "tfg.tooltip.machine.smr_fluid_import_hatch": "§7Kann nur in einer Kleinen Modularen Turbine verwendet werden§r", + "tfg.tooltip.component.blue_ice": "Kann in einem Kernreaktor platziert werden um die Höchsttemperatur um §90.5§r zu vergrößern", + "tfg.tooltip.component.aes_insulation_frame": "Kann in einem Kernreaktor platziert werden um die Höchsttemperatur um §91§r zu vergrößern", + "tfg.tooltip.component.glacian_fur": "Kann in einem Kernreaktor platziert werden um die Höchsttemperatur um §92§r zu vergrößern", + "tfg.tooltip.component.impure_moderate_core_frame": "Kann in einem Kernreaktor platziert werden um die Höchsttemperatur um §95§r zu vergrößern", + "tfg.tooltip.component.moderate_core_frame": "Kann in einem Kernreaktor platziert werden um die Höchsttemperatur um §910§r zu vergrößern", + "tfg.tooltip.component.dry_ice": "Kann einem Kernreaktor zugeführt werden um ihn abzukühlen. Benötigt einen Materialhalter", + "tfg.tooltip.component.refrigerant_pellet": "Kann einem Kernreaktor zugeführt werden um ihn abzukühlen. Benötigt einen Materialhalter", + "tfg.tooltip.component.sandy_copper_frame": "Kann in einer Thermalbatterie platziert werden um die Lagerfähigkeit zu verbessern.", + "tfg.tooltip.component.sandy_beryllium_frame": "Kann in einer Thermalbatterie platziert werden um die Lagerfähigkeit zu verbessern." +} \ 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 7796d84d5..6b129b19c 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1615,6 +1615,7 @@ "entity.tfg.tier_1_double_rocket": "R-Aluminosteel Two-Person Rocket", "entity.tfg.tier_2_double_rocket": "ASM 4914 Titanium Two-Person Rocket", "entity.tfg.tier_3_double_rocket": "45-Ti Tungstensteel Two-Person Rocket", + "curios.identifier.face": "Face", "effect.tfg.cooling": "§bCooling", "effect.tfg.warming": "§6Warming", "effect.tfg.instant_radiation": "Instant Radiation", @@ -1686,7 +1687,6 @@ "trim_material.tfc.neutronium_tfc": "Neutronium", "trim_material.tfc.pyrite_tfc": "Pyrite", "trim_material.tfc.redx_tfc": "RedX", - "curios.identifier.face": "Face", "tfg.emi.ore_veins.rock_types": "Found in rock types:", "tfg.emi.ore_veins.rarity": "Rarity: 1/%d chunks", "tfg.emi.ore_veins.density": "Density: %d", @@ -4056,7 +4056,7 @@ "quests.steam_age.steel_greate.desc": "Welcome to the next tier of Greate! Steel Shafts and Cogwheels can hold four times as much stress as your old ones. The total stress limit of a kinetic setup is determined by the weakest link, so unfortunately you'll have to replace your old setup if you want to reap the rewards. Some of the old parts can be recycled at least!", "quests.steam_age.steel_encased_fan.title": "Encased Fan", "quests.steam_age.steel_encased_fan.subtitle": "Great for hot days", - "quests.steam_age.steel_encased_fan.desc": "The &3Encased Fan&r is the final step in your first fully automatic ore processing line, so you no longer need to clean your impure dusts by hand. Point the fan at your dusts with a water source between, and they'll be gleaming in no time. As a bonus, it'll give you some extra byproducts too! It might be tricky to move a water source right now, but you can build around an existing part of a river or lake.", + "quests.steam_age.steel_encased_fan.desc": "The &3Encased Fan&r is the final step in your first fully automatic ore processing line, so you no longer need to clean your impure dusts by hand.\n\nGreate's Encased Fans work a little differently than in base Create. Instead of placing a water source in front of the fan, you'll need to pump water into the encased fan block itself. Be sure to set the number on the fan to &31&r!\n\nNext, place your crushed ore or dusts on a Depot or Belt in front of the fan (the floor will NOT work!), and they'll be gleaming in no time. As a bonus, it'll give you some &3extra byproducts&r too!", "quests.steam_age.steel_millstone.title": "Steel Millstone", "quests.steam_age.steel_millstone.subtitle": "A worthwhile upgrade", "quests.steam_age.steel_millstone.desc": "With a much higher kinetic capacity, the steel millstone is a worthwhile upgrade over your basic one, letting you spin it much faster for quicker crushing. A good upgrade for all the different new ores you'll be getting soon!\n\nAgain though, it only outputs items in the first slot in JEI.", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index df60e27ef..69ba332fe 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -224,6 +224,7 @@ "block.tfg.spike.dripstone_spike": "Твавертиновый сталагмит", "block.tfg.loose.dripstone": "Камешек травертина", "block.tfg.rock.aqueduct_dripstone": "Травертиновый акведук", + "block.tfg.rock.hardened_crackrack": "Укрeплённый каратофир", "block.tfg.rock.crackrack_stairs": "Кератофировые ступеньки", "block.tfg.rock.crackrack_slab": "Кератофировая плита", "block.tfg.rock.crackrack_wall": "Кератофировая ограда", @@ -803,6 +804,7 @@ "block.tfg.cooling_tower": "Градирня ядерного охлаждения", "block.tfg.smr_generator": "Малая модульная турбина", "block.tfg.casings.machine_casing_desh_ptfe": "Радиационно-безопасный корпус из деша", + "block.tfg.uv_smr_fluid_import_hatch": "SMT Входной люк для жидкости", "block.tfg.growth_monitor": "Монитор роста", "block.tfg.sample_rack": "Стойка для образцов", "block.tfg.casings.machine_casing_sterilizing_pipes": "Стерилизующие трубы", @@ -810,6 +812,11 @@ "block.tfg.impure_moderate_core": "Нечистое ядро стабилизатора", "block.tfg.moderate_core_frame": "Каркас с ядром стабилизатора", "block.tfg.impure_moderate_core_frame": "Каркас с нечистым ядром стабилизатора", + "block.tfg.copper_sandy": "Диоксид кремния, связанный медью", + "block.tfg.copper_sandy_frame": "Каркас из диоксида кремния, связанного медь", + "block.tfg.beryllium_sandy": "Диоксид кремния, связанный бериллием", + "block.tfg.beryllium_sandy_frame": "Каркас из диоксида кремния, связанного бериллием", + "block.tfg.heat_battery_mk1": "Тепловая батарея Mk1", "tfg.block_entity.artisan_table": "Ремесленный стол", "block.tfg.artisan_table": "Ремесленный стол", "fluid.tfg.heavy_ammoniacal_water": "Тяжёлая аммиачная вода", @@ -1118,7 +1125,7 @@ "item.tfg.shell_casing_extruder_mold": "Форма экструдера (Дробовая гильза)", "item.tfg.large_casing_extruder_mold": "Форма экструдера (Большая гильза)", "item.tfg.photo_cell_t1": "Обычная фотоэлектрическая ячейка", - "item.tfg.electric_extendo_grip": "Electric Extendo Grip", + "item.tfg.electric_extendo_grip": "Электрический раздвижной захват`", "item.tfg.treated_chipboard_composite": "Обработанный ДСП", "item.tfg.high_density_treated_fiberboard": "ДСП", "item.tfg.flax_seeds": "Семена льна", @@ -1138,11 +1145,24 @@ "item.tfg.clean_dna_syringe": "Чистый шприц", "item.tfg.stainless_steel_needle": "Игла из нержавеющей стали", "item.tfg.empty_rod": "Пустой топливный стержень", + "item.tfg.empty_rod_t2": "Пустой бериллиевый топливный стержень", + "item.tfg.empty_rod_t3": "Пустой циркониевый топливный стержень", "item.tfg.thorium_rod": "Ториевый топливный стержень", + "item.tfg.depleted_thorium_rod": "Отработавший ториевый топливный стержень", "item.tfg.uranium_rod": "Ураниевый топливный стержень", - "item.tfg.plutonium_rod": "Плутоневый топливный стержень", - "item.tfg.tbu_232_rod": "Ториево-ураниевый (TBU-232) топливный стержень", + "item.tfg.depleted_uranium_rod": "Отработавший урановый топливный стержень", + "item.tfg.plutonium_rod": "Плутониевый топливный стержень", + "item.tfg.depleted_plutonium_rod": "Отработавший плутониевый топливный стержень", + "item.tfg.tbu_232_rod": "Ториево-ураниевый топливный стержень (Th-232)", + "item.tfg.depleted_tbu_232_rod": "Отработавший ториево-урановый размножающий топливный стержень (Th-232)", + "item.tfg.americium_241_rod": "Америциевый топливный стержень (Am-241)", + "item.tfg.depleted_americium_241_rod": "Отработавший америциевый топливный стержень (Am-241)", + "item.tfg.neptunium_237_rod": "Нептуниевый топливный стержень (Np-237)", + "item.tfg.depleted_neptunium_237_rod": "Отработавший нептуниевый топливный стержень (Np-237)", + "item.tfg.californium_252_rod": "Калифорниевый топливный стержень (Cf-252)", + "item.tfg.depleted_californium_252_rod": "Отработавший калифорниевый топливный стержень (Cf-252)", "item.tfg.refrigerant_pellet": "Охлаждающая гранула", + "item.tfg.terrafirmaguard_pa6": "TerraFirmaGuard PA6", "item.tfg.graphite_compound": "Графитовый компаунд", "item.tfg.raw_graphite_briquette": "Брикет из необработанного графита", "item.tfg.faulty_graphite_briquette": "Бракованный графитовый брикет", @@ -1280,12 +1300,17 @@ "material.tfg.silica_gel": "Силикагель", "material.tfg.soaked_silica_gel": "Наполненный ацетоном силикагель", "material.tfg.heavy_water": "Тяжёлая вода", + "material.tfg.warm_water": "Тёплая вода", "material.tfg.semiheavy_water": "Полутяжелая вода", "material.tfg.nuclear_residue": "Ядерные отходы", "material.tfg.oxidized_nuclear_residue": "Окисленные ядерные отходы", "material.tfg.refined_nuclear_residue": "Переработанные ядерные отходы", "material.tfg.mars_air": "Марсианский воздух", "material.tfg.liquid_mars_air": "Жидкий марсианский воздух", + "material.tfg.raw_rich_brine": "Сырой насыщенный рассол", + "material.tfg.basic_bromine_exhaust": "Основные выбросы брома", + "material.tfg.brominated_iodine_vapor": "Бромированный йодный пар", + "material.tfg.hot_iodine_brine": "Горячий йодный рассол", "material.tfg.certus_regolith": "Кварцевый реголит", "material.tfg.goethe_regolith": "Гётитовый реголит", "material.tfg.bright_regolith": "Яркий реголит", @@ -1340,6 +1365,7 @@ "material.tfg.americium_241": "Америций 241", "material.tfg.californium_252": "Калифорний 252", "material.tfg.neptunium_237": "Нептуний 237", + "material.tfg.tbu_waste": "Отходы торий-урана", "material.tfg.mixed_radioactive_fluid": "Смешанная радиоактивная жидкость", "material.tfg.degraded_solvent_stream": "Деградированный поток растворителя", "material.tfg.boron_enriched_coolant": "Хладагент обогащенный бором", @@ -1351,10 +1377,23 @@ "material.tfg.residual_sludge": "Остаточный осадок", "material.tfg.sodium_fluoride": "Фтористый натрий", "material.tfg.trace_catalyst_salt_e": "Следовая каталитическая соль E", - "material.tfg.copper_trace_catalyst_dust": "Медный следовой катализатор", + "material.tfg.copper_trace_catalyst": "Следовая каталитическая медь", "material.tfg.organic_stabilizer": "Органический стабилизатор", "material.tfg.inert_dust_fraction": "Инертная фракция", "material.tfg.recovered_ionic_complex": "Восстановленный ионный комплекс", + "material.tfg.boron_10_hydroxide": "Гидроксид бора-10", + "material.tfg.sodium_deuteroxide": "Дейтерооксид натрия", + "material.tfg.boron_thrichloride": "Трихлорид бора", + "material.tfg.enriched_boron_thrichloride": "Обогащённый трихлорид бора", + "material.tfg.booster_t3": "NYI", + "material.tfg.radioactive_effluent": "Радиоактивный эффлюент", + "material.tfg.high_grade_isotopic_solvent": "Высококачественный изотопный растворитель", + "material.tfg.degraded_high_grade_isotopic_solvent": "Деградировавший высококачественный изотопный растворитель", + "material.tfg.spent_ticl4_doped_supercritical_co2": "Отработанный сверхкритический CO₂, легированный TiCl₄", + "material.tfg.ticl4_doped_supercritical_co2": "Сверхкритический CO₂, легированный TiCl₄", + "material.tfg.flibe": "FLiBe", + "material.tfg.dirty_flibe": "Загрязнённый FLiBe", + "material.tfg.hot_flibe": "Горячий FLiBe", "material.tfg.glucose": "Глюкоза", "material.tfg.galactose": "Галактоза", "material.tfg.fructose": "Фруктоза", @@ -1388,6 +1427,7 @@ "material.tfg.phenolic_resin": "Фенольная смола", "material.tfg.magnesium_hydroxide": "Гидроксид магния", "material.tfg.magnesia_refractory_brick": "Склеенный смолой магнезиальный огнеупорный кирпич", + "material.tfg.nichromium_iodomethylate": "Nichromium Iodomethylate", "ore_vein.tfg.deep_sheldonite": "Куперит и Борнит", "ore_vein.tfg.deep_garnet_amethyst": "Аметист и гранат", "ore_vein.tfg.deep_garnet_opal": "Опал и гранат", @@ -1412,6 +1452,8 @@ "ore_vein.tfg.normal_copper": "Медь и Халькопирит", "ore_vein.tfg.normal_garnet_tin": "Гранатовый и Касситеритовый песок", "ore_vein.tfg.normal_garnierite": "Гарниерит и Кобальтит", + "ore_vein.tfg.normal_garnierite.emi.0": "Подсказка: Габбро всегда находится", + "ore_vein.tfg.normal_garnierite.emi.1": "под Базальтом.", "ore_vein.tfg.normal_gold": "Золото, Лимонит и Гематит", "ore_vein.tfg.normal_graphite": "Графит и Алмаз", "ore_vein.tfg.normal_gypsum": "Гипс и Кальцит", @@ -1427,6 +1469,8 @@ "ore_vein.tfg.normal_olivine": "Бентонит и Оливин", "ore_vein.tfg.normal_quartz": "Кварцы", "ore_vein.tfg.normal_redstone": "Редстоун, Киноварь и Рубин", + "ore_vein.tfg.normal_redstone.emi.0": "Подсказка: Гранит всегда находится", + "ore_vein.tfg.normal_redstone.emi.1": "под Риолитом.", "ore_vein.tfg.normal_salt": "Соли и Бура", "ore_vein.tfg.normal_saltpeter": "Селитра и Электротин", "ore_vein.tfg.normal_silver": "Серебро, Галена и Свинец", @@ -1533,9 +1577,10 @@ "ore_vein.tfg.nether_sulfur": "Сера и Пирит", "ore_vein.tfg.nether_tetrahedrite": "Тетраэдрит", "ore_vein.tfg.nether_topaz": "Топаз и Халькозин", - "ore_vein.tfg.venus_manual_salt": "Salts & Spodumene", - "ore_vein.tfg.venus_manual_salt.emi.0": "Only in Salt Flats.", + "ore_vein.tfg.venus_manual_salt": "Соли и Cподумен", + "ore_vein.tfg.venus_manual_salt.emi.0": "Только в Соляных равнинах.", "ore_vein.tfg.venus_manual_sulfur": "Сера и Пирит", + "ore_vein.tfg.venus_manual_sulfur.emi.0": "Только в Сернистом ущелье.", "tfg.creative_tab.tfg": "TerraFirmaGreg", "tfg.disabled_portal": "Магия портала заблокирована неизвестной силой, попробуйте получить доступ к измерению поднявшись в небо или спустившись в глубины.", "tfg.tooltip.food_trait.refrigerating": "§bОхлаждённое", @@ -1570,6 +1615,7 @@ "entity.tfg.tier_1_double_rocket": "Лёгкая двухместная ракета R (алюмосталь)", "entity.tfg.tier_2_double_rocket": "Прочная двухместная ракета ASM 4914 (титан)", "entity.tfg.tier_3_double_rocket": "Тяжёлая двухместная ракета 45-Ti (вольфрамосталь)", + "curios.identifier.face": "Лицо", "effect.tfg.cooling": "§bОхлаждение", "effect.tfg.warming": "§6Согревание", "effect.tfg.instant_radiation": "Мгновенное радиоактивное излучение", @@ -1713,6 +1759,7 @@ "tfg.tooltip.hotornot_cold_equipment": "§7Дает защиту от всех §bхолодных§7 предметов, жидкостей и труб.§r", "tfg.tooltip.hotornot_floating_equipment": "§7Дает защиту от всех §eлегче воздуха§7 газов.§r", "tfg.tooltip.polycaprolactam": "Также известный как Нейлон", + "tfg.tooltip.vessel_warning": "§cНагрев переполненного сосуда приведёт к потере излишков и может испортить ваш сплав!§r", "tfg.tooltip.machine.one_energy_hatch": "Принимает ровно §6один§r энергетический разъём.", "tfg.tooltip.machine.two_energy_hatches": "Принимает до §6двух§r энергетических разъёма.", "tfg.tooltip.machine.subtick": "Эта машина §2Сабтик§r!", @@ -1750,13 +1797,6 @@ "tfg.tooltip.wireless_card_1": "Обеспечивает беспроводное соединение на любом расстоянии, даже с других планет!", "tfg.tooltip.wireless_card_2": "Передача предметов через терминал по-прежнему возможна, но с очень высокими затратами энергии.", "tfg.tooltip.wireless_card_3": "Используйте §dРельсотрон§r для удовлетворения ваших межпланетных логистических потребностей.", - "tfg.tooltip.component.blue_ice": "Может быть размещен в ядерный реактор для увелечения максимального тепла на §90.5§r", - "tfg.tooltip.component.aes_insulation_frame": "Может быть размещен в ядерный реактор для увелечения максимального тепла на §91§r", - "tfg.tooltip.component.glacian_fur": "Может быть размещен в ядерный реактор для увелечения максимального тепла на §92§r", - "tfg.tooltip.component.impure_moderate_core_frame": "Может быть размещен в ядерный реактор для увелечения максимального тепла на §95§r", - "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_2": "Каждый держатель ротора выше §5EV§r §7добавляет§r 10% эффективности и умножает EU/t на 2.", "tfg.tooltip.component.smr_generator_1": "§eПроиводит:§r 4096 EU/t", @@ -1794,6 +1834,23 @@ "tfg.gui.cycle_duration": "Длительность цикла: ", "tfg.emi.bacon_requirement": "Бекон - Сырую свинину сначала нужно закоптить", "tag.item.tfg.dried_fruit": "Сушеный фрукт", + "tfg.clientmessage.spatialioblocked.claimedchunks": "Spatial IO заблокирован: регион содержит чанки, заявленные другой командой", + "tfg.nuclear.average_heat.text": "Тепло: от %s до %s", + "tfg.nuclear.skip": "", + "tfg.machine.aux_exchanger.heat.title": "=== Информация о тепле ===", + "tfg.machine.aux_exchanger.recipe_temperature": "Температура рецепта: ", + "tfg.machine.aux_exchanger.recipe_temperature.desc": "Температура, требуемая этим рецептом", + "tfg.machine.aux_exchanger.battery_temperature": "Температура батареи: ", + "tfg.machine.aux_exchanger.battery_temperature.desc": "Текущая температура тепловой батареи", + "tfg.machine.aux_exchanger.hu_consumed": "HU потреблено: ", + "tfg.machine.aux_exchanger.hu_consumed.desc": "Единиц тепла потребляется за цикл рецепта", + "tfg.machine.aux_exchanger.total_hu": "Всего HU доступно: ", + "tfg.machine.aux_exchanger.total_hu.desc": "Общее количество единиц тепла, запасённое в тепловой батарее", + "tfg.machine.aux_exchanger.speed_modifier": "Модификатор скорости: ", + "tfg.machine.aux_exchanger.speed_modifier.desc": "Скорость работы рецепта в зависимости от температуры батареи", + "tfg.machine.aux_exchanger.heat_unavailable": "Информация о тепле недоступна", + "tfg.machine.aux_echanger.output.title": "=== Выход ===", + "tfg.multiblock.turbine.obstructed": "Турбина заблокирована. Проверьте, чтобы под дымоходом и внутри него ничего не мешало", "tfc.jei.flint_knapping": "Обработка кремния", "tfc.jei.straw_knapping": "Обработка соломы", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Окрашивание", @@ -1860,6 +1917,7 @@ "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.clay_ball": "Увлажнение глиняного шарика", "tfc.recipe.barrel.tfg.barrel.light_concrete": "Затвердевание бетона", "tfc.recipe.barrel.tfg.barrel.reinforced_light_concrete_support": "Затвердевание бетона", "tfc.recipe.barrel.tfg.barrel.dark_concrete": "Окрашивание", @@ -1921,6 +1979,26 @@ "tfg.grapplemod.downgrades.vertical_throwing_angle": "Уменьшает §lВертикальный угол броска§r крюка на 5°, вплоть до 0°.", "tfg.grapplemod.upgrades.angle": "Увеличивает §lГоризонтальный угол броска§r §lВторого крюка§r на 5°, вплоть до 90°.\nДоступно только с установленным улучшением §lВторой крюк§r.", "tfg.grapplemod.downgrades.angle": "Уменьшает §lГоризонтальный угол броска§r §lВторого крюка§r на 5°, вплоть до 5°°.\nДоступно только с установленным улучшением §lВторой крюк§r.", + "tfg.tooltip.machine.fission_reactor_mk1_1": "§7Сила атома§r", + "tfg.tooltip.machine.fission_reactor_mk1_2": "§7Настраиваемый реактор деления. Добавляйте улучшенные компоненты, загружайте топливные стержни и материалы и следите за его температурой.§r", + "tfg.tooltip.machine.smt_1": "§eПроизводство энергии:§r от 2048 до 32768 EU/t", + "tfg.tooltip.machine.smt_2": "§7Требует смазку для работы и может увеличить выход энергии при использовании ускорителя.§r", + "tfg.tooltip.machine.smt_3": "§7Принимает жидкости только через§r SMT входной люк§7.§r", + "tfg.tooltip.machine.small_fission_reactor_mk1_1": "§7Сила атома, но в меньшем масштабе§r", + "tfg.tooltip.machine.small_fission_reactor_mk1_2": "§7Может обрабатывать только§r Америциевый топливный стержень (Am-241)§7 с§r сверхкритическим CO₂, легированным TiCl₄§r", + "tfg.tooltip.machine.heat_battery_1": "§7Накопитель тепла§", + "tfg.tooltip.machine.heat_battery_2": "§7Повышайте его температуру, подавая горячие жидкости, и используйте тепло для кипячения других жидкостей или выполнения рецептов в ЛУО.§r", + "tfg.tooltip.machine.heat_battery_3": "§7Для передачи тепла в Линейный ускоритель острума, разверните§r тепловой порт§7 и§r тепловой входной люк§7 друг напротив друга.§r", + "tfg.tooltip.machine.smr_fluid_import_hatch": "§7Может использоваться только в Малой модульной турбине§r", + "tfg.tooltip.component.blue_ice": "Может быть размещен в ядерный реактор для увелечения максимального тепла на §90.5§r", + "tfg.tooltip.component.aes_insulation_frame": "Может быть размещен в ядерный реактор для увелечения максимального тепла на §91§r", + "tfg.tooltip.component.glacian_fur": "Может быть размещен в ядерный реактор для увелечения максимального тепла на §92§r", + "tfg.tooltip.component.impure_moderate_core_frame": "Может быть размещен в ядерный реактор для увелечения максимального тепла на §95§r", + "tfg.tooltip.component.moderate_core_frame": "Может быть размещен в ядерный реактор для увелечения максимального тепла на §910§r", + "tfg.tooltip.component.dry_ice": "Может использоваться в ядерном реакторе для его охлаждения; требуется держатель материала", + "tfg.tooltip.component.refrigerant_pellet": "Может использоваться в ядерном реакторе для его охлаждения; требуется держатель материала", + "tfg.tooltip.component.sandy_copper_frame": "Может быть помещён в тепловую батарею для увеличения ёмкости хранения", + "tfg.tooltip.component.sandy_beryllium_frame": "Может быть помещён в тепловую батарею для увеличения ёмкости хранения", "quests.ae2": "Applied Energistics 2", "quests.ae2.subtitle": "Самый мощный инструмент, который поможет вам с GregTech, открывается после вашего первого полёта на Луну", "quests.ae2.certus_quartz.title": "Истинный кварц", @@ -2194,12 +2272,12 @@ "quests.extreme_voltage.t2_rocket.title": "Rocket 2: Titanium Boogaloo", "quests.extreme_voltage.t2_rocket.subtitle": "This one's purple", "quests.extreme_voltage.t2_rocket.desc": "This new rocket shouldn’t be too difficult to assemble, but you’ll notice a clear jump in material costs compared to your previous model.\n\nThe upgraded &6Rocket Alloys&r now require both &bDistilled Water&r and &bCryogenized Fluix&r for cooling.\n\nMake sure you've fully set up your &eTitanium&r production line, as you're going to need a lot of it going forward! A continuous production line will save you a lot of frustration down the road.", - "quests.extreme_voltage.mars.title": "I'm on &4Mars&r!", - "quests.extreme_voltage.mars.subtitle": "The Red Planet", - "quests.extreme_voltage.mars.desc.1": "Before landing on &4Mars&r, there are a few important things to keep in mind.\n\nFirst, like the Moon, &4Mars&r will have some hostile surface mobs as well. If you haven't already figured out how to make your Space Suit stay with you after dying or invested in new EV-tier weaponry, you'll have a rough time.\n\nThe planet is mostly a &edesert world&r, dotted with \"&aislands&r\" where you’ll find &bwater&r, lush fauna, and much safer places to build your first base. Meanwhile, the open desert is extremely dangerous if you don't watch your step, but contains some other crucial resources!", - "quests.extreme_voltage.mars.desc.2": "All &bfluid veins&r are spread across Mars, except for &eHeavy Ammoniacial Water&r which can only be found outside of the desert. That’s another good reason to set up your base there.\n\nEnergy-wise, &4Mars&r will not be kind to you at first.\n\nNearly every common &6energy generation method&r is disabled or worthless on the planet, which means you’ll have to rely almost entirely on &cFission&r to power your base.\n\nAt the very beginning, we recommend bringing along some &bfilled batteries&r such as &bLapotron Crystals&r to get started, and then look towards setting up Thorium Fuel Rods.\n\nAchieving energy stability on Mars will take time and effort, but once your systems are running smoothly, you’ll feel like &9unlimited power&r is right in the palm of your hand.", - "quests.extreme_voltage.mars.desc.3": "And one last tip: don’t kill everything you see. Some &aanimals&r can be &franched&r, and you’ll definitely need them later in your progression.\n\nBe sure to check out the &aSpace Survival&r chapter for more Mars-related tips too!\n\nStay alert, plan ahead, and Mars will reward your courage.", - "quests.extreme_voltage.mars.task": "Land on Mars", + "quests.extreme_voltage.mars.title": "Я на &4Марсе&r!", + "quests.extreme_voltage.mars.subtitle": "Красная планета", + "quests.extreme_voltage.mars.desc.1": "Прежде чем приземлиться на &4Марс&r, стоит помнить о нескольких важных вещах.\n\nВо-первых, как и на Луне, на &4Марсе&r также будут встречаться враждебные мобы на поверхности. Если вы ещё не разобрались, как заставить скафандр оставаться на вас после смерти, или не обзавелись новым оружием уровня EV, вам придётся нелегко.\n\nПланета в основном представляет собой &eпустынный мир&r, усеянный «&aостровами&r», где вы найдёте &bводу&r, пышную флору и гораздо более безопасные места для постройки первой базы. В то же время открытая пустыня чрезвычайно опасна, если не смотреть под ноги, но содержит другие важные ресурсы! ", + "quests.extreme_voltage.mars.desc.2": "Все &bжильные месторождения жидкостей&r разбросаны по Марсу, за исключением &eТяжёлой аммиачной воды&r, которую можно найти только за пределами пустыни. Это ещё одна веская причина построить базу там.\n\nС точки зрения энергии &4Марс&r поначалу не будет к вам благосклонен.\n\nПочти все распространённые &6методы генерации энергии&r на планете отключены или бесполезны, а значит, для питания базы вам почти полностью придётся полагаться на &cядерное деление&r.\n\nВ самом начале мы рекомендуем взять с собой несколько &bзаряженных аккумуляторов&r, например, &bЛапотронных кристаллов&r, чтобы начать, а затем сосредоточиться на настройке производства ториевых топливных стержней.\n\nДостижение энергетической стабильности на Марсе потребует времени и усилий, но как только ваши системы заработают бесперебойно, вы почувствуете, что &9неограниченная мощность&r у вас в руках.", + "quests.extreme_voltage.mars.desc.3": "И последний совет: не убивайте всё, что видите. Некоторых &aживотных&r можно &fприручить&r, и они вам определённо понадобятся позже на пути развития.\n\nОбязательно загляните в главу &aВыживание в космосе&r, чтобы узнать больше советов, связанных с Марсом!\n\nБудьте внимательны, планируйте заранее, и Марс вознаградит вашу смелость.", + "quests.extreme_voltage.mars.task": "Высадитесь на Марсе", "quests.extreme_voltage.nuclear_fuel_factory.title": "Nuclear Fuel Factory", "quests.extreme_voltage.nuclear_fuel_factory.subtitle": "Hot Rod", "quests.extreme_voltage.nuclear_fuel_factory.desc": "The &6Nuclear Fuel Factory&r has one purpose: producing fuel rods for your &cFission Reactor&r.\n\nIt supports &9Parallel Hatches&r which you’ll unlock soon but they aren’t mandatory yet. Functionally, it works much like the Pyrolyse Oven: the &ebetter the coils&r you install, the faster the recipes will run.\n\nSince fuel rod production is both &cslow&r and &cexpensive&r, we strongly recommend using the &ahighest tier coils&r available. Don’t waste your time with Cupronickel, you’ll only be nerfing yourself.", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index b8e88bb13..4031ec099 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -160,7 +160,7 @@ "block.tfg.strophar_support_horizontal": "Горизонтальна строфарова опора", "block.tfg.aeronos_support": "Аероносова опора", "block.tfg.aeronos_support_horizontal": "Горизонтальна аероносова опора", - "block.tfg.rock.hardened_deepslate": "Затверділий Мігматит", + "block.tfg.rock.hardened_deepslate": "Загартована Мігматит", "block.tfg.rock.deepslate_stairs": "Необроблені мігматитові сходи", "block.tfg.rock.deepslate_slab": "Необроблена мігматитова плита", "block.tfg.rock.deepslate_wall": "Необроблена мігматитова стіна", @@ -182,7 +182,7 @@ "block.tfg.spike.deepslate_spike": "Шип Мігматиту", "block.tfg.loose.deepslate": "Розсипчастий Мігматитовий Камінь", "block.tfg.rock.aqueduct_deepslate": "Акведук з мігматиту", - "block.tfg.rock.hardened_blackstone": "Затверділий Піроксеніт", + "block.tfg.rock.hardened_blackstone": "Загартована Піроксеніт", "block.tfg.rock.cobble_blackstone_stairs": "Піроксенітові круглякові сходи", "block.tfg.rock.cobble_blackstone_slab": "Піроксенітова круглякова плита", "block.tfg.rock.cobble_blackstone_wall": "Піроксенітова круглякова стіна", @@ -200,7 +200,7 @@ "block.tfg.rock.mossy_bricks_blackstone_wall": "Замохла піроксенітова цегляна стіна", "block.tfg.rock.gravel_blackstone": "Гравій піроксеніту", "block.tfg.spike.blackstone_spike": "Шип Піроксеніту", - "block.tfg.rock.hardened_dripstone": "Затверділий Травертин", + "block.tfg.rock.hardened_dripstone": "Загартована травертин", "block.tfg.rock.dripstone_stairs": "Сходи з необробленого травертину", "block.tfg.rock.dripstone_slab": "Плита з необробленого травертину", "block.tfg.rock.dripstone_wall": "Стіна з необробленого травертину", @@ -224,6 +224,7 @@ "block.tfg.spike.dripstone_spike": "Шип Травертину", "block.tfg.loose.dripstone": "Розсипчастий Травертиновий Камінь", "block.tfg.rock.aqueduct_dripstone": "Акведук з травертину", + "block.tfg.rock.hardened_crackrack": "Загартований кератофір", "block.tfg.rock.crackrack_stairs": "Сходи з необробленого кератофіру", "block.tfg.rock.crackrack_slab": "Плита з необробленого кератофіру", "block.tfg.rock.crackrack_wall": "Стіна з необробленого кератофіру", @@ -249,7 +250,7 @@ "block.tfg.rock.gravel_crackrack": "Гравій кератофіру", "block.tfg.loose.crackrack": "Відокремлений камінь кератофіру", "block.tfg.rock.aqueduct_nether": "Акведук з кератофіту", - "block.tfg.rock.hardened_moon_stone": "Затверділий Анорозит", + "block.tfg.rock.hardened_moon_stone": "Загартований Анорозит", "block.tfg.rock.moon_stone_wall": "Стіна з необробленого анортозиту", "block.tfg.rock.cobble_moon_wall": "Стіна з анортозитового кругляка", "block.tfg.rock.mossy_cobble_moon": "Анортозитовий моховитий кругляк", @@ -269,7 +270,7 @@ "block.tfg.rock.cracked_bricks_moon_stairs": "Тріснуті анортозитові цегляні сходи", "block.tfg.rock.cracked_bricks_moon_slab": "Тріснута анортозитова цегляна плита", "block.tfg.rock.cracked_bricks_moon_wall": "Тріснута анортозитова цегляна стіна", - "block.tfg.rock.hardened_moon_deepslate": "Затверділий Норит", + "block.tfg.rock.hardened_moon_deepslate": "Загартований Норит", "block.tfg.rock.moon_deepslate_stairs": "Сходи з необробленого нориту", "block.tfg.rock.moon_deepslate_slab": "Плита з необробленого нориту", "block.tfg.rock.moon_deepslate_wall": "Стіна з необробленого нориту", @@ -306,7 +307,7 @@ "block.tfg.rock.mossy_bricks_moon_deepslate_stairs": "Мохові норитові цегляні сходи", "block.tfg.rock.mossy_bricks_moon_deepslate_slab": "Плита з моховитої норитової цегли", "block.tfg.rock.mossy_bricks_moon_deepslate_wall": "Стіна з моховитої норитової цегли", - "block.tfg.rock.hardened_mars_stone": "Затверділий Аргіліт", + "block.tfg.rock.hardened_mars_stone": "Загартований Аргіліт", "block.tfg.rock.mars_stone_wall": "Стіна з необробленого аргіліту", "block.tfg.rock.cobble_mars_wall": "Стіна з кругляку аргіліту", "block.tfg.rock.mossy_cobble_mars": "Аргілітовий моховий кругляк", @@ -326,7 +327,7 @@ "block.tfg.spike.mars_stone_spike": "Аргілітовий шип", "block.tfg.loose.mars_stone": "Рихлий Аргілітовий Камінь", "block.tfg.rock.aqueduct_mars_stone": "Акведук з аргиліту", - "block.tfg.rock.hardened_venus_stone": "Затверділий Трахіт", + "block.tfg.rock.hardened_venus_stone": "Загартований Трахіт", "block.tfg.rock.venus_stone_wall": "Стіна з необробленого трахіту", "block.tfg.rock.cobble_venus_wall": "Стіна з трахітового кругляку", "block.tfg.rock.mossy_cobble_venus": "Трахітовий моховий кругляк", @@ -346,7 +347,7 @@ "block.tfg.spike.venus_stone_spike": "Трахітовий шип", "block.tfg.loose.venus_stone": "Рихлий Трахітовий Камінь", "block.tfg.rock.aqueduct_venus_stone": "Акведук з трахіту", - "block.tfg.rock.hardened_mercury_stone": "Затверділий Коматит", + "block.tfg.rock.hardened_mercury_stone": "Загартований Коматит", "block.tfg.rock.mercury_stone_wall": "Стіна з необробленого коматіїту", "block.tfg.rock.cobble_mercury_wall": "Стіна з коматитового кругляку", "block.tfg.rock.mossy_cobble_mercury": "Коматитовий моховий кругляк", @@ -366,7 +367,7 @@ "block.tfg.spike.mercury_stone_spike": "Коматитовий шип", "block.tfg.loose.mercury_stone": "Рихлий Коматитовий Камінь", "block.tfg.rock.aqueduct_mercury_stone": "Акведук з коматиту", - "block.tfg.rock.hardened_glacio_stone": "Затверділий Фоноліт", + "block.tfg.rock.hardened_glacio_stone": "Загартований Фоноліт", "block.tfg.rock.glacio_stone_wall": "Стіна з необробленого фоноліту", "block.tfg.rock.cobble_glacio_wall": "Стіна з фонолітового кругляку", "block.tfg.rock.mossy_cobble_glacio": "Фонолітовий моховий кругляк", @@ -386,7 +387,7 @@ "block.tfg.spike.glacio_stone_spike": "Фонолітовий шип", "block.tfg.loose.glacio_stone": "Рихлий Фонолітовий Камінь", "block.tfg.rock.aqueduct_glacio_stone": "Акведук з фоноліту", - "block.tfg.rock.hardened_permafrost": "Затверділий Вічномерзлий Ґрунт", + "block.tfg.rock.hardened_permafrost": "Загартований Вічномерзлий Ґрунт", "block.tfg.rock.permafrost_stairs": "Сходи з необробленої вічної мерзлоти", "block.tfg.rock.permafrost_slab": "Плита з необробленої вічної мерзлоти", "block.tfg.rock.permafrost_wall": "Стіна з необробленої вічної мерзлоти", @@ -437,6 +438,76 @@ "block.tfg.loose.red_granite": "Розсипчастий червоний гранітний камінь", "block.tfg.spike.red_granite_spike": "Червоний гранітовий шпиль", "block.tfg.rock.aqueduct_red_granite": "Акведук з червоного граніту", + "block.tfg.rock.sandy_jadestone_stairs": "Сходи з необробленого лампроїту", + "block.tfg.rock.sandy_jadestone_slab": "Плита з необробленого лампроїту", + "block.tfg.rock.sandy_jadestone_wall": "Стіна з необробленого лампроїту", + "block.tfg.rock.hardened_sandy_jadestone": "Загартований лампроїт", + "block.tfg.spike.sandy_jadestone_spike": "Шип лампроїту", + "block.tfg.sandy_jadestone_support": "Лампроїтова опора", + "block.tfg.rock.cobble_sandy_jadestone": "Лампроїтова бруківка", + "block.tfg.rock.cobble_sandy_jadestone_stairs": "Сходи з бруківки лампроїту", + "block.tfg.rock.cobble_sandy_jadestone_slab": "Плита з бруківки лампроїту", + "block.tfg.rock.cobble_sandy_jadestone_wall": "Стіна з бруківки лампроїту", + "block.tfg.rock.gravel_sandy_jadestone": "Гравій лампроїту", + "block.tfg.rock.aqueduct_sandy_jadestone": "Акведук з лампроїту", + "block.tfg.rock.bricks_sandy_jadestone_stairs": "Сходи з цегли лампроїту", + "block.tfg.rock.bricks_sandy_jadestone_slab": "Плита з цегли лампроїту", + "block.tfg.rock.bricks_sandy_jadestone_wall": "Стіна з цегли лампроїту", + "block.tfg.rock.polished_sandy_jadestone_stairs": "Сходи з полірованого лампроїту", + "block.tfg.rock.polished_sandy_jadestone_slab": "Плита з полірованого лампроїту", + "block.tfg.rock.polished_sandy_jadestone_wall": "Стіна з полірованого лампроїту", + "block.tfg.rock.chiseled_sandy_jadestone_stairs": "Сходи з плитки лампроїту", + "block.tfg.rock.chiseled_sandy_jadestone_slab": "Плита з плитки лампроїту", + "block.tfg.rock.chiseled_sandy_jadestone_wall": "Стіна з плитки лампроїту", + "block.tfg.loose.sandy_jadestone": "Розсипний лампроїтовий камінь", + "block.tfg.rock.flavolite_stairs": "Сходи з необробленого ігнімбриту", + "block.tfg.rock.flavolite_slab": "Плита з необробленого ігнімбриту", + "block.tfg.rock.flavolite_wall": "Стіна з необробленого ігнімбриту", + "block.tfg.rock.hardened_flavolite": "Загартований ігнімбрит", + "block.tfg.spike.flavolite_spike": "Шип з ігнімбриту", + "block.tfg.flavolite_support": "Опора з ігнімбриту", + "block.tfg.rock.cobble_flavolite": "Бруківка з ігнімбриту", + "block.tfg.rock.cobble_flavolite_stairs": "Сходи з бруківки ігнімбриту", + "block.tfg.rock.cobble_flavolite_slab": "Плита з бруківки ігнімбриту", + "block.tfg.rock.cobble_flavolite_wall": "Стіна з бруківки ігнімбриту", + "block.tfg.rock.gravel_flavolite": "Гравій з ігнімбриту", + "block.tfg.rock.aqueduct_flavolite": "Акведук з ігнімбриту", + "block.tfg.rock.bricks_flavolite_stairs": "Сходи з цегли ігнімбриту", + "block.tfg.rock.bricks_flavolite_slab": "Плита з цегли ігнімбриту", + "block.tfg.rock.bricks_flavolite_wall": "Стіна з цегли ігнімбриту", + "block.tfg.rock.polished_flavolite_stairs": "Сходи з полірованого ігнімбриту", + "block.tfg.rock.polished_flavolite_slab": "Плита з полірованого ігнімбриту", + "block.tfg.rock.polished_flavolite_wall": "Стіна з полірованого ігнімбриту", + "block.tfg.rock.chiseled_flavolite_stairs": "Сходи з плитки ігнімбриту", + "block.tfg.rock.chiseled_flavolite_slab": "Плита з плитки ігнімбриту", + "block.tfg.rock.chiseled_flavolite_wall": "Стіна з плитки ігнімбриту", + "block.tfg.loose.flavolite": "Розсипаний ігнімбритовий камінь", + "block.tfg.rock.scoria_stairs": "Сходи з необробленої скорії", + "block.tfg.rock.scoria_slab": "Плита з необробленої скорії", + "block.tfg.rock.scoria_wall": "Стіна з необробленої скорії", + "block.tfg.rock.hardened_scoria": "Загартована скорія", + "block.tfg.spike.scoria_spike": "Шип скорії", + "block.tfg.scoria_support": "Опора зі скорії", + "block.tfg.rock.cobble_scoria": "Бруківка зі скорії", + "block.tfg.rock.cobble_scoria_stairs": "Сходи з бруківки зі скорії", + "block.tfg.rock.cobble_scoria_slab": "Плита з бруківки зі скорії", + "block.tfg.rock.cobble_scoria_wall": "Стіна з бруківки зі скорії", + "block.tfg.rock.gravel_scoria": "Гравій зі скорії", + "block.tfg.rock.aqueduct_scoria": "Акведук зі скорії", + "block.tfg.loose.scoria": "Розсипана скорія", + "block.tfg.rock.scorchia_stairs": "Сходи з необробленої скорчії", + "block.tfg.rock.scorchia_slab": "Плита з необробленої скорчії", + "block.tfg.rock.scorchia_wall": "Стіна з необробленої скорчії", + "block.tfg.rock.hardened_scorchia": "Загартована скорчія", + "block.tfg.spike.scorchia_spike": "Шип скорчії", + "block.tfg.scorchia_support": "Опора зі скорчії", + "block.tfg.rock.cobble_scorchia": "Бруківка зі скорчії", + "block.tfg.rock.cobble_scorchia_stairs": "Сходи з бруківки зі скорчії", + "block.tfg.rock.cobble_scorchia_slab": "Плита з бруківки зі скорчії", + "block.tfg.rock.cobble_scorchia_wall": "Стіна з бруківки зі скорчії", + "block.tfg.rock.gravel_scorchia": "Гравій зі скорчії", + "block.tfg.rock.aqueduct_scorchia": "Акведук зі скорчії", + "block.tfg.loose.scorchia": "Розсипана скорчія", "block.tfg.rock.stone_wall": "Стіна з реконструйованого каменю", "block.tfg.rock.smooth_stone_stairs": "Сходи з полірованого реконструйованого каменю", "block.tfg.rock.smooth_stone_wall": "Стіна з полірованого реконструйованого каменю", @@ -564,7 +635,7 @@ "block.tfg.saplings.strophar": "Строфарський гриб", "block.tfg.saplings.glacian": "Глаціанський гриб", "block.tfg.groundcover.glider_feather": "Перо Планера", - "block.tfg.groundcover.wraptor_feather": "Перо Враптора", + "block.tfg.groundcover.wraptor_feather": "Перо Раптора", "block.tfg.groundcover.aeronos_stick": "Пагінець Аероносу", "block.tfg.groundcover.strophar_stick": "Пагінець Строфару", "block.tfg.groundcover.glacian_stick": "Пагінець Ґлації", @@ -733,6 +804,7 @@ "block.tfg.cooling_tower": "Ядерна градирня", "block.tfg.smr_generator": "Мала модульна турбіна", "block.tfg.casings.machine_casing_desh_ptfe": "Радіаційно-безпечний кожух із деша", + "block.tfg.uv_smr_fluid_import_hatch": "Вхідний люк SMT", "block.tfg.growth_monitor": "Монітор росту", "block.tfg.sample_rack": "Стійка для зразків", "block.tfg.casings.machine_casing_sterilizing_pipes": "Стерилізаційні труби", @@ -740,6 +812,13 @@ "block.tfg.impure_moderate_core": "Нечисте помірне ядро", "block.tfg.moderate_core_frame": "Каркас помірного ядра", "block.tfg.impure_moderate_core_frame": "Каркас нечистого помірного ядра", + "block.tfg.copper_sandy": "Мідно-зв’язаний кремнезем", + "block.tfg.copper_sandy_frame": "Рамка з мідно-зв’язаного кремнезему", + "block.tfg.beryllium_sandy": "Берилієво-зв’язаний кремнезем", + "block.tfg.beryllium_sandy_frame": "Рамка з берилієво-зв’язаного кремнезему", + "block.tfg.heat_battery_mk1": "Теплова батарея", + "tfg.block_entity.artisan_table": "Ремісничий стіл", + "block.tfg.artisan_table": "Ремісничий стіл", "fluid.tfg.heavy_ammoniacal_water": "Важка аміачна вода", "fluid.tfg.semiheavy_ammoniacal_water": "Термохімічно збагачена амоніачна напівважка вода", "fluid.tfg.sulfur_fumes": "Густі сірчані випари", @@ -806,22 +885,18 @@ "item.tfg.unfinished_inscriber_accumulation_press": "Незавершений прес акумуляції для інскрайбера", "item.tfg.brick.deepslate": "Мігматитовий Цегла", "item.tfg.brick.dripstone": "Травертинова цегла", - "item.tfg.loose.moon_stone": "Розсипчастий Анортозит", "item.tfg.brick.moon_stone": "Анортозитова Цегла", - "item.tfg.loose.moon_deepslate": "Розсипчастий Норит", "item.tfg.brick.moon_deepslate": "Цегла з нориту", - "item.tfg.loose.mars_stone": "Розсипчастий Аргіліт", "item.tfg.brick.mars_stone": "Аргілітова Цегла", - "item.tfg.loose.venus_stone": "Розсипчастий Трахіт", "item.tfg.brick.venus_stone": "Трахітова цеглина", - "item.tfg.loose.mercury_stone": "Розсипчастий Коматіїт", "item.tfg.brick.mercury_stone": "Коматієва цеглина", - "item.tfg.loose.glacio_stone": "Розсипчастий Фоноліт", "item.tfg.brick.glacio_stone": "Фонолітова цеглина", - "item.tfg.loose.permafrost": "Брила Вічної Мерзлоти", "item.tfg.brick.permafrost": "Цегла Вічної Мерзлоти", - "item.tfg.loose.red_granite": "Насипний червоний граніт", "item.tfg.brick.red_granite": "Цегла з червоного граніту", + "item.tfg.brick.sandy_jadestone": "Цегла з лампроїту", + "item.tfg.brick.flavolite": "Цегла з ігнімбриту", + "item.tfg.brick.scoria": "Цегла зі скорії", + "item.tfg.brick.scorchia": "Цегла зі скорчії", "item.tfg.terra_firma_greg": "TerraFirmaGreg", "item.tfg.scaffolding_frame": "Каркасні Ліси", "item.tfg.airship_hull": "Корпус Дирижабля", @@ -905,8 +980,8 @@ "item.tfg.food.cooked_glacian_mutton": "Смажене гляціанське бараняче м’ясо", "item.tfg.food.raw_sniffer_beef": "Сире м’ясо нюхача", "item.tfg.food.cooked_sniffer_beef": "Смажене м’ясо нюхача", - "item.tfg.food.raw_wraptor": "Сирий Враптор", - "item.tfg.food.cooked_wraptor": "Приготований Враптор", + "item.tfg.food.raw_wraptor": "Сирий Раптор", + "item.tfg.food.cooked_wraptor": "Готов Раптор", "item.tfg.food.raw_springling_collar": "Сирий нашийник зі спрінглінга", "item.tfg.food.cooked_springling_collar": "Приготований нашийник зі спрінглінга", "item.tfg.food.raw_walker_steak": "Сирий стейк з Вокера", @@ -958,7 +1033,7 @@ "item.tfg.rapeseed_product": "Листя Каноли", "item.tfg.spawn_egg.moon_rabbit": "Яйце Призову Місячного Кролика", "item.tfg.spawn_egg.surfer": "Яйце виклику серфера", - "item.tfg.spawn_egg.wraptor": "Яйце виклику враптора", + "item.tfg.spawn_egg.wraptor": "Яйце виклику раптора", "item.tfg.spawn_egg.glacian_ram": "Яйце ghbpjde Гляціанця", "item.tfg.spawn_egg.sniffer": "Яйце призову Нюхача", "item.tfg.flintlock_mechanism": "Крем’яний ударний механізм", @@ -1011,8 +1086,8 @@ "item.tfg.sniffer_wool": "Мінералонасичені пучки", "item.tfg.sniffer_egg": "Яйце Нюхача", "item.tfg.wraptor_wool": "Мінералонасичене Пухове Пір’я", - "item.tfg.wraptor_egg": "Яйце Враптора", - "item.tfg.wraptor_sugar": "Цукор Враптора", + "item.tfg.wraptor_egg": "Яйце Раптора", + "item.tfg.wraptor_sugar": "Цукор Раптора", "item.tfg.aes_polyurethane": "Біо-АЕС армована R-поліуретанова піна", "item.tfg.mli_shielding": "Багатошарове ізольоване екранування", "item.tfg.rocket_cone_t3": "Вдосконалений Носовий Обтічник Ракети", @@ -1070,11 +1145,24 @@ "item.tfg.clean_dna_syringe": "Очистити шприц", "item.tfg.stainless_steel_needle": "Голка з нержавної сталі", "item.tfg.empty_rod": "Порожній стрижень ядерного палива", + "item.tfg.empty_rod_t2": "Порожній паливний стрижень з берилієвого розщеплюваного палива", + "item.tfg.empty_rod_t3": "Порожній паливний стрижень із цирконієвого розщеплюваного палива", "item.tfg.thorium_rod": "Торієвий паливний стрижень", + "item.tfg.depleted_thorium_rod": "Вичерпаний торієвий паливний стрижень", "item.tfg.uranium_rod": "Урановий паливний стрижень", + "item.tfg.depleted_uranium_rod": "Вичерпаний урановий паливний стрижень", "item.tfg.plutonium_rod": "Плутонієвий паливний стрижень", - "item.tfg.tbu_232_rod": "Паливний стрижень TBU-232", + "item.tfg.depleted_plutonium_rod": "Вичерпаний плутонієвий паливний стрижень", + "item.tfg.tbu_232_rod": "Розмножувальний паливний стрижень з торію-урану", + "item.tfg.depleted_tbu_232_rod": "Вичерпаний розмножувальний паливний стрижень з торію-урану", + "item.tfg.americium_241_rod": "Америцієвий паливний стрижень", + "item.tfg.depleted_americium_241_rod": "Вичерпаний америцієвий паливний стрижень", + "item.tfg.neptunium_237_rod": "Нептунієвий паливний стрижень", + "item.tfg.depleted_neptunium_237_rod": "Вичерпаний нептунієвий паливний стрижень", + "item.tfg.californium_252_rod": "Каліфорнієвий паливний стрижень", + "item.tfg.depleted_californium_252_rod": "Вичерпаний каліфорнієвий паливний стрижень", "item.tfg.refrigerant_pellet": "Охолоджувальна гранула", + "item.tfg.terrafirmaguard_pa6": "TerraFirmaGuard PA6", "item.tfg.graphite_compound": "Графітова сполука", "item.tfg.raw_graphite_briquette": "Сирий графітовий брикет", "item.tfg.faulty_graphite_briquette": "Дефектний графітовий брикет", @@ -1134,6 +1222,10 @@ "item.tfg.fish_roe": "%s Ікра", "item.tfg.rotten_voiding_cover": "Гнила покривка Поглинання", "item.tfg.flora_pellets": "Пелети з флори", + "item.tfg.magnesia_refractory_brick_ingot": "Вогнетривка цегла з магнезії, зв’язаної смолою", + "item.tfg.tier_1_double_rocket": "Двомісна ракета з R-алюмінокріпленої сталі", + "item.tfg.tier_2_double_rocket": "Двомісна ракета з титану ASM 4914", + "item.tfg.tier_3_double_rocket": "Двомісна ракета з вольфрамової сталі 45-Ti", "material.tfg.latex": "Латекс", "material.tfg.vulcanized_latex": "Вулканізований Латекс", "material.tfg.fluix": "Флюс", @@ -1208,12 +1300,17 @@ "material.tfg.silica_gel": "Silica Gel", "material.tfg.soaked_silica_gel": "Силікагель, просочений ацетоном", "material.tfg.heavy_water": "Важка вода", + "material.tfg.warm_water": "Тепла вода", "material.tfg.semiheavy_water": "Напівважка Вода", "material.tfg.nuclear_residue": "Ядерний залишок", "material.tfg.oxidized_nuclear_residue": "Окислений ядерний залишок", "material.tfg.refined_nuclear_residue": "Перероблене ядерне паливо", "material.tfg.mars_air": "Повітря Марсу", "material.tfg.liquid_mars_air": "Рідке повітря Марсу", + "material.tfg.raw_rich_brine": "Насичений Необроблений Розсіл", + "material.tfg.basic_bromine_exhaust": "Базові бромні вихлопи", + "material.tfg.brominated_iodine_vapor": "Бромована йодна пара", + "material.tfg.hot_iodine_brine": "Гарячий йодний розсіл", "material.tfg.certus_regolith": "Реголіт Цертусу", "material.tfg.goethe_regolith": "Реголіт Ґете", "material.tfg.bright_regolith": "Яскравий Реголіт", @@ -1268,21 +1365,35 @@ "material.tfg.americium_241": "Америцій 241", "material.tfg.californium_252": "Каліфорній 252", "material.tfg.neptunium_237": "Нептуній 237", + "material.tfg.tbu_waste": "Відходи торію-урану розмножувача", "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.gas_fraction": "Фракція розчинного газу", "material.tfg.isotopic_solvent": "Ізотопний розчинник", - "material.tfg.residual_sludge": "Залишковий шлам", + "material.tfg.residual_sludge": "Залишковий розчинний шлам", "material.tfg.sodium_fluoride": "Флуорид натрію", "material.tfg.trace_catalyst_salt_e": "Слідовий каталізаторний сіль E", - "material.tfg.copper_trace_catalyst_dust": "Слідовий каталізатор міді", + "material.tfg.copper_trace_catalyst": "Каталізатор із слідами міді", "material.tfg.organic_stabilizer": "Органічний стабілізатор", "material.tfg.inert_dust_fraction": "Інертна фракція", "material.tfg.recovered_ionic_complex": "Відновлений іонний комплекс", + "material.tfg.boron_10_hydroxide": "Гідроксид бору-10", + "material.tfg.sodium_deuteroxide": "Дейтероксид натрію", + "material.tfg.boron_thrichloride": "Трихлорид бору", + "material.tfg.enriched_boron_thrichloride": "Збагачений трихлорид бору", + "material.tfg.booster_t3": "NYI", + "material.tfg.radioactive_effluent": "Радіоактивні стоки", + "material.tfg.high_grade_isotopic_solvent": "Високоякісний ізотопний розчинник", + "material.tfg.degraded_high_grade_isotopic_solvent": "Деградований високоякісний ізотопний розчинник", + "material.tfg.spent_ticl4_doped_supercritical_co2": "Гарячий надкритичний CO₂, легований TiCl₄", + "material.tfg.ticl4_doped_supercritical_co2": "Надкритичний CO₂, легований TiCl₄", + "material.tfg.flibe": "FLiBe", + "material.tfg.dirty_flibe": "Брудний FLiBe", + "material.tfg.hot_flibe": "Гарячий FLiBe", "material.tfg.glucose": "Глюкоза", "material.tfg.galactose": "Галактоза", "material.tfg.fructose": "Фруктоза", @@ -1309,6 +1420,14 @@ "material.tfg.chloroplasts": "Хлоропласти", "material.tfg.nitrate_rich_water": "Вода, багата на нітрати", "material.tfg.nitrate_rich_semiheavy_ammoniacal_water": "Вода, багата на нітрати, напівважка, аміачна", + "material.tfg.weak_red_steel": "Слабка червона сталь", + "material.tfg.weak_blue_steel": "Слабка Синя Сталь", + "material.tfg.refractory_clay": "Вогнетривка глина", + "material.tfg.bakelite": "Бакеліт", + "material.tfg.phenolic_resin": "Фенолова смола", + "material.tfg.magnesium_hydroxide": "Гідроксид магнію", + "material.tfg.magnesia_refractory_brick": "Вогнетривка цегла з магнезії, зв’язаної смолою", + "material.tfg.nichromium_iodomethylate": "Йодометилат ніхрому", "ore_vein.tfg.deep_sheldonite": "Шелдоніт і Борніт", "ore_vein.tfg.deep_garnet_amethyst": "Аметист і Гранат", "ore_vein.tfg.deep_garnet_opal": "Опал і Гранат", @@ -1470,9 +1589,9 @@ "entity.tfg.sniffer.male": "Сніффер", "entity.tfg.sniffer.female": "Сніффер", "tfg.tooltip.attribution.sniffer": "§9§oАвтор: Minecraft", - "entity.tfg.wraptor.male": "Враптор", - "entity.tfg.wraptor.female": "Враптор", - "tfg.tooltip.attribution.wraptor": "§9§oCredit: Species", + "entity.tfg.wraptor.male": "Раптор", + "entity.tfg.wraptor.female": "Раптор", + "tfg.tooltip.attribution.wraptor": "§9§oАвторство: Вид", "entity.tfg.surfer": "Серфер", "tfg.tooltip.surfer_variant.base": "Бірюзова шкіра", "tfg.tooltip.surfer_variant.bubble": "Шкіра з ягідного цвіту", @@ -1482,6 +1601,10 @@ "tfg.tooltip.surfer_variant.brain": "Шкіра Ґлаціан", "tfg.tooltip.attribution.surfer": "§9§oАвтор: Wan's Ancient Beasts", "entity.tfg.rnr_plow": "Візок для мощення", + "entity.tfg.tier_1_double_rocket": "Двомісна ракета з R-алюмінокріпленої сталі", + "entity.tfg.tier_2_double_rocket": "Двомісна ракета з титану ASM 4914", + "entity.tfg.tier_3_double_rocket": "Двомісна ракета з вольфрамової сталі 45-Ti", + "curios.identifier.face": "Обличчя", "effect.tfg.cooling": "§bОхолодження", "effect.tfg.warming": "§6Розігрів", "effect.tfg.instant_radiation": "Миттєве випромінювання", @@ -1517,7 +1640,7 @@ "trim_material.tfc.rutile_tfc": "Рутил", "trim_material.tfc.lazurite_tfc": "Лазурит", "trim_material.tfc.pyrope_tfc": "Піроп", - "trim_material.tfc.rock_salt_tfc": "Кам'яна Сіль", + "trim_material.tfc.rock_salt_tfc": "Сильвін", "trim_material.tfc.ruby_tfc": "Рубін", "trim_material.tfc.salt_tfc": "сіль", "trim_material.tfc.sapphire_tfc": "Сапфір", @@ -1615,7 +1738,7 @@ "tfg.tooltip.petrified_egg": "§7Потребує магми для інкубації", "tfg.tooltip.large_egg": "§7Може бути інкубовано лише у §oВеликому Гнізді", "tfg.tooltip.sniffer_wool": "§7Зібрано зі спини Нюхача", - "tfg.tooltip.wraptor_wool": "§7Зібрано з пір’я Враптора", + "tfg.tooltip.wraptor_wool": "§7Зібрано з пір’я Раптора", "tfg.tooltip.wraptor_sugar": "§7Не замислюйся над цим занадто", "tfg.tooltip.cooling_foods": "§bОхолоджує вас на: 2°C", "tfg.tooltip.cooling_foods_strong": "§bОхолоджує вас на: 10°C", @@ -1624,6 +1747,8 @@ "tfg.tooltip.hotornot_hot_equipment": "§7Забезпечує захист від усіх §6гарячих§7 предметів, рідин і труб.§r", "tfg.tooltip.hotornot_cold_equipment": "§7Забезпечує захист від усіх §bхолодних§7 предметів, рідин і труб.§r", "tfg.tooltip.hotornot_floating_equipment": "§7Забезпечує захист від усіх §eлегших за повітря§7 газів.§r", + "tfg.tooltip.polycaprolactam": "Також відомий як нейлон", + "tfg.tooltip.vessel_warning": "§cНагрівання переповненої посудини призведе до втрати надлишку і може зіпсувати ваше сплавлення!§r", "tfg.tooltip.machine.one_energy_hatch": "Приймає рівно §6Один§r енергетичний люк.", "tfg.tooltip.machine.two_energy_hatches": "Приймає до §6Двох§r енергетичних люків.", "tfg.tooltip.machine.subtick": "Ця машина підтримує §2Підтакт§r!", @@ -1653,25 +1778,20 @@ "tfg.tooltip.dna_syringe.explain": "Клацніть ПКМ по мобу, щоб отримати зразок ДНК. Розмістіть у сітці крафта, щоб очистити вміст.", "tfg.tooltip.shift_hint": "[Hold-Shift]", "tfg.tooltip.lab_equipment.part": "§7Точно вміщує: ", - "tfg.tooltip.lab_equipment.set": "\"§7Не містить круглодонної колби на 5000mB.\"", - "tfg.tooltip.lab_equipment.set_dirty": "\"§7Скоро ти можеш відкрити пеніцилін, якщо не прибереш це.\"", + "tfg.tooltip.lab_equipment.set": "§7Не містить круглодонної колби на 5000mB.", + "tfg.tooltip.lab_equipment.set_dirty": "§7Скоро ти можеш відкрити пеніцилін, якщо не прибереш це...", "tfg.tooltip.single_itemstack_bus.0": "§6Слоти для предметів: §f1", "tfg.tooltip.single_itemstack_bus.1": "§6Розмір стека: §f1", "tfg.tooltip.growth_chamber": "Ця машина може виконувати більше рецептів одночасно, збільшуючи кількість шарів.", "tfg.tooltip.wireless_card_1": "Дозволяє бездротові з’єднання на будь‑якій відстані, навіть з інших планет!", "tfg.tooltip.wireless_card_2": "Предмети все ще можна передавати через термінал, але з дуже високими витратами енергії.", "tfg.tooltip.wireless_card_3": "Використовуйте §dРейкотрон§r для своїх міжпланетних логістичних потреб.", - "tfg.tooltip.component.blue_ice": "Можна розмістити всередині реактора поділу, щоб підвищити максимальне тепло на §90.5§r", - "tfg.tooltip.component.aes_insulation_frame": "Можна розмістити всередині реактора поділу, щоб підвищити максимальне тепло на §91§r", - "tfg.tooltip.component.glacian_fur": "Можна розмістити всередині реактора поділу, щоб підвищити максимальне тепло на §92§r", - "tfg.tooltip.component.impure_moderate_core_frame": "Можна розмістити всередині реактора поділу, щоб підвищити максимальне тепло на §95§r", - "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 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.tooltip.show_recipes": "Показати рецепти", + "emi.category.tfg.artisan_table": "Ремісничий стіл", "tfg.gui.refrigerator.unify_dates.enabled": "Уніфікація дати закінчення: §aУвімкнено", "tfg.gui.refrigerator.unify_dates.disabled": "Уніфікація дати закінчення: §cВимкнено", "tfg.machine.food_refrigerator_power_usage": "§7Споживає§r %s EU/t §7під час роботи, щоб зберігати вашу їжу свіжою.§r", @@ -1703,6 +1823,23 @@ "tfg.gui.cycle_duration": "Тривалість циклу: ", "tfg.emi.bacon_requirement": "Бекон — Сиру свинину спершу потрібно закоптити", "tag.item.tfg.dried_fruit": "Сухофрукт", + "tfg.clientmessage.spatialioblocked.claimedchunks": "Просторовий ввід/вивід заблоковано: Регіон містить чанки, заявлені іншою командою", + "tfg.nuclear.average_heat.text": "Тепло: Від %s до %s", + "tfg.nuclear.skip": "", + "tfg.machine.aux_exchanger.heat.title": "=== Інформація про тепло ===", + "tfg.machine.aux_exchanger.recipe_temperature": "Температура рецепту: ", + "tfg.machine.aux_exchanger.recipe_temperature.desc": "Температура, необхідна для цього рецепту", + "tfg.machine.aux_exchanger.battery_temperature": "Температура акумулятора: ", + "tfg.machine.aux_exchanger.battery_temperature.desc": "Поточна температура теплової батареї", + "tfg.machine.aux_exchanger.hu_consumed": "HU спожито: ", + "tfg.machine.aux_exchanger.hu_consumed.desc": "Одиниці тепла, спожиті за цикл рецепту", + "tfg.machine.aux_exchanger.total_hu": "Загалом HU доступно: ", + "tfg.machine.aux_exchanger.total_hu.desc": "Загальна кількість теплових одиниць, збережених у тепловій батареї", + "tfg.machine.aux_exchanger.speed_modifier": "Модифікатор швидкості: ", + "tfg.machine.aux_exchanger.speed_modifier.desc": "Швидкість рецепту на основі температури акумулятора", + "tfg.machine.aux_exchanger.heat_unavailable": "Інформація про тепло недоступна", + "tfg.machine.aux_echanger.output.title": "=== Вивід ===", + "tfg.multiblock.turbine.obstructed": "Ваша турбіна заблокована, перевірте під та всередині димоходу, щоб переконатися, що нічого не заважає", "tfc.jei.flint_knapping": "Обробка Кременю", "tfc.jei.straw_knapping": "Вибивання Соломи", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Фарбування", @@ -1769,6 +1906,7 @@ "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.clay_ball": "Зволожувальна глина", "tfc.recipe.barrel.tfg.barrel.light_concrete": "Затверділий бетон", "tfc.recipe.barrel.tfg.barrel.reinforced_light_concrete_support": "Затверділий бетон", "tfc.recipe.barrel.tfg.barrel.dark_concrete": "Фарбування", @@ -1830,6 +1968,26 @@ "tfg.grapplemod.downgrades.vertical_throwing_angle": "Зменшує §lВертикальний Кут Кидка§r гака з 5°, до 0°.", "tfg.grapplemod.upgrades.angle": "Збільшує §lГоризонтальний Кут Кидка§r для подвійних гаків з 5°, до 90°. \nДоступно лише за умови встановлення §lПодвійного Гака§r.", "tfg.grapplemod.downgrades.angle": "Зменшує §lГоризонтальний Кут Кидка§r для подвійних гаків з 5°, до 5°°. \nДоступно лише за умови встановлення §lПодвійного Гака§r.", + "tfg.tooltip.machine.fission_reactor_mk1_1": "§7Сила атома§r", + "tfg.tooltip.machine.fission_reactor_mk1_2": "§7Налаштовуваний реактор поділу, додавайте кращі компоненти, обробляйте стрижні та матеріали й слідкуйте за його температурою.§r", + "tfg.tooltip.machine.smt_1": "§eВиробництво енергії:§r Від 2048 до 32768 EU/t", + "tfg.tooltip.machine.smt_2": "§7Потребує мастила для роботи та може збільшити вихід енергії за допомогою прискорювача.§r", + "tfg.tooltip.machine.smt_3": "§7Приймає лише§r SMT Вхідний Люк §7для подачі рідин.§r", + "tfg.tooltip.machine.small_fission_reactor_mk1_1": "§7Сила атома, але менша§r", + "tfg.tooltip.machine.small_fission_reactor_mk1_2": "§7Може обробляти лише§r Стержень Америцію 241§7 з§r Надкритичним CO₂, легованим TiCl₄", + "tfg.tooltip.machine.heat_battery_1": "§7Воно зберігає тепло§r", + "tfg.tooltip.machine.heat_battery_2": "§7Підвищуйте його температуру, подаючи гарячі рідини, та використовуйте тепло для кип’ятіння інших рідин або виконання рецептів в OLA.§r", + "tfg.tooltip.machine.heat_battery_3": "§7Щоб передати тепло до Острумієвого Лінійного Прискорювача, розташуйте§r Порт Тепла§7 та§r Вхідний Люк Тепла§7 так, щоб вони були спрямовані один до одного.§r", + "tfg.tooltip.machine.smr_fluid_import_hatch": "§7Може використовуватися лише в Малій Модульній Турбіні§r", + "tfg.tooltip.component.blue_ice": "Може бути розміщений всередині Реактора Поділу для збільшення максимальної температури на §90.5§r", + "tfg.tooltip.component.aes_insulation_frame": "Може бути розміщений всередині Реактора Поділу для збільшення максимальної температури на §91§r", + "tfg.tooltip.component.glacian_fur": "Може бути розміщений всередині Реактора Поділу для збільшення максимальної температури на §92§r", + "tfg.tooltip.component.impure_moderate_core_frame": "Може бути розміщений всередині Реактора Поділу для збільшення максимальної температури на §95§r", + "tfg.tooltip.component.moderate_core_frame": "Може бути розміщений всередині Реактора Поділу для збільшення максимальної температури на §910§r", + "tfg.tooltip.component.dry_ice": "Може використовуватися як вхід у Реакторі Поділу для його охолодження, потребує Тримача Матеріалу", + "tfg.tooltip.component.refrigerant_pellet": "Може використовуватися як вхід у Реакторі Поділу для його охолодження, потребує Тримача Матеріалу", + "tfg.tooltip.component.sandy_copper_frame": "Може бути розміщений всередині Теплової Батареї для збільшення її здатності до зберігання", + "tfg.tooltip.component.sandy_beryllium_frame": "Може бути розміщений всередині Теплової Батареї для збільшення її здатності до зберігання", "quests.ae2": "Applied Energistics 2", "quests.ae2.subtitle": "Найпотужніший інструмент, що допоможе тобі з GregTech, відкривається після твоєї першої подорожі на Місяць", "quests.ae2.certus_quartz.title": "Істинний кварц", @@ -1864,13 +2022,14 @@ "quests.ae2.ae_guide.title": "Вітаємо в AE2", "quests.ae2.ae_guide.subtitle": "Ще одна безкоштовна книжка для твоєї колекції!", "quests.ae2.ae_guide.desc": "Ось ти і готовий розпочати свою &bAE2&r-інфраструктуру!\n\nЦей розділ переважно пояснює, що ти вже можеш створити, а що — ще ні.\nМи також виділимо найважливіші предмети, на які варто звернути увагу.\n\nОднак, щоб повністю розібратися з Applied Energistics 2, наполегливо радимо скористатися клавішею &bG&r (аналог системи Ponder з Create) або відкрити &bME Guide&r, яку ти отримаєш як нагороду за це завдання. Це найкращий внутрішньоігровий довідник для AE2. Альтернатива — переглянути онлайн-відео про AE2 для версії &61.20.1&r, де знайдеш детальні пояснення — AE2 надзвичайно популярний мод, тому тут безліч гайдів!\n\n&dПорада&r: Багато рецептів з &bAE2&r мають дешевші альтернативи для Місяця. Тож інвестиції в місячну базу щедро окупляться протягом усієї гри.", - "quests.ae2.hv.title": "HV-рівень AE2", + "quests.ae2.hv.title": "HV рівень AE2", "quests.ae2.hv.desc": "Уся ця гілка повністю доступна для розблокування на &6HV&r!", "quests.ae2.ae_controller.subtitle": "Серце вашої ME мережі", "quests.ae2.ae_controller.desc": "Щоб розпочати, вам потрібно підживити вашу &bME Мережу&r. Ось два &bAE2&r блоки, які можуть безпосередньо приймати енергію &bEU&r.\n\nМи наполегливо рекомендуємо виготовити &bME Контролер&r, оскільки у TerraFirmaGreg &bканали&r увімкнені, а &bME Контролер&r — найзручніший спосіб ефективно керувати кількома каналами одночасно.\n\nЦе також чудова нагода скористатися вбудованим гайдом у грі (натисніть &aU&r на &bME Controller&r) або подивитися кілька відео про &bAE2&r версії 1.20.1, щоб дізнатися більше!", "quests.ae2.drive.subtitle": "Мозок мережі", "quests.ae2.drive.desc": "Вам потрібно зберігати ваші диски, і завдяки додатку &bMEGA&r у вас з’явилася додаткова опція.\n\nРекомендується почати з &bME Дископриймач&r. Він може зберігати до &e10&r дисків і споживає &e4 EU/t&r. Це буде ваше основне сховище.\n\nІнший варіант — &bДок диска ME&r. Він зберігає лише &e1&r диск, але споживає всього &e1 EU/t&r, і його можна розмістити прямо на кабелі, як кришку. Це робить його дуже корисним для &aПідмережі&r.", - "quests.ae2.cell_housing.desc": "&bКорпус комірки Me&r існує у двох версіях: одна для &aпредметів&r і одна для &9рідини&r.\n\nВи можете витягнути їхній Компонент сховища за допомогою &eПакувальника&r або просто натиснувши Shift + правий клац, тримаючи комірку для зберігання у руці.", + "quests.ae2.cell_housing.desc": "&bКорпус комірки ME&r існує у двох версіях: одна для &aпредметів&r і одна для &9рідини&r.\n\nВи можете витягнути їхній Компонент сховища за допомогою &eПакувальника&r або просто натиснувши Shift + правий клац, тримаючи комірку для зберігання у руці.", + "quests.ae2.cables.title": "Кабелі флюїкс", "quests.ae2.cables.subtitle": "Артерії мережі", "quests.ae2.cables.desc": "Ваші базові кабелі для підключення &bAE2&r інфраструктури.\n\nПам’ятайте, що звичайні кабелі пропускають лише &e8 каналів&r, тоді як &6Щільні кабелі&r можуть пропускати до &a32 каналів&r.\n\nХороша новина: у &2TFG&r ви можете безпосередньо виготовити &9Розумні кабелі&r! Вони дуже корисні, оскільки показують &eвізуальний індикатор&r кількості використаних каналів.", "quests.ae2.terminals.subtitle": "Емм... пальцем? в мережу?", @@ -1878,8 +2037,10 @@ "quests.ae2.molecular_assembler.desc": "&9Молекулярний Збирач&r — це, по суті, ваш стіл для автокрафту.\n\nВи можете використовувати його для пасивного крафту або поєднати з &9Постачальником шаблонів&r.\n\nЯк завжди, перегляньте ігровий довідник за допомогою &eG&r, щоб дізнатися більше.", "quests.ae2.crafting_unit.subtitle": "Другий? мозок мережі", "quests.ae2.crafting_unit.desc": "&dБлок крафту&r працює так само, як і ваш &bКорпус ME Капсули&r.\n\nВикористайте &6Пакувальник&r, щоб зробити його функціональним — сам по собі він не має призначення, хоча й може використовуватися для складання мультиблоків.\n\nЦе обов’язкова структура для запуску автокрафту в &bAE2&r.\n\nЯк завжди, скористайтеся ігровим довідником з &bAE2&r, щоб дізнатися більше про &dПроцесор крафту&r.", + "quests.ae2.crafting_storage.title": "Сховище для крафту", "quests.ae2.crafting_storage.desc": "Вони обов’язкові для будь-якого автокрафту — що більший обсяг сховища, то довший ланцюжок рецептів можна виконати одним запитом. Також можна розміщувати кілька таких блоків поруч, щоб підсумувати їхній обсяг пам’яті.\n\nСкористайтеся ігровим довідником для докладних пояснень — він розкаже все значно краще, ніж ми змогли б у квесті.\n\nПриділіть час читанню: це чудове джерело інформації!", "quests.ae2.crafting_storage.task": "Будь-яке сховище складання", + "quests.ae2.pattern_provider.title": "Постачальник шаблонів ME", "quests.ae2.pattern_provider.subtitle": "Вони вказують вашим машинам, як складати речі", "quests.ae2.pattern_provider.desc": "&9Постачальник Шаблонів&r — сучасний блок &bAE2&r. Якщо ви знайомі лише з AE2 у попередніх версіях Minecraft, це той блок, у який тепер поміщають шаблони замість Інтерфейсу.\n\nВін може відправляти предмети до підключеного сховища за запитом крафту, а повернення предметів назад у нього надсилає їх до вашого ME сховища.\n\nЯкщо ви підключаєте його до ваших машин GregTech, обов’язково оберіть опцію «Дозволити ввід з вихідної сторони», щоб можна було одночасно вводити й виводити предмети з одного боку!\n\nЯк завжди, перегляньте ігровий довідник за допомогою &eG&r, щоб дізнатися більше про нього.", "quests.ae2.pattern_provider.task": "Будь-який Постачальник шаблонів", @@ -1887,9 +2048,10 @@ "quests.ae2.pattern.desc": "Кожен із цих блоків повідомляє вашій ME системі, як створювати конкретний предмет. Вам потрібен один для кожного рецепту, тож варто дбати про найбільш ефективний спосіб їх виготовлення.\n\nЩоб очистити шаблон, просто затисніть Shift і клацніть правою кнопкою миші.\n\nДля повної інформації про використання скористайтеся ігровим довідником, і не забудьте встановити тип шаблону на «Обробка», якщо рецепти призначені для машин GregTech.", "quests.ae2.interface.subtitle": "Я відмовляюся від аналогії з частинами тіла", "quests.ae2.interface.desc": "&dME Інтерфейс&r — один із ваших основних інструментів для отримання предметів чи рідин з мережі або для їх внесення.\n\nЯкщо ви користувалися AE2 лише в старих версіях Minecraft, зараз ці блоки лише пасивно надають вміст мережі для інших блоків, щоб ті могли його забирати, і не відправляють нічого активно та не зберігають шаблони. Для цього потрібен Постачальник шаблонів.\n\nME Інтерфейс може виконувати забагато функцій, щоб перераховувати їх усі тут, тому перегляньте ігровий довідник за допомогою &eG&r для детальнішої інформації.", - "quests.ae2.interface_automation.title": "Автоматизація Інтерфейсу", + "quests.ae2.interface_automation.title": "Інтерфейс автоматизації", "quests.ae2.interface_automation.desc": "Найкращий спосіб пасивно переміщати предмети та рідини по вашій базі — через &bME Інтерфейс&r. Оскільки Інтерфейси не відправляють свій вміст, вам потрібно встановити покриття на вашу машину або трубу.\n\nНе забудьте ввімкнути опцію &eДозволити ввід&r на вихідній стороні у GUI машини GregTech, щоб одночасно здійснювати ввід і вивід з одного боку.\n\nВикористання фільтрів на покриттях також може бути зручним для кількох машин, щоб вони забирали предмети з одного Інтерфейсу.\n\nЩоб уникнути переповнення слотів вводу предметів у машині, потрібно використовувати покриття Robot Arm у режимі &eЗберігати точно&r разом із фільтром.\n\nДля вводу рідин цієї проблеми немає — слот заповнюється автоматично лише один раз.", "quests.ae2.crafting_accelerator.desc": "Просто скористайтеся ігровим довідником — він пояснить усе набагато краще, ніж ми змогли б у квесті.\n\nПриділіть час читанню, це чудове джерело інформації!", + "quests.ae2.export_bus.title": "Вивідний шлюз", "quests.ae2.export_bus.desc": "&dME Вивідний Шлюз&r — потужний інструмент для виведення предметів або рідин із вашої &dME мережі&r.\nЯк тільки ви зможете їх виготовляти, особливо зверніть увагу на &eExtendedAE&r версії, адже вони можуть сильно допомогти в автоматизації.\n\n&cВажлива заувага&r: ці блоки значно більше впливають на &4TPS&r порівняно з ME Інтерфейсами, тому краще використовувати їх економно.", "quests.ae2.export_bus.task": "Будь-який Вивідний Шлюз", "quests.ae2.import_bus.desc": "&dME Ввідний Шлюз&r — один зі способів занести предмети та рідини у вашу &dME мережу&r. Ви також можете просто надсилати предмети та рідини в Інтерфейс або Постачальник шаблонів для того самого результату, тож Ввідні Шлюзи більш нішеві.\n\n&cВажлива заувага&r: ці блоки значно більше впливають на &4TPS&r порівняно з ME Інтерфейсами, тому краще використовувати їх економно.", @@ -1918,12 +2080,14 @@ "quests.ae2.universal_circuits.title": "Універсальні схеми", "quests.ae2.universal_circuits.subtitle": "О, так ось для чого вони потрібні!", "quests.ae2.universal_circuits.desc": "Колись замислювався, для чого потрібні універсальні схеми? Окрім гарних іконок для квестів, вони головним чином використовуються в AE2! \n\nAE2 погано працює з тегами предметів у шаблонах, тому універсальні схеми створені для використання в будь-яких шаблонах, де потрібні схеми. Таким чином, коли ти відкриваєш новий тип схеми, достатньо додати лише один шаблон для перетворення нової схеми на універсальну, замість того щоб оновлювати &oвсі&r старі шаблони!", + "quests.ae2.stock_bridge.title": "Місток запасів AE", + "quests.ae2.stock_bridge.desc": "Якщо ви багато інвестували у логістичну мережу Create, то можете зневіритися від думки про необхідність усе це розібрати, щоб замінити на AE2. &bМісток запасів&r виступає містком між вашою мережею ME та мережею Create. Перегляньте його Ponder, щоб дізнатися, як налаштувати.\n\nМи все ж рекомендуємо з часом перенести старі налаштування на AE2, головним чином тому, що вона значно менше впливає на гру.", "quests.ae2.iv.title": "AE2 рівня IV", "quests.ae2.iv.desc": "Уся ця гілка стане повністю доступною, щойно ти досягнеш &1IV&r.", "quests.ae2.accumulation_press.desc": "Щоб отримати &eНовий прес інскрайбера&r, доведеться трохи вкластися.\n\nСпершу онови свій компресор імплозії, встановивши &5два енергетичні люки EV&r.\n\nПотім придбай новий лазерний гравер рівня IV, якщо в тебе його ще немає.\n\nІ нарешті, підготуй багато промислового TNT — це &cєдиний варіант, що працює&r для цього процесу.\n\nПлануй уважно, адже цей етап доволі вимогливий!", "quests.ae2.accumulation_processor.desc": "&eАкумуляційний Процесор&r вимагатиме велику кількість Кремнію для кожного крафту.\n\nСподіваємось, у тебе вже є виділений ЕДП, що виробляє Кремній, або принаймні потужна інфраструктура для його швидкого виготовлення.\n\nГотуйся заздалегідь, адже тобі знадобиться його чимало!", "quests.ae2.mega_crafting.desc": "Це чудове покращення для твого &bКрафтового CPU&r.\n\nВони допоможуть прискорити автокрафт і дозволять легко обробляти більші завдання.", - "quests.ae2.mega_battery.desc": "&ebБільша батарея&r для більшої мережі. І більше тут додати нічого!", + "quests.ae2.mega_battery.desc": "&eБільша батарея&r для більшої мережі. І більше тут додати нічого!", "quests.ae2.extended_pattern_access.desc": "&eРозширений Шаблонний Термінал&r — чудове оновлення для зручнішого керування всіма вашими шаблонами.\n\nВи отримаєте &6більше параметрів пошуку&r для своїх шаблонів, і зважаючи на те, скільки їх у вас тепер має бути, це стане величезним покращенням якості життя.\n\nСтворіть «оновлену» версію, щоб просто присісти та клацнути ПКМ по вашим наявним постачальникам шаблонів і оновити їх без потреби діставати всі шаблони.", "quests.ae2.extended_pattern_access.task": "Або саму деталь, або покращення", "quests.ae2.extended_interface.desc": "Ось вони — ваші збільшені &bІнтерфейси&r з оновленням, тож навіть не доведеться від’єднувати їх для оновлення.\n\nВи будете дуже задоволені ними!", @@ -2012,7 +2176,7 @@ "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.item.any": "Будь-який із цих предметів:", "quests.tasktype.lookat": "Погляньте на:", "quests.tasktype.travelto": "Подорожуйте до:", "quests.groups.primitive": "Примітивна Епоха", @@ -2062,7 +2226,7 @@ "quests.create_logistics.fabricate_rose_quartz.desc": "Оскільки високорівнева логістика не є критичною для просування, ти можеш відкласти виготовлення Лінзи до етапу &bMV&r, коли зможеш зробити це вдома. &dРожевий кварц&r можна кристалізувати з його порошкової форми (суміш 8 частин редстоуну та 1 частини кварцу з Незеру) за допомогою &bВдосконаленого &3Автоклава&r, замінивши звичайну (дистильовану) воду на &bКрижану воду&r, щоб імітувати природні умови. Так само, на рівні &bMV&r саму &dЛінзу з рожевого кварцу&r можна вирізати з &dПластини рожевого кварцу&r, яку, своєю чергою, потрібно виготовити з повного блока кварцу (оскільки це пластина з самоцвіту, її слід обробляти в &3Різаку&r).", "quests.create_logistics.rose_quartz_lens.title": "Рожеві окуляри", "quests.create_logistics.rose_quartz_lens.subtitle": "ПЛО (Потрібен Лише Один)", - "quests.create_logistics.rose_quartz_lens.desc": "Яким би способом ти не здобув потрібні матеріали, для створення Лінзи тобі знадобиться &3Токарний верстат&r. &7Базового &3Токарного верстата&r буде достатньо, щоб виготовити лінзу з &dВишуканого рожевого кварцу&r, але якщо ти хочеш зробити її зі звичайної пластини, знадобиться краща техніка — &bВдосконалений &3Токарний верстат&r.\n\nЩойно лінза буде готова, її можна використати в &7Базовому &3Лазерному гравері&r разом із &dПодвійною пластиною з червоного сплаву&r для створення модуля &dПередавача&r — і при цьому лінза не буде витрачена.", + "quests.create_logistics.rose_quartz_lens.desc": "Яким би способом ви не здобули потрібні матеріали, вам знадобиться &3Токар&r, щоб фактично створити лінзу. &7Базовий &3Токар&r буде достатнім для виготовлення лінзи з &dВишуканого рожевого кварцу&r, але якщо ви хочете зробити лінзу лише з пластини, вам знадобиться краща техніка у вигляді &bВдосконаленого &3Токаря&r.\n\nПісля того як ви її створите, лінзу можна використати у &7Базовому &3Лазерному гравері&r разом із &dПодвійною пластиною з червоного сплаву&r для створення блоку &dПередавача&r, і при цьому вона не буде витрачена.", "quests.create_logistics.stock_link.title": "Посилання на запаси", "quests.create_logistics.stock_link.subtitle": "У нас є шини зберігання вдома", "quests.create_logistics.stock_link.desc": "Першою машиною з &2Високої логістики&r, яку ти можеш створити, є &3Зв’язок із запасами&r (Stock Link) — він дозволяє створити &dЛогістичну мережу&r. Якщо розмістити його на будь-якому боці &3Упаковника&r, він &aЗробить інвентар, до якого підключено Упаковник, видимим для мережі&r! Сам по собі Зв’язок не надто корисний, але він є ключовим компонентом усіх майбутніх машин...\n\nНе забудь клацнути Пкм по вже існуючому Зв’язку перед тим, як розмістити новий — це налаштує їх на спільну мережу. Щоб скинути налаштування, просто скрафти Зв’язок окремо — це очистить його прив’язку.", @@ -2167,6 +2331,7 @@ "quests.extreme_voltage.t2_rocket.title": "Ракета 2: Титанова буґалу", "quests.extreme_voltage.t2_rocket.subtitle": "Цей — фіолетовий", "quests.extreme_voltage.t2_rocket.desc": "Цю нову ракету не має бути надто складно зібрати, але ти помітиш явне зростання витрат матеріалів порівняно з попередньою моделлю.\n\nОновлені &6Ракетні сплави&r тепер потребують як &bДистильовану воду&r, так і &bКріогенізований флюікс&r для охолодження.\n\nПереконайся, що твоя виробнича лінія &eТитану&r повністю налагоджена, адже тобі знадобиться його дуже багато! Безперервне виробництво зекономить тобі чимало нервів у майбутньому.", + "quests.extreme_voltage.t2_rocket.task": "Будь-яка ракета", "quests.extreme_voltage.mars.title": "Я на &4Марсі&r!", "quests.extreme_voltage.mars.subtitle": "Червона планета", "quests.extreme_voltage.mars.desc.1": "Перш ніж висадитися на &4Марс&r, варто пам’ятати кілька важливих речей. \n\nПо‑перше, як і на Місяці, на &4Марсі&r також будуть ворожі істоти на поверхні. Якщо ви ще не з’ясували, як зробити так, щоб ваш Космічний костюм залишався з вами після смерті, або не інвестували в нову зброю рівня EV, вам буде нелегко. \n\nПланета здебільшого є &eпустельним світом&r, усіяним «&aостровами&r», де можна знайти &bводу&r, багату фауну та значно безпечніші місця для побудови першої бази. \nТим часом відкрита пустеля надзвичайно небезпечна, якщо не стежити за кожним кроком, але саме там містяться й інші важливі ресурси!", @@ -2188,11 +2353,11 @@ "quests.extreme_voltage.reactor_components.desc.2": "Як уже обговорювалося раніше, використання трьох &eТорієвих стрижнів&r підніме температуру вашого реактора приблизно до &c420&r, що трохи перевищує стандартний ліміт. Однак ви можете безпечно досягти цього порогу, покращивши &6ізоляцію реактора&r. \n\nДодавання &e10 Каркасних льодових вовняних блоків&r або &e20 Каркасних блоків ізоляції AES&r усередині конструкції підвищить максимальну температуру реактора до &e420&r, дозволяючи працювати з трьома Торієвими стрижнями без переходу в режим охолодження. \n\nМайте на увазі, що збільшення кількості активних стрижнів також прискорює їх &aзношування&r. Це означає, що кожен стрижень у середньому вироблятиме менше пари за тик, знижуючи його &aефективність&r, але водночас це &bзначно прискорить виробництво матеріалів поділу&r. \n\nЧи віддасте ви перевагу &aефективності&r чи &bпропускній здатності&r — повністю залежить від вас. Саме цей баланс і є серцевиною майстерності роботи з &6Ядерним реактором&r.", "quests.extreme_voltage.heat_exchanger.title": "Теплообмінник", "quests.extreme_voltage.heat_exchanger.subtitle": "Усе це тепло ж має кудись діватися!", - "quests.extreme_voltage.heat_exchanger.desc.1": "&6Теплообмінник&r — це критично важливий компонент наступного етапу вашої Лінії поділу: він потрібен не лише для охолодження, а й для виробництва більшої кількості &eПари високого тиску&r, яка живить вашу Ядерну турбіну. \n\nВін підтримує &bІдеальний розгін&r та &bСубтакт обробку&r. Якщо ці терміни вам незнайомі, настійно рекомендуємо переглянути розділ &dЕнергетика GregTech&r, щоб повністю зрозуміти, як вони впливають на продуктивність.", + "quests.extreme_voltage.heat_exchanger.desc.1": "&6Теплообмінник&r є критичним компонентом для наступного етапу твоєї лінії поділу — не лише для охолодження, але й для виробництва більшої кількості &eПари високого тиску&r, яка живить твою ядерну турбіну. Ми наполегливо радимо використовувати один для кожного реактора, адже їм може бути важко обробляти різні рецепти.\n\nВін має &bІдеальне розгін&r та &bСубтакову обробку&r. Якщо ці терміни здаються незнайомими, ми настійно рекомендуємо переглянути &dРозділ про енергію GregTech&r, щоб повністю зрозуміти, як вони впливають на продуктивність.", "quests.extreme_voltage.heat_exchanger.desc.2": "Не стримуйтеся! Встановіть &516A EV Енергетичний люк&r від самого початку, щоб ніколи не перейматися обмеженнями швидкості чи пропускної здатності. \n\nМи також надаємо вам &9Контролер машини&r, який слід під’єднати до головного контролера вашого Теплообмінника. Ми помітили, що машина іноді може несподівано вимикатися, тож обов’язково увімкніть параметр &eЗапобігання збоїв живлення&r. Це нейтралізує механіку GregTech, яка вимикає машини при короткочасній втраті енергії.", "quests.extreme_voltage.refrigerant_pellet.title": "Охолоджувальні гранули", "quests.extreme_voltage.refrigerant_pellet.subtitle": "Тимчасове рішення для екстремальних температур", - "quests.extreme_voltage.refrigerant_pellet.desc": "&eПлутонієвий паливний стрижень&r працює при надзвичайно високих температурах — настільки високих, що вам доведеться використовувати &bОхолоджувальні пелети&r усередині реактора, аби запобігти переходу в режим охолодження. \n\nЦі пелети досить дорогі у виробництві, але ви все ж зможете налагодити їх масове виготовлення на ранньому етапі — або принаймні достатньо, щоб підтримувати роботу перших кількох плутонієвих стрижнів. Для повного циклу одного Плутонієвого стрижня потрібно приблизно &9256&r. \n\nПізніше, якщо вам не подобається постійно крафтити ці витратні матеріали, ви отримаєте доступ до &6покращених компонентів реактора&r. З ними ваш реактор зможе безпечно досягати &e600 Макс. тепла&r, що значно підвищить ефективність і стабільність. \n\nІнвестуйте в кращі внутрішні частини заздалегідь, щоб витрачати менше часу на «нянькування» вашого енергетичного ядра.", + "quests.extreme_voltage.refrigerant_pellet.desc": "&dПаливний стрижень з плутонію&r працює при надзвичайно високих температурах — настільки високих, що тобі доведеться використовувати &bTerraFirmaGuard PA6&r всередині реактора, щоб запобігти переходу в режим охолодження.\n\nЦі гранули досить дорогі у виробництві, але ти все ж зможеш налагодити їх масове виробництво на ранньому етапі, або принаймні достатньо, щоб підтримувати роботу перших кількох плутонієвих стрижнів. Для повного паливного стрижня потрібно приблизно &9256&r.\n\nПізніше, якщо тобі не подобається постійно виготовляти ці витратні матеріали, ти отримаєш доступ до &6вдосконалених компонентів реактора&r. З ними твій реактор зможе безпечно досягати &e600 Макс. тепла&r, значно підвищуючи ефективність і стабільність.\n\nІнвестуй у кращі внутрішні частини на ранньому етапі, щоб витрачати менше часу на постійний нагляд за енергетичним ядром.", "quests.extreme_voltage.important_info.title": "Перш ніж почати", "quests.extreme_voltage.important_info.subtitle": "Не найпростіше місце для початку", "quests.extreme_voltage.important_info.desc.1": "Перш ніж почати будувати свою базу на &cМарсі&r, ось кілька важливих порад, які допоможуть успішно облаштуватися.&r \n\nПерш ніж створювати цілу базу, щоб носити її в кишені, ми завжди рекомендуємо провести розвідувальну місію, перш ніж почати облаштовуватися!", @@ -2207,16 +2372,17 @@ "quests.extreme_voltage.thorium_rod.desc.1": "Кожен &6Паливний стрижень&r має власний набір характеристик, зокрема &aміцність&r (тривалість роботи в реакторі), &cтепловиділення&r (кількість тепла, яке він виробляє), а також різні &eпродукти&r та рівні &bвироблення пари&r. Усе це можна переглянути безпосередньо у вкладках &aEMI&r для кожного стрижня.&r\n\nПерш ніж занурюватися в принцип роботи Реактора поділу, ось кілька ключових моментів, які варто зрозуміти:&r", "quests.extreme_voltage.thorium_rod.desc.2": "• Показник &eВідсотка тепла&r, відображений на паливному стрижні, перетворюється у реакторі на трохи менше ніж подвоєне значення. \nНаприклад, &eТорієвий стрижень&r із &cТеплом&r 70%% генеруватиме трохи менше ніж 140 тепла, якщо в реактор буде закачано достатньо &bВажкої води&r. \nЦе підвищення тепла є &aадитивним&r, тобто 2 Торієвих стрижні піднімуть загальне тепло реактора приблизно до 280.&r", "quests.extreme_voltage.thorium_rod.desc.3": "• &aМіцність&r зменшується з однаковою базовою швидкістю для всіх стрижнів. \nОднак чим вища температура реактора, тим швидше стрижні зношуються. \nЧерез це, навіть якщо певний тип стрижня має у 4× більшу міцність за інший, це не обов’язково означає, що він прослужить у 4× довше, адже &cтемпература безпосередньо впливає на тривалість служби&r.&r \n\nБалансування кількості стрижнів у реакторі стане вашим першим викликом у роботі з поділом.", + "quests.extreme_voltage.thorium_rod.desc.4": "• &6Середнє тепло&r — це просто середня температура реактора, поки стрижень знаходився всередині. Залежно від цього &lзначення середнього тепла&r, виснажений стрижень дасть &bрізні вихідні продукти&r.\n\nТи можеш переглянути &bEMI&r, щоб побачити можливі результати та дізнатися точно, що кожен виснажений стрижень виробляє при певних діапазонах температур.", "quests.extreme_voltage.fission_reactor.title": "Реактор поділу", "quests.extreme_voltage.fission_reactor.subtitle": "О ні, він знову перейшов у режим охолодження", "quests.extreme_voltage.fission_reactor.desc.1": "Для початку, якщо ви шукаєте глибше занурення в механіку &6Ядерного реактора&r, включно з формулами, детальними розрахунками та поведінкою системи, ознайомтеся із завданням у розділі &aЕнергетика GregTech&r. Там ви знайдете все необхідне, якщо хочете розібратися в математиці, що стоїть за системами тепла та ефективності.&r \n\nА зараз зосередимося на вашому першому &6Торієвому реакторі&r. Його базове &cМакс. тепло&r становить &e400&r. Як пояснювалося в попередньому завданні, робота з двома Торієвими стрижнями підніме внутрішнє тепло приблизно до &e280&r, що є цілком безпечним. Однак додавання третього стрижня підніме загальне тепло приблизно до &c420&r, перевищуючи ліміт і запускаючи &cрежим охолодження&r.", - "quests.extreme_voltage.fission_reactor.desc.2": "Не хвилюйтеся, вибуху не буде, але ваш реактор вимкнеться і не перезапуститься, доки повністю не охолоне до 0 тепла. Це повністю зупинить як &aвиробництво енергії&r, так і генерацію &aпродуктів поділу&r — серйозний відкат. \n\nКерування кількістю активних стрижнів стане вашим першим &6викликом&r і головною «міні‑грою» у роботі з поділом. \n\nЄ кілька способів підійти до цього, і експерименти — частина задоволення. \n\nОдин зі способів — під’єднати до реактора &6Редстоун порт&r і, використовуючи &aГайковий ключ&r, перемикати його режим моніторингу між &eкількістю стрижнів&r та &cрівнем тепла&r. \n\nНарешті, майте на увазі, що всі стрижні зберігаються всередині &6Тримача палива&r. Це означає, що обмеження кількості активних стрижнів — це не просто покласти 2 стрижні у вхідний буфер, &cвам доведеться контролювати, що саме потрапляє у Вхідний буфер&r, щоб точно налаштувати роботу реактора.", + "quests.extreme_voltage.fission_reactor.desc.2": "Не хвилюйся, вибуху не буде, але твій реактор вимкнеться і не запуститься знову, доки повністю не охолоне до 0. Це повністю зупинить як &aвиробництво енергії&r, так і &aгенерацію продуктів поділу&r — серйозний відкат.\n\nТакож май на увазі, що кожного разу, коли реактор переходить у режим охолодження, кожен паливний стрижень всередині отримує &c10 000 тепла&r, що може призвести до надзвичайно поганих результатів або навіть катастрофічних втрат. Будь дуже обережним, адже цього потрібно будь-що уникати.\n\nКерування кількістю активних стрижнів буде твоїм першим &6викликом&r і головною міні-грою поділу.\n\nЄ кілька способів підійти до цього, і експерименти — частина розваги.\n\nОдин зі способів — приєднати до реактора &6Порт редстоуну&r і використати на ньому &aГайковий ключ&r, щоб перемикати режим моніторингу між &eкількістю стрижнів&r та &cрівнем тепла&r.\n\nНарешті, зауваж, що всі стрижні зберігаються всередині &6Тримача палива&r. Це означає, що обмеження кількості активних стрижнів — це не просто наявність 2 стрижнів у вхідному блоці, &cтобі потрібно контролювати, що потрапляє у Вхідний блок&r, щоб точно налаштовувати роботу реактора.", "quests.extreme_voltage.high_pressure_steam.title": "Пара високого тиску", "quests.extreme_voltage.high_pressure_steam.subtitle": "Краща пара, більша турбіна", "quests.extreme_voltage.high_pressure_steam.desc": "&4Важлива інформація&r: Якщо в реакторі немає достатньо місця для виведення Пару високого тиску, він просто буде втрачений. \n\nЗ міркувань балансування (та пропускної здатності труб) &6Ядерний реактор&r не виробляє звичайну пару. Натомість він генерує &bПару високого тиску&r, яку можна використовувати лише у &6Ядерній паровій турбіні&r. \n\nСпроба запустити її через стандартну Парову турбіну &cне спрацює&r.", "quests.extreme_voltage.ev_superconductor.title": "EV Надпровідники", "quests.extreme_voltage.ev_superconductor.subtitle": "Потужніша здатність до амперів", - "quests.extreme_voltage.ev_superconductor.desc": "Тепер, коли ви вже обробили трохи &eУрану&r, вам варто звернути увагу на &5EV Надпровідники&r. \n\nЦі надпровідники мають вищу амперну пропускну здатність, що допомагає ефективно передавати енергію по всій вашій базі та гарантує, що вихід від ваших &6Ядерних парових турбін&r досягне всіх машин без втрат.", + "quests.extreme_voltage.ev_superconductor.desc": "Тепер, коли ти обробив трохи &eРадону&r, варто звернути увагу на &5EV Надпровідники&r.\n\nЦі надпровідники мають більшу пропускну здатність амперів, допомагаючи ефективно передавати енергію по всій базі та забезпечуючи, щоб вихід твоїх &6Ядерних парових турбін&r доходив до всіх машин без втрат.", "quests.extreme_voltage.uraninite_dust.subtitle": "Це багато стрижнів", "quests.extreme_voltage.uraninite_dust.desc": "Щоб створити &eУранові паливні стрижні&r, вам знадобиться значна кількість &eУранініту&r — приблизно &c240 пилу&r на один стрижень. Почніть видобувати його заздалегідь, щоб задовольнити попит у майбутньому. \n\nНайбільші жили можна знайти на Марсі, де деякі поклади досягають &aвражаючих розмірів&r. \nПізніше у вашому прогресі ви зможете виробляти Настуран і пил Уранініту &aнескінченно&r за допомогою &6Лінійного прискорювача з Оструму&r, але ми розглянемо це детальніше в одному з наступних завдань.", "quests.extreme_voltage.uranium_line.title": "Уранова лінія", @@ -2299,8 +2465,8 @@ "quests.extreme_voltage.radioactive_concoction.title": "Залишкова радіоактивна суміш", "quests.extreme_voltage.radioactive_concoction.subtitle": "Цей не утилізуй!", "quests.extreme_voltage.radioactive_concoction.desc": "&dЗалишкова радіоактивна суміш&r — це дуже важливий побічний продукт лінії поділу. Її основне застосування — виробництво нескінченних руд за допомогою &bлінійного прискорювача оструму&r, але вона також потрібна для розблокування &bкамери росту&r.\n\nЯкщо ти хочеш будувати реактори поділу поза межами Марса, тобі також знадобиться безперервне її постачання.", - "quests.extreme_voltage.ostrum_linear.subtitle": "Нескінченне, але на новому рівні", - "quests.extreme_voltage.ostrum_linear.desc": "&bЛінійний прискорювач оструму&r дозволяє створювати різні матеріали, використовуючи продукти з лінії поділу. Цей багатоблок підтримує велику кількість &bввідних шин&r та &bввідних люків&r, і оскільки всі його рецепти досить швидкі, одного блоку має вистачити, щоб покрити всі твої потреби.\n\nМи наполегливо рекомендуємо створити кілька &eбалончиків&r з різними кольорами, щоб організувати ввід і вивід. Наприклад, якщо ти пофарбуєш ввідну шину та ввідний люк у &9синій&r, то взаємодіяти будуть лише вони, що запобігатиме конфліктам рецептів і забезпечить більш плавну автоматизацію.", + "quests.extreme_voltage.ostrum_linear.subtitle": "Він робить потроху всього", + "quests.extreme_voltage.ostrum_linear.desc": "&5Острумуєвий лінійний прискорювач&r дозволяє створювати різні матеріали, використовуючи продукти з &cЛінії поділу&r; цей мультиблок підтримує велику кількість &aВхідних блоків&r та &aВхідних люків&r і може бути розширений вертикально для збільшення потужності.\n\nЩоб запустити &5Острумуєвий лінійний прискорювач&r, його потрібно розмістити поруч із &6Акумулятором тепла&r, забезпечивши прямий контакт &cТеплового порту&r від &6Акумулятора тепла&r з &cВхідним тепловим люком&r OLA; як і &6Акумулятор тепла&r, він споживає &cОдиниці тепла&r для кожного рецепта та вимагає мінімальної &eТемператури&r для певних рецептів. Важливо зазначити, що чим вища температура порівняно з необхідним мінімумом, тим швидше виконується рецепт.\n\nМи наполегливо рекомендуємо виготовляти &bБалончики&r різних кольорів для організації входів і виходів; наприклад, якщо ти пофарбуєш &aВхідний блок&r та &aВхідний люк&r у &9синій&r, взаємодіяти будуть лише вони, що запобігатиме конфліктам рецептів і забезпечить більш плавну автоматизацію.", "quests.extreme_voltage.pss.subtitle": "Розпіарена батарея", "quests.extreme_voltage.pss.desc": "&eЕнергетична підстанція&r була перенесена з &1IV&r на &5EV&r, щоб ти міг будувати її безпосередньо на Марсі, де керування енергією може бути досить складним із використанням енергії поділу. Вона не є обов’язковою, тож можеш пропустити її, якщо бажаєш.\n\nЯкщо хочеш дізнатися більше про те, як працює цей багатоблок, переглянь його детальний опис у &aрозділі про енергію&r.", "quests.extreme_voltage.liquid_air.title": "Земне повітря", @@ -2386,12 +2552,13 @@ "quests.extreme_voltage.radiation.task": "Безпека понад усе!", "quests.extreme_voltage.hexafluorosilic_acid.title": "Гексафторокремнієва кислота", "quests.extreme_voltage.hexafluorosilic_acid.subtitle": "Щось є у воді...", - "quests.extreme_voltage.hexafluorosilic_acid.desc": "Гексафторокремнієву кислоту отримують шляхом замочування пилу червоного граніту, трахіту або аргіліту в плавиковій кислоті. Цей пил можна отримувати в необмеженій кількості за допомогою Кам’яної Дробарки.", + "quests.extreme_voltage.hexafluorosilic_acid.desc": "Гексафторосилікатна кислота отримується шляхом занурення пилу охруму в плавикову кислоту. Нескінченну кількість цього пилу можна отримати за допомогою каменедробарки.", "quests.extreme_voltage.martian_sludge.title": "Марсіанський мул", "quests.extreme_voltage.martian_sludge.subtitle": "Лінія помиїв", "quests.extreme_voltage.martian_sludge.desc": "Центрифугуй гексафторокремнієву кислоту, щоб повернути фтор, а також отримати трохи &6Марсіанського мулу&r — необхідного для радону та ядерних залишків.", "quests.extreme_voltage.large_generators.title": "Екстремальне виробництво енергії", "quests.extreme_voltage.large_generators.desc": "Різні одноблокові генератори підтримують лише до HV, тож далі тобі доведеться використовувати багатоблоки для виробництва більшої кількості енергії. Два з найкращих варіантів на EV — це &dВелика газова турбіна&r та &dВеликий двигун внутрішнього згоряння&r, тож переходь до розділу “Енергетика GregTech”, щоб дізнатися більше про них.", + "quests.extreme_voltage.large_generators.task": "Велика газова турбіна або великий двигун внутрішнього згоряння", "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 Паливо", @@ -2405,6 +2572,20 @@ "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. Якщо це ще не так, ми наполегливо радимо вирішити це якомога швидше. Як альтернатива, &7Кам’яновугільна смола&r, отримана під час виробництва &bГазу реформату&r, може бути перетворена назад у &2Сірководень&r і зрештою очищена назад у &6Сірку&r.", + "quests.extreme_voltage.nichromium_iode.title": "Велика газова турбіна або великий двигун внутрішнього згоряння", + "quests.extreme_voltage.nichromium_iode.subtitle": "Краща теплопровідність", + "quests.extreme_voltage.nichromium_iode.desc": "Цей сплав буде потрібний для створення твоїх нових &6RTM котушок&r; хоча витрати не є надмірними, тобі доведеться знайти дерева &cКрімсін&r та &9Варпейн&r на &4Марсі&r, і оскільки може знадобитися велика кількість &6RTM котушок&r та &bЙоду&r, не забудь налаштувати стабільний пасивний дохід, використовуючи &aсік&r.", + "quests.extreme_voltage.heat_battery.subtitle": "Кращий теплообмінник", + "quests.extreme_voltage.heat_battery.desc": "&6Теплова батарея&r — це мультиблок, здатний накопичувати &cтепло&r від гарячих охолоджувачів, що надходять безпосередньо з вашого &cРеактора поділу&r. Це тепло можна використати для нагрівання інших рідин або ж витратити у &5Лінійному прискорювачі з оструму&r.\n\nМеханіка досить проста: залежно від рідини, що подається, &6Теплова батарея&r може досягати вищих температур. Ви можете перевірити, яку температуру забезпечує певна рідина, переглянувши вкладку імпорту рецептів у &bEMI&r для Теплової батареї. Водночас ви можете витрачати &cОдиниці тепла&r на підігрів рідин. Як і у випадку з ЕДП, деякі рецепти вимагають мінімальної температури. Наприклад, виробництво &bПари високого тиску&r з &9Дистильованої води&r потребує, щоб Теплова батарея була нагріта щонайменше до &c1000°&r.\n\nНарешті, так само як і у &cРеакторі поділу&r, ви можете додавати спеціальні блоки (тег &7#components_hb&r), щоб збільшити як максимальну досяжну температуру вашої &6Теплової батареї&r, так і кількість &cОдиниць тепла&r, які вона може зберігати.", + "quests.extreme_voltage.dense_ostrum_vapor.title": "Густий пар оструму", + "quests.extreme_voltage.dense_ostrum_vapor.subtitle": "Поділ на Землі?", + "quests.extreme_voltage.dense_ostrum_vapor.desc": "&6Густий пар оструму&r потрібен для створення &cПаливного розмножувача торію-урану&r, який вам знадобиться для запуску &eПоділу&r з метою виробництва енергії; нові застосування будуть додаватися з кожним оновленням, тож залишайтеся з нами.\n\nЗверніть увагу, що його також можна використати для отримання більшої кількості Легкого пару оструму, якщо виникне така потреба.", + "quests.extreme_voltage.ostrum_vapor.title": "Пар оструму", + "quests.extreme_voltage.ostrum_vapor.subtitle": "Нам справді потрібно охолонути", + "quests.extreme_voltage.ostrum_vapor.desc": "Перше застосування &6Пару оструму&r — це можливість створити &bTerraFirmaGuard PA6&r, який вам знадобиться для роботи вашого &cПлутонієвого реактора&r без втрати всієї вашої &3Тритійованої води&r.\n\nЗгодом, коли ви відкриєте &eЕнергію поділу&r та &aМалу модульнк турбінк&r, &dПоліалкіленовий мастильний матеріал&r стане надзвичайно потужним ресурсом для виробництва більшої кількості енергії у ваших ізольованих форпостах.", + "quests.extreme_voltage.light_ostrum_vapor.title": "Легкий пар оструму", + "quests.extreme_voltage.light_ostrum_vapor.subtitle": "Нескінченні руди?", + "quests.extreme_voltage.light_ostrum_vapor.desc": "За допомогою &6Легкого пару оструму&r ви можете розпочати виробництво нескінченних руд, особливо тих, що потрібні для &cЛінії поділу&r. Існує три рівні нескінченних руд:\n\n&eСхема 1&r не є самодостатньою, але все ж може бути корисною, якщо ви справді втомилися від видобутку.\n\n&eСхема 2&r є позитивною щодо &dТорію&r, тобто просто запускаючи вашу &cЛінію поділу&r, ви будете виробляти більше &dТорію&r, ніж споживаєте.\n\n&eСхема 3&r — це фінальний і найкращий рівень, де ви генеруєте більше ресурсів, ніж потрібно для виробництва самих руд; ви стаєте позитивними щодо &dТорію&r та &aУраніту&r, що дозволяє повністю автоматизувати &cЛінію поділу&r на &4Марсі&r для нескінченних ресурсів, &bНано ЦП&r та всього необхідного для роботи &eЕнергії поділу&r на &2Землі&r.", "quests.gregtech_energy": "GregTech Енергія", "quests.gregtech_energy.subtitle": "Ото як усе це працює?", "quests.gregtech_energy.start.title": "Давай щось пояснимо", @@ -2418,6 +2599,7 @@ "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&7•&r Лазери передають абсурдну кількість ампер. \n&7•&r Жодних втрат. Жодних кабелів. Лише чиста енергія. \n&7•&r Є лише одна умова: &cвони мають бути розташовані ідеально по прямій&r. \n\nКоли кабелі здаються слабкими, &lвикористовуй лазери&r.", + "quests.gregtech_energy.transformer.task": "Будь-який лазерний люк від EV до IV", "quests.gregtech_energy.moving_wire.title": "Рухаючись з дротами", "quests.gregtech_energy.moving_wire.subtitle": "Дивно розміщується", "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 та зроби свою систему ефективнішою.", @@ -2493,14 +2675,17 @@ "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.fission_rod.desc.1": "Щоб розпочати виробництво енергії на &2Землі&r, вам потрібно інвестувати у вражаючу установку на &4Марсі&r для виробництва та обробки &cПалива розмножувача торію-урану&r; щоразу, коли ви створюєте новий &cСтрижень-розмножувач&r, необхідно використовувати рецепт &5OLA&r, який є досить дорогим, але перевага полягає в тому, що після виснаження стрижні повністю придатні для переробки.\n\nПісля отримання вашого першого &cСтрижня-розмножувача&r дуже важливо вирішити, який ізотоп ви хочете обрати як цільовий.", + "quests.gregtech_energy.fission_rod.desc.2": "&aСтрижень з америцію&r має надзвичайно високу міцність, але дуже низьке &cТепло&r, і це єдиний стрижень, який можна використовувати в &eМалому реакторі поділу&r; цей неймовірно потужний стрижень дуже складно отримати, адже потрібно запускати &cРеактор поділу&r при надзвичайно низькій температурі, щоб максимізувати вихід америцію — звернись до EMI, щоб визначити діапазон тепла, на який слід орієнтуватися.\n\n&bСтрижень з нептунію&r є стандартним варіантом, пропонуючи хорошу потужність і добру міцність; він може виробляти до &1360k EU/t&r на &1IV&r, але вимагає дуже розвиненої інфраструктури, і з одним &cРеактором поділу&r, одним &6Акумулятором тепла&r та однією &9Охолоджувальною вежею&r ти зможеш генерувати величезну кількість пари в ідеально замкненій системі.", + "quests.gregtech_energy.fission_rod.desc.3": "Будьте дуже обережні: якщо ваші &cСтрижні розмножувачі&r працюють при надто високій температурі, ви втратите частину &8Відходів РТУ&r і не зможете повністю переробити стрижень; завжди будьте надзвичайно уважними при роботі зі &cСтрижнем-розмножувачем&r, адже їхня втрата — це те, чого слід будь-що уникати.\n\nПри виборі конкретних температур для збільшення виходу ізотопів пам’ятайте, що ви можете комбінувати кілька стрижнів разом, і, як завжди, звертайтеся до EMI, щоб дізнатися, які стрижні використовують як охолоджувачі.", "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.smr.desc.1": "Якщо тобі вдасться отримати два &aСтрижні з америцію-241&r, ти можеш почати розглядати &eМалий реактор поділу&r та &aМалу модульну турбіну&r; ця генераторна установка ідеально підходить для довготривалого, стабільного виробництва енергії без необхідності втручання, що робить її чудовим варіантом для віддалених форпостів або як резервне джерело живлення для бази, якщо щось піде не так.", + "quests.gregtech_energy.smr.desc.2": "У &eМалому реакторі поділу&r потрібно встановити два &bТримачі палива&r, адже це мінімальна вимога для виробництва енергії, а також виготовити достатньо &3TiCl2-легованого надкритичного CO2&r, який є єдиним охолоджувачем, що може використовувати цей реактор; гарна новина полягає в тому, що система буде повністю замкненою.\n\nДля налаштування &aМалої модульної турбіни&r необхідно використовувати її спеціальні &aSMT Вхідні люки&r, оскільки інші вхідні люки не працюватимуть; модульність полягає у вимозі застосування &eМастила&r для роботи генератора — або &bGregTech&r, або версії, виробленої за допомогою &5OLA&r, яка подвоює ефективність. Додатково можна підвищити вихід, додавши &dПідсилювач&r — наразі &bОзон&r або &61,1-Циклогександіїл гідропероксид&r — щоб збільшити кількість виробленої &eEU&r.", + "quests.gregtech_energy.smr.desc.3": "Хоча ця установка може здаватися лячною на перший погляд, перевага надзвичайно довговічного та надійного джерела енергії будь-де у світі є значною, що робить її добре придатною для віддалених збирачів, бурів або навіть повністю незалежної бази.", + "quests.gregtech_energy.cooling_tower.subtitle": "Нарешті енергія поділу на Землі", + "quests.gregtech_energy.cooling_tower.desc.1": "Найбільш традиційний спосіб виробництва енергії за допомогою &eЕнергії поділу&r — це комбінація &6Акумулятора тепла&r та &9Охолоджувальної вежі&r; кількість необхідної &9Дистильованої води&r настільки велика, що пропустити вежу не вийде. Початкове налаштування зазвичай складається з &cРеактора поділу&r, що працює на &bСтрижнях з нептунію&r (можна також додати кілька &aСтрижнів з америцію&r), використовуючи &eБорний охолоджувач&r, який потім охолоджується через &6Акумулятор тепла&r.", + "quests.gregtech_energy.cooling_tower.desc.2": "&cОдиниці тепла&r, згенеровані таким чином, слід використовувати для виробництва &bПари високого тиску&r з &9Дистильованої води&r; ця пара може бути направлена до &eЯдерних турбін&r, які видаватимуть &aТеплу воду&r, що охолоджується назад у &9Дистильовану воду&r за допомогою &9Охолоджувальної вежі&r. Будь готовий виділити велику площу для цієї установки.\n\nКорисна порада: пам’ятай, що для роботи &9Охолоджувальної вежі&r потрібно вибрати схему, і чим вища схема, тим більший об’єм потоку вона може обробляти.", "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, &eНафта&r та суміш з &3Кисню&r, &bВодню&r і &1Вуглецю&r.\n\nЦе потужне паливо, досить просте у виробництві, і що ще краще — його можна покращити до &cБензину з високим октановим числом&r.", @@ -2720,6 +2905,7 @@ "quests.high_voltage.rocket_t1.title": "Ваша перша ракета!", "quests.high_voltage.rocket_t1.subtitle": "Перший із багатьох", "quests.high_voltage.rocket_t1.desc": "Вау, настав час будувати свою &6Ракету&r! \n\nЗберіть усі частини з &d8 Щільного ракетного сплаву&r. Щоб завершити ізоляцію, вам знадобиться &b2304мв&r &bРідкого кремнію&r (&b16 злитків&r) та &f16 шматків пилу&r. \n\nУ вас є два варіанти: \n&e-&r &eБоросилікатний скляний пил&r — створюється у &6Змішувачі&r з &dБор&r та &fСкляний пил&r \n\n&e-&r &5Вітрифікований азбест&r — отримується у &6Піролізній печі&r \n\nОбирайте те, що для вас простіше!", + "quests.high_voltage.rocket_t1.task": "Будь-яка ракета", "quests.high_voltage.vitrified_pearl.title": "Вітрифікована Перлина Ендера", "quests.high_voltage.vitrified_pearl.subtitle": "Екзотична Кераміка", "quests.high_voltage.vitrified_pearl.desc": "Нагрійте Перлину Краю в &eПіролізній Печі&r разом із відповідною ізоляцією, щоб правильно її вітрифікувати — перетворити на щось, що нагадує &3кераміку&r.\n\nНаразі вам знадобиться небагато — щонайменше одна для вашої &6Ракети&r та ще одна для &6HV Складальника Схем&r.\nАле майте на увазі: починаючи з &5EV&r, попит на них швидко зростатиме.", @@ -2782,7 +2968,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• &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.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": "Три мушкетери", @@ -2800,15 +2986,17 @@ "quests.high_voltage.pisciculture.subtitle": "Багатоблок для минтая.", "quests.high_voltage.pisciculture.desc.1": "&bРибна ферма&r — це не лише універсальне джерело нескінченної риби, а й допоміжний багатоблок у складі &3Аквапонічного циклу&r. \nЦе замкнене коло рецептів між рибною фермою та &2Електричною теплицею&r, які підсилюють врожайність одне одного і, якщо все налаштовано правильно, — не потребують жодних зовнішніх ресурсів.", "quests.high_voltage.pisciculture.desc.2": "&5Примітка:&r Структуру можна заповнити будь-якою рідиною з тегом &o&7#tfg:pisciculture_fishery_fluids&r&r. Але майте на увазі, що деякі рідини можуть замерзати у космосі, а деякі рецепти можуть не працювати, якщо контролер багатоблоку не перебуває в &nоксигенованому середовищі&r.", + "quests.high_voltage.multi_structure_terminal.subtitle": "Просто краще", + "quests.high_voltage.multi_structure_terminal.desc": "&4Менеджер багатоструктур&r — це вдосконалений термінал і пряме оновлення GregTech. Його можна використовувати так само для &eпобудови мультиблоку&r, клацаючи правою кнопкою миші по контролеру, з &dдодатковими опціями&r вибору рівня (розміру мультиблоку або котушок) та можливістю розміщення вхідних/вихідних портів.\n\nВін також може сканувати найближчі мультиблоки для оновлення їхніх люків чи котушок, а якщо підключений до твого &bME Мережі&r, то може безпосередньо використовувати ME Сховище для модернізації портів.", "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. Ви можете обрати будь-який орієнтир, який вам зручний, але для впорядкування ці квести будуть орієнтуватися на корпус машини.\n\nНе знаєте, з чого почати? Ми радимо шукати машини, які здешевлять усе інше — почніть із того, що найбільше дратує.", - "quests.low_voltage.lv_machine_casing.title": "Корпус машини LV для Create?", + "quests.low_voltage.lv_machine_hull.desc.2": "Для деяких гравців досягнення нового рівня позначається створенням першої &6схеми&r, для інших — &6корпусу машини&r чи &6енергетичного люка&r. Ви можете використовувати те, що найкраще працює для вас, але для зручності організації ці квести будуть використовувати корпус машини.\n\nКоротке нагадування: &cмашини вибухають при контакті з дощем або водою&r на будь-якому з прилеглих блоків, якщо тільки машина явно не зазначає інше.", + "quests.low_voltage.lv_machine_casing.title": "Ваші наступні машини", "quests.low_voltage.lv_machine_casing.subtitle": "Більше можливостей!", - "quests.low_voltage.lv_machine_casing.desc": "Щоб зробити перехід на LV менш складним, &5TFG&r дає тобі можливість використовувати машини &6Create&r замість деяких машин &6GregTech&r. \n\nМи представили їх &6у минулому розділі&r, але просто знай: якщо існує альтернатива машині GregTech, ти матимеш вибір у межах завдання.", + "quests.low_voltage.lv_machine_casing.desc": "Тепер, коли у вас з’явилася електрика, настав час її використати! Ми рекомендуємо почати зі створення машин, які зроблять виготовлення інших машин простішим і дешевшим.\n\nЩоб перехід у LV був менш лякаючим, &5TFG&r дає вам можливість використовувати машини з &6Create&r замість деяких машин з &6GregTech&r.\n\nМи вже представили їх у &6попередньому розділі&r, але просто майте на увазі: якщо існує альтернатива машині GregTech, у квесті ви матимете вибір.", "quests.low_voltage.lv_motor.title": "Перший із багатьох моторів", "quests.low_voltage.lv_motor.subtitle": "Низька напруга кличе...", "quests.low_voltage.lv_motor.desc": "Пам’ятай, що &2EMI — твій друг&r, якщо рецепти стають надто складними. Ти можеш натиснути кнопку з чотирма складеними квадратами в нижньому правому куті будь-якого рецепта, і EMI покаже тобі дерево всіх інгредієнтів для крафту. Більше того, ти навіть можеш додати \"список покупок\" до своїх обраних! \n\nПовертаючись до теми: підготуйся до &7LV&r, створивши шість &aLV електродвигунів&r! \nЦе може здатися багато, але це мінімум, необхідний для доступу до найкращих речей у &7LV&r.", @@ -2818,25 +3006,24 @@ "quests.low_voltage.lv_age_progression.task": "Я... здається, починаю розуміти, куди рухатися", "quests.low_voltage.lost.title": "Загубився?", "quests.low_voltage.lost.subtitle": "Це все дуже виснажливо", - "quests.low_voltage.lost.desc.1": "Перехід у &7LV&r відкриває безліч можливостей, тож легко загубитися. Ось наші рекомендації: \n\n1) Налаштуй джерело енергії. Переглянь квести внизу справа — там кілька варіантів, усі вони робочі. Не економ, побудуй кілька генераторів! \n\nОбов’язково &eпрочитай розділ квестів про енергію GregTech&r, щоб добре зрозуміти, як працюють EU, Вольти, Ампери та Втрати в кабелях.", - "quests.low_voltage.lost.desc.2": "2) Зосередься на машинах, які роблять створення інших машин дешевшим. \n\nПоляризатор — це надзвичайно дешева машина, яка може намагнічувати стрижні практично безкоштовно. Якщо ти не створював еквіваленти парової ери, налаштуй Бендер, Волок, Токар і Різак. Ці квести знаходяться у верхньому лівому куті. \n\nПісля цього зосередься на здешевленні виробництва гуми за допомогою Хімічного реактора та Твердника рідин (ліворуч), а також на здешевленні електронних компонентів за допомогою Збирача (внизу). \n\nКоли все стане максимально дешевим, обов’язково створюй компоненти партіями — це заощадить тобі багато часу.", - "quests.low_voltage.lost.desc.3": "3) Побудуй консервувальник і зроби кілька батарей (угорі справа). Буфери батарей дуже допоможуть у розвитку твоєї фабрики, а Рудний розвідник — це справжня революція. \n\n4) &7LV&r має дві основні кінцеві цілі — &aСхематологічний збирач&r та &aЕлектричну доменну піч&r. Тепер ти готовий взятися за них.", + "quests.low_voltage.lost.desc.1": "Перехід у &7LV&r відкриває безліч можливостей, тож легко заплутатися. Ось наші рекомендації:\n\n1) Налаштуйте джерело енергії. Перегляньте квести нижче — є кілька варіантів, усі вони робочі. Не економте, будуйте кілька генераторів!\n\nОбов’язково &eпрочитайте розділ квестів про енергію GregTech&r, щоб добре зрозуміти, як працюють EU, Вольти, Ампери та втрати в кабелях.", + "quests.low_voltage.lost.desc.2": "2) Зосередьтеся на машинах, які здешевлюють створення інших машин.\n\nПоляризатор — надзвичайно дешева машина, яка може намагнічувати стрижні практично безкоштовно. Якщо ви не створювали еквіваленти парової епохи, налаштуйте Згинач, Волок, Токар і Різак.\n\nПісля цього зосередьтеся на здешевленні виробництва гуми за допомогою Хімічного реактора та Рідинного затверджувача (ліворуч), а також на здешевленні електронних компонентів за допомогою Збирача (внизу).\n\nКоли все стане максимально дешевим, обов’язково створюйте компоненти партіями, щоб заощадити багато часу.", + "quests.low_voltage.lost.desc.3": "3) Побудуйте пакувальник і зробіть кілька батарей. Буфери батарей дуже допоможуть у розвитку вашої фабрики, а Рудний розвідник — це справжня революція.\n\n4) &7LV&r має дві основні кінцеві цілі: &aСхематологічний збирач&r та &aЕлектричну доменну піч&r. Тепер ви готові взятися за них.", "quests.low_voltage.lost.task": "Я знаю, що робити далі!", "quests.low_voltage.lv_steam_turbine.title": "Парова турбіна", "quests.low_voltage.lv_steam_turbine.subtitle": "Ви повинні сконструювати додаткові турбіни", - "quests.low_voltage.lv_steam_turbine.desc.1": "&3Парова Турбіна&r — один із небагатьох генераторів, які ви реально можете використовувати на &7LV&r. \n&2Пізніше ви відкриєте цікавіші варіанти генерації енергії&r, такі як природні гази чи нафтопродукти. \n\nПри подачі Пари турбіна виробляє EU у співвідношенні &d2 мВ = 1 EU&r.", - "quests.low_voltage.lv_steam_turbine.desc.2": "Якщо ти використовуєш одну &3Парову Турбіну&r, тобі потрібен лише &a1x Олов’яний Кабель&r. З іншого боку, якщо ти переходиш на &32 Парові Турбіни&r, тобі слід використовувати &a2x Олов’яні Кабелі&r — інакше вони можуть &cзгоріти&r. \n\nЦе відбувається через механіку &9Амперажу&r... але це буде пояснено пізніше, щоб ти міг насолоджуватися грою. Не хвилюйся!", + "quests.low_voltage.lv_steam_turbine.desc": "&3Парова турбіна&r — це для більшості гравців перший &7LV&r генератор, адже у вас вже налагоджене виробництво пари з парових машин.\n\nПри подачі пари турбіна видає EU у співвідношенні &d2 мБ = 1 EU&r.\n\nНедоліком пари є її транспортування, і через низьку енергетичну щільність вам знадобляться великі або гігантські труби для її переміщення.\n\nВи також можете розглянути оновлення до Великого бронзового котла, коли почнете потребувати більше енергії, ніж можуть виробляти ваші одноблокові котли.", "quests.low_voltage.lbb.title": "Великий Бронзовий Котел", "quests.low_voltage.lbb.subtitle": "Бум, бум, бум, бум", - "quests.low_voltage.lbb.desc.1": "&3Великий Котел&r — це &6необов’язковий&r варіант для справжніх велетнів, альтернатива Малим Котлам. Працює на твердому або рідкому паливі.\n\nЯкщо ви хочете виробляти енергію на основі Пари — це альтернатива до парового двигуна з Create. Подальші варіанти генерації енергії наведені в розділі &bMV&r.\n\nОбов’язково налаштуйте його так, щоб він ніколи не залишався без води, як і ваші Малі Котли, інакше він &cвибухне&r!.", + "quests.low_voltage.lbb.desc.1": "&3Великий котел&r — це &6необов’язковий&r потужний варіант Малих котлів. Він працює на твердому або рідкому паливі.\n\nЯкщо ви хочете виробляти енергію на основі пари, це альтернатива Паровому двигуну з Create.\n\nОбов’язково налаштуйте його так, щоб він ніколи не залишався без води, як і ваші Малі котли, інакше він &cвибухне&r!", "quests.low_voltage.lbb.desc.2": "Після повного нагрівання &3ВБК&r виробляє 800 пари за такт, що після конверсії дорівнює &d400EU/t&r, або 12,5 базових парових турбін. Така (відносно!) величезна потужність вимагає &lбагато&r пального. &5З огляду на це&r, інтерфейс дозволяє &9знизити&r потужність котла до 25 відсотків — 200 пари за такт. Це &d100EU/t&r, або трохи більше ніж 3 базові парові турбіни. \n\nМи рекомендуємо відкласти створення цього агрегата, доки ти не будеш готовий живити свій ЕДП, або якщо маєш багато парових мультиблоків.", - "quests.low_voltage.lbb.desc.3": "У TerraFirmaGreg у вас є кілька варіантів палива. Ви можете використати Шланговий Шків, щоб відкачати лаву з глибокого підземного озера, або організувати лісопосадку з подачею деревини в коксову піч для отримання деревного вугілля та креозоту. Нарешті, існують величезні вугільні жили на поверхні, які можна розробляти за допомогою автоматизованих бурів і переробляти в кокс, отримуючи значно більше креозоту, ніж із деревного вугілля. \n\nЯкщо ви оберете шлях із лісопосадкою, вам знадобиться три коксові печі, щоб забезпечити роботу ВБК на повній потужності.", + "quests.low_voltage.lbb.desc.3": "У TerraFirmaGreg у вас є кілька варіантів палива. Ви можете використати Шланговий блок, щоб витягувати лаву з глибокого підземного озера (ні, нескінченної лави не існує), або налаштувати лісопосадку з коксовою піччю для отримання деревного вугілля та крезоту. Нарешті, існують величезні поверхневі жили вугілля, які можна видобувати за допомогою автоматизованих шахтних машин і перетворювати на кокс та значно більше крезоту, ніж із деревного вугілля.\n\nЯкщо ви оберете шлях лісопосадки, вам знадобляться три коксові печі, щоб забезпечити повну потужність ВБК.", "quests.low_voltage.lv_polariser.title": "Базовий Намагнічувач", "quests.low_voltage.lv_polariser.subtitle": "Поляризатор поляризує!", "quests.low_voltage.lv_polariser.desc": "Одна з найдешевших — якщо не найдешевша — &7LV&r машина. Використовуй її для створення &6Магнітних Стержнів без Редстоуна&r для своїх моторів. Щоразу, коли ти починаєш масове виробництво моторів, ця машина зекономить тобі цілі стопки Редстоуна.", "quests.low_voltage.link_chapter.title": "Поясніть мені енергію", "quests.low_voltage.link_chapter.subtitle": "Є цілий розділ, присвячений енергії", - "quests.low_voltage.link_chapter.desc": "Переглянь розділ, натиснувши тут", + "quests.low_voltage.link_chapter.desc": "Енергетична система GregTech (EU, Одиниці енергії) працює інакше, ніж FE (Forge Energy), система, яку використовує майже кожен інший мод, тому ми присвятили цьому окремий розділ у книзі завдань.\n\nЦе може виглядати як багато читання, але важливо розібратися, якщо ти хочеш уникнути аварій і отримати максимум від виробництва енергії.\n\nЄ чотири способи генерувати енергію на LV, і всі вони є життєздатними варіантами. Якщо ти новачок у GregTech, найпростішим є Пар, але він швидко втрачає ефективність із переходом на вищі рівні. Газове паливо складніше у виробництві, але має найдешевші генератори. Спалювання знаходиться десь посередині.\n\nОсь посилання на розділ про енергію", "quests.low_voltage.link_chapter.task": "Я це прочитав(ла)", "quests.low_voltage.lv_combuston_gen.title": "Генератор згоряння", "quests.low_voltage.lv_combuston_gen.subtitle": "Він вибухає і виробляє енергію", @@ -2852,7 +3039,7 @@ "quests.low_voltage.lv_seeds.desc": "Якщо натрапите на ці рослини — обов’язково підберіть і почніть вирощувати.\n\nВони стануть вашим найкращим джерелом &aРослиної олії&r — рідини, що використовується для виробництва &eБіодизелю&r. Канола трохи стійкіша до низьких температур, а соняшники краще почуваються в теплішому кліматі. Ви також можете вирощувати їх в електричній теплиці, якщо не хочете витрачати багато часу на фермерство — щоправда, доведеться витрачати трохи енергії на їхнє зростання.", "quests.low_voltage.lv_seeds.task": "Канола або Соняшник", "quests.low_voltage.lv_gas_turbine.title": "Газова турбіна", - "quests.low_voltage.lv_gas_turbine.subtitle": "Потрібно більше мікросхем, але менше матеріалів", + "quests.low_voltage.lv_gas_turbine.subtitle": "Для поціновувачів нафтохімії", "quests.low_voltage.lv_gas_turbine.desc": "За допомогою &7Синтез газу&r ти тепер маєш дієвий спосіб використовувати &cГазову турбіну&r на рівні &7LV&r. Вона працює так само, як інші &6генератори&r, але має бути трохи дешевшою за &6Генератор згорання&r.", "quests.low_voltage.lv_gas_syngas.title": "Синтез газ", "quests.low_voltage.lv_gas_syngas.subtitle": "Не деревний газ", @@ -2864,15 +3051,6 @@ "quests.low_voltage.lv_turbo_charge.subtitle": "Корисно для швидшого заряджання електроінструментів", "quests.low_voltage.lv_turbo_charge.desc": "&oЦя тема квесту є необов’язковою, але може зацікавити тебе. Ми додали її заради повноти.&r \n\n&3Швидка зарядка&r заряджає &6RF та EU&r предмети, такі як &9Дрилі&r, надзвичайно швидко. \n\nВін приймає до 4 Ампер на кожен предмет, який заряджає, що робить його &6вдвічі швидшим&r за &3Буфер батарей&r. Однак він не може розряджати. \n\n&eБудь-який&r Зарядний пристрій завершить цей квест.", "quests.low_voltage.lv_turbo_charge.task": "Будь-яка Швидка зарядка підійде", - "quests.low_voltage.lv_fisher.title": "Машина для риболовлі", - "quests.low_voltage.lv_fisher.subtitle": "Повністю сумісний із TFC!", - "quests.low_voltage.lv_fisher.desc": "&oТема цього завдання є необов’язковою, але може бути тобі цікавою. Ми додали його сюди задля повноти.&r \n\n&3Риболовний апарат&r ловить рибу з води. Для роботи йому потрібна область води 5x5 безпосередньо під ним. Він використовує ту саму таблицю здобичі, що й звичайна риболовля. Кожна операція споживає 1 нитку та кількість EU, відповідну його рівню (32 для &7LV&r тощо). Ось, власне, і все. \n\n&eРиб’ячий жир&r можна отримати з риби, а потім використати для виробництва &6біодизеля&r.", - "quests.low_voltage.lv_fisher.task": "Будь-який Риболов підійде", - "quests.low_voltage.lv_rock_crusher.title": "Дробарка каменю", - "quests.low_voltage.lv_rock_crusher.subtitle": "Бруківка — це любов, бруківка — це життя", - "quests.low_voltage.lv_rock_crusher.desc.1": "&oТема цього завдання є необов’язковою, але може бути тобі цікавою. Ми додали його сюди задля повноти.&r \n\n&3Дробарка каменю&r фактично є генератором бруківки в коробці. Ти можеш дати їй будь-який необроблений камінь або блок бруківки, і вона буде створювати його копії. Дуже зручно, якщо тобі потрібно багато цегли швидко! \n\n&eБудь-яка&r дробарка каменю завершить це завдання.", - "quests.low_voltage.lv_rock_crusher.desc.2": "&l&3Лор:&r&o Генерація обсидіану, що потребує редстоун, є відсилкою до давнього бага Minecraft, &7MC-4239&f. Якщо розмістити Редстоун там, де повинна бути Бруківка в генераторі бруківки, замість неї утворювався Обсидіан. Цей баг був виправлений у знімку 14w25b для Minecraft 1.8 — понад 9 років тому на момент написання!", - "quests.low_voltage.lv_rock_crusher.task": "Будь-яка Дробарка Каменю підійде", "quests.low_voltage.lv_aqueous_accumulator.title": "Водний акумулятор", "quests.low_voltage.lv_aqueous_accumulator.subtitle": "Thermal Foundation кличе", "quests.low_voltage.lv_aqueous_accumulator.desc": "&3Водний акумулятор&r — це фактично дробарка каменю, але для рідин. Просто розмісти машину поруч із двома джерельними блоками відповідної рідини, налаштуй схему — і вуаля! Вона буде постійно виробляти більше цієї рідини. Фактично, він виконує ту саму функцію, що й механічний насос, але використовує електрику замість механічної енергії, тому тобі може бути легше інтегрувати його у свою фабрику. Як бонус, версія HV може виробляти нескінченну лаву! \uD83D\uDD25 \n\nТи можеш безпечно заповнити джерельні блоки водою, щоб запобігти їх замерзанню взимку, і машина продовжить працювати.", @@ -2893,13 +3071,13 @@ "quests.low_voltage.lv_lathe.task": "Будь-який з них", "quests.low_voltage.universal_cell.title": "Краще відро", "quests.low_voltage.universal_cell.subtitle": "Ти можеш дивитися всередину, на відміну від тих бочок...", - "quests.low_voltage.universal_cell.desc.1": "Комірки — це альтернативна форма зберігання рідин. Усі типи комірок з однаковим типом і кількістю рідини всередині &6стекаються&r. Їх можна автоматично заповнювати за допомогою &3Консервувальної машини&r.\n\nОдна комірка вміщує &dодне відро&r рідини.\n\nЩе не переконані? На відміну від бочок і відер, комірки &aбезпечно утримують&r вміст, не даючи вам обпектись, замерзнути чи спливти.", - "quests.low_voltage.universal_cell.desc.2": "Універсальні Капсули вміщують до &dодного відра&r, але також можуть зберігати &9частки&r Відер. Вони особливо ідеальні, якщо ти хочеш зберегти залишкову рідину без потреби створювати цілу Бочку. \n\nКапсули, зроблені з матеріалів вищого рівня, можуть вміщувати ще більше рідини, але &9Бочки&r і &9Супер Резервуар&r матимуть більший об'єм. \n\nЯк і Бочки, Капсули можна помістити в сітку створення, щоб очистити їхній вміст.", + "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": "Поведінка автоматичного виводу машини", "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 у цьому розділі.", - "quests.low_voltage.machine_auto_output_behaviour.desc.2": "ПКМ на машині з &5Гайковим ключем&r змінює вихідну сторону, а shift+клацання змінює лицьову сторону. Май на увазі, що лицьова сторона &cне може&r бути вихідною стороною! \n\nЗа замовчуванням предмети та рідини не можна вставляти через вихідну сторону, але це можна змінити за допомогою &5Викрутки&r. \nАбо клацни правою кнопкою миші безпосередньо на вихідній стороні, або shift+клацни на сітці, що відповідає стороні виходу. \n\nЄ унікальні машини, які не обробляють рецепти, такі як &3Насос&r, &3Бур&r, &3Рибалка&r, &3Колектор предметів&r тощо. Ці машини вивантажують предмети на свою &7Лицьову сторону&r (яка все ще позначена крапкою).", + "quests.low_voltage.machine_auto_output_behaviour.desc.2": "ПКМ по машині з &5Гайковим ключем&r змінює вихідну сторону, а комбінація Shift+ПКМ змінює передню сторону. Майже важливо пам’ятати, що передня сторона &cне може&r одночасно бути вихідною!\n\nТипово предмети та рідини не можуть вставлятися через вихідну сторону, але це можна перемкнути за допомогою &5Викрутки&r. Для цього клацніть правою кнопкою миші безпосередньо по вихідній грані або використайте Shift+ПКМ на сітці, що відповідає стороні виходу.", "quests.low_voltage.machine_auto_output_behaviour.task": "Хм, як цікаво!", "quests.low_voltage.programmed_circuits.title": "Програмовані схеми", "quests.low_voltage.programmed_circuits.subtitle": "Не хочеш витрачати свої схеми на вибір рецептів?", @@ -2946,18 +3124,20 @@ "quests.low_voltage.lv_amp_explanation.subtitle": "Ампери та ти: посібник з використання", "quests.low_voltage.lv_amp_explanation.desc": "Ця лінія завдань слугує швидким путівником по &9GregTech Амперажу&r. Щодо механіки &dНапруги&r, ми розглянемо її, коли ти досягнеш &bMV&r. \n\n&6&lTL;DR:&r Для безпеки узгоджуй межу амперажу твоїх кабелів з максимальною кількістю ампер, яку забезпечують твої енергогенератори. \n\nВсе ще плутаєшся? Переглянь розділ &cGregTech Енергія&r для повного огляду електросистеми GregTech!", "quests.low_voltage.lv_ore_prospector.title": "Це зламування", - "quests.low_voltage.lv_ore_prospector.subtitle": "Майбутнє Розвідника", + "quests.low_voltage.lv_ore_prospector.subtitle": "Розвідник NEO", "quests.low_voltage.lv_ore_prospector.desc": "Розвідник — це чудовий інструмент, який допоможе тобі швидко знаходити жили. \n\nЙого GUI інтерактивний. Клацнувши правою кнопкою миші, ти зможеш сканувати руди, які відобразяться на динамічній карті. \n\n&l&3Лор:&r&o У НАШІ часи портативний Розвідник був заблокований на &dLuV&f. Дітям зараз значно легше.", + "quests.low_voltage.night_vision_goggles.subtitle": "Бачити в темряві!", + "quests.low_voltage.night_vision_goggles.desc": "Зарядіть їх і надягніть на обличчя, щоб отримати постійний ефект нічного бачення, доки вистачає заряду батарей! Ви можете перемикати цей ефект за допомогою гарячої клавіші, яка типово встановлена на &aO&r.", "quests.low_voltage.lv_sprayer.title": "Балончик з фарбою", "quests.low_voltage.lv_sprayer.subtitle": "Час для війни тегів серверів", - "quests.low_voltage.lv_sprayer.desc": "На жаль, це лише &lПорожній&r Балончик з фарбою, який потрібно заповнити Хімічним Барвником перед використанням. \n\n&aБалончики&r не мають жодної функціональності для машин, але можуть бути &bвізуально привабливими та корисними&r! \n\nБудь-яка (або майже будь-яка) Tile-Entity у GregTech (машина, труба, кабель...) може бути &6забарвлена&r в один із 16 кольорів на твій вибір. Це чудово для скріншотів або для розділення різних налаштувань у багатокористувацькій базі. Вони також допомагають розрізняти трубопроводи та кабелі. \n\nЯкщо тримати &aБалончик&r у другій руці, він автоматично забарвлюватиме будь-який блок, який ти розміщуєш.", + "quests.low_voltage.lv_sprayer.desc": "На жаль, це лише &lПорожній&r балончик, який потрібно наповнити барвником перед використанням.\n\n&aБалончики&r не мають жодної функціональності, пов’язаної з машинами, але можуть бути доволі &bвізуально привабливими та корисними&r!\n\nБудь-яка (або майже будь-яка) сутність GregTech (машина, труба, кабель...) може бути &6пофарбована&r в один із 16 кольорів на ваш вибір. Це чудово підходить для скріншотів або для розділення різних налаштувань зручності у багатокористувацькій базі. Вони також допомагають розрізняти трубопроводи та кабелі.\n\nТримання &aБалончика&r у другій руці автоматично фарбуватиме будь-який блок, який ви розміщуєте.", "quests.low_voltage.other_machines.title": "Але зачекай, є ще більше!", "quests.low_voltage.other_machines.subtitle": "Ти не можеш втекти від Greg...", "quests.low_voltage.other_machines.desc": "Ми не будемо розглядати &dповний масштаб звичайної обробки руди&r. Чому звичайної? Деякі руди потребують спеціальної обробки, але це тема для набагато пізніше. О ні, ми вже захопилися! \n\nДеякі машини, такі як &bХімічна Ванна&r або &bЕлектролізер&r, можуть бути корисними. \n\nЗлякався обробки руди? Переглянь спеціальний розділ &cОбробка Руди&r для повного покрокового керівництва!", "quests.low_voltage.other_machines.task": "Я погоджуюся втратити здоровий глузд", "quests.low_voltage.lv_chemical_bath.title": "Базова Хімічна Ванна", "quests.low_voltage.lv_chemical_bath.subtitle": "Хімічна ванна занурює...", - "quests.low_voltage.lv_chemical_bath.desc.1": "&lПозa межами обробки руди:&r \n\nТи можеш використовувати Хімічну Ванну для заміни рецептів, що використовують &6запечатану бочку&r, роблячи виробництво паперу та шкіри &6безболісним&r. \n\nЄ й інші менш важливі рецепти, такі як фарбування різних предметів і блоків або їх відбілювання.", + "quests.low_voltage.lv_chemical_bath.desc.1": "&lПоза межами переробки руди:&r\n\nВи можете використовувати Хімічну ванну для заміни рецептів, що виконуються за допомогою &6герметичної бочки&r, роблячи виробництво шкіри та обробленої деревини &6безболісним&r.\n\nЄ також кілька менш важливих рецептів, наприклад фарбування різних предметів і блоків або їхнє вибілювання.", "quests.low_voltage.lv_chemical_bath.desc.2": "&lДля обробки руди:&r \n\nДеякі &aДроблені Руди&r мають альтернативні шляхи при промиванні до &aОчищеної Руди&r, що включає купання у &aРтуті&r або &aПерсульфаті Натрію&r. Цей крок не є надто важливим, якщо тільки тобі не потрібен той особливий &6Побічний Продукт&r. Це може бути чудовим альтернативним джерелом Срібла (натяк, натяк!).", "quests.low_voltage.lv_electroliser.title": "Базовий Електролізер", "quests.low_voltage.lv_electroliser.subtitle": "Він робить бззз", @@ -2966,21 +3146,20 @@ "quests.low_voltage.lv_electroliser.desc.3": "&cБудь обережним!&r Через особливості руд, пряме виплавлення пилу в Злитки може дати вищий вихід металу, ніж електроліз. Однак це означає втрату інших побічних продуктів у пилу. Тобі доведеться вирішити, що важливіше: пряма цінність чи кількість побічних продуктів.", "quests.low_voltage.lv_mixer.title": "Базовий Змішувач", "quests.low_voltage.lv_mixer.subtitle": "Міксер змішує...", - "quests.low_voltage.lv_mixer.desc": "Використання міксера &6значно пришвидшить&r процес виготовлення кольорової сталі, особливо &4червоної сталі&r для корпусів машин. Навіть якщо зараз вам здається, що він не потрібен — згодом він стане &6незамінним&r.\n\nВи звикли сплавляти матеріали в тиглі, але для всіх нових (а також старих) сплавів у GregTech правильний підхід — це &aзмішувати пил&r, а потім нагрівати його до злитків або витягувати у вигляді рідини. Не звертайте уваги на Alloy Blast Smelter у JEI — він з’явиться лише на рівні &5EV&r.", - "quests.low_voltage.lv_mixer.task": "Від Create або GregTech", + "quests.low_voltage.lv_mixer.desc": "Електричний міксер &6значно пришвидшить&r процес створення кольорової сталі, адже тепер він може безпосередньо виробляти &aПил кольорової сталі&r. Навіть якщо зараз вам здається, що він не потрібен, пізніше ви зрозумієте, що він &6необхідний&r.\n\nВи звикли сплавляти матеріали у тиглі, але для будь-яких нових сплавів (а також усіх старих) у GregTech використовується метод &aзмішування пилів&r з подальшим нагріванням їх у злитки або перетворенням у рідини. \n&7(Не дивіться на Домену плавильну сплавів у JEI, вона з’явиться лише на рівні &5EV&r&7.)&r", "quests.low_voltage.soldering_alloy.title": "Паяльний сплав", "quests.low_voltage.soldering_alloy.subtitle": "У мене є душа, але я не паяльник", - "quests.low_voltage.soldering_alloy.desc": "&aПаяльний Сплав&r використовується виключно як &9Рідина&r і в більшості випадків є &dвзаємозамінним&r у рецептах схем як дешевша альтернатива Олову&r. \n\nВибір за тобою. Хочеш зекономити матеріали? Робіть Паяльний Сплав. Хочеш витрачати менше часу на створення матеріалів? Олово — твій вибір.", + "quests.low_voltage.soldering_alloy.desc": "&aПрипій&r використовується виключно як &9рідина&r і в більшості випадків є &dвзаємозамінним&r у рецептах схем як дешевша альтернатива &rОлову.\n\nВибір за вами. Хочете зекономити більше матеріалів? Робіть припій. Хочете витрачати менше часу на створення матеріалів? Тоді краще використовувати олово.\n\nПам’ятайте, що спочатку потрібно змішати пил припою, а потім використати екстрактор, щоб перетворити його на рідину. Ігноруйте рецепти Сплавоплавильної доменної печі у JEI!", "quests.low_voltage.gallium_arsenide.title": "Арсенід галію", "quests.low_voltage.gallium_arsenide.subtitle": "Я ненавиджу побічні продукти, вони чудові", "quests.low_voltage.gallium_arsenide.desc": "Багато матеріалів у майбутньому не можна буде виплавляти безпосередньо з будь-яких руд! Вони отримуються як побічні продукти при обробці інших руд. Галій та Арсен є &4серед&r таких матеріалів. \n\nДля &dГалію&r ти можеш, у порядку від найгіршого до найкращого (з урахуванням складності та виходу): \n\n&9- &3Електролізувати &aСфалерит&r для невеликого шансу отримати малу кількість пилу. Зверни увагу, що ти втрачаєш можливість прямого виплавлення. \n\n&9- &r Помістити &aДроблений Боксит&r у &3Хімічну Ванну&r. Зверни увагу, що це потребує &9Персульфату Натрію&r. \n\n&9- &r Отримати його як побічний продукт обробки &aСфалериту&r у &3Термальному Центрифузі&r або &3Центрифузі&r. \n\nДля &dАрсену&r тобі доведеться добувати та &3центрифугувати&r &aРеальгар&r або пропустити &aКобальтит&r через ЕДП.", "quests.low_voltage.lv_assembler.title": "Базовий Збирач", - "quests.low_voltage.lv_assembler.subtitle": "Цей хлопець збирає краще, ніж ти та IKEA", - "quests.low_voltage.lv_assembler.desc.1": "Хоча це &9важлива&r машина для прогресу, вона &9&lне допоможе тобі негайно&r, оскільки є &cдорогою.&r Більшість рецептів, які ти захочеш використовувати, потребують &cрідин&r. Спочатку налаштуй трохи більше інфраструктури, перш ніж поспішати з її створенням. \n\nЗ цим розібралися, &3Збирач&r є ключовим для ігрового процесу. Вважай його таким же важливим, як Верстак, тільки... ну, це ж машина, очевидно.", - "quests.low_voltage.lv_assembler.desc.2": "Якщо у тебе достатньо інфраструктури, ти зможеш використовувати покращені рецепти для: \n\n&9-&r &6Вакуумних Трубок&r, що дають понад удвічі більший вихід \n\n&9-&r &6Резисторів&r, забезпечуючи 4 резистори за один крафт! \n\n&9-&r &6Друкованих Плат&r, значно зменшуючи використання міді \n\nВахуу! \n\n&l&3Лор:&r&o У часи GregTech 2, Машина Збірки мала лише два слоти \nі використовувалася переважно для альтернативних рецептів схем та корпусів.", + "quests.low_voltage.lv_assembler.subtitle": "Інструкція від IKEA не потрібна", + "quests.low_voltage.lv_assembler.desc.1": "Хоча це надзвичайно &9важлива&r машина для прогресу, ми не рекомендуємо намагатися створити її як вашу першу LV машину, адже вона &cдорога.&r\n\nОднак, якщо ви виконували завдання до цього моменту, зараз саме час її скрафтити!\n\n&3Збирач&r є ключовим елементом ігрового процесу. Вважайте його таким же важливим, як і Верстак, тільки... ну, це машина.", + "quests.low_voltage.lv_assembler.desc.2": "Ви зможете користуватися кращими рецептами для:\n\n&9-&r &6Вакуумних трубок&r, що дають більш ніж удвічі більший вихід \n\n&9-&r &6Резисторів&r, які тепер дають 4 штуки за один крафт! \n\n&9-&r &6Плат&r, що значно зменшують використання міді. \n\nУра!\n\n&l&3Лор:&r&o У часи GregTech 2 Машина для збирання мала лише два слоти й використовувалася переважно для альтернативних рецептів схем та корпусів.", "quests.low_voltage.lv_assembler.task": "Базовий Збирач", - "quests.low_voltage.t2_circuit_board.subtitle": "Так, так, це дерево, але не недооцінюй його", - "quests.low_voltage.t2_circuit_board.desc.1": "Ця Друкована Плата використовується для створення &dMV Схем&r! \n\n&9Примітка:&r У тебе є &lдва&r варіанти створення Фенольної Друкованої Плати. Якщо ти використовуєш &aПерсульфат Натрію&r або &aХлорид Заліза III&r, створення плат займе &6лише чверть Срібла&r порівняно з рецептом крафту. \n\n&lОднак&r, враховуючи, наскільки складно тобі може бути отримати ці хімікати &oзараз&r, ти можеш просто використати більше Срібла, добуваючи більшу частину жил Галеніту... \n\nКвест на &aПерсульфат Натрію&r знаходиться в розділі &bMV&r, якщо тобі хочеться трохи почитати.", + "quests.low_voltage.t2_circuit_board.subtitle": "Такі вже більше не роблять...", + "quests.low_voltage.t2_circuit_board.desc.1": "Ця плата використовується для створення &dMV-схем&r!\n\n&9Примітка:&r У вас є &lдва&r варіанти виготовлення фенольної друкованої плати. Якщо ви використаєте &aПерсульфат натрію&r або &aХлорид заліза (III)&r, то виготовлення плат потребуватиме &6лише чверть срібла&r у порівнянні з рецептом у Ремісничому столі.\n\n&lОднак&r, враховуючи, наскільки складно зараз отримати ці хімікати &oна даному етапі&r, ви можете просто використати більше срібла, видобуваючи більшу частину жил галеніту...\n\nЗавдання на &aПерсульфат натрію&r знаходиться у розділі &bMV&r, якщо вам цікаво трохи почитати.", "quests.low_voltage.t2_circuit_board.desc.2": "&l&3Лор:&r&o У GTCEu 1.12.2 ці друковані плати називалися &2Good Circuit Boards&f. Не зовсім відповідна назва, адже їх &4доволі складно&r створювати.", "quests.low_voltage.lv_diode.title": "Діод", "quests.low_voltage.lv_diode.subtitle": "Не піддавайся впливу EMI!", @@ -2995,22 +3174,30 @@ "quests.low_voltage.lv_greenhouse.title": "Електрична теплиця", "quests.low_voltage.lv_greenhouse.subtitle": "Сила &mKubeJS&r... Java", "quests.low_voltage.lv_greenhouse.desc.1": "Багатоблокова &3Електрична теплиця&r може стати вашим джерелом &aколод&r та інших рослин, якщо ви надаєте перевагу машинам GregTech замість механізмів Create. Вона також має унікальну властивість — здатність вирощувати більше декоративних рослин з TFC!", - "quests.low_voltage.lv_greenhouse.desc.2": "&9Примітка:&r Цей багатоблок дозволяє налаштовувати стіни, використовуючи будь-які допустимі блоки теплиці залізного рівня. Перегляньте попередній перегляд багатоблоку в EMI, щоб побачити більше сумісних блоків. ЕТ також можна покращити кількома способами — зокрема, за допомогою добрив або пізніше, на &cHV&r, у складі &3Гідропонічного циклу&r", + "quests.low_voltage.lv_greenhouse.desc.2": "&9Примітка:&r Цей мультиблок може мати стіни, налаштовані з використанням будь-якого допустимого блоку теплиці залізного рівня. Перегляньте попередній перегляд мультиблоку в EMI, щоб побачити більше доступних блоків. ЕТ також можна вдосконалити кількома способами, зокрема за допомогою добрив або пізніше на рівні &cHV&r із &3Гідропонним контуром.&r", "quests.low_voltage.lv_greenhouse.desc.3": "&l&3Лор:&r&o Цей багатоблок спочатку був створений для GTCEu Community Pack, але також доступний у документації для розробників GTCEu. \nВін значно повільніший за стандартні аналоги, щоб відповідати повільному росту дерев у TFC, а до версії TFG 0.9 один рецепт міг тривати майже годину!\n\nУ TFG 0.11 його повністю переробили: нові рецепти, нова структура, версія mk2 у вигляді гідропонічного комплексу та кастомні рендери від RubenVerg.\n\nПочатковий підзаголовок цього квесту був \"Сила KubeJS\", адже спершу це був приклад кастомної машини, створеної через KubeJS — набір інструментів для розробників. \nАле тепер структура повністю реалізована на Java, щоб коректно підтримувати харчові властивості TFC.", "quests.low_voltage.lv_centrifuge.title": "Базова Центрифуга", "quests.low_voltage.lv_centrifuge.subtitle": "Воно робить протилежне до Змішувача", "quests.low_voltage.lv_centrifuge.desc.1": "&lПоза межами обробки руди:&r \n\nОх, що тільки ця машина не робить? Розкладання рецептів для розділення типів пилу, розділення повітря, заповнення податкових декларацій та багато іншого... \n\nСписок надто довгий! Просто скажемо, що &cтобі потрібна Центрифуга&r.", "quests.low_voltage.lv_centrifuge.desc.2": "&lДля обробки руди:&r \n\nЦя машина перетворює &aНечистий Пил&r або &aОчищений Пил&r на чистий пил, додаючи крихітний пил як &6Побічний продукт&r. Це не входить до оптимального ланцюга отримання побічних продуктів, але є найдешевшою машиною для обробки руди серед представлених варіантів, як для запуску, так і для налаштування у малому масштабі.", "quests.low_voltage.lv_centrifuge.desc.3": "&l&3Лор:&r&o У базовому GTCE це була об'єктивно найсильніша машина для обробки руди, оскільки її було досить легко використовувати, і вона давала три крихітні пилу, як і Мийка Руди або Термальна Центрифуга. Ми знизили її ефективність на користь різноманітності.", - "quests.low_voltage.lv_centrifuge.task": "", "quests.low_voltage.lv_glue.title": "Липкий", "quests.low_voltage.lv_glue.subtitle": "Яка липка ситуація", - "quests.low_voltage.lv_glue.desc": "Тепер ти можеш &3центрифугувати&r &aЛипку Смолу&r, що дасть тобі &aКлей&r у рідкій формі (та менш корисний Plantball, &6поки що&r). Почни виробництво Клею заздалегідь! Ти можеш використовувати його для створення &6дешевших Резисторів&r, а також &6дешевших Друкованих Плат&r у &3Збирачі&r (і він буде особливо корисним &oв найближчому майбутньому&r). \n\n&eПримітка:&r Ти також можеш центрифугувати TFC's &aКлей&r або &aСмолу Хвойних&r, що буде простішим варіантом!", + "quests.low_voltage.lv_glue.desc": "Тепер ви можете &3центрифугувати&r &aЛипку смолу&r, що дасть вам &aКлей&r у рідкій формі (а також менш корисний наразі рослинний шар).\n\nПочніть виробництво клею заздалегідь. Ви зможете використовувати його для створення &6дешевших резисторів&r, а також &6дешевших плат&r у &3Збирачі&r.\n\n&eПримітка:&r Ви також можете центрифугувати &aКлей&r або &aСмолу хвойних&r з TFC — що буде простіше!", "quests.low_voltage.lv_glue.task": "Клей", "quests.low_voltage.lv_cutter.title": "Базовий Різак", "quests.low_voltage.lv_cutter.subtitle": "Різак... ріже...", "quests.low_voltage.lv_cutter.desc": "Поки що варто використовувати &9Воду&r для її рецептів замість спроб отримати Мастило.\n\nЯкщо в тебе ще немає цієї машини, вона також розрізає &6Стержні на чотири Болти&r.\n\nЦя машина — єдиний спосіб отримати &dПластини з Коштовного Каменю&r, які потрібні для створення Фільтрів, а отже й &3Газозбирача&r.", "quests.low_voltage.lv_cutter.task": "Будь-який Різак", + "quests.low_voltage.lv_distillery.subtitle": "Дистилятор дистилює...", + "quests.low_voltage.lv_distillery.desc": "Дистилятор схожий на центрифугу, але здебільшого використовується для органічних/нафтохімічних рідин.\n\nНа рівні &7LV&r ви можете отримувати лише один вихід із одного входу, але це зміниться після того, як ви дістанетеся до Вежі дистиляції на рівні &6HV&r.\n\nУ LV ви не будете часто використовувати цю машину (хіба що для горючого палива), але вона є необхідною для отримання &eФенолу&r.", + "quests.low_voltage.phenolic_resin.subtitle": "Штучна смола", + "quests.low_voltage.phenolic_resin.desc.1": "Фенольна смола утворюється внаслідок хімічної реакції &6Фенолу&r та &aФормальдегіду&r.\n\nХоча у вас є лише два варіанти отримання фенолу на рівні &7LV&r (дистиляція крезоту або важкого палива), для формальдегіду знадобиться &dМетан&r, який має більше способів отримання.", + "quests.low_voltage.phenolic_resin.desc.2": "Найпростіший (і найповільніший) спосіб — це реакція водню та вуглецю в хімічному реакторі, яка також потребує дуже повільного електролізу води.\n\nДистилятор має багато варіантів, зокрема через крезот.\n\nЯкщо ви використовуєте синтез-газ як паливо, його також можна окислити до метану.\n\nІ нарешті, якщо хочете трохи пожартувати, можна центрифугувати купу грибів із Безодні.", + "quests.low_voltage.magnesia.subtitle": "Також назва місця в Греції!", + "quests.low_voltage.magnesia.desc": "Також відомий як Оксид магнію, магнезію можна отримати двома способами:\n\n- Руда магнезиту \n\n- Реакція магнію та лугу для утворення гідроксиду магнію, після чого його кальцинують у коксовій печі. Магній можна отримати з різних руд.", + "quests.low_voltage.refractory_brick.subtitle": "The Cooler™ Вогнетривкі цеглини", + "quests.low_voltage.refractory_brick.desc": "Настав час розібрати твою стару установку доменної печі TFC! \nЯкщо бажаєш, можеш переробити більшість матеріалів у &6Вогнетривкий глиняний пил&r \n(рекомендуємо використовувати Дугову піч, щоб повернути і пил, і залізо!), \nабо ж можеш випалити ще трохи Вогняної глини. \n\nЛише переконайся, що маєш великий запас Сталі! \n\nДалі змішай вогнетривкий глиняний пил з магнезією, графітом та смолою, \nщоб створити вдосконалену кераміку, необхідну для &dтвоїх перших котушок&r.", "quests.low_voltage.lv_gas_collector.title": "Базовий Газовий Колектор", "quests.low_voltage.lv_gas_collector.subtitle": "Це захопить твій подих", "quests.low_voltage.lv_gas_collector.desc": "Газовий Колектор збирає Повітря, яке потім можна центрифугувати у &aКисень&r та &aАзот&r. \n\n&l&3Лор:&r&o Гравці GregTech 5 пам’ятають, як їм доводилося використовувати Компресор з IC2-капсулами для отримання Стисненого Повітря... тут хімія капсул більше не потрібна.", @@ -3018,7 +3205,7 @@ "quests.low_voltage.lv_oxygen.subtitle": "Власне, це і є діоксиген...", "quests.low_voltage.lv_oxygen.desc.1": "Ти можеш витратити &o&eцінні роки свого життя&r у JEI, шукаючи оптимальний рецепт отримання Кисню, враховуючи безліч способів його добування. Різні мінерали виробляють його при електролізі. \n\nЯкби ж у книзі завдань було більше інформації!", "quests.low_voltage.lv_oxygen.desc.2": "Сюрприз! Найкраще джерело, на нашу думку (!), — це &aцентрифугування Повітря&r після створення &dГазового Колектора&r, який ти, можливо, поки що не можеш зробити. Цей рецепт також дає &aАзот&r, що корисно, оскільки він може прискорити деякі рецепти у &3Електричній Доменній Печі&r. \n\nДруге найкраще джерело, на нашу думку (!), — це &aелектроліз Кремнезему&r. Кремнезем отримується з різних джерел, таких як Пил Скла та різні Пил Каменю. Ми повернемося до &6цього методу пізніше&r, тому що він насправді &6бог&r.", - "quests.low_voltage.lv_oxygen.desc.3": "Третє найкраще джерело, на нашу думку (!), — це &aелектроліз Води&r. Насправді електроліз води більше підходить для &aвиробництва Водню&r через високу енергетичну вартість. \n\n&4Не використовуй цей метод як основне джерело Кисню&r, лише для &1Водню&r — ми ще допоможемо тобі з його отриманням. \n\nЧетверте найкраще джерело, на нашу думку (!), — це &aніколи не утилізувати&r його! Будь-який Кисень, отриманий з будь-якого джерела, має цінність і повинен зберігатися у Баках. \n\n&eПримітка:&r Надішли рідину, зберігаючи її у &lбудь-якому&r баку у своєму інвентарі. Відро також підійде.", + "quests.low_voltage.lv_oxygen.desc.3": "Третім найкращим джерелом, на нашу думку (!), є &aелектроліз Води&r. \nНасправді електроліз води більше підходить для &aвиробництва Водню&r через високу енерговитратність. \n&4Не використовуй цей метод як основне джерело Кисню&r, лише для &1Водню&r. \nМи ще допоможемо тобі пізніше з виробництвом Водню. \n\nЧетвертим найкращим джерелом, на нашу думку (!), є &aніколи не викидати&r його! \nБудь-який Кисень, отриманий з будь-якого джерела, має цінність і повинен зберігатися у резервуарах.", "quests.low_voltage.lv_oxygen.task": "Кисень", "quests.low_voltage.lv_nitrogen.title": "Азот", "quests.low_voltage.lv_nitrogen.subtitle": "Твій прискорювач Електричної Доменної Печі", @@ -3036,7 +3223,7 @@ "quests.low_voltage.lv_chemical_reactor.subtitle": "Хімія для чайників", "quests.low_voltage.lv_chemical_reactor.task": "Рідка гума", "quests.low_voltage.lv_chemical_reactor.desc.1": "&3Хімічний Реактор&r буде необхідний для &lбагатьох&r рецептів. \n\nНумо випробуймо його — чому б не використати твій щойно створений Хімічний Реактор, щоб розблокувати новий, &6кращий рецепт Гуми&r? Гума &dнепридатна&r у вигляді рідини, тому тобі знадобиться ще одна машина для її подальшої обробки.", - "quests.low_voltage.lv_chemical_reactor.desc.2": "Ти не можеш створити Гуму, використовуючи лише Хімічний Реактор, тому ось кілька &aінших машин&r, які тобі варто розглянути: \n\n&3Затверджувач&r допоможе тобі перетворити рідку Гуму безпосередньо в &aГумові Листи&r. Вони тобі знадобляться надалі. \n\nПотім ти можеш скористатися &3Збирачем&r, щоб використовувати розплавлену Гуму для створення &aКабелів&r. Це не важливо для Олов'яних Кабелів, але кращі кабелі &eпотрібно&r буде створювати саме в Збирачі. \n\n&eПримітка:&r Щоб здати рідину, збережи її в &lбудь-якому&r резервуарі у своєму інвентарі. Бочка — ідеальний варіант.", + "quests.low_voltage.lv_chemical_reactor.desc.2": "Ви не можете виготовити гуму лише за допомогою Хімічного реактора, тому ось кілька &aінших машин&r, на які варто звернути увагу:\n\n&3Затверджувач&r корисний для перетворення вашої гуми безпосередньо на &aГумові листи&r. Вони знадобляться вам надалі.\n\nПотім ви можете використати &3Збирач&r, щоб застосувати розплавлену гуму для &aКабелів&r. Це неважливо для олов’яних кабелів, але кращі кабелі &eпотрібно&r буде виготовляти саме у Збирачі.", "quests.low_voltage.lv_fluid_solidifier.title": "Базовий Затверджувач Рідин", "quests.low_voltage.lv_fluid_solidifier.subtitle": "Затверджувач Рідин затверджує...", "quests.low_voltage.lv_fluid_solidifier.desc": "Розмісти цю машину поруч із &3Хімічним Реактором&r, щоб автоматично затверджувати Гуму у &aГумові Листи&r. \n\nТи можеш налаштувати автоматичний вивід рідини з Хімічного Реактора, якщо &dвикористаєш гайковий ключ&r на його боці та увімкнеш &9автовивід рідини&r. \n\nБуде ще багато рідин для затвердіння, тому ти можеш перепризначити &3Затверджувач Рідин&r, коли не створюєш Гуму — або зробити другий!", @@ -3051,7 +3238,7 @@ "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", + "quests.low_voltage.cupronickel_coil.desc": "Підготуйте &a128 Мельхіорових&r, &a32 Синьої сталі&r та &a16 Олов’яних&r злитків, а також &a128 Вогнетривких цеглин&r для створення нагрівальних котушок, необхідних для вашої першої Електричної доменної печі.\n\nЦе все ще менше ніж половина (!) вартості всієї ЕДП у сирих матеріалах. Вам також знадобиться приблизно стек інвару та сталі, тож вирушайте на видобуток.\n\nКотушки з мельхіору дозволять ЕДП виконувати рецепти до &d1,800K&r (без урахування бонусів напруги). Це досить гаряче, якщо нас запитати.\n\n&6Підручник про котушки знаходиться у вкладці &lGregTech Energy&r&6 — перегляньте його, щоб дізнатися більше!&r", "quests.low_voltage.lv_ebf.title": "Електрична Доменна Піч", "quests.low_voltage.lv_ebf.subtitle": "Одна з основних машин GregTech. Ми любимо її великою.", "quests.low_voltage.lv_ebf.desc.1": "Цей квест пояснює базовий принцип роботи &3Електропечі&r, а квест поруч із ним розповість про механіку багатоблочних компонентів, які тобі також знадобляться. Обов’язково ознайомся з тим квестом.\n\nОтже, &3ЕДП&r — це твій &eперший електричний багатоблок&r! Вітаємо. Вона використовується для обробки матеріалів при високих температурах.\n\nТи познайомишся з ЕДП, щоб виготовляти &aАлюміній&r і перейти до &d&bЕри MV&r. Вона також дозволяє створювати &7Сталь&r швидше, ніж &6Звичайна піч&r, тож ти нарешті можеш демонтувати свою стару кузню з TFC, якщо бажаєш.", @@ -3079,13 +3266,26 @@ "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.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.oil.desc": "Якщо ви знайшли руди нафтових пісків або нафтові джерела (у пустелях) під час подорожей, ви фактично можете почати використовувати їх трохи вже на рівні LV.\n\nВи можете або перетворити їх на важке паливо й залити у свої котли, або переробити на дизель для живлення генераторів згоряння.", "quests.low_voltage.glowstone.title": "Постійне освітлення", "quests.low_voltage.glowstone.subtitle": "Обхідний спосіб винайдення лампочок", "quests.low_voltage.glowstone.desc": "Шукаєте дешеві, постійні джерела світла? Тепер, коли у вас є LV Екстрактор (а незабаром і LV Затверджувач рідин), ви можете нарешті використати весь той &6Сяючий пил&r, який знайшли в Безодні. Закінчився? Його можна зробити в Міксері.\n\nЗазирніть у JEI, щоб побачити всі нові джерела світла, які можна створити з рідкого сяючого каменю або блоків сяючого каменю. У GregTech також є варіанти, які виготовляються з сяючого пилу в збирачі.\n\nБонус: рідкий сяючий камінь можна використовувати як нескінченне паливо для ламп!", + "quests.low_voltage.next_machines.title": "Ще більше машин", + "quests.low_voltage.next_machines.subtitle": "Тепер починається веселощі", + "quests.low_voltage.next_machines.desc": "Тепер, коли у вас працює кілька машин, настав час використати їх по максимуму.\n\nПраворуч від цього квесту є кілька повністю необов’язкових машин (ми не знали, куди їх вставити в цьому розділі!), але загалом Збирач зробить електронні компоненти дешевшими, а Хімічний реактор, Екстрактор і Рідинний затверджувач — дешевшими для гуми. Після цього решта &7LV&r залишається для вашого дослідження!", + "quests.low_voltage.food_machines.title": "Харчові машини", + "quests.low_voltage.food_machines.subtitle": "Фастфуд на ходу", + "quests.low_voltage.food_machines.desc": "Харчовий процесор і Електрична піч — це дві спеціальні машини, створені саме для роботи з харчовою системою TerraFirmaCraft.\n\nПроцесор може виконувати рецепти з мискою для змішування, готувати супи, сендвічі, коптити, солити, сушити... Словом, ця машина може майже все. Окрім приготування — для цього призначена піч.\n\nКришку для утилізації гнилі можна встановити на будь-яку машину або Вхідну шину, щоб автоматично видаляти всі харчові продукти, які зіпсувалися. Корисно, щоб ваша автоматизація їжі не забивалася!", + "quests.low_voltage.bakelite.subtitle": "Також відомий як Поліоксибензилметиленгліколангідрид... спробуйте вимовити це п’ять разів поспіль", + "quests.low_voltage.bakelite.desc.1": "Ваш перший полімер! Просто змішайте фенольну смолу з азбестом або обробленим композитом із деревостружкової плити, щоб завершити процес.\n\nВи будете використовувати бакеліт для створення як фенольних друкованих плат, так і корпусів машин MV, тож варто зробити велику партію. Хоча згодом ви заміните його на поліетилен у &bMV&r.\n\nТепер у вас також є доступ до дешевшого рецепту корпусів машин ULV та LV!", + "quests.low_voltage.bakelite.desc.2": "&l&3Лор:&r&o Бакеліт — це перший пластик, виготовлений із синтетичних компонентів. Нагороду за перший пластик загалом отримує Паркесин, але він потребує нітроцелюлози, що є дуже довгим ланцюгом рецептів — надто довгим для LV.\n\nДругим пластиком був галаліт, створений із молочних білків та формальдегіду, але молоко складно автоматизувати.", + "quests.low_voltage.lv_forming_press.subtitle": "Формувальний прес формує...", + "quests.low_voltage.lv_forming_press.desc": "Ця машина зазвичай не використовується для багатьох завдань, але в TFG вона може виконувати рецепти зварювання TFC, якщо вам усе ще потрібен до них доступ. Вона також легко дублює будь-який екструдер або ливарну форму.\n\nЩо більш важливо (гра слів навмисна), вам знадобиться вона для створення ключового компонента ваших наступних схем — &aФенольної друкованої плати&r.\n\nУ &bMV&r ви отримаєте доступ до дешевшого рецепту.", + "quests.low_voltage.lv_laser_engraver.subtitle": "Піу-піу!", + "quests.low_voltage.lv_laser_engraver.desc": "Базовий лазерний гравер потрібен для створення передавачів у логістичній системі Create. Окрім цього, на жаль, він майже нічого не може робити, крім полірування каменю.\n\nЗ лазерами ви будете працювати більше, коли дістанетесь до &bMV&r.", "quests.medium_voltage": "&bMV&r - Середня Напруга", "quests.medium_voltage.subtitle": "Занурення в нафтохімію та вдосконалення електроніки", "quests.medium_voltage.mv_machine_hull.title": "Ласкаво просимо до MV!", @@ -3105,7 +3305,7 @@ "quests.medium_voltage.mv_component.desc": "Ось список компонентів, які тобі знадобляться в &bMV&r. Щоб зменшити складність, обов’язково налаштуй автокрафт або &dмасове виробництво&r цих деталей, особливо &aМоторів&r. \n\nЗнайомий з &aЕмітером&r? У цьому рівні Емітер вимагає &dБездоганний Смарагд&r у рецепті, який наразі можна отримати лише через &3Сортувальну Машину&r. \n\nКонвеєри, Помпи та Роботизовані Руки є об’єктивними покращеннями порівняно з версіями &7LV&r, якщо використовувати їх як накладки.", "quests.medium_voltage.electrolyzer.title": "MV Електролізер", "quests.medium_voltage.electrolyzer.subtitle": "Ми дісталися до MV, і, ну...", - "quests.medium_voltage.electrolyzer.desc.1": "&bЦей предмет має вигляд знайомого&r — ти вже бачив його раніше.\n&2Ми наполегливо рекомендуємо скрафтити його якомога швидше,&r адже він відкриє широкий спектр нових джерел &7Алюмінію&r.\n\nДо цього моменту єдиним способом було &9електролізувати сапфір&r, щоб отримати &7Алюмінієвий пил&r.\nАле з &bMV&r Електролізером відкривається цілий новий світ ресурсів.", + "quests.medium_voltage.electrolyzer.desc.1": "&bЦей предмет має виглядати знайомо&r — ти вже бачив його раніше. \n&2Ми настійно рекомендуємо створити його якомога швидше,&r адже він відкриє широкий спектр нових джерел &7Алюмінію&r.\n\nДо цього часу ти був обмежений електролізом сапфіру або побічними продуктами переробки руди для отримання &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&7Нам не шкода.&r", "quests.medium_voltage.mv_extruder.title": "Вдосконалений Екструдер", "quests.medium_voltage.mv_extruder.subtitle": "Найбільше оновлення, яке ти зробиш", @@ -3293,7 +3493,7 @@ "quests.medium_voltage.mv_energy_hatch.desc": "&7LV&r Буфер Батарей та два &7LV&r Енергетичні Люки, ймовірно, вже недостатні. Давай це виправимо! \n\nОнови свою Електричну Доменну Піч із &3MV&r Енергетичним Люком. Тепер ти можеш запускати його з &bMV&r Генераторами без необхідності возитися з &3Трансформаторами&r.", "quests.medium_voltage.mv_kanthal_coil.title": "Канталові Котушки", "quests.medium_voltage.mv_kanthal_coil.subtitle": "Стає гаряче тут?", - "quests.medium_voltage.mv_kanthal_coil.desc": "&3Канталові Нагрівальні Котушки&r — це наступний важливий крок у прогресії. Вони підвищують температуру твоєї &3Доменної Печі&r до &d2,700K&r, дозволяючи обробляти нові матеріали. Вони також можуть &eприскорювати&r менш гарячі рецепти — переглянь &aГлаву Енергії&r у верхньому лівому куті для деталей. \n\nПам’ятай, що ти &cне можеш&r змішувати котушки в ЕДП.", + "quests.medium_voltage.mv_kanthal_coil.desc": "&3Нагрівальні котушки з канталу&r — це наступний великий крок у прогресі. Вони підвищують температуру вашої &3Доменної печі&r до &d2,700K&r, дозволяючи обробляти нові матеріали. Вони також можуть &eприскорювати&r менш гарячі рецепти — перегляньте розділ &aGregTech Energy&r у верхньому лівому куті, щоб дізнатися деталі про роботу прискорення доменної печі.\n\nПам’ятайте, що ви &cне можете&r змішувати котушки в ЕДП.", "quests.medium_voltage.mv_kanthal_ingot.title": "Кантал", "quests.medium_voltage.mv_kanthal_ingot.subtitle": "Цей гарячий", "quests.medium_voltage.mv_kanthal_ingot.desc.1": "Ох, святі небеса, 128 злитків — це ж скільки &cканталу&r тут потрібно... І що це знову за &cгарячий злиток&r? &cТак, знову!&r\n\nМаємо справу з механікою, яку ви повинні пам’ятати з &aTerrafirmaCraft&r — минуло ж не так багато часу, правда?\n\n&cГарячі злитки&r будуть &cобпалювати вас&r, якщо ви носите їх без &cбудь-якого способу&r уникнути цього, наприклад, за допомогою кліщів.\n\nІ, на відміну від &aTFC&r, &cвони не охолоджуються природним шляхом&r! Вам доведеться активно &aохолоджувати їх&r.", @@ -3339,6 +3539,9 @@ "quests.medium_voltage.stainless_greate.title": "Рівень нержавіючої сталі Greate", "quests.medium_voltage.stainless_greate.subtitle": "Високий Стрес", "quests.medium_voltage.stainless_greate.desc": "Це завдання існує лише для того, щоб повідомити вам, що Greate має ще одне оновлення на цьому етапі. \n\nВи можете знайти наступний рівень дробильних коліс корисним, адже вони дають повну кількість побічних продуктів, так само як HV дробильник, але ще й здатні обробляти кілька предметів одночасно!", + "quests.medium_voltage.terminal_dismantler.title": "Термінал демонтажу", + "quests.medium_voltage.terminal_dismantler.subtitle": "Коли твій гайковий ключ недостатньо швидкий", + "quests.medium_voltage.terminal_dismantler.desc": "&8Демонтажник&r — це чудовий інструмент, який дозволяє миттєво розбирати мультиблоки простим натисканням Shift+ПКМ по контролеру, хоча варто пам’ятати, що мультиблок має бути повністю сформованим, щоб його можна було повністю демонтувати.", "quests.metal_age": "Епоха Металургії", "quests.metal_age.subtitle": "Ваші перші технологічні досягнення.", "quests.metal_age.weld_bronze_ingots.title": "Зварювання Бронзи", @@ -3358,7 +3561,7 @@ "quests.metal_age.copper_diving.desc": "Боретеся з водоносними шарами в ваших рудних жилах? Ви можете створити комплект мідного спорядження для дайвінгу із запасом повітря, який триватиме 20 хвилин!", "quests.metal_age.bloomery.title": "Горн", "quests.metal_age.bloomery.subtitle": "Необхідно, якщо ви прагнете до Залізної епохи.", - "quests.metal_age.bloomery.desc": "Горн є багатоблоковою структурою з TerraFirmaCraft, яка дозволяє створювати коване залізо. Плавлення заліза в кузні виробляє чавун, який є крихким і далеко не таким міцним чи довговічним, як коване залізо.\n\nГорн дорогий, тому варто витратити час на налаштування автоматичного виробництва пластин і обробки руди.\n\nУ польовому довіднику є докладний опис роботи горну та правильних співвідношень заліза й вугілля, які їй потрібні.", + "quests.metal_age.bloomery.desc": "Горн— це багатоблочна конструкція з TerraFirmaCraft, яка дозволяє створювати коване залізо. Плавлення заліза у горні дає чавун, який є крихким і зовсім не таким міцним чи довговічним, як коване залізо.\n\nГорн є дорогим, тому варто витратити час на налаштування автоматичного виробництва пластин та обробки руди.\n\nПольовий посібник містить детальний опис роботи горна та правильних співвідношень заліза й палива, які вона потребує.", "quests.metal_age.mining.title": "Гірництво в епоху металургії", "quests.metal_age.mining.subtitle": "КАМІНЬ І КРЕМІНЬ!", "quests.metal_age.mining.desc": "Добування цінних ресурсів із землі — важлива частина цього модпаку, і Вік Металургії не є винятком! Ви будете споживати &lбагато& металу для прогресу, і один із способів добути його багато одразу — використання молота для видобування!\nЦе інструмент, який може копати блоки в області 3x3x1 за рахунок меншої швидкості копання. Ви також можете утримувати присідання, щоб ламати по одному блоку за раз.", @@ -3368,6 +3571,9 @@ "quests.metal_age.wrought_iron_anvil.title": "Ковадло T3: Коване залізо", "quests.metal_age.wrought_iron_anvil.subtitle": "Водяні колеса, вітряки та більше величного", "quests.metal_age.wrought_iron_anvil.desc": "Завдяки ковадлі з кованого заліза ви зможете перетворювати зливки кованого заліза на різні предмети, такі як листи, головки інструментів тощо.\n\nІнструменти та броня з кованого заліза не значно перевершують бронзові, але вони мають набагато більшу довговічність.\n\nСтворення наступної ковадли стане значно складнішим завданням, тому це чудовий момент, щоб осісти та дослідити інші можливості, які пропонує цей модпак.", + "quests.metal_age.toolbelt.title": "Пояс для інструментів", + "quests.metal_age.toolbelt.subtitle": "Звільни свій інвентар!", + "quests.metal_age.toolbelt.desc": "Помісти один із них у свій &6Слот пояса&r — і ти звільниш цілий рядок інвентарю! \n\nТи можеш міняти інструменти будь-коли, натиснувши клавішу &aЗаміна інструменту&r (за замовчуванням: X), щоб відкрити радіальне меню. \n\nПояси для інструментів можна покращити за допомогою восьми підсумків, щоб усього вміщати 9 предметів.", "quests.metal_age.coke_oven.title": "Коксова піч", "quests.metal_age.coke_oven.subtitle": "Нарешті, жодних більше куп деревного вугілля", "quests.metal_age.coke_oven.desc.1": "Коксовa піч — це твій перший мультиблок у GregTech! Вона дозволяє автоматично створювати деревне вугілля та інші потужні горючі матеріали. Коксова піч спалює одну колоду в одне деревне вугілля та 250mb крезоту — важливої хімічної речовини, що використовується для обробки деревини та як раннє паливо. \n\nЯкщо скрафтити головний блок коксової печі та натиснути клавішу JEI «Uses» (за замовчуванням «U»), ти знайдеш вкладку «Multiblock Info», яка показує, як побудувати коксову піч у світі. \n\nТакож можна просто розмістити блок контролера у світі та взаємодіяти з ним, присівши, щоб створити голограму відсутніх блоків.", @@ -3734,27 +3940,35 @@ "quests.space_survival.bulbkin_pie.desc": "Яйця Враптора можна використати для отримання замінника Цукру, тоді як яйця Нюхача сповнені Вершків. \n\n&eПиріг із Бульбкіна&r, мабуть, є вершиною марсіанської кухні, адже містить велику кількість чотирьох різних видів поживних речовин, хоч і є трохи клопітким у створенні. \n\n&eДинозаврові нагетси в пивному клярі&r поєднують величезну кількість білка з м’яса динозавра з невеликою кількістю зерна, і їх також можна покласти у ваші харчові сумки. \n\n&9Порада:&r Це не зовсім їжа, але ви також можете змішати Кусні Бульбкіна та Блоки грибів Альфацена, щоб отримати Пил світлокаменю.", "quests.space_survival.soarer.title": "Паритель", "quests.space_survival.soarer.subtitle": "Потрібен підйом?", - "quests.space_survival.soarer.desc": "Літаки на Марсі не працюють, а у вашому скафандрі немає реактивного ранця, тож іншого способу літати, здається, немає, так? \n\nЯкщо ж вам пощастить знайти невловимого &4Парителя&r, ви можете приручити його сирою рибою та оснастити сідлом, щоб із легкістю плавати марсіанськими небесами. \n\nВтім, вони не можуть літати безкінечно — про це свідчать іконки крил у верхньому лівому куті, тож час від часу їм доведеться приземлятися. Попри це, це чудовий варіант для подорожей на великі відстані, і він не розсердить піщаного хробака! \n\n&9Примітка&r: Парителі не здатні вижити на особливо гарячих планетах, таких як &6Венера&r.", + "quests.space_survival.soarer.desc": "Літаки не працюють на Марсі, а твій космічний костюм не має реактивного ранця, тож іншого способу літати немає, правда? \n\nЯкщо тобі вдасться знайти невловимого &4Парителя&r, ти можеш приручити його за допомогою Сирої риби та осідлати сідлом, щоб легко ковзати марсіанським небом. \n\nВони не можуть літати безкінечно — це показують іконки крил у верхньому лівому куті, і їм доведеться час від часу приземлятися. (Ти можеш нагодувати їх додатковою Сирою рибою, щоб пришвидшити відновлення.) \n\nПопри це, вони є чудовим варіантом для подорожей на далекі відстані й не роздратують піщаного черв’яка! \n\n&9Примітка&r: Парителі не здатні виживати на особливо гарячих планетах, таких як &6Венера&r.", "quests.space_survival.soarer.task": "Знайдіть Парителя", "quests.space_survival.surfer.title": "Серфер", "quests.space_survival.surfer.subtitle": "Потрібно плавати?", "quests.space_survival.surfer.desc": "&bСерферів&r можна знайти в невеликих водоймах. Ви можете приручити їх, підкравшись, поки вони лежать на березі, та погодувавши сирою рибою. Після приручення їх можна оснастити сідлом, щоб швидко плавати під водою. \n\nНа Марсі це може здатися не надто корисним, але пам’ятайте: ви можете транспортувати істот за допомогою просторових дисків зберігання AE2, а в майбутньому з’явиться й певний океанічний крижаний супутник... \n\n&9Примітка&r: Серфери не здатні вижити на особливо гарячих планетах, таких як &6Венера&r.", "quests.space_survival.surfer.task": "Знайти Серфера", - "quests.space_survival.sniffer_or_wraptor.title": "Нюхач і Враптор", + "quests.space_survival.charger.title": "Зарядник", + "quests.space_survival.charger.subtitle": "Заааааааааарядник!", + "quests.space_survival.charger.desc": "&bЗарядники&r — це великі зелені травоїдні, яких можна зустріти, коли вони блукають навколо. Їх можна приручити будь-якою марсіанською культурою, але не годуй їх &cБуряком&r...\n\nПісля приручення ти можеш оснастити їх сідлом і Бронею для додаткового захисту, утримувати пробіл, щоб рвонути вперед прямою лінією (завдаючи додаткової шкоди та відкидання), або натиснути клавішу &eОсоблива здібність&r (за замовчуванням &9C&r) для атаки головою.\n\nГодування їх додатковими марсіанськими культурами відновлюватиме їхнє здоров’я.\n\n&9Примітка&r: Зарядники не здатні виживати на особливо гарячих планетах, таких як &6Венера&r.", + "quests.space_survival.charger.task": "Знайдіть Зарядника", + "quests.space_survival.snatcher.title": "Викрадач", + "quests.space_survival.snatcher.subtitle": "Хап!", + "quests.space_survival.snatcher.desc": "&bВикрадачі&r — це мирні тварини, які люблять красти твої речі! Атакуй їх, щоб повернути свої предмети, або нагодуй Сирою рибою, щоб приручити. \n\nПісля приручення ти можеш носити їх на спині та оснастити дерев’яною скринькою для додаткового місця в інвентарі. Натисни клавішу &eОсоблива здібність&r (за замовчуванням &9C&r), щоб кинути їх, і вони викрадуть вміст найближчої скрині та принесуть його тобі. \n\nГодування їх додатковою Сирою рибою відновлюватиме їхнє здоров’я. \n\n&9Примітка&r: Викрадачі не здатні виживати на особливо гарячих планетах, таких як &6Венера&r.", + "quests.space_survival.snatcher.task": "Знайди Викрадача", + "quests.space_survival.sniffer_or_wraptor.title": "Нюхач і Раптор", "quests.space_survival.sniffer_or_wraptor.subtitle": "Корова та Курча", - "quests.space_survival.sniffer_or_wraptor.desc": "&2Нюхачів&r та &dВрапторів&r можна знайти по всьому Марсу, і їх можна приручити заради м’яса, яєць і, що найважливіше, їхніх мінералонасичених кущиків та пір’я. \n\nВони їдять будь‑які марсіанські культури, а розводити й годувати їх автоматично можна за допомогою годівниць, так само як і на Землі.", + "quests.space_survival.sniffer_or_wraptor.desc": "&2Нюхачів&r та &dРапторів&r можна знайти по всьому Марсу, і їх можна приручити заради м’яса, яєць і, що найважливіше, їхніх мінералонасичених кущиків та пір’я. \n\nВони їдять будь‑які марсіанські культури, а розводити й годувати їх автоматично можна за допомогою годівниць, так само як і на Землі.", "quests.space_survival.sniffer_or_wraptor.task_1": "Знайти Нюхача", "quests.space_survival.sniffer_or_wraptor.task_2": "Знайти Враптора", "quests.space_survival.mars_nest.title": "Велике солом’яне гніздо", "quests.space_survival.mars_nest.subtitle": "Велике гніздо для великих яєць", - "quests.space_survival.mars_nest.desc": "Ви ж пам’ятаєте, як збирати солому, так? \n\nСкручену та багряну солому можна отримати з різних дрібних рослин, а також із будь‑яких скручених чи багряних ламел, які вам трапляться. \n\nТак само, як і птахи на Землі, Нюхачі та Враптори потребують гнізд, щоб відкладати яйця. Тільки, знаєте, значно більших.", + "quests.space_survival.mars_nest.desc": "Ви ж пам’ятаєте, як збирати солому, так? \n\nСкручену та багряну солому можна отримати з різних дрібних рослин, а також із будь‑яких скручених чи багряних ламел, які вам трапляться. \n\nТак само, як і птахи на Землі, Нюхачі та Раптори потребують гнізд, щоб відкладати яйця. Тільки, знаєте, значно більших.", "quests.space_survival.mars_nest.task": "Будь‑яке гніздо", "quests.space_survival.mineral_rich_wool.title": "Мінералонасичена вовна", "quests.space_survival.mineral_rich_wool.subtitle": "Нарощене роками пилових бур", - "quests.space_survival.mineral_rich_wool.desc": "Коли ваші Нюхачі чи Враптори достатньо звикнуть до вас, їх можна підстригти, щоб отримати мінералонасичені кущики хутра або пір’я. \n\nЦі матеріали можна переплавити в ЕДП для отримання нескінченного й дешевого джерела силікату лужноземельних елементів. Вони також є необхідним компонентом &6Біо‑AES армованої R‑поліуретанової піни.", + "quests.space_survival.mineral_rich_wool.desc": "Коли твої Нюхачі або Раптори стануть достатньо прирученими, ти зможеш підстригати їх, отримуючи мінералонасичені пучки шерсті чи пір’я. (Це можна автоматизувати за допомогою Розгортувача з Ножицями.)\n\nЇх можна переплавити в ЕДПдля нескінченного й дешевого джерела силікату лужноземельних елементів, а також вони є необхідним компонентом &6Біо-АЕС армованої R-поліуретанової піни.", "quests.space_survival.aes_insulation.title": "Багатошарове ізольоване екранування", "quests.space_survival.aes_insulation.subtitle": "Не морозивний сендвіч", - "quests.space_survival.aes_insulation.desc": "Зараз це може й не мати великого застосування, але в майбутньому стане критичним компонентом вашої &1IV&r ракети.", + "quests.space_survival.aes_insulation.desc": "Це використовується для кількох компонентів у &1IV&r.", "quests.space_survival.mars_shields.title": "Вдосконалені щити", "quests.space_survival.mars_shields.subtitle": "Isn't it about time you upgraded your old metal shield?", "quests.space_survival.mars_shields.desc": "&3Посилений щит&r завдає шкоди нападникам у відповідь, подібно до зачарування «Шипи» у звичайному Minecraft. Матеріали для його створення можна здобути з Крушителів і Пожирачів. \n\n&5Зіпсований щит&r випадково телепортує нападників, що може бути корисним, аби тримати їх подалі від вас... але іноді він може перенести їх і за вашу спину. Зуби для крафту можна отримати від Печерних ендсменів під поверхнею. \n\n&4Рікощит&r поглинає певну кількість шкоди, після чого випускає ударну хвилю, завдаючи шкоди всім навколо. Кінетичне ядро можна знайти як рідкісне випадіння із ворожих големів у марсіанських печерах.", @@ -3777,11 +3991,12 @@ "quests.steam_age.create_tools.desc": "Гайковий ключ дозволяє швидко підбирати блоки Create за допомогою поєднання Присідання + Правого кліку, хоча сокира або кирка також підходять. Окуляри дозволяють бачити набагато детальнішу інформацію про ваші машини, наприклад, скільки напруги вони виробляють чи споживають.\n\nОбидва ці інструменти наразі є необов'язковими, але згодом вони стануть дуже корисними, і вам точно захочеться їх мати.\n\nПеревірте розділ TFG Tips, щоб отримати допомогу зі склодувством. Чи знали ви, що, розбиваючи бруківку молотком, ви перетворите її на гравій, а розбиваючи його знову — на пісок...?", "quests.steam_age.basic_millstone.title": "Автоматична обробка руди", "quests.steam_age.basic_millstone.subtitle": "Ніякого більше ручного перемелювання", - "quests.steam_age.basic_millstone.desc": "&3Млин&r — це автоматизована версія Жорен. Кидай будь-які предмети зверху, а потім клікай Пкм, щоб забрати подрібнені матеріали. Якщо під’єднаний напряму до Тваринного Приводу, він працює повільно — але можна використати передавальні механізми, щоб збільшити швидкість.\n\nВивід буде лише у першому слоті. Інші слоти — частина механіки GregTech, яка стане актуальною значно пізніше (&6HV&r).", + "quests.steam_age.basic_millstone.desc.1": "&3Жорнов&r — це автоматична версія ручного жорна. Ви можете кинути будь-що зверху, а потім клацнути правою кнопкою миші, щоб забрати подрібнені предмети назад. Якщо під’єднати його безпосередньо до тваринного приводу, він працює досить повільно, але можна використати передавальні відношення шестерень, щоб збільшити швидкість.\n\nВи отримаєте вихід лише в першому слоті. Інші слоти є частиною механіки GregTech, яка стане актуальною набагато пізніше (&6HV&r).", + "quests.steam_age.basic_millstone.desc.2": "&l&3Лор:&r&o Жорна не можна використовувати для переробки зерна на борошно, оскільки Create не враховує систему псування їжі з TFC, що раніше призводило до всіляких багів, коли зіпсовані предмети ставали свіжими і навпаки. Поки ти не отримаєш Харчовий процесор на &7LV&r, ти все ще можеш подрібнювати зерно за допомогою Ступки у верстаку.", "quests.steam_age.horse_crank.title": "Ваше перше джерело енергії", "quests.steam_age.horse_crank.subtitle": "Змусьте свою худобу платити оренду", "quests.steam_age.horse_crank.desc.1": "&3Тваринний Привід&r — це твій перше доступне джерело механічної енергії. Щоб ним скористатися, постав привід у центрі очищеної ділянки розміром 7x7 блоків і прив’яжи до нього тварину. Різні тварини генерують різну кількість потужності, а блоки під ним впливають на швидкість вихідної енергії. Зони кількох приводів можуть перекриватися.\n\nМожливо, доведеться тримати другий поводок, щоб приєднати тварину.", - "quests.steam_age.horse_crank.desc.2": "&3Малі тварини (16 SU):&r \nВовк, Собака, Свиня, Вівця, Коза, Альпака\n\n&3Середні тварини (24 SU):&r \nКорова, Осел\n\n&3Великі тварини (32 SU):&r \nКінь, Мул, Мускусний віл, Як", + "quests.steam_age.horse_crank.desc.2": "&3Малі тварини (16 SU):&r \nВовк, Собака, Свиня, Вівця, Коза, Альпака \n\n&3Середні тварини (24 SU):&r \nКорова, Осел \n\n&3Великі тварини (32 SU):&r \nКінь, Мул, Вівцебик, Як", "quests.steam_age.poor_paths.title": "Погані шляхи", "quests.steam_age.poor_paths.subtitle": "Це просто бруд", "quests.steam_age.poor_paths.desc": "Це найгірший тип дороги, яку можна використовувати. Тваринний привід працюватиме зі швидкістю 8 об/хв.", @@ -3937,7 +4152,7 @@ "quests.steam_age.resin_boards.desc": "А ти знав, що краники для дерев можуть капати прямо в труби й бочки GregTech? Тепер знаєш!", "quests.steam_age.circuit_boards.title": "Електроніка #2: Друковані Плати", "quests.steam_age.circuit_boards.subtitle": "Простіший компонент для схем", - "quests.steam_age.circuit_boards.desc": "Поєднайте ці Смолою Покриті Плати з кількома Мідними Проводами, і у вас буде основа для вашої першої &aСхеми&r!", + "quests.steam_age.circuit_boards.desc": "Трохи тонкої майстерності за допомогою &3Ремісничого столу&r дозволить тобі поєднати ті Смоляні друковані плати з мідними дротами, щоб створити свої перші &aДруковані плати&r! \n\nРемісничий стіл працює за тим самим принципом, що й Вибивання, але цього разу з додатковими предметами та інструментами.", "quests.steam_age.vacuum_chamber.title": "Вакуумна Камера", "quests.steam_age.vacuum_chamber.subtitle": "Додаємо Вакуум у Вакуумні Трубки", "quests.steam_age.vacuum_chamber.desc": "Цей механізм — фінальний крок у виготовленні ваших перших Вакуумних трубок. Розмістіть його над Чаном, подайте живлення та переконайтеся, що він налаштований на режим Вакуумування.\n\nВін також може розріджувати клей та гуму, якщо його нагрівати за допомогою Вугільної кузні або Палаючі Пальники.", @@ -3968,7 +4183,7 @@ "quests.steam_age.rolling_mill.desc.2": "&l&3Лор:&r &oЦя машина існувала в старіших версіях TFG, але вона виготовляла стержні замість пластин, і вашим найкращим варіантом виготовлення пластин до появи LV Згинача був варіант з шансом невдачі у 20 відсотків!&r", "quests.steam_age.steel_mixer.title": "Сталевий Механічний Міксер", "quests.steam_age.steel_mixer.subtitle": "Попередній LV Міксер", - "quests.steam_age.steel_mixer.desc": "&3Сталевий Механічний Міксер&r — це друга найкраща машина парової епохи, яку ви можете створити. Він може змішувати ваші кольорові сталеві пилки набагато ефективніше, ніж Тигель! Крім того, він підтримує велику кількість інших рецептів, включаючи деякі, які вимагають газів... краще про це не замислюйтесь.\n\nДля рецептів, що вимагають нагрівання, ви можете використовувати або Вугільний Горн, або Палаючий Пальник, а Механічна Рука може автоматично заправляти будь-який з них.", + "quests.steam_age.steel_mixer.desc": "&3Сталевий механічний міксер&r — це ще одна найкраща машина парової епохи, яку ти можеш зробити. Вона може змішувати пил чорної сталі набагато ефективніше, ніж Тигель! На жаль, вона не може безпосередньо робити пил червоної чи синьої сталі, але може створювати їх &aслабкі версії&r. \n\nВона також може виконувати велику кількість інших рецептів, включно з тими, що пов’язані з газами… не замислюйся над цим занадто багато. \n\nДля рецептів, які потребують нагрівання, ти можеш використовувати або Вугільну кузню, або Палаючий пальник, а Механічна рука може автоматично поповнювати паливо для будь-якого з них.", "quests.steam_age.potin.title": "Продавець Сплавів Потіна...", "quests.steam_age.potin.subtitle": "...Я йду в бій, і мені потрібен лише ваш найкращий Потін.", "quests.steam_age.potin.desc.1": "&dРідинні Труби Потіна&r мають &aдуже високу пропускну здатність&r для свого матеріального рівня та вартості. Вам може бути корисно виготовити кілька таких для оптимізації логістики рідин.\n\nЩоб отримати &dПотін&r, вам слід почати з його &eпилкової&r форми.\n\nДля виконання цього завдання потрібна або мала, або стандартна труба. Будь-який розмір підходить для завершення.", @@ -3982,13 +4197,13 @@ "quests.steam_age.paper.desc": "Якщо ви ще не зробили цього, існує три різні способи отримати папір без електрики. \n\n1) Створіть пергамент зі шкури, пемзи та яйця. \n\n2) Сплетіть папірус. \n\n3) Виготовте його з твердої деревини через тривалий процес. \n\nЗгодом ви зможете перетворювати деревну масу безпосередньо на папір із меншою кількістю кроків.", "quests.steam_age.lv_circuit.title": "Ваш перший схемний компонент!", "quests.steam_age.lv_circuit.subtitle": "Світанок нової епохи", - "quests.steam_age.lv_circuit.desc": "Рецепт для цього може виглядати лякаюче на перший погляд, але якщо ви провели достатньо часу в епоху пари, усе повинно бути легко автоматизованим. Ви будете виготовляти їх у великих кількостях протягом певного часу, але ваші наступні електричні машини допоможуть зробити їх ще дешевшими, поки ви не дістанете Ассемблер Схем наприкінці LV.", + "quests.steam_age.lv_circuit.desc": "Рецепт цих предметів може здатися лякаючим на перший погляд, але якщо ти провів достатньо часу в Паровій епосі, усе має бути легко автоматизованим. Тобі доведеться виготовляти їх у великій кількості деякий час, але наступні кілька електричних машин допоможуть зробити їх ще дешевшими, доки ти не отримаєш Збирач плат на пізньому етапі LV.", "quests.steam_age.what_next.title": "Що далі?", "quests.steam_age.what_next.subtitle": "Знаєте, окрім \"ще більше GregTech\"", "quests.steam_age.what_next.desc": "Якщо ви поспішили дістатися сюди, ми рекомендуємо спершу зосередитися на таких машинах, як LV Згинальний Верстат, Дротовий Верстат або Міксер. \nІнакше, якщо ви вже створили кінетичні машини, ми пропонуємо звернути увагу на Асемблер, Дуго плавильну Піч, Хімічний Реактор або Поляризатор.", "quests.steam_age.alternator.title": "Альтернатори", "quests.steam_age.alternator.subtitle": "Перетворення напруги в енергію", - "quests.steam_age.alternator.desc.1": "Якщо у вас вже є велика парова установка, ви навряд чи захочете одразу все зламати, щоб повернутися до котлів та LV парової турбіни. Натомість &3Альтернатор&r перетворюватиме SU від ваших парових двигунів на електрику. Кожен паровий двигун + альтернатор дає 1A LV!\n\nНа жаль, альтернатори перетворюють навантаження в іншу систему електрики (Forge Energy), ніж та, яку використовує GregTech (Energy Units), тому вам знадобиться Energy Converter, щоб зробити LV енергію придатною для використання. Обов’язково вдарте його киянкою щоб переключити режим з FE на EU.", + "quests.steam_age.alternator.desc.1": "Якщо у вас є велика парова установка, ви, ймовірно, не захочете одразу все розібрати, щоб повернутися до котлів і парових турбін LV. Натомість &3Альтернатор&r перетворюватиме SU від ваших парових двигунів на електрику. Кожен паровий двигун + альтернатор має давати вам 1А &7LV&r!\n\nНа жаль, альтернатори перетворюють навантаження в іншу систему електрики (Forge Energy), ніж ту, яку використовує GregTech (Energy Units), тому вам знадобиться Конвертер енергії, щоб перетворити її на придатну для використання &7LV&r енергію. Обов’язково вдарте його Киянкою, щоб перевести в режим &aFE у EU&r.", "quests.steam_age.alternator.desc.2": "Приклад парового двигуна, що виробляє 8 ампер LV!\n", "quests.steam_age.packager.title": "Логістика Create", "quests.steam_age.packager.subtitle": "«У нас уже є AE2 вдома»", @@ -4029,7 +4244,7 @@ "quests.stone_age.soup_time.desc": "Зробивши горщик та кілька мисок із глини, ви зможете створювати супи!\n\nСупи — це один із перших і найлегших способів приготування складніших страв. На відміну від простого поїдання окремих інгредієнтів, вони забезпечують набагато більшу ситність і дозволяють споживати одразу кілька поживних речовин!", "quests.stone_age.meals.title": "Страви", "quests.stone_age.meals.subtitle": "ПОТРАПИ ДО МІЙ ЖИВОТА!", - "quests.stone_age.meals.desc": "Це лише деякі з основних страв, які ви можете створити. Супи, салати та сендвічі — це ваші основні варіанти для легких, насичених і комбінованих страв, тоді як піца є єдиною їжею, яка може містити всі види поживних речовин одночасно.", + "quests.stone_age.meals.desc": "Це лише деякі з базових страв, які ви можете приготувати. Супи, салати та сендвічі — ваші основні варіанти для легких комбінованих страв із високою насиченістю.", "quests.stone_age.meals.tasks.1": "Будь-який звичайний сендвіч", "quests.stone_age.meals.tasks.2": "Будь-який звичайний сендвіч із джемом", "quests.stone_age.garlic_bread.title": "Часниковий хліб...?", @@ -4175,6 +4390,7 @@ "quests.stone_age.medical_conditions.subtitle": "Не їж азбест", "quests.stone_age.medical_conditions.desc.1": "Будь обережний із тим, що піднімаєш! Не всі руди чи пил безпечні для дотику, і деякі можуть спричинити накопичення &6Медичного стану&r. \n\nУсе &cНебезпечне&r позначено у підказці предмета, тож якщо раптом з’явився дебафф — негайно прибери цей предмет із інвентаря! Покласти його в контейнер, наприклад у малу посудину чи рюкзак, безпечно. \n\nБільшість цих ефектів поступово зникають самі, але якщо дати їм накопичитися, ти почнеш отримувати цілу низку неприємних наслідків — аж до &cсмерті&r.", "quests.stone_age.medical_conditions.desc.2": "Зрештою тобі доведеться працювати з деякими з цих матеріалів, тож існують способи впоратися з ними. \n\nНайкращий спосіб — взагалі уникати отримання будь-яких станів: маска для обличчя та гумові рукавички відповідно захистять від небезпеки вдихання та контакту. \n\nДругий за ефективністю спосіб — лікування: ознайомся з &aПігулками, Таблетками та Мазями&r, які можна створити. Вони допомагають вилікувати певні ефекти (і навіть дають корисні бафи!), хоча сильніші засоби мають більш неприємні побічні дії.", + "quests.stone_age.medical_conditions.desc.3": "Будьте обережні з усім &cКанцерогенним&r або &cРадіоактивним&r — ці стани є &eпостійними&r, доки ви не зможете створити парацетамол у &7LV&r.", "quests.stone_age.medical_conditions.task": "Я власний лікар", "quests.stone_age.copper_for_anvil.title": "Мідь для ковадла", "quests.stone_age.copper_for_anvil.subtitle": "Вам краще звикнути до того, що потрібно здобувати 14 зливків чогось.", @@ -4759,6 +4975,9 @@ "quests.tfg_tips.greenhouse_automation.title": "Автоматизація теплиці", "quests.tfg_tips.greenhouse_automation.subtitle": "Об’єднавши ваші сили...", "quests.tfg_tips.greenhouse_automation.desc": "У поєднанні &2Збирача&r і &2Підмітальника&r з Firmalife, Розміщувачів з Create та збирачів предметів з GregTech можна повністю автоматизувати вашу теплицю!\n\nЗбирачі витягуватимуть дозрілі культури з гідропонних і чотириконтейнерних грядок при отриманні редстоун-імпульсу, тоді як Підмітальники збиратимуть дозрілі культури з інших типів грядок у зоні 3×3, коли підключені до редстоун-сигналу.\n\nЦі машини створюють вільні предмети, які збирач предметів поглинає в широкій зоні навколо себе.\n\nПотім просто проведіть труби із насінням назад у розміщувачі, щоб висаджувати їх у грядки!!", + "quests.tfg_tips.food_automation.title": "Автоматизація їжі", + "quests.tfg_tips.food_automation.subtitle": "Автоматизуйте свою кухню.", + "quests.tfg_tips.food_automation.desc": "Ви можете повністю автоматизувати їжу, починаючи з &7LV&r, використовуючи &3Харчову піч&r та &3Харчовий процесор&r.\n\nЩоб правильно готувати їжу з кількох інгредієнтів у Харчовому процесорі, наприклад сендвічі, вам доведеться використовувати &3Роботизовану руку&r з увімкненою кнопкою \"Зберігати точну кількість\" (або налаштувати логістику Create для доставки точних обсягів у ваші машини).\n\nЩоб запобігти заповненню сховища зіпсованою їжею, слід використовувати &3Кришку для утилізації гнилі&r.\n\nПізніше це добре поєднається з холодильником у &bMV&r.", "quests.tfg_tips.beekeeping.title": "Бджільництво", "quests.tfg_tips.beekeeping.subtitle": "Вони зараз такі маленькі...", "quests.tfg_tips.beekeeping.desc": "&bБджільництво&r має безліч застосувань. Бджоли не тільки запилюють сусідні культури (за умови наявності правильного атрибута), але й дозволяють отримувати корисні ресурси, такі як &aВіск&r та &aМед.&r \n\nРозводь бджіл, щоб покращити їхні характеристики. &2Польовий путівник&r містить детальне пояснення всіх механік &bбджільництва&r.", @@ -4875,6 +5094,7 @@ "quests.tfg_tips.cellar_blocks.title": "Зберігання в погребі", "quests.tfg_tips.cellar_blocks.subtitle": "Речі, в які можна покласти їжу", "quests.tfg_tips.cellar_blocks.desc": "&bПолички для їжі&r можна використовувати для зберігання практично будь-якої їжі. &aВішалки&r підходять для зберігання &aМ'яса&r та &aЧаснику.&r Їжа, збережена таким чином, отримує потужну властивість консервації, яка перевершує &Корчагу.&r", + "quests.tfg_tips.cellar_blocks.task": "Будь-яка харчова полиця або підвіс", "quests.tfg_tips.beneath.title": "Безодня", "quests.tfg_tips.beneath.subtitle": "Подорож до центру землі", "quests.tfg_tips.beneath.desc": "Глибоко, ГЛИБОКО під землею, за &dКорінної породою&r, ти знайдеш &4Безодню&r — складну мережу величезних печер, наповнених небезпеками та дивною флорою і фауною. Хоча &4Безодня&r є повністю необов’язковим, воно містить багато ресурсів, а також деякі покращення для комфорту.", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 98d505a81..3eda18566 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -224,6 +224,7 @@ "block.tfg.spike.dripstone_spike": "石灰华尖刺", "block.tfg.loose.dripstone": "石灰华岩石子", "block.tfg.rock.aqueduct_dripstone": "石灰华引水桥", + "block.tfg.rock.hardened_crackrack": "硬化角斑岩", "block.tfg.rock.crackrack_stairs": "天然角斑岩楼梯", "block.tfg.rock.crackrack_slab": "天然角斑岩台阶", "block.tfg.rock.crackrack_wall": "天然角斑岩墙", @@ -801,8 +802,9 @@ "block.tfg.nuclear_turbine": "核能蒸汽涡轮", "block.tfg.evaporation_tower": "蒸发塔", "block.tfg.cooling_tower": "核能冷却塔", - "block.tfg.smr_generator": "小型模块化涡轮", + "block.tfg.smr_generator": "小型模块化涡轮机", "block.tfg.casings.machine_casing_desh_ptfe": "防辐射戴斯机械方块", + "block.tfg.uv_smr_fluid_import_hatch": "SMT输入仓", "block.tfg.growth_monitor": "生长监控器", "block.tfg.sample_rack": "样本架", "block.tfg.casings.machine_casing_sterilizing_pipes": "除菌管道", @@ -810,6 +812,11 @@ "block.tfg.impure_moderate_core": "不纯慢化堆芯", "block.tfg.moderate_core_frame": "慢化堆芯框架", "block.tfg.impure_moderate_core_frame": "不纯慢化堆芯框架", + "block.tfg.copper_sandy": "铜键合二氧化硅", + "block.tfg.copper_sandy_frame": "铜键合二氧化硅框架", + "block.tfg.beryllium_sandy": "铍键合二氧化硅", + "block.tfg.beryllium_sandy_frame": "铍键合二氧化硅框架", + "block.tfg.heat_battery_mk1": "储热单元", "tfg.block_entity.artisan_table": "工匠台", "block.tfg.artisan_table": "工匠台", "fluid.tfg.heavy_ammoniacal_water": "重氨水", @@ -1232,11 +1239,24 @@ "item.tfg.clean_dna_syringe": "洁净的注射器", "item.tfg.stainless_steel_needle": "不锈钢针头", "item.tfg.empty_rod": "空裂变燃料棒", + "item.tfg.empty_rod_t2": "空铍裂变燃料棒", + "item.tfg.empty_rod_t3": "空锆裂变燃料棒", "item.tfg.thorium_rod": "钍燃料棒", + "item.tfg.depleted_thorium_rod": "枯竭钍燃料棒", "item.tfg.uranium_rod": "铀燃料棒", + "item.tfg.depleted_uranium_rod": "枯竭铀燃料棒", "item.tfg.plutonium_rod": "钚燃料棒", - "item.tfg.tbu_232_rod": "TBU-232燃料棒", + "item.tfg.depleted_plutonium_rod": "枯竭钚燃料棒", + "item.tfg.tbu_232_rod": "钍铀增殖燃料棒", + "item.tfg.depleted_tbu_232_rod": "枯竭钍铀增殖燃料棒", + "item.tfg.americium_241_rod": "镅燃料棒", + "item.tfg.depleted_americium_241_rod": "枯竭镅燃料棒", + "item.tfg.neptunium_237_rod": "镎燃料棒", + "item.tfg.depleted_neptunium_237_rod": "枯竭镎燃料棒", + "item.tfg.californium_252_rod": "锎燃料棒", + "item.tfg.depleted_californium_252_rod": "枯竭锎燃料棒", "item.tfg.refrigerant_pellet": "制冷剂丸", + "item.tfg.terrafirmaguard_pa6": "群峦守卫PA6制冷剂", "item.tfg.graphite_compound": "石墨复合物", "item.tfg.raw_graphite_briquette": "生石墨压块", "item.tfg.faulty_graphite_briquette": "瑕疵石墨压块", @@ -1374,12 +1394,17 @@ "material.tfg.silica_gel": "硅胶", "material.tfg.soaked_silica_gel": "丙酮浸渍硅胶", "material.tfg.heavy_water": "重水", + "material.tfg.warm_water": "温水", "material.tfg.semiheavy_water": "半重水", "material.tfg.nuclear_residue": "核废料", "material.tfg.oxidized_nuclear_residue": "氧化核废料", "material.tfg.refined_nuclear_residue": "精炼核废料", "material.tfg.mars_air": "火星空气", "material.tfg.liquid_mars_air": "液态火星空气", + "material.tfg.raw_rich_brine": "粗制富集卤水", + "material.tfg.basic_bromine_exhaust": "基础溴废气", + "material.tfg.brominated_iodine_vapor": "溴化碘蒸气", + "material.tfg.hot_iodine_brine": "高温含碘卤水", "material.tfg.certus_regolith": "赛特斯风化土", "material.tfg.goethe_regolith": "歌德风化土", "material.tfg.bright_regolith": "亮泽风化土", @@ -1434,21 +1459,35 @@ "material.tfg.americium_241": "镅-241", "material.tfg.californium_252": "锎-252", "material.tfg.neptunium_237": "镎-237", + "material.tfg.tbu_waste": "钍铀增殖废料", "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.gas_fraction": "溶剂气相馏分", "material.tfg.isotopic_solvent": "同位素分离溶剂", - "material.tfg.residual_sludge": "残余泥渣", + "material.tfg.residual_sludge": "溶剂残余污泥", "material.tfg.sodium_fluoride": "氟化钠", "material.tfg.trace_catalyst_salt_e": "痕量催化剂盐E", - "material.tfg.copper_trace_catalyst_dust": "铜基痕量催化剂粉", + "material.tfg.copper_trace_catalyst": "铜基痕量催化剂", "material.tfg.organic_stabilizer": "有机稳定剂", "material.tfg.inert_dust_fraction": "惰性粉体馏分", "material.tfg.recovered_ionic_complex": "回收离子络合物", + "material.tfg.boron_10_hydroxide": "硼-10氢氧化物", + "material.tfg.sodium_deuteroxide": "氘氧化钠", + "material.tfg.boron_thrichloride": "三氯化硼", + "material.tfg.enriched_boron_thrichloride": "富集三氯化硼", + "material.tfg.booster_t3": "还没做完", + "material.tfg.radioactive_effluent": "放射性废液", + "material.tfg.high_grade_isotopic_solvent": "高纯度同位素分离溶剂", + "material.tfg.degraded_high_grade_isotopic_solvent": "降解的高纯度同位素分离溶剂", + "material.tfg.spent_ticl4_doped_supercritical_co2": "高温四氯化钛掺杂超临界二氧化碳", + "material.tfg.ticl4_doped_supercritical_co2": "四氯化钛掺杂超临界二氧化碳", + "material.tfg.flibe": "氟锂铍熔盐", + "material.tfg.dirty_flibe": "粗氟锂铍熔盐", + "material.tfg.hot_flibe": "高温氟锂铍熔盐", "material.tfg.glucose": "葡萄糖", "material.tfg.galactose": "半乳糖", "material.tfg.fructose": "果糖", @@ -1482,6 +1521,7 @@ "material.tfg.phenolic_resin": "酚醛树脂", "material.tfg.magnesium_hydroxide": "氢氧化镁", "material.tfg.magnesia_refractory_brick": "树脂结合镁质耐火砖", + "material.tfg.nichromium_iodomethylate": "碘甲基镍铬合金", "ore_vein.tfg.deep_sheldonite": "硫铂矿, 斑铜矿", "ore_vein.tfg.deep_garnet_amethyst": "紫水晶, 石榴石", "ore_vein.tfg.deep_garnet_opal": "蛋白石, 石榴石", @@ -1658,6 +1698,7 @@ "entity.tfg.tier_1_double_rocket": "R型铝钢双人火箭", "entity.tfg.tier_2_double_rocket": "ASM 4914 钛合金双人火箭", "entity.tfg.tier_3_double_rocket": "45-Ti 钨钢双人火箭", + "curios.identifier.face": "面部", "effect.tfg.cooling": "§b降温", "effect.tfg.warming": "§6保暖", "effect.tfg.instant_radiation": "瞬间辐射", @@ -1839,13 +1880,6 @@ "tfg.tooltip.wireless_card_1": "支持无线连接,无论相隔多远,即使是不同行星之间也能联通!", "tfg.tooltip.wireless_card_2": "物品仍可通过终端传输,但会消耗极高的电力。", "tfg.tooltip.wireless_card_3": "星际物流需求请使用 §d轨道炮§r 。", - "tfg.tooltip.component.blue_ice": "可置于裂变反应堆内,使热量上限提升 §90.5§r", - "tfg.tooltip.component.aes_insulation_frame": "可置于裂变反应堆内,使热量上限提升 §91§r", - "tfg.tooltip.component.glacian_fur": "可置于裂变反应堆内,使热量上限提升 §92§r", - "tfg.tooltip.component.impure_moderate_core_frame": "可置于裂变反应堆内,使热量上限提升 §95§r", - "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 8192 EU/t", "tfg.tooltip.component.nuclear_turbine_2": "每个高于 §5EV§r 阶段的转子支架 §7可提升§r 10% 效率,并使 EU/t 产出翻倍。", "tfg.tooltip.component.smr_generator_1": "§e基础产出:§r 4096 EU/t", @@ -1883,6 +1917,23 @@ "tfg.gui.cycle_duration": "周期时长:", "tfg.emi.bacon_requirement": "培根 - 必须先对生猪肉进行烟熏处理", "tag.item.tfg.dried_fruit": "干果", + "tfg.clientmessage.spatialioblocked.claimedchunks": "空间传输被阻止:目标区域内包含已被其他团队认领的区块。", + "tfg.nuclear.average_heat.text": "热量范围:%s 至 %s", + "tfg.nuclear.skip": "", + "tfg.machine.aux_exchanger.heat.title": "=== 热量信息 ===", + "tfg.machine.aux_exchanger.recipe_temperature": "配方需求温度:", + "tfg.machine.aux_exchanger.recipe_temperature.desc": "本配方运行所需的热力学温度", + "tfg.machine.aux_exchanger.battery_temperature": "热电池温度:", + "tfg.machine.aux_exchanger.battery_temperature.desc": "热电池的当前温度", + "tfg.machine.aux_exchanger.hu_consumed": "消耗热量(HU):", + "tfg.machine.aux_exchanger.hu_consumed.desc": "每个配方周期消耗的热量单位", + "tfg.machine.aux_exchanger.total_hu": "总热量(HU):", + "tfg.machine.aux_exchanger.total_hu.desc": "热电池中储存的总热量单位", + "tfg.machine.aux_exchanger.speed_modifier": "速度修正:", + "tfg.machine.aux_exchanger.speed_modifier.desc": "基于热电池温度计算的配方处理速度修正系数", + "tfg.machine.aux_exchanger.heat_unavailable": "热量信息不可用", + "tfg.machine.aux_echanger.output.title": "=== 输出 ===", + "tfg.multiblock.turbine.obstructed": "涡轮机存在阻塞,请检查烟囱下方及内部是否存在阻碍气流的物体", "tfc.jei.flint_knapping": "打制石器", "tfc.jei.straw_knapping": "编制干草", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "染色", @@ -1949,6 +2000,7 @@ "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.clay_ball": "润湿黏土", "tfc.recipe.barrel.tfg.barrel.light_concrete": "混凝土固化", "tfc.recipe.barrel.tfg.barrel.reinforced_light_concrete_support": "混凝土固化", "tfc.recipe.barrel.tfg.barrel.dark_concrete": "染色", @@ -2010,6 +2062,26 @@ "tfg.grapplemod.downgrades.vertical_throwing_angle": "将抓钩§l垂直投掷角度§r降低5°,最低0°", "tfg.grapplemod.upgrades.angle": "将§l双钩水平投掷角度§r增加5°,最高90°\n需先安装§l副钩§r", "tfg.grapplemod.downgrades.angle": "将§l双钩水平投掷角度§r减少5°,最低5°\n需先安装§l副钩§r", + "tfg.tooltip.machine.fission_reactor_mk1_1": "§7原子之力§r", + "tfg.tooltip.machine.fission_reactor_mk1_2": "§7可定制的裂变反应堆。添加更好的组件,处理燃料棒与材料,并时刻留意它的温度。§r", + "tfg.tooltip.machine.smt_1": "§e输出功率:§r 2048 至 32768 EU/t", + "tfg.tooltip.machine.smt_2": "§7需要润滑剂才能运行,可使用助燃剂提升功率输出。§r", + "tfg.tooltip.machine.smt_3": "§7仅接受§r小型模块化涡轮机输入仓§7输入流体。§r", + "tfg.tooltip.machine.small_fission_reactor_mk1_1": "§7浓缩的原子之力§r", + "tfg.tooltip.machine.small_fission_reactor_mk1_2": "§7仅能使用§r 四氯化钛掺杂超临界二氧化碳 §7处理§r 镅-241燃料棒§r。", + "tfg.tooltip.machine.heat_battery_1": "§7热量储存单元§r", + "tfg.tooltip.machine.heat_battery_2": "§7输入高温流体以提高其温度,并利用这些热量来煮沸其他流体或在紫金线性加速器中运行配方。§r", + "tfg.tooltip.machine.heat_battery_3": "§7若要将热量传递至紫金线性加速器,请让§r热力端口§7与§r热力输入仓§7彼此相对。§r", + "tfg.tooltip.machine.smr_fluid_import_hatch": "§7仅可用于小型模块化涡轮机§r", + "tfg.tooltip.component.blue_ice": "可置于裂变反应堆内,使热量上限提升 §90.5§r", + "tfg.tooltip.component.aes_insulation_frame": "可置于裂变反应堆内,使热量上限提升 §91§r", + "tfg.tooltip.component.glacian_fur": "可置于裂变反应堆内,使热量上限提升 §92§r", + "tfg.tooltip.component.impure_moderate_core_frame": "可置于裂变反应堆内,使热量上限提升 §95§r", + "tfg.tooltip.component.moderate_core_frame": "可置于裂变反应堆内,使热量上限提升 §910§r", + "tfg.tooltip.component.dry_ice": "可作为裂变反应堆的输入物以冷却反应堆,需要材料支架", + "tfg.tooltip.component.refrigerant_pellet": "可作为裂变反应堆的输入物以冷却反应堆,需要材料支架", + "tfg.tooltip.component.sandy_copper_frame": "可放置于储热单元内部以提升其储热能力", + "tfg.tooltip.component.sandy_beryllium_frame": "可放置于储热单元内部以提升其储热能力", "quests.ae2": "应用能源2", "quests.ae2.subtitle": "协助你挑战格雷科技的最强工具,在首次登月后解锁", "quests.ae2.certus_quartz.title": "赛特斯石英", @@ -2353,6 +2425,7 @@ "quests.extreme_voltage.t2_rocket.title": "火箭2:钛合金狂欢", "quests.extreme_voltage.t2_rocket.subtitle": "这个是紫色的", "quests.extreme_voltage.t2_rocket.desc": "这款新型火箭应该不难组装,但你会注意到材料成本相比之前的型号有明显提升。\n\n升级后的&6火箭合金&r现在需要同时使用&b蒸馏水&r和&b低温福鲁伊克斯&r进行冷却处理。\n\n请确保已完善搭建&e钛&r生产线,后续阶段将需要大量钛材!建立连续生产线会为你免去不少麻烦。", + "quests.extreme_voltage.t2_rocket.task": "任意火箭", "quests.extreme_voltage.mars.title": "我在&4火星&r上!", "quests.extreme_voltage.mars.subtitle": "红色星球", "quests.extreme_voltage.mars.desc.1": "在登陆&4火星&r之前,有几点重要事项需要牢记。\n\n首先,与月球类似,&4火星&r表面也会存在敌对生物。如果你尚未掌握死亡后保留宇航服的方法,或是没有配备新的&eEV级武器&r,你的旅程将会举步维艰。\n\n这颗星球大部分是&e荒漠世界&r,其间散布着若干\"&a岛屿&r\"——在那里你能找到&b水源&r、茂盛的植被,以及更适合建造初始基地的安全区域。而开阔荒漠虽然潜藏着关键资源,但稍有不慎便会危机四伏!", @@ -2374,11 +2447,11 @@ "quests.extreme_voltage.reactor_components.desc.2": "如前所述,同时运行三根&e钍燃料棒&r会使反应堆热量升至约&c420&r,略超出默认上限。但通过强化&6反应堆隔热&r可安全达到该阈值。\n\n在结构内部添加&e10个霜原羊毛框架&r或&e20个碱土硅酸盐隔热框架&r,可将反应堆最大热容量提升至&e420&r,从而实现三根钍燃料棒持续运行而不触发冷却模式。\n\n但需注意,增加激活的燃料棒数量会加速其&a耐久损耗&r。这意味着每根燃料棒每刻平均产生的蒸汽量将减少,降低&a能效&r,但另一方面将显著&b加速裂变材料产出&r。\n\n选择优先保障&a能效&r还是追求&b吞吐量&r完全取决于你——这正是掌握&6裂变反应堆&r核心机制的平衡之道。", "quests.extreme_voltage.heat_exchanger.title": "热交换器", "quests.extreme_voltage.heat_exchanger.subtitle": "所有这些热量总得有个去处!", - "quests.extreme_voltage.heat_exchanger.desc.1": "&6热交换器&r是你裂变生产线升级的关键组件——不仅用于冷却,还能生产更多驱动核能涡轮的&e高压蒸汽&r。\n\n它具备&b完美超频&r与&b子刻处理&r特性。若对这些术语不熟悉,强烈建议回顾&d格雷科技能源章节&r以全面了解其性能影响。", + "quests.extreme_voltage.heat_exchanger.desc.1": "&6热交换器&r是你裂变生产线升级的关键组件——不仅用于冷却,还能生产更多驱动核能涡轮的&e高压蒸汽&r。我们强烈建议你为每个反应堆配置一台热交换器,因为它们可能难以同时处理不同的配方。\n\n它具备&b完美超频&r与&b子刻处理&r特性。若对这些术语不熟悉,强烈建议回顾&d格雷科技能源章节&r以全面了解其性能影响。", "quests.extreme_voltage.heat_exchanger.desc.2": "不要犹豫!初始就直接安装&516A EV能源仓&r,从此无需担忧速度或吞吐量限制。\n\n我们同时为你准备了可连接热交换器主控器的&9机器控制覆盖板&r。我们发现该设备偶尔会意外停运,请务必启用&e防止电源故障&r功能,这将规避格雷科技在瞬时断电时关闭机器的机制。", "quests.extreme_voltage.refrigerant_pellet.title": "制冷剂丸", "quests.extreme_voltage.refrigerant_pellet.subtitle": "应对极端温度的临时解决方案", - "quests.extreme_voltage.refrigerant_pellet.desc": "&d钚燃料棒&r运行时会产生极高温度——事实上,你需要在使用&b制冷剂丸&r才能防止反应堆进入冷却模式。\n\n这种丸粒生产成本较高,但你仍可在早期实现批量生产,至少足够支撑最初几根钚燃料棒的运行。单根钚燃料棒全周期运行约需&9256&r颗制冷剂丸。\n\n后续若不愿持续制作这种消耗品,你将能使用&6高级反应堆组件&r。安装后反应堆最大热容量可安全提升至&e600&r,显著增强效率与稳定性。\n\n尽早投资升级内部部件,方能减少对能源核心的频繁维护。", + "quests.extreme_voltage.refrigerant_pellet.desc": "&d钚燃料棒&r运行时会产生极高温度——事实上,你需要在使用&b群峦守卫PA6制冷剂&r才能防止反应堆进入冷却模式。\n\n这种丸粒生产成本较高,但你仍可在早期实现批量生产,至少足够支撑最初几根钚燃料棒的运行。单根钚燃料棒全周期运行约需&9256&r颗制冷剂丸。\n\n后续若不愿持续制作这种消耗品,你将能使用&6高级反应堆组件&r。安装后反应堆最大热容量可安全提升至&e600&r,显著增强效率与稳定性。\n\n尽早投资升级内部部件,方能减少对能源核心的频繁维护。", "quests.extreme_voltage.important_info.title": "前期准备", "quests.extreme_voltage.important_info.subtitle": "开局并非易事", "quests.extreme_voltage.important_info.desc.1": "在&c火星&r建立基地前,以下几点关键建议将助你成功立足:\n\n在打造一套完整的基地建设方案之前,我们建议你先进行一次勘探任务,再决定落脚点!", @@ -2393,16 +2466,17 @@ "quests.extreme_voltage.thorium_rod.desc.1": "每根&6燃料棒&r都具备独特属性:包括&a耐久值&r(在反应堆中的持续时长)、&c产热量&r以及不同的&e产物类型&r与&b蒸汽输出量&r。你可在&aEMI&r的燃料棒标签页直接查阅这些数据。\n\n在深入了解裂变反应堆运行机制前,需掌握以下关键要点:", "quests.extreme_voltage.thorium_rod.desc.2": "•燃料棒显示的&e热量百分比&r在反应堆内部会转化为略低于该数值两倍的实际热量。例如,当有足量&b重水&r泵入反应堆时,&c热量&r为70%%的&e钍燃料棒&r将产生略低于140的热量。这种热量增长具有&a叠加性&r,意味着两根钍燃料棒会使反应堆总热量升至约280。", "quests.extreme_voltage.thorium_rod.desc.3": "•所有燃料棒的&a耐久值&r基础衰减速率相同,但反应堆温度越高,燃料棒损耗越快。因此,即使某种燃料棒的耐久度是另一种的4倍,也未必能持续4倍时长——因为&c温度会直接影响使用寿命&r。\n\n平衡反应堆内的燃料棒数量将是你面临的首个裂变挑战。", + "quests.extreme_voltage.thorium_rod.desc.4": "•&6平均热量&r仅表示燃料棒在反应堆内期间反应堆的平均温度。根据这一&6平均热量值&r,耗尽的燃料棒将产生&b不同的产出物&r。\n\n你可以浏览&bEMI&r来预览可能的结果,并准确查看每根耗尽燃料棒在特定温度范围内产生的具体产物。", "quests.extreme_voltage.fission_reactor.title": "裂变反应堆", "quests.extreme_voltage.fission_reactor.subtitle": "哦不,它又进入冷却模式了", "quests.extreme_voltage.fission_reactor.desc.1": "若想深入了解&6裂变反应堆&r的运行机制,包括计算公式、详细运算及系统行为,请查阅&a格雷科技能源&r章节中的任务。该部分涵盖了热力学与能效系统的所有数学原理。\n\n现在让我们专注于你的第一座&6钍反应堆&r:其基础&c最大热容量&r为&e400&r。如先前任务所述,两根钍燃料棒会使内部热量升至约&e280&r,处于绝对安全范围;但增加第三根燃料棒会将总热量推至约&c420&r,超出限值并触发&c冷却模式&r。", - "quests.extreme_voltage.fission_reactor.desc.2": "别担心,没有爆炸,但你的反应堆将停机直至热量完全冷却至0方可重启。这将完全中断你的&a能源生产&r与&a裂变产物&r生成——堪称重大挫折。\n\n因此,管理激活的燃料棒数量将成为你的首个&6挑战&r,也是裂变系统的核心玩法。\n\n应对方式多种多样,实验探索正是乐趣所在。\n\n方法之一是通过给反应堆安装&6红石端口&r,对其使用&a扳手&r可在&e燃料棒计数&r与&c热量等级&r监控模式间切换。\n\n请注意,所有燃料棒均存储在&6燃料支架&r内。这意味着限制激活燃料棒数量并非简单地在输入总线放置2根燃料棒即可达成——&c你需要精确控制输入总线的进料量&r来实现反应堆的精准调控。", + "quests.extreme_voltage.fission_reactor.desc.2": "别担心,没有爆炸,但你的反应堆将停机直至热量完全冷却至0方可重启。这将完全中断你的&a能源生产&r与&a裂变产物&r生成——堪称重大挫折。\n\n还需注意,每次你的反应堆进入冷却模式,内部的每根燃料棒都会承受&c10000热量&r,这可能导致产出极差,甚至造成灾难性损失。请务必谨慎,因为这是你绝对要避免的情况。\n\n因此,管理激活的燃料棒数量将成为你的首个&6挑战&r,也是裂变系统的核心玩法。\n\n应对方式多种多样,实验探索正是乐趣所在。\n\n方法之一是通过给反应堆安装&6红石端口&r,对其使用&a扳手&r可在&e燃料棒计数&r与&c热量等级&r监控模式间切换。\n\n请注意,所有燃料棒均存储在&6燃料支架&r内。这意味着限制激活燃料棒数量并非简单地在输入总线放置2根燃料棒即可达成——&c你需要精确控制输入总线的进料量&r来实现反应堆的精准调控。", "quests.extreme_voltage.high_pressure_steam.title": "高压蒸汽", "quests.extreme_voltage.high_pressure_steam.subtitle": "更好的蒸汽,更大的涡轮", "quests.extreme_voltage.high_pressure_steam.desc": "&4重要信息&r:若反应堆无足够空间输出高压蒸汽,多余蒸汽将直接清空。\n\n出于平衡性(及管道吞吐量)考量,&6裂变反应堆&r不产生普通蒸汽,而是生成仅能在&6核能蒸汽轮机&r中使用的&b高压蒸汽&r。\n\n若尝试将其输入标准蒸汽轮机,将&c无法运作&r。", "quests.extreme_voltage.ev_superconductor.title": "EV超导体", "quests.extreme_voltage.ev_superconductor.subtitle": "更强电流承载能力", - "quests.extreme_voltage.ev_superconductor.desc": "既然你已经处理了一些&e铀&r,你应该查看一下&5EV超导体&r。\n\n这些超导体具有更高的电流容量,帮助你在基地内高效传输能量,确保你的&6核能蒸汽涡轮&r输出能毫无损失地到达所有机器。", + "quests.extreme_voltage.ev_superconductor.desc": "既然你已经处理了一些&e氡&r,你应该查看一下&5EV超导体&r。\n\n这些超导体具有更高的电流容量,帮助你在基地内高效传输能量,确保你的&6核能蒸汽涡轮&r输出能毫无损失地到达所有机器。", "quests.extreme_voltage.uraninite_dust.subtitle": "好多燃料棒啊", "quests.extreme_voltage.uraninite_dust.desc": "制作&e铀燃料棒&r需要大量&e晶质铀矿&r——每根燃料棒约需&c240份矿粉&r。请尽早开始采矿以满足后续需求。\n\n火星上分布着&a规模惊人&r的大型矿脉。在后续的进程中,你将能通过&6紫金性加速器&r&a无限量&r生产沥青铀矿与晶质铀矿粉,具体细节将在后续任务中详细说明。", "quests.extreme_voltage.uranium_line.title": "铀生产线", @@ -2485,8 +2559,8 @@ "quests.extreme_voltage.radioactive_concoction.title": "放射性残液", "quests.extreme_voltage.radioactive_concoction.subtitle": "别清空这个!", "quests.extreme_voltage.radioactive_concoction.desc": "&d放射性残液&r是裂变生产线的重要副产物,其主要用途在于通过&b紫金线性加速器&r实现矿石无限化生产,同时也是解锁&b生长室&r的必要材料。\n\n若计划在火星之外建造裂变反应堆,你也需要持续供应这种材料。", - "quests.extreme_voltage.ostrum_linear.subtitle": "更高级的无限资源", - "quests.extreme_voltage.ostrum_linear.desc": "&b紫金线性加速器&r能利用裂变生产线的各类产物合成多种材料。该多方块结构支持大量&b输入总线&r与&b输入仓&r,且所有配方处理速度极快,单台设备即可满足全阶段需求。\n\n我们强烈建议制作数把不同颜色的&e喷罐&r来规整输入输出。例如用&9蓝色&r标记输入总线与输入仓后,仅着色部件会相互关联,既能避免配方冲突又可确保自动化流畅运行。", + "quests.extreme_voltage.ostrum_linear.subtitle": "它什么都能做", + "quests.extreme_voltage.ostrum_linear.desc": "&5紫金线性加速器&r能利用&c裂变产线&r的各类产物合成多种材料。该多方块结构支持大量&a输入总线&r和&a输入仓&r,并且可以垂直扩展以提升其产能。\n\n要运行&5紫金线性加速器&r,必须将其放置在&6储热单元&r旁边,并确保&6储热单元&r的&c热量端口&r与线性加速器的&c热量输入仓&r直接接触。与&6储热单元&r类似,它每个配方都会消耗&c热量&r,并且特定配方要求达到最低&e温度&r。需要注意的是,实际温度超出所需最低温度越多,配方运行速度就越快。\n\n我们强烈建议制作不同颜色的&b喷罐&r来规整输入和输出。例如用&9蓝色&r标记一个&a输入总线&r与一个&a输入仓&r后,那么只有这两者会相互关联,既能避免配方冲突又可确保自动化流畅运行。", "quests.extreme_voltage.pss.subtitle": "一个升级版电池", "quests.extreme_voltage.pss.desc": "&e蓄能变电站&r已从&1IV&r阶段调整至&5EV&r阶段,这样你就能够在火星直接建造它,在那里用裂变能源管理能量颇具挑战性。它并不是强制性的,所以如果你倾向于跳过它也无妨。\n\n如果你想了解更多关于这个多方块结构的详细运作原理,请查阅&a能源章节&r中的详细条目。", "quests.extreme_voltage.liquid_air.title": "地球空气", @@ -2578,6 +2652,7 @@ "quests.extreme_voltage.martian_sludge.desc": "对六氟硅酸进行离心处理可回收氟,同时获得&6火星浆液&r——这是制备氡气与核废料的必需材料。", "quests.extreme_voltage.large_generators.title": "超高压发电", "quests.extreme_voltage.large_generators.desc": "各种单方块发电机的上限只到HV,自此往后你必须采用多方块结构来产生更多能量。EV阶段两个最好的选择是&d大型燃气涡轮&r和&d大型内燃机&r,请移步格雷科技能源章节了解详细信息。", + "quests.extreme_voltage.large_generators.task": "一台大型燃气涡轮或大型内燃引擎", "quests.extreme_voltage.large_centrifuge.subtitle": "材料旋转木马", "quests.extreme_voltage.large_centrifuge.desc": "&6大型离心机&r是你裂变生产线中必备的多方块结构。\n\n它最多支持&52个EV能源仓&r,能够以与电力高炉相同的机制处理&1IV等级&r的配方,因此操作逻辑会让你感到熟悉。\n\n该设备拥有两种运行模式:&b离心&r与&6热力离心&r。你可直接在控制器界面切换模式,但暂不支持通过AE2或其他自动化系统远程控制。\n\n此次升级将使你的&a矿物处理&r速度实现质的飞跃。", "quests.extreme_voltage.btx.title": "芳烃燃料", @@ -2591,6 +2666,20 @@ "quests.extreme_voltage.btx_loop.subtitle": "尽可能多地回收利用", "quests.extreme_voltage.btx_loop.desc.1": "这条生产链的最后一部分是回收废催化剂。整个过程相当简单,主要的挑战将是维持&a强化环氧树脂板&r和&e胶水&r的持续供应。\n\n如果你的&2树脂采集系统&r仍在运行,它应该足以生产制作胶水所需的所有树脂。或者,对原木使用&b提取机&r也是一个完全可行的选择。这种方法稍微更&c耗电&r,但选择完全取决于你的基础设施。", "quests.extreme_voltage.btx_loop.desc.2": "关于&9稀盐酸&r的一点说明:它可以很容易地通过&b水&r与&a氯气&r反应制得。你可以储存&d次氯酸&r,或选择电解它以回收&f一半的氯气&r。\n\n至于&6硫酸&r,你应该已经通过&e石油化工蒸馏&r装置获得了无限的硫磺来源。如果还没有,我们强烈建议你尽快解决这个问题。此外,生产&b重整气&r时获得的&7煤焦油&r可以重新转化为&2硫化氢&r,并最终精炼回&6硫&r。", + "quests.extreme_voltage.nichromium_iode.title": "碘甲基镍铬合金", + "quests.extreme_voltage.nichromium_iode.subtitle": "更佳的导热性", + "quests.extreme_voltage.nichromium_iode.desc": "这种合金是制作新型&6钌钨钼合金线圈&r的必需材料;虽然成本不算过高,但你需要在&4火星&r上找到产生&c绯红液&r和&9诡异液&r的树木。由于你可能需要大量&6钌钨钼合金线圈&r和&b碘&r,别忘了利用&a树液采集&r建立一个稳定的被动收入来源。", + "quests.extreme_voltage.heat_battery.subtitle": "更好的热交换器", + "quests.extreme_voltage.heat_battery.desc": "&6储热单元&r是一个多方块结构,能够储存从&c裂变反应堆&r直接流出的高温冷却剂所携带的&c热量&r,这些热量随后可用于加热其他流体,或在&5紫金线性加速器&r中被消耗。\n\n其机制相当简单:根据输入的流体不同,&6储热单元&r所能达到的温度也不同,你可以在&bEMI&r的储热单元导入配方标签页下查看每种流体能提供的温度;相反,你可以通过加热流体来消耗&c热量&r。和电力高炉一样,某些配方有最低温度要求,例如,用&9蒸馏水&r生产&b高压蒸汽&r就要求储热单元温度至少达到&c1000°&r。\n\n最后,和&c裂变反应堆&r类似,你可以添加特定方块(标签为&7#components_hb&r)来提高&6储热单元&r所能达到的最高温度以及其可储存的总&c热量&r。", + "quests.extreme_voltage.dense_ostrum_vapor.title": "致密紫金蒸气", + "quests.extreme_voltage.dense_ostrum_vapor.subtitle": "在地球上搞核裂变?", + "quests.extreme_voltage.dense_ostrum_vapor.desc": "&6致密紫金蒸汽&r是制作&c钍铀增殖燃料棒&r的必需材料,而你需要用它来启动发电用的&e裂变&r反应。后续每个新版本都会为其添加更多用途,敬请期待。\n\n请注意,如果你有需要,也可以用它来获取更多的轻质紫金蒸汽。", + "quests.extreme_voltage.ostrum_vapor.title": "紫金蒸气", + "quests.extreme_voltage.ostrum_vapor.subtitle": "我们真的需要冷静一下", + "quests.extreme_voltage.ostrum_vapor.desc": "&6紫金蒸汽&r的第一个用途是让你能制作&b群峦守卫PA6制冷剂&r,你将需要它来运行&c钚反应堆&r,同时避免损失所有&3氚化水&r。\n\n之后,当你解锁&e裂变能&r和&a小型模块化涡轮机&r时,&d聚烯烃润滑剂&r将成为你在偏远前哨站生产更多电力的极其重要的资产。", + "quests.extreme_voltage.light_ostrum_vapor.title": "轻质紫金蒸气", + "quests.extreme_voltage.light_ostrum_vapor.subtitle": "无限矿石?", + "quests.extreme_voltage.light_ostrum_vapor.desc": "借助&6轻质紫金蒸汽&r,你可以开始生产无限矿石,尤其是&c裂变产线&r所需的那几种。无限矿石共有三个等级:\n\n&e电路1&r无法自给自足,但如果你实在厌倦了采矿,它仍能提供帮助。\n\n&e电路2&r可实现&d钍&r的正向产出,这意味着仅通过运行你的&c裂变产线&r,你生产的&d钍&r就会多于消耗的量。\n\n&e电路3&r是最终也是最好的等级,在此等级下,你生成资源的量将超过生产矿石本身所需的消耗;你在&d钍&r和&a铀矿石&r上实现净正向产出,从而能在&4火星&r上完全自动化&c裂变产线&r,获得无限资源、&b纳米CPU&r以及在&2地球&r运行&e裂变能&r所需的一切材料。", "quests.gregtech_energy": "格雷科技能源", "quests.gregtech_energy.subtitle": "这一切到底是怎么工作的?", "quests.gregtech_energy.start.title": "让我们做些解释", @@ -2604,6 +2693,7 @@ "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&7•&r激光可传输超大安培能量\n&7•&r零损耗、无电缆,纯粹的能量传输\n&7•&r唯一限制:管道&c必须保持绝对直线&r\n\n当电缆传输能力不足时,请&l采用激光方案&r。", + "quests.gregtech_energy.transformer.task": "任何EV到IV级激光仓", "quests.gregtech_energy.moving_wire.title": "用导线传输", "quests.gregtech_energy.moving_wire.subtitle": "放置起来有点意思", "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,提升系统能效。", @@ -2679,14 +2769,17 @@ "quests.gregtech_energy.btx.desc": "获得&5EV能源仓&r意味着你终于可以启动&e芳烃燃料&r(苯、甲苯、二甲苯的混合物,简称BTX)的生产。这种燃料将为你服务很长一段时间,并且即便在游戏后期,于&6大型涡轮机&r中仍然保持竞争力。虽然初看之下这像是一项浩大的工程,但请放心,付出的努力将是完全值得的。\n\n这条生产线需要大量的木材制品。由于对&e胶水&r的需求,树脂再次变得重要——你可以选择被动采集树液,或者直接从原木中提取。你还需要在&6蒸馏塔&r中分馏&e木焦油&r。除此之外,请确保你能无限量生产&e乙醇&r、&e下界石英&r、&e钠&r、&e氨&r、&e碱&r和&e强化环氧树脂板&r。\n\n如果你想了解芳烃燃料生产链更详细的分析,请参阅&5EV&r章节。", "quests.gregtech_energy.fission_rod.title": "裂变燃料", "quests.gregtech_energy.fission_rod.subtitle": "别让我过热了", - "quests.gregtech_energy.fission_rod.desc.1": "地球裂变材料尚未实装,但或许即将到来", - "quests.gregtech_energy.fission_rod.desc.2": "", - "quests.gregtech_energy.fission_rod.task": "", + "quests.gregtech_energy.fission_rod.desc.1": "为了在&2地球&r上开始发电,你需要在&4火星&r上投入建造一套令人印象深刻的设施,以生产和加工&c钍铀增殖燃料棒&r;每次制作一个新的&c增殖燃料棒&r时,都必须使用&5紫金线性加速器&r配方,这相当昂贵,但其优势在于燃料棒在耗尽后可以完全回收利用。\n\n获得第一根&c增殖棒&r后,决定你想要获取哪种同位素至关重要。", + "quests.gregtech_energy.fission_rod.desc.2": "&a镅燃料棒&r具有极高的耐久度但&c热值&r极低,并且是唯一能在&e小型裂变反应堆&r中使用的燃料棒;这种效能极高的燃料棒极难获得,因为你需要让&c裂变反应堆&r在极低的温度下运行,以最大化镅的产出——请参考EMI来确定你应瞄准的热值范围。\n\n&b镎燃料棒&r是标准选择,能提供良好的功率输出和耐久度;它在&1IV&r电压等级下最高可产生&1360kEU/t&r,但需要非常庞大的基础设施。配合一座&c裂变反应堆&r、一个&6热电池&r和一座&9冷却塔&r,你应该能在一个完美循环的系统中产生巨量蒸汽。", + "quests.gregtech_energy.fission_rod.desc.3": "然而,务必格外小心:如果你的&c增殖燃料棒&r在过高的温度下运行,你将损失部分&8TBU废料&r,并且无法完全回收燃料棒;运行&c增殖燃料棒&r时请始终极度谨慎,因为损失它们是你绝对要避免的情况。\n\n当为了增加特定同位素产出而瞄准特定温度时,请记住你可以将多根燃料棒混合使用,并且一如既往,参考EMI来查看哪些燃料棒使用哪些冷却剂。", "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.smr.desc.1": "如果你能获得两根&a镅-241燃料棒&r,就可以开始考虑建造&e小型裂变反应堆&r和&a小型模块化涡轮机&r。这套发电组合非常适合长期、可持续且无需干预的发电,是偏远前哨站或在基地主电力故障时作为备用电源的完美选择。", + "quests.gregtech_energy.smr.desc.2": "在&e小型裂变反应堆&r中,你必须安装两个&b燃料仓&r,这是发电的最低要求,然后制作足够的&3四氯化钛掺杂超临界二氧化碳&r,这是该反应堆唯一可用的冷却剂;好消息是该系统将形成完美闭环。\n\n要设置&a小型模块化涡轮机&r,你必须使用其专用的&a小型模块化涡轮机输入仓&r,其他输入仓均无法使用;其模块化特性体现在需要&e润滑剂&r来运行发电机,可以使用&b格雷科技&r的版本,或使用&5紫金线性加速器&r生产的版本(其效率可翻倍),你还可以通过添加&d助燃剂&r——目前是&b臭氧&r或&61,1-环己烷二氢过氧化物&r——来进一步提高&eEU&r的产出。", + "quests.gregtech_energy.smr.desc.3": "虽然这套设置起初可能令人望而生畏,但在世界任何地方都能拥有一个极其持久可靠的电源,其好处是巨大的,非常适合用于独立的采集器、采矿机甚至完全自给自足的基地。", + "quests.gregtech_energy.cooling_tower.subtitle": "终于能在地球用上核裂变发电了!", + "quests.gregtech_energy.cooling_tower.desc.1": "利用&e裂变&r发电最传统的方式,是结合使用&6储热单元&r和&9冷却塔&r。&9蒸馏水&r的需求量非常巨大,因此不应指望跳过冷却塔。初始设置通常包括一个运行&b镎燃料棒&r(你也可以添加一些&a镅燃料棒&r)并使用&e硼冷却剂&r的&c裂变反应堆&r,其产生的热量通过&6储热单元&r进行冷却。", + "quests.gregtech_energy.cooling_tower.desc.2": "用这种方式产生的&c热量&r应用于将&9蒸馏水&r转化为&b高压蒸汽&r。这些蒸汽随后可送入&e核能蒸汽涡轮&r,涡轮机会输出&a温水&r,这些温水再利用&9冷却塔&r冷却回&9蒸馏水&r。请为此系统规划预留大片空间。\n\n一个有用的提示是:请记住&9冷却塔&r需要选择一个电路才能运行,电路等级越高,它能处理的流体流速也越高。", "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、&e石脑油&r以及&3氧气&r、&b氢气&r和&1碳&r的混合物。\n\n它强度高,制作相当简便,更妙的是还能升级为&c高标号汽油&r。", @@ -2777,7 +2870,7 @@ "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。每个处理配方均会产生特定的热量影响。", + "quests.gregtech_energy.fission_reactor.desc.7": "简化的计算原理如下:在拥有充足冷却剂流体和一根&c100%%&r热值燃料棒的情况下,反应堆将达到约&c200&r的温度(可称作热量等级或简称为热量)。使用&d两根&r&c100%%&r燃料棒等效于使用&d一根&r&c200%%&r燃料棒,二者均可使热量达到约&c400&r。\n\n这是因为每根燃料棒可产生&6200HU/t&r(热量单位)。冷却剂流体每&c1&r度热量可提取&61HU/t&r。\n\n若反应堆的最大热量上限为&c190&r,则&c100%%&r的燃料棒将导致其过热。你可以通过安装组件提升该上限,或通过处理系统使用&d主动冷却剂&r。每个处理配方均会产生特定的热量影响。", "quests.gregtech_energy.fission_reactor.desc.8": "例如,若某配方的需求温度为&c100&r,热量影响为&6-10HU/t&r,当反应堆处于&c190&r度时,该配方实际可提供&619HU/t&r的冷却效果。\n\n这意味着你可以在反应堆最大热量上限较低的情况下持续运行,同时避免过热!若温度低于&c100&r,配方将完全停止运行——正如电弧炉配方也存在温度限制。\n\n以上便是&e我们&r当前能传授给你的全部知识。请随时关注技术进展,&e尊敬的核能工程师阁下&r!", "quests.high_voltage": "&6HV&r - 高压", "quests.high_voltage.subtitle": "升级能源系统,了解超净间,制造更多化学品,并为太空旅行做好准备", @@ -2862,7 +2955,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完成后,将其扔进&7聚爆压缩机&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。", @@ -2906,6 +2999,7 @@ "quests.high_voltage.rocket_t1.title": "你的第一个火箭!", "quests.high_voltage.rocket_t1.subtitle": "千里之行第一步", "quests.high_voltage.rocket_t1.desc": "哇哦,是时候建造你的&6火箭&r了!\n\n使用&d8个致密火箭合金&r组装所有部件。完成隔热层需要&b2304mB液态硅&r(相当于&b16个硅锭&r)和&f16份粉末&r。\n\n你有两种选择:\n&e-&r&e硼硅玻璃粉&r:在&6搅拌机&r中用&d硼&r与&f玻璃粉&r合成\n\n&e-&r&5玻璃化石棉粉&r:通过&6热解炉&r获取\n\n选择对你来说最简单的方案即可!", + "quests.high_voltage.rocket_t1.task": "任意火箭", "quests.high_voltage.vitrified_pearl.title": "玻璃化末影珍珠", "quests.high_voltage.vitrified_pearl.subtitle": "一种异域陶瓷", "quests.high_voltage.vitrified_pearl.desc": "将末影珍珠与适量隔热材料一同放入&e热解炉&r加热,将其充分玻璃化处理成类似&3陶瓷&r的材质。\n\n你目前的需求并不多——至少仅为&6火箭&r和&6HV电路组装机&r各准备一个即可。\n但请注意:从&5EV&r阶段开始,需求量将急剧攀升。", @@ -2981,11 +3075,13 @@ "quests.high_voltage.final_dust.subtitle": "终于!无限资源!", "quests.high_voltage.final_dust.desc": "这是在解锁&e金星&r上更高级的加工设施前,你能在&7月球&r上获取的所有&c无限资源&r。\n\n有了这些资源,你将拥有持续推进&d格雷科技&r进程所需的一切——尤其是维护月球基地&a正常运作&r的必需品。\n\n这些资源对以下用途至关重要:\n• 制作&dAE2组件&r\n• 生产&c无限&r供应的&6轨道炮弹药&r\n\n被动自动化现在就在你触手可及之处——迈步向前,让它成为现实!", "quests.high_voltage.titanium_greate.title": "钛级格雷机械", - "quests.high_voltage.titanium_greate.desc": "这是在 TFG 中可达成的最终等级格雷机械。若说它有何“极限”之处——那便是极致的可选性(完全不做也行)。", + "quests.high_voltage.titanium_greate.desc": "这是在TFG中可达成的最终等级格雷机械。若说它有何“极限”之处——那便是极致的可选性(完全不做也行)。", "quests.high_voltage.pisciculture.title": "水产养殖场", "quests.high_voltage.pisciculture.subtitle": "专为养殖鳕鱼设计的多方块结构。", "quests.high_voltage.pisciculture.desc.1": "&b水产养殖场&r不仅是稳定获取鱼类的“全能设施”,也是&3鱼菜共生循环&r中的重要一环。通过与&2电动温室&r构建配方循环,两者可相互提升产出效率。配置得当后,整套系统将实现&a自给自足&r。", "quests.high_voltage.pisciculture.desc.2": "&5提示:&r此结构可注入任何带&o&7#tfg:pisciculture_fishery_fluids&r&r标签的液体。但需注意:部分液体在&c太空中会冻结&r;若控制器未处于&n有氧环境&r,部分配方也将无法运行。", + "quests.high_voltage.multi_structure_terminal.subtitle": "就是更好", + "quests.high_voltage.multi_structure_terminal.desc": "&4多结构管理器&r是一个高级终端,直接由格雷科技的终端升级而来。你可以用同样的方式使用它:右键点击一个控制器来&e建造多方块结构&r,并拥有&d额外的选项&r来选择层级(多方块结构的尺寸或使用的线圈)以及是否放置输入/输出仓。\n\n它还能扫描附近的多方块结构,以升级它们的输入/输出仓或线圈;如果连接到你的&bME网络&r,它可以直接使用你的ME存储来升级这些端口。", "quests.low_voltage": "&7LV&r - 低压", "quests.low_voltage.subtitle": "驯服电力,开启你的格雷科技之旅", "quests.low_voltage.lv_machine_hull.title": "你的第二个机器外壳", @@ -3021,7 +3117,7 @@ "quests.low_voltage.lv_polariser.desc": "在&7LV&r阶段,这可以说是最经济的机器之一,能用于制造&6无需红石的磁化金属杆&r来生产电机。当你开始批量制造电机时,这台机器能为你节省大量红石。", "quests.low_voltage.link_chapter.title": "给我解释一下能量", "quests.low_voltage.link_chapter.subtitle": "有一整章关于能量的内容", - "quests.low_voltage.link_chapter.desc": "这看起来可能需要阅读很多内容,但如果你想避免意外并充分利用你的发电设备,理解这些内容是很重要的。\n\n格雷科技的能量系统(EU,能量单位)与几乎所有其他模组使用的 FE(Forge能量)系统的工作方式不同。\n\n在&7LV&r阶段有四种发电方式,而且都是可行的选择。如果你是格雷科技的新手,蒸汽发电是最简单的,但随着你进入更高的等级,它的效率会迅速下降。气体燃料的生产更为复杂,但对应的发电机成本最低。内燃机则介于两者之间。\n\n这里是格雷科技能源章节的链接", + "quests.low_voltage.link_chapter.desc": "格雷科技的能量系统(EU,能量单位)与几乎所有其他模组使用的 FE(Forge能量)系统的工作方式不同。\n\n这看起来可能需要阅读很多内容,但如果你想避免意外并充分利用你的发电设备,理解这些内容是很重要的。\n\n在&7LV&r阶段有四种发电方式,而且都是可行的选择。如果你是格雷科技的新手,蒸汽发电是最简单的,但随着你进入更高的等级,它的效率会迅速下降。气体燃料的生产更为复杂,但对应的发电机成本最低。内燃机则介于两者之间。\n\n这里是格雷科技能源章节的链接", "quests.low_voltage.link_chapter.task": "我读过了", "quests.low_voltage.lv_combuston_gen.title": "内燃发电机", "quests.low_voltage.lv_combuston_gen.subtitle": "它会轰隆作响并产生能量", @@ -3537,6 +3633,9 @@ "quests.medium_voltage.stainless_greate.title": "不锈钢级格雷机械", "quests.medium_voltage.stainless_greate.subtitle": "高应力", "quests.medium_voltage.stainless_greate.desc": "本任务仅用于告知:格雷机械在此阶段迎来了又一次升级。\n\n你可能会发现新一代粉碎轮颇为实用——它们不仅能像HV研磨机一样提供全额副产物,还可同时处理多个物品!", + "quests.medium_voltage.terminal_dismantler.title": "拆卸器终端", + "quests.medium_voltage.terminal_dismantler.subtitle": "当你觉得扳手还不够快时", + "quests.medium_voltage.terminal_dismantler.desc": "&8结构拆卸器&r是一个非常便捷的工具,允许你通过按住Shift并右键点击控制器来瞬间拆解多方块结构。但请注意,该多方块结构必须处于已成型状态才能被完整拆卸。", "quests.metal_age": "冶金时代", "quests.metal_age.subtitle": "你的第一次技术进步。", "quests.metal_age.weld_bronze_ingots.title": "焊接青铜", @@ -3566,6 +3665,9 @@ "quests.metal_age.wrought_iron_anvil.title": "三级砧:锻铁", "quests.metal_age.wrought_iron_anvil.subtitle": "水车、风车和更多格雷机械", "quests.metal_age.wrought_iron_anvil.desc": "有了锻铁砧,你将能够将锻铁锭加工成不同的物品,如薄板、工具头等。\n\n锻铁工具和盔甲相比青铜改进不大,但耐久度高得多。\n\n制作下一级砧的难度将有显著的提升,所以这是一个安顿下来并探索这个整合包提供的其他东西的好时机。", + "quests.metal_age.toolbelt.title": "工具皮带", + "quests.metal_age.toolbelt.subtitle": "解放你的物品栏!", + "quests.metal_age.toolbelt.desc": "将一个工具皮带放入你的&6腰带装备栏&r,即可腾出整整一行的物品栏空间!\n\n你可以随时按下&a切换工具&r(默认:X)快捷键,打开一个轮盘菜单来快速更换工具。\n\n工具皮带可以通过添加八个皮带袋来升级,最多可容纳9件物品。", "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你也可以直接将控制器方块放在世界中,并在潜行时与之交互以创建缺失方块的全息图。", @@ -3932,12 +4034,20 @@ "quests.space_survival.bulbkin_pie.desc": "诡恐鸟蛋可提取作为糖的替代品,而嗅探兽蛋则富含奶油。\n\n&e球根南瓜派&r堪称火星美食的巅峰之作,能同时提供四种不同类型的丰厚营养,但制作过程颇为繁琐。\n\n&e啤酒裹炸恐龙块&r将恐龙肉的高蛋白与少量谷物相结合,也可放入你的餐包中携带。\n\n&9提示:&r虽然不属于食品范畴,但你还可以将球根南瓜块与首新世蘑菇块混合制作成荧石粉。", "quests.space_survival.soarer.title": "翱翔鸟", "quests.space_survival.soarer.subtitle": "需要搭个便车吗?", - "quests.space_survival.soarer.desc": "在火星上飞机无法使用,而太空服也没有配备喷气背包,难道就没有其他飞行方法了吗?\n\n如果你能找到行踪飘忽的&4翱翔鸟&r,可以用生鱼驯服它们并装上鞍,即可轻松翱翔于火星天际。\n\n不过它们无法永久飞行——注意界面左上角的翼形图标,需要不时降落休息。这仍是长途旅行的绝佳选择,而且不会惊动沙虫!\n\n&9注意&r:翱翔鸟无法在&6金星&r等高温行星生存。", + "quests.space_survival.soarer.desc": "在火星上飞机无法使用,而太空服也没有配备喷气背包,难道就没有其他飞行方法了吗?\n\n如果你能找到行踪飘忽的&4翱翔鸟&r,可以用生鱼驯服它们并装上鞍,即可轻松翱翔于火星天际。\n\n不过它们无法永久飞行——注意界面左上角的翼形图标,需要不时降落休息。(你可以给它们喂更多生鱼来加快恢复速度。)\n\n这仍是长途旅行的绝佳选择,而且不会惊动沙虫!\n\n&9注意&r:翱翔鸟无法在&6金星&r等高温行星生存。", "quests.space_survival.soarer.task": "找到翱翔鸟", "quests.space_survival.surfer.title": "破浪兽", "quests.space_survival.surfer.subtitle": "需要游个泳吗?", "quests.space_survival.surfer.desc": "&b破浪兽&r可在火星的小型水域中发现。当它们躺在岸边时,你可以潜行靠近并用生鱼驯服。驯服后装备上鞍,便能借助它们在水中快速游动。\n\n这在火星听起来或许不太实用,但请记住你可以通过AE2的&b空间存储磁盘&r跨星球运输实体——未来某颗冰封的海洋星球或许正需要它们……\n\n&9注意&r:破浪兽无法在&6金星&r等高温行星生存。", "quests.space_survival.surfer.task": "找到破浪兽", + "quests.space_survival.charger.title": "冲撞兽", + "quests.space_survival.charger.subtitle": "冲啊啊啊啊啊!", + "quests.space_survival.charger.desc": "&b冲撞兽&r是一种大型绿色草食动物,可在火星上漫游时找到。你可以用任何火星作物驯服它们,但不要喂它们&c甜菜根&r……\n\n一旦驯服,你可以为它们装备鞍和盔甲以提供额外防御,长按空格键可直线向前冲刺(造成额外伤害和击退),或按下&e特殊能力&r按键(默认&9C&r)进行头槌攻击。\n\n喂食更多火星作物可恢复它们的生命值。\n\n&9注意&r:冲撞兽无法在特别炎热的星球(例如&6金星&r)上生存。", + "quests.space_survival.charger.task": "找到一只冲撞兽", + "quests.space_survival.snatcher.title": "窃取兽", + "quests.space_survival.snatcher.subtitle": "嗖!(偷走)", + "quests.space_survival.snatcher.desc": "&b窃取兽&r是友好动物,喜欢偷你的东西!攻击它们可以取回物品,或喂食生鱼来驯服它们。\n\n一旦驯服,你可以将它们背在背上,并为它们装备一个木箱子来获得少量额外存储空间。按下&e特殊能力&r按键(默认&9C&r)将其扔出,它们会偷取附近箱子的内容物并带给你。\n\n喂食更多生鱼可恢复它们的生命值。\n\n&9注意&r:窃取兽无法在特别炎热的星球(例如&6金星&r)上生存。", + "quests.space_survival.snatcher.task": "找到一只窃取兽", "quests.space_survival.sniffer_or_wraptor.title": "嗅探兽和诡恐鸟", "quests.space_survival.sniffer_or_wraptor.subtitle": "牛和鸡", "quests.space_survival.sniffer_or_wraptor.desc": "&2嗅探兽&r与&d诡恐鸟&r遍布火星各地,驯养后可稳定产出肉类、蛋类,更重要的是能获取它们富含矿物质的绒毛与羽毛。\n\n它们以所有火星作物为食,你可像在地球上一样使用饲料槽实现自动化喂养与繁殖。", @@ -3949,10 +4059,10 @@ "quests.space_survival.mars_nest.task": "任意兽巢", "quests.space_survival.mineral_rich_wool.title": "矿物富集绒毛", "quests.space_survival.mineral_rich_wool.subtitle": "由多年沙尘暴积淀形成", - "quests.space_survival.mineral_rich_wool.desc": "当你的嗅探兽或诡恐鸟培养足够亲密度后,可通过剪毛获取这些富含矿物质的绒毛或羽毛。\n\n这些材料可在电力高炉中熔炼,稳定产出成本低廉的碱土硅酸盐,同时也是制作&6生物AES增强R型聚氨酯泡沫&r的必要组件。", + "quests.space_survival.mineral_rich_wool.desc": "当你的嗅探兽或诡恐鸟培养足够亲密度后,可通过剪毛获取这些富含矿物质的绒毛或羽毛。(可以通过使用持剪刀的机械手实现自动化。)\n\n这些材料可在电力高炉中熔炼,稳定产出成本低廉的碱土硅酸盐,同时也是制作&6生物AES增强R型聚氨酯泡沫&r的必要组件。", "quests.space_survival.aes_insulation.title": "多层隔热屏蔽层", "quests.space_survival.aes_insulation.subtitle": "这可不是冰淇淋三明治", - "quests.space_survival.aes_insulation.desc": "该物品目前用途有限,但未来将成为你的&1IV&r级火箭的关键构成部分。", + "quests.space_survival.aes_insulation.desc": "用于制造部分&1IV&r阶段的组件。", "quests.space_survival.mars_shields.title": "高级盾牌", "quests.space_survival.mars_shields.subtitle": "是时候该升级你的旧式金属盾牌了?", "quests.space_survival.mars_shields.desc": "&3加固盾牌&r能将伤害反弹给攻击者,效果类似原版Minecraft中的荆棘附魔。其合成材料可从贪咀兽和噬颚兽处获取。\n\n&5腐化之盾&r会随机传送攻击者,虽能有效拉开距离……但也可能将其传至你身后。所需牙齿来自地下洞穴中的末影人。\n\n&4反击之盾&r可吸收一定伤害后释放震荡波,对周围所有生物造成伤害。其动能核心是火星洞穴中敌对傀儡的稀有掉落物。", @@ -4228,7 +4338,7 @@ "quests.stone_age.soup_time.desc": "用黏土烧制一个陶锅和一些碗,你就能做出汤了!\n\n汤是制作更复杂餐点的最初也是最简单的方法之一。与食用普通食材不同,汤能提供更多的饱食度,并让你一次性摄入多种营养素!", "quests.stone_age.meals.title": "餐点", "quests.stone_age.meals.subtitle": "快到碗里来!", - "quests.stone_age.meals.desc": "这些只是你可以制作的一些基本餐点。汤、沙拉和三明治是你制作高饱食度混合餐点的首选,而披萨是唯一能同时包含所有营养类型的食物。", + "quests.stone_age.meals.desc": "这些只是你可以制作的一些基本餐点。汤、沙拉和三明治是你制作高饱食度混合餐点的首选。", "quests.stone_age.meals.tasks.1": "任意普通三明治", "quests.stone_age.meals.tasks.2": "任意普通果酱三明治", "quests.stone_age.garlic_bread.title": "大蒜面包……?", @@ -4252,8 +4362,8 @@ "quests.stone_age.water_bucket.subtitle": "不像你想的那么容易得到", "quests.stone_age.water_bucket.desc": "随身携带水源是永不枯竭的简单方法,但有点笨重。\n\n不幸的是,木桶不能用来喝水,因为它们不能移动源方块,所以尝试在世界上放置它只会产生一个非常小的水坑。", "quests.stone_age.glass_bottles.title": "玻璃瓶", - "quests.stone_age.glass_bottles.subtitle": "不如皮革水囊酷", - "quests.stone_age.glass_bottles.desc": "玻璃瓶和皮革水囊一样有效,可容纳500mb的水。然而,吹制玻璃瓶要等到以后,一旦你有能力塑造黄铜才行。", + "quests.stone_age.glass_bottles.subtitle": "不如皮革水壶酷", + "quests.stone_age.glass_bottles.desc": "玻璃瓶和皮革水壶一样有效,可容纳500mb的水。然而,吹制玻璃瓶要等到以后,一旦你有能力塑造黄铜才行。", "quests.stone_age.water_jug.title": "水壶", "quests.stone_age.water_jug.subtitle": "相对容易获得的水", "quests.stone_age.water_jug.desc": "陶壶是你可以制作的最早的液体容器,但它只能容纳100mb,所以你每次喝完都需要重新装满它。\n\n陶壶相对脆弱,在你饮用时有随机几率会破碎!", diff --git a/kubejs/assets/wan_ancient_beasts/lang/uk_ua.json b/kubejs/assets/wan_ancient_beasts/lang/uk_ua.json index 00ebadd53..5272c69dc 100644 --- a/kubejs/assets/wan_ancient_beasts/lang/uk_ua.json +++ b/kubejs/assets/wan_ancient_beasts/lang/uk_ua.json @@ -4,20 +4,22 @@ "item.wan_ancient_beasts.toxlacanth": "Сирий токсакант", "item.wan_ancient_beasts.raw_ancient_meat": "Сире стегно пожирача", "item.wan_ancient_beasts.cooked_ancient_meat": "Смажене стегно пожирача", - "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_black": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_gray": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_gray": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_white": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_pink": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_magenta": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_purple": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_blue": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_blue": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_cyan": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_green": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_lime": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_yellow": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_orange": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_red": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_brown": "Окрашивание" + "config.jade.plugin_tfc.surfer": "Серфер", + "config.jade.plugin_tfc.soarer": "Паритель", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_black": "Фарбування", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_gray": "Фарбування", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_gray": "Фарбування", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_white": "Фарбування", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_pink": "Фарбування", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_magenta": "Фарбування", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_purple": "Фарбування", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_blue": "Фарбування", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_light_blue": "Фарбування", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_cyan": "Фарбування", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_green": "Фарбування", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_lime": "Фарбування", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_yellow": "Фарбування", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_orange": "Фарбування", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_red": "Фарбування", + "tfc.recipe.barrel.tfg.barrel.dyeing.charger_armor_brown": "Фарбування" } \ No newline at end of file diff --git a/kubejs/assets/xaeroworldmap/lang/uk_ua.json b/kubejs/assets/xaeroworldmap/lang/uk_ua.json new file mode 100644 index 000000000..6d263e93a --- /dev/null +++ b/kubejs/assets/xaeroworldmap/lang/uk_ua.json @@ -0,0 +1,297 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "key.category.xaeroworldmap.controls": "Xaero's World Map", + "gui.xaero_open_map": "Відкрити мапу світу", + "gui.xaero_open_settings": "Відкрити налаштування", + "gui.xaero_debug": "Налагодження", + "gui.xaero_lighting": "Освітлення", + "gui.xaero_block_colours": "Кольори блоків", + "gui.xaero_accurate": "Точний", + "gui.xaero_vanilla": "Ванільний", + "gui.xaero_load_chunks": "Завантажити нові чанки", + "gui.xaero_update_chunks": "Оновити чанки", + "gui.xaero_terrain_depth": "Глибина рельєфу", + "gui.xaero_terrain_slopes": "Нахили рельєфу", + "gui.xaero_footsteps": "Сліди", + "gui.xaero_light_levels": "Рівні освітлення", + "gui.xaero_requires_reload": "Перезавантажте світ, щоб застосувати зміни! Нижче ", + "gui.xaero_flowers": "Відображати квіти", + "gui.xaero_texture_compression": "Стискання текстур", + "gui.xaero_world_map_screen": "Екран мапи світу", + "gui.xaero_world_map_settings": "Налаштування Xaero's World Map", + "gui.xaero_wm_coordinates": "Координати курсору", + "gui.xaero_biome_colors": "Біоми у ванільному режимі", + "gui.xaero_worldmap_waypoints": "Точки на мапі світу", + "gui.xaero_map_zoom_in": "Приблизити (альтернативно)", + "gui.xaero_map_zoom_out": "Віддалити (альтернативно)", + "gui.xaero_map_unconfirmed": "Мапа світу потребує підтвердження!", + "gui.xaero_confirm": "Підтвердити", + "gui.xaero_cancel": "Скасувати", + "gui.xaero_map_selection": "Вибір мапи", + "gui.xaero_mw_single": "Одиночний", + "gui.xaero_mw_manual": "Ручний", + "gui.xaero_mw_spawn": "Точка відродження", + "gui.xaero_create_new_map": "Створити нову мапу", + "gui.xaero_rename": "Перейменувати", + "gui.xaero_delete": "Видалити", + "gui.xaero_map_name": "Назва мапи світу", + "gui.xaero_delete_map_msg1": "Ви впевнені, що хочете видалити вибрану мапу?", + "gui.xaero_delete_map_msg2": "Резервна копія зберігається лише для останньої видаленої мапи.", + "gui.xaero_delete_map_msg3": "Будь ласка, підтвердіть видалення, ще раз натиснувши Так.", + "gui.xaero_delete_map_msg4": "Мапа", + "gui.xaero_quick_confirm": "Швидке підтвердження вручну", + "gui.xaero_default": "Усталено", + "gui.xaero_map_selection_box": "Вручну - вам буде запропоновано вибрати і підтвердити мапу світу щоразу, коли ви змінюєте світи або виміри. \n \n Світ появи - мапа світу вибирається і підтверджується автоматично на основі точки спауну світу, про яку знає ігровий клієнт. Може зламатися, якщо сервер використовує ванільний предмет компаса для користувацької функції. \n \n Ручний - для кожного виміру є єдина мапа світу, що підтверджується автоматично. Корисно для простих серверів з одним світом. \n \n Серверний - встановіть мод мапи світу на стороні сервера, щоб використовувати цей автоматичний режим.", + "gui.xaero_select_map": "Виберіть мапу", + "gui.xaero_render_arrow": "Відобразити вказівник гравця", + "gui.xaero_display_zoom": "Відображати показник наближення", + "gui.xaero_wm_ignore_heightmaps": "Ігнорувати мапи висот сервера", + "gui.xaero_wm_box_ignore_heightmaps": "Деякі сервери використовують власні значення у мапах висот, що може призвести до некоректного відображення мап. Іноді це може статися навіть у сильно модифікованих однокористувацьких світах. Цей параметр має виправити такі проблеми за рахунок невеликого зниження продуктивності. Не використовуйте без потреби. Після увімкнення цієї опції перезайдіть у світ!", + "gui.xaero_wm_waypoint_scale": "Розмір міток", + "gui.xaero_wm_error_loading_properties": "Помилка завантаження властивостей мапи світу на сервері. Будь ласка, спробуйте ще раз.", + "gui.xaero_mw_server": "Сервер", + "gui.xaero_mw_server_box": "Вибір мапи автоматично контролюється сервером. Ви можете вимкнути це за допомогою \"ignoreServerLevelId\" у конфігурації для конкретного сервера у каталозі XaeroWorldMap.", + "gui.xaero_wm_next": "Далі >>", + "gui.xaero_wm_previous": "<< Назад", + "gui.xaero_wm_slopes_legacy": "Класика", + "gui.xaero_open_map_animation": "Анімація при відкритті", + "gui.xaero_wm_slopes_default_3d": "Звичайне 3D", + "gui.xaero_wm_slopes_default_2d": "Звичайне 2D", + "effect.xaeroworldmap.no_world_map": "Повна топографічна ненавченсть", + "effect.xaeroworldmap.no_world_map_harmful": "Повна топографічна дезорієнтація", + "effect.xaeroworldmap.no_world_map_beneficial": "Щастя топографічного невігластва", + "gui.xaero_no_world_map_message": "Ефект зілля перешкоджає використанню мапи.", + "gui.xaero_box_zoom_in": "%s Збільшити \n (або коліщатком)", + "gui.xaero_box_zoom_out": "%s Зменшити \n (або коліщатком)", + "gui.xaero_box_controls": "Елементи керування \n \n Клацніть і перетягніть, щоб переміщуватися по мапі. \n Прокручуйте коліщатко миші, щоб збільшити або зменшити масштаб (CTRL для точності). \n Клацніть ПКМ по мапі, щоб використати деякі швидкі дії. \n Деякі кнопки інтерфейсу можуть активуватися за прив'язаною клавішею, що вказана у їхніх підказках. \n \n Клацніть ПКМ по елементу мапи (мітці тощо), щоб відкрити його функції. \n %1$sНатисніть тут, щоб відредагувати прив'язки клавіш.", + "gui.xaero_box_controls_minimap": "§2%s§r, щоб створити нову мітку. \n §2%s§r, щоб створити швидку тимчасову мітку. \n §2%s§r для перемикання набору міток. \n §2%s§r для перемикання відображення усіх наборів міток. \n §2%s§r відкрити повне меню міток. \n \n ", + "gui.xaero_box_controls_pac": "§2%s§r відкрити меню Parties and Claims. \n \n ", + "gui.xaero_box_export": "Експорт мапи у формат PNG.", + "gui.xaero_export_confirm_1": "Ви хочете експортувати мапу у файл PNG?", + "gui.xaero_export_confirm_2": "Під час виконання цієї операції гра буде тимчасово призупинена.", + "gui.xaero_box_map_switching": "Параметри перемикання мап", + "gui.xaero_box_open_waypoints": "Мітки", + "gui.xaero_box_close_waypoints": "Закрити мітки", + "gui.xaero_box_open_settings": "§2%s§r Відкрити налаштування", + "gui.xaero_box_close_settings": "§2%s§r Закрити налаштування", + "gui.xaero_wm_up": "[Перейти вгору]", + "gui.xaero_wm_down": "[Перейти вниз]", + "gui.xaero_filter_waypoints_by_name": "Фільтрувати мітки...", + "gui.xaero_wm_search_invalid_regex": "Неправильний синтаксис Regex!", + "gui.xaero_box_full_waypoints_menu": "%s Відкрити повне меню міток", + "gui.xaero_box_rendering_all_sets": "%s Відображення всіх наборів міток", + "gui.xaero_box_rendering_current_set": "%s Відображення тільки поточного набору", + "gui.xaero_zoom_buttons": "Клавіши масштабування", + "gui.xaero_box_showing_disabled": "Вимкнені мітки показано", + "gui.xaero_box_hiding_disabled": "Вимкнені мітки приховано", + "gui.xaero_box_waypoints_minimap_required": "Функція міток потребує мод Xaero's Minimap!", + "gui.xaero_box_waypoints_disabled": "У налаштуваннях мапи світу функцію міток вимкнено!", + "gui.xaero_right_click_waypoint_edit": "§2%s§r Редагувати мітку", + "gui.xaero_right_click_waypoint_teleport": "§2%s§r Телепортуватися до мітки", + "gui.xaero_right_click_waypoint_disable": "§2%s§r Вимкнути мітку", + "gui.xaero_right_click_waypoint_enable": "§2%s§r Увімкнути мітку", + "gui.xaero_right_click_waypoint_restore": "Відновити мітку", + "gui.xaero_right_click_waypoint_delete_confirm": "§2%s§r Підтвердити видалення", + "gui.xaero_right_click_waypoint_delete": "§2%s§r Видалити мітку", + "gui.xaero_right_click_map_create_waypoint": "§2%s§r Нова мітка...", + "gui.xaero_right_click_map_create_temporary_waypoint": "§2%s§r Нова тимчасова мітка...", + "gui.xaero_right_click_map_waypoints_menu": "§2%s§r Меню міток...", + "gui.xaero_right_click_map_teleport": "Телепортуватися сюди", + "gui.xaero_right_click_map_title": "Виберіть опцію", + "gui.xaero_right_click_box_map_settings": "§2%s§r Налаштування...", + "gui.xaero_right_click_box_map_export": "Експорт мапи як PNG", + "gui.xaero_waypoint_backgrounds": "Відображати тло міток", + "gui.xaero_right_click_map_cant_teleport": "§8(Телепорт) Невизначена висота...", + "gui.xaero_right_click_map_cant_teleport_world": "§8(Телепорт) Непідтверджено...", + "gui.xaero_right_click_map_cant_create_waypoint": "§8Неможливо встановити тут мітку...", + "gui.xaero_no_world_map_item_message": "Мод налаштовано так, щоб вимагати наявність наступного предмета на вас чи у вашому хотбарі:", + "gui.xaero_right_click_waypoint_share": "Поділитися міткою у чаті", + "gui.xaero_right_click_map_share_location": "Поділитися локацією у чаті", + "gui.xaero_right_click_map_cant_share_location": "§8Неможливо поділитися цим місцем...", + "gui.xaero_current_map_locked1": "Поточна вибрана мапа використовується іншим процесом (клієнтом Minecraft).", + "gui.xaero_current_map_locked2": "Будь ласка, виберіть іншу мапу цього сервера (іконка внизу ліворуч).", + "gui.xaero_wm_detect_ambiguous_y": "Виявлення неоднозначних значень Y серед дослідженого", + "gui.xaero_wm_box_detect_ambiguous_y": "Один піксель на мапі може містити декілька прозорих шарів і непрозорий блок під ними. У старих некешованих файлах даних мап у таких випадках зберігається лише рівень (висота) непрозорого блоку, що часто робить сліпу телепортацію до збереженої координати Y небезпечною. Коли цей параметр увімкнено, мод поводиться з такими пікселями мапи так, як з невиявленими ділянками. Усталено він використовує 2D-мітки і вимикає пряму телепортацію до таких пікселів. Не ризикуйте вимикати цю опцію!", + "gui.xaero_box_closing_menu_when_hopping": "Закривати меню при переході до мітки (ЛКМ у меню)", + "gui.xaero_box_not_closing_menu_when_hopping": "Не закривати меню при переході до мітки (ЛКМ у меню)", + "gui.xaero_wm_update_notification": "Сповіщення про оновлення", + "gui.xaero_wm_adjust_height_for_carpetlike_blocks": "Підлаштовувати Y для тонких блоків", + "gui.xaero_wm_box_adjust_height_for_carpetlike_blocks": "Віднімати 1 від значення висоти для коротких килимоподібних блоків накшталт килимів, одношарового снігу, конвалій тощо. Це запобігає різкому затіненню таких блоків на мапі, як у випадку з повним блоком. Мітки і телепортація над цими блоками також стануть точнішими.", + "gui.xaero_box_only_current_map_waypoints": "Відображати лише прив'язані до поточної мапи світу мітки, навіть якщо інший підсвіт міток вибрано для мінімапи за допомогою повного меню міток.", + "gui.xaero_box_waypoints_selected_by_minimap": "Відображати мітки з того самого підсвіту міток, який ви бачите у грі та на міні-мапі. Підсвіт можна перемикати у повному меню міток.", + "gui.xaero_wm_min_zoom_local_waypoints": "Мінімальний масштаб для локальних міток", + "gui.xaero_wm_arrow_colour": "Колір стрілки", + "gui.xaero_wm_box_arrow_color": "Колір стрілки, що вказує на положення та напрямок гравця.", + "gui.xaero_wm_color_minimap": "Мінімапа", + "gui.xaero_wm_red": "Червоний", + "gui.xaero_wm_green": "Зелений", + "gui.xaero_wm_blue": "Синій", + "gui.xaero_wm_yellow": "Жовтий", + "gui.xaero_wm_purple": "Фіолетовий", + "gui.xaero_wm_white": "Білий", + "gui.xaero_wm_black": "Чорний", + "gui.xaero_wm_legacy_color": "Класичний", + "gui.xaero_wm_team_color": "Команда", + "gui.xaero_wm_using_custom_subworld": "Мітки: %1$s", + "gui.xaero_box_minimap_radar": "%s Радар сутностей на мінімапі відображається (потребує Xaero's Minimap)", + "gui.xaero_box_no_minimap_radar": "%s Радар сутностей на мінімапі не відображається", + "gui.xaero_wm_toggle_minimap_radar": "Увімкнути радар мінімапи на мапі світу", + "gui.xaero_wm_player_same_party": "Та ж команда", + "gui.xaero_wm_player_ally_party": "Союзницька команда", + "gui.xaero_box_players_pac_required": "Функція меню команди гравця потребує мод Open Parties and Claims!", + "gui.xaero_box_claims_pac_required": "Функція вибору чанків потребує мод Open Parties and Claims!", + "gui.xaero_box_pac_displaying_claims": "%s Привласнені чанки відображаються", + "gui.xaero_box_pac_not_displaying_claims": "%s Привласнені чанки не відображаються", + "gui.xaero_wm_pac_player_teleport_command": "Команда телепортації гравця", + "gui.xaero_wm_box_pac_player_teleport_command": "Команда чату, яка використовується на цьому світі/сервері для телепортації вас до інших гравців на мапі, коли встановлено Open Parties and Claims.", + "gui.xaero_wm_pac_marked_for_forceload": " (Завантажується примусово)", + "gui.xaero_wm_pac_claim_tooltip": "Ділянка %1$s%2$s", + "gui.xaero_wm_pac_server_claim_tooltip": "Ділянка сервера%1$s", + "gui.xaero_wm_pac_expired_claim_tooltip": "Прострочена ділянка%1$s", + "gui.xaero_box_rendering_waypoints": "%s Мітки відображаються", + "gui.xaero_box_not_rendering_waypoints": "%s Мітки не відображаються", + "gui.xaero_box_showing_tracked_players": "%s Гравці відображаються", + "gui.xaero_box_hiding_tracked_players": "%s Гравці не відображаються", + "gui.xaero_toggle_tracked_players": "Перемикання відстеження гравців", + "gui.xaero_wm_player_teleport_command": "Команда телепортації гравця", + "gui.xaero_wm_box_player_teleport_command": "Команда чату, яка використовується на цьому світі/сервері для телепортації вас до гравців, що відстежуються на мапі (не на звичайному радарі).", + "gui.xaero_filter_players_by_name": "Фільтрувати гравців...", + "gui.xaero_right_click_player_teleport": "§2%s§r Телепорт. до гравця", + "gui.xaero_right_click_player_config": "§2%s§r Налаштувати гравця", + "gui.xaero_box_close_players": "Закрити меню відстеження гравців", + "gui.xaero_box_open_players": "Меню відстеження гравців", + "gui.xaero_toggle_pac_chunk_claims": "Перемикання привласнених ділянок", + "gui.xaero_pac_claim_chunks": "Привласнити ділянку", + "gui.xaero_pac_unclaim_chunks": "Звільнити ділянку", + "gui.xaero_pac_forceload_chunks": "Заст. завантажування", + "gui.xaero_pac_unforceload_chunks": "Зняти завантажування", + "gui.xaero_pac_claim_selection_out_of_range": "§8(Claims) Задалеко...", + "gui.xaero_wm_pac_claims": "Відобразити привласнені ділянки", + "gui.xaero_wm_box_pac_claims": "Відображати кольорові ділянки привласнених чанків Open Parties and Claims.", + "gui.xaero_wm_pac_claims_border_opacity": "Непрозорість границь ділянок", + "gui.xaero_wm_box_pac_claims_border_opacity": "Непрозорість кольору границь привласнених ділянок. Привласнення чанків доступно із модом Open Parties and Claims.", + "gui.xaero_wm_pac_claims_fill_opacity": "Непрозорість забарвлення ділянок", + "gui.xaero_wm_box_pac_claims_fill_opacity": "Непрозорість основного забарвлення привласнених ділянок. Привласнення чанків доступно із модом Open Parties and Claims.", + "gui.xaero_map_menu_please_wait": "Чекайте...", + "gui.xaero_wm_teleport_command": "Команда телепортації по мапі", + "gui.xaero_wm_teleport_command_waypoints": "Команда мітки", + "gui.xaero_wm_teleport_command_waypoints_hint": "Телепортація до міток налаштовується за допомогою мінімапи.", + "gui.xaero_wm_teleport_allowed": "Телепортація по мапі", + "gui.xaero_wm_teleport_allowed_tooltip": "Чи дозволено телепортацію по мапі за ПКМ-функцією. Якщо вимкнено, її можна увімкнути лише за допомогою конфігураційного файлу для конкретного світу у теці XaeroWorldMap. Телепортація до міток налаштовується окремо у повному меню міток.", + "gui.xaero_wm_right_click_map_teleport_not_allowed": "§8(Телепортація) Вимкнена", + "gui.xaero_wm_option_requires_minimap": "Ця опція вимагає наявності мода Xaero's Minimap.", + "gui.xaero_wm_option_requires_ingame": "Ця опція вимагає, щоб ви були у грі.", + "gui.xaero_wm_settings_search": "Налаштування пошуку", + "gui.xaero_wm_settings_search_placeholder": "Шукати...", + "gui.xaero_wm_settings_not_found": "За вашим запитом результатів не знайдено!", + "gui.xaero_wm_minimap_settings": "Налаштування мінімапи", + "gui.xaero_wm_reset_defaults": "Відновити усталені налаштування", + "gui.xaero_wm_reset_message": "Ви впевнені, що хочете відновити усталені налаштування?", + "gui.xaero_wm_reset_message2": "Цю дію не можна скасувати!", + "gui.xaero_wm_partial_y_teleportation": "Додавати частку до Y при телепортації", + "gui.xaero_wm_box_partial_y_teleportation": "При телепортації до місця на мапі зміщує координату Y на 0.5, щоб уникнути падіння крізь килимоподібні блоки в порожнечу. В іншому випадку використовується ціла координата Y.", + "gui.xaero_wm_display_stained_glass": "Відображати шибки", + "gui_xaero_wm_dropdown_map_select": "Вибір мапи", + "gui.xaero_wm_hovered_biome": "Біом під курсором", + "gui.xaero_wm_unknown_biome": "Невідомий біом", + "gui.xaero_wm_cave_mode_depth": "Глибина режиму печер", + "gui.xaero_box_update_chunks": "Оновювати чанки на мапах без збереження світу (в грі у мережі).", + "gui.xaero_box_load_chunks": "Додавати нові чанки на мапах без збереження світу (в грі у мережі).", + "gui.xaero_wm_legible_cave_maps": "Розбірливі мапи печер", + "gui.xaero_wm_box_legible_cave_maps": "В режимі печер використовувати освітлення на основі глибини, щоб легше було подумки розрізняти різні шари.", + "gui.xaero_box_cave_mode": "Режим печер", + "gui.xaero_box_cave_mode_not_allowed": "Режим печер (заборонено)", + "gui.xaero_wm_cave_mode_start_auto": "авто", + "gui.xaero_wm_cave_mode_start": "Верхня Y режиму печер", + "gui.xaero_wm_cave_mode_type": "Тип режиму печер", + "gui.xaero_wm_box_cave_mode_type": "Тип режиму печер, який використовуватиметься, коли режим печер увімкнено. \n \n Вимкнено - відображати поверхню, навіть якщо режим печер увімкнено автоматично або вручну (як у старих версіях мапи світу без режиму печер) \n Шаруватий - розділити мапу печер на кілька шарів залежно від налаштованої верхньої Y \n Повний - ігнорувати верхню Y, використовувати один шар для мапи печер і відображати все від верхньої до нижньої частин світу.", + "gui.xaero_wm_default_cave_mode_type": "Усталений тип режиму печер", + "gui.xaero_wm_box_default_cave_mode_type": "Усталений тип режиму печер, який призначається вимірам, що відвідуються вперше у світі/сервері. Ви можете прочитати більше про типи режимів печер, натиснувши на іконку печерного режиму на екрані мапи.", + "gui.xaero_wm_cave_mode_type_layered": "Шаруватий", + "gui.xaero_wm_cave_mode_type_full": "Повний", + "gui.xaero_auto_cave_mode": "Автоматичний режим печер", + "gui.xaero_box_auto_cave_mode": "Поведінка визначення «автоматичної» верхньої Y при перегляді повноекранної мапи. Розмір стелі відноситься до розміру квадратної стелі із суцільних блоків, яку потрібно виявити над вами, щоб активувати режим печер. Суцільні блоки не обов'язково повинні бути на одному рівні по осі Y. \n \n Мінімапа - якщо встановлено, має відповідатиме режиму печер мінімапи, інакше використовуватиме розмір стелі 3x3", + "gui.xaero_auto_cave_mode_minimap": "Мінімапа", + "gui.xaero_wm_ceiling": "Стеля", + "gui.xaero_wm_display_cave_mode_start": "Відобразити верхню Y режиму печер", + "gui.xaero_wm_cave_mode_start_display": "Верхня Y: %d", + "gui.xaero_wm_cave_mode_toggle_timer": "Таймер перемикання режиму печери", + "gui.xaero_wm_box_cave_mode_toggle_timer": "Мінімальний час очікування між перемиканнями режиму печери, щоб запобігти метушіння при швидкому переходу між стелею і її відсутністю. Це стосується лише тих випадків, коли «Автоматичний режим печер» не визначається модом мінімапи. Остання версія мапи має для цього окреме налаштування.", + "effect.xaeroworldmap.no_cave_maps": "Повна печерна топографічна ненавченсть", + "effect.xaeroworldmap.no_cave_maps_harmful": "Повна печерна топографічна дезорієнтація", + "gui.xaero_wm_biome_blending": "Змішування біомів", + "gui.xaero_wm_box_biome_blending": "Згладжує межі кольорів біома шляхом вибірки кольорів біома для декількох блоків для кожного блоку на мапі. Вимкнення цього параметра може значно покращити продуктивність, коли обчислення кольорів біомів модифіковано на значно важчий за ванільний варіант.", + "gui.xaero_png_result_not_prepared": "Поки не можна експортувати! Мапа світу ще не підготовлена.", + "gui.xaero_png_result_empty": "Область експорту порожня!", + "gui.xaero_png_result_too_big": "Область експорту занадто велика, щоб зменшити її! Будь ласка, зробіть менший вибір.", + "gui.xaero_png_result_image_too_big": "Розмір зображення виходить за межі того, що можна зберігати в буфері!", + "gui.xaero_png_result_out_of_memory": "Експорт не відбувся, тому що в області пам'яті Java вичерпано пам'ять! Будь ласка, спробуйте ще раз або виділіть більше пам'яті.", + "gui.xaero_png_result_bad_fbo": "Експорт не відбувся, оскільки моду не вдалося створити фреймбуфер OpenGL.", + "gui.xaero_png_result_io_exception": "Експорт не відбувся через помилку вводу-виводу! Будь ласка, спробуйте ще раз. Повна інформація про виняток була зареєстрована.", + "gui.xaero_png_result_success": "Успішно експортовано мапу!", + "gui.xaero_export_screen": "Експорт мапи світу як PNG", + "gui.xaero_export_screen_exporting": "Відбувається експорт... Очікуйте короткочасні затримки. Це може зайняти деякий час!", + "gui.xaero_export_option_full": "Примусово експортувати всю мапу", + "gui.xaero_box_export_option_full": "Експортувати всю мапу, навіть якщо ви зробили вибір мапи.", + "gui.xaero_export_option_multiple_images": "Кілька немасштабованих зображень", + "gui.xaero_box_export_option_multiple_images": "Експортувати мапу у вигляді кількох немасштабованих зображень незалежно від її розміру. Це не має таких обмежень на пам'ять, як при експорті одного зображення.", + "gui.xaero_export_option_nighttime": "Нічний час", + "gui.xaero_box_export_option_nighttime": "Експортувати мапу з нічним освітленням. Це не впливає на мапи печерного режиму.", + "gui.xaero_export_option_scale_down_square": "Максимальний розмір одного зображення", + "gui.xaero_export_option_scale_down_square_value": "%1$dx%1$d reg", + "gui.xaero_export_option_scale_down_square_unscaled": "Немасштабований", + "gui.xaero_box_export_option_scale_down_square": "Розмір у регіонах квадратного зображення, еквівалентний роздільній здатності, до якої буде зменшено велику експортовану мапу за необхідності. Наприклад, 20x20 означає 400 регіонів, 512x512 блоків/пікселів кожен. Отримане зображення не обов'язково має бути квадратом. 10x40 - це також 400 областей. \n \n Ваш комп'ютер або розмір купи даних Java може не підтримувати вищу роздільну здатність експорту.", + "gui.xaero_export_option_highlights": "Включити активні підсвічування", + "gui.xaero_box_export_option_highlights": "Експортуйте мапу з усіма увімкненими на даний момент елементами (наприклад, мітками), застосованими до мапи. При експорті повної мапи не будуть включені елементи, що знаходяться дуже далеко від виявленої мапи.", + "gui.xaero_world_save": "Збереження світу", + "gui.xaero_map_writing_distance": "Відстань запису мапи", + "gui.xaero_box_map_writing_distance": "Максимальна відстань по X та Z у чанках, на якій можна завантажувати або оновлювати чанки на мапу без світового збереження. Для параметра «Необмежено» перейдіть до кінця ліворуч. Мапи зі збереженням світу завжди генеруватимуться у межах вашої відстані рендеру", + "gui.xaero_map_writing_distance_unlimited": "Необмежено", + "gui.xaero_full_reload": "Перезавантажити усі регіони", + "gui.xaero_box_full_reload": "Перезавантажити усі регіони на мапі без необхідності переглядати їх вручну. Процес перезавантаження відбуватиметься у фоновому режимі і вимкнеться, коли його буде завершено. Важливо зазначити, що перехід в інший вимір призупинить його до вашого повернення, а зміна мапи повністю скасує.", + "gui.xaero_full_resave": "Конвертувати усі регіони", + "gui.xaero_box_full_resave": "Перезавантажити і зберегти усі регіони на мапі без необхідності відвідувати їх вручну. Збережені мапи світу буде перетворено на звичайні мапи, збережені в окремий екземпляр мапи \"конвертованого збереження світу\", що зберігатиметься у теці \"cm$converted\", яку можна буде перенести у багатокористувацькі екземпляри мапи для того самого світу за допомогою файлового менеджера. Процес перезавантаження відбуватиметься у фоновому режимі і вимкнеться після завершення. Важливо зазначити, що перехід в інший вимір призупинить його до вашого повернення, а зміна мапи повністю скасує.", + "gui.xaero_full_reload_in_progress": "Йде перезавантаження повної мапи...", + "gui.xaero_reload_viewed_regions": "Перезавантажити відвідані регіони", + "gui.xaero_box_reload_viewed_regions": "Разово перезавантажити кожен регіон, який відображається на екрані.", + "gui.xaero_converted_world_save": "Конвертоване збереження світу", + "gui.xaero_unknown_dimension_type1": "Наразі невідомий тип виміру!", + "gui.xaero_unknown_dimension_type2": "Функції мапи обмежені. Відвідайте цей вимір один раз, це може допомогти.", + "gui_xaero_wm_dropdown_dimension_select": "Вибір виміру", + "gui.xaero_wm_dimension_teleport_command": "Команда телепортації по мапі між вимірами", + "gui.xaero_wm_teleport_not_connected": "Ви намагаєтеся телепортуватися на мапу, яка не підключена до поточної підтвердженої/автоматичної мапи. Якщо ви впевнені, що ця мапа з вашого поточного підсервера/збереження світу, ви можете увімкнути телепортацію, додавши з'єднання у вікні вибору мапи -> З'єднати. Але будьте обережні, якщо ви з'єднаєте не пов'язані між собою мапи і телепортуєтесь, то є велика ймовірність задихнутись у блоці або померти від шкоди при падінні, тому будьте обережні і з'єднуйте лише потрібні мапи.", + "gui.xaero_wm_teleport_never_confirmed": "Ви поки що не можете телепортуватися, оскільки не підтвердили жодної мапи у вашому поточному вимірі. Будь ласка, підтвердіть мапу у вашому поточному вимірі або змініть тип вибору мапи на автоматичний.", + "gui.xaero_connect_map": "З'єднати", + "gui.xaero_disconnect_map": "Від'єднати", + "gui.xaero_wm_connect_with_auto_msg": "Ви хочете створити наступний зв'язок між мапами?", + "gui.xaero_wm_disconnect_from_auto_msg": "Ви бажаєте видалити наступний зв'язок між мапами?", + "gui.xaero_dimension_toggle_button": "§2%s§r Переключити вимір (утримуйте Shift, щоб перемикати назад)", + "gui.xaero_toggle_dimension": "Переключити вимір", + "gui.xaero_switched_to_dimension": "Переключено на §2%s§r", + "gui.xaero_switched_to_current_dimension": "Переключено на §2%s§r (поточний)", + "gui.xaero_pac_claim_selection_out_of_dimension": "§8(Claims) Поза виміром...", + "gui.xaero_world_map_server_settings": "Відкрити Налаштування Сервера", + "gui.xaero_wm_cave_mode_allowed": "Повноекранний Режим Печери", + "gui.xaero_wm_box_cave_mode_allowed": "Режим печери на повноекранній карті світу. Це режим картографування, який може заглиблюватися далі, ніж поверхневі блоки, головним чином для відображення підземних печер та інтер’єрів будівель. Режим печери зазвичай вмикається автоматично (див. \"Автоматичний режим печери\"), але також може бути ввімкнений вручну на екрані карти світу.", + "gui.xaero_wm_cave_mode_allowed_dimensions": "Повноекранні Виміри Режиму Печери", + "gui.xaero_wm_box_cave_mode_allowed_dimensions": "Список ідентифікаторів вимірів, розділених комами, де режим печери має працювати на повноекранній карті світу. Якщо список порожній (лише []), режим печери працює в кожному вимірі.", + "gui.xaero_world_map_redirect_legacy": "Вимкнено плагіном сервера!", + "gui.xaero_world_map_config_redirect_fairplay": "Вимкнено режимом чесної гри, який примусово застосовується сервером!", + "gui.xaero_world_map_config_redirect_effect": "Вимкнено через ефект статусу!", + "gui.xaero_wm_unit_s": "с", + "gui.xaero_wm_unit_ms": "мс", + "gui.xaero_wm_default_teleport_command": "Типова Команда Телепортації На Карту", + "gui.xaero_wm_default_teleport_command_dimension": "Типова Команда Телепортації Між Вимірами", + "gui.xaero_wm_default_player_teleport_command": "Типова Команда Телепортації Гравця", + "gui.xaero_wm_use_default": "Використати Типово", + "gui.xaero_wm_box_map_teleport_command": "Чат-команди, що використовуються на цьому світі/сервері для телепортації вас у позиції на карті. Зберігаються для кожного світу/сервера окремо, не є частиною профілю конфігурації.", + "gui.xaero_map_item": "Предмет Повноекранної Карти", + "gui.xaero_box_map_item": "Ідентифікатор предмета, який потрібен у гарячій панелі для роботи повноекранної карти світу. Встановіть значення \"-\" щоб прибрати вимогу наявності предмета.", + "gui.xaero_wm_display_minimap_radar": "Радар мінікарти", + "gui.xaero_wm_box_display_minimap_radar": "Відображати радар мінікарти на повноекранній карті. Працює лише тоді, коли встановлено мод Xaero's Minimap.", + "gui.xaero_render_worldmap_waypoints": "Відображати точки маршруту карти світу", + "gui.xaero_wm_display_tracked_players": "Відображати відстежуваних гравців", + "gui.xaero_wm_reset_config_profile_default": "Скинути Типові Налаштування Профілю", + "gui.xaero_wm_reset_config_profile_default_message": "Ви впевнені, що хочете відновити типові значення у профілі конфігурації?", + "gui.xaero_wm_reset_config_profile_default_message2": "Цю дію неможливо скасувати! Параметри, що не належать до профілю, не будуть змінені." +} \ No newline at end of file From bcc9055d4bd7ad316b843266cdf7f320824773f3 Mon Sep 17 00:00:00 2001 From: Yan <115050813@qq.com> Date: Sun, 8 Feb 2026 21:38:37 +0800 Subject: [PATCH 410/474] Update zh_cn translation, fix corps page issue in patchouli_books (#3006) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: update zh_cn translation for new drinkings * feat: update zh_cn lang for patchouli book * feat: update zh_cn translation for tfg patchouli_book * feat: update zh_cn for patchouli_book corps and bloomery * fix: fix conflicts * feat: fix zh_cn translation for corps and drinks * feat: update zh_cn translation --------- Co-authored-by: 闫茂源 --- .../zh_cn/entries/mechanics/crops.json | 1149 ++++++++--------- .../zh_cn/entries/tfg_tips/space_fauna.json | 51 +- 2 files changed, 611 insertions(+), 589 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json index c6189f085..f9bd66098 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json @@ -23,33 +23,172 @@ }, { "type": "tfc:rock_knapping_recipe", - "title": "Contents", + "recipes": [ + "tfg:rock_knapping/stone_hoe_head_1" + ], "text": "要开始,首先通过$(thing)打制石器$()做一把$(thing)石锄$()" }, { "type": "patchouli:crafting", + "recipe": "tfc:crafting/stone/hoe_sedimentary", "text": "将锄头与木棍合成一把锄。$(br2)锄的功能与原版相同,$(item)$(k:key.use)$()点击泥土方块即可将其转化为$(thing)耕地$()。它还可以用于将$(thing)缠根泥土$()转化为$(thing)土$()。" }, { "type": "patchouli:text", - "recipes": [ - "tfg:rock_knapping/stone_hoe_head_1" - ], - "text": "所有作物都需要种植在耕地上才能生长。有些作物还有额外的要求,比如只能种在水里或者需要插一根木棍才能生长。$(br2)作物不需要$(thing)营养物质$()就能生长,但营养物质能加速其成熟。营养物质分为三种:$(b)氮$()、$(6)磷$()和$(d)钾$()。每种作物都有一种偏爱的养分。" + "text": "所有作物都需要种植在耕地上才能生长。有些作物还有额外的要求,比如只能种在水里或者需要插一根木棍才能生长。$(br2)作物不需要$(thing)营养物质$()就能生长,但营养物质能加速其成熟。营养物质分为三种:$(b)氮$()、$(6)磷$()和$(d)钾$()。每种作物都有一种偏爱的养分。", + "title": "种植作物" }, { "type": "patchouli:text", - "recipe": "tfc:crafting/stone/hoe_sedimentary", "text": "消耗偏爱的营养物质可以加速作物的生长,并提高收获时的产量。作物消耗耕地中的某种营养物质的同时,会小幅产出其他两种营养物质。$(br2)接下来的几页会列出群峦传说中所有的作物。" }, { "type": "patchouli:text", + "anchor": "barley", "text": "$(bold)$(l:the_world/climate#temperature)温度$():-8 - 26 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():18 - 75 %$(br)$(bold)营养物质$():氮$(br2)大麦是一种一格高的农作物。种植大麦会产出$(thing)大麦$()和$(thing)大麦种子$()。", "title": "大麦" }, { "type": "tfc:multimultiblock", - "text": "" + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/barley[age=0]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/barley[age=1]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/barley[age=2]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/barley[age=3]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/barley[age=4]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/barley[age=5]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/barley[age=6]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/barley[age=7]", + "Y": "tfc:farmland/loam" + } + } + ] }, { "type": "patchouli:text", @@ -367,11 +506,15 @@ ], [ "Z" + ], + [ + "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/maize[age=0,part=bottom]" + "Y": "tfc:crop/maize[age=0,part=bottom]", + "Z": "tfc:farmland/loam" } }, { @@ -384,11 +527,15 @@ ], [ "Z" + ], + [ + "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/maize[age=1,part=bottom]" + "Y": "tfc:crop/maize[age=1,part=bottom]", + "Z": "tfc:farmland/loam" } }, { @@ -401,11 +548,15 @@ ], [ "Z" + ], + [ + "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/maize[age=2,part=bottom]" + "Y": "tfc:crop/maize[age=2,part=bottom]", + "Z": "tfc:farmland/loam" } }, { @@ -418,11 +569,15 @@ ], [ "Z" + ], + [ + "0" ] ], "mapping": { "X": "tfc:crop/maize[age=3,part=top]", - "Y": "tfc:crop/maize[age=3,part=bottom]" + "Y": "tfc:crop/maize[age=3,part=bottom]", + "Z": "tfc:farmland/loam" } }, { @@ -435,11 +590,15 @@ ], [ "Z" + ], + [ + "0" ] ], "mapping": { "X": "tfc:crop/maize[age=4,part=top]", - "Y": "tfc:crop/maize[age=4,part=bottom]" + "Y": "tfc:crop/maize[age=4,part=bottom]", + "Z": "tfc:farmland/loam" } }, { @@ -452,45 +611,15 @@ ], [ "Z" + ], + [ + "0" ] ], "mapping": { "X": "tfc:crop/maize[age=5,part=top]", - "Y": "tfc:crop/maize[age=5,part=bottom]" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/rye[age=6]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/rye[age=7]", - "Y": "tfc:farmland/loam" + "Y": "tfc:crop/maize[age=5,part=bottom]", + "Z": "tfc:farmland/loam" } } ] @@ -513,17 +642,13 @@ [ "Y" ], - [ - "0" - ], [ "0" ] ], "mapping": { "X": "tfc:crop/wheat[age=0]", - "Y": "tfc:farmland/loam", - "Z": "tfc:farmland/loam" + "Y": "tfc:farmland/loam" } }, { @@ -534,17 +659,13 @@ [ "Y" ], - [ - "0" - ], [ "0" ] ], "mapping": { "X": "tfc:crop/wheat[age=1]", - "Y": "tfc:farmland/loam", - "Z": "tfc:farmland/loam" + "Y": "tfc:farmland/loam" } }, { @@ -555,17 +676,13 @@ [ "Y" ], - [ - "0" - ], [ "0" ] ], "mapping": { "X": "tfc:crop/wheat[age=2]", - "Y": "tfc:farmland/loam", - "Z": "tfc:farmland/loam" + "Y": "tfc:farmland/loam" } }, { @@ -576,17 +693,13 @@ [ "Y" ], - [ - "0" - ], [ "0" ] ], "mapping": { "X": "tfc:crop/wheat[age=3]", - "Y": "tfc:farmland/loam", - "Z": "tfc:farmland/loam" + "Y": "tfc:farmland/loam" } }, { @@ -597,17 +710,13 @@ [ "Y" ], - [ - "0" - ], [ "0" ] ], "mapping": { "X": "tfc:crop/wheat[age=4]", - "Y": "tfc:farmland/loam", - "Z": "tfc:farmland/loam" + "Y": "tfc:farmland/loam" } }, { @@ -620,15 +729,45 @@ ], [ "0" + ] + ], + "mapping": { + "X": "tfc:crop/wheat[age=5]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" ], [ "0" ] ], "mapping": { - "X": "tfc:crop/wheat[age=5]", - "Y": "tfc:farmland/loam", - "Z": "tfc:farmland/loam" + "X": "tfc:crop/wheat[age=6]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/wheat[age=7]", + "Y": "tfc:farmland/loam" } } ] @@ -641,7 +780,7 @@ }, { "type": "tfc:multimultiblock", - "text": "种植水稻种子的方块必须$(thing)含水$()。", + "text": "注意:种植水稻种子的方块必须$(thing)含水$()。", "multiblocks": [ { "pattern": [ @@ -789,7 +928,7 @@ }, { "type": "tfc:multimultiblock", - "text": "注意:种植水稻种子的方块必须$(thing)含水$()。", + "text": "", "multiblocks": [ { "pattern": [ @@ -892,40 +1031,6 @@ "X": "tfc:crop/beet[age=5]", "Y": "tfc:farmland/loam" } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/rice[age=6,fluid=water]", - "Y": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/rice[age=7,fluid=water]", - "Y": "tfc:farmland/loam" - } } ] }, @@ -1137,23 +1242,6 @@ "X": "tfc:crop/carrot[age=4]", "Y": "tfc:farmland/loam" } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/cabbage[age=5]", - "Y": "tfc:farmland/loam" - } } ] }, @@ -1274,11 +1362,15 @@ ], [ "Z" + ], + [ + "0" ] ], "mapping": { "X": "tfc:crop/green_bean[age=0,part=top,stick=true]", - "Y": "tfc:crop/green_bean[age=0,part=bottom,stick=true]" + "Y": "tfc:crop/green_bean[age=0,part=bottom,stick=true]", + "Z": "tfc:farmland/loam" } }, { @@ -1291,11 +1383,15 @@ ], [ "Z" + ], + [ + "0" ] ], "mapping": { "X": "tfc:crop/green_bean[age=1,part=top,stick=true]", - "Y": "tfc:crop/green_bean[age=1,part=bottom,stick=true]" + "Y": "tfc:crop/green_bean[age=1,part=bottom,stick=true]", + "Z": "tfc:farmland/loam" } }, { @@ -1308,11 +1404,15 @@ ], [ "Z" + ], + [ + "0" ] ], "mapping": { "X": "tfc:crop/green_bean[age=2,part=top,stick=true]", - "Y": "tfc:crop/green_bean[age=2,part=bottom,stick=true]" + "Y": "tfc:crop/green_bean[age=2,part=bottom,stick=true]", + "Z": "tfc:farmland/loam" } }, { @@ -1325,11 +1425,15 @@ ], [ "Z" + ], + [ + "0" ] ], "mapping": { "X": "tfc:crop/green_bean[age=3,part=top,stick=true]", - "Y": "tfc:crop/green_bean[age=3,part=bottom,stick=true]" + "Y": "tfc:crop/green_bean[age=3,part=bottom,stick=true]", + "Z": "tfc:farmland/loam" } }, { @@ -1342,43 +1446,14 @@ ], [ "Z" + ], + [ + "0" ] ], "mapping": { "X": "tfc:crop/green_bean[age=4,part=top,stick=true]", - "Y": "tfc:crop/green_bean[age=4,part=bottom,stick=true]" - } - } - ] - }, - { - "type": "patchouli:text", - "anchor": "potato", - "text": "$(bold)$(l:the_world/climate#temperature)温度$():-1 - 37 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():50 - 100 %$(br)$(bold)营养物质$():钾$(br2)马铃薯是一种一格高的农作物。种植马铃薯会产出$(thing)马铃薯$()和$(thing)马铃薯种子$()。", - "title": "马铃薯" - }, - { - "type": "tfc:multimultiblock", - "text": "", - "multiblocks": [ - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/potato[age=0]", - "Y": "tfc:farmland/loam", + "Y": "tfc:crop/green_bean[age=4,part=bottom,stick=true]", "Z": "tfc:farmland/loam" } }, @@ -1391,15 +1466,15 @@ "Y" ], [ - "0" + "Z" ], [ "0" ] ], "mapping": { - "X": "tfc:crop/potato[age=1]", - "Y": "tfc:farmland/loam", + "X": "tfc:crop/green_bean[age=5,part=top,stick=true]", + "Y": "tfc:crop/green_bean[age=5,part=bottom,stick=true]", "Z": "tfc:farmland/loam" } }, @@ -1412,99 +1487,15 @@ "Y" ], [ - "0" + "Z" ], [ "0" ] ], "mapping": { - "X": "tfc:crop/potato[age=2]", - "Y": "tfc:farmland/loam", - "Z": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/potato[age=3]", - "Y": "tfc:farmland/loam", - "Z": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/potato[age=4]", - "Y": "tfc:farmland/loam", - "Z": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/potato[age=5]", - "Y": "tfc:farmland/loam", - "Z": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "0" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/potato[age=6]", - "Y": "tfc:farmland/loam", + "X": "tfc:crop/green_bean[age=6,part=top,stick=true]", + "Y": "tfc:crop/green_bean[age=6,part=bottom,stick=true]", "Z": "tfc:farmland/loam" } }, @@ -1533,9 +1524,9 @@ }, { "type": "patchouli:text", - "anchor": "pumpkin", - "text": "$(bold)$(l:the_world/climate#temperature)温度$():0 - 30 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():30 - 80 %$(br)$(bold)营养物质$():磷$(br2)南瓜是一种爬行作物。种植在耕地上时,南瓜梗会在成熟后在相邻位置放置最多两颗$(thing)南瓜$()。南瓜梗在入冬前可结果多次。南瓜可以制作成$(l:mechanics/lighting#jack_o_lanterns)南瓜灯$()。", - "title": "南瓜" + "anchor": "potato", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():-1 - 37 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():50 - 100 %$(br)$(bold)营养物质$():钾$(br2)马铃薯是一种一格高的农作物。种植马铃薯会产出$(thing)马铃薯$()和$(thing)马铃薯种子$()。", + "title": "马铃薯" }, { "type": "tfc:multimultiblock", @@ -1544,10 +1535,10 @@ { "pattern": [ [ - " " + "X" ], [ - "GGG" + "Y" ], [ "0" @@ -1561,10 +1552,10 @@ { "pattern": [ [ - " " + "X" ], [ - "GGG" + "Y" ], [ "0" @@ -1578,10 +1569,10 @@ { "pattern": [ [ - " " + "X" ], [ - "GGG" + "Y" ], [ "0" @@ -1595,10 +1586,10 @@ { "pattern": [ [ - " " + "X" ], [ - "GGG" + "Y" ], [ "0" @@ -1612,10 +1603,10 @@ { "pattern": [ [ - " " + "X" ], [ - "GGG" + "Y" ], [ "0" @@ -1629,10 +1620,10 @@ { "pattern": [ [ - " " + "X" ], [ - "GGG" + "Y" ], [ "0" @@ -1646,10 +1637,10 @@ { "pattern": [ [ - " " + "X" ], [ - "GGG" + "Y" ], [ "0" @@ -1662,6 +1653,178 @@ } ] }, + { + "type": "patchouli:text", + "anchor": "pumpkin", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():0 - 30 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():30 - 80 %$(br)$(bold)营养物质$():磷$(br2)南瓜是一种爬行作物。种植在耕地上时,南瓜梗会在成熟后在相邻位置放置最多两颗$(thing)南瓜$()。南瓜梗在入冬前可结果多次。南瓜可以制作成$(l:mechanics/lighting#jack_o_lanterns)南瓜灯$()。", + "title": "南瓜" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + " ", + " CP", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/pumpkin[age=0]", + "P": "minecraft:air" + } + }, + { + "pattern": [ + [ + " ", + " CP", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/pumpkin[age=1]", + "P": "minecraft:air" + } + }, + { + "pattern": [ + [ + " ", + " CP", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/pumpkin[age=2]", + "P": "minecraft:air" + } + }, + { + "pattern": [ + [ + " ", + " CP", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/pumpkin[age=3]", + "P": "minecraft:air" + } + }, + { + "pattern": [ + [ + " ", + " CP", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/pumpkin[age=4]", + "P": "minecraft:air" + } + }, + { + "pattern": [ + [ + " ", + " CP", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/pumpkin[age=5]", + "P": "minecraft:air" + } + }, + { + "pattern": [ + [ + " ", + " CP", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/pumpkin[age=6]", + "P": "minecraft:air" + } + }, + { + "pattern": [ + [ + " ", + " CP", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/pumpkin[age=7]", + "P": "tfc:pumpkin" + } + } + ] + }, { "type": "patchouli:text", "anchor": "melon", @@ -1847,161 +2010,120 @@ { "pattern": [ [ - "X", - " CP", - " " + "X" ], [ - "Y", - "G0G", - "GGG" + "Y" + ], + [ + "0" ] ], "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/melon[age=0]", - "P": "minecraft:air" + "X": "tfc:crop/red_bell_pepper[age=0]", + "Y": "tfc:farmland/loam" } }, { "pattern": [ [ - "X", - " CP", - " " + "X" ], [ - "Y", - "G0G", - "GGG" + "Y" + ], + [ + "0" ] ], "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/melon[age=1]", - "P": "minecraft:air" + "X": "tfc:crop/red_bell_pepper[age=1]", + "Y": "tfc:farmland/loam" } }, { "pattern": [ [ - "X", - " CP", - " " + "X" ], [ - "Y", - "G0G", - "GGG" + "Y" + ], + [ + "0" ] ], "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/melon[age=2]", - "P": "minecraft:air" + "X": "tfc:crop/red_bell_pepper[age=2]", + "Y": "tfc:farmland/loam" } }, { "pattern": [ [ - "X", - " CP", - " " + "X" ], [ - "Y", - "G0G", - "GGG" + "Y" + ], + [ + "0" ] ], "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/melon[age=3]", - "P": "minecraft:air" + "X": "tfc:crop/red_bell_pepper[age=3]", + "Y": "tfc:farmland/loam" } }, { "pattern": [ [ - "X", - " CP", - " " + "X" ], [ - "Y", - "G0G", - "GGG" + "Y" + ], + [ + "0" ] ], "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/melon[age=4]", - "P": "minecraft:air" + "X": "tfc:crop/red_bell_pepper[age=4]", + "Y": "tfc:farmland/loam" } }, { "pattern": [ [ - "X", - " CP", - " " + "X" ], [ - "Y", - "G0G", - "GGG" + "Y" + ], + [ + "0" ] ], "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/melon[age=5]", - "P": "minecraft:air" + "X": "tfc:crop/red_bell_pepper[age=5]", + "Y": "tfc:farmland/loam" } }, { "pattern": [ [ - "X", - " CP", - " " + "X" ], [ - "Y", - "G0G", - "GGG" + "Y" + ], + [ + "0" ] ], "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/melon[age=6]", - "P": "minecraft:air" - } - }, - { - "pattern": [ - [ - " ", - " CP", - " " - ], - [ - "GGG", - "G0G", - "GGG" - ] - ], - "mapping": { - "G": "tfc:farmland/loam", - "0": "tfc:farmland/loam", - "C": "tfc:crop/melon[age=7]", - "P": "tfc:melon" + "X": "tfc:crop/red_bell_pepper[age=6]", + "Y": "tfc:farmland/loam" } } ] @@ -2527,6 +2649,23 @@ "X": "tfc:crop/squash[age=6]", "Y": "tfc:farmland/loam" } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/squash[age=7]", + "Y": "tfc:farmland/loam" + } } ] }, @@ -2550,11 +2689,15 @@ ], [ "Z" + ], + [ + "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/sugarcane[age=0,part=bottom]" + "Y": "tfc:crop/sugarcane[age=0,part=bottom]", + "Z": "tfc:farmland/loam" } }, { @@ -2567,11 +2710,15 @@ ], [ "Z" + ], + [ + "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/sugarcane[age=1,part=bottom]" + "Y": "tfc:crop/sugarcane[age=1,part=bottom]", + "Z": "tfc:farmland/loam" } }, { @@ -2584,11 +2731,15 @@ ], [ "Z" + ], + [ + "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/sugarcane[age=2,part=bottom]" + "Y": "tfc:crop/sugarcane[age=2,part=bottom]", + "Z": "tfc:farmland/loam" } }, { @@ -2601,11 +2752,15 @@ ], [ "Z" + ], + [ + "0" ] ], "mapping": { "X": "minecraft:air", - "Y": "tfc:crop/sugarcane[age=3,part=bottom]" + "Y": "tfc:crop/sugarcane[age=3,part=bottom]", + "Z": "tfc:farmland/loam" } }, { @@ -2618,11 +2773,15 @@ ], [ "Z" + ], + [ + "0" ] ], "mapping": { "X": "tfc:crop/sugarcane[age=4,part=top]", - "Y": "tfc:crop/sugarcane[age=4,part=bottom]" + "Y": "tfc:crop/sugarcane[age=4,part=bottom]", + "Z": "tfc:farmland/loam" } }, { @@ -2635,11 +2794,15 @@ ], [ "Z" + ], + [ + "0" ] ], "mapping": { "X": "tfc:crop/sugarcane[age=5,part=top]", - "Y": "tfc:crop/sugarcane[age=5,part=bottom]" + "Y": "tfc:crop/sugarcane[age=5,part=bottom]", + "Z": "tfc:farmland/loam" } }, { @@ -2652,11 +2815,15 @@ ], [ "Z" + ], + [ + "0" ] ], "mapping": { "X": "tfc:crop/sugarcane[age=6,part=top]", - "Y": "tfc:crop/sugarcane[age=6,part=bottom]" + "Y": "tfc:crop/sugarcane[age=6,part=bottom]", + "Z": "tfc:farmland/loam" } }, { @@ -2669,11 +2836,15 @@ ], [ "Z" + ], + [ + "0" ] ], "mapping": { "X": "tfc:crop/sugarcane[age=7,part=top]", - "Y": "tfc:crop/sugarcane[age=7,part=bottom]" + "Y": "tfc:crop/sugarcane[age=7,part=bottom]", + "Z": "tfc:farmland/loam" } } ] @@ -2993,48 +3164,6 @@ "Y": "tfc:crop/jute[age=5,part=bottom]", "Z": "tfc:farmland/loam" } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "Z" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/tomato[age=6,part=top,stick=true]", - "Y": "tfc:crop/tomato[age=6,part=bottom,stick=true]", - "Z": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "Z" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfc:crop/tomato[age=7,part=top,stick=true]", - "Y": "tfc:crop/tomato[age=7,part=bottom,stick=true]", - "Z": "tfc:farmland/loam" - } } ] }, @@ -3178,13 +3307,12 @@ }, { "type": "patchouli:text", - "anchor": "papyrus", + "anchor": "sunflower", "text": "$(bold)$(l:the_world/climate#temperature)温度$():5 - 40 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():20 - 80 %$(br)$(bold)营养物质$():氮$(br2)向日葵是一种两格高的作物。向日葵种子可以种植在耕地上,生长到两格高,并生产可加工为$(thing)种子油$()的$(item)向日葵花盘$()。种子油既可用作灯油,也可在后期用于制作$(thing)生物柴油$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,向日葵同样被视为有效花源。", "title": "向日葵" }, { "type": "tfc:multimultiblock", - "text": "$(thing)野生向日葵$()生长于5°C至40°C的温度区间及100至450毫米的降雨环境。其种子亦可烘烤食用!", "multiblocks": [ { "pattern": [ @@ -3311,14 +3439,36 @@ "Y": "tfg:sunflower[age=5,part=bottom]", "Z": "tfc:farmland/loam" } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfg:sunflower[age=6,part=top]", + "Y": "tfg:sunflower[age=6,part=bottom]", + "Z": "tfc:farmland/loam" + } } - ] + ], + "text": "$(thing)野生向日葵$()生长于5°C至40°C的温度区间及100至450毫米的降雨环境。其种子亦可烘烤食用!" }, { "type": "patchouli:text", - "anchor": "sunflower", - "text": "$(bold)$(l:the_world/climate#temperature)温度$():5 - 40 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():20 - 80 %$(br)$(bold)营养物质$():氮$(br2)向日葵是一种两格高的作物。向日葵种子可以种植在耕地上,生长到两格高,并生产可加工为$(thing)种子油$()的$(item)向日葵花盘$()。种子油既可用作灯油,也可在后期用于制作$(thing)生物柴油$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,向日葵同样被视为有效花源。", - "title": "向日葵" + "anchor": "canola", + "text": "$(bold)$(l:the_world/climate#temperature)温度$(): -5 - 25 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 10 - 60 %$(br)$(bold)营养物质$():磷$(br2)油菜是一种两格高的作物。油菜种子可种植在耕地上,生长到两格高,并生产可加工为$(thing)种子油$()的$(item)油菜籽荚$()。种子油既可用作灯油,也可在后期用于制作$(thing)生物柴油$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,油菜同样被视为有效花源。", + "title": "油菜" }, { "type": "tfc:multimultiblock", @@ -3471,166 +3621,7 @@ } } ], - "text": "$(thing)野生油菜$()(亦称$(thing)芸苔$())生长于-7°C至25°C的温度区间及50至350毫米的降雨环境。" - }, - { - "type": "patchouli:text", - "anchor": "canola", - "text": "$(bold)$(l:the_world/climate#temperature)温度$(): -5 - 25 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 10 - 60 %$(br)$(bold)营养物质$():磷$(br2)油菜是一种两格高的作物。油菜种子可种植在耕地上,生长到两格高,并生产可加工为$(thing)种子油$()的$(item)油菜籽荚$()。种子油既可用作灯油,也可在后期用于制作$(thing)生物柴油$()。$(br)在$(l:firmalife/beekeeping)养蜂$()系统中,油菜同样被视为有效花源。", - "title": "油菜" - }, - { - "type": "tfc:multimultiblock", - "multiblocks": [ - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "Z" - ], - [ - "0" - ] - ], - "mapping": { - "X": "minecraft:air", - "Y": "tfg:flax[age=0,part=bottom]", - "Z": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "Z" - ], - [ - "0" - ] - ], - "mapping": { - "X": "minecraft:air", - "Y": "tfg:flax[age=1,part=bottom]", - "Z": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "Z" - ], - [ - "0" - ] - ], - "mapping": { - "X": "minecraft:air", - "Y": "tfg:flax[age=2,part=bottom]", - "Z": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "Z" - ], - [ - "0" - ] - ], - "mapping": { - "X": "minecraft:air", - "Y": "tfg:flax[age=3,part=bottom]", - "Z": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "Z" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfg:flax[age=4,part=top]", - "Y": "tfg:flax[age=4,part=bottom]", - "Z": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "Z" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfg:flax[age=5,part=top]", - "Y": "tfg:flax[age=5,part=bottom]", - "Z": "tfc:farmland/loam" - } - }, - { - "pattern": [ - [ - "X" - ], - [ - "Y" - ], - [ - "Z" - ], - [ - "0" - ] - ], - "mapping": { - "X": "tfg:flax[age=6,part=top]", - "Y": "tfg:flax[age=6,part=bottom]", - "Z": "tfc:farmland/loam" - } - } - ], - "text": "$(thing)野生亚麻$()生长于-5°C至23°C的温度区间及175至475毫米的降雨环境。", + "text": "$(thing)野生油菜$()(亦称$(thing)芸苔$())生长于-7°C至25°C的温度区间及50至350毫米的降雨环境。", "enable_visualize": false }, { @@ -3790,7 +3781,7 @@ } } ], - "text": "$(thing)Wild Flax$() grows between -5 and 23C, and 175 to 475mm of rainfall." + "text": "$(thing)野生亚麻$()生长于-5°C至23°C的温度区间及175至475毫米的降雨环境。" } ], "read_by_default": true, diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_fauna.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_fauna.json index 8bbbb6f6a..1f6bda499 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_fauna.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_fauna.json @@ -6,7 +6,7 @@ { "type": "patchouli:text", "title": "外星动物", - "text": "太空是许多其他动物的家园,你不会在地球上找到它们。少数动物是敌对的,会攻击玩家,但大多数是友好的。它们只有一小部分可以像地球上的牲畜一样$(l:mechanics/animal_husbandry)驯化$()。$(br)你在其他星球上发现的动物可以分为两类:$(item)热栖$()和$(item)冷栖$()。动物只能在气候与其母行星相似的行星上生存,或者在像地球这样的$(thing)温和$()的行星上生存。" + "text": "太空是许多其他动物的家园,你不会在地球上找到它们。少数动物是敌对的,会攻击玩家,但大多数是友好的。它们只有一小部分可以$(l:mechanics/animal_husbandry)驯化$()。$(br)你在其他星球上发现的动物可以分为两类:$(item)热栖$()和$(item)冷栖$()。动物只能在气候与其母行星相似的行星上生存,或者在像地球这样的$(thing)温和$()的行星上生存。" }, { "type": "patchouli:text", @@ -107,14 +107,46 @@ "name": " ", "text": "一只霜原公羊/母羊" }, + { + "type": "patchouli:text", + "title": "窃取兽", + "text": "$(thing)窃取兽$()是友好动物,喜欢偷你的东西!攻击它们可以取回物品,或喂食$(item)生鱼$()来驯服它们。$(br2)一旦驯服,你可以将它们背在背上,并为它们装备一个木箱子。按下$(k:key.wan_ancient_beasts.special_ability)$()将其扔出,它们会偷取附近箱子的内容物并带给你。" + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:snatcher", + "scale": 0.35, + "name": " ", + "text": "一只夺掠兽。" + }, + { + "type": "patchouli:text", + "title": "驰击兽", + "text": "$(thing)冲撞兽$()是半被动型动物。你可以用$(item)任意火星作物$()驯服它们,将其用作战斗型陆地坐骑。$(br2)按下$(k:key.wan_ancient_beasts.special_ability)$()进行头槌攻击,或长按$(item)空格键$()发动冲刺攻击。$(br2)它们也可以装备$(item)可染色的盔甲$()。" + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:charger", + "scale": 0.45, + "name": " ", + "text": "驰击兽与$(thing)袭击兽$()天生敌对。它们一见面就会互相攻击。" + }, { "type": "patchouli:entity", "entity": "wan_ancient_beasts:surfer", - "scale": 0.35, + "scale": 0.4, "offset": 0.2, "name": "破浪兽", "text": "$(thing)破浪兽$()是半水生友好动物。你可以用$(item)生鱼$()驯服它们来在水下骑乘。它们也可以食用。" }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:soarer", + "scale": 0.4, + "offset": 1.0, + "name": "翱翔鸟", + "text": "$(thing)翱翔鸟$()是在-106°C以上发现的友好动物。你可以用$(item)生鱼$()驯服它们作为飞行坐骑。它们也可以食用。" + }, { "type": "patchouli:entity", "entity": "wan_ancient_beasts:eater", @@ -129,14 +161,6 @@ "name": "贪咀兽", "text": "$(thing)贪咀兽$()是有领地范围的$(item)小boss$()捕食者。喂它们肉来阻止它们的回血。它们也可以食用。" }, - { - "type": "patchouli:entity", - "entity": "wan_ancient_beasts:soarer", - "scale": 0.4, - "offset": 1.0, - "name": "翱翔鸟", - "text": "$(thing)翱翔鸟$()是在-106°C以上发现的友好动物。你可以用$(item)生鱼$()驯服它们作为飞行坐骑。它们也可以食用。" - }, { "type": "patchouli:entity", "entity": "wan_ancient_beasts:glider", @@ -175,6 +199,13 @@ "name": "巨行兽", "text": "巨大的$(thing)巨行兽$()栖息在-97°C以上的区域。它们是友好的,可以食用。" }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:raider", + "scale": 0.5, + "name": "袭击兽", + "text": "$(thing)袭击兽$()是在高于-109°C环境中出现的敌对动物。它们与$(thing)驰击兽$()天生敌对。你可以通过喂食$(item)生肉$()使它们转为中立。" + }, { "type": "patchouli:entity", "entity": "wan_ancient_beasts:toxlacanth", From 8b00e2fd26d950d0c60ecd9619b8301fee70f715 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 8 Feb 2026 13:42:42 +0000 Subject: [PATCH 411/474] langs --- kubejs/assets/tfg/lang/zh_cn.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 3eda18566..e3cc99200 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -4040,14 +4040,14 @@ "quests.space_survival.surfer.subtitle": "需要游个泳吗?", "quests.space_survival.surfer.desc": "&b破浪兽&r可在火星的小型水域中发现。当它们躺在岸边时,你可以潜行靠近并用生鱼驯服。驯服后装备上鞍,便能借助它们在水中快速游动。\n\n这在火星听起来或许不太实用,但请记住你可以通过AE2的&b空间存储磁盘&r跨星球运输实体——未来某颗冰封的海洋星球或许正需要它们……\n\n&9注意&r:破浪兽无法在&6金星&r等高温行星生存。", "quests.space_survival.surfer.task": "找到破浪兽", - "quests.space_survival.charger.title": "冲撞兽", + "quests.space_survival.charger.title": "驰击兽", "quests.space_survival.charger.subtitle": "冲啊啊啊啊啊!", - "quests.space_survival.charger.desc": "&b冲撞兽&r是一种大型绿色草食动物,可在火星上漫游时找到。你可以用任何火星作物驯服它们,但不要喂它们&c甜菜根&r……\n\n一旦驯服,你可以为它们装备鞍和盔甲以提供额外防御,长按空格键可直线向前冲刺(造成额外伤害和击退),或按下&e特殊能力&r按键(默认&9C&r)进行头槌攻击。\n\n喂食更多火星作物可恢复它们的生命值。\n\n&9注意&r:冲撞兽无法在特别炎热的星球(例如&6金星&r)上生存。", - "quests.space_survival.charger.task": "找到一只冲撞兽", - "quests.space_survival.snatcher.title": "窃取兽", + "quests.space_survival.charger.desc": "&b驰击兽&r是一种大型绿色草食动物,可在火星上漫游时找到。你可以用任何火星作物驯服它们,但不要喂它们&c甜菜根&r……\n\n一旦驯服,你可以为它们装备鞍和盔甲以提供额外防御,长按空格键可直线向前冲刺(造成额外伤害和击退),或按下&e特殊能力&r按键(默认&9C&r)进行头槌攻击。\n\n喂食更多火星作物可恢复它们的生命值。\n\n&9注意&r:驰击兽无法在特别炎热的星球(例如&6金星&r)上生存。", + "quests.space_survival.charger.task": "找到一只驰击兽", + "quests.space_survival.snatcher.title": "夺掠兽", "quests.space_survival.snatcher.subtitle": "嗖!(偷走)", - "quests.space_survival.snatcher.desc": "&b窃取兽&r是友好动物,喜欢偷你的东西!攻击它们可以取回物品,或喂食生鱼来驯服它们。\n\n一旦驯服,你可以将它们背在背上,并为它们装备一个木箱子来获得少量额外存储空间。按下&e特殊能力&r按键(默认&9C&r)将其扔出,它们会偷取附近箱子的内容物并带给你。\n\n喂食更多生鱼可恢复它们的生命值。\n\n&9注意&r:窃取兽无法在特别炎热的星球(例如&6金星&r)上生存。", - "quests.space_survival.snatcher.task": "找到一只窃取兽", + "quests.space_survival.snatcher.desc": "&b夺掠兽&r是友好动物,喜欢偷你的东西!攻击它们可以取回物品,或喂食生鱼来驯服它们。\n\n一旦驯服,你可以将它们背在背上,并为它们装备一个木箱子来获得少量额外存储空间。按下&e特殊能力&r按键(默认&9C&r)将其扔出,它们会偷取附近箱子的内容物并带给你。\n\n喂食更多生鱼可恢复它们的生命值。\n\n&9注意&r:夺掠兽无法在特别炎热的星球(例如&6金星&r)上生存。", + "quests.space_survival.snatcher.task": "找到一只夺掠兽", "quests.space_survival.sniffer_or_wraptor.title": "嗅探兽和诡恐鸟", "quests.space_survival.sniffer_or_wraptor.subtitle": "牛和鸡", "quests.space_survival.sniffer_or_wraptor.desc": "&2嗅探兽&r与&d诡恐鸟&r遍布火星各地,驯养后可稳定产出肉类、蛋类,更重要的是能获取它们富含矿物质的绒毛与羽毛。\n\n它们以所有火星作物为食,你可像在地球上一样使用饲料槽实现自动化喂养与繁殖。", @@ -4139,7 +4139,7 @@ "quests.steam_age.steel_greate.desc": "欢迎来到格雷机械的全新阶段!&6钢传动杆&r和&6钢齿轮&r能承受四倍于旧部件的应力。整个动力装置的总应力上限取决于最薄弱的环节,因此若想提升整体效能,就需要将原有装置全面升级。不过至少部分旧部件可以进行回收利用!", "quests.steam_age.steel_encased_fan.title": "鼓风机", "quests.steam_age.steel_encased_fan.subtitle": "消暑佳品", - "quests.steam_age.steel_encased_fan.desc": "&3鼓风机&r是你的首条全自动矿石处理产线的最后一步,从此无需再手动清洗不纯粉尘。让鼓风机对准粉尘方向并在中间放置水源,它们很快就会变得闪亮亮。额外好处是还能收获一些副产品!目前移动水源可能不太方便,但你可以围绕现有的河流或湖泊区域进行建造。", + "quests.steam_age.steel_encased_fan.desc": "&3鼓风机&r是你的首条全自动矿石处理产线的最后一步,从此无需再手动清洗不纯矿粉。\n\n格雷机械的鼓风机工作原理与基础机械动力略有不同。你无需在风扇前放置水源,而是需要将水泵入鼓风机方块本身。请务必将鼓风机上的数值设置为&31&r!\n\n接着,将你粉碎的矿石或矿粉放在鼓风机前的置物台或传送带上(直接放在地面上无效!),它们很快就会被清洗干净。此外,你还能获得一些&3额外的副产品&r!", "quests.steam_age.steel_millstone.title": "钢石磨", "quests.steam_age.steel_millstone.subtitle": "物超所值的升级", "quests.steam_age.steel_millstone.desc": "拥有远超基础的应力容量,钢石磨是物超所值的升级,让你能转得更快,粉碎得更迅速。面对即将获得的各种新矿石,这是个很好的升级!\n\n不过再次提醒,它仅会输出JEI显示的第一个格子的物品。", @@ -4236,7 +4236,7 @@ "quests.steam_age.trains.subtitle": "传送点真希望自己能像这玩意儿一样酷炫", "quests.steam_age.trains.desc": "无论是运输玩家、物品还是流体,火车都是远距离运输的绝佳选择!它们还能安全穿越未加载的区块。在很长一段时间内游戏都不会提供任何玩家传送手段,因此若你想打造横跨大陆的铁路网络,完全不必担心其会过时淘汰。", "quests.steam_age.wood_plank.title": "木板", - "quests.steam_age.wood_plank.subtitle": "未处理的胶合板……?", + "quests.steam_age.wood_plank.subtitle": "不防腐的胶合板……?", "quests.steam_age.wood_plank.desc": "这些与相邻任务中的防腐木板性质相同,只不过你可以直接使用任意木材进行合成,而无需事先将其浸泡于杂酚油中。", "quests.steam_age.organization.title": "保持条理", "quests.steam_age.organization.subtitle": "你已踏入微合成地狱的第一层", From 0d0b691136fdc0c0d9ccf04af90864f99b1fe1e8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 8 Feb 2026 13:55:25 +0000 Subject: [PATCH 412/474] fixed cricket sounds on mars --- .../basic/regions/forest.cold.json | 2 +- .../ambientsounds/basic/regions/grass.json | 14 +++++++++++++- .../ambientsounds/basic/regions/jungle.json | 2 +- .../ambientsounds/basic/regions/lake.json | 3 +-- .../basic/regions/martian_lake.json | 18 ++++++++++++++++++ .../ambientsounds/basic/regions/plains.json | 14 ++++++++++++++ 6 files changed, 48 insertions(+), 5 deletions(-) create mode 100644 kubejs/assets/ambientsounds/basic/regions/martian_lake.json diff --git a/kubejs/assets/ambientsounds/basic/regions/forest.cold.json b/kubejs/assets/ambientsounds/basic/regions/forest.cold.json index d606e30c4..044493230 100644 --- a/kubejs/assets/ambientsounds/basic/regions/forest.cold.json +++ b/kubejs/assets/ambientsounds/basic/regions/forest.cold.json @@ -1,7 +1,7 @@ { "name": "forest.cold", "features": [ - "tree" + "tree_cold" ], "bad-regions": [ "rain" diff --git a/kubejs/assets/ambientsounds/basic/regions/grass.json b/kubejs/assets/ambientsounds/basic/regions/grass.json index c1a2dd336..8de3eac6e 100644 --- a/kubejs/assets/ambientsounds/basic/regions/grass.json +++ b/kubejs/assets/ambientsounds/basic/regions/grass.json @@ -25,7 +25,19 @@ "ocean", "ocean_reef", "deep_ocean", - "deep_ocean_trench" + "deep_ocean_trench", + "sangnum_edge", + "sangnum_plains", + "sangnum_hills", + "rusticus_edge", + "rusticus_plains", + "rusticus_hills", + "amber_edge", + "amber_plains", + "amber_hills", + "martian_river", + "martian_mountains", + "martian_dune_edge" ], "sounds": [ { diff --git a/kubejs/assets/ambientsounds/basic/regions/jungle.json b/kubejs/assets/ambientsounds/basic/regions/jungle.json index 249b4a50d..3b076db0e 100644 --- a/kubejs/assets/ambientsounds/basic/regions/jungle.json +++ b/kubejs/assets/ambientsounds/basic/regions/jungle.json @@ -1,7 +1,7 @@ { "name": "jungle", "features": [ - "wood_jungle" + "tree_jungle" ], "bad-biomes": [ "mountain_lake", diff --git a/kubejs/assets/ambientsounds/basic/regions/lake.json b/kubejs/assets/ambientsounds/basic/regions/lake.json index 7ae2da97f..e1db5a84f 100644 --- a/kubejs/assets/ambientsounds/basic/regions/lake.json +++ b/kubejs/assets/ambientsounds/basic/regions/lake.json @@ -7,8 +7,7 @@ "oceanic_mountain_lake", "plateau_lake", "volcanic_mountain_lake", - "volcanic_oceanic_mountain_lake", - "martian_river" + "volcanic_oceanic_mountain_lake" ], "features": [ "water" diff --git a/kubejs/assets/ambientsounds/basic/regions/martian_lake.json b/kubejs/assets/ambientsounds/basic/regions/martian_lake.json new file mode 100644 index 000000000..4ff9a6f07 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/regions/martian_lake.json @@ -0,0 +1,18 @@ +{ + "name": "martian_lake", + "biomes": [ + "martian_river" + ], + "features": [ + "water" + ], + "sounds": [ + { + "name": "ocean", + "files": [ + "ambientsounds:water.ocean" + ], + "volume": 0.1 + } + ] +} diff --git a/kubejs/assets/ambientsounds/basic/regions/plains.json b/kubejs/assets/ambientsounds/basic/regions/plains.json index c1ddf9447..6cd3fc336 100644 --- a/kubejs/assets/ambientsounds/basic/regions/plains.json +++ b/kubejs/assets/ambientsounds/basic/regions/plains.json @@ -24,6 +24,20 @@ "plateau", "plateau_lake" ], + "bad-biomes": [ + "sangnum_edge", + "sangnum_plains", + "sangnum_hills", + "rusticus_edge", + "rusticus_plains", + "rusticus_hills", + "amber_edge", + "amber_plains", + "amber_hills", + "martian_river", + "martian_mountains", + "martian_dune_edge" + ], "sounds": [ { "name": "cricket", From f00b7a76b198069fbdfcfa78845cd085c163b3b7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 8 Feb 2026 13:57:40 +0000 Subject: [PATCH 413/474] #3007 more decoration more gooder indeed --- CHANGELOG.md | 2 ++ kubejs/server_scripts/create/recipes.js | 8 ++++++++ kubejs/startup_scripts/create/constants.js | 1 - 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f0340a6d..6c5b5861e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,8 @@ If you missed it, [0.11.19](https://github.com/TerraFirmaGreg-Team/Modpack-Moder - Fixed pandas not dropping meat @Pyritie - Fixed plutonium ores existing @Pyritie - Fixed names of non-TFC materials in ingot piles @Ujhik +- Fixed cricket sounds on mars @Pyritie +- Added recipe for wooden bracket (#3007) @Pyritie ### Translation updates - Ukranian @MetEnBouldry - German @Enderderschander diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 9dfed7c04..6c75d6eb6 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -208,6 +208,14 @@ const registerCreateRecipes = (event) => { B: '#forge:plates/wrought_iron' }).addMaterialInfo().id('tfg:create/shaped/metal_bracket') + event.recipes.gtceu.shaped('4x create:wooden_bracket', [ + 'AAA', + 'BBB' + ], { + A: '#forge:bolts/wrought_iron', + B: '#tfc:lumber' + }).addMaterialInfo().id('tfg:create/shaped/wooden_bracket') + // Жидкостная труба event.shaped('create:fluid_pipe', [ 'BAB' diff --git a/kubejs/startup_scripts/create/constants.js b/kubejs/startup_scripts/create/constants.js index 6439596d0..6f5ab5d35 100644 --- a/kubejs/startup_scripts/create/constants.js +++ b/kubejs/startup_scripts/create/constants.js @@ -68,7 +68,6 @@ global.CREATE_DISABLED_ITEMS = [ 'create:creative_fluid_tank', 'create:unprocessed_obsidian_sheet', 'create:creative_motor', - 'create:wooden_bracket', 'create:red_sand_paper', 'create:empty_blaze_burner', 'create:minecart_contraption', From 114365a6f1c0d31b0f4fe4bc802e0400d097fad6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 8 Feb 2026 14:13:15 +0000 Subject: [PATCH 414/474] added optional create sound of steam recipes #2324 --- CHANGELOG.md | 3 +- kubejs/server_scripts/chimes/recipes.js | 168 +++++++------- .../create_sound_of_steam/recipes.js | 208 ++++++++++++++++++ kubejs/server_scripts/main_server_script.js | 1 + 4 files changed, 295 insertions(+), 85 deletions(-) create mode 100644 kubejs/server_scripts/create_sound_of_steam/recipes.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c5b5861e..abb48e7ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,12 +6,13 @@ If you missed it, [0.11.19](https://github.com/TerraFirmaGreg-Team/Modpack-Moder - Greate Encased Fans now work differently. Water (or distilled water) needs to be pumped into the encased fan itself, instead of having a source block in front. Items also must be on a Depot or Belt in order to be washed, instead of the floor. Processing time decreases with fan RPM. Regular water produces fewer byproducts than distilled water. ### Changes - Added artisan table recipes for all pipe mold sizes (#2983) @Redeix -- Added optional [Chimes](https://www.curseforge.com/minecraft/mc-mods/chimes) compat. (#2973) @TreyR9 - You can now pick up foxes @Pyritie - Added glass batch to glass vial extruder recipe (#2999) @Inceitious - Added a new Face curios slot for Create's Goggles and the Face Mask (#2992) @Bumperdo09 - Added more recycling recipes for wood related items (#2986) @Redeix - Added soybean + sea water to soy mixture recipe (#2984) @Redeix +- Added optional [Chimes](https://www.curseforge.com/minecraft/mc-mods/chimes) compat. (#2973) @TreyR9 +- Added optional [Create: Sound of Steam](https://www.curseforge.com/minecraft/mc-mods/create-sound-of-steam) compat (#2324) @samtsa ### Bug fixes - Fixed incorrect mechanical mixer recipes for weak and regular colored steel dust (#2977) @Pyritie - Fixed cobble breaking into two cobble blocks (#2980) @Pyritie diff --git a/kubejs/server_scripts/chimes/recipes.js b/kubejs/server_scripts/chimes/recipes.js index 3b8f2e826..91de83aed 100644 --- a/kubejs/server_scripts/chimes/recipes.js +++ b/kubejs/server_scripts/chimes/recipes.js @@ -6,91 +6,91 @@ */ const registerChimesRecipes = (event) => { if (Platform.isLoaded("chimes")) { - event.remove({ input: 'string', mod: 'chimes' }) + event.remove({ input: 'string', mod: 'chimes' }) - //TODO: dye recipes in barrel for glass chimes (if possible) + //TODO: dye recipes in barrel for glass chimes (if possible) - //bamboo chimes - event.shaped( - Item.of('chimes:bamboo_chimes'), - [ - " A ", - "CBC", - "C C" - ], { - A: "#minecraft:wooden_slabs", - B: "#forge:string", - C: "minecraft:bamboo" - }) - - //copper chimes - event.shaped( - Item.of('chimes:copper_chimes'), - [ - " A ", - "CBC", - "C C" - ], { - A: "#minecraft:wooden_slabs", - B: "#forge:chains", - C: "#forge:rods/copper" - }) - //iron chimes - event.shaped( - Item.of('chimes:iron_chimes'), - [ - " A ", - "CBC", - "C C" - ], { - A: "#minecraft:wooden_slabs", - B: "#forge:chains", - C: "#forge:rods/iron" - }) - //carved bamboo chimes - event.shapeless( - Item.of('chimes:carved_bamboo_chimes'), - [ - 'chimes:bamboo_chimes', - '#forge:tools/knives' - ] - ) - //carved bamboo chimes direct - event.shaped( - Item.of('chimes:carved_bamboo_chimes'), - [ - " A ", - "CBC", - "CDC" - ], { - A: "#minecraft:wooden_slabs", - B: "#forge:string", - C: "minecraft:bamboo", - D: "#forge:tools/knives" - }) - //amethyst_chime - event.shaped( - Item.of('chimes:amethyst_chimes'), - [ - " A ", - "CBC", - "C C" - ], { - A: "#forge:plates/cast_iron", - B: "#forge:chains", - C: "#forge:rods/amethyst" - }) - //glass_wind_bell - event.shaped( - Item.of('chimes:glass_bells'), - [ - "A", - "B", - "C" - ], { - A: "#tfc:glass_bottles", - B: "#forge:string", - C: "#forge:paper" - }) + //bamboo chimes + event.shaped( + Item.of('chimes:bamboo_chimes'), + [ + " A ", + "CBC", + "C C" + ], { + A: "#minecraft:wooden_slabs", + B: "#forge:string", + C: "minecraft:bamboo" + }) + + //copper chimes + event.shaped( + Item.of('chimes:copper_chimes'), + [ + " A ", + "CBC", + "C C" + ], { + A: "#minecraft:wooden_slabs", + B: "#forge:chains", + C: "#forge:rods/copper" + }) + //iron chimes + event.shaped( + Item.of('chimes:iron_chimes'), + [ + " A ", + "CBC", + "C C" + ], { + A: "#minecraft:wooden_slabs", + B: "#forge:chains", + C: "#forge:rods/iron" + }) + //carved bamboo chimes + event.shapeless( + Item.of('chimes:carved_bamboo_chimes'), + [ + 'chimes:bamboo_chimes', + '#forge:tools/knives' + ] + ) + //carved bamboo chimes direct + event.shaped( + Item.of('chimes:carved_bamboo_chimes'), + [ + " A ", + "CBC", + "CDC" + ], { + A: "#minecraft:wooden_slabs", + B: "#forge:string", + C: "minecraft:bamboo", + D: "#forge:tools/knives" + }) + //amethyst_chime + event.shaped( + Item.of('chimes:amethyst_chimes'), + [ + " A ", + "CBC", + "C C" + ], { + A: "#forge:plates/cast_iron", + B: "#forge:chains", + C: "#forge:rods/amethyst" + }) + //glass_wind_bell + event.shaped( + Item.of('chimes:glass_bells'), + [ + "A", + "B", + "C" + ], { + A: "#tfc:glass_bottles", + B: "#forge:string", + C: "#forge:paper" + }) } } \ No newline at end of file diff --git a/kubejs/server_scripts/create_sound_of_steam/recipes.js b/kubejs/server_scripts/create_sound_of_steam/recipes.js new file mode 100644 index 000000000..4390753e1 --- /dev/null +++ b/kubejs/server_scripts/create_sound_of_steam/recipes.js @@ -0,0 +1,208 @@ +// priority: 0 +"use strict"; + +function registerCreateSoundOfSteamRecipes(event) { + if (Platform.isLoaded("pipeorgans")) { + event.remove({ mod: 'pipeorgans' }) + + //Piccolo + event.shaped('pipeorgans:piccolo', [ + 'ABC', + ' D ', + ' E ' + ], { + A: '#forge:tools/saws', + B: '#tfg:hardwood', + C: '#forge:tools/hammers', + D: 'gtceu:wrought_iron_ingot', + E: 'pipeorgans:base' + }).id('pipeorgans:piccolo') + + //Diapason + event.remove({ id: 'pipeorgans:diapason' }) + + event.shaped('pipeorgans:diapason', [ + 'ABC', + ' B ', + ' D ' + ], { + A: '#forge:tools/saws', + B: 'create:zinc_ingot', + C: '#forge:tools/hammers', + D: 'pipeorgans:base' + }).id('pipeorgans:diapason') + + //Trompette + event.shaped('pipeorgans:trompette', [ + 'ABC', + ' D ', + ' E ' + ], { + A: '#forge:tools/saws', + B: 'create:brass_sheet', + C: '#forge:tools/hammers', + D: 'pipeorgans:brass_boot', + E: 'pipeorgans:base' + }).id('pipeorgans:trompette') + + //Gedeckt + event.shaped('pipeorgans:gedeckt', [ + 'ABC', + ' D ', + ' E ' + ], { + A: '#forge:tools/saws', + B: '#tfc:lumber', + C: '#forge:tools/hammers', + D: '#minecraft:wooden_slabs', + E: 'pipeorgans:base' + }).id('pipeorgans:gedeckt') + + //Gamba + event.shaped('pipeorgans:gamba', [ + 'ABC', + ' D ', + ' E ' + ], { + A: '#forge:tools/saws', + B: 'gtceu:wrought_iron_ingot', + C: '#forge:tools/hammers', + D: 'gtceu:wrought_iron_plate', + E: 'pipeorgans:base' + }).id('pipeorgans:gamba') + + //Nasard + event.shaped('pipeorgans:nasard', [ + 'ABC', + ' B ', + ' D ' + ], { + A: '#forge:tools/saws', + B: 'minecraft:copper_ingot', + C: '#forge:tools/hammers', + D: 'pipeorgans:base' + }).id('pipeorgans:nasard') + + //Subbass + event.shaped('pipeorgans:subbass', [ + 'ABC', + ' D ', + ' E ' + ], { + A: '#forge:tools/saws', + B: '#minecraft:planks', + C: '#forge:tools/hammers', + D: '#minecraft:wooden_slabs', + E: 'pipeorgans:base' + }).id('pipeorgans:subbass') + + //Posaune FIX + event.shaped('pipeorgans:posaune', [ + 'ABC', + ' D ', + ' E ' + ], { + A: '#forge:tools/saws', + B: 'create:brass_sheet', + C: '#forge:tools/hammers', + D: 'pipeorgans:dark_oak_boot', + E: 'pipeorgans:base' + }).id('pipeorgans:posaune') + + //Humana + event.shaped('pipeorgans:vox_humana', [ + 'ABC', + ' D ', + ' E ' + ], { + A: '#forge:tools/saws', + B: 'create:brass_sheet', + C: '#forge:tools/hammers', + D: 'pipeorgans:copper_boot', + E: 'pipeorgans:base' + }).id('pipeorgans:vox_humana') + + //Pipe Base + event.recipes.tfc.welding('pipeorgans:base', 'create:fluid_pipe', 'gtceu:double_copper_plate', 1) + + //Windchest Controller + event.shaped('pipeorgans:windchest_master', [ + 'ABC', + 'DEC', + 'FBC' + ], { + A: '#forge:tools/saws', + B: '#minecraft:planks', + C: 'create:zinc_ingot', + D: '#minecraft:wooden_slabs', + E: 'minecraft:redstone', + F: '#forge:tools/hammers' + }).id('pipeorgans:windchest_master') + + //Windchest + event.shaped('6x pipeorgans:windchest', [ + 'AB ', + 'CD ', + 'EF ' + ], { + A: '#forge:tools/saws', + B: 'create:fluid_pipe', + C: '#minecraft:wooden_slabs', + D: 'minecraft:redstone', + E: '#forge:tools/hammers', + F: '#minecraft:planks' + }).id('pipeorgans:windchest') + + //Brass Boot + event.recipes.tfc.anvil('pipeorgans:brass_boot', 'gtceu:double_brass_plate', ['bend_last', 'shrink_second_last', 'shrink_third_last']) + .tier(3) + .id('tfc:anvil/brass_boot') + + //Dark Oak Boot + event.shaped('pipeorgans:dark_oak_boot', [ + 'ABA', + 'ACA', + 'AAA' + ], { + A: '#minecraft:planks', + B: '#forge:tools/saws', + C: '#forge:tools/hammers' + }).id('pipeorgans:dark_oak_boot') + + //Copper Boot + event.recipes.tfc.anvil('pipeorgans:copper_boot', 'gtceu:double_copper_plate', ['bend_last', 'shrink_second_last', 'shrink_third_last']) + .tier(3) + .id('tfc:anvil/copper_boot') + + + //Stop Master + event.shaped('pipeorgans:stop_master', [ + 'ABC', + 'DED', + 'FGF' + ], { + A: '#forge:tools/wrenches', + B: '#forge:tools/screwdrivers', + C: '#forge:tools/hammers', + D: 'create:transmitter', + E: 'minecraft:redstone', + F: 'gtceu:wrought_iron_ingot', + G: 'create:brass_casing' + }).id('pipeorgans:stop_master') + + //Keyboard Relay + event.shaped('pipeorgans:keyboard_relay', [ + 'ABC', + 'DEC', + 'FGC' + ], { + A: 'create:transmitter', + B: 'minecraft:redstone', + C: '#minecraft:buttons', + D: 'gtceu:wrought_iron_ingot', + E: 'create:precision_mechanism', + F: '#forge:tools/screwdrivers', + G: 'create:brass_casing' + }).id('pipeorgans:keyboard_relay') + } +} diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 2b4cdb451..4b99a0f8e 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -242,6 +242,7 @@ ServerEvents.recipes(event => { registerCreateFactoryLogisticsRecipes(event) registerCreateHorsePowerBlockRecipes(event) registerCreateHypertubeRecipes(event) + registerCreateSoundOfSteamRecipes(event) //registerCreateStockBridgeRecipes(event) registerDeaFissionRecipes(event) registerDiggerHelmetRecipes(event) From 20e2417e1575a19e24404131430c6cc4413aeb77 Mon Sep 17 00:00:00 2001 From: Ujhik Date: Mon, 9 Feb 2026 08:05:07 +0100 Subject: [PATCH 415/474] bugfix: Aged alcohols now are drinkable when player water is full (#3001) --- .../tfcagedalcohol/tfc/drinkables/aged_beer.json | 14 ++++++++++++++ .../tfcagedalcohol/tfc/drinkables/aged_cider.json | 14 ++++++++++++++ .../tfc/drinkables/aged_corn_whiskey.json | 13 +++++++++++++ .../tfcagedalcohol/tfc/drinkables/aged_mead.json | 13 +++++++++++++ .../tfcagedalcohol/tfc/drinkables/aged_rum.json | 13 +++++++++++++ .../tfc/drinkables/aged_rye_whiskey.json | 13 +++++++++++++ .../tfcagedalcohol/tfc/drinkables/aged_sake.json | 13 +++++++++++++ .../tfcagedalcohol/tfc/drinkables/aged_vodka.json | 13 +++++++++++++ .../tfc/drinkables/aged_whiskey.json | 13 +++++++++++++ 9 files changed, 119 insertions(+) create mode 100644 kubejs/data/tfcagedalcohol/tfc/drinkables/aged_beer.json create mode 100644 kubejs/data/tfcagedalcohol/tfc/drinkables/aged_cider.json create mode 100644 kubejs/data/tfcagedalcohol/tfc/drinkables/aged_corn_whiskey.json create mode 100644 kubejs/data/tfcagedalcohol/tfc/drinkables/aged_mead.json create mode 100644 kubejs/data/tfcagedalcohol/tfc/drinkables/aged_rum.json create mode 100644 kubejs/data/tfcagedalcohol/tfc/drinkables/aged_rye_whiskey.json create mode 100644 kubejs/data/tfcagedalcohol/tfc/drinkables/aged_sake.json create mode 100644 kubejs/data/tfcagedalcohol/tfc/drinkables/aged_vodka.json create mode 100644 kubejs/data/tfcagedalcohol/tfc/drinkables/aged_whiskey.json diff --git a/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_beer.json b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_beer.json new file mode 100644 index 000000000..50054c419 --- /dev/null +++ b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_beer.json @@ -0,0 +1,14 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "ingredient": "tfcagedalcohol:aged_beer", + "thirst": 15, + "intoxication": 2000, + "may_drink_when_full": true, + "effects": [ + { + "type": "minecraft:absorption", + "duration": 6400, + "amplifier": 1 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_cider.json b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_cider.json new file mode 100644 index 000000000..36ce6cfc5 --- /dev/null +++ b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_cider.json @@ -0,0 +1,14 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "ingredient": "tfcagedalcohol:aged_cider", + "thirst": 15, + "intoxication": 2000, + "may_drink_when_full": true, + "effects": [ + { + "type": "minecraft:speed", + "duration": 6400, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_corn_whiskey.json b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_corn_whiskey.json new file mode 100644 index 000000000..1209b4fbb --- /dev/null +++ b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_corn_whiskey.json @@ -0,0 +1,13 @@ +{ + "ingredient": "tfcagedalcohol:aged_corn_whiskey", + "thirst": 15, + "intoxication": 2000, + "may_drink_when_full": true, + "effects": [ + { + "type": "minecraft:haste", + "duration": 6400, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_mead.json b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_mead.json new file mode 100644 index 000000000..731953261 --- /dev/null +++ b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_mead.json @@ -0,0 +1,13 @@ +{ + "ingredient": "tfcagedalcohol:aged_mead", + "thirst": 15, + "intoxication": 2000, + "may_drink_when_full": true, + "effects": [ + { + "type": "minecraft:regeneration", + "duration": 6400, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_rum.json b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_rum.json new file mode 100644 index 000000000..de1caafbc --- /dev/null +++ b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_rum.json @@ -0,0 +1,13 @@ +{ + "ingredient": "tfcagedalcohol:aged_rum", + "thirst": 15, + "intoxication": 2000, + "may_drink_when_full": true, + "effects": [ + { + "type": "minecraft:speed", + "duration": 3200, + "amplifier": 1 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_rye_whiskey.json b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_rye_whiskey.json new file mode 100644 index 000000000..396a922b5 --- /dev/null +++ b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_rye_whiskey.json @@ -0,0 +1,13 @@ +{ + "ingredient": "tfcagedalcohol:aged_rye_whiskey", + "thirst": 15, + "intoxication": 2000, + "may_drink_when_full": true, + "effects": [ + { + "type": "minecraft:haste", + "duration": 6400, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_sake.json b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_sake.json new file mode 100644 index 000000000..570645808 --- /dev/null +++ b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_sake.json @@ -0,0 +1,13 @@ +{ + "ingredient": "tfcagedalcohol:aged_sake", + "thirst": 15, + "intoxication": 2000, + "may_drink_when_full": true, + "effects": [ + { + "type": "minecraft:resistance", + "duration": 6400, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_vodka.json b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_vodka.json new file mode 100644 index 000000000..e28f6d19a --- /dev/null +++ b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_vodka.json @@ -0,0 +1,13 @@ +{ + "ingredient": "tfcagedalcohol:aged_vodka", + "thirst": 15, + "intoxication": 2000, + "may_drink_when_full": true, + "effects": [ + { + "type": "minecraft:resistance", + "duration": 3200, + "amplifier": 1 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_whiskey.json b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_whiskey.json new file mode 100644 index 000000000..e6aaba294 --- /dev/null +++ b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_whiskey.json @@ -0,0 +1,13 @@ +{ + "ingredient": "tfcagedalcohol:aged_whiskey", + "thirst": 15, + "intoxication": 2000, + "may_drink_when_full": true, + "effects": [ + { + "type": "minecraft:haste", + "duration": 3200, + "amplifier": 1 + } + ] +} \ No newline at end of file From 69fdcaf83a6c8a340136488e3e6ac45818575338 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 9 Feb 2026 15:08:00 +0000 Subject: [PATCH 416/474] langs --- kubejs/assets/tfg/lang/en_us.json | 7 +++++++ kubejs/assets/tfg/lang/zh_cn.json | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 6b129b19c..51f4bc2e5 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1428,6 +1428,13 @@ "material.tfg.magnesium_hydroxide": "Magnesium Hydroxide", "material.tfg.magnesia_refractory_brick": "Resin-Bonded Magnesia Refractory Brick", "material.tfg.nichromium_iodomethylate": "Nichromium Iodomethylate", + "material.tfg.sulfur_dichloride": "Sulfur Dichloride", + "material.tfg.thionyl_chloride": "Thionyl Chloride", + "material.tfg.p_toluenesulfonic_acid": "p-Toluenesulfonic Acid", + "material.tfg.redstone_nitrate": "Redstone Nitrate", + "material.tfg.redstone_chloride": "Redstone Chloride", + "material.tfg.redstone_tri_p_toluenesulfonate": "Redstone Tri-p-Toluenesulfonate", + "material.tfg.sodium_nitrate": "Sodium Nitrate", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index e3cc99200..27c92315c 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1522,6 +1522,13 @@ "material.tfg.magnesium_hydroxide": "氢氧化镁", "material.tfg.magnesia_refractory_brick": "树脂结合镁质耐火砖", "material.tfg.nichromium_iodomethylate": "碘甲基镍铬合金", + "material.tfg.sulfur_dichloride": "二氯化硫", + "material.tfg.thionyl_chloride": "氯化亚砜", + "material.tfg.p_toluenesulfonic_acid": "对甲苯磺酸", + "material.tfg.redstone_nitrate": "硝酸红石", + "material.tfg.redstone_chloride": "氯化红石", + "material.tfg.redstone_tri_p_toluenesulfonate": "三对甲苯磺酸红石", + "material.tfg.sodium_nitrate": "硝酸钠", "ore_vein.tfg.deep_sheldonite": "硫铂矿, 斑铜矿", "ore_vein.tfg.deep_garnet_amethyst": "紫水晶, 石榴石", "ore_vein.tfg.deep_garnet_opal": "蛋白石, 石榴石", From 3c9834389723edf4ed0bb9524484301fe677d617 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 9 Feb 2026 15:29:45 +0000 Subject: [PATCH 417/474] fix startup crash from tool property --- kubejs/startup_scripts/gtceu/material_modification.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 4efcece0b..2fcf5bf05 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -355,6 +355,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.BlackSteel.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(6.5, 4.5, 1228, 3, metalTooling).build()); // Cast iron tools don't make sense but gregtech shits itself if they're missing, // so I'm just giving them terrible terrible stats + GTMaterials.Iron.getProperties().removeProperty(PropertyKey.TOOL); GTMaterials.Iron.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(2.5, 1.0, 20, 2, [GTToolType.PICKAXE]).build()); // Hide netherite too GTMaterials.Netherite.getProperty(PropertyKey.TOOL).removeTypes(metalTooling); From fa29766d9af1f8f0c49bfadeb1b3347ae5d178e4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 9 Feb 2026 16:38:58 +0000 Subject: [PATCH 418/474] fix mars crickets but for real this time --- .../ambientsounds/basic/regions/jungle.json | 14 +++++++++++++- .../ambientsounds/basic/regions/plains.json | 16 ++++++++-------- .../ambientsounds/basic/regions/swamp.json | 14 ++++++++++++++ .../ambientsounds/basic/regions/venus.json | 14 ++++++++++++++ kubejs/assets/tfg/sounds.json | 9 ++------- 5 files changed, 51 insertions(+), 16 deletions(-) diff --git a/kubejs/assets/ambientsounds/basic/regions/jungle.json b/kubejs/assets/ambientsounds/basic/regions/jungle.json index 3b076db0e..066fe5d86 100644 --- a/kubejs/assets/ambientsounds/basic/regions/jungle.json +++ b/kubejs/assets/ambientsounds/basic/regions/jungle.json @@ -12,7 +12,19 @@ "ocean_reef", "deep_ocean", "deep_ocean_trench", - "rain" + "rain", + "sangnum_edge", + "sangnum_plains", + "sangnum_hills", + "rusticus_edge", + "rusticus_plains", + "rusticus_hills", + "amber_edge", + "amber_plains", + "amber_hills", + "martian_river", + "martian_mountains", + "martian_dune_edge" ], "sounds": [ { diff --git a/kubejs/assets/ambientsounds/basic/regions/plains.json b/kubejs/assets/ambientsounds/basic/regions/plains.json index 6cd3fc336..93c133e1b 100644 --- a/kubejs/assets/ambientsounds/basic/regions/plains.json +++ b/kubejs/assets/ambientsounds/basic/regions/plains.json @@ -15,14 +15,14 @@ "snow" ], "biomes": [ - "lake", - "plains", - "highlands", - "hills", - "old_mountains", - "rolling_hills", - "plateau", - "plateau_lake" + "tfc:lake", + "tfc:plains", + "tfc:highlands", + "tfc:hills", + "tfc:old_mountains", + "tfc:rolling_hills", + "tfc:plateau", + "tfc:plateau_lake" ], "bad-biomes": [ "sangnum_edge", diff --git a/kubejs/assets/ambientsounds/basic/regions/swamp.json b/kubejs/assets/ambientsounds/basic/regions/swamp.json index 02ef2c37e..a8ab88c1d 100644 --- a/kubejs/assets/ambientsounds/basic/regions/swamp.json +++ b/kubejs/assets/ambientsounds/basic/regions/swamp.json @@ -8,6 +8,20 @@ "salt_marsh", "lowlands" ], + "bad-biomes": [ + "sangnum_edge", + "sangnum_plains", + "sangnum_hills", + "rusticus_edge", + "rusticus_plains", + "rusticus_hills", + "amber_edge", + "amber_plains", + "amber_hills", + "martian_river", + "martian_mountains", + "martian_dune_edge" + ], "sounds": [ { "name": "cricket-swamp", diff --git a/kubejs/assets/ambientsounds/basic/regions/venus.json b/kubejs/assets/ambientsounds/basic/regions/venus.json index 6dd4189d8..2280434f8 100644 --- a/kubejs/assets/ambientsounds/basic/regions/venus.json +++ b/kubejs/assets/ambientsounds/basic/regions/venus.json @@ -13,6 +13,20 @@ "fumaroles", "jagged_tablelands" ], + "bad-biomes": [ + "sangnum_edge", + "sangnum_plains", + "sangnum_hills", + "rusticus_edge", + "rusticus_plains", + "rusticus_hills", + "amber_edge", + "amber_plains", + "amber_hills", + "martian_river", + "martian_mountains", + "martian_dune_edge" + ], "sounds": [ { "name": "cricket", diff --git a/kubejs/assets/tfg/sounds.json b/kubejs/assets/tfg/sounds.json index 7adb8d046..bd316d7bf 100644 --- a/kubejs/assets/tfg/sounds.json +++ b/kubejs/assets/tfg/sounds.json @@ -534,9 +534,9 @@ "ambient.mars_land.loop": { "sounds": [ { - "name": "ambientsounds:animals/cicadas/cicadas-mushroom-fields", + "name": "ambientsounds:animals/special/special-mushroom-fields", "stream": true, - "volume": 0.50 + "volume": 0.15 } ] }, @@ -636,11 +636,6 @@ "name": "minecraft:ambient/nether/crimson_forest/addition1", "volume": 0.4, "weight": 5 - }, - { - "name": "ambientsounds:animals/special/special-mushroom-fields", - "volume": 0.4, - "weight": 20 } ] }, From 13c003b8173e9cf4b0b64d1e101b20cddb5539b7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 9 Feb 2026 16:39:13 +0000 Subject: [PATCH 419/474] fix sound of steam recipe --- .../create_sound_of_steam/recipes.js | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/kubejs/server_scripts/create_sound_of_steam/recipes.js b/kubejs/server_scripts/create_sound_of_steam/recipes.js index 4390753e1..1bee16daa 100644 --- a/kubejs/server_scripts/create_sound_of_steam/recipes.js +++ b/kubejs/server_scripts/create_sound_of_steam/recipes.js @@ -174,22 +174,6 @@ function registerCreateSoundOfSteamRecipes(event) { .tier(3) .id('tfc:anvil/copper_boot') - - //Stop Master - event.shaped('pipeorgans:stop_master', [ - 'ABC', - 'DED', - 'FGF' - ], { - A: '#forge:tools/wrenches', - B: '#forge:tools/screwdrivers', - C: '#forge:tools/hammers', - D: 'create:transmitter', - E: 'minecraft:redstone', - F: 'gtceu:wrought_iron_ingot', - G: 'create:brass_casing' - }).id('pipeorgans:stop_master') - //Keyboard Relay event.shaped('pipeorgans:keyboard_relay', [ 'ABC', From 99e0d3397a3828b9ac7ce483443c1b1d6e54254e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 9 Feb 2026 16:39:24 +0000 Subject: [PATCH 420/474] comment this out until gradle is fixed --- kubejs/startup_scripts/gtceu/material_modification.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 2fcf5bf05..5558fdbce 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -355,7 +355,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.BlackSteel.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(6.5, 4.5, 1228, 3, metalTooling).build()); // Cast iron tools don't make sense but gregtech shits itself if they're missing, // so I'm just giving them terrible terrible stats - GTMaterials.Iron.getProperties().removeProperty(PropertyKey.TOOL); + //GTMaterials.Iron.getProperties().removeProperty(PropertyKey.TOOL); GTMaterials.Iron.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(2.5, 1.0, 20, 2, [GTToolType.PICKAXE]).build()); // Hide netherite too GTMaterials.Netherite.getProperty(PropertyKey.TOOL).removeTypes(metalTooling); From d974cdc12ccc44e530b0b9e6ff50e96151fa6adf Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 9 Feb 2026 16:39:51 +0000 Subject: [PATCH 421/474] pakku --- pakku-lock.json | 84 ++++++++++++++++++++++++------------------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index af97e2c39..c05eec1fd 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -3982,7 +3982,7 @@ "files": [ { "type": "modrinth", - "file_name": "create_connected-1.1.12-mc1.20.1-all.jar", + "file_name": "create_connected-1.1.13-mc1.20.1-all.jar", "mc_versions": [ "1.20.1" ], @@ -3991,22 +3991,22 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/Vg5TIO6d/versions/aN0bSww5/create_connected-1.1.12-mc1.20.1-all.jar", - "id": "aN0bSww5", + "url": "https://cdn.modrinth.com/data/Vg5TIO6d/versions/cd0NZDvE/create_connected-1.1.13-mc1.20.1-all.jar", + "id": "cd0NZDvE", "parent_id": "Vg5TIO6d", "hashes": { - "sha512": "197488682615350b777c9f803c58a870fab3f775f044a8c1aae44810b0f9a93a5ff05bc54b1d6a5d962d5b6db78dfb5c33c6cf0e2373f261b89834e0dc2cd67a", - "sha1": "d984c4502c0ed9a997dafc707b3cee2a4a65167e" + "sha512": "942b9f05b5033ef5f920dad95a8871c04907084388f11dbe48f2d853ec237d47f1b037252b33e4d3f9efc680b680651c65cd48d4a2ca79c7b6328ae27ba3317f", + "sha1": "14ecb2facb6eaa99635f03a46346d91a331b7768" }, "required_dependencies": [ "LNytGWDc" ], - "size": 6566880, - "date_published": "2026-02-01T02:48:57.370419Z" + "size": 6566935, + "date_published": "2026-02-08T11:57:40.268747Z" }, { "type": "curseforge", - "file_name": "create_connected-1.1.12-mc1.20.1-all.jar", + "file_name": "create_connected-1.1.13-mc1.20.1-all.jar", "mc_versions": [ "1.20.1" ], @@ -4015,18 +4015,18 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7558/612/create_connected-1.1.12-mc1.20.1-all.jar", - "id": "7558612", + "url": "https://edge.forgecdn.net/files/7593/867/create_connected-1.1.13-mc1.20.1-all.jar", + "id": "7593867", "parent_id": "947914", "hashes": { - "sha1": "6a27b27ad502429650fa621009daacc876bd3e28", - "md5": "eccd418f036339b09ec505db7a3f82d4" + "sha1": "0e1ffa4e6d3f7b379c7d30e8e59d424fd527acb4", + "md5": "3eb16b4c0c2d81db6a8392e41fd97ff4" }, "required_dependencies": [ "328085" ], - "size": 6566879, - "date_published": "2026-02-01T02:49:13.020Z" + "size": 6566936, + "date_published": "2026-02-08T11:58:20.660Z" } ] }, @@ -4052,7 +4052,7 @@ "files": [ { "type": "modrinth", - "file_name": "create_hypertube-0.3.0-FORGE.jar", + "file_name": "create_hypertube-0.4.0-FORGE.jar", "mc_versions": [ "1.20.1", "1.20.2", @@ -4066,22 +4066,22 @@ "neoforge" ], "release_type": "beta", - "url": "https://cdn.modrinth.com/data/ATDdrG1y/versions/pX1oNdBc/create_hypertube-0.3.0-FORGE.jar", - "id": "pX1oNdBc", + "url": "https://cdn.modrinth.com/data/ATDdrG1y/versions/ngA99IQz/create_hypertube-0.4.0-FORGE.jar", + "id": "ngA99IQz", "parent_id": "ATDdrG1y", "hashes": { - "sha512": "4ffaff34cdd31c6ff11364809992cb4f15e1e00fd3d87a5be6a9006e95ad9c4636ffbe6845ee2d59b55d20e9896bedb1e5ada699202e9b71a90195833161a140", - "sha1": "476ae93802024b766badb15e538e0cf65a2e3fbd" + "sha512": "67e200c36bd0f8571089c99f489af6987e40e6b6c912c7b4b7830f605943cd25b6d727f707c7dbcd91faea30ee67385b635e3a61dd6f813460e68f5b49c0ff40", + "sha1": "49712554e365e4412fa6362f0394e919fe7eb261" }, "required_dependencies": [ "LNytGWDc" ], - "size": 390634, - "date_published": "2025-11-21T17:40:28.963108Z" + "size": 421417, + "date_published": "2026-02-09T13:59:01.301871Z" }, { "type": "curseforge", - "file_name": "create_hypertube-0.3.0-FORGE.jar", + "file_name": "create_hypertube-0.4.0-FORGE.jar", "mc_versions": [ "1.20.1" ], @@ -4090,18 +4090,18 @@ "neoforge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7246/344/create_hypertube-0.3.0-FORGE.jar", - "id": "7246344", + "url": "https://edge.forgecdn.net/files/7599/486/create_hypertube-0.4.0-FORGE.jar", + "id": "7599486", "parent_id": "1281336", "hashes": { - "sha1": "476ae93802024b766badb15e538e0cf65a2e3fbd", - "md5": "7cab909e9c8de12b8c97518ca0042c1b" + "sha1": "49712554e365e4412fa6362f0394e919fe7eb261", + "md5": "7faf6ee6833eae1994c4c051454e2bac" }, "required_dependencies": [ "328085" ], - "size": 390634, - "date_published": "2025-11-21T17:32:38.960Z" + "size": 421417, + "date_published": "2026-02-09T13:56:36.967Z" } ] }, @@ -5382,7 +5382,7 @@ "files": [ { "type": "modrinth", - "file_name": "everycomp-1.20-2.9.16-forge.jar", + "file_name": "everycomp-1.20-2.9.17-forge.jar", "mc_versions": [ "1.20.1" ], @@ -5390,22 +5390,22 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/eiktJyw1/versions/PzLUDEeR/everycomp-1.20-2.9.16-forge.jar", - "id": "PzLUDEeR", + "url": "https://cdn.modrinth.com/data/eiktJyw1/versions/VfyRmElC/everycomp-1.20-2.9.17-forge.jar", + "id": "VfyRmElC", "parent_id": "eiktJyw1", "hashes": { - "sha512": "a5cedf32c29573af7d65323a58ba9d302f8a4623a5086909feddfde24d1d514a63aed9cb69d05963a9d54ef0f22aae7f550e2e458029434688d9d803c0b0f212", - "sha1": "6f68b7f54c895d38001d4ae5dc20e7f47929e981" + "sha512": "b56c5258a8a34178205574fc262a35c7a5d31299954f3a90d3fb876433cc000b2a89ff9ffecfdb5bd5eb68524ae582a7c4807ca9297b6438fc4861a6b11f036a", + "sha1": "f916b0f9871722d56adea057111b70e4c0529866" }, "required_dependencies": [ "twkfQtEc" ], - "size": 2834510, - "date_published": "2026-02-08T09:44:23.096170Z" + "size": 2834698, + "date_published": "2026-02-09T04:43:50.932298Z" }, { "type": "curseforge", - "file_name": "everycomp-1.20-2.9.16-forge.jar", + "file_name": "everycomp-1.20-2.9.17-forge.jar", "mc_versions": [ "1.20.1" ], @@ -5413,18 +5413,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7593/349/everycomp-1.20-2.9.16-forge.jar", - "id": "7593349", + "url": "https://edge.forgecdn.net/files/7597/912/everycomp-1.20-2.9.17-forge.jar", + "id": "7597912", "parent_id": "628539", "hashes": { - "sha1": "6f68b7f54c895d38001d4ae5dc20e7f47929e981", - "md5": "9262a59d15f024e3022a1d5249fe9361" + "sha1": "f916b0f9871722d56adea057111b70e4c0529866", + "md5": "750f6bd2c84400cf860212bdc1185850" }, "required_dependencies": [ "499980" ], - "size": 2834510, - "date_published": "2026-02-08T09:44:01.477Z" + "size": 2834698, + "date_published": "2026-02-09T04:43:30.063Z" } ] }, From 5afcee46babbc64a283771755e49ee2b99577e9e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 9 Feb 2026 16:53:07 +0000 Subject: [PATCH 422/474] hide unused "unfinished" create hypertube item --- kubejs/server_scripts/create_hypertube/tags.js | 6 ++++++ kubejs/server_scripts/main_server_script.js | 1 + 2 files changed, 7 insertions(+) create mode 100644 kubejs/server_scripts/create_hypertube/tags.js diff --git a/kubejs/server_scripts/create_hypertube/tags.js b/kubejs/server_scripts/create_hypertube/tags.js new file mode 100644 index 000000000..7052e71e7 --- /dev/null +++ b/kubejs/server_scripts/create_hypertube/tags.js @@ -0,0 +1,6 @@ +// priority: 0 +"use strict"; + +function registerCreateHypertubeItemTags(event) { + event.add('c:hidden_from_recipe_viewers', 'create_hypertube:tube_scanner_unfinished'); +} \ No newline at end of file diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 4b99a0f8e..cbbc422da 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -22,6 +22,7 @@ ServerEvents.tags('item', event => { registerCreateConnectedItemTags(event) registerCreateDecoItemTags(event) registerCreateFactoryLogisticsItemTags(event) + registerCreateHypertubeItemTags(event) registerDeaFissionItemTags(event) registerDomumOrnamentumItemTags(event) registerDiggerHelmetItemTags(event) From 792f52488402ff99495d4f9c29597472f6740139 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 9 Feb 2026 16:54:10 +0000 Subject: [PATCH 423/474] #3009 added recipes for smelting seaweed/kelp to soda ash (no tom it doesn't make soda ash infinite) --- kubejs/server_scripts/tfc/recipes.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index a84425475..314ecb9a6 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -107,6 +107,11 @@ const registerTFCRecipes = (event) => { // Soda Ash event.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_seaweed').id('tfg:smelting/dried_seaweed_to_soda') event.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_kelp').id('tfg:smelting/dried_kelp_to_soda') + event.smelting('3x tfc:powder/soda_ash', 'tfc:food/fresh_seaweed').id('tfg:smelting/fresh_seaweed_to_soda') + event.smelting('3x tfc:powder/soda_ash', 'tfc:groundcover/seaweed').id('tfg:smelting/seaweed_to_soda') + event.smelting('3x tfc:powder/soda_ash', 'tfc:plant/winged_kelp').id('tfg:smelting/winged_kelp_to_soda') + event.smelting('3x tfc:powder/soda_ash', 'tfc:plant/leafy_kelp').id('tfg:smelting/leafy_kelp_to_soda') + event.smelting('3x tfc:powder/soda_ash', 'tfc:plant/giant_kelp_flower').id('tfg:smelting/giant_kelp_to_soda') //More accesible solar drier event.replaceInput({ id: 'firmalife:crafting/solar_drier' }, 'gtceu:stainless_steel_rod', 'gtceu:silver_rod') From 3a3d502265b5d100e4efa1c4d16845c68ccef82f Mon Sep 17 00:00:00 2001 From: TomPlop Date: Mon, 9 Feb 2026 13:13:09 -0500 Subject: [PATCH 424/474] Nuclear fix (#3015) * fix nuclear line hardlock, move LSA mk2 and change ae2 recipes * small fix to recipe casing name * fix ostrum * Hide items from ExtendedAE * add quests * add langfile * some fix --- CHANGELOG.md | 6 ++++ .../quests/chapters/ev__extreme_voltage.snbt | 29 +++++++++++++++++-- .../quests/chapters/gregtech_energy.snbt | 18 +++++++----- .../quests/chapters/hv__high_voltage.snbt | 8 ++++- kubejs/server_scripts/extended_ae2/recipes.js | 4 +-- .../server_scripts/gtceu_terminal/recipes.js | 4 +-- .../tfg/machines/recipes.casings.js | 14 +++++++-- .../tfg/powergen/nuclear/recipes.nuclear.js | 15 +++++++--- .../tfg/powergen/recipes.solar.js | 12 ++++---- .../startup_scripts/extended_ae2/constants.js | 4 ++- 10 files changed, 84 insertions(+), 30 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index abb48e7ab..1e091c795 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,9 @@ ### Breaking changes If you missed it, [0.11.19](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/releases/tag/0.11.19) and [0.11.20](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/releases/tag/0.11.20) were Alpha versions with many important breaking changes. Be sure to read their changelogs as well! - Greate Encased Fans now work differently. Water (or distilled water) needs to be pumped into the encased fan itself, instead of having a source block in front. Items also must be on a Depot or Belt in order to be washed, instead of the floor. Processing time decreases with fan RPM. Regular water produces fewer byproducts than distilled water. +- Some recipe changes to AE2 mainly to ExtandedAE to avoid conflicts, check your patterns ### Changes +- Large Solar Array Mk2 (LSA) is now craftable after reaching Mars rather than at the end of the Fission Line - Added artisan table recipes for all pipe mold sizes (#2983) @Redeix - You can now pick up foxes @Pyritie - Added glass batch to glass vial extruder recipe (#2999) @Inceitious @@ -14,6 +16,10 @@ If you missed it, [0.11.19](https://github.com/TerraFirmaGreg-Team/Modpack-Moder - Added optional [Chimes](https://www.curseforge.com/minecraft/mc-mods/chimes) compat. (#2973) @TreyR9 - Added optional [Create: Sound of Steam](https://www.curseforge.com/minecraft/mc-mods/create-sound-of-steam) compat (#2324) @samtsa ### Bug fixes +- Fix the Empty Rod T1 that was uncraftable (#3008) @TomPlop +- Fixed fission fuel rods looking for the wrong items to recycle @TomPlop +- Add a missing recipe for the Heat Input Hatch that was making progressing on the Fission line after Uranium impossible @TomPlop +- Add a missing recipe for the Titanium Exhaust Vent that was making building the Cooling Tower impossible @TomPlop - Fixed incorrect mechanical mixer recipes for weak and regular colored steel dust (#2977) @Pyritie - Fixed cobble breaking into two cobble blocks (#2980) @Pyritie - Fixed a recycling dupe with maintenance hatches (#3003) @Pyritie diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 643d62723..614ae60a1 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -26,7 +26,7 @@ id: "0E76B952D3BA3BDA" linked_quest: "017019EB38F7A18C" x: -0.75d - y: 9.0d + y: 8.5d } { id: "66960076A74E9B79" @@ -82,6 +82,14 @@ x: 23.5d y: 10.5d } + { + id: "6CE2E1928A907A30" + linked_quest: "3AEAB1930F4CC034" + shape: "octagon" + size: 1.25d + x: 16.0d + y: 3.0d + } ] quests: [ { @@ -1991,8 +1999,8 @@ type: "item" } ] - x: 3.75d - y: 12.75d + x: 3.5d + y: 12.5d } { dependencies: ["5EC5566546591DEE"] @@ -2395,6 +2403,21 @@ x: 11.5d y: 3.0d } + { + dependencies: ["7AC97F7850E31D95"] + description: ["{quests.extreme_voltage.schematic_terminal.desc}"] + id: "4B600E20614EB886" + optional: true + shape: "heart" + subtitle: "{quests.extreme_voltage.schematic_terminal.subtitle}" + tasks: [{ + id: "30C659B8B4BDEF8A" + item: "gtceuterminal:schematic_interface" + type: "item" + }] + x: 1.5d + y: 8.5d + } ] subtitle: ["{quests.extreme_voltage.subtitle}"] title: "{quests.extreme_voltage}" diff --git a/config/ftbquests/quests/chapters/gregtech_energy.snbt b/config/ftbquests/quests/chapters/gregtech_energy.snbt index 1c658bad5..6cbf2cb41 100644 --- a/config/ftbquests/quests/chapters/gregtech_energy.snbt +++ b/config/ftbquests/quests/chapters/gregtech_energy.snbt @@ -798,7 +798,7 @@ y: -5.0d } { - dependencies: ["4D0ADC66D2CF09B1"] + dependencies: ["0AF286AA540A82E6"] description: ["{quests.gregtech_energy.solar_panel.desc}"] id: "109C57B63EE95E35" subtitle: "{quests.gregtech_energy.solar_panel.subtitle}" @@ -809,12 +809,14 @@ type: "item" }] x: -6.0d - y: -3.0d + y: -5.0d } { dependencies: [ "109C57B63EE95E35" "5826EC76931359B8" + "00A2566109144D7F" + "4D0ADC66D2CF09B1" ] dependency_requirement: "one_completed" description: [ @@ -832,7 +834,7 @@ type: "item" }] x: -6.0d - y: -2.0d + y: -3.0d } { dependencies: ["4D0ADC66D2CF09B1"] @@ -1147,8 +1149,10 @@ { dependencies: [ "0585527D1854628B" - "05E2F203DA46A5E8" + "7AF726555D721DFC" + "5FA09DA68D309548" ] + dependency_requirement: "one_completed" description: [ "{quests.gregtech_energy.large_solar_t2.desc.1}" "{@pagebreak}" @@ -1162,12 +1166,12 @@ type: "item" }] x: -6.0d - y: 1.0d + y: -1.0d } { dependencies: [ "3AEAB1930F4CC034" - "1DB543EFEEB67238" + "05E2F203DA46A5E8" ] description: ["{quests.gregtech_energy.large_solar_t3.desc}"] id: "7CA3A5EFE3D5B688" @@ -1178,7 +1182,7 @@ type: "item" }] x: -6.0d - y: 3.0d + y: 1.0d } { dependencies: [ diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index 7fad3ab38..9c349efe9 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -53,6 +53,12 @@ x: 0.0d y: -13.0d } + { + id: "3274381865E7D011" + linked_quest: "0585527D1854628B" + x: 14.0d + y: 1.5d + } ] quests: [ { @@ -1384,7 +1390,7 @@ type: "checkmark" }] title: "{quests.high_voltage.space_survival.title}" - x: 13.0d + x: 12.0d y: 1.5d } { diff --git a/kubejs/server_scripts/extended_ae2/recipes.js b/kubejs/server_scripts/extended_ae2/recipes.js index b1dbcb69b..e1c91f24d 100644 --- a/kubejs/server_scripts/extended_ae2/recipes.js +++ b/kubejs/server_scripts/extended_ae2/recipes.js @@ -561,7 +561,7 @@ const registerExtendedAE2Recipes = (event) => { event.recipes.gtceu.assembler('expatternprovider:ex_pattern_access_part') .itemInputs( 'ae2:pattern_access_terminal', - '4x ae2:logic_processor', + Item.of('ae2:engineering_processor', 4), '2x megacells:accumulation_processor') .itemOutputs('expatternprovider:ex_pattern_access_part') .duration(100) @@ -569,7 +569,7 @@ const registerExtendedAE2Recipes = (event) => { event.recipes.gtceu.assembler('expatternprovider:pattern_terminal_upgrade') .itemInputs( - '4x ae2:logic_processor', + '4x ae2:calculation_processor', '2x megacells:accumulation_processor') .itemOutputs('expatternprovider:pattern_terminal_upgrade') .duration(100) diff --git a/kubejs/server_scripts/gtceu_terminal/recipes.js b/kubejs/server_scripts/gtceu_terminal/recipes.js index e1f75679d..5a6f749c9 100644 --- a/kubejs/server_scripts/gtceu_terminal/recipes.js +++ b/kubejs/server_scripts/gtceu_terminal/recipes.js @@ -35,7 +35,6 @@ function registerGTCEUTerminalRecipes(event) { }).id(`tfg:shaped/multi_structure_manager`) event.remove({ id : 'gtceuterminal:schematic_interface' }) - /* Broken for now as it can duplicate resources in the I/O Ports event.shaped('1x gtceuterminal:schematic_interface', [ 'ABA', 'CDC', @@ -48,6 +47,5 @@ function registerGTCEUTerminalRecipes(event) { E: '#gtceu:batteries/iv', F: '#forge:plates/tungsten_steel' }).id(`tfg:shaped/schematic_interface`) - */ - + } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/machines/recipes.casings.js b/kubejs/server_scripts/tfg/machines/recipes.casings.js index 814409db3..8e3318e24 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.casings.js +++ b/kubejs/server_scripts/tfg/machines/recipes.casings.js @@ -22,7 +22,7 @@ function registerTFGCasingRecipes(event) { ) .inputFluids(Fluid.of('gtceu:epoxy', 144)) .itemOutputs(Item.of('tfg:superconductor_coil_small', 4 * multiplier)) - .circuit(4) + .circuit(6) .duration(400) .EUt(GTValues.VA[GTValues.MV]) @@ -34,7 +34,7 @@ function registerTFGCasingRecipes(event) { ChemicalHelper.get(TagPrefix.wireGtSingle, GTMaterials[type.materialId], 4)) .inputFluids(Fluid.of('gtceu:epoxy', 144)) .itemOutputs(Item.of('tfg:superconductor_coil_large', 4 * multiplier)) - .circuit(7) + .circuit(6) .duration(600) .EUt(GTValues.VA[GTValues.MV]) }) @@ -148,13 +148,21 @@ function registerTFGCasingRecipes(event) { // Heat Battery deafission:battery_heat_port_ev event.recipes.gtceu.assembler('tfg:battery_heat_port_ev') - .itemInputs(Item.of('gtceu:iv_machine_hull', 1), Item.of('gtceu:rtm_alloy_coil_block'), Item.of('gtceu:silicon_plate', 6)) + .itemInputs(Item.of('gtceu:ev_machine_hull', 1), Item.of('gtceu:rtm_alloy_coil_block'), Item.of('gtceu:silicon_plate', 6)) .inputFluids(Fluid.of('gtceu:mercury', 4000)) .itemOutputs('deafission:battery_heat_port_ev') //.circuit(6) .duration(2.5 * 20) .EUt(GTValues.VA[GTValues.EV]) + event.recipes.gtceu.assembler('tfg:heat_input_hatch_ev') + .itemInputs(Item.of('gtceu:ev_machine_hull', 1), Item.of('gtceu:rtm_alloy_coil_block'), Item.of('gtceu:beryllium_plate', 6)) + .inputFluids(Fluid.of('gtceu:mercury', 4000)) + .itemOutputs(Item.of('deafission:heat_input_hatch_ev', 1)) + //.circuit(6) + .duration(2.5 * 20) + .EUt(GTValues.VA[GTValues.EV]) + // Small Modular Turbine event.recipes.gtceu.assembler('tfg:machine_casing_desh_ptfe') diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js index 558ffbdbc..4732864d1 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js @@ -136,7 +136,7 @@ function registerTFGNuclearRecipes(event) { event.recipes.gtceu.assembler('tfg:empty_rod') - .itemInputs('3x gtceu:cobalt_large_restrictive_item_pipe', '9x #forge:double_plates/cadmium', '4x #forge:dense_plates/maraging_steel_300') + .itemInputs('3x gtceu:cobalt_large_restrictive_item_pipe', '9x #forge:double_plates/cadmium', '4x #forge:dense_plates/hsla_steel') .itemOutputs('tfg:empty_rod') .duration(20*15) .EUt(GTValues.VA[GTValues.HV]) @@ -551,7 +551,7 @@ function registerTFGNuclearRecipes(event) { let g = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_americium_241_rod') //.inputItemNbtPredicate(Item.of('tfg:depleted_thorium_rod'), NBTPredicates.gte("avgHeat", 5000)) - .itemInputs(Item.of('tfg:americium_241_rod')) + .itemInputs(Item.of('tfg:depleted_americium_241_rod')) .itemOutputs(Item.of('tfg:empty_rod_t2')) .EUt(GTValues.VA[GTValues.HV]) .duration(20*16) @@ -562,7 +562,7 @@ function registerTFGNuclearRecipes(event) { let h = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_neptunium_237_rod') //.inputItemNbtPredicate(Item.of('tfg:depleted_thorium_rod'), NBTPredicates.gte("avgHeat", 5000)) - .itemInputs(Item.of('tfg:neptunium_237_rod')) + .itemInputs(Item.of('tfg:depleted_neptunium_237_rod')) .itemOutputs(Item.of('tfg:empty_rod_t2')) .EUt(GTValues.VA[GTValues.HV]) .duration(20*16) @@ -573,7 +573,7 @@ function registerTFGNuclearRecipes(event) { let i = event.recipes.gtceu.nuclear_fuel_factory('tfg:depleted_californium_252_rod') //.inputItemNbtPredicate(Item.of('tfg:depleted_thorium_rod'), NBTPredicates.gte("avgHeat", 5000)) - .itemInputs(Item.of('tfg:californium_252_rod')) + .itemInputs(Item.of('tfg:depleted_californium_252_rod')) .itemOutputs(Item.of('tfg:empty_rod_t3')) .EUt(GTValues.VA[GTValues.HV]) .duration(20*16) @@ -794,6 +794,13 @@ function registerTFGNuclearRecipes(event) { .EUt(GTValues.VA[GTValues.EV]) .duration(20*4) + event.recipes.gtceu.assembler('tfg:titanium_exhaust_vent') + .itemInputs(Item.of('gtceu:double_titanium_plate', 6), Item.of('gtceu:double_magnalium_plate', 2), Item.of('gtceu:titanium_rotor', 1)) + .itemOutputs(Item.of('tfg:titanium_exhaust_vent', 1)) + .circuit(6) + .EUt(GTValues.VA[GTValues.EV]) + .duration(20*30) + event.shaped('tfg:cooling_tower', [ 'ABA', 'CDC', diff --git a/kubejs/server_scripts/tfg/powergen/recipes.solar.js b/kubejs/server_scripts/tfg/powergen/recipes.solar.js index e74ec4cb7..f3e530709 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.solar.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.solar.js @@ -22,12 +22,12 @@ function registerTFGSolarRecipes(event) { { S: 'ad_astra:photovoltaic_etrium_cell', Z: 'gtceu:large_solar_panel', - W: '#gtceu:circuits/iv', - U: '#forge:gears/rocket_alloy_t1', - T: '#forge:gears/desh' + W: '#gtceu:circuits/ev', + U: '#forge:gears/rocket_alloy_t2', + T: '#forge:gears/ostrum_iodide' } ).id('gtceu:shaped/large_solar_panel_tier2') - + // Remember to change the Mk3 when Venus is out event.shaped( 'gtceu:large_solar_panel_tier3', ['WSW', 'TZT', 'WUW'], @@ -35,8 +35,8 @@ function registerTFGSolarRecipes(event) { S: 'ad_astra:photovoltaic_vesnium_cell', Z: 'gtceu:large_solar_panel_tier2', W: '#gtceu:circuits/luv', - U: '#forge:gears/rocket_alloy_t1', - T: '#forge:gears/desh' + U: '#forge:gears/rocket_alloy_t2', + T: '#forge:gears/ostrum_iodide' } ).id('gtceu:shaped/large_solar_panel_tier3') diff --git a/kubejs/startup_scripts/extended_ae2/constants.js b/kubejs/startup_scripts/extended_ae2/constants.js index 26cf04231..7a437aa22 100644 --- a/kubejs/startup_scripts/extended_ae2/constants.js +++ b/kubejs/startup_scripts/extended_ae2/constants.js @@ -11,5 +11,7 @@ global.EXTENDED_AE2_DISABLED_ITEMS = [ 'expatternprovider:ex_charger', 'expatternprovider:caner', 'expatternprovider:circuit_cutter', - 'expatternprovider:silicon_block' + 'expatternprovider:silicon_block', + 'expatternprovider:ex_crafting_terminal', // Allow to use an anvil so we remove it as it's pretty useless + 'expatternprovider:wireless_hub' // I will add this one back one day (maybe IV or LuV) ] \ No newline at end of file From c8af187dcb9253ee354fbd86e24cbccf2f91e54a Mon Sep 17 00:00:00 2001 From: Nebby <78170922+Nebby1999@users.noreply.github.com> Date: Mon, 9 Feb 2026 15:14:24 -0300 Subject: [PATCH 425/474] Add Bags for Universal Composts (#3016) * Add universal composts * Update changelog --- CHANGELOG.md | 1 + .../quests/chapters/queststfc_tips.snbt | 51 ++++++++++++++++++ .../item/universal_compost_browns_bag.png | Bin 0 -> 483 bytes .../item/universal_compost_greens_bag.png | Bin 0 -> 471 bytes kubejs/server_scripts/tfg/data.js | 4 ++ .../tfg/primitive/recipes.compost.js | 26 +++++++++ .../tfg/primitive/items.primitive.js | 11 ++++ 7 files changed, 93 insertions(+) create mode 100644 kubejs/assets/tfg/textures/item/universal_compost_browns_bag.png create mode 100644 kubejs/assets/tfg/textures/item/universal_compost_greens_bag.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e091c795..2a359a5e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ If you missed it, [0.11.19](https://github.com/TerraFirmaGreg-Team/Modpack-Moder - Added soybean + sea water to soy mixture recipe (#2984) @Redeix - Added optional [Chimes](https://www.curseforge.com/minecraft/mc-mods/chimes) compat. (#2973) @TreyR9 - Added optional [Create: Sound of Steam](https://www.curseforge.com/minecraft/mc-mods/create-sound-of-steam) compat (#2324) @samtsa +- Added Universal Bags of Composts (#3016) @Nebby1999 ### Bug fixes - Fix the Empty Rod T1 that was uncraftable (#3008) @TomPlop - Fixed fission fuel rods looking for the wrong items to recycle @TomPlop diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index 9a5e01028..01852da68 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -2197,6 +2197,57 @@ x: 0.0d y: -12.0d } + { + dependencies: ["2EFB241490502DB3"] + description: ["{quests.tfg_tips.composter.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/composter" + id: "264D138DFFE13BD0" + subtitle: "{quests.tfg_tips.composter.subtitle}" + tasks: [{ + id: "2EE61FD71FE330D3" + item: "tfc:composter" + type: "item" + }] + title: "{quests.tfg_tips.composter.title}" + x: 2.0d + y: -4.0d + } + { + dependencies: ["264D138DFFE13BD0"] + description: ["{quests.tfg_tips.universal_compost.desc}"] + id: "13E4AE4F46A1A1A0" + subtitle: "{quests.tfg_tips.universal_compost.subtitle}" + tasks: [ + { + id: "6F3BD81EAD7CC109" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfg:universal_compost_browns)item(tfg:universal_compost_greens))" + } + } + title: "{quests.tfg_tips.universal_compost.task.1}" + type: "item" + } + { + id: "787E7A402B3162B5" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfg:universal_compost_browns_bag)item(tfg:universal_compost_greens_bag))" + } + } + optional_task: true + title: "{quests.tfg_tips.universal_compost.task.2}" + type: "item" + } + ] + title: "{quests.tfg_tips.universal_compost.title}" + x: 4.0d + y: -4.0d + } ] subtitle: ["{quests.tfg_tips.subtitle}"] title: "{quests.tfg_tips}" diff --git a/kubejs/assets/tfg/textures/item/universal_compost_browns_bag.png b/kubejs/assets/tfg/textures/item/universal_compost_browns_bag.png new file mode 100644 index 0000000000000000000000000000000000000000..b18d34ffdf4f9e5c550f7a368fad23bfa567fa87 GIT binary patch literal 483 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>-GSILr3t<6;4Z51+!W zGI5oed1bwjTl1IiN7nX}vbXlw#p}!DIsLW0a@o0e)>NiRHSxAePbU-^+OuC!+p%}& z@l8PtZ`S=kbA|C6zfqucl*49grQANx*^gJ0ZQ1Lz*;?tE+An5ij|=a;Yl=lrd+A+w z+BswSLsk#VB@bEeSUxw|({Q?5n8EH|?6YqU<{qJ!j|FY*yZy2CLT=*0bN{$CLth); h)|j@J`RNL!zl=^Ioeq85Zh|6)!PC{xWt~$(69A3hy1)Pc literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/universal_compost_greens_bag.png b/kubejs/assets/tfg/textures/item/universal_compost_greens_bag.png new file mode 100644 index 0000000000000000000000000000000000000000..2306b1a31a5bd752b0ecb7c7e3505bc7a2e199b0 GIT binary patch literal 471 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofvPP)Tw7+U|>mi z^mSxl*x1kgCy|wbfk7eJBgmJ5p-PQ`p`nF=;THn~L&FOOhEf9thF1v;3|2E37{m+a z>sO#zC7-DgH z>g0v~haDu2-p~ERD9qE?GGT&}gOln>qw`mCbd6PtCC=QLwCv=|o2wp9S36?0$fvc zfDf(@?W|r&eBEzQee~~F$u_@eS>+VfyxqBb>g$r9?UT(@@-N=-E;IGJ%M=0o{T30a z&wR_|!*9D}y~{iPk==PM`!Cmblk?`B6Hl;FK635Q#|8VvjppiW<*FRt$NV@@^DiUY YpGgz%?d$huU|?YIboFyt=akR{0FVy5nE(I) literal 0 HcmV?d00001 diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index 3dc19fcf5..40b7c076c 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -338,6 +338,10 @@ function registerTFGItemSize(event) { "medium", "Molds" ) + + //Universal Compost Bags + event.itemSize("tfg:universal_compost_browns_bag", "tiny", "medium") + event.itemSize("tfg:universal_compost_greens_bag", "tiny", "medium") } //#endregion diff --git a/kubejs/server_scripts/tfg/primitive/recipes.compost.js b/kubejs/server_scripts/tfg/primitive/recipes.compost.js index 80f255cd3..5c82b5541 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.compost.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.compost.js @@ -1,5 +1,9 @@ "use strict"; +/** + * + * @param {Internal.RecipesEventJS} event + */ function registerTFGCompostRecipes(event) { //#region Fertiliser event.recipes.gtceu.mixer('tfg:fertilizer') @@ -208,4 +212,26 @@ function registerTFGCompostRecipes(event) { .itemOutputs(Item.of('tfg:universal_compost_browns', 4)) .duration(20) .EUt(8) + + //Universal Brown Compost Bag + event.shapeless(Item.of('tfg:universal_compost_browns_bag', 1), + [ + "4x tfg:universal_compost_browns" + ]).id('tfg:shapeless/universal_compost_browns_bag') + + event.shapeless(Item.of('tfg:universal_compost_browns', 4), + [ + "tfg:universal_compost_browns_bag" + ]).id("tfg:shapeless/universal_compost_browns_from_bag") + + //Universal Green Compost Bag + event.shapeless(Item.of('tfg:universal_compost_greens_bag', 1), + [ + "4x tfg:universal_compost_greens" + ]).id('tfg:shapeless/universal_compost_greens_bag') + + event.shapeless(Item.of('tfg:universal_compost_greens', 4), + [ + "tfg:universal_compost_greens_bag" + ]).id("tfg:shapeless/universal_compost_greens_from_bag") } diff --git a/kubejs/startup_scripts/tfg/primitive/items.primitive.js b/kubejs/startup_scripts/tfg/primitive/items.primitive.js index fcc217dd5..dc917114e 100644 --- a/kubejs/startup_scripts/tfg/primitive/items.primitive.js +++ b/kubejs/startup_scripts/tfg/primitive/items.primitive.js @@ -101,9 +101,20 @@ function registerTFGPrimitiveItems(event) { // Universal compost items event.create('tfg:universal_compost_browns') .tag('tfc:compost_browns_low') + .translationKey('item.tfg.universal_compost_browns') event.create('tfg:universal_compost_greens') .tag('tfc:compost_greens_low') + .translationKey('item.tfg.universal_compost_greens') + + // Universal compost bag items + event.create('tfg:universal_compost_browns_bag') + .tag('tfc:compost_browns_high') + .translationKey('item.tfg.universal_compost_browns_bag') + + event.create('tfg:universal_compost_greens_bag') + .tag('tfc:compost_greens_high') + .translationKey('item.tfg.universal_compost_greens_bag') // Etched Diamond Etching Tip event.create('tfg:etching_diamond_tip') From 2947af641bcdbe58ed27ebe63729e09c0b15a59b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 9 Feb 2026 18:17:49 +0000 Subject: [PATCH 426/474] langs --- kubejs/assets/tfg/lang/en_us.json | 16 +++- kubejs/assets/tfg/lang/ru_ru.json | 150 +++++++++++++++++------------- 2 files changed, 99 insertions(+), 67 deletions(-) diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 51f4bc2e5..52566996d 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1097,6 +1097,8 @@ "item.tfg.better_space_suit_fabric": "Adaptive Space Suit Fabric", "item.tfg.universal_compost_browns": "Brown Universal Compost", "item.tfg.universal_compost_greens": "Green Universal Compost", + "item.tfg.universal_compost_browns_bag": "Bag of Brown Universal Compost", + "item.tfg.universal_compost_greens_bag": "Bag of Green Universal Compost", "item.tfg.etching_diamond_tip": "Etching Diamond Tip", "item.tfg.spade_head_extruder_mold": "Extruder Mold (Spade Head)", "item.tfg.mining_hammer_head_extruder_mold": "Extruder Mold (Mining Hammer Head)", @@ -2604,6 +2606,8 @@ "quests.extreme_voltage.light_ostrum_vapor.title": "Lightweight Ostrum Vapor", "quests.extreme_voltage.light_ostrum_vapor.subtitle": "Infinite ores?", "quests.extreme_voltage.light_ostrum_vapor.desc": "With the help of &6Lightweight Ostrum Vapor&r, you can begin producing infinite ores, especially those required for the &cFission Line&r. There are three tiers of infinite ores:\n\n&eCircuit 1&r is not self-sufficient but can still be helpful if you are truly tired of mining.\n\n&eCircuit 2&r is &dThorium&r positive, meaning that simply by running your &cFission Line&r, you will produce more &dThorium&r than you consume.\n\n&eCircuit 3&r is the final and best tier, where you generate more resources than are required to produce the ores themselves; you become net positive in &dThorium&r and &aUraninite&r, allowing you to fully automate the &cFission Line&r on &4Mars&r for infinite resources, &bNano CPU&r, and everything needed to run &eFission Energy&r on &2Earth&r.", + "quests.extreme_voltage.schematic_terminal.subtitle": "Whenever you need to spam multiblocks", + "quests.extreme_voltage.schematic_terminal.desc": "The &bSchematic Interface&r is a very useful &bTerminal&r that can be linked to your &dME Network&r, allowing you to save &eMultiblocks&r you have already built and reproduce them identically.\n\n&eSchematics&r are stored in an internal library within the terminal, letting you easily browse and deploy a specific multiblock whenever you need it.", "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", @@ -2764,7 +2768,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 Hearth Furnace\n- Large Chemical Reactor\n- Heat Exchanger", + "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- Large Chemical Reactor\n- Heat Exchanger\n- Electric Blast Furnace*\n- Alloy Blast Smelter*\n- Rotary Hearth Furnace*", "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", @@ -3843,7 +3847,7 @@ "quests.space_survival.solar_panels.task": "Any FE to EU converter", "quests.space_survival.stone_dust_centrifuging.title": "Helium-3", "quests.space_survival.stone_dust_centrifuging.subtitle": "Clown gas", - "quests.space_survival.stone_dust_centrifuging.desc.1": "The Moon is full of &eHelium-3&r, another important resource, but it's stuck inside the stone! There's two ways to get your hands on some:\n\n1) If you haven't set up any stone dust centrifuging automation before, here's a quick introduction: A Rock Crusher can produce infinite raw stone, which a Macerator crushes into dust for a Centrifuge to process.\n\nHere on the Moon, Anorthosite, Norite, and Phonolite can thus be processed into an infinite source of Helium-3!", + "quests.space_survival.stone_dust_centrifuging.desc.1": "The Moon is full of &eHelium-3&r, another important resource, but it's stuck inside the stone! There's two ways to get your hands on some:\n\n1) If you haven't set up any stone-related automation before, here's a quick introduction: A Rock Crusher can produce infinite raw stone, which a Macerator crushes into dust for a Centrifuge to process.\n\nHere on the Moon, &9Asurine&r can thus be processed into an infinite source of Helium-3!", "quests.space_survival.stone_dust_centrifuging.desc.2": "2) Pump it out of the ground with a &9Fluid Rig&r This method is simpler, but doesn't come with any useful byproducts.\n\nHelium-3 is used for several things, of which the most important is making more air to breathe via &6Heliox-3&r! You can also use it as \"fertilizer\" for Chorus Fruit in the Electric Greenhouse, and eventually as another fuel for Fusion Power.", "quests.space_survival.stone_dust_centrifuging.task": "Any ", "quests.space_survival.compressed_gases.title": "Compressed Breathable Gases", @@ -5113,6 +5117,14 @@ "quests.tfg_tips.cellar_blocks.subtitle": "Stuff to put your food in", "quests.tfg_tips.cellar_blocks.desc": "&bFood Shelves&r can be used to store virtually any kind of food. &bHangers&r can be used to store &aMeat&r and &aGarlic.&r Food stored in these receive a powerful preservation trait greater than that of &dVessels.&r", "quests.tfg_tips.cellar_blocks.task": "Any food shelf or hanger", + "quests.tfg_tips.composter.title": "Composter", + "quests.tfg_tips.composter.subtitle": "Turning your rotten produce into plant food!", + "quests.tfg_tips.composter.desc": "The &bComposter&r is a block that allows you to transform certain plant material into &dCompost&r! A potent fertilizer for plants which will increase their &aoverall yield&r.\n\nThere are two types of compostables, &aGreens&r and &6Browns&r, check the Field Guide for more information!", + "quests.tfg_tips.universal_compost.title": "Universal Compost", + "quests.tfg_tips.universal_compost.subtitle": "Because it's convenient", + "quests.tfg_tips.universal_compost.desc": "Tired of having a chest full of &dcompostables&r, and not knowing which is which? With some work, you can turn any compostable item into an &d&nUniversal Compost&r! These Universal Compostables count as &none&r item in the composting process of their respective color.\n\nIf you don't want to speedrun carpal tunnel, you can bundle four universal composts into a &d&nBag&r, these bags only stack up to sixteen but count as &nfour&r items in the composting process.", + "quests.tfg_tips.universal_compost.task.1": "Any colored Universal Compost", + "quests.tfg_tips.universal_compost.task.2": "Any colored Bag of Universal Compost", "quests.tfg_tips.beneath.title": "The Beneath", "quests.tfg_tips.beneath.subtitle": "Journey to the Center of the Earth", "quests.tfg_tips.beneath.desc": "Deep, DEEP underground, past the &dBedrock&r, you'll find &4The Beneath&r, a complex network of huge caves filled with dangers and strange flora and fauna. While &4The Beneath&r is completely optional, it contains a lot of resources as well as some quality of life improvements.", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 69ba332fe..1b0e648c9 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1427,7 +1427,14 @@ "material.tfg.phenolic_resin": "Фенольная смола", "material.tfg.magnesium_hydroxide": "Гидроксид магния", "material.tfg.magnesia_refractory_brick": "Склеенный смолой магнезиальный огнеупорный кирпич", - "material.tfg.nichromium_iodomethylate": "Nichromium Iodomethylate", + "material.tfg.nichromium_iodomethylate": "Нихромиум йодометилат", + "material.tfg.sulfur_dichloride": "Дихлорид серы", + "material.tfg.thionyl_chloride": "Тионилхлорид", + "material.tfg.p_toluenesulfonic_acid": "n-Толуолсульфокислота", + "material.tfg.redstone_nitrate": "Нитрат редстоуна", + "material.tfg.redstone_chloride": "Хлорид редстоуна", + "material.tfg.redstone_tri_p_toluenesulfonate": "Три-n-толуолсульфонат редстоуна", + "material.tfg.sodium_nitrate": "Нитрат натрия", "ore_vein.tfg.deep_sheldonite": "Куперит и Борнит", "ore_vein.tfg.deep_garnet_amethyst": "Аметист и гранат", "ore_vein.tfg.deep_garnet_opal": "Опал и гранат", @@ -2195,64 +2202,64 @@ "quests.create_logistics.factory_gauge.desc.4": "&cВажно, чтобы пакет не распаковывался по пути&r, так как сам пакет содержит инструкции рецепта крафта — если ингредиенты должны поступать из разных источников, используйте &3Переупаковщик&r в качестве буфера для пакетов.\n\n&3Примечание:&r Запросы Фабричного Контроллера технически являются «Обещаниями», что сеть гарантирует доставку указанных предметов &oв какой-то момент в будущем&r. Это делается, чтобы предотвратить чрезмерное оформление заказов на предметы. По умолчанию такие обещания никогда не истекают; это означает, что обещание останется в силе навсегда, если доставка предметов маловероятна. Вы можете изменить это поведение, настроив нижний раздел интерфейса контроллера, чтобы ограничить срок действия обещаний.", "quests.development": "Таблица прогрессии", "quests.development.subtitle": "Простой способ отслеживать свой прогресс в GregTech", - "quests.development.explanation.title": "Let's do some explaining", - "quests.development.explanation.subtitle": "It is actually quite easy", - "quests.development.explanation.desc.1": "The &lCircuit Progression&r of GregTech can seem intimidating at first, but it's not that bad.\n\nFirst, you need to understand that circuits of the same tier are interchangeable. For example, to craft an &6HV&r &6Mixer&r, you can use any &6HV-tier&r circuit.", - "quests.development.explanation.desc.2": "Now, let's talk about &lprogression&r. As you may notice, each circuit shares a color code on its icon and a name. For example, all &aQuantum Processors&r are &agreen&r and crafted inside &1IV-tier&r Circuit Assemblers. To craft one, you first need the previous circuit — that's why, to craft your first &dLuV&r &dCircuit&r, the Nanoprocessor Mainframe, you must start by crafting a Nanoprocessor and progress through each &7step&r. In this case, it would take three steps.\n\nThis is why the rightmost &6circuits&r in each line are always cheaper to &a craft&r: they require fewer &7steps&r.", - "quests.development.explanation.desc.3": "Additionally, we have added &lUniversal Circuits&r. They can be &a crafted&r from any &6circuit&r — whether &1IV&r, &dLuV&r, &3UV&r, or any other tier — and are extremely useful for &9automation&r with AE2. Try to encode all your &fpatterns&r with &lUniversal Circuits&r, so whenever you upgrade to a better circuit, you won't have to redo all your &fpatterns&r — only the ones used to craft the Universal Circuit.", - "quests.development.explanation.task": "Okay I read the whole three pages", - "quests.development.ulv.title": "&8ULV&r Circuits", + "quests.development.explanation.title": "Давайте кое-что объясним", + "quests.development.explanation.subtitle": "На самом деле всё довольно просто", + "quests.development.explanation.desc.1": "&lПрогрессия схем&r в GregTech поначалу может показаться пугающей, но на деле всё не так плохо.\n\nВо-первых, нужно понять, что схемы одного уровня взаимозаменяемы. Например, для создания &6HV&r &6Смесителя&r можно использовать любую схему &6HV-уровня&r.", + "quests.development.explanation.desc.2": "Теперь поговорим о &lпрогрессии&r. Как вы могли заметить, каждая схема имеет определённый цвет иконки и название. Например, все &aКвантовые процессоры&r &aзелёные&r и создаются в &1IV-уровневых&r Сборщиках схем. Чтобы создать один из них, сначала нужна предыдущая схема — вот почему для создания первой &dLuV&r &dСхемы&r, Мейнфрейма нанопроцессора, нужно начать с создания Нанопроцессора и пройти каждый &7шаг&r. В данном случае это займёт три шага.\n\nИменно поэтому самые правые &6схемы&r в каждой линии всегда &aдешевле&r в создании: они требуют меньше &7шагов&r.", + "quests.development.explanation.desc.3": "Кроме того, мы добавили &lУниверсальные схемы&r. Их можно &aсоздать&r из любой &6схемы&r — будь то &1IV&r, &dLuV&r, &3UV&r или любого другого уровня — и они чрезвычайно полезны для &9автоматизации&r с AE2. Старайтесь кодировать все свои &fшаблоны&r с помощью &lУниверсальных схем&r, чтобы при переходе на лучшую схему не приходилось переделывать все &fшаблоны&r — только те, что используются для создания Универсальной схемы.", + "quests.development.explanation.task": "Я прочитал все три страницы", + "quests.development.ulv.title": "&8ULV&r Схемы", "quests.development.ulv.subtitle": "", - "quests.development.ulv.desc": "On this line you can see the Steam, or &8ULV&r, equivalents.", - "quests.development.lv.title": "&7LV&r Circuits", + "quests.development.ulv.desc": "На этой линии показаны эквиваленты Steam или &8ULV&r.", + "quests.development.lv.title": "&7LV&r Схемы", "quests.development.lv.subtitle": "", - "quests.development.lv.desc": "Circuits along this line are &7LV&r, and are interchangeable in recipes.\n\n&cElectronic Circuits&r are the &oworst&r in terms of cost and effort required to produce, but you have to start somewhere.\n\n&eBasic Integrated Processors&r act as a middle layer between &cElectronic Circuits&r and &2Microchip Processors.&r\n\nFinally, &2Microchip Processors&r will be the best option for the rest of the playthrough.", - "quests.development.mv.title": "&bMV&r Circuits", + "quests.development.lv.desc": "Схемы на этой линии - &7LV&r и взаимозаменяемы в рецептах.\n\n&cМикросхемы&r являются &oхудшими&r с точки зрения стоимости и усилий, необходимых для производства, но с чего-то нужно начинать.\n\n&eОбычные интегральные схемы&r выступают в качестве промежуточного слоя между &cМикросхемами&r и &2Микропроцессорами.&r\n\nНаконец, &2Микропроцессоры&r будут лучшим вариантом на протяжении всей игры.", + "quests.development.mv.title": "&bMV&r Схемы", "quests.development.mv.subtitle": "", - "quests.development.mv.desc": "Circuits along this line are &bMV&r, and are interchangeable in recipes.\n\nThe pattern stays other same: the rightmost circuit comes in &dlarger quantities&r and is overall &aeasier&r to produce.", - "quests.development.hv.title": "&6HV&r Circuits", + "quests.development.mv.desc": "Схемы на этой линии - &bMV&r и взаимозаменяемы в рецептах.\n\nШаблон остается прежним: самая правая схема производится в &dбольших количествах&r и в целом &aпроще&r в производстве.", + "quests.development.hv.title": "&6HV&r Схемы", "quests.development.hv.subtitle": "", - "quests.development.hv.desc": "Circuits along this line are &6HV&r, and are interchangeable in recipes.\n\nThe pattern stays the same: the rightmost circuit comes in &dlarger quantities&r and is overall &aeasier&r to produce.", - "quests.development.ev.title": "&5EV&r Circuits", + "quests.development.hv.desc": "Схемы на этой линии - &6HV&r и взаимозаменяемы в рецептах.\n\nШаблон остается прежним: самая правая схема производится в &dбольших количествах&r и в целом &aпроще&r в производстве.", + "quests.development.ev.title": "&5EV&r Схемы", "quests.development.ev.subtitle": "", - "quests.development.ev.desc": "Circuits along this line are &5EV&r, and are interchangeable in recipes.\n\nThe pattern stays the same: the rightmost circuit comes in &dlarger quantities&r and is overall &aeasier&r to produce.", - "quests.development.iv.title": "&1IV&r Circuits", + "quests.development.ev.desc": "Схемы на этой линии - &5EV&r и взаимозаменяемы в рецептах.\n\nШаблон остается прежним: самая правая схема производится в &dбольших количествах&r и в целом &aпроще&r в производстве.", + "quests.development.iv.title": "&1IV&r Схемы", "quests.development.iv.subtitle": "", - "quests.development.iv.desc": "Circuits along this line are &1IV&r, and are interchangeable in recipes.\n\nThe pattern stays the same: the rightmost circuit comes in &dlarger quantities&r and is overall &aeasier&r to produce.", - "quests.development.luv.title": "&dLuV&r Circuits", + "quests.development.iv.desc": "Схемы на этой линии - &1IV&r и взаимозаменяемы в рецептах.\n\nШаблон остается прежним: самая правая схема производится в &dбольших количествах&r и в целом &aпроще&r в производстве.", + "quests.development.luv.title": "&dLuV&r Схемы", "quests.development.luv.subtitle": "", - "quests.development.luv.desc": "Circuits along this line are &dLuV&r, and are interchangeable in recipes.\n\nThe pattern stays the same: the rightmost circuit comes in &dlarger quantities&r and is overall &aeasier&r to produce.\n\nMake sure to set up &3wetware board production&r as soon as possible! These take a &6very long time&r to make.\n\nIt's &dLuV&r, not &4LUV&r.", - "quests.development.zpm.title": "&cZPM&r Circuits", + "quests.development.luv.desc": "Схемы на этой линии - &dLuV&r и взаимозаменяемы в рецептах.\n\nШаблон остается прежним: самая правая схема производится в &dбольших количествах&r и в целом &aпроще&r в производстве.\n\nОбязательно настройте производство &3питательной подложки&r как можно скорее! Их изготовление занимает &6очень много времени&r.\n\nЭто &dLuV&r, а не &4LUV&r.", + "quests.development.zpm.title": "&cZPM&r Схемы", "quests.development.zpm.subtitle": "", - "quests.development.zpm.desc": "Circuits along this line are &cZPM&r, and are interchangeable in recipes.", - "quests.development.uv.title": "&3UV&r Circuits", + "quests.development.zpm.desc": "Схемы на этой линии - &cZPM&r и взаимозаменяемы в рецептах.", + "quests.development.uv.title": "&3UV&r Схемы", "quests.development.uv.subtitle": "", - "quests.development.uv.desc": "Circuits along this line are &3UV&r, and are interchangeable for each other.", - "quests.development.uhv.title": "&4UHV&r Circuits", + "quests.development.uv.desc": "Схемы на этой линии - &3UV&r и взаимозаменяемы друг с другом.", + "quests.development.uhv.title": "&4UHV&r Схемы", "quests.development.uhv.subtitle": "", - "quests.development.uhv.desc": "Congratulations! You've reached the end of the circuit progression.\n\nThe only &4UHV&r circuit is the &6Wetware Mainframe&r, which is used for crafting some endgame stuff.", - "quests.development.hull_lv.title": "Craftable in &6Steam Age&r and &7LV&r", - "quests.development.hull_lv.subtitle": "Hand crafted and artisanal", - "quests.development.hull_lv.desc": "&7Early game&r Circuits are made using hand crafting and Create.\n\nHave a good &3Create&r setup to make them easier to produce then pick up the &3Circuit Assembler&r to make them a lot more efficient.", - "quests.development.hull_mv.title": "Craftable in &bMV&r", + "quests.development.uhv.desc": "Поздравляем! Вы достигли конца прогрессии схем.\n\nЕдинственная &4UHV&r схема - это &6Органический мейнфрейм&r, который используется для создания некоторых предметов эндгейма", + "quests.development.hull_lv.title": "Создаётся в &6Паровую Эру&r и &7LV&r", + "quests.development.hull_lv.subtitle": "Ручное и ремесленное производство", + "quests.development.hull_lv.desc": "&7Ранние&r схемы изготавливаются с помощью ручного крафта и Create.\n\nСоздайте хорошую &3Create&r установку, чтобы упростить их производство, а затем используйте &3Сборщик микросхем&r для значительного повышения эффективности.", + "quests.development.hull_mv.title": "Создаётся в &bMV&r", "quests.development.hull_mv.subtitle": "Integrated Dynamics", - "quests.development.hull_mv.desc.1": "The &9Integrated&r Circuit line may not be a strict upgrade in terms of cost, but will tide you over as a stepping stone towards the next tier.\n\nThey will require a MV &3Laser Engraver&r and a MV &3Cutting Machine&r.", - "quests.development.hull_mv.desc.2": "&l&3Lore:&r&o In Omnifactory, and in previous Gregicality, this circuit line was called &9Refined&r and was standardized like further tiers.", - "quests.development.hull_hv.title": "Craftable in &bMV&r and &6HV&r", - "quests.development.hull_hv.subtitle": "They tend to be small", - "quests.development.hull_hv.desc": "&eMicro&r Circuits are where the &3Cleanroom&r becomes a requirement to progress.\n\nDon't get caught out by the &aMainframe&r - it requires a &3HV Circuit Assembler&r.", - "quests.development.hull_ev.title": "Craftable in &5EV&r", - "quests.development.hull_ev.subtitle": "Nano Age", - "quests.development.hull_ev.desc": "This is the &9Nano&r Circuit line.\n\nYou may need to go out in &bspace&r to craft them.\n\nStarting from here, circuit progression will follow a pattern:\n\n&9-&r Processor\n&9-&r Assembly\n&9-&r Supercomputer\n&9-&r Mainframe", - "quests.development.hull_iv.title": "Craftable in &1IV&r", - "quests.development.hull_iv.subtitle": "GregTech gets Quantum", - "quests.development.hull_iv.desc": "Welcome to the &9Quantum&r Circuit line.\n\nYou may want to invest in &aPBI&r at this point, as &dAdvanced SMDs&r will skyrocket your circuit production.", - "quests.development.hull_luv.title": "Craftable in &dLuV&r", - "quests.development.hull_luv.subtitle": "Crystallisation", - "quests.development.hull_luv.desc": "This is the &9Crystal&r Circuit line.\n\nIt's locked behind &3Fusion&r.", - "quests.development.hull_zpm.title": "Craftable in &cZPM&r", - "quests.development.hull_zpm.subtitle": "Soft and Wetware", - "quests.development.hull_zpm.desc": "This is the &9Wetware&r Circuit line.\n\nIt will be the biggest automation challenge to face in this modpack. Best of luck.", + "quests.development.hull_mv.desc.1": "Линия &9Интегральных&r схем может не быть строгим улучшением по стоимости, но послужит промежуточным шагом к следующему уровню.\n\nДля них потребуются MV &3Лазерный гравировщик&r и MV &3Резочная машина&r.", + "quests.development.hull_mv.desc.2": "&l&3Лор:&r&o В Omnifactory и предыдущих версиях Gregicality эта линия схем называлась &9Улучшенной&r и была стандартизирована, как и последующие уровни.", + "quests.development.hull_hv.title": "Создаётся в &bMV&r и &6HV&r", + "quests.development.hull_hv.subtitle": "Они обычно небольшие", + "quests.development.hull_hv.desc": "&eМикро&r схемы — это этап, на котором &3Чистая комната&r становится необходима для прогресса.\n\nНе попадитесь на &aМейнфрейме&r — для него требуется &3HV Сборщик схем&r.", + "quests.development.hull_ev.title": "Создаётся в &5EV&r", + "quests.development.hull_ev.subtitle": "Нано Эра", + "quests.development.hull_ev.desc": "Это линия &9Нано&r схем.\n\nДля их создания вам, возможно, придётся отправиться в &bкосмос&r.\n\nНачиная с этого момента, прогрессия схем будет следовать шаблону:\n\n&9-&r Процессор\n&9-&r Вычислительный блок\n&9-&r Суперкомпьютер\n&9-&r Мейнфрейм", + "quests.development.hull_iv.title": "Создаётся в &1IV&r", + "quests.development.hull_iv.subtitle": "GregTech получает Квантовые технологии", + "quests.development.hull_iv.desc": "Добро пожаловать в линию &9Квантовых&r схем.\n\nНа этом этапе вам стоит инвестировать в &aPBI&r, так как &dПродвинутые SMD&r значительно увеличат производство схем.", + "quests.development.hull_luv.title": "Создаётся в &dLuV&r", + "quests.development.hull_luv.subtitle": "Кристаллизация", + "quests.development.hull_luv.desc": "Это линия &9Кристаллических&r схем.\n\nОна заблокирована за &3Термоядерным синтезом&r.", + "quests.development.hull_zpm.title": "Создаётся в &cZPM&r", + "quests.development.hull_zpm.subtitle": "Софт- и Ветварные технологии", + "quests.development.hull_zpm.desc": "Это линия &9Ветварных&r схем.\n\nОна станет самой большой проблемой автоматизации в этом модпаке. Удачи.", "quests.extreme_voltage": "&5EV&r - Extreme Voltage", "quests.extreme_voltage.subtitle": "Reach Mars, discover Nuclear Fission, and build new massive multiblocks", "quests.extreme_voltage.welcome_to_ev.title": "This is Extreme Voltage", @@ -2915,8 +2922,7 @@ "quests.low_voltage.lost.task": "Теперь я знаю, что делать!", "quests.low_voltage.lv_steam_turbine.title": "Производство электричества", "quests.low_voltage.lv_steam_turbine.subtitle": "Вы должны построить дополнительные турбины.", - "quests.low_voltage.lv_steam_turbine.desc.1": "&3Паровая турбина&r - один из немногих генераторов, которые вы можете реально использовать на &7LV&r.&2Позже вы получите доступ к более интересным вариантам топлива&r, таким как природный газ или бензин..\n\nПри подаче пара турбина будет выдавать EU в соотношении &d2 мБ = 1 EU&r.", - "quests.low_voltage.lv_steam_turbine.desc.2": "Если вы используете одну &3паровую турбину&r, вам понадобится только &a1 Оловянный кабель&r. С другой стороны, если вы обновите до &32 паровых турбин&r, вам следует использовать &a2 оловянных кабеля&r — иначе они могут &cперегореть&r.\n\nЭто связано с механикой &9Амперов...&r но это будет объяснено позже, чтобы вы могли наслаждаться игрой. Не волнуйтесь!", + "quests.low_voltage.lv_steam_turbine.desc": "&3Паровая турбина&r — первый генератор уровня &7LV&r для большинства игроков, так как у вас уже настроено производство пара для паровых машин.\n\nПри подаче пара турбина будет производить энергию в соотношении &d2 мБ = 1 EU&r.\n\nОдин из недостатков пара — его транспортировка. Из-за низкой плотности энергии вам потребуются большие или огромные трубы для его передачи.\n\nВы также можете рассмотреть переход на Большой бронзовый котел, когда вам потребуется больше энергии, чем может произвести одноблочный паровой котел.", "quests.low_voltage.lbb.title": "Большой бронзовый котёл", "quests.low_voltage.lbb.subtitle": "БУМ, БУМ, БУМ, БУМ", "quests.low_voltage.lbb.desc.1": "Большой котёл — это необязательный вариант \"большого парня\" для Малых котлов. Он работает на твердом или жидком топливе .\n\nЕсли вам нужно производство энергии на основе пара, это альтернатива паровому двигателю Create. Позднее варианты питания перечислены в главе &bMV&r.\n\nУбедись, что ты настроил это так, чтобы вода никогда не заканчивалась, как в твоих Малых Котлах, иначе оно &cвзорвется&r!.", @@ -2955,15 +2961,6 @@ "quests.low_voltage.lv_turbo_charge.subtitle": "Позволяет быстрее заряжать ваши электроинструменты", "quests.low_voltage.lv_turbo_charge.desc": "&oЭтот квест необязательный, но все же может быть интересным. Мы поместили его сюда ради полноты квестов.&r\n\n&3Зарядное устройство&r очень быстро заряжает ваши инструменеты &6RF и EU&r, такие как &9буры&r.\n\nОн принимает до 4 Ампер для каждого заряжаемого им инструмента, что делает его в &6два раза быстрее&r, чем &3Батарейный буфер&r. Но оно не может разрядиться.\n\n&eЛюбое&r зарядное устройство выполнит этот квест.", "quests.low_voltage.lv_turbo_charge.task": "Подойдет любое зарядное устройство", - "quests.low_voltage.lv_fisher.title": "Рыболов", - "quests.low_voltage.lv_fisher.subtitle": "Полностью совместимо с TFC!", - "quests.low_voltage.lv_fisher.desc": "&oЭтот квест необязательный, но все же может быть интересным. Мы поместили его сюда ради полноты квестов.&r\n\n&3Рыболов&r ловит рыбу из воды. Для работы ему требуется участок воды размером 5x5 блоков непосредственно под ним. Он ловит ту же рыбу, как и в обычной рыбалке. Каждая операция требует 1 единицу нити и EU в количестве, соответствующем его уровню (32 для &7LV&r и т.д.). В общем, это всё.\n\nИз рыбы можно извлечь &eрыбий жир&r, который можно использовать для производства &6биодизеля&r.", - "quests.low_voltage.lv_fisher.task": "Подойдет любой Рыболов", - "quests.low_voltage.lv_rock_crusher.title": "Камнелом", - "quests.low_voltage.lv_rock_crusher.subtitle": "Булыжник - это любовь, булыжник - это жизнь", - "quests.low_voltage.lv_rock_crusher.desc.1": "&oЭтот квест необязательный, но все же может быть интересным. Мы поместили его сюда ради полноты квестов.&r&3Камнелом&r — это, по сути, генератор булыжника в коробке. Вы можете дать ему любой необработанный камень или блок булыжника, и он будет производить его копии. Очень удобно, если вам нужно много кирпичей быстро!\n\n&eЛюбой&r Камнелом выполнит этот квест.", - "quests.low_voltage.lv_rock_crusher.desc.2": "&l&3Лор:&r&o Требование редстоуна для генерации обсидиана в Minecraft связано с древним багом игры, известным как &7MC-4239&f. Если поместить редстоун вместо булыжника в генератор булыжника, он начинал генерировать обсидиан. Этот баг был исправлен в снапшоте 14w25b для версии Minecraft 1.8, более чем 9 лет назад на момент написания!", - "quests.low_voltage.lv_rock_crusher.task": "Подойдет любой Камнелом", "quests.low_voltage.lv_aqueous_accumulator.title": "Жидкостный коллектор", "quests.low_voltage.lv_aqueous_accumulator.subtitle": "Thermal Foundation передаёт привет", "quests.low_voltage.lv_aqueous_accumulator.desc": "&3Жидкостный коллектор&r — это, по сути, Камнелом, но для жидкостей. Просто разместите машину рядом с двумя блоками-источниками соответствующей жидкости, настройте схему, и готово! Она будет продолжать производить больше этой жидкости. По сути, она делает то же самое, что и механический насос, но использует электричество вместо механической энергии, поэтому вам может быть проще вписать ее в свою фабрику.В качестве бонуса, HV вариант также будет производить бесконечную лаву!\n\nВы можете безопасно заливать блоки-источники водой, чтобы предотвратить их замерзание зимой, и машина продолжит работать.", @@ -2986,7 +2983,7 @@ "quests.low_voltage.universal_cell.subtitle": "Можно заглянуть внутрь, в отличие от тех бочек...", "quests.low_voltage.universal_cell.desc.1": "Капсулы являются альтернативной формой хранения жидкости. Все типы капсул с одинаковым типом и количеством жидкости внутри них &6складываются&r. Их можно автоматически заполнять с помощью &3наполнителся&r.\n\nКапсулы вмещают &dодно ведро&r жидкости.\n\nЕще не убедили? В отличии от ведер и бочек, капсулы могут &aбезопасно модержать&r жидкости, не давая тебе обжечься, замёрзнуть или начать взлетать.", "quests.low_voltage.universal_cell.desc.2": "Универсальные капсулы вмещают до &dодного ведра&r, но также могут хранить &9части&r ведер. Они особенно удобны, если вы хотите сохранить остатки жидкости, не создавая целую бочку. \n\nКапсулы, изготовленные из материалов более высокого уровня, могут вмещать еще больше жидкости, но к тому времени &9бочки&r и &9супер резервуар&r будут вмещать больше. \n\nКак и бочки, капсулы можно поместить в сетку крафта, чтобы очистить их содержимое..", - "quests.low_voltage.universal_cell.task": "", + "quests.low_voltage.universal_cell.task": "Любая капсула", "quests.low_voltage.machine_auto_output_behaviour.title": "Автоматический вывод из машины", "quests.low_voltage.machine_auto_output_behaviour.subtitle": "Давай учиться.", "quests.low_voltage.machine_auto_output_behaviour.desc.1": "У каждой машины обычно есть одна &7передняя панель&r и одна &9выходная&r. \n\n&7Передняя панель&r должна быть очевидной. \n&9Выходная панель&r — это та, на которой есть точка или отверстие. По умолчанию она находится сзади машины, когда вы ее устанавливаете. \n\nМашины могут &aавтоматически выводить&r содержимое через выходную панель. Чтобы включить автовывод, нажмите соответствующую кнопку в графическом интерфейсе. Автовывод жидкостей и предметов переключается отдельно. Дополнительное управление автовыводом можно осуществить с помощью &dфильтров&r и &dкрышек&r, которые объясняются в задании &dПоведение крышек&r, расположенном в этой главе.", @@ -3039,6 +3036,8 @@ "quests.low_voltage.lv_ore_prospector.title": "Эй, это не честно!", "quests.low_voltage.lv_ore_prospector.subtitle": "Мечта геологов", "quests.low_voltage.lv_ore_prospector.desc": "&lРудный Сканнер&r — потрясающий инструмент, который поможет тебе находить жилы за считанные секунды.\n\nЕго интерфейс интерактивен: щёлкни ПКМ, чтобы просканировать область на наличие руд — результаты появятся на динамической карте.\n\n&l&3Интересный Факт:&r&o В НАШИ времена переносной разведочный сканнер был доступен только на &dLuV&f. Сейчас молодёжи всё достаётся слишком легко.", + "quests.low_voltage.night_vision_goggles.subtitle": "Видеть в темноте!", + "quests.low_voltage.night_vision_goggles.desc": "Заряди их энергией и надень, чтобы получить постоянный эффект ночного видения, пока не сядет батарея! Эффект можно переключать горячей клавишей, по умолчанию — &aO&r.", "quests.low_voltage.lv_sprayer.title": "Баллончик с краской", "quests.low_voltage.lv_sprayer.subtitle": "Настало время для тэгов войн на сервере", "quests.low_voltage.lv_sprayer.desc": "К сожалению, это всего лишь &lпустой&r баллончик с краской — перед использованием его нужно наполнить &aжидким красителем&r.\n\n&aБаллончики&r не оказывают никакого влияния на работу машин, но могут быть весьма &bполезны и эстетичны&r!\n\nПрактически любой блок из GregTech (машины, трубы, кабели...) можно &6покрасить&r в один из 16 доступных цветов. Это отлично подходит для красивых скриншотов, а также помогает удобно разделять различные системы на мультиплеерной базе. Кроме того, цвета помогают отличать трубопроводы от кабелей.\n\nЕсли держать &aбаллончик&r во второй руке, он будет автоматически окрашивать все устанавливаемые блоки.", @@ -3060,7 +3059,7 @@ "quests.low_voltage.lv_mixer.desc": "Использование Смесителя &6значительно ускорит&r процесс изготовления цветной стали, особенно &4красной стали&r для корпусов ваших машин. Даже если сейчас вам кажется, что он не нужен, позже вы обнаружите, что он &6необходим&r.", "quests.low_voltage.lv_mixer.task": "Из Create или GregTech", "quests.low_voltage.soldering_alloy.title": "Припой (Soldering Alloy)", - "quests.low_voltage.soldering_alloy.subtitle": "I got soul but I'm not a solder", + "quests.low_voltage.soldering_alloy.subtitle": "Я душой полон, но не припой", "quests.low_voltage.soldering_alloy.desc": "&aПрипой&r используется исключительно как &9жидкость&r и в большинстве случаев &dвзаимозаменяем&r в рецептах схем в качестве более дешёвой альтернативы олова&r.\n\nВыбор за вами. Хотите сэкономить материалы? Делайте припой. Хотите тратить меньше времени на создание материалов? Используйте олово.", "quests.low_voltage.gallium_arsenide.title": "Арсенид Галлия", "quests.low_voltage.gallium_arsenide.subtitle": "Я ненавижу побочные продукты, они же потрясающие", @@ -3093,7 +3092,6 @@ "quests.low_voltage.lv_centrifuge.desc.1": "&lПомимо обработки Руды:&r\n\nУхх, чего она только не может? Рецепты разложения для разделения видов пыли, разделения воздуха, уплата ваших налогов и многое другое...\n\nВозможностям нет придела! Скажем так &cВам НУЖНА Центрифуга&r.", "quests.low_voltage.lv_centrifuge.desc.2": "&lДля переработки руды:&r\n\nЭта машина принимает &aгрязную пыль&r или &aочищенную пыль&r и превращает их в чистую пыль, дополнительно создавая небольшое количество побочного продукта — &6мелкой пыли&r. Это не самый эффективный способ получения побочных продуктов, но зато это самая дешёвая машина для переработки руды из представленных, как в эксплуатации, так и в установке в небольших масштабах.", "quests.low_voltage.lv_centrifuge.desc.3": "&l&3Интересный Факт:&r&o В оригинальном GTCE это была, без сомнения, самая мощная машина для переработки руды, поскольку она была довольно простой в использовании и давала три мелкие пыли — так же, как промойка руды или термоцентрифуга. Мы немного ослабили её ради разнообразия.", - "quests.low_voltage.lv_centrifuge.task": "", "quests.low_voltage.lv_glue.title": "Склеены", "quests.low_voltage.lv_glue.subtitle": "Похоже что мы влипли", "quests.low_voltage.lv_glue.desc": "Теперь вы можете &3центрифугировать&r &aлипкую смолу&r, что даст вам &aклей&r в жидкой форме.\n\nНачните производство клея заранее. Он пригодится вам для создания &6более дешёвых резисторов&r, а также &6дешёвых микросхем&r в &3Сборщике&r (и будет особенно полезен &oв ближайшем будущем&r).\n\n&eПримечание:&r Вы также можете центрифугировать &aклей&r или &aхвойную смолу&r из TFC — выбирайте, что проще!", @@ -3102,6 +3100,15 @@ "quests.low_voltage.lv_cutter.subtitle": "Резочная Машина... режет...", "quests.low_voltage.lv_cutter.desc": "Пока что вам стоит использовать &9воду&r в её рецептах вместо попыток обзавестись смазкой.\n\nЕсли у вас её ещё нет, эта машина также может разрезать &6стержни на четыре болта&r.\n\nЭта машина — единственный способ получить &dПластины из Драгоценных камней&r, которые необходимы для создания фильтров, а следовательно — и для &3воздухозаборника&r.", "quests.low_voltage.lv_cutter.task": "Любая Резочная Машина", + "quests.low_voltage.lv_distillery.subtitle": "Дистиллятор дистиллирует...", + "quests.low_voltage.lv_distillery.desc": "Дистиллятор в каком-то смысле похож на центрифугу, но в основном работает с органическими и нефтехимическими жидкостями.\n\nНа уровне &7LV&r вы можете извлекать только один продукт из одного исходника, но это изменится, когда вы получите доступ к Ректификационной колонне в &6HV&r.\n\nВы не будете часто использовать эту машину в LV (разве что если работаете с горючим для ДВС), но она крайне важна для получения &eФенола&r.", + "quests.low_voltage.phenolic_resin.subtitle": "Искусственная смола", + "quests.low_voltage.phenolic_resin.desc.1": "Фенольная смола создаётся в результате химической реакции &6Фенола&r и &aФормальдегида&r.\n\nХотя на уровне &7LV&r у вас есть всего два способа добыть Фенол (дистилляция Креозота или Тяжёлого топлива), для получения Формальдегида потребуется &dМетан&r, а у него вариантов больше.", + "quests.low_voltage.phenolic_resin.desc.2": "Самый простой (и медленный) способ — использовать водород и углерод в химическом реакторе, что также потребует очень медленного электролиза воды.\n\nДистиллятор также предоставляет множество вариантов, в том числе и через Креозот.\n\nЕсли вы используете Синтез-газ в качестве топлива, его также можно окислить в Метан.\n\nНаконец, если вам нечем заняться, вы можете центрифугировать тонны грибов из Бездны.", + "quests.low_voltage.magnesia.subtitle": "А ещё это название области в Греции!", + "quests.low_voltage.magnesia.desc": "Также известная как Оксид магния, Магнезия может быть получена двумя способами:\n\n- Из руды Магнезита\n\n- Путём реакции Магния и Щёлока с образованием Гидроксида магния с последующей прокалкой в Коксовой печи. Магний можно получить из различных руд.", + "quests.low_voltage.refractory_brick.subtitle": "Огнеупорный кирпич «Покруче»™", + "quests.low_voltage.refractory_brick.desc": "Почти пришло время разобрать вашу старую доменную печь из TFC! При желании вы можете переработать большую её часть в &6Пыль огнеупорной глины&r (мы рекомендуем использовать Дуговую печь, чтобы вернуть и пыль, и железо!). В противном случае вы можете приготовить ещё немного Огнеупорной глины. Только убедитесь, что у вас есть большой запас Стали!\n\nПосле этого смешайте пыль огнеупорной глины с Магнезией, Графитом и Смолой, чтобы создать улучшенную керамику, необходимую для &dваших первых катушек&r.", "quests.low_voltage.lv_gas_collector.title": "Обычный Воздухозаборник", "quests.low_voltage.lv_gas_collector.subtitle": "Он заставит вас затаить дыхание", "quests.low_voltage.lv_gas_collector.desc": "Воздухозаборник собирает воздух, который затем можно центрифугировать, получая &aкислород&r и &aазот&r.\n\n&l&3Интересный Факт:&r&o Игроки GregTech 5 помнят, как им приходилось использовать Компрессор с ячейками IC2, чтобы получить сжатый воздух… здесь же химии с ячейками больше нет.", @@ -3118,11 +3125,11 @@ "quests.low_voltage.lv_arc_furnace.title": "Дуговая Печь", "quests.low_voltage.lv_arc_furnace.subtitle": "Дуговая Печь ещё никогда не была так хороша", "quests.low_voltage.lv_arc_furnace.desc.1": "&3Дуговая печь&r использует немного &9кислорода&r для плавки предметов другим способом, чем обычные печи.\n\nВы можете использовать её для более лёгкого получения &aкованого железа&r, удвоения количества &aстекла&r и доступа к &aотожжённой меди&r для более дешёвых электронных компонентов.\n\nОна также может перерабатывать различные компоненты и машины обратно в исходные материалы.", - "quests.low_voltage.lv_arc_furnace.desc.2": "&l&3Интересный Факт:&r&o В предыдущих версиях GregTech существовали как Дуговая печь, так и &bПлазменная дуговая печь&f. В таком случае, почему бы не использовать одну машину для обеих функций? Именно так мы и подумали — но в итоге решили удалить один из двух &bплазменных&r рецептов. А затем и второй &bплазменный&r рецепт.\n\n&o&oКороче говоря, &bПлазменная дуговая печь&f &4исчезла&f. RIP.", + "quests.low_voltage.lv_arc_furnace.desc.2": "&l&3Интересный Факт:&r&o В предыдущих версиях GregTech существовали как Дуговая печь, так и &bПлазменная дуговая печь&f. В таком случае, почему бы не использовать одну машина для обеих функций? Именно так мы и подумали — но в итоге решили удалить один из двух &bплазменных&r рецептов. А затем и второй &bплазменный&r рецепт.\n\n&o&oКороче говоря, &bПлазменная дуговая печь&f &4исчезла&f. RIP.", "quests.low_voltage.lv_extractor.title": "Обычный Экстрактор", "quests.low_voltage.lv_extractor.subtitle": "Экстрактор извлекает...", "quests.low_voltage.lv_extractor.desc.1": "Хм... разве мы так уже не шутили?\n\nПричина по который мы не презентуем &7LV&r версию &6Паровых&r машин, потому что они &4НЕ&r нужны. Возможно, вам не стоит вкладываться в улучшение, которое почти ничего не даёт. За исключением &oэтого&r, поскольку оно представляет собой значительный шаг вперёд по сравнению с &6Паровой эпохой&r.\n\n&3Базовый экстрактор&r получает возможность работать с жидкостями, что позволяет выполнять &aизвлечение жидкостей&r. Используйте его, чтобы расплавить резину, которую вы ранее затвердили, &dрасплавить припой&r для своих схем и &dрасплавить красный сплав&r для &6лучшего рецепта вакуумной лампы&r в &3Сборщике&r!", - "quests.low_voltage.lv_extractor.desc.2": "&l&3Lore:&r&o Did you notice this machine doubles as both an Extractor and a Fluid Extractor? The two of them were separate machines in previous versions of GregTech.", + "quests.low_voltage.lv_extractor.desc.2": "&l&3Интересный факт:&r&o Заметили, что эта машина совмещает в себе функции Экстрактора и Жидкостного экстрактора? В предыдущих версиях GregTech это были две разные машины.", "quests.low_voltage.lv_chemical_reactor.title": "Обычный Химический Реактор", "quests.low_voltage.lv_chemical_reactor.subtitle": "Химия для дурачков", "quests.low_voltage.lv_chemical_reactor.task": "Жидкая Резина", @@ -3160,7 +3167,7 @@ "quests.low_voltage.lv_superconductor.desc.2": "&l&3Интересный факт:&r&o Ни одна из версий GregTech не имела сверхпроводников &7LV&f до появления Gregicality и GTCEu, однако в некоторых модпаках у кабелей вообще не было потерь энергии.", "quests.low_voltage.aluminium_dust.title": "Алюминиевая Пыль", "quests.low_voltage.aluminium_dust.subtitle": "Время для приключений", - "quests.low_voltage.aluminium_dust.desc": "Существует много материалов, которые могут быть электризованы в алюминий, но многие из них станут доступны вам только в &bMV&r. Сапфиры - это единственное искоючение, с помощью некоторых методов рудной обработки, вы получите пыль алюминия в качестве побочного продукта. Загляните в JEI для просмотра ваших опций, и изучите &2Field Guide&r, чтобы знать где искать нужные руды.\n\nПосле того как у вас будет достаточно алюминия, мы рекомендуем сделать Электролизер в качестве вашей первой MV машины, чтобы открыть остальные способы получения алюминия \n\nТеперь всё что вам нужно - это Электрическая Доменная Печь! Вам стоило обзавестись одной, в ином случае пора уже ей заняться!", + "quests.low_voltage.aluminium_dust.desc": "Существует много материалов, которые могут быть электризованы в алюминий, но многие из них станут доступны вам только в &bMV&r. Сапфиры - это единственное искоючение, с помощью некоторых методов рудной обработки, вы получите пыль алюминия в качестве побочного продукт. Загляните в JEI для просмотра ваших опций, и изучите &2Field Guide&r, чтобы знать где искать нужные руды.\n\nПосле того как у вас будет достаточно алюминия, мы рекомендуем сделать Электролизер в качестве вашей первой MV машины, чтобы открыть остальные способы получения алюминия \n\nТеперь всё что вам нужно - это Электрическая Доменная Печь! Вам стоило обзавестись одной, в ином случае пора уже ей заняться!", "quests.low_voltage.aluminium_ingot.title": "Ваш первый Алюминиевый Слиток", "quests.low_voltage.aluminium_ingot.subtitle": "Теперь мы в MV, не так ли?", "quests.low_voltage.aluminium_ingot.desc": "Хммм... а &bMV&r Микросхема у вас есть?\n\n&aАлюминий&r главный игредиент для механизмов &bMV&r эпохи. Готовьтесь сильно в нём нуждаться.\n\nПроцесс плавки Алюминия может быть сокращён примерно на треть с помощью &9Азота&r, который можно получить центрифугированием &9Воздуха&r из &3Воздухозаборника&r.\n\n&6Так же вам понадобятся много MV Микросхем для создания MV машин!&r", @@ -3177,6 +3184,19 @@ "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.low_voltage.next_machines.title": "Ещё больше машин", + "quests.low_voltage.next_machines.subtitle": "Теперь начинается настоящее веселье", + "quests.low_voltage.next_machines.desc": "Теперь, когда у вас работает несколько машин, пора загрузить их работой.\n\nСправа от этого задания находятся чисто опциональные машины (мы не знаем, куда ещё их поместить в этой главе!). В остальном, Сборочная машина удешевит создание электронных компонентов, а Химический реактор, Экстрактор и Отвердитель жидкостей удешевят производство Резины. После этого остаток уровня &7LV&r — ваш для исследования!", + "quests.low_voltage.food_machines.title": "Пищевые машины", + "quests.low_voltage.food_machines.subtitle": "Фастфуд на ходу", + "quests.low_voltage.food_machines.desc": "Кухонный комбайн и Электрическая духовка — это две специальные машины, разработанные для работы с системой питания TerraFirmaCraft.\n\nКомбайн может выполнять рецепты из миски, супы, сэндвичи, копчение, засолку, сушку... Что угодно, эта машина на это способна. Кроме готовки. Для этого нужна печь.\n\nУлучшение Удаление гнили может быть установлена на любую машину или Входную шину для автоматического удаления испортившейся еды. Полезно, чтобы ваша пищевая автоматизация не засорялась!", + "quests.low_voltage.bakelite.subtitle": "Также известен как Полиоксибензилметилгликольангидрид... попробуйте произнести это быстро пять раз", + "quests.low_voltage.bakelite.desc.1": "Ваш первый полимер! Просто смешайте Фенольную смолу с Асбестом или Обработанным ДСП, чтобы получить его.\n\nВы будете использовать Бакелит для создания Фенольных электросхем и Корпусов машин уровня MV, так что сделать большую партию — хорошая идея, хотя в &bMV&r вы замените его Полиэтиленом.\n\nТеперь у вас также есть доступ к более дешёвому рецепту для корпусов машин ULV и LV!", + "quests.low_voltage.bakelite.desc.2": "&l&3История:&r&o Бакелит — первый пластик, сделанный из синтетических компонентов. Награда за первый пластик вообще достаётся Паркезину, но для него требуется Нитроцеллюлоза, цепочка рецептов для которой слишком длинна для LV.\n\nВторой пластик — Галалит, созданный из молочных белок и формальдегида, но молоко сложно автоматизировать.", + "quests.low_voltage.lv_forming_press.subtitle": "Формовочный пресс формёт...", + "quests.low_voltage.lv_forming_press.desc": "Эта машина обычно мало для чего используется, но в TFG она может выполнять рецепты сварки из TFC, если они вам ещё нужны. Также она может легко копировать любые экструдерные или литейные формы.\n\nБолее насущно (каламбур), она понадобится вам для создания важного компонента для ваших следующих схем — &aФенольной электросхемы&r.\n\nВы получите доступ к более дешёвому рецепту, когда перейдёте на уровень &bMV&r.", + "quests.low_voltage.lv_laser_engraver.subtitle": "Пиу-пиу!", + "quests.low_voltage.lv_laser_engraver.desc": "Базовый лазерный гравировщик требуется для создания Передатчиков для логистической системы Create. Кроме этого, он, к сожалению, мало что умеет, кроме создания полированного камня.\n\nВы столкнётесь с лазерами больше, когда перейдёте на уровень &bMV&r.", "quests.medium_voltage": "&bMV&r - Среднее Напряжение", "quests.medium_voltage.subtitle": "Изучите нефтянную отрасль, а так же прикоснитесь к новой электроннике!", "quests.medium_voltage.mv_machine_hull.title": "Добро Пожаловать в MV!", From a1bf899845b2f8b18f9b8182c173e4aa94a579ea Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 9 Feb 2026 18:22:10 +0000 Subject: [PATCH 427/474] update extended ae --- pakku-lock.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index c05eec1fd..a7591c55b 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -5514,7 +5514,7 @@ "files": [ { "type": "curseforge", - "file_name": "ExtendedAE-1.20-1.4.10-forge.jar", + "file_name": "ExtendedAE-1.20-1.4.11-forge.jar", "mc_versions": [ "1.20.1" ], @@ -5523,20 +5523,20 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7472/662/ExtendedAE-1.20-1.4.10-forge.jar", - "id": "7472662", + "url": "https://edge.forgecdn.net/files/7594/207/ExtendedAE-1.20-1.4.11-forge.jar", + "id": "7594207", "parent_id": "892005", "hashes": { - "sha1": "267400e92be8b51479158b95a6ce414654c78562", - "md5": "5fc29cfc55d980deea333931a7605bdb" + "sha1": "d37b8af49def8516123e0b03206a2a23ae0fdb0e", + "md5": "2e82205530234759a37116df822d4651" }, "required_dependencies": [ - "223794", + "1173950", "957920", - "1173950" + "223794" ], - "size": 2675008, - "date_published": "2026-01-17T09:48:13.923Z" + "size": 2810056, + "date_published": "2026-02-08T13:28:12.420Z" } ] }, From 891654ac5f3682c3b1bb74797fe4a2f7c3045c17 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 9 Feb 2026 19:02:28 +0000 Subject: [PATCH 428/474] fix kjs after removing that iron tool mixin --- kubejs/startup_scripts/gtceu/material_modification.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 5558fdbce..2fcf5bf05 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -355,7 +355,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.BlackSteel.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(6.5, 4.5, 1228, 3, metalTooling).build()); // Cast iron tools don't make sense but gregtech shits itself if they're missing, // so I'm just giving them terrible terrible stats - //GTMaterials.Iron.getProperties().removeProperty(PropertyKey.TOOL); + GTMaterials.Iron.getProperties().removeProperty(PropertyKey.TOOL); GTMaterials.Iron.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(2.5, 1.0, 20, 2, [GTToolType.PICKAXE]).build()); // Hide netherite too GTMaterials.Netherite.getProperty(PropertyKey.TOOL).removeTypes(metalTooling); From d5e02808f5015f46982d3ede710a27e9a4e7ebc9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 9 Feb 2026 20:07:04 +0000 Subject: [PATCH 429/474] surprise! it wasn't removed --- kubejs/startup_scripts/gtceu/material_modification.js | 1 - 1 file changed, 1 deletion(-) diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 2fcf5bf05..4efcece0b 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -355,7 +355,6 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.BlackSteel.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(6.5, 4.5, 1228, 3, metalTooling).build()); // Cast iron tools don't make sense but gregtech shits itself if they're missing, // so I'm just giving them terrible terrible stats - GTMaterials.Iron.getProperties().removeProperty(PropertyKey.TOOL); GTMaterials.Iron.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(2.5, 1.0, 20, 2, [GTToolType.PICKAXE]).build()); // Hide netherite too GTMaterials.Netherite.getProperty(PropertyKey.TOOL).removeTypes(metalTooling); From 20ecfadf2c831999f1d4b61f299faf317bb7f60d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 9 Feb 2026 21:01:16 +0000 Subject: [PATCH 430/474] 0.11.21 --- CHANGELOG.md | 14 ++++++++++---- pakku-lock.json | 28 ++++++++++++++-------------- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a359a5e5..aa39df6e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,18 @@ # Changelog ## Unreleased +### Changes +### Bug fixes +### Translation updates + +## [0.11.21] - 09-02-2026 ### Breaking changes If you missed it, [0.11.19](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/releases/tag/0.11.19) and [0.11.20](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/releases/tag/0.11.20) were Alpha versions with many important breaking changes. Be sure to read their changelogs as well! +- And because we didn't make it a big enough deal yet, **the railgun now works on servers**! - Greate Encased Fans now work differently. Water (or distilled water) needs to be pumped into the encased fan itself, instead of having a source block in front. Items also must be on a Depot or Belt in order to be washed, instead of the floor. Processing time decreases with fan RPM. Regular water produces fewer byproducts than distilled water. - Some recipe changes to AE2 mainly to ExtandedAE to avoid conflicts, check your patterns ### Changes -- Large Solar Array Mk2 (LSA) is now craftable after reaching Mars rather than at the end of the Fission Line +- Large Solar Array MK2 is now craftable after reaching Mars rather than at the end of the Fission Line - Added artisan table recipes for all pipe mold sizes (#2983) @Redeix - You can now pick up foxes @Pyritie - Added glass batch to glass vial extruder recipe (#2999) @Inceitious @@ -17,10 +23,10 @@ If you missed it, [0.11.19](https://github.com/TerraFirmaGreg-Team/Modpack-Moder - Added optional [Create: Sound of Steam](https://www.curseforge.com/minecraft/mc-mods/create-sound-of-steam) compat (#2324) @samtsa - Added Universal Bags of Composts (#3016) @Nebby1999 ### Bug fixes -- Fix the Empty Rod T1 that was uncraftable (#3008) @TomPlop +- Fixed the T1 empty fuel rod being uncraftable (#3008) @TomPlop - Fixed fission fuel rods looking for the wrong items to recycle @TomPlop -- Add a missing recipe for the Heat Input Hatch that was making progressing on the Fission line after Uranium impossible @TomPlop -- Add a missing recipe for the Titanium Exhaust Vent that was making building the Cooling Tower impossible @TomPlop +- Added a missing recipe for the Heat Input Hatch that was making progressing on the Fission line after Uranium impossible @TomPlop +- Added a missing recipe for the Titanium Exhaust Vent that was making building the Cooling Tower impossible @TomPlop - Fixed incorrect mechanical mixer recipes for weak and regular colored steel dust (#2977) @Pyritie - Fixed cobble breaking into two cobble blocks (#2980) @Pyritie - Fixed a recycling dupe with maintenance hatches (#3003) @Pyritie diff --git a/pakku-lock.json b/pakku-lock.json index a7591c55b..0a8a39492 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -14196,7 +14196,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.20.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.21.jar", "mc_versions": [ "1.20.1" ], @@ -14205,23 +14205,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/lFy65M5b/TerraFirmaGreg-Core-Modern-0.8.20.jar", - "id": "lFy65M5b", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/IoQCnHY3/TerraFirmaGreg-Core-Modern-0.8.21.jar", + "id": "IoQCnHY3", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "d6f9c3331589e46cbb30cec39d2ff3c83bc6b25f168a03cf80d6e13d144ae17d3dc6bbbcdc65963c81c289f07e2b00e52cc53b48f61dc1d836e1f6542d04b9ef", - "sha1": "4a31376e9527ba6c70bf9666c308c47b5371e18a" + "sha512": "43af8080268115c1ee3bc36967d1f08cd1babc0f23f4d5bff1bfa3e9635169bf336da999ef185fc609fdd5a05b9e8a1d119699234780be6a4c64923f845b8db9", + "sha1": "aa5ce192eee7a877264b036c5ffd2da71bce2807" }, "required_dependencies": [ "7tG215v7", "JaCEZUhg" ], - "size": 9566314, - "date_published": "2026-02-03T23:29:11.849110Z" + "size": 9631809, + "date_published": "2026-02-09T20:45:23.561477Z" }, { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.20.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.21.jar", "mc_versions": [ "1.20.1" ], @@ -14230,19 +14230,19 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7572/993/TerraFirmaGreg-Core-Modern-0.8.20.jar", - "id": "7572993", + "url": "https://edge.forgecdn.net/files/7601/125/TerraFirmaGreg-Core-Modern-0.8.21.jar", + "id": "7601125", "parent_id": "513402", "hashes": { - "sha1": "4a31376e9527ba6c70bf9666c308c47b5371e18a", - "md5": "173c0b79425140a01365b3707fb17dc4" + "sha1": "aa5ce192eee7a877264b036c5ffd2da71bce2807", + "md5": "4ef9491380e2916b6c2008876aba2192" }, "required_dependencies": [ "890405", "302973" ], - "size": 9566314, - "date_published": "2026-02-03T23:29:07.213Z" + "size": 9631809, + "date_published": "2026-02-09T20:45:16.347Z" } ] }, From 0da54c032ea81af4a832da38e8e32f2406261b8e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 9 Feb 2026 21:05:26 +0000 Subject: [PATCH 431/474] release, not alpha --- pakku.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pakku.json b/pakku.json index e9af41c30..faf8a0638 100644 --- a/pakku.json +++ b/pakku.json @@ -1,7 +1,7 @@ { "name": "TerraFirmaGreg-Modern", "version": "DEV", - "release_type": "alpha", + "release_type": "release", "description": "An innovative modpack that contains GregTech and TerraFirmaCraft on 1.20.x.", "author": "Exception, Xikaro", "overrides": [ From 64efe8900ab1e32a1801e9d639acad9d0bd170c7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 9 Feb 2026 21:37:24 +0000 Subject: [PATCH 432/474] pakku, exposure update --- kubejs/server_scripts/exposure/recipes.js | 71 +++++ pakku-lock.json | 324 ++++++++++------------ 2 files changed, 215 insertions(+), 180 deletions(-) diff --git a/kubejs/server_scripts/exposure/recipes.js b/kubejs/server_scripts/exposure/recipes.js index b524e344b..5431567a4 100644 --- a/kubejs/server_scripts/exposure/recipes.js +++ b/kubejs/server_scripts/exposure/recipes.js @@ -39,6 +39,17 @@ const registerExposureRecipes = (event) => { 'minecraft:writable_book', 'minecraft:paper', 'minecraft:paper' ]).id('exposure:album') + // Camera stand + event.shaped('exposure:camera_stand', [ + ' A ', + 'BBB', + 'C C' + ], { + A: '#forge:rings', + B: '#tfc:lumber', + C: '#forge:smooth_stone_slab' + }).id('tfg:shaped/camera_stand') + // Film event.shaped('exposure:black_and_white_film', [ 'ABB', @@ -52,6 +63,19 @@ const registerExposureRecipes = (event) => { E: 'tfc:food/dried_kelp', }).id('exposure:black_and_white_film') + event.shaped('exposure:high_sensitivity_black_and_white_film', [ + 'ABB', + 'CDD', + 'FEE' + ], { + A: '#forge:rings/wrought_iron', + B: '#forge:dyes/white', + C: '#forge:foils/wrought_iron', + D: '#forge:dusts/gunpowder', + E: 'tfc:food/dried_kelp', + F: '#forge:dusts/glowstone' + }).id('exposure:high_sensitivity_black_and_white_film') + event.shaped('exposure:color_film', [ 'ABB', 'CDD', @@ -64,6 +88,19 @@ const registerExposureRecipes = (event) => { E: 'tfc:food/dried_kelp', }).id('exposure:color_film') + event.shaped('exposure:high_sensitivity_color_film', [ + 'ABB', + 'CDD', + 'FEE' + ], { + A: '#forge:rings/wrought_iron', + B: '#forge:dyes/blue', + C: '#forge:foils/wrought_iron', + D: '#forge:foils/gold', + E: 'tfc:food/dried_kelp', + F: '#forge:dusts/glowstone' + }).id('exposure:high_sensitivity_color_film') + // Creating the developer // Pyrogallol @@ -128,6 +165,11 @@ const registerExposureRecipes = (event) => { .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.tfc.barrel_sealed(4000) + .inputs('exposure:high_sensitivity_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_high_sensitivity_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)) @@ -140,12 +182,29 @@ const registerExposureRecipes = (event) => { TFC.isp.of('exposure:developed_black_and_white_film').simpleModifier('tfg:copy_nbt').asCanonClass(), []) + event.recipes.gtceu.food_processor('high_sensitivity_black_and_white_film') + .itemInputs('exposure:high_sensitivity_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/high_sensitivity_black_and_white_film', + [Ingredient.of('exposure:high_sensitivity_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:barrel/develop_color_film') + event.recipes.tfc.barrel_sealed(4000) + .inputs('exposure:high_sensitivity_color_film', Fluid.of('tfg:color_photographic_developer', 250)) + .outputItem(TFC.isp.of('exposure:developed_color_film').simpleModifier('tfg:copy_nbt')) + .id('tfg:barrel/develop_high_sensitivity_color_film') + event.recipes.gtceu.food_processor('color_film') .itemInputs('exposure:color_film') .inputFluids(Fluid.of('tfg:color_photographic_developer', 250)) @@ -157,4 +216,16 @@ const registerExposureRecipes = (event) => { [Ingredient.of('exposure:color_film')], TFC.isp.of('exposure:developed_color_film').simpleModifier('tfg:copy_nbt').asCanonClass(), []) + + event.recipes.gtceu.food_processor('high_sensitivity_color_film') + .itemInputs('exposure:high_sensitivity_color_film') + .inputFluids(Fluid.of('tfg:color_photographic_developer', 250)) + .itemOutputs('exposure:developed_color_film') + .duration(60 * 20) + .EUt(2) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/high_sensitivity_color_film', + [Ingredient.of('exposure:high_sensitivity_color_film')], + TFC.isp.of('exposure:developed_color_film').simpleModifier('tfg:copy_nbt').asCanonClass(), + []) } \ No newline at end of file diff --git a/pakku-lock.json b/pakku-lock.json index 0a8a39492..fd322905a 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -3221,6 +3221,29 @@ "modrinth": "pJGcKPh1" }, "files": [ + { + "type": "modrinth", + "file_name": "corpsecurioscompat-1.20.1-Forge-3.1.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/pJGcKPh1/versions/zgt34xjo/corpsecurioscompat-1.20.1-Forge-3.1.3.jar", + "id": "zgt34xjo", + "parent_id": "pJGcKPh1", + "hashes": { + "sha512": "1775a3c1c42e886ac2a0ce18ebc3d88a192f68c7474ad4114287e762c90ecaeda4bd49129026824da614efc7af3d0af2dda9fcd35f231a3d02aa0981f018103d", + "sha1": "3b36538ca8c6cc16982788c8e058cb726357a90c" + }, + "required_dependencies": [ + "OfKzpbRU" + ], + "size": 23655, + "date_published": "2025-11-18T11:12:27.896456Z" + }, { "type": "curseforge", "file_name": "corpsecurioscompat-1.20.1-Forge-3.1.3.jar", @@ -3243,34 +3266,6 @@ ], "size": 23655, "date_published": "2025-10-09T20:23:18.440Z" - }, - { - "type": "modrinth", - "file_name": "corpsecurioscompat-1.20.1-Forge-3.1.2.jar", - "mc_versions": [ - "1.20.1", - "1.20.2", - "1.20.3", - "1.20.4" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/pJGcKPh1/versions/oOV3E7PA/corpsecurioscompat-1.20.1-Forge-3.1.2.jar", - "id": "oOV3E7PA", - "parent_id": "pJGcKPh1", - "hashes": { - "sha512": "f3a5ad7993bab522decefed9421002a130c5dae652e7e2b3c38a9afcf6dc14569ed00fd140a91fffb5e6baacde3eecb7ed0d0cc1222583a6d066be53c3dc726d", - "sha1": "6bffb8fd1ce4b0c7e504dc67271a05848f7d33a9" - }, - "required_dependencies": [ - "WrpuIfhw", - "OfKzpbRU", - "vvuO3ImH" - ], - "size": 24680, - "date_published": "2025-08-19T16:40:42.144982Z" } ] }, @@ -3401,7 +3396,7 @@ "files": [ { "type": "modrinth", - "file_name": "craftingtweaks-forge-1.20.1-18.2.6.jar", + "file_name": "craftingtweaks-forge-1.20.1-18.2.8.jar", "mc_versions": [ "1.20", "1.20.1" @@ -3410,22 +3405,22 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/DMu0oBKf/versions/umzsWJQd/craftingtweaks-forge-1.20.1-18.2.6.jar", - "id": "umzsWJQd", + "url": "https://cdn.modrinth.com/data/DMu0oBKf/versions/pHj8hyWv/craftingtweaks-forge-1.20.1-18.2.8.jar", + "id": "pHj8hyWv", "parent_id": "DMu0oBKf", "hashes": { - "sha512": "38da2aa5175e0257f93b5f3a0edb6fd54530e30c8c6d2dfaec50c03cb774a0abbc5d4b666cf4cee4bc64f977287a801a8a3e7ce97167dd0306401c1a148536e7", - "sha1": "f2091c7b171f1104bb22434d5b4a01ad678cdaf9" + "sha512": "5294ffe1906cd987e6067a3f9bffad43ecce88bf7398fa41e83c2c9c29d135baf78a41fd90215adfa5ce9de113f6d96eb863da31947226308951910d30c5891f", + "sha1": "14105e247ccff9a7674fd8c85ce8c77e7f318846" }, "required_dependencies": [ "MBAkmtvl" ], - "size": 230973, - "date_published": "2025-07-18T18:10:04.531033Z" + "size": 231043, + "date_published": "2026-01-13T13:10:45.682500Z" }, { "type": "curseforge", - "file_name": "craftingtweaks-forge-1.20.1-18.2.6.jar", + "file_name": "craftingtweaks-forge-1.20.1-18.2.8.jar", "mc_versions": [ "1.20.1", "1.20" @@ -3434,18 +3429,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6784/525/craftingtweaks-forge-1.20.1-18.2.6.jar", - "id": "6784525", + "url": "https://edge.forgecdn.net/files/7454/498/craftingtweaks-forge-1.20.1-18.2.8.jar", + "id": "7454498", "parent_id": "233071", "hashes": { - "sha1": "a4742067cceea47f4f8f7d25822b0ff8a8fa6268", - "md5": "4cc9afa7848e639cd7e0f1b250925247" + "sha1": "1c93d31216aa53e53e97f4e24adb899673accb52", + "md5": "7208ef92ce8196cb479f39676ba6fc29" }, "required_dependencies": [ "531761" ], - "size": 230973, - "date_published": "2025-07-18T18:08:51.337Z" + "size": 231043, + "date_published": "2026-01-13T13:11:06.543Z" } ] }, @@ -4743,7 +4738,7 @@ "files": [ { "type": "modrinth", - "file_name": "diggerhelmet-1.20.1-1.0.0.25.jar", + "file_name": "diggerhelmet-1.20.1-1.0.0.26.jar", "mc_versions": [ "1.20.1" ], @@ -4752,20 +4747,20 @@ "neoforge" ], "release_type": "beta", - "url": "https://cdn.modrinth.com/data/8Aatj9Zy/versions/T1mIzBuf/diggerhelmet-1.20.1-1.0.0.25.jar", - "id": "T1mIzBuf", + "url": "https://cdn.modrinth.com/data/8Aatj9Zy/versions/uLRIdt0F/diggerhelmet-1.20.1-1.0.0.26.jar", + "id": "uLRIdt0F", "parent_id": "8Aatj9Zy", "hashes": { - "sha512": "471e84a1fa896565e65619645d78945ebafff246661fbc851ec84a18f2bb575a75a31cea381544125ce36530fc486570e07b47f813fb063f71339238964bf8d6", - "sha1": "8c49656e74daa66fd8e1c9170fab72493aaa21dd" + "sha512": "2c2c33ebad2afccd62a69f8630fe96032cd7b434d787a28328d2d5b0927a2268c5a9e09b3a7bf34eb32c3bfcd2f0644c1ee2f3128ce2bf9075c5f8285ae151d4", + "sha1": "3fe3d9911069db3c0d816bdbbed01193ba880087" }, "required_dependencies": [ - "JaCEZUhg", "vvuO3ImH", - "8BmcQJ2H" + "8BmcQJ2H", + "JaCEZUhg" ], - "size": 232711, - "date_published": "2025-10-26T03:39:53.401428Z" + "size": 233928, + "date_published": "2025-12-06T11:48:53.965962Z" }, { "type": "curseforge", @@ -5445,47 +5440,47 @@ "modrinth": "hB899VmG" }, "files": [ - { - "type": "curseforge", - "file_name": "exposure-1.20.1-1.7.16-forge.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6655/718/exposure-1.20.1-1.7.16-forge.jar", - "id": "6655718", - "parent_id": "871755", - "hashes": { - "sha1": "b1ec92eeafdc97e88e0baacd5d89f4c1f89a4bbc", - "md5": "5e0d88ba6f4cfe04c6d8158f91b038db" - }, - "required_dependencies": [], - "size": 1360685, - "date_published": "2025-06-15T21:13:11.687Z" - }, { "type": "modrinth", - "file_name": "exposure-1.20.1-1.7.16-forge.jar", + "file_name": "exposure-forge-1.20.1-1.9.13.jar", "mc_versions": [ "1.20.1" ], "loaders": [ "forge" ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/hB899VmG/versions/Wk43p4gt/exposure-1.20.1-1.7.16-forge.jar", - "id": "Wk43p4gt", + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/hB899VmG/versions/nUDv4ZTR/exposure-forge-1.20.1-1.9.13.jar", + "id": "nUDv4ZTR", "parent_id": "hB899VmG", "hashes": { - "sha512": "94e1c0ddbcb12d2b95e964d9081e41c4c6ad960100ab31fa7faee5ff8d0a3b5e7b29288117dad4d4aa17ae7fc01d19f2a269f327f27151d47248c9d6ff68ace2", - "sha1": "b1ec92eeafdc97e88e0baacd5d89f4c1f89a4bbc" + "sha512": "cb45c695be8c67ad371e0d4a691a38367a3a03e9ce9d8d3e47dbd1f47dac3c08e49deb21053a8925e66d45d891fc50c58d7c59ff6f9992279456d8f00979543d", + "sha1": "2c1b71dffa45e8ef2008a4341a00fae55c331c20" }, "required_dependencies": [], - "size": 1360685, - "date_published": "2025-06-15T21:13:11.560500Z" + "size": 2235602, + "date_published": "2026-02-05T16:57:34.793777Z" + }, + { + "type": "curseforge", + "file_name": "exposure-forge-1.20.1-1.9.13.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://edge.forgecdn.net/files/7580/284/exposure-forge-1.20.1-1.9.13.jar", + "id": "7580284", + "parent_id": "871755", + "hashes": { + "sha1": "2c1b71dffa45e8ef2008a4341a00fae55c331c20", + "md5": "9b60ef57486b398a2efa3bc2193f9ffd" + }, + "required_dependencies": [], + "size": 2235602, + "date_published": "2026-02-05T16:57:33.440Z" } ] }, @@ -6877,7 +6872,7 @@ ] }, { - "pakku_id": "ebnVeibHypJ7c4sE", + "pakku_id": "YXlwv3dBaimWi5Lk", "pakku_links": [ "WN9DdLqsRKVeZIc9" ], @@ -6898,7 +6893,7 @@ "files": [ { "type": "curseforge", - "file_name": "gtceuterminal-2.4.5.jar", + "file_name": "gtceuterminal-2.4.6.jar", "mc_versions": [ "1.20.1" ], @@ -6906,22 +6901,22 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7521/437/gtceuterminal-2.4.5.jar", - "id": "7521437", + "url": "https://edge.forgecdn.net/files/7601/248/gtceuterminal-2.4.6.jar", + "id": "7601248", "parent_id": "1423461", "hashes": { - "sha1": "d0e5cd6b8d6d5fe89f9e24434c35a61bc0294896", - "md5": "973736c87b451d5eb8d601c27c5c1f65" + "sha1": "b7284297c33359569cff22208e938012c26a06ec", + "md5": "b0b125e56c410da94d16e8333b187bd7" }, "required_dependencies": [ "890405" ], - "size": 335658, - "date_published": "2026-01-25T00:45:57.250Z" + "size": 427057, + "date_published": "2026-02-09T21:15:09.553Z" }, { "type": "modrinth", - "file_name": "gtceuterminal-2.4.5.jar", + "file_name": "gtceuterminal-2.4.6.jar", "mc_versions": [ "1.20.1" ], @@ -6929,18 +6924,16 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/jIBIhAO2/versions/o6tXhJNB/gtceuterminal-2.4.5.jar", - "id": "o6tXhJNB", + "url": "https://cdn.modrinth.com/data/jIBIhAO2/versions/3YVMQ7gd/gtceuterminal-2.4.6.jar", + "id": "3YVMQ7gd", "parent_id": "jIBIhAO2", "hashes": { - "sha512": "acd26244ab41d7e7ee939b3e88127053e0c31217a31274f165750a77862ccc57116cb2dbc0ff9e76139e77f060d25029e6abd2c08f5dc1e75887e05495acd101", - "sha1": "d0e5cd6b8d6d5fe89f9e24434c35a61bc0294896" + "sha512": "58b51a56fbe8dd88fb4449b5192b5a29f921ec29d1f733ae55044c6b8e4e9ee658a7e9f9a0d2cb808b559d52d464bde2d9b28e65e5dfc9a13081993d266af0b3", + "sha1": "b7284297c33359569cff22208e938012c26a06ec" }, - "required_dependencies": [ - "7tG215v7" - ], - "size": 335658, - "date_published": "2026-01-25T00:44:44.421732Z" + "required_dependencies": [], + "size": 427057, + "date_published": "2026-02-09T21:16:21.957444Z" } ] }, @@ -9520,7 +9513,7 @@ "files": [ { "type": "modrinth", - "file_name": "ags_modernmarkings-0.4.3-1.20.1.jar", + "file_name": "ags_modernmarkings-0.4.4-1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -9528,16 +9521,16 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/efD07SBK/versions/9litZedm/ags_modernmarkings-0.4.3-1.20.1.jar", - "id": "9litZedm", + "url": "https://cdn.modrinth.com/data/efD07SBK/versions/XA2b4xp4/ags_modernmarkings-0.4.4-1.20.1.jar", + "id": "XA2b4xp4", "parent_id": "efD07SBK", "hashes": { - "sha512": "6bfa023ed1add9830a4102a1f1e493483023b2ea6e3da8272d92a28ff0e0d186c8b1f9935c7a29c8228036eec97fda3d5c045afa200611fc82355ba54ed21187", - "sha1": "45d788e6a37c3bdcf5a235caa6a43694cb09e8b4" + "sha512": "7200a2a67cabbc5c0e53f2ac1dda96a43ed29f6bc9b88794145043214e06074adf9834843a36653f4c937d6d45ef4fdc26c077cc2b14c5e7b323c5e4c97cab3c", + "sha1": "8102920535de97d06c4c7b05a39f44dd237a13f3" }, "required_dependencies": [], - "size": 305660, - "date_published": "2025-07-14T16:28:57.389265Z" + "size": 307489, + "date_published": "2025-12-17T07:47:43.944466Z" }, { "type": "curseforge", @@ -12193,7 +12186,7 @@ "files": [ { "type": "modrinth", - "file_name": "sophisticatedbackpacks-1.20.1-3.24.12.1411.jar", + "file_name": "sophisticatedbackpacks-1.20.1-3.24.21.1515.jar", "mc_versions": [ "1.20.1" ], @@ -12202,42 +12195,42 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/TyCTlI4b/versions/ePNVFnS7/sophisticatedbackpacks-1.20.1-3.24.12.1411.jar", - "id": "ePNVFnS7", + "url": "https://cdn.modrinth.com/data/TyCTlI4b/versions/pDakqvC9/sophisticatedbackpacks-1.20.1-3.24.21.1515.jar", + "id": "pDakqvC9", "parent_id": "TyCTlI4b", "hashes": { - "sha512": "880d192072c5ef2683fcdd65cfaa0ab1c53c2dacf2194f5d1f4f616bc482ac554bc8968e8fae016234a021c25831915d8b5f6bf17af4a670a3611ca43bcd2f31", - "sha1": "c6624f4719cfa8c15ef87860570a2748afd715da" + "sha512": "0e8eb9aecb0fc3fe8678e661449341d835c5e1b6105fec78e24ba832d7a81cdce09e4e9d83928bf31b0bde4626a73a117006aea1f9c7b223fd1f31cd3a4d5c1c", + "sha1": "d3977c8262cf2eff9eed7852e3b3a73f7bcdbe9a" }, "required_dependencies": [ "nmoqTijg" ], - "size": 973366, - "date_published": "2025-10-31T10:20:39.100246Z" + "size": 982869, + "date_published": "2026-02-07T23:50:21.857720Z" }, { "type": "curseforge", - "file_name": "sophisticatedbackpacks-1.20.1-3.24.12.1411.jar", + "file_name": "sophisticatedbackpacks-1.20.1-3.24.21.1515.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", - "forge" + "forge", + "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7169/843/sophisticatedbackpacks-1.20.1-3.24.12.1411.jar", - "id": "7169843", + "url": "https://edge.forgecdn.net/files/7591/542/sophisticatedbackpacks-1.20.1-3.24.21.1515.jar", + "id": "7591542", "parent_id": "422301", "hashes": { - "sha1": "6fcdb6e2fc18e24cd0e65fe57961310dd2443bd9", - "md5": "a2d81606c31421d45aa3518e5471f154" + "sha1": "99338287d94ad2d6d8009377b8d48b4c035bc24e", + "md5": "a5389a3d9e7cbe1516d905522d6387ed" }, "required_dependencies": [ "618298" ], - "size": 973366, - "date_published": "2025-10-31T10:20:22.040Z" + "size": 982868, + "date_published": "2026-02-07T23:49:37.670Z" } ] }, @@ -12260,7 +12253,7 @@ "files": [ { "type": "modrinth", - "file_name": "sophisticatedcore-1.20.1-1.2.107.1240.jar", + "file_name": "sophisticatedcore-1.20.1-1.3.2.1468.jar", "mc_versions": [ "1.20.1" ], @@ -12269,38 +12262,38 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/nmoqTijg/versions/qpP3IdRu/sophisticatedcore-1.20.1-1.2.107.1240.jar", - "id": "qpP3IdRu", + "url": "https://cdn.modrinth.com/data/nmoqTijg/versions/G9fQw1uz/sophisticatedcore-1.20.1-1.3.2.1468.jar", + "id": "G9fQw1uz", "parent_id": "nmoqTijg", "hashes": { - "sha512": "64402513db4d8285732795c72712aff2944b14e91f0cce866472702622e20a65d7e9cb67988dab77383dd6a9639ae693ee43916cb5380ca5c74d309b3e50c1d8", - "sha1": "a0a8e69b482e18bc82404c57f868db06d827ffca" + "sha512": "7c3346d320a0c8f7b96a1b54e822911ec90dbf789408bb3d3ae57484e7f996a222bab5f9db476bd648085688f988b6396d44a6e3d989cc87870de1b7d1edc792", + "sha1": "da6fed216fee206c71e8b517197347868774e478" }, "required_dependencies": [], - "size": 1438965, - "date_published": "2025-10-31T05:57:49.898960Z" + "size": 1418715, + "date_published": "2026-02-07T23:41:28.855893Z" }, { "type": "curseforge", - "file_name": "sophisticatedcore-1.20.1-1.2.107.1240.jar", + "file_name": "sophisticatedcore-1.20.1-1.3.2.1468.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", - "forge" + "forge", + "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7169/400/sophisticatedcore-1.20.1-1.2.107.1240.jar", - "id": "7169400", + "url": "https://edge.forgecdn.net/files/7591/502/sophisticatedcore-1.20.1-1.3.2.1468.jar", + "id": "7591502", "parent_id": "618298", "hashes": { - "sha1": "bd25a3a9d1b4a6e25b4087b58c0cd3a9564a78a7", - "md5": "fbc7db24a060b7cbe715013b071d604f" + "sha1": "e3fd8173b8aa02c8f6e2fc88e0f2c0167106bd45", + "md5": "4337b65779330e9945bcb5efddfdb6a5" }, "required_dependencies": [], - "size": 1438965, - "date_published": "2025-10-31T05:57:33.977Z" + "size": 1418715, + "date_published": "2026-02-07T23:40:46.057Z" } ] }, @@ -13202,7 +13195,7 @@ "files": [ { "type": "modrinth", - "file_name": "tfclunchbox-1.20.1-1.0.0.26.jar", + "file_name": "tfclunchbox-1.20.1-1.0.0.28.jar", "mc_versions": [ "1.20.1" ], @@ -13211,18 +13204,16 @@ "neoforge" ], "release_type": "beta", - "url": "https://cdn.modrinth.com/data/GJoZTKwF/versions/oLBw4c0k/tfclunchbox-1.20.1-1.0.0.26.jar", - "id": "oLBw4c0k", + "url": "https://cdn.modrinth.com/data/GJoZTKwF/versions/nMEFAzzN/tfclunchbox-1.20.1-1.0.0.28.jar", + "id": "nMEFAzzN", "parent_id": "GJoZTKwF", "hashes": { - "sha512": "8a9bdd6c09965df91cd12ab2327888204149b5600af0a7c4c86c6f6a1e697a4417312f00bea9daf7fca53f4ae80ef74c85f32770bb7621b72053f33767a07841", - "sha1": "e9ddf2c2ea8a3458c06ef31712543d201a1cb499" + "sha512": "5608516810bcf8c681bb07b30b4e221303ddcc5a5207f81d4979f6b3423e9c5de6d8dd9ef0d0cc3bba7cdb6391175d09050cfcbc4d53256437c7ce74d2dc70ea", + "sha1": "7894fbb87bc561b7c186ec9f3997118b953659d0" }, - "required_dependencies": [ - "JaCEZUhg" - ], - "size": 148782, - "date_published": "2025-10-16T11:04:01.581223Z" + "required_dependencies": [], + "size": 132712, + "date_published": "2026-01-20T16:24:43.553352Z" }, { "type": "curseforge", @@ -13961,23 +13952,20 @@ ] }, { - "pakku_id": "4weWuId4TI1ZJk1L", + "pakku_id": "EJ978NHmXBM5GLKu", "pakku_links": [ - "GXyDUWkiW0nLPTdo" + "GXyDUWkiW0nLPTdo", + "bf2svog06ajj5JHE" ], "type": "MOD", - "side": "BOTH", "slug": { - "curseforge": "tacz-js", - "modrinth": "tacz-js" + "curseforge": "tacz-js" }, "name": { - "curseforge": "TaCZ JS", - "modrinth": "TaCZ JS" + "curseforge": "TaCZ JS" }, "id": { - "curseforge": "1130998", - "modrinth": "pAcsgLW2" + "curseforge": "1130998" }, "files": [ { @@ -14003,30 +13991,6 @@ ], "size": 89629, "date_published": "2026-01-11T07:38:33.490Z" - }, - { - "type": "modrinth", - "file_name": "taczjs-forge-1.3.7-mc1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/pAcsgLW2/versions/vV5GSjdw/taczjs-forge-1.3.7-mc1.20.1.jar", - "id": "vV5GSjdw", - "parent_id": "pAcsgLW2", - "hashes": { - "sha512": "ef11ded5705b8eeb9d8f38800615e0c3ca05236cba6462cbf5d52dcd8dc8c6b0e3250fc021bb3475479097c9d47faf1a7466974c64006984bbeaff75b52a6c65", - "sha1": "8a97de20e31f7e863a968f82fd90e196f4b3a3b3" - }, - "required_dependencies": [ - "umyGl7zF", - "SzzJttH8" - ], - "size": 90442, - "date_published": "2025-12-02T00:14:24.346621Z" } ] }, From ee5e4432e39fc8e2a8d8526a85e43ccf2ed804e8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 9 Feb 2026 21:43:24 +0000 Subject: [PATCH 433/474] fix duplicate recipe --- kubejs/server_scripts/exposure/recipes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/exposure/recipes.js b/kubejs/server_scripts/exposure/recipes.js index 5431567a4..5ea870a38 100644 --- a/kubejs/server_scripts/exposure/recipes.js +++ b/kubejs/server_scripts/exposure/recipes.js @@ -48,7 +48,7 @@ const registerExposureRecipes = (event) => { A: '#forge:rings', B: '#tfc:lumber', C: '#forge:smooth_stone_slab' - }).id('tfg:shaped/camera_stand') + }).id('exposure:camera_stand') // Film event.shaped('exposure:black_and_white_film', [ From d122cba3f547da6587f279c719eea35ebc2debdd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 9 Feb 2026 21:45:54 +0000 Subject: [PATCH 434/474] update modlist --- config/crash_assistant/modlist.json | 173 +++++++++++++++------------- 1 file changed, 90 insertions(+), 83 deletions(-) diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index f2b57a477..b3e86558e 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -263,12 +263,12 @@ "curseForgeHash": 2339474770, "modrinthHash": "42f34947910ca428497fac0bf2566a45959a51a5" }, - "chat_heads-0.14.2-forge-1.20.jar": { - "jarName": "chat_heads-0.14.2-forge-1.20.jar", + "chat_heads-0.15.0-forge-1.20.jar": { + "jarName": "chat_heads-0.15.0-forge-1.20.jar", "modId": "chat_heads", - "version": "0.14.2", - "curseForgeHash": 1586719138, - "modrinthHash": "0410ab9636c69324e3671012af64c7743f6d6079" + "version": "0.15.0", + "curseForgeHash": 562582520, + "modrinthHash": "52a21207af65259adfa840e26042c28058f6513f" }, "cherishedworlds-forge-6.1.7+1.20.1.jar": { "jarName": "cherishedworlds-forge-6.1.7+1.20.1.jar", @@ -361,12 +361,12 @@ "curseForgeHash": 3614955629, "modrinthHash": "afd9fa3fe95e8c086e8d439df403ed1e5ea5cbea" }, - "craftingtweaks-forge-1.20.1-18.2.6.jar": { - "jarName": "craftingtweaks-forge-1.20.1-18.2.6.jar", + "craftingtweaks-forge-1.20.1-18.2.8.jar": { + "jarName": "craftingtweaks-forge-1.20.1-18.2.8.jar", "modId": "craftingtweaks", - "version": "18.2.6", - "curseForgeHash": 791328458, - "modrinthHash": "f2091c7b171f1104bb22434d5b4a01ad678cdaf9" + "version": "18.2.8", + "curseForgeHash": 1007694343, + "modrinthHash": "1c93d31216aa53e53e97f4e24adb899673accb52" }, "CraftPresence-2.7.0+1.20.1-forge.jar": { "jarName": "CraftPresence-2.7.0+1.20.1-forge.jar", @@ -396,12 +396,12 @@ "curseForgeHash": 2156032012, "modrinthHash": "b13d912b9247a38d66d11598c121442585a1c1e9" }, - "create_connected-1.1.12-mc1.20.1-all.jar": { - "jarName": "create_connected-1.1.12-mc1.20.1-all.jar", + "create_connected-1.1.13-mc1.20.1-all.jar": { + "jarName": "create_connected-1.1.13-mc1.20.1-all.jar", "modId": "create_connected", - "version": "1.1.12-mc1.20.1", - "curseForgeHash": 658641737, - "modrinthHash": "6a27b27ad502429650fa621009daacc876bd3e28" + "version": "1.1.13-mc1.20.1", + "curseForgeHash": 3555789816, + "modrinthHash": "0e1ffa4e6d3f7b379c7d30e8e59d424fd527acb4" }, "create_factory_logistics-1.20.1-1.4.7.jar": { "jarName": "create_factory_logistics-1.20.1-1.4.7.jar", @@ -410,12 +410,12 @@ "curseForgeHash": 561746208, "modrinthHash": "bf67707d1645197f27cd9a4abea13159fa0fef1e" }, - "create_hypertube-0.3.0-FORGE.jar": { - "jarName": "create_hypertube-0.3.0-FORGE.jar", + "create_hypertube-0.4.0-FORGE.jar": { + "jarName": "create_hypertube-0.4.0-FORGE.jar", "modId": "create_hypertube", - "version": "0.3.0", - "curseForgeHash": 302353697, - "modrinthHash": "476ae93802024b766badb15e538e0cf65a2e3fbd" + "version": "0.4.0", + "curseForgeHash": 694433954, + "modrinthHash": "49712554e365e4412fa6362f0394e919fe7eb261" }, "createaddition-1.20.1-1.3.3.jar": { "jarName": "createaddition-1.20.1-1.3.3.jar", @@ -508,12 +508,12 @@ "curseForgeHash": 4053708632, "modrinthHash": "08b58bfbdf20660bdc5a0c4a0b088f7d89f40a38" }, - "domum_ornamentum-1.20.1-1.0.295-universal.jar": { - "jarName": "domum_ornamentum-1.20.1-1.0.295-universal.jar", + "domum_ornamentum-1.20.1-1.0.296-universal.jar": { + "jarName": "domum_ornamentum-1.20.1-1.0.296-universal.jar", "modId": "domum_ornamentum", - "version": "1.20.1-1.0.295", - "curseForgeHash": 2550579719, - "modrinthHash": "29950245b98ec35184d806e3b9ace700e67ac585" + "version": "1.20.1-1.0.296", + "curseForgeHash": 12848397, + "modrinthHash": "f0052adb170e5f73f0f5b625c411bc5b99183c00" }, "drippyloadingscreen_forge_3.1.0_MC_1.20.1.jar": { "jarName": "drippyloadingscreen_forge_3.1.0_MC_1.20.1.jar", @@ -571,26 +571,26 @@ "curseForgeHash": 1564210994, "modrinthHash": "4f440ac41309993a46e0ffcb2dd6106d7b92b3e2" }, - "everycomp-1.20-2.9.15-forge.jar": { - "jarName": "everycomp-1.20-2.9.15-forge.jar", + "everycomp-1.20-2.9.17-forge.jar": { + "jarName": "everycomp-1.20-2.9.17-forge.jar", "modId": "everycomp", - "version": "1.20-2.9.15", - "curseForgeHash": 2044432690, - "modrinthHash": "9199f9a117e655ba64186b76c5ff1f78236034ae" + "version": "1.20-2.9.17", + "curseForgeHash": 90477853, + "modrinthHash": "f916b0f9871722d56adea057111b70e4c0529866" }, - "exposure-1.20.1-1.7.16-forge.jar": { - "jarName": "exposure-1.20.1-1.7.16-forge.jar", + "exposure-forge-1.20.1-1.9.13.jar": { + "jarName": "exposure-forge-1.20.1-1.9.13.jar", "modId": "exposure", - "version": "1.7.16", - "curseForgeHash": 652681066, - "modrinthHash": "b1ec92eeafdc97e88e0baacd5d89f4c1f89a4bbc" + "version": "1.9.13", + "curseForgeHash": 2516577834, + "modrinthHash": "2c1b71dffa45e8ef2008a4341a00fae55c331c20" }, - "ExtendedAE-1.20-1.4.10-forge.jar": { - "jarName": "ExtendedAE-1.20-1.4.10-forge.jar", + "ExtendedAE-1.20-1.4.11-forge.jar": { + "jarName": "ExtendedAE-1.20-1.4.11-forge.jar", "modId": "expatternprovider", - "version": "1.20-1.4.10-forge", - "curseForgeHash": 2955081124, - "modrinthHash": "267400e92be8b51479158b95a6ce414654c78562" + "version": "1.20-1.4.11-forge", + "curseForgeHash": 4165358956, + "modrinthHash": "d37b8af49def8516123e0b03206a2a23ae0fdb0e" }, "ExtremeSoundMuffler-3.51-forge-1.20.1.jar": { "jarName": "ExtremeSoundMuffler-3.51-forge-1.20.1.jar", @@ -669,6 +669,13 @@ "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.3.jar": { "jarName": "FramedBlocks-9.4.3.jar", "modId": "framedblocks", @@ -788,12 +795,12 @@ "curseForgeHash": 3324262533, "modrinthHash": "aa53625ab5e145c6aa196645335b062b37ae82da" }, - "greate-0.0.64.jar": { - "jarName": "greate-0.0.64.jar", + "greate-0.0.66.jar": { + "jarName": "greate-0.0.66.jar", "modId": "greate", - "version": "0.0.64", - "curseForgeHash": 2026447132, - "modrinthHash": "7e779ac568c27ebb8cb9b16c6b8797b633ffdcdf" + "version": "0.0.66", + "curseForgeHash": 1988745374, + "modrinthHash": "34cc291020c237e39e0f04939cc78ccf2a9ab862" }, "gtceu-1.20.1-7.4.1.jar": { "jarName": "gtceu-1.20.1-7.4.1.jar", @@ -802,12 +809,12 @@ "curseForgeHash": 2174922911, "modrinthHash": "50ae5df1cc5213aa429a976b6393e0bd4e22238e" }, - "gtceuterminal-2.4.5.jar": { - "jarName": "gtceuterminal-2.4.5.jar", + "gtceuterminal-2.4.6.jar": { + "jarName": "gtceuterminal-2.4.6.jar", "modId": "gtceuterminal", - "version": "1.0.2", - "curseForgeHash": 3654021553, - "modrinthHash": "d0e5cd6b8d6d5fe89f9e24434c35a61bc0294896" + "version": "2.4.6", + "curseForgeHash": 3171573363, + "modrinthHash": "b7284297c33359569cff22208e938012c26a06ec" }, "gtmoldraw-3.0.1.jar": { "jarName": "gtmoldraw-3.0.1.jar", @@ -912,12 +919,12 @@ "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" + "Krypton FNP-forge-1.20.1-0.2.28.2-1.20.1.jar": { + "jarName": "Krypton FNP-forge-1.20.1-0.2.28.2-1.20.1.jar", + "modId": "krypton_fnp", + "version": "0.2.28.2-1.20.1", + "curseForgeHash": 326889372, + "modrinthHash": "84f719905f9c01943b7e67ba61b0624ae6b073a3" }, "kubejs-create-forge-2001.3.0-build.8.jar": { "jarName": "kubejs-create-forge-2001.3.0-build.8.jar", @@ -1031,13 +1038,6 @@ "curseForgeHash": 2785638273, "modrinthHash": "0adfc122e9f632d8847688c4c3ed20a1af182afa" }, - "ModernUI-Forge-1.20.1-3.12.0.1-universal.jar": { - "jarName": "ModernUI-Forge-1.20.1-3.12.0.1-universal.jar", - "modId": "modernui", - "version": "3.12.0.1", - "curseForgeHash": 2393054142, - "modrinthHash": "fcebe51e3c2ca34793f9b132fa05b5494ffc76a4" - }, "moonlight-1.20-2.16.27-forge.jar": { "jarName": "moonlight-1.20-2.16.27-forge.jar", "modId": "moonlight", @@ -1129,12 +1129,12 @@ "curseForgeHash": 3233971835, "modrinthHash": "cc0332d3bbf7824b673abc59e231f1f5aafc6420" }, - "particle_core-0.3.2+1.20.1+forge.jar": { - "jarName": "particle_core-0.3.2+1.20.1+forge.jar", + "particle_core-0.3.3+1.20.1+forge.jar": { + "jarName": "particle_core-0.3.3+1.20.1+forge.jar", "modId": "particle_core", - "version": "0.3.2+1.20.1+forge", - "curseForgeHash": 1864908717, - "modrinthHash": "57079d1607ce044533fb076d2db0e2a3d277a4fb" + "version": "0.3.3+1.20.1+forge", + "curseForgeHash": 1956610132, + "modrinthHash": "1da5744853d17979033d5ee3cd4251b8340ea7be" }, "particular-1.20.1-Forge-1.2.7.jar": { "jarName": "particular-1.20.1-Forge-1.2.7.jar", @@ -1213,6 +1213,13 @@ "curseForgeHash": 1441086174, "modrinthHash": "f5f5f792473bb7b85ec221f75c5afb3740afb13a" }, + "Reblured-1.20.1-1.3.0.jar": { + "jarName": "Reblured-1.20.1-1.3.0.jar", + "modId": "reblured", + "version": "1.20.1-1.3.0", + "curseForgeHash": 1448441159, + "modrinthHash": "9acd6f7702418fc77280bcc3c82b8589032d9f34" + }, "resourcefulconfig-forge-1.20.1-2.1.3.jar": { "jarName": "resourcefulconfig-forge-1.20.1-2.1.3.jar", "modId": "resourcefulconfig", @@ -1325,19 +1332,19 @@ "curseForgeHash": 2197810606, "modrinthHash": "7529fbf938787ed13a251cbf40936f8c29ec4b6c" }, - "sophisticatedbackpacks-1.20.1-3.24.12.1411.jar": { - "jarName": "sophisticatedbackpacks-1.20.1-3.24.12.1411.jar", + "sophisticatedbackpacks-1.20.1-3.24.21.1515.jar": { + "jarName": "sophisticatedbackpacks-1.20.1-3.24.21.1515.jar", "modId": "sophisticatedbackpacks", - "version": "3.24.12.1411", - "curseForgeHash": 2442024860, - "modrinthHash": "c6624f4719cfa8c15ef87860570a2748afd715da" + "version": "3.24.21.1515", + "curseForgeHash": 2050984609, + "modrinthHash": "d3977c8262cf2eff9eed7852e3b3a73f7bcdbe9a" }, - "sophisticatedcore-1.20.1-1.2.107.1240.jar": { - "jarName": "sophisticatedcore-1.20.1-1.2.107.1240.jar", + "sophisticatedcore-1.20.1-1.3.2.1468.jar": { + "jarName": "sophisticatedcore-1.20.1-1.3.2.1468.jar", "modId": "sophisticatedcore", - "version": "1.2.107.1240", - "curseForgeHash": 3130924746, - "modrinthHash": "a0a8e69b482e18bc82404c57f868db06d827ffca" + "version": "1.3.2.1468", + "curseForgeHash": 2053827009, + "modrinthHash": "da6fed216fee206c71e8b517197347868774e478" }, "SoulBinding1.20.1(Forge)vs1.0.2.jar": { "jarName": "SoulBinding1.20.1(Forge)vs1.0.2.jar", @@ -1409,12 +1416,12 @@ "curseForgeHash": 2679626739, "modrinthHash": "ea725f5bed9662aa22d4ec089a009bd52fb82275" }, - "TerraFirmaGreg-Core-Modern-0.8.20.jar": { - "jarName": "TerraFirmaGreg-Core-Modern-0.8.20.jar", + "TerraFirmaGreg-Core-Modern-0.8.21.jar": { + "jarName": "TerraFirmaGreg-Core-Modern-0.8.21.jar", "modId": "tfg", - "version": "0.8.20", - "curseForgeHash": 3054155648, - "modrinthHash": "4a31376e9527ba6c70bf9666c308c47b5371e18a" + "version": "0.8.21", + "curseForgeHash": 3989792002, + "modrinthHash": "aa5ce192eee7a877264b036c5ffd2da71bce2807" }, "tfc_gourmet-1.4.3.jar": { "jarName": "tfc_gourmet-1.4.3.jar", From a7a01a96b74738ecb71c7c786383e27e6b75501c Mon Sep 17 00:00:00 2001 From: Nebby <78170922+Nebby1999@users.noreply.github.com> Date: Tue, 10 Feb 2026 08:53:48 -0300 Subject: [PATCH 435/474] High Tier saws can silk harvest ice (#3019) * High Tier saws can silk harvest packed ice * Update changelog --- CHANGELOG.md | 1 + kubejs/client_scripts/tooltips.js | 12 ++++++++++++ kubejs/server_scripts/gregtech/tags.js | 12 ++++++++++++ kubejs/server_scripts/tfc/loot.js | 12 +++++++++++- kubejs/startup_scripts/tfg/constants.js | 18 +++++++++++++++++- 5 files changed, 53 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aa39df6e0..8b653c7c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Unreleased ### Changes +- High Tier saws can Silk Harvest Ice (#3019) @Nebby1999 ### Bug fixes ### Translation updates diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index d4e336e7a..e3870c9b1 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -521,4 +521,16 @@ const registerTooltips = (event) => { event.addAdvanced(['gtceu:ice_bucket'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.cooling_foods')); }) + + // Saw can silk harvest ice + //This kinda sucks, but it works. We're basically getting the default "silk_ice" harvesting tooltip, getting the index, then removing it. + //Then, we insert on that index our custom tooltip that tells the player it harvests ALL ice blocks + event.addAdvanced(['#tfg:silk_harvest_ice'], (item, advanced, text) => { + const sculptorKey = "item.gtceu.tool.behavior.silk_ice"; + let keyToRemove = text.find(tip => tip.toString().indexOf(sculptorKey) != -1); + let indexOf = text.findIndex(tip => tip.toString().indexOf(sculptorKey) != -1); + + text.remove(keyToRemove); + text.add(indexOf, Text.translate("tfg.tooltip.tool_behaviour.silk_ice")); + }) } diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 91ea36295..d2ae45694 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -37,6 +37,18 @@ function registerGTCEUItemTags(event) { event.add("tfc:saws", "#forge:tools/buzzsaws"); event.add("tfc:saws", "#forge:tools/chainsaws"); + const saws = event.get('forge:tools/saws').getObjectIds().concat(event.get('forge:tools/chainsaws').getObjectIds()); + saws.forEach(sawId => + { + const id = sawId.getNamespace() + ":" + sawId.getPath(); + if(global.ICE_SAW_BLACKLIST.includes(id) || Item.of(sawId).hasTag('forge:tools/buzzsaws')) + { + return; + } + + event.add("tfg:silk_harvest_ice", id); + }); + global.GTCEU_CASTING_MOLDS.concat(global.TFG_CASTING_MOLDS).forEach((mold) => { event.add("gtceu:casting_molds", mold); }); diff --git a/kubejs/server_scripts/tfc/loot.js b/kubejs/server_scripts/tfc/loot.js index 5a895445f..50f86efc8 100644 --- a/kubejs/server_scripts/tfc/loot.js +++ b/kubejs/server_scripts/tfc/loot.js @@ -1,6 +1,9 @@ // priority: 0 "use strict"; - +/** + * + * @param {Internal.LootModificationEventJS} event + */ function registerTFCLoots(event) { // Hostile animals @@ -352,8 +355,15 @@ function registerTFCLoots(event) { event.addBlockLootModifier('minecraft:ice') .removeLoot(ItemFilter.ALWAYS_TRUE) + + event.addBlockLootModifier('minecraft:ice') + .not(n => n.matchMainHand("#tfg:silk_harvest_ice")) .addLoot('firmalife:ice_shavings') + event.addBlockLootModifier('minecraft:ice') + .matchMainHand("#tfg:silk_harvest_ice") + .addLoot('minecraft:ice'); + event.addBlockLootModifier('minecraft:packed_ice') .not(n => n.matchMainHand("#forge:tools/saws")) .addWeightedLoot([4, 6], ['firmalife:ice_shavings']) diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index f838803e0..84d16156d 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -251,4 +251,20 @@ global.FISH_INDEX = [ { id: 'tfc:tropical_fish', item: 'tfc:food/tropical_fish', parent: 'tfc:bucket/tropical_fish', dimension: null }, { id: 'tfc:pufferfish', item: 'minecraft:pufferfish', parent: 'tfc:bucket/pufferfish', dimension: null }, { id: 'wan_ancient_beasts:toxlacanth', item: 'wan_ancient_beasts:toxlacanth', parent: 'wan_ancient_beasts:toxlacanth_bucket', dimension: 'ad_astra:mars' } -]; \ No newline at end of file +]; + +/** + * @type {string[]} - Saws unable to silk harvest ice + */ +global.ICE_SAW_BLACKLIST = [ + "gtceu:damascus_steel_saw", + "gtceu:steel_saw", + "gtceu:bronze_saw", + "gtceu:bismuth_bronze_saw", + "gtceu:copper_saw", + "gtceu:cobalt_brass_saw", + "gtceu:black_steel_saw", + "gtceu:black_bronze_saw", + "gtceu:wrought_iron_saw", + "gtceu:invar_saw" +] \ No newline at end of file From 488e0457d9cf276d9dc9eaa3f010e91f02f062ef Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 10 Feb 2026 12:58:26 +0000 Subject: [PATCH 436/474] langs --- kubejs/assets/tfg/lang/en_us.json | 3 ++- kubejs/assets/tfg/lang/zh_cn.json | 19 ++++++++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 52566996d..1227bef7d 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2008,6 +2008,7 @@ "tfg.tooltip.component.refrigerant_pellet": "Can be used as an input in the Fission Reactor to cool it down, requires a Material Holder", "tfg.tooltip.component.sandy_copper_frame": "Can be placed inside a Heat Battery to increase its storage ability", "tfg.tooltip.component.sandy_beryllium_frame": "Can be placed inside a Heat Battery to increase its storage ability", + "tfg.tooltip.tool_behaviour.silk_ice": "§dSculptor+:§r Silk harvests all Ice Blocks", "quests.ae2": "Applied Energistics 2", "quests.ae2.subtitle": "The strongest tool to help you with GregTech, unlocked after your first trip to the moon", "quests.ae2.certus_quartz.title": "Certus Quartz", @@ -5165,7 +5166,7 @@ "quests.tfg_tips.trowel.desc": "A &4Trowel&r is a tool for builders that can &brandomly place blocks&r located in the hotbar. Trowels can also use bricks and other useable items to randomize tiles for &5RNR Roads&r.", "quests.tfg_tips.lunchbox.title": "Lunch Box", "quests.tfg_tips.lunchbox.subtitle": "A refrigerator in your pocket!", - "quests.tfg_tips.lunchbox.desc": "Lunch boxes have 9 slots for food, keeping it cold and longer lasting.\nThe Cooling Lunchbox has a stronger effect than the regular one, but needs to be provided with ice or cells that will thaw over time.", + "quests.tfg_tips.lunchbox.desc": "Lunch boxes have 9 slots for food, keeping it cold and longer lasting.\nThe Cooling Lunchbox has a stronger effect than the regular one, but needs to be provided with ice or cells that will thaw over time.\n\nWhile creating Packed Ice from Ice Shavings might be difficult, if you have a &nsophisticated enough&r saw, you'll be able to silk harvest regular ice directly!", "quests.tfg_tips.lunchbox.task.1": "Any Lunch Box", "quests.tfg_tips.lunchbox.task.2": "Any Ice Block", "quests.tfg_tips.lunchbox.task.3": "Any Cell containing Liquid Ice Slush", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 27c92315c..8372df851 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1191,6 +1191,8 @@ "item.tfg.better_space_suit_fabric": "自适应航天服面料", "item.tfg.universal_compost_browns": "通用棕色堆肥材料", "item.tfg.universal_compost_greens": "通用绿色堆肥材料", + "item.tfg.universal_compost_browns_bag": "通用棕色堆肥材料袋", + "item.tfg.universal_compost_greens_bag": "通用绿色堆肥材料袋", "item.tfg.etching_diamond_tip": "蚀刻钻石钻头", "item.tfg.spade_head_extruder_mold": "模头(锹头)", "item.tfg.mining_hammer_head_extruder_mold": "模头(采矿锤头)", @@ -2089,6 +2091,7 @@ "tfg.tooltip.component.refrigerant_pellet": "可作为裂变反应堆的输入物以冷却反应堆,需要材料支架", "tfg.tooltip.component.sandy_copper_frame": "可放置于储热单元内部以提升其储热能力", "tfg.tooltip.component.sandy_beryllium_frame": "可放置于储热单元内部以提升其储热能力", + "tfg.tooltip.tool_behaviour.silk_ice": "§d雕刻家+:§r 可用精准采集获取冰块", "quests.ae2": "应用能源2", "quests.ae2.subtitle": "协助你挑战格雷科技的最强工具,在首次登月后解锁", "quests.ae2.certus_quartz.title": "赛特斯石英", @@ -2687,6 +2690,8 @@ "quests.extreme_voltage.light_ostrum_vapor.title": "轻质紫金蒸气", "quests.extreme_voltage.light_ostrum_vapor.subtitle": "无限矿石?", "quests.extreme_voltage.light_ostrum_vapor.desc": "借助&6轻质紫金蒸汽&r,你可以开始生产无限矿石,尤其是&c裂变产线&r所需的那几种。无限矿石共有三个等级:\n\n&e电路1&r无法自给自足,但如果你实在厌倦了采矿,它仍能提供帮助。\n\n&e电路2&r可实现&d钍&r的正向产出,这意味着仅通过运行你的&c裂变产线&r,你生产的&d钍&r就会多于消耗的量。\n\n&e电路3&r是最终也是最好的等级,在此等级下,你生成资源的量将超过生产矿石本身所需的消耗;你在&d钍&r和&a铀矿石&r上实现净正向产出,从而能在&4火星&r上完全自动化&c裂变产线&r,获得无限资源、&b纳米CPU&r以及在&2地球&r运行&e裂变能&r所需的一切材料。", + "quests.extreme_voltage.schematic_terminal.subtitle": "当你需要批量建造多方块结构时", + "quests.extreme_voltage.schematic_terminal.desc": "&b蓝图接口&r是一个非常实用的&b终端&r,它可以连接到你的&dME网络&r,允许你保存已经建造好的&e多方块结构&r并完全一致地复现它们。\n\n&e蓝图&r存储在终端内部的图库中,方便你在需要时随时浏览并部署特定的多方块结构。", "quests.gregtech_energy": "格雷科技能源", "quests.gregtech_energy.subtitle": "这一切到底是怎么工作的?", "quests.gregtech_energy.start.title": "让我们做些解释", @@ -2847,7 +2852,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-转底炉*", "quests.gregtech_energy.overclock.task": "所以红色的更快,懂了", "quests.gregtech_energy.blast_oc.title": "高炉超频", "quests.gregtech_energy.blast_oc.subtitle": "你不需要理解这个", @@ -3926,7 +3931,7 @@ "quests.space_survival.solar_panels.task": "任何FE->EU能量转换器", "quests.space_survival.stone_dust_centrifuging.title": "氦-3", "quests.space_survival.stone_dust_centrifuging.subtitle": "小丑气体", - "quests.space_survival.stone_dust_centrifuging.desc.1": "月球充满了&e氦-3&r,这是另一种重要资源,但它被困在石头里!有两种方法可以获取:\n\n1)如果你之前没有建设任何石粉离心自动化,这里有个快速介绍:碎岩机可以生产无限的原石,研磨机将其粉碎成粉供离心机处理。\n\n在月球上,斜长岩、苏长岩和响岩可以被加工成无限的氦-3来源!", + "quests.space_survival.stone_dust_centrifuging.desc.1": "月球充满了&e氦-3&r,这是另一种重要资源,但它被困在石头里!有两种方法可以获取:\n\n1)如果你之前没有建设任何自动化石头生产线,这里有个快速介绍:碎岩机可以生产无限的原石,研磨机将其粉碎成粉供离心机处理。\n\n在月球上,&9皓蓝石&r可以被加工成无限的氦-3来源!", "quests.space_survival.stone_dust_centrifuging.desc.2": "2)使用&9流体钻机&r将其从地下泵出。这种方法更简单,但没有任何有用的副产品。\n\n氦-3有多种用途,其中最重要的是通过&6氦氧混合气-3&r制造更多可呼吸的空气!你也可以在电力温室中将其用作紫颂果的“肥料”,并最终作为聚变能的另一种燃料。", "quests.space_survival.stone_dust_centrifuging.task": "任何石粉", "quests.space_survival.compressed_gases.title": "压缩可呼吸气体", @@ -5196,6 +5201,14 @@ "quests.tfg_tips.cellar_blocks.subtitle": "存放食物的容器", "quests.tfg_tips.cellar_blocks.desc": "&b食物架&r可用于储存几乎所有类型的食物。&b悬挂架&r则专门用于存放&a肉类&r和&a大蒜&r。存放在这些设备中的食物会获得比&d大缸&r更强大的保存效果。", "quests.tfg_tips.cellar_blocks.task": "任何食物架或悬挂架", + "quests.tfg_tips.composter.title": "堆肥桶", + "quests.tfg_tips.composter.subtitle": "将腐烂的农产品变成植物营养!", + "quests.tfg_tips.composter.desc": "&b堆肥桶&r是一个能将某些植物材料转化为&d堆肥&r的方块!这是一种高效的肥料,可以增加植物的&a总产量&r。\n\n堆肥材料分为两种类型:&a绿色堆肥材料&r和&6棕色堆肥材料&r,更多信息请查阅野外指南!", + "quests.tfg_tips.universal_compost.title": "通用堆肥材料", + "quests.tfg_tips.universal_compost.subtitle": "只因它方便省事", + "quests.tfg_tips.universal_compost.desc": "是否厌倦了满箱子的&d堆肥材料&r却分不清谁是谁?通过一些加工,你可以将任何堆肥物品转化为&d&n通用堆肥材料&r!这些通用堆肥材料在对应颜色的堆肥过程中计为&n一件&r物品。\n\n如果你不想因快速操作而患上腕管综合征,可以将四份通用堆肥材料打包成一&d&n袋&r,这些袋子最多堆叠十六个,但在堆肥过程中计为&n四件&r物品。", + "quests.tfg_tips.universal_compost.task.1": "任意颜色的通用堆肥材料", + "quests.tfg_tips.universal_compost.task.2": "任意颜色的通用堆肥材料袋", "quests.tfg_tips.beneath.title": "幽冥之地", "quests.tfg_tips.beneath.subtitle": "地心游记", "quests.tfg_tips.beneath.desc": "在深邃、无比深邃的地底,穿越&d基岩&r之后,你将发现&4幽冥之地&r——一个由巨大洞窟构成的错综网络,其中充满了危险与奇特的动植物。虽然探索&4幽冥之地&r完全可选,但这里蕴藏着大量资源以及一些能够改善生存体验的便利设施。", @@ -5236,7 +5249,7 @@ "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冷藏午餐盒比普通午餐盒效果更强,但需提供冰或随时间解冻的单元。", + "quests.tfg_tips.lunchbox.desc": "午餐盒有9格食物槽,保持冷藏和更长保质期。\n冷藏午餐盒比普通午餐盒效果更强,但需提供冰或随时间解冻的单元。\n\n虽然用冰泥制作浮冰可能有些困难,但如果你有一把&n足够精密&r的锯子,就能直接精准采集普通的冰块了!", "quests.tfg_tips.lunchbox.task.1": "任何午餐盒", "quests.tfg_tips.lunchbox.task.2": "任何冰块", "quests.tfg_tips.lunchbox.task.3": "任何装有液态冰渣的单元", From 27beb07efdcfffefcdf7442fb44d14c5bd5592f3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 10 Feb 2026 13:03:21 +0000 Subject: [PATCH 437/474] pakku update #3025 --- pakku-lock.json | 215 +++++++++++++++++++++++++++++++----------------- 1 file changed, 140 insertions(+), 75 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index fd322905a..31a70dd4b 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -6552,7 +6552,7 @@ "files": [ { "type": "modrinth", - "file_name": "Firmalife-1.20.1-2.1.26.jar", + "file_name": "Firmalife-1.20.1-2.1.27.jar", "mc_versions": [ "1.20.1" ], @@ -6561,22 +6561,22 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/5bKeBHw2/versions/owVJs9G8/Firmalife-1.20.1-2.1.26.jar", - "id": "owVJs9G8", + "url": "https://cdn.modrinth.com/data/5bKeBHw2/versions/lQF2K7o9/Firmalife-1.20.1-2.1.27.jar", + "id": "lQF2K7o9", "parent_id": "5bKeBHw2", "hashes": { - "sha512": "049c2a69eb6364af0e925ee613fff85df2a9b0d3d035eed96351cca1abada7e395f0735ba7d523d0bac9ccfbd9d9bc50c8a977f38721a459341559280fbc2015", - "sha1": "679e75ed6d8180457f0593a1e3f9b0077a1dca9c" + "sha512": "3f5d468fab6534a059f197415774939e81e3b1cff9ee55ab5af417abbb32c61536f72f7bbab29f707e4eef43e64df947127fb0dd8af065636e0db762ab96e4bd", + "sha1": "94075d059dcfc562db2c5199bbe2020b6dcc44d5" }, "required_dependencies": [ "JaCEZUhg" ], - "size": 4669647, - "date_published": "2025-12-31T14:44:50.567174Z" + "size": 4669762, + "date_published": "2026-02-10T01:36:44.244256Z" }, { "type": "curseforge", - "file_name": "Firmalife-1.20.1-2.1.26.jar", + "file_name": "Firmalife-1.20.1-2.1.27.jar", "mc_versions": [ "1.20.1" ], @@ -6585,18 +6585,18 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7400/700/Firmalife-1.20.1-2.1.26.jar", - "id": "7400700", + "url": "https://edge.forgecdn.net/files/7602/336/Firmalife-1.20.1-2.1.27.jar", + "id": "7602336", "parent_id": "453394", "hashes": { - "sha1": "679e75ed6d8180457f0593a1e3f9b0077a1dca9c", - "md5": "8ca3fc3c054741d0d6cc6e1b2070efaa" + "sha1": "94075d059dcfc562db2c5199bbe2020b6dcc44d5", + "md5": "8c7f5d08a7ef146a949e71eb561bd1dd" }, "required_dependencies": [ "302973" ], - "size": 4669647, - "date_published": "2025-12-31T14:44:46.977Z" + "size": 4669762, + "date_published": "2026-02-10T01:36:33.253Z" } ] }, @@ -8098,6 +8098,72 @@ } ] }, + { + "pakku_id": "UVhrbY5yDz1z1o0s", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "itemphysic-guns", + "modrinth": "itemphysicguns" + }, + "name": { + "curseforge": "ItemPhysic Guns", + "modrinth": "ItemPhysic Guns" + }, + "id": { + "curseforge": "1451825", + "modrinth": "P5jUo1gr" + }, + "files": [ + { + "type": "curseforge", + "file_name": "itemphysicguns-1.0.1-7be9442.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7569/17/itemphysicguns-1.0.1-7be9442.jar", + "id": "7569017", + "parent_id": "1451825", + "hashes": { + "sha1": "2a6d58dc8709542e1a70f3619c62ae9865f2de0c", + "md5": "ab64a505d8d65f5247e04058d5d6a574" + }, + "required_dependencies": [], + "size": 21654, + "date_published": "2026-02-03T02:22:59.417Z" + }, + { + "type": "modrinth", + "file_name": "itemphysicguns-1.0.1-7be9442.jar", + "mc_versions": [ + "1.20.1", + "1.20.2", + "1.20.3", + "1.20.4", + "1.20.5", + "1.20.6" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/P5jUo1gr/versions/nnGYsufm/itemphysicguns-1.0.1-7be9442.jar", + "id": "nnGYsufm", + "parent_id": "P5jUo1gr", + "hashes": { + "sha512": "3cad9cdb5fcc44a991b4221060ab8225339b065d2b0cb430a431fa3bbf222563c7df555bb1c57fdca9ddc19566acee1519c6af64a9f473e4f5627e5eb86a2196", + "sha1": "2a6d58dc8709542e1a70f3619c62ae9865f2de0c" + }, + "required_dependencies": [], + "size": 21654, + "date_published": "2026-02-03T07:27:03.548903Z" + } + ] + }, { "pakku_id": "IiVfXdShLIwbXMtg", "type": "MOD", @@ -12186,7 +12252,7 @@ "files": [ { "type": "modrinth", - "file_name": "sophisticatedbackpacks-1.20.1-3.24.21.1515.jar", + "file_name": "sophisticatedbackpacks-1.20.1-3.24.22.1522.jar", "mc_versions": [ "1.20.1" ], @@ -12195,22 +12261,22 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/TyCTlI4b/versions/pDakqvC9/sophisticatedbackpacks-1.20.1-3.24.21.1515.jar", - "id": "pDakqvC9", + "url": "https://cdn.modrinth.com/data/TyCTlI4b/versions/fzw9IP9b/sophisticatedbackpacks-1.20.1-3.24.22.1522.jar", + "id": "fzw9IP9b", "parent_id": "TyCTlI4b", "hashes": { - "sha512": "0e8eb9aecb0fc3fe8678e661449341d835c5e1b6105fec78e24ba832d7a81cdce09e4e9d83928bf31b0bde4626a73a117006aea1f9c7b223fd1f31cd3a4d5c1c", - "sha1": "d3977c8262cf2eff9eed7852e3b3a73f7bcdbe9a" + "sha512": "baa91b6cf81a5116ef86a74e26262f49bc09b959b4fa855073b2389b32defc657d696337ddf1c878ecfb51d7316e352bd93ac242991135ffc2cbf80e89f09369", + "sha1": "8f45fd2067d70cd2a442e34daf454c98cd550bc2" }, "required_dependencies": [ "nmoqTijg" ], - "size": 982869, - "date_published": "2026-02-07T23:50:21.857720Z" + "size": 983238, + "date_published": "2026-02-09T21:35:24.030456Z" }, { "type": "curseforge", - "file_name": "sophisticatedbackpacks-1.20.1-3.24.21.1515.jar", + "file_name": "sophisticatedbackpacks-1.20.1-3.24.22.1522.jar", "mc_versions": [ "1.20.1" ], @@ -12219,18 +12285,18 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7591/542/sophisticatedbackpacks-1.20.1-3.24.21.1515.jar", - "id": "7591542", + "url": "https://edge.forgecdn.net/files/7601/319/sophisticatedbackpacks-1.20.1-3.24.22.1522.jar", + "id": "7601319", "parent_id": "422301", "hashes": { - "sha1": "99338287d94ad2d6d8009377b8d48b4c035bc24e", - "md5": "a5389a3d9e7cbe1516d905522d6387ed" + "sha1": "b6d9921865881151e2fba5522759b65958e20a16", + "md5": "389fc4fc01dc4c12bb1b623aa9653a29" }, "required_dependencies": [ "618298" ], - "size": 982868, - "date_published": "2026-02-07T23:49:37.670Z" + "size": 983238, + "date_published": "2026-02-09T21:34:41.257Z" } ] }, @@ -12253,7 +12319,7 @@ "files": [ { "type": "modrinth", - "file_name": "sophisticatedcore-1.20.1-1.3.2.1468.jar", + "file_name": "sophisticatedcore-1.20.1-1.3.3.1475.jar", "mc_versions": [ "1.20.1" ], @@ -12262,20 +12328,20 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/nmoqTijg/versions/G9fQw1uz/sophisticatedcore-1.20.1-1.3.2.1468.jar", - "id": "G9fQw1uz", + "url": "https://cdn.modrinth.com/data/nmoqTijg/versions/KVp0iD0P/sophisticatedcore-1.20.1-1.3.3.1475.jar", + "id": "KVp0iD0P", "parent_id": "nmoqTijg", "hashes": { - "sha512": "7c3346d320a0c8f7b96a1b54e822911ec90dbf789408bb3d3ae57484e7f996a222bab5f9db476bd648085688f988b6396d44a6e3d989cc87870de1b7d1edc792", - "sha1": "da6fed216fee206c71e8b517197347868774e478" + "sha512": "f63d91169d9bb4d9a51cb932e5cfc30f73586298f906f48fd40427f62cbeb8094b9365c90e7a96a9ecf261bb22b67235f5860a3867a9a0feef8672a7276ec1ed", + "sha1": "6af0914cb934305756ee32f061825bde9e6c78b5" }, "required_dependencies": [], - "size": 1418715, - "date_published": "2026-02-07T23:41:28.855893Z" + "size": 1418928, + "date_published": "2026-02-09T21:30:50.605695Z" }, { "type": "curseforge", - "file_name": "sophisticatedcore-1.20.1-1.3.2.1468.jar", + "file_name": "sophisticatedcore-1.20.1-1.3.3.1475.jar", "mc_versions": [ "1.20.1" ], @@ -12284,16 +12350,16 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7591/502/sophisticatedcore-1.20.1-1.3.2.1468.jar", - "id": "7591502", + "url": "https://edge.forgecdn.net/files/7601/298/sophisticatedcore-1.20.1-1.3.3.1475.jar", + "id": "7601298", "parent_id": "618298", "hashes": { - "sha1": "e3fd8173b8aa02c8f6e2fc88e0f2c0167106bd45", - "md5": "4337b65779330e9945bcb5efddfdb6a5" + "sha1": "a642147cbbd1f63e5bc0dfc94bc43d571cc1067f", + "md5": "4e4594226e1cbc4699078ea7b1cdab9d" }, "required_dependencies": [], - "size": 1418715, - "date_published": "2026-02-07T23:40:46.057Z" + "size": 1418928, + "date_published": "2026-02-09T21:30:14.277Z" } ] }, @@ -13217,27 +13283,26 @@ }, { "type": "curseforge", - "file_name": "tfclunchbox-1.20.1-1.0.0.28.jar", + "file_name": "tfclunchbox-1.20.1-1.0.0.29.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "forge", - "neoforge" + "forge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7492/687/tfclunchbox-1.20.1-1.0.0.28.jar", - "id": "7492687", + "url": "https://edge.forgecdn.net/files/7603/117/tfclunchbox-1.20.1-1.0.0.29.jar", + "id": "7603117", "parent_id": "1283445", "hashes": { - "sha1": "7894fbb87bc561b7c186ec9f3997118b953659d0", - "md5": "4ff015e8a9a54a81dcbe8f29bbcf84b4" + "sha1": "251e6d19e7f75f1b6f0b46fbc01f04b313952b0e", + "md5": "091b70180720df7f0eed47aa9d824f47" }, "required_dependencies": [ "302973" ], - "size": 132712, - "date_published": "2026-01-20T05:47:48.063Z" + "size": 133088, + "date_published": "2026-02-10T07:34:13.660Z" } ] }, @@ -13261,6 +13326,30 @@ "modrinth": "hupCZlMO" }, "files": [ + { + "type": "modrinth", + "file_name": "TFC_punishment_for_death-1.20.1-1.0.0.15.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/hupCZlMO/versions/gtHljjr3/TFC_punishment_for_death-1.20.1-1.0.0.15.jar", + "id": "gtHljjr3", + "parent_id": "hupCZlMO", + "hashes": { + "sha512": "792f01eacd58e4bd2d3bf9457f50af6fe9c734d2e4fd8d3d2c649a4eaea15e7f76ecb67f1f476d4b836e7809a48b18dc6081e345eea8fec27f2448b1df325d71", + "sha1": "7140887272d82f0a28734a4a1ff9e7d0a99ff25f" + }, + "required_dependencies": [ + "JaCEZUhg" + ], + "size": 35724, + "date_published": "2025-10-16T11:26:01.367587Z" + }, { "type": "curseforge", "file_name": "TFC_punishment_for_death-1.20.1-1.0.0.15.jar", @@ -13284,30 +13373,6 @@ ], "size": 35724, "date_published": "2025-10-14T10:10:08.493Z" - }, - { - "type": "modrinth", - "file_name": "TFC_punishment_for_death-1.20.1-1.0.0.15.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "beta", - "url": "https://cdn.modrinth.com/data/hupCZlMO/versions/lAz6Jz59/TFC_punishment_for_death-1.20.1-1.0.0.15.jar", - "id": "lAz6Jz59", - "parent_id": "hupCZlMO", - "hashes": { - "sha512": "285289bbe30b8dfd3c5f1093bfdb9bbea008053ef2b1ceefbd6562304e5335f9feb59fb4e359acaf0776dc9825e652daaf558a75254caad9cfed21d3f9fb1a39", - "sha1": "0c7ff3607981f60970fdf85ee52c7e50ad9f5fcd" - }, - "required_dependencies": [ - "JaCEZUhg" - ], - "size": 34133, - "date_published": "2025-07-15T13:40:22.577013Z" } ] }, From dfd673c36950593313d54dfc384238d9ff163f91 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 10 Feb 2026 14:07:06 +0000 Subject: [PATCH 438/474] cleaned up a bunch of regexes --- kubejs/server_scripts/firmalife/recipes.js | 4 +- kubejs/server_scripts/greate/recipes.js | 47 -------- .../server_scripts/greate/recipes.removes.js | 16 +-- kubejs/server_scripts/tfc/recipes.removes.js | 14 ++- .../tfg/powergen/recipes.boiler.js | 103 +++++++++++------- kubejs/startup_scripts/tfc/constants.js | 32 ++++++ 6 files changed, 111 insertions(+), 105 deletions(-) diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index e1e4ba600..bd07ce3db 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -44,7 +44,9 @@ const registerFirmaLifeRecipes = (event) => { event.remove({ id: 'firmalife:heating/metal/stainless_steel_block_slab' }) event.remove({ id: 'firmalife:heating/metal/stainless_steel_block_stairs' }) - event.remove({ id: /^firmalife:crafting\/.*_dough/ }) + global.TFC_DOUGHS.forEach(dough => { + event.remove({ id: `firmalife:crafting/${dough}_dough` }) + }) event.remove({ id: 'firmalife:pot/chocolate' }) diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js index cdce0215e..4d4aa5fcf 100644 --- a/kubejs/server_scripts/greate/recipes.js +++ b/kubejs/server_scripts/greate/recipes.js @@ -88,29 +88,7 @@ function registerGreateRecipes(event) { // #region Gearboxes global.AVAILABLE_GREATE_MATERIAL_TIERS.forEach(tier => { - - event.shaped(`greate:${tier}_gearbox`, [ - ' A ', - 'ABA', - 'CA ' - ], { - A: `greate:${tier}_shaft`, - B: 'create:andesite_casing', - C: '#forge:tools/wrenches' - }).id(`tfg:shaped/${tier}_gearbox`) - - event.shaped(`greate:${tier}_vertical_gearbox`, [ - 'A A', - ' B ', - 'ACA' - ], { - A: `greate:${tier}_shaft`, - B: 'create:andesite_casing', - C: '#forge:tools/wrenches' - }).id(`tfg:shaped/${tier}_vertical_gearbox`) - event.shapeless(`greate:${tier}_gearbox`, [`greate:${tier}_vertical_gearbox`]) - event.shapeless(`greate:${tier}_vertical_gearbox`, [`greate:${tier}_gearbox`]) event.recipes.gtceu.assembler(`greate:${tier}_gearbox`) .itemInputs('create:andesite_casing', `4x greate:${tier}_shaft`) @@ -1122,31 +1100,6 @@ function registerGreateRecipes(event) { // #endregion - event.recipes.gtceu.shaped('greate:wire_coating_factory', [ - 'ABA', - 'CDC', - 'ABA' - ], { - A: 'gtceu:watertight_casing', - B: '#gtceu:circuits/iv', - C: 'gtceu:iv_electric_pump', - D: 'create:spout' - }).addMaterialInfo().id('tfg:shaped/toms_favourite_block') - - event.shaped(`2x greate:treated_wood_window`, [ - 'BAB', - ' B ' - ], { - A: '#forge:glass', - B: 'gtceu:treated_wood_planks' - }).id(`tfg:greate/shaped/treated_wood_window`) - - event.shapeless(`2x greate:treated_wood_window_pane`, - [ - `greate:treated_wood_window`, - '#forge:tools/saws' - ]).id('tfg:greate/shapeless/treated_wood_window_pane') - event.recipes.gtceu.cutter(`tfg:greate/greate:treated_wood_window_pane`) .itemInputs(`3x greate:treated_wood_window`) .itemOutputs(`8x greate:treated_wood_window_pane`) diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index fbac8a351..a55dbed2e 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -55,17 +55,11 @@ function removeGreateRecipes(event) { event.remove({ id: 'gtceu:shaped/andesite_alloy_shaft' }) event.remove({ id: 'gtceu:extractor/extract_andesite_alloy' }) - - event.remove({ id: /^greate:mixing\/integration\/create\/.*/ }) - event.remove({ id: /^greate:sawing\/integration\/create\/.*/ }) - event.remove({ id: /^greate:splashing\/integration\/create\/.*/ }) - event.remove({ id: /^greate:crushing\/integration\/create\/.*/ }) - event.remove({ id: /^greate:milling\/integration\/create\/.*/ }) - event.remove({ id: /^greate:compacting\/integration\/.*/ }) - event.remove({ id: /^greate:pressing\/integration\/.*/ }) - event.remove({ id: /^greate:shaped\/.*/ }) - event.remove({ id: /^greate:shapeless\/.*/ }) + event.remove({ id: /^greate:(mixing|sawing|splashing|crushing|milling)\/integration\/(create|createaddition|vintageimprovements)\/.*/ }) + event.remove({ id: /^greate:(compacting|pressing)\/integration\/.*/ }) + + event.remove({ mod: 'greate', type: 'minecraft:crafting_shapeless' }) event.remove({ mod: 'greate', type: 'create:deploying' }); event.remove({ mod: 'greate', type: 'create:sequenced_assembly' }); event.remove({ mod: 'greate', type: 'gtceu:assembler' }); @@ -85,8 +79,6 @@ function removeGreateRecipes(event) { event.remove({ id: 'greate:milling/integration/gtceu/macerator/quartz_sand_from_sand' }) event.remove({ id: 'greate:mixing/brass_ingot' }) - event.remove({ id: /^greate:.*\/integration\/createaddition/ }) - event.remove({ id: /^greate:.*\/integration\/vintageimprovements/ }) event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_phosphorus_boule' }) event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_phosphorus_boule_water' }) diff --git a/kubejs/server_scripts/tfc/recipes.removes.js b/kubejs/server_scripts/tfc/recipes.removes.js index 90f5266bc..985346d0a 100644 --- a/kubejs/server_scripts/tfc/recipes.removes.js +++ b/kubejs/server_scripts/tfc/recipes.removes.js @@ -11,9 +11,11 @@ function removeTFCRecipes(event) { event.remove({ id: /tfc:heating\/metal\/*/ }) event.remove({ id: /tfc:heating\/ore\/*/ }) - event.remove({ id: /tfc:crafting\/metal\/block\/*/ }) - event.remove({ id: /tfc:crafting\/metal\/block\/*_stairs/ }) - event.remove({ id: /tfc:crafting\/metal\/block\/*_slab/ }) + global.TFC_METALS.forEach(metal => { + event.remove({ id: `tfc:crafting/metal/block/${metal}` }) + event.remove({ id: `tfc:crafting/metal/block/${metal}_stairs` }) + event.remove({ id: `tfc:crafting/metal/block/${metal}_slab` }) + }) // #region Удаление рецептов event.remove({ id: 'tfc:quern/amethyst' }) @@ -121,7 +123,11 @@ function removeTFCRecipes(event) { event.remove({ id: 'tfc:crafting/pumpkin_chunks' }) event.remove({ id: 'tfc:crafting/alabaster_brick' }) - event.remove({ id: /^tfc:crafting\/dough\/.*/ }) + global.TFC_DOUGHS.forEach(dough => { + for (let i = 1; i <= 8; i++) { + event.remove({ id: `tfc:crafting/dough/${dough}_dough_${i}` }) + } + }) event.remove({ id: 'tfc:heating/destroy_bread' }) event.remove({ id: 'tfc:crafting/gunpowder_graphite' }) diff --git a/kubejs/server_scripts/tfg/powergen/recipes.boiler.js b/kubejs/server_scripts/tfg/powergen/recipes.boiler.js index 0ca747411..81eaaf6a0 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.boiler.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.boiler.js @@ -2,47 +2,68 @@ function registerTFGBoilerRecipes(event) { - //Remove boiler recipes that are unlikely to be used and pollute the recipe tab (most everything excluding coke/charcoal) - event.remove({ id: /gtceu:....._boiler\/mcw.+/ }) - event.remove({ id: /gtceu:....._boiler\/.*button.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*trapdoor.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*banner.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*wool.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*fence.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*treated.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*cardboard.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*pressure_plate.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*carpet.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*stairs.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*sign.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*door.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*planks.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*slab.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*biomass.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*bio_chaff.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*chest.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*bundle.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*lectern.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*cartography.*/}) - event.remove({ id: /gtceu:....._boiler\/.*ladder.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*crossbow.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*jukebox.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*resin.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*daylight_detector.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*bow.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*scaffolding.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*loom.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*bowl.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*sticky_resin.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*plant_ball.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*note_block.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*smithing_table.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*fiberboard.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*wood.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*sapling.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*log.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*stem.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*mosaic.*/ }) + function removeBoilerRecipe(id) { + event.remove({ id: `gtceu:steam_boiler/${id}` }) + event.remove({ id: `gtceu:large_boiler/${id}` }) + } + + removeBoilerRecipe('minecraft_chest') + removeBoilerRecipe('minecraft_cartography_table') + removeBoilerRecipe('minecraft_smithing_table') + removeBoilerRecipe('minecraft_note_block') + removeBoilerRecipe('minecraft_crossbow') + removeBoilerRecipe('minecraft_lectern') + removeBoilerRecipe('minecraft_daylight_detector') + removeBoilerRecipe('minecraft_ladder') + removeBoilerRecipe('minecraft_bamboo_mosaic') + removeBoilerRecipe('minecraft_bamboo_mosaic_slab') + removeBoilerRecipe('minecraft_bamboo_mosaic_stairs') + removeBoilerRecipe('minecraft_bow') + removeBoilerRecipe('minecraft_bowl') + removeBoilerRecipe('minecraft_scaffolding') + removeBoilerRecipe('minecraft_cartography_table') + removeBoilerRecipe('minecraft_jukebox') + removeBoilerRecipe('minecraft_loom') + removeBoilerRecipe('minecraft_bamboo') + removeBoilerRecipe('minecraft_stick') + removeBoilerRecipe('create_cardboard') + removeBoilerRecipe('create_cardboard_block') + removeBoilerRecipe('create_bound_cardboard_block') + removeBoilerRecipe('create_cardboard_sword') + removeBoilerRecipe('create_cardboard_helmet') + removeBoilerRecipe('create_cardboard_chestplate') + removeBoilerRecipe('create_cardboard_leggings') + removeBoilerRecipe('create_cardboard_boots') + removeBoilerRecipe('gtceu_bio_chaff') + removeBoilerRecipe('gtceu_plant_ball') + removeBoilerRecipe('gtceu_wood_plate') + removeBoilerRecipe('gtceu_treated_wood_plate') + removeBoilerRecipe('gtceu_sticky_resin') + removeBoilerRecipe('gtceu_small_wood_dust') + removeBoilerRecipe('gtceu_small_treated_wood_dust') + removeBoilerRecipe('gtceu_tiny_wood_dust') + removeBoilerRecipe('gtceu_tiny_treated_wood_dust') + removeBoilerRecipe('gtceu_wood_bolt') + removeBoilerRecipe('gtceu_wood_frame') + removeBoilerRecipe('gtceu_wood_screw') + removeBoilerRecipe('gtceu_treated_wood_rod') + removeBoilerRecipe('gtceu_treated_wood_frame') + removeBoilerRecipe('gtceu_long_wood_rod') + removeBoilerRecipe('gtceu_long_treated_wood_rod') + removeBoilerRecipe('gtceu_small_wood_gear') + removeBoilerRecipe('gtceu_wood_gear') + removeBoilerRecipe('gtceu_wood_dust') + removeBoilerRecipe('gtceu_treated_wood_dust') + removeBoilerRecipe('gtceu_small_coke_dust') + removeBoilerRecipe('gtceu_small_charcoal_dust') + removeBoilerRecipe('gtceu_small_coal_dust') + removeBoilerRecipe('gtceu_tiny_coke_dust') + removeBoilerRecipe('gtceu_tiny_coal_dust') + removeBoilerRecipe('gtceu_tiny_charcoal_dust') + removeBoilerRecipe('gtceu_pure_coal_dust') + removeBoilerRecipe('gtceu_impure_coal_dust') + removeBoilerRecipe('createaddition_biomass_pellet') + removeBoilerRecipe('createaddition_biomass_pellet_block') //Re-add some recipes to the boiler under tags event.recipes.gtceu.steam_boiler('tfg:logs') diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index 19a876b1c..40db9006e 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -954,6 +954,38 @@ global.TFC_EQUIPMENT_METALS = /** @type {const} */ ([ "blue_steel" ]); +global.TFC_METALS = /** @type {const} */ ([ + "copper", + "bismuth_bronze", + "bronze", + "black_bronze", + "wrought_iron", + "steel", + "black_steel", + "red_steel", + "blue_steel", + + "bismuth", + "brass", + "gold", + "rose_gold", + "silver", + "sterling_silver", + "nickel", + "zinc", + "tin", + "cast_iron" +]); + +global.TFC_DOUGHS = /** @type {const} */ ([ + "barley", + "maize", + "oat", + "rye", + "rice", + "wheat" +]); + global.TFC_BIOMES = /** @type {const} */ ([ 'tfc:badlands', 'tfc:canyons', From 06491bbca36ed0a8b099fe47ac1c21cf3a658e52 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 10 Feb 2026 14:09:43 +0000 Subject: [PATCH 439/474] add replaceable tag to sand piles and loose rocks --- .../tfg/worldgen/tags.general_worldgen.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/kubejs/server_scripts/tfg/worldgen/tags.general_worldgen.js b/kubejs/server_scripts/tfg/worldgen/tags.general_worldgen.js index 6a8a9aeb9..0505b0095 100644 --- a/kubejs/server_scripts/tfg/worldgen/tags.general_worldgen.js +++ b/kubejs/server_scripts/tfg/worldgen/tags.general_worldgen.js @@ -96,4 +96,22 @@ function registerTFGGeneralWorldgenBlockTags(event) { event.add('minecraft:mineable/shovel', 'tfg:pile/mars_sand_covering') event.add('minecraft:mineable/shovel', 'tfg:pile/venus_sand_covering') event.add('minecraft:mineable/shovel', 'tfg:pile/hematitic_sand_covering') + + event.add('minecraft:replaceable', 'tfg:ash_pile') + event.add('minecraft:replaceable', 'tfg:pile/black_sand') + event.add('minecraft:replaceable', 'tfg:pile/white_sand') + event.add('minecraft:replaceable', 'tfg:pile/brown_sand') + event.add('minecraft:replaceable', 'tfg:pile/red_sand') + event.add('minecraft:replaceable', 'tfg:pile/yellow_sand') + event.add('minecraft:replaceable', 'tfg:pile/pink_sand') + event.add('minecraft:replaceable', 'tfg:pile/green_sand') + event.add('minecraft:replaceable', 'tfg:pile/moon_sand') + event.add('minecraft:replaceable', 'tfg:pile/mars_sand') + event.add('minecraft:replaceable', 'tfg:pile/venus_sand') + event.add('minecraft:replaceable', 'tfg:pile/hematitic_sand') + event.add('minecraft:replaceable', 'tfg:pile/mars_sand_covering') + event.add('minecraft:replaceable', 'tfg:pile/venus_sand_covering') + event.add('minecraft:replaceable', 'tfg:pile/hematitic_sand_covering') + + event.add('minecraft:replaceable', '#tfc:loose_rocks') } From 9e3fcbf698da2e41cf08cc0d78adf36447f3797e Mon Sep 17 00:00:00 2001 From: Xikaro Date: Wed, 11 Feb 2026 20:58:43 +0500 Subject: [PATCH 440/474] Update pakku-lock.json --- pakku-lock.json | 325 +++++++++++++++++++++++++----------------------- 1 file changed, 166 insertions(+), 159 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 31a70dd4b..628351e89 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -1510,7 +1510,7 @@ ] }, { - "pakku_id": "vcmbP1ZpBZtFq3zT", + "pakku_id": "SO7aqiaUhKMExaPk", "type": "MOD", "side": "BOTH", "slug": { @@ -1526,28 +1526,6 @@ "modrinth": "MBAkmtvl" }, "files": [ - { - "type": "modrinth", - "file_name": "balm-forge-1.20.1-7.3.38-all.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/MBAkmtvl/versions/8rz04Kha/balm-forge-1.20.1-7.3.38-all.jar", - "id": "8rz04Kha", - "parent_id": "MBAkmtvl", - "hashes": { - "sha512": "7b7e100a9de75750e402ecc1e2d1c88bf2f16fa1cf095656d87918d37a0472f163b0c6242c68b38285410513ff6a66b31c5620139c2901e7b235657027c71f50", - "sha1": "c689f4cbe1a5250177aced15b66ca251d9476d35" - }, - "required_dependencies": [], - "size": 591398, - "date_published": "2026-01-05T11:43:40.856151Z" - }, { "type": "curseforge", "file_name": "balm-forge-1.20.1-7.3.38-all.jar", @@ -1569,6 +1547,28 @@ "required_dependencies": [], "size": 591397, "date_published": "2026-01-05T11:43:31.017Z" + }, + { + "type": "modrinth", + "file_name": "balm-forge-1.20.1-7.3.38-all.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/MBAkmtvl/versions/8rz04Kha/balm-forge-1.20.1-7.3.38-all.jar", + "id": "8rz04Kha", + "parent_id": "MBAkmtvl", + "hashes": { + "sha512": "7b7e100a9de75750e402ecc1e2d1c88bf2f16fa1cf095656d87918d37a0472f163b0c6242c68b38285410513ff6a66b31c5620139c2901e7b235657027c71f50", + "sha1": "c689f4cbe1a5250177aced15b66ca251d9476d35" + }, + "required_dependencies": [], + "size": 591398, + "date_published": "2026-01-05T11:43:40.856151Z" } ] }, @@ -2547,7 +2547,7 @@ { "pakku_id": "Zx4piwuLwghFhuAX", "pakku_links": [ - "vcmbP1ZpBZtFq3zT" + "SO7aqiaUhKMExaPk" ], "type": "MOD", "side": "CLIENT", @@ -3379,6 +3379,9 @@ }, { "pakku_id": "iVxwBkSQPuiTe33a", + "pakku_links": [ + "SO7aqiaUhKMExaPk" + ], "type": "MOD", "side": "BOTH", "slug": { @@ -4507,6 +4510,9 @@ }, { "pakku_id": "EZsypKHb95KeyzBH", + "pakku_links": [ + "SO7aqiaUhKMExaPk" + ], "type": "MOD", "side": "CLIENT", "slug": { @@ -5670,7 +5676,7 @@ "e7thBe1Z6fvyxUtU" ], "type": "MOD", - "side": "CLIENT", + "side": "BOTH", "slug": { "curseforge": "ftb-backups-2" }, @@ -10812,7 +10818,7 @@ "3Hn4sTVbBvKyQJJS" ], "type": "MOD", - "side": "BOTH", + "side": "CLIENT", "slug": { "curseforge": "pick-up-notifier", "modrinth": "pick-up-notifier" @@ -11570,7 +11576,7 @@ ] }, { - "pakku_id": "zOlM6hm7KZ1BAq5R", + "pakku_id": "UpEaVE3mg5AhC7jF", "pakku_links": [ "64uacGcEw697jVGs" ], @@ -11589,6 +11595,30 @@ "modrinth": "PhnM3Lkv" }, "files": [ + { + "type": "curseforge", + "file_name": "Sacks 'N Such-1.20.1-1.2.4.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6965/231/Sacks 'N Such-1.20.1-1.2.4.jar", + "id": "6965231", + "parent_id": "695822", + "hashes": { + "sha1": "9819909ff38f14408e313998d225e986333d52b7", + "md5": "80004a900325176c2ff9427198dedb42" + }, + "required_dependencies": [ + "302973" + ], + "size": 1239847, + "date_published": "2025-09-05T08:32:46.673Z" + }, { "type": "modrinth", "file_name": "Sacks 'N Such-1.20.1-1.2.4.jar", @@ -11613,30 +11643,6 @@ ], "size": 1239847, "date_published": "2025-09-05T08:32:48.466815Z" - }, - { - "type": "curseforge", - "file_name": "Sacks 'N Such-1.20.1-1.2.4.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6965/231/Sacks 'N Such-1.20.1-1.2.4.jar", - "id": "6965231", - "parent_id": "695822", - "hashes": { - "sha1": "9819909ff38f14408e313998d225e986333d52b7", - "md5": "80004a900325176c2ff9427198dedb42" - }, - "required_dependencies": [ - "302973" - ], - "size": 1239847, - "date_published": "2025-09-05T08:32:46.673Z" } ] }, @@ -12231,9 +12237,9 @@ ] }, { - "pakku_id": "mUY7a1f4DIhjgXtQ", + "pakku_id": "mLAPxOFbEvrViUwr", "pakku_links": [ - "Foe7A2QXIKlyEHbt" + "cbx8emJRuJJO4g0l" ], "type": "MOD", "side": "BOTH", @@ -12250,33 +12256,9 @@ "modrinth": "TyCTlI4b" }, "files": [ - { - "type": "modrinth", - "file_name": "sophisticatedbackpacks-1.20.1-3.24.22.1522.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/TyCTlI4b/versions/fzw9IP9b/sophisticatedbackpacks-1.20.1-3.24.22.1522.jar", - "id": "fzw9IP9b", - "parent_id": "TyCTlI4b", - "hashes": { - "sha512": "baa91b6cf81a5116ef86a74e26262f49bc09b959b4fa855073b2389b32defc657d696337ddf1c878ecfb51d7316e352bd93ac242991135ffc2cbf80e89f09369", - "sha1": "8f45fd2067d70cd2a442e34daf454c98cd550bc2" - }, - "required_dependencies": [ - "nmoqTijg" - ], - "size": 983238, - "date_published": "2026-02-09T21:35:24.030456Z" - }, { "type": "curseforge", - "file_name": "sophisticatedbackpacks-1.20.1-3.24.22.1522.jar", + "file_name": "sophisticatedbackpacks-1.20.1-3.24.23.1529.jar", "mc_versions": [ "1.20.1" ], @@ -12285,23 +12267,47 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7601/319/sophisticatedbackpacks-1.20.1-3.24.22.1522.jar", - "id": "7601319", + "url": "https://edge.forgecdn.net/files/7608/120/sophisticatedbackpacks-1.20.1-3.24.23.1529.jar", + "id": "7608120", "parent_id": "422301", "hashes": { - "sha1": "b6d9921865881151e2fba5522759b65958e20a16", - "md5": "389fc4fc01dc4c12bb1b623aa9653a29" + "sha1": "8d0f0be50453ec3ced2f1429cee4ccfcc5b38af7", + "md5": "6b0e1d5af13159ca9c306e10b4abc416" }, "required_dependencies": [ "618298" ], - "size": 983238, - "date_published": "2026-02-09T21:34:41.257Z" + "size": 983560, + "date_published": "2026-02-11T08:20:34.637Z" + }, + { + "type": "modrinth", + "file_name": "sophisticatedbackpacks-1.20.1-3.24.23.1529.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/TyCTlI4b/versions/iVVqwvp2/sophisticatedbackpacks-1.20.1-3.24.23.1529.jar", + "id": "iVVqwvp2", + "parent_id": "TyCTlI4b", + "hashes": { + "sha512": "359bd078e4e23ef9a1ab781bc09d1e340df072878e27c6394f1388678aa18fcbdd4edf0a78759fe5cdd1cfd2a4ec3b09954b3c2e12e22918a5c55e4d8a3aa0f1", + "sha1": "d6fa8d95ee29aeab6e582fdeff0c31e64a6be111" + }, + "required_dependencies": [ + "nmoqTijg" + ], + "size": 983559, + "date_published": "2026-02-11T08:21:15.204132Z" } ] }, { - "pakku_id": "Foe7A2QXIKlyEHbt", + "pakku_id": "cbx8emJRuJJO4g0l", "type": "MOD", "side": "BOTH", "slug": { @@ -12317,31 +12323,9 @@ "modrinth": "nmoqTijg" }, "files": [ - { - "type": "modrinth", - "file_name": "sophisticatedcore-1.20.1-1.3.3.1475.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/nmoqTijg/versions/KVp0iD0P/sophisticatedcore-1.20.1-1.3.3.1475.jar", - "id": "KVp0iD0P", - "parent_id": "nmoqTijg", - "hashes": { - "sha512": "f63d91169d9bb4d9a51cb932e5cfc30f73586298f906f48fd40427f62cbeb8094b9365c90e7a96a9ecf261bb22b67235f5860a3867a9a0feef8672a7276ec1ed", - "sha1": "6af0914cb934305756ee32f061825bde9e6c78b5" - }, - "required_dependencies": [], - "size": 1418928, - "date_published": "2026-02-09T21:30:50.605695Z" - }, { "type": "curseforge", - "file_name": "sophisticatedcore-1.20.1-1.3.3.1475.jar", + "file_name": "sophisticatedcore-1.20.1-1.3.3.1482.jar", "mc_versions": [ "1.20.1" ], @@ -12350,16 +12334,38 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7601/298/sophisticatedcore-1.20.1-1.3.3.1475.jar", - "id": "7601298", + "url": "https://edge.forgecdn.net/files/7606/268/sophisticatedcore-1.20.1-1.3.3.1482.jar", + "id": "7606268", "parent_id": "618298", "hashes": { - "sha1": "a642147cbbd1f63e5bc0dfc94bc43d571cc1067f", - "md5": "4e4594226e1cbc4699078ea7b1cdab9d" + "sha1": "c907a909351a870d75b3105cd4ec6c8f77b0f259", + "md5": "530785fca963155074190a5e62bd5eba" }, "required_dependencies": [], - "size": 1418928, - "date_published": "2026-02-09T21:30:14.277Z" + "size": 1418354, + "date_published": "2026-02-10T22:49:26.660Z" + }, + { + "type": "modrinth", + "file_name": "sophisticatedcore-1.20.1-1.3.3.1482.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/nmoqTijg/versions/cVOCSbHK/sophisticatedcore-1.20.1-1.3.3.1482.jar", + "id": "cVOCSbHK", + "parent_id": "nmoqTijg", + "hashes": { + "sha512": "7262d8acb2441c9654fccf6594e085ff4ae8e605c9fb2db087c55ad2a1debb00cc5b9c5b1f80053f6024c7da3dfabed16c5228423b7d730d83c018c904204aa8", + "sha1": "fc741821d5f18c61d6d54363d59e42e89942496d" + }, + "required_dependencies": [], + "size": 1418354, + "date_published": "2026-02-10T22:50:14.650218Z" } ] }, @@ -12400,7 +12406,7 @@ ] }, { - "pakku_id": "ztIkqvZk37z4FIED", + "pakku_id": "aX6m0L6BUdr6wRaN", "type": "MOD", "side": "CLIENT", "slug": { @@ -12416,27 +12422,6 @@ "modrinth": "qyVF9oeo" }, "files": [ - { - "type": "modrinth", - "file_name": "sound-physics-remastered-forge-1.20.1-1.5.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "alpha", - "url": "https://cdn.modrinth.com/data/qyVF9oeo/versions/x0sJ9PeR/sound-physics-remastered-forge-1.20.1-1.5.1.jar", - "id": "x0sJ9PeR", - "parent_id": "qyVF9oeo", - "hashes": { - "sha512": "5509a7b51ec1d57aae2af0a0200bda474539fcfe28303f3ff0158ba95b8e7a88ae023d8a9bd97d4626a6a8ce809506e19cdcb05b76e8be5bf8a0450c5d6a46b1", - "sha1": "944b4673bcab118f411d050b2cd6b693262bb664" - }, - "required_dependencies": [], - "size": 206984, - "date_published": "2025-09-25T14:25:25.304739Z" - }, { "type": "curseforge", "file_name": "sound-physics-remastered-forge-1.20.1-1.5.1.jar", @@ -12457,11 +12442,32 @@ "required_dependencies": [], "size": 206984, "date_published": "2025-09-25T14:25:13.323Z" + }, + { + "type": "modrinth", + "file_name": "sound-physics-remastered-forge-1.20.1-1.5.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "alpha", + "url": "https://cdn.modrinth.com/data/qyVF9oeo/versions/x0sJ9PeR/sound-physics-remastered-forge-1.20.1-1.5.1.jar", + "id": "x0sJ9PeR", + "parent_id": "qyVF9oeo", + "hashes": { + "sha512": "5509a7b51ec1d57aae2af0a0200bda474539fcfe28303f3ff0158ba95b8e7a88ae023d8a9bd97d4626a6a8ce809506e19cdcb05b76e8be5bf8a0450c5d6a46b1", + "sha1": "944b4673bcab118f411d050b2cd6b693262bb664" + }, + "required_dependencies": [], + "size": 206984, + "date_published": "2025-09-25T14:25:25.304739Z" } ] }, { - "pakku_id": "dI6jxGUklcstU9uh", + "pakku_id": "SiK0JwpQyZ5aSB0v", "type": "MOD", "side": "BOTH", "slug": { @@ -12476,29 +12482,8 @@ "curseforge": "857737", "modrinth": "s5d4P01r" }, + "redistributable": false, "files": [ - { - "type": "modrinth", - "file_name": "species-3.5.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/s5d4P01r/versions/KwPDNMjG/species-3.5.jar", - "id": "KwPDNMjG", - "parent_id": "s5d4P01r", - "hashes": { - "sha512": "9ff8a488d3eed6950fe8eb09e3ab55e7fe65ee3340c212067e46bf98054330658e6406ad72388054f9ce00921b8d8fdeb5f28e09058c800bdf46e2e47a754a64", - "sha1": "b4d924f4faf6eb201db04205b61fa1524a8b0178" - }, - "required_dependencies": [], - "size": 42114388, - "date_published": "2025-08-14T16:26:28.693413Z" - }, { "type": "curseforge", "file_name": "species-3.5.jar", @@ -12520,6 +12505,28 @@ "required_dependencies": [], "size": 42114388, "date_published": "2025-08-14T16:26:07.777Z" + }, + { + "type": "modrinth", + "file_name": "species-3.5.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/s5d4P01r/versions/KwPDNMjG/species-3.5.jar", + "id": "KwPDNMjG", + "parent_id": "s5d4P01r", + "hashes": { + "sha512": "9ff8a488d3eed6950fe8eb09e3ab55e7fe65ee3340c212067e46bf98054330658e6406ad72388054f9ce00921b8d8fdeb5f28e09058c800bdf46e2e47a754a64", + "sha1": "b4d924f4faf6eb201db04205b61fa1524a8b0178" + }, + "required_dependencies": [], + "size": 42114388, + "date_published": "2025-08-14T16:26:28.693413Z" } ] }, From 7cc90041fc0deebe7e4310ceaae1912967b78d49 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Thu, 12 Feb 2026 01:27:23 +0500 Subject: [PATCH 441/474] Update pakku-lock.json --- pakku-lock.json | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 628351e89..5969400db 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -1510,7 +1510,7 @@ ] }, { - "pakku_id": "SO7aqiaUhKMExaPk", + "pakku_id": "vcmbP1ZpBZtFq3zT", "type": "MOD", "side": "BOTH", "slug": { @@ -2547,7 +2547,7 @@ { "pakku_id": "Zx4piwuLwghFhuAX", "pakku_links": [ - "SO7aqiaUhKMExaPk" + "vcmbP1ZpBZtFq3zT" ], "type": "MOD", "side": "CLIENT", @@ -3379,9 +3379,6 @@ }, { "pakku_id": "iVxwBkSQPuiTe33a", - "pakku_links": [ - "SO7aqiaUhKMExaPk" - ], "type": "MOD", "side": "BOTH", "slug": { @@ -4510,9 +4507,6 @@ }, { "pakku_id": "EZsypKHb95KeyzBH", - "pakku_links": [ - "SO7aqiaUhKMExaPk" - ], "type": "MOD", "side": "CLIENT", "slug": { @@ -11576,7 +11570,7 @@ ] }, { - "pakku_id": "UpEaVE3mg5AhC7jF", + "pakku_id": "zOlM6hm7KZ1BAq5R", "pakku_links": [ "64uacGcEw697jVGs" ], @@ -12237,9 +12231,9 @@ ] }, { - "pakku_id": "mLAPxOFbEvrViUwr", + "pakku_id": "mUY7a1f4DIhjgXtQ", "pakku_links": [ - "cbx8emJRuJJO4g0l" + "Foe7A2QXIKlyEHbt" ], "type": "MOD", "side": "BOTH", @@ -12307,7 +12301,7 @@ ] }, { - "pakku_id": "cbx8emJRuJJO4g0l", + "pakku_id": "Foe7A2QXIKlyEHbt", "type": "MOD", "side": "BOTH", "slug": { @@ -12406,7 +12400,7 @@ ] }, { - "pakku_id": "aX6m0L6BUdr6wRaN", + "pakku_id": "ztIkqvZk37z4FIED", "type": "MOD", "side": "CLIENT", "slug": { @@ -12467,7 +12461,7 @@ ] }, { - "pakku_id": "SiK0JwpQyZ5aSB0v", + "pakku_id": "dI6jxGUklcstU9uh", "type": "MOD", "side": "BOTH", "slug": { @@ -12482,7 +12476,6 @@ "curseforge": "857737", "modrinth": "s5d4P01r" }, - "redistributable": false, "files": [ { "type": "curseforge", From 69cb03df3fdd7fef8bb498d8ce542b4582faa987 Mon Sep 17 00:00:00 2001 From: Eilandor Date: Fri, 13 Feb 2026 16:25:50 +0200 Subject: [PATCH 442/474] fixed typo in LV initial quest (#3055) Signed-off-by: Eilandor --- 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 1227bef7d..18e109274 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -3025,7 +3025,7 @@ "quests.low_voltage.lv_motor.desc": "Remember that &2EMI is your friend&r if recipes are getting overwhelming. You can click the button with four stacked squares on the bottom right of any recipe, and EMI will show you a tree of all the crafting ingredients, and you can even have it add a \"shopping list\" to your favourites!\n\nGetting back on topic, set yourself up for &7LV&r by crafting six &aLV Electric Motors&r! This may seem like a lot, but that's the bare minimum required to get to the good stuff in &7LV&r.", "quests.low_voltage.lv_age_progression.title": "LV Age Progression", "quests.low_voltage.lv_age_progression.subtitle": "Too many options, too little time!", - "quests.low_voltage.lv_age_progression.desc": "&7LV&r will require you to craft a lot of different machines! Here's a friendly tip if you're struggling to set goals: pick an item in a later quest and go backwards from there.\n\nWith that in mind... why don't we start with a &5Fusion Controller&r? Never mind, slightly too ambitious - let's check a closer goal instead. Ah, yes, the &3Electric Blast Furnace&r - the main end goal of &7LV&r - should be a good target.\n\nThe EBF is &aexpensive&r, which is why you should initially focus on machines to make components and materials cheaper. Our quests will try to will guide you in the right direction.\n\nOther important goals are crafting the &3LV Assembler&r, making your first &aMV Circuits&r and getting your first &bCircuit Assembler&r.", + "quests.low_voltage.lv_age_progression.desc": "&7LV&r will require you to craft a lot of different machines! Here's a friendly tip if you're struggling to set goals: pick an item in a later quest and go backwards from there.\n\nWith that in mind... why don't we start with a &5Fusion Controller&r? Never mind, slightly too ambitious - let's check a closer goal instead. Ah, yes, the &3Electric Blast Furnace&r - the main end goal of &7LV&r - should be a good target.\n\nThe EBF is &aexpensive&r, which is why you should initially focus on machines to make components and materials cheaper. Our quests will try to guide you in the right direction.\n\nOther important goals are crafting the &3LV Assembler&r, making your first &aMV Circuits&r and getting your first &bCircuit Assembler&r.", "quests.low_voltage.lv_age_progression.task": "I... might have some sense of direction now", "quests.low_voltage.lost.title": "Lost?", "quests.low_voltage.lost.subtitle": "This is all very overwhelming", @@ -5218,4 +5218,4 @@ "quests.tfg_tips.tools_tips.concrete_roads.title": "Concrete Roads", "quests.tfg_tips.tools_tips.concrete_roads.subtitle": "Almost worth all the effort.", "quests.tfg_tips.tools_tips.concrete_roads.desc": "&6Wet concrete mix&r can be applied to base course to create roads which give a &b&l30%%&r&r bonus to movement speed. \n\n&4Be careful&r when creating concrete roads. There are a lot of rules to follow to make sure you don't end up with cracked or ruined surfaces. Consult the &3Field Guide&r for detailed instructions." -} \ No newline at end of file +} From 7a2ea0f62cc516b2d76565f77969c26290f14d29 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 13 Feb 2026 21:59:25 +0000 Subject: [PATCH 443/474] pakku --- pakku-lock.json | 537 ++++++++++++++++++------------------------------ 1 file changed, 201 insertions(+), 336 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 5969400db..21e9e2c1b 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -1405,29 +1405,29 @@ "files": [ { "type": "curseforge", - "file_name": "AttributeFix-Forge-1.20.1-21.0.4.jar", + "file_name": "AttributeFix-Forge-1.20.1-21.0.5.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", - "forge" + "forge", + "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/4911/84/AttributeFix-Forge-1.20.1-21.0.4.jar", - "id": "4911084", + "url": "https://edge.forgecdn.net/files/7612/291/AttributeFix-Forge-1.20.1-21.0.5.jar", + "id": "7612291", "parent_id": "280510", "hashes": { - "sha1": "6eb69343eb21d38f95d1b1d00e6bc777bdb336fa", - "md5": "e8fb517833e21335106e9d4d1a39ecd4" + "sha1": "76d6b2d0f2a3c9842587ad20666ba419cd8c1efa", + "md5": "e43cd5f7fc4b04e20127359e5bf9af80" }, "required_dependencies": [], - "size": 19471, - "date_published": "2023-11-29T11:27:43.890Z" + "size": 19499, + "date_published": "2026-02-12T01:13:46.607Z" }, { "type": "modrinth", - "file_name": "AttributeFix-Forge-1.20.1-21.0.4.jar", + "file_name": "AttributeFix-Forge-1.20.1-21.0.5.jar", "mc_versions": [ "1.20.1" ], @@ -1435,16 +1435,16 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lOOpEntO/versions/Y42wjyly/AttributeFix-Forge-1.20.1-21.0.4.jar", - "id": "Y42wjyly", + "url": "https://cdn.modrinth.com/data/lOOpEntO/versions/ihWybkI9/AttributeFix-Forge-1.20.1-21.0.5.jar", + "id": "ihWybkI9", "parent_id": "lOOpEntO", "hashes": { - "sha512": "a4f1431c3abb23d97ae6d742721fcc2d1d97b6f9e72e492cc13f2471b608614b8cbbde513fa0a6f8d002f27168130850bf358d405cd2120c979927d7e88fe3d3", - "sha1": "6eb69343eb21d38f95d1b1d00e6bc777bdb336fa" + "sha512": "0d631c06820257e70a9a0dafbd74fc6412c337deb0631af0e084dfdcce4405d7980e6b4d4c3cf8840cff51d32ad9fc8d9a2a69bf0a6cd9b492cdc6efc23cf9ee", + "sha1": "76d6b2d0f2a3c9842587ad20666ba419cd8c1efa" }, "required_dependencies": [], - "size": 19471, - "date_published": "2023-11-29T11:27:52.410590Z" + "size": 19499, + "date_published": "2026-02-12T01:13:50.526585Z" } ] }, @@ -1917,6 +1917,69 @@ } ] }, + { + "pakku_id": "U48p2jBUMgFjYTAB", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "blur-forge", + "modrinth": "blur-forge" + }, + "name": { + "curseforge": "Blur (Forge)", + "modrinth": "Blur Forge (Unofficial)" + }, + "id": { + "curseforge": "823106", + "modrinth": "o4Wx4DUB" + }, + "files": [ + { + "type": "curseforge", + "file_name": "blur-forge-3.1.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/4906/217/blur-forge-3.1.1.jar", + "id": "4906217", + "parent_id": "823106", + "hashes": { + "sha1": "562f34155f3849463449aeb1ab54cc7064e4bc86", + "md5": "1eb8a13698f8d4204094b5ea189c31d3" + }, + "required_dependencies": [], + "size": 177259, + "date_published": "2023-11-27T16:15:39.520Z" + }, + { + "type": "modrinth", + "file_name": "blur-forge-3.1.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/o4Wx4DUB/versions/NOiJG3oF/blur-forge-3.1.1.jar", + "id": "NOiJG3oF", + "parent_id": "o4Wx4DUB", + "hashes": { + "sha512": "9d35f532c40ca55eb054188e6293b6f57eecdb748da9bdbf68a0c2567101c09d62ac66f652602f0567247fe0fc6f5fc4d95fdc6c034ee22544d4ff2d3ae723c3", + "sha1": "562f34155f3849463449aeb1ab54cc7064e4bc86" + }, + "required_dependencies": [], + "size": 177259, + "date_published": "2023-11-27T16:15:44.263909Z" + } + ] + }, { "pakku_id": "bDQUB8zljVVWf9mE", "type": "MOD", @@ -1936,29 +1999,29 @@ "files": [ { "type": "curseforge", - "file_name": "Bookshelf-Forge-1.20.1-20.2.13.jar", + "file_name": "Bookshelf-Forge-1.20.1-20.2.15.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", - "forge" + "forge", + "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/5423/987/Bookshelf-Forge-1.20.1-20.2.13.jar", - "id": "5423987", + "url": "https://edge.forgecdn.net/files/7612/389/Bookshelf-Forge-1.20.1-20.2.15.jar", + "id": "7612389", "parent_id": "228525", "hashes": { - "sha1": "c53d9eb5ce9e8ef0f2ea9b11e478d84ce958c3e5", - "md5": "46c8e7f9bcfa984bd576e448df2beb25" + "sha1": "9df4908f606c6dc62a358b3e04e3fdedba59a12c", + "md5": "984cc53b314436f57e3bf72b8a1ba62b" }, "required_dependencies": [], - "size": 343962, - "date_published": "2024-06-13T15:17:32.300Z" + "size": 343925, + "date_published": "2026-02-12T01:55:52.110Z" }, { "type": "modrinth", - "file_name": "Bookshelf-Forge-1.20.1-20.2.13.jar", + "file_name": "Bookshelf-Forge-1.20.1-20.2.15.jar", "mc_versions": [ "1.20.1" ], @@ -1966,16 +2029,16 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/uy4Cnpcm/versions/tNwsir0K/Bookshelf-Forge-1.20.1-20.2.13.jar", - "id": "tNwsir0K", + "url": "https://cdn.modrinth.com/data/uy4Cnpcm/versions/7eS5OIHj/Bookshelf-Forge-1.20.1-20.2.15.jar", + "id": "7eS5OIHj", "parent_id": "uy4Cnpcm", "hashes": { - "sha512": "1143753a001bccb3fc84c699cc93343f1941da9b7a63d3a3b8078808262b42962f8b10a2c16ed97a49c058865a6dbaa7e85a1e8842b95039d222f06ab4ee9509", - "sha1": "c53d9eb5ce9e8ef0f2ea9b11e478d84ce958c3e5" + "sha512": "b5e3d6031ea91aca65b059c84d813d248347a870fac4811cd1e9d649f2a37c857bbd32f2f071b69589c7b3940bf5bb4bdc0b82f62818bb03255be14d23cef170", + "sha1": "9df4908f606c6dc62a358b3e04e3fdedba59a12c" }, "required_dependencies": [], - "size": 343962, - "date_published": "2024-06-13T15:17:37.621721Z" + "size": 343925, + "date_published": "2026-02-12T01:55:56.923989Z" } ] }, @@ -3305,78 +3368,6 @@ } ] }, - { - "pakku_id": "FWUslNlfrCLR1dXa", - "pakku_links": [ - "Osj3mktzthdVRa2j" - ], - "type": "MOD", - "side": "CLIENT", - "slug": { - "curseforge": "craftpresence", - "modrinth": "craftpresence" - }, - "name": { - "curseforge": "CraftPresence", - "modrinth": "CraftPresence" - }, - "id": { - "curseforge": "297038", - "modrinth": "DFqQfIBR" - }, - "files": [ - { - "type": "modrinth", - "file_name": "CraftPresence-2.7.0+1.20.1-forge.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/DFqQfIBR/versions/ft5Er26S/CraftPresence-2.7.0+1.20.1-forge.jar", - "id": "ft5Er26S", - "parent_id": "DFqQfIBR", - "hashes": { - "sha512": "161aaede2fe5865c8f97c9a1baa02dd73f1804add2748e6265a45795fddfdd7b72e79170db5d71b2f921fe8c4c1a7bcaecd1d7dac908f135a260b7159f0bb401", - "sha1": "e37dbe8efb670d3a9e079e095d59410658c7e3e9" - }, - "required_dependencies": [ - "nT86WUER" - ], - "size": 2059525, - "date_published": "2025-10-25T01:10:57.224854Z" - }, - { - "type": "curseforge", - "file_name": "CraftPresence-2.7.0+1.20.1-forge.jar", - "mc_versions": [ - "1.20.1", - "1.20" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7146/452/CraftPresence-2.7.0+1.20.1-forge.jar", - "id": "7146452", - "parent_id": "297038", - "hashes": { - "sha1": "e37dbe8efb670d3a9e079e095d59410658c7e3e9", - "md5": "749ea480cb10ae2b56e90dae94ff1d04" - }, - "required_dependencies": [ - "1056812" - ], - "size": 2059525, - "date_published": "2025-10-25T01:10:38.497Z" - } - ] - }, { "pakku_id": "iVxwBkSQPuiTe33a", "type": "MOD", @@ -3461,9 +3452,32 @@ "modrinth": "ix1qq8Ux" }, "files": [ + { + "type": "curseforge", + "file_name": "CrashAssistant-forge-1.19-1.20.1-1.10.30.jar", + "mc_versions": [ + "1.20.1", + "1.20" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7612/924/CrashAssistant-forge-1.19-1.20.1-1.10.30.jar", + "id": "7612924", + "parent_id": "1154099", + "hashes": { + "sha1": "4bb4c15ab7df481a2fd95554d06a575580b650ef", + "md5": "884ffcd331f0f41d056769efb5190138" + }, + "required_dependencies": [], + "size": 1283687, + "date_published": "2026-02-12T05:19:50.857Z" + }, { "type": "modrinth", - "file_name": "CrashAssistant-forge-1.19-1.20.1-1.10.28.jar", + "file_name": "CrashAssistant-forge-1.19-1.20.1-1.10.30.jar", "mc_versions": [ "1.19", "1.19.1", @@ -3478,39 +3492,16 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/ix1qq8Ux/versions/1mGJaICy/CrashAssistant-forge-1.19-1.20.1-1.10.28.jar", - "id": "1mGJaICy", + "url": "https://cdn.modrinth.com/data/ix1qq8Ux/versions/tlTmxSBW/CrashAssistant-forge-1.19-1.20.1-1.10.30.jar", + "id": "tlTmxSBW", "parent_id": "ix1qq8Ux", "hashes": { - "sha512": "7bcf054ca17ba8f2852e8e8c2192e09e8a92291602e5a9f548bc22e55ddc8e6f271ae438ac06c70e9b4393b7cdae3c9e0e327bd2b168202c4d8eb4371ada1c01", - "sha1": "ff33e66ea1d828f0a5de39cf31d765e75d0a3859" + "sha512": "36db77aa4c993143a4c5bdfb0f3570fa4206e9b07ff025b24122f8ae7db5f5f60478a37e53ac4c9a55bffed409b74ffde6de93599792a48752e0d5ab0c69345a", + "sha1": "4bb4c15ab7df481a2fd95554d06a575580b650ef" }, "required_dependencies": [], - "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" + "size": 1283687, + "date_published": "2026-02-12T05:20:06.047805Z" } ] }, @@ -5816,7 +5807,7 @@ "files": [ { "type": "curseforge", - "file_name": "ftb-essentials-forge-2001.2.3.jar", + "file_name": "ftb-essentials-forge-2001.2.4.jar", "mc_versions": [ "1.20.1" ], @@ -5824,18 +5815,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6555/287/ftb-essentials-forge-2001.2.3.jar", - "id": "6555287", + "url": "https://edge.forgecdn.net/files/7609/948/ftb-essentials-forge-2001.2.4.jar", + "id": "7609948", "parent_id": "410811", "hashes": { - "sha1": "460ec092156d6b457bd91dc463ac1ee49e22442d", - "md5": "5d3acae1dc695190604bd4a2f5423d06" + "sha1": "4f898578e3cc321397dbc59a0c44e2927000bd32", + "md5": "c46c0af33a0452001e8628075b341eb2" }, "required_dependencies": [ "404465" ], - "size": 156203, - "date_published": "2025-05-22T10:24:39.653Z" + "size": 157732, + "date_published": "2026-02-11T16:04:32.867Z" } ] }, @@ -5947,7 +5938,7 @@ "files": [ { "type": "curseforge", - "file_name": "ftb-quests-forge-2001.4.17.jar", + "file_name": "ftb-quests-forge-2001.4.18.jar", "mc_versions": [ "1.20.1" ], @@ -5955,20 +5946,20 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7260/736/ftb-quests-forge-2001.4.17.jar", - "id": "7260736", + "url": "https://edge.forgecdn.net/files/7608/804/ftb-quests-forge-2001.4.18.jar", + "id": "7608804", "parent_id": "289412", "hashes": { - "sha1": "f7e4fec8991ce2b036ed4628e01fb48446a25ec7", - "md5": "35f79e8e8b0849d6038cd4cd9c86b08a" + "sha1": "e2ff1cea24c5f3d6d55d093d429efae60dcad9e0", + "md5": "f11b0003c47151a1d131dddf35a4530f" }, "required_dependencies": [ "404468", "404465", "419699" ], - "size": 1227820, - "date_published": "2025-11-25T11:37:06.847Z" + "size": 1251902, + "date_published": "2026-02-11T12:10:01.350Z" } ] }, @@ -6893,47 +6884,48 @@ "files": [ { "type": "curseforge", - "file_name": "gtceuterminal-2.4.6.jar", + "file_name": "gtceuterminal-2.4.7.jar", "mc_versions": [ "1.20.1" ], "loaders": [ "forge" ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7601/248/gtceuterminal-2.4.6.jar", - "id": "7601248", + "release_type": "beta", + "url": "https://edge.forgecdn.net/files/7615/791/gtceuterminal-2.4.7.jar", + "id": "7615791", "parent_id": "1423461", "hashes": { - "sha1": "b7284297c33359569cff22208e938012c26a06ec", - "md5": "b0b125e56c410da94d16e8333b187bd7" + "sha1": "8a8e7a3ec16d44bfe7bb171c564042cd0d13f423", + "md5": "36bd8d25c7648a6bba6128ea2cab8b9f" }, "required_dependencies": [ + "223794", "890405" ], - "size": 427057, - "date_published": "2026-02-09T21:15:09.553Z" + "size": 431760, + "date_published": "2026-02-12T20:07:09.223Z" }, { "type": "modrinth", - "file_name": "gtceuterminal-2.4.6.jar", + "file_name": "gtceuterminal-2.4.7.jar", "mc_versions": [ "1.20.1" ], "loaders": [ "forge" ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/jIBIhAO2/versions/3YVMQ7gd/gtceuterminal-2.4.6.jar", - "id": "3YVMQ7gd", + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/jIBIhAO2/versions/k3To7Sh0/gtceuterminal-2.4.7.jar", + "id": "k3To7Sh0", "parent_id": "jIBIhAO2", "hashes": { - "sha512": "58b51a56fbe8dd88fb4449b5192b5a29f921ec29d1f733ae55044c6b8e4e9ee658a7e9f9a0d2cb808b559d52d464bde2d9b28e65e5dfc9a13081993d266af0b3", - "sha1": "b7284297c33359569cff22208e938012c26a06ec" + "sha512": "20373ed57748892fd6d14ff3312507efee228e8f05bf5b33d97ec9422b1eba117f0e52919249967543819b2f5e59b1730b003b535ed12ee6b296d34ad6f085a4", + "sha1": "8a8e7a3ec16d44bfe7bb171c564042cd0d13f423" }, "required_dependencies": [], - "size": 427057, - "date_published": "2026-02-09T21:16:21.957444Z" + "size": 431760, + "date_published": "2026-02-12T20:08:19.557221Z" } ] }, @@ -8117,7 +8109,7 @@ "files": [ { "type": "curseforge", - "file_name": "itemphysicguns-1.0.1-7be9442.jar", + "file_name": "itemphysicguns-1.0.2-3d7073e.jar", "mc_versions": [ "1.20.1" ], @@ -8125,20 +8117,20 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7569/17/itemphysicguns-1.0.1-7be9442.jar", - "id": "7569017", + "url": "https://edge.forgecdn.net/files/7607/842/itemphysicguns-1.0.2-3d7073e.jar", + "id": "7607842", "parent_id": "1451825", "hashes": { - "sha1": "2a6d58dc8709542e1a70f3619c62ae9865f2de0c", - "md5": "ab64a505d8d65f5247e04058d5d6a574" + "sha1": "6111b1b7f7bfa5c82d8c04cd65986366127b08ce", + "md5": "24917e66df29189fb575c10d1665c8a4" }, "required_dependencies": [], - "size": 21654, - "date_published": "2026-02-03T02:22:59.417Z" + "size": 23065, + "date_published": "2026-02-11T07:13:48.217Z" }, { "type": "modrinth", - "file_name": "itemphysicguns-1.0.1-7be9442.jar", + "file_name": "itemphysicguns-1.0.2-3d7073e.jar", "mc_versions": [ "1.20.1", "1.20.2", @@ -8151,16 +8143,16 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/P5jUo1gr/versions/nnGYsufm/itemphysicguns-1.0.1-7be9442.jar", - "id": "nnGYsufm", + "url": "https://cdn.modrinth.com/data/P5jUo1gr/versions/Oa4V9VWo/itemphysicguns-1.0.2-3d7073e.jar", + "id": "Oa4V9VWo", "parent_id": "P5jUo1gr", "hashes": { - "sha512": "3cad9cdb5fcc44a991b4221060ab8225339b065d2b0cb430a431fa3bbf222563c7df555bb1c57fdca9ddc19566acee1519c6af64a9f473e4f5627e5eb86a2196", - "sha1": "2a6d58dc8709542e1a70f3619c62ae9865f2de0c" + "sha512": "207557e6589f561ed15ccfe407d0f0f4fc7dd724a21f33200ec73cc9f909daacb89372e041bc76a01de9aa80bfbd116b92caf4e844b8061fc26e247bca87fc0a", + "sha1": "6111b1b7f7bfa5c82d8c04cd65986366127b08ce" }, "required_dependencies": [], - "size": 21654, - "date_published": "2026-02-03T07:27:03.548903Z" + "size": 23065, + "date_published": "2026-02-11T07:13:23.001853Z" } ] }, @@ -11251,67 +11243,6 @@ } ] }, - { - "pakku_id": "RCLoXroN4KKClb7X", - "type": "MOD", - "side": "CLIENT", - "slug": { - "curseforge": "reblured", - "modrinth": "reblured" - }, - "name": { - "curseforge": "ReBlured", - "modrinth": "ReBlured" - }, - "id": { - "curseforge": "637729", - "modrinth": "s4G3ZCcv" - }, - "files": [ - { - "type": "curseforge", - "file_name": "Reblured-1.20.1-1.3.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/4695/744/Reblured-1.20.1-1.3.0.jar", - "id": "4695744", - "parent_id": "637729", - "hashes": { - "sha1": "9acd6f7702418fc77280bcc3c82b8589032d9f34", - "md5": "0844d81a8fb2e544245bbf4faa1e4482" - }, - "required_dependencies": [], - "size": 366687, - "date_published": "2023-08-11T12:01:45.827Z" - }, - { - "type": "modrinth", - "file_name": "Reblured-1.20.1-1.3.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/s4G3ZCcv/versions/V8bX1gty/Reblured-1.20.1-1.3.0.jar", - "id": "V8bX1gty", - "parent_id": "s4G3ZCcv", - "hashes": { - "sha512": "3ba7e80d0a71e25d734532933206c3472ba292575fee70f65845f4816ea7a321e45391c57909638ee989c8413dd309eded8f24eb27edb82776788dc19ae426cd", - "sha1": "9acd6f7702418fc77280bcc3c82b8589032d9f34" - }, - "required_dependencies": [], - "size": 366687, - "date_published": "2023-08-11T12:01:49.996223Z" - } - ] - }, { "pakku_id": "zQAe1eid9EE5PMwK", "type": "MOD", @@ -12987,7 +12918,7 @@ "files": [ { "type": "curseforge", - "file_name": "tfcgroomer-1.20.1-0.2.3.jar", + "file_name": "tfcgroomer-1.20.1-0.2.4.jar", "mc_versions": [ "1.20.1" ], @@ -12995,18 +12926,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7044/958/tfcgroomer-1.20.1-0.2.3.jar", - "id": "7044958", + "url": "https://edge.forgecdn.net/files/7606/13/tfcgroomer-1.20.1-0.2.4.jar", + "id": "7606013", "parent_id": "1003785", "hashes": { - "sha1": "d528d3f837e7d1e93e1154b007a5493fca034a4c", - "md5": "8003b81df31182bf58d417fe5b9ec4ad" + "sha1": "d675275100ba88b532775a2373ada6a280348a41", + "md5": "c2a7cfaa32a7727a41b78f984ceaf701" }, "required_dependencies": [ "302973" ], - "size": 153640, - "date_published": "2025-09-29T07:44:29.643Z" + "size": 153636, + "date_published": "2026-02-10T22:09:52.713Z" }, { "type": "modrinth", @@ -13307,7 +13238,7 @@ ] }, { - "pakku_id": "Jfj5lCgUnhtQgglC", + "pakku_id": "tfgyug44yfvJpIAV", "pakku_links": [ "64uacGcEw697jVGs" ], @@ -13326,6 +13257,29 @@ "modrinth": "hupCZlMO" }, "files": [ + { + "type": "curseforge", + "file_name": "TFC_punishment_for_death-1.20.1-1.0.0.16.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://edge.forgecdn.net/files/7603/100/TFC_punishment_for_death-1.20.1-1.0.0.16.jar", + "id": "7603100", + "parent_id": "1258250", + "hashes": { + "sha1": "e411976151d0f9d318839de2a3b5205af1d7b3bd", + "md5": "db9f5234c28be0dda78a2dc5b6b7b418" + }, + "required_dependencies": [ + "302973" + ], + "size": 37683, + "date_published": "2026-02-10T07:28:07.987Z" + }, { "type": "modrinth", "file_name": "TFC_punishment_for_death-1.20.1-1.0.0.15.jar", @@ -13349,30 +13303,6 @@ ], "size": 35724, "date_published": "2025-10-16T11:26:01.367587Z" - }, - { - "type": "curseforge", - "file_name": "TFC_punishment_for_death-1.20.1-1.0.0.15.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7105/832/TFC_punishment_for_death-1.20.1-1.0.0.15.jar", - "id": "7105832", - "parent_id": "1258250", - "hashes": { - "sha1": "7140887272d82f0a28734a4a1ff9e7d0a99ff25f", - "md5": "af00f1ad359d719b2f64b22474c4aadd" - }, - "required_dependencies": [ - "302973" - ], - "size": 35724, - "date_published": "2025-10-14T10:10:08.493Z" } ] }, @@ -14716,71 +14646,6 @@ } ] }, - { - "pakku_id": "Osj3mktzthdVRa2j", - "type": "MOD", - "side": "CLIENT", - "slug": { - "curseforge": "unilib", - "modrinth": "unilib" - }, - "name": { - "curseforge": "UniLib", - "modrinth": "UniLib" - }, - "id": { - "curseforge": "1056812", - "modrinth": "nT86WUER" - }, - "files": [ - { - "type": "modrinth", - "file_name": "UniLib-1.2.0+1.20.1-forge.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/nT86WUER/versions/uLIRXuoI/UniLib-1.2.0+1.20.1-forge.jar", - "id": "uLIRXuoI", - "parent_id": "nT86WUER", - "hashes": { - "sha512": "e042981acde70741dda3e99fa2213d764183c912a4b8d5a4d13130202d10e67eb551fea3297b0442ad3ba7af68984e33191832f2901fb6e70496a16ebb672f24", - "sha1": "b8348dbe2ac3226613332eaf65d0fdfa6e76d8c3" - }, - "required_dependencies": [], - "size": 1631104, - "date_published": "2025-10-24T18:08:20.681953Z" - }, - { - "type": "curseforge", - "file_name": "UniLib-1.2.0+1.20.1-forge.jar", - "mc_versions": [ - "1.20.1", - "1.20" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7145/192/UniLib-1.2.0+1.20.1-forge.jar", - "id": "7145192", - "parent_id": "1056812", - "hashes": { - "sha1": "b8348dbe2ac3226613332eaf65d0fdfa6e76d8c3", - "md5": "b45a2349802946baeb3f398142b29c08" - }, - "required_dependencies": [], - "size": 1631104, - "date_published": "2025-10-24T18:08:01.953Z" - } - ] - }, { "pakku_id": "Z3KE8gJoOsh7EQNZ", "type": "RESOURCE_PACK", From 4dd747cf8b88644c66adbeebe8ec8487fa68c0a7 Mon Sep 17 00:00:00 2001 From: TomPlop Date: Fri, 13 Feb 2026 17:05:33 -0500 Subject: [PATCH 444/474] Add TiCl and Nerfs to energy (#3063) --- .../tfg/powergen/nuclear/recipes.nuclear.js | 16 ++++++++++++++++ .../tfg/powergen/recipes.power_gen_balance.js | 12 ++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js index 4732864d1..0c8eaa4eb 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js @@ -1405,4 +1405,20 @@ function registerTFGNuclearRecipes(event) { .duration(20*14) .EUt(GTValues.VA[GTValues.EV]) + //#region TiCl4 Small Reactor Coolant + + event.recipes.gtceu.gas_pressurizer('tfg:super_critical_co2') + .inputFluids(Fluid.of('gtceu:carbon_dioxide', 1000)) + .outputFluids(Fluid.of('tfg:supercritical_co2', 10)) + .circuit(1) + .duration(20*58) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('tfg:ticl_doped') + .inputFluids(Fluid.of('gtceu:titanium_tetrachloride', 1000), Fluid.of('tfg:supercritical_co2', 1000)) + .outputFluids(Fluid.of('tfg:ticl4_doped_supercritical_co2', 1000)) + .circuit(1) + .duration(20*4) + .EUt(GTValues.VA[GTValues.IV]) + } diff --git a/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js b/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js index 27e8ec5df..14b2cde8d 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.power_gen_balance.js @@ -13,7 +13,7 @@ function registerTFGPowerGenBalance(event) { //#endregion //#region Nerf/Removed -/* COMMENT OUT UNTIL WE WANT TO ENABLE THE NERF + event.remove({ id: 'gtceu:gas_turbine/benzene' }) event.recipes.gtceu.gas_turbine('tfg:benzene') .inputFluids(Fluid.of('gtceu:benzene', 1)) @@ -29,7 +29,15 @@ function registerTFGPowerGenBalance(event) { .EUt(-32) .dimension('minecraft:overworld') .dimension('minecraft:the_nether') -*/ + + event.remove({ id: 'gtceu:combustion_generator/naphtha' }) + event.recipes.gtceu.combustion_generator('tfg:naphtha') + .inputFluids(Fluid.of('gtceu:naphtha', 1)) + .duration(20*0.1) + .EUt(-32) + .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') + // Remove Light fuel ability as a fuel event.remove({ id: 'gtceu:combustion_generator/sulfuric_light_fuel' }) From 9706404ec40a32bbcad0050b0690276dae786a42 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 13 Feb 2026 22:20:33 +0000 Subject: [PATCH 445/474] langs --- kubejs/assets/ad_astra/lang/de_de.json | 169 ++++ .../additionalplacements/lang/de_de.json | 33 + kubejs/assets/ae2/lang/de_de.json | 23 + .../ae2insertexportcard/lang/de_de.json | 8 + kubejs/assets/afc/lang/de_de.json | 819 ++++++++++++++++++ .../assets/ags_modernmarkings/lang/de_de.json | 125 +++ kubejs/assets/alekiroofs/lang/de_de.json | 15 + kubejs/assets/alekiships/lang/de_de.json | 123 +++ kubejs/assets/arthropocolypse/lang/de_de.json | 45 + kubejs/assets/beneath/lang/de_de.json | 30 + kubejs/assets/betterend/lang/de_de.json | 125 +++ .../assets/buildinggadgets2/lang/de_de.json | 114 +++ .../assets/buildinggadgets2/lang/uk_ua.json | 115 +++ kubejs/assets/comforts/lang/de_de.json | 9 + .../assets/constructionwand/lang/de_de.json | 7 + kubejs/assets/create/lang/de_de.json | 110 +++ kubejs/assets/createdeco/lang/de_de.json | 73 ++ .../assets/createhorsepower/lang/de_de.json | 4 + .../assets/createstockbridge/lang/de_de.json | 16 + kubejs/assets/deafission/lang/de_de.json | 64 ++ kubejs/assets/diggerhelmet/lang/de_de.json | 43 + .../assets/domum_ornamentum/lang/de_de.json | 215 +++++ .../assets/endermanoverhaul/lang/de_de.json | 33 + .../assets/endermanoverhaul/lang/zh_tw.json | 50 +- kubejs/assets/firmalife/lang/zh_tw.json | 40 +- kubejs/assets/framedblocks/lang/zh_tw.json | 349 ++++++++ kubejs/assets/ftbteams/lang/zh_tw.json | 93 ++ kubejs/assets/grapplemod/lang/zh_tw.json | 505 +++++++++++ kubejs/assets/greate/lang/zh_tw.json | 380 ++++++++ kubejs/assets/gtceu/lang/en_us.json | 2 +- kubejs/assets/gtceu/lang/zh_tw.json | 277 ++++++ .../assets/immersive_aircraft/lang/zh_tw.json | 10 + kubejs/assets/tfc/lang/zh_cn.json | 2 +- kubejs/assets/tfg/lang/de_de.json | 18 +- kubejs/assets/tfg/lang/en_us.json | 6 +- kubejs/assets/tfg/lang/uk_ua.json | 28 +- kubejs/assets/tfg/lang/zh_cn.json | 34 +- 37 files changed, 4034 insertions(+), 78 deletions(-) create mode 100644 kubejs/assets/ad_astra/lang/de_de.json create mode 100644 kubejs/assets/additionalplacements/lang/de_de.json create mode 100644 kubejs/assets/ae2/lang/de_de.json create mode 100644 kubejs/assets/ae2insertexportcard/lang/de_de.json create mode 100644 kubejs/assets/afc/lang/de_de.json create mode 100644 kubejs/assets/ags_modernmarkings/lang/de_de.json create mode 100644 kubejs/assets/alekiroofs/lang/de_de.json create mode 100644 kubejs/assets/alekiships/lang/de_de.json create mode 100644 kubejs/assets/arthropocolypse/lang/de_de.json create mode 100644 kubejs/assets/beneath/lang/de_de.json create mode 100644 kubejs/assets/betterend/lang/de_de.json create mode 100644 kubejs/assets/buildinggadgets2/lang/de_de.json create mode 100644 kubejs/assets/buildinggadgets2/lang/uk_ua.json create mode 100644 kubejs/assets/comforts/lang/de_de.json create mode 100644 kubejs/assets/constructionwand/lang/de_de.json create mode 100644 kubejs/assets/create/lang/de_de.json create mode 100644 kubejs/assets/createdeco/lang/de_de.json create mode 100644 kubejs/assets/createhorsepower/lang/de_de.json create mode 100644 kubejs/assets/createstockbridge/lang/de_de.json create mode 100644 kubejs/assets/deafission/lang/de_de.json create mode 100644 kubejs/assets/diggerhelmet/lang/de_de.json create mode 100644 kubejs/assets/domum_ornamentum/lang/de_de.json create mode 100644 kubejs/assets/endermanoverhaul/lang/de_de.json create mode 100644 kubejs/assets/framedblocks/lang/zh_tw.json create mode 100644 kubejs/assets/ftbteams/lang/zh_tw.json create mode 100644 kubejs/assets/grapplemod/lang/zh_tw.json create mode 100644 kubejs/assets/greate/lang/zh_tw.json create mode 100644 kubejs/assets/gtceu/lang/zh_tw.json create mode 100644 kubejs/assets/immersive_aircraft/lang/zh_tw.json diff --git a/kubejs/assets/ad_astra/lang/de_de.json b/kubejs/assets/ad_astra/lang/de_de.json new file mode 100644 index 000000000..058dd8d59 --- /dev/null +++ b/kubejs/assets/ad_astra/lang/de_de.json @@ -0,0 +1,169 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.ad_astra.oxygen_distributor": "Sauerstoffverteiler", + "block.ad_astra.infernal_spire_block": "Höllische Spitze", + "block.ad_astra.moon_sand": "Grauer Sand", + "block.ad_astra.moon_stone": "Rauer Anorthosit", + "block.ad_astra.moon_cobblestone": "Anorthositschotter", + "block.ad_astra.moon_cobblestone_slab": "Anorthositschotterstufe", + "block.ad_astra.moon_cobblestone_stairs": "Anorthositschottertreppe", + "block.ad_astra.moon_pillar": "Anorthositsäule", + "block.ad_astra.moon_stone_brick_slab": "Anorthositziegelstufe", + "block.ad_astra.moon_stone_brick_stairs": "Anorthositziegeltreppe", + "block.ad_astra.moon_stone_brick_wall": "Anorthositziegelwand", + "block.ad_astra.moon_stone_bricks": "Anorthositziegel", + "block.ad_astra.moon_stone_slab": "Raue Anorthositstufe", + "block.ad_astra.moon_stone_stairs": "Raue Anorthosittreppe", + "block.ad_astra.chiseled_moon_stone_bricks": "Gemeißelte Anorthositziegel", + "block.ad_astra.chiseled_moon_stone_slab": "Gemeißelte Anorthositstufe", + "block.ad_astra.chiseled_moon_stone_stairs": "Gemeißelte Anorthosittreppe", + "block.ad_astra.cracked_moon_stone_bricks": "Rissige Anorthositziegel", + "block.ad_astra.polished_moon_stone": "Polierter Anorthosit", + "block.ad_astra.polished_moon_stone_slab": "Polierte Anorthositstufe", + "block.ad_astra.polished_moon_stone_stairs": "Polierte Anorthosittreppe", + "block.ad_astra.sky_stone": "Meteorit", + "block.ad_astra.moon_deepslate": "Rauer Norit", + "block.ad_astra.cheese_block": "Mondkäseblock", + "block.ad_astra.moon_cheese_ore": "Anorthosit Käseerz", + "block.ad_astra.glacian_log": "Gletscherstamm", + "block.ad_astra.stripped_glacian_log": "Entrindeter Gletscherstamm", + "block.ad_astra.glacian_leaves": "Gletscherlamellen", + "block.ad_astra.mars_sand": "Argillit Sand", + "block.ad_astra.mars_stone": "Rauer Argillit", + "block.ad_astra.mars_cobblestone": "Argillitschotter", + "block.ad_astra.mars_cobblestone_slab": "Argillitschotterstufe", + "block.ad_astra.mars_cobblestone_stairs": "Argillitschotterstufe", + "block.ad_astra.mars_pillar": "Argillitsäule", + "block.ad_astra.mars_stone_brick_slab": "Argillitziegelstufe", + "block.ad_astra.mars_stone_brick_stairs": "Argillitziegeltreppe", + "block.ad_astra.mars_stone_brick_wall": "Argillitziegelwand", + "block.ad_astra.mars_stone_bricks": "Argillitziegel", + "block.ad_astra.mars_stone_slab": "Raue Argillitstufe", + "block.ad_astra.mars_stone_stairs": "Raue Argillittreppe", + "block.ad_astra.chiseled_mars_stone_bricks": "Gemeißelte Argillitziegel", + "block.ad_astra.chiseled_mars_stone_slab": "Gemeißelte Argillitstufe", + "block.ad_astra.chiseled_mars_stone_stairs": "Gemeißelte Argillittreppe", + "block.ad_astra.cracked_mars_stone_bricks": "Rissige Argillitziegel", + "block.ad_astra.polished_mars_stone": "Polierter Argillit", + "block.ad_astra.polished_mars_stone_slab": "Polierte Argillitstufe", + "block.ad_astra.polished_mars_stone_stairs": "Polierte Argillittreppe", + "block.ad_astra.conglomerate": "Mesa Deckgestein", + "block.ad_astra.polished_conglomerate": "Poliertes Mesa Deckgestein", + "block.ad_astra.venus_sand": "Trachyt Sand", + "block.ad_astra.venus_stone": "Rauer Trachyt", + "block.ad_astra.venus_cobblestone": "Trachytschotter", + "block.ad_astra.venus_cobblestone_slab": "Trachytschotterstufe", + "block.ad_astra.venus_cobblestone_stairs": "Trachytschottertreppe", + "block.ad_astra.venus_pillar": "Trachytsäule", + "block.ad_astra.venus_stone_brick_slab": "Trachytziegelstufe", + "block.ad_astra.venus_stone_brick_stairs": "Trachytziegeltreppe", + "block.ad_astra.venus_stone_brick_wall": "Trachytziegelwand", + "block.ad_astra.venus_stone_bricks": "Trachytziegel", + "block.ad_astra.venus_stone_slab": "Raue Trachytstufe", + "block.ad_astra.venus_stone_stairs": "Raue Trachyttreppe", + "block.ad_astra.chiseled_venus_stone_bricks": "Gemeißelte Trachytziegel", + "block.ad_astra.chiseled_venus_stone_slab": "Gemeißelte Trachytstufe", + "block.ad_astra.chiseled_venus_stone_stairs": "Gemeißelte Trachyttreppe", + "block.ad_astra.cracked_venus_stone_bricks": "Rissige Trachytziegel", + "block.ad_astra.polished_venus_stone": "Polierter Trachyt", + "block.ad_astra.polished_venus_stone_slab": "Polierte Trachytstufe", + "block.ad_astra.polished_venus_stone_stairs": "Polierte Trachyttreppe", + "block.ad_astra.venus_sandstone": "Trachyt Sandstein", + "block.ad_astra.venus_sandstone_bricks": "Trachyt Sandsteinziegel", + "block.ad_astra.venus_sandstone_brick_slab": "Trachyt Sandsteinziegelstufe", + "block.ad_astra.venus_sandstone_brick_stairs": "Trachyt Sandsteinziegeltreppe", + "block.ad_astra.cracked_venus_sandstone_bricks": "Rissige Trachyt Sandsteinziegel", + "block.ad_astra.mercury_stone": "Rauer Komatiit", + "block.ad_astra.mercury_cobblestone": "Komatiitschotter", + "block.ad_astra.mercury_cobblestone_slab": "Komatiitschotterstufe", + "block.ad_astra.mercury_cobblestone_stairs": "Komatiitschottertreppe", + "block.ad_astra.mercury_pillar": "Komatiitsäule", + "block.ad_astra.mercury_stone_brick_slab": "Komatiitziegelstufe", + "block.ad_astra.mercury_stone_brick_stairs": "Komatiitziegeltreppe", + "block.ad_astra.mercury_stone_brick_wall": "Komatiitziegelwand", + "block.ad_astra.mercury_stone_bricks": "Komatiitziegel", + "block.ad_astra.mercury_stone_slab": "Raue Komatiitstufe", + "block.ad_astra.mercury_stone_stairs": "Raue Komatiittreppe", + "block.ad_astra.chiseled_mercury_stone_bricks": "Gemeißelte Komatiitziegel", + "block.ad_astra.chiseled_mercury_stone_slab": "Gemeißelte Komatiitstufe", + "block.ad_astra.chiseled_mercury_stone_stairs": "Gemeißelte Komatiittreppe", + "block.ad_astra.cracked_mercury_stone_bricks": "Rissige Komatiitziegel", + "block.ad_astra.polished_mercury_stone": "Polierter Komatiit", + "block.ad_astra.polished_mercury_stone_slab": "Polierte Komatiitstufe", + "block.ad_astra.polished_mercury_stone_stairs": "Polierte Komatiittreppe", + "block.ad_astra.glacio_stone": "Rauer Phonolith", + "block.ad_astra.glacio_cobblestone": "Phonolithschotter", + "block.ad_astra.glacio_cobblestone_slab": "Phonolithschotterstufe", + "block.ad_astra.glacio_cobblestone_stairs": "Phonolithschottertreppe", + "block.ad_astra.glacio_pillar": "Phonolithsäule", + "block.ad_astra.glacio_stone_brick_slab": "Phonolithziegelstufe", + "block.ad_astra.glacio_stone_brick_stairs": "Phonolithziegeltreppe", + "block.ad_astra.glacio_stone_brick_wall": "Phonolithziegelwand", + "block.ad_astra.glacio_stone_bricks": "Phonolithziegel", + "block.ad_astra.glacio_stone_slab": "Raue Phonolithstufe", + "block.ad_astra.glacio_stone_stairs": "Raue Phonolithtreppe", + "block.ad_astra.chiseled_glacio_stone_bricks": "Gemeißelte Phonolithziegel", + "block.ad_astra.chiseled_glacio_stone_slab": "Gemeißelte Phonolithstufe", + "block.ad_astra.chiseled_glacio_stone_stairs": "Gemeißelte Phonolithtreppe", + "block.ad_astra.cracked_glacio_stone_bricks": "Rissige Phonolithziegel", + "block.ad_astra.polished_glacio_stone": "Polierter Phonolith", + "block.ad_astra.polished_glacio_stone_slab": "Polierte Phonolithstufe", + "block.ad_astra.polished_glacio_stone_stairs": "Polierte Phonolithtreppe", + "block.ad_astra.glacio_globe": "Europa Globus", + "entity.ad_astra.corrupted_lunarian": "Mondzombie", + "entity.ad_astra.martian_raptor": "Skelettraptor", + "entity.ad_astra.tier_1_rocket": "R-Aluminostahlrakete", + "entity.ad_astra.tier_2_rocket": "ASM 4914 Titanrakete", + "entity.ad_astra.tier_3_rocket": "45-Ti Wolframstahlrakete", + "entity.ad_astra.tier_1_rover": "Rover", + "fluid_type.ad_astra.oxygen": "Sauerstoff", + "item.ad_astra.steel_cable": "Einfaches RF Kabel", + "item.ad_astra.desh_cable": "Fortgeschrittenes RF Kabel", + "item.ad_astra.tier_1_rocket": "R-Aluminostahlrakete", + "item.ad_astra.tier_2_rocket": "ASM 4914 Titanrakete", + "item.ad_astra.tier_3_rocket": "45-Ti Wolframstahlrakete", + "item.ad_astra.oxygen_bucket": "Sauerstoffeimer", + "item.ad_astra.tier_1_rover": "Rover", + "item.ad_astra.photovoltaic_etrium_cell": "Fortgeschrittene Photovoltaikzelle", + "item.ad_astra.photovoltaic_vesnium_cell": "Energium Photovoltaikzelle", + "item.ad_astra.ostrum_tank": "Ostrum Feststoffrakete", + "item.ad_astra.steel_engine": "Stahl Raketentriebwerk", + "item.ad_astra.desh_engine": "Desh Raketentriebwerk", + "item.ad_astra.ostrum_engine": "Ostrum Raketentriebwerk", + "item.ad_astra.netherite_space_helmet": "§bWolframstahl Weltraumhelm", + "item.ad_astra.netherite_space_suit": "§bWolframstahl Weltraumanzug", + "item.ad_astra.netherite_space_pants": "§bWolframstahl Weltraumbeinschutz", + "item.ad_astra.netherite_space_boots": "§bWolframstahl Weltraumstiefel", + "item.ad_astra.cheese": "Mondkäse", + "dimension.ad_astra.glacio": "Europa", + "dimension.ad_astra.glacio_orbit": "Europa Umlaufbahn", + "painting.ad_astra.glacio.title": "Europa", + "planet.ad_astra.glacio": "Europa", + "planet.ad_astra.glacio_orbit": "Europa Umlaufbahn", + "tagprefix.moon_stone": "Anorthosit %s Erz", + "tagprefix.moon_deepslate": "Norit %s Erz", + "tagprefix.mars_stone": "Argillit %s Erz", + "tagprefix.venus_stone": "Trachyt %s Erz", + "tagprefix.mercury_stone": "Komatiit %s Erz", + "tagprefix.glacio_stone": "Phonolith %s Erz", + "info.ad_astra.solar_panel": "Generiert Energie von der Sonne. Die generierte Energie ist abhängig vom Planeten.", + "tooltip.ad_astra.energy": "%s FE / %s FE", + "tooltip.ad_astra.energy_generation_per_tick": "Generiert %s FE pro Tick", + "tooltip.ad_astra.energy_in": "Zufuhr: %s FE/t", + "tooltip.ad_astra.energy_out": "Ausgabe: %s FE/t", + "tooltip.ad_astra.energy_per_tick": "%s FE/t", + "tooltip.ad_astra.energy_transfer_tick": "Transfer: %s FE/t", + "tooltip.ad_astra.energy_use_per_tick": "Verwendet %s FE pro Tick", + "tooltip.ad_astra.max_energy_in": "Max. Zufuhr: %s FE/t", + "tooltip.ad_astra.max_energy_out": "Max. Ausgabe: %s FE/t", + "tooltip.ad_astra.max_generation": "Max.: %s FE/t", + "tooltip.ad_astra.max_fluid_in": "Max. Zufuhr: %s mB/t", + "tooltip.ad_astra.max_fluid_out": "Max. Ausgabe: %s mB/t", + "tooltip.ad_astra.fluid": "%s mB / %s mB %s", + "tooltip.ad_astra.fluid_generation_per_iteration": "Generiert %s mB pro Iteration", + "tooltip.ad_astra.fluid_in": "Zufuhr: %s mB/t", + "tooltip.ad_astra.fluid_out": "Ausgabe: %s mB/t", + "tooltip.ad_astra.fluid_per_tick": "%s mB/t", + "tooltip.ad_astra.fluid_transfer_tick": "Transfer: %s mB/t", + "tooltip.ad_astra.fluid_use_per_iteration": "Verwendet %s mB pro Iteration" +} \ No newline at end of file diff --git a/kubejs/assets/additionalplacements/lang/de_de.json b/kubejs/assets/additionalplacements/lang/de_de.json new file mode 100644 index 000000000..6cb99cf36 --- /dev/null +++ b/kubejs/assets/additionalplacements/lang/de_de.json @@ -0,0 +1,33 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "tooltip.additionalplacements.vertical_placement": "Kann vertikal platziert werden", + "tooltip.additionalplacements.stair_connections.all_connections": "Erlaubt gemischte vertikale-horizontale Verbindungen (relativ zur Platzierung)", + "tooltip.additionalplacements.stair_connections.no_mixed_connections": "Erlaubt vertikale Verbindungen (relativ zur Platzierung)", + "tooltip.additionalplacements.stair_connections.no_vertical_connections": "Erlaubt keine vertikalen Verbindungen (relativ zur Platzierung)", + "tooltip.additionalplacements.ceiling_placement": "Kann an Decken platziert werden", + "msg.additionalplacements.mismatchedtags.0": "[Additional Placements] Fehlende und/oder zusätzliche Tags an generierten Blöcken gefunden. Verwende \"", + "msg.additionalplacements.mismatchedtags.1": "\" , um die Tags zu generieren. Um die Tags danach zu generieren, dann \"", + "msg.additionalplacements.mismatchedtags.2": "\" ,um sie neu zu laden (oder lade die Welt neu wenn das nicht funktioniert). Überprüfe die Game Output Logs für mehr Details oder bearbeite die Config, um diese Nachricht auszuschalten.", + "msg.additionalplacements.generate.failure.definition": "Fehler beim generieren des Datapack: fehlgeschlagen die Pack Definition zu kopieren", + "msg.additionalplacements.generate.failure.tag": "Fehler beim generieren des Datapack: fehlgeschlagen den Tag %s zu speichern", + "msg.additionalplacements.generate.failure.initialization": "Fehler beim generieren des Datapack: fehlgeschlagen das Datapack zu initialisieren", + "msg.additionalplacements.generate.success": "Exportieren der Tags abgeschlossen", + "msg.additionalplacements.generate.notfixed": "Automatisches erstellen der Tags konnte nicht Tag Fehlübereinstimmungen lösen. Manuelle Korrektion wird benötigt. Stell sicher, dass Tag-Mismatch Logging eingeschaltet ist und überprüfe die Game Output Logs. Wissen über das Erstellen von Datapacks und Wissen über das Erstellen und Löschen von Block Tags wird vorausgesetzt.", + "key.categories.additionalplacements": "Zusätzliche Platzierungen", + "key.additionalplacements.placement_toggle": "Schalte Platzierungslogik um", + "msg.additionalplacements.placement_enable": "Zusätzliche Platzierungslogik eingeschaltet", + "msg.additionalplacements.placement_disable": "Zusätzliche Platzierungslogik ausgeschaltet", + "msg.additionalplacements.disconnected": "Zusätzliche Platzierungskonfigurationskonflikt", + "msg.additionalplacements.errors.type": "Die folgenden Generierungstypen lehnten die Verbindung ab:", + "msg.additionalplacements.errors.client": "Client-side abgelehnt:", + "msg.additionalplacements.errors.server": "Server-side abgelehnt:", + "msg.additionalplacements.stairs.data_not_found": "Treppenverbindungen Konfigurationsdata konnte nicht vom Client empfangen werden", + "msg.additionalplacements.stairs.connections_type_not_found": "Unbekannte Treppenverbindung Typ %s", + "msg.additionalplacements.stairs.mismatched.header": "Die folgenden Treppen haben den falschen Verbindungstyp. Sie müssen:", + "additionalplacements.stairs.connections_type.all_connections": "Alle Verbindungen zugelassen", + "additionalplacements.stairs.connections_type.no_mixed_connections": "Keine gemischten Verbindungen erlaubt", + "additionalplacements.stairs.connections_type.no_vertical_connections": "Keine vertikalen Verbindungen erlaubt", + "msg.additionalplacements.stairs.mismatched.footer": "Um zu diesen Server verbinden zu können, korrigier die Einträge in config/additionalplacements-bootup.toml und starte das Spiel neu.", + "msg.additionalplacements.local_world_notice": "Merke an: Wenn du versucht hast einen Local Save zu laden, ist die Welt immer noch im hintergrund aktiv. Bitte starte das Spiel neu, um dies zu beheben.", + "commands.ap_stairs_state_debug.wrong_block": "%s ist kein valider Block, er muss eine Treppe mit mehreren Zuständen sein." +} \ No newline at end of file diff --git a/kubejs/assets/ae2/lang/de_de.json b/kubejs/assets/ae2/lang/de_de.json new file mode 100644 index 000000000..780371c9c --- /dev/null +++ b/kubejs/assets/ae2/lang/de_de.json @@ -0,0 +1,23 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "gui.ae2.inWorldCraftingPresses": "Fertigungspressen kann man durch das Zerstören eines Mysteriösen Würfels bekommen. Mysteriöse Würfel sind im Zentrum eines Meteorit, welche man auf dem Mond finden kann.", + "gui.advanced_ae.AdvPatternProvider": "", + "gui.expandedae.exp_pattern_provider": "", + "item.ae2.sky_dust": "Suevit Staub", + "block.ae2.sky_stone_block": "Rauer Suevit", + "block.ae2.sky_stone_stairs": "Suevittreppe", + "block.ae2.sky_stone_wall": "Suevitwand", + "block.ae2.sky_stone_slab": "Suevitstufe", + "block.ae2.smooth_sky_stone_block": "Glatter Suevit", + "block.ae2.smooth_sky_stone_stairs": "Glatte Suevittreppe", + "block.ae2.smooth_sky_stone_wall": "Glatte Suevitwand", + "block.ae2.smooth_sky_stone_slab": "Glatte Suevitstufe", + "block.ae2.sky_stone_brick": "Suevitziegel", + "block.ae2.sky_stone_brick_stairs": "Suevitziegeltrebbe", + "block.ae2.sky_stone_brick_wall": "Suevitziegelwand", + "block.ae2.sky_stone_brick_slab": "Suevitziegelstufe", + "block.ae2.sky_stone_small_brick": "Kleine Suevitziegel", + "block.ae2.sky_stone_small_brick_stairs": "Kleine Suevitziegeltreppe", + "block.ae2.sky_stone_small_brick_wall": "Kleine Suevitziegelwand", + "block.ae2.sky_stone_small_brick_slab": "Kleine Suevitziegelstufe" +} \ No newline at end of file diff --git a/kubejs/assets/ae2insertexportcard/lang/de_de.json b/kubejs/assets/ae2insertexportcard/lang/de_de.json new file mode 100644 index 000000000..8e57c336d --- /dev/null +++ b/kubejs/assets/ae2insertexportcard/lang/de_de.json @@ -0,0 +1,8 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "itemGroup.ae2insertexportcard": "AE2 Eingabe-Ausgabe Karte", + "item.ae2insertexportcard.insert_card": "Eingabekarte", + "item.ae2insertexportcard.export_card": "Ausgabekarte", + "gui.ae2insertexportcard.whitelist": "Whitelist", + "gui.ae2insertexportcard.blacklist": "Blacklist" +} \ No newline at end of file diff --git a/kubejs/assets/afc/lang/de_de.json b/kubejs/assets/afc/lang/de_de.json new file mode 100644 index 000000000..95aaf5d5f --- /dev/null +++ b/kubejs/assets/afc/lang/de_de.json @@ -0,0 +1,819 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "item.afc.wood.lumber.baobab": "Baobabbauholz", + "item.afc.wood.boat.baobab": "Baobabboot", + "item.afc.wood.chest_minecart.baobab": "Baobabtruhenlore", + "item.tfc.wood.support.baobab": "Baobabstütze", + "block.afc.wood.planks.baobab": "Baobabbretter", + "block.afc.wood.vertical_support.baobab": "Baobab Vertikale Stütze", + "block.afc.wood.horizontal_support.baobab": "Baobab Horizontalee Stütze", + "block.afc.wood.log.baobab": "Baobabbaumstamm", + "block.afc.wood.stripped_log.baobab": "Entrindeter Baobabbaumstamm", + "block.afc.wood.wood.baobab": "Baobabholz", + "block.afc.wood.stripped_wood.baobab": "Entrindetes Baobabholz", + "block.afc.wood.twig.baobab": "Baobabzweig", + "block.afc.wood.chest.baobab": "Baobabtruhe", + "block.afc.wood.trapped_chest.baobab": "Baobabredstonetruhe", + "block.afc.wood.sluice.baobab": "Baobabwaschrinne", + "block.afc.wood.barrel.baobab": "Baobabfass", + "block.afc.wood.lectern.baobab": "Baobablesepult", + "block.afc.wood.scribing_table.baobab": "Baobabanreißtisch", + "block.afc.wood.sewing_table.baobab": "Baobabnähtisch", + "block.afc.wood.sign.baobab": "Baobabschild", + "block.afc.wood.jar_shelf.baobab": "Baobab Einmachglasregal", + "block.afc.wood.jarbnet.baobab": "Baobab Marmeladenregal", + "block.afc.wood.hanger.baobab": "Baobab Aufhänger", + "block.afc.wood.food_shelf.baobab": "Baobab Essensregal", + "block.afc.wood.wine_shelf.baobab": "Baobab Weinregal", + "block.afc.wood.barrel_press.baobab": "Baobab Fasspresse", + "block.afc.wood.stomping_barrel.baobab": "Baobab Stampffass", + "block.afc.wood.big_barrel.baobab": "Baobab Bottich", + "block.afc.wood.planks.baobab_bookshelf": "Baobabbücherregal", + "block.afc.wood.planks.baobab_door": "Baobabtür", + "block.afc.wood.planks.baobab_trapdoor": "Baobabfalltür", + "block.afc.wood.planks.baobab_fence": "Baobabzaun", + "block.afc.wood.planks.baobab_log_fence": "Baobabbaumstammzaun", + "block.afc.wood.planks.baobab_fence_gate": "Baobabzauntor", + "block.afc.wood.planks.baobab_button": "Baobabknopf", + "block.afc.wood.planks.baobab_pressure_plate": "Baobabdruckplatte", + "block.afc.wood.planks.baobab_slab": "Baobabstufe", + "block.afc.wood.planks.baobab_stairs": "Baobabtreppe", + "block.afc.wood.planks.baobab_tool_rack": "Baobabwerkzeugregal", + "block.afc.wood.planks.baobab_workbench": "Baobabwerkbank", + "block.afc.wood.planks.baobab_loom": "Baobabwebstuhl", + "block.afc.wood.planks.baobab_sign": "Baobabschild", + "item.afc.wood.lumber.cypress": "Zypressenbauholz", + "item.afc.wood.boat.cypress": "Zypressenboot", + "item.afc.wood.chest_minecart.cypress": "Zypressentruhenlore", + "item.tfc.wood.support.cypress": "Zypressenstütze", + "block.afc.wood.planks.cypress": "Zypressenbretter", + "block.afc.wood.vertical_support.cypress": "Zypressen Vertikale Stütze", + "block.afc.wood.horizontal_support.cypress": "Zypressen Horizontale Stütze", + "block.afc.wood.log.cypress": "Zypressenbaumstamm", + "block.afc.wood.stripped_log.cypress": "Entrindeter Zypressenbaumstamm", + "block.afc.wood.wood.cypress": "Zypressenholz", + "block.afc.wood.stripped_wood.cypress": "Entrindetes Zypressenholz", + "block.afc.wood.twig.cypress": "Zypressenzweig", + "block.afc.wood.chest.cypress": "Zypressentruhe", + "block.afc.wood.trapped_chest.cypress": "Zypressenredstonetruhe", + "block.afc.wood.sluice.cypress": "Zypressenwaschrinne", + "block.afc.wood.barrel.cypress": "Zypressenfass", + "block.afc.wood.lectern.cypress": "Zypressenlesepult", + "block.afc.wood.scribing_table.cypress": "Zypressenanreißtisch", + "block.afc.wood.sewing_table.cypress": "Zypressennähtisch", + "block.afc.wood.sign.cypress": "Zypressenschild", + "block.afc.wood.jar_shelf.cypress": "Zypressen Einmachglasregal", + "block.afc.wood.jarbnet.cypress": "Zypressen Marmeladenregal", + "block.afc.wood.hanger.cypress": "Zypressen Aufhänger", + "block.afc.wood.food_shelf.cypress": "Zypressen Essensregal", + "block.afc.wood.wine_shelf.cypress": "Zypressen Weinregal", + "block.afc.wood.barrel_press.cypress": "Zypressen Fasspresse", + "block.afc.wood.stomping_barrel.cypress": "Zypressen Stampffass", + "block.afc.wood.big_barrel.cypress": "Zypressen Bottich", + "block.afc.wood.planks.cypress_bookshelf": "Zypressenbücherregal", + "block.afc.wood.planks.cypress_door": "Zypressentür", + "block.afc.wood.planks.cypress_trapdoor": "Zypressenfalltür", + "block.afc.wood.planks.cypress_fence": "Zypressenzaun", + "block.afc.wood.planks.cypress_log_fence": "Zypressenbaumstammzaun", + "block.afc.wood.planks.cypress_fence_gate": "Zypressenzauntor", + "block.afc.wood.planks.cypress_button": "Zypressenknopf", + "block.afc.wood.planks.cypress_pressure_plate": "Zypressendruckplatte", + "block.afc.wood.planks.cypress_slab": "Zypressenstufe", + "block.afc.wood.planks.cypress_stairs": "Zypressentreppe", + "block.afc.wood.planks.cypress_tool_rack": "Zypressenwerkzeugregal", + "block.afc.wood.planks.cypress_workbench": "Zypressenwerkbank", + "block.afc.wood.planks.cypress_loom": "Zypressenwebstuhl", + "block.afc.wood.planks.cypress_sign": "Zypressenschild", + "item.afc.wood.lumber.eucalyptus": "Eukalyptusbauholz", + "item.afc.wood.boat.eucalyptus": "Eukalyptusboot", + "item.afc.wood.chest_minecart.eucalyptus": "Eukalyptustruhe Minecart", + "item.tfc.wood.support.eucalyptus": "Eukalyptusstütze", + "block.afc.wood.planks.eucalyptus": "Eukalyptusbretter", + "block.afc.wood.vertical_support.eucalyptus": "Eukalyptus Vertikale Stütze", + "block.afc.wood.horizontal_support.eucalyptus": "Eukalyptus Horizontale Stütze", + "block.afc.wood.log.eucalyptus": "Eukalyptusbaumstamm", + "block.afc.wood.stripped_log.eucalyptus": "Entrindeter Eukalyptusbaumstamm", + "block.afc.wood.wood.eucalyptus": "Eukalyptusholz", + "block.afc.wood.stripped_wood.eucalyptus": "Entrindetes Eukalyptusholz", + "block.afc.wood.twig.eucalyptus": "Eukalyptuszweig", + "block.afc.wood.chest.eucalyptus": "Eukalyptustruhe", + "block.afc.wood.trapped_chest.eucalyptus": "Eukalyptusredstonetruhe", + "block.afc.wood.sluice.eucalyptus": "Eukalyptuswaschrinne", + "block.afc.wood.barrel.eucalyptus": "Eukalyptusfass", + "block.afc.wood.lectern.eucalyptus": "Eukalyptuslesepult", + "block.afc.wood.scribing_table.eucalyptus": "Eukalyptusanreißtisch", + "block.afc.wood.sewing_table.eucalyptus": "Eukalyptusnähtisch", + "block.afc.wood.sign.eucalyptus": "Eukalyptusschild", + "block.afc.wood.jar_shelf.eucalyptus": "Eukalyptus Einmachglasregal", + "block.afc.wood.jarbnet.eucalyptus": "Eukalyptus Marmeladenregal", + "block.afc.wood.hanger.eucalyptus": "Eukalyptus Aufhänger", + "block.afc.wood.food_shelf.eucalyptus": "Eukalyptus Essensregal", + "block.afc.wood.wine_shelf.eucalyptus": "Eukalyptus Weinregal", + "block.afc.wood.barrel_press.eucalyptus": "Eukalyptus Fasspresse", + "block.afc.wood.stomping_barrel.eucalyptus": "Eukalyptus Stampffass", + "block.afc.wood.big_barrel.eucalyptus": "Eukalyptus Bottich", + "block.afc.wood.planks.eucalyptus_bookshelf": "Eukalyptusbücherregal", + "block.afc.wood.planks.eucalyptus_door": "Eukalyptustür", + "block.afc.wood.planks.eucalyptus_trapdoor": "Eukalyptusfalltür", + "block.afc.wood.planks.eucalyptus_fence": "Eukalyptuszaun", + "block.afc.wood.planks.eucalyptus_log_fence": "Eukalyptusbaumstammzaun", + "block.afc.wood.planks.eucalyptus_fence_gate": "Eukalyptuszauntor", + "block.afc.wood.planks.eucalyptus_button": "Eukalyptusknopf", + "block.afc.wood.planks.eucalyptus_pressure_plate": "Eukalyptusdruckplatte", + "block.afc.wood.planks.eucalyptus_slab": "Eukalyptusstufe", + "block.afc.wood.planks.eucalyptus_stairs": "Eukalyptustreppe", + "block.afc.wood.planks.eucalyptus_tool_rack": "Eukalyptuswerkzeugregal", + "block.afc.wood.planks.eucalyptus_workbench": "Eukalyptuswerkbank", + "block.afc.wood.planks.eucalyptus_loom": "Eukalyptuswebstuhl", + "block.afc.wood.planks.eucalyptus_sign": "Eukalyptusschild", + "item.afc.wood.lumber.fig": "Feigenbauholz", + "item.afc.wood.boat.fig": "Feigenboot", + "item.afc.wood.chest_minecart.fig": "Feigentruhe Minecart", + "item.tfc.wood.support.fig": "Feigenstütze", + "block.afc.wood.planks.fig": "Feigenbretter", + "block.afc.wood.vertical_support.fig": "Feigen Vertikale Stütze", + "block.afc.wood.horizontal_support.fig": "Feigen Horizontale Stütze", + "block.afc.wood.log.fig": "Feigenbaumstamm", + "block.afc.wood.stripped_log.fig": "Entrindeter Feigenbaumstamm", + "block.afc.wood.wood.fig": "Feigenholz", + "block.afc.wood.stripped_wood.fig": "Entrindetes Feigenholz", + "block.afc.wood.twig.fig": "Feigenzweig", + "block.afc.wood.chest.fig": "Feigentruhe", + "block.afc.wood.trapped_chest.fig": "Feigenredstonetruhe", + "block.afc.wood.sluice.fig": "Feigenwaschrinne", + "block.afc.wood.barrel.fig": "Feigenfass", + "block.afc.wood.lectern.fig": "Feigenlesepult", + "block.afc.wood.scribing_table.fig": "Feigenanreißtisch", + "block.afc.wood.sewing_table.fig": "Feigennähtisch", + "block.afc.wood.sign.fig": "Feigenschild", + "block.afc.wood.jar_shelf.fig": "Feigen Einmachglasregal", + "block.afc.wood.jarbnet.fig": "Feigen Marmeladenregal", + "block.afc.wood.hanger.fig": "Feigen Aufhänger", + "block.afc.wood.food_shelf.fig": "Feigen Essensregal", + "block.afc.wood.wine_shelf.fig": "Feigen Weinregal", + "block.afc.wood.barrel_press.fig": "Feigen Fasspresse", + "block.afc.wood.stomping_barrel.fig": "Feigen Stampffass", + "block.afc.wood.big_barrel.fig": "Feigen Bottich", + "block.afc.wood.planks.fig_bookshelf": "Feigenbücherregal", + "block.afc.wood.planks.fig_door": "Feigentür", + "block.afc.wood.planks.fig_trapdoor": "Feigenfalltür", + "block.afc.wood.planks.fig_fence": "Feigenzaun", + "block.afc.wood.planks.fig_log_fence": "Feigenbaumstammzaun", + "block.afc.wood.planks.fig_fence_gate": "Feigenzauntor", + "block.afc.wood.planks.fig_button": "Feigenknopf", + "block.afc.wood.planks.fig_pressure_plate": "Feigendruckplatte", + "block.afc.wood.planks.fig_slab": "Feigenstufe", + "block.afc.wood.planks.fig_stairs": "Feigentreppe", + "block.afc.wood.planks.fig_tool_rack": "Feigenwerkzeugregal", + "block.afc.wood.planks.fig_workbench": "Feigenwerkbank", + "block.afc.wood.planks.fig_loom": "Feigenwebstuhl", + "block.afc.wood.planks.fig_sign": "Feigenschild", + "item.afc.wood.lumber.hevea": "Kautschukbauholz", + "item.afc.wood.boat.hevea": "Kautschukboot", + "item.afc.wood.chest_minecart.hevea": "Kautschuktruhe Minecart", + "item.tfc.wood.support.hevea": "Kautschukstütze", + "block.afc.wood.planks.hevea": "Kautschukbretter", + "block.afc.wood.vertical_support.hevea": "Kautschuk Vertikale Stütze", + "block.afc.wood.horizontal_support.hevea": "Kautschuk Horizontale Stütze", + "block.afc.wood.log.hevea": "Kautschukbaumstamm", + "block.afc.wood.stripped_log.hevea": "Entrindeter Kautschukbaumstamm", + "block.afc.wood.wood.hevea": "Kautschukholz", + "block.afc.wood.stripped_wood.hevea": "Entrindetes Kautschukholz", + "block.afc.wood.twig.hevea": "Kautschukzweig", + "block.afc.wood.chest.hevea": "Kautschuktruhe", + "block.afc.wood.trapped_chest.hevea": "Kautschukredstonetruhe", + "block.afc.wood.sluice.hevea": "Kautschukwaschrinne", + "block.afc.wood.barrel.hevea": "Kautschukfass", + "block.afc.wood.lectern.hevea": "Kautschuklesepult", + "block.afc.wood.scribing_table.hevea": "Kautschukanreißtisch", + "block.afc.wood.sewing_table.hevea": "Kautschuknähtisch", + "block.afc.wood.sign.hevea": "Kautschukschild", + "block.afc.wood.jar_shelf.hevea": "Kautschuk Einmachglasregal", + "block.afc.wood.jarbnet.hevea": "Kautschuk Marmeladenregal", + "block.afc.wood.hanger.hevea": "Kautschuk Aufhänger", + "block.afc.wood.food_shelf.hevea": "Kautschuk Essensregal", + "block.afc.wood.wine_shelf.hevea": "Kautschuk Weinregal", + "block.afc.wood.barrel_press.hevea": "Kautschuk Fasspresse", + "block.afc.wood.stomping_barrel.hevea": "Kautschuk Stampffass", + "block.afc.wood.big_barrel.hevea": "Kautschuk Bottich", + "block.afc.wood.planks.hevea_bookshelf": "Kautschukbücherregal", + "block.afc.wood.planks.hevea_door": "Kautschuktür", + "block.afc.wood.planks.hevea_trapdoor": "Kautschukfalltür", + "block.afc.wood.planks.hevea_fence": "Kautschukzaun", + "block.afc.wood.planks.hevea_log_fence": "Kautschukbaumstammzaun", + "block.afc.wood.planks.hevea_fence_gate": "Kautschukzauntor", + "block.afc.wood.planks.hevea_button": "Kautschukknopf", + "block.afc.wood.planks.hevea_pressure_plate": "Kautschukdruckplatte", + "block.afc.wood.planks.hevea_slab": "Kautschukstufe", + "block.afc.wood.planks.hevea_stairs": "Kautschuktreppe", + "block.afc.wood.planks.hevea_tool_rack": "Kautschukwerkzeugregal", + "block.afc.wood.planks.hevea_workbench": "Kautschukwerkbank", + "block.afc.wood.planks.hevea_loom": "Kautschukwebstuhl", + "block.afc.wood.planks.hevea_sign": "Kautschukschild", + "item.afc.wood.lumber.mahogany": "Mahagonibauholz", + "item.afc.wood.boat.mahogany": "Mahagoniboot", + "item.afc.wood.chest_minecart.mahogany": "Mahagonitruhe Minecart", + "item.tfc.wood.support.mahogany": "Mahagonistütze", + "block.afc.wood.planks.mahogany": "Mahagonibretter", + "block.afc.wood.vertical_support.mahogany": "Mahagoni Vertikale Stütze", + "block.afc.wood.horizontal_support.mahogany": "Mahagoni Horizontale Stütze", + "block.afc.wood.log.mahogany": "Mahagonibaumstamm", + "block.afc.wood.stripped_log.mahogany": "Entrindeter Mahagonibaumstamm", + "block.afc.wood.wood.mahogany": "Mahagoniholz", + "block.afc.wood.stripped_wood.mahogany": "Entrindetes Mahagoniholz", + "block.afc.wood.twig.mahogany": "Mahagonizweig", + "block.afc.wood.chest.mahogany": "Mahagonitruhe", + "block.afc.wood.trapped_chest.mahogany": "Mahagoniredstonetruhe", + "block.afc.wood.sluice.mahogany": "Mahagoniwaschrinne", + "block.afc.wood.barrel.mahogany": "Mahagonifass", + "block.afc.wood.lectern.mahogany": "Mahagonilesepult", + "block.afc.wood.scribing_table.mahogany": "Mahagonianreißtisch", + "block.afc.wood.sewing_table.mahogany": "Mahagoninähtisch", + "block.afc.wood.water_wheel.mahogany": "Mahagoni Water Wheel", + "block.afc.wood.encased_axle.mahogany": "Mahagoni Encased Axle", + "block.afc.wood.gear_box.mahogany": "Mahagoni Gear Box", + "block.afc.wood.sign.mahogany": "Mahagonischild", + "block.afc.wood.jar_shelf.mahogany": "Mahagoni Einmachglasregal", + "block.afc.wood.jarbnet.mahogany": "Mahagoni Marmeladenregal", + "block.afc.wood.hanger.mahogany": "Mahagoni Aufhänger", + "block.afc.wood.food_shelf.mahogany": "Mahagoni Essensregal", + "block.afc.wood.wine_shelf.mahogany": "Mahagoni Weinregal", + "block.afc.wood.barrel_press.mahogany": "Mahagoni Fasspresse", + "block.afc.wood.stomping_barrel.mahogany": "Mahagoni Stampffass", + "block.afc.wood.big_barrel.mahogany": "Mahagoni Bottich", + "block.afc.wood.planks.mahogany_bookshelf": "Mahagonibücherregal", + "block.afc.wood.planks.mahogany_door": "Mahagonitür", + "block.afc.wood.planks.mahogany_trapdoor": "Mahagonifalltür", + "block.afc.wood.planks.mahogany_fence": "Mahagonizaun", + "block.afc.wood.planks.mahogany_log_fence": "Mahagonibaumstammzaun", + "block.afc.wood.planks.mahogany_fence_gate": "Mahagonizauntor", + "block.afc.wood.planks.mahogany_button": "Mahagoniknopf", + "block.afc.wood.planks.mahogany_pressure_plate": "Mahagonidruckplatte", + "block.afc.wood.planks.mahogany_slab": "Mahagonistufe", + "block.afc.wood.planks.mahogany_stairs": "Mahagonitreppe", + "block.afc.wood.planks.mahogany_tool_rack": "Mahagoniwerkzeugregal", + "block.afc.wood.planks.mahogany_workbench": "Mahagoniwerkbank", + "block.afc.wood.planks.mahogany_loom": "Mahagoniwebstuhl", + "block.afc.wood.planks.mahogany_sign": "Mahagonischild", + "item.afc.wood.lumber.teak": "Teakbauholz", + "item.afc.wood.boat.teak": "Teakboot", + "item.afc.wood.chest_minecart.teak": "Teaktruhe Minecart", + "item.tfc.wood.support.teak": "Teakstütze", + "block.afc.wood.planks.teak": "Teakbretter", + "block.afc.wood.vertical_support.teak": "Teak Vertikale Stütze", + "block.afc.wood.horizontal_support.teak": "Teak Horizontale Stütze", + "block.afc.wood.log.teak": "Teakbaumstamm", + "block.afc.wood.stripped_log.teak": "Entrindeter Teakbaumstamm", + "block.afc.wood.wood.teak": "Teakholz", + "block.afc.wood.stripped_wood.teak": "Entrindetes Teakholz", + "block.afc.wood.twig.teak": "Teakzweig", + "block.afc.wood.chest.teak": "Teaktruhe", + "block.afc.wood.trapped_chest.teak": "Teakredstonetruhe", + "block.afc.wood.sluice.teak": "Teakwaschrinne", + "block.afc.wood.barrel.teak": "Teakfass", + "block.afc.wood.lectern.teak": "Teaklesepult", + "block.afc.wood.scribing_table.teak": "Teakanreißtisch", + "block.afc.wood.sewing_table.teak": "Teaknähtisch", + "block.afc.wood.sign.teak": "Teakschild", + "block.afc.wood.jar_shelf.teak": "Teak Einmachglasregal", + "block.afc.wood.jarbnet.teak": "Teak Marmeladenregal", + "block.afc.wood.hanger.teak": "Teak Aufhänger", + "block.afc.wood.food_shelf.teak": "Teak Essensregal", + "block.afc.wood.wine_shelf.teak": "Teak Weinregal", + "block.afc.wood.barrel_press.teak": "Teak Fasspresse", + "block.afc.wood.stomping_barrel.teak": "Teak Stampffass", + "block.afc.wood.big_barrel.teak": "Teak Bottich", + "block.afc.wood.planks.teak_bookshelf": "Teakbücherregal", + "block.afc.wood.planks.teak_door": "Teaktür", + "block.afc.wood.planks.teak_trapdoor": "Teakfalltür", + "block.afc.wood.planks.teak_fence": "Teakzaun", + "block.afc.wood.planks.teak_log_fence": "Teakbaumstammzaun", + "block.afc.wood.planks.teak_fence_gate": "Teakzauntor", + "block.afc.wood.planks.teak_button": "Teakknopf", + "block.afc.wood.planks.teak_pressure_plate": "Teakdruckplatte", + "block.afc.wood.planks.teak_slab": "Teakstufe", + "block.afc.wood.planks.teak_stairs": "Teaktreppe", + "block.afc.wood.planks.teak_tool_rack": "Teakwerkzeugregal", + "block.afc.wood.planks.teak_workbench": "Teakwerkbank", + "block.afc.wood.planks.teak_loom": "Teakwebstuhl", + "block.afc.wood.planks.teak_sign": "Teakschild", + "item.afc.wood.lumber.tualang": "Tualangbauholz", + "item.afc.wood.boat.tualang": "Tualangboot", + "item.afc.wood.chest_minecart.tualang": "Tualangtruhe Minecart", + "item.tfc.wood.support.tualang": "Tualangstütze", + "block.afc.wood.planks.tualang": "Tualangbretter", + "block.afc.wood.vertical_support.tualang": "Tualang Vertikale Stütze", + "block.afc.wood.horizontal_support.tualang": "Tualang Horizontale Stütze", + "block.afc.wood.log.tualang": "Tualangbaumstamm", + "block.afc.wood.stripped_log.tualang": "Entrindeter Tualangbaumstamm", + "block.afc.wood.wood.tualang": "Tualangholz", + "block.afc.wood.stripped_wood.tualang": "Entrindetes Tualangholz", + "block.afc.wood.twig.tualang": "Tualangzweig", + "block.afc.wood.chest.tualang": "Tualangtruhe", + "block.afc.wood.trapped_chest.tualang": "Tualangredstonetruhe", + "block.afc.wood.sluice.tualang": "Tualangwaschrinne", + "block.afc.wood.barrel.tualang": "Tualangfass", + "block.afc.wood.lectern.tualang": "Tualanglesepult", + "block.afc.wood.scribing_table.tualang": "Tualanganreißtisch", + "block.afc.wood.sewing_table.tualang": "Tualangnähtisch", + "block.afc.wood.sign.tualang": "Tualangschild", + "block.afc.wood.jar_shelf.tualang": "Tualang Einmachglasregal", + "block.afc.wood.jarbnet.tualang": "Tualang Marmeladenregal", + "block.afc.wood.hanger.tualang": "Tualang Aufhänger", + "block.afc.wood.food_shelf.tualang": "Tualang Essensregal", + "block.afc.wood.wine_shelf.tualang": "Tualang Weinregal", + "block.afc.wood.barrel_press.tualang": "Tualang Fasspresse", + "block.afc.wood.stomping_barrel.tualang": "Tualang Stampffass", + "block.afc.wood.big_barrel.tualang": "Tualang Bottich", + "block.afc.wood.planks.tualang_bookshelf": "Tualangbücherregal", + "block.afc.wood.planks.tualang_door": "Tualangtür", + "block.afc.wood.planks.tualang_trapdoor": "Tualangfalltür", + "block.afc.wood.planks.tualang_fence": "Tualangzaun", + "block.afc.wood.planks.tualang_log_fence": "Tualangbaumstammzaun", + "block.afc.wood.planks.tualang_fence_gate": "Tualangzauntor", + "block.afc.wood.planks.tualang_button": "Tualangknopf", + "block.afc.wood.planks.tualang_pressure_plate": "Tualangdruckplatte", + "block.afc.wood.planks.tualang_slab": "Tualangstufe", + "block.afc.wood.planks.tualang_stairs": "Tualangtreppe", + "block.afc.wood.planks.tualang_tool_rack": "Tualangwerkzeugregal", + "block.afc.wood.planks.tualang_workbench": "Tualangwerkbank", + "block.afc.wood.planks.tualang_loom": "Tualangwebstuhl", + "block.afc.wood.planks.tualang_sign": "Tualangschild", + "item.afc.wood.lumber.ipe": "Ipebauholz", + "item.afc.wood.boat.ipe": "Ipeboot", + "item.afc.wood.chest_minecart.ipe": "Ipetruhe Minecart", + "item.tfc.wood.support.ipe": "Ipestütze", + "block.afc.wood.planks.ipe": "Ipebretter", + "block.afc.wood.vertical_support.ipe": "Ipe Vertikale Stütze", + "block.afc.wood.horizontal_support.ipe": "Ipe Horizontale Stütze", + "block.afc.wood.log.ipe": "Ipebaumstamm", + "block.afc.wood.stripped_log.ipe": "Entrindeter Ipebaumstamm", + "block.afc.wood.wood.ipe": "Ipeholz", + "block.afc.wood.stripped_wood.ipe": "Entrindetes Ipeholz", + "block.afc.wood.twig.ipe": "Ipezweig", + "block.afc.wood.chest.ipe": "Ipetruhe", + "block.afc.wood.trapped_chest.ipe": "Iperedstonetruhe", + "block.afc.wood.sluice.ipe": "Ipewaschrinne", + "block.afc.wood.barrel.ipe": "Ipefass", + "block.afc.wood.lectern.ipe": "Ipelesepult", + "block.afc.wood.scribing_table.ipe": "Ipeanreißtisch", + "block.afc.wood.sewing_table.ipe": "Ipenähtisch", + "block.afc.wood.sign.ipe": "Ipeschild", + "block.afc.wood.jar_shelf.ipe": "Ipe Einmachglasregal", + "block.afc.wood.jarbnet.ipe": "Ipe Marmeladenregal", + "block.afc.wood.hanger.ipe": "Ipe Aufhänger", + "block.afc.wood.food_shelf.ipe": "Ipe Essensregal", + "block.afc.wood.wine_shelf.ipe": "Ipe Weinregal", + "block.afc.wood.barrel_press.ipe": "Ipe Fasspresse", + "block.afc.wood.stomping_barrel.ipe": "Ipe Stampffass", + "block.afc.wood.big_barrel.ipe": "Ipe Bottich", + "block.afc.wood.planks.ipe_bookshelf": "Ipebücherregal", + "block.afc.wood.planks.ipe_door": "Ipetür", + "block.afc.wood.planks.ipe_trapdoor": "Ipefalltür", + "block.afc.wood.planks.ipe_fence": "Ipezaun", + "block.afc.wood.planks.ipe_log_fence": "Ipebaumstammzaun", + "block.afc.wood.planks.ipe_fence_gate": "Ipezauntor", + "block.afc.wood.planks.ipe_button": "Ipeknopf", + "block.afc.wood.planks.ipe_pressure_plate": "Ipedruckplatte", + "block.afc.wood.planks.ipe_slab": "Ipestufe", + "block.afc.wood.planks.ipe_stairs": "Ipetreppe", + "block.afc.wood.planks.ipe_tool_rack": "Ipewerkzeugregal", + "block.afc.wood.planks.ipe_workbench": "Ipewerkbank", + "block.afc.wood.planks.ipe_loom": "Ipewebstuhl", + "block.afc.wood.planks.ipe_sign": "Ipeschild", + "item.afc.wood.lumber.ironwood": "Eisenholzbauholz", + "item.afc.wood.boat.ironwood": "Eisenholzboot", + "item.afc.wood.chest_minecart.ironwood": "Eisenholztruhe Minecart", + "item.tfc.wood.support.ironwood": "Eisenholzstütze", + "block.afc.wood.planks.ironwood": "Eisenholzbretter", + "block.afc.wood.vertical_support.ironwood": "Eisenholz Vertikale Stütze", + "block.afc.wood.horizontal_support.ironwood": "Eisenholz Horizontale Stütze", + "block.afc.wood.log.ironwood": "Eisenholzbaumstamm", + "block.afc.wood.stripped_log.ironwood": "Entrindeter Eisenholzbaumstamm", + "block.afc.wood.wood.ironwood": "Eisenholzholz", + "block.afc.wood.stripped_wood.ironwood": "Entrindetes Eisenholzholz", + "block.afc.wood.twig.ironwood": "Eisenholzzweig", + "block.afc.wood.chest.ironwood": "Eisenholztruhe", + "block.afc.wood.trapped_chest.ironwood": "Eisenholzredstonetruhe", + "block.afc.wood.sluice.ironwood": "Eisenholzwaschrinne", + "block.afc.wood.barrel.ironwood": "Eisenholzfass", + "block.afc.wood.lectern.ironwood": "Eisenholzlesepult", + "block.afc.wood.scribing_table.ironwood": "Eisenholzanreißtisch", + "block.afc.wood.sewing_table.ironwood": "Eisenholznähtisch", + "block.afc.wood.sign.ironwood": "Eisenholzschild", + "block.afc.wood.jar_shelf.ironwood": "Eisenholz Einmachglasregal", + "block.afc.wood.jarbnet.ironwood": "Eisenholz Marmeladenregal", + "block.afc.wood.hanger.ironwood": "Eisenholz Aufhänger", + "block.afc.wood.food_shelf.ironwood": "Eisenholz Essensregal", + "block.afc.wood.wine_shelf.ironwood": "Eisenholz Weinregal", + "block.afc.wood.barrel_press.ironwood": "Eisenholz Fasspresse", + "block.afc.wood.stomping_barrel.ironwood": "Eisenholz Stampffass", + "block.afc.wood.big_barrel.ironwood": "Eisenholz Bottich", + "block.afc.wood.planks.ironwood_bookshelf": "Eisenholzbücherregal", + "block.afc.wood.planks.ironwood_door": "Eisenholztür", + "block.afc.wood.planks.ironwood_trapdoor": "Eisenholzfalltür", + "block.afc.wood.planks.ironwood_fence": "Eisenholzzaun", + "block.afc.wood.planks.ironwood_log_fence": "Eisenholzbaumstammzaun", + "block.afc.wood.planks.ironwood_fence_gate": "Eisenholzzauntor", + "block.afc.wood.planks.ironwood_button": "Eisenholzknopf", + "block.afc.wood.planks.ironwood_pressure_plate": "Eisenholzdruckplatte", + "block.afc.wood.planks.ironwood_slab": "Eisenholzstufe", + "block.afc.wood.planks.ironwood_stairs": "Eisenholztreppe", + "block.afc.wood.planks.ironwood_tool_rack": "Eisenholzwerkzeugregal", + "block.afc.wood.planks.ironwood_workbench": "Eisenholzwerkbank", + "block.afc.wood.planks.ironwood_loom": "Eisenholzwebstuhl", + "block.afc.wood.planks.ironwood_sign": "Eisenholzschild", + "block.afc.wood.leaves.live_oak": "Lebende Eichenblätter", + "block.afc.wood.sapling.live_oak": "Lebender Eichensetzling", + "block.afc.wood.potted_sapling.live_oak": "Eingetopfter Lebender Eichensetzling", + "block.afc.wood.fallen_leaves.live_oak": "Lebende Eichelaub", + "block.afc.wood.leaves.redcedar": "Zedernblätter", + "block.afc.wood.sapling.redcedar": "Zedernsetzling", + "block.afc.wood.potted_sapling.redcedar": "Eingetopfter Zedernsetzling", + "block.afc.wood.fallen_leaves.redcedar": "Zederlaub", + "block.afc.wood.leaves.balsam_fir": "Balsam-Tannenblätter", + "block.afc.wood.sapling.balsam_fir": "Balsam-Tannensetzling", + "block.afc.wood.potted_sapling.balsam_fir": "Eingetopfter Balsam-Tannensetzling", + "block.afc.wood.fallen_leaves.balsam_fir": "Balsam Tannelaub", + "block.afc.wood.leaves.tamarack": "Lärchenblätter", + "block.afc.wood.sapling.tamarack": "Lärchensetzling", + "block.afc.wood.potted_sapling.tamarack": "Eingetopfter Lärchensetzling", + "block.afc.wood.fallen_leaves.tamarack": "Lärchelaub", + "block.afc.wood.leaves.black_spruce": "Schwarz-Fichtenblätter", + "block.afc.wood.sapling.black_spruce": "Schwarz-Fichtensetzling", + "block.afc.wood.potted_sapling.black_spruce": "Eingetopfter Schwarz-Fichtensetzling", + "block.afc.wood.fallen_leaves.black_spruce": "Schwarz-Fichtelaub", + "block.afc.wood.leaves.mahogany": "Mahagoniblätter", + "block.afc.wood.sapling.mahogany": "Mahagonisetzling", + "block.afc.wood.potted_sapling.mahogany": "Eingetopfter Mahagonisetzling", + "block.afc.wood.fallen_leaves.mahogany": "Mahagonilaub", + "block.afc.wood.leaves.gum_arabic": "Gummiarabikumblätter", + "block.afc.wood.sapling.gum_arabic": "Gummiarabikumsetzling", + "block.afc.wood.potted_sapling.gum_arabic": "Eingetopfter Gummiarabikumsetzling", + "block.afc.wood.fallen_leaves.gum_arabic": "Gummiarabikumlaub", + "block.afc.wood.leaves.hevea": "Kautschukblätter", + "block.afc.wood.sapling.hevea": "Kautschuksetzling", + "block.afc.wood.potted_sapling.hevea": "Eingetopfter Kautschuksetzling", + "block.afc.wood.fallen_leaves.hevea": "Kautschuklaub", + "block.afc.wood.leaves.tualang": "Tualangblätter", + "block.afc.wood.sapling.tualang": "Tualangsetzling", + "block.afc.wood.potted_sapling.tualang": "Eingetopfter Tualangsetzling", + "block.afc.wood.fallen_leaves.tualang": "Tualanglaub", + "block.afc.wood.leaves.baobab": "Baobabblätter", + "block.afc.wood.sapling.baobab": "Baobabsetzling", + "block.afc.wood.potted_sapling.baobab": "Eingetopfter Baobabsetzling", + "block.afc.wood.fallen_leaves.baobab": "Baobablaub", + "block.afc.wood.leaves.acacia_koa": "Koa-Akazienblätter", + "block.afc.wood.sapling.acacia_koa": "Koa-Akaziensetzling", + "block.afc.wood.potted_sapling.acacia_koa": "Eingetopfter Koa-Akaziensetzling", + "block.afc.wood.fallen_leaves.acacia_koa": "Koa-Akazielaub", + "block.afc.wood.leaves.mpingo_blackwood": "Grenadillblätter", + "block.afc.wood.sapling.mpingo_blackwood": "Grenadillsetzling", + "block.afc.wood.potted_sapling.mpingo_blackwood": "Eingetopfter Grenadillsetzling", + "block.afc.wood.fallen_leaves.mpingo_blackwood": "Grenadilllaub", + "block.afc.wood.leaves.mountain_fir": "Bergfichtenblätter", + "block.afc.wood.sapling.mountain_fir": "Bergfichtensetzling", + "block.afc.wood.potted_sapling.mountain_fir": "Eingetopfter Bergfichtensetzling", + "block.afc.wood.fallen_leaves.mountain_fir": "Bergfichtenlaub", + "block.afc.wood.leaves.scrub_hickory": "Buschhickoryblätter", + "block.afc.wood.sapling.scrub_hickory": "Buschhickorysetzling", + "block.afc.wood.potted_sapling.scrub_hickory": "Eingetopfter Buschhickorysetzling", + "block.afc.wood.fallen_leaves.scrub_hickory": "Buschhickorylaub", + "block.afc.wood.leaves.bigleaf_maple": "Oregon-Ahornblätter", + "block.afc.wood.sapling.bigleaf_maple": "Oregon-Ahornsetzling", + "block.afc.wood.potted_sapling.bigleaf_maple": "Eingetopfter Oregon-Ahornsetzling", + "block.afc.wood.fallen_leaves.bigleaf_maple": "Oregon-Ahornlaub", + "block.afc.wood.leaves.weeping_maple": "Trauer-Ahornblätter", + "block.afc.wood.sapling.weeping_maple": "Trauer-Ahornsetzling", + "block.afc.wood.potted_sapling.weeping_maple": "Eingetopfter Trauer-Ahornsetzling", + "block.afc.wood.fallen_leaves.weeping_maple": "Trauer-Ahornlaub", + "block.afc.wood.leaves.black_oak": "Schwarzeichenblätter", + "block.afc.wood.sapling.black_oak": "Schwarzeichensetzling", + "block.afc.wood.potted_sapling.black_oak": "Eingetopfter Schwarzeichensetzling", + "block.afc.wood.fallen_leaves.black_oak": "Schwarzeichenlaub", + "block.afc.wood.leaves.stone_pine": "Steinkiefernblätter", + "block.afc.wood.sapling.stone_pine": "Steinkiefernsetzling", + "block.afc.wood.potted_sapling.stone_pine": "Eingetopfter Steinkiefernsetzling", + "block.afc.wood.fallen_leaves.stone_pine": "Steinkiefernlaub", + "block.afc.wood.leaves.red_pine": "Rot-Kiefernblätter", + "block.afc.wood.sapling.red_pine": "Rot-Kiefernsetzling", + "block.afc.wood.potted_sapling.red_pine": "Eingetopfter Rot-Kiefernsetzling", + "block.afc.wood.fallen_leaves.red_pine": "Rot-Kiefernlaub", + "block.afc.wood.leaves.giant_rosewood": "Riesen-Rosenholzblätter", + "block.afc.wood.sapling.giant_rosewood": "Riesen-Rosenholzsetzling", + "block.afc.wood.potted_sapling.giant_rosewood": "Eingetopfter Riesen-Rosenholzsetzling", + "block.afc.wood.fallen_leaves.giant_rosewood": "Riesen-Rosenholzlaub", + "block.afc.wood.leaves.coast_spruce": "Küsten-Fichtenblätter", + "block.afc.wood.sapling.coast_spruce": "Küsten-Fichtensetzling", + "block.afc.wood.potted_sapling.coast_spruce": "Eingetopfter Küsten-Fichtensetzling", + "block.afc.wood.fallen_leaves.coast_spruce": "Küsten-Fichtenlaub", + "block.afc.wood.leaves.sitka_spruce": "Sitka-Fichtenblätter", + "block.afc.wood.sapling.sitka_spruce": "Sitka-Fichtensetzling", + "block.afc.wood.potted_sapling.sitka_spruce": "Eingetopfter Sitka-Fichtensetzling", + "block.afc.wood.fallen_leaves.sitka_spruce": "Sitka-Fichtenlaub", + "block.afc.wood.leaves.atlas_cedar": "Atlas-Zedernblätter", + "block.afc.wood.sapling.atlas_cedar": "Atlas-Zedernsetzling", + "block.afc.wood.potted_sapling.atlas_cedar": "Eingetopfter Atlas-Zedernsetzling", + "block.afc.wood.fallen_leaves.atlas_cedar": "Atlas-Zedernlaub", + "block.afc.wood.leaves.weeping_willow": "Echte Trauerweidenblätter", + "block.afc.wood.sapling.weeping_willow": "Echte Trauerweidensetzling", + "block.afc.wood.potted_sapling.weeping_willow": "Eingetopfter Echte Trauerweidensetzling", + "block.afc.wood.fallen_leaves.weeping_willow": "Echte Trauerweidenlaub", + "block.afc.wood.leaves.rainbow_eucalyptus": "Regenbogenbaumblätter", + "block.afc.wood.sapling.rainbow_eucalyptus": "Regenbogenbaumsetzling", + "block.afc.wood.potted_sapling.rainbow_eucalyptus": "Eingetopfter Regenbogenbaumsetzling", + "block.afc.wood.fallen_leaves.rainbow_eucalyptus": "Regenbogenbaumlaub", + "block.afc.wood.leaves.mountain_ash": "Ebereschenblätter", + "block.afc.wood.sapling.mountain_ash": "Ebereschensetzling", + "block.afc.wood.potted_sapling.mountain_ash": "Eingetopfter Ebereschensetzling", + "block.afc.wood.fallen_leaves.mountain_ash": "Ebereschenlaub", + "block.afc.wood.leaves.weeping_cypress": "Tränen-Zypressenblätter", + "block.afc.wood.sapling.weeping_cypress": "Tränen-Zypressensetzling", + "block.afc.wood.potted_sapling.weeping_cypress": "Eingetopfter Tränen-Zypressensetzling", + "block.afc.wood.fallen_leaves.weeping_cypress": "Tränen-Zypressenlaub", + "block.afc.wood.leaves.bald_cypress": "Echte Sumpfzypressenblätter", + "block.afc.wood.sapling.bald_cypress": "Echte Sumpfzypressensetzling", + "block.afc.wood.potted_sapling.bald_cypress": "Eingetopfter Echte Sumpfzypressensetzling", + "block.afc.wood.fallen_leaves.bald_cypress": "Echte Sumpfzypressenlaub", + "block.afc.wood.leaves.coast_redwood": "Küstenmammutbaumblätter", + "block.afc.wood.sapling.coast_redwood": "Küstenmammutbaumsetzling", + "block.afc.wood.potted_sapling.coast_redwood": "Eingetopfter Küstenmammutbaumsetzling", + "block.afc.wood.fallen_leaves.coast_redwood": "Küstenmammutbaumlaub", + "block.afc.wood.leaves.rubber_fig": "Gummifeigenblätter", + "block.afc.wood.sapling.rubber_fig": "Gummifeigensetzling", + "block.afc.wood.potted_sapling.rubber_fig": "Eingetopfter Gummifeigensetzling", + "block.afc.wood.fallen_leaves.rubber_fig": "Gummifeigenlaub", + "block.afc.wood.leaves.sapele_mahogany": "Sapeliblätter", + "block.afc.wood.sapling.sapele_mahogany": "Sapelisetzling", + "block.afc.wood.potted_sapling.sapele_mahogany": "Eingetopfter Sapelisetzling", + "block.afc.wood.fallen_leaves.sapele_mahogany": "Sapelilaub", + "block.afc.wood.leaves.small_leaf_mahogany": "Westindische Mahagoniblätter", + "block.afc.wood.sapling.small_leaf_mahogany": "Westindischer Mahagonisetzling", + "block.afc.wood.potted_sapling.small_leaf_mahogany": "Eingetopfter Westindischer Mahagonisetzling", + "block.afc.wood.fallen_leaves.small_leaf_mahogany": "Westindisches Mahagonilaub", + "block.afc.wood.leaves.red_silk_cotton": "Asiatische Kapokbaumblätter", + "block.afc.wood.sapling.red_silk_cotton": "Asiatischer Kapokbaumsetzling", + "block.afc.wood.potted_sapling.red_silk_cotton": "Eingetopfter Asiatischer Kapokbaumsetzling", + "block.afc.wood.fallen_leaves.red_silk_cotton": "Asiatische Kapokbaumlaub", + "block.afc.wood.leaves.shisham_rosewood": "Sheeshamblätter", + "block.afc.wood.sapling.shisham_rosewood": "Sheeshamsetzling", + "block.afc.wood.potted_sapling.shisham_rosewood": "Eingetopfter Sheeshamsetzling", + "block.afc.wood.fallen_leaves.shisham_rosewood": "Sheeshamlaub", + "block.afc.wood.leaves.mulga_blackwood": "Mulgablätter", + "block.afc.wood.sapling.mulga_blackwood": "Mulgasetzling", + "block.afc.wood.potted_sapling.mulga_blackwood": "Eingetopfter Mulgasetzling", + "block.afc.wood.fallen_leaves.mulga_blackwood": "Mulgalaub", + "block.afc.wood.leaves.poplar": "Pappelblätter", + "block.afc.wood.sapling.poplar": "Pappelsetzling", + "block.afc.wood.potted_sapling.poplar": "Eingetopfter Pappelsetzling", + "block.afc.wood.fallen_leaves.poplar": "Pappellaub", + "block.afc.wood.leaves.iroko_teak": "Iroko Teakblätter", + "block.afc.wood.sapling.iroko_teak": "Iroko Teaksetzling", + "block.afc.wood.potted_sapling.iroko_teak": "Eingetopfter Iroko Teaksetzling", + "block.afc.wood.fallen_leaves.iroko_teak": "Iroko Teaklaub", + "block.afc.wood.leaves.flame_of_the_forest": "Malabar-Lackbaumblätter", + "block.afc.wood.sapling.flame_of_the_forest": "Malabar-Lackbaumsetzling", + "block.afc.wood.potted_sapling.flame_of_the_forest": "Eingetopfter Malabar-Lackbaumsetzling", + "block.afc.wood.fallen_leaves.flame_of_the_forest": "Malabar-Lackbaumlaub", + "block.afc.wood.leaves.lebombo_ironwood": "Lebombo Eisenholzblätter", + "block.afc.wood.sapling.lebombo_ironwood": "Lebombo Eisenholzsetzling", + "block.afc.wood.potted_sapling.lebombo_ironwood": "Eingetopfter Lebombo Eisenholzsetzling", + "block.afc.wood.fallen_leaves.lebombo_ironwood": "Lebombo Eisenholzlaub", + "block.afc.wood.leaves.horsetail_ironwood": "Kängurubaumblätter", + "block.afc.wood.sapling.horsetail_ironwood": "Kängurubaumsetzling", + "block.afc.wood.potted_sapling.horsetail_ironwood": "Eingetopfter Kängurubaumsetzling", + "block.afc.wood.fallen_leaves.horsetail_ironwood": "Kängurubaumlaub", + "block.afc.wood.leaves.jaggery_palm": "Jaggery Palmenblätter", + "block.afc.wood.sapling.jaggery_palm": "Jaggery Palmensetzling", + "block.afc.wood.potted_sapling.jaggery_palm": "Eingetopfter Jaggery Palmensetzling", + "block.afc.wood.fallen_leaves.jaggery_palm": "Jaggery Palmenlaub", + "block.afc.wood.log.black_oak": "Schwarzeichenbaumstamm", + "block.afc.wood.wood.black_oak": "Schwarzeichenholz", + "block.afc.wood.twig.black_oak": "Schwarzeichenzweig", + "block.afc.wood.log.redcedar": "Zedernbaumstamm", + "block.afc.wood.wood.redcedar": "Zedernholz", + "block.afc.wood.twig.redcedar": "Zedernzweig", + "block.afc.wood.log.rainbow_eucalyptus": "Regenbogenbaumbaumstamm", + "block.afc.wood.wood.rainbow_eucalyptus": "Regenbogenbaumholz", + "block.afc.wood.twig.rainbow_eucalyptus": "Regenbogenbaumzweig", + "block.afc.wood.log.gum_arabic": "Gummiarabikumbaumstamm", + "block.afc.wood.wood.gum_arabic": "Gummiarabikumholz", + "block.afc.wood.twig.gum_arabic": "Gummiarabikumzweig", + "block.afc.wood.log.rubber_fig": "Gummifeigenbaumstamm", + "block.afc.wood.wood.rubber_fig": "Gummifeigenholz", + "block.afc.wood.twig.rubber_fig": "Gummifeigenzweig", + "block.afc.wood.log.poplar": "Pappelbaumstamm", + "block.afc.wood.wood.poplar": "Pappelholz", + "block.afc.wood.twig.poplar": "Pappelzweig", + "block.afc.wood.log.ancient_baobab": "Antiker Baobabbaumstamm", + "block.afc.wood.wood.ancient_baobab": "Antikes Baobabholz", + "block.afc.wood.planks.hanging_sign.copper.baobab": "Kupfer Baobab Hängeschild", + "block.afc.wood.planks.hanging_sign.bronze.baobab": "Bronze Baobab Hängeschild", + "block.afc.wood.planks.hanging_sign.black_bronze.baobab": "Schwarzbronze Baobab Hängeschild", + "block.afc.wood.planks.hanging_sign.bismuth_bronze.baobab": "Bismutbronze Baobab Hängeschild", + "block.afc.wood.planks.hanging_sign.wrought_iron.baobab": "Gusseisen Baobab Hängeschild", + "block.afc.wood.planks.hanging_sign.steel.baobab": "Steel Baobab Hängeschild", + "block.afc.wood.planks.hanging_sign.black_steel.baobab": "Schwarzstahl Baobab Hängeschild", + "block.afc.wood.planks.hanging_sign.red_steel.baobab": "Rotstahl Baobab Hängeschild", + "block.afc.wood.planks.hanging_sign.blue_steel.baobab": "Blaustahl Baobab Hängeschild", + "entity.afc.boat.baobab": "Baobabboot", + "block.afc.wood.log.ancient_cypress": "Antiker Zypressebaumstamm", + "block.afc.wood.wood.ancient_cypress": "Antikes Zypresseholz", + "block.afc.wood.planks.hanging_sign.copper.cypress": "Kupfer Zypresse Hängeschild", + "block.afc.wood.planks.hanging_sign.bronze.cypress": "Bronze Zypresse Hängeschild", + "block.afc.wood.planks.hanging_sign.black_bronze.cypress": "Schwarzbronze Zypresse Hängeschild", + "block.afc.wood.planks.hanging_sign.bismuth_bronze.cypress": "Bismutbronze Zypresse Hängeschild", + "block.afc.wood.planks.hanging_sign.wrought_iron.cypress": "Gusseisen Zypresse Hängeschild", + "block.afc.wood.planks.hanging_sign.steel.cypress": "Steel Zypresse Hängeschild", + "block.afc.wood.planks.hanging_sign.black_steel.cypress": "Schwarzstahl Zypresse Hängeschild", + "block.afc.wood.planks.hanging_sign.red_steel.cypress": "Rotstahl Zypresse Hängeschild", + "block.afc.wood.planks.hanging_sign.blue_steel.cypress": "Blaustahl Zypresse Hängeschild", + "entity.afc.boat.cypress": "Zypresseboot", + "block.afc.wood.log.ancient_eucalyptus": "Antiker Eukalyptusbaumstamm", + "block.afc.wood.wood.ancient_eucalyptus": "Antikes Eukalyptusholz", + "block.afc.wood.planks.hanging_sign.copper.eucalyptus": "Kupfer Eukalyptus Hängeschild", + "block.afc.wood.planks.hanging_sign.bronze.eucalyptus": "Bronze Eukalyptus Hängeschild", + "block.afc.wood.planks.hanging_sign.black_bronze.eucalyptus": "Schwarzbronze Eukalyptus Hängeschild", + "block.afc.wood.planks.hanging_sign.bismuth_bronze.eucalyptus": "Bismutbronze Eukalyptus Hängeschild", + "block.afc.wood.planks.hanging_sign.wrought_iron.eucalyptus": "Gusseisen Eukalyptus Hängeschild", + "block.afc.wood.planks.hanging_sign.steel.eucalyptus": "Steel Eukalyptus Hängeschild", + "block.afc.wood.planks.hanging_sign.black_steel.eucalyptus": "Schwarzstahl Eukalyptus Hängeschild", + "block.afc.wood.planks.hanging_sign.red_steel.eucalyptus": "Rotstahl Eukalyptus Hängeschild", + "block.afc.wood.planks.hanging_sign.blue_steel.eucalyptus": "Blaustahl Eukalyptus Hängeschild", + "entity.afc.boat.eucalyptus": "Eukalyptusboot", + "block.afc.wood.log.ancient_fig": "Antiker Feigenbaumstamm", + "block.afc.wood.wood.ancient_fig": "Antikes Feigenholz", + "block.afc.wood.planks.hanging_sign.copper.fig": "Kupfer Feigen Hängeschild", + "block.afc.wood.planks.hanging_sign.bronze.fig": "Bronze Feigen Hängeschild", + "block.afc.wood.planks.hanging_sign.black_bronze.fig": "Schwarzbronze Feigen Hängeschild", + "block.afc.wood.planks.hanging_sign.bismuth_bronze.fig": "Bismutbronze Feigen Hängeschild", + "block.afc.wood.planks.hanging_sign.wrought_iron.fig": "Gusseisen Feigen Hängeschild", + "block.afc.wood.planks.hanging_sign.steel.fig": "Steel Feigen Hängeschild", + "block.afc.wood.planks.hanging_sign.black_steel.fig": "Schwarzstahl Feigen Hängeschild", + "block.afc.wood.planks.hanging_sign.red_steel.fig": "Rotstahl Feigen Hängeschild", + "block.afc.wood.planks.hanging_sign.blue_steel.fig": "Blaustahl Feigen Hängeschild", + "entity.afc.boat.fig": "Feigenboot", + "block.afc.wood.log.ancient_hevea": "Antiker Kautschukbaumstamm", + "block.afc.wood.wood.ancient_hevea": "Antikes Kautschukholz", + "block.afc.wood.planks.hanging_sign.copper.hevea": "Kupfer Kautschuk Hängeschild", + "block.afc.wood.planks.hanging_sign.bronze.hevea": "Bronze Kautschuk Hängeschild", + "block.afc.wood.planks.hanging_sign.black_bronze.hevea": "Schwarzbronze Kautschuk Hängeschild", + "block.afc.wood.planks.hanging_sign.bismuth_bronze.hevea": "Bismutbronze Kautschuk Hängeschild", + "block.afc.wood.planks.hanging_sign.wrought_iron.hevea": "Gusseisen Kautschuk Hängeschild", + "block.afc.wood.planks.hanging_sign.steel.hevea": "Steel Kautschuk Hängeschild", + "block.afc.wood.planks.hanging_sign.black_steel.hevea": "Schwarzstahl Kautschuk Hängeschild", + "block.afc.wood.planks.hanging_sign.red_steel.hevea": "Rotstahl Kautschuk Hängeschild", + "block.afc.wood.planks.hanging_sign.blue_steel.hevea": "Blaustahl Kautschuk Hängeschild", + "entity.afc.boat.hevea": "Kautschukboot", + "block.afc.wood.log.ancient_mahogany": "Antiker Mahagonibaumstamm", + "block.afc.wood.wood.ancient_mahogany": "Antikes Mahagoniholz", + "block.afc.wood.planks.hanging_sign.copper.mahogany": "Kupfer Mahagoni Hängeschild", + "block.afc.wood.planks.hanging_sign.bronze.mahogany": "Bronze Mahagoni Hängeschild", + "block.afc.wood.planks.hanging_sign.black_bronze.mahogany": "Schwarzbronze Mahagoni Hängeschild", + "block.afc.wood.planks.hanging_sign.bismuth_bronze.mahogany": "Bismutbronze Mahagoni Hängeschild", + "block.afc.wood.planks.hanging_sign.wrought_iron.mahogany": "Gusseisen Mahagoni Hängeschild", + "block.afc.wood.planks.hanging_sign.steel.mahogany": "Steel Mahagoni Hängeschild", + "block.afc.wood.planks.hanging_sign.black_steel.mahogany": "Schwarzstahl Mahagoni Hängeschild", + "block.afc.wood.planks.hanging_sign.red_steel.mahogany": "Rotstahl Mahagoni Hängeschild", + "block.afc.wood.planks.hanging_sign.blue_steel.mahogany": "Blaustahl Mahagoni Hängeschild", + "entity.afc.boat.mahogany": "Mahagoniboot", + "block.afc.wood.log.ancient_teak": "Antiker Teakbaumstamm", + "block.afc.wood.wood.ancient_teak": "Antikes Teakholz", + "block.afc.wood.planks.hanging_sign.copper.teak": "Kupfer Teak Hängeschild", + "block.afc.wood.planks.hanging_sign.bronze.teak": "Bronze Teak Hängeschild", + "block.afc.wood.planks.hanging_sign.black_bronze.teak": "Schwarzbronze Teak Hängeschild", + "block.afc.wood.planks.hanging_sign.bismuth_bronze.teak": "Bismutbronze Teak Hängeschild", + "block.afc.wood.planks.hanging_sign.wrought_iron.teak": "Gusseisen Teak Hängeschild", + "block.afc.wood.planks.hanging_sign.steel.teak": "Steel Teak Hängeschild", + "block.afc.wood.planks.hanging_sign.black_steel.teak": "Schwarzstahl Teak Hängeschild", + "block.afc.wood.planks.hanging_sign.red_steel.teak": "Rotstahl Teak Hängeschild", + "block.afc.wood.planks.hanging_sign.blue_steel.teak": "Blaustahl Teak Hängeschild", + "entity.afc.boat.teak": "Teakboot", + "block.afc.wood.log.ancient_tualang": "Antiker Tualangbaumstamm", + "block.afc.wood.wood.ancient_tualang": "Antikes Tualangholz", + "block.afc.wood.planks.hanging_sign.copper.tualang": "Kupfer Tualang Hängeschild", + "block.afc.wood.planks.hanging_sign.bronze.tualang": "Bronze Tualang Hängeschild", + "block.afc.wood.planks.hanging_sign.black_bronze.tualang": "Schwarzbronze Tualang Hängeschild", + "block.afc.wood.planks.hanging_sign.bismuth_bronze.tualang": "Bismutbronze Tualang Hängeschild", + "block.afc.wood.planks.hanging_sign.wrought_iron.tualang": "Gusseisen Tualang Hängeschild", + "block.afc.wood.planks.hanging_sign.steel.tualang": "Steel Tualang Hängeschild", + "block.afc.wood.planks.hanging_sign.black_steel.tualang": "Schwarzstahl Tualang Hängeschild", + "block.afc.wood.planks.hanging_sign.red_steel.tualang": "Rotstahl Tualang Hängeschild", + "block.afc.wood.planks.hanging_sign.blue_steel.tualang": "Blaustahl Tualang Hängeschild", + "entity.afc.boat.tualang": "Tualangboot", + "block.afc.wood.log.ancient_ipe": "Antiker Ipebaumstamm", + "block.afc.wood.wood.ancient_ipe": "Antikes Ipeholz", + "block.afc.wood.planks.hanging_sign.copper.ipe": "Kupfer Ipe Hängeschild", + "block.afc.wood.planks.hanging_sign.bronze.ipe": "Bronze Ipe Hängeschild", + "block.afc.wood.planks.hanging_sign.black_bronze.ipe": "Schwarzbronze Ipe Hängeschild", + "block.afc.wood.planks.hanging_sign.bismuth_bronze.ipe": "Bismutbronze Ipe Hängeschild", + "block.afc.wood.planks.hanging_sign.wrought_iron.ipe": "Gusseisen Ipe Hängeschild", + "block.afc.wood.planks.hanging_sign.steel.ipe": "Steel Ipe Hängeschild", + "block.afc.wood.planks.hanging_sign.black_steel.ipe": "Schwarzstahl Ipe Hängeschild", + "block.afc.wood.planks.hanging_sign.red_steel.ipe": "Rotstahl Ipe Hängeschild", + "block.afc.wood.planks.hanging_sign.blue_steel.ipe": "Blaustahl Ipe Hängeschild", + "entity.afc.boat.ipe": "Ipeboot", + "block.afc.wood.log.ancient_ironwood": "Antiker Eisenholzbaumstamm", + "block.afc.wood.wood.ancient_ironwood": "Antikes Eisenholzholz", + "block.afc.wood.planks.hanging_sign.copper.ironwood": "Kupfer Eisenholz Hängeschild", + "block.afc.wood.planks.hanging_sign.bronze.ironwood": "Bronze Eisenholz Hängeschild", + "block.afc.wood.planks.hanging_sign.black_bronze.ironwood": "Schwarzbronze Eisenholz Hängeschild", + "block.afc.wood.planks.hanging_sign.bismuth_bronze.ironwood": "Bismutbronze Eisenholz Hängeschild", + "block.afc.wood.planks.hanging_sign.wrought_iron.ironwood": "Gusseisen Eisenholz Hängeschild", + "block.afc.wood.planks.hanging_sign.steel.ironwood": "Steel Eisenholz Hängeschild", + "block.afc.wood.planks.hanging_sign.black_steel.ironwood": "Schwarzstahl Eisenholz Hängeschild", + "block.afc.wood.planks.hanging_sign.red_steel.ironwood": "Rotstahl Eisenholz Hängeschild", + "block.afc.wood.planks.hanging_sign.blue_steel.ironwood": "Blaustahl Eisenholz Hängeschild", + "entity.afc.boat.ironwood": "Eisenholzboot", + "block.afc.wood.log.ancient_black_oak": "Antiker Schwarzeichenbaumstamm", + "block.afc.wood.wood.ancient_black_oak": "Antikes Schwarzeichenholz", + "block.afc.wood.log.ancient_gum_arabic": "Antiker Gummiarabikumbaumstamm", + "block.afc.wood.wood.ancient_gum_arabic": "Antikes Gummiarabikumholz", + "block.afc.wood.log.ancient_rainbow_eucalyptus": "Antiker Regenbogenbaumbaumstamm", + "block.afc.wood.wood.ancient_rainbow_eucalyptus": "Antikes Regenbogenbaumholz", + "block.afc.wood.log.ancient_redcedar": "Antiker Rotzedernbaumstamm", + "block.afc.wood.wood.ancient_redcedar": "Antikes Rotzedernholz", + "block.afc.wood.log.ancient_acacia": "Antiker Akazienbaumstamm", + "block.afc.wood.wood.ancient_acacia": "Antikes Akazienholz", + "block.afc.wood.log.ancient_ash": "Antiker Eschenbaumstamm", + "block.afc.wood.wood.ancient_ash": "Antikes Eschenholz", + "block.afc.wood.log.ancient_aspen": "Antiker Espenbaumstamm", + "block.afc.wood.wood.ancient_aspen": "Antikes Espenholz", + "block.afc.wood.log.ancient_birch": "Antiker Birkenbaumstamm", + "block.afc.wood.wood.ancient_birch": "Antikes Birkenholz", + "block.afc.wood.log.ancient_blackwood": "Antiker Schwarzholzbaumstamm", + "block.afc.wood.wood.ancient_blackwood": "Antikes Schwarzholzholz", + "block.afc.wood.log.ancient_chestnut": "Antiker Kastaniebaumstamm", + "block.afc.wood.wood.ancient_chestnut": "Antikes Kastanieholz", + "block.afc.wood.log.ancient_douglas_fir": "Antiker Douglasienbaumstamm", + "block.afc.wood.wood.ancient_douglas_fir": "Antikes Douglasienholz", + "block.afc.wood.log.ancient_hickory": "Antiker Nussbaumbaumstamm", + "block.afc.wood.wood.ancient_hickory": "Antikes Nussbaumholz", + "block.afc.wood.log.ancient_kapok": "Antiker Kapokbaumstamm", + "block.afc.wood.wood.ancient_kapok": "Antikes Kapokholz", + "block.afc.wood.log.ancient_maple": "Antiker Ahornbaumstamm", + "block.afc.wood.wood.ancient_maple": "Antikes Ahornholz", + "block.afc.wood.log.ancient_oak": "Antiker Eichenbaumstamm", + "block.afc.wood.wood.ancient_oak": "Antikes Eichenholz", + "block.afc.wood.log.ancient_palm": "Antiker Palmenbaumstamm", + "block.afc.wood.wood.ancient_palm": "Antikes Palmenholz", + "block.afc.wood.log.ancient_pine": "Antiker Kiefernbaumstamm", + "block.afc.wood.wood.ancient_pine": "Antikes Kiefernholz", + "block.afc.wood.log.ancient_rosewood": "Antiker Palisanderbaumstamm", + "block.afc.wood.wood.ancient_rosewood": "Antikes Palisanderholz", + "block.afc.wood.log.ancient_sequoia": "Antiker Mammutbaumbaumstamm", + "block.afc.wood.wood.ancient_sequoia": "Antikes Mammutbaumholz", + "block.afc.wood.log.ancient_spruce": "Antiker Fichtenbaumstamm", + "block.afc.wood.wood.ancient_spruce": "Antikes Fichtenholz", + "block.afc.wood.log.ancient_sycamore": "Antiker Platanenbaumstamm", + "block.afc.wood.wood.ancient_sycamore": "Antiker Platanenholz", + "block.afc.wood.log.ancient_white_cedar": "Antiker Weißzedernbaumstamm", + "block.afc.wood.wood.ancient_white_cedar": "Antikes Weißzedernholz", + "block.afc.wood.log.ancient_willow": "Antiker Weidenbaumstamm", + "block.afc.wood.wood.ancient_willow": "Antikes Weidenholz", + "block.afc.wood.sapling.ipe": "Gelber Ipesetzling", + "block.afc.wood.potted_sapling.ipe": "Eingetopfter Gelber Ipesetzling", + "block.afc.wood.leaves.ipe": "Gelbe Ipeblätter", + "block.afc.wood.fallen_leaves.ipe": "Gelbes Ipelaub", + "block.afc.wood.sapling.ironwood": "Königs Eisenholzsetzling", + "block.afc.wood.potted_sapling.ironwood": "Eingetopfter Königs Eisenholzsetzling", + "block.afc.wood.fallen_leaves.ironwood": "Königs Eisenholzlaub", + "block.afc.wood.leaves.ironwood": "Königs Eisenholzblätter", + "block.afc.wood.sapling.cypress": "Schlanke Zypressesetzling", + "block.afc.wood.potted_sapling.cypress": "Eingetopfter Schlanke Zypressesetzling", + "block.afc.wood.fallen_leaves.cypress": "Schlanke Zypresselaub", + "block.afc.wood.leaves.cypress": "Schlanke Zypresseblätter", + "block.afc.wood.sapling.teak": "Wahre Teaksetzling", + "block.afc.wood.potted_sapling.teak": "Eingetopfter Wahre Teaksetzling", + "block.afc.wood.fallen_leaves.teak": "Wahre Teaklaub", + "block.afc.wood.leaves.teak": "Wahre Teakblätter", + "block.afc.wood.sapling.eucalyptus": "Blauer Eukalyptussetzling", + "block.afc.wood.potted_sapling.eucalyptus": "Eingetopfter Blauer Eukalyptussetzling", + "block.afc.wood.fallen_leaves.eucalyptus": "Blauer Eukalyptuslaub", + "block.afc.wood.leaves.eucalyptus": "Blauer Eukalyptusblätter", + "block.afc.wood.sapling.fig": "Rostige Feigensetzling", + "block.afc.wood.potted_sapling.fig": "Eingetopfter Rostige Feigensetzling", + "block.afc.wood.fallen_leaves.fig": "Rostige Feigenlaub", + "block.afc.wood.leaves.fig": "Rostige Feigenblätter", + "block.afc.tree_tap": "Zapfhahn", + "item.afc.rubber_bar": "Gummibarren", + "item.afc.maple_sugar": "Ahornzucker", + "item.afc.birch_sugar": "Birkenzucker", + "fluid.afc.latex": "Latex", + "fluid.afc.maple_sap": "Ahornharz", + "fluid.afc.maple_sap_concentrate": "Konzentriertes Ahornharz", + "fluid.afc.maple_syrup": "Ahornsirup", + "fluid.afc.birch_sap": "Birkenharz", + "fluid.afc.birch_sap_concentrate": "Konzentriertes Birkenharz", + "fluid.afc.birch_syrup": "Birkensirup", + "itemGroup.afc_creative_mode_tab": "ArborFirmaCraft", + "tfc.jei.tree_tap": "Baumzapfen", + "tooltip.afc.tap.no_recipe": "Kein Rezept für diesen Eintrag gefunden", + "tooltip.afc.tap.fluid": "Flüssigkeit: ", + "tooltip.afc.tap.amount": "Menge: ", + "tooltip.afc.tap.temp_range": "Temperaturbereich: ", + "tooltip.afc.tap.spring": "Quelle: ", + "tooltip.afc.tap.current_temp": "Derzeitige Temperatur: %s", + "tooltip.afc.tap.efficiency": "Effizienz: ", + "config.jade.plugin_afc.tap": "AFC Zapfhahn Jade Information" +} \ No newline at end of file diff --git a/kubejs/assets/ags_modernmarkings/lang/de_de.json b/kubejs/assets/ags_modernmarkings/lang/de_de.json new file mode 100644 index 000000000..e10bb8581 --- /dev/null +++ b/kubejs/assets/ags_modernmarkings/lang/de_de.json @@ -0,0 +1,125 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "item.ags_modernmarkings.chalk": "Kreide", + "block.ags_modernmarkings.floor_marking_nostep": "Kein Zugang Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_white_arrow": "Weißer Pfeil Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_white_double_arrow": "Weißer Doppelpfeil Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_white_lane": "Weiße Spur Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_white_square": "Weißes Viereck Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_yellow_arrow": "Gelber Pfeil Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_yellow_sideline": "Gelbe Seitenlinie Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_yellow_square": "Gelbes Viereck Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_yellow_stripes": "Gelbe Streifen Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_black_singleline": "Schwarze Linie Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_blue_singleline": "Blaue Linie Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_green_singleline": "Grüne Linie Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_orange_singleline": "Orange Linie Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_white_singleline": "Weiße Linie Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_yellow_singleline": "Gelbe Linie Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_red_singleline": "Rote Linie Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_black_corner": "Schwarze Ecke Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_blue_corner": "Blaue Ecke Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_green_corner": "Grüne Ecke Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_orange_corner": "Orange Ecke Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_white_corner": "Weiße Ecke Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_yellow_corner": "Gelbe Ecke Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_red_corner": "Rote Ecke Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_yellow_hazardline": "Gelbe Gefahrenlinie Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_red_hazardline": "Rote Gefahrenlinie Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_whiteblack_hazardline": "Weiße Gefahrenlinie Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_noentry": "Kein Zutritt Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_redx": "Rotes Kreuz Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_danger_red": "Rote Gefahr Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_danger_yellow": "Gelbe Gefahr Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_white_lane_cross": "Weiße Spurenkreuz Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_yellow_lane": "Gelbe Spur Bodenmarkierung", + "block.ags_modernmarkings.floor_marking_exit": "Ausgang Bodenmarkierung", + "block.ags_modernmarkings.wall_marking_number_0": "0 Wandmarkierung", + "block.ags_modernmarkings.wall_marking_number_1": "1 Wandmarkierung", + "block.ags_modernmarkings.wall_marking_number_2": "2 Wandmarkierung", + "block.ags_modernmarkings.wall_marking_number_3": "3 Wandmarkierung", + "block.ags_modernmarkings.wall_marking_number_4": "4 Wandmarkierung", + "block.ags_modernmarkings.wall_marking_number_5": "5 Wandmarkierung", + "block.ags_modernmarkings.wall_marking_number_6": "6 Wandmarkierung", + "block.ags_modernmarkings.wall_marking_number_7": "7 Wandmarkierung", + "block.ags_modernmarkings.wall_marking_number_8": "8 Wandmarkierung", + "block.ags_modernmarkings.wall_marking_number_9": "9 Wandmarkierung", + "block.ags_modernmarkings.wall_marking_number_no": "Nr. Wandmarkierung", + "block.ags_modernmarkings.wall_marking_number_numero": "Numero Wandmarkierung", + "block.ags_modernmarkings.wall_marking_number_dash": "- Wandmarkierung", + "block.ags_modernmarkings.wall_marking_number_comma": "Komma Wandmarkierung", + "block.ags_modernmarkings.wall_marking_number_period": "Punkt Wandmarkierung", + "block.ags_modernmarkings.wall_marking_exclamation_mark": "Ausrufezeichen Wandmarkierung", + "block.ags_modernmarkings.wall_marking_question_mark": "Fragezeichen Wandmarkierung", + "block.ags_modernmarkings.wall_marking_arrowleft": "Linker-Pfeil Wandmarkierung", + "block.ags_modernmarkings.wall_marking_arrowright": "Rechter-Pfeil Wandmarkierung", + "block.ags_modernmarkings.wall_marking_hazardline_right": "Gefahrenlinie Rechte Ecke Wandmarkierung", + "block.ags_modernmarkings.wall_marking_hazardline_left": "Gefahrenlinie Linke Ecke Wandmarkierung", + "block.ags_modernmarkings.wall_marking_warning_danger": "Warnung Wandmarkierung", + "block.ags_modernmarkings.wall_marking_exit": "Ausgang Wandmarkierung", + "block.ags_modernmarkings.wall_marking_hazard_diamond": "Gefahrendiamant Wandmarkierung", + "block.ags_modernmarkings.wall_marking_symbol_production": "Produktion Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_radiation": "Strahlung Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_pinch": "Quetschkante Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_frost": "Frost Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_chemical": "Chemisches Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_electric": "Elektrisches Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_storage": "Lager Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_fire": "Feuer Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_magic": "Magie Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_gears": "Zahnräder Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_laser": "Laser Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_fluid": "Flüssigkeiten Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_mob": "Monster Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_yellow_production": "Gelbes Produktion Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_yellow_radiation": "Gelbes Strahlung Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_yellow_pinch": "Gelbes Quetschkante Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_yellow_frost": "Gelbes Frost Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_yellow_chemical": "Gelbes Chemisches Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_yellow_electric": "Gelbes Elektrisches Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_yellow_storage": "Gelbes Lager Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_yellow_fire": "Gelbes Feuer Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_yellow_magic": "Gelbes Magie Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_yellow_gears": "Gelbes Zahnräder Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_yellow_laser": "Gelbes Laser Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_yellow_fluid": "Gelbes Flüssigkeiten Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_yellow_mob": "Gelbes Monster Wandsymbol", + "block.ags_modernmarkings.wall_marking_symbol_jeo": "Just Enough Opinions Podcast Symbol", + "block.ags_modernmarkings.wall_marking_voltage_steam": "Dampfstufe Wandsymbol", + "block.ags_modernmarkings.wall_marking_voltage_ulv": "Ultra-Niedrige Spannung Wandsymbol", + "block.ags_modernmarkings.wall_marking_voltage_lv": "Niedrige Spannung Wandsymbol", + "block.ags_modernmarkings.wall_marking_voltage_mv": "Mittlere Spannung Wandsymbol", + "block.ags_modernmarkings.wall_marking_voltage_hv": "Hohe Spannung Wandsymbol", + "block.ags_modernmarkings.wall_marking_voltage_ev": "Extreme Spannung Wandsymbol", + "block.ags_modernmarkings.wall_marking_voltage_iv": "Verrückte Spannung Wandsymbol", + "block.ags_modernmarkings.wall_marking_voltage_luv": "Irre Spannung Wandsymbol", + "block.ags_modernmarkings.wall_marking_voltage_zpm": "Zero Point Modul Spannung Wandsymbol", + "block.ags_modernmarkings.wall_marking_voltage_uv": "Ultra Spannung Wandsymbol", + "block.ags_modernmarkings.wall_marking_voltage_uhv": "Ultra-Hohe Spannung Wandsymbol", + "block.ags_modernmarkings.wall_marking_voltage_uev": "Ultra-Extreme Spannung Wandsymbol", + "block.ags_modernmarkings.wall_marking_voltage_uiv": "Ultra-Verrückte Spannung Wandsymbol", + "block.ags_modernmarkings.wall_marking_voltage_umv": "Ultra-Irre Spannung Wandsymbol", + "block.ags_modernmarkings.wall_marking_voltage_uxv": "Ultra-ZPM Spannung Wandsymbol", + "block.ags_modernmarkings.wall_marking_voltage_max": "MAXIMALE Spannung Wandsymbol", + "block.ags_modernmarkings.wall_marking_voltage_pert": "Pro Tick Wandsymbol", + "block.ags_modernmarkings.wall_marking_voltage_eu": "EU Wandsymbol", + "block.ags_modernmarkings.wall_marking_voltage_rf": "RF Wandsymbol", + "block.ags_modernmarkings.wall_marking_voltage_fe": "FE Wandsymbol", + "creativetab.floor_markings": "Bodenmarkierungen", + "creativetab.wall_markings": "Wandmarkierungen", + "tooltip.ags_modernmarkings.floormarkingbasic": "eine Bodenmarkierung", + "tooltip.ags_modernmarkings.floormarking_redline": "Defekte, Schrott und Rote Markierungsareale", + "tooltip.ags_modernmarkings.floormarking_yellowline": "Gassen, Straßenmarkierungen und Arbeitszellen", + "tooltip.ags_modernmarkings.floormarking_orangeline": "Zeug gehalten für Inspektion", + "tooltip.ags_modernmarkings.floormarking_greenline": "Herstellung-Fertige Güter", + "tooltip.ags_modernmarkings.floormarking_blueline": "Herstellung-Rohe Materialien", + "tooltip.ags_modernmarkings.floormarking_whiteline": "Andersweitig nicht Farbkodiertes Zeug", + "tooltip.ags_modernmarkings.floormarking_blackline": "Herstellung-Arbeit im Gange", + "tooltip.ags_modernmarkings.floormarking_yellowhazard": "könnte eine physische/lebensbedrohliche Gefahr sein", + "tooltip.ags_modernmarkings.floormarking_redhazard": "für Sicherheitszwecke freihalten", + "tooltip.ags_modernmarkings.floormarking_whitehazard": "für Operationszwecke freihalten", + "tooltip.ags_modernmarkings.wallmarking_basic": "eine Wandmarkierung", + "tooltip.ags_modernmarkings.wallmarking_power": "Wandmarkierung für Strom", + "tooltip.ags_modernmarkings.wallmarking_jeo": "Produktplatzierung!", + "tooltip.ags_modernmarkings.wallmarking_diamond": "NFPA 704, wird verwendet, um über das Risiko von gefährlichen Stoffen zu berichten." +} \ No newline at end of file diff --git a/kubejs/assets/alekiroofs/lang/de_de.json b/kubejs/assets/alekiroofs/lang/de_de.json new file mode 100644 index 000000000..7dd40d6c3 --- /dev/null +++ b/kubejs/assets/alekiroofs/lang/de_de.json @@ -0,0 +1,15 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.alekiroofs.baobab_roofing": "Baobachbedachung", + "block.alekiroofs.crimson_roofing": "Karmesinbedachung", + "block.alekiroofs.cypress_roofing": "Zypressenbedachung", + "block.alekiroofs.eucalyptus_roofing": "Eukalyptusbedachung", + "block.alekiroofs.fig_roofing": "Feigenbedachung", + "block.alekiroofs.hevea_roofing": "Kautschukbedachung", + "block.alekiroofs.ipe_roofing": "Ipebedachung", + "block.alekiroofs.ironwood_roofing": "Eisenholzbedachung", + "block.alekiroofs.mahogany_roofing": "Mahoganibedachung", + "block.alekiroofs.teak_roofing": "Teakbedachung", + "block.alekiroofs.tualang_roofing": "Tualangbedachung", + "block.alekiroofs.warped_roofing": "Wirrbedachung" +} \ No newline at end of file diff --git a/kubejs/assets/alekiships/lang/de_de.json b/kubejs/assets/alekiships/lang/de_de.json new file mode 100644 index 000000000..6b4950b94 --- /dev/null +++ b/kubejs/assets/alekiships/lang/de_de.json @@ -0,0 +1,123 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "alekiships.advancements.armor_stand_on_boat.description": "Platziere einen leblosen Gefährten auf dein Boot", + "alekiships.advancements.armor_stand_on_boat.title": "Wilson!!!!!!!", + "alekiships.advancements.cannon.description": "Stelle eine Kanone her", + "alekiships.advancements.cannon.title": "Eingehendes kanonisches Ereignis", + "alekiships.advancements.dye_ship_black.description": "Benenne ein Schiff die Black Pearl", + "alekiships.advancements.dye_ship_black.title": "Das ist der beste Pirate, den ich je gesehen habe", + "alekiships.advancements.full_broadside.description": "Feuer eine neue Breitseite", + "alekiships.advancements.full_broadside.title": "Meister und Kommandant", + "alekiships.advancements.ride_barrel.description": "Reite ein Fass", + "alekiships.advancements.ride_barrel.title": "Verloren auf See", + "alekiships.advancements.rowboat_completed.description": "Baue ein Ruderboot", + "alekiships.advancements.rowboat_completed.title": "Der Montlake Schnitt", + "alekiships.advancements.sloop_completed.description": "Baue eine Schaluppe", + "alekiships.advancements.sloop_completed.title": "Yesler's Werft", + "alekiships.config.server.windAffectsBoatsWithNoAnchor": "Wind Beeinflusst Boote Ohne Anker", + "alekiships.failed_multiblock_detection": "Keine Valide Rumpfstruktur Gefunden", + "alekiships.jade.compartment_block": "%smodul", + "block.alekiships.cleat": "Klampe", + "block.alekiships.oarlock": "Ruderdolle", + "block.alekiships.watercraft_frame_angled": "Geneigtes Schiffsbaugerüst", + "block.alekiships.watercraft_frame_flat": "Flaches Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.angled.acacia": "Akazien Geneigtes Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.angled.bamboo": "Bambus Geneigtes Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.angled.birch": "Birken Geneigtes Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.angled.cherry": "Kirschen Geneigtes Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.angled.crimson": "Karmesin Geneigtes Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.angled.dark_oak": "Schwarzeichen Geneigtes Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.angled.jungle": "Jungel Geneigtes Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.angled.mangrove": "Mangroven Geneigtes Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.angled.oak": "Eiche Geneigtes Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.angled.spruce": "Fichten Geneigtes Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.angled.warped": "Wirr Geneigtes Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.flat.acacia": "Akazien Flaches Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.flat.bamboo": "Bambus Flaches Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.flat.birch": "Birken Flaches Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.flat.cherry": "Kirschen Flaches Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.flat.crimson": "Karmesin Flaches Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.flat.dark_oak": "Schwarzeichen Flaches Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.flat.jungle": "Jungel Flaches Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.flat.mangrove": "Mangroven Flaches Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.flat.oak": "Eiche Flaches Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.flat.spruce": "Fichten Flaches Schiffsbaugerüst", + "block.alekiships.wood.watercraft_frame.flat.warped": "Wirr Flaches Schiffsbaugerüst", + "config.jade.plugin_alekiships.block": "Blockmodul", + "config.jade.plugin_alekiships.brewing_stand": "Braustandmodul", + "config.jade.plugin_alekiships.furnace": "Ofenmodul", + "config.jade.plugin_alekiships.jukebox": "Plattenspielermodul", + "config.jade.plugin_alekiships.note_block": "Notenblockmodul", + "creativetab.alekiships_tab": "aleki's Nifty Ships", + "eject_passengers": "um rauszuwerfen", + "entity.alekiships.cannon": "Kanone", + "entity.alekiships.cannonball": "Kanonenkugel", + "entity.alekiships.compartment_barrel": "Fassmodul", + "entity.alekiships.compartment_blast_furnace": "Schmelzofenmodul", + "entity.alekiships.compartment_block": "Blockmodul", + "entity.alekiships.compartment_brewing_stand": "Braustandmodul", + "entity.alekiships.compartment_cartography_table": "Kartentischmodul", + "entity.alekiships.compartment_chest": "Truhenmodul", + "entity.alekiships.compartment_crafting_table": "Werkbankmodul", + "entity.alekiships.compartment_empty": "Leeres Modul", + "entity.alekiships.compartment_ender_chest": "Endertruhenmodul", + "entity.alekiships.compartment_furnace": "Ofenmodul", + "entity.alekiships.compartment_grindstone": "Schleifsteinmodul", + "entity.alekiships.compartment_jukebox": "Plattenspielermodul", + "entity.alekiships.compartment_loom": "Webstuhlmodul", + "entity.alekiships.compartment_note_block": "Notenblockmodul", + "entity.alekiships.compartment_shulker_box": "Shulkerkistenmodul", + "entity.alekiships.compartment_smithing_table": "Schmiedetischmodul", + "entity.alekiships.compartment_smoker": "Räucherofenmodul", + "entity.alekiships.compartment_stonecutter": "Steinschneidermodul", + "entity.alekiships.rowboat.acacia": "Akazien Ruderboot", + "entity.alekiships.rowboat.bamboo": "Bambus Ruderboot", + "entity.alekiships.rowboat.birch": "Birken Ruderboot", + "entity.alekiships.rowboat.cherry": "Kirsch Ruderboot", + "entity.alekiships.rowboat.crimson": "Karmesin Ruderboot", + "entity.alekiships.rowboat.dark_oak": "Schwarzeichen Ruderboot", + "entity.alekiships.rowboat.jungle": "Jungel Ruderboot", + "entity.alekiships.rowboat.mangrove": "Mangrovenn Ruderboot", + "entity.alekiships.rowboat.oak": "Eiche Ruderboot", + "entity.alekiships.rowboat.spruce": "Fichten Ruderboot", + "entity.alekiships.rowboat.warped": "Wirr Ruderboot", + "entity.alekiships.sloop.acacia": "Akazien Schaluppe", + "entity.alekiships.sloop.bamboo": "Bambus Schaluppe", + "entity.alekiships.sloop.birch": "Birken Schaluppe", + "entity.alekiships.sloop.cherry": "Kirsch Schaluppe", + "entity.alekiships.sloop.crimson": "Karmesin Schaluppe", + "entity.alekiships.sloop.dark_oak": "Schwarzeichen Schaluppe", + "entity.alekiships.sloop.jungle": "Jungel Schaluppe", + "entity.alekiships.sloop.mangrove": "Mangrovenn Schaluppe", + "entity.alekiships.sloop.oak": "Eichen Schaluppe", + "entity.alekiships.sloop.spruce": "Fichten Schaluppe", + "entity.alekiships.sloop.warped": "Wirr Schaluppe", + "entity.alekiships.sloop_construction.acacia": "Akazien Schaluppe", + "entity.alekiships.sloop_construction.bamboo": "Bambus Schaluppe", + "entity.alekiships.sloop_construction.birch": "Birken Schaluppe", + "entity.alekiships.sloop_construction.cherry": "Kirschen Schaluppe", + "entity.alekiships.sloop_construction.crimson": "Karmesin Schaluppe", + "entity.alekiships.sloop_construction.dark_oak": "Schwarzeichen Schaluppe", + "entity.alekiships.sloop_construction.jungle": "Jungel Schaluppe", + "entity.alekiships.sloop_construction.mangrove": "Mangrovenn Schaluppe", + "entity.alekiships.sloop_construction.oak": "Eichen Schaluppe", + "entity.alekiships.sloop_construction.spruce": "Fichten Schaluppe", + "entity.alekiships.sloop_construction.warped": "Wirr Schaluppe", + "entity.alekiships.vehicle_anchor": "Anker", + "entity.alekiships.vehicle_cleat": "Klampe", + "entity.alekiships.vehicle_collider": "Fahrzeug", + "entity.alekiships.vehicle_construction": "Bauentität", + "entity.alekiships.vehicle_mast": "Mast", + "entity.alekiships.vehicle_part": "Fahrzeugteil", + "entity.alekiships.vehicle_switch_sail": "Segel", + "entity.alekiships.vehicle_switch_windlass": "Winde", + "item.alekiships.anchor": "Anker", + "item.alekiships.cannon": "Kanone", + "item.alekiships.cannonball": "Kanonenkugel", + "item.alekiships.music_disc_pirate_crafting": "Schalplatte", + "item.alekiships.music_disc_pirate_crafting.desc": "Captain Thrack - Pirate Crafting", + "item.alekiships.oar": "Ruder", + "item.alekiships.rowboat_icon_only": "Ruderboot (ICON ONLY)", + "item.alekiships.sloop_icon_only": "Schaluppe (ICON ONLY)", + "press_button": "Drücke" +} \ No newline at end of file diff --git a/kubejs/assets/arthropocolypse/lang/de_de.json b/kubejs/assets/arthropocolypse/lang/de_de.json new file mode 100644 index 000000000..d17390869 --- /dev/null +++ b/kubejs/assets/arthropocolypse/lang/de_de.json @@ -0,0 +1,45 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.arthropocolypse.beetle_fragment_block": "Chitinblock", + "block.arthropocolypse.beetle_fragment_block_bricks": "Chitinziegel", + "block.arthropocolypse.chiseled_beetle_fragment_block": "Gemeißelter Chitinbllock", + "block.arthropocolypse.polished_beetle_fragment_block": "Polierter Chitinbllock", + "block.arthropocolypse.tiled_beetle_fragment_block": "Gekachelter Chitinblock", + "block.arthropocolypse.beetle_fragment_block_stairs": "Chitinblocktreppe", + "block.arthropocolypse.beetle_fragment_block_bricks_stairs": "Chitinziegeltreppe", + "block.arthropocolypse.polished_beetle_fragment_block_stairs": "Polierte Chitintreppe", + "block.arthropocolypse.tiled_beetle_fragment_block_stairs": "Gekachelte Chitintreppe", + "block.arthropocolypse.beetle_fragment_block_slab": "Chitinblockstufe", + "block.arthropocolypse.beetle_fragment_block_bricks_slab": "Chitinziegelstufe", + "block.arthropocolypse.polished_beetle_fragment_block_slab": "Polierte Chitinstufe", + "block.arthropocolypse.tiled_beetle_fragment_block_slab": "Gekachelte Chitinstufe", + "block.arthropocolypse.beetle_fragment_block_wall": "Chitinblockwand", + "block.arthropocolypse.beetle_fragment_block_bricks_wall": "Chitinziegelwand", + "block.arthropocolypse.polished_beetle_fragment_block_wall": "Polierte Chitinwand", + "block.arthropocolypse.tiled_beetle_fragment_block_wall": "Gekachelte Chitinwand", + "entity.arthropocolypse.scarab": "Mongolarachne Riesenlarve", + "entity.arthropocolypse.prairie_grasshopper": "Cimbrophlebia Riesenhüpfer", + "entity.arthropocolypse.field_cricket": "Glisachaemus Salzhüpfer", + "entity.arthropocolypse.ice_crawler": "Paleophaedon Obsidiankäfer", + "entity.arthropocolypse.behemoth_desert_spider": "Mongolarachne Riesenkönigin", + "entity.arthropocolypse.behemoth_desert_scorpion": "Königswache Liassoscorpionides", + "entity.arthropocolypse.worker_ant": "Formicium Arbeiterameise", + "entity.arthropocolypse.soldier_ant": "Formicium Soldatenameise", + "entity.arthropocolypse.stag_beetle": "Protognathinus Hornkäfer", + "entity.arthropocolypse.stag_beetle_larva": "Protognathinus Hornkäferlarve", + "entity.arthropocolypse.wharf_roach": "Arostropsis Käfer", + "entity.arthropocolypse.platerodrilus": "Platerodrilus Bastionskäfer", + "entity.arthropocolypse.mealworm_beetle": "Manobiomorpha Flohkäfer", + "entity.arthropocolypse.mealworm": "Manobiomorpha Flohkäferlarve", + "entity.arthropocolypse.millipede_head": "Assassin Chilognatha Tausendfüßler", + "item.arthropocolypse.scarab": "Mongolarachne Riesenlarve", + "item.arthropocolypse.field_cricket_egg": "Glisachaemus Salzhüpferei", + "item.arthropocolypse.stag_beetle_egg": "Protognathinus Hornkäferei", + "item.arthropocolypse.stag_beetle_larva": "Protognathinus Hornkäferlarve", + "item.arthropocolypse.mealworm_egg": "Manobiomorpha Flohkäferei", + "item.arthropocolypse.mealworm": "Manobiomorpha Flohkäferlarve", + "item.arthropocolypse.ice_crawler_meat": "Roher Paleophaedon Obsidiankäfer", + "item.arthropocolypse.cooked_ice_crawler_meat": "GebratenerPaleophaedon Obsidiankäfer", + "item.arthropocolypse.energy_bar": "Käferleckerlis", + "item.arthropocolypse.beetle_fragment": "Chitinfragment" +} \ No newline at end of file diff --git a/kubejs/assets/beneath/lang/de_de.json b/kubejs/assets/beneath/lang/de_de.json new file mode 100644 index 000000000..b5bc2b11e --- /dev/null +++ b/kubejs/assets/beneath/lang/de_de.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": "Loser Pyroxenit", + "block.beneath.blackstone_aqueduct": "Pyroxenitaquädukt", + "block.beneath.loose_blackstone": "Loser Pyroxenit", + "block.beneath.ore.nether_cursecoal": "Migmatit Anthraziterz", + "block.beneath.ore.nether_cursecoal.prospected": "Anthrazit", + "block.beneath.cursecoal_pile": "Anthrazithaufen", + "block.beneath.ore.blackstone_sylvite": "Pyroxenit Sylviterz", + "block.beneath.crackrack": "Raues Keratophyr", + "block.beneath.soul_clay": "Matschiges Lehm", + "block.beneath.wood.log.crimson": "Karmesinstil", + "block.beneath.wood.stripped_log.crimson": "Entrindeter Karmesinstil", + "block.beneath.wood.wood.crimson": "Karmesinhyphe", + "block.beneath.wood.stripped_wood.crimson": "Entrindete Karmesinhyphe", + "block.beneath.wood.fallen_leaves.crimson": "Fallen Karmesinlamelle", + "block.beneath.wood.leaves.crimson": "Karmesinlamelle", + "block.beneath.wood.log.warped": "Wirrstil", + "block.beneath.wood.stripped_log.warped": "Entrindeter Wirrstil", + "block.beneath.wood.wood.warped": "Wirrhyphe", + "block.beneath.wood.stripped_wood.warped": "Entrindete Wirrhyphe", + "block.beneath.wood.fallen_leaves.warped": "Fallen Wirrlamelle", + "block.beneath.wood.leaves.warped": "Wirrlamelle", + "block.beneath.ancient_altar": "Pyroxenitpodest", + "item.beneath.cursed_hide": "Lavafestes Fell", + "item.beneath.blackstone_brick": "Pyroxenitziegel", + "item.beneath.cursecoal": "Anthrazit", + "item.beneath.crackrack_rock": "Keratophyrstein", + "item.beneath.loose_blackstone": "Loser Pyroxenit" +} \ No newline at end of file diff --git a/kubejs/assets/betterend/lang/de_de.json b/kubejs/assets/betterend/lang/de_de.json new file mode 100644 index 000000000..a7d6bf956 --- /dev/null +++ b/kubejs/assets/betterend/lang/de_de.json @@ -0,0 +1,125 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.betterend.aeridium": "Aeridium", + "block.betterend.amaranita_stem": "Amaranitastiel", + "block.betterend.amber_grass": "Bernsteingras", + "block.betterend.amber_root_wild": "Wilde Bernsteinsprossen", + "block.betterend.amber_root_dead": "Tote Bernsteinsprossen", + "block.betterend.amber_root": "Bernsteinsprossen", + "block.betterend.aurant_polypore": "Aurant Polypore", + "block.betterend.blooming_cooksonia": "Blooming Cooksonia", + "block.betterend.blossom_berry": "Blütebeere", + "block.betterend.blossom_berry_wild": "Wilde Blütebeere", + "block.betterend.blossom_berry_dead": "Tote Blütebeere", + "block.betterend.bolux_mushroom": "Bolux Pilzkolonie", + "block.betterend.bolux_mushroom_wild": "Wilde Bolux Pilzkolonie", + "block.betterend.bolux_mushroom_dead": "Tote Bolux Pilzkolonie", + "block.betterend.brimstone": "Brimstein", + "block.betterend.bushy_grass": "Novagras", + "block.betterend.bulb_moss": "Bulbmoos", + "block.betterend.cave_bush": "Karmesinlamelle", + "block.betterend.cave_bush_fallen": "Kleine Karmesinlamelle", + "block.betterend.cave_grass": "Vermilligma", + "block.betterend.cave_pumpkin": "Bulbkin", + "block.betterend.cave_pumpkin_wild": "Wilder Bulbkinstiel", + "block.betterend.cave_pumpkin_dead": "Toter Bulbkinstiel", + "block.betterend.cave_pumpkin_plant": "Bulbkinstiel", + "block.betterend.charnia_cyan": "Türkise Charnia", + "block.betterend.charnia_green": "Grüne Charnia", + "block.betterend.charnia_light_blue": "Hellblaue Charnia", + "block.betterend.charnia_orange": "Orange Charnia", + "block.betterend.charnia_purple": "Violette Charnia", + "block.betterend.charnia_red": "Rote Charnia", + "block.betterend.chorus_grass": "Chorusgras", + "block.betterend.chorus_lily": "Choruslilie", + "block.betterend.chorus_mushroom": "Chalmie Pilzkolonie", + "block.betterend.chorus_mushroom_wild": "Wilde Chalmie Pilzkolonie", + "block.betterend.chorus_mushroom_dead": "Tote Chalmie Pilzkolonie", + "block.betterend.clawfern": "Clawfern", + "block.betterend.crystal_grass": "Kristallgras", + "block.betterend.end_lily": "Deimoslilie", + "block.betterend.end_lily_seed": "Deimosliliesprossen", + "block.betterend.end_lotus_flower": "Phobos Lotusblume", + "block.betterend.end_lotus_leaf": "Phobos Lotusblatt", + "block.betterend.end_lotus_stem": "Phobos Lotusstiel", + "block.betterend.end_lotus_seed": "Phobos Lotussprossen", + "block.betterend.filalux_wings": "Filalux Wings", + "block.betterend.flamaea": "Flamaeapilz", + "block.betterend.flammalix": "Flammalixpilz", + "block.betterend.flavolite": "Rauer Ignimbrit", + "block.betterend.flavolite_bricks": "Ignimbritziegel", + "block.betterend.flavolite_pillar": "Ignimbritsäule", + "block.betterend.flavolite_polished": "Polierter Ignimbrit", + "block.betterend.flavolite_tiles": "Ignimbritkacheln", + "block.betterend.fracturn": "Fracturn", + "block.betterend.glacian_hymenophore": "Gletscherhymenophore", + "block.betterend.globulagus": "Globulagus", + "block.betterend.hydrothermal_vent": "Raucherablagerung", + "block.betterend.hydralux_small": "Hydralux", + "block.betterend.hydralux_large": "Hydralux", + "block.betterend.hydralux_sapling": "Hydraluxsprossen", + "block.betterend.inflexia": "Inflexia", + "block.betterend.lacugrove": "Lacugrovealgen", + "block.betterend.lacugrove_bark": "Rohes Adakit", + "block.betterend.lamellarium": "Lamellarium", + "block.betterend.lanceleaf": "Lanzenblatt", + "block.betterend.lanceleaf_small": "Lanzenblatt Dolch", + "block.betterend.large_amaranita_mushroom": "Großer Amaranitapilz", + "block.betterend.lucernia_leaves": "Lucernialamelle", + "block.betterend.lucernia_leaves_fallen": "Kleine Lucernialamelle", + "block.betterend.lucernia_outer_leaves": "Lucerniahyphe", + "block.betterend.lucernia_bark": "Teuflischer Halm", + "block.betterend.lutebus": "Lutebus", + "block.betterend.magnula": "Magnula", + "block.betterend.nightshade_moss": "Noxmoos", + "block.betterend.orango": "Orango", + "block.betterend.pond_anemone": "Anemone", + "block.betterend.purple_polypore": "Violette Polypore", + "block.betterend.rubinea": "Rubinea", + "block.betterend.ruscus": "Ruscusgras", + "block.betterend.salteago": "Salteago", + "block.betterend.sandy_jadestone": "Rauer Lamproit", + "block.betterend.sandy_jadestone_bricks": "Lamproitziegel", + "block.betterend.sandy_jadestone_pillar": "Lamproitsäule", + "block.betterend.sandy_jadestone_polished": "Polierter Lamproit", + "block.betterend.sandy_jadestone_tiles": "Lamproitkacheln", + "block.betterend.selagine": "Selagine", + "block.betterend.shadow_berry": "Noxbeeren", + "block.betterend.shadow_berry_wild": "Wilde Noxbeeren", + "block.betterend.shadow_berry_dead": "Tote Noxbeeren", + "block.betterend.shadow_plant": "Verschwärztes Aschegras", + "block.betterend.small_amaranita_mushroom": "Kleiner Amaranitapilz", + "block.betterend.sulphur_crystal": "Schwefelkristall", + "block.betterend.sulphuric_rock": "Raucherablagerung", + "block.betterend.sulphuric_rock_bricks": "Raucherablagerungziegel", + "block.betterend.sulphuric_rock_pillar": "Raucherablagerungsäule", + "block.betterend.sulphuric_rock_polished": "Polished Raucherablagerung", + "block.betterend.sulphuric_rock_tiles": "Raucherablagerungkacheln", + "block.betterend.tube_worm": "Röhrenwurm", + "block.betterend.twisted_moss": "Gewundenes Moos", + "block.betterend.twisted_umbrella_moss": "Gewundenes Regenschrimmoos", + "block.betterend.twisted_umbrella_moss_tall": "Gewundenes Regenschirmmoos", + "block.betterend.twisted_vine": "Carbonische Rebe", + "block.betterend.umbrella_moss": "Regenschrimmoos", + "block.betterend.umbrella_moss_tall": "Regenschrimmoos", + "block.betterend.vaiolush_fern": "Vaiolushgras", + "item.betterend.amber_root_product": "Bernsteinsprossen", + "item.betterend.amber_root_seeds": "Bernsteinsprossensamen", + "item.betterend.blossom_berry_product": "Blütebeere", + "item.betterend.blossom_berry_seeds": "Blütebeeresamen", + "item.betterend.bolux_mushroom_cooked": "Gebratener Boluxpilz", + "item.betterend.bolux_mushroom_product": "Boluxpilz", + "item.betterend.bolux_mushroom_seeds": "Boluxpilzsporen", + "item.betterend.cave_pumpkin_chunks": "Bulbkinstücke", + "item.betterend.cave_pumpkin_product": "Bulbkin", + "item.betterend.cave_pumpkin_plant_seeds": "Bulbkinsamen", + "item.betterend.cave_pumpkin_pie_dough": "Bulbkin Kuchenteig", + "item.betterend.cave_pumpkin_pie_raw": "Roher Bulbkinkuchen", + "item.betterend.cave_pumpkin_pie": "Bulbkinkuchen", + "item.betterend.chorus_mushroom_cooked": "Gebratener Chalmiepilz", + "item.betterend.chorus_mushroom_product": "Chalmiepilz", + "item.betterend.chorus_mushroom_seeds": "Chalmiepilzsporen", + "item.betterend.shadow_berry_cooked": "Gebratene Noxbeere", + "item.betterend.shadow_berry_product": "Noxbeere", + "item.betterend.shadow_berry_seeds": "Noxbeeresamen" +} \ No newline at end of file diff --git a/kubejs/assets/buildinggadgets2/lang/de_de.json b/kubejs/assets/buildinggadgets2/lang/de_de.json new file mode 100644 index 000000000..136ebe4cb --- /dev/null +++ b/kubejs/assets/buildinggadgets2/lang/de_de.json @@ -0,0 +1,114 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.buildinggadgets2.render_block": "Renderblock (NICHT VERWENDEN)", + "block.buildinggadgets2.template_manager": "Vorlagenmanager", + "buildinggadgets2.buttons.copy": "Kopieren", + "buildinggadgets2.buttons.load": "Laden", + "buildinggadgets2.buttons.materials": "Materialien", + "buildinggadgets2.buttons.paste": "Einfügen", + "buildinggadgets2.buttons.render": "Rendern", + "buildinggadgets2.buttons.save": "Speichern", + "buildinggadgets2.fade": "Verblassen", + "buildinggadgets2.grow": "Wachsen", + "buildinggadgets2.growup": "Hochwachsen", + "buildinggadgets2.gui.range": "Reichweite", + "buildinggadgets2.keymapping.mode-switch": "Modi Wechseln", + "buildinggadgets2.messages.anchorcleared": "Anker Entfernt", + "buildinggadgets2.messages.anchorset": "Anker gesetzt zu: ", + "buildinggadgets2.messages.areatoolarge": "Bereich zu groß! Max. Größe ist: %d. Größe war: %d", + "buildinggadgets2.messages.bindfailed": "Bindung Fehlgeschlagen: Ungültiger Block", + "buildinggadgets2.messages.bindremoved": "Bindung Entfernt", + "buildinggadgets2.messages.bindsuccess": "Bindung erfolgreich gesetzt zu: %s", + "buildinggadgets2.messages.copyblocks": "%d Blöcke kopiert", + "buildinggadgets2.messages.copycoordsfailed": "Koordinaten Kopieren Fehlgeschlagen.", + "buildinggadgets2.messages.cutblocks": "%d Blöcke ausgeschnitten", + "buildinggadgets2.messages.cutinprogress": "Ausschnitt im Vorgang - Bitte warten!", + "buildinggadgets2.messages.invalidblock": "Ungültiger Block", + "buildinggadgets2.messages.namealreadyexists": "Dieser Name wird schon verwendet, lösche sie mit Commands oder gebe ihr einen neuen Namen.", + "buildinggadgets2.messages.namerequired": "Name benötigt für Rotpausen. Bitte versuche es nochmal.", + "buildinggadgets2.messages.notenoughenergy": "Nicht genug Energie für Schnitt, brauche: %d. Habe: %d", + "buildinggadgets2.messages.outofpower": "Das Gerät hat keine Energie mehr!", + "buildinggadgets2.messages.overwritecut": "Das Werkzeug hat schon gespeicherte Daten geschnitten - klicke nochmal, um diese Daten zu ÜBERSCHREIBEN", + "buildinggadgets2.messages.range_set": "Reichweite gesetzt zu: %d", + "buildinggadgets2.messages.redprintgivefail": "Geben von Rotpause %s zu %s fehlgeschlagen", + "buildinggadgets2.messages.redprintremovefail": "Fehlgeschlagen die Rotpause zu löschen: %s", + "buildinggadgets2.messages.redprintremovesuccess": "Erfolgreich Rotpause gelöscht: %s", + "buildinggadgets2.messages.relativepaste": "Relatives Einfügen gesetzt zu: [%s]", + "buildinggadgets2.messages.render_set": "Rendertyp gesetzt zu: %s", + "buildinggadgets2.messages.undofailedunloaded": "Rückgänig machen fehlgeschlagen: Chunks sind nicht geladen (Zu weit entfernt): %s", + "buildinggadgets2.modes.build_to_me": "Bau zu Mir", + "buildinggadgets2.modes.copy": "Kopieren", + "buildinggadgets2.modes.cut": "Ausschneiden", + "buildinggadgets2.modes.grid": "Gitter", + "buildinggadgets2.modes.horizontal_row": "Horizontale Reihe", + "buildinggadgets2.modes.horizontal_wall": "Horizontale Wand", + "buildinggadgets2.modes.paste": "Einfügen", + "buildinggadgets2.modes.stairs": "Treppen", + "buildinggadgets2.modes.surface": "Oberfläche", + "buildinggadgets2.modes.vertical_column": "Vertikaler Pfeiler", + "buildinggadgets2.modes.vertical_wall": "Vertikale Wand", + "buildinggadgets2.radialmenu.anchor": "Anker", + "buildinggadgets2.radialmenu.bind": "Inventar Binden", + "buildinggadgets2.radialmenu.connected_area": "Verbundener Bereich", + "buildinggadgets2.radialmenu.copypastemenu": "Einstellungsmenü", + "buildinggadgets2.radialmenu.cut": "Ausschneiden", + "buildinggadgets2.radialmenu.fuzzy": "Verschwommen", + "buildinggadgets2.radialmenu.materiallist": "Materialliste", + "buildinggadgets2.radialmenu.raytracefluids": "Raytrace Flüssigkeiten", + "buildinggadgets2.radialmenu.rotate": "Rotieren", + "buildinggadgets2.radialmenu.undo": "Rückgängig Machen", + "buildinggadgets2.riseup": "Hochheben", + "buildinggadgets2.screen.absolutecoords": "Absolut", + "buildinggadgets2.screen.affecttiles": "Beeinflusse Blockentitiäten", + "buildinggadgets2.screen.cancel": "Abbrechen", + "buildinggadgets2.screen.clear": "Räumen", + "buildinggadgets2.screen.close": "Schließen", + "buildinggadgets2.screen.confirm": "Bestätigen", + "buildinggadgets2.screen.copyheading": "Auswahl anpassen", + "buildinggadgets2.screen.copysubheading": "Benutze den Absolutmodus um zu Blockkoordinaten zu wechseln", + "buildinggadgets2.screen.depth": "Tiefe", + "buildinggadgets2.screen.destructiontoolarge": "Zerstörungsbereich ist zu groß", + "buildinggadgets2.screen.down": "Runter", + "buildinggadgets2.screen.end": "Ende", + "buildinggadgets2.screen.invalidjson": "Ungültige Eingefügte JSON", + "buildinggadgets2.screen.left": "Links", + "buildinggadgets2.screen.missingasc": "Fehlendes Aufsteigen", + "buildinggadgets2.screen.missingdesc": "Fehlendes Absteigen", + "buildinggadgets2.screen.namefieldtext": "Name?", + "buildinggadgets2.screen.paste_replace": "Ersetze Blöcke (WARNUNG: Löscht Drops)", + "buildinggadgets2.screen.pasteheading": "Passe Platzierung an", + "buildinggadgets2.screen.placeatop": "Platziere oben drauf", + "buildinggadgets2.screen.relativecoords": "Relativ", + "buildinggadgets2.screen.requiredasc": "Benötigtes Aufsteigen", + "buildinggadgets2.screen.requireddesc": "Benötigtes Absteigen", + "buildinggadgets2.screen.revert": "Rückgängig machen", + "buildinggadgets2.screen.right": "Rechts", + "buildinggadgets2.screen.sortaz": "Sortiere A-Z", + "buildinggadgets2.screen.sortza": "Sortiere Z-A", + "buildinggadgets2.screen.start": "Starten", + "buildinggadgets2.screen.templateplaceholder": "Vorlagenname", + "buildinggadgets2.screen.up": "Hoch", + "buildinggadgets2.snap": "Der EINRASTER!", + "buildinggadgets2.squish": "Quetschen", + "buildinggadgets2.templatename": "Name: %s", + "buildinggadgets2.tooltips.blockstate": "Block: %s", + "buildinggadgets2.tooltips.boundto": "Gebunden zu: %s:%s", + "buildinggadgets2.tooltips.energy": "Energie: %d/%d", + "buildinggadgets2.tooltips.holdshift": "Halte Shift für Details", + "buildinggadgets2.tooltips.mode": "Modus: %s", + "buildinggadgets2.tooltips.range": "Reichweite: %d", + "buildinggadgets2.voidwarning": "WARNUNG: Löscht Drops von entfernten Blöcken!!", + "item.buildinggadgets2.gadget_building": "Baugerät", + "item.buildinggadgets2.gadget_copy_paste": "Kopier- & Einfügegerät", + "item.buildinggadgets2.gadget_cut_paste": "Ausschneide- & Einfügegerät", + "item.buildinggadgets2.gadget_destruction": "Zerstörungsgerät", + "item.buildinggadgets2.gadget_exchanging": "Austauschgerät", + "item.buildinggadgets2.redprint": "Rotpause", + "item.buildinggadgets2.template": "Vorlage", + "itemGroup.buildinggadgets2": "BuildingGadgets2", + "key.buildinggadgets2.anchor": "Anker", + "key.buildinggadgets2.category": "Building Gadgets 2", + "key.buildinggadgets2.range": "Reichweite", + "key.buildinggadgets2.settings_menu": "Einstellungsmenü", + "key.buildinggadgets2.undo": "Rückgängig machen" +} \ No newline at end of file diff --git a/kubejs/assets/buildinggadgets2/lang/uk_ua.json b/kubejs/assets/buildinggadgets2/lang/uk_ua.json new file mode 100644 index 000000000..0d815f0fe --- /dev/null +++ b/kubejs/assets/buildinggadgets2/lang/uk_ua.json @@ -0,0 +1,115 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.buildinggadgets2.render_block": "Відображати блок (НЕ КОРИСТУЙТЕСЬ ЦИМ)", + "block.buildinggadgets2.template_manager": "Менеджер шаблонів", + "buildinggadgets2.buttons.copy": "Копіювати", + "buildinggadgets2.buttons.load": "Завантажити", + "buildinggadgets2.buttons.materials": "Матеріали", + "buildinggadgets2.buttons.paste": "Вставити", + "buildinggadgets2.buttons.render": "Відобразити", + "buildinggadgets2.buttons.save": "Зберегти", + "buildinggadgets2.fade": "Щезання", + "buildinggadgets2.grow": "Зростання", + "buildinggadgets2.growup": "Відростання", + "buildinggadgets2.gui.range": "Область", + "buildinggadgets2.keymapping.mode-switch": "Змінити режим", + "buildinggadgets2.messages.anchorcleared": "Якір знято", + "buildinggadgets2.messages.anchorset": "Якір встановлено у: ", + "buildinggadgets2.messages.areatoolarge": "Простір завеликий! Максимальний розмір: %d. Ваш розмір: %d", + "buildinggadgets2.messages.axistoolarge": "Вісь %s завелика! Максимальний розмір: %d. Ваш розмір: %d", + "buildinggadgets2.messages.bindfailed": "Не вдалося зв'язати: Неприпустимий блок", + "buildinggadgets2.messages.bindremoved": "Зв'язок розірвано", + "buildinggadgets2.messages.bindsuccess": "Зв'язок утворено з: %s", + "buildinggadgets2.messages.copyblocks": "Скопійовано %d блоків", + "buildinggadgets2.messages.copycoordsfailed": "Не вдалося скопіювати координати.", + "buildinggadgets2.messages.cutblocks": "Вирізано %d блоків", + "buildinggadgets2.messages.cutinprogress": "Вирізання триває — зачекайте, будь ласка!", + "buildinggadgets2.messages.invalidblock": "Неприпустимий блок", + "buildinggadgets2.messages.namealreadyexists": "Це ім'я вже зайняте, видаліть старе командою або оберіть інше.", + "buildinggadgets2.messages.namerequired": "Для копії конфігурацій потрібне ім'я. Спробуйте знову.", + "buildinggadgets2.messages.notenoughenergy": "Для вирізання недостатньо енергії, необхідно принаймні: %d, коли мається: %d", + "buildinggadgets2.messages.outofpower": "Гаджет розрядився!", + "buildinggadgets2.messages.overwritecut": "Інструмент вже має дані вирізки — клацніть ще раз, щоб підтвердити ПЕРЕЗАПИС цих даних", + "buildinggadgets2.messages.range_set": "Область встановлено на: %d", + "buildinggadgets2.messages.redprintgivefail": "Не вдалося видати копію конфігурацій %s у %s", + "buildinggadgets2.messages.redprintremovefail": "Не вдалося видалити копію конфігурацій: %s", + "buildinggadgets2.messages.redprintremovesuccess": "Успішно видалено копію конфігурацій: %s", + "buildinggadgets2.messages.relativepaste": "Відносну вставку встановлено у: [%s]", + "buildinggadgets2.messages.render_set": "Тип відображення встановлено на: %s", + "buildinggadgets2.messages.undofailedunloaded": "Не вдалося скасувати: Чанки не провантажені (Вони занадто далеко): %s", + "buildinggadgets2.modes.build_to_me": "Будувати до себе", + "buildinggadgets2.modes.copy": "Копіювати", + "buildinggadgets2.modes.cut": "Вирізати", + "buildinggadgets2.modes.grid": "Чергування", + "buildinggadgets2.modes.horizontal_row": "Горизонтальна лінія", + "buildinggadgets2.modes.horizontal_wall": "Горизонтальна стіна", + "buildinggadgets2.modes.paste": "Вставляти", + "buildinggadgets2.modes.stairs": "Сходи", + "buildinggadgets2.modes.surface": "Поверхня", + "buildinggadgets2.modes.vertical_column": "Вертикальна колона", + "buildinggadgets2.modes.vertical_wall": "Вертикальна стіна", + "buildinggadgets2.radialmenu.anchor": "Якір", + "buildinggadgets2.radialmenu.bind": "Зв'язати інвентар", + "buildinggadgets2.radialmenu.connected_area": "З'єднана область", + "buildinggadgets2.radialmenu.copypastemenu": "Меню налаштувань", + "buildinggadgets2.radialmenu.cut": "Вирізати", + "buildinggadgets2.radialmenu.fuzzy": "Нечіткість", + "buildinggadgets2.radialmenu.materiallist": "Список матеріалів", + "buildinggadgets2.radialmenu.raytracefluids": "Враховувати рідини", + "buildinggadgets2.radialmenu.rotate": "Обернути", + "buildinggadgets2.radialmenu.undo": "Скасувати дію", + "buildinggadgets2.riseup": "Підняти", + "buildinggadgets2.screen.absolutecoords": "Абсолютні", + "buildinggadgets2.screen.affecttiles": "Впливати на блокові сутності", + "buildinggadgets2.screen.cancel": "Скасувати", + "buildinggadgets2.screen.clear": "Очистити", + "buildinggadgets2.screen.close": "Закрити", + "buildinggadgets2.screen.confirm": "Підтвердити", + "buildinggadgets2.screen.copyheading": "Змістити вибір", + "buildinggadgets2.screen.copysubheading": "Користуватися абсолютним режимом для перемикання координат блоків", + "buildinggadgets2.screen.depth": "Глибина", + "buildinggadgets2.screen.destructiontoolarge": "Область руйнування завелика", + "buildinggadgets2.screen.down": "Вниз", + "buildinggadgets2.screen.end": "Кінець", + "buildinggadgets2.screen.invalidjson": "Неприпустимий вставлений JSON", + "buildinggadgets2.screen.left": "Ліворуч", + "buildinggadgets2.screen.missingasc": "Відсутнє підняття", + "buildinggadgets2.screen.missingdesc": "Відсутнє спадання", + "buildinggadgets2.screen.namefieldtext": "ім'я?", + "buildinggadgets2.screen.paste_replace": "Замінювати блоки (ПОПЕРЕДЖЕННЯ: Знищує дроп)", + "buildinggadgets2.screen.pasteheading": "Змістити розміщення", + "buildinggadgets2.screen.placeatop": "Розміщувати зверху", + "buildinggadgets2.screen.relativecoords": "Відносні", + "buildinggadgets2.screen.requiredasc": "Необхідне підняття", + "buildinggadgets2.screen.requireddesc": "Необхідне спадання", + "buildinggadgets2.screen.revert": "Повернути назад", + "buildinggadgets2.screen.right": "Праворуч", + "buildinggadgets2.screen.sortaz": "Сортувати за алфавітом", + "buildinggadgets2.screen.sortza": "Сортувати проти алфавіту", + "buildinggadgets2.screen.start": "Почати", + "buildinggadgets2.screen.templateplaceholder": "Ім'я шаблона", + "buildinggadgets2.screen.up": "Зверху", + "buildinggadgets2.snap": "КЛАЦ!", + "buildinggadgets2.squish": "Хлюп", + "buildinggadgets2.templatename": "Ім'я: %s", + "buildinggadgets2.tooltips.blockstate": "Блок: %s", + "buildinggadgets2.tooltips.boundto": "Зв'язано із: %s:%s", + "buildinggadgets2.tooltips.energy": "Енергія: %d/%d", + "buildinggadgets2.tooltips.holdshift": "↓ Shift — подробиці", + "buildinggadgets2.tooltips.mode": "Режим: %s", + "buildinggadgets2.tooltips.range": "Область: %d", + "buildinggadgets2.voidwarning": "ПОПЕРЕДЖЕННЯ: Знищує замінені блоки!!", + "item.buildinggadgets2.gadget_building": "Будівельний гаджет", + "item.buildinggadgets2.gadget_copy_paste": "Копіювальний гаджет", + "item.buildinggadgets2.gadget_cut_paste": "Вирізальний гаджет", + "item.buildinggadgets2.gadget_destruction": "Знищувальний гаджет", + "item.buildinggadgets2.gadget_exchanging": "Замінювальний гаджет", + "item.buildinggadgets2.redprint": "Копія конфігурацій", + "item.buildinggadgets2.template": "Шаблон", + "itemGroup.buildinggadgets2": "BuildingGadgets2", + "key.buildinggadgets2.anchor": "Якір", + "key.buildinggadgets2.category": "Building Gadgets 2", + "key.buildinggadgets2.range": "Змінити область", + "key.buildinggadgets2.settings_menu": "Меню налаштувань", + "key.buildinggadgets2.undo": "Скасувати дію" +} \ No newline at end of file diff --git a/kubejs/assets/comforts/lang/de_de.json b/kubejs/assets/comforts/lang/de_de.json new file mode 100644 index 000000000..3ce3b36dd --- /dev/null +++ b/kubejs/assets/comforts/lang/de_de.json @@ -0,0 +1,9 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "item.comforts.sleeping_bag.auto_use.tooltip.0": "Der Spieler geht sofort schlafen.", + "item.comforts.sleeping_bag.auto_use.tooltip.1": "Halte Shift, um den Schlafsack zu platzieren.", + "item.comforts.hammock.placement.tooltip": "Benötigt %s um platziert zu werden.", + "item.comforts.rope_and_nail.placement.tooltip": "Wird benutzt, um Hängematten aufzuhängen.", + "item.comforts.hammock.missing_rope": "Um eine Hängematte aufzuhängen, benötigt man ein Seil und Nagel am anderen Ende", + "item.comforts.hammock.no_space": "Es gibt nicht genug Platz, um die Hängematte aufzuhängen" +} \ No newline at end of file diff --git a/kubejs/assets/constructionwand/lang/de_de.json b/kubejs/assets/constructionwand/lang/de_de.json new file mode 100644 index 000000000..da941a46f --- /dev/null +++ b/kubejs/assets/constructionwand/lang/de_de.json @@ -0,0 +1,7 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "item.constructionwand.stone_wand": "Kupferstab", + "item.constructionwand.iron_wand": "Gusseisenstab", + "item.constructionwand.diamond_wand": "Blaustahlstab", + "item.constructionwand.infinity_wand": "Titan Smartstab" +} \ No newline at end of file diff --git a/kubejs/assets/create/lang/de_de.json b/kubejs/assets/create/lang/de_de.json new file mode 100644 index 000000000..5028177ba --- /dev/null +++ b/kubejs/assets/create/lang/de_de.json @@ -0,0 +1,110 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.create.netherite_backtank": "Blaustahl-Rückentank", + "block.create.shadow_casing": "Schwarzstahlgehäuse", + "block.create.refined_radiance_casing": "Leuchtendes Gehäuse", + "block.create.industrial_iron_block": "Industriestahlblock", + "block.create.weathered_iron_block": "Verwitterter Stahlblock", + "block.create.industrial_iron_window": "Industriestahlfenster", + "block.create.weathered_iron_window": "Verwittertes Stahlfenster", + "block.create.industrial_iron_window_pane": "Industriestahlfensterscheibe", + "block.create.weathered_iron_window_pane": "Verwittertes Stahlfensterscheibe", + "block.create.dark_oak_window": "Nussbaumfenster", + "block.create.dark_oak_window_pane": "Nussbaumfensterscheibe", + "block.create.cherry_window": "Feigenfenster", + "block.create.cherry_window_pane": "Feigenfensterscheibe", + "block.create.spruce_window": "Zypressenfenster", + "block.create.spruce_window_pane": "Zypressenfensterscheibe", + "block.create.jungle_window": "Teakfenster", + "block.create.jungle_window_pane": "Teakfensterscheibe", + "block.create.birch_window": "Eukalyptusfenster", + "block.create.birch_window_pane": "Eukalyptusfensterscheibe", + "block.create.acacia_window": "Baobabfenster", + "block.create.acacia_window_pane": "Baobabfensterscheibe", + "block.create.andesite_bars": "Metallgitter", + "block.create.andesite_belt_funnel": "Metall Förderbandtrichter", + "block.create.andesite_casing": "Metallgehäuse", + "block.create.andesite_door": "Metalltür", + "block.create.andesite_encased_cogwheel": "Metallumrahmtes Zahnrad", + "block.create.andesite_encased_large_cogwheel": "Großes Metallumrahmtes Zahnrad", + "block.create.andesite_encased_shaft": "Metallumrahmte Welle", + "block.create.andesite_funnel": "Metallschleuse", + "block.create.andesite_ladder": "Metallleiter", + "block.create.andesite_scaffolding": "Metallgerüst", + "block.create.andesite_tunnel": "Metalltunnel", + "block.create.andesite_table_cloth": "Metall Tischdecke", + "block.create.cut_deepslate": "Geschnittener Migmatit", + "block.create.cut_deepslate_stairs": "Geschnittene Migmatittreppe", + "block.create.cut_deepslate_slab": "Geschnittene Migmatitstufe", + "block.create.cut_deepslate_wall": "Geschnittene Migmatitwand", + "block.create.polished_cut_deepslate": "Polierter Geschnittener Migmatit", + "block.create.polished_cut_deepslate_stairs": "Polierte Geschnittene Migmatittreppe", + "block.create.polished_cut_deepslate_slab": "Polierte Geschnittene Migmatitstufe", + "block.create.polished_cut_deepslate_wall": "Polierte Geschnittene Migmatitwand", + "block.create.cut_deepslate_bricks": "Geschnittene Migmatitziegel", + "block.create.cut_deepslate_brick_stairs": "Geschnittene Migmatitziegeltreppe", + "block.create.cut_deepslate_brick_slab": "Geschnittene Migmatitziegelstufe", + "block.create.cut_deepslate_brick_wall": "Geschnittene Migmatitziegelwand", + "block.create.small_deepslate_bricks": "Kleine Migmatitziegel", + "block.create.small_deepslate_brick_stairs": "Kleine Migmatitziegeltreppe", + "block.create.small_deepslate_brick_slab": "Kleine Migmatitziegelstufe", + "block.create.small_deepslate_brick_wall": "Kleine Migmatitziegelwand", + "block.create.layered_deepslate": "Geschichteter Migmatit", + "block.create.deepslate_pillar": "Migmatitsäule", + "block.create.cut_dripstone": "Geschnittener Travertin", + "block.create.cut_dripstone_stairs": "Geschnittene Travertintreppe", + "block.create.cut_dripstone_slab": "Geschnittene Travertinstufe", + "block.create.cut_dripstone_wall": "Geschnittene Travertinwand", + "block.create.polished_cut_dripstone": "Polierter Geschnittener Travertin", + "block.create.polished_cut_dripstone_stairs": "Polierte Geschnittene Travertintreppe", + "block.create.polished_cut_dripstone_slab": "Polierte Geschnittene Travertinstufe", + "block.create.polished_cut_dripstone_wall": "Polierte Geschnittene Travertinwand", + "block.create.cut_dripstone_bricks": "Geschnittene Travertinziegel", + "block.create.cut_dripstone_brick_stairs": "Geschnittene Travertinziegeltreppe", + "block.create.cut_dripstone_brick_slab": "Geschnittene Travertinziegelstufe", + "block.create.cut_dripstone_brick_wall": "Geschnittene Travertinziegelwand", + "block.create.small_dripstone_bricks": "Kleine Travertinziegel", + "block.create.small_dripstone_brick_stairs": "Kleine Travertinziegeltreppe", + "block.create.small_dripstone_brick_slab": "Kleine Travertinziegelstufe", + "block.create.small_dripstone_brick_wall": "Kleine Travertinziegelwand", + "block.create.layered_dripstone": "Geschichteter Travertin", + "block.create.dripstone_pillar": "Travertinsäule", + "block.create.cut_granite": "Geschnittener Hornstein", + "block.create.cut_granite_stairs": "Geschnittene Hornsteintreppe", + "block.create.cut_granite_slab": "Geschnittene Hornsteinstufe", + "block.create.cut_granite_wall": "Geschnittene Hornsteinwand", + "block.create.polished_cut_granite": "Polierter Geschnittener Hornstein", + "block.create.polished_cut_granite_stairs": "Polierte Geschnittene Hornsteintreppe", + "block.create.polished_cut_granite_slab": "Polierte Geschnittene Hornsteinstufe", + "block.create.polished_cut_granite_wall": "Polierte Geschnittene Hornsteinwand", + "block.create.cut_granite_bricks": "Geschnittene Hornsteinziegel", + "block.create.cut_granite_brick_stairs": "Geschnittene Hornsteinziegeltreppe", + "block.create.cut_granite_brick_slab": "Geschnittene Hornsteinziegelstufe", + "block.create.cut_granite_brick_wall": "Geschnittene Hornsteinziegelwand", + "block.create.small_granite_bricks": "Kleine Hornsteinziegel", + "block.create.small_granite_brick_stairs": "Kleine Hornsteinziegeltreppe", + "block.create.small_granite_brick_slab": "Kleine Hornsteinziegelstufe", + "block.create.small_granite_brick_wall": "Kleine Hornsteinziegelwand", + "block.create.layered_granite": "Geschichteter Hornstein", + "block.create.granite_pillar": "Hornsteinsäule", + "item.create.netherite_diving_helmet.tooltip.summary": "Zusammen mit einem _Blaustahl-Rückentank_, kann dieser dich von _extreme Hitze_ schützen. Um zu funktionieren, müssen _Beine und Füße_ auch in _Blaustahl Taucherausrüstung_ bedeckt sein.", + "item.create.netherite_backtank": "Blaustahl-Rückentank", + "item.create.netherite_diving_helmet": "Blaustahl Taucherhelm", + "item.create.netherite_diving_boots": "Blaustahl Taucherstiefel", + "item.create.copper_sheet": "Kupferblech", + "item.create.brass_sheet": "Messingblech", + "item.create.golden_sheet": "Goldblech", + "item.create.crushed_raw_gold": "Gereinigtes Golderz", + "item.create.crushed_raw_copper": "Gereinigtes Kupfererz", + "item.create.crushed_raw_zinc": "Gereinigtes Zinkerz", + "item.create.crushed_raw_silver": "Gereinigtes Silbererz", + "item.create.crushed_raw_tin": "Gereinigtes Zinnerz", + "item.create.crushed_raw_lead": "Gereinigtes Bleierz", + "create.ponder.andesite_tunnel.header": "Metalltunnel Benutzen", + "create.ponder.andesite_tunnel.text_1": "Metalltunnel können zum Abdecken deiner Fließbänder benutzt werden", + "create.ponder.andesite_tunnel.text_2": "Wenn ein Metalltunnel Verbindungen zur Seite hat...", + "create.ponder.belt_casing.text_1": "Messing- oder Metallgehäuse können zum Dekorieren von Mechanischen Fließbändern verwendet werden", + "create.ponder.brass_funnel.text_1": "Metallschleusen können nur einzelne Gegenstände ausgeben.", + "create.ponder.cogwheel_casing.text_1": "Messing- oder Metallgehäuse können zum Dekorieren von Zahnrädern verwendet werden", + "create.ponder.shaft_casing.text_1": "Messing- oder Metallgehäuse können zum Dekorieren von Wellen verwendet werden" +} \ No newline at end of file diff --git a/kubejs/assets/createdeco/lang/de_de.json b/kubejs/assets/createdeco/lang/de_de.json new file mode 100644 index 000000000..99d39630f --- /dev/null +++ b/kubejs/assets/createdeco/lang/de_de.json @@ -0,0 +1,73 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.createdeco.andesite_bars": "Zinnlegierunggitter", + "block.createdeco.andesite_bars_overlay": "Zinnlegierung Gitterüberzug", + "block.createdeco.andesite_window": "Zinnlegierungfenster", + "block.createdeco.andesite_window_pane": "Zinnlegierungfensterscheibe", + "block.createdeco.andesite_mesh_fence": "Zinnlegierunggitterzaun", + "block.createdeco.andesite_catwalk": "Zinnlegierung Laufsteg", + "block.createdeco.andesite_catwalk_stairs": "Zinnlegierung Laufstegtreppe", + "block.createdeco.andesite_catwalk_railing": "Zinnlegierung Laufsteggeländer", + "block.createdeco.andesite_support_wedge": "Zinnlegierung Keilauflager", + "block.createdeco.andesite_hull": "Zinnlegierungzuggehäuse", + "block.createdeco.andesite_support": "Zinnlegierungstütze", + "block.createdeco.yellow_andesite_lamp": "Gelbe Zinnlegierung Käfiglampe", + "block.createdeco.red_andesite_lamp": "Rote Zinnlegierung Käfiglampe", + "block.createdeco.blue_andesite_lamp": "Blaue Zinnlegierung Käfiglampe", + "block.createdeco.green_andesite_lamp": "Grüne Zinnlegierung Käfiglampe", + "block.createdeco.andesite_sheet_metal": "Zinnlegierungwellblech", + "block.createdeco.andesite_door": "Zinnlegierungtür", + "block.createdeco.locked_andesite_door": "Abgeschlossene Zinnlegierungtür", + "block.createdeco.andesite_trapdoor": "Zinnlegierungfalltür", + "block.createdeco.andesite_facade": "Zinnlegierungfassade", + "block.createdeco.iron_bars": "Gusseisengitter", + "block.createdeco.iron_bars_overlay": "Gusseisen Gitterüberzug", + "block.createdeco.iron_window": "Gusseisenfenster", + "block.createdeco.iron_window_pane": "Gusseisenfensterscheibe", + "block.createdeco.iron_mesh_fence": "Gusseisengitterzaun", + "block.createdeco.iron_catwalk": "Gusseisen Laufsteg", + "block.createdeco.iron_catwalk_stairs": "Gusseisen Laufstegtreppe", + "block.createdeco.iron_catwalk_railing": "Gusseisen Laufsteggeländer", + "block.createdeco.iron_support_wedge": "Gusseisen Keilauflager", + "block.createdeco.iron_hull": "Gusseisenzuggehäuse", + "block.createdeco.iron_support": "Gusseisenstütze", + "block.createdeco.yellow_iron_lamp": "Gelbe Gusseisen Käfiglampe", + "block.createdeco.red_iron_lamp": "Rote Gusseisen Käfiglampe", + "block.createdeco.blue_iron_lamp": "Blaue Gusseisen Käfiglampe", + "block.createdeco.green_iron_lamp": "Grüne Gusseisen Käfiglampe", + "block.createdeco.iron_sheet_metal": "Gusseisenwellblech", + "block.createdeco.iron_door": "Gusseisentür", + "block.createdeco.locked_iron_door": "Abgeschlossene Gusseisentür", + "block.createdeco.iron_trapdoor": "Gusseisenfalltür", + "block.createdeco.iron_facade": "Gusseisenfassade", + "block.createdeco.iron_coinstack": "Gusseisen Münzhaufen", + "block.createdeco.netherite_coinstack": "Blaustahl Münzhaufen", + "block.createdeco.industrial_iron_coinstack": "Stahl Münzhaufen", + "block.createdeco.industrial_iron_bars": "Stahlgitter", + "block.createdeco.industrial_iron_bars_overlay": "Stahl Gitterüberzug", + "block.createdeco.industrial_iron_window": "Stahlfenster", + "block.createdeco.industrial_iron_window_pane": "Stahlfensterscheibe", + "block.createdeco.industrial_iron_mesh_fence": "Stahlgitterzaun", + "block.createdeco.industrial_iron_catwalk": "Stahl Laufsteg", + "block.createdeco.industrial_iron_catwalk_stairs": "Stahl Laufstegtreppe", + "block.createdeco.industrial_iron_catwalk_railing": "Stahl Laufsteggeländer", + "block.createdeco.industrial_iron_support_wedge": "Stahl Keilauflager", + "block.createdeco.industrial_iron_hull": "Stahlzuggehäuse", + "block.createdeco.industrial_iron_support": "Stahlstütze", + "block.createdeco.yellow_industrial_iron_lamp": "Gelbe Stahl Käfiglampe", + "block.createdeco.red_industrial_iron_lamp": "Rote Stahl Käfiglampe", + "block.createdeco.blue_industrial_iron_lamp": "Blaue Stahl Käfiglampe", + "block.createdeco.green_industrial_iron_lamp": "Grüne Stahl Käfiglampe", + "block.createdeco.industrial_iron_sheet_metal": "Stahlwellblech", + "block.createdeco.industrial_iron_door": "Stahltür", + "block.createdeco.locked_industrial_iron_door": "Abgeschlossene Stahltür", + "block.createdeco.industrial_iron_trapdoor": "Stahlfalltür", + "block.createdeco.industrial_iron_ladder": "Stahlleiter", + "block.createdeco.industrial_iron_facade": "Stahlfassade", + "item.createdeco.iron_coin": "Gusseisenmünze", + "item.createdeco.netherite_coin": "Blaustahlmünze", + "item.createdeco.industrial_iron_coin": "Stahlmünze", + "item.createdeco.iron_coinstack": "Gusseisenmünzhaufen", + "item.createdeco.netherite_coinstack": "Blaustahlmünzhaufen", + "item.createdeco.industrial_iron_coinstack": "Stahlmünzhaufen" +} \ No newline at end of file diff --git a/kubejs/assets/createhorsepower/lang/de_de.json b/kubejs/assets/createhorsepower/lang/de_de.json new file mode 100644 index 000000000..101b996c9 --- /dev/null +++ b/kubejs/assets/createhorsepower/lang/de_de.json @@ -0,0 +1,4 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.createhorsepower.horse_crank": "Tierkurbel" +} \ No newline at end of file diff --git a/kubejs/assets/createstockbridge/lang/de_de.json b/kubejs/assets/createstockbridge/lang/de_de.json new file mode 100644 index 000000000..654f4252f --- /dev/null +++ b/kubejs/assets/createstockbridge/lang/de_de.json @@ -0,0 +1,16 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.createstockbridge.ae_bridge": "AE Börsenbrücke", + "gui.createstockbridge.address": "Paketadresse:", + "gui.stockbridge.remote_items": "Create Börsensystem Gegenstände", + "tooltip.stockbridge.remote_item": "Gegenstände im Fernsystem", + "item.createstockbridge.request_pattern": "Anfragemuster", + "createstockbridge.ponder.ae_stockbridge.header": "Verbinde das Börsensystem zu AE", + "createstockbridge.ponder.ae_stockbridge.text_1": "Die AE Börsenbrücke verbindet das Create Börsensystem mit AE", + "createstockbridge.ponder.ae_stockbridge.text_2": "Drücke Rechts-Klick, um sie zu dem Börsennetzwerk zu verbinden, bevor man sie platziert", + "createstockbridge.ponder.ae_stockbridge.text_3": "Stelle die AE Börsenbrückeadresse ein, um mit der Frosch-Anschlussadresse übereinzustimmen", + "createstockbridge.ponder.ae_stockbridge.text_4": "AE", + "createstockbridge.ponder.ae_stockbridge.text_5": "AE", + "createstockbridge.ponder.ae_stockbridge.text_6": "AE kann Gegenstände über 'herstellen' anfragen", + "createstockbridge.ponder.ae_stockbridge.text_7": "Create kann Gegenstände von AE anfragen" +} \ No newline at end of file diff --git a/kubejs/assets/deafission/lang/de_de.json b/kubejs/assets/deafission/lang/de_de.json new file mode 100644 index 000000000..25dab411a --- /dev/null +++ b/kubejs/assets/deafission/lang/de_de.json @@ -0,0 +1,64 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.deafission.fission_reactor_mk1": "Kernreaktor MK I", + "block.deafission.fission_reactor_mk2": "Kernreaktor MK II", + "block.deafission.fission_reactor_smr1": "Kleiner Kernreaktor MK I", + "deafission.machine.fission_reactor_smr1.tooltip": "Kaum modular.", + "block.deafission.fuel_holder": "Brennstoffhalter", + "deafission.machine.fuel_holder.tooltip": "Lagert nukleare Kernbrennstoffzellen, damit Kernspaltung sicher stattfinden kann.", + "block.deafission.material_holder": "Materialhalter", + "deafission.machine.material_holder.tooltip": "Lagert eingehende Gegenstände für Hitze- und Strahlungsbasierte Kernreaktorrezepte.", + "block.deafission.redstone_port": "Redstoneanschluss", + "deafission.machine.redstone_port.tooltip": "Rechts-Klicke mit einem Schraubenschlüssel, um den Modus zu ändern.", + "deafission.redstone_port.mode.heat": "Gibt Hitze/Max. aus", + "deafission.redstone_port.mode.fuels": "Gibt Brennstoff/Halter aus", + "deafission.fission_reactor.gui.mode.default": "Arbeitet normal", + "deafission.fission_reactor.gui.mode.cooldown": "Kühlt ab", + "deafission.fission_reactor.gui.stats": "%s H %s Th %s Eff", + "deafission.fission_reactor.gui.recipe": "Rezept: %s", + "deafission.fission_reactor.gui.recipe_none": "Rezept: Keins", + "deafission.fission_reactor.gui.coolant": "Kühlmittel: %s mB/t", + "deafission.fission_reactor.gui.coolant_missing": "Kühlmittel: %s (hatte %s%%)", + "deafission.fission_reactor.gui.fuel": "Brennstoff: %s dmg", + "deafission.fission_reactor.gui.fuel_throttle": "Brennstoff: %s dmg @ %s%%", + "deafission.fission_reactor.gui.cooling": "Kühlt: %s HE/t", + "deafission.fission_reactor.gui.heating": "Heizt: %s HE/t", + "deafission.fission_reactor.gui.processing": "Bearbeitet: %s HE/t", + "deafission.fission_reactor.gui.mass": "Masse: %s HE/°", + "deafission.fission_reactor.gui.heat": "Hitze: %s / %s", + "block.deafission.battery_heat_port_ev": "Hitzeanschluss", + "deafission.machine.battery_heat_port.tooltip": "§oDieser hier träumt von Hitzerohren", + "block.deafission.heat_input_hatch_ev": "Hitze Eingangsluke", + "deafission.machine.heat_input_hatch_ev.tooltip": "§oAuch dieser hier träumt von Hitzerohren", + "item.deafission.fuelcell_plutonium_x1": "Plutonium Brennstoffzellen", + "item.deafission.fuelcell_thorium_x1": "Thorium Brennstoffzellen", + "item.deafission.fuelcell_uranium_x1": "Uran Brennstoffzellen", + "material.deafission.flibe": "FLiBe Kühlmittel", + "material.deafission.flibe_hot": "FLiBe Kühlmittel (Heiß)", + "tooltip.deafission.fuelcell.rodcount": "Stäbe: %s", + "tooltip.deafission.fuelcell.heat": "Hitze: %s%%", + "tooltip.deafission.fuelcell.avgheat": "Durchschnittliche Lebenszeit: %s Hitze", + "tooltip.deafission.fuelcell.avgheat_none": "Durchschnittliche Lebenszeit: §7--- §rHitze", + "config.jade.plugin_deafission.reactor": "Zeige Kernreaktorinfo", + "config.jade.plugin_deafission.battery": "Zeige Thermalbatterieinfo", + "deafission.recipe.heat_per_tick": "Hitze: -%s HE/t", + "deafission.recipe.heat": "Hitze: %s HE", + "deafission.recipe.temp": "Temperatur: %s°", + "deafission.recipe.coolant_heat_per_tick": "Hitze: -%s HE/t/°", + "deafission.fission_reactor_coolant": "Kernreaktor", + "deafission.fission_reactor_coolant_smr": "Kleiner Kernreaktor", + "deafission.fission_reactor_processing": "Kernspaltung Hitzebearbeitung", + "deafission.fission_reactor_fuel": "Kernspaltungsprodukt", + "emi.category.deafission.component_fr": "Kernreaktor Komponenten", + "emi.deafission.heat_component_key": "Maximale Hitze:", + "emi.deafission.heat_component_value": "%d°", + "emi.deafission.throttle_component_key": "Drossel:", + "emi.deafission.throttle_component_value": "%d", + "emi.deafission.efficiency_component_key": "Effizienz:", + "emi.deafission.efficiency_component_value": "%d", + "deafission.subtitles.reactor_loop": "Lautes Brummen", + "emi.category.deafission.component_hb": "Thermalbatterie Komponenten", + "emi.deafission.thermal_component_key": "Thermallager:", + "emi.deafission.thermal_component_value_temp": "Temp.: %d°", + "emi.deafission.thermal_component_value_cap": "Spitze: %d HE/°" +} \ No newline at end of file diff --git a/kubejs/assets/diggerhelmet/lang/de_de.json b/kubejs/assets/diggerhelmet/lang/de_de.json new file mode 100644 index 000000000..6cb3bc97c --- /dev/null +++ b/kubejs/assets/diggerhelmet/lang/de_de.json @@ -0,0 +1,43 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "itemGroup.diggerhelmet": "Bergmannshelm", + "entity.diggerhelmet.candleslime": "Kerzenschleim", + "item.diggerhelmet.candleslime_spawn_egg": "Kerzenschleim Spawn-Ei", + "item.diggerhelmet.digger_helmet": "Bergmannshelm", + "item.diggerhelmet.digger_helmet.main": "Fass nicht die Kerze an!", + "tooltip.diggerhelmet.digger_helmet.hold_shift": "Halte §eSHIFT§7 für mehr Information", + "tooltip.diggerhelmet.digger_helmet.tooltip3": "Aua! Hab mich verbrannt, sollte besser nicht die Kerze anfassen", + "tooltip.diggerhelmet.digger_helmet.shift_info": "Nehm den Helm in die Hand und drücke §eSHIFT§7+rechts-klick, um die Helmoberfläche zu öffnen", + "tooltip.diggerhelmet.digger_helmet.wool_lining_active": "§aWollauskleidung installiert - gewährt Wärme", + "tooltip.diggerhelmet.digger_helmet.silk_lining_active": "§bSeidenauskleidung installiert - gewährt Kühlung", + "tooltip.diggerhelmet.digger_helmet.lining_needed": "§eInstalliere Auskleidungen für Temperatureigenschaften", + "tfcambiental.tooltip.thermoregulation": "Thermoregulation", + "tfcambiental.tooltip.thermal_insulation": "Wärmedämmung", + "item.diggerhelmet.mining_speed_modifier": "Abbaugeschwindigkeit Modifikator", + "item.diggerhelmet.mining_speed_modifier.desc.base": "Erhöht die Abbaugeschwindigkeit wenn im Bergmannshelm installiert:", + "item.diggerhelmet.mining_speed_modifier.desc.pickaxe": "Spitzhacken ×%.1f", + "item.diggerhelmet.mining_speed_modifier.desc.shovel": "Schaufeln ×%.1f", + "item.diggerhelmet.auto_drink_modifier": "Auto-Trink Modifikator", + "tooltip.diggerhelmet.cooldown": "Trink automatisch Wasser vom Inventar wenn im Bergmannshelm installiert", + "item.diggerhelmet.eternal_candle": "Ewige Kerze", + "tooltip.diggerhelmet.eternal_candle.main": "Mysteriöse Quelle von ewigen Flammen", + "tooltip.diggerhelmet.eternal_candle.shift_info": "Erhalten durch das Töten von Kerzschleimen oder Zombies (spawnt mit der Kerze in der Hand)", + "tooltip.diggerhelmet.eternal_candle.more_info": "Du musst vielleicht mehrere Zombies töten. Die Drop-Chance ist nicht 100%. Viel Glück!", + "block.diggerhelmet.eternal_candle": "Ewige Kerze", + "item.diggerhelmet.wool_lining": "Wollauskleidung", + "tooltip.diggerhelmet.wool_lining.main": "Gewährt Wärme und Komfort", + "tooltip.diggerhelmet.wool_lining.usage": "Installiere in Bergmannshelm für Temperatureigenschaften", + "item.diggerhelmet.silk_lining": "Seidenauskleidung", + "tooltip.diggerhelmet.silk_lining.main": "Gewährt Kühle und Leichtigkeit", + "tooltip.diggerhelmet.silk_lining.usage": "Installiere in Bergmannshelm für Temperatureigenschaften", + "gui.diggerhelmet.slot_info.title": "Slot Information", + "gui.diggerhelmet.slot_info.left_slot": "Linker Slot: Auto-Trink Modifikator", + "gui.diggerhelmet.slot_info.center_slot": "Mittlerer Slot: Abbaugeschwindigkeit Modifikator", + "gui.diggerhelmet.slot_info.right_slot": "Rechter Slot: Auskleidung (Wolle oder Seide)", + "gui.diggerhelmet.slot_info.right_slot_disabled": "Rechter Slot: Auskleidung (benötigt TFC Ambiental)", + "jei.diggerhelmet.category.helmet_repair": "Bergmannshelm Reperatur", + "item.diggerhelmet.broken_digger_helmet": "Kaputter Bergmannshelm", + "item.diggerhelmet.broken_helmet.tooltip": "Dieser Helm ist kaputt und funktioniert nicht mehr", + "item.diggerhelmet.broken_helmet.repair_info": "Verwende das Reperaturrezept um ihn zu restaurieren", + "message.diggerhelmet.helmet_broken": "Ups, scheint wohl als wäre der Bergmannshelm kaputt!" +} \ No newline at end of file diff --git a/kubejs/assets/domum_ornamentum/lang/de_de.json b/kubejs/assets/domum_ornamentum/lang/de_de.json new file mode 100644 index 000000000..0efa5805a --- /dev/null +++ b/kubejs/assets/domum_ornamentum/lang/de_de.json @@ -0,0 +1,215 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.domum_ornamentum.architectscutter": "Architektschneider", + "block.domum_ornamentum.beige_bricks": "Beigeziegel", + "block.domum_ornamentum.beige_stone_bricks": "Beige Steinziegel", + "block.domum_ornamentum.black_floating_carpet": "Schwarzer Schwebender Teppich", + "block.domum_ornamentum.blockbarreldeco_onside": "Laying Fass", + "block.domum_ornamentum.blockbarreldeco_standing": "Standing Fass", + "block.domum_ornamentum.blue_floating_carpet": "Blauer Schwebender Teppich", + "block.domum_ornamentum.brown_bricks": "Braunziegel", + "block.domum_ornamentum.brown_floating_carpet": "Brauner Schwebender Teppich", + "block.domum_ornamentum.brown_stone_bricks": "Braune Steinziegel", + "block.domum_ornamentum.cream_bricks": "Cremeziegel", + "block.domum_ornamentum.cream_stone_bricks": "Creme Steinziegel", + "block.domum_ornamentum.cyan_floating_carpet": "Türkiser Schwebender Teppich", + "block.domum_ornamentum.gray_floating_carpet": "Grauer Schwebender Teppich", + "block.domum_ornamentum.green_floating_carpet": "Grüner Schwebender Teppich", + "block.domum_ornamentum.light_blue_floating_carpet": "Hellblauer Schwebender Teppich", + "block.domum_ornamentum.light_gray_floating_carpet": "Hellgrauer Schwebender Teppich", + "block.domum_ornamentum.lime_floating_carpet": "Hellgrüner Schwebender Teppich", + "block.domum_ornamentum.magenta_floating_carpet": "Magenta Schwebender Teppich", + "block.domum_ornamentum.orange_floating_carpet": "Orange Schwebender Teppich", + "block.domum_ornamentum.pink_floating_carpet": "Pink Schwebender Teppich", + "block.domum_ornamentum.purple_floating_carpet": "Violetter Schwebender Teppich", + "block.domum_ornamentum.red_floating_carpet": "Roter Schwebender Teppich", + "block.domum_ornamentum.roan_bricks": "Roanziegel", + "block.domum_ornamentum.roan_stone_bricks": "Roan Steinziegel", + "block.domum_ornamentum.sand_bricks": "Sandziegel", + "block.domum_ornamentum.sand_stone_bricks": "Sandsteinziegel", + "block.domum_ornamentum.white_floating_carpet": "Weißer Schwebender Teppich", + "block.domum_ornamentum.yellow_floating_carpet": "Gelber Schwebender Teppich", + "cuttergroup.domum_ornamentum.avanilla": "Vanilla Blöcke", + "cuttergroup.domum_ornamentum.btimberframe": "Holzrahmen", + "cuttergroup.domum_ornamentum.cshingle": "Schindel", + "cuttergroup.domum_ornamentum.ddoor": "Türen", + "cuttergroup.domum_ornamentum.etrapdoor": "Falltüren", + "cuttergroup.domum_ornamentum.fpanel": "Feld", + "cuttergroup.domum_ornamentum.gpillar": "Säulen", + "cuttergroup.domum_ornamentum.hpaperwall": "Papierwände", + "cuttergroup.domum_ornamentum.ilight": "Lichter", + "cuttergroup.domum_ornamentum.jbrick": "Ziegel", + "cuttergroup.domum_ornamentum.kpost": "Posten", + "domum_ornamentum.allbrick.column.format": "Hauptmaterial: %s", + "domum_ornamentum.architectscutter": "Architekts Schneider", + "domum_ornamentum.block.format": "Material: %s", + "domum_ornamentum.blockpaperwall.center.format": " - Zentrum: %s", + "domum_ornamentum.blockpaperwall.frame.format": " - Rahmen: %s", + "domum_ornamentum.blockpaperwall.header": "Materialien:", + "domum_ornamentum.blockpaperwall.name.format": "%s Gerahmte Scheibe", + "domum_ornamentum.blockpillar.name.format": "Runde %s Säule", + "domum_ornamentum.blocktiledpaperwall.center.format": " - Zentrum: %s", + "domum_ornamentum.blocktiledpaperwall.frame.format": " - Rahmen: %s", + "domum_ornamentum.blocktiledpaperwall.header": "Materialien:", + "domum_ornamentum.blocktiledpaperwall.name.format": "%s Gekachelte Scheibe", + "domum_ornamentum.blockypillar.name.format": "Voxel %s Säule", + "domum_ornamentum.dark_brick.name.format": "Dunkle %s Ziegel", + "domum_ornamentum.dark_brick_stair.name.format": "Dunkle %s Ziegeltreppe", + "domum_ornamentum.desc.center": "Zentrum %s", + "domum_ornamentum.desc.frame": "Rahmen %s", + "domum_ornamentum.desc.main": "Haupt %s", + "domum_ornamentum.desc.material": "Material: %s", + "domum_ornamentum.desc.onlyone": "%s", + "domum_ornamentum.desc.shingle": "Schindel %s", + "domum_ornamentum.desc.support": "Stütze %s", + "domum_ornamentum.door.block.format": "Material: %s", + "domum_ornamentum.door.name.format": "%s Tür", + "domum_ornamentum.door.type.format": "Variante: %s", + "domum_ornamentum.door.type.name.full": "Voll", + "domum_ornamentum.door.type.name.port.manteau": "Port Manteau", + "domum_ornamentum.door.type.name.vertically.striped": "Vertikal Entrindet", + "domum_ornamentum.door.type.name.waffle": "Waffel", + "domum_ornamentum.dynamic.frame.name.format": "Dynamisch Gerahmte %s", + "domum_ornamentum.extra.name.format": "%s Extra", + "domum_ornamentum.extra.name.format.black": "Schwarzes %s Extra", + "domum_ornamentum.extra.name.format.blue": "Blaues %s Extra", + "domum_ornamentum.extra.name.format.brown": "Braunes %s Extra", + "domum_ornamentum.extra.name.format.cyan": "Türkises %s Extra", + "domum_ornamentum.extra.name.format.gray": "Graues %s Extra", + "domum_ornamentum.extra.name.format.green": "Grünes %s Extra", + "domum_ornamentum.extra.name.format.light_blue": "Hellblaues %s Extra", + "domum_ornamentum.extra.name.format.light_gray": "Hellgraues %s Extra", + "domum_ornamentum.extra.name.format.lime": "Hellgrünes %s Extra", + "domum_ornamentum.extra.name.format.magenta": "Magenta %s Extra", + "domum_ornamentum.extra.name.format.orange": "Oranges %s Extra", + "domum_ornamentum.extra.name.format.pink": "Pinkes %s Extra", + "domum_ornamentum.extra.name.format.purple": "Violettes %s Extra", + "domum_ornamentum.extra.name.format.red": "Rotes %s Extra", + "domum_ornamentum.extra.name.format.white": "Weißes %s Extra", + "domum_ornamentum.extra.name.format.yellow": "Gelbes %s Extra", + "domum_ornamentum.fancydoor.center.block.format": " - Material: %s", + "domum_ornamentum.fancydoor.center.header": "Zentrum:", + "domum_ornamentum.fancydoor.frame.block.format": " - Material: %s", + "domum_ornamentum.fancydoor.frame.header": "Rahmen:", + "domum_ornamentum.fancydoor.name.format": "Schicke %s Tür", + "domum_ornamentum.fancydoor.type.format": "Variante: %s", + "domum_ornamentum.fancydoor.type.name.creeper": "Creeper", + "domum_ornamentum.fancydoor.type.name.full": "Voll", + "domum_ornamentum.fancytrapdoor.center.block.format": " - Material: %s", + "domum_ornamentum.fancytrapdoor.center.header": "Zentrum:", + "domum_ornamentum.fancytrapdoor.frame.block.format": " - Material: %s", + "domum_ornamentum.fancytrapdoor.frame.header": "Rahmen:", + "domum_ornamentum.fancytrapdoor.name.format": "Schicke %s Falltür", + "domum_ornamentum.fancytrapdoor.type.format": "Variante: %s", + "domum_ornamentum.fancytrapdoor.type.name.creeper": "Creeper", + "domum_ornamentum.fancytrapdoor.type.name.full": "Voll", + "domum_ornamentum.fence-gate.name.format": "%s Zauntor", + "domum_ornamentum.fence.name.format": "%s Zaun", + "domum_ornamentum.group": "Gruppe:", + "domum_ornamentum.light.center.block.format": " - Material: %s", + "domum_ornamentum.light.center.header": "Zentrum:", + "domum_ornamentum.light.frame.block.format": " - Material: %s", + "domum_ornamentum.light.frame.header": "Einrahmen:", + "domum_ornamentum.light.frame.name.format": "Gerahmte %s", + "domum_ornamentum.light.frame.type.center_light": "Zentrales", + "domum_ornamentum.light.frame.type.crossed_light": "Gekreuztes", + "domum_ornamentum.light.frame.type.fancy_light": "Schickes", + "domum_ornamentum.light.frame.type.format": " - Typ: %s", + "domum_ornamentum.light.frame.type.four_light": "Vier", + "domum_ornamentum.light.frame.type.framed_light": "Gerahmtes", + "domum_ornamentum.light.frame.type.horizontal_light": "Horizontales", + "domum_ornamentum.light.frame.type.vertical_light": "Vertikales", + "domum_ornamentum.light_brick.name.format": "Light %s Ziegel", + "domum_ornamentum.light_brick_stair.name.format": "Light %s Ziegel Stair", + "domum_ornamentum.origin.tooltip": "Hergestellt im Architekts Schneider", + "domum_ornamentum.panel.block.format": "Material: %s", + "domum_ornamentum.panel.name.format": "%s Feld", + "domum_ornamentum.panel.type.format": "Variante: %s", + "domum_ornamentum.panel.type.name.boss": "Boss", + "domum_ornamentum.panel.type.name.coffer": "Koffer", + "domum_ornamentum.panel.type.name.full": "Voll", + "domum_ornamentum.panel.type.name.horizontal.bars": "Horizontale Gitter", + "domum_ornamentum.panel.type.name.horizontally.squiggly.striped": "Horizontal Schnörkelig Gestreift", + "domum_ornamentum.panel.type.name.horizontally.striped": "Horizontal Gestreift", + "domum_ornamentum.panel.type.name.moulding": "Formarbeit", + "domum_ornamentum.panel.type.name.port.manteau": "Port Manteau", + "domum_ornamentum.panel.type.name.porthole": "Bullauge", + "domum_ornamentum.panel.type.name.roundel": "Rundfenster", + "domum_ornamentum.panel.type.name.slot": "Slot", + "domum_ornamentum.panel.type.name.vertical.bars": "Vertikales Gitter", + "domum_ornamentum.panel.type.name.vertically.squiggly.striped": "Vertikal Schnörkelig Gestreift", + "domum_ornamentum.panel.type.name.vertically.striped": "Vertikal Gestreift", + "domum_ornamentum.panel.type.name.waffle": "Waffel", + "domum_ornamentum.pillar.column.format": "Hauptmaterial: %s", + "domum_ornamentum.pillar.header": "Typ:", + "domum_ornamentum.post.block.format": "Material: %s", + "domum_ornamentum.post.name.format": "%s Posten", + "domum_ornamentum.post.type.format": "Variante: %s", + "domum_ornamentum.post.type.name.double": "Doppelter", + "domum_ornamentum.post.type.name.heavy": "Schwerer", + "domum_ornamentum.post.type.name.pinched": "Gequetschter", + "domum_ornamentum.post.type.name.plain": "Ordinärer", + "domum_ornamentum.post.type.name.quad": "Vier", + "domum_ornamentum.post.type.name.turned": "Gedrehter", + "domum_ornamentum.shingle.main.format": "Hauptmaterial: %s", + "domum_ornamentum.shingle.name.format.block.domum_ornamentum.shingle": "%s Schindel", + "domum_ornamentum.shingle.name.format.block.domum_ornamentum.shingle_flat": "%s Flache Schindel", + "domum_ornamentum.shingle.name.format.block.domum_ornamentum.shingle_flat_lower": "%s Flache Niedrige Schindel", + "domum_ornamentum.shingle.support.format": "Unterstützt von: %s", + "domum_ornamentum.shingle_slab.cover.format": "Gedeckt von: %s", + "domum_ornamentum.shingle_slab.main.format": "Hauptmaterial: %s", + "domum_ornamentum.shingle_slab.name.format": "%s Schindel", + "domum_ornamentum.shingle_slab.support.format": "Unterstützt von: %s", + "domum_ornamentum.slab.name.format": "%s Stufe", + "domum_ornamentum.squarepillar.name.format": "Viereckige %s Säule", + "domum_ornamentum.stair.name.format": "%s Treppe", + "domum_ornamentum.timber.center.block.format": " - Material: %s", + "domum_ornamentum.timber.center.header": "Zentrum:", + "domum_ornamentum.timber.frame.block.format": " - Material: %s", + "domum_ornamentum.timber.frame.header": "Einrahmen:", + "domum_ornamentum.timber.frame.name.format": "Gerahmte %s", + "domum_ornamentum.timber.frame.type.double_crossed": "Doppelt Gekreuzt", + "domum_ornamentum.timber.frame.type.down_gated": "Untertor", + "domum_ornamentum.timber.frame.type.format": " - Typ: %s", + "domum_ornamentum.timber.frame.type.framed": "Gerahmte", + "domum_ornamentum.timber.frame.type.horizontal_plain": "Ordinär Horizontal", + "domum_ornamentum.timber.frame.type.one_crossed_lr": "Links-Rechts Gekreuzt", + "domum_ornamentum.timber.frame.type.one_crossed_rl": "Rechts-Links Gekreuzt", + "domum_ornamentum.timber.frame.type.plain": "Ordinär", + "domum_ornamentum.timber.frame.type.side_framed": "Seite", + "domum_ornamentum.timber.frame.type.side_framed_horizontal": "Seite Horizontal", + "domum_ornamentum.timber.frame.type.up_gated": "Hcchtor", + "domum_ornamentum.trapdoor.block.format": "Material: %s", + "domum_ornamentum.trapdoor.name.format": "%s Falltür", + "domum_ornamentum.trapdoor.type.format": "Variante: %s", + "domum_ornamentum.trapdoor.type.name.boss": "Boss", + "domum_ornamentum.trapdoor.type.name.coffer": "Koffer", + "domum_ornamentum.trapdoor.type.name.full": "Volle", + "domum_ornamentum.trapdoor.type.name.horizontal.bars": "Horizontale Gitter", + "domum_ornamentum.trapdoor.type.name.horizontally.squiggly.striped": "Horizontal Geschnörkelt Gestreift", + "domum_ornamentum.trapdoor.type.name.horizontally.striped": "Horizontally Gestreift", + "domum_ornamentum.trapdoor.type.name.moulding": "Moulding", + "domum_ornamentum.trapdoor.type.name.port.manteau": "Port Manteau", + "domum_ornamentum.trapdoor.type.name.porthole": "Bullauge", + "domum_ornamentum.trapdoor.type.name.roundel": "Rundfenster", + "domum_ornamentum.trapdoor.type.name.slot": "Slot", + "domum_ornamentum.trapdoor.type.name.vertical.bars": "Vertikale Gitter", + "domum_ornamentum.trapdoor.type.name.vertically.squiggly.striped": "Vertikal Geschnörkelt Gestreift", + "domum_ornamentum.trapdoor.type.name.vertically.striped": "Vertikal Gestreift", + "domum_ornamentum.trapdoor.type.name.waffle": "Waffel", + "domum_ornamentum.variant": "Variant:", + "domum_ornamentum.wall.name.format": "%s Wand", + "itemGroup.domum_ornamentum.doors": "DO - Türen", + "itemGroup.domum_ornamentum.extra-blocks": "DO - Deckrative Blöcke", + "itemGroup.domum_ornamentum.fences": "DO - Zäune", + "itemGroup.domum_ornamentum.floating-carpets": "DO - Schwebende Teppiche", + "itemGroup.domum_ornamentum.general": "Domum Ornamentum (DO)", + "itemGroup.domum_ornamentum.paperwalls": "DO - Dünne Gerahmte Wände", + "itemGroup.domum_ornamentum.posts": "DO - Posten", + "itemGroup.domum_ornamentum.shingle_slabs": "DO - Schindelstufen", + "itemGroup.domum_ornamentum.shingles": "DO - Schindel", + "itemGroup.domum_ornamentum.slabs": "DO - Stufen", + "itemGroup.domum_ornamentum.stairs": "DO - Treppen", + "itemGroup.domum_ornamentum.timber_frames": "DO - Gerahmte Blöcke", + "itemGroup.domum_ornamentum.walls": "DO - Wände" +} \ No newline at end of file diff --git a/kubejs/assets/endermanoverhaul/lang/de_de.json b/kubejs/assets/endermanoverhaul/lang/de_de.json new file mode 100644 index 000000000..61fe1546f --- /dev/null +++ b/kubejs/assets/endermanoverhaul/lang/de_de.json @@ -0,0 +1,33 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "entity.endermanoverhaul.nether_wastes_enderman": "Feuriger Enderman", + "entity.endermanoverhaul.dark_oak_enderman": "Aschener Enderman", + "entity.endermanoverhaul.mushroom_fields_enderman": "Pilz Enderman", + "entity.endermanoverhaul.swamp_enderman": "Moosiger Enderman", + "entity.endermanoverhaul.scarab": "Käfer", + "entity.endermanoverhaul.soulsand_valley_enderman": "Lichtblühte-Berührter Enderman", + "entity.endermanoverhaul.windswept_hills_enderman": "Mondmaria Enderman", + "entity.endermanoverhaul.end_enderman": "Baritonkoralle Enderman", + "entity.endermanoverhaul.end_islands_enderman": "Sopranokoralle Enderman", + "entity.endermanoverhaul.spirit": "Komet", + "entity.endermanoverhaul.desert_enderman": "Verirrter Enderman", + "entity.endermanoverhaul.savanna_enderman": "Sandiger Enderman", + "item.endermanoverhaul.nether_wastes_enderman_spawn_egg": "Feuriger Enderman Spawn-Ei", + "item.endermanoverhaul.dark_oak_enderman_spawn_egg": "Aschener Enderman Spawn-Ei", + "item.endermanoverhaul.mushroom_fields_enderman_spawn_egg": "Pilz Enderman Spawn-Ei", + "item.endermanoverhaul.swamp_enderman_spawn_egg": "Moosiger Enderman Spawn-Ei", + "item.endermanoverhaul.scarab_spawn_egg": "Käfer Spawn-Ei", + "item.endermanoverhaul.soulsand_valley_enderman_spawn_egg": "Lichtblühte-Berührter Enderman Spawn-Ei", + "item.endermanoverhaul.windswept_hills_enderman_spawn_egg": "Mondmaria Enderman Spawn-Ei", + "item.endermanoverhaul.end_enderman_spawn_egg": "Baritonkoralle Enderman Spawn-Ei", + "item.endermanoverhaul.end_islands_enderman_spawn_egg": "Sopranokoralle Enderman Spawn-Ei", + "item.endermanoverhaul.spirit_spawn_egg": "Komet Spawn-Ei", + "item.endermanoverhaul.desert_enderman_spawn_egg": "Verirrter Enderman Spawn-Ei", + "item.endermanoverhaul.savanna_enderman_spawn_egg": "Sandiger Enderman Spawn-Ei", + "subtitles.endermanoverhaul.entity.cave_enderman.ambient": "Tiefe Höhlen Enderman macht Geräusche", + "subtitles.endermanoverhaul.entity.cave_enderman.hurt": "Tiefe Höhlen Enderman verletzt", + "subtitles.endermanoverhaul.entity.dark_oak_enderman.ambient": "Aschener Enderman macht Geräusche", + "subtitles.endermanoverhaul.entity.dark_oak_enderman.darkness": "Aschener Enderman verdunkelt", + "subtitles.endermanoverhaul.entity.dark_oak_enderman.stare": "Aschener Enderman schreit", + "tag.item.endermanoverhaul.ender_pearls": "Enderperlen" +} \ No newline at end of file diff --git a/kubejs/assets/endermanoverhaul/lang/zh_tw.json b/kubejs/assets/endermanoverhaul/lang/zh_tw.json index 51bfdc362..c2f8f3f6f 100644 --- a/kubejs/assets/endermanoverhaul/lang/zh_tw.json +++ b/kubejs/assets/endermanoverhaul/lang/zh_tw.json @@ -1,29 +1,33 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "entity.endermanoverhaul.nether_wastes_enderman": "洞穴末影人", - "entity.endermanoverhaul.dark_oak_enderman": "灰燼末影人", - "entity.endermanoverhaul.mushroom_fields_enderman": "蘑菇末影人", - "entity.endermanoverhaul.swamp_enderman": "覆苔末影人", + "entity.endermanoverhaul.nether_wastes_enderman": "熾熱終界使者", + "entity.endermanoverhaul.dark_oak_enderman": "灰燼終界使者", + "entity.endermanoverhaul.mushroom_fields_enderman": "蘑菇終界使者", + "entity.endermanoverhaul.swamp_enderman": "苔蘚終界使者", "entity.endermanoverhaul.scarab": "甲蟲", - "entity.endermanoverhaul.soulsand_valley_enderman": "光花侵染末影人", - "entity.endermanoverhaul.windswept_hills_enderman": "月海末影人", - "entity.endermanoverhaul.end_enderman": "男中音合唱末影人", - "entity.endermanoverhaul.end_islands_enderman": "女高音合唱末影人", + "entity.endermanoverhaul.soulsand_valley_enderman": "光華觸碰終界使者", + "entity.endermanoverhaul.windswept_hills_enderman": "月海終界使者", + "entity.endermanoverhaul.end_enderman": "男低音頌歌終界使者", + "entity.endermanoverhaul.end_islands_enderman": "女高音頌歌終界使者", "entity.endermanoverhaul.spirit": "彗星", - "item.endermanoverhaul.nether_wastes_enderman_spawn_egg": "洞穴末影人生怪蛋", - "item.endermanoverhaul.dark_oak_enderman_spawn_egg": "灰燼末影人生怪蛋", - "item.endermanoverhaul.mushroom_fields_enderman_spawn_egg": "蘑菇末影人生怪蛋", - "item.endermanoverhaul.swamp_enderman_spawn_egg": "覆苔末影人生怪蛋", - "item.endermanoverhaul.scarab_spawn_egg": "甲蟲生怪蛋", - "item.endermanoverhaul.soulsand_valley_enderman_spawn_egg": "光花侵染末影人生怪蛋", - "item.endermanoverhaul.windswept_hills_enderman_spawn_egg": "月海末影人生怪蛋", - "item.endermanoverhaul.end_enderman_spawn_egg": "男中音合唱末影人生怪蛋", - "item.endermanoverhaul.end_islands_enderman_spawn_egg": "女高音合唱末影人生怪蛋", - "item.endermanoverhaul.spirit_spawn_egg": "彗星生怪蛋", - "subtitles.endermanoverhaul.entity.cave_enderman.ambient": "洞穴末影人:低鳴", - "subtitles.endermanoverhaul.entity.cave_enderman.hurt": "洞穴末影人:受傷", - "subtitles.endermanoverhaul.entity.dark_oak_enderman.ambient": "灰燼末影人:低鳴", - "subtitles.endermanoverhaul.entity.dark_oak_enderman.darkness": "灰燼末影人:暗影降臨", - "subtitles.endermanoverhaul.entity.dark_oak_enderman.stare": "灰燼末影人:嘶吼", + "entity.endermanoverhaul.desert_enderman": "迷失終界使者", + "entity.endermanoverhaul.savanna_enderman": "沙質終界使者", + "item.endermanoverhaul.nether_wastes_enderman_spawn_egg": "熾熱終界使者生成蛋", + "item.endermanoverhaul.dark_oak_enderman_spawn_egg": "灰燼終界使者生成蛋", + "item.endermanoverhaul.mushroom_fields_enderman_spawn_egg": "蘑菇終界使者生成蛋", + "item.endermanoverhaul.swamp_enderman_spawn_egg": "苔蘚終界使者生成蛋", + "item.endermanoverhaul.scarab_spawn_egg": "甲蟲生成蛋", + "item.endermanoverhaul.soulsand_valley_enderman_spawn_egg": "光華觸碰終界使者生成蛋", + "item.endermanoverhaul.windswept_hills_enderman_spawn_egg": "月海終界使者生成蛋", + "item.endermanoverhaul.end_enderman_spawn_egg": "男低音頌歌終界使者生成蛋", + "item.endermanoverhaul.end_islands_enderman_spawn_egg": "女高音頌歌終界使者生成蛋", + "item.endermanoverhaul.spirit_spawn_egg": "彗星生成蛋", + "item.endermanoverhaul.desert_enderman_spawn_egg": "迷失終界使者生成蛋", + "item.endermanoverhaul.savanna_enderman_spawn_egg": "沙質終界使者生成蛋", + "subtitles.endermanoverhaul.entity.cave_enderman.ambient": "深穴終界使者發出嗚嗚聲", + "subtitles.endermanoverhaul.entity.cave_enderman.hurt": "深穴終界使者受到傷害", + "subtitles.endermanoverhaul.entity.dark_oak_enderman.ambient": "灰燼終界使者發出嗚嗚聲", + "subtitles.endermanoverhaul.entity.dark_oak_enderman.darkness": "灰燼終界使者發出黑暗氣息", + "subtitles.endermanoverhaul.entity.dark_oak_enderman.stare": "灰燼終界使者發出尖叫", "tag.item.endermanoverhaul.ender_pearls": "終界珍珠" } \ No newline at end of file diff --git a/kubejs/assets/firmalife/lang/zh_tw.json b/kubejs/assets/firmalife/lang/zh_tw.json index c42e985b7..407b9a244 100644 --- a/kubejs/assets/firmalife/lang/zh_tw.json +++ b/kubejs/assets/firmalife/lang/zh_tw.json @@ -1,23 +1,23 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "block.firmalife.weathered_treated_wood_greenhouse_roof_top": "风化的涂蜡防腐木温室屋顶", - "block.firmalife.weathered_treated_wood_greenhouse_roof": "风化的涂蜡防腐木温室屋檐", - "block.firmalife.weathered_treated_wood_greenhouse_wall": "风化的涂蜡防腐木温室墙", - "block.firmalife.weathered_treated_wood_greenhouse_port": "风化的涂蜡防腐木温室接口", - "block.firmalife.weathered_treated_wood_greenhouse_panel_wall": "风化蜡防腐木温室板墙", - "block.firmalife.weathered_treated_wood_greenhouse_panel_roof": "风化的涂蜡防腐木温室板屋顶", - "block.firmalife.weathered_treated_wood_greenhouse_trapdoor": "风化的涂蜡防腐木温室活板门", - "block.firmalife.weathered_treated_wood_greenhouse_door": "风化的涂蜡防腐木温室门", - "block.firmalife.treated_wood_greenhouse_roof_top": "涂蜡的防腐木温室屋顶", - "block.firmalife.treated_wood_greenhouse_roof": "涂蜡的防腐木温室屋檐", - "block.firmalife.treated_wood_greenhouse_wall": "涂蜡的防腐木温室墙", - "block.firmalife.treated_wood_greenhouse_port": "涂蜡的防腐木温室接口", - "block.firmalife.treated_wood_greenhouse_panel_wall": "涂蜡的防腐木温室板墙", - "block.firmalife.treated_wood_greenhouse_panel_roof": "涂蜡的防腐木温室板屋顶", - "block.firmalife.treated_wood_greenhouse_trapdoor": "涂蜡的防腐木温室活板门", - "block.firmalife.treated_wood_greenhouse_door": "涂蜡的防腐木温室门", - "block.firmalife.treated_wood": "涂蜡的防腐木", - "item.firmalife.treated_lumber": "涂蜡木材", - "greenhouse.firmalife.treated_wood": "涂蜡的防腐木", - "firmalife.jade.needs_peel": "需要用夹子或防烫手套才能安全取出物品" + "block.firmalife.weathered_treated_wood_greenhouse_roof_top": "風化塗蠟木溫室屋頂頂部", + "block.firmalife.weathered_treated_wood_greenhouse_roof": "風化塗蠟木溫室屋頂", + "block.firmalife.weathered_treated_wood_greenhouse_wall": "風化塗蠟木溫室牆", + "block.firmalife.weathered_treated_wood_greenhouse_port": "風化塗蠟木溫室接口", + "block.firmalife.weathered_treated_wood_greenhouse_panel_wall": "風化塗蠟木溫室牆板", + "block.firmalife.weathered_treated_wood_greenhouse_panel_roof": "風化塗蠟木溫室屋頂板", + "block.firmalife.weathered_treated_wood_greenhouse_trapdoor": "風化塗蠟木溫室地板門", + "block.firmalife.weathered_treated_wood_greenhouse_door": "風化塗蠟木溫室門", + "block.firmalife.treated_wood_greenhouse_roof_top": "塗蠟木溫室屋頂頂部", + "block.firmalife.treated_wood_greenhouse_roof": "塗蠟木溫室屋頂", + "block.firmalife.treated_wood_greenhouse_wall": "塗蠟木溫室牆", + "block.firmalife.treated_wood_greenhouse_port": "塗蠟木溫室接口", + "block.firmalife.treated_wood_greenhouse_panel_wall": "塗蠟木溫室牆板", + "block.firmalife.treated_wood_greenhouse_panel_roof": "塗蠟木溫室屋頂板", + "block.firmalife.treated_wood_greenhouse_trapdoor": "塗蠟木溫室地板門", + "block.firmalife.treated_wood_greenhouse_door": "塗蠟木溫室門", + "block.firmalife.treated_wood": "塗蠟木材", + "item.firmalife.treated_lumber": "塗蠟木材", + "greenhouse.firmalife.treated_wood": "塗蠟木材", + "firmalife.jade.needs_peel": "需要使用鉗子或隔熱手套才能安全取出物品" } \ No newline at end of file diff --git a/kubejs/assets/framedblocks/lang/zh_tw.json b/kubejs/assets/framedblocks/lang/zh_tw.json new file mode 100644 index 000000000..40ce00b28 --- /dev/null +++ b/kubejs/assets/framedblocks/lang/zh_tw.json @@ -0,0 +1,349 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.framedblocks.framed_activator_rail_slope": "啟動鐵軌坡框架", + "block.framedblocks.framed_adj_double_copycat_panel": "可調複合仿製豎板框架", + "block.framedblocks.framed_adj_double_copycat_slab": "可調複合仿製半磚框架", + "block.framedblocks.framed_adj_double_panel": "可調複合豎板框架", + "block.framedblocks.framed_adj_double_slab": "可調複合半磚框架", + "block.framedblocks.framed_bars": "鐵柵欄框架", + "block.framedblocks.framed_bookshelf": "書架框架", + "block.framedblocks.framed_bouncy_cube": "黏液方塊框架", + "block.framedblocks.framed_button": "按鈕框架", + "block.framedblocks.framed_centered_panel": "置中豎板框架", + "block.framedblocks.framed_centered_slab": "置中半磚框架", + "block.framedblocks.framed_checkered_cube": "棋盤紋方塊框架", + "block.framedblocks.framed_checkered_cube_segment": "棋盤紋方塊分段框架", + "block.framedblocks.framed_checkered_panel": "棋盤紋豎板框架", + "block.framedblocks.framed_checkered_panel_segment": "棋盤紋豎板分段框架", + "block.framedblocks.framed_checkered_slab": "棋盤紋半磚框架", + "block.framedblocks.framed_checkered_slab_segment": "棋盤紋半磚分段框架", + "block.framedblocks.framed_chest": "箱子框架", + "block.framedblocks.framed_chiseled_bookshelf": "雕紋書架框架", + "block.framedblocks.framed_collapsible_block": "自訂方塊框架", + "block.framedblocks.framed_collapsible_copycat_block": "自訂仿製方塊框架", + "block.framedblocks.framed_compound_slope_panel": "複合坡豎板框架", + "block.framedblocks.framed_compound_slope_slab": "複合坡半磚框架", + "block.framedblocks.framed_corner_pillar": "角柱框架", + "block.framedblocks.framed_corner_slope": "角坡框架", + "block.framedblocks.framed_corner_strip": "角條框架", + "block.framedblocks.framed_cube": "框架方塊", + "block.framedblocks.framed_detector_rail_slope": "偵測鐵軌坡框架", + "block.framedblocks.framed_divided_panel_horizontal": "分割豎板框架(水平)", + "block.framedblocks.framed_divided_panel_vertical": "分割豎板框架(垂直)", + "block.framedblocks.framed_divided_slab": "分割半磚框架", + "block.framedblocks.framed_divided_slope": "分割坡框架", + "block.framedblocks.framed_divided_stairs": "分割階梯框架", + "block.framedblocks.framed_door": "門框架", + "block.framedblocks.framed_double_corner": "複合角框架", + "block.framedblocks.framed_double_half_slope": "複合半坡框架", + "block.framedblocks.framed_double_half_stairs": "複合半階梯框架", + "block.framedblocks.framed_double_panel": "複合豎板框架", + "block.framedblocks.framed_double_prism": "複合稜柱框架", + "block.framedblocks.framed_double_prism_corner": "複合稜角框架", + "block.framedblocks.framed_double_slab": "複合半磚框架", + "block.framedblocks.framed_double_slope": "複合坡框架", + "block.framedblocks.framed_double_slope_panel": "複合坡豎板框架", + "block.framedblocks.framed_double_slope_slab": "複合坡半磚框架", + "block.framedblocks.framed_double_sloped_prism": "複合坡稜柱框架", + "block.framedblocks.framed_double_stairs": "複合階梯框架", + "block.framedblocks.framed_double_threeway_corner": "複合三向角框架", + "block.framedblocks.framed_double_threeway_corner_pillar": "複合三向角柱框架", + "block.framedblocks.framed_elevated_double_slope_edge": "抬升複合坡邊緣框架", + "block.framedblocks.framed_elevated_double_slope_slab": "抬升複合坡半磚框架", + "block.framedblocks.framed_elevated_slope_edge": "抬升坡邊緣框架", + "block.framedblocks.framed_elevated_slope_slab": "抬升坡半磚框架", + "block.framedblocks.framed_ext_corner_slope_panel": "延伸角坡豎板框架", + "block.framedblocks.framed_ext_corner_slope_panel_w": "延伸角坡豎板框架", + "block.framedblocks.framed_ext_double_corner_slope_panel": "延伸複合角坡豎板框架", + "block.framedblocks.framed_ext_double_corner_slope_panel_w": "延伸複合角坡豎板框架", + "block.framedblocks.framed_ext_inner_corner_slope_panel": "延伸內角坡豎板框架", + "block.framedblocks.framed_ext_inner_corner_slope_panel_w": "延伸內角坡豎板框架", + "block.framedblocks.framed_ext_inner_double_corner_slope_panel": "延伸內複合角坡豎板框架", + "block.framedblocks.framed_ext_inner_double_corner_slope_panel_w": "延伸內複合角坡豎板框架", + "block.framedblocks.framed_extended_double_slope_panel": "延伸複合坡豎板框架", + "block.framedblocks.framed_extended_slope_panel": "延伸坡豎板框架", + "block.framedblocks.framed_fancy_activator_rail": "花式啟動鐵軌框架", + "block.framedblocks.framed_fancy_activator_rail_slope": "花式啟動鐵軌坡框架", + "block.framedblocks.framed_fancy_detector_rail": "花式偵測鐵軌框架", + "block.framedblocks.framed_fancy_detector_rail_slope": "花式偵測鐵軌坡框架", + "block.framedblocks.framed_fancy_powered_rail": "花式充能鐵軌框架", + "block.framedblocks.framed_fancy_powered_rail_slope": "花式充能鐵軌坡框架", + "block.framedblocks.framed_fancy_rail": "花式鐵軌框架", + "block.framedblocks.framed_fancy_rail_slope": "花式鐵軌坡框架", + "block.framedblocks.framed_fence": "柵欄框架", + "block.framedblocks.framed_fence_gate": "柵欄門框架", + "block.framedblocks.framed_flat_double_slope_panel_corner": "扁平複合坡豎板角框架", + "block.framedblocks.framed_flat_double_slope_slab_corner": "扁平複合坡半磚角框架", + "block.framedblocks.framed_flat_elev_double_slope_slab_corner": "扁平抬升複合坡半磚角框架", + "block.framedblocks.framed_flat_elev_inner_double_slope_slab_corner": "扁平抬升內複合坡半磚角框架", + "block.framedblocks.framed_flat_elev_inner_slope_slab_corner": "扁平抬升內坡半磚角框架", + "block.framedblocks.framed_flat_elev_slope_slab_corner": "扁平抬升坡半磚角框架", + "block.framedblocks.framed_flat_ext_double_slope_panel_corner": "扁平延伸複合坡豎板角框架", + "block.framedblocks.framed_flat_ext_inner_double_slope_panel_corner": "扁平延伸內複合坡豎板角框架", + "block.framedblocks.framed_flat_ext_inner_slope_panel_corner": "扁平延伸內坡豎板角框架", + "block.framedblocks.framed_flat_ext_slope_panel_corner": "扁平延伸坡豎板角框架", + "block.framedblocks.framed_flat_inner_slope_panel_corner": "扁平內坡豎板角框架", + "block.framedblocks.framed_flat_inner_slope_slab_corner": "扁平內坡半磚角框架", + "block.framedblocks.framed_flat_inv_double_slope_panel_corner": "扁平反向複合坡豎板角框架", + "block.framedblocks.framed_flat_inv_double_slope_slab_corner": "扁平反向複合坡半磚角框架", + "block.framedblocks.framed_flat_slope_panel_corner": "扁平坡豎板角框架", + "block.framedblocks.framed_flat_slope_slab_corner": "扁平坡半磚角框架", + "block.framedblocks.framed_flat_stacked_inner_slope_panel_corner": "扁平堆疊內坡豎板角框架", + "block.framedblocks.framed_flat_stacked_inner_slope_slab_corner": "扁平堆疊內坡半磚角框架", + "block.framedblocks.framed_flat_stacked_slope_panel_corner": "扁平堆疊坡豎板角框架", + "block.framedblocks.framed_flat_stacked_slope_slab_corner": "扁平堆疊坡半磚角框架", + "block.framedblocks.framed_floor_board": "地板框架", + "block.framedblocks.framed_flower_pot": "花盆框架", + "block.framedblocks.framed_gate": "門框架", + "block.framedblocks.framed_glowing_cube": "發光方塊框架", + "block.framedblocks.framed_glowing_item_frame": "發光物品展示框框架", + "block.framedblocks.framed_gold_pressure_plate": "輕質壓力板框架", + "block.framedblocks.framed_half_pillar": "半柱框架", + "block.framedblocks.framed_half_slope": "半坡框架", + "block.framedblocks.framed_half_stairs": "半階梯框架", + "block.framedblocks.framed_hanging_sign": "懸掛告示牌框架", + "block.framedblocks.framed_horizontal_pane": "水平玻璃板框架", + "block.framedblocks.framed_inner_corner_slope": "內角坡框架", + "block.framedblocks.framed_inner_prism": "內稜柱框架", + "block.framedblocks.framed_inner_prism_corner": "內稜角框架", + "block.framedblocks.framed_inner_sloped_prism": "內坡稜柱框架", + "block.framedblocks.framed_inner_threeway_corner": "內三向角框架", + "block.framedblocks.framed_inv_double_corner_slope_panel": "反向複合角坡豎板框架", + "block.framedblocks.framed_inv_double_corner_slope_panel_w": "反向複合角坡豎板框架", + "block.framedblocks.framed_inv_double_slope_panel": "反向複合坡豎板框架", + "block.framedblocks.framed_inv_double_slope_slab": "反向複合坡半磚框架", + "block.framedblocks.framed_iron_door": "鐵門框架", + "block.framedblocks.framed_iron_gate": "鐵製大門框架", + "block.framedblocks.framed_iron_pressure_plate": "重質壓力板框架", + "block.framedblocks.framed_iron_trapdoor": "鐵製活板門框架", + "block.framedblocks.framed_item_frame": "物品展示框框架", + "block.framedblocks.framed_ladder": "梯子框架", + "block.framedblocks.framed_large_button": "大型按鈕框架", + "block.framedblocks.framed_large_corner_slope_panel": "大型角坡豎板框架", + "block.framedblocks.framed_large_corner_slope_panel_w": "大型角坡豎板框架", + "block.framedblocks.framed_large_double_corner_slope_panel": "大型複合角坡豎板框架", + "block.framedblocks.framed_large_double_corner_slope_panel_w": "大型複合角坡豎板框架", + "block.framedblocks.framed_large_inner_corner_slope_panel": "大型內角坡豎板框架", + "block.framedblocks.framed_large_inner_corner_slope_panel_w": "大型內角坡豎板框架", + "block.framedblocks.framed_large_stone_button": "大型石質按鈕框架", + "block.framedblocks.framed_lattice_block": "格架方塊", + "block.framedblocks.framed_lever": "拉桿框架", + "block.framedblocks.framed_masonry_corner": "石工角框架", + "block.framedblocks.framed_masonry_corner_segment": "石工角分段框架", + "block.framedblocks.framed_mini_cube": "微型方塊框架", + "block.framedblocks.framed_obsidian_pressure_plate": "黑曜石壓力板框架", + "block.framedblocks.framed_one_way_window": "單向玻璃框架", + "block.framedblocks.framed_pane": "玻璃板框架", + "block.framedblocks.framed_panel": "豎板框架", + "block.framedblocks.framed_pillar": "柱框架", + "block.framedblocks.framed_post": "桿框架", + "block.framedblocks.framed_powered_rail_slope": "充能鐵軌坡框架", + "block.framedblocks.framed_pressure_plate": "壓力板框架", + "block.framedblocks.framed_prism": "稜柱框架", + "block.framedblocks.framed_prism_corner": "稜框架", + "block.framedblocks.framed_pyramid": "角錐框架", + "block.framedblocks.framed_pyramid_slab": "角錐臺階框架", + "block.framedblocks.framed_rail_slope": "鐵軌坡框架", + "block.framedblocks.framed_redstone_block": "紅石方塊框架", + "block.framedblocks.framed_redstone_torch": "紅石火把框架", + "block.framedblocks.framed_secret_storage": "木桶框架", + "block.framedblocks.framed_sign": "告示牌框架", + "block.framedblocks.framed_slab": "半磚框架", + "block.framedblocks.framed_slab_corner": "臺階角框架", + "block.framedblocks.framed_slab_edge": "臺階邊緣框架", + "block.framedblocks.framed_sliced_stairs_panel": "切邊樓梯框架(豎板)", + "block.framedblocks.framed_sliced_stairs_slab": "切邊樓梯框架(臺階)", + "block.framedblocks.framed_slope": "坡框架", + "block.framedblocks.framed_slope_edge": "坡邊緣框架", + "block.framedblocks.framed_slope_panel": "坡豎板框架", + "block.framedblocks.framed_slope_slab": "坡臺階框架", + "block.framedblocks.framed_sloped_prism": "坡稜柱框架", + "block.framedblocks.framed_sloped_stairs": "坡樓梯框架", + "block.framedblocks.framed_small_corner_slope_panel": "小角坡豎板框架", + "block.framedblocks.framed_small_corner_slope_panel_w": "小角坡豎板框架", + "block.framedblocks.framed_small_double_corner_slope_panel": "小複合角坡豎板框架", + "block.framedblocks.framed_small_double_corner_slope_panel_w": "小複合角坡豎板框架", + "block.framedblocks.framed_small_inner_corner_slope_panel": "小內角坡豎板框架", + "block.framedblocks.framed_small_inner_corner_slope_panel_w": "小內角坡豎板框架", + "block.framedblocks.framed_soul_torch": "靈魂火把框架", + "block.framedblocks.framed_stacked_corner_slope_panel": "堆疊角坡豎板框架", + "block.framedblocks.framed_stacked_corner_slope_panel_w": "堆疊角坡豎板框架", + "block.framedblocks.framed_stacked_inner_corner_slope_panel": "堆疊內角坡豎板框架", + "block.framedblocks.framed_stacked_inner_corner_slope_panel_w": "堆疊內角坡豎板框架", + "block.framedblocks.framed_stacked_slope_edge": "堆疊坡邊緣框架", + "block.framedblocks.framed_stacked_slope_panel": "堆疊坡豎板框架", + "block.framedblocks.framed_stacked_slope_slab": "堆疊坡臺階框架", + "block.framedblocks.framed_stairs": "階梯框架", + "block.framedblocks.framed_stone_button": "石頭按鈕框架", + "block.framedblocks.framed_stone_pressure_plate": "石頭壓力板框架", + "block.framedblocks.framed_target": "標靶框架", + "block.framedblocks.framed_thick_lattice": "厚格架框架", + "block.framedblocks.framed_threeway_corner": "三角框架", + "block.framedblocks.framed_threeway_corner_pillar": "三角柱框架", + "block.framedblocks.framed_torch": "火把框架", + "block.framedblocks.framed_trapdoor": "活板門框架", + "block.framedblocks.framed_tube": "管狀框架", + "block.framedblocks.framed_vertical_divided_stairs": "垂直分割樓梯框架", + "block.framedblocks.framed_vertical_double_half_slope": "垂直複合半坡框架", + "block.framedblocks.framed_vertical_double_half_stairs": "垂直複合半樓梯框架", + "block.framedblocks.framed_vertical_double_stairs": "垂直複合樓梯框架", + "block.framedblocks.framed_vertical_half_slope": "垂直半坡框架", + "block.framedblocks.framed_vertical_half_stairs": "垂直半樓梯框架", + "block.framedblocks.framed_vertical_sliced_stairs": "垂直切邊樓梯框架", + "block.framedblocks.framed_vertical_sloped_stairs": "垂直坡樓梯框架", + "block.framedblocks.framed_vertical_stairs": "垂直樓梯框架", + "block.framedblocks.framed_wall": "牆框架", + "block.framedblocks.framed_wall_board": "牆板框架", + "block.framedblocks.framed_wall_hanging_sign": "牆掛告示牌框架", + "block.framedblocks.framed_wall_sign": "牆面告示牌框架", + "block.framedblocks.framed_waterloggable_gold_pressure_plate": "可含水輕質壓力板框架", + "block.framedblocks.framed_waterloggable_iron_pressure_plate": "可含水重質壓力板框架", + "block.framedblocks.framed_waterloggable_obsidian_pressure_plate": "可含水黑曜石壓力板框架", + "block.framedblocks.framed_waterloggable_pressure_plate": "可含水壓力板框架", + "block.framedblocks.framed_waterloggable_stone_pressure_plate": "可含水石質壓力板框架", + "block.framedblocks.framing_saw": "框架鋸", + "block.framedblocks.powered_framing_saw": "動力框架鋸", + "config.framedblocks.client.altGhostRenderer": "使用替代放置預覽渲染器", + "config.framedblocks.client.camoMessageVerbosity": "偽裝方塊停用訊息詳細程度", + "config.framedblocks.client.camoRotationMode": "偽裝方塊旋轉覆蓋層顯示模式", + "config.framedblocks.client.conTexMode": "連接材質模式", + "config.framedblocks.client.detailedCulling": "詳細剔除", + "config.framedblocks.client.discreteUVSteps": "使用離散 UV 步階", + "config.framedblocks.client.fancyHitboxes": "進階碰撞箱", + "config.framedblocks.client.forceAoOnGlowingBlocks": "在發光框架方塊上強制套用環境光遮蔽", + "config.framedblocks.client.itemFrameBackgroundMode": "物品展示框背景覆蓋層顯示模式", + "config.framedblocks.client.oneWayWindowMode": "單向玻璃覆蓋層顯示模式", + "config.framedblocks.client.prismOffsetMode": "稜柱偏移覆蓋層顯示模式", + "config.framedblocks.client.reinforcedMode": "強化覆蓋層顯示模式", + "config.framedblocks.client.showAllRecipePermutationsInEmi": "在 EMI 中顯示所有框架鋸配方變化", + "config.framedblocks.client.showButtonPlateTypeOverlay": "顯示按鈕與壓力板類型覆蓋層", + "config.framedblocks.client.showGhostBlocks": "顯示幽靈方塊", + "config.framedblocks.client.showSpecialCubeTypeOverlay": "顯示特殊方塊類型覆蓋層", + "config.framedblocks.client.solidFrameMode": "實心框架模式", + "config.framedblocks.client.splitLineMode": "可變形方塊分割線覆蓋層顯示模式", + "config.framedblocks.client.stateLockMode": "狀態鎖定覆蓋層顯示模式", + "config.framedblocks.client.toggleWaterlogMode": "切換可含水覆蓋層顯示模式", + "config.framedblocks.client.toggleYSlopeMode": "切換 Y 軸坡面覆蓋層顯示模式", + "config.framedblocks.common.fireproofBlocks": "防火方塊", + "config.framedblocks.server.allowBlockEntities": "允許方塊實體", + "config.framedblocks.server.consumeCamoItem": "消耗偽裝物品", + "config.framedblocks.server.enableIntangibleFeature": "啟用無形化功能", + "config.framedblocks.server.glowstoneLightLevel": "螢光石亮度等級", + "config.framedblocks.server.intangibleMarkerItem": "無形化標記物品", + "config.framedblocks.server.oneWayWindowOwnable": "單向玻璃可擁有", + "config.jade.plugin_framedblocks.framed_item_frame": "物品展示框框架", + "desc.framedblocks.blueprint_block": "內建方塊:%s", + "desc.framedblocks.blueprint_camo": "偽裝方塊:%s", + "desc.framedblocks.blueprint_cant_copy": "此方塊目前無法複製!", + "desc.framedblocks.blueprint_cant_place_fluid_camo": "目前無法複製含有流體的偽裝方塊!", + "desc.framedblocks.blueprint_false": "否", + "desc.framedblocks.blueprint_illuminated": "發光:%s", + "desc.framedblocks.blueprint_intangible": "無形化:%s", + "desc.framedblocks.blueprint_invalid": "無效", + "desc.framedblocks.blueprint_missing_materials": "缺少所需材料:", + "desc.framedblocks.blueprint_none": "無", + "desc.framedblocks.blueprint_reinforced": "已強化:%s", + "desc.framedblocks.blueprint_true": "是", + "desc.framedblocks.slope_slab.place_upside_down": "按住潛行鍵以倒置放置", + "framedblocks.key.categories.framedblocks": "框架方塊", + "framedblocks.key.update_cull": "更新剔除快取", + "item.framedblocks.framed_blueprint": "框架藍圖", + "item.framedblocks.framed_hammer": "框架鎚", + "item.framedblocks.framed_key": "框架鑰匙", + "item.framedblocks.framed_reinforcement": "框架強化材料", + "item.framedblocks.framed_screwdriver": "框架螺絲起子", + "item.framedblocks.framed_wrench": "框架扳手", + "itemGroup.framed_blocks": "框架方塊", + "msg.framedblocks.camo.blacklisted": "此方塊不可作為偽裝方塊使用!", + "msg.framedblocks.camo.block_entity": "含有方塊實體的方塊不可放入框架中!", + "msg.framedblocks.camo.non_solid": "未標記的非實心方塊不可放入框架中!", + "msg.framedblocks.frame_crafter.fail.incorrect_additive_0": "第一格中含有錯誤的添加劑成分", + "msg.framedblocks.frame_crafter.fail.incorrect_additive_1": "第二格中含有錯誤的添加劑成分", + "msg.framedblocks.frame_crafter.fail.incorrect_additive_2": "第三格中含有錯誤的添加劑成分", + "msg.framedblocks.frame_crafter.fail.insufficient_additive_0": "第一格中的添加劑成分數量不足", + "msg.framedblocks.frame_crafter.fail.insufficient_additive_1": "第二格中的添加劑成分數量不足", + "msg.framedblocks.frame_crafter.fail.insufficient_additive_2": "第三格中的添加劑成分數量不足", + "msg.framedblocks.frame_crafter.fail.material_lcm": "輸入物品過少,無法平均轉換為此輸出", + "msg.framedblocks.frame_crafter.fail.material_value": "可用輸入材料不足", + "msg.framedblocks.frame_crafter.fail.missing_additive_0": "第一格中缺少添加劑成分", + "msg.framedblocks.frame_crafter.fail.missing_additive_1": "第二格中缺少添加劑成分", + "msg.framedblocks.frame_crafter.fail.missing_additive_2": "第三格中缺少添加劑成分", + "msg.framedblocks.frame_crafter.fail.output_size": "輸出數量超過最大堆疊上限", + "msg.framedblocks.frame_crafter.fail.success": "可合成", + "msg.framedblocks.frame_crafter.fail.unexpected_additive_0": "第一格中出現非預期的添加劑成分", + "msg.framedblocks.frame_crafter.fail.unexpected_additive_1": "第二格中出現非預期的添加劑成分", + "msg.framedblocks.frame_crafter.fail.unexpected_additive_2": "第三格中出現非預期的添加劑成分", + "msg.framedblocks.framing_saw.transfer.invalid_recipe": "配方無效", + "msg.framedblocks.framing_saw.transfer.not_implemented": "傳輸尚未實作,不會轉移任何物品", + "msg.framedblocks.lock_state": "目前方塊狀態為 %s", + "msg.framedblocks.lock_state.locked": "已鎖定", + "msg.framedblocks.lock_state.unlocked": "未鎖定", + "msg.framedblocks.powered_saw.status": "狀態:", + "msg.framedblocks.powered_saw.status.no_match": "配方不相符", + "msg.framedblocks.powered_saw.status.no_recipe": "無配方", + "msg.framedblocks.powered_saw.status.ready": "就緒", + "msg.framedblocks.prism_offset.switch": "使用框架錘敲擊以切換偏移", + "msg.framedblocks.split_line.switch": "使用框架扳手敲擊以切換分割線方向", + "title.framedblocks.framed_chest": "箱子框架", + "title.framedblocks.framed_secret_storage": "木桶框架", + "title.framedblocks.framing_saw": "框架鋸", + "title.framedblocks.powered_framing_saw": "動力框架鋸", + "title.framedblocks.powered_saw.target_block": "目標:", + "title.framedblocks.sign.edit": "編輯告示牌", + "tooltip.framedblocks.camo_rotation.false": "目標偽裝塊不可旋轉", + "tooltip.framedblocks.camo_rotation.true": "目標偽裝塊可旋轉", + "tooltip.framedblocks.frame_bg.set_camo": "使用框架錘敲擊以將偽裝塊設為背景", + "tooltip.framedblocks.frame_bg.set_leather": "使用框架錘敲擊以將皮革設為背景", + "tooltip.framedblocks.frame_bg.use_camo": "物品展示框框架使用偽裝塊作為背景", + "tooltip.framedblocks.frame_bg.use_leather": "物品展示框框架使用皮革作為背景", + "tooltip.framedblocks.framing_saw.have_item_none": "無", + "tooltip.framedblocks.framing_saw.have_x_but_need_y_item": "擁有%s,但需要%s", + "tooltip.framedblocks.framing_saw.have_x_but_need_y_item_count": "擁有%s個物品,但至少需要%s個", + "tooltip.framedblocks.framing_saw.have_x_but_need_y_material_count": "擁有%s材料,但至少需要%s材料", + "tooltip.framedblocks.framing_saw.have_x_but_need_y_tag": "擁有%s,但需要任意%s", + "tooltip.framedblocks.framing_saw.loose_additive": "該物品由新增劑成分合成,這些成分將丟失", + "tooltip.framedblocks.framing_saw.material": "材料價值:%s", + "tooltip.framedblocks.framing_saw.output_count": "結果數量:%s,最大數量:%s", + "tooltip.framedblocks.framing_saw.press_to_show": "按下[%s]以顯示所有可能的物品", + "tooltip.framedblocks.is_waterloggable.false": "方塊不可含水。", + "tooltip.framedblocks.is_waterloggable.true": "方塊可含水。", + "tooltip.framedblocks.lock_state": "狀態 %s", + "tooltip.framedblocks.make_waterloggable.false": "使用框架錘敲擊以使其不可含水", + "tooltip.framedblocks.make_waterloggable.true": "使用框架錘敲擊以使其可含水", + "tooltip.framedblocks.one_way_window.clear_face": "潛行時使用框架扳手敲擊以清除透視面", + "tooltip.framedblocks.one_way_window.curr_face": "當前透視面:%s", + "tooltip.framedblocks.one_way_window.dir.down": "下", + "tooltip.framedblocks.one_way_window.dir.east": "東", + "tooltip.framedblocks.one_way_window.dir.north": "北", + "tooltip.framedblocks.one_way_window.dir.south": "南", + "tooltip.framedblocks.one_way_window.dir.up": "上", + "tooltip.framedblocks.one_way_window.dir.west": "西", + "tooltip.framedblocks.one_way_window.face.down": "下", + "tooltip.framedblocks.one_way_window.face.east": "東", + "tooltip.framedblocks.one_way_window.face.none": "無", + "tooltip.framedblocks.one_way_window.face.north": "北", + "tooltip.framedblocks.one_way_window.face.south": "南", + "tooltip.framedblocks.one_way_window.face.up": "上", + "tooltip.framedblocks.one_way_window.face.west": "西", + "tooltip.framedblocks.one_way_window.face_abbr.down": "下", + "tooltip.framedblocks.one_way_window.face_abbr.east": "東", + "tooltip.framedblocks.one_way_window.face_abbr.none": "-", + "tooltip.framedblocks.one_way_window.face_abbr.north": "北", + "tooltip.framedblocks.one_way_window.face_abbr.south": "南", + "tooltip.framedblocks.one_way_window.face_abbr.up": "上", + "tooltip.framedblocks.one_way_window.face_abbr.west": "西", + "tooltip.framedblocks.one_way_window.set_face": "使用框架扳手敲擊以將透視面設為%s", + "tooltip.framedblocks.powered_saw.energy": "%s / %s FE", + "tooltip.framedblocks.powered_saw.status.no_recipe": "未選擇配方,點選目標格並放入任意框架方塊以選擇配方", + "tooltip.framedblocks.prism_offset.false": "三角紋理未偏移。", + "tooltip.framedblocks.prism_offset.true": "三角紋理偏移了半個方塊。", + "tooltip.framedblocks.reinforce_state": "方塊%s。", + "tooltip.framedblocks.reinforce_state.false": "未強化", + "tooltip.framedblocks.reinforce_state.true": "已強化", + "tooltip.framedblocks.split_line.false": "變形面的分割線沿陡對角線延伸。", + "tooltip.framedblocks.split_line.true": "變形面的分割線沿緩對角線延伸。", + "tooltip.framedblocks.y_slope": "方塊使用%s面作為垂直坡面。", + "tooltip.framedblocks.y_slope.horizontal": "水平", + "tooltip.framedblocks.y_slope.toggle": "使用框架扳手敲擊以切換至%s面", + "tooltip.framedblocks.y_slope.vertical": "垂直" +} \ No newline at end of file diff --git a/kubejs/assets/ftbteams/lang/zh_tw.json b/kubejs/assets/ftbteams/lang/zh_tw.json new file mode 100644 index 000000000..b3b76e6bc --- /dev/null +++ b/kubejs/assets/ftbteams/lang/zh_tw.json @@ -0,0 +1,93 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "ftbteams.already_in_party": "你已經在一個團隊中了!", + "ftbteams.player_already_in_party": "玩家「%s」已經在一個團隊中!", + "ftbteams.not_in_party": "你尚未建立或加入任何團隊!", + "ftbteams.team_not_found": "未找到團隊「%s」!", + "ftbteams.cant_edit": "你無法編輯 %s!", + "ftbteams.not_member": "%s 不是「%s」的成員!", + "ftbteams.not_officer": "%s 不是 %s 的管理者!", + "ftbteams.not_invited": "你尚未被邀請加入「%s」!", + "ftbteams.name_too_short": "團隊名稱過短!(必須 ≥ 3 個字元)", + "ftbteams.server_permissions_prevent": "伺服器權限阻止了你的操作", + "ftbteams.info.id": "團隊長 ID:%s", + "ftbteams.info.short_id": "團隊短 ID:%s", + "ftbteams.info.owner": "擁有者:%s", + "ftbteams.info.owner.none": "無", + "ftbteams.info.members": "成員:", + "ftbteams.info.members.none": "沒有成員", + "ftbteams.list": "所有 FTB 團隊:%s", + "ftbteams.api_override": "在此整合包中,你只能透過物品欄中的「我的團隊」按鈕建立團隊!", + "ftbteams.cant_kick_owner": "無法踢出隊長!", + "ftbteams.click_show_info": "點擊以查看團隊資訊", + "ftbteams.create_party": "建立團隊", + "ftbteams.create_party.info": "建立團隊、邀請成員、共同發展!", + "ftbteams.accept": "接受 ✔", + "ftbteams.decline": "拒絕 ✘", + "ftbteams.gui.add_ally": "盟友", + "ftbteams.gui.add_members": "新增成員", + "ftbteams.gui.create_party": "描述", + "ftbteams.gui.demote": "降職 %s", + "ftbteams.gui.demote.confirm": "是否要將玩家 %s 降職?", + "ftbteams.gui.disband": "解散團隊", + "ftbteams.gui.disband.confirm": "你確定要解散團隊嗎?", + "ftbteams.gui.invite": "邀請成員", + "ftbteams.gui.kick": "踢出 %s", + "ftbteams.gui.kick.confirm": "是否要踢出玩家 %s?", + "ftbteams.gui.leave": "離開團隊", + "ftbteams.gui.leave.confirm": "你確定要離開團隊嗎?", + "ftbteams.gui.manage_allies": "管理盟友", + "ftbteams.gui.no_players": "目前沒有玩家", + "ftbteams.gui.party_description": "描述", + "ftbteams.gui.party_name": "團隊名稱", + "ftbteams.gui.promote": "升職 %s", + "ftbteams.gui.promote.confirm": "是否要將玩家 %s 升職?", + "ftbteams.gui.remove_ally": "解除與 %s 的盟友關係", + "ftbteams.gui.remove_ally.confirm": "是否要解除與 %s 的盟友關係?", + "ftbteams.gui.send_invite": "邀請", + "ftbteams.gui.transfer_ownership": "將擁有權轉移給 %s", + "ftbteams.gui.transfer_ownership.confirm": "是否要將擁有權轉移給 %s?", + "ftbteams.message.add_ally": "玩家 %s 現在是你團隊的盟友!", + "ftbteams.message.created_server_team": "已建立新的伺服器團隊「%s」!", + "ftbteams.message.declined": "你拒絕了邀請", + "ftbteams.message.deleted_server_team": "已刪除伺服器團隊「%s」!", + "ftbteams.message.demoted": "已將 %s 降職為成員!", + "ftbteams.message.invite_sent": "%s 邀請你加入他們的團隊!", + "ftbteams.message.invited": "已邀請 %s", + "ftbteams.message.joined": "%s 加入了你的團隊!", + "ftbteams.message.kicked": "已將 %s 從 %s 中踢出!", + "ftbteams.message.left_party": "玩家 %s 離開了你的團隊!", + "ftbteams.message.no_longer_allied": "你已不再是「%s」的盟友!", + "ftbteams.message.now_allied": "你現在是「%s」的盟友!", + "ftbteams.message.promoted": "已將 %s 升職為管理者!", + "ftbteams.message.remove_ally": "玩家 %s 已不再是你團隊的盟友!", + "ftbteams.message.team_disbanded": "已強制解散團隊「%s」(%s)!", + "ftbteams.message.transfer_owner": "擁有權已轉移給 %s!", + "ftbteams.missing_data": "伺服器未接收到團隊資料!\nFTB 團隊無法正常運作。\n請檢查伺服器日誌,並確認伺服器為線上模式。", + "ftbteams.owner_cant_leave": "你必須在離開前轉移團隊的擁有權!", + "ftbteams.party_api_only": "在此整合包中,你無法直接建立團隊!", + "ftbteams.privacy_mode.allies": "盟友", + "ftbteams.privacy_mode.private": "私人", + "ftbteams.privacy_mode.public": "公開", + "ftbteams.property_not_found": "未找到屬性 ID!", + "ftbteams.ranks.ally": "盟友", + "ftbteams.ranks.enemy": "敵人", + "ftbteams.ranks.invited": "已邀請", + "ftbteams.ranks.member": "成員", + "ftbteams.ranks.none": "無", + "ftbteams.ranks.officer": "管理者", + "ftbteams.ranks.owner": "隊長", + "ftbteams.team_type.party": "團隊隊伍", + "ftbteams.team_type.player": "玩家隊伍", + "ftbteams.team_type.server": "伺服器隊伍", + "ftbteamsconfig": "團隊設定", + "ftbteamsconfig.ftbteams": "基礎團隊設定", + "ftbteamsconfig.ftbteams.color": "顏色", + "ftbteamsconfig.ftbteams.description": "描述", + "ftbteamsconfig.ftbteams.display_name": "顯示名稱", + "ftbteamsconfig.ftbteams.free_to_join": "自由加入", + "ftbteamsconfig.ftbteams.max_msg_history_size": "歷史訊息最大數量", + "key.categories.ftbteams": "FTB 團隊", + "key.ftbteams.open_gui": "開啟團隊介面", + "sidebar_button.ftbteams.my_team": "我的團隊" +} \ No newline at end of file diff --git a/kubejs/assets/grapplemod/lang/zh_tw.json b/kubejs/assets/grapplemod/lang/zh_tw.json new file mode 100644 index 000000000..fe52b3c99 --- /dev/null +++ b/kubejs/assets/grapplemod/lang/zh_tw.json @@ -0,0 +1,505 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.grapplemod.block_grapple_modifier": "抓鉤調整台", + "enchantment.grapplemod.doublejumpenchantment": "二段跳", + "enchantment.grapplemod.slidingenchantment": "滑行", + "enchantment.grapplemod.wallrunenchantment": "蹬牆跑", + "grapplecustomization.angle": "角度", + "grapplecustomization.angle.desc": "每個抓鉤相對中心投出的角度", + "grapplecustomization.attract": "磁力啟動", + "grapplecustomization.attract.desc": "投擲時,抓鉤會被附近的方塊吸引", + "grapplecustomization.attractradius": "吸引半徑", + "grapplecustomization.attractradius.desc": "吸引半徑", + "grapplecustomization.climbkey": "脫離攀爬鍵", + "grapplecustomization.climbkey.desc": "除非按住「攀爬」鍵,否則忽略上爬 / 下爬鍵", + "grapplecustomization.detachonkeyrelease": "放開按鍵時分離抓鉤", + "grapplecustomization.detachonkeyrelease.desc": "啟用後,只有在按鍵按住時抓鉤才會射出;不需要再次點擊 / 按下來分離,而是放開按鍵即可分離。", + "grapplecustomization.doublehook": "雙抓鉤", + "grapplecustomization.doublehook.desc": "同時投出兩個抓鉤", + "grapplecustomization.enderstaff": "終界法杖", + "grapplecustomization.enderstaff.desc": "左鍵將玩家向前射出", + "grapplecustomization.hookgravity": "抓鉤重力", + "grapplecustomization.hookgravity.desc": "投擲時抓鉤所受的重力", + "grapplecustomization.maxlen": "繩索長度", + "grapplecustomization.maxlen.desc": "繩索的長度", + "grapplecustomization.motor": "引擎啟動", + "grapplecustomization.motor.desc": "將玩家拉向抓鉤", + "grapplecustomization.motoracceleration": "引擎加速度", + "grapplecustomization.motoracceleration.desc": "引擎加速度", + "grapplecustomization.motordampener": "側向移動阻尼", + "grapplecustomization.motordampener.desc": "降低垂直於繩索的移動,使繩索拉得更直", + "grapplecustomization.motormaxspeed": "引擎最大速度", + "grapplecustomization.motormaxspeed.desc": "引擎最高轉速", + "grapplecustomization.motorwhencrouching": "按住 On/Off 鍵時啟動引擎", + "grapplecustomization.motorwhencrouching.desc": "按住 On/Off 按鍵(預設:Shift)時,引擎處於啟動狀態", + "grapplecustomization.motorwhennotcrouching": "放開 On/Off 鍵時啟動引擎", + "grapplecustomization.motorwhennotcrouching.desc": "未按住 On/Off 按鍵(預設:Shift)時,引擎處於啟動狀態", + "grapplecustomization.oneropepull": "允許單繩拉動", + "grapplecustomization.oneropepull.desc": "當引擎啟用且只連接一個抓鉤時也能啟動引擎(若停用,請等兩個抓鉤都連接後再拉動)", + "grapplecustomization.phaserope": "繩索分段", + "grapplecustomization.phaserope.desc": "允許繩索分階段穿過方塊", + "grapplecustomization.playermovementmult": "擺動速度", + "grapplecustomization.playermovementmult.desc": "擺動時使用移動鍵的加速度", + "grapplecustomization.pullbackwards": "向後拉動", + "grapplecustomization.pullbackwards.desc": "即使你面向另一側,引擎仍會拉動你", + "grapplecustomization.reelin": "潛行以收線", + "grapplecustomization.reelin.desc": "在抓鉤掛上前,潛行會阻止抓鉤繼續往遠處飛,並會慢慢將其收回", + "grapplecustomization.repel": "力場啟動", + "grapplecustomization.repel.desc": "擺動時,玩家會被附近的方塊擊退", + "grapplecustomization.repelforce": "排斥力", + "grapplecustomization.repelforce.desc": "附近方塊對玩家施加的排斥力強度", + "grapplecustomization.rocket": "火箭", + "grapplecustomization.rocket.desc": "按住按鍵時推動玩家前進", + "grapplecustomization.rocket_active_time": "火箭啟動時間(秒)", + "grapplecustomization.rocket_active_time.desc": "火箭可使用直到需要補充燃料的時間(未使用時燃料會自動回復)", + "grapplecustomization.rocket_force": "火箭推力", + "grapplecustomization.rocket_force.desc": "火箭推動玩家的速度", + "grapplecustomization.rocket_refuel_ratio": "火箭燃料回復比例", + "grapplecustomization.rocket_refuel_ratio.desc": "燃料回復時間與燃料使用時間的比例。(例如 2.0 表示用完 1 秒的燃料,需要 2 秒回復;越低越好。)", + "grapplecustomization.rocket_vertical_angle": "火箭垂直角度", + "grapplecustomization.rocket_vertical_angle.desc": "施加火箭推力的向上角度", + "grapplecustomization.smartdoublemotor": "雙智慧引擎", + "grapplecustomization.smartdoublemotor.desc": "調整引擎速度,讓玩家在使用引擎時朝十字準線方向移動(左 / 右)", + "grapplecustomization.smartmotor": "智慧引擎", + "grapplecustomization.smartmotor.desc": "調整引擎速度,讓玩家朝十字準線方向移動(上 / 下)", + "grapplecustomization.sneakingangle": "潛行角度", + "grapplecustomization.sneakingangle.desc": "潛行時每個抓鉤相對中心投出的角度(若要用此功能,請勿啟用「潛行以收線」)", + "grapplecustomization.sneakingverticalthrowangle": "潛行垂直投擲角度", + "grapplecustomization.sneakingverticalthrowangle.desc": "潛行時以此角度將抓鉤投向十字準線上方", + "grapplecustomization.sticky": "黏性繩索", + "grapplecustomization.sticky.desc": "若繩索在投擲時繞過方塊彎曲,則在彎折處固定連接", + "grapplecustomization.throwspeed": "投擲速度", + "grapplecustomization.throwspeed.desc": "投擲時抓鉤的速度", + "grapplecustomization.verticalthrowangle": "垂直投擲角度", + "grapplecustomization.verticalthrowangle.desc": "以此角度將抓鉤投向十字準線上方", + "grapplemod.jei_modifier_text": "加入升級後開啟介面\n進行自訂\n並套用至抓鉤", + "grapplemod.upgradecategories.double": "雙抓鉤", + "grapplemod.upgradecategories.forcefield": "力場", + "grapplemod.upgradecategories.limits": "限制", + "grapplemod.upgradecategories.magnet": "磁力抓鉤", + "grapplemod.upgradecategories.motor": "引擎", + "grapplemod.upgradecategories.rocket": "火箭", + "grapplemod.upgradecategories.rope": "繩索", + "grapplemod.upgradecategories.staff": "終界法杖", + "grapplemod.upgradecategories.swing": "擺動速度", + "grapplemod.upgradecategories.throw": "投擲", + "grapplemodifier.apply.desc": "用抓鉤右鍵點擊以套用", + "grapplemodifier.back.desc": "返回", + "grapplemodifier.close.desc": "關閉", + "grapplemodifier.help.desc": "用抓鉤右鍵點擊以套用。\n用摔落保護 IV 的鑽石靴右鍵點擊可獲得緩降靴子。\n在鐵砧中用皮革修理抓鉤。\n查看物品提示時按住 Shift\n以查看控制", + "grapplemodifier.helpbutton.desc": "說明", + "grapplemodifier.incompatability.desc": "與其他選項不相容", + "grapplemodifier.limits.desc": "使用限制升級解鎖", + "grapplemodifier.locked.desc": "因設定檔而鎖定選項(enable_... > 1)", + "grapplemodifier.reset.desc": "重設", + "grapplemodifier.unlock1.desc": "未解鎖類別:", + "grapplemodifier.unlock2.desc": "請右鍵點擊此方塊", + "grapplemodifier.unlock3.desc": "使用物品:", + "grapplemodifier.unlock4.desc": "解鎖", + "grappletooltip.climbdown.desc": "- 向下爬", + "grappletooltip.climbup.desc": "- 向上爬", + "grappletooltip.controlconfiguration.desc": "(按住 Control 查看完整設定)", + "grappletooltip.double.desc": "雙-", + "grappletooltip.enderlaunch.desc": "- 發射(終界法杖)", + "grappletooltip.jump.desc": "- 釋放並跳躍(空中)", + "grappletooltip.launcheritem.desc": "將玩家發射到空中", + "grappletooltip.launcheritemaim.desc": "使用十字準線瞄準", + "grappletooltip.launcheritemcontrols.desc": "- 發射玩家", + "grappletooltip.longfallboots.desc": "穿著時免疫摔落傷害", + "grappletooltip.longfallbootsrecipe.desc": "用附有摔落保護 IV 的鑽石靴右鍵點擊抓鉤調整台以獲得", + "grappletooltip.motoroff.desc": "- 引擎關", + "grappletooltip.motoron.desc": "- 引擎開", + "grappletooltip.negate.desc": "否", + "grappletooltip.reelin.desc": "- 收回抓鉤(若抓鉤尚未連接到表面)", + "grappletooltip.release.desc": "再次 - 釋放", + "grappletooltip.releaseandthrow.desc": "- 釋放並再次投出", + "grappletooltip.repelleritem.desc": "玩家會被附近的方塊擊退", + "grappletooltip.repelleritem2.desc": "可與終界法杖一起使用", + "grappletooltip.repelleritemmove.desc": "- 移動", + "grappletooltip.repelleritemoff.desc": "再次 - 關閉", + "grappletooltip.repelleritemon.desc": "- 開啟", + "grappletooltip.repelleritemslow.desc": "- 減速", + "grappletooltip.rocket.desc": "(按住)- 火箭", + "grappletooltip.shiftcontrols.desc": "(按住 Shift 查看控制)", + "grappletooltip.slow.desc": "- 停止擺動", + "grappletooltip.swing.desc": "- 擺動", + "grappletooltip.throw.desc": "- 投擲抓鉤", + "grappletooltip.throwalt.desc": "- 投擲(備選)", + "grappletooltip.throwhold.desc": "- 投擲抓鉤(按住,放開以分離)", + "grappletooltip.throwleft.desc": "- 投出左抓鉤", + "grappletooltip.throwlefthold.desc": "(按住)- 投出左抓鉤", + "grappletooltip.throwright.desc": "- 投出右抓鉤", + "grappletooltip.throwrighthold.desc": "(按住)- 投出右抓鉤", + "item.grapplemod.baseupgradeitem": "基礎抓鉤升級", + "item.grapplemod.doublemotorhook": "雙引擎抓鉤", + "item.grapplemod.doubleupgradeitem": "雙倍抓鉤升級", + "item.grapplemod.enderhook": "終界抓鉤", + "item.grapplemod.forcefieldupgradeitem": "力場抓鉤升級", + "item.grapplemod.grapplinghook": "抓鉤", + "item.grapplemod.launcheritem": "終界法杖", + "item.grapplemod.limitsupgradeitem": "限制抓鉤升級", + "item.grapplemod.longfallboots": "緩降靴子", + "item.grapplemod.magnethook": "磁力抓鉤", + "item.grapplemod.magnetupgradeitem": "磁力抓鉤升級", + "item.grapplemod.motorhook": "引擎抓鉤", + "item.grapplemod.motorupgradeitem": "引擎抓鉤升級", + "item.grapplemod.repeller": "斥力場", + "item.grapplemod.rocketdoublemotorhook": "雙火箭引擎抓鉤", + "item.grapplemod.rockethook": "火箭抓鉤", + "item.grapplemod.rocketupgradeitem": "火箭抓鉤升級", + "item.grapplemod.ropeupgradeitem": "繩索抓鉤升級", + "item.grapplemod.smarthook": "智慧抓鉤", + "item.grapplemod.staffupgradeitem": "終界法杖抓鉤升級", + "item.grapplemod.swingupgradeitem": "懸吊抓鉤升級", + "item.grapplemod.throwupgradeitem": "投擲抓鉤升級", + "item.grapplemod.wallrunboots": "跑牆靴", + "itemGroup.grapplemod": "抓鉤", + "itemGroup.tabGrapplemod": "抓鉤", + "key.boththrow.desc": "投出(全部)抓鉤", + "key.climb.desc": "攀爬", + "key.climbdown.desc": "向下攀爬", + "key.climbup.desc": "向上攀爬", + "key.enderlaunch.desc": "終界法杖發射", + "key.grapplemod.category": "抓鉤", + "key.jumpanddetach.desc": "跳躍並分離", + "key.leftthrow.desc": "投出左抓鉤", + "key.motoronoff.desc": "引擎 開 / 關", + "key.rightthrow.desc": "投出右抓鉤", + "key.rocket.desc": "火箭", + "key.slide.desc": "滑行", + "key.slow.desc": "緩慢下降 / 停止懸吊", + "text.autoconfig.grapplemod.option.clientOptions": "客戶端選項", + "text.autoconfig.grapplemod.option.clientOptions.@Tooltip": "僅客戶端選項(不需從伺服器同步)", + "text.autoconfig.grapplemod.option.clientOptions.camera": "相機", + "text.autoconfig.grapplemod.option.clientOptions.camera.@Tooltip": "相機設定", + "text.autoconfig.grapplemod.option.clientOptions.camera.wallrun_camera_animation_s": "蹬牆跑相機動畫(秒)", + "text.autoconfig.grapplemod.option.clientOptions.camera.wallrun_camera_animation_s.@Tooltip": "開始跑牆時相機傾斜動畫所需時間(秒)", + "text.autoconfig.grapplemod.option.clientOptions.camera.wallrun_camera_tilt_degrees": "蹬牆跑相機傾斜角度", + "text.autoconfig.grapplemod.option.clientOptions.camera.wallrun_camera_tilt_degrees.@Tooltip": "跑牆時相機傾斜角度(度)", + "text.autoconfig.grapplemod.option.clientOptions.sounds": "聲音", + "text.autoconfig.grapplemod.option.clientOptions.sounds.@Tooltip": "音效設定", + "text.autoconfig.grapplemod.option.clientOptions.sounds.doublejump_sound_volume": "二段跳音效音量", + "text.autoconfig.grapplemod.option.clientOptions.sounds.doublejump_sound_volume.@Tooltip": "二段跳音量(1=預設)", + "text.autoconfig.grapplemod.option.clientOptions.sounds.enderstaff_sound_volume": "終界法杖音效音量", + "text.autoconfig.grapplemod.option.clientOptions.sounds.enderstaff_sound_volume.@Tooltip": "終界法杖音量(1=預設)", + "text.autoconfig.grapplemod.option.clientOptions.sounds.rocket_sound_volume": "火箭音效音量", + "text.autoconfig.grapplemod.option.clientOptions.sounds.rocket_sound_volume.@Tooltip": "火箭音量(1=預設)", + "text.autoconfig.grapplemod.option.clientOptions.sounds.slide_sound_volume": "滑行音效音量", + "text.autoconfig.grapplemod.option.clientOptions.sounds.slide_sound_volume.@Tooltip": "滑行音量(1=預設)", + "text.autoconfig.grapplemod.option.clientOptions.sounds.wallrun_sound_effect_time_s": "蹬牆跑音效時長(秒)", + "text.autoconfig.grapplemod.option.clientOptions.sounds.wallrun_sound_effect_time_s.@Tooltip": "最多每隔此秒數播放一次蹬牆跑腳步聲", + "text.autoconfig.grapplemod.option.clientOptions.sounds.wallrun_sound_volume": "蹬牆跑音效音量", + "text.autoconfig.grapplemod.option.clientOptions.sounds.wallrun_sound_volume.@Tooltip": "蹬牆跑腳步聲音量(1=預設)", + "text.autoconfig.grapplemod.option.clientOptions.sounds.wallrunjump_sound_volume": "蹬牆跑跳躍音效音量", + "text.autoconfig.grapplemod.option.clientOptions.sounds.wallrunjump_sound_volume.@Tooltip": "蹬牆跑跳躍音量(1=預設)", + "text.autoconfig.grapplemod.option.options": "選項", + "text.autoconfig.grapplemod.option.options.@Tooltip": "會從伺服器同步到客戶端的選項", + "text.autoconfig.grapplemod.option.options.enchantments": "附魔", + "text.autoconfig.grapplemod.option.options.enchantments.@Tooltip": "附魔選項", + "text.autoconfig.grapplemod.option.options.enchantments.doublejump": "二段跳", + "text.autoconfig.grapplemod.option.options.enchantments.doublejump.@Tooltip": "二段跳附魔選項", + "text.autoconfig.grapplemod.option.options.enchantments.doublejump.dont_doublejump_if_falling_faster_than": "墜落速度過快則無法二段跳", + "text.autoconfig.grapplemod.option.options.enchantments.doublejump.dont_doublejump_if_falling_faster_than.@Tooltip": "若玩家下落速度超過此值,則不允許二段跳(方塊 / tick)", + "text.autoconfig.grapplemod.option.options.enchantments.doublejump.doublejump_relative_to_falling": "二段跳與墜落相關", + "text.autoconfig.grapplemod.option.options.enchantments.doublejump.doublejump_relative_to_falling.@Tooltip": "二段跳時保留玩家垂直動量", + "text.autoconfig.grapplemod.option.options.enchantments.doublejump.doublejumpforce": "二段跳力度", + "text.autoconfig.grapplemod.option.options.enchantments.doublejump.doublejumpforce.@Tooltip": "二段跳施加的速度(方塊 / tick)", + "text.autoconfig.grapplemod.option.options.enchantments.doublejump.enchant_rarity_double_jump": "二段跳附魔稀有度", + "text.autoconfig.grapplemod.option.options.enchantments.doublejump.enchant_rarity_double_jump.@Tooltip": "附魔台稀有度(0=非常稀有,3=常見)", + "text.autoconfig.grapplemod.option.options.enchantments.slide": "滑行", + "text.autoconfig.grapplemod.option.options.enchantments.slide.@Tooltip": "滑行附魔選項", + "text.autoconfig.grapplemod.option.options.enchantments.slide.enchant_rarity_sliding": "滑行附魔稀有度", + "text.autoconfig.grapplemod.option.options.enchantments.slide.enchant_rarity_sliding.@Tooltip": "附魔台稀有度(0=非常稀有,3=常見)", + "text.autoconfig.grapplemod.option.options.enchantments.slide.sliding_end_min_speed": "滑行結束最小速度", + "text.autoconfig.grapplemod.option.options.enchantments.slide.sliding_end_min_speed.@Tooltip": "維持滑行所需的最小速度", + "text.autoconfig.grapplemod.option.options.enchantments.slide.sliding_friction": "滑行摩擦力", + "text.autoconfig.grapplemod.option.options.enchantments.slide.sliding_friction.@Tooltip": "滑行摩擦力(方塊 / tick^2)", + "text.autoconfig.grapplemod.option.options.enchantments.slide.sliding_min_speed": "滑行最小速度", + "text.autoconfig.grapplemod.option.options.enchantments.slide.sliding_min_speed.@Tooltip": "開始滑行所需的最小速度", + "text.autoconfig.grapplemod.option.options.enchantments.slide.slidingjumpforce": "滑行跳躍力度", + "text.autoconfig.grapplemod.option.options.enchantments.slide.slidingjumpforce.@Tooltip": "從滑行中跳起的速度(方塊 / tick)", + "text.autoconfig.grapplemod.option.options.enchantments.wallrun": "蹬牆跑", + "text.autoconfig.grapplemod.option.options.enchantments.wallrun.@Tooltip": "蹬牆跑附魔選項", + "text.autoconfig.grapplemod.option.options.enchantments.wallrun.enchant_rarity_wallrun": "蹬牆跑附魔稀有度", + "text.autoconfig.grapplemod.option.options.enchantments.wallrun.enchant_rarity_wallrun.@Tooltip": "附魔台稀有度(0=非常稀有,3=常見)", + "text.autoconfig.grapplemod.option.options.enchantments.wallrun.max_wallrun_time": "蹬牆跑最大時長", + "text.autoconfig.grapplemod.option.options.enchantments.wallrun.max_wallrun_time.@Tooltip": "玩家可在牆上奔跑的最長時間(秒)", + "text.autoconfig.grapplemod.option.options.enchantments.wallrun.wall_jump_side": "蹬牆側跳", + "text.autoconfig.grapplemod.option.options.enchantments.wallrun.wall_jump_side.@Tooltip": "蹬牆跳時向側邊跳躍的速度(方塊 / tick)", + "text.autoconfig.grapplemod.option.options.enchantments.wallrun.wall_jump_up": "蹬牆上跳", + "text.autoconfig.grapplemod.option.options.enchantments.wallrun.wall_jump_up.@Tooltip": "蹬牆跳時向上跳躍的速度(方塊 / tick)", + "text.autoconfig.grapplemod.option.options.enchantments.wallrun.wallrun_drag": "蹬牆跑阻力", + "text.autoconfig.grapplemod.option.options.enchantments.wallrun.wallrun_drag.@Tooltip": "跑牆阻力(方塊 / tick^2)", + "text.autoconfig.grapplemod.option.options.enchantments.wallrun.wallrun_max_speed": "蹬牆跑最大速度", + "text.autoconfig.grapplemod.option.options.enchantments.wallrun.wallrun_max_speed.@Tooltip": "跑牆最大速度(方塊 / tick)", + "text.autoconfig.grapplemod.option.options.enchantments.wallrun.wallrun_min_speed": "蹬牆跑最小速度", + "text.autoconfig.grapplemod.option.options.enchantments.wallrun.wallrun_min_speed.@Tooltip": "開始跑牆所需的最小速度(方塊 / tick)", + "text.autoconfig.grapplemod.option.options.enchantments.wallrun.wallrun_speed": "蹬牆跑速度", + "text.autoconfig.grapplemod.option.options.enchantments.wallrun.wallrun_speed.@Tooltip": "跑牆加速度(方塊 / tick^2)", + "text.autoconfig.grapplemod.option.options.enderstaff": "終界法杖", + "text.autoconfig.grapplemod.option.options.enderstaff.@Tooltip": "終界法杖選項", + "text.autoconfig.grapplemod.option.options.enderstaff.ender_staff_recharge": "終界法杖充能", + "text.autoconfig.grapplemod.option.options.enderstaff.ender_staff_recharge.@Tooltip": "終界法杖充能所需時間(tick)", + "text.autoconfig.grapplemod.option.options.enderstaff.ender_staff_strength": "終界法杖力量", + "text.autoconfig.grapplemod.option.options.enderstaff.ender_staff_strength.@Tooltip": "終界法杖速度(方塊 / tick)", + "text.autoconfig.grapplemod.option.options.grapplinghook": "抓鉤", + "text.autoconfig.grapplemod.option.options.grapplinghook.@Tooltip": "抓鉤選項", + "text.autoconfig.grapplemod.option.options.grapplinghook.blocks": "方塊", + "text.autoconfig.grapplemod.option.options.grapplinghook.blocks.@Tooltip": "用於設定抓鉤與不同方塊互動方式", + "text.autoconfig.grapplemod.option.options.grapplinghook.blocks.grappleBreakBlocks": "可抓附非完整方塊", + "text.autoconfig.grapplemod.option.options.grapplinghook.blocks.grappleBreakBlocks.@Tooltip": "方塊清單(以逗號分隔的 ID 名稱)", + "text.autoconfig.grapplemod.option.options.grapplinghook.blocks.grapplingBlocks": "可抓附方塊", + "text.autoconfig.grapplemod.option.options.grapplinghook.blocks.grapplingBlocks.@Tooltip": "抓鉤可附著的方塊清單(以逗號分隔的 ID 名稱,又稱白名單)", + "text.autoconfig.grapplemod.option.options.grapplinghook.blocks.grapplingNonBlocks": "不可抓附方塊", + "text.autoconfig.grapplemod.option.options.grapplinghook.blocks.grapplingNonBlocks.@Tooltip": "抓鉤不可附著的方塊清單(以逗號分隔的 ID 名稱,又稱黑名單)", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom": "自訂", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.@Tooltip": "自訂:建立新抓鉤時的預設值,以及抓鉤調整台中的可用數值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook": "雙抓鉤", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.@Tooltip": "雙抓鉤升級的選項", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.angle": "角度", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.angle.@Tooltip": "每個抓鉤相對中心投出的角度", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.angle.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.angle.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.angle.max": "最大值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.angle.max_upgraded": "最大升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.angle.min": "最小值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.angle.min_upgraded": "最小升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.doublehook": "雙抓鉤", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.doublehook.@Tooltip": "同時投出兩個抓鉤", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.doublehook.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.doublehook.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.oneropepull": "允許單繩拉動", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.oneropepull.@Tooltip": "當引擎啟用且只連接一個抓鉤時也能啟動引擎(若停用,請等兩個抓鉤都連接後再拉動)", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.oneropepull.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.oneropepull.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.smartdoublemotor": "雙智慧引擎", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.smartdoublemotor.@Tooltip": "調整引擎速度,讓玩家在使用引擎時朝十字準線方向移動(左 / 右)", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.smartdoublemotor.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.smartdoublemotor.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.sneakingangle": "潛行角度", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.sneakingangle.@Tooltip": "潛行時每個抓鉤相對中心投出的角度(若要用此功能,請勿啟用「潛行以收線」)", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.sneakingangle.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.sneakingangle.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.sneakingangle.max": "最大值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.sneakingangle.max_upgraded": "最大升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.sneakingangle.min": "最小值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.doublehook.sneakingangle.min_upgraded": "最小升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.enderstaff": "終界法杖", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.enderstaff.@Tooltip": "終界法杖升級的選項", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.enderstaff.enderstaff": "終界法杖", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.enderstaff.enderstaff.@Tooltip": "左鍵將玩家向前射出", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.enderstaff.enderstaff.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.enderstaff.enderstaff.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.forcefield": "力場", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.forcefield.@Tooltip": "力場升級的選項", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.forcefield.repel": "力場啟動", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.forcefield.repel.@Tooltip": "擺動時,玩家會被附近的方塊擊退", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.forcefield.repel.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.forcefield.repel.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.forcefield.repelforce": "排斥力", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.forcefield.repelforce.@Tooltip": "附近方塊對玩家施加的排斥力強度", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.forcefield.repelforce.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.forcefield.repelforce.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.forcefield.repelforce.max": "最大值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.forcefield.repelforce.max_upgraded": "最大升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.forcefield.repelforce.min": "最小值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.forcefield.repelforce.min_upgraded": "最小升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower": "投擲", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.@Tooltip": "投擲升級的選項", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.detachonkeyrelease": "放開按鍵時分離抓鉤", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.detachonkeyrelease.@Tooltip": "啟用後,只有在按鍵按住時抓鉤才會射出;不需要再次點擊 / 按下來分離,而是放開按鍵即可分離。", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.detachonkeyrelease.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.detachonkeyrelease.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.hookgravity": "抓鉤重力", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.hookgravity.@Tooltip": "投擲時抓鉤所受的重力", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.hookgravity.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.hookgravity.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.hookgravity.max": "最大值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.hookgravity.max_upgraded": "最大升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.hookgravity.min": "最小值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.hookgravity.min_upgraded": "最小升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.reelin": "潛行以收線", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.reelin.@Tooltip": "在抓鉤掛上前,潛行會阻止抓鉤繼續往遠處飛,並會慢慢將其收回", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.reelin.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.reelin.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.sneakingverticalthrowangle": "潛行垂直投擲角度", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.sneakingverticalthrowangle.@Tooltip": "潛行時以此角度將抓鉤投向十字準線上方", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.sneakingverticalthrowangle.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.sneakingverticalthrowangle.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.sneakingverticalthrowangle.max": "最大值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.sneakingverticalthrowangle.max_upgraded": "最大升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.sneakingverticalthrowangle.min": "最小值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.sneakingverticalthrowangle.min_upgraded": "最小升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.throwspeed": "投擲速度", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.throwspeed.@Tooltip": "投擲時抓鉤的速度", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.throwspeed.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.throwspeed.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.throwspeed.max": "最大值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.throwspeed.max_upgraded": "最大升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.throwspeed.min": "最小值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.throwspeed.min_upgraded": "最小升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.verticalthrowangle": "垂直投擲角度", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.verticalthrowangle.@Tooltip": "以此角度將抓鉤投向十字準線上方", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.verticalthrowangle.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.verticalthrowangle.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.verticalthrowangle.max": "最大值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.verticalthrowangle.max_upgraded": "最大升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.verticalthrowangle.min": "最小值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.hookthrower.verticalthrowangle.min_upgraded": "最小升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.magnet": "磁力", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.magnet.@Tooltip": "磁力升級的選項", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.magnet.attract": "磁力啟動", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.magnet.attract.@Tooltip": "投擲時,抓鉤會被附近的方塊吸引", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.magnet.attract.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.magnet.attract.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.magnet.attractradius": "吸引半徑", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.magnet.attractradius.@Tooltip": "吸引半徑", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.magnet.attractradius.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.magnet.attractradius.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.magnet.attractradius.max": "最大值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.magnet.attractradius.max_upgraded": "最大升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.magnet.attractradius.min": "最小值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.magnet.attractradius.min_upgraded": "最小升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor": "引擎", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.@Tooltip": "引擎升級的選項", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motor": "引擎啟動", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motor.@Tooltip": "將玩家拉向抓鉤", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motor.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motor.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motoracceleration": "引擎加速度", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motoracceleration.@Tooltip": "引擎加速度", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motoracceleration.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motoracceleration.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motoracceleration.max": "最大值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motoracceleration.max_upgraded": "最大升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motoracceleration.min": "最小值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motoracceleration.min_upgraded": "最小升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motordampener": "側向移動阻尼", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motordampener.@Tooltip": "降低垂直於繩索的移動,使繩索拉得更直", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motordampener.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motordampener.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motormaxspeed": "引擎最大速度", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motormaxspeed.@Tooltip": "引擎最高轉速", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motormaxspeed.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motormaxspeed.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motormaxspeed.max": "最大值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motormaxspeed.max_upgraded": "最大升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motormaxspeed.min": "最小值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motormaxspeed.min_upgraded": "最小升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motorwhencrouching": "按住 On/Off 鍵時啟動引擎", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motorwhencrouching.@Tooltip": "按住 On/Off 按鍵(預設:Shift)時,引擎處於啟動狀態", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motorwhencrouching.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motorwhencrouching.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motorwhennotcrouching": "放開 On/Off 鍵時啟動引擎", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motorwhennotcrouching.@Tooltip": "未按住 On/Off 按鍵(預設:Shift)時,引擎處於啟動狀態", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motorwhennotcrouching.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.motorwhennotcrouching.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.pullbackwards": "向後拉動", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.pullbackwards.@Tooltip": "即使你面向另一側,引擎仍會拉動你", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.pullbackwards.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.pullbackwards.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.smartmotor": "智慧引擎", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.smartmotor.@Tooltip": "調整引擎速度,讓玩家朝十字準線方向移動(上 / 下)", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.smartmotor.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.motor.smartmotor.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket": "火箭", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.@Tooltip": "火箭升級的選項", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_active_time": "火箭啟動時間(秒)", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_active_time.@Tooltip": "火箭可使用直到需要補充燃料的時間(未使用時燃料會自動回復)", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_active_time.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_active_time.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_active_time.max": "最大值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_active_time.max_upgraded": "最大升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_active_time.min": "最小值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_active_time.min_upgraded": "最小升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_force": "火箭推力", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_force.@Tooltip": "火箭推動玩家的速度", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_force.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_force.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_force.max": "最大值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_force.max_upgraded": "最大升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_force.min": "最小值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_force.min_upgraded": "最小升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_refuel_ratio": "火箭燃料回復比例", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_refuel_ratio.@Tooltip": "燃料回復時間與燃料使用時間的比例。(例如 2.0 表示用完 1 秒的燃料,需要 2 秒回復;越低越好。)", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_refuel_ratio.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_refuel_ratio.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_refuel_ratio.max": "最大值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_refuel_ratio.max_upgraded": "最大升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_refuel_ratio.min": "最小值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_refuel_ratio.min_upgraded": "最小升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_vertical_angle": "火箭垂直角度", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_vertical_angle.@Tooltip": "施加火箭推力的向上角度", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_vertical_angle.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_vertical_angle.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_vertical_angle.max": "最大值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_vertical_angle.max_upgraded": "最大升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_vertical_angle.min": "最小值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocket_vertical_angle.min_upgraded": "最小升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocketenabled": "火箭", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocketenabled.@Tooltip": "按住按鍵時推動玩家前進", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocketenabled.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rocket.rocketenabled.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope": "繩索", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.@Tooltip": "繩索升級的選項", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.climbkey": "脫離攀爬鍵", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.climbkey.@Tooltip": "除非按住「攀爬」鍵,否則忽略上爬 / 下爬鍵", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.climbkey.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.climbkey.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.maxlen": "繩索長度", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.maxlen.@Tooltip": "繩索的長度", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.maxlen.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.maxlen.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.maxlen.max": "最大值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.maxlen.max_upgraded": "最大升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.maxlen.min": "最小值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.maxlen.min_upgraded": "最小升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.phaserope": "繩索分段", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.phaserope.@Tooltip": "允許繩索分階段穿過方塊", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.phaserope.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.phaserope.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.sticky": "黏性繩索", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.sticky.@Tooltip": "若繩索在投擲時繞過方塊彎曲,則在彎折處固定連接", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.sticky.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.rope.sticky.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.swing": "擺動", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.swing.@Tooltip": "擺動升級的選項", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.swing.playermovementmult": "擺動速度", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.swing.playermovementmult.@Tooltip": "擺動時使用移動鍵的加速度", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.swing.playermovementmult.default_value": "預設值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.swing.playermovementmult.enabled": "啟用", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.swing.playermovementmult.max": "最大值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.swing.playermovementmult.max_upgraded": "最大升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.swing.playermovementmult.min": "最小值", + "text.autoconfig.grapplemod.option.options.grapplinghook.custom.swing.playermovementmult.min_upgraded": "最小升級", + "text.autoconfig.grapplemod.option.options.grapplinghook.other": "其他", + "text.autoconfig.grapplemod.option.options.grapplinghook.other.@Tooltip": "更多抓鉤用設定選項", + "text.autoconfig.grapplemod.option.options.grapplinghook.other.climb_speed": "攀爬速度", + "text.autoconfig.grapplemod.option.options.grapplinghook.other.climb_speed.@Tooltip": "玩家攀爬繩索的速度(方塊 / tick)", + "text.autoconfig.grapplemod.option.options.grapplinghook.other.default_durability": "預設耐久", + "text.autoconfig.grapplemod.option.options.grapplinghook.other.default_durability.@Tooltip": "抓鉤耐久", + "text.autoconfig.grapplemod.option.options.grapplinghook.other.hookaffectsentities": "抓鉤影響實體", + "text.autoconfig.grapplemod.option.options.grapplinghook.other.hookaffectsentities.@Tooltip": "若抓鉤擊中生物,會將其拉向玩家", + "text.autoconfig.grapplemod.option.options.grapplinghook.other.rope_jump_at_angle": "依繩索角度跳躍", + "text.autoconfig.grapplemod.option.options.grapplinghook.other.rope_jump_at_angle.@Tooltip": "跳離繩索時,依繩索角度跳(否則直接向上跳)", + "text.autoconfig.grapplemod.option.options.grapplinghook.other.rope_jump_cooldown_s": "繩索跳躍冷卻時間(秒)", + "text.autoconfig.grapplemod.option.options.grapplinghook.other.rope_jump_cooldown_s.@Tooltip": "若玩家在少於此時間(秒)前剛從另一條繩索上跳離,則不允許再從繩索上跳離", + "text.autoconfig.grapplemod.option.options.grapplinghook.other.rope_jump_power": "繩索跳躍能力", + "text.autoconfig.grapplemod.option.options.grapplinghook.other.rope_jump_power.@Tooltip": "從繩索上跳離時,最多套用的速度(方塊 / tick)", + "text.autoconfig.grapplemod.option.options.grapplinghook.other.rope_snap_buffer": "繩索斷裂緩衝", + "text.autoconfig.grapplemod.option.options.grapplinghook.other.rope_snap_buffer.@Tooltip": "若玩家以某種方式將繩索拉伸超過最大長度 + 此數值(例如傳送),繩索會斷裂", + "text.autoconfig.grapplemod.option.options.longfallboots": "緩降靴子", + "text.autoconfig.grapplemod.option.options.longfallboots.@Tooltip": "緩降靴子選項", + "text.autoconfig.grapplemod.option.options.longfallboots.longfallbootsrecipe": "緩降靴子配方", + "text.autoconfig.grapplemod.option.options.longfallboots.longfallbootsrecipe.@Tooltip": "允許玩家用附有摔落保護 IV 的鑽石靴右鍵點擊抓鉤調整台來製作緩降靴子", + "text.autoconfig.grapplemod.option.options.other": "其他", + "text.autoconfig.grapplemod.option.options.other.@Tooltip": "雜項", + "text.autoconfig.grapplemod.option.options.other.airstrafe_acceleration": "空中移動加速度", + "text.autoconfig.grapplemod.option.options.other.airstrafe_acceleration.@Tooltip": "在半空中使用移動鍵的加速度(方塊 / tick^2)(此模組接管移動時:抓鉤 / 蹬牆跑 / 終界法杖 / 等)", + "text.autoconfig.grapplemod.option.options.other.airstrafe_max_speed": "空中移動最大速度", + "text.autoconfig.grapplemod.option.options.other.airstrafe_max_speed.@Tooltip": "在半空中使用移動鍵的最大移動速度(方塊 / tick)(此模組接管移動時:抓鉤 / 蹬牆跑 / 終界法杖 / 等)", + "text.autoconfig.grapplemod.option.options.other.dont_override_movement_in_air": "不要覆寫空中移動", + "text.autoconfig.grapplemod.option.options.other.dont_override_movement_in_air.@Tooltip": "在半空中停用此模組接管移動(注意:Minecraft 具有很強的空氣摩擦)", + "text.autoconfig.grapplemod.option.options.other.override_allowflight": "覆寫允許飛行", + "text.autoconfig.grapplemod.option.options.other.override_allowflight.@Tooltip": "若為 true,伺服器會自動設定 allow-flight=true(避免抓鉤偶爾被誤判為飛行)" +} \ No newline at end of file diff --git a/kubejs/assets/greate/lang/zh_tw.json b/kubejs/assets/greate/lang/zh_tw.json new file mode 100644 index 000000000..06df134a8 --- /dev/null +++ b/kubejs/assets/greate/lang/zh_tw.json @@ -0,0 +1,380 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.greate.aluminium_cogwheel": "鋁齒輪", + "block.greate.aluminium_crushing_wheel": "鋁粉碎輪", + "block.greate.aluminium_crushing_wheel_controller": "鋁粉碎輪控制器", + "block.greate.aluminium_encased_fan": "鋁包覆鼓風機", + "block.greate.aluminium_gearbox": "鋁齒輪箱", + "block.greate.aluminium_mechanical_mixer": "鋁動力攪拌器", + "block.greate.aluminium_mechanical_press": "鋁動力衝壓機", + "block.greate.aluminium_mechanical_pump": "鋁動力泵", + "block.greate.aluminium_mechanical_saw": "鋁動力鋸", + "block.greate.aluminium_millstone": "鋁石磨", + "block.greate.aluminium_shaft": "鋁傳動軸", + "block.greate.andesite_encased_darmstadtium_cogwheel": "金屬鐽齒輪箱", + "block.greate.andesite_encased_darmstadtium_shaft": "金屬鐽傳動軸箱", + "block.greate.andesite_encased_large_darmstadtium_cogwheel": "金屬大型鐽齒輪箱", + "block.greate.andesite_encased_large_naquadah_alloy_cogwheel": "金屬大型矽岩合金齒輪箱", + "block.greate.andesite_encased_large_neutronium_cogwheel": "金屬大型中子素齒輪箱", + "block.greate.andesite_encased_large_rhodium_plated_palladium_cogwheel": "金屬大型鍍銠鈀齒輪箱", + "block.greate.andesite_encased_large_tungsten_steel_cogwheel": "金屬大型鎢鋼齒輪箱", + "block.greate.andesite_encased_naquadah_alloy_cogwheel": "金屬矽岩合金齒輪箱", + "block.greate.andesite_encased_naquadah_alloy_shaft": "金屬矽岩合金傳動軸箱", + "block.greate.andesite_encased_neutronium_cogwheel": "金屬中子素齒輪箱", + "block.greate.andesite_encased_neutronium_shaft": "金屬中子素傳動軸箱", + "block.greate.andesite_encased_rhodium_plated_palladium_cogwheel": "金屬鍍銠鈀齒輪箱", + "block.greate.andesite_encased_rhodium_plated_palladium_shaft": "金屬鍍銠鈀傳動軸箱", + "block.greate.andesite_encased_tungsten_steel_cogwheel": "金屬鎢鋼齒輪箱", + "block.greate.andesite_encased_tungsten_steel_shaft": "金屬鎢鋼傳動軸箱", + "block.greate.brass_encased_aluminium_cogwheel": "黃銅鋁齒輪箱", + "block.greate.brass_encased_aluminium_shaft": "黃銅鋁傳動軸箱", + "block.greate.brass_encased_darmstadtium_cogwheel": "黃銅鐽齒輪箱", + "block.greate.brass_encased_darmstadtium_shaft": "黃銅鐽傳動軸箱", + "block.greate.brass_encased_large_aluminium_cogwheel": "黃銅大型鋁齒輪箱", + "block.greate.brass_encased_large_darmstadtium_cogwheel": "黃銅大型鐽齒輪箱", + "block.greate.brass_encased_large_naquadah_alloy_cogwheel": "黃銅大型矽岩合金齒輪箱", + "block.greate.brass_encased_large_neutronium_cogwheel": "黃銅大型中子素齒輪箱", + "block.greate.brass_encased_large_rhodium_plated_palladium_cogwheel": "黃銅大型鍍銠鈀齒輪箱", + "block.greate.brass_encased_large_stainless_steel_cogwheel": "黃銅大型不鏽鋼齒輪箱", + "block.greate.brass_encased_large_steel_cogwheel": "黃銅大型鋼齒輪箱", + "block.greate.brass_encased_large_titanium_cogwheel": "黃銅大型鈦齒輪箱", + "block.greate.brass_encased_large_tungsten_steel_cogwheel": "黃銅大型鎢鋼齒輪箱", + "block.greate.brass_encased_naquadah_alloy_cogwheel": "黃銅矽岩合金齒輪箱", + "block.greate.brass_encased_naquadah_alloy_shaft": "黃銅矽岩合金傳動軸箱", + "block.greate.brass_encased_neutronium_cogwheel": "黃銅中子素齒輪箱", + "block.greate.brass_encased_neutronium_shaft": "黃銅中子素傳動軸箱", + "block.greate.brass_encased_rhodium_plated_palladium_cogwheel": "黃銅鍍銠鈀齒輪箱", + "block.greate.brass_encased_rhodium_plated_palladium_shaft": "黃銅鍍銠鈀傳動軸箱", + "block.greate.brass_encased_stainless_steel_cogwheel": "黃銅不鏽鋼齒輪箱", + "block.greate.brass_encased_stainless_steel_shaft": "黃銅不鏽鋼傳動軸箱", + "block.greate.brass_encased_steel_cogwheel": "黃銅鋼齒輪箱", + "block.greate.brass_encased_steel_shaft": "黃銅鋼傳動軸箱", + "block.greate.brass_encased_titanium_cogwheel": "黃銅鈦齒輪箱", + "block.greate.brass_encased_titanium_shaft": "黃銅鈦傳動軸箱", + "block.greate.brass_encased_tungsten_steel_cogwheel": "黃銅鎢鋼齒輪箱", + "block.greate.brass_encased_tungsten_steel_shaft": "黃銅鎢鋼傳動軸箱", + "block.greate.darmstadtium_cogwheel": "鐽齒輪", + "block.greate.darmstadtium_crushing_wheel": "鐽粉碎輪", + "block.greate.darmstadtium_crushing_wheel_controller": "鐽粉碎輪控制器", + "block.greate.darmstadtium_encased_fan": "鐽包覆鼓風機", + "block.greate.darmstadtium_gearbox": "鐽齒輪箱", + "block.greate.darmstadtium_mechanical_mixer": "鐽動力攪拌器", + "block.greate.darmstadtium_mechanical_press": "鐽動力衝壓機", + "block.greate.darmstadtium_mechanical_pump": "鐽動力泵", + "block.greate.darmstadtium_mechanical_saw": "鐽動力鋸", + "block.greate.darmstadtium_millstone": "鐽石磨", + "block.greate.darmstadtium_shaft": "鐽傳動軸", + "block.greate.large_aluminium_cogwheel": "大型鋁齒輪", + "block.greate.large_darmstadtium_cogwheel": "大型鐽齒輪", + "block.greate.large_naquadah_alloy_cogwheel": "大型矽岩合金齒輪", + "block.greate.large_neutronium_cogwheel": "大型中子素齒輪", + "block.greate.large_rhodium_plated_palladium_cogwheel": "大型鍍銠鈀齒輪", + "block.greate.large_stainless_steel_cogwheel": "大型不鏽鋼齒輪", + "block.greate.large_steel_cogwheel": "大型鋼齒輪", + "block.greate.large_titanium_cogwheel": "大型鈦齒輪", + "block.greate.large_tungsten_steel_cogwheel": "大型鎢鋼齒輪", + "block.greate.metal_girder_encased_aluminium_shaft": "金屬樑包覆鋁傳動軸", + "block.greate.metal_girder_encased_darmstadtium_shaft": "金屬樑包覆鐽傳動軸", + "block.greate.metal_girder_encased_naquadah_alloy_shaft": "金屬樑包覆矽岩合金傳動軸", + "block.greate.metal_girder_encased_neutronium_shaft": "金屬樑包覆中子素傳動軸", + "block.greate.metal_girder_encased_rhodium_plated_palladium_shaft": "金屬樑包覆鍍銠鈀傳動軸", + "block.greate.metal_girder_encased_stainless_steel_shaft": "金屬樑包覆不鏽鋼傳動軸", + "block.greate.metal_girder_encased_steel_shaft": "金屬樑包覆鋼傳動軸", + "block.greate.metal_girder_encased_titanium_shaft": "金屬樑包覆鈦傳動軸", + "block.greate.metal_girder_encased_tungsten_steel_shaft": "金屬樑包覆鎢鋼傳動軸", + "block.greate.naquadah_alloy_cogwheel": "矽岩合金齒輪", + "block.greate.naquadah_alloy_crushing_wheel": "矽岩合金粉碎輪", + "block.greate.naquadah_alloy_crushing_wheel_controller": "矽岩合金粉碎輪控制器", + "block.greate.naquadah_alloy_encased_fan": "矽岩合金包覆鼓風機", + "block.greate.naquadah_alloy_gearbox": "矽岩合金齒輪箱", + "block.greate.naquadah_alloy_mechanical_mixer": "矽岩合金動力攪拌器", + "block.greate.naquadah_alloy_mechanical_press": "矽岩合金動力衝壓機", + "block.greate.naquadah_alloy_mechanical_pump": "矽岩合金動力泵", + "block.greate.naquadah_alloy_mechanical_saw": "矽岩合金動力鋸", + "block.greate.naquadah_alloy_millstone": "矽岩合金石磨", + "block.greate.naquadah_alloy_shaft": "矽岩合金傳動軸", + "block.greate.neutronium_cogwheel": "中子素齒輪", + "block.greate.neutronium_crushing_wheel": "中子素粉碎輪", + "block.greate.neutronium_crushing_wheel_controller": "中子素粉碎輪控制器", + "block.greate.neutronium_encased_fan": "中子素包覆鼓風機", + "block.greate.neutronium_gearbox": "中子素齒輪箱", + "block.greate.neutronium_mechanical_mixer": "中子素動力攪拌器", + "block.greate.neutronium_mechanical_press": "中子素動力衝壓機", + "block.greate.neutronium_mechanical_pump": "中子素動力泵", + "block.greate.neutronium_mechanical_saw": "中子素動力鋸", + "block.greate.neutronium_millstone": "中子素石磨", + "block.greate.neutronium_shaft": "中子素傳動軸", + "block.greate.polybenzimidazole_belt_darmstadtium": "聚苯並咪唑傳送帶", + "block.greate.polybenzimidazole_belt_neutronium": "聚苯並咪唑傳送帶", + "block.greate.polytetrafluoroethylene_belt_naquadah_alloy": "聚四氟乙烯傳送帶", + "block.greate.polytetrafluoroethylene_belt_rhodium_plated_palladium": "聚四氟乙烯傳送帶", + "block.greate.powered_aluminium_shaft": "鋁動力曲軸", + "block.greate.powered_darmstadtium_shaft": "鐽動力曲軸", + "block.greate.powered_naquadah_alloy_shaft": "矽岩合金動力曲軸", + "block.greate.powered_neutronium_shaft": "中子素動力曲軸", + "block.greate.powered_rhodium_plated_palladium_shaft": "鍍銠鈀動力曲軸", + "block.greate.powered_stainless_steel_shaft": "不鏽鋼動力曲軸", + "block.greate.powered_steel_shaft": "鋼動力曲軸", + "block.greate.powered_titanium_shaft": "鈦動力曲軸", + "block.greate.powered_tungsten_steel_shaft": "鎢鋼動力曲軸", + "block.greate.rhodium_plated_palladium_cogwheel": "鍍銠鈀齒輪", + "block.greate.rhodium_plated_palladium_crushing_wheel": "鍍銠鈀粉碎輪", + "block.greate.rhodium_plated_palladium_crushing_wheel_controller": "鍍銠鈀粉碎輪控制器", + "block.greate.rhodium_plated_palladium_encased_fan": "鍍銠鈀包覆鼓風機", + "block.greate.rhodium_plated_palladium_gearbox": "鍍銠鈀齒輪箱", + "block.greate.rhodium_plated_palladium_mechanical_mixer": "鍍銠鈀動力攪拌器", + "block.greate.rhodium_plated_palladium_mechanical_press": "鍍銠鈀動力衝壓機", + "block.greate.rhodium_plated_palladium_mechanical_pump": "鍍銠鈀動力泵", + "block.greate.rhodium_plated_palladium_mechanical_saw": "鍍銠鈀動力鋸", + "block.greate.rhodium_plated_palladium_millstone": "鍍銠鈀石磨", + "block.greate.rhodium_plated_palladium_shaft": "鍍銠鈀傳動軸", + "block.greate.rubber_belt_andesite_alloy": "橡膠傳送帶", + "block.greate.rubber_belt_steel": "橡膠傳送帶", + "block.greate.silicone_rubber_belt_aluminium": "矽橡膠傳送帶", + "block.greate.silicone_rubber_belt_stainless_steel": "矽橡膠傳送帶", + "block.greate.stainless_steel_cogwheel": "不鏽鋼齒輪", + "block.greate.stainless_steel_crushing_wheel": "不鏽鋼粉碎輪", + "block.greate.stainless_steel_crushing_wheel_controller": "不鏽鋼粉碎輪控制器", + "block.greate.stainless_steel_encased_fan": "不鏽鋼包覆鼓風機", + "block.greate.stainless_steel_gearbox": "不鏽鋼齒輪箱", + "block.greate.stainless_steel_mechanical_mixer": "不鏽鋼動力攪拌器", + "block.greate.stainless_steel_mechanical_press": "不鏽鋼動力衝壓機", + "block.greate.stainless_steel_mechanical_pump": "不鏽鋼動力泵", + "block.greate.stainless_steel_mechanical_saw": "不鏽鋼動力鋸", + "block.greate.stainless_steel_millstone": "不鏽鋼石磨", + "block.greate.stainless_steel_shaft": "不鏽鋼傳動軸", + "block.greate.steel_cogwheel": "鋼齒輪", + "block.greate.steel_crushing_wheel": "鋼粉碎輪", + "block.greate.steel_crushing_wheel_controller": "鋼粉碎輪控制器", + "block.greate.steel_encased_fan": "鋼包覆鼓風機", + "block.greate.steel_gearbox": "鋼齒輪箱", + "block.greate.steel_mechanical_mixer": "鋼動力攪拌器", + "block.greate.steel_mechanical_press": "鋼動力衝壓機", + "block.greate.steel_mechanical_pump": "鋼動力泵", + "block.greate.steel_mechanical_saw": "鋼動力鋸", + "block.greate.steel_millstone": "鋼石磨", + "block.greate.steel_shaft": "鋼傳動軸", + "block.greate.titanium_cogwheel": "鈦齒輪", + "block.greate.titanium_crushing_wheel": "鈦粉碎輪", + "block.greate.titanium_crushing_wheel_controller": "鈦粉碎輪控制器", + "block.greate.titanium_encased_fan": "鈦包覆鼓風機", + "block.greate.titanium_gearbox": "鈦齒輪箱", + "block.greate.titanium_mechanical_mixer": "鈦動力攪拌器", + "block.greate.titanium_mechanical_press": "鈦動力衝壓機", + "block.greate.titanium_mechanical_pump": "鈦動力泵", + "block.greate.titanium_mechanical_saw": "鈦動力鋸", + "block.greate.titanium_millstone": "鈦石磨", + "block.greate.titanium_shaft": "鈦傳動軸", + "block.greate.tungsten_steel_cogwheel": "鎢鋼齒輪", + "block.greate.tungsten_steel_crushing_wheel": "鎢鋼粉碎輪", + "block.greate.tungsten_steel_crushing_wheel_controller": "鎢鋼粉碎輪控制器", + "block.greate.tungsten_steel_encased_fan": "鎢鋼包覆鼓風機", + "block.greate.tungsten_steel_gearbox": "鎢鋼齒輪箱", + "block.greate.tungsten_steel_mechanical_mixer": "鎢鋼動力攪拌器", + "block.greate.tungsten_steel_mechanical_press": "鎢鋼動力衝壓機", + "block.greate.tungsten_steel_mechanical_pump": "鎢鋼動力泵", + "block.greate.tungsten_steel_mechanical_saw": "鎢鋼動力鋸", + "block.greate.tungsten_steel_millstone": "鎢鋼石磨", + "block.greate.tungsten_steel_shaft": "鎢鋼傳動軸", + "block.greate.wire_coating_factory": "導線絕緣包覆機", + "config.greate.option.CAPACITY": "等級容量", + "config.greate.option.CRUSHING_WHEEL_IMPACT": "粉碎輪影響值", + "config.greate.option.ES": "ES 設定", + "config.greate.option.HS": "HS 設定", + "config.greate.option.IS": "IS 設定", + "config.greate.option.LS": "LS 設定", + "config.greate.option.LUS": "LUS 設定", + "config.greate.option.MILLSTONE_IMPACT": "石磨影響值", + "config.greate.option.MS": "MS 設定", + "config.greate.option.UHS": "UHS 設定", + "config.greate.option.ULS": "ULS 設定", + "config.greate.option.US": "US 設定", + "config.greate.option.ZPM": "ZPM 設定", + "config.jade.plugin_greate.belt_icon": "傳送帶圖示", + "config.jade.plugin_greate.recipe_duration": "配方時間", + "greate.gui.goggles.saw_contents": "鋸切內容物:", + "greate.jei.byproducts": "自 §6HS§r+ 起有副產物", + "greate.jei.recipe_tier": "配方等級: ", + "greate.ponder.belt_casing.header": "裝殼傳送帶", + "greate.ponder.belt_casing.text_2": "使用扳手即可移除機殼", + "greate.ponder.belt_connector.header": "傳送帶用法", + "greate.ponder.belt_connector.text_1": "手持傳送帶右鍵點擊兩根傳動軸,可將其連接", + "greate.ponder.belt_connector.text_2": "若選錯,潛行右鍵即可取消", + "greate.ponder.belt_connector.text_3": "也可在傳送帶中間加裝額外傳動軸", + "greate.ponder.belt_connector.text_4": "經傳送帶連接的傳動軸將以相同轉速與方向旋轉", + "greate.ponder.belt_connector.text_5": "加裝的傳動軸可用扳手拆除", + "greate.ponder.belt_connector.text_6": "傳送帶亦可染色", + "greate.ponder.belt_directions.header": "傳送帶的有效連接方向", + "greate.ponder.belt_directions.text_1": "傳送帶的連接方向並非任意", + "greate.ponder.belt_directions.text_2": "1. 可水平連接", + "greate.ponder.belt_directions.text_3": "2. 可對角連接", + "greate.ponder.belt_directions.text_4": "3. 可垂直連接", + "greate.ponder.belt_directions.text_5": "4. 亦可水平連接直立的傳動軸", + "greate.ponder.belt_directions.text_6": "以上為所有連接方式,範圍為 2 至 20 格", + "greate.ponder.belt_transport.header": "物流中使用傳送帶", + "greate.ponder.belt_transport.text_1": "運轉中的傳送帶可運送物品與實體", + "greate.ponder.belt_transport.text_2": "空手右鍵可取下其上物品", + "greate.ponder.cog_speedup.header": "使用齒輪變速", + "greate.ponder.cog_speedup.text_1": "大小齒輪可斜向傳遞動力", + "greate.ponder.cog_speedup.text_2": "大齒輪傳至小齒輪時,轉速加倍", + "greate.ponder.cog_speedup.text_3": "小齒輪傳至大齒輪時,轉速減半", + "greate.ponder.cogwheel.header": "使用齒輪傳遞旋轉力", + "greate.ponder.cogwheel.text_1": "齒輪會將動力傳至相鄰齒輪", + "greate.ponder.cogwheel.text_2": "如此連接時,旋轉方向相反", + "greate.ponder.cogwheel_casing.header": "裝殼齒輪", + "greate.ponder.cogwheel_casing.text_2": "裝殼後新增組件不會與傳動軸相連", + "greate.ponder.cogwheel_casing.text_3": "可用扳手切換連接", + "greate.ponder.crushing_wheels.header": "使用粉碎輪處理物品", + "greate.ponder.crushing_wheels.text_1": "一對粉碎輪,研磨快速精準", + "greate.ponder.crushing_wheels.text_2": "輸入的旋轉需使兩輪相向咬合", + "greate.ponder.crushing_wheels.text_3": "投入或放入的物品都會被粉碎", + "greate.ponder.crushing_wheels.text_4": "亦可自動化輸入與輸出", + "greate.ponder.fan_direction.header": "鼓風機氣流", + "greate.ponder.fan_direction.text_1": "鼓風機利用旋轉力產生氣流", + "greate.ponder.fan_direction.text_2": "流速與方向取決於轉速與方向", + "greate.ponder.fan_processing.header": "使用鼓風機加工物品", + "greate.ponder.fan_processing.text_1": "氣流經過熔岩會被加熱", + "greate.ponder.fan_processing.text_2": "熱氣流中的物品會被冶煉", + "greate.ponder.fan_processing.text_3": "食物則會直接燒成灰燼", + "greate.ponder.fan_processing.text_4": "欲烹飪食物需讓氣流經過火焰以煙燻", + "greate.ponder.fan_processing.text_5": "氣流經水後可用於洗滌", + "greate.ponder.fan_processing.text_6": "此加工方式用途廣泛", + "greate.ponder.fan_processing.text_7": "轉速不影響加工速度,只影響吹拂距離", + "greate.ponder.fan_processing.text_8": "置於置物台或傳送帶上的物品亦可處理", + "greate.ponder.gearbox.header": "使用十字齒輪箱傳遞旋轉力", + "greate.ponder.gearbox.text_1": "改變旋轉軸向常使系統臃腫", + "greate.ponder.gearbox.text_2": "十字齒輪箱更小巧緊湊", + "greate.ponder.gearbox.text_3": "垂直相鄰傳動軸方向呈鏡像", + "greate.ponder.gearbox.text_4": "直線連接傳動軸方向相反", + "greate.ponder.large_cogwheel.header": "使用大齒輪傳遞旋轉力", + "greate.ponder.large_cogwheel.text_1": "大齒輪可以從特定的角度相互連接", + "greate.ponder.large_cogwheel.text_2": "可以利用大齒輪變更旋轉軸向", + "greate.ponder.mechanical_mixer.header": "使用動力攪拌器處理物品", + "greate.ponder.mechanical_mixer.text_1": "使用攪拌器和工作盆,你可以自動化某些合成配方", + "greate.ponder.mechanical_mixer.text_2": "有效配方包括各種無序合成配方,以及一些額外的配方", + "greate.ponder.mechanical_mixer.text_3": "一些配方可能需要使用烈焰人燃燒室提供熱量", + "greate.ponder.mechanical_mixer.text_4": "過濾槽可用於解決兩個配方相互衝突的情況", + "greate.ponder.mechanical_press_compacting.header": "使用動力衝壓機壓縮物品", + "greate.ponder.mechanical_press_compacting.text_1": "對放置於工作盆內的物品進行衝壓,可以將這些物品壓縮在一起", + "greate.ponder.mechanical_press_compacting.text_2": "壓縮意指任何同種物品填滿了 2×2 或者 3×3 網格的配方,以及一些額外的配方", + "greate.ponder.mechanical_press_compacting.text_3": "一些配方可能需要烈焰人燃燒室提供熱量", + "greate.ponder.mechanical_press_compacting.text_4": "過濾槽可用於解決兩個配方相互衝突的情況", + "greate.ponder.mechanical_pump_flow.header": "使用動力泵傳輸流體", + "greate.ponder.mechanical_pump_flow.text_1": "動力泵可以控制管道網絡中的流體", + "greate.ponder.mechanical_pump_flow.text_2": "其上的箭頭指示流體流向", + "greate.ponder.mechanical_pump_flow.text_3": "泵後的管道網絡正在抽取流體……", + "greate.ponder.mechanical_pump_flow.text_4": "……而泵前的網絡則在排放流體", + "greate.ponder.mechanical_pump_flow.text_5": "動力泵的方向不受旋轉方向的影響", + "greate.ponder.mechanical_pump_flow.text_6": "取而代之的是,可以使用扳手來反轉方向", + "greate.ponder.mechanical_pump_speed.header": "動力泵的傳輸機制", + "greate.ponder.mechanical_pump_speed.text_1": "動力泵的壓力最多沿管線傳遞 16 格,與輸入動力無關", + "greate.ponder.mechanical_pump_speed.text_2": "提高輸入轉速,可以加快流體的蔓延速度……", + "greate.ponder.mechanical_pump_speed.text_3": "……以及液體的傳輸速度", + "greate.ponder.mechanical_pump_speed.text_4": "同一管道網絡中的多個並聯動力泵,它們的傳輸量可以疊加", + "greate.ponder.mechanical_pump_speed.text_5": "確保它們都朝向同一方向", + "greate.ponder.mechanical_saw_breaker.header": "使用動力鋸伐木", + "greate.ponder.mechanical_saw_breaker.text_1": "向其通入旋轉力後,動力鋸可以直接砍伐掉它面前的樹木", + "greate.ponder.mechanical_saw_breaker.text_2": "想要一次性砍掉整棵樹,鋸子必須破壞掉樹與地面連接的最後一個方塊", + "greate.ponder.mechanical_saw_contraption.header": "在動態結構中使用動力鋸", + "greate.ponder.mechanical_saw_contraption.text_1": "當動力鋸作為動態結構的一部分移動時……", + "greate.ponder.mechanical_saw_contraption.text_2": "……它會將撞到它的樹木破壞掉", + "greate.ponder.mechanical_saw_processing.header": "使用動力鋸處理物品", + "greate.ponder.mechanical_saw_processing.text_1": "面朝上的動力鋸可以處理各種物品", + "greate.ponder.mechanical_saw_processing.text_2": "處理過後的物品彈出方向始終與通入鋸中的旋轉轉向相反", + "greate.ponder.mechanical_saw_processing.text_3": "鋸子可以與傳送帶放置在一條直線上,相互配合工作", + "greate.ponder.mechanical_saw_processing.text_4": "若輸入原料有多種可能產物,你可以用動力鋸上的過濾槽指定只產出某種產物", + "greate.ponder.mechanical_saw_processing.text_5": "若沒有使用過濾槽,動力鋸會在各產物中按順序循環輸出", + "greate.ponder.millstone.header": "使用石磨處理物品", + "greate.ponder.millstone.text_1": "石磨會對輸入的物品進行研磨", + "greate.ponder.millstone.text_2": "在其側邊使用齒輪與其相耦合,方可為其通入動力", + "greate.ponder.millstone.text_3": "頂部可以丟入或者塞入物品", + "greate.ponder.millstone.text_4": "一段時間過後,右擊石磨可以拿出其中的產物", + "greate.ponder.millstone.text_5": "產物的提取也是可以自動化的", + "greate.ponder.shaft.header": "使用傳動軸傳遞旋轉力", + "greate.ponder.shaft.text_1": "傳動軸能直線傳遞旋轉力", + "greate.ponder.shaft_casing.header": "裝殼傳動軸", + "greate.ponder.shaft_casing.text_1": "金屬或黃銅機殼,裝飾傳動軸的好夥伴", + "greate.recipe.assembly.cutting": "用%s或更高級的動力鋸切割", + "greate.recipe.assembly.pressing": "用%s或更高級的衝壓機加工", + "greate.recipe.automatic_brewing": "自動釀造", + "greate.recipe.automatic_packing": "自動壓縮", + "greate.recipe.automatic_shapeless": "自動攪拌", + "greate.recipe.block_cutting": "方塊切割", + "greate.recipe.crushing": "粉碎", + "greate.recipe.fan_haunting": "批量纏魂", + "greate.recipe.fan_washing": "批量洗滌", + "greate.recipe.milling": "研磨", + "greate.recipe.mixing": "混合攪拌", + "greate.recipe.pressing": "衝壓", + "greate.recipe.processing.extra_chance": "每個等級 % 額外機率", + "greate.recipe.sawing": "切削", + "greate.recipe.wood_cutting": "木材切割", + "greate.tooltip.belt_maxlength": "最大長度: ", + "greate.tooltip.belt_usable": "可用於: ", + "greate.tooltip.capacity": "應力: ", + "greate.tooltip.circuit_number": "電路編號", + "greate.tooltip.max_capacity": "最大應力: ", + "greate.tooltip.networkStatistics": "網路狀態: ", + "gtceu.wire_coating": "導線絕緣包覆機", + "item.greate.aluminium_vertical_gearbox": "鋁垂直齒輪箱", + "item.greate.darmstadtium_vertical_gearbox": "鐽垂直齒輪箱", + "item.greate.naquadah_alloy_vertical_gearbox": "納夸達合金垂直齒輪箱", + "item.greate.neutronium_vertical_gearbox": "中子素垂直齒輪箱", + "item.greate.polybenzimidazole_belt_connector": "聚苯並咪唑傳送帶連接器", + "item.greate.polytetrafluoroethylene_belt_connector": "聚四氟乙烯傳送帶連接器", + "item.greate.rhodium_plated_palladium_vertical_gearbox": "鍍銠鈀垂直齒輪箱", + "item.greate.stainless_steel_vertical_gearbox": "不鏽鋼垂直齒輪箱", + "item.greate.steel_vertical_gearbox": "鋼垂直齒輪箱", + "item.greate.titanium_vertical_gearbox": "鈦垂直齒輪箱", + "item.greate.tungsten_steel_vertical_gearbox": "鎢鋼垂直齒輪箱", + "item.gtceu.naquadah_alloy_alloy": "納夸達合金", + "itemGroup.greate": "GregTech 動力機械", + "material.greate.andesite_alloy": "安山合金", + "material.greate.chromatic_compound": "彩虹化合物", + "material.greate.refined_radiance": "精煉輝光石", + "material.greate.rose_quartz": "玫瑰石英", + "material.greate.shadow_steel": "暗影鋼", + "tagprefix.alloy": "%s合金", + "tagprefix.whisk": "%s攪拌器", + "block.greate.andesite_alloy_cogwheel": "基礎齒輪", + "block.greate.andesite_alloy_crushing_wheel": "基礎粉碎輪", + "block.greate.andesite_alloy_crushing_wheel_controller": "基礎粉碎輪控制器", + "block.greate.andesite_alloy_encased_fan": "基礎鼓風機", + "block.greate.andesite_alloy_gearbox": "基礎齒輪箱", + "block.greate.andesite_alloy_mechanical_mixer": "基礎動力攪拌器", + "block.greate.andesite_alloy_mechanical_press": "基礎動力衝壓機", + "block.greate.andesite_alloy_mechanical_pump": "基礎動力泵", + "block.greate.andesite_alloy_mechanical_saw": "基礎動力鋸", + "block.greate.andesite_alloy_millstone": "基礎石磨", + "block.greate.andesite_alloy_shaft": "基礎傳動軸", + "block.greate.andesite_encased_aluminium_cogwheel": "金屬鋁裝殼齒輪", + "block.greate.andesite_encased_aluminium_shaft": "金屬鋁裝殼傳動軸", + "block.greate.andesite_encased_andesite_alloy_cogwheel": "金屬基礎裝殼齒輪", + "block.greate.andesite_encased_andesite_alloy_shaft": "金屬基礎裝殼傳動軸", + "block.greate.andesite_encased_large_aluminium_cogwheel": "金屬大型鋁裝殼齒輪", + "block.greate.andesite_encased_large_andesite_alloy_cogwheel": "金屬大型基礎裝殼齒輪", + "block.greate.andesite_encased_large_stainless_steel_cogwheel": "金屬大型不鏽鋼裝殼齒輪", + "block.greate.andesite_encased_large_steel_cogwheel": "金屬大型鋼裝殼齒輪", + "block.greate.andesite_encased_large_titanium_cogwheel": "金屬大型鈦裝殼齒輪", + "block.greate.andesite_encased_stainless_steel_cogwheel": "金屬不鏽鋼裝殼齒輪", + "block.greate.andesite_encased_stainless_steel_shaft": "金屬不鏽鋼裝殼傳動軸", + "block.greate.andesite_encased_steel_cogwheel": "金屬鋼裝殼齒輪", + "block.greate.andesite_encased_steel_shaft": "金屬鋼裝殼傳動軸", + "block.greate.andesite_encased_titanium_cogwheel": "金屬鈦裝殼齒輪", + "block.greate.andesite_encased_titanium_shaft": "金屬鈦裝殼傳動軸", + "block.greate.brass_encased_andesite_alloy_cogwheel": "黃銅基礎裝殼齒輪", + "block.greate.brass_encased_andesite_alloy_shaft": "黃銅基礎裝殼傳動軸", + "block.greate.brass_encased_large_andesite_alloy_cogwheel": "黃銅大型基礎裝殼齒輪", + "block.greate.large_andesite_alloy_cogwheel": "大型基礎齒輪", + "block.greate.metal_girder_encased_andesite_alloy_shaft": "金屬梁裝殼基礎傳動軸", + "block.greate.powered_andesite_alloy_shaft": "基礎動力傳動軸", + "item.greate.andesite_alloy_belt_connector": "木板履帶傳送帶", + "item.greate.stone_belt_connector": "皮革傳送帶", + "item.greate.rubber_belt_connector": "橡膠傳送帶", + "item.greate.silicone_rubber_belt_connector": "矽橡膠傳送帶", + "item.greate.styrene_butadiene_rubber_belt_connector": "丁苯橡膠傳送帶", + "item.greate.andesite_alloy_vertical_gearbox": "基礎垂直齒輪箱", + "greate.recipe.packing": "焊接與壓縮", + "greate.ponder.belt_casing.text_1": "你可以用黃銅或者金屬機殼裝飾你的傳送帶", + "greate.ponder.cogwheel_casing.text_1": "黃銅機殼或金屬機殼可用於裝飾齒輪" +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index dc9a569b8..d7525302c 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -65,7 +65,7 @@ "item.gtceu.small_netherrack_dust": "Small Pile of Keratophyre Dust", "item.gtceu.tiny_netherrack_dust": "Tiny Pile of Keratophyre Dust", "item.gtceu.iron_ring": "Cast Iron Ring", - "item.gtceu.small_iron_gear": "Cast Iron Gear", + "item.gtceu.small_iron_gear": "Small Cast Iron Gear", "item.gtceu.iron_gear": "Cast Iron Gear", "item.gtceu.iron_plate": "Cast Iron Plate", "item.gtceu.double_iron_plate": "Double Cast Iron Plate", diff --git a/kubejs/assets/gtceu/lang/zh_tw.json b/kubejs/assets/gtceu/lang/zh_tw.json new file mode 100644 index 000000000..7586a0dac --- /dev/null +++ b/kubejs/assets/gtceu/lang/zh_tw.json @@ -0,0 +1,277 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.bud_indicator": "%s 地表芽體", + "block.gtceu.salt_block": "鹽塊", + "block.gtceu.greenhouse": "溫室", + "block.tfg.steam_bloomery": "蒸汽塊煉鐵爐", + "block.tfg.steam_thermal_centrifuge": "蒸汽熱離心機", + "block.tfg.steam_fuser": "蒸汽熔合機", + "block.tfg.steam_squasher": "蒸汽壓碎機", + "block.tfg.steam_presser": "蒸汽壓製機", + "block.gtceu.large_solar_panel": "§9大型太陽能陣列 MK I", + "block.gtceu.large_solar_panel_tier2": "§b大型太陽能陣列 MK II", + "block.gtceu.large_solar_panel_tier3": "§c大型太陽能陣列 MK III", + "block.gtceu.gas_pressurizer": "氣體加壓機", + "block.gtceu.nuclear_fuel_factory": "核燃料工廠", + "block.gtceu.heat_exchanger": "熱交換器", + "block.gtceu.fission_reactor": "核分裂反應爐", + "block.gtceu.evaporation_tower": "蒸發塔", + "block.gtceu.ostrum_harvester": "歐斯壯採收機", + "block.gtceu.moon_dust_harvester": "月塵採收機", + "block.tfg.ostrum_linear_accelerator": "歐斯壯線性加速器", + "block.gtceu.coal_liquefaction_tower": "液化塔", + "block.gtceu.ulv_super_tank": "ULV超級儲罐", + "block.gtceu.ulv_super_chest": "ULV超級箱", + "block.gtceu.ulv_hermetic_casing": "ULV密封機殼", + "block.gtceu.hv_energy_output_hatch_4a": "§6HV 4A動力艙§r", + "block.gtceu.red_granite_cobblestone": "紅花崗岩鵝卵石", + "block.gtceu.mossy_red_granite_cobblestone": "苔蘚紅花崗岩鵝卵石", + "block.gtceu.copper_crate": "銅板條箱", + "block.gtceu.copper_drum": "銅儲槽", + "block.gtceu.black_bronze_crate": "黑青銅板條箱", + "block.gtceu.black_bronze_drum": "黑青銅儲槽", + "block.gtceu.bismuth_bronze_crate": "鉍青銅板條箱", + "block.gtceu.bismuth_bronze_drum": "鉍青銅儲槽", + "block.gtceu.overworld_marker": "地球", + "block.gtceu.the_nether_marker": "地底", + "block.tfg.bioreactor": "生物反應爐", + "block.tfg.growth_chamber": "生長室", + "block.tfg.single_itemstack_bus": "限流輸入匯流排", + "block.tfg.hydroponics_facility": "水耕設施", + "block.tfg.pisciculture_fishery": "水產養殖場", + "block.gtceu.ev_1024a_laser_source_hatch": "§5EV§r 1,024§eA§r雷射發射艙", + "block.gtceu.ev_1024a_laser_target_hatch": "§5EV§r 1,024§eA§r雷射接收艙", + "block.gtceu.ev_256a_laser_source_hatch": "§5EV§r 256§eA§r雷射發射艙", + "block.gtceu.ev_256a_laser_target_hatch": "§5EV§r 256§eA§r雷射接收艙", + "block.gtceu.ev_4096a_laser_source_hatch": "§5EV§r 4,096§eA§r雷射發射艙", + "block.gtceu.ev_4096a_laser_target_hatch": "§5EV§r 4,096§eA§r雷射接收艙", + "item.gtceu.tiny_wood_dust": "小撮軟木木漿", + "item.gtceu.small_wood_dust": "小堆軟木木漿", + "item.gtceu.wood_dust": "軟木木漿", + "item.gtceu.tiny_hardwood_dust": "小撮硬木木漿", + "item.gtceu.small_hardwood_dust": "小堆硬木木漿", + "item.gtceu.hardwood_dust": "硬木木漿", + "item.gtceu.tiny_thermochemically_treated_hardwood_dust": "小撮熱化學處理硬木木漿", + "item.gtceu.small_thermochemically_treated_hardwood_dust": "小堆熱化學處理硬木木漿", + "item.gtceu.thermochemically_treated_hardwood_dust": "熱化學處理硬木木漿", + "item.gtceu.tool.behavior.canoe_creator": "§5船夫:§f可製作獨木舟", + "item.gtceu.deepslate_dust": "混合岩粉末", + "item.gtceu.small_deepslate_dust": "小堆混合岩粉末", + "item.gtceu.tiny_deepslate_dust": "小撮混合岩粉末", + "item.gtceu.blackstone_dust": "輝石岩粉末", + "item.gtceu.small_blackstone_dust": "小堆輝石岩粉末", + "item.gtceu.tiny_blackstone_dust": "小撮輝石岩粉末", + "item.gtceu.netherrack_dust": "角斑岩粉末", + "item.gtceu.small_netherrack_dust": "小堆角斑岩粉末", + "item.gtceu.tiny_netherrack_dust": "小撮角斑岩粉末", + "item.gtceu.iron_ring": "鑄鐵環", + "item.gtceu.small_iron_gear": "鑄鐵小齒輪", + "item.gtceu.iron_gear": "鑄鐵齒輪", + "item.gtceu.iron_plate": "鑄鐵板", + "item.gtceu.double_iron_plate": "雙重鑄鐵板", + "item.gtceu.iron_rod": "鑄鐵棒", + "item.gtceu.long_iron_rod": "長鑄鐵棒", + "item.gtceu.iron_rotor": "鑄鐵轉子", + "item.gtceu.iron_spring": "鑄鐵彈簧", + "item.gtceu.small_iron_spring": "小型鑄鐵彈簧", + "item.gtceu.iron_bolt": "鑄鐵螺栓", + "item.gtceu.iron_screw": "鑄鐵螺絲", + "item.gtceu.iron_turbine_blade": "鑄鐵渦輪葉片", + "item.gtceu.iron_round": "鑄鐵圓盤", + "item.gtceu.iron_single_wire": "1x 鑄鐵導線", + "item.gtceu.iron_double_wire": "2x 鑄鐵導線", + "item.gtceu.iron_quadruple_wire": "4x 鑄鐵導線", + "item.gtceu.iron_octal_wire": "8x 鑄鐵導線", + "item.gtceu.iron_hex_wire": "16x 鑄鐵導線", + "item.gtceu.iron_single_cable": "1x 鑄鐵電纜", + "item.gtceu.iron_double_cable": "2x 鑄鐵電纜", + "item.gtceu.iron_quadruple_cable": "4x 鑄鐵電纜", + "item.gtceu.iron_octal_cable": "8x 鑄鐵電纜", + "item.gtceu.iron_hex_cable": "16x 鑄鐵電纜", + "item.gtceu.ice_bucket": "碎冰桶", + "item.gtceu.copper_credit": "§71 信用幣", + "item.gtceu.cupronickel_credit": "§78 信用幣", + "item.gtceu.silver_credit": "§764 信用幣", + "item.gtceu.gold_credit": "§7512 信用幣", + "item.gtceu.platinum_credit": "§74,096 信用幣", + "item.gtceu.osmium_credit": "§732,768 信用幣", + "item.gtceu.naquadah_credit": "§7262,144 信用幣", + "item.gtceu.neutronium_credit": "§72,097,152 信用幣", + "item.gtceu.wood_plate": "中密度纖維板", + "item.gtceu.salt_dust": "鹽粉", + "item.gtceu.small_salt_dust": "小堆鹽粉", + "item.gtceu.tiny_salt_dust": "小撮鹽粉", + "item.gtceu.chipped_salt_gem": "碎裂的鹽晶體", + "item.gtceu.flawed_salt_gem": "有瑕疵的鹽晶體", + "item.gtceu.salt_gem": "鹽晶體", + "item.gtceu.exquisite_salt_gem": "精緻的鹽晶體", + "item.gtceu.flawless_salt_gem": "完美的鹽晶體", + "material.gtceu.ice": "碎冰", + "material.gtceu.damascus_steel": "豬鋼", + "material.gtceu.air": "地球大氣", + "material.gtceu.liquid_air": "液態地球大氣", + "material.gtceu.cooperite": "硫鉑礦", + "material.gtceu.rock_salt": "鉀鹽", + "material.gtceu.salt": "岩鹽", + "material.gtceu.armalcolite": "鎂鐵鈦礦", + "material.gtceu.desh": "戴什", + "material.gtceu.ostrum": "歐斯壯", + "material.tfg.calorite": "卡洛里", + "material.tfg.etrium": "伊特林", + "material.gtceu.tarkianite": "塔基亞礦", + "material.gtceu.thorium": "方釷石", + "material.gtceu.dimethylbenzene": "二甲苯", + "material.gtceu.aluminium_silicate": "矽酸鋁", + "material.gtceu.rocket_alloy_t1": "鋁鋼火箭合金", + "material.gtceu.rocket_alloy_t2": "ASM 4914 鈦火箭合金", + "material.gtceu.rocket_alloy_t3": "45-Ti 鎢鋼火箭合金", + "material.gtceu.vitrified_asbestos": "玻璃化石綿", + "material.gtceu.liquid_carbon_dioxide": "液態二氧化碳", + "material.gtceu.hot_debrominated_brine": "熱脫溴鹽滷", + "material.gtceu.hydrogen_iodide": "碘化氫", + "material.gtceu.dense_steam": "高壓蒸汽", + "material.gtceu.uranium_waste": "鈾廢料", + "material.gtceu.nuclear_waste": "核廢料", + "material.gtceu.dirty_hexafluorosilicic_acid": "污濁六氟矽酸", + "material.gtceu.martian_sludge": "火星淤泥", + "material.gtceu.dioxygen_difluoride": "二氟化二氧", + "material.gtceu.tritiated_water": "氚化水", + "material.gtceu.raw_brine": "粗鹽滷", + "material.gtceu.hot_brine": "熱鹽滷", + "material.gtceu.hot_chlorinated_brominated_brine": "熱氯化溴化鹽滷", + "material.gtceu.brominated_chlorine_vapor": "溴化氯蒸氣", + "material.gtceu.acidic_bromine_solution": "酸性溴溶液", + "material.gtceu.concentrated_bromine_solution": "濃縮溴溶液", + "material.gtceu.debrominated_brine": "脫溴鹽滷", + "material.gtceu.acidic_bromine_exhaust": "酸性溴廢氣", + "material.gtceu.hot_alkaline_debrominated_brine": "熱鹼性脫溴鹽滷", + "material.gtceu.lithium_carbonate": "碳酸鋰", + "material.gtceu.lithium_fluoride": "氟化鋰", + "material.gtceu.tetrafluoroberyllate": "四氟鈹酸鹽", + "material.gtceu.thorium_230": "釷 230", + "material.gtceu.thorium_232": "釷 232", + "material.gtceu.tbu-232_pellet": "TBU 232 燃料球", + "material.gtceu.plutonium_pellet": "鈽燃料球", + "material.gtceu.uranium_pellet": "鈾燃料球", + "material.gtceu.thorium_pellet": "釷燃料球", + "material.gtceu.ostrum_iodide": "碘化歐斯壯", + "material.gtceu.americium": "鋂 243", + "material.gtceu.uranium": "鈾 238", + "material.gtceu.plutonium": "鈽 239", + "material.gtceu.neptunium_237": "錼 237", + "material.gtceu.caesium_137": "銫 137", + "material.gtceu.americium_241": "鋂 241", + "material.gtceu.californium_252": "鉲 252", + "material.gtceu.boron_10": "硼 10", + "material.gtceu.residual_radioactive_concoction": "放射性殘留混合物", + "material.gtceu.regolith_vapor": "風化層蒸氣", + "material.gtceu.dense_ostrum_vapor": "濃縮歐斯壯蒸氣", + "material.gtceu.lightweight_ostrum_vapor": "輕質歐斯壯蒸氣", + "material.gtceu.ostrum_vapor": "歐斯壯蒸氣", + "material.gtceu.quartzite": "石英", + "material.gtceu.irradiated_steam": "受輻射蒸汽", + "material.gtceu.radioactive_steam": "放射性蒸汽", + "material.gtceu.radioactive_waste": "釷廢料", + "metaitem.dust.tooltip.purify": "丟入水中即可獲得乾淨的粉末", + "metaitem.crushed.tooltip.purify": "丟入水中即可獲得純淨的礦石", + "item.gtceu.tool.behavior.silk_ice": "§d雕刻師:§r絲綢之觸採集冰磚", + "item.gtceu.tool.butchery_knife.tooltip": "§c屠夫:§r屠宰動物以獲得更多肉類", + "item.gtceu.tool.tooltip.repair_info": "", + "item.gtceu.tool.tooltip.repair_material": "", + "gtceu.machine.lp_steam_extractor.tooltip": "§7不會提取流體", + "gtceu.machine.hp_steam_extractor.tooltip": "§7不會提取流體", + "gtceu.jei.bedrock_fluid.nether_natural_gas_deposit": "地底天然氣礦藏", + "gtceu.jei.bedrock_fluid.moon_helium": "月球氦氣礦藏", + "gtceu.jei.bedrock_fluid.moon_helium_3": "月球氦-3礦藏", + "gtceu.jei.bedrock_fluid.moon_argon": "月球氬氣礦藏", + "gtceu.jei.bedrock_fluid.semiheavy_ammoniacal_water": "火星半重氨水礦藏", + "gtceu.jei.bedrock_fluid.liquid_carbon_dioxide": "火星液態二氧化碳礦藏", + "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "火星重氨水礦藏", + "gtceu.jei.bedrock_fluid.liquid_ice": "火星碎冰礦藏", + "gtceu.recipe.category.ingot_molding": "材料模鑄", + "block.gtceu.wire_coil.tooltip_pyro": "§8熱裂解爐、液化塔與核燃料工廠:§r", + "block.gtceu.wire_coil.tooltip_cracking": "§8裂解單元、月球與歐斯壯採收機:§r", + "tooltip.moldraw.shift_view_molecule": "§7§o按住 (Shift) 以查看分子結構§r", + "tooltip.moldraw.shift_view_alloy": "§7§o按住 (Shift) 以查看合金成分§r", + "gtceu.medical_condition.antidote.description.effect_removed": "移除 %s%% 上述狀態的效果", + "gtceu.medical_condition.antidote.description.effect_removed.all": "移除所有上述狀態的效果", + "gtceu.greenhouse": "電力溫室", + "gtceu.steam_bloomery": "蒸汽塊煉鐵爐", + "gtceu.food_oven": "食物烤箱", + "gtceu.food_processor": "食物調理機", + "gtceu.large_solar_panel": "大型太陽能陣列 MK I", + "gtceu.large_solar_panel_tier2": "大型太陽能陣列 MK II", + "gtceu.large_solar_panel_tier3": "大型太陽能陣列 MK III", + "gtceu.gas_pressurizer": "氣體加壓機", + "gtceu.nuclear_fuel_factory": "核燃料工廠", + "gtceu.nuclear_turbine": "核能蒸汽渦輪機", + "gtceu.cooling_tower": "核能冷卻塔", + "gtceu.heat_exchanger": "熱交換器", + "gtceu.fission_reactor": "核分裂反應爐", + "gtceu.evaporation_tower": "蒸發塔", + "gtceu.ostrum_harvester": "歐斯壯採收機", + "gtceu.moon_dust_harvester": "月塵採收機", + "gtceu.ostrum_linear_accelerator": "歐斯壯線性加速器", + "gtceu.bioreactor": "生物反應爐", + "gtceu.growth_chamber": "生長室", + "gtceu.coal_liquefaction_tower": "液化塔", + "gtceu.smr_generator": "小型模組化渦輪機", + "gtceu.hydroponics_facility": "水耕設施", + "gtceu.pisciculture_fishery": "水產養殖場", + "tagprefix.sword_head": "%s 劍刃", + "tagprefix.pickaxe_head": "%s 鎬頭", + "tagprefix.shovel_head": "%s 鏟頭", + "tagprefix.axe_head": "%s 斧頭", + "tagprefix.hoe_head": "%s 鋤頭", + "tagprefix.scythe_head": "%s 鐮刀刃", + "tagprefix.file_head": "%s 銼刀組件", + "tagprefix.hammer_head": "%s 鎚頭", + "tagprefix.saw_head": "%s 鋸片", + "tagprefix.knife_head": "%s 刀刃", + "tagprefix.butchery_knife_head": "%s 屠宰刀刃", + "tagprefix.mining_hammer_head": "%s 礦用鎚頭", + "tagprefix.spade_head": "%s 圓鏟頭", + "tagprefix.double_ingot": "%s 雙重錠", + "tagprefix.poor_raw": "貧瘠原礦 %s", + "tagprefix.rich_raw": "富饒原礦 %s", + "tagprefix.dusty_raw": "多粉原礦 %s", + "tagprefix.gabbro": "輝長岩 %s 礦石", + "tagprefix.shale": "頁岩 %s 礦石", + "tagprefix.claystone": "黏土岩 %s 礦石", + "tagprefix.limestone": "石灰岩 %s 礦石", + "tagprefix.conglomerate": "礫岩 %s 礦石", + "tagprefix.dolomite": "白雲岩 %s 礦石", + "tagprefix.chert": "燧石 %s 礦石", + "tagprefix.chalk": "白堊 %s 礦石", + "tagprefix.rhyolite": "流紋岩 %s 礦石", + "tagprefix.dacite": "英安岩 %s 礦石", + "tagprefix.quartzite": "石英岩 %s 礦石", + "tagprefix.slate": "板岩 %s 礦石", + "tagprefix.phyllite": "千枚岩 %s 礦石", + "tagprefix.schist": "片岩 %s 礦石", + "tagprefix.gneiss": "片麻岩 %s 礦石", + "tagprefix.marble": "大理岩 %s 礦石", + "tagprefix.deepslate": "混合岩 %s 礦石", + "tagprefix.pyroxenite": "輝石岩 %s 礦石", + "tagprefix.dripstone": "凝灰石 %s 礦石", + "tagprefix.sandy_jadestone": "煌斑岩 %s 礦石", + "tagprefix.flavolite": "熔結凝灰岩 %s 礦石", + "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_3": "§7運作需要鑽探液。§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7不包含希格斯玻色子§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7將歐斯壯粉末分解為其組成成分。需要來自核分裂產線的各種流體。§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_3": "§7無法超頻,需使用鄰近§b熱電池§r§7的§e熱量§r§7與§e溫度§r§7來運作。§r", + "gtceu.tooltip.machine.heat_exchanger_1": "§7用熱流體加熱其他流體§r", + "gtceu.tooltip.machine.heat_exchanger_2": "§7將熱量從一種流體轉移到另一種流體。§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7生產超級火辣的燃料棒§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7將放射性原礦加工為可分裂燃料。§r", + "gtceu.tooltip.machine.steam_bloomery_1": "§7用蒸汽力量升級你的塊煉鐵爐!§r", + "gtceu.tooltip.machine.steam_bloomery_2": "§7將含鐵粉末或錠加工為粗熟鐵塊。§r", + "gtceu.tooltip.machine.steam_bloomery_3": "§7使用焦煤或無煙煤作為燃料將使產出翻倍。§r", + "gtceu.tooltip.machine.steam_parallel": "§7可同時處理最多 8 個配方,這會改變所需的蒸汽消耗量。§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7果昔機§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7從含碳固體中提取氣體與液體。§r" +} \ No newline at end of file diff --git a/kubejs/assets/immersive_aircraft/lang/zh_tw.json b/kubejs/assets/immersive_aircraft/lang/zh_tw.json new file mode 100644 index 000000000..553b2950c --- /dev/null +++ b/kubejs/assets/immersive_aircraft/lang/zh_tw.json @@ -0,0 +1,10 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "entity.immersive_aircraft.bamboo_hopper": "鋁製漏斗飛機", + "item.immersive_aircraft.steel_boiler": "蒸汽動力航空引擎", + "item.immersive_aircraft.nether_engine": "MV航空引擎", + "item.immersive_aircraft.enhanced_propeller": "鍍鋁飛機螺旋槳", + "item.immersive_aircraft.improved_landing_gear": "暗鋼起落架", + "item.immersive_aircraft.hull_reinforcement": "暗鋼機身加固", + "item.immersive_aircraft.bamboo_hopper": "鋁製漏斗飛機" +} \ No newline at end of file diff --git a/kubejs/assets/tfc/lang/zh_cn.json b/kubejs/assets/tfc/lang/zh_cn.json index 52fd0339f..d136082a4 100644 --- a/kubejs/assets/tfc/lang/zh_cn.json +++ b/kubejs/assets/tfc/lang/zh_cn.json @@ -41,7 +41,7 @@ "trim_material.tfc.rutile_tfc": "金红石", "trim_material.tfc.lazurite_tfc": "蓝金石", "trim_material.tfc.pyrope_tfc": "镁铝榴石", - "trim_material.tfc.rock_salt_tfc": "岩盐", + "trim_material.tfc.rock_salt_tfc": "钾石盐", "trim_material.tfc.ruby_tfc": "红宝石", "trim_material.tfc.salt_tfc": "盐", "trim_material.tfc.sapphire_tfc": "蓝宝石", diff --git a/kubejs/assets/tfg/lang/de_de.json b/kubejs/assets/tfg/lang/de_de.json index 093d10631..514f25dff 100644 --- a/kubejs/assets/tfg/lang/de_de.json +++ b/kubejs/assets/tfg/lang/de_de.json @@ -412,7 +412,7 @@ "block.tfg.loose.permafrost": "Loser Permafrost", "block.tfg.rock.aqueduct_permafrost": "Permafrostaquädukt", "block.tfg.rock.hardened_red_granite": "Gehärteter Roter Granit", - "block.tfg.rock.red_granite_stairs": "Raue Rote Granittreppe", + "block.tfg.rock.red_granite_stair": "Raue Rote Granittreppe", "block.tfg.rock.red_granite_slab": "Raue Rote Granitstufe", "block.tfg.rock.red_granite_wall": "Raue Rote Granitwand", "block.tfg.rock.polished_red_granite_stairs": "Polierte Rote Granittreppe", @@ -518,7 +518,7 @@ "block.tfg.rock.cut_red_sandstone_stairs": "Geschnittene Hematitische Sandsteintreppe", "block.tfg.rock.cut_red_sandstone_wall": "Geschnittene Hematitische Sandsteinwand", "block.tfg.rock.bricks_venus_sandstone_wall": "Trachyt Sandsteinziegelwand", - "block.tfg.rock.cracked_bricks_venus_sandstone_stairs": "Rissige Trachyt Sandsteinziegeltreppe", + "block.tfg.rock.cracked_bricks_venus_sandstone_stair": "Rissige Trachyt Sandsteinziegeltreppe", "block.tfg.rock.cracked_bricks_venus_sandstone_slab": "Rissige Trachyt Sandsteinziegelstufe", "block.tfg.rock.cracked_bricks_venus_sandstone_wall": "Rissige Trachyt Sandsteinziegelwand", "block.tfg.rock.quartz_wall": "Quarzwand", @@ -903,14 +903,14 @@ "item.tfg.hv_aircraft_engine": "HV Flugzeugmotor", "item.tfg.ev_aircraft_engine": "EV Flugzeugmotor", "item.tfg.black_steel_plated_airplane_propeller": "Schwarzstahl-Überzogener Flugzeugpropeller", - "item.tfg.redblu_steel_plated_airplane_propeller": "Roter & Blauer Stahl-Überzogener Flugzeugpropeller", + "item.tfg.redblu_steel_plated_airplane_propeller": "Rot- & Blaustahl-Überzogener Flugzeugpropeller", "item.tfg.stainless_steel_plated_airplane_propeller": "Edelstahl-Überzogener Flugzeugpropeller", "item.tfg.titanium_plated_airplane_propeller": "Titan-Überzogener Flugzeugpropeller", - "item.tfg.redblu_steel_landing_gear": "Roter & Blauer Stahlfahrwerk", + "item.tfg.redblu_steel_landing_gear": "Rot- & Blaustahlfahrwerk", "item.tfg.aluminium_landing_gear": "Aluminiumfahrwerk", "item.tfg.stainless_steel_landing_gear": "Edelstahlfahrwerk", "item.tfg.titanium_landing_gear": "Titanfahrwerk", - "item.tfg.redblu_steel_hull_reinforcement": "Roter & Blauer Stahl Wannenverstärkung", + "item.tfg.redblu_steel_hull_reinforcement": "Rot- & Blaustahl Wannenverstärkung", "item.tfg.aluminium_hull_reinforcement": "Aluminium Wannenverstärkung", "item.tfg.stainless_steel_hull_reinforcement": "Edelstahl Wannenverstärkung", "item.tfg.titanium_hull_reinforcement": "Titan Wannenverstärkung", @@ -940,7 +940,7 @@ "item.tfg.food.raw_moon_rabbit": "Roher Mondhase", "item.tfg.food.cooked_moon_rabbit": "Gebratener Mondhase", "item.tfg.food.freeze_dried.red_grapes": "Gefriergetrocknete Rote Weintrauben", - "item.tfg.food.freeze_dried.white_grapes": "Gefriergetrocknete Weiß Weintrauben", + "item.tfg.food.freeze_dried.white_grapes": "Gefriergetrocknete Weiße Weintrauben", "item.tfg.food.freeze_dried.glow_berries": "Gefriergetrocknete Leuchtbeeren", "item.tfg.food.freeze_dried.chorus_fruit": "Gefriergetrocknete Chorus Frucht", "item.tfg.food.freeze_dried.popped_chorus_fruit": "Gefriergetrocknete Geplatzte Chorus Frucht", @@ -968,9 +968,9 @@ "item.tfg.food.freeze_dried.melon_slice": "Gefriergetrocknete Melonenscheibe", "item.tfg.food.freeze_dried.fig": "Gefriergetrocknete Feige", "item.tfg.food.freeze_dried.pineapple": "Gefriergetrocknete Ananas", - "item.tfg.food.freeze_dried.blossom_berry": "Gefriergetrocknete Blossom Berry", - "item.tfg.food.freeze_dried.shadow_berry": "Gefriergetrocknete Nox Berry", - "item.tfg.food.freeze_dried.cave_pumpkin": "Gefriergetrocknete Bulbkin Chunks", + "item.tfg.food.freeze_dried.blossom_berry": "Gefriergetrocknete Blossom Beere", + "item.tfg.food.freeze_dried.shadow_berry": "Gefriergetrocknete Nox Beere", + "item.tfg.food.freeze_dried.cave_pumpkin": "Gefriergetrocknete Bulbkin Stücke", "item.tfg.food.calorie_paste": "Kalorienpaste", "item.tfg.food.meal_bag": "Mahlzeit-In-Der-Tüte™", "item.tfg.food.ice_soup": "Eissuppe", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 18e109274..2b07afa74 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -413,7 +413,7 @@ "block.tfg.loose.permafrost": "Loose Permafrost Rock", "block.tfg.rock.aqueduct_permafrost": "Permafrost Aqueduct", "block.tfg.rock.hardened_red_granite": "Hardened Red Granite", - "block.tfg.rock.red_granite_stairs": "Raw Red Granite Stairs", + "block.tfg.rock.red_granite_stair": "Raw Red Granite Stairs", "block.tfg.rock.red_granite_slab": "Raw Red Granite Slab", "block.tfg.rock.red_granite_wall": "Raw Red Granite Wall", "block.tfg.rock.polished_red_granite_stairs": "Polished Red Granite Stairs", @@ -519,7 +519,7 @@ "block.tfg.rock.cut_red_sandstone_stairs": "Cut Hematitic Sandstone Stairs", "block.tfg.rock.cut_red_sandstone_wall": "Cut Hematitic Sandstone Wall", "block.tfg.rock.bricks_venus_sandstone_wall": "Trachyte Sandstone Brick Wall", - "block.tfg.rock.cracked_bricks_venus_sandstone_stairs": "Cracked Trachyte Sandstone Brick Stairs", + "block.tfg.rock.cracked_bricks_venus_sandstone_stair": "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", @@ -5218,4 +5218,4 @@ "quests.tfg_tips.tools_tips.concrete_roads.title": "Concrete Roads", "quests.tfg_tips.tools_tips.concrete_roads.subtitle": "Almost worth all the effort.", "quests.tfg_tips.tools_tips.concrete_roads.desc": "&6Wet concrete mix&r can be applied to base course to create roads which give a &b&l30%%&r&r bonus to movement speed. \n\n&4Be careful&r when creating concrete roads. There are a lot of rules to follow to make sure you don't end up with cracked or ruined surfaces. Consult the &3Field Guide&r for detailed instructions." -} +} \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index 4031ec099..dab991292 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -1097,6 +1097,8 @@ "item.tfg.better_space_suit_fabric": "Адаптивна тканина космічного скафандра", "item.tfg.universal_compost_browns": "Коричневий універсальний компост", "item.tfg.universal_compost_greens": "Зелений універсальний компост", + "item.tfg.universal_compost_browns_bag": "Мішок Коричневого Універсального Компосту", + "item.tfg.universal_compost_greens_bag": "Мішок Зеленого Універсального Компосту", "item.tfg.etching_diamond_tip": "Гравіювальний алмазний наконечник", "item.tfg.spade_head_extruder_mold": "Форма екструдера (лезо лопати)", "item.tfg.mining_hammer_head_extruder_mold": "Форма екструдера (оголів'я шахтного молота)", @@ -1428,6 +1430,13 @@ "material.tfg.magnesium_hydroxide": "Гідроксид магнію", "material.tfg.magnesia_refractory_brick": "Вогнетривка цегла з магнезії, зв’язаної смолою", "material.tfg.nichromium_iodomethylate": "Йодометилат ніхрому", + "material.tfg.sulfur_dichloride": "Дихлорид Сульфуру", + "material.tfg.thionyl_chloride": "Тіонілхлорид", + "material.tfg.p_toluenesulfonic_acid": "p-Толуенсульфонова Кислота", + "material.tfg.redstone_nitrate": "Нітрат Редстоуна", + "material.tfg.redstone_chloride": "Хлорид Редстоуна", + "material.tfg.redstone_tri_p_toluenesulfonate": "Три-p-Толуенсульфонат Редстоуна", + "material.tfg.sodium_nitrate": "Нітрат Натрію", "ore_vein.tfg.deep_sheldonite": "Шелдоніт і Борніт", "ore_vein.tfg.deep_garnet_amethyst": "Аметист і Гранат", "ore_vein.tfg.deep_garnet_opal": "Опал і Гранат", @@ -1988,6 +1997,7 @@ "tfg.tooltip.component.refrigerant_pellet": "Може використовуватися як вхід у Реакторі Поділу для його охолодження, потребує Тримача Матеріалу", "tfg.tooltip.component.sandy_copper_frame": "Може бути розміщений всередині Теплової Батареї для збільшення її здатності до зберігання", "tfg.tooltip.component.sandy_beryllium_frame": "Може бути розміщений всередині Теплової Батареї для збільшення її здатності до зберігання", + "tfg.tooltip.tool_behaviour.silk_ice": "§dСкульптор+:§r Збирає всі блоки льоду з ефектом Шовкового дотику", "quests.ae2": "Applied Energistics 2", "quests.ae2.subtitle": "Найпотужніший інструмент, що допоможе тобі з GregTech, відкривається після твоєї першої подорожі на Місяць", "quests.ae2.certus_quartz.title": "Істинний кварц", @@ -2586,6 +2596,8 @@ "quests.extreme_voltage.light_ostrum_vapor.title": "Легкий пар оструму", "quests.extreme_voltage.light_ostrum_vapor.subtitle": "Нескінченні руди?", "quests.extreme_voltage.light_ostrum_vapor.desc": "За допомогою &6Легкого пару оструму&r ви можете розпочати виробництво нескінченних руд, особливо тих, що потрібні для &cЛінії поділу&r. Існує три рівні нескінченних руд:\n\n&eСхема 1&r не є самодостатньою, але все ж може бути корисною, якщо ви справді втомилися від видобутку.\n\n&eСхема 2&r є позитивною щодо &dТорію&r, тобто просто запускаючи вашу &cЛінію поділу&r, ви будете виробляти більше &dТорію&r, ніж споживаєте.\n\n&eСхема 3&r — це фінальний і найкращий рівень, де ви генеруєте більше ресурсів, ніж потрібно для виробництва самих руд; ви стаєте позитивними щодо &dТорію&r та &aУраніту&r, що дозволяє повністю автоматизувати &cЛінію поділу&r на &4Марсі&r для нескінченних ресурсів, &bНано ЦП&r та всього необхідного для роботи &eЕнергії поділу&r на &2Землі&r.", + "quests.extreme_voltage.schematic_terminal.subtitle": "Щоразу, коли вам потрібно спамити багатоблоки", + "quests.extreme_voltage.schematic_terminal.desc": "Інтерфейс &bСхем&r — це дуже корисний &bТермінал&r, який можна підключити до вашої &dME Мережі&r, що дозволяє зберігати &eБагатоблоки&r, які ви вже побудували, та відтворювати їх ідентично.\n\n&eСхеми&r зберігаються у внутрішній бібліотеці термінала, що дає змогу легко переглядати та розгортати потрібний багатоблок у будь-який момент.", "quests.gregtech_energy": "GregTech Енергія", "quests.gregtech_energy.subtitle": "Ото як усе це працює?", "quests.gregtech_energy.start.title": "Давай щось пояснимо", @@ -2746,7 +2758,7 @@ "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, буде: \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\nНаразі в TerraFirmaGreg цей режим підтримують лише такі багатоблокові машини: \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": "Вибуховий Розгін", "quests.gregtech_energy.blast_oc.subtitle": "Тобі не потрібно це розуміти", @@ -3825,7 +3837,7 @@ "quests.space_survival.solar_panels.task": "Будь-який перетворювач FE у EU", "quests.space_survival.stone_dust_centrifuging.title": "Гелій-3", "quests.space_survival.stone_dust_centrifuging.subtitle": "Клоунський газ", - "quests.space_survival.stone_dust_centrifuging.desc.1": "Місяць багатий на &eГелій-3&r — ще один важливий ресурс, але він захований у камені! Є два способи добути його:\n\n1) Якщо ти ще не налаштовував автоматизацію центрифугування кам’яного пилу, ось короткий вступ: каменедробарка може виробляти нескінченну кількість Необробленого каменю, який подрібнюється в пил за допомогою дробильника, а потім обробляється в центрифузі.\n\nТут, на Місяці, анортозит, норит і фоноліт можна переробляти в нескінченне джерело гелію-3!", + "quests.space_survival.stone_dust_centrifuging.desc.1": "Місяць багатий на &eГелій-3&r, ще один важливий ресурс, але він захований у камені! Є два способи його здобути:\n\n1) Якщо ви раніше не налаштовували автоматизацію, пов’язану з каменем, ось короткий вступ: Дробарка каменю може виробляти нескінченну кількість сирого каменю, який Подрібнювач перетворює на пил для подальшої обробки в Центрифузі.\n\nТут, на Місяці, &9Азурин&r можна таким чином переробляти у нескінченне джерело Гелію-3!", "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": "Стиснені гази, придатні для дихання", @@ -4045,7 +4057,7 @@ "quests.steam_age.steel_greate.desc": "Вітаємо на новому рівні Greate! Сталеві Вали та Шестерні можуть витримувати вчетверо більше навантаження, ніж ваші старі. Загальний ліміт навантаження кінетичної системи визначається найслабшою ланкою, тому, на жаль, вам доведеться замінити стару установку, якщо хочете отримати всі переваги. Принаймні деякі зі старих деталей можна переробити!", "quests.steam_age.steel_encased_fan.title": "Обгорнений Вентилятор", "quests.steam_age.steel_encased_fan.subtitle": "Чудово підходить для спекотних днів", - "quests.steam_age.steel_encased_fan.desc": "&3Обгорнений Вентилятор&r є останнім етапом вашої першої повністю автоматизованої лінії обробки руди, тому вам більше не доведеться очищувати нечистий пил вручну. Направте вентилятор на пил з джерелом води між ними, і вони блищатимуть за мить. Як бонус, він також надасть вам кілька додаткових побічних продуктів! Може бути складно перемістити джерело води зараз, але ви можете побудувати навколо існуючої частини річки або озера.", + "quests.steam_age.steel_encased_fan.desc": "&3Закритий Вентилятор&r — це фінальний етап у вашій першій повністю автоматичній лінії переробки руди, тож вам більше не доведеться очищати неякісний пил вручну. \n\nЗакриті вентилятори Greate працюють трохи інакше, ніж у базовому Create. Замість того щоб розміщувати джерело води перед вентилятором, вам потрібно закачати воду безпосередньо в блок закритого вентилятора. Обов’язково встановіть число на вентиляторі на &31&r! \n\nДалі розмістіть подрібнену руду або пил на Депо чи Конвеєр перед вентилятором (підлога НЕ працює!), і вони швидко засяють. Як бонус, ви також отримаєте &3додаткові побічні продукти&r!", "quests.steam_age.steel_millstone.title": "Сталеве Жорно", "quests.steam_age.steel_millstone.subtitle": "Цінне оновлення", "quests.steam_age.steel_millstone.desc": "Завдяки значно вищій кінетичній потужності, сталеве жорно є цінним оновленням у порівнянні з базовим. Він дозволяє обертати його набагато швидше для швидшого подрібнення. Чудове покращення для всіх нових руд, які ви незабаром здобудете!\n\nОднак, він виводить предмети лише в першому слоті в JEI.", @@ -5095,6 +5107,14 @@ "quests.tfg_tips.cellar_blocks.subtitle": "Речі, в які можна покласти їжу", "quests.tfg_tips.cellar_blocks.desc": "&bПолички для їжі&r можна використовувати для зберігання практично будь-якої їжі. &aВішалки&r підходять для зберігання &aМ'яса&r та &aЧаснику.&r Їжа, збережена таким чином, отримує потужну властивість консервації, яка перевершує &Корчагу.&r", "quests.tfg_tips.cellar_blocks.task": "Будь-яка харчова полиця або підвіс", + "quests.tfg_tips.composter.title": "Компостер", + "quests.tfg_tips.composter.subtitle": "Перетворення вашої гнилої продукції на рослинне добриво!", + "quests.tfg_tips.composter.desc": "&bКомпостер&r — це блок, який дозволяє перетворювати певні рослинні матеріали на &dКомпост&r! Потужне добриво для рослин, що підвищує їх &aзагальну врожайність&r. \n\nІснує два типи компостованих матеріалів: &aЗелені&r та &6Коричневі&r. Докладнішу інформацію можна знайти у Польовому Посібнику!", + "quests.tfg_tips.universal_compost.title": "Універсальний компост", + "quests.tfg_tips.universal_compost.subtitle": "Бо це зручно", + "quests.tfg_tips.universal_compost.desc": "Втомилися від скрині, повної &dкомпостованих&r предметів, і не знаєте, що до чого? Трохи попрацювавши, ви можете перетворити будь-який компостований предмет на &d&nУніверсальний Компост&r! Такі універсальні компостовані предмети рахуються як &nодин&r елемент у процесі компостування відповідного кольору. \n\nЯкщо ви не хочете «спідранити» тунельний синдром, можна об’єднати чотири універсальні компости в &d&nМішок&r. Такі мішки складаються лише до шістнадцяти, але рахуються як &nчотири&r елементи у процесі компостування.", + "quests.tfg_tips.universal_compost.task.1": "Будь-який кольоровий Універсальний Компост", + "quests.tfg_tips.universal_compost.task.2": "Будь-який кольоровий Мішок Універсального Компосту", "quests.tfg_tips.beneath.title": "Безодня", "quests.tfg_tips.beneath.subtitle": "Подорож до центру землі", "quests.tfg_tips.beneath.desc": "Глибоко, ГЛИБОКО під землею, за &dКорінної породою&r, ти знайдеш &4Безодню&r — складну мережу величезних печер, наповнених небезпеками та дивною флорою і фауною. Хоча &4Безодня&r є повністю необов’язковим, воно містить багато ресурсів, а також деякі покращення для комфорту.", @@ -5135,7 +5155,7 @@ "quests.tfg_tips.trowel.desc": "&4Кельма&r — це інструмент для будівельників, який може &bвипадково розміщених блоків&r, розташовані в гарячій панелі. Кельми також можуть використовувати цеглу та інші придатні предмети для рандомізації плиток для &5RNR Доріг&r.", "quests.tfg_tips.lunchbox.title": "Ланч-Бокс", "quests.tfg_tips.lunchbox.subtitle": "Холодильник у твоїй кишені!", - "quests.tfg_tips.lunchbox.desc": "Ланч-бокси мають 9 слотів для їжі, зберігаючи її холодною та довговічнішою. \nОхолоджувальний Ланч-бокс має сильніший ефект, ніж звичайний, але потребує льоду або капсул, які з часом тануть.", + "quests.tfg_tips.lunchbox.desc": "Ланч-бокси мають 9 слотів для їжі, зберігаючи її холодною та довговічнішою. \nОхолоджуваний Ланч-бокс має сильніший ефект, ніж звичайний, але потребує льоду або капсул, які з часом розтануть. \n\nХоча створення Упакованого Льоду з Льодової Стружки може бути складним, якщо у вас є &nдостатньо вдосконалена&r пилка, ви зможете напряму збирати звичайний лід із шовковим дотиком!", "quests.tfg_tips.lunchbox.task.1": "Будь-який Ланч-Бокс", "quests.tfg_tips.lunchbox.task.2": "Будь-який льодовий блок", "quests.tfg_tips.lunchbox.task.3": "Будь-яка капсула, що містить рідкий крижаний кругляк", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 8372df851..36eda359c 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -413,7 +413,7 @@ "block.tfg.loose.permafrost": "冻土岩石子", "block.tfg.rock.aqueduct_permafrost": "冻土引水桥", "block.tfg.rock.hardened_red_granite": "硬化红色花岗岩", - "block.tfg.rock.red_granite_stairs": "天然红花岗岩楼梯", + "block.tfg.rock.red_granite_stair": "天然红花岗岩楼梯", "block.tfg.rock.red_granite_slab": "天然红花岗岩台阶", "block.tfg.rock.red_granite_wall": "天然红花岗岩墙", "block.tfg.rock.polished_red_granite_stairs": "磨制红花岗岩楼梯", @@ -519,7 +519,7 @@ "block.tfg.rock.cut_red_sandstone_stairs": "切制赤铁矿砂岩楼梯", "block.tfg.rock.cut_red_sandstone_wall": "切制赤铁矿砂岩墙", "block.tfg.rock.bricks_venus_sandstone_wall": "粗面岩砂岩砖墙", - "block.tfg.rock.cracked_bricks_venus_sandstone_stairs": "裂纹粗面岩砂岩砖楼梯", + "block.tfg.rock.cracked_bricks_venus_sandstone_stair": "裂纹粗面岩砂岩砖楼梯", "block.tfg.rock.cracked_bricks_venus_sandstone_slab": "裂纹粗面岩砂岩砖台阶", "block.tfg.rock.cracked_bricks_venus_sandstone_wall": "裂纹粗面岩砂岩砖墙", "block.tfg.rock.quartz_wall": "石英墙", @@ -551,8 +551,8 @@ "block.tfg.pile.mars_sand_covering": "泥板岩沙", "block.tfg.pile.venus_sand": "粗面岩沙", "block.tfg.pile.venus_sand_covering": "粗面岩沙", - "block.tfg.pile.hematitic_sand": "赤铁矿沙", - "block.tfg.pile.hematitic_sand_covering": "赤铁矿沙", + "block.tfg.pile.hematitic_sand": "赤铁矿砂", + "block.tfg.pile.hematitic_sand_covering": "赤铁矿砂", "block.tfg.pile.volcanic_ash": "火山灰堆", "block.tfg.lunar_roots": "月球光绽花", "block.tfg.lunar_sprouts": "月球光颖草", @@ -991,7 +991,7 @@ "item.tfg.brick.flavolite": "熔灰岩砖", "item.tfg.brick.scoria": "熔渣砖", "item.tfg.brick.scorchia": "焦黑熔渣砖", - "item.tfg.terra_firma_greg": "群峦传说格雷科技", + "item.tfg.terra_firma_greg": "群峦格雷(现代版)", "item.tfg.scaffolding_frame": "脚手架框架", "item.tfg.airship_hull": "飞艇机身", "item.tfg.airship_balloon": "飞艇气囊", @@ -1372,7 +1372,7 @@ "material.tfg.compressed_heliox": "压缩氦氧混合气", "material.tfg.compressed_heliox_3": "压缩氦氧混合气-3", "material.tfg.compressed_trimix": "压缩 50/30/20 三元混合气", - "material.tfg.compressed_trimix_3": "压缩 50/30/20 三元混合气-3 ", + "material.tfg.compressed_trimix_3": "压缩 50/30/20 三元混合气-3", "material.tfg.chlorodifluoromethane": "氯二氟甲烷", "material.tfg.acetylene": "乙炔", "material.tfg.1_1_1_2_tetrafluoroethane": "1,1,1,2-四氟乙烷", @@ -1741,9 +1741,9 @@ "trim_material.tfc.green_sapphire_tfc": "绿色蓝宝石", "trim_material.tfc.grossular_tfc": "钙铝榴石", "trim_material.tfc.rutile_tfc": "金红石", - "trim_material.tfc.lazurite_tfc": "青金石", + "trim_material.tfc.lazurite_tfc": "蓝金石", "trim_material.tfc.pyrope_tfc": "镁铝榴石", - "trim_material.tfc.rock_salt_tfc": "岩盐", + "trim_material.tfc.rock_salt_tfc": "钾石盐", "trim_material.tfc.ruby_tfc": "红宝石", "trim_material.tfc.salt_tfc": "盐", "trim_material.tfc.sapphire_tfc": "蓝宝石", @@ -1944,7 +1944,7 @@ "tfg.machine.aux_echanger.output.title": "=== 输出 ===", "tfg.multiblock.turbine.obstructed": "涡轮机存在阻塞,请检查烟囱下方及内部是否存在阻碍气流的物体", "tfc.jei.flint_knapping": "打制石器", - "tfc.jei.straw_knapping": "编制干草", + "tfc.jei.straw_knapping": "编织干草", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "染色", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.gray": "染色", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.light_gray": "染色", @@ -2829,7 +2829,7 @@ "quests.gregtech_energy.tank.task": "任何超级缸", "quests.gregtech_energy.battery_buffer.title": "电池箱", "quests.gregtech_energy.battery_buffer.subtitle": "基础型电池箱用于容纳各类电池", - "quests.gregtech_energy.battery_buffer.desc.1": "电池箱使你存储和管理能源的基本机器——虽然从技术上讲,它们本身不存储能源。它们只是作为你的电池的容器。\n\n&c⚠如果你不想让它们爆炸&r:\n-&4切勿将更高等级的能源&r输入到较低等级的电池缓冲器中。\n-电池只有在&c等于或低于&r电池箱等级时才能充电。", + "quests.gregtech_energy.battery_buffer.desc.1": "电池箱使你存储和管理能源的基本机器——虽然从技术上讲,它们本身不存储能源。它们只是作为你的电池的容器。\n\n&c⚠如果你不想让它们爆炸&r:\n-&4切勿将更高等级的能源&r输入到较低等级的电池箱中。\n-电池只有在&c等于或低于&r电池箱等级时才能充电。", "quests.gregtech_energy.battery_buffer.desc.2": "电池箱可接收的输入电流最高为其输出电流的2倍。\n例如,一个4x电池箱可以输入&a8A&r,但最高仅输出&e4A&r(即每个电池槽位输出1A)。\n\n&e重要提示&r:\n-内部未安装电池时,无能量输出。\n-其实际输出电流等于内部安装的电池数量。(这意味着,一个&68x电池箱&r若仅安装&e3个电池&r,则只能输出&e3A&r)。\n\n请善加利用——它们是构建任何稳定能源网络的基础。", "quests.gregtech_energy.battery_buffer.task.1": "任何电池箱", "quests.gregtech_energy.battery_buffer.task.2": "再来一个", @@ -3216,7 +3216,7 @@ "quests.low_voltage.lv_canner.desc": "当你觉得是时候投资电池时,就制造这台机器。", "quests.low_voltage.lv_battery.title": "电池!", "quests.low_voltage.lv_battery.subtitle": "用于存储能量的电池!", - "quests.low_voltage.lv_battery.desc": "&a电池&r可放入机器界面底部中央的能量槽,或置于&3电池缓冲器&r中使用。\n\n当电池存放在物品栏时,通过潜行右键点击可使其为你的电力物品&d充电&r。\n\n&7LV&r、&bMV&r与&6HV&r电池均提供三种材料选择,你可根据现有材料选择最合适的类型。&d锂&r电池容量最高,其次是&d镉&r,最后是&d钠&r。\n\n我们的建议是:找到盐矿脉后,可通过&a电解盐&r获取&d钠&r,或通过&a浸洗粉碎锂云母&r获得&d锂&r。\n\n获取&e任意&r类型的&a电池&r即可完成本任务。", + "quests.low_voltage.lv_battery.desc": "&a电池&r可放入机器界面底部中央的能量槽,或置于&3电池箱&r中使用。\n\n当电池存放在物品栏时,通过潜行右键点击可使其为你的电力物品&d充电&r。\n\n&7LV&r、&bMV&r与&6HV&r电池均提供三种材料选择,你可根据现有材料选择最合适的类型。&d锂&r电池容量最高,其次是&d镉&r,最后是&d钠&r。\n\n我们的建议是:找到盐矿脉后,可通过&a电解盐&r获取&d钠&r,或通过&a浸洗粉碎锂云母&r获得&d锂&r。\n\n获取&e任意&r类型的&a电池&r即可完成本任务。", "quests.low_voltage.lv_battery.task": "任何LV电池", "quests.low_voltage.lv_battery_preparation.title": "电池准备!", "quests.low_voltage.lv_battery_preparation.subtitle": "电池很棒!", @@ -3413,13 +3413,13 @@ "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&7我们并不抱歉。&r", - "quests.medium_voltage.mv_extruder.title": "高级压模器", + "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。", "quests.medium_voltage.mv_chemical_reactor.title": "进阶化学反应釜", "quests.medium_voltage.mv_chemical_reactor.subtitle": "更强,更好,更快", "quests.medium_voltage.mv_chemical_reactor.desc": "你已经在&7LV章节&r了解了&d化学反应釜&r,不过这里再复习一下。\n\n在&bMV&r阶段,你不仅能解锁&a新配方&r,还能对&a原有LV配方进行超频&r。这意味着生产速度将提升&a2倍&r,但同时会消耗&e4倍电力&r。是否值得需要你自己权衡。\n\n但建造&bMV化学反应釜&r的理由不止于此。如果选择&d有机化学路线&r,你将需要它来生产&d乙烯&r——该配方需使用&d硫酸&r和&d乙醇&r,且要求&bMV电力&r驱动。\n\n总之这是台性能可靠的设备,造价也不算高昂。有空闲时不妨着手建造一台。", - "quests.medium_voltage.mv_mixer.title": "高级搅拌机", + "quests.medium_voltage.mv_mixer.title": "进阶搅拌机", "quests.medium_voltage.mv_mixer.subtitle": "混合更复杂的合金", "quests.medium_voltage.mv_mixer.desc": "若想深入&bMV&r阶段,请从这里开始。\n\n&3MV搅拌机&r产出的粉末具有重要用途。", "quests.medium_voltage.mv_energy.title": "在MV阶段发电", @@ -4531,11 +4531,11 @@ "quests.metal_age.copper_anvil.title": "一级砧:铜", "quests.metal_age.copper_anvil.subtitle": "至此所有努力终见成果!", "quests.metal_age.copper_anvil.desc": "恭喜!你正式完成了石器时代,进入了冶金时代!凭借铜砧,下一步将是攀登砧等级,每解锁新的等级,都会开放新工具与制造可能性,让你的生活逐渐变得更容易。现在,去成为真正的铁匠大师吧!", - "quests.tfg": "群峦传说格雷科技-现代版", - "quests.tfg.subtitle": "欢迎来到群峦传说格雷科技!", - "quests.tfg.welcome.title": "欢迎来到群峦传说格雷科技!", + "quests.tfg": "群峦格雷(现代版)", + "quests.tfg.subtitle": "欢迎来到群峦格雷(现代版)!", + "quests.tfg.welcome.title": "欢迎来到群峦格雷(现代版)!", "quests.tfg.welcome.subtitle": "生存模组,本该如此。", - "quests.tfg.welcome.desc": "感谢你启动群峦传说格雷科技现代版!\n\n在此模组包中,你将担负起控制未开发荒野并将其转变为工业奇境的任务。从一个卑微的起点捡起石头开始,到穿越星际空间结束!", + "quests.tfg.welcome.desc": "感谢你启动群峦格雷(现代版)!\n\n在此模组包中,你将担负起控制未开发荒野并将其转变为工业奇境的任务。从一个卑微的起点捡起石头开始,到穿越星际空间结束!", "quests.tfg.create_team.title": "如何创建队伍?", "quests.tfg.create_team.subtitle": "你和朋友一起玩吗?", "quests.tfg.create_team.desc": "你可以创建队伍以共同完成任务。为此,打开你的物品栏,在左上角选择画有3个彩色人物的按钮,然后将打开一个界面,你可以在其中创建队伍。点击§a创建队伍§r按钮,给队伍起个名字,然后可能还需要一些其他的参数。成功创建队伍后,你可以使用右上角绿色圆圈中的加号按钮邀请其他玩家加入。从此以后,你们的任务将同步,任何队员都能完成任务。祝你好运!", From 2a108384395f874f529d0f68f0d8c20820b536a9 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Sun, 15 Feb 2026 16:38:34 +0500 Subject: [PATCH 446/474] Update gui_main_menu.txt Signed-off-by: Xikaro --- config/fancymenu/customization/gui_main_menu.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/fancymenu/customization/gui_main_menu.txt b/config/fancymenu/customization/gui_main_menu.txt index 5c9243b64..271225c6a 100644 --- a/config/fancymenu/customization/gui_main_menu.txt +++ b/config/fancymenu/customization/gui_main_menu.txt @@ -286,7 +286,7 @@ element { element { button_element_executable_block_identifier = dbfd850d-f49c-44f9-975c-52b0b07335f1-1710837053353 - [executable_action_instance:dc0290c6-6dcd-41ab-b222-a76c27eaec6e-1710837053356][action_type:joinserver] = modern.terrafirmagreg.su + [executable_action_instance:dc0290c6-6dcd-41ab-b222-a76c27eaec6e-1710837053356][action_type:joinserver] = modern.terrafirmagreg.team [executable_block:dbfd850d-f49c-44f9-975c-52b0b07335f1-1710837053353][type:generic] = [executables:dc0290c6-6dcd-41ab-b222-a76c27eaec6e-1710837053356;] backgroundnormal = [source:local]kubejs/assets/tfg/textures/gui/button_98x20.png backgroundhovered = [source:location]tfg:textures/gui/button_hover_98x20.gif From 7655b0a5ce21bc0c37307a091a8c5846e9e70f72 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Sun, 15 Feb 2026 16:39:54 +0500 Subject: [PATCH 447/474] Update SECURITY.md Signed-off-by: Xikaro --- .github/SECURITY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/SECURITY.md b/.github/SECURITY.md index 026884c3b..4052391ed 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -39,4 +39,4 @@ Please submit a report to us before engaging in conduct that may be inconsistent - Submit one vulnerability per report - Social engineering (such as phishing, vishing, smishing) is prohibited -[contact]: mailto:admin@terrafirmagreg.su \ No newline at end of file +[contact]: mailto:admin@terrafirmagreg.team From b422e4e82a4ecbd27eadc2a79c9baa67d2a30405 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Sun, 15 Feb 2026 16:43:42 +0500 Subject: [PATCH 448/474] Delete .github/SECURITY.md Signed-off-by: Xikaro --- .github/SECURITY.md | 42 ------------------------------------------ 1 file changed, 42 deletions(-) delete mode 100644 .github/SECURITY.md diff --git a/.github/SECURITY.md b/.github/SECURITY.md deleted file mode 100644 index 4052391ed..000000000 --- a/.github/SECURITY.md +++ /dev/null @@ -1,42 +0,0 @@ -# Security Policy - -## Scope - -Keeping users safe and secure is a top priority for us.We welcome the contribution of external security researchers. - -If you believe you’ve found a security or vulnerability issue in the repo we encourage you to notify us. - -There are no hard and fast rules to determine if a bug is worth reporting as a security issue or a “regular” issue. -When in doubt, please do send us a report. - -## How to submit a report - -Security issues can be reported by sending an [email to us][contact]. - -The team will acknowledge your email within 48 hours. You will receive a more detailed response within 96 hours. - -We will create a maintainer security advisory on GitHub to discuss internally, and when needed, invite you to the -advisory. - -## Purpose - -- Make a good faith effort to avoid privacy violations, destruction of data, and interruption or degradation of our - services -- Only interact with accounts you own or with explicit permission of the account holder. If you do encounter Personally - Identifiable Information (PII) contact us immediately, - do not proceed with access, and immediately purge any local information -- Provide us with a reasonable amount of time to resolve vulnerabilities prior to any disclosure to the public or a - third-party -- We will consider activities conducted consistent with this policy to constitute “authorized” conduct and will not - pursue civil action or initiate a complaint to law enforcement. - We will help to the extent we can if legal action is initiated by a third party against you - -Please submit a report to us before engaging in conduct that may be inconsistent with or unaddressed by this policy. - -## Preferences - -- Please provide detailed reports with reproducible steps and a clearly defined impact -- Submit one vulnerability per report -- Social engineering (such as phishing, vishing, smishing) is prohibited - -[contact]: mailto:admin@terrafirmagreg.team From 2248b7571005307a2c875260d3ae3a28d3f203be Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 15 Feb 2026 12:10:13 +0000 Subject: [PATCH 449/474] added more logs to ambient sounds --- .../assets/ambientsounds/basic/blockgroups/log.json | 13 ++++++++++++- .../ambientsounds/basic/blockgroups/log_jungle.json | 9 ++++++++- .../ambientsounds/basic/blockgroups/log_warm.json | 9 ++++++++- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/kubejs/assets/ambientsounds/basic/blockgroups/log.json b/kubejs/assets/ambientsounds/basic/blockgroups/log.json index c14e33670..c690b96ca 100644 --- a/kubejs/assets/ambientsounds/basic/blockgroups/log.json +++ b/kubejs/assets/ambientsounds/basic/blockgroups/log.json @@ -1,9 +1,20 @@ [ "tfc:wood/log/oak", + "tfc:wood/wood/oak", "tfc:wood/log/birch", + "tfc:wood/wood/birch", "tfc:wood/log/chestnut", + "tfc:wood/wood/chestnut", "tfc:wood/log/maple", + "tfc:wood/wood/maple", "tfc:wood/log/sequoia", + "tfc:wood/wood/sequoia", "tfc:wood/log/sycamore", - "afc:wood/log/cypress" + "tfc:wood/wood/sycamore", + "afc:wood/log/cypress", + "afc:wood/wood/cypress", + "afc:wood/log/sycamore", + "afc:wood/wood/sycamore", + "afc:wood/log/rubber_fig", + "afc:wood/wood/rubber_fig" ] diff --git a/kubejs/assets/ambientsounds/basic/blockgroups/log_jungle.json b/kubejs/assets/ambientsounds/basic/blockgroups/log_jungle.json index e614593d6..0b26eae7b 100644 --- a/kubejs/assets/ambientsounds/basic/blockgroups/log_jungle.json +++ b/kubejs/assets/ambientsounds/basic/blockgroups/log_jungle.json @@ -1,7 +1,14 @@ [ "tfc:wood/log/kapok", + "tfc:wood/wood/kapok", "tfc:wood/log/rosewood", + "tfc:wood/wood/rosewood", "afc:wood/log/mahogany", + "afc:wood/wood/mahogany", "afc:wood/log/tualang", - "afc:wood/log/hevea" + "afc:wood/wood/tualang", + "afc:wood/log/hevea", + "afc:wood/wood/hevea", + "afc:wood/log/hickory", + "afc:wood/wood/hickory" ] diff --git a/kubejs/assets/ambientsounds/basic/blockgroups/log_warm.json b/kubejs/assets/ambientsounds/basic/blockgroups/log_warm.json index ac780cad8..e5649dedb 100644 --- a/kubejs/assets/ambientsounds/basic/blockgroups/log_warm.json +++ b/kubejs/assets/ambientsounds/basic/blockgroups/log_warm.json @@ -1,9 +1,16 @@ [ "tfc:wood/log/blackwood", + "tfc:wood/wood/blackwood", "tfc:wood/log/acacia", + "tfc:wood/wood/acacia", "tfc:wood/log/palm", + "tfc:wood/wood/palm", "afc:wood/log/ironwood", + "afc:wood/wood/ironwood", "afc:wood/log/ipe", + "afc:wood/wood/ipe", "afc:wood/log/baobab", - "afc:wood/log/teak" + "afc:wood/wood/baobab", + "afc:wood/log/teak", + "afc:wood/wood/teak" ] From 79733b9cfc11948cda6b2bdfd22c84d613c5f169 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 15 Feb 2026 12:14:26 +0000 Subject: [PATCH 450/474] added more of create's stone type tags to domum's whitelist --- .../server_scripts/domum_ornamentum/tags.js | 20 +++++++++++++++++++ .../tfg/stone_types/constants.rocks.js | 2 ++ 2 files changed, 22 insertions(+) diff --git a/kubejs/server_scripts/domum_ornamentum/tags.js b/kubejs/server_scripts/domum_ornamentum/tags.js index bd1723a9c..c6d794a54 100644 --- a/kubejs/server_scripts/domum_ornamentum/tags.js +++ b/kubejs/server_scripts/domum_ornamentum/tags.js @@ -160,6 +160,26 @@ function registerDomumOrnamentumBlockTags(event) { "#tfg:ad_astra_desh_block", "#tfg:ad_astra_ostrum_block", "#tfg:ad_astra_calorite_block", + // Create blocks + "#create:stone_types/diorite", + "#create:stone_types/andesite", + "#create:stone_types/limestone", + "#create:stone_types/granite", + "#create:stone_types/deepslate", + "#create:stone_types/dripstone", + "#tfg:stone_types/keratophyre", + "#create:stone_types/calcite", + "#create:stone_types/tuff", + "#tfg:stone_types/suevite", + "#tfg:stone_types/certus", + "#tfg:stone_types/thermal_vent_deposit", + "#tfg:stone_types/reconstituted_stone", + "#create:stone_types/asurine", + "#create:stone_types/ochrum", + "#create:stone_types/crimsite", + "#create:stone_types/veridium", + "#create:stone_types/scoria", + "#create:stone_types/scorchia", ]; materials.forEach((material) => { diff --git a/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js b/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js index 0154cb35a..9939d289f 100644 --- a/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js +++ b/kubejs/startup_scripts/tfg/stone_types/constants.rocks.js @@ -795,6 +795,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ dimensions: ['ad_astra:venus'], pillar: 'create:scoria_pillar', pillar2: 'create:layered_scoria', + stonecutterTag: 'create:stone_types/scoria', raw: generateFormsExisting('scoria', 'tfg:rock/%s', { block: 'create:scoria', texture: 'create:block/palettes/stone_types/scoria' @@ -819,6 +820,7 @@ global.BIG_ROCK_TABLE = /** @type {{String, RockType}} */ ({ dimensions: ['ad_astra:moon', 'ad_astra:mars', 'ad_astra:venus'], pillar: 'create:scorchia_pillar', pillar2: 'create:layered_scorchia', + stonecutterTag: 'create:stone_types/scorchia', raw: generateFormsExisting('scorchia', 'tfg:rock/%s', { block: 'create:scorchia', texture: 'create:block/palettes/stone_types/scorchia' From 66bb5584e3d8e911149441d45187cb75153d2e28 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 15 Feb 2026 12:23:34 +0000 Subject: [PATCH 451/474] change kaolin alloy smelter recipe so it uses a mold instead of a circuit --- kubejs/server_scripts/tfg/primitive/recipes.clay.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.clay.js b/kubejs/server_scripts/tfg/primitive/recipes.clay.js index dec812be3..f53889422 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.clay.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.clay.js @@ -126,7 +126,7 @@ function registerTFGClayRecipes(event) { // Kaolinite Clay - regular smelting recipes can't have multiple inputs event.recipes.gtceu.alloy_smelter('tfg:kaolinite') .itemInputs('tfc:kaolin_clay') - .circuit(1) + .notConsumable('gtceu:ball_casting_mold') .chancedOutput('tfc:powder/kaolinite', 2000, 0) .duration(100) .EUt(16) From 404c54feff292d3903c399ce3f81f02a01622153 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 15 Feb 2026 12:24:37 +0000 Subject: [PATCH 452/474] fix scraping knives #3038 --- kubejs/server_scripts/tfc_scraping/recipes.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfc_scraping/recipes.js b/kubejs/server_scripts/tfc_scraping/recipes.js index 213a3e86e..31329ac3f 100644 --- a/kubejs/server_scripts/tfc_scraping/recipes.js +++ b/kubejs/server_scripts/tfc_scraping/recipes.js @@ -3,6 +3,8 @@ function registerTFCScrapingKnivesRecipes(event) { event.remove({ mod: 'tfcscraping', type: 'tfc:anvil' }); - event.remove({ mod: 'tfcscraping', type: 'tfc:heating' }); + event.remove({ mod: 'tfcscraping', type: 'tfc:heating', not: [ + { id: "tfcscraping:heating/scraping_knife_blade_mold" } + ]}); event.remove({ mod: 'tfcscraping', type: 'tfc:casting' }); } \ No newline at end of file From ed9a232d9bd1171b046eeaada69361f9e3d5c945 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 15 Feb 2026 12:25:42 +0000 Subject: [PATCH 453/474] unfired firmalife ovens are now recyclable --- kubejs/server_scripts/firmalife/tags.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index 2264a45d2..db30e7075 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -27,6 +27,8 @@ const registerFirmaLifeItemTags = (event) => { event.add('tfc:fruit_tree_leaves', 'firmalife:plant/fig_leaves') event.add('minecraft:leaves', 'firmalife:plant/cocoa_leaves') event.add('minecraft:leaves', 'firmalife:plant/fig_leaves') + + event.add('tfc:clay_recycle_5', '#firmalife:clay_recycle_5') } const registerFirmaLifeBlockTags = (event) => { From 300d504974e8e98716be41d7f8ed6bfaaddd527e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 15 Feb 2026 12:29:11 +0000 Subject: [PATCH 454/474] backported 1.21 colored small vessel textures --- .../textures/item/ceramic/black_glazed_vessel.png | Bin 0 -> 540 bytes .../item/ceramic/black_unfired_vessel.png | Bin 0 -> 632 bytes .../textures/item/ceramic/blue_glazed_vessel.png | Bin 0 -> 684 bytes .../textures/item/ceramic/blue_unfired_vessel.png | Bin 0 -> 678 bytes .../textures/item/ceramic/brown_glazed_vessel.png | Bin 0 -> 715 bytes .../item/ceramic/brown_unfired_vessel.png | Bin 0 -> 730 bytes .../textures/item/ceramic/cyan_glazed_vessel.png | Bin 0 -> 670 bytes .../textures/item/ceramic/cyan_unfired_vessel.png | Bin 0 -> 682 bytes .../textures/item/ceramic/gray_glazed_vessel.png | Bin 0 -> 655 bytes .../textures/item/ceramic/gray_unfired_vessel.png | Bin 0 -> 716 bytes .../textures/item/ceramic/green_glazed_vessel.png | Bin 0 -> 668 bytes .../item/ceramic/green_unfired_vessel.png | Bin 0 -> 678 bytes .../item/ceramic/light_blue_glazed_vessel.png | Bin 0 -> 707 bytes .../item/ceramic/light_blue_unfired_vessel.png | Bin 0 -> 721 bytes .../item/ceramic/light_gray_glazed_vessel.png | Bin 0 -> 691 bytes .../item/ceramic/light_gray_unfired_vessel.png | Bin 0 -> 678 bytes .../textures/item/ceramic/lime_glazed_vessel.png | Bin 0 -> 677 bytes .../textures/item/ceramic/lime_unfired_vessel.png | Bin 0 -> 672 bytes .../item/ceramic/magenta_glazed_vessel.png | Bin 0 -> 701 bytes .../item/ceramic/magenta_unfired_vessel.png | Bin 0 -> 682 bytes .../item/ceramic/orange_glazed_vessel.png | Bin 0 -> 659 bytes .../item/ceramic/orange_unfired_vessel.png | Bin 0 -> 660 bytes .../textures/item/ceramic/pink_glazed_vessel.png | Bin 0 -> 775 bytes .../textures/item/ceramic/pink_unfired_vessel.png | Bin 0 -> 741 bytes .../item/ceramic/purple_glazed_vessel.png | Bin 0 -> 698 bytes .../item/ceramic/purple_unfired_vessel.png | Bin 0 -> 715 bytes .../textures/item/ceramic/red_glazed_vessel.png | Bin 0 -> 651 bytes .../textures/item/ceramic/red_unfired_vessel.png | Bin 0 -> 671 bytes .../textures/item/ceramic/white_glazed_vessel.png | Bin 0 -> 763 bytes .../item/ceramic/white_unfired_vessel.png | Bin 0 -> 755 bytes .../item/ceramic/yellow_glazed_vessel.png | Bin 0 -> 711 bytes .../item/ceramic/yellow_unfired_vessel.png | Bin 0 -> 731 bytes 32 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 kubejs/assets/tfc/textures/item/ceramic/black_glazed_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/black_unfired_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/blue_glazed_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/blue_unfired_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/brown_glazed_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/brown_unfired_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/cyan_glazed_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/cyan_unfired_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/gray_glazed_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/gray_unfired_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/green_glazed_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/green_unfired_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/light_blue_glazed_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/light_blue_unfired_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/light_gray_glazed_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/light_gray_unfired_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/lime_glazed_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/lime_unfired_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/magenta_glazed_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/magenta_unfired_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/orange_glazed_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/orange_unfired_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/pink_glazed_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/pink_unfired_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/purple_glazed_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/purple_unfired_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/red_glazed_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/red_unfired_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/white_glazed_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/white_unfired_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/yellow_glazed_vessel.png create mode 100644 kubejs/assets/tfc/textures/item/ceramic/yellow_unfired_vessel.png diff --git a/kubejs/assets/tfc/textures/item/ceramic/black_glazed_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/black_glazed_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..96695a4edb851bd272c5c8d4622eda7763db6f2e GIT binary patch literal 540 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z7qwWhJx6MGVO-z~C`k!VX4T0Ec0rNzW|=gys+>$^EV|D0pd zck^vo@c-kdo<6%Ho$N8GTuZ}9w7$@ym449}8& zK7DlZZ`JjJuYVhN@3!9aJ&<8Z<|{@&Kfe>7=UDW4PHNefn>nk^#P?!U@O9JB(7;g9 zYf*c?PwXj`P7d(8xJ@^5+Qsj-*P?n1GuCF_7JDvpEz0Fzm>xsa|CgzgR8k_vWTplk z{Q2*n+|rPYH!K%QWj!bLB&TfQJ>1YyU?F30EFe@gP^2|e);F;wBAYS5>*9CY(pY7s zE2XkV5}O4Y`t#!%9?VIWV0*Po?R>FI%evPAUahx|uerD1Zf@VlqT+Y==V;m06es?6 zn^CN1^6^oswI^Juxn)o^g xirl$(ug$1IpoWE^W6=rwt-X)-+IRirRd4#$sU4gW$H2hA;OXk;vd$@?2>?9u`cnV^ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic/black_unfired_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/black_unfired_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..3ac7493bea5950da0714d1245c12aa7e05046315 GIT binary patch literal 632 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z+~j< z;uvDlyL6Iwc5t9b>;B?*mft7ddlo44#^p+SJG%Wp4q zIX&u~kuz`N63Mw`J=g3eXC6wiQuIup(hXAS#8feFiD>H&#}jv+lTMVtaZ!jE?@YABNl3={3Pao29W#?|@YcRy#8_L|a&=hql3;{@7t z8LFbA8B&e~Tr~~yQpj{d|!oG z(Z2PP?dH>uuYNTvWmdp#wq%}jR&CP7r&dLkCEh%8J+tAP>F%cznkq$#h1V|r5Gz;` z+V#nXPtDHv>vT1{noaM!Hl-Ly1n3l{6+7?WfAr_iaGRwX-Arp@r@fG3c<^p7JD=wI omaVH>r(7vL`QypmSFVdQ&MBb@0322#4gdfE literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic/blue_glazed_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/blue_glazed_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..0ada909ef8921ffb74859f1526010dbe5740c0ae GIT binary patch literal 684 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z?A0c z;uvDlyL9r&{L2XfN9(_d-`=>{LeJMze8JQgO_#h`!%s1OZE86(@qdf5kh#h~Nxu%| z?iDN{T3WhHUAqpPKO|M~D4ekN^99{FFQ^!?9<19#=PL^qzaPTI#4{gTbjEx3zf=IZH+R z`xh4N=UU<9t{?KDJbdEJCmzcdaGZIi;&lFhb?e4ou`6fKezA1od*_A9sa+R*AISI|J zFgtRR^5g3-<+pB_o4G4Ve0PX?PMz9h&C10-8d56?`)+)_xK)Y0*L{ce=`OAXtEAf7 z*BkOk=WlRZYSS;jPknjhlpfAQF~X;3D7<;M;HmGObD!s%GY9Z;ACFNuwSDE)Jb@kY z8y{&oZu5?=bicXF<9=?Sz~mo)%Wqs;dYQ?yq|QKn%6Wm( zeF@LwTVjvn_STheFYww6e6PJTH}&ZaMhBxAs`f90WpW>i zBrnPaP%drf#e9vwJbaPH#W`woJZn|@gT wOcAQDUN-Ti^{4Ci_)q8@{rlyC$a87gCXRd4^F)mq7#J8lUHx3vIVCg!0Jg?J?f?J) literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic/blue_unfired_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/blue_unfired_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..7d064ead756bc430093d3973cc102b34f6f05e47 GIT binary patch literal 678 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z?9(W z;uvDlyL7T=wn(5z>;CU?q2Zy+t2B%o3cX|u_%t*$x|AG0G2h|TW7+=bko=MzMe5JQ zcL=aATDw}~;EIDR$}g9&Tiagwa<4eOC(!)f-M#If4>lG*w0HlrD`wu#%+tHwG(~Lo zOmd&bW8jt?#J)z+kG*8p>peA}0{#dx6nuQe``St_`LQs|)rPpm&CjPtL{_;^DyjVX z<)T^tXKM$~_5~qnrKy5pJjWuIh=jD4Uw$w4Pxj%NrMJzb%vusz9NG>^_%4l5kt@kG zzm~B@^>gv}GPfNDwRf%lsd&mP?h<|y*(Kb=G;PW5w&(0GN*oMSUR;e2sy5WFW76}9 z-@Zc7CyR4&aLZKFUuBcxl0~z5=EX0H$eR3O@0aj<3RB%D)h+p!6z0LOQp9X+@Tz&P zr(M}(Qap4Y?{f7zXmN3!@2{I0k$V~*_fLGibpA%whS$G1+zcM+CVu5=?k$a4Ym^wV zTuS%ymg63?b8U=Wv+N$NIQh2W+%oo6ttI^rRe$DcUxlJu9JL|lBcdl>Fc9nhHmH#>qoLu3uTIJ2*HbKwdl9zZl zF6ut3TPXK;XXo=}@1w%6YK9;8*xa&YzvoJ$L&t6z1#xV-cBJyipF4l|+h0EUdHb7d nH~%f-=()CMz3q)>KN+2sxt$H0|M)R5Ffe$!`njxgN@xNAsdP9d literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic/brown_glazed_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/brown_glazed_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..65a945b034d5a2e2e6bf276b9fd559a555e100e0 GIT binary patch literal 715 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z|`vL z;uvDlyL7T;Mo6GY+y3hNlgz!3d0v^3;c#TZqB5mhJGPW1tz;3|o)KW+WG~UT^eFyN{&edF~`pQO1oG4KEfvE*wRm7&*RShpa1*wfA)W$SH$aY zww}GzcDBO9j9D?=RSF$0ElMteKO9e-NS|-MbJ8zu#sfXywp93v#lFpqxxFaFbcwK; ze%t4ssmyMl>X?uHn|olJ=*=aESC=Pyuq3ifYdgp3X>&YH<^BKYLu-TCk8U$fKPTUN za!YHcQ_wu;jY1nzFPC*)ZJ1iiT<(ePJf*Ic)4@g)cw39#fUg`r6@j_QFjWqkEn+cQ=7*eS-n)^Q)q!qd*aDiz_5zfu2dRS?7F z+n0|6pyizMxy=jf?4j)PF>?$mp7GsbBVlg zRmoWW_}3|7{>%J4yrPdymVVy$WPTvqjs2yYb>g-xd6-*LGNrGN@7=xq=jR!xOB>v0 ZIFv6iT_adtih+TF!PC{xWt~$(69BvGMHB!4 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic/brown_unfired_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/brown_unfired_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..e830e895cb972ffc75307e3d6cf48ee622178f76 GIT binary patch literal 730 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic/gray_glazed_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/gray_glazed_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..c059f8341e6a3a700e5ab2b9be4b3b7f00214bc3 GIT binary patch literal 655 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z~t%a z;uvDlyL9qKFKtJWw*6<`rK!&f6z)CfbiwP4a>Nn=!7GQv1CAUE-w?_&-$}%A+vF0v z)*H7pl9Ck+vo`I%xnuI(trKGNcU*tvXUhEi|Bv&Q{}0s9yEDIk_3G769zAMuTG%i} zXsv0Wh@h)rp^PvKBRf0$n>TNs{Nwacd|EW~^XKB6+s8iJbRAWSj*j;6_1(C0r{$ub z+ySevPMSGW($C-jqYZz<#*K!3{r#2o_0QkEdsptTHq5*0sM6)jml>XXt~_MmqUpN* z_S46Yo0l(Fk6IhH%=q%@M~{+}mL4(jJ!G&XL`$*dz$Tqtcl8cGoKUoL&NOw+BR)qN zrllHMT6*q{ORub)`TKYEvuDpVrh5I@cmC;9)u?Q)R;JCHH+!zWda5&I#gs$aa%=9V zCnYttx3f>1HtmBA|60=^uW#SJN${|7C`x2HdT}23@x!7mv7oy8^zGZySF@&iEp=Ld zeewPGi>I6lvts&CJ3nhHm&4K^#szWfA6xKwX~tYnt*@Vd{J1;M;UDwr-c|S6$1yAw z(fsi2SzC?W`RC8ockkZ4XV0F3va)Hc+Mbi-*_Zv?+hftkd3b`~^25J=S#fi7vp70z zzWL_d4l2g?b|ySFIJ9=j~8^h@cL_p*=!EQ zin_XECcZJ(pFVlgvUTg$`}V<$FM2$C{(Pg3Hn*<;ONo{2Ba5`;k44ofy`glX=O&z|`jH z;uvDlyL9qx?~p)|WA(r17@v`Ro@LA&CpXD}S@Y%54k4*cPK&ygVyAYrc)j?qskDe) zc~_KzpriQ~k9Z@E`A*I&J>BOTUpG#FcIKX~O0e74OLbAdAO8NhHh(Sa|DQ+J&yOyD zzxtwk@|B-8SFZjnIF-68Z|bTk9+67}wpf;ZF<@Tq-(kJU=Bw4mik`={d$;7~9X*vIz_c!A_ra`Nzsk8|@7iiT z;1}pW&hVjvM@w{ifriJeO%ah>BWBEh{&@GvS?iuHC@y!Jxs3mC@&gOLiy5}NmMQO@ zRB~%k%u0cNSH=LZl`~&z1~Qkt^V48BY_Ou=<;AV7ldt*e*3A0rV>Wy7&Xp4<1wXpk z9lm2-_e^F`uKD59=K5Yr_SDP{`43-e+_{LpZ_qGolFZp?N;KfF4nzi@8ag5 zlWy0yd{wOS6>ey-Z&;VP=f8n-mgUid%)bjyrSdqthl*aj!IlylG_}a~z_#3^j}{EP zyu1uKnc0sY-bhw@C=jOReZFz;lrFwm>lRLNiY`uE)7m7^RG`tpmh#y$?fEkfHfE9B z+3$|X?W>D@a<4hi#MfQ3HKsW6565}thABe3W0Ewtp4s<~#mmd+rp?Lx`xSr7gnT)c ztWi30{^j*m&VSWIEhLV7nfausvgshh?QPpWKY3XkbA9QA(@ImB6z1z+DO)J^{NujG zI?JX-#&`u5YKw5O9#g-UFe}dIviCi`MN_z}#1{uJ&yloIJ;ygEL3OH=Fq8IV z<(V-q*I7Pub64>2w>nLHxUiTfUgFnp!`_~r6n*;_K`zEMkZ$Y bPrk*iLf+X6EYuko7#KWV{an^LB{Ts58<#|C literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic/green_glazed_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/green_glazed_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..c729dcf6af10e9ffb7688a655866a330064f36ba GIT binary patch literal 668 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z!c`` z;uvDlyL9sId|^j{_WgVJwx9oI+4q@mqLL$5(+PQpscntti zmo4p+O*h7NTlie?T0F%~+gIOX#e1`xzwZdtvof5~?aQ=IHY!hJx@`91m*Bee&tG$A zmTmT~y>34#S&rQ!c#?MN&ARw^;r^m+CNpN}C#CDY+HLor<&3`XtDf}7RbuPHoo2CR zE-J8{?WgS$#ddV%p1iPI&3ZkD4}UqdA}%u2<8s0?Coi@1Jc;YSj>btMpy_=5OA701KTRWXo{``We&o0K!ex3b|L8-0v z^wdpr_9ZD6bc9N)-ePzWH_fEr<89M@xgLk|e9rf0hTS^Evcb4kGv>U~jldb3d0Ti2 z&D{l1ul6-4(<%l~3(O{{?O(qj`sa>=a063R%I)pOn@8`^x!ig+-jbv-(eE zEt~%M-@m7Zf{a|tV-`gUTYl}>`&_N~ zG+!rcpz4BT^(7mXeko>(uePu}c`ew0hdE%s^^Lz<^ci;5o%p8hxI;Mjri}96m7V*% zPpyx2(N22px4`OWUhI#Kw0-rD zG2yp!s7=h|n0-k44ofy`glX=O&z?9(W z;uvDlyL6Jbzlftq>;6@B=cOeISy&be`Izim)XC{0_J{Yo+Pgo+>pVIx9%;~+)Q~j6 zy(Fc9!MNnSkNMrpp?YrWJ+pRf2-~h@`TSn->*oJ9kN!NpcxTSKo+*W!`PMxbIL@gR zx}wib({;6MVSw$Ezpuj|t!HESE^mKr-D`u&&s_6fKltt2)oP>dEuYEedu^K7Zhnz_n==j4lu)~dVz%3FNSEv`vqU^r~#F?mXkp?3iPitEh#-e0>B zQF;6F$@rstUrO4VTs^qO=gmpqJ$t%m7oL0)`$t&bbl;f^0TWlwlrev2ccGT;`?B;e z55CS=5w;}cRPm2PPi{_j-Qtxg^V6n&m)DOXiKQaFvePHt-juGyAb0Lu*6ppDd?G7+ z<3nLbjce*l8_vxcDTG)eXz$D+Vij{3gh#&k$FQDnIzDFd;Hl zW>)s~6aBe@ZMkojdEWNwINXxK-}Fb%@7j};QXa)i|2Vq2xtSC)wpiSgQ(tw=Wvg|` zH|v)BB5U`qUNL#Xd78Y?&IaV0FDtmf? z%nAQ38S78~<7BvZ=6v_DX}x-Hl$RX%ep}{h-^8E|-?z49&U~V0ZW%Fs@4Na1JSB{R p_VdrziaSj>Vi^5;b?q$q>o0^dDw;xD7#J8BJYD@<);T3K0RYWFJR|@B literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic/light_blue_glazed_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/light_blue_glazed_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..dbebe97e9bde75133ebffd95bd764a9352490877 GIT binary patch literal 707 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z*Ot$ z;uvDlyL9sDeBVHkWA)G9eBSY0ZhLrqRJg`v}=`}w$J+MFhqxQzV zYWMiNv(+ay8T5$BTJ<&Os>tj!J+|2R?y-1A2J7GNGM9>6-(|fqx7%RN!(EwG>-H<_ zO|Pt3m_G3t|A7y`>vGMXSQOTaZE@0e4dH(AI<8eKJaTi@?fs0=`QKjenO%_OzHgs^ znn!Eq?h_hM9v#l_>8pEO`TnB4E)Va$tA58GKe?^8=b74xrvf)Tl2%+1Xj7OFdakS{ z?ZZ!o-DUF)pE1U6pa1gF^uTo`YY%*~@wt8U^Ge^C+kN2s#8#%~aTPv& zJfF6F??`0y`Sat{C*IjR4X3dxT-_$KR_IZXVB+o>GkG?}II^1l`B+$E>AEtC;Q*7z z(@hBy8tw@aYV6Z^7v!#gr~A!t5yRB{Cx4{-Prgq!+4}rqls-e#N~S<>-e$H<>zD%% zyqxZRBBf|a@Y^GWXFhJ7-^o2G$6K1AF+P@I%X8}!dbzGvnNuD&OkQMp+sD_zSM@}Y zU`SI3YnU4EX4hNO)1hX@f?4~de%i;ZZZq*x;35Rndh-N zKlw<2#o5dElmC2p+Bt7Ul+B0hix)9m_Eda4p`c7G$u&UJagpVgl_!=rhJQAUDrR^Y zp1E0vZyR3%7o$@{(1xJJOH}5}aIPI6i}&qG4!?3LdI zNm4qKA0F%v@lyTvX8)J>=~XxGuQt9})pDq8LZOS$u^+DUi&mc5H}7<}i9O>}E`{P$ Tk44ofy`glX=O&z|`&O z;uvDlyL7U5MrgUfvHIt==O3$Gw^0b4ET$?gC?07ly>NnqK#XU(UhIyOZbw~pcVvb) z{a6upLCl#`>+Q1B0bEWB2@V;BqPIMROwF&&-tzoT_4&{L3k0Q-vv(JU8S~sfUi10v zf$Fx6yJyVUx4_>=?f~PaH4fgLm!#H;INCaJ9Q|H=+GbDf$qIGG15duN_C7B7^dm9n z`ob5>t{iH}f3F{;lKU)u-QL!X|2+)~H5S<2IRB=9f72xm)j+S$FRy6)3_J7Z%zuv` zPtLgBm9O-vwb^rbOYRnd9sB&R`TorO$a;QSc%@18>-$3c_Waq&_v_b>pG*C3+-Saj zzdcuiW9`aGENe|}UFoTQt)u(z(Dm^5Qr0ZN>H9A*1Sbn#oL47v|9Cf3m!H?IKF(Kr zZ>)2EetyQ5t4Z%Xy*6z;cj%4pVYU;idyd_!waMdOaND5bgYv30KPhjW@)@&aC$3cw zi98XX9WAm-Mf~P$RjWV_iHLpunUOvGr4uVz<$okdMU?r8rJk{E-LbdxHQR#nodL%< zzwTpX>2k|w4*0WSN1yz+2knBcw-Sr4sNJpb(_NwL-8hYjL0ExD`iG;eeb<4F7lVX; z*v{zl4xCmJrOR`9QO0&dUG~j7AF{ui3(Lp~zR2hfZ98##lF@lfvun+YjvC znCO(iefCC&qoAbDn{6L|?Ok7z$gZ>UZ^&H{b)E^Sj?b@ZheS?1Y8aJytey4j{rbnx zrshhQ>lt5ezUAKNGQ^Cm67_} hlskJrKhQmsy*Eia@Fr97O$G)A22WQ%mvv4FO#segRDA#d literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic/light_gray_glazed_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/light_gray_glazed_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..12a95001a8c26e2c2a3b85be24fd1200204d3fd3 GIT binary patch literal 691 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z?AFh z;uvDlyL8h2Y~e(SVIe^KvrTkH}tb#9gH^-@8n2V4isww{{4REC?I`%*k3!^)6TmrLh9 ze3%##x->%P(#4Ah|NOC$mX=Q0d{fM~z+ORw>*Bq;&Q^1emBvc-vK>sA@NZ%A3b#2q zX20L-|9Rt;RMyToAyx8tp#e|xq|}e=9t51;qd5Qk?_JxT9W?RHzx*QEAR;k6ojvw) zK&WW!WsOL&ZI2Vm+B@as6EiYSWHZiK_L7mOMaIf{_Y67Bq$5c&5)nz80~Ex%3m?DH zk5TlfxGgc4y~abpAy6blxlgJyKyP|wyiDS%e6i4pJFEQ?cI$mN7T-8GS8FO)qeH_q z&XU;WH`mWrRpUFiXqD8~UCs`C0#|n%_|1F%>ZLq~qJYyDCY{qtV*QL8c9@2GVOV*^udKPV+r=w?M170TFT3x;aM-{@_LPzG-A6y!8*}F<&Y6*tl_VrSQ+s)t zdd8cXN;l5P9Vm{SSNm#t$c3H7p6-)O-?+6p%s%z@`01K>ZiN=-f`0b8dDEAt@A+0? z?PYPMqG;xHZTCW%_K#1D`tP~zFxzx=ulVklqSvnfiT%KsoSb~G>bIcZ2~nF!$3T&s z+s8iJ3a?zXa&e^)5 zNAA^3lf6|bzt*qj*^+bf->R_HYu2sXmhq2av%v4-{uv2@3=9kmp00i_>zopr0K|ql AoB#j- literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic/light_gray_unfired_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/light_gray_unfired_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..b4258219bc098317cf2b9f4c5d9bdd34c15d1bc3 GIT binary patch literal 678 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z?9(W z;uvDlyL8g&>|jTUqxHr+Pu4z56b|YY-1RXqm{ok~t`hC8)lCmpJvdkIUJzcOsI({~ z(9toLQ)y}Fs<-D>nFc;qUVq!>{h1vd+m>E!)->F3VQ^gFXi;K!F=wKeAt7RxZ*Uwkd&((CVYYj$Z3$H8n-+KkHi4HHh{<-l4bd z^#va1kdGESuQ7$i6e<0eOyyZ0Wz4fkZf+U7=C--s498{Lgn!t%AKyPIQ#T>9Gtna` z!SkfTi6Vnwx9ncCG?5GU?x?(EXZX^TIqj^bfuIwIz=xvR10_|>&)-k-(7YHW+soZjDVbsM%&166;R$aflQ)7-FU1BuD zExClL;q~X~E(sz}-GmiczPe5Jda7)w85v*itdzL;uS#NN^6T&Rt9S}NeOV(|bi&l$ oU2a|QrPrmEzaD(+c*g$X*dO=n2Iv1UFfcH9y85}Sb4q9e0C%iAqyPW_ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic/lime_glazed_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/lime_glazed_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..5548559b17f93709f94876172867c6d2f9a52b31 GIT binary patch literal 677 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z!dN4 z;uvDlyL8f7?~p)=_W8x<_m5cFHHX@hG_`KZ#o>q}9tOa%jqyv?v4F$$!qc9j;D(UzGowW8*S!b_4^(@@Lde}@Nt9S9AT^Wij2e-Aa(&D+C@a?AmA&2X)Lx0ID zR9iD2`144OTU&M6^68!P3k0SmJP8p}Wc|0T-#~ShSc1pFv%Ax!viJOdwaQG1?fmob z51-`9cJ~&EUX2euH0#jW>K6_Z_mk44ofy`glX=O&z!c@_ z;uvDlyL6Iec1WT~+x+~Ur*&q|o>5yEav><@fL?3D!nsi`9UNl+B)IDv>m7Ambd-`5 zIl9Eev@{k4Zk{khGTmtA?)$%M#hi}KNO=5`ul>8_^QU`0%vb%FbMAi3mc{PJ3bXj) z?k@G54_J-qO5$GO)_ zk0*&6>@PUVbS2$QVjkBADY>r`x&He3)Eh6ci#+_*^tN=ZRknSnS#?U{q1Q`~J27*t z<>+f)acJ>3Zw*iCdTd#N1ZQ z?@e6es$p8Ocq^Nt$gXD!TK7GYo2Lk^WX)7p?H8UBw&i{mM{JYfjZHE!7i^*#0=A@` z*q-)sA3w)3=>?)!_AQQam0701y3IgA_3Y)R_ss9@+MRK?ZP|7^*G+RDvCE}~UAlW? z*%|Ihek{j~%8eBHKi}1PqxSJMcjG#*Sy#aqr;hCwowE4EW1j3Yc^%&v8P3J-%4q$w_n?&V4HebO hSs$Ohylguw{)iHnMQy-?iwq1544$rjF6*2UngIHDH+BF3 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic/magenta_glazed_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/magenta_glazed_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..c2411d33b4176ddf0685611ac5265092d4e29e27 GIT binary patch literal 701 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z*O$( z;uvDlyL6JbM@XVX+x+60md5FBvhHp!ZpNBi%3QgVRh(2gbd?GoFY>*h6tG)hYUAA{ zV!28gf|nNga=3Y@=$^_DblH+=cF}3Vr)i5Gf3+y?dv5>#{-P^t*;hCJwy%)C*Z;o# zzsv8x6D41S@~`6w&T-qo%N_p9L-pfQ7p;?<3No#CPk$^fmsKyyV6(e6$n~w#z3;vW z(qfV|Po>?$$1++RWZnJ!&s@-Ek=mmGU-c zh?pVm&e7>IQD^t9y6{#h)=~TYb_XF zW=O7O{~mm|Ktz3d`puIY-#T!gNbOwpa z?@ZcB22-OImb7zBanag(bHVc{ZHC54I~vbFo-MDbweiNpzTnw?iLN|;(?I$wtpSt=oRN!cE{D`<>XRXCeecD*97md#HYcpZ8C>ryTvUM@83g^uPQg zWZix0=LA{RHPRM`SZ{FT3o=|e7WC@;O{>+7$9s0iO!&!o`QyKfAO35vWnf@n@O1Ta JS?83{1OS(@GxPue literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic/magenta_unfired_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/magenta_unfired_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..28af7f8f330b329ede57c8e5f32edcf30fcbdf41 GIT binary patch literal 682 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z?9`BfqxJXCyg7F!t=#Np&L%a*q^2%Sout&o9iAJ4gSa2nD=ZP}&QRsJ zwPfR_OXtG6IigrvIsyYXMr>N3_++DJ*;%{ie{03KE6eY_le1_qK5zSBzA~TQ`T2Lk z?d!H}=w*qW<|%NjrLe_ip~w}R=@%bPxVc>aNGB5mfBL&sAxf@$A6-bDb;V}-yO6FW zn?09aeDd+mYG;|pD-Hx*Ts*tTdiwshvU zQ+GqkWukU3_jtwDw(RqRd$OfTY{J2pwWgQtDB3vPDPDi3i;$v8)LE^!1`fxBmaCtC z{r&WxdvVEyiE(c@eSCbi8|s#~JE?ge+jQclpxoMMYta{g~Yns1abA5G=d3MFV z(~l1AF<>b1J#Oavrse3m*GaE9y?Xs+yS)NeIv?BTAmF}*S^lrXH@1e{Sqv7_I@=b! z6qU3tmbx&(h)GdntzNQJ`UEe*&GOA`7rxnC@|12^nA3OhAmcB$bC28=*S!yvusxoT zKkcj=uP?`xDH*f2y?0p2H(_f~#;mqXk89ogSNzLm*bu6fq{=eYjn}uNBj{8u`}O18 zvI3pbKi1@wGAq_v&aUZq71_P#Z=5?vV~FgdFIzvi-?uQgUd;CEvrg^prSEoIEbEnT zpCWClBpIB&J;2M*@?Nhrt4-CnAepR3yY;1SoaCB3y+}f-aiR94*u6(Kv9tb()SYO; zbFW5E*zMs*CB{3uDx-JqJ72KQ!MfmPX*5sjXOYv|FLpJ`S7k44ofy`glX=O&z~t-c z;uvDlyL8f7?~p{1WA*Q=?bGJ)NS~IJJ!51(*|Eb^Oe9s?`}UPpw_Fk~&c9H9aZ_uq z(u!1a6`PJoc$`rQTXybD?fbp&GatJ5xy?TJPNt%+{kbLkzs*;!rPXXv z5H?P=@qe7@n!?I>gsVxw<&Z~y-@}cIerYo#Jo?7TsdPFelks}s6=&~Dm*-ecQS8tW zf4@Kf!j9XF{N2TG@;>b-*ufmHox~_8@&C(IQQ?2L54~^*n-aEUwh#kH!rBR+OuwGk z6w)6N$6N8IuyA?n^Tn*56|nqwxHAmlxxm zm#?REiBI}uyX%PRy~jbk$(KxzCLMZY(G`_(QtE8T+OAGr*@cJizT8yAsC6&O!ZUpH zf>yC?P9^V~%;k5V2I)Eo*)=IBok?W4Af2gtcWd(&6&VJfjE!LzxK=s(94h@ODsjci z;HhOj!^{gu%SAl>FN;}SQSN@Nu_bKDYboKQ78;w5ISbUdPv+dtz{XxQqayeA!Fkut zK9@YXee(JDM;9?X{PIy|UD%8pMkT9Of9w(7&Zgq_@mKN8&9-kNvMVj46K}f2yuRHp zSn*}yk*WXkCh_syt6na}aQ*k@OLGb~Xb8k44ofy`glX=O&z~txY z;uvDlyL6Ie_LM-8w)wkjPV0DmLT$%Zc^M5XV)n#25_S^s(K|0%ypcNSLq-D?$Fc~xcN z(oc-?OiUGxiIE1$W;-j>J^zX_6#TuEX&7~}^V`H@ZH?M1mm6+n60(->hKi^X4}S+h+Y;b^MdM|8+|~|ByTTwl6X{@OxW8cXE!<$6vt* zLl(QeOWeCQV!c}DrYhZ-bl2Lv{6)H3vjh*WEl4#jUaL ztL(a)Dhe!uw@&pix<&@{D>Fo$6et$v3rRBs5!-VDQFK}dv z1fDk9wC4~*Sa#0-<6-p;2L-J@_V$TdBgtc=wra=I7!q)iY%_zY0p5tQf_)zKz#v=3|dy2hj(a(H3U5T{iXK zH{QB-Wa&1gtD3)-s?dRs$D0=mu6H2*Lxpu{#^unhn&CZwK*ew$H U;D^pp1_lNOPgg&ebxsLQ0I5tZP5=M^ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic/pink_glazed_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/pink_glazed_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..f86a56b87886a8858dbf9e37cf563b04e667891e GIT binary patch literal 775 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z;w{l z#WBR9cj;uy9FcO7WA(-7-yB?5o}gPS*{IMa(78Y)ti^?q)pLo9lj4pg4jhSG0bIcW zH#!a}3U*4jOi}U@-ypy%BE#Cwxr9^2h}&r2jxDdZUXMH9SDya-*YXY)38$&o_dfdl zh{SQo|D|T^fLsG3MR@39v8gII=%fVXWh@wv%bt{WB6@< zQ`N|=$^Uw;>cZ$VdS@niKigqbGkH<)L#K!5lzM+{JJ@$N`o!{Ri9e6o5_LKrakz%v z_I8Ik$L3k#nA<(Mz~Qt;BLvOY0pBi+b5S-l}*6joE`761NH!~7i2p6(0( z&njM=80&T_?$paQ4nZbLk#3#JEh>%@7o<~W6hGft@|$bvORwt>PV6n#I&e|8+9l3- zW04tiuIIkh>KC&Z8<&18dZk*a>>3+nvC-z)0^v^=Uwu7e@h<;>rR0IQNr{~kAGk+9 zJn%w?Q`>jv%S#-#C9cP#vXYni@b#ZBymrl?Sn^HIG+Sw_@242Hhb{S8dOB*KZtD}? z=6BB|5+yEW>wTz|QlPLZ2!cx1-|a4JV}uc zOI9D+*mWS#Q6O;6yt-0L$p!CBHT17=xSk2A?Ap2OFu#(&1dB%7$%W!_^X@mKxvV+8 zB}1((Z;#%kpNA%-tXO4WI`zopr09Jiq_W%F@ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic/pink_unfired_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/pink_unfired_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..e864b66ebdfa710791a485195cc02457abfd266f GIT binary patch literal 741 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z%<{} z#WBR9cj@Kx-B(Iwj(>dq{PSPK&wtPTD_Fj?RE4>8q3V(Yd{qKRo!K}Wbu;FEN=jh2 z{hIGm!l`0)|7O_Bqs1>RK%?>59?WHBxX5N|m^W2;Aefyt%UVM8-U|iMxd+pbo zzf0fC|1n?n-@Te2?=pX9m8y$w_j$oCQq^*atM{P9=`gv=Z_Iu^ytVyNJY&Pr#qu`~ za93>pW|g?o$G-cfnBV3<39TA$HS3FzkChXfoYD3S`MOirI=Wky>f1{{KPEgU)+V|9iK1g> z+iO2|_ni^!OD1Y?X*`J7(CsU2So~wh)wSyRu`AZ!DPpvXvq^W3f8^`)adl6{{!dcE zQ3BS};;y9bl38F9qc=;3hu6CN&7-_|_m}idV3?=7;)iHmF}uvE)ggyH%`Ua1OnGD} z=a?$=n49l;=)V;jMcIxAPX1*6t#aV-+sS|InDbX#I-P%5QzD%z8vZ7^P9!^rH%af6 zX%Bn#EoZ6Cc86Q<#;jO>XA;BauVU=&iVT|_MH`%Y4P4tCCamOXIPQPVV@g84zro&L z91NTjmU9N)NnaImY%R;256^eX*|_eq`=L7RkJ;}ky^XpamlWsriXF2$-!RdPXOb?@ zwBC1Wch{U}e`gaW8j)>bGDAsP^hmVjk44ofy`glX=O&z*OSt z;uvDlyL6IuhDf5o@%sDQcW*C0UTN7p-Ni95+qFhOzN5COv+34~*13TkN*WOnzkC*U zD6w@a2}!%Y*&-aQ!6Fi`aI2%~>FiMH!M$jG}_MtBOc2sSG$S$1w^_UVXw_ZI)tV)#(;W6_qaA{H0^vbpb8Q9D$; zY0l2gQ%>CwS$+Gv`I#N{Tr&553WPtku-q|e+cYMw#F90~?wwOVlJ@Do*frgIO0N4` z)z))1T#z^-Wt7)f^^4c}$crP{^TONGqBG)eC@%fOwB=MosK}xP=<6>krfGE0g5E7j$O2rR|QcEYpPh>!fYg^Z0Ua(SJ21 zX&LW*&44r8nLaH2#^}ED$!67kuJIqY25c8x$m!|hArMv>R=L3Bz{ld*j3?5)D>SC8 zeY{KZkB?k#vWViwq8VOHk5rWWocv;MoH`>cI_qC_?2e?3LZ2lqjr7(8A5 KT-G@yGywn%wngCp literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic/purple_unfired_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/purple_unfired_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..f9c8b1c7d08da4a3c20da590fdde0c3c32ecbde8 GIT binary patch literal 715 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z|`vL z;uvDlyL9sT?2vGg;L`krBX&un7QrhVzK9k zEuUBK`(S^#dhZUa?|bj;xO6N-{yvLH>(NeT86~G_%WKTc4(+Rrul~=;@Z;(A&6{?G zKK?#aZr?Z0&n*TVH)~fMIpj3GnSEdE#pHV|e+qvprV4+0*(i4SFyn*EdFp54B2;`I ze_y{L`}qu$MPgsQcpJ79bcnF1sho{V$UXLFa`l~mzn`tP`)c$vqh$S+#e!R|9r0w^ zPbHoThACZJcke`dwEaZUhMlYJy&~2vx=>@cuQAHRMRmod|0mS;&A8!W z%E8&x(f@sWfr!Z~-DUdoriN>uiTxcpC13K3sPb7wsi~nNlP2wE(bn9TeIc&KD|yAC z=Jx&-e4-^{Tz$TEk0l#k7H^lZ-`e~&`?`T~X?vQ9)AsuZCFIxgHrAc_bD8~0w(mEe zHH$y5IsN8K{AsO@Hv9DV!qen0_e3$I++MvH=||GiI+!m zPc3T+npO9Y>0+D7+hB|CpjpDp?JIusuZ#WfIcsZZM(T!?7`u9L^=UTVCvy%xoE+Vt z`c`sbC2t!)nfT0Q b^^DB(xgvQ#-gIMNU|{fc^>bP0l+XkK-e6DB literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic/red_glazed_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/red_glazed_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..0a75b94e9452be2c3b365d14fa5f8f914cc08d86 GIT binary patch literal 651 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z~t)b z;uvDlyL9q>Z;?QehW*yX@6WxTd)IWTk)UsMpjVSq)vN#SmQLp~(m15jtD(sC$MW@? zH|KU3f4_I{%F>!wd*(7fe>~@K`2&0BJ3et|&fVIoqBwEViPDulj?v!9JjbFwEqkbN z{^m)ekNyk?KF6Iu7PQIM*!jV(lv3Yt%{V#P!jRB6{O!TEpW>5kJDlTW<&)RAMt5to z_*cu;X&n7maAIx4S(S~S>$-nVORC&>czu$S9!srgK$h>in6O1B>g0Qm#5b%p+3FqW zV9)pS?v#$8O;V*9uQ=n~m~EEccv0oR|A0%0L2ha1+|MfIQC#s>Uk*<(Y2shbYWYE> zW1`cCohLN5Cf>=|*Q+MO!>!0DmAvzPyAF#T!`_Gwzj9pc-#G*qNAyN`*G~J>vS;1O z=xOqgc^KFa2o~rU1|C`{&1E-NEXPID#I!Ks<@V}5_9r`;yPr$%ndaCbZJwbcGp%i! zq>!Hq|7A(9;0@8Sm)7ZIuT0!)e0cWfVzpyIS7$}t&TbHCdaAHYS+sB6N8zi`cw^^@9j_awG+7>hxZN=PlW*nTtGT!5m3U4`vGw{98oFg~!~E2f zFDranmtLE-ch8Q$Gs700V7s*RTH300G3}R6bGnC`Uj5AO5%T}S$4f_NFfcGMc)I$z JtaD0e0stxsCb0kj literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic/red_unfired_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/red_unfired_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..0ce15e795078322e71aa3b046a527029025be6f4 GIT binary patch literal 671 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z!d4} z;uvDlyL7U*zl^&`>;6@*=Dj-p#lbj%N9>5S&>R=8&Oc>uTFs~Z&k_5_@0rq4;dw)d z%~42DGi65Oyq7P_L&dhS3(c9jKBRm1isJLjtMzKqI#-{)yp{di%W&Z`|F}_u<9v-DRbPoNGm92q~&`UpBt7?BRJ8M^n*{A?-^{{_Ofc?d)Dz zL&1tae`}>P&gNWEyJly;sN+U{VZklsa?$O31awvR&yT-wK4_BCGuRDJ8XTuh~i@RDUbzS(Xc1_j6TdU@+zz)5Q>n-1X<&>3g zRm{+w_AI}s#!jU`HR#s&_pii0?NV6FbtS{&&DMw+^PZ}_ye$9x$038eFE8-klKH~k zb9z!>ScAZHCMS(&w~TeRIM=uv>KOfUJ(;we`M~ajlBa`Zb8Bpac!rDtx?7BY0_B&cFxjpaEi#Jnj^fhL4CG$v!zk7Jg@b8DSv;Lk)U*|K) hDd6ytU&nv3uek44ofy`glX=O&z_iuV z#WBR9ckQHTkI9S@ZSvbQm;Tr-G&%Croveh61t%@mk4BVuo7DffagI z2}iWLg5E6B*r4Hfu;t&h5V1rHt=uT%B@RV@7Bw9)`x{vsn;Q8b^!?TH&vy4uf3N#s zZ+iLRw4Lu_7p+=#!(3+KwQFI4p`k{fyq9j=7@Kgp=rb)(+IC1+w*u3tZW${ePb@80>% zy%ZB0t1J0)>7_e&bgq4UI%#6Omfd{+OV{5B_8(U^p0svy(2+kpz576x?OYR=Z! z{fQ;{jR}KSU);iH8HU@VtuBa{Rclm6cb1zP|V= zv!D$IGdFHDl-v91^Pb0#^BWFY%w0919tdT^0v2$Zgpo zDEUvwm@^k44ofy`glX=O&z_ixW z#WBR9cj@H2{*xF*j@7^CKEW-~q*SMH%X+erWYojsTH(b}tJ9*_UX7jp*ZOYB^=q!t z;kj!=vrn(gjSLPp+1l8)QsIJ^i=C{(hqB-qwK1jd&RJTYKUX~O`GNYj58038cC5Q% za*F4R#fKWd3)NfNoE9F~eN@5rZEw%{A02IfboSM%{t;zZu=)R{AjQz4-`5N-|6|#` zQX>4f^^WrYf-irFoh}w;PrI_8Im1Ng`T03d4jw)}Wr|W)(1UlEOb&;$NzR{E#S z=d`Ck>@`c~XQ858>FMct7(e6BS(n+yr5&Hok;--Mvbf0XuL4oItm5a(0#i*M z-8?bbujb&z1q%;Gb;nJ*;3*{C$WSWAoV(8M=za^;4hF5MZCaZp_b!}tQByz6TlZ$p zEWMpV`39|VlYWTZO-ril^-*h%5)pI}Wl(ZhzL~dSYCxCsvaCIrB@vRrGYW;}fyypKPg; z=kM-V%=2yMh1aETR3=w6YjXXRDcgKtkGVtgR+p6_ED0|cuYbe(QQcv(r?-N{lbb(G zcINPfcTaqLHuOaaTb0#q4>jR6Y==^ecAMOkI`z!@!I60jXL}XbigqsIYd`Bzk}bV6 zH0_?T`-{`&ud>eOupRy(zWm=`pWJnJtPkBI1HVZ(9f&KN-aECG+4w%=I#wb1vo8!> R85kHCJYD@<);T3K0RVH)T`&Lu literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/ceramic/yellow_glazed_vessel.png b/kubejs/assets/tfc/textures/item/ceramic/yellow_glazed_vessel.png new file mode 100644 index 0000000000000000000000000000000000000000..b858314c9911ff62b50d92b8cce56e35dd493808 GIT binary patch literal 711 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z|`pJ z;uvDlyL6Jjhe)Etv3ld(#_Nn{WoOS!6?62=VoQq3i`*iX)+Tq&LH}MChn2|1wb7-W zuf!a`JQs3t6PcPMF!6z2U~b3+Q7MkBfA^2wEt@@e=KAI}J5ra=JAJ&mqHfRm-?ks- zPZHyQtIL|??8$e!C?>;_>*SKwWX_;%2MSr-&LkCRoNK-(nd!;kaA3Z=O{7t8qf<%$ znUX6%Iogs2~1BYvpq}=!U4O3aUvb#1_-Y{+}I8ey4NoV6;t@)iRRTg^m)HB_R z<~p*m&rB))m&WagmYH6QwB$m{yH-k0J{HUV!=}Q0PtDiI?>W};{(N-l=42cG?+YqZ z_Wab^#M0LgapsVhrN*l6SDzT>F4vpXb|SMlp ze#P%zSvYaX?XPgky{h#p`_mC8mhDQ(Gx>JTYWiq5yIFOo$a1$EcS@LEr_VX^#(dWG zmuG6PNF*|Sp1xTin(adA%%9 zo(b|ERx=MzG*PM0wcBuZe`|%3-`@R9w@qfs%wM)8%QpWvdxWfhiie!*G_l+XVbkUv zHTy5NB!{ zZZge_-RZx>+U5G!yhZ!ucf@#y{QTfJpTjJC!78J_-xpokTFH60Td5`Ctsnp4TF)&; zjfpB1p9^h1OEZRqF59)Iab@P@O|?>;Ev~MM{chID&JRBvy)r?9^V^koXEKu9)>}7g zyBuE_rj}+e=zr^vms8=yV+X>U-%sBB=5E~ir?bCDZtBcj%Drid&t=6wd3uLGOWS>6 Wk44ofy`glX=O&z%MdHMJV=FGX#3qNMabw9Mad9$qExAkecU=GKr?&akdt!+9(r>0cr zrc~xWNx9W|G&#a_a=CD#UaW;?7?WnB}%-^Dbh{2;-f-?oq*w0{`AZ9rNZjPejuFLle}(I$HM^8{F>9 zPn)A3Xx&-SB*MzKTa+QZt#@*IU%`r9GQl3Z=G!b@pD(cdwsY#$JU^2#MV5~J(|5@9 zPM-Vnkma|Dg6lm!Gwl|B%sl1IEpXD}{k^(H3yz$h{qMX;r{u4rY9XP~;R>xR-K^EK z=1#g)<1@R@{&;(m#ELF2zh&*dcJi%9tsR=CB+NQybzs%{sE+5N1y4W8?rT-6ELc3b z|8O!#?DKnH%h;;eGV))hdQ=7c>$ntkv*zENJKIcU6+@Dm*MF2mdKI;Vst00bXKZ~y=R literal 0 HcmV?d00001 From a3d2be27b423ff329164689a8464f9381b18ae8b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 15 Feb 2026 12:31:45 +0000 Subject: [PATCH 455/474] added mars seeds to seed pouch tag #3058 --- kubejs/server_scripts/tfg/mars/tags.mars.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js index fcecf3062..177fa2f14 100644 --- a/kubejs/server_scripts/tfg/mars/tags.mars.js +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -58,6 +58,11 @@ function registerTFGMarsItemTags(event) { event.add('forge:seeds', 'betterend:bolux_mushroom_seeds') event.add('forge:seeds', 'betterend:cave_pumpkin_plant_seeds') event.add('forge:seeds', 'betterend:shadow_berry_seeds') + event.add('tfc:seeds', 'betterend:amber_root_seeds') + event.add('tfc:seeds', 'betterend:blossom_berry_seeds') + event.add('tfc:seeds', 'betterend:bolux_mushroom_seeds') + event.add('tfc:seeds', 'betterend:cave_pumpkin_plant_seeds') + event.add('tfc:seeds', 'betterend:shadow_berry_seeds') event.add('tfc:foods', 'betterend:amber_root_product') event.add('tfc:foods/grains', 'betterend:amber_root_product') From 45fa0591dbb319a49055680ee1ba3ebaaf4ee3a9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 15 Feb 2026 12:46:15 +0000 Subject: [PATCH 456/474] shadow steel casing is now lead plates instead --- kubejs/server_scripts/create/recipes.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 6c75d6eb6..d53d90ceb 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -691,11 +691,11 @@ const registerCreateRecipes = (event) => { .addMaterialInfo(true) // Shadow steel casing - event.recipes.createItemApplication(['create:shadow_steel_casing'], ['#forge:stripped_logs', '#forge:plates/black_steel']) + event.recipes.createItemApplication(['create:shadow_steel_casing'], ['#forge:stripped_logs', '#forge:plates/lead']) .id('tfg:create/item_application/shadow_steel_casing') event.recipes.gtceu.assembler('tfg:create/shadow_steel_casing') - .itemInputs('#forge:stripped_logs', '#forge:plates/black_steel') + .itemInputs('#forge:stripped_logs', '#forge:plates/lead') .circuit(11) .itemOutputs('create:shadow_steel_casing') .duration(50) From 59ebbc257848519713745e11233757acd6fcaaab Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 15 Feb 2026 12:50:41 +0000 Subject: [PATCH 457/474] bunch of small quest fixes --- .../chapters/applied_energistics_2.snbt | 68 +++++++++++++++---- .../quests/chapters/gregtech_energy.snbt | 2 + .../quests/chapters/lv__low_voltage.snbt | 22 ++++++ config/ftbquests/quests/chapters/moon.snbt | 30 +++----- .../quests/chapters/questssteam_age.snbt | 2 + 5 files changed, 90 insertions(+), 34 deletions(-) diff --git a/config/ftbquests/quests/chapters/applied_energistics_2.snbt b/config/ftbquests/quests/chapters/applied_energistics_2.snbt index 0cd2b7618..cb966a400 100644 --- a/config/ftbquests/quests/chapters/applied_energistics_2.snbt +++ b/config/ftbquests/quests/chapters/applied_energistics_2.snbt @@ -141,15 +141,22 @@ type: "item" } { - id: "31CD18493D0D65BC" - item: "gtceu:hv_sifter" + id: "52F9B7116D01F7F8" + item: "gtceu:hv_autoclave" optional_task: true type: "item" } { - id: "52F9B7116D01F7F8" - item: "gtceu:hv_autoclave" + id: "394F7CEA050D785B" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(vintageimprovements:vibrating_table)item(gtceu:lv_sifter)item(gtceu:mv_sifter)item(gtceu:hv_sifter)item(gtceu:ev_sifter)item(gtceu:iv_sifter)item(gtceu:luv_sifter)item(gtceu:zpm_sifter)item(gtceu:uv_sifter))" + } + } optional_task: true + title: "{quests.ore_proc.sifter.task}" type: "item" } ] @@ -224,10 +231,9 @@ y: -0.5d } { - can_repeat: true dependencies: ["0C0B09D66D0CFFBA"] description: ["{quests.ae2.ae_guide.desc}"] - icon: "ae2:guide" + icon: "ae2:singularity" id: "6CF08AFB924905F0" rewards: [{ id: "34825A998EA88DB4" @@ -541,8 +547,16 @@ id: "0F1104DEEB22EF86" size: 1.0d tasks: [{ - id: "6D9B9EAFE680B768" - type: "checkmark" + id: "6CBA077E634222BC" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(gtceu:circuits/iv)" + } + } + title: "Any #gtceu:circuits/iv" + type: "item" }] title: "{quests.ae2.iv.title}" x: 3.0d @@ -641,8 +655,16 @@ id: "1F3621FABA32DC6B" size: 1.0d tasks: [{ - id: "4CE3EF0D1FAC1B6C" - type: "checkmark" + id: "7D229D57EB72CF9E" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(gtceu:circuits/luv)" + } + } + title: "Any #gtceu:circuits/luv" + type: "item" }] title: "{quests.ae2.luv.title}" x: 0.5d @@ -703,14 +725,11 @@ { dependencies: ["6CF08AFB924905F0"] description: ["{quests.ae2.hv.desc}"] + disable_toast: true icon: "tfg:hv_universal_circuit" icon_scale: 2.0d id: "3C3C21482E31267B" size: 1.0d - tasks: [{ - id: "1D4A01B75676146B" - type: "checkmark" - }] title: "{quests.ae2.hv.title}" x: 0.5d y: -2.5d @@ -1288,6 +1307,27 @@ x: -2.0d y: -9.0d } + { + can_repeat: true + dependencies: ["6CF08AFB924905F0"] + description: ["{quests.ae2.books_again.desc}"] + icon: "ae2:guide" + id: "21ED71AAA4EE4890" + optional: true + rewards: [{ + id: "0507786BBEF1A6C9" + item: "ae2:guide" + type: "item" + }] + shape: "none" + tasks: [{ + id: "26C00F0A52235B5D" + type: "checkmark" + }] + title: "{quests.ae2.books_again.title}" + x: -0.5d + y: -1.0d + } ] subtitle: ["{quests.ae2.subtitle}"] title: "{quests.ae2}" diff --git a/config/ftbquests/quests/chapters/gregtech_energy.snbt b/config/ftbquests/quests/chapters/gregtech_energy.snbt index 6cbf2cb41..85be931fc 100644 --- a/config/ftbquests/quests/chapters/gregtech_energy.snbt +++ b/config/ftbquests/quests/chapters/gregtech_energy.snbt @@ -1159,6 +1159,7 @@ "{quests.gregtech_energy.large_solar_t2.desc.2}" ] id: "3AEAB1930F4CC034" + optional: true subtitle: "{quests.gregtech_energy.large_solar_t2.subtitle}" tasks: [{ id: "149BF93064D121D3" @@ -1175,6 +1176,7 @@ ] description: ["{quests.gregtech_energy.large_solar_t3.desc}"] id: "7CA3A5EFE3D5B688" + optional: true subtitle: "{quests.gregtech_energy.large_solar_t3.subtitle}" tasks: [{ id: "612817A7FA759E03" diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 6e5b94f55..1c6a03d73 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -2025,6 +2025,28 @@ x: 7.0d y: 7.5d } + { + dependencies: ["292938760AB9A12B"] + dependency_requirement: "one_completed" + description: ["{quests.medium_voltage.mv_jetpack.desc}"] + id: "62737DC459F6F5F5" + optional: true + shape: "heart" + size: 1.0d + subtitle: "{quests.medium_voltage.mv_jetpack.subtitle}" + tasks: [{ + id: "78D9D6C90B1C751E" + item: { + Count: 1 + id: "gtceu:liquid_fuel_jetpack" + tag: { } + } + type: "item" + }] + title: "{quests.medium_voltage.mv_jetpack.title}" + x: 1.0d + y: 9.5d + } ] subtitle: ["{quests.low_voltage.subtitle}"] title: "{quests.low_voltage}" diff --git a/config/ftbquests/quests/chapters/moon.snbt b/config/ftbquests/quests/chapters/moon.snbt index 316b17e0f..4b10e573f 100644 --- a/config/ftbquests/quests/chapters/moon.snbt +++ b/config/ftbquests/quests/chapters/moon.snbt @@ -326,29 +326,14 @@ subtitle: "{quests.space_survival.stone_dust_centrifuging.subtitle}" tasks: [ { - id: "72B3F8FE3EA395BE" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(tfg:moon_stone_dust)item(tfg:glacio_stone_dust)item(tfg:moon_deepslate_dust))" - } - } - title: "{quests.space_survival.stone_dust_centrifuging.task}" + id: "63474F1F74F04C68" + item: "gtceu:helium_3_bucket" + optional_task: true type: "item" } { - disable_toast: true - id: "3B3532D745548B3D" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:lv_centrifuge)item(gtceu:mv_centrifuge)item(gtceu:hv_centrifuge)item(gtceu:ev_centrifuge)item(gtceu:iv_centrifuge)item(gtceu:luv_centrifuge)item(gtceu:zpm_centrifuge)item(gtceu:uv_centrifuge))" - } - } - title: "{quests.ore_proc.centrifuge_sifter.task}" - type: "item" + id: "4905C812B8FB0185" + type: "checkmark" } ] title: "{quests.space_survival.stone_dust_centrifuging.title}" @@ -377,6 +362,8 @@ dependencies: ["493D733A5438DD7E"] description: ["{quests.space_survival.zip_gun.desc}"] id: "3F68A259FA38D342" + optional: true + shape: "heart" subtitle: "{quests.space_survival.zip_gun.subtitle}" tasks: [{ id: "56DD17ED9D60A1BD" @@ -618,6 +605,7 @@ description: ["{quests.space_survival.redstone_railgun.desc}"] icon: "minecraft:redstone_torch" id: "0538DCD4D4811574" + shape: "circle" subtitle: "{quests.space_survival.redstone_railgun.subtitle}" tasks: [{ id: "63FFA0CBDDD635B9" @@ -633,6 +621,7 @@ description: ["{quests.space_survival.robot_arm_railgun.desc}"] icon: "gtceu:hv_robot_arm" id: "7118634C06AE1141" + shape: "circle" subtitle: "{quests.space_survival.robot_arm_railgun.subtitle}" tasks: [{ id: "6C995E2B46963E1E" @@ -678,6 +667,7 @@ description: ["{quests.space_survival.delay_railgun.desc}"] icon: "create:cuckoo_clock" id: "183AC1085D558086" + shape: "circle" subtitle: "{quests.space_survival.delay_railgun.subtitle}" tasks: [{ id: "119FD14202435E03" diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt index 753639ff5..e2a860202 100644 --- a/config/ftbquests/quests/chapters/questssteam_age.snbt +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -475,11 +475,13 @@ { id: "72112F5EC062766C" item: "gtceu:treated_wood_dust" + optional_task: true type: "item" } { id: "0D95727196D033B5" item: "gtceu:treated_wood_plate" + optional_task: true type: "item" } { From c8951d6d2d526ea940db28654656a1c66e08e594 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 15 Feb 2026 12:55:05 +0000 Subject: [PATCH 458/474] alum double plates in LV #3030 --- .../quests/chapters/mv__medium_voltage.snbt | 22 ------------------- .../recipes.material_tag_prefixes.js | 7 +++++- .../ores_and_materials/recipes.materials.js | 4 ++-- 3 files changed, 8 insertions(+), 25 deletions(-) diff --git a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt index e41e02230..e1a07236d 100644 --- a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt +++ b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt @@ -1283,28 +1283,6 @@ x: 6.0d y: 8.0d } - { - dependencies: ["45769156F4253C86"] - dependency_requirement: "one_completed" - description: ["{quests.medium_voltage.mv_jetpack.desc}"] - id: "6FA956DAA72D6139" - optional: true - shape: "heart" - size: 1.0d - subtitle: "{quests.medium_voltage.mv_jetpack.subtitle}" - tasks: [{ - id: "022324F9630960C6" - item: { - Count: 1 - id: "gtceu:liquid_fuel_jetpack" - tag: { } - } - type: "item" - }] - title: "{quests.medium_voltage.mv_jetpack.title}" - x: -5.0d - y: 5.0d - } { dependencies: ["75F38905DEA60F15"] dependency_requirement: "one_completed" diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tag_prefixes.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tag_prefixes.js index 9bc386672..416da0f43 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tag_prefixes.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.material_tag_prefixes.js @@ -207,7 +207,12 @@ function processPlateDouble(event, material) { .EUt(24) } - addMaterialWelding(event, doublePlateItem, plateItem, plateItem, material, 4, 2); + let tier = 2; + // Allow double aluminium plates with LV machines + if (material === GTMaterials.Aluminium) + tier = 1; + + addMaterialWelding(event, doublePlateItem, plateItem, plateItem, material, 4, tier); } /** diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js index 582f842c5..f04a1637c 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.materials.js @@ -184,9 +184,9 @@ function addMaterialCasting(event, outputItem, ceramicMold, isFireMold, gtMold, * @param {Internal.ItemStack} inputItem2 * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material * @param {number} tierThreshold - * Should be 4 for everything except double ingots, which should be 5 + * TFC Anvil tier. Should be 4 for everything except double ingots, which should be 5 * @param {number} nonTfcTier - * What recipe tier should non-tfc materials use? 0 for ulv, 1 for lv, etc + * GregTech voltage tier. What recipe tier should non-tfc materials use? 0 for ulv, 1 for lv, etc */ function addMaterialWelding(event, outputItem, inputItem1, inputItem2, material, tierThreshold, nonTfcTier) { const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY); From fef8657e5a737e176f69771a1f081216805d231b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 15 Feb 2026 13:11:40 +0000 Subject: [PATCH 459/474] langs --- kubejs/assets/gtceu/lang/en_us.json | 2 + kubejs/assets/mcw_tfc_aio/lang/ru_ru.json | 1948 +++++++++++++++++++++ kubejs/assets/tfg/lang/en_us.json | 2 + kubejs/assets/tfg/lang/ru_ru.json | 4 + 4 files changed, 1956 insertions(+) create mode 100644 kubejs/assets/mcw_tfc_aio/lang/ru_ru.json diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index d7525302c..6a57cbc46 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -172,6 +172,8 @@ "material.gtceu.dense_ostrum_vapor": "Dense Ostrum Vapor", "material.gtceu.lightweight_ostrum_vapor": "Lightweight Ostrum Vapor", "material.gtceu.ostrum_vapor": "Ostrum Vapor", + "material.gtceu.light_fuel": "Light Oil Residue", + "material.gtceu.heavy_fuel": "Heavy Oil Residue", "metaitem.dust.tooltip.purify": "Drop in Water to get Clean Dust", "metaitem.crushed.tooltip.purify": "Drop in Water to get Purified Ore", "item.gtceu.tool.behavior.silk_ice": "§dSculptor:§r Silk harvests Packed Ice", diff --git a/kubejs/assets/mcw_tfc_aio/lang/ru_ru.json b/kubejs/assets/mcw_tfc_aio/lang/ru_ru.json new file mode 100644 index 000000000..02e18c5f0 --- /dev/null +++ b/kubejs/assets/mcw_tfc_aio/lang/ru_ru.json @@ -0,0 +1,1948 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "itemGroup.mcw_tfc_aio": "Macaw's TFC All-In-One", + "itemGroup.fences": "Macaw's TFC: Заборы", + "death.attack.wired_fence": "%1$s пытался перелезть через проволочный забор", + "death.attack.wired_fence.player": "%1$s пытался перелезть через проволочный забор, убегая от %2$s", + "block.mcw_tfc_aio.fences.acacia_fences.acacia_picket_fence": "Акациевый штакетник", + "block.mcw_tfc_aio.fences.acacia_fences.acacia_stockade_fence": "Акациевый щитовой забор", + "block.mcw_tfc_aio.fences.acacia_fences.acacia_horse_fence": "Акациевый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.acacia_fences.acacia_wired_fence": "Акациевый проволочный забор", + "block.mcw_tfc_aio.fences.ash_fences.ash_picket_fence": "Ясеневый штакетник", + "block.mcw_tfc_aio.fences.ash_fences.ash_stockade_fence": "Ясеневый щитовой забор", + "block.mcw_tfc_aio.fences.ash_fences.ash_horse_fence": "Ясеневый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.ash_fences.ash_wired_fence": "Ясеневый проволочный забор", + "block.mcw_tfc_aio.fences.aspen_fences.aspen_picket_fence": "Осиновый штакетник", + "block.mcw_tfc_aio.fences.aspen_fences.aspen_stockade_fence": "Осиновый щитовой забор", + "block.mcw_tfc_aio.fences.aspen_fences.aspen_horse_fence": "Осиновый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.aspen_fences.aspen_wired_fence": "Осиновый проволочный забор", + "block.mcw_tfc_aio.fences.birch_fences.birch_picket_fence": "Берёзовый штакетник", + "block.mcw_tfc_aio.fences.birch_fences.birch_stockade_fence": "Берёзовый щитовой забор", + "block.mcw_tfc_aio.fences.birch_fences.birch_horse_fence": "Берёзовый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.birch_fences.birch_wired_fence": "Берёзовый проволочный забор", + "block.mcw_tfc_aio.fences.blackwood_fences.blackwood_picket_fence": "Гренадиловый штакетник", + "block.mcw_tfc_aio.fences.blackwood_fences.blackwood_stockade_fence": "Гренадиловый щитовой забор", + "block.mcw_tfc_aio.fences.blackwood_fences.blackwood_horse_fence": "Гренадиловый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.blackwood_fences.blackwood_wired_fence": "Гренадиловый проволочный забор", + "block.mcw_tfc_aio.fences.chestnut_fences.chestnut_picket_fence": "Каштановый штакетник", + "block.mcw_tfc_aio.fences.chestnut_fences.chestnut_stockade_fence": "Каштановый щитовой забор", + "block.mcw_tfc_aio.fences.chestnut_fences.chestnut_horse_fence": "Каштановый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.chestnut_fences.chestnut_wired_fence": "Каштановый проволочный забор", + "block.mcw_tfc_aio.fences.douglas_fir_fences.douglas_fir_picket_fence": "Дугласовый штакетник", + "block.mcw_tfc_aio.fences.douglas_fir_fences.douglas_fir_stockade_fence": "Дугласовый щитовой забор", + "block.mcw_tfc_aio.fences.douglas_fir_fences.douglas_fir_horse_fence": "Дугласовый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.douglas_fir_fences.douglas_fir_wired_fence": "Дугласовый проволочный забор", + "block.mcw_tfc_aio.fences.hickory_fences.hickory_picket_fence": "Гикориевый штакетник", + "block.mcw_tfc_aio.fences.hickory_fences.hickory_stockade_fence": "Гикориевый щитовой забор", + "block.mcw_tfc_aio.fences.hickory_fences.hickory_horse_fence": "Гикориевый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.hickory_fences.hickory_wired_fence": "Гикориевый проволочный забор", + "block.mcw_tfc_aio.fences.kapok_fences.kapok_picket_fence": "Сейбовый штакетник", + "block.mcw_tfc_aio.fences.kapok_fences.kapok_stockade_fence": "Сейбовый щитовой забор", + "block.mcw_tfc_aio.fences.kapok_fences.kapok_horse_fence": "Сейбовый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.kapok_fences.kapok_wired_fence": "Сейбовый проволочный забор", + "block.mcw_tfc_aio.fences.mangrove_fences.mangrove_picket_fence": "Мангровый штакетник", + "block.mcw_tfc_aio.fences.mangrove_fences.mangrove_stockade_fence": "Мангровый щитовой забор", + "block.mcw_tfc_aio.fences.mangrove_fences.mangrove_horse_fence": "Мангровый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.mangrove_fences.mangrove_wired_fence": "Мангровый проволочный забор", + "block.mcw_tfc_aio.fences.maple_fences.maple_picket_fence": "Кленовый штакетник", + "block.mcw_tfc_aio.fences.maple_fences.maple_stockade_fence": "Кленовый щитовой забор", + "block.mcw_tfc_aio.fences.maple_fences.maple_horse_fence": "Кленовый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.maple_fences.maple_wired_fence": "Кленовый проволочный забор", + "block.mcw_tfc_aio.fences.palm_fences.palm_picket_fence": "Пальмовый штакетник", + "block.mcw_tfc_aio.fences.palm_fences.palm_stockade_fence": "Пальмовый щитовой забор", + "block.mcw_tfc_aio.fences.palm_fences.palm_horse_fence": "Пальмовый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.palm_fences.palm_wired_fence": "Пальмовый проволочный забор", + "block.mcw_tfc_aio.fences.pine_fences.pine_picket_fence": "Сосновый штакетник", + "block.mcw_tfc_aio.fences.pine_fences.pine_stockade_fence": "Сосновый щитовой забор", + "block.mcw_tfc_aio.fences.pine_fences.pine_horse_fence": "Сосновый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.pine_fences.pine_wired_fence": "Сосновый проволочный забор", + "block.mcw_tfc_aio.fences.rosewood_fences.rosewood_picket_fence": "Палисандровый штакетник", + "block.mcw_tfc_aio.fences.rosewood_fences.rosewood_stockade_fence": "Палисандровый щитовой забор", + "block.mcw_tfc_aio.fences.rosewood_fences.rosewood_horse_fence": "Палисандровый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.rosewood_fences.rosewood_wired_fence": "Палисандровый проволочный забор", + "block.mcw_tfc_aio.fences.sequoia_fences.sequoia_picket_fence": "Секвойевый штакетник", + "block.mcw_tfc_aio.fences.sequoia_fences.sequoia_stockade_fence": "Секвойевый щитовой забор", + "block.mcw_tfc_aio.fences.sequoia_fences.sequoia_horse_fence": "Секвойевый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.sequoia_fences.sequoia_wired_fence": "Секвойевый проволочный забор", + "block.mcw_tfc_aio.fences.spruce_fences.spruce_picket_fence": "Еловый штакетник", + "block.mcw_tfc_aio.fences.spruce_fences.spruce_stockade_fence": "Еловый щитовой забор", + "block.mcw_tfc_aio.fences.spruce_fences.spruce_horse_fence": "Еловый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.spruce_fences.spruce_wired_fence": "Еловый проволочный забор", + "block.mcw_tfc_aio.fences.sycamore_fences.sycamore_picket_fence": "Платановый штакетник", + "block.mcw_tfc_aio.fences.sycamore_fences.sycamore_stockade_fence": "Платановый щитовой забор", + "block.mcw_tfc_aio.fences.sycamore_fences.sycamore_horse_fence": "Платановый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.sycamore_fences.sycamore_wired_fence": "Платановый проволочный забор", + "block.mcw_tfc_aio.fences.white_cedar_fences.white_cedar_picket_fence": "Кедровый штакетник", + "block.mcw_tfc_aio.fences.white_cedar_fences.white_cedar_stockade_fence": "Кедровый щитовой забор", + "block.mcw_tfc_aio.fences.white_cedar_fences.white_cedar_horse_fence": "Кедровый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.white_cedar_fences.white_cedar_wired_fence": "Кедровый проволочный забор", + "block.mcw_tfc_aio.fences.willow_fences.willow_picket_fence": "Ивовый штакетник", + "block.mcw_tfc_aio.fences.willow_fences.willow_stockade_fence": "Ивовый щитовой забор", + "block.mcw_tfc_aio.fences.willow_fences.willow_horse_fence": "Ивовый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.willow_fences.willow_wired_fence": "Ивовый проволочный забор", + "block.mcw_tfc_aio.fences.oak_fences.oak_picket_fence": "Дубовый штакетник", + "block.mcw_tfc_aio.fences.oak_fences.oak_stockade_fence": "Дубовый щитовой забор", + "block.mcw_tfc_aio.fences.oak_fences.oak_horse_fence": "Дубовый забор с крестообразной решеткой", + "block.mcw_tfc_aio.fences.oak_fences.oak_wired_fence": "Дубовый проволочный забор", + "block.mcw_tfc_aio.fences.other_fences.bamboo_fence": "Бамбуковый забор", + "block.mcw_tfc_aio.fences.other_fences.hedge": "Живая изгородь", + "block.mcw_tfc_aio.fences.oak_fences.oak_highley_gate": "Дубовая распашная калитка", + "block.mcw_tfc_aio.fences.spruce_fences.spruce_highley_gate": "Еловая распашная калитка", + "block.mcw_tfc_aio.fences.birch_fences.birch_highley_gate": "Берёзовая распашная калитка", + "block.mcw_tfc_aio.fences.kapok_fences.kapok_highley_gate": "Сейбовая распашная калитка", + "block.mcw_tfc_aio.fences.acacia_fences.acacia_highley_gate": "Акациевая распашная калитка", + "block.mcw_tfc_aio.fences.hickory_fences.hickory_highley_gate": "Гикориевая распашная калитка", + "block.mcw_tfc_aio.fences.ash_fences.ash_highley_gate": "Ясеневая распашная калитка", + "block.mcw_tfc_aio.fences.blackwood_fences.blackwood_highley_gate": "Гренадиловый распашная калитка", + "block.mcw_tfc_aio.fences.aspen_fences.aspen_highley_gate": "Осиновая распашная калитка", + "block.mcw_tfc_aio.fences.chestnut_fences.chestnut_highley_gate": "Каштановая распашная калитка", + "block.mcw_tfc_aio.fences.douglas_fir_fences.douglas_fir_highley_gate": "Дугласовая распашная калитка", + "block.mcw_tfc_aio.fences.mangrove_fences.mangrove_highley_gate": "Мангровая распашная калитка", + "block.mcw_tfc_aio.fences.maple_fences.maple_highley_gate": "Кленовая распашная калитка", + "block.mcw_tfc_aio.fences.palm_fences.palm_highley_gate": "Пальмовая распашная калитка", + "block.mcw_tfc_aio.fences.pine_fences.pine_highley_gate": "Сосновая распашная калитка", + "block.mcw_tfc_aio.fences.rosewood_fences.rosewood_highley_gate": "Палисандровая распашная калитка", + "block.mcw_tfc_aio.fences.sequoia_fences.sequoia_highley_gate": "Секвойевая распашная калитка", + "block.mcw_tfc_aio.fences.sycamore_fences.sycamore_highley_gate": "Платановая распашная калитка", + "block.mcw_tfc_aio.fences.white_cedar_fences.white_cedar_highley_gate": "Кедровая распашная калитка", + "block.mcw_tfc_aio.fences.willow_fences.willow_highley_gate": "Ивовая распашная калитка", + "block.mcw_tfc_aio.fences.oak_fences.oak_pyramid_gate": "Дубовая пирамидальная калитка", + "block.mcw_tfc_aio.fences.spruce_fences.spruce_pyramid_gate": "Еловая пирамидальная калитка", + "block.mcw_tfc_aio.fences.birch_fences.birch_pyramid_gate": "Берёзовая пирамидальная калитка", + "block.mcw_tfc_aio.fences.kapok_fences.kapok_pyramid_gate": "Сейбовая пирамидальная калитка", + "block.mcw_tfc_aio.fences.acacia_fences.acacia_pyramid_gate": "Акациевая пирамидальная калитка", + "block.mcw_tfc_aio.fences.hickory_fences.hickory_pyramid_gate": "Гикориевая пирамидальная калитка", + "block.mcw_tfc_aio.fences.ash_fences.ash_pyramid_gate": "Ясеневая пирамидальная калитка", + "block.mcw_tfc_aio.fences.aspen_fences.aspen_pyramid_gate": "Осиновая пирамидальная калитка", + "block.mcw_tfc_aio.fences.blackwood_fences.blackwood_pyramid_gate": "Гренадиловая пирамидальная калитка", + "block.mcw_tfc_aio.fences.chestnut_fences.chestnut_pyramid_gate": "Каштановая пирамидальная калитка", + "block.mcw_tfc_aio.fences.douglas_fir_fences.douglas_fir_pyramid_gate": "Дугласовая пирамидальная калитка", + "block.mcw_tfc_aio.fences.mangrove_fences.mangrove_pyramid_gate": "Мангровая пирамидальная калитка", + "block.mcw_tfc_aio.fences.maple_fences.maple_pyramid_gate": "Кленовая пирамидальная калитка", + "block.mcw_tfc_aio.fences.palm_fences.palm_pyramid_gate": "Пальмовая пирамидальная калитка", + "block.mcw_tfc_aio.fences.pine_fences.pine_pyramid_gate": "Сосновая пирамидальная калитка", + "block.mcw_tfc_aio.fences.rosewood_fences.rosewood_pyramid_gate": "Палисандровая пирамидальная калитка", + "block.mcw_tfc_aio.fences.sequoia_fences.sequoia_pyramid_gate": "Секвойевая пирамидальная калитка", + "block.mcw_tfc_aio.fences.sycamore_fences.sycamore_pyramid_gate": "Платановая пирамидальная калитка", + "block.mcw_tfc_aio.fences.white_cedar_fences.white_cedar_pyramid_gate": "Кедровая пирамидальная калитка", + "block.mcw_tfc_aio.fences.willow_fences.willow_pyramid_gate": "Ивовая пирамидальная калитка", + "item.mcw_tfc_aio.rain_gutter": "Водосточный жёлоб", + "item.mcw_tfc_aio.roofing_hammer": "Кровельный молоток", + "itemGroup.roofs": "Macaw's TFC Roofs", + "itemGroup.roofs2": "Macaw's TFC: Навесы и желоба", + "mcw_tfc_aio.hammer.desc": "Нажмите ПКМ по верхней части крыши, чтобы переключать режимы", + "mcw_tfc_aio.roofitem.desc": "Ингредиент для крафта", + "block.mcw_tfc_aio.roofs.white_terracotta_roofs.white_terracotta_roof": "Белая терракотовая крыша", + "block.mcw_tfc_aio.roofs.white_terracotta_roofs.white_terracotta_attic_roof": "Белая терракотовая мансардная крыша", + "block.mcw_tfc_aio.roofs.white_terracotta_roofs.white_terracotta_top_roof": "Белая терракотовая верхняя крыша", + "block.mcw_tfc_aio.roofs.white_terracotta_roofs.white_terracotta_lower_roof": "Белая терракотовая нижняя крыша", + "block.mcw_tfc_aio.roofs.white_terracotta_roofs.white_terracotta_steep_roof": "Белая терракотовая крутая крыша", + "block.mcw_tfc_aio.roofs.white_terracotta_roofs.white_terracotta_upper_lower_roof": "Белая терракотовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.white_terracotta_roofs.white_terracotta_upper_steep_roof": "Белая терракотовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.light_gray_terracotta_roofs.light_gray_terracotta_roof": "Светло-серая терракотовая крыша", + "block.mcw_tfc_aio.roofs.light_gray_terracotta_roofs.light_gray_terracotta_attic_roof": "Светло-серая терракотовая мансардная крыша", + "block.mcw_tfc_aio.roofs.light_gray_terracotta_roofs.light_gray_terracotta_top_roof": "Светло-серая терракотовая верхняя крыша", + "block.mcw_tfc_aio.roofs.light_gray_terracotta_roofs.light_gray_terracotta_lower_roof": "Светло-серая терракотовая нижняя крыша", + "block.mcw_tfc_aio.roofs.light_gray_terracotta_roofs.light_gray_terracotta_steep_roof": "Светло-серая терракотовая крутая крыша", + "block.mcw_tfc_aio.roofs.light_gray_terracotta_roofs.light_gray_terracotta_upper_lower_roof": "Светло-серая терракотовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.light_gray_terracotta_roofs.light_gray_terracotta_upper_steep_roof": "Светло-серая терракотовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.gray_terracotta_roofs.gray_terracotta_roof": "Серая терракотовая крыша", + "block.mcw_tfc_aio.roofs.gray_terracotta_roofs.gray_terracotta_attic_roof": "Серая терракотовая мансардная крыша", + "block.mcw_tfc_aio.roofs.gray_terracotta_roofs.gray_terracotta_top_roof": "Серая терракотовая верхняя крыша", + "block.mcw_tfc_aio.roofs.gray_terracotta_roofs.gray_terracotta_lower_roof": "Серая терракотовая нижняя крыша", + "block.mcw_tfc_aio.roofs.gray_terracotta_roofs.gray_terracotta_steep_roof": "Серая терракотовая крутая крыша", + "block.mcw_tfc_aio.roofs.gray_terracotta_roofs.gray_terracotta_upper_lower_roof": "Серая терракотовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.gray_terracotta_roofs.gray_terracotta_upper_steep_roof": "Серая терракотовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.black_terracotta_roofs.black_terracotta_roof": "Чёрная терракотовая крыша", + "block.mcw_tfc_aio.roofs.black_terracotta_roofs.black_terracotta_attic_roof": "Чёрная терракотовая мансардная крыша", + "block.mcw_tfc_aio.roofs.black_terracotta_roofs.black_terracotta_top_roof": "Чёрная терракотовая верхняя крыша", + "block.mcw_tfc_aio.roofs.black_terracotta_roofs.black_terracotta_lower_roof": "Чёрная терракотовая нижняя крыша", + "block.mcw_tfc_aio.roofs.black_terracotta_roofs.black_terracotta_steep_roof": "Чёрная терракотовая крутая крыша", + "block.mcw_tfc_aio.roofs.black_terracotta_roofs.black_terracotta_upper_lower_roof": "Чёрная терракотовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.black_terracotta_roofs.black_terracotta_upper_steep_roof": "Чёрная терракотовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.blue_terracotta_roofs.blue_terracotta_roof": "Синяя терракотовая крыша", + "block.mcw_tfc_aio.roofs.blue_terracotta_roofs.blue_terracotta_attic_roof": "Синяя терракотовая мансардная крыша", + "block.mcw_tfc_aio.roofs.blue_terracotta_roofs.blue_terracotta_top_roof": "Синяя терракотовая верхняя крыша", + "block.mcw_tfc_aio.roofs.blue_terracotta_roofs.blue_terracotta_lower_roof": "Синяя терракотовая нижняя крыша", + "block.mcw_tfc_aio.roofs.blue_terracotta_roofs.blue_terracotta_steep_roof": "Синяя терракотовая крутая крыша", + "block.mcw_tfc_aio.roofs.blue_terracotta_roofs.blue_terracotta_upper_lower_roof": "Синяя терракотовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.blue_terracotta_roofs.blue_terracotta_upper_steep_roof": "Синяя терракотовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.light_blue_terracotta_roofs.light_blue_terracotta_roof": "Голубая терракотовая крыша", + "block.mcw_tfc_aio.roofs.light_blue_terracotta_roofs.light_blue_terracotta_attic_roof": "Голубая терракотовая мансардная крыша", + "block.mcw_tfc_aio.roofs.light_blue_terracotta_roofs.light_blue_terracotta_top_roof": "Голубая терракотовая верхняя крыша", + "block.mcw_tfc_aio.roofs.light_blue_terracotta_roofs.light_blue_terracotta_lower_roof": "Голубая терракотовая нижняя крыша", + "block.mcw_tfc_aio.roofs.light_blue_terracotta_roofs.light_blue_terracotta_steep_roof": "Голубая терракотовая крутая крыша", + "block.mcw_tfc_aio.roofs.light_blue_terracotta_roofs.light_blue_terracotta_upper_lower_roof": "Голубая терракотовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.light_blue_terracotta_roofs.light_blue_terracotta_upper_steep_roof": "Голубая терракотовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.cyan_terracotta_roofs.cyan_terracotta_roof": "Бирюзовая терракотовая крыша", + "block.mcw_tfc_aio.roofs.cyan_terracotta_roofs.cyan_terracotta_attic_roof": "Бирюзовая терракотовая мансардная крыша", + "block.mcw_tfc_aio.roofs.cyan_terracotta_roofs.cyan_terracotta_top_roof": "Бирюзовая терракотовая верхняя крыша", + "block.mcw_tfc_aio.roofs.cyan_terracotta_roofs.cyan_terracotta_lower_roof": "Бирюзовая терракотовая нижняя крыша", + "block.mcw_tfc_aio.roofs.cyan_terracotta_roofs.cyan_terracotta_steep_roof": "Бирюзовая терракотовая крутая крыша", + "block.mcw_tfc_aio.roofs.cyan_terracotta_roofs.cyan_terracotta_upper_lower_roof": "Бирюзовая терракотовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.cyan_terracotta_roofs.cyan_terracotta_upper_steep_roof": "Бирюзовая терракотовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.lime_terracotta_roofs.lime_terracotta_roof": "Лаймовая терракотовая крыша", + "block.mcw_tfc_aio.roofs.lime_terracotta_roofs.lime_terracotta_attic_roof": "Лаймовая терракотовая мансардная крыша", + "block.mcw_tfc_aio.roofs.lime_terracotta_roofs.lime_terracotta_top_roof": "Лаймовая терракотовая верхняя крыша", + "block.mcw_tfc_aio.roofs.lime_terracotta_roofs.lime_terracotta_lower_roof": "Лаймовая терракотовая нижняя крыша", + "block.mcw_tfc_aio.roofs.lime_terracotta_roofs.lime_terracotta_steep_roof": "Лаймовая терракотовая крутая крыша", + "block.mcw_tfc_aio.roofs.lime_terracotta_roofs.lime_terracotta_upper_lower_roof": "Лаймовая терракотовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.lime_terracotta_roofs.lime_terracotta_upper_steep_roof": "Лаймовая терракотовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.green_terracotta_roofs.green_terracotta_roof": "Зелёная терракотовая крыша", + "block.mcw_tfc_aio.roofs.green_terracotta_roofs.green_terracotta_attic_roof": "Зелёная терракотовая мансардная крыша", + "block.mcw_tfc_aio.roofs.green_terracotta_roofs.green_terracotta_top_roof": "Зелёная терракотовая верхняя крыша", + "block.mcw_tfc_aio.roofs.green_terracotta_roofs.green_terracotta_lower_roof": "Зелёная терракотовая нижняя крыша", + "block.mcw_tfc_aio.roofs.green_terracotta_roofs.green_terracotta_steep_roof": "Зелёная терракотовая крутая крыша", + "block.mcw_tfc_aio.roofs.green_terracotta_roofs.green_terracotta_upper_lower_roof": "Зелёная терракотовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.green_terracotta_roofs.green_terracotta_upper_steep_roof": "Зелёная терракотовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.yellow_terracotta_roofs.yellow_terracotta_roof": "Жёлтая терракотовая крыша", + "block.mcw_tfc_aio.roofs.yellow_terracotta_roofs.yellow_terracotta_attic_roof": "Жёлтая терракотовая мансардная крыша", + "block.mcw_tfc_aio.roofs.yellow_terracotta_roofs.yellow_terracotta_top_roof": "Жёлтая терракотовая верхняя крыша", + "block.mcw_tfc_aio.roofs.yellow_terracotta_roofs.yellow_terracotta_lower_roof": "Жёлтая терракотовая нижняя крыша", + "block.mcw_tfc_aio.roofs.yellow_terracotta_roofs.yellow_terracotta_steep_roof": "Жёлтая терракотовая крутая крыша", + "block.mcw_tfc_aio.roofs.yellow_terracotta_roofs.yellow_terracotta_upper_lower_roof": "Жёлтая терракотовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.yellow_terracotta_roofs.yellow_terracotta_upper_steep_roof": "Жёлтая терракотовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.brown_terracotta_roofs.brown_terracotta_roof": "Коричневая терракотовая крыша", + "block.mcw_tfc_aio.roofs.brown_terracotta_roofs.brown_terracotta_attic_roof": "Коричневая терракотовая мансардная крыша", + "block.mcw_tfc_aio.roofs.brown_terracotta_roofs.brown_terracotta_top_roof": "Коричневая терракотовая верхняя крыша", + "block.mcw_tfc_aio.roofs.brown_terracotta_roofs.brown_terracotta_lower_roof": "Коричневая терракотовая нижняя крыша", + "block.mcw_tfc_aio.roofs.brown_terracotta_roofs.brown_terracotta_steep_roof": "Коричневая терракотовая крутая крыша", + "block.mcw_tfc_aio.roofs.brown_terracotta_roofs.brown_terracotta_upper_lower_roof": "Коричневая терракотовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.brown_terracotta_roofs.brown_terracotta_upper_steep_roof": "Коричневая терракотовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.orange_terracotta_roofs.orange_terracotta_roof": "Оранжевая терракотовая крыша", + "block.mcw_tfc_aio.roofs.orange_terracotta_roofs.orange_terracotta_attic_roof": "Оранжевая терракотовая мансардная крыша", + "block.mcw_tfc_aio.roofs.orange_terracotta_roofs.orange_terracotta_top_roof": "Оранжевая терракотовая верхняя крыша", + "block.mcw_tfc_aio.roofs.orange_terracotta_roofs.orange_terracotta_lower_roof": "Оранжевая терракотовая нижняя крыша", + "block.mcw_tfc_aio.roofs.orange_terracotta_roofs.orange_terracotta_steep_roof": "Оранжевая терракотовая крутая крыша", + "block.mcw_tfc_aio.roofs.orange_terracotta_roofs.orange_terracotta_upper_lower_roof": "Оранжевая терракотовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.orange_terracotta_roofs.orange_terracotta_upper_steep_roof": "Оранжевая терракотовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.red_terracotta_roofs.red_terracotta_roof": "Красная терракотовая крыша", + "block.mcw_tfc_aio.roofs.red_terracotta_roofs.red_terracotta_attic_roof": "Красная терракотовая мансардная крыша", + "block.mcw_tfc_aio.roofs.red_terracotta_roofs.red_terracotta_top_roof": "Красная терракотовая верхняя крыша", + "block.mcw_tfc_aio.roofs.red_terracotta_roofs.red_terracotta_lower_roof": "Красная терракотовая нижняя крыша", + "block.mcw_tfc_aio.roofs.red_terracotta_roofs.red_terracotta_steep_roof": "Красная терракотовая крутая крыша", + "block.mcw_tfc_aio.roofs.red_terracotta_roofs.red_terracotta_upper_lower_roof": "Красная терракотовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.red_terracotta_roofs.red_terracotta_upper_steep_roof": "Красная терракотовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.magenta_terracotta_roofs.magenta_terracotta_roof": "Пурпурная терракотовая крыша", + "block.mcw_tfc_aio.roofs.magenta_terracotta_roofs.magenta_terracotta_attic_roof": "Пурпурная терракотовая мансардная крыша", + "block.mcw_tfc_aio.roofs.magenta_terracotta_roofs.magenta_terracotta_top_roof": "Пурпурная терракотовая верхняя крыша", + "block.mcw_tfc_aio.roofs.magenta_terracotta_roofs.magenta_terracotta_lower_roof": "Пурпурная терракотовая нижняя крыша", + "block.mcw_tfc_aio.roofs.magenta_terracotta_roofs.magenta_terracotta_steep_roof": "Пурпурная терракотовая крутая крыша", + "block.mcw_tfc_aio.roofs.magenta_terracotta_roofs.magenta_terracotta_upper_lower_roof": "Пурпурная терракотовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.magenta_terracotta_roofs.magenta_terracotta_upper_steep_roof": "Пурпурная терракотовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.pink_terracotta_roofs.pink_terracotta_roof": "Розовая терракотовая крыша", + "block.mcw_tfc_aio.roofs.pink_terracotta_roofs.pink_terracotta_attic_roof": "Розовая терракотовая мансардная крыша", + "block.mcw_tfc_aio.roofs.pink_terracotta_roofs.pink_terracotta_top_roof": "Розовая терракотовая верхняя крыша", + "block.mcw_tfc_aio.roofs.pink_terracotta_roofs.pink_terracotta_lower_roof": "Розовая терракотовая нижняя крыша", + "block.mcw_tfc_aio.roofs.pink_terracotta_roofs.pink_terracotta_steep_roof": "Розовая терракотовая крутая крыша", + "block.mcw_tfc_aio.roofs.pink_terracotta_roofs.pink_terracotta_upper_lower_roof": "Розовая терракотовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.pink_terracotta_roofs.pink_terracotta_upper_steep_roof": "Розовая терракотовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.purple_terracotta_roofs.purple_terracotta_roof": "Фиолетовая терракотовая крыша", + "block.mcw_tfc_aio.roofs.purple_terracotta_roofs.purple_terracotta_attic_roof": "Фиолетовая терракотовая мансардная крыша", + "block.mcw_tfc_aio.roofs.purple_terracotta_roofs.purple_terracotta_top_roof": "Фиолетовая терракотовая верхняя крыша", + "block.mcw_tfc_aio.roofs.purple_terracotta_roofs.purple_terracotta_lower_roof": "Фиолетовая терракотовая нижняя крыша", + "block.mcw_tfc_aio.roofs.purple_terracotta_roofs.purple_terracotta_steep_roof": "Фиолетовая терракотовая крутая крыша", + "block.mcw_tfc_aio.roofs.purple_terracotta_roofs.purple_terracotta_upper_lower_roof": "Фиолетовая терракотовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.purple_terracotta_roofs.purple_terracotta_upper_steep_roof": "Фиолетовая терракотовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.white_concrete_roofs.white_concrete_roof": "Белая бетонная крыша", + "block.mcw_tfc_aio.roofs.white_concrete_roofs.white_concrete_attic_roof": "Белая бетонная мансардная крыша", + "block.mcw_tfc_aio.roofs.white_concrete_roofs.white_concrete_top_roof": "Белая бетонная верхняя крыша", + "block.mcw_tfc_aio.roofs.white_concrete_roofs.white_concrete_lower_roof": "Белая бетонная нижняя крыша", + "block.mcw_tfc_aio.roofs.white_concrete_roofs.white_concrete_steep_roof": "Белая бетонная крутая крыша", + "block.mcw_tfc_aio.roofs.white_concrete_roofs.white_concrete_upper_lower_roof": "Белая бетонная верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.white_concrete_roofs.white_concrete_upper_steep_roof": "Белая бетонная верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.light_gray_concrete_roofs.light_gray_concrete_roof": "Светло-серый бетонная крыша", + "block.mcw_tfc_aio.roofs.light_gray_concrete_roofs.light_gray_concrete_attic_roof": "Светло-серый бетонная мансардная крыша", + "block.mcw_tfc_aio.roofs.light_gray_concrete_roofs.light_gray_concrete_top_roof": "Светло-серый бетонная верхняя крыша", + "block.mcw_tfc_aio.roofs.light_gray_concrete_roofs.light_gray_concrete_lower_roof": "Светло-серый бетонная нижняя крыша", + "block.mcw_tfc_aio.roofs.light_gray_concrete_roofs.light_gray_concrete_steep_roof": "Светло-серый бетонная крутая крыша", + "block.mcw_tfc_aio.roofs.light_gray_concrete_roofs.light_gray_concrete_upper_lower_roof": "Светло-серый бетонная верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.light_gray_concrete_roofs.light_gray_concrete_upper_steep_roof": "Светло-серый бетонная верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.gray_concrete_roofs.gray_concrete_roof": "Серая бетонная крыша", + "block.mcw_tfc_aio.roofs.gray_concrete_roofs.gray_concrete_attic_roof": "Серая бетонная мансардная крыша", + "block.mcw_tfc_aio.roofs.gray_concrete_roofs.gray_concrete_top_roof": "Серая бетонная верхняя крыша", + "block.mcw_tfc_aio.roofs.gray_concrete_roofs.gray_concrete_lower_roof": "Серая бетонная нижняя крыша", + "block.mcw_tfc_aio.roofs.gray_concrete_roofs.gray_concrete_steep_roof": "Серая бетонная крутая крыша", + "block.mcw_tfc_aio.roofs.gray_concrete_roofs.gray_concrete_upper_lower_roof": "Серая бетонная верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.gray_concrete_roofs.gray_concrete_upper_steep_roof": "Серая бетонная верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.black_concrete_roofs.black_concrete_roof": "Чёрная бетонная крыша", + "block.mcw_tfc_aio.roofs.black_concrete_roofs.black_concrete_attic_roof": "Чёрная бетонная мансардная крыша", + "block.mcw_tfc_aio.roofs.black_concrete_roofs.black_concrete_top_roof": "Чёрная бетонная верхняя крыша", + "block.mcw_tfc_aio.roofs.black_concrete_roofs.black_concrete_lower_roof": "Чёрная бетонная нижняя крыша", + "block.mcw_tfc_aio.roofs.black_concrete_roofs.black_concrete_steep_roof": "Чёрная бетонная крутая крыша", + "block.mcw_tfc_aio.roofs.black_concrete_roofs.black_concrete_upper_lower_roof": "Чёрная бетонная верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.black_concrete_roofs.black_concrete_upper_steep_roof": "Чёрная бетонная верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.blue_concrete_roofs.blue_concrete_roof": "Синяя бетонная крыша", + "block.mcw_tfc_aio.roofs.blue_concrete_roofs.blue_concrete_attic_roof": "Синяя бетонная мансардная крыша", + "block.mcw_tfc_aio.roofs.blue_concrete_roofs.blue_concrete_top_roof": "Синяя бетонная верхняя крыша", + "block.mcw_tfc_aio.roofs.blue_concrete_roofs.blue_concrete_lower_roof": "Синяя бетонная нижняя крыша", + "block.mcw_tfc_aio.roofs.blue_concrete_roofs.blue_concrete_steep_roof": "Синяя бетонная крутая крыша", + "block.mcw_tfc_aio.roofs.blue_concrete_roofs.blue_concrete_upper_lower_roof": "Синяя бетонная верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.blue_concrete_roofs.blue_concrete_upper_steep_roof": "Синяя бетонная верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.light_blue_concrete_roofs.light_blue_concrete_roof": "Голубая бетонная крыша", + "block.mcw_tfc_aio.roofs.light_blue_concrete_roofs.light_blue_concrete_attic_roof": "Голубая бетонная мансардная крыша", + "block.mcw_tfc_aio.roofs.light_blue_concrete_roofs.light_blue_concrete_top_roof": "Голубая бетонная верхняя крыша", + "block.mcw_tfc_aio.roofs.light_blue_concrete_roofs.light_blue_concrete_lower_roof": "Голубая бетонная нижняя крыша", + "block.mcw_tfc_aio.roofs.light_blue_concrete_roofs.light_blue_concrete_steep_roof": "Голубая бетонная крутая крыша", + "block.mcw_tfc_aio.roofs.light_blue_concrete_roofs.light_blue_concrete_upper_lower_roof": "Голубая бетонная верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.light_blue_concrete_roofs.light_blue_concrete_upper_steep_roof": "Голубая бетонная верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.cyan_concrete_roofs.cyan_concrete_roof": "Бирюзовая бетонная крыша", + "block.mcw_tfc_aio.roofs.cyan_concrete_roofs.cyan_concrete_attic_roof": "Бирюзовая бетонная мансардная крыша", + "block.mcw_tfc_aio.roofs.cyan_concrete_roofs.cyan_concrete_top_roof": "Бирюзовая бетонная верхняя крыша", + "block.mcw_tfc_aio.roofs.cyan_concrete_roofs.cyan_concrete_lower_roof": "Бирюзовая бетонная нижняя крыша", + "block.mcw_tfc_aio.roofs.cyan_concrete_roofs.cyan_concrete_steep_roof": "Бирюзовая бетонная крутая крыша", + "block.mcw_tfc_aio.roofs.cyan_concrete_roofs.cyan_concrete_upper_lower_roof": "Бирюзовая бетонная верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.cyan_concrete_roofs.cyan_concrete_upper_steep_roof": "Бирюзовая бетонная верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.lime_concrete_roofs.lime_concrete_roof": "Лаймовая бетонная крыша", + "block.mcw_tfc_aio.roofs.lime_concrete_roofs.lime_concrete_attic_roof": "Лаймовая бетонная мансардная крыша", + "block.mcw_tfc_aio.roofs.lime_concrete_roofs.lime_concrete_top_roof": "Лаймовая бетонная верхняя крыша", + "block.mcw_tfc_aio.roofs.lime_concrete_roofs.lime_concrete_lower_roof": "Лаймовая бетонная нижняя крыша", + "block.mcw_tfc_aio.roofs.lime_concrete_roofs.lime_concrete_steep_roof": "Лаймовая бетонная крутая крыша", + "block.mcw_tfc_aio.roofs.lime_concrete_roofs.lime_concrete_upper_lower_roof": "Лаймовая бетонная верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.lime_concrete_roofs.lime_concrete_upper_steep_roof": "Лаймовая бетонная верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.green_concrete_roofs.green_concrete_roof": "Зелёная бетонная крыша", + "block.mcw_tfc_aio.roofs.green_concrete_roofs.green_concrete_attic_roof": "Зелёная бетонная мансардная крыша", + "block.mcw_tfc_aio.roofs.green_concrete_roofs.green_concrete_top_roof": "Зелёная бетонная верхняя крыша", + "block.mcw_tfc_aio.roofs.green_concrete_roofs.green_concrete_lower_roof": "Зелёная бетонная нижняя крыша", + "block.mcw_tfc_aio.roofs.green_concrete_roofs.green_concrete_steep_roof": "Зелёная бетонная крутая крыша", + "block.mcw_tfc_aio.roofs.green_concrete_roofs.green_concrete_upper_lower_roof": "Зелёная бетонная верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.green_concrete_roofs.green_concrete_upper_steep_roof": "Зелёная бетонная верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.yellow_concrete_roofs.yellow_concrete_roof": "Жёлтая бетонная крыша", + "block.mcw_tfc_aio.roofs.yellow_concrete_roofs.yellow_concrete_attic_roof": "Жёлтая бетонная мансардная крыша", + "block.mcw_tfc_aio.roofs.yellow_concrete_roofs.yellow_concrete_top_roof": "Жёлтая бетонная верхняя крыша", + "block.mcw_tfc_aio.roofs.yellow_concrete_roofs.yellow_concrete_lower_roof": "Жёлтая бетонная нижняя крыша", + "block.mcw_tfc_aio.roofs.yellow_concrete_roofs.yellow_concrete_steep_roof": "Жёлтая бетонная крутая крыша", + "block.mcw_tfc_aio.roofs.yellow_concrete_roofs.yellow_concrete_upper_lower_roof": "Жёлтая бетонная верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.yellow_concrete_roofs.yellow_concrete_upper_steep_roof": "Жёлтая бетонная верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.brown_concrete_roofs.brown_concrete_roof": "Коричневая бетонная крыша", + "block.mcw_tfc_aio.roofs.brown_concrete_roofs.brown_concrete_attic_roof": "Коричневая бетонная мансардная крыша", + "block.mcw_tfc_aio.roofs.brown_concrete_roofs.brown_concrete_top_roof": "Коричневая бетонная верхняя крыша", + "block.mcw_tfc_aio.roofs.brown_concrete_roofs.brown_concrete_lower_roof": "Коричневая бетонная нижняя крыша", + "block.mcw_tfc_aio.roofs.brown_concrete_roofs.brown_concrete_steep_roof": "Коричневая бетонная крутая крыша", + "block.mcw_tfc_aio.roofs.brown_concrete_roofs.brown_concrete_upper_lower_roof": "Коричневая бетонная верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.brown_concrete_roofs.brown_concrete_upper_steep_roof": "Коричневая бетонная верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.orange_concrete_roofs.orange_concrete_roof": "Оранжевая бетонная крыша", + "block.mcw_tfc_aio.roofs.orange_concrete_roofs.orange_concrete_attic_roof": "Оранжевая бетонная мансардная крыша", + "block.mcw_tfc_aio.roofs.orange_concrete_roofs.orange_concrete_top_roof": "Оранжевая бетонная верхняя крыша", + "block.mcw_tfc_aio.roofs.orange_concrete_roofs.orange_concrete_lower_roof": "Оранжевая бетонная нижняя крыша", + "block.mcw_tfc_aio.roofs.orange_concrete_roofs.orange_concrete_steep_roof": "Оранжевая бетонная крутая крыша", + "block.mcw_tfc_aio.roofs.orange_concrete_roofs.orange_concrete_upper_lower_roof": "Оранжевая бетонная верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.orange_concrete_roofs.orange_concrete_upper_steep_roof": "Оранжевая бетонная верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.red_concrete_roofs.red_concrete_roof": "Красная бетонная крыша", + "block.mcw_tfc_aio.roofs.red_concrete_roofs.red_concrete_attic_roof": "Красная бетонная мансардная крыша", + "block.mcw_tfc_aio.roofs.red_concrete_roofs.red_concrete_top_roof": "Красная бетонная верхняя крыша", + "block.mcw_tfc_aio.roofs.red_concrete_roofs.red_concrete_lower_roof": "Красная бетонная нижняя крыша", + "block.mcw_tfc_aio.roofs.red_concrete_roofs.red_concrete_steep_roof": "Красная бетонная крутая крыша", + "block.mcw_tfc_aio.roofs.red_concrete_roofs.red_concrete_upper_lower_roof": "Красная бетонная верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.red_concrete_roofs.red_concrete_upper_steep_roof": "Красная бетонная верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.magenta_concrete_roofs.magenta_concrete_roof": "Пурпурная бетонная крыша", + "block.mcw_tfc_aio.roofs.magenta_concrete_roofs.magenta_concrete_attic_roof": "Пурпурная бетонная мансардная крыша", + "block.mcw_tfc_aio.roofs.magenta_concrete_roofs.magenta_concrete_top_roof": "Пурпурная бетонная верхняя крыша", + "block.mcw_tfc_aio.roofs.magenta_concrete_roofs.magenta_concrete_lower_roof": "Пурпурная бетонная нижняя крыша", + "block.mcw_tfc_aio.roofs.magenta_concrete_roofs.magenta_concrete_steep_roof": "Пурпурная бетонная крутая крыша", + "block.mcw_tfc_aio.roofs.magenta_concrete_roofs.magenta_concrete_upper_lower_roof": "Пурпурная бетонная верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.magenta_concrete_roofs.magenta_concrete_upper_steep_roof": "Пурпурная бетонная верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.pink_concrete_roofs.pink_concrete_roof": "Розовая бетонная крыша", + "block.mcw_tfc_aio.roofs.pink_concrete_roofs.pink_concrete_attic_roof": "Розовая бетонная мансардная крыша", + "block.mcw_tfc_aio.roofs.pink_concrete_roofs.pink_concrete_top_roof": "Розовая бетонная верхняя крыша", + "block.mcw_tfc_aio.roofs.pink_concrete_roofs.pink_concrete_lower_roof": "Розовая бетонная нижняя крыша", + "block.mcw_tfc_aio.roofs.pink_concrete_roofs.pink_concrete_steep_roof": "Розовая бетонная крутая крыша", + "block.mcw_tfc_aio.roofs.pink_concrete_roofs.pink_concrete_upper_lower_roof": "Розовая бетонная верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.pink_concrete_roofs.pink_concrete_upper_steep_roof": "Розовая бетонная верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.purple_concrete_roofs.purple_concrete_roof": "Фиолетовая бетонная крыша", + "block.mcw_tfc_aio.roofs.purple_concrete_roofs.purple_concrete_attic_roof": "Фиолетовая бетонная мансардная крыша", + "block.mcw_tfc_aio.roofs.purple_concrete_roofs.purple_concrete_top_roof": "Фиолетовая бетонная верхняя крыша", + "block.mcw_tfc_aio.roofs.purple_concrete_roofs.purple_concrete_lower_roof": "Фиолетовая бетонная нижняя крыша", + "block.mcw_tfc_aio.roofs.purple_concrete_roofs.purple_concrete_steep_roof": "Фиолетовая бетонная крутая крыша", + "block.mcw_tfc_aio.roofs.purple_concrete_roofs.purple_concrete_upper_lower_roof": "Фиолетовая бетонная верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.purple_concrete_roofs.purple_concrete_upper_steep_roof": "Фиолетовая бетонная верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.white_roofs.white_roof": "Белая керамическая крыша", + "block.mcw_tfc_aio.roofs.white_roofs.white_attic_roof": "Белая керамическая мансардная крыша", + "block.mcw_tfc_aio.roofs.white_roofs.white_top_roof": "Белая керамическая верхняя крыша", + "block.mcw_tfc_aio.roofs.white_roofs.white_lower_roof": "Белая керамическая нижняя крыша", + "block.mcw_tfc_aio.roofs.white_roofs.white_steep_roof": "Белая керамическая крутая крыша", + "block.mcw_tfc_aio.roofs.white_roofs.white_upper_lower_roof": "Белая керамическая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.white_roofs.white_upper_steep_roof": "Белая керамическая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.light_gray_roofs.light_gray_roof": "Светло-серая керамическая крыша", + "block.mcw_tfc_aio.roofs.light_gray_roofs.light_gray_attic_roof": "Светло-серая керамическая мансардная крыша", + "block.mcw_tfc_aio.roofs.light_gray_roofs.light_gray_top_roof": "Светло-серая керамическая верхняя крыша", + "block.mcw_tfc_aio.roofs.light_gray_roofs.light_gray_lower_roof": "Светло-серая керамическая нижняя крыша", + "block.mcw_tfc_aio.roofs.light_gray_roofs.light_gray_steep_roof": "Светло-серая керамическая крутая крыша", + "block.mcw_tfc_aio.roofs.light_gray_roofs.light_gray_upper_lower_roof": "Светло-серая керамическая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.light_gray_roofs.light_gray_upper_steep_roof": "Светло-серая керамическая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.gray_roofs.gray_roof": "Серая керамическая крыша", + "block.mcw_tfc_aio.roofs.gray_roofs.gray_attic_roof": "Серая керамическая мансардная крыша", + "block.mcw_tfc_aio.roofs.gray_roofs.gray_top_roof": "Серая керамическая верхняя крыша", + "block.mcw_tfc_aio.roofs.gray_roofs.gray_lower_roof": "Серая керамическая нижняя крыша", + "block.mcw_tfc_aio.roofs.gray_roofs.gray_steep_roof": "Серая керамическая крутая крыша", + "block.mcw_tfc_aio.roofs.gray_roofs.gray_upper_lower_roof": "Серая керамическая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.gray_roofs.gray_upper_steep_roof": "Серая керамическая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.black_roofs.black_roof": "Чёрная керамическая крыша", + "block.mcw_tfc_aio.roofs.black_roofs.black_attic_roof": "Чёрная керамическая мансардная крыша", + "block.mcw_tfc_aio.roofs.black_roofs.black_top_roof": "Чёрная керамическая верхняя крыша", + "block.mcw_tfc_aio.roofs.black_roofs.black_lower_roof": "Чёрная керамическая нижняя крыша", + "block.mcw_tfc_aio.roofs.black_roofs.black_steep_roof": "Чёрная керамическая крутая крыша", + "block.mcw_tfc_aio.roofs.black_roofs.black_upper_lower_roof": "Чёрная керамическая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.black_roofs.black_upper_steep_roof": "Чёрная керамическая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.brick_roofs.bricks_roof": "Кирпичная крыша", + "block.mcw_tfc_aio.roofs.brick_roofs.bricks_attic_roof": "Кирпичная мансардная крыша", + "block.mcw_tfc_aio.roofs.brick_roofs.bricks_top_roof": "Кирпичная верхняя крыша", + "block.mcw_tfc_aio.roofs.brick_roofs.bricks_lower_roof": "Кирпичная нижняя крыша", + "block.mcw_tfc_aio.roofs.brick_roofs.bricks_steep_roof": "Кирпичная крутая крыша", + "block.mcw_tfc_aio.roofs.brick_roofs.bricks_upper_lower_roof": "Кирпичная верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.brick_roofs.bricks_upper_steep_roof": "Кирпичная верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.thatch_roofs.thatch_roof": "Соломенная крыша", + "block.mcw_tfc_aio.roofs.thatch_roofs.thatch_attic_roof": "Соломенная мансардная крыша", + "block.mcw_tfc_aio.roofs.thatch_roofs.thatch_top_roof": "Соломенная верхняя крыша", + "block.mcw_tfc_aio.roofs.thatch_roofs.thatch_lower_roof": "Соломенная нижняя крыша", + "block.mcw_tfc_aio.roofs.thatch_roofs.thatch_steep_roof": "Соломенная крутая крыша", + "block.mcw_tfc_aio.roofs.thatch_roofs.thatch_upper_lower_roof": "Соломенная верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.thatch_roofs.thatch_upper_steep_roof": "Соломенная верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.awnings.black_striped_awning": "Чёрный полосатый навес", + "block.mcw_tfc_aio.roofs.awnings.blue_striped_awning": "Синий полосатый навес", + "block.mcw_tfc_aio.roofs.awnings.brown_striped_awning": "Коричневый полосатый навес", + "block.mcw_tfc_aio.roofs.awnings.cyan_striped_awning": "Бирюзовый полосатый навес", + "block.mcw_tfc_aio.roofs.awnings.gray_striped_awning": "Серый полосатый навес", + "block.mcw_tfc_aio.roofs.awnings.green_striped_awning": "Зелёный полосатый навес", + "block.mcw_tfc_aio.roofs.awnings.light_blue_striped_awning": "Голубой полосатый навес", + "block.mcw_tfc_aio.roofs.awnings.light_gray_striped_awning": "Светло-серый полосатый навес", + "block.mcw_tfc_aio.roofs.awnings.lime_striped_awning": "Лаймовый полосатый навес", + "block.mcw_tfc_aio.roofs.awnings.magenta_striped_awning": "Пурпурный полосатый навес", + "block.mcw_tfc_aio.roofs.awnings.orange_striped_awning": "Оранжевый полосатый навес", + "block.mcw_tfc_aio.roofs.awnings.pink_striped_awning": "Розовый полосатый навес", + "block.mcw_tfc_aio.roofs.awnings.purple_striped_awning": "Фиолетовый полосатый навес", + "block.mcw_tfc_aio.roofs.awnings.red_striped_awning": "Красный полосатый навес", + "block.mcw_tfc_aio.roofs.awnings.yellow_striped_awning": "Жёлтый полосатый навес", + "block.mcw_tfc_aio.roofs.gutters.gutter_base": "Основание водосточного жёлоба", + "block.mcw_tfc_aio.roofs.gutters.gutter_base_black": "Чёрный водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_base_gray": "Серый водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_base_light_gray": "Светло-серый водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_base_white": "Белый водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_middle": "Секция водосточного жёлоба", + "block.mcw_tfc_aio.roofs.gutters.gutter_middle_black": "Чёрный водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_middle_gray": "Серый водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_middle_light_gray": "Светло-серый водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_middle_white": "Белый водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_base_yellow": "Жёлтый водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_base_orange": "Оранжевый водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_base_red": "Красный водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_base_pink": "Розовый водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_base_magenta": "Пурпурный водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_base_purple": "Фиолетовый водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_base_light_blue": "Голубой водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_base_blue": "Синий водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_base_cyan": "Бирюзовый водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_base_lime": "Лаймовый водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_base_green": "Зелёный водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_base_brown": "Коричневый водосточный жёлоб", + "block.mcw_tfc_aio.roofs.gutters.gutter_middle_yellow": "Жёлтая водосточная труба", + "block.mcw_tfc_aio.roofs.gutters.gutter_middle_orange": "Оранжевая водосточная труба", + "block.mcw_tfc_aio.roofs.gutters.gutter_middle_red": "Красная водосточная труба", + "block.mcw_tfc_aio.roofs.gutters.gutter_middle_pink": "Розовая водосточная труба", + "block.mcw_tfc_aio.roofs.gutters.gutter_middle_magenta": "Пурпурная водосточная труба", + "block.mcw_tfc_aio.roofs.gutters.gutter_middle_purple": "Фиолетовая водосточная труба", + "block.mcw_tfc_aio.roofs.gutters.gutter_middle_light_blue": "Голубая водосточная труба", + "block.mcw_tfc_aio.roofs.gutters.gutter_middle_blue": "Синяя водосточная труба", + "block.mcw_tfc_aio.roofs.gutters.gutter_middle_cyan": "Бирюзовая водосточная труба", + "block.mcw_tfc_aio.roofs.gutters.gutter_middle_lime": "Лаймовая водосточная труба", + "block.mcw_tfc_aio.roofs.gutters.gutter_middle_green": "Зелёная водосточная труба", + "block.mcw_tfc_aio.roofs.gutters.gutter_middle_brown": "Коричневая водосточная труба", + "block.mcw_tfc_aio.roofs.acacia_roofs.acacia_roof": "Акациевая крыша", + "block.mcw_tfc_aio.roofs.acacia_roofs.acacia_attic_roof": "Акациевая мансардная крыша", + "block.mcw_tfc_aio.roofs.acacia_roofs.acacia_top_roof": "Акациевая верхняя крыша", + "block.mcw_tfc_aio.roofs.acacia_roofs.acacia_lower_roof": "Акациевая нижняя крыша", + "block.mcw_tfc_aio.roofs.acacia_roofs.acacia_steep_roof": "Акациевая крутая крыша", + "block.mcw_tfc_aio.roofs.acacia_roofs.acacia_upper_lower_roof": "Акациевая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.acacia_roofs.acacia_upper_steep_roof": "Акациевая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.acacia_roofs.acacia_planks_roof": "Акациевая дощатая крыша", + "block.mcw_tfc_aio.roofs.acacia_roofs.acacia_planks_attic_roof": "Акациевая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.acacia_roofs.acacia_planks_top_roof": "Акациевая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.acacia_roofs.acacia_planks_lower_roof": "Акациевая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.acacia_roofs.acacia_planks_steep_roof": "Акациевая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.acacia_roofs.acacia_planks_upper_lower_roof": "Акациевая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.acacia_roofs.acacia_planks_upper_steep_roof": "Акациевая дощатая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.ash_roofs.ash_roof": "Ясеневая крыша", + "block.mcw_tfc_aio.roofs.ash_roofs.ash_attic_roof": "Ясеневая мансардная крыша", + "block.mcw_tfc_aio.roofs.ash_roofs.ash_top_roof": "Ясеневая верхняя крыша", + "block.mcw_tfc_aio.roofs.ash_roofs.ash_lower_roof": "Ясеневая нижняя крыша", + "block.mcw_tfc_aio.roofs.ash_roofs.ash_steep_roof": "Ясеневая крутая крыша", + "block.mcw_tfc_aio.roofs.ash_roofs.ash_upper_lower_roof": "Ясеневая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.ash_roofs.ash_upper_steep_roof": "Ясеневая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.ash_roofs.ash_planks_roof": "Ясеневая дощатая крыша", + "block.mcw_tfc_aio.roofs.ash_roofs.ash_planks_attic_roof": "Ясеневая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.ash_roofs.ash_planks_top_roof": "Ясеневая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.ash_roofs.ash_planks_lower_roof": "Ясеневая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.ash_roofs.ash_planks_steep_roof": "Ясеневая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.ash_roofs.ash_planks_upper_lower_roof": "Ясеневая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.ash_roofs.ash_planks_upper_steep_roof": "Ясеневая дощатая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.aspen_roofs.aspen_roof": "Осиновая крыша", + "block.mcw_tfc_aio.roofs.aspen_roofs.aspen_attic_roof": "Осиновая мансардная крыша", + "block.mcw_tfc_aio.roofs.aspen_roofs.aspen_top_roof": "Осиновая верхняя крыша", + "block.mcw_tfc_aio.roofs.aspen_roofs.aspen_lower_roof": "Осиновая нижняя крыша", + "block.mcw_tfc_aio.roofs.aspen_roofs.aspen_steep_roof": "Осиновая крутая крыша", + "block.mcw_tfc_aio.roofs.aspen_roofs.aspen_upper_lower_roof": "Осиновая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.aspen_roofs.aspen_upper_steep_roof": "Осиновая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.aspen_roofs.aspen_planks_roof": "Осиновая дощатая крыша", + "block.mcw_tfc_aio.roofs.aspen_roofs.aspen_planks_attic_roof": "Осиновая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.aspen_roofs.aspen_planks_top_roof": "Осиновая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.aspen_roofs.aspen_planks_lower_roof": "Осиновая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.aspen_roofs.aspen_planks_steep_roof": "Осиновая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.aspen_roofs.aspen_planks_upper_lower_roof": "Осиновая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.aspen_roofs.aspen_planks_upper_steep_roof": "Осиновая дощатая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.birch_roofs.birch_roof": "Берёзовая крыша", + "block.mcw_tfc_aio.roofs.birch_roofs.birch_attic_roof": "Берёзовая мансардная крыша", + "block.mcw_tfc_aio.roofs.birch_roofs.birch_top_roof": "Берёзовая верхняя крыша", + "block.mcw_tfc_aio.roofs.birch_roofs.birch_lower_roof": "Берёзовая нижняя крыша", + "block.mcw_tfc_aio.roofs.birch_roofs.birch_steep_roof": "Берёзовая крутая крыша", + "block.mcw_tfc_aio.roofs.birch_roofs.birch_upper_lower_roof": "Берёзовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.birch_roofs.birch_upper_steep_roof": "Берёзовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.birch_roofs.birch_planks_roof": "Берёзовая дощатая крыша", + "block.mcw_tfc_aio.roofs.birch_roofs.birch_planks_attic_roof": "Берёзовая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.birch_roofs.birch_planks_top_roof": "Берёзовая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.birch_roofs.birch_planks_lower_roof": "Берёзовая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.birch_roofs.birch_planks_steep_roof": "Берёзовая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.birch_roofs.birch_planks_upper_lower_roof": "Берёзовая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.birch_roofs.birch_planks_upper_steep_roof": "Берёзовая дощатая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.blackwood_roofs.blackwood_roof": "Гренадиловая крыша", + "block.mcw_tfc_aio.roofs.blackwood_roofs.blackwood_attic_roof": "Гренадиловая мансардная крыша", + "block.mcw_tfc_aio.roofs.blackwood_roofs.blackwood_top_roof": "Гренадиловая верхняя крыша", + "block.mcw_tfc_aio.roofs.blackwood_roofs.blackwood_lower_roof": "Гренадиловая нижняя крыша", + "block.mcw_tfc_aio.roofs.blackwood_roofs.blackwood_steep_roof": "Гренадиловая крутая крыша", + "block.mcw_tfc_aio.roofs.blackwood_roofs.blackwood_upper_lower_roof": "Гренадиловая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.blackwood_roofs.blackwood_upper_steep_roof": "Гренадиловая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.blackwood_roofs.blackwood_planks_roof": "Гренадиловая дощатая крыша", + "block.mcw_tfc_aio.roofs.blackwood_roofs.blackwood_planks_attic_roof": "Гренадиловая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.blackwood_roofs.blackwood_planks_top_roof": "Гренадиловая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.blackwood_roofs.blackwood_planks_lower_roof": "Гренадиловая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.blackwood_roofs.blackwood_planks_steep_roof": "Гренадиловая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.blackwood_roofs.blackwood_planks_upper_lower_roof": "Гренадиловая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.blackwood_roofs.blackwood_planks_upper_steep_roof": "Гренадиловая дощатая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.chestnut_roofs.chestnut_roof": "Каштановая крыша", + "block.mcw_tfc_aio.roofs.chestnut_roofs.chestnut_attic_roof": "Каштановая мансардная крыша", + "block.mcw_tfc_aio.roofs.chestnut_roofs.chestnut_top_roof": "Каштановая верхняя крыша", + "block.mcw_tfc_aio.roofs.chestnut_roofs.chestnut_lower_roof": "Каштановая нижняя крыша", + "block.mcw_tfc_aio.roofs.chestnut_roofs.chestnut_steep_roof": "Каштановая крутая крыша", + "block.mcw_tfc_aio.roofs.chestnut_roofs.chestnut_upper_lower_roof": "Каштановая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.chestnut_roofs.chestnut_upper_steep_roof": "Каштановая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.chestnut_roofs.chestnut_planks_roof": "Каштановая дощатая крыша", + "block.mcw_tfc_aio.roofs.chestnut_roofs.chestnut_planks_attic_roof": "Каштановая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.chestnut_roofs.chestnut_planks_top_roof": "Каштановая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.chestnut_roofs.chestnut_planks_lower_roof": "Каштановая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.chestnut_roofs.chestnut_planks_steep_roof": "Каштановая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.chestnut_roofs.chestnut_planks_upper_lower_roof": "Каштановая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.chestnut_roofs.chestnut_planks_upper_steep_roof": "Каштановая дощатая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.douglas_fir_roofs.douglas_fir_roof": "Дугласовая крыша", + "block.mcw_tfc_aio.roofs.douglas_fir_roofs.douglas_fir_attic_roof": "Дугласовая мансардная крыша", + "block.mcw_tfc_aio.roofs.douglas_fir_roofs.douglas_fir_top_roof": "Дугласовая верхняя крыша", + "block.mcw_tfc_aio.roofs.douglas_fir_roofs.douglas_fir_lower_roof": "Дугласовая нижняя крыша", + "block.mcw_tfc_aio.roofs.douglas_fir_roofs.douglas_fir_steep_roof": "Дугласовая крутая крыша", + "block.mcw_tfc_aio.roofs.douglas_fir_roofs.douglas_fir_upper_lower_roof": "Дугласовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.douglas_fir_roofs.douglas_fir_upper_steep_roof": "Дугласовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.douglas_fir_roofs.douglas_fir_planks_roof": "Дугласовая дощатая крыша", + "block.mcw_tfc_aio.roofs.douglas_fir_roofs.douglas_fir_planks_attic_roof": "Дугласовая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.douglas_fir_roofs.douglas_fir_planks_top_roof": "Дугласовая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.douglas_fir_roofs.douglas_fir_planks_lower_roof": "Дугласовая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.douglas_fir_roofs.douglas_fir_planks_steep_roof": "Дугласовая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.douglas_fir_roofs.douglas_fir_planks_upper_lower_roof": "Дугласовая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.douglas_fir_roofs.douglas_fir_planks_upper_steep_roof": "Дугласовая дощатая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.hickory_roofs.hickory_roof": "Гикориевая крыша", + "block.mcw_tfc_aio.roofs.hickory_roofs.hickory_attic_roof": "Гикориевая мансардная крыша", + "block.mcw_tfc_aio.roofs.hickory_roofs.hickory_top_roof": "Гикориевая верхняя крыша", + "block.mcw_tfc_aio.roofs.hickory_roofs.hickory_lower_roof": "Гикориевая нижняя крыша", + "block.mcw_tfc_aio.roofs.hickory_roofs.hickory_steep_roof": "Гикориевая крутая крыша", + "block.mcw_tfc_aio.roofs.hickory_roofs.hickory_upper_lower_roof": "Гикориевая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.hickory_roofs.hickory_upper_steep_roof": "Гикориевая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.hickory_roofs.hickory_planks_roof": "Гикориевая дощатая крыша", + "block.mcw_tfc_aio.roofs.hickory_roofs.hickory_planks_attic_roof": "Гикориевая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.hickory_roofs.hickory_planks_top_roof": "Гикориевая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.hickory_roofs.hickory_planks_lower_roof": "Гикориевая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.hickory_roofs.hickory_planks_steep_roof": "Гикориевая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.hickory_roofs.hickory_planks_upper_lower_roof": "Гикориевая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.hickory_roofs.hickory_planks_upper_steep_roof": "Гикориевая дощатая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.kapok_roofs.kapok_roof": "Сейбовая крыша", + "block.mcw_tfc_aio.roofs.kapok_roofs.kapok_attic_roof": "Сейбовая мансардная крыша", + "block.mcw_tfc_aio.roofs.kapok_roofs.kapok_top_roof": "Сейбовая верхняя крыша", + "block.mcw_tfc_aio.roofs.kapok_roofs.kapok_lower_roof": "Сейбовая нижняя крыша", + "block.mcw_tfc_aio.roofs.kapok_roofs.kapok_steep_roof": "Сейбовая крутая крыша", + "block.mcw_tfc_aio.roofs.kapok_roofs.kapok_upper_lower_roof": "Сейбовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.kapok_roofs.kapok_upper_steep_roof": "Сейбовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.kapok_roofs.kapok_planks_roof": "Сейбовая дощатая крыша", + "block.mcw_tfc_aio.roofs.kapok_roofs.kapok_planks_attic_roof": "Сейбовая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.kapok_roofs.kapok_planks_top_roof": "Сейбовая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.kapok_roofs.kapok_planks_lower_roof": "Сейбовая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.kapok_roofs.kapok_planks_steep_roof": "Сейбовая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.kapok_roofs.kapok_planks_upper_lower_roof": "Сейбовая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.kapok_roofs.kapok_planks_upper_steep_roof": "Сейбовая дощатая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.mangrove_roofs.mangrove_roof": "Мангровая крыша", + "block.mcw_tfc_aio.roofs.mangrove_roofs.mangrove_attic_roof": "Мангровая мансардная крыша", + "block.mcw_tfc_aio.roofs.mangrove_roofs.mangrove_top_roof": "Мангровая верхняя крыша", + "block.mcw_tfc_aio.roofs.mangrove_roofs.mangrove_lower_roof": "Мангровая нижняя крыша", + "block.mcw_tfc_aio.roofs.mangrove_roofs.mangrove_steep_roof": "Мангровая крутая крыша", + "block.mcw_tfc_aio.roofs.mangrove_roofs.mangrove_upper_lower_roof": "Мангровая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.mangrove_roofs.mangrove_upper_steep_roof": "Мангровая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.mangrove_roofs.mangrove_planks_roof": "Мангровая дощатая крыша", + "block.mcw_tfc_aio.roofs.mangrove_roofs.mangrove_planks_attic_roof": "Мангровая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.mangrove_roofs.mangrove_planks_top_roof": "Мангровая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.mangrove_roofs.mangrove_planks_lower_roof": "Мангровая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.mangrove_roofs.mangrove_planks_steep_roof": "Мангровая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.mangrove_roofs.mangrove_planks_upper_lower_roof": "Мангровая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.mangrove_roofs.mangrove_planks_upper_steep_roof": "Мангровая дощатая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.maple_roofs.maple_roof": "Кленовая крыша", + "block.mcw_tfc_aio.roofs.maple_roofs.maple_attic_roof": "Кленовая мансардная крыша", + "block.mcw_tfc_aio.roofs.maple_roofs.maple_top_roof": "Кленовая верхняя крыша", + "block.mcw_tfc_aio.roofs.maple_roofs.maple_lower_roof": "Кленовая нижняя крыша", + "block.mcw_tfc_aio.roofs.maple_roofs.maple_steep_roof": "Кленовая крутая крыша", + "block.mcw_tfc_aio.roofs.maple_roofs.maple_upper_lower_roof": "Кленовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.maple_roofs.maple_upper_steep_roof": "Кленовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.maple_roofs.maple_planks_roof": "Кленовая дощатая крыша", + "block.mcw_tfc_aio.roofs.maple_roofs.maple_planks_attic_roof": "Кленовая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.maple_roofs.maple_planks_top_roof": "Кленовая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.maple_roofs.maple_planks_lower_roof": "Кленовая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.maple_roofs.maple_planks_steep_roof": "Кленовая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.maple_roofs.maple_planks_upper_lower_roof": "Кленовая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.maple_roofs.maple_planks_upper_steep_roof": "Кленовая дощатая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.oak_roofs.oak_roof": "Дубовая крыша", + "block.mcw_tfc_aio.roofs.oak_roofs.oak_attic_roof": "Дубовая мансардная крыша", + "block.mcw_tfc_aio.roofs.oak_roofs.oak_top_roof": "Дубовая верхняя крыша", + "block.mcw_tfc_aio.roofs.oak_roofs.oak_lower_roof": "Дубовая нижняя крыша", + "block.mcw_tfc_aio.roofs.oak_roofs.oak_steep_roof": "Дубовая крутая крыша", + "block.mcw_tfc_aio.roofs.oak_roofs.oak_upper_lower_roof": "Дубовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.oak_roofs.oak_upper_steep_roof": "Дубовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.oak_roofs.oak_planks_roof": "Дубовая дощатая крыша", + "block.mcw_tfc_aio.roofs.oak_roofs.oak_planks_attic_roof": "Дубовая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.oak_roofs.oak_planks_top_roof": "Дубовая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.oak_roofs.oak_planks_lower_roof": "Дубовая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.oak_roofs.oak_planks_steep_roof": "Дубовая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.oak_roofs.oak_planks_upper_lower_roof": "Дубовая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.oak_roofs.oak_planks_upper_steep_roof": "Дубовая дощатая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.palm_roofs.palm_roof": "Пальмовая крыша", + "block.mcw_tfc_aio.roofs.palm_roofs.palm_attic_roof": "Пальмовая мансардная крыша", + "block.mcw_tfc_aio.roofs.palm_roofs.palm_top_roof": "Пальмовая верхняя крыша", + "block.mcw_tfc_aio.roofs.palm_roofs.palm_lower_roof": "Пальмовая нижняя крыша", + "block.mcw_tfc_aio.roofs.palm_roofs.palm_steep_roof": "Пальмовая крутая крыша", + "block.mcw_tfc_aio.roofs.palm_roofs.palm_upper_lower_roof": "Пальмовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.palm_roofs.palm_upper_steep_roof": "Пальмовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.palm_roofs.palm_planks_roof": "Пальмовая дощатая крыша", + "block.mcw_tfc_aio.roofs.palm_roofs.palm_planks_attic_roof": "Пальмовая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.palm_roofs.palm_planks_top_roof": "Пальмовая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.palm_roofs.palm_planks_lower_roof": "Пальмовая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.palm_roofs.palm_planks_steep_roof": "Пальмовая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.palm_roofs.palm_planks_upper_lower_roof": "Пальмовая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.palm_roofs.palm_planks_upper_steep_roof": "Пальмовая дощатая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.pine_roofs.pine_roof": "Сосновая крыша", + "block.mcw_tfc_aio.roofs.pine_roofs.pine_attic_roof": "Сосновая мансардная крыша", + "block.mcw_tfc_aio.roofs.pine_roofs.pine_top_roof": "Сосновая верхняя крыша", + "block.mcw_tfc_aio.roofs.pine_roofs.pine_lower_roof": "Сосновая нижняя крыша", + "block.mcw_tfc_aio.roofs.pine_roofs.pine_steep_roof": "Сосновая крутая крыша", + "block.mcw_tfc_aio.roofs.pine_roofs.pine_upper_lower_roof": "Сосновая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.pine_roofs.pine_upper_steep_roof": "Сосновая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.pine_roofs.pine_planks_roof": "Сосновая дощатая крыша", + "block.mcw_tfc_aio.roofs.pine_roofs.pine_planks_attic_roof": "Сосновая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.pine_roofs.pine_planks_top_roof": "Сосновая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.pine_roofs.pine_planks_lower_roof": "Сосновая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.pine_roofs.pine_planks_steep_roof": "Сосновая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.pine_roofs.pine_planks_upper_lower_roof": "Сосновая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.pine_roofs.pine_planks_upper_steep_roof": "Сосновая дощатая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.rosewood_roofs.rosewood_roof": "Палисандровая крыша", + "block.mcw_tfc_aio.roofs.rosewood_roofs.rosewood_attic_roof": "Палисандровая мансардная крыша", + "block.mcw_tfc_aio.roofs.rosewood_roofs.rosewood_top_roof": "Палисандровая верхняя крыша", + "block.mcw_tfc_aio.roofs.rosewood_roofs.rosewood_lower_roof": "Палисандровая нижняя крыша", + "block.mcw_tfc_aio.roofs.rosewood_roofs.rosewood_steep_roof": "Палисандровая крутая крыша", + "block.mcw_tfc_aio.roofs.rosewood_roofs.rosewood_upper_lower_roof": "Палисандровая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.rosewood_roofs.rosewood_upper_steep_roof": "Палисандровая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.rosewood_roofs.rosewood_planks_roof": "Палисандровая дощатая крыша", + "block.mcw_tfc_aio.roofs.rosewood_roofs.rosewood_planks_attic_roof": "Палисандровая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.rosewood_roofs.rosewood_planks_top_roof": "Палисандровая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.rosewood_roofs.rosewood_planks_lower_roof": "Палисандровая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.rosewood_roofs.rosewood_planks_steep_roof": "Палисандровая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.rosewood_roofs.rosewood_planks_upper_lower_roof": "Палисандровая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.rosewood_roofs.rosewood_planks_upper_steep_roof": "Палисандровая дощатая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.sequoia_roofs.sequoia_roof": "Секвойевая крыша", + "block.mcw_tfc_aio.roofs.sequoia_roofs.sequoia_attic_roof": "Секвойевая мансардная крыша", + "block.mcw_tfc_aio.roofs.sequoia_roofs.sequoia_top_roof": "Секвойевая верхняя крыша", + "block.mcw_tfc_aio.roofs.sequoia_roofs.sequoia_lower_roof": "Секвойевая нижняя крыша", + "block.mcw_tfc_aio.roofs.sequoia_roofs.sequoia_steep_roof": "Секвойевая крутая крыша", + "block.mcw_tfc_aio.roofs.sequoia_roofs.sequoia_upper_lower_roof": "Секвойевая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.sequoia_roofs.sequoia_upper_steep_roof": "Секвойевая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.sequoia_roofs.sequoia_planks_roof": "Секвойевая дощатая крыша", + "block.mcw_tfc_aio.roofs.sequoia_roofs.sequoia_planks_attic_roof": "Секвойевая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.sequoia_roofs.sequoia_planks_top_roof": "Секвойевая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.sequoia_roofs.sequoia_planks_lower_roof": "Секвойевая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.sequoia_roofs.sequoia_planks_steep_roof": "Секвойевая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.sequoia_roofs.sequoia_planks_upper_lower_roof": "Секвойевая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.sequoia_roofs.sequoia_planks_upper_steep_roof": "Секвойевая дощатая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.spruce_roofs.spruce_roof": "Еловая крыша", + "block.mcw_tfc_aio.roofs.spruce_roofs.spruce_attic_roof": "Еловая мансардная крыша", + "block.mcw_tfc_aio.roofs.spruce_roofs.spruce_top_roof": "Еловая верхняя крыша", + "block.mcw_tfc_aio.roofs.spruce_roofs.spruce_lower_roof": "Еловая нижняя крыша", + "block.mcw_tfc_aio.roofs.spruce_roofs.spruce_steep_roof": "Еловая крутая крыша", + "block.mcw_tfc_aio.roofs.spruce_roofs.spruce_upper_lower_roof": "Еловая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.spruce_roofs.spruce_upper_steep_roof": "Еловая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.spruce_roofs.spruce_planks_roof": "Еловая дощатая крыша", + "block.mcw_tfc_aio.roofs.spruce_roofs.spruce_planks_attic_roof": "Еловая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.spruce_roofs.spruce_planks_top_roof": "Еловая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.spruce_roofs.spruce_planks_lower_roof": "Еловая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.spruce_roofs.spruce_planks_steep_roof": "Еловая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.spruce_roofs.spruce_planks_upper_lower_roof": "Еловая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.spruce_roofs.spruce_planks_upper_steep_roof": "Еловая дощатая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.sycamore_roofs.sycamore_roof": "Платановая крыша", + "block.mcw_tfc_aio.roofs.sycamore_roofs.sycamore_attic_roof": "Платановая мансардная крыша", + "block.mcw_tfc_aio.roofs.sycamore_roofs.sycamore_top_roof": "Платановая верхняя крыша", + "block.mcw_tfc_aio.roofs.sycamore_roofs.sycamore_lower_roof": "Платановая нижняя крыша", + "block.mcw_tfc_aio.roofs.sycamore_roofs.sycamore_steep_roof": "Платановая крутая крыша", + "block.mcw_tfc_aio.roofs.sycamore_roofs.sycamore_upper_lower_roof": "Платановая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.sycamore_roofs.sycamore_upper_steep_roof": "Платановая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.sycamore_roofs.sycamore_planks_roof": "Платановая дощатая крыша", + "block.mcw_tfc_aio.roofs.sycamore_roofs.sycamore_planks_attic_roof": "Платановая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.sycamore_roofs.sycamore_planks_top_roof": "Платановая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.sycamore_roofs.sycamore_planks_lower_roof": "Платановая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.sycamore_roofs.sycamore_planks_steep_roof": "Платановая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.sycamore_roofs.sycamore_planks_upper_lower_roof": "Платановая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.sycamore_roofs.sycamore_planks_upper_steep_roof": "Платановая дощатая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.white_cedar_roofs.white_cedar_roof": "Кедровая крыша", + "block.mcw_tfc_aio.roofs.white_cedar_roofs.white_cedar_attic_roof": "Кедровая мансардная крыша", + "block.mcw_tfc_aio.roofs.white_cedar_roofs.white_cedar_top_roof": "Кедровая верхняя крыша", + "block.mcw_tfc_aio.roofs.white_cedar_roofs.white_cedar_lower_roof": "Кедровая нижняя крыша", + "block.mcw_tfc_aio.roofs.white_cedar_roofs.white_cedar_steep_roof": "Кедровая крутая крыша", + "block.mcw_tfc_aio.roofs.white_cedar_roofs.white_cedar_upper_lower_roof": "Кедровая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.white_cedar_roofs.white_cedar_upper_steep_roof": "Кедровая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.white_cedar_roofs.white_cedar_planks_roof": "Кедровая дощатая крыша", + "block.mcw_tfc_aio.roofs.white_cedar_roofs.white_cedar_planks_attic_roof": "Кедровая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.white_cedar_roofs.white_cedar_planks_top_roof": "Кедровая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.white_cedar_roofs.white_cedar_planks_lower_roof": "Кедровая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.white_cedar_roofs.white_cedar_planks_steep_roof": "Кедровая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.white_cedar_roofs.white_cedar_planks_upper_lower_roof": "Кедровая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.white_cedar_roofs.white_cedar_planks_upper_steep_roof": "Кедровая дощатая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.willow_roofs.willow_roof": "Ивовая крыша", + "block.mcw_tfc_aio.roofs.willow_roofs.willow_attic_roof": "Ивовая мансардная крыша", + "block.mcw_tfc_aio.roofs.willow_roofs.willow_top_roof": "Ивовая верхняя крыша", + "block.mcw_tfc_aio.roofs.willow_roofs.willow_lower_roof": "Ивовая нижняя крыша", + "block.mcw_tfc_aio.roofs.willow_roofs.willow_steep_roof": "Ивовая крутая крыша", + "block.mcw_tfc_aio.roofs.willow_roofs.willow_upper_lower_roof": "Ивовая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.willow_roofs.willow_upper_steep_roof": "Ивовая верхняя крутая крыша", + "block.mcw_tfc_aio.roofs.willow_roofs.willow_planks_roof": "Ивовая дощатая крыша", + "block.mcw_tfc_aio.roofs.willow_roofs.willow_planks_attic_roof": "Ивовая дощатая мансардная крыша", + "block.mcw_tfc_aio.roofs.willow_roofs.willow_planks_top_roof": "Ивовая дощатая верхняя крыша", + "block.mcw_tfc_aio.roofs.willow_roofs.willow_planks_lower_roof": "Ивовая дощатая нижняя крыша", + "block.mcw_tfc_aio.roofs.willow_roofs.willow_planks_steep_roof": "Ивовая дощатая крутая крыша", + "block.mcw_tfc_aio.roofs.willow_roofs.willow_planks_upper_lower_roof": "Ивовая дощатая верхняя нижняя крыша", + "block.mcw_tfc_aio.roofs.willow_roofs.willow_planks_upper_steep_roof": "Ивовая дощатая верхняя крутая крыша", + "itemGroup.bridges": "Macaw's TFC: Мосты", + "item.mcw_tfc_aio.pliers": "Плоскогубцы", + "mcw_tfc_aio.pliers.desc": "Нажмите ПКМ по мосту, чтобы сделать вход. Работает только для мостов шириной от 2 блоков", + "block.mcw_tfc_aio.bridges.acacia_bridges.acacia_log_bridge_middle": "Акациевый мост", + "block.mcw_tfc_aio.bridges.acacia_bridges.rope_acacia_bridge": "Акациевый верёвочный мост", + "block.mcw_tfc_aio.bridges.acacia_bridges.acacia_rail_bridge": "Акациевый железнодорожный мост", + "block.mcw_tfc_aio.bridges.acacia_bridges.acacia_bridge_pier": "Акациевое основание моста", + "block.mcw_tfc_aio.bridges.acacia_bridges.acacia_log_bridge_stair": "Акациевая лестница моста", + "block.mcw_tfc_aio.bridges.acacia_bridges.acacia_rope_bridge_stair": "Акациевая верёвочная лестница моста", + "block.mcw_tfc_aio.bridges.brick_bridges.brick_bridge": "Кирпичный мост", + "block.mcw_tfc_aio.bridges.brick_bridges.brick_bridge_pier": "Кирпичное основание моста", + "block.mcw_tfc_aio.bridges.brick_bridges.brick_bridge_stair": "Кирпичная лестница моста", + "block.mcw_tfc_aio.bridges.bamboo_bridges.bamboo_bridge": "Бамбуковый мост", + "block.mcw_tfc_aio.bridges.bamboo_bridges.dry_bamboo_bridge": "Сушёный бамбуковый мост", + "block.mcw_tfc_aio.bridges.bamboo_bridges.bamboo_bridge_pier": "Бамбуковое основание моста", + "block.mcw_tfc_aio.bridges.bamboo_bridges.dry_bamboo_bridge_pier": "Основание сушёного бамбукового моста", + "block.mcw_tfc_aio.bridges.bamboo_bridges.bamboo_bridge_stair": "Бамбуковая лестница моста", + "block.mcw_tfc_aio.bridges.bamboo_bridges.dry_bamboo_bridge_stair": "Лестница сушёного бамбукового моста", + "block.mcw_tfc_aio.bridges.ash_bridges.ash_log_bridge_middle": "Ясеневый мост", + "block.mcw_tfc_aio.bridges.ash_bridges.rope_ash_bridge": "Ясеневый верёвочный мост", + "block.mcw_tfc_aio.bridges.ash_bridges.ash_rail_bridge": "Ясеневый железнодорожный мост", + "block.mcw_tfc_aio.bridges.ash_bridges.ash_bridge_pier": "Ясеневое основание моста", + "block.mcw_tfc_aio.bridges.ash_bridges.ash_log_bridge_stair": "Ясеневая лестница моста", + "block.mcw_tfc_aio.bridges.ash_bridges.ash_rope_bridge_stair": "Ясеневая верёвочная лестница моста", + "block.mcw_tfc_aio.bridges.aspen_bridges.aspen_log_bridge_middle": "Осиновый мост", + "block.mcw_tfc_aio.bridges.aspen_bridges.rope_aspen_bridge": "Осиновый верёвочный мост", + "block.mcw_tfc_aio.bridges.aspen_bridges.aspen_rail_bridge": "Осиновый железнодорожный мост", + "block.mcw_tfc_aio.bridges.aspen_bridges.aspen_bridge_pier": "Осиновое основание моста", + "block.mcw_tfc_aio.bridges.aspen_bridges.aspen_log_bridge_stair": "Осиновая лестница моста", + "block.mcw_tfc_aio.bridges.aspen_bridges.aspen_rope_bridge_stair": "Осиновая верёвочная лестница моста", + "block.mcw_tfc_aio.bridges.birch_bridges.birch_log_bridge_middle": "Берёзовый мост", + "block.mcw_tfc_aio.bridges.birch_bridges.rope_birch_bridge": "Берёзовый верёвочный мост", + "block.mcw_tfc_aio.bridges.birch_bridges.birch_rail_bridge": "Берёзовый железнодорожный мост", + "block.mcw_tfc_aio.bridges.birch_bridges.birch_bridge_pier": "Берёзовое основание моста", + "block.mcw_tfc_aio.bridges.birch_bridges.birch_log_bridge_stair": "Берёзовая лестница моста", + "block.mcw_tfc_aio.bridges.birch_bridges.birch_rope_bridge_stair": "Берёзовая верёвочная лестница моста", + "block.mcw_tfc_aio.bridges.blackwood_bridges.blackwood_log_bridge_middle": "Гренадиловый мост", + "block.mcw_tfc_aio.bridges.blackwood_bridges.rope_blackwood_bridge": "Гренадиловый верёвочный мост", + "block.mcw_tfc_aio.bridges.blackwood_bridges.blackwood_rail_bridge": "Гренадиловый железнодорожный мост", + "block.mcw_tfc_aio.bridges.blackwood_bridges.blackwood_bridge_pier": "Гренадиловое основание моста", + "block.mcw_tfc_aio.bridges.blackwood_bridges.blackwood_log_bridge_stair": "Гренадиловая лестница моста", + "block.mcw_tfc_aio.bridges.blackwood_bridges.blackwood_rope_bridge_stair": "Гренадиловая верёвочная лестница моста", + "block.mcw_tfc_aio.bridges.chestnut_bridges.chestnut_log_bridge_middle": "Каштановый мост", + "block.mcw_tfc_aio.bridges.chestnut_bridges.rope_chestnut_bridge": "Каштановый верёвочный мост", + "block.mcw_tfc_aio.bridges.chestnut_bridges.chestnut_rail_bridge": "Каштановый железнодорожный мост", + "block.mcw_tfc_aio.bridges.chestnut_bridges.chestnut_bridge_pier": "Каштановое основание моста", + "block.mcw_tfc_aio.bridges.chestnut_bridges.chestnut_log_bridge_stair": "Каштановая лестница моста", + "block.mcw_tfc_aio.bridges.chestnut_bridges.chestnut_rope_bridge_stair": "Каштановая верёвочная лестница моста", + "block.mcw_tfc_aio.bridges.douglas_fir_bridges.douglas_fir_log_bridge_middle": "Дугласовый мост", + "block.mcw_tfc_aio.bridges.douglas_fir_bridges.rope_douglas_fir_bridge": "Дугласовый верёвочный мост", + "block.mcw_tfc_aio.bridges.douglas_fir_bridges.douglas_fir_rail_bridge": "Дугласовый железнодорожный мост", + "block.mcw_tfc_aio.bridges.douglas_fir_bridges.douglas_fir_bridge_pier": "Дугласовое основание моста", + "block.mcw_tfc_aio.bridges.douglas_fir_bridges.douglas_fir_log_bridge_stair": "Дугласовая лестница моста", + "block.mcw_tfc_aio.bridges.douglas_fir_bridges.douglas_fir_rope_bridge_stair": "Дугласовая верёвочная лестница моста", + "block.mcw_tfc_aio.bridges.hickory_bridges.hickory_log_bridge_middle": "Гикориевый мост", + "block.mcw_tfc_aio.bridges.hickory_bridges.rope_hickory_bridge": "Гикориевый верёвочный мост", + "block.mcw_tfc_aio.bridges.hickory_bridges.hickory_rail_bridge": "Гикориевый железнодорожный мост", + "block.mcw_tfc_aio.bridges.hickory_bridges.hickory_bridge_pier": "Гикориевое основание моста", + "block.mcw_tfc_aio.bridges.hickory_bridges.hickory_log_bridge_stair": "Гикориевая лестница моста", + "block.mcw_tfc_aio.bridges.hickory_bridges.hickory_rope_bridge_stair": "Гикориевая верёвочная лестница моста", + "block.mcw_tfc_aio.bridges.kapok_bridges.kapok_log_bridge_middle": "Сейбовый мост", + "block.mcw_tfc_aio.bridges.kapok_bridges.rope_kapok_bridge": "Сейбовый верёвочный мост", + "block.mcw_tfc_aio.bridges.kapok_bridges.kapok_rail_bridge": "Сейбовый железнодорожный мост", + "block.mcw_tfc_aio.bridges.kapok_bridges.kapok_bridge_pier": "Сейбовое основание моста", + "block.mcw_tfc_aio.bridges.kapok_bridges.kapok_log_bridge_stair": "Сейбовая лестница моста", + "block.mcw_tfc_aio.bridges.kapok_bridges.kapok_rope_bridge_stair": "Сейбовая верёвочная лестница моста", + "block.mcw_tfc_aio.bridges.mangrove_bridges.mangrove_log_bridge_middle": "Мангровый мост", + "block.mcw_tfc_aio.bridges.mangrove_bridges.rope_mangrove_bridge": "Мангровый верёвочный мост", + "block.mcw_tfc_aio.bridges.mangrove_bridges.mangrove_rail_bridge": "Мангровый железнодорожный мост", + "block.mcw_tfc_aio.bridges.mangrove_bridges.mangrove_bridge_pier": "Мангровое основание моста", + "block.mcw_tfc_aio.bridges.mangrove_bridges.mangrove_log_bridge_stair": "Мангровая лестница моста", + "block.mcw_tfc_aio.bridges.mangrove_bridges.mangrove_rope_bridge_stair": "Мангровая верёвочная лестница моста", + "block.mcw_tfc_aio.bridges.maple_bridges.maple_log_bridge_middle": "Кленовый мост", + "block.mcw_tfc_aio.bridges.maple_bridges.rope_maple_bridge": "Кленовый верёвочный мост", + "block.mcw_tfc_aio.bridges.maple_bridges.maple_rail_bridge": "Кленовый железнодорожный мост", + "block.mcw_tfc_aio.bridges.maple_bridges.maple_bridge_pier": "Кленовое основание моста", + "block.mcw_tfc_aio.bridges.maple_bridges.maple_log_bridge_stair": "Кленовая лестница моста", + "block.mcw_tfc_aio.bridges.maple_bridges.maple_rope_bridge_stair": "Кленовая верёвочная лестница моста", + "block.mcw_tfc_aio.bridges.oak_bridges.oak_log_bridge_middle": "Дубовый мост", + "block.mcw_tfc_aio.bridges.oak_bridges.rope_oak_bridge": "Дубовый верёвочный мост", + "block.mcw_tfc_aio.bridges.oak_bridges.oak_rail_bridge": "Дубовый железнодорожный мост", + "block.mcw_tfc_aio.bridges.oak_bridges.oak_bridge_pier": "Дубовое основание моста", + "block.mcw_tfc_aio.bridges.oak_bridges.oak_log_bridge_stair": "Дубовая лестница моста", + "block.mcw_tfc_aio.bridges.oak_bridges.oak_rope_bridge_stair": "Дубовая верёвочная лестница моста", + "block.mcw_tfc_aio.bridges.palm_bridges.palm_log_bridge_middle": "Пальмовый мост", + "block.mcw_tfc_aio.bridges.palm_bridges.rope_palm_bridge": "Пальмовый верёвочный мост", + "block.mcw_tfc_aio.bridges.palm_bridges.palm_rail_bridge": "Пальмовый железнодорожный мост", + "block.mcw_tfc_aio.bridges.palm_bridges.palm_bridge_pier": "Пальмовое основание моста", + "block.mcw_tfc_aio.bridges.palm_bridges.palm_log_bridge_stair": "Пальмовая лестница моста", + "block.mcw_tfc_aio.bridges.palm_bridges.palm_rope_bridge_stair": "Пальмовая верёвочная лестница моста", + "block.mcw_tfc_aio.bridges.pine_bridges.pine_log_bridge_middle": "Сосновый мост", + "block.mcw_tfc_aio.bridges.pine_bridges.rope_pine_bridge": "Сосновый верёвочный мост", + "block.mcw_tfc_aio.bridges.pine_bridges.pine_rail_bridge": "Сосновый железнодорожный мост", + "block.mcw_tfc_aio.bridges.pine_bridges.pine_bridge_pier": "Сосновое основание моста", + "block.mcw_tfc_aio.bridges.pine_bridges.pine_log_bridge_stair": "Сосновая лестница моста", + "block.mcw_tfc_aio.bridges.pine_bridges.pine_rope_bridge_stair": "Сосновая верёвочная лестница моста", + "block.mcw_tfc_aio.bridges.rosewood_bridges.rosewood_log_bridge_middle": "Палисандровый мост", + "block.mcw_tfc_aio.bridges.rosewood_bridges.rope_rosewood_bridge": "Палисандровый верёвочный мост", + "block.mcw_tfc_aio.bridges.rosewood_bridges.rosewood_rail_bridge": "Палисандровый железнодорожный мост", + "block.mcw_tfc_aio.bridges.rosewood_bridges.rosewood_bridge_pier": "Палисандровое основание моста", + "block.mcw_tfc_aio.bridges.rosewood_bridges.rosewood_log_bridge_stair": "Палисандровая лестница моста", + "block.mcw_tfc_aio.bridges.rosewood_bridges.rosewood_rope_bridge_stair": "Палисандровая верёвочная лестница моста", + "block.mcw_tfc_aio.bridges.sequoia_bridges.sequoia_log_bridge_middle": "Секвойевый мост", + "block.mcw_tfc_aio.bridges.sequoia_bridges.rope_sequoia_bridge": "Секвойевый верёвочный мост", + "block.mcw_tfc_aio.bridges.sequoia_bridges.sequoia_rail_bridge": "Секвойевый железнодорожный мост", + "block.mcw_tfc_aio.bridges.sequoia_bridges.sequoia_bridge_pier": "Секвойевое основание моста", + "block.mcw_tfc_aio.bridges.sequoia_bridges.sequoia_log_bridge_stair": "Секвойевая лестница моста", + "block.mcw_tfc_aio.bridges.sequoia_bridges.sequoia_rope_bridge_stair": "Секвойевая верёвочная лестница моста", + "block.mcw_tfc_aio.bridges.spruce_bridges.spruce_log_bridge_middle": "Еловый мост", + "block.mcw_tfc_aio.bridges.spruce_bridges.rope_spruce_bridge": "Еловый верёвочный мост", + "block.mcw_tfc_aio.bridges.spruce_bridges.spruce_rail_bridge": "Еловый железнодорожный мост", + "block.mcw_tfc_aio.bridges.spruce_bridges.spruce_bridge_pier": "Еловое основание моста", + "block.mcw_tfc_aio.bridges.spruce_bridges.spruce_log_bridge_stair": "Еловая лестница моста", + "block.mcw_tfc_aio.bridges.spruce_bridges.spruce_rope_bridge_stair": "Еловая верёвочная лестница моста", + "block.mcw_tfc_aio.bridges.sycamore_bridges.sycamore_log_bridge_middle": "Платановый мост", + "block.mcw_tfc_aio.bridges.sycamore_bridges.rope_sycamore_bridge": "Платановый верёвочный мост", + "block.mcw_tfc_aio.bridges.sycamore_bridges.sycamore_rail_bridge": "Платановый железнодорожный мост", + "block.mcw_tfc_aio.bridges.sycamore_bridges.sycamore_bridge_pier": "Платановое основание моста", + "block.mcw_tfc_aio.bridges.sycamore_bridges.sycamore_log_bridge_stair": "Платановая лестница моста", + "block.mcw_tfc_aio.bridges.sycamore_bridges.sycamore_rope_bridge_stair": "Платановая верёвочная лестница моста", + "block.mcw_tfc_aio.bridges.white_cedar_bridges.white_cedar_log_bridge_middle": "Кедровый мост", + "block.mcw_tfc_aio.bridges.white_cedar_bridges.rope_white_cedar_bridge": "Кедровый верёвочный мост", + "block.mcw_tfc_aio.bridges.white_cedar_bridges.white_cedar_rail_bridge": "Кедровый железнодорожный мост", + "block.mcw_tfc_aio.bridges.white_cedar_bridges.white_cedar_bridge_pier": "Кедровое основание моста", + "block.mcw_tfc_aio.bridges.white_cedar_bridges.white_cedar_log_bridge_stair": "Кедровая лестница моста", + "block.mcw_tfc_aio.bridges.white_cedar_bridges.white_cedar_rope_bridge_stair": "Кедровая верёвочная лестница моста", + "block.mcw_tfc_aio.bridges.willow_bridges.willow_log_bridge_middle": "Ивовый мост", + "block.mcw_tfc_aio.bridges.willow_bridges.rope_willow_bridge": "Ивовый верёвочный мост", + "block.mcw_tfc_aio.bridges.willow_bridges.willow_rail_bridge": "Ивовый железнодорожный мост", + "block.mcw_tfc_aio.bridges.willow_bridges.willow_bridge_pier": "Ивовое основание моста", + "block.mcw_tfc_aio.bridges.willow_bridges.willow_log_bridge_stair": "Ивовая лестница моста", + "block.mcw_tfc_aio.bridges.willow_bridges.willow_rope_bridge_stair": "Ивовая верёвочная лестница моста", + "tfc.recipe.barrel.mcw_tfc_aio.bleach_terracotta": "Отбеливание терракоты", + "itemGroup.furniture": "Macaw's TFC: Мебель", + "mcw_tfc_aio.container.threerows": "Мебель", + "item.mcw_tfc_aio.furniture.cabinet.cabinet_door": "Дверца шкафа", + "item.mcw_tfc_aio.furniture.cabinet.cabinet_drawer": "Ящик шкафа", + "mcw_tfc_aio.furnitureitem.desc": "Ингредиент для крафта", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_wardrobe": "Акациевый шкаф", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_modern_wardrobe": "Акациевый современный шкаф", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_double_wardrobe": "Акациевый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_bookshelf": "Акациевая книжная полка", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_bookshelf_cupboard": "Акациевый шкаф-полка", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_drawer": "Акациевый ящик", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_double_drawer": "Акациевый двухъящичный комод", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_bookshelf_drawer": "Акациевая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_lower_bookshelf_drawer": "Акациевая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_large_drawer": "Акациевый большой ящик", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_lower_triple_drawer": "Акациевый нижний тройной комод", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_triple_drawer": "Акациевый тройной комод", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_desk": "Акациевый письменный стол", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_covered_desk": "Акациевый стол с тумбой", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_modern_desk": "Акациевый современный стол", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_table": "Акациевый стол", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_end_table": "Акациевая прикроватная тумба", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_coffee_table": "Акациевый журнальный столик", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_glass_table": "Акациевый стол со стеклом", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_chair": "Акациевый стул", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_modern_chair": "Акациевый современный стул", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_striped_chair": "Акациевый полосатый стул", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_stool_chair": "Акациевый табурет", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_counter": "Акациевая стойка", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_drawer_counter": "Акациевая тумба с ящиком", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_double_drawer_counter": "Акациевая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.acacia_furniture.acacia_cupboard_counter": "Акациевая тумба со шкафом", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_wardrobe": "Обтесанный акациевый шкаф", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_modern_wardrobe": "Обтесанный акациевый современный шкаф", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_double_wardrobe": "Обтесанный акациевый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_bookshelf": "Обтесанная акациевая книжная полка", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_bookshelf_cupboard": "Обтесанный акациевый шкаф-полка", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_drawer": "Обтесанный акациевый ящик", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_double_drawer": "Обтесанный акациевый двухъящичный комод", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_bookshelf_drawer": "Обтесанная акациевая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_lower_bookshelf_drawer": "Обтесанная акациевая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_large_drawer": "Обтесанный акациевый большой ящик", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_lower_triple_drawer": "Обтесанный акациевый нижний тройной комод", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_triple_drawer": "Обтесанный акациевый тройной комод", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_desk": "Обтесанный акациевый письменный стол", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_covered_desk": "Обтесанный акациевый стол с тумбой", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_modern_desk": "Обтесанный акациевый современный стол", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_table": "Обтесанный акациевый стол", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_end_table": "Обтесанная акациевая прикроватная тумба", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_coffee_table": "Обтесанный акациевый журнальный столик", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_glass_table": "Обтесанный акациевый стол со стеклом", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_chair": "Обтесанный акациевый стул", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_modern_chair": "Обтесанный акациевый современный стул", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_striped_chair": "Обтесанный акациевый полосатый стул", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_stool_chair": "Обтесанный акациевый табурет", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_counter": "Обтесанная акациевая стойка", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_drawer_counter": "Обтесанная акациевая тумба с ящиком", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_double_drawer_counter": "Обтесанная акациевая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.acacia_furniture.stripped_acacia_cupboard_counter": "Обтесанная акациевая тумба со шкафом", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_wardrobe": "Ясеневый шкаф", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_modern_wardrobe": "Ясеневый современный шкаф", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_double_wardrobe": "Ясеневый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_bookshelf": "Ясеневая книжная полка", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_bookshelf_cupboard": "Ясеневый шкаф-полка", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_drawer": "Ясеневый ящик", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_double_drawer": "Ясеневый двухъящичный комод", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_bookshelf_drawer": "Ясеневая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_lower_bookshelf_drawer": "Ясеневая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_large_drawer": "Ясеневый большой ящик", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_lower_triple_drawer": "Ясеневый нижний тройной комод", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_triple_drawer": "Ясеневый тройной комод", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_desk": "Ясеневый письменный стол", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_covered_desk": "Ясеневый стол с тумбой", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_modern_desk": "Ясеневый современный стол", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_table": "Ясеневый стол", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_end_table": "Ясеневая прикроватная тумба", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_coffee_table": "Ясеневый журнальный столик", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_glass_table": "Ясеневый стол со стеклом", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_chair": "Ясеневый стул", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_modern_chair": "Ясеневый современный стул", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_striped_chair": "Ясеневый полосатый стул", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_stool_chair": "Ясеневый табурет", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_counter": "Ясеневая стойка", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_drawer_counter": "Ясеневая тумба с ящиком", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_double_drawer_counter": "Ясеневая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.ash_furniture.ash_cupboard_counter": "Ясеневая тумба со шкафом", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_wardrobe": "Обтесанный ясеневый шкаф", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_modern_wardrobe": "Обтесанный ясеневый современный шкаф", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_double_wardrobe": "Обтесанный ясеневый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_bookshelf": "Обтесанная ясеневая книжная полка", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_bookshelf_cupboard": "Обтесанный ясеневый шкаф-полка", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_drawer": "Обтесанный ясеневый ящик", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_double_drawer": "Обтесанный ясеневый двухъящичный комод", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_bookshelf_drawer": "Обтесанная ясеневая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_lower_bookshelf_drawer": "Обтесанная ясеневая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_large_drawer": "Обтесанный ясеневый большой ящик", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_lower_triple_drawer": "Обтесанный ясеневый нижний тройной комод", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_triple_drawer": "Обтесанный ясеневый тройной комод", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_desk": "Обтесанный ясеневый письменный стол", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_covered_desk": "Обтесанный ясеневый стол с тумбой", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_modern_desk": "Обтесанный ясеневый современный стол", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_table": "Обтесанный ясеневый стол", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_end_table": "Обтесанная ясеневая прикроватная тумба", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_coffee_table": "Обтесанный ясеневый журнальный столик", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_glass_table": "Обтесанный ясеневый стол со стеклом", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_chair": "Обтесанный ясеневый стул", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_modern_chair": "Обтесанный ясеневый современный стул", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_striped_chair": "Обтесанный ясеневый полосатый стул", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_stool_chair": "Обтесанный ясеневый табурет", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_counter": "Обтесанная ясеневая стойка", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_drawer_counter": "Обтесанная ясеневая тумба с ящиком", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_double_drawer_counter": "Обтесанная ясеневая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.ash_furniture.stripped_ash_cupboard_counter": "Обтесанная ясеневая тумба со шкафом", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_wardrobe": "Осиновый шкаф", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_modern_wardrobe": "Осиновый современный шкаф", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_double_wardrobe": "Осиновый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_bookshelf": "Осиновая книжная полка", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_bookshelf_cupboard": "Осиновый шкаф-полка", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_drawer": "Осиновый ящик", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_double_drawer": "Осиновый двухъящичный комод", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_bookshelf_drawer": "Осиновая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_lower_bookshelf_drawer": "Осиновая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_large_drawer": "Осиновый большой ящик", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_lower_triple_drawer": "Осиновый нижний тройной комод", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_triple_drawer": "Осиновый тройной комод", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_desk": "Осиновый письменный стол", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_covered_desk": "Осиновый стол с тумбой", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_modern_desk": "Осиновый современный стол", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_table": "Осиновый стол", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_end_table": "Осиновая прикроватная тумба", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_coffee_table": "Осиновый журнальный столик", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_glass_table": "Осиновый стол со стеклом", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_chair": "Осиновый стул", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_modern_chair": "Осиновый современный стул", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_striped_chair": "Осиновый полосатый стул", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_stool_chair": "Осиновый табурет", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_counter": "Осиновая стойка", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_drawer_counter": "Осиновая тумба с ящиком", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_double_drawer_counter": "Осиновая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.aspen_furniture.aspen_cupboard_counter": "Осиновая тумба со шкафом", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_wardrobe": "Обтесанный осиновый шкаф", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_modern_wardrobe": "Обтесанный осиновый современный шкаф", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_double_wardrobe": "Обтесанный осиновый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_bookshelf": "Обтесанная осиновая книжная полка", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_bookshelf_cupboard": "Обтесанный осиновый шкаф-полка", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_drawer": "Обтесанный осиновый ящик", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_double_drawer": "Обтесанный осиновый двухъящичный комод", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_bookshelf_drawer": "Обтесанная осиновая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_lower_bookshelf_drawer": "Обтесанная осиновая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_large_drawer": "Обтесанный осиновый большой ящик", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_lower_triple_drawer": "Обтесанный осиновый нижний тройной комод", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_triple_drawer": "Обтесанный осиновый тройной комод", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_desk": "Обтесанный осиновый письменный стол", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_covered_desk": "Обтесанный осиновый стол с тумбой", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_modern_desk": "Обтесанный осиновый современный стол", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_table": "Обтесанный осиновый стол", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_end_table": "Обтесанная осиновая прикроватная тумба", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_coffee_table": "Обтесанный осиновый журнальный столик", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_glass_table": "Обтесанный осиновый стол со стеклом", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_chair": "Обтесанный осиновый стул", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_modern_chair": "Обтесанный осиновый современный стул", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_striped_chair": "Обтесанный осиновый полосатый стул", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_stool_chair": "Обтесанный осиновый табурет", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_counter": "Обтесанная осиновая стойка", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_drawer_counter": "Обтесанная осиновая тумба с ящиком", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_double_drawer_counter": "Обтесанная осиновая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.aspen_furniture.stripped_aspen_cupboard_counter": "Обтесанная осиновая тумба со шкафом", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_wardrobe": "Берёзовый шкаф", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_modern_wardrobe": "Берёзовый современный шкаф", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_double_wardrobe": "Берёзовый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_bookshelf": "Берёзовая книжная полка", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_bookshelf_cupboard": "Берёзовый шкаф-полка", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_drawer": "Берёзовый ящик", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_double_drawer": "Берёзовый двухъящичный комод", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_bookshelf_drawer": "Берёзовая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_lower_bookshelf_drawer": "Берёзовая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_large_drawer": "Берёзовый большой ящик", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_lower_triple_drawer": "Берёзовый нижний тройной комод", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_triple_drawer": "Берёзовый тройной комод", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_desk": "Берёзовый письменный стол", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_covered_desk": "Берёзовый стол с тумбой", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_modern_desk": "Берёзовый современный стол", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_table": "Берёзовый стол", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_end_table": "Берёзовая прикроватная тумба", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_coffee_table": "Берёзовый журнальный столик", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_glass_table": "Берёзовый стол со стеклом", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_chair": "Берёзовый стул", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_modern_chair": "Берёзовый современный стул", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_striped_chair": "Берёзовый полосатый стул", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_stool_chair": "Берёзовый табурет", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_counter": "Берёзовая стойка", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_drawer_counter": "Берёзовая тумба с ящиком", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_double_drawer_counter": "Берёзовая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.birch_furniture.birch_cupboard_counter": "Берёзовая тумба со шкафом", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_wardrobe": "Обтесанный берёзовый шкаф", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_modern_wardrobe": "Обтесанный берёзовый современный шкаф", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_double_wardrobe": "Обтесанный берёзовый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_bookshelf": "Обтесанная берёзовая книжная полка", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_bookshelf_cupboard": "Обтесанный берёзовый шкаф-полка", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_drawer": "Обтесанный берёзовый ящик", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_double_drawer": "Обтесанный берёзовый двухъящичный комод", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_bookshelf_drawer": "Обтесанная берёзовая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_lower_bookshelf_drawer": "Обтесанная берёзовая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_large_drawer": "Обтесанный берёзовый большой ящик", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_lower_triple_drawer": "Обтесанный берёзовый нижний тройной комод", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_triple_drawer": "Обтесанный берёзовый тройной комод", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_desk": "Обтесанный берёзовый письменный стол", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_covered_desk": "Обтесанный берёзовый стол с тумбой", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_modern_desk": "Обтесанный берёзовый современный стол", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_table": "Обтесанный берёзовый стол", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_end_table": "Обтесанная берёзовая прикроватная тумба", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_coffee_table": "Обтесанный берёзовый журнальный столик", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_glass_table": "Обтесанный берёзовый стол со стеклом", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_chair": "Обтесанный берёзовый стул", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_modern_chair": "Обтесанный берёзовый современный стул", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_striped_chair": "Обтесанный берёзовый полосатый стул", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_stool_chair": "Обтесанный берёзовый табурет", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_counter": "Обтесанная берёзовая стойка", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_drawer_counter": "Обтесанная берёзовая тумба с ящиком", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_double_drawer_counter": "Обтесанная берёзовая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.birch_furniture.stripped_birch_cupboard_counter": "Обтесанная берёзовая тумба со шкафом", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_wardrobe": "Гренадиловый шкаф", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_modern_wardrobe": "Гренадиловый современный шкаф", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_double_wardrobe": "Гренадиловый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_bookshelf": "Гренадиловая книжная полка", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_bookshelf_cupboard": "Гренадиловый шкаф-полка", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_drawer": "Гренадиловый ящик", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_double_drawer": "Гренадиловый двухъящичный комод", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_bookshelf_drawer": "Гренадиловая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_lower_bookshelf_drawer": "Гренадиловая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_large_drawer": "Гренадиловый большой ящик", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_lower_triple_drawer": "Гренадиловый нижний тройной комод", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_triple_drawer": "Гренадиловый тройной комод", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_desk": "Гренадиловый письменный стол", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_covered_desk": "Гренадиловый стол с тумбой", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_modern_desk": "Гренадиловый современный стол", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_table": "Гренадиловый стол", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_end_table": "Гренадиловая прикроватная тумба", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_coffee_table": "Гренадиловый журнальный столик", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_glass_table": "Гренадиловый стол со стеклом", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_chair": "Гренадиловый стул", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_modern_chair": "Гренадиловый современный стул", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_striped_chair": "Гренадиловый полосатый стул", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_stool_chair": "Гренадиловый табурет", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_counter": "Гренадиловая стойка", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_drawer_counter": "Гренадиловая тумба с ящиком", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_double_drawer_counter": "Гренадиловая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.blackwood_furniture.blackwood_cupboard_counter": "Гренадиловая тумба со шкафом", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_wardrobe": "Обтесанный гренадиловый шкаф", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_modern_wardrobe": "Обтесанный гренадиловый современный шкаф", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_double_wardrobe": "Обтесанный гренадиловый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_bookshelf": "Обтесанная гренадиловая книжная полка", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_bookshelf_cupboard": "Обтесанный гренадиловый шкаф-полка", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_drawer": "Обтесанный гренадиловый ящик", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_double_drawer": "Обтесанный гренадиловый двухъящичный комод", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_bookshelf_drawer": "Обтесанная гренадиловая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_lower_bookshelf_drawer": "Обтесанная гренадиловая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_large_drawer": "Обтесанный гренадиловый большой ящик", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_lower_triple_drawer": "Обтесанный гренадиловый нижний тройной комод", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_triple_drawer": "Обтесанный гренадиловый тройной комод", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_desk": "Обтесанный гренадиловый письменный стол", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_covered_desk": "Обтесанный гренадиловый стол с тумбой", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_modern_desk": "Обтесанный гренадиловый современный стол", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_table": "Обтесанный гренадиловый стол", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_end_table": "Обтесанная гренадиловая прикроватная тумба", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_coffee_table": "Обтесанный гренадиловый журнальный столик", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_glass_table": "Обтесанный гренадиловый стол со стеклом", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_chair": "Обтесанный гренадиловый стул", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_modern_chair": "Обтесанный гренадиловый современный стул", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_striped_chair": "Обтесанный гренадиловый полосатый стул", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_stool_chair": "Обтесанный гренадиловый табурет", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_counter": "Обтесанная гренадиловая стойка", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_drawer_counter": "Обтесанная гренадиловая тумба с ящиком", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_double_drawer_counter": "Обтесанная гренадиловая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.blackwood_furniture.stripped_blackwood_cupboard_counter": "Обтесанная гренадиловая тумба со шкафом", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_wardrobe": "Каштановый шкаф", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_modern_wardrobe": "Каштановый современный шкаф", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_double_wardrobe": "Каштановый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_bookshelf": "Каштановая книжная полка", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_bookshelf_cupboard": "Каштановый шкаф-полка", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_drawer": "Каштановый ящик", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_double_drawer": "Каштановый двухъящичный комод", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_bookshelf_drawer": "Каштановая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_lower_bookshelf_drawer": "Каштановая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_large_drawer": "Каштановый большой ящик", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_lower_triple_drawer": "Каштановый нижний тройной комод", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_triple_drawer": "Каштановый тройной комод", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_desk": "Каштановый письменный стол", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_covered_desk": "Каштановый стол с тумбой", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_modern_desk": "Каштановый современный стол", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_table": "Каштановый стол", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_end_table": "Каштановая прикроватная тумба", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_coffee_table": "Каштановый журнальный столик", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_glass_table": "Каштановый стол со стеклом", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_chair": "Каштановый стул", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_modern_chair": "Каштановый современный стул", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_striped_chair": "Каштановый полосатый стул", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_stool_chair": "Каштановый табурет", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_counter": "Каштановая стойка", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_drawer_counter": "Каштановая тумба с ящиком", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_double_drawer_counter": "Каштановая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.chestnut_furniture.chestnut_cupboard_counter": "Каштановая тумба со шкафом", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_wardrobe": "Обтесанный каштановый шкаф", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_modern_wardrobe": "Обтесанный каштановый современный шкаф", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_double_wardrobe": "Обтесанный каштановый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_bookshelf": "Обтесанная каштановая книжная полка", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_bookshelf_cupboard": "Обтесанный каштановый шкаф-полка", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_drawer": "Обтесанный каштановый ящик", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_double_drawer": "Обтесанный каштановый двухъящичный комод", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_bookshelf_drawer": "Обтесанная каштановая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_lower_bookshelf_drawer": "Обтесанная каштановая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_large_drawer": "Обтесанный каштановый большой ящик", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_lower_triple_drawer": "Обтесанный каштановый нижний тройной комод", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_triple_drawer": "Обтесанный каштановый тройной комод", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_desk": "Обтесанный каштановый письменный стол", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_covered_desk": "Обтесанный каштановый стол с тумбой", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_modern_desk": "Обтесанный каштановый современный стол", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_table": "Обтесанный каштановый стол", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_end_table": "Обтесанная каштановая прикроватная тумба", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_coffee_table": "Обтесанный каштановый журнальный столик", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_glass_table": "Обтесанный каштановый стол со стеклом", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_chair": "Обтесанный каштановый стул", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_modern_chair": "Обтесанный каштановый современный стул", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_striped_chair": "Обтесанный каштановый полосатый стул", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_stool_chair": "Обтесанный каштановый табурет", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_counter": "Обтесанная каштановая стойка", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_drawer_counter": "Обтесанная каштановая тумба с ящиком", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_double_drawer_counter": "Обтесанная каштановая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.chestnut_furniture.stripped_chestnut_cupboard_counter": "Обтесанная каштановая тумба со шкафом", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_wardrobe": "Дугласовый шкаф", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_modern_wardrobe": "Дугласовый современный шкаф", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_double_wardrobe": "Дугласовый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_bookshelf": "Дугласовая книжная полка", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_bookshelf_cupboard": "Дугласовый шкаф-полка", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_drawer": "Дугласовый ящик", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_double_drawer": "Дугласовый двухъящичный комод", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_bookshelf_drawer": "Дугласовая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_lower_bookshelf_drawer": "Дугласовая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_large_drawer": "Дугласовый большой ящик", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_lower_triple_drawer": "Дугласовый нижний тройной комод", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_triple_drawer": "Дугласовый тройной комод", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_desk": "Дугласовый письменный стол", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_covered_desk": "Дугласовый стол с тумбой", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_modern_desk": "Дугласовый современный стол", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_table": "Дугласовый стол", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_end_table": "Дугласовая прикроватная тумба", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_coffee_table": "Дугласовый журнальный столик", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_glass_table": "Дугласовый стол со стеклом", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_chair": "Дугласовый стул", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_modern_chair": "Дугласовый современный стул", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_striped_chair": "Дугласовый полосатый стул", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_stool_chair": "Дугласовый табурет", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_counter": "Дугласовая стойка", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_drawer_counter": "Дугласовая тумба с ящиком", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_double_drawer_counter": "Дугласовая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.douglas_fir_cupboard_counter": "Дугласовая тумба со шкафом", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_wardrobe": "Обтесанный дугласовый шкаф", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_modern_wardrobe": "Обтесанный дугласовый современный шкаф", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_double_wardrobe": "Обтесанный дугласовый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_bookshelf": "Обтесанная дугласовая книжная полка", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_bookshelf_cupboard": "Обтесанный дугласовый шкаф-полка", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_drawer": "Обтесанный дугласовый ящик", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_double_drawer": "Обтесанный дугласовый двухъящичный комод", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_bookshelf_drawer": "Обтесанная дугласовая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_lower_bookshelf_drawer": "Обтесанная дугласовая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_large_drawer": "Обтесанный дугласовый большой ящик", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_lower_triple_drawer": "Обтесанный дугласовый нижний тройной комод", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_triple_drawer": "Обтесанный дугласовый тройной комод", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_desk": "Обтесанный дугласовый письменный стол", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_covered_desk": "Обтесанный дугласовый стол с тумбой", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_modern_desk": "Обтесанный дугласовый современный стол", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_table": "Обтесанный дугласовый стол", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_end_table": "Обтесанная дугласовая прикроватная тумба", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_coffee_table": "Обтесанный дугласовый журнальный столик", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_glass_table": "Обтесанный дугласовый стол со стеклом", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_chair": "Обтесанный дугласовый стул", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_modern_chair": "Обтесанный дугласовый современный стул", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_striped_chair": "Обтесанный дугласовый полосатый стул", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_stool_chair": "Обтесанный дугласовый табурет", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_counter": "Обтесанная дугласовая стойка", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_drawer_counter": "Обтесанная дугласовая тумба с ящиком", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_double_drawer_counter": "Обтесанная дугласовая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.douglas_fir_furniture.stripped_douglas_fir_cupboard_counter": "Обтесанная дугласовая тумба со шкафом", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_wardrobe": "Гикориевый шкаф", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_modern_wardrobe": "Гикориевый современный шкаф", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_double_wardrobe": "Гикориевый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_bookshelf": "Гикориевая книжная полка", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_bookshelf_cupboard": "Гикориевый шкаф-полка", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_drawer": "Гикориевый ящик", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_double_drawer": "Гикориевый двухъящичный комод", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_bookshelf_drawer": "Гикориевая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_lower_bookshelf_drawer": "Гикориевая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_large_drawer": "Гикориевый большой ящик", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_lower_triple_drawer": "Гикориевый нижний тройной комод", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_triple_drawer": "Гикориевый тройной комод", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_desk": "Гикориевый письменный стол", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_covered_desk": "Гикориевый стол с тумбой", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_modern_desk": "Гикориевый современный стол", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_table": "Гикориевый стол", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_end_table": "Гикориевая прикроватная тумба", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_coffee_table": "Гикориевый журнальный столик", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_glass_table": "Гикориевый стол со стеклом", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_chair": "Гикориевый стул", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_modern_chair": "Гикориевый современный стул", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_striped_chair": "Гикориевый полосатый стул", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_stool_chair": "Гикориевый табурет", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_counter": "Гикориевая стойка", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_drawer_counter": "Гикориевая тумба с ящиком", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_double_drawer_counter": "Гикориевая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.hickory_furniture.hickory_cupboard_counter": "Гикориевая тумба со шкафом", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_wardrobe": "Обтесанный гикориевый шкаф", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_modern_wardrobe": "Обтесанный гикориевый современный шкаф", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_double_wardrobe": "Обтесанный гикориевый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_bookshelf": "Обтесанная гикориевая книжная полка", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_bookshelf_cupboard": "Обтесанный гикориевый шкаф-полка", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_drawer": "Обтесанный гикориевый ящик", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_double_drawer": "Обтесанный гикориевый двухъящичный комод", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_bookshelf_drawer": "Обтесанная гикориевая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_lower_bookshelf_drawer": "Обтесанная гикориевая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_large_drawer": "Обтесанный гикориевый большой ящик", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_lower_triple_drawer": "Обтесанный гикориевый нижний тройной комод", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_triple_drawer": "Обтесанный гикориевый тройной комод", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_desk": "Обтесанный гикориевый письменный стол", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_covered_desk": "Обтесанный гикориевый стол с тумбой", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_modern_desk": "Обтесанный гикориевый современный стол", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_table": "Обтесанный гикориевый стол", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_end_table": "Обтесанная гикориевая прикроватная тумба", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_coffee_table": "Обтесанный гикориевый журнальный столик", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_glass_table": "Обтесанный гикориевый стол со стеклом", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_chair": "Обтесанный гикориевый стул", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_modern_chair": "Обтесанный гикориевый современный стул", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_striped_chair": "Обтесанный гикориевый полосатый стул", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_stool_chair": "Обтесанный гикориевый табурет", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_counter": "Обтесанная гикориевая стойка", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_drawer_counter": "Обтесанная гикориевая тумба с ящиком", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_double_drawer_counter": "Обтесанная гикориевая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.hickory_furniture.stripped_hickory_cupboard_counter": "Обтесанная гикориевая тумба со шкафом", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_wardrobe": "Сейбовый шкаф", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_modern_wardrobe": "Сейбовый современный шкаф", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_double_wardrobe": "Сейбовый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_bookshelf": "Сейбовая книжная полка", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_bookshelf_cupboard": "Сейбовый шкаф-полка", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_drawer": "Сейбовый ящик", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_double_drawer": "Сейбовый двухъящичный комод", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_bookshelf_drawer": "Сейбовая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_lower_bookshelf_drawer": "Сейбовая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_large_drawer": "Сейбовый большой ящик", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_lower_triple_drawer": "Сейбовый нижний тройной комод", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_triple_drawer": "Сейбовый тройной комод", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_desk": "Сейбовый письменный стол", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_covered_desk": "Сейбовый стол с тумбой", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_modern_desk": "Сейбовый современный стол", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_table": "Сейбовый стол", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_end_table": "Сейбовая прикроватная тумба", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_coffee_table": "Сейбовый журнальный столик", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_glass_table": "Сейбовый стол со стеклом", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_chair": "Сейбовый стул", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_modern_chair": "Сейбовый современный стул", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_striped_chair": "Сейбовый полосатый стул", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_stool_chair": "Сейбовый табурет", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_counter": "Сейбовая стойка", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_drawer_counter": "Сейбовая тумба с ящиком", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_double_drawer_counter": "Сейбовая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.kapok_furniture.kapok_cupboard_counter": "Сейбовая тумба со шкафом", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_wardrobe": "Обтесанный сейбовый шкаф", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_modern_wardrobe": "Обтесанный сейбовый современный шкаф", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_double_wardrobe": "Обтесанный сейбовый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_bookshelf": "Обтесанная сейбовая книжная полка", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_bookshelf_cupboard": "Обтесанный сейбовый шкаф-полка", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_drawer": "Обтесанный сейбовый ящик", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_double_drawer": "Обтесанный сейбовый двухъящичный комод", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_bookshelf_drawer": "Обтесанная сейбовая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_lower_bookshelf_drawer": "Обтесанная сейбовая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_large_drawer": "Обтесанный сейбовый большой ящик", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_lower_triple_drawer": "Обтесанный сейбовый нижний тройной комод", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_triple_drawer": "Обтесанный сейбовый тройной комод", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_desk": "Обтесанный сейбовый письменный стол", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_covered_desk": "Обтесанный сейбовый стол с тумбой", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_modern_desk": "Обтесанный сейбовый современный стол", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_table": "Обтесанный сейбовый стол", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_end_table": "Обтесанная сейбовая прикроватная тумба", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_coffee_table": "Обтесанный сейбовый журнальный столик", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_glass_table": "Обтесанный сейбовый стол со стеклом", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_chair": "Обтесанный сейбовый стул", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_modern_chair": "Обтесанный сейбовый современный стул", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_striped_chair": "Обтесанный сейбовый полосатый стул", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_stool_chair": "Обтесанный сейбовый табурет", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_counter": "Обтесанная сейбовая стойка", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_drawer_counter": "Обтесанная сейбовая тумба с ящиком", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_double_drawer_counter": "Обтесанная сейбовая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.kapok_furniture.stripped_kapok_cupboard_counter": "Обтесанная ейбовая тумба со шкафом", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_wardrobe": "Мангровый шкаф", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_modern_wardrobe": "Мангровый современный шкаф", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_double_wardrobe": "Мангровый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_bookshelf": "Мангровая книжная полка", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_bookshelf_cupboard": "Мангровый шкаф-полка", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_drawer": "Мангровый ящик", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_double_drawer": "Мангровый двухъящичный комод", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_bookshelf_drawer": "Мангровая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_lower_bookshelf_drawer": "Мангровая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_large_drawer": "Мангровый большой ящик", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_lower_triple_drawer": "Мангровый нижний тройной комод", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_triple_drawer": "Мангровый тройной комод", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_desk": "Мангровый письменный стол", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_covered_desk": "Мангровый стол с тумбой", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_modern_desk": "Мангровый современный стол", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_table": "Мангровый стол", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_end_table": "Мангровая прикроватная тумба", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_coffee_table": "Мангровый журнальный столик", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_glass_table": "Мангровый стол со стеклом", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_chair": "Мангровый стул", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_modern_chair": "Мангровый современный стул", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_striped_chair": "Мангровый полосатый стул", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_stool_chair": "Мангровый табурет", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_counter": "Мангровая стойка", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_drawer_counter": "Мангровая тумба с ящиком", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_double_drawer_counter": "Мангровая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.mangrove_furniture.mangrove_cupboard_counter": "Мангровая тумба со шкафом", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_wardrobe": "Обтесанный мангровый шкаф", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_modern_wardrobe": "Обтесанный мангровый современный шкаф", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_double_wardrobe": "Обтесанный мангровый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_bookshelf": "Обтесанная мангровая книжная полка", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_bookshelf_cupboard": "Обтесанный мангровый шкаф-полка", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_drawer": "Обтесанный мангровый ящик", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_double_drawer": "Обтесанный мангровый двухъящичный комод", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_bookshelf_drawer": "Обтесанная мангровая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_lower_bookshelf_drawer": "Обтесанная мангровая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_large_drawer": "Обтесанный мангровый большой ящик", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_lower_triple_drawer": "Обтесанный мангровый нижний тройной комод", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_triple_drawer": "Обтесанный мангровый тройной комод", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_desk": "Обтесанный мангровый письменный стол", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_covered_desk": "Обтесанный мангровый стол с тумбой", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_modern_desk": "Обтесанный мангровый современный стол", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_table": "Обтесанный мангровый стол", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_end_table": "Обтесанная мангровая прикроватная тумба", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_coffee_table": "Обтесанный мангровый журнальный столик", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_glass_table": "Обтесанный мангровый стол со стеклом", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_chair": "Обтесанный мангровый стул", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_modern_chair": "Обтесанный мангровый современный стул", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_striped_chair": "Обтесанный мангровый полосатый стул", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_stool_chair": "Обтесанный мангровый табурет", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_counter": "Обтесанная мангровая стойка", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_drawer_counter": "Обтесанная мангровая тумба с ящиком", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_double_drawer_counter": "Обтесанная мангровая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.mangrove_furniture.stripped_mangrove_cupboard_counter": "Обтесанная мангровая тумба со шкафом", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_wardrobe": "Кленовый шкаф", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_modern_wardrobe": "Кленовый современный шкаф", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_double_wardrobe": "Кленовый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_bookshelf": "Кленовая книжная полка", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_bookshelf_cupboard": "Кленовый шкаф-полка", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_drawer": "Кленовый ящик", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_double_drawer": "Кленовый двухъящичный комод", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_bookshelf_drawer": "Кленовая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_lower_bookshelf_drawer": "Кленовая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_large_drawer": "Кленовый большой ящик", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_lower_triple_drawer": "Кленовый нижний тройной комод", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_triple_drawer": "Кленовый тройной комод", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_desk": "Кленовый письменный стол", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_covered_desk": "Кленовый стол с тумбой", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_modern_desk": "Кленовый современный стол", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_table": "Кленовый стол", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_end_table": "Кленовая прикроватная тумба", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_coffee_table": "Кленовый журнальный столик", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_glass_table": "Кленовый стол со стеклом", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_chair": "Кленовый стул", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_modern_chair": "Кленовый современный стул", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_striped_chair": "Кленовый полосатый стул", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_stool_chair": "Кленовый табурет", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_counter": "Кленовая стойка", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_drawer_counter": "Кленовая тумба с ящиком", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_double_drawer_counter": "Кленовая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.maple_furniture.maple_cupboard_counter": "Кленовая тумба со шкафом", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_wardrobe": "Обтесанный кленовый шкаф", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_modern_wardrobe": "Обтесанный кленовый современный шкаф", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_double_wardrobe": "Обтесанный кленовый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_bookshelf": "Обтесанная кленовая книжная полка", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_bookshelf_cupboard": "Обтесанный кленовый шкаф-полка", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_drawer": "Обтесанный кленовый ящик", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_double_drawer": "Обтесанный кленовый двухъящичный комод", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_bookshelf_drawer": "Обтесанная кленовая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_lower_bookshelf_drawer": "Обтесанная кленовая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_large_drawer": "Обтесанный кленовый большой ящик", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_lower_triple_drawer": "Обтесанный кленовый нижний тройной комод", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_triple_drawer": "Обтесанный кленовый тройной комод", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_desk": "Обтесанный кленовый письменный стол", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_covered_desk": "Обтесанный кленовый стол с тумбой", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_modern_desk": "Обтесанный кленовый современный стол", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_table": "Обтесанный кленовый стол", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_end_table": "Обтесанная кленовая прикроватная тумба", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_coffee_table": "Обтесанный кленовый журнальный столик", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_glass_table": "Обтесанный кленовый стол со стеклом", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_chair": "Обтесанный кленовый стул", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_modern_chair": "Обтесанный кленовый современный стул", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_striped_chair": "Обтесанный кленовый полосатый стул", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_stool_chair": "Обтесанный кленовый табурет", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_counter": "Обтесанная кленовая стойка", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_drawer_counter": "Обтесанная кленовая тумба с ящиком", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_double_drawer_counter": "Обтесанная кленовая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.maple_furniture.stripped_maple_cupboard_counter": "Обтесанная кленовая тумба со шкафом", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_wardrobe": "Дубовый шкаф", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_modern_wardrobe": "Дубовый современный шкаф", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_double_wardrobe": "Дубовый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_bookshelf": "Дубовая книжная полка", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_bookshelf_cupboard": "Дубовый шкаф-полка", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_drawer": "Дубовый ящик", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_double_drawer": "Дубовый двухъящичный комод", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_bookshelf_drawer": "Дубовая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_lower_bookshelf_drawer": "Дубовая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_large_drawer": "Дубовый большой ящик", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_lower_triple_drawer": "Дубовый нижний тройной комод", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_triple_drawer": "Дубовый тройной комод", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_desk": "Дубовый письменный стол", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_covered_desk": "Дубовый стол с тумбой", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_modern_desk": "Дубовый современный стол", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_table": "Дубовый стол", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_end_table": "Дубовая прикроватная тумба", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_coffee_table": "Дубовый журнальный столик", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_glass_table": "Дубовый стол со стеклом", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_chair": "Дубовый стул", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_modern_chair": "Дубовый современный стул", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_striped_chair": "Дубовый полосатый стул", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_stool_chair": "Дубовый табурет", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_counter": "Дубовая стойка", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_drawer_counter": "Дубовая тумба с ящиком", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_double_drawer_counter": "Дубовая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.oak_furniture.oak_cupboard_counter": "Дубовая тумба со шкафом", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_wardrobe": "Обтесанный дубовый шкаф", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_modern_wardrobe": "Обтесанный дубовый современный шкаф", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_double_wardrobe": "Обтесанный дубовый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_bookshelf": "Обтесанная дубовая книжная полка", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_bookshelf_cupboard": "Обтесанный дубовый шкаф-полка", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_drawer": "Обтесанный дубовый ящик", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_double_drawer": "Обтесанный дубовый двухъящичный комод", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_bookshelf_drawer": "Обтесанная дубовая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_lower_bookshelf_drawer": "Обтесанная дубовая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_large_drawer": "Обтесанный дубовый большой ящик", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_lower_triple_drawer": "Обтесанный дубовый нижний тройной комод", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_triple_drawer": "Обтесанный дубовый тройной комод", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_desk": "Обтесанный дубовый письменный стол", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_covered_desk": "Обтесанный дубовый стол с тумбой", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_modern_desk": "Обтесанный дубовый современный стол", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_table": "Обтесанный дубовый стол", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_end_table": "Обтесанная дубовая прикроватная тумба", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_coffee_table": "Обтесанный дубовый журнальный столик", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_glass_table": "Обтесанный дубовый стол со стеклом", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_chair": "Обтесанный дубовый стул", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_modern_chair": "Обтесанный дубовый современный стул", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_striped_chair": "Обтесанный дубовый полосатый стул", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_stool_chair": "Обтесанный дубовый табурет", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_counter": "Обтесанная дубовая стойка", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_drawer_counter": "Обтесанная дубовая тумба с ящиком", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_double_drawer_counter": "Обтесанная дубовая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.oak_furniture.stripped_oak_cupboard_counter": "Обтесанная дубовая тумба со шкафом", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_wardrobe": "Пальмовый шкаф", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_modern_wardrobe": "Пальмовый современный шкаф", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_double_wardrobe": "Пальмовый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_bookshelf": "Пальмовая книжная полка", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_bookshelf_cupboard": "Пальмовый шкаф-полка", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_drawer": "Пальмовый ящик", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_double_drawer": "Пальмовый двухъящичный комод", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_bookshelf_drawer": "Пальмовая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_lower_bookshelf_drawer": "Пальмовая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_large_drawer": "Пальмовый большой ящик", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_lower_triple_drawer": "Пальмовый нижний тройной комод", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_triple_drawer": "Пальмовый тройной комод", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_desk": "Пальмовый письменный стол", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_covered_desk": "Пальмовый стол с тумбой", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_modern_desk": "Пальмовый современный стол", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_table": "Пальмовый стол", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_end_table": "Пальмовая прикроватная тумба", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_coffee_table": "Пальмовый журнальный столик", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_glass_table": "Пальмовый стол со стеклом", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_chair": "Пальмовый стул", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_modern_chair": "Пальмовый современный стул", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_striped_chair": "Пальмовый полосатый стул", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_stool_chair": "Пальмовый табурет", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_counter": "Пальмовая стойка", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_drawer_counter": "Пальмовая тумба с ящиком", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_double_drawer_counter": "Пальмовая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.palm_furniture.palm_cupboard_counter": "Пальмовая тумба со шкафом", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_wardrobe": "Обтесанный пальмовый шкаф", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_modern_wardrobe": "Обтесанный пальмовый современный шкаф", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_double_wardrobe": "Обтесанный пальмовый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_bookshelf": "Обтесанная пальмовая книжная полка", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_bookshelf_cupboard": "Обтесанный пальмовый шкаф-полка", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_drawer": "Обтесанный пальмовый ящик", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_double_drawer": "Обтесанный пальмовый двухъящичный комод", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_bookshelf_drawer": "Обтесанная пальмовая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_lower_bookshelf_drawer": "Обтесанная пальмовая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_large_drawer": "Обтесанный пальмовый большой ящик", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_lower_triple_drawer": "Обтесанный пальмовый нижний тройной комод", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_triple_drawer": "Обтесанный пальмовый тройной комод", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_desk": "Обтесанный пальмовый письменный стол", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_covered_desk": "Обтесанный пальмовый стол с тумбой", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_modern_desk": "Обтесанный пальмовый современный стол", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_table": "Обтесанный пальмовый стол", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_end_table": "Обтесанная пальмовая прикроватная тумба", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_coffee_table": "Обтесанный пальмовый журнальный столик", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_glass_table": "Обтесанный пальмовый стол со стеклом", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_chair": "Обтесанный пальмовый стул", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_modern_chair": "Обтесанный пальмовый современный стул", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_striped_chair": "Обтесанный пальмовый полосатый стул", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_stool_chair": "Обтесанный пальмовый табурет", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_counter": "Обтесанная пальмовая стойка", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_drawer_counter": "Обтесанная пальмовая тумба с ящиком", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_double_drawer_counter": "Обтесанная пальмовая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.palm_furniture.stripped_palm_cupboard_counter": "Обтесанная пальмовая тумба со шкафом", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_wardrobe": "Сосновый шкаф", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_modern_wardrobe": "Сосновый современный шкаф", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_double_wardrobe": "Сосновый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_bookshelf": "Сосновая книжная полка", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_bookshelf_cupboard": "Сосновый шкаф-полка", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_drawer": "Сосновый ящик", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_double_drawer": "Сосновый двухъящичный комод", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_bookshelf_drawer": "Сосновая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_lower_bookshelf_drawer": "Сосновая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_large_drawer": "Сосновый большой ящик", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_lower_triple_drawer": "Сосновый нижний тройной комод", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_triple_drawer": "Сосновый тройной комод", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_desk": "Сосновый письменный стол", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_covered_desk": "Сосновый стол с тумбой", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_modern_desk": "Сосновый современный стол", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_table": "Сосновый стол", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_end_table": "Сосновая прикроватная тумба", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_coffee_table": "Сосновый журнальный столик", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_glass_table": "Сосновый стол со стеклом", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_chair": "Сосновый стул", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_modern_chair": "Сосновый современный стул", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_striped_chair": "Сосновый полосатый стул", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_stool_chair": "Сосновый табурет", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_counter": "Сосновая стойка", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_drawer_counter": "Сосновая тумба с ящиком", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_double_drawer_counter": "Сосновая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.pine_furniture.pine_cupboard_counter": "Сосновая тумба со шкафом", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_wardrobe": "Обтесанный сосновый шкаф", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_modern_wardrobe": "Обтесанный сосновый современный шкаф", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_double_wardrobe": "Обтесанный сосновый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_bookshelf": "Обтесанная сосновая книжная полка", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_bookshelf_cupboard": "Обтесанный сосновый шкаф-полка", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_drawer": "Обтесанный сосновый ящик", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_double_drawer": "Обтесанный сосновый двухъящичный комод", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_bookshelf_drawer": "Обтесанная сосновая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_lower_bookshelf_drawer": "Обтесанная сосновая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_large_drawer": "Обтесанный сосновый большой ящик", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_lower_triple_drawer": "Обтесанный сосновый нижний тройной комод", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_triple_drawer": "Обтесанный сосновый тройной комод", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_desk": "Обтесанный сосновый письменный стол", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_covered_desk": "Обтесанный сосновый стол с тумбой", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_modern_desk": "Обтесанный сосновый современный стол", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_table": "Обтесанный сосновый стол", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_end_table": "Обтесанная сосновая прикроватная тумба", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_coffee_table": "Обтесанный сосновый журнальный столик", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_glass_table": "Обтесанный сосновый стол со стеклом", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_chair": "Обтесанный сосновый стул", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_modern_chair": "Обтесанный сосновый современный стул", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_striped_chair": "Обтесанный сосновый полосатый стул", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_stool_chair": "Обтесанный сосновый табурет", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_counter": "Обтесанная сосновая стойка", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_drawer_counter": "Обтесанная сосновая тумба с ящиком", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_double_drawer_counter": "Обтесанная сосновая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.pine_furniture.stripped_pine_cupboard_counter": "Обтесанная сосновая тумба со шкафом", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_wardrobe": "Палисандровый шкаф", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_modern_wardrobe": "Палисандровый современный шкаф", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_double_wardrobe": "Палисандровый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_bookshelf": "Палисандровая книжная полка", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_bookshelf_cupboard": "Палисандровый шкаф-полка", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_drawer": "Палисандровый ящик", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_double_drawer": "Палисандровый двухъящичный комод", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_bookshelf_drawer": "Палисандровая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_lower_bookshelf_drawer": "Палисандровая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_large_drawer": "Палисандровый большой ящик", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_lower_triple_drawer": "Палисандровый нижний тройной комод", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_triple_drawer": "Палисандровый тройной комод", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_desk": "Палисандровый письменный стол", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_covered_desk": "Палисандровый стол с тумбой", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_modern_desk": "Палисандровый современный стол", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_table": "Палисандровый стол", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_end_table": "Палисандровая прикроватная тумба", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_coffee_table": "Палисандровый журнальный столик", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_glass_table": "Палисандровый стол со стеклом", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_chair": "Палисандровый стул", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_modern_chair": "Палисандровый современный стул", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_striped_chair": "Палисандровый полосатый стул", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_stool_chair": "Палисандровый табурет", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_counter": "Палисандровая стойка", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_drawer_counter": "Палисандровая тумба с ящиком", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_double_drawer_counter": "Палисандровая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.rosewood_furniture.rosewood_cupboard_counter": "Палисандровая тумба со шкафом", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_wardrobe": "Обтесанный палисандровый шкаф", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_modern_wardrobe": "Обтесанный палисандровый современный шкаф", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_double_wardrobe": "Обтесанный палисандровый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_bookshelf": "Обтесанная палисандровая книжная полка", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_bookshelf_cupboard": "Обтесанный палисандровый шкаф-полка", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_drawer": "Обтесанный палисандровый ящик", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_double_drawer": "Обтесанный палисандровый двухъящичный комод", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_bookshelf_drawer": "Обтесанная палисандровая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_lower_bookshelf_drawer": "Обтесанная палисандровая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_large_drawer": "Обтесанный палисандровый большой ящик", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_lower_triple_drawer": "Обтесанный палисандровый нижний тройной комод", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_triple_drawer": "Обтесанный палисандровый тройной комод", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_desk": "Обтесанный палисандровый письменный стол", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_covered_desk": "Обтесанный палисандровый стол с тумбой", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_modern_desk": "Обтесанный палисандровый современный стол", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_table": "Обтесанный палисандровый стол", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_end_table": "Обтесанная палисандровая прикроватная тумба", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_coffee_table": "Обтесанный палисандровый журнальный столик", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_glass_table": "Обтесанный палисандровый стол со стеклом", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_chair": "Обтесанный палисандровый стул", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_modern_chair": "Обтесанный палисандровый современный стул", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_striped_chair": "Обтесанный палисандровый полосатый стул", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_stool_chair": "Обтесанный палисандровый табурет", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_counter": "Обтесанная палисандровая стойка", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_drawer_counter": "Обтесанная палисандровая тумба с ящиком", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_double_drawer_counter": "Обтесанная палисандровая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.rosewood_furniture.stripped_rosewood_cupboard_counter": "Обтесанная палисандровая тумба со шкафом", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_wardrobe": "Секвойевый шкаф", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_modern_wardrobe": "Секвойевый современный шкаф", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_double_wardrobe": "Секвойевый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_bookshelf": "Секвойевая книжная полка", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_bookshelf_cupboard": "Секвойевый шкаф-полка", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_drawer": "Секвойевый ящик", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_double_drawer": "Секвойевый двухъящичный комод", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_bookshelf_drawer": "Секвойевая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_lower_bookshelf_drawer": "Секвойевая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_large_drawer": "Секвойевый большой ящик", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_lower_triple_drawer": "Секвойевый нижний тройной комод", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_triple_drawer": "Секвойевый тройной комод", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_desk": "Секвойевый письменный стол", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_covered_desk": "Секвойевый стол с тумбой", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_modern_desk": "Секвойевый современный стол", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_table": "Секвойевый стол", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_end_table": "Секвойевая прикроватная тумба", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_coffee_table": "Секвойевый журнальный столик", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_glass_table": "Секвойевый стол со стеклом", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_chair": "Секвойевый стул", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_modern_chair": "Секвойевый современный стул", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_striped_chair": "Секвойевый полосатый стул", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_stool_chair": "Секвойевый табурет", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_counter": "Секвойевая стойка", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_drawer_counter": "Секвойевая тумба с ящиком", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_double_drawer_counter": "Секвойевая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.sequoia_furniture.sequoia_cupboard_counter": "Секвойевая тумба со шкафом", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_wardrobe": "Обтесанный секвойевый шкаф", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_modern_wardrobe": "Обтесанный секвойевый современный шкаф", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_double_wardrobe": "Обтесанный секвойевый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_bookshelf": "Обтесанная секвойевая книжная полка", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_bookshelf_cupboard": "Обтесанный секвойевый шкаф-полка", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_drawer": "Обтесанный секвойевый ящик", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_double_drawer": "Обтесанный секвойевый двухъящичный комод", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_bookshelf_drawer": "Обтесанная секвойевая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_lower_bookshelf_drawer": "Обтесанная секвойевая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_large_drawer": "Обтесанный секвойевый большой ящик", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_lower_triple_drawer": "Обтесанный секвойевый нижний тройной комод", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_triple_drawer": "Обтесанный секвойевый тройной комод", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_desk": "Обтесанный секвойевый письменный стол", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_covered_desk": "Обтесанный секвойевый стол с тумбой", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_modern_desk": "Обтесанный секвойевый современный стол", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_table": "Обтесанный секвойевый стол", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_end_table": "Обтесанная секвойевая прикроватная тумба", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_coffee_table": "Обтесанный секвойевый журнальный столик", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_glass_table": "Обтесанный секвойевый стол со стеклом", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_chair": "Обтесанный секвойевый стул", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_modern_chair": "Обтесанный секвойевый современный стул", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_striped_chair": "Обтесанный секвойевый полосатый стул", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_stool_chair": "Обтесанный секвойевый табурет", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_counter": "Обтесанная секвойевая стойка", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_drawer_counter": "Обтесанная секвойевая тумба с ящиком", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_double_drawer_counter": "Обтесанная секвойевая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.sequoia_furniture.stripped_sequoia_cupboard_counter": "Обтесанная секвойевая тумба со шкафом", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_wardrobe": "Еловый шкаф", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_modern_wardrobe": "Еловый современный шкаф", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_double_wardrobe": "Еловый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_bookshelf": "Еловая книжная полка", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_bookshelf_cupboard": "Еловый шкаф-полка", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_drawer": "Еловый ящик", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_double_drawer": "Еловый двухъящичный комод", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_bookshelf_drawer": "Еловая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_lower_bookshelf_drawer": "Еловая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_large_drawer": "Еловый большой ящик", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_lower_triple_drawer": "Еловый нижний тройной комод", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_triple_drawer": "Еловый тройной комод", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_desk": "Еловый письменный стол", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_covered_desk": "Еловый стол с тумбой", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_modern_desk": "Еловый современный стол", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_table": "Еловый стол", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_end_table": "Еловая прикроватная тумба", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_coffee_table": "Еловый журнальный столик", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_glass_table": "Еловый стол со стеклом", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_chair": "Еловый стул", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_modern_chair": "Еловый современный стул", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_striped_chair": "Еловый полосатый стул", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_stool_chair": "Еловый табурет", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_counter": "Еловая стойка", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_drawer_counter": "Еловая тумба с ящиком", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_double_drawer_counter": "Еловая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.spruce_furniture.spruce_cupboard_counter": "Еловая тумба со шкафом", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_wardrobe": "Обтесанный еловый шкаф", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_modern_wardrobe": "Обтесанный еловый современный шкаф", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_double_wardrobe": "Обтесанный еловый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_bookshelf": "Обтесанная еловая книжная полка", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_bookshelf_cupboard": "Обтесанный еловый шкаф-полка", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_drawer": "Обтесанный еловый ящик", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_double_drawer": "Обтесанный еловый двухъящичный комод", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_bookshelf_drawer": "Обтесанная еловая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_lower_bookshelf_drawer": "Обтесанная еловая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_large_drawer": "Обтесанный еловый большой ящик", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_lower_triple_drawer": "Обтесанный еловый нижний тройной комод", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_triple_drawer": "Обтесанный еловый тройной комод", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_desk": "Обтесанный еловый письменный стол", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_covered_desk": "Обтесанный еловый стол с тумбой", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_modern_desk": "Обтесанный еловый современный стол", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_table": "Обтесанный еловый стол", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_end_table": "Обтесанная еловая прикроватная тумба", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_coffee_table": "Обтесанный еловый журнальный столик", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_glass_table": "Обтесанный еловый стол со стеклом", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_chair": "Обтесанный еловый стул", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_modern_chair": "Обтесанный еловый современный стул", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_striped_chair": "Обтесанный еловый полосатый стул", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_stool_chair": "Обтесанный еловый табурет", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_counter": "Обтесанная еловая стойка", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_drawer_counter": "Обтесанная еловая тумба с ящиком", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_double_drawer_counter": "Обтесанная еловая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.spruce_furniture.stripped_spruce_cupboard_counter": "Обтесанная еловая тумба со шкафом", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_wardrobe": "Платановый шкаф", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_modern_wardrobe": "Платановый современный шкаф", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_double_wardrobe": "Платановый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_bookshelf": "Платановая книжная полка", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_bookshelf_cupboard": "Платановый шкаф-полка", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_drawer": "Платановый ящик", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_double_drawer": "Платановый двухъящичный комод", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_bookshelf_drawer": "Платановая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_lower_bookshelf_drawer": "Платановая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_large_drawer": "Платановый большой ящик", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_lower_triple_drawer": "Платановый нижний тройной комод", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_triple_drawer": "Платановый тройной комод", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_desk": "Платановый письменный стол", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_covered_desk": "Платановый стол с тумбой", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_modern_desk": "Платановый современный стол", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_table": "Платановый стол", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_end_table": "Платановая прикроватная тумба", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_coffee_table": "Платановый журнальный столик", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_glass_table": "Платановый стол со стеклом", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_chair": "Платановый стул", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_modern_chair": "Платановый современный стул", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_striped_chair": "Платановый полосатый стул", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_stool_chair": "Платановый табурет", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_counter": "Платановая стойка", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_drawer_counter": "Платановая тумба с ящиком", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_double_drawer_counter": "Платановая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.sycamore_furniture.sycamore_cupboard_counter": "Платановая тумба со шкафом", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_wardrobe": "Обтесанный платановый шкаф", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_modern_wardrobe": "Обтесанный платановый современный шкаф", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_double_wardrobe": "Обтесанный платановый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_bookshelf": "Обтесанная платановая книжная полка", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_bookshelf_cupboard": "Обтесанный платановый шкаф-полка", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_drawer": "Обтесанный платановый ящик", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_double_drawer": "Обтесанный платановый двухъящичный комод", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_bookshelf_drawer": "Обтесанная платановая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_lower_bookshelf_drawer": "Обтесанная платановая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_large_drawer": "Обтесанный платановый большой ящик", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_lower_triple_drawer": "Обтесанный платановый нижний тройной комод", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_triple_drawer": "Обтесанный платановый тройной комод", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_desk": "Обтесанный платановый письменный стол", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_covered_desk": "Обтесанный платановый стол с тумбой", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_modern_desk": "Обтесанный платановый современный стол", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_table": "Обтесанный платановый стол", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_end_table": "Обтесанная платановая прикроватная тумба", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_coffee_table": "Обтесанный платановый журнальный столик", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_glass_table": "Обтесанный платановый стол со стеклом", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_chair": "Обтесанный платановый стул", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_modern_chair": "Обтесанный платановый современный стул", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_striped_chair": "Обтесанный платановый полосатый стул", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_stool_chair": "Обтесанный платановый табурет", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_counter": "Обтесанная платановая стойка", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_drawer_counter": "Обтесанная платановая тумба с ящиком", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_double_drawer_counter": "Обтесанная платановая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.sycamore_furniture.stripped_sycamore_cupboard_counter": "Обтесанная платановая тумба со шкафом", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_wardrobe": "Ивовый шкаф", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_modern_wardrobe": "Ивовый современный шкаф", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_double_wardrobe": "Ивовый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_bookshelf": "Ивовая книжная полка", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_bookshelf_cupboard": "Ивовый шкаф-полка", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_drawer": "Ивовый ящик", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_double_drawer": "Ивовый двухъящичный комод", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_bookshelf_drawer": "Ивовая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_lower_bookshelf_drawer": "Ивовая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_large_drawer": "Ивовый большой ящик", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_lower_triple_drawer": "Ивовый нижний тройной комод", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_triple_drawer": "Ивовый тройной комод", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_desk": "Ивовый письменный стол", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_covered_desk": "Ивовый стол с тумбой", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_modern_desk": "Ивовый современный стол", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_table": "Ивовый стол", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_end_table": "Ивовая прикроватная тумба", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_coffee_table": "Ивовый журнальный столик", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_glass_table": "Ивовый стол со стеклом", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_chair": "Ивовый стул", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_modern_chair": "Ивовый современный стул", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_striped_chair": "Ивовый полосатый стул", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_stool_chair": "Ивовый табурет", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_counter": "Ивовая стойка", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_drawer_counter": "Ивовая тумба с ящиком", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_double_drawer_counter": "Ивовая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.willow_furniture.willow_cupboard_counter": "Ивовая тумба со шкафом", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_wardrobe": "Обтесанный ивовый шкаф", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_modern_wardrobe": "Обтесанный ивовый современный шкаф", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_double_wardrobe": "Обтесанный ивовый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_bookshelf": "Обтесанная ивовая книжная полка", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_bookshelf_cupboard": "Обтесанный ивовый шкаф-полка", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_drawer": "Обтесанный ивовый ящик", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_double_drawer": "Обтесанный ивовый двухъящичный комод", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_bookshelf_drawer": "Обтесанная ивовая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_lower_bookshelf_drawer": "Обтесанная ивовая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_large_drawer": "Обтесанный ивовый большой ящик", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_lower_triple_drawer": "Обтесанный ивовый нижний тройной комод", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_triple_drawer": "Обтесанный ивовый тройной комод", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_desk": "Обтесанный ивовый письменный стол", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_covered_desk": "Обтесанный ивовый стол с тумбой", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_modern_desk": "Обтесанный ивовый современный стол", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_table": "Обтесанный ивовый стол", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_end_table": "Обтесанная ивовая прикроватная тумба", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_coffee_table": "Обтесанный ивовый журнальный столик", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_glass_table": "Обтесанный ивовый стол со стеклом", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_chair": "Обтесанный ивовый стул", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_modern_chair": "Обтесанный ивовый современный стул", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_striped_chair": "Обтесанный ивовый полосатый стул", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_stool_chair": "Обтесанный ивовый табурет", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_counter": "Обтесанная ивовая стойка", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_drawer_counter": "Обтесанная ивовая тумба с ящиком", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_double_drawer_counter": "Обтесанная ивовая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.willow_furniture.stripped_willow_cupboard_counter": "Обтесанная ивовая тумба со шкафом", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_wardrobe": "Кедровый шкаф", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_modern_wardrobe": "Кедровый современный шкаф", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_double_wardrobe": "Кедровый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_bookshelf": "Кедровая книжная полка", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_bookshelf_cupboard": "Кедровый шкаф-полка", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_drawer": "Кедровый ящик", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_double_drawer": "Кедровый двухъящичный комод", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_bookshelf_drawer": "Кедровая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_lower_bookshelf_drawer": "Кедровая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_large_drawer": "Кедровый большой ящик", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_lower_triple_drawer": "Кедровый нижний тройной комод", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_triple_drawer": "Кедровый тройной комод", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_desk": "Кедровый письменный стол", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_covered_desk": "Кедровый стол с тумбой", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_modern_desk": "Кедровый современный стол", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_table": "Кедровый стол", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_end_table": "Кедровая прикроватная тумба", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_coffee_table": "Кедровый журнальный столик", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_glass_table": "Кедровый стол со стеклом", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_chair": "Кедровый стул", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_modern_chair": "Кедровый современный стул", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_striped_chair": "Кедровый полосатый стул", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_stool_chair": "Кедровый табурет", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_counter": "Кедровая стойка", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_drawer_counter": "Кедровая тумба с ящиком", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_double_drawer_counter": "Кедровая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.white_cedar_cupboard_counter": "Кедровая тумба со шкафом", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_wardrobe": "Обтесанный кедровый шкаф", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_modern_wardrobe": "Обтесанный кедровый современный шкаф", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_double_wardrobe": "Обтесанный кедровый двухстворчатый шкаф", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_bookshelf": "Обтесанная кедровая книжная полка", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_bookshelf_cupboard": "Обтесанный кедровый шкаф-полка", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_drawer": "Обтесанный кедровый ящик", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_double_drawer": "Обтесанный кедровый двухъящичный комод", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_bookshelf_drawer": "Обтесанная кедровая книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_lower_bookshelf_drawer": "Обтесанная кедровая нижняя книжная полка с ящиком", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_large_drawer": "Обтесанный кедровый большой ящик", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_lower_triple_drawer": "Обтесанный кедровый нижний тройной комод", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_triple_drawer": "Обтесанный кедровый тройной комод", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_desk": "Обтесанный кедровый письменный стол", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_covered_desk": "Обтесанный кедровый стол с тумбой", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_modern_desk": "Обтесанный кедровый современный стол", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_table": "Обтесанный кедровый стол", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_end_table": "Обтесанная кедровая прикроватная тумба", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_coffee_table": "Обтесанный кедровый журнальный столик", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_glass_table": "Обтесанный кедровый стол со стеклом", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_chair": "Обтесанный кедровый стул", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_modern_chair": "Обтесанный кедровый современный стул", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_striped_chair": "Обтесанный кедровый полосатый стул", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_stool_chair": "Обтесанный кедровый табурет", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_counter": "Обтесанная кедровая стойка", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_drawer_counter": "Обтесанная кедровая тумба с ящиком", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_double_drawer_counter": "Обтесанная кедровая тумба с двумя ящиками", + "block.mcw_tfc_aio.furniture.white_cedar_furniture.stripped_white_cedar_cupboard_counter": "Обтесанная кедровая тумба со шкафом" +} \ 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 2b07afa74..9dc5e8440 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2043,6 +2043,8 @@ "quests.ae2.ae_guide.title": "Welcome to AE2", "quests.ae2.ae_guide.subtitle": "Another free book for your collection!", "quests.ae2.ae_guide.desc": "Here you are, ready to begin your &bAE2&r infrastructure!\n\nThis chapter will mainly guide you through what you can and cannot craft yet.\nWe’ll also highlight the most important items you should focus on.\n\nHowever, to fully understand Applied Energistics 2, we strongly recommend using the &bG&r keybind (similar to Create's Ponder system) or open the &bME Guide&r we provide as a reward from this quest. It’s the best in-game tutorial for AE2.\nAlternatively, watch some online videos about AE2 on &61.20.1&r for more detailed explanations — AE2 is a very popular mod, so there's a ton of tutorials out there!\n\n&dPro tip&r: Many &bAE2&r recipes have alternative Moon recipes that are much cheaper. Once again, investing in your Moon base will greatly reward you throughout the entire game.", + "quests.ae2.books_again.title": "Need the book again?", + "quests.ae2.books_again.desc": "Here's a repeatable quest if you want a physical copy of the AE2 Guide again.", "quests.ae2.hv.title": "HV Tier AE2", "quests.ae2.hv.desc": "This entire branch is fully unlockable in &6HV&r!", "quests.ae2.ae_controller.subtitle": "The beating heart of your ME network", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 1b0e648c9..d19c2ea9b 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -2056,6 +2056,7 @@ "quests.ae2.crafting_unit.desc": "&dБлоки создания&r работает так же, как &bМЭ корпус ячейки&r.\n\nИспользуй &6упаковщик&r, чтобы сделать его функциональным — сам по себе он не имеет назначения, хотя может использоваться для сборки мультиблоков.\n\nЭто обязательная структура для работы автокрафта &bAE2&r.\n\nКак обычно, используй внутриигровое руководство &bAE2&r, чтобы узнать больше о &dпроцессоре крафта&r.", "quests.ae2.crafting_storage.desc": "Эти блоки обязательны для любого автокрафта — чем больше хранилище, тем более длинные цепочки рецептов можно выполнить по одному запросу. Ты также можешь размещать несколько таких блоков рядом, чтобы суммировать их объём.\n\nИспользуй внутриигровое руководство для получения дополнительных деталей — оно объяснит всё гораздо лучше, чем мы когда-либо смогли бы в описании задания.\n\nНе торопись и внимательно прочитай его — это отличный источник информации!", "quests.ae2.crafting_storage.task": "Любое хранилище для изготовления", + "quests.ae2.pattern_provider.title": "МЭ Поставщик шаблонов", "quests.ae2.pattern_provider.subtitle": "Они указывают вашим машинам, как что-либо крафтить", "quests.ae2.pattern_provider.desc": "&9МЭ Поставщик шаблонов&r — это современный блок &bAE2&r. Если ты знаком с AE2 только по более старым версиям Minecraft, то теперь именно в этот блок вставляются шаблоны, а не в интерфейс.\n\nОн может отправлять предметы в подключённый инвентарь по запросу на крафт, а возврат предметов обратно в него отправит их обратно в ME-сеть.\n\nЕсли ты подключаешь его к машинам GregTech, обязательно включи опцию \"Разрешить ввод со стороны выхода\", чтобы можно было и вводить, и выводить предметы с одной и той же стороны!\n\nКак всегда, загляни во внутриигровое руководство, нажав &eG&r, чтобы узнать больше.", "quests.ae2.pattern_provider.task": "Любой поставщик шаблонов", @@ -3480,6 +3481,9 @@ "quests.metal_age.wrought_iron_anvil.title": "T3 Наковальня: Кованое железо", "quests.metal_age.wrought_iron_anvil.subtitle": "Водяные колеса, ветряные мельницы и больше Greate", "quests.metal_age.wrought_iron_anvil.desc": "С помощью наковальни из кованого железа вы сможете обрабатывать слитки кованого железа в различные предметы, такие как пластины, головки инструментов и т. д.\n\nИнструменты и доспехи из кованого железа не сильно превосходят бронзовые, но они гораздо более прочные.\n\nСоздание следующей наковальни будет значительно сложнее, поэтому сейчас хороший момент, чтобы остановиться и изучить некоторые другие возможности этого модпака.", + "quests.metal_age.toolbelt.title": "Пояс c инструментами", + "quests.metal_age.toolbelt.subtitle": "Освободите инвентарь!", + "quests.metal_age.toolbelt.desc": "Поместите его в &6слот пояса&r, и вы освободите целый ряд инвентаря!\n\nВы можете менять инструменты в любой момент, нажав клавишу &aСменить инструмент&r (по умолчанию: X), чтобы открыть радиальное меню.\n\nПояс можно улучшить восемью сумками, чтобы хранить до 9 предметов.", "quests.metal_age.coke_oven.title": "Коксовая печь", "quests.metal_age.coke_oven.subtitle": "Наконец-то больше никаких угольных ям", "quests.metal_age.coke_oven.desc.1": "Коксовая печь — ваш первый мультиблок GregTech! Она позволяет автоматически создавать древесный уголь и другие мощные горючие материалы. Коксовая печь сжигает одно бревно, превращая его в один древесный уголь и 250 mb креозота, который является важным химическим веществом, используемым для обработки древесины.\n\nЕсли вы создадите блок коксовой печи и нажмете на него клавишу JEI \"Отобразить применения\" (по умолчанию \"U»\"), вы увидите вкладку \"Информация о мультиблоке\", которая покажет вам, как построить коксовую печь в мире.\n\nВы также можете разместить блок коксовой печи в мире, зажать кнопку \"Красться\" и взаимодействовать с ней {блоком коксовой печи}, чтобы создать голограмму недостающих блоков.", From 607e7ffcc8383c53755e7e9adc64bfdf880b9a40 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 15 Feb 2026 13:11:48 +0000 Subject: [PATCH 460/474] buffed wines --- CHANGELOG.md | 21 +++++++++++++++++++ .../en_us/entries/mechanics/drinks.json | 6 +++--- kubejs/client_scripts/tooltips.js | 17 +++++++++------ .../tfc/drinkables/dessert_wine.json | 5 +++++ .../firmalife/tfc/drinkables/red_wine.json | 5 +++++ .../firmalife/tfc/drinkables/rose_wine.json | 5 +++++ .../tfc/drinkables/sparkling_wine.json | 5 +++++ .../firmalife/tfc/drinkables/white_wine.json | 5 +++++ .../data/tfc_gurman/tfc/drinkables/kvass.json | 2 +- .../tfc_gurman/tfc/drinkables/nalivka.json | 2 +- 10 files changed, 62 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b653c7c7..9cb1c86b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,29 @@ ## Unreleased ### Changes - High Tier saws can Silk Harvest Ice (#3019) @Nebby1999 +- Colored small vessels now have new textures backported from 1.21 TFC +- The alloy smelter kaolin clay to powder recipe now uses a mold instead of a circuit (since steam machines don't have circuits) @Pyritie +- Added more of Create's decorative stone blocks to the Domum whitelist +- Blaze burners no longer work outside of Earth @Mqrius @thederpysockdude123 +- Drinkable alcohols can now be drank even when your hydration is full @Ujhik +- The Strength effect is now exclusive to wines, but all wines also now have an additional effect! @Pyritie ### Bug fixes +- Fixed the blur effect after being downed not going away +- Fixed arrow duplication (#2089) @Ujhik +- Fixed the blaze burner liquid fuel list not properly working on servers @Mqrius +- Fixed dimension indicator icons duplicating when increasing the energy tier display @BlueBoat29 +- Fixed the face mask new curio slot not actually preventing hazards @Bumperdo09 +- Fixed mars crop seeds not going in the seed pouch (#3058) @Pyritie +- Fixed not being able to make aluminium double plates with LV machines (#3030) @Pyritie +- Fixed not being able to recycle unfired firmalife oven parts @Pyritie +- Fixed not being able to fire scraping knife molds (#3038) @Pyritie +- Fixed some tree types not contributing to ambient bird noises +- Fixed a bunch of quests @Pyritie @Eilandor ### Translation updates +- Russian @Nixieeunrare +- German @Enderderschander +- Ukranian @MetEnBouldry +- Chinese (simplified) @jmecn ## [0.11.21] - 09-02-2026 ### Breaking changes diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json index f4eefde87..d225a7466 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/drinks.json @@ -27,12 +27,12 @@ { "type": "patchouli:text", "title": "Wine", - "text": "$(thing)Wine$() is another kind of alcohol that's made in a different way than the others. It's a complex but rewarding process that can't be automated in a machine. Check the $(l:firmalife/wine)Winemaking$() entry to learn how to craft it.", + "text": "$(thing)Wine$() is another kind of alcohol that's made in a different way than the others. It's a complex but rewarding process that can't be automated in a machine. Check the $(l:firmalife/wine)Winemaking$() entry to learn how to craft it.$(br2)All wines also give $(item)Strength (5:20)$() in addition to another effect!", "item": "firmalife:bucket/red_wine,firmalife:bucket/white_wine,firmalife:bucket/rose_wine,firmalife:bucket/sparkling_wine,firmalife:bucket/dessert_wine" }, { "type": "patchouli:text", - "text": "$(li)Red Wine: Strength (5:20)$(li)White Wine: Wither Resistance (5:20)$(li)Rose Wine: Swim Speed (5:20)$(li)Sparkling Wine: Jump Boost II (5:20)$(li)Dessert Wine: Knockback Resistance (5:20)" + "text": "$(li)Red Wine: Haste (5:20)$(li)White Wine: Wither Resistance (5:20)$(li)Rose Wine: Swim Speed (5:20)$(li)Sparkling Wine: Jump Boost II (5:20)$(li)Dessert Wine: Knockback Resistance (5:20)" }, { "type": "patchouli:spotlight", @@ -52,7 +52,7 @@ }, { "type": "patchouli:text", - "text": "$(li)Cocoa: Haste (0:30), warms you up by 4°C$(li)Coffee: Speed (0:30), warms you up by 4°C$(li)Lemonade: Haste (0:30), cools you down by 2°C$(li)Nalivka: Strength (2:40), cools you down by 2°C$(li)Kvass: Strength (1:20), cools you down by 2°C$(li)Compote: Jump Boost II (0:30)" + "text": "$(li)Cocoa: Haste (0:30), warms you up by 4°C$(li)Coffee: Speed (0:30), warms you up by 4°C$(li)Lemonade: Haste (0:30), cools you down by 2°C$(li)Nalivka: Haste (2:40), cools you down by 2°C$(li)Kvass: Haste (1:20), cools you down by 2°C$(li)Compote: Jump Boost II (0:30)" }, { "type": "patchouli:spotlight", diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index e3870c9b1..2de345771 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -453,7 +453,7 @@ const registerTooltips = (event) => { text.add(1, Text.translate("effect.minecraft.jump_boost").append(Text.of(" II (00:30)")).blue()); }) event.addAdvanced(['tfc_gourmet:kvass_bucket'], (item, advanced, text) => { - text.add(1, Text.translate("effect.minecraft.strength").append(Text.of(" (01:20)")).blue()); + text.add(1, Text.translate("effect.minecraft.haste").append(Text.of(" (01:20)")).blue()); text.add(2, Text.translate('tfg.tooltip.cooling_foods')); }) event.addAdvanced(['tfc_gourmet:lemonade_bucket'], (item, advanced, text) => { @@ -485,7 +485,7 @@ const registerTooltips = (event) => { text.add(2, Text.translate('tfg.tooltip.warming_foods')); }) event.addAdvanced(['tfc_gourmet:nalivka_bucket'], (item, advanced, text) => { - text.add(1, Text.translate("effect.minecraft.strength").append(Text.of(" (02:40)")).blue()); + text.add(1, Text.translate("effect.minecraft.haste").append(Text.of(" (02:40)")).blue()); text.add(2, Text.translate('tfg.tooltip.cooling_foods')); }) event.addAdvanced(['tfc:bucket/spring_water'], (item, advanced, text) => { @@ -493,18 +493,23 @@ const registerTooltips = (event) => { }) event.addAdvanced(['firmalife:bucket/red_wine'], (item, advanced, text) => { text.add(1, Text.translate("effect.minecraft.strength").append(Text.of(" (05:20)")).blue()); + text.add(2, Text.translate("effect.minecraft.haste").append(Text.of(" (05:20)")).blue()); }) event.addAdvanced(['firmalife:bucket/rose_wine'], (item, advanced, text) => { - text.add(1, Text.translate("effect.minecraft.dolphins_grace").append(Text.of(" (05:20)")).blue()); + text.add(1, Text.translate("effect.minecraft.strength").append(Text.of(" (05:20)")).blue()); + text.add(2, 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.translate("effect.species.wither_resistance").append(Text.of(" (05:20)")).blue()); + text.add(1, Text.translate("effect.minecraft.strength").append(Text.of(" (05:20)")).blue()); + text.add(2, 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.translate("effect.species.iron_will").append(Text.of(" (05:20)")).blue()); + text.add(1, Text.translate("effect.minecraft.strength").append(Text.of(" (05:20)")).blue()); + text.add(2, 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.translate("effect.minecraft.jump_boost").append(Text.of(" II (05:20)")).blue()); + text.add(1, Text.translate("effect.minecraft.strength").append(Text.of(" (05:20)")).blue()); + text.add(2, 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()); diff --git a/kubejs/data/firmalife/tfc/drinkables/dessert_wine.json b/kubejs/data/firmalife/tfc/drinkables/dessert_wine.json index d85b72fa4..2f5d932cc 100644 --- a/kubejs/data/firmalife/tfc/drinkables/dessert_wine.json +++ b/kubejs/data/firmalife/tfc/drinkables/dessert_wine.json @@ -8,6 +8,11 @@ "type": "species:iron_will", "duration": 6400, "amplifier": 0 + }, + { + "type": "minecraft:strength", + "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 index 80917d52f..460ac44b2 100644 --- a/kubejs/data/firmalife/tfc/drinkables/red_wine.json +++ b/kubejs/data/firmalife/tfc/drinkables/red_wine.json @@ -8,6 +8,11 @@ "type": "minecraft:strength", "duration": 6400, "amplifier": 0 + }, + { + "type": "minecraft:haste", + "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 index ce11502bc..c098ec2aa 100644 --- a/kubejs/data/firmalife/tfc/drinkables/rose_wine.json +++ b/kubejs/data/firmalife/tfc/drinkables/rose_wine.json @@ -4,6 +4,11 @@ "intoxication": 4000, "may_drink_when_full": true, "effects": [ + { + "type": "minecraft:dolphins_grace", + "duration": 6400, + "amplifier": 0 + }, { "type": "minecraft:strength", "duration": 6400, diff --git a/kubejs/data/firmalife/tfc/drinkables/sparkling_wine.json b/kubejs/data/firmalife/tfc/drinkables/sparkling_wine.json index 77749fdda..357ed89b2 100644 --- a/kubejs/data/firmalife/tfc/drinkables/sparkling_wine.json +++ b/kubejs/data/firmalife/tfc/drinkables/sparkling_wine.json @@ -8,6 +8,11 @@ "type": "minecraft:jump_boost", "duration": 6400, "amplifier": 1 + }, + { + "type": "minecraft:strength", + "duration": 6400, + "amplifier": 0 } ] } \ 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 index da19eb209..f0985357a 100644 --- a/kubejs/data/firmalife/tfc/drinkables/white_wine.json +++ b/kubejs/data/firmalife/tfc/drinkables/white_wine.json @@ -8,6 +8,11 @@ "type": "species:wither_resistance", "duration": 6400, "amplifier": 0 + }, + { + "type": "minecraft:strength", + "duration": 6400, + "amplifier": 0 } ] } \ No newline at end of file diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/kvass.json b/kubejs/data/tfc_gurman/tfc/drinkables/kvass.json index 17b9eabf9..e43dad202 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/kvass.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/kvass.json @@ -4,7 +4,7 @@ "may_drink_when_full": true, "effects": [ { - "type": "minecraft:strength", + "type": "minecraft:haste", "duration": 1600, "amplifier": 0 }, diff --git a/kubejs/data/tfc_gurman/tfc/drinkables/nalivka.json b/kubejs/data/tfc_gurman/tfc/drinkables/nalivka.json index a93b02e15..e18d30942 100644 --- a/kubejs/data/tfc_gurman/tfc/drinkables/nalivka.json +++ b/kubejs/data/tfc_gurman/tfc/drinkables/nalivka.json @@ -5,7 +5,7 @@ "may_drink_when_full": true, "effects": [ { - "type": "minecraft:strength", + "type": "minecraft:haste", "duration": 3200, "amplifier": 0 }, From f922225246ad63205f28b5020859b779118a2e4e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 15 Feb 2026 13:15:08 +0000 Subject: [PATCH 461/474] removed recipe for framed obby pressure plate #3062 Related Work Items: #30 --- kubejs/server_scripts/framed_blocks/recipes.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kubejs/server_scripts/framed_blocks/recipes.js b/kubejs/server_scripts/framed_blocks/recipes.js index 86807a155..2f70c557d 100644 --- a/kubejs/server_scripts/framed_blocks/recipes.js +++ b/kubejs/server_scripts/framed_blocks/recipes.js @@ -7,6 +7,8 @@ const registerFramedBlocksRecipes = (event) => { event.remove({ id: 'framedblocks:framing_saw/framed_torch' }) event.remove({ id: 'framedblocks:framed_soul_torch' }) event.remove({ id: 'framedblocks:framing_saw/framed_soul_torch' }) + event.remove({ id: 'framedblocks:framed_obsidian_pressure_plate' }) + event.remove({ id: 'framedblocks:framing_saw/framed_obsidian_pressure_plate' }) //#region Framed Iron Door event.shaped('framedblocks:framed_iron_door', [ From c9d25f756bc22774ca84a1bc14b52baa1fe13377 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 16 Feb 2026 12:49:18 +0000 Subject: [PATCH 462/474] ore veins --- .../entries/tfg_ores/earth_ore_index.json | 8 ++-- .../entries/tfg_ores/earth_vein_index.json | 41 ++++------------ .../entries/tfg_ores/nether_ore_index.json | 4 +- .../entries/tfg_ores/nether_vein_index.json | 4 +- .../entries/tfg_ores/earth_ore_index.json | 8 ++-- .../entries/tfg_ores/earth_vein_index.json | 41 ++++------------ .../entries/tfg_ores/earth_ore_index.json | 8 ++-- .../entries/tfg_ores/earth_vein_index.json | 41 ++++------------ .../entries/tfg_ores/earth_ore_index.json | 8 ++-- .../entries/tfg_ores/earth_vein_index.json | 41 ++++------------ .../entries/tfg_ores/earth_ore_index.json | 8 ++-- .../entries/tfg_ores/earth_vein_index.json | 41 ++++------------ .../entries/tfg_ores/earth_ore_index.json | 10 ++-- .../entries/tfg_ores/earth_vein_index.json | 41 ++++------------ .../entries/tfg_ores/earth_ore_index.json | 10 ++-- .../entries/tfg_ores/earth_vein_index.json | 41 ++++------------ .../entries/tfg_ores/earth_ore_index.json | 12 ++--- .../entries/tfg_ores/earth_vein_index.json | 45 ++++------------- .../entries/tfg_ores/mars_ore_index.json | 4 +- .../entries/tfg_ores/mars_vein_index.json | 2 +- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/venus_vein_index.json | 2 +- .../earth/vein/normal_gold.json | 2 +- .../earth/vein/normal_magnetite.json | 48 +++++++++---------- .../earth/vein/normal_mica.json | 6 +-- .../earth/vein/surface_copper.json | 32 +++---------- 26 files changed, 145 insertions(+), 365 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/earth_ore_index.json index 657cc282b..c135dec86 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/earth_ore_index.json @@ -19,17 +19,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)Bleicherde: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)Borax: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()$(li)Bornit: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)Chalkopyrit: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)Chalkosin: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Chromit: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)Cooperit: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Diamant: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)Elektrotin: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()$(li)Galenit: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Garnierit: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Gelber Granat: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Gelbes Limonit: $(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)Gips: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()", + "text": "$(li)Bleicherde: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)Borax: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()$(li)Bornit: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)Chalkopyrit: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)Chalkosin: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Chromit: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)5%$(/l)$()$(li)Cooperit: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Diamant: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)Elektrotin: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()$(li)Galenit: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Garnierit: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Gelber Granat: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Gelbes Limonit: $(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)Gips: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Glaukonitsand: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Glimmer: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Goethit: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Granatsand: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Granitischer Mineralsand: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Graphit: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)Grossular: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)Grüner Saphir: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)Halit: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Hematit: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Kalzit: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)Kassiterit: $(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)Kassiteritsand: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)35%$(/l)$()$(li)Kieselgur: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()", + "text": "$(li)Glaukonitsand: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Glimmer: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Goethit: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Granatsand: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Granitischer Mineralsand: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Graphit: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)Grossular: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)Grüner Saphir: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)Halit: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Hematit: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Kalzit: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)Kassiterit: $(l:tfg_ores/earth_vein_index#surface_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)35%$(/l)$()$(li)Kassiteritsand: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)35%$(/l)$()$(li)Kieselgur: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Kobalt: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)Kobaltit: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)Kohle: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)Kyanit: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Lapis: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lasurit: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lepidolith: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesit: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetit: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Malachit: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Molybdänit: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazit: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Natives Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()", + "text": "$(li)Kobalt: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)Kobaltit: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)Kohle: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)Kyanit: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Lapis: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lasurit: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lepidolith: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesit: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetit: $(l:tfg_ores/earth_vein_index#normal_magnetite)60%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Malachit: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Molybdänit: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazit: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Natives Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)5%$(/l)$()", "type": "patchouli:text" }, { @@ -49,7 +49,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Vanadium Magnetit: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Wolframat: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Wulfenit: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Zeolith: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Zinn: $(l:tfg_ores/earth_vein_index#normal_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)35%$(/l)$()$(li)Zinnober: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()", + "text": "$(li)Vanadium Magnetit: $(l:tfg_ores/earth_vein_index#normal_magnetite)30%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Wolframat: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Wulfenit: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Zeolith: $(l:tfg_ores/earth_vein_index#surface_copper)22%$(/l)$()$(li)Zinn: $(l:tfg_ores/earth_vein_index#normal_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)35%$(/l)$()$(li)Zinnober: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/earth_vein_index.json index 9dba1d7a7..a89e132e2 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/earth_vein_index.json @@ -541,7 +541,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/200 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 20 — 217$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 50$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Rhyolith", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/250 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 20 — 217$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 50$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Rhyolith", "title": "Chalkopyrit & Realgar", "type": "patchouli:text", "anchor": "surface_copper" @@ -583,7 +583,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Prozentsatz$(): 16%$(br)$(thing)Quelle von$(): Aluminium, Sauerstoff$(br)$(thing)Formel$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", + "text": "$(thing)Prozentsatz$(): 22%$(br)$(thing)Quelle von$(): Aluminium, Sauerstoff$(br)$(thing)Formel$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", "type": "patchouli:multiblock" }, { @@ -606,31 +606,6 @@ "text": "$(thing)Prozentsatz$(): 16%$(br)$(thing)Quelle von$(): Arsen$(br)$(thing)Formel$(): As₄S₄$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Atemschutzmaske)Arsenikose (Einatmung)$(/t)$()", "type": "patchouli:multiblock" }, - { - "Type": "patchouli:multiblock", - "name": "Kassiterit", - "multiblock": { - "mapping": { - "0": "#forge:ores/cassiterite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Quelle von$(): Zinn$(br)$(thing)Formel$(): SnO₂", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, { "Type": "patchouli:text", "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/225 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 30%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 20$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 20$(br2)$(thing)Gesteinsarten$(): Dolomit, Hornstein, Kalk, Kalkstein, Konglomerat, Marmor, Schieferstein, Tonstein", @@ -1190,7 +1165,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/170 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)Höhe$(): 12$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Diorit, Gabbro, Granit, Rhyolith", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/210 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 40%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Breit und flach)Scheibenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 40$(br)$(thing)Höhe$(): 12$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Andesit, Basalt, Dazit, Diorit, Gabbro, Granit, Rhyolith", "title": "Gold, Limonit, & Hematit", "type": "patchouli:text", "anchor": "normal_gold" @@ -1893,7 +1868,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/190 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): 0 — 210$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 36$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Marmor, Phyllit, Quarzit, Tonschiefer", + "text": "$(thing)$(t:Die Chance, dass eine Ader pro Chunk generiert wird. Kleinere und untere Zahlen sind häufiger.)Seltenheit$(/t)$(): 1/230 Chunks$(br)$(thing)$(t:Der Prozentsatz von Blöcken in einer Ader, die Erze anstelle von Stein sind. Eine höherer Prozentsatz heißt mehr Erze.)Dichte$(/t)$(): 25%$(br)$(thing)$(t:Die Form einer Ader.)Typ$(/t)$(): $(t:Meistens rundförmig)Klumpenader$(/t)$(br)$(thing)$(t:Die Y-Höhen, zwischen denen die Ader generieren kann.)Y$(/t)$(): -32 — 140$(br)$(thing)$(t:Der durchschnittliche Durchmesser der Ader)Größe$(/t)$(): 36$(br)$(thing)$(t:Wenn die Distanz zwischen der Oberfläche und der Erzader größer als diese Zahl ist, werden keine Indikatoren an der Oberfläche generiert.)Indikator Maximale Tiefe$(/t)$(): 60$(br2)$(thing)Gesteinsarten$(): Diorit, Gabbro, Gneis, Granit, Kristallschiefer, Marmor, Phyllit, Quarzit, Tonschiefer", "title": "Kyanit, Glimmer, & Bauxit", "type": "patchouli:text", "anchor": "normal_mica" @@ -2191,7 +2166,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Prozentsatz$(): 63%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₃O₄", + "text": "$(thing)Prozentsatz$(): 60%$(br)$(thing)Schmelzt in$(): Gusseisen$(br)$(thing)Formel$(): Fe₃O₄", "type": "patchouli:multiblock" }, { @@ -2211,7 +2186,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Prozentsatz$(): 22%$(br)$(thing)Quelle von$(): Eisen, Vanadium$(br)$(thing)Formel$(): (Fe₃O₄)V", + "text": "$(thing)Prozentsatz$(): 30%$(br)$(thing)Quelle von$(): Eisen, Vanadium$(br)$(thing)Formel$(): (Fe₃O₄)V", "type": "patchouli:multiblock" }, { @@ -2231,7 +2206,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Prozentsatz$(): 9%$(br)$(thing)Schmelzt in$(): Gold$(br)$(thing)Formel$(): Au", + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Schmelzt in$(): Gold$(br)$(thing)Formel$(): Au", "type": "patchouli:multiblock" }, { @@ -2251,7 +2226,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Prozentsatz$(): 4%$(br)$(thing)Quelle von$(): Chrom$(br)$(thing)Formel$(): FeCr₂O₄$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Gummihandschuhe)Reizend (Hautkontakt)$(/t)$()", + "text": "$(thing)Prozentsatz$(): 5%$(br)$(thing)Quelle von$(): Chrom$(br)$(thing)Formel$(): FeCr₂O₄$(br)$(thing)Gefahr$(): $(c)$(t:Benötigt Gummihandschuhe)Reizend (Hautkontakt)$(/t)$()", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/nether_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/nether_ore_index.json index a0a2753bb..ba14cccb2 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/nether_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/nether_ore_index.json @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Die Unterwelt Erzindex", + "name": "Unterwelt Erzindex", "icon": "minecraft:quartz", "category": "tfc:tfg_ores", "read_by_default": true, @@ -9,7 +9,7 @@ { "Type": "patchouli:text", "text": "Dies ist der $(thing)Erzindex$() für $(thing)Die Unterwelt$(). Alle Erze sind zuerst alphabetisch und danach von reichen nach armen Adertypen sortiert. Du kannst sie anklicken, um mehr über jede Ader zu erfahren.", - "title": "Die Unterwelt Erzindex", + "title": "Unterwelt Erzindex", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/nether_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/nether_vein_index.json index 1866bbcf4..1ecfe0011 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/nether_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/de_de/entries/tfg_ores/nether_vein_index.json @@ -1,6 +1,6 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", - "name": "Die Unterwelt Aderindex", + "name": "Unterwelt Aderindex", "icon": "gtceu:pyroxenite_nether_quartz_ore", "category": "tfc:tfg_ores", "read_by_default": true, @@ -9,7 +9,7 @@ { "Type": "patchouli:text", "text": "Dies ist der $(thing)Erzindex$() für $(item)Die Unterwelt$(). Jede Ader hat Details über Seltenheit, Dichte, Adertyp, gefundene Höhe, Größen, in welchen Gesteinen sie vorkommt und noch viel mehr.", - "title": "Die Unterwelt Aderindex", + "title": "Unterwelt Aderindex", "type": "patchouli:text" }, { 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 118ee2950..bd589c65a 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)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)$()", + "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)$()$(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)5%$(/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" }, { @@ -29,12 +29,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Hematite: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Kyanite: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Lapis: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesite: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Malachite: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molybdenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazite: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Native Copper: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()", + "text": "$(li)Hematite: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Kyanite: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Lapis: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesite: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)60%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Malachite: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molybdenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazite: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Native Copper: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", + "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", "type": "patchouli:text" }, { @@ -49,7 +49,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Uraninite: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Yellow Limonite: $(l:tfg_ores/earth_vein_index#normal_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l)$()$(li)Zeolite: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()", + "text": "$(li)Uraninite: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)30%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Yellow Limonite: $(l:tfg_ores/earth_vein_index#normal_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l)$()$(li)Zeolite: $(l:tfg_ores/earth_vein_index#surface_copper)22%$(/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 4389eeb16..bc74edc32 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 @@ -675,7 +675,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 217$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 217$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Chalcopyrite & Realgar", "type": "patchouli:text", "anchor": "surface_copper" @@ -717,7 +717,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 16%$(br)$(thing)Source of$(): Aluminium, Oxygen$(br)$(thing)Formula$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", + "text": "$(thing)Percentage$(): 22%$(br)$(thing)Source of$(): Aluminium, Oxygen$(br)$(thing)Formula$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", "type": "patchouli:multiblock" }, { @@ -740,31 +740,6 @@ "text": "$(thing)Percentage$(): 16%$(br)$(thing)Source of$(): Arsenic$(br)$(thing)Formula$(): As₄S₄$(br)$(thing)Hazard$(): $(c)$(t:Requires Face Mask)Arsenicosis (Inhalation)$(/t)$()", "type": "patchouli:multiblock" }, - { - "Type": "patchouli:multiblock", - "name": "Cassiterite", - "multiblock": { - "mapping": { - "0": "#forge:ores/cassiterite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Percentage$(): 5%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): SnO₂", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, { "Type": "patchouli:text", "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/225 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Marble, Shale", @@ -1537,7 +1512,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 12$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 12$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Gold, Limonite, & Hematite", "type": "patchouli:text", "anchor": "normal_gold" @@ -1987,7 +1962,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 36$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 140$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 36$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "normal_mica" @@ -2285,7 +2260,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 63%$(br)$(thing)Melts into$(): Cast Iron$(br)$(thing)Formula$(): Fe₃O₄", + "text": "$(thing)Percentage$(): 60%$(br)$(thing)Melts into$(): Cast Iron$(br)$(thing)Formula$(): Fe₃O₄", "type": "patchouli:multiblock" }, { @@ -2305,7 +2280,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 22%$(br)$(thing)Source of$(): Iron, Vanadium$(br)$(thing)Formula$(): (Fe₃O₄)V", + "text": "$(thing)Percentage$(): 30%$(br)$(thing)Source of$(): Iron, Vanadium$(br)$(thing)Formula$(): (Fe₃O₄)V", "type": "patchouli:multiblock" }, { @@ -2325,7 +2300,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 9%$(br)$(thing)Melts into$(): Gold$(br)$(thing)Formula$(): Au", + "text": "$(thing)Percentage$(): 5%$(br)$(thing)Melts into$(): Gold$(br)$(thing)Formula$(): Au", "type": "patchouli:multiblock" }, { @@ -2345,7 +2320,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 4%$(br)$(thing)Source of$(): Chromium$(br)$(thing)Formula$(): FeCr₂O₄$(br)$(thing)Hazard$(): $(c)$(t:Requires Rubber Gloves)Irritant (Skin Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 5%$(br)$(thing)Source of$(): Chromium$(br)$(thing)Formula$(): FeCr₂O₄$(br)$(thing)Hazard$(): $(c)$(t:Requires Rubber Gloves)Irritant (Skin Contact)$(/t)$()", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/earth_ore_index.json index 118ee2950..bd589c65a 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)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)$()", + "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)$()$(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)5%$(/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" }, { @@ -29,12 +29,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Hematite: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Kyanite: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Lapis: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesite: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Malachite: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molybdenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazite: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Native Copper: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()", + "text": "$(li)Hematite: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Kyanite: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Lapis: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesite: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)60%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Malachite: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molybdenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazite: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Native Copper: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", + "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", "type": "patchouli:text" }, { @@ -49,7 +49,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Uraninite: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Yellow Limonite: $(l:tfg_ores/earth_vein_index#normal_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l)$()$(li)Zeolite: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()", + "text": "$(li)Uraninite: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)30%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Yellow Limonite: $(l:tfg_ores/earth_vein_index#normal_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l)$()$(li)Zeolite: $(l:tfg_ores/earth_vein_index#surface_copper)22%$(/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 4389eeb16..bc74edc32 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 @@ -675,7 +675,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 217$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 217$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Chalcopyrite & Realgar", "type": "patchouli:text", "anchor": "surface_copper" @@ -717,7 +717,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 16%$(br)$(thing)Source of$(): Aluminium, Oxygen$(br)$(thing)Formula$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", + "text": "$(thing)Percentage$(): 22%$(br)$(thing)Source of$(): Aluminium, Oxygen$(br)$(thing)Formula$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", "type": "patchouli:multiblock" }, { @@ -740,31 +740,6 @@ "text": "$(thing)Percentage$(): 16%$(br)$(thing)Source of$(): Arsenic$(br)$(thing)Formula$(): As₄S₄$(br)$(thing)Hazard$(): $(c)$(t:Requires Face Mask)Arsenicosis (Inhalation)$(/t)$()", "type": "patchouli:multiblock" }, - { - "Type": "patchouli:multiblock", - "name": "Cassiterite", - "multiblock": { - "mapping": { - "0": "#forge:ores/cassiterite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Percentage$(): 5%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): SnO₂", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, { "Type": "patchouli:text", "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/225 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Marble, Shale", @@ -1537,7 +1512,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 12$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 12$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Gold, Limonite, & Hematite", "type": "patchouli:text", "anchor": "normal_gold" @@ -1987,7 +1962,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 36$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 140$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 36$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "normal_mica" @@ -2285,7 +2260,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 63%$(br)$(thing)Melts into$(): Cast Iron$(br)$(thing)Formula$(): Fe₃O₄", + "text": "$(thing)Percentage$(): 60%$(br)$(thing)Melts into$(): Cast Iron$(br)$(thing)Formula$(): Fe₃O₄", "type": "patchouli:multiblock" }, { @@ -2305,7 +2280,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 22%$(br)$(thing)Source of$(): Iron, Vanadium$(br)$(thing)Formula$(): (Fe₃O₄)V", + "text": "$(thing)Percentage$(): 30%$(br)$(thing)Source of$(): Iron, Vanadium$(br)$(thing)Formula$(): (Fe₃O₄)V", "type": "patchouli:multiblock" }, { @@ -2325,7 +2300,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 9%$(br)$(thing)Melts into$(): Gold$(br)$(thing)Formula$(): Au", + "text": "$(thing)Percentage$(): 5%$(br)$(thing)Melts into$(): Gold$(br)$(thing)Formula$(): Au", "type": "patchouli:multiblock" }, { @@ -2345,7 +2320,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 4%$(br)$(thing)Source of$(): Chromium$(br)$(thing)Formula$(): FeCr₂O₄$(br)$(thing)Hazard$(): $(c)$(t:Requires Rubber Gloves)Irritant (Skin Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 5%$(br)$(thing)Source of$(): Chromium$(br)$(thing)Formula$(): FeCr₂O₄$(br)$(thing)Hazard$(): $(c)$(t:Requires Rubber Gloves)Irritant (Skin Contact)$(/t)$()", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_ore_index.json index 118ee2950..bd589c65a 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_ore_index.json @@ -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)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)$()", + "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)$()$(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)5%$(/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" }, { @@ -29,12 +29,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Hematite: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Kyanite: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Lapis: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesite: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Malachite: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molybdenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazite: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Native Copper: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()", + "text": "$(li)Hematite: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Kyanite: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Lapis: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesite: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)60%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Malachite: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molybdenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazite: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Native Copper: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", + "text": "$(li)Native Gold: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Neodymium: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Nickel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Oilsands: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Olivine: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opal: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Platinum: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Pollucite: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Pyrite: $(l:tfg_ores/earth_vein_index#normal_sulfur)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)5%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()", "type": "patchouli:text" }, { @@ -49,7 +49,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Uraninite: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Yellow Limonite: $(l:tfg_ores/earth_vein_index#normal_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l)$()$(li)Zeolite: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()", + "text": "$(li)Uraninite: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)30%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Yellow Limonite: $(l:tfg_ores/earth_vein_index#normal_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l)$()$(li)Zeolite: $(l:tfg_ores/earth_vein_index#surface_copper)22%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json index 4389eeb16..bc74edc32 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ja_jp/entries/tfg_ores/earth_vein_index.json @@ -675,7 +675,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/200 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 217$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/250 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 20 — 217$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 50$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", "title": "Chalcopyrite & Realgar", "type": "patchouli:text", "anchor": "surface_copper" @@ -717,7 +717,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 16%$(br)$(thing)Source of$(): Aluminium, Oxygen$(br)$(thing)Formula$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", + "text": "$(thing)Percentage$(): 22%$(br)$(thing)Source of$(): Aluminium, Oxygen$(br)$(thing)Formula$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", "type": "patchouli:multiblock" }, { @@ -740,31 +740,6 @@ "text": "$(thing)Percentage$(): 16%$(br)$(thing)Source of$(): Arsenic$(br)$(thing)Formula$(): As₄S₄$(br)$(thing)Hazard$(): $(c)$(t:Requires Face Mask)Arsenicosis (Inhalation)$(/t)$()", "type": "patchouli:multiblock" }, - { - "Type": "patchouli:multiblock", - "name": "Cassiterite", - "multiblock": { - "mapping": { - "0": "#forge:ores/cassiterite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Percentage$(): 5%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): SnO₂", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, { "Type": "patchouli:text", "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/225 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 30%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -64 — 30$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 20$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Marble, Shale", @@ -1537,7 +1512,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/170 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 12$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/210 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 40%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Wide and flat)Disc Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 60$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 40$(br)$(thing)Height$(): 12$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Gabbro, Granite, Rhyolite", "title": "Gold, Limonite, & Hematite", "type": "patchouli:text", "anchor": "normal_gold" @@ -1987,7 +1962,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/190 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): 0 — 210$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 36$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)$(t:The chance of a vein generating per chunk. Smaller bottom numbers are more common.)Rarity$(/t)$(): 1/230 chunks$(br)$(thing)$(t:The percentage of blocks in a vein that are ores instead of stone. A bigger percentage means more ores.)Density$(/t)$(): 25%$(br)$(thing)$(t:The shape of the vein.)Type$(/t)$(): $(t:Mostly round shaped)Cluster Vein$(/t)$(br)$(thing)$(t:The Y levels that the vein can generate between.)Y$(/t)$(): -32 — 140$(br)$(thing)$(t:The average diameter of the vein)Size$(/t)$(): 36$(br)$(thing)$(t:If the distance between the surface and the ore vein is larger than this number, the ore vein will not generate surface indicators.)Indicator Max Depth$(/t)$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "normal_mica" @@ -2285,7 +2260,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 63%$(br)$(thing)Melts into$(): Cast Iron$(br)$(thing)Formula$(): Fe₃O₄", + "text": "$(thing)Percentage$(): 60%$(br)$(thing)Melts into$(): Cast Iron$(br)$(thing)Formula$(): Fe₃O₄", "type": "patchouli:multiblock" }, { @@ -2305,7 +2280,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 22%$(br)$(thing)Source of$(): Iron, Vanadium$(br)$(thing)Formula$(): (Fe₃O₄)V", + "text": "$(thing)Percentage$(): 30%$(br)$(thing)Source of$(): Iron, Vanadium$(br)$(thing)Formula$(): (Fe₃O₄)V", "type": "patchouli:multiblock" }, { @@ -2325,7 +2300,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 9%$(br)$(thing)Melts into$(): Gold$(br)$(thing)Formula$(): Au", + "text": "$(thing)Percentage$(): 5%$(br)$(thing)Melts into$(): Gold$(br)$(thing)Formula$(): Au", "type": "patchouli:multiblock" }, { @@ -2345,7 +2320,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 4%$(br)$(thing)Source of$(): Chromium$(br)$(thing)Formula$(): FeCr₂O₄$(br)$(thing)Hazard$(): $(c)$(t:Requires Rubber Gloves)Irritant (Skin Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 5%$(br)$(thing)Source of$(): Chromium$(br)$(thing)Formula$(): FeCr₂O₄$(br)$(thing)Hazard$(): $(c)$(t:Requires Rubber Gloves)Irritant (Skin Contact)$(/t)$()", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/earth_ore_index.json index 2520734e3..b601480ef 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)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)$()", + "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)$()$(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)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)$()", + "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)5%$(/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" }, { @@ -34,7 +34,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Limonita Amarela: $(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ítio: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesita: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetita: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Magnetita de Vanádio: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Malaquita: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molibdenita: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazita: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Neodímio: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Níquel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Olivina: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opala: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Ouro Nativo: $(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)Limonita Amarela: $(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ítio: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesita: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetita: $(l:tfg_ores/earth_vein_index#normal_magnetite)60%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Magnetita de Vanádio: $(l:tfg_ores/earth_vein_index#normal_magnetite)30%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Malaquita: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molibdenita: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazita: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Neodímio: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Níquel: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Olivina: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Opala: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Ouro Nativo: $(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#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)5%$(/l)$()", "type": "patchouli:text" }, { @@ -49,7 +49,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Torianita: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstato: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Uraninita: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Wulfenita: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Zeólita: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()", + "text": "$(li)Torianita: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstato: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Uraninita: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Wulfenita: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Zeólita: $(l:tfg_ores/earth_vein_index#surface_copper)22%$(/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 3f3723398..2711da742 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 @@ -687,7 +687,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/200 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 217$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", + "text": "$(thing)Raridade$(): 1/250 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 217$(br)$(thing)Tamanho$(): 50$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", "title": "Calcopirita e Realgar", "type": "patchouli:text", "anchor": "surface_copper" @@ -729,7 +729,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 16%$(br)$(thing)Fonte de$(): Alumínio, Oxigênio$(br)$(thing)Fórmula$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", + "text": "$(thing)Porcentagem$(): 22%$(br)$(thing)Fonte de$(): Alumínio, Oxigênio$(br)$(thing)Fórmula$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", "type": "patchouli:multiblock" }, { @@ -752,31 +752,6 @@ "text": "$(thing)Porcentagem$(): 16%$(br)$(thing)Fonte de$(): Arsênico$(br)$(thing)Fórmula$(): As₄S₄$(br)$(thing)Perigo$(): $(c)$(t:Requer Máscara Facial)Arsenicose (Inalação)$(/t)$()", "type": "patchouli:multiblock" }, - { - "Type": "patchouli:multiblock", - "name": "Cassiterita", - "multiblock": { - "mapping": { - "0": "#forge:ores/cassiterite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 5%$(br)$(thing)Derrete em$(): Estanho$(br)$(thing)Fórmula$(): SnO₂", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, { "Type": "patchouli:text", "text": "$(thing)Raridade$(): 1/215 chunks$(br)$(thing)Densidade$(): 55%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Tamanho$(): 60$(br)$(thing)Profundidade Máxima do Indicador$(): 50$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", @@ -940,7 +915,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/190 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Tamanho$(): 36$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 1/230 chunks$(br)$(thing)Densidade$(): 25%$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 140$(br)$(thing)Tamanho$(): 36$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", "title": "Cianita, Mica e Bauxita", "type": "patchouli:text", "anchor": "normal_mica" @@ -2513,7 +2488,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 63%$(br)$(thing)Derrete em$(): Ferro Fundido$(br)$(thing)Fórmula$(): Fe₃O₄", + "text": "$(thing)Porcentagem$(): 60%$(br)$(thing)Derrete em$(): Ferro Fundido$(br)$(thing)Fórmula$(): Fe₃O₄", "type": "patchouli:multiblock" }, { @@ -2533,7 +2508,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 22%$(br)$(thing)Fonte de$(): Ferro, Vanádio$(br)$(thing)Fórmula$(): (Fe₃O₄)V", + "text": "$(thing)Porcentagem$(): 30%$(br)$(thing)Fonte de$(): Ferro, Vanádio$(br)$(thing)Fórmula$(): (Fe₃O₄)V", "type": "patchouli:multiblock" }, { @@ -2553,7 +2528,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 9%$(br)$(thing)Derrete em$(): Ouro$(br)$(thing)Fórmula$(): Au", + "text": "$(thing)Porcentagem$(): 5%$(br)$(thing)Derrete em$(): Ouro$(br)$(thing)Fórmula$(): Au", "type": "patchouli:multiblock" }, { @@ -2573,7 +2548,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 4%$(br)$(thing)Fonte de$(): Cromo$(br)$(thing)Fórmula$(): FeCr₂O₄$(br)$(thing)Perigo$(): $(c)$(t:Requer Luvas de Borracha)Irritante (Contato com a Pele)$(/t)$()", + "text": "$(thing)Porcentagem$(): 5%$(br)$(thing)Fonte de$(): Cromo$(br)$(thing)Fórmula$(): FeCr₂O₄$(br)$(thing)Perigo$(): $(c)$(t:Requer Luvas de Borracha)Irritante (Contato com a Pele)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2859,7 +2834,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 1/170 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 12$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", + "text": "$(thing)Raridade$(): 1/210 chunks$(br)$(thing)Densidade$(): 40%$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 40$(br)$(thing)Altura$(): 12$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Gabro, Granito, Riolito", "title": "Ouro, Limonita e Hematita", "type": "patchouli:text", "anchor": "normal_gold" 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 b4dd2dfad..40edc7ba5 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_ore_index.json @@ -19,17 +19,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)Ванадий магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Висмут: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Вольфрамат: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Вульфенит: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Галена: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Галит: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Гарниерит: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Гематит: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Гётит: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Гипс: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)Глауконитовый песок: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Гранатовый песок: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Гранитовый минеральный песок: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Графит: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()", + "text": "$(li)Ванадий магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)30%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Висмут: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Вольфрамат: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Вульфенит: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Галена: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Галит: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Гарниерит: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Гематит: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Гётит: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Гипс: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)Глауконитовый песок: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Гранатовый песок: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Гранитовый минеральный песок: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Графит: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Гроссуляр: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/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#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#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)$()", + "text": "$(li)Гроссуляр: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/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#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#surface_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)35%$(/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" }, { "Type": "patchouli:text", - "text": "$(li)Куперит: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лазуритит: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Литий: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахит: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молибденит: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Нефтеносный песок: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Никель: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()", + "text": "$(li)Куперит: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лазуритит: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Литий: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)60%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахит: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молибденит: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)Нефтеносный песок: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Никель: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()", "type": "patchouli:text" }, { @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Самородная Золото: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Самородная Медь: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Самородная Серебро: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Сапфир: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Свинец: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Селитра: $(l:tfg_ores/earth_vein_index#normal_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#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/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_manganese)25%$(/l)$()$(li)Сподумен: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()", + "text": "$(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#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)5%$(/l)$()$(li)Самородная Медь: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Самородная Серебро: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Сапфир: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Свинец: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Селитра: $(l:tfg_ores/earth_vein_index#normal_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#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/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_manganese)25%$(/l)$()$(li)Сподумен: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()", "type": "patchouli:text" }, { @@ -49,7 +49,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Халькопирит: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)Хромит: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)Цеолит: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Ционит: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Шеелит: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)Электротин: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()", + "text": "$(li)Халькопирит: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)Хромит: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)5%$(/l)$()$(li)Цеолит: $(l:tfg_ores/earth_vein_index#surface_copper)22%$(/l)$()$(li)Ционит: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Шеелит: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)Электротин: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/earth_vein_index.json index c7842768a..4c61f4eb3 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 @@ -1349,7 +1349,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/170 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 60$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)Высота$(): 12$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/210 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 40%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Широкая и плоская)Дискообразная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 60$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 40$(br)$(thing)Высота$(): 12$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Габбро, Гранит, Дацит, Диорит, Риолит", "title": "Золото, Лимонит и Гематит", "type": "patchouli:text", "anchor": "normal_gold" @@ -1982,7 +1982,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 63%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₃O₄", + "text": "$(thing)Процент руды$(): 60%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): Fe₃O₄", "type": "patchouli:multiblock" }, { @@ -2002,7 +2002,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 22%$(br)$(thing)Используется для$(): Железо, Ванадий$(br)$(thing)Формула$(): (Fe₃O₄)V", + "text": "$(thing)Процент руды$(): 30%$(br)$(thing)Используется для$(): Железо, Ванадий$(br)$(thing)Формула$(): (Fe₃O₄)V", "type": "patchouli:multiblock" }, { @@ -2022,7 +2022,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 9%$(br)$(thing)Плавится в$(): Золото$(br)$(thing)Формула$(): Au", + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Плавится в$(): Золото$(br)$(thing)Формула$(): Au", "type": "patchouli:multiblock" }, { @@ -2042,7 +2042,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 4%$(br)$(thing)Используется для$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Раздражитель (Контакт с кожей)$(/t)$()", + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Используется для$(): Хром$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Резиновые перчатки)Раздражитель (Контакт с кожей)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -3696,7 +3696,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/200 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 20 — 217$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 50$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/250 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 20 — 217$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 50$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", "title": "Халькопирит и Реальгар", "type": "patchouli:text", "anchor": "surface_copper" @@ -3738,7 +3738,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Используется для$(): Алюминий, Кислород$(br)$(thing)Формула$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", + "text": "$(thing)Процент руды$(): 22%$(br)$(thing)Используется для$(): Алюминий, Кислород$(br)$(thing)Формула$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", "type": "patchouli:multiblock" }, { @@ -3761,31 +3761,6 @@ "text": "$(thing)Процент руды$(): 16%$(br)$(thing)Используется для$(): Мышьяк$(br)$(thing)Формула$(): As₄S₄$(br)$(thing)Ядовит$(): $(c)$(t:Требуется Медицинская маска)Отравление мышьяком (Вдыхание вредных веществ)$(/t)$()", "type": "patchouli:multiblock" }, - { - "Type": "patchouli:multiblock", - "name": "Касситерит", - "multiblock": { - "mapping": { - "0": "#forge:ores/cassiterite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Плавится в$(): Олово$(br)$(thing)Формула$(): SnO₂", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, { "Type": "patchouli:text", "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/225 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 30%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -64 — 30$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 20$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец", @@ -3895,7 +3870,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/190 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): 0 — 210$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 36$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)$(t:Вероятность генерации жилы в чанке. Чем меньше знаменатель(второе число), тем чаще встречается.)Редкость$(/t)$(): 1/230 на чанк$(br)$(thing)$(t:Содержание блоков руды в жиле заменяющих камень. Большее значение означает больше руды.)Плотность$(/t)$(): 25%$(br)$(thing)$(t:Форма жилы.)Вид$(/t)$(): $(t:Зачастую круглой формы)Кластерная жила$(/t)$(br)$(thing)$(t:Уровни Y, между которыми может сгенерироваться жила.)Y-уровень$(/t)$(): -32 — 140$(br)$(thing)(t:Средний диаметр жилы)Размер$(/t)$(): 36$(br)$(thing)$(t:Если расстояние между поверхностью и жилой больше чем это число, то жила не сгененрирует индикаторы на поверхности.)Максимальная высота индикатора$(/t)$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Ционит, Слюда и Боксит", "type": "patchouli:text", "anchor": "normal_mica" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_ore_index.json index 0bdf84f0d..b1481fc84 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_ore_index.json @@ -19,17 +19,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)Ванадієвий магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Вісмут: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Вольфрам: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Вугілля: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)Вульфеніт: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Галена: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Галіт: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Гарнієрит: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Гематит: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Гетит: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Гіпс: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)Главконітний пісок: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Гранатовий пісок: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Гранітний мінеральний пісок: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()", + "text": "$(li)Ванадієвий магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)30%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Вісмут: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Вольфрам: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Вугілля: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)Вульфеніт: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Галена: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Галіт: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Гарнієрит: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Гематит: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Гетит: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Гіпс: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)Главконітний пісок: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)Гранатовий пісок: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)Гранітний мінеральний пісок: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Графіт: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(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#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)$()", + "text": "$(li)Графіт: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(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#surface_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)35%$(/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" }, { "Type": "patchouli:text", - "text": "$(li)Кіновар: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)Кобальт: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лапіс: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Літій: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахіт: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молібденіт: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Нафтові піски: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()", + "text": "$(li)Кіновар: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)Кобальт: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лапіс: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Літій: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)60%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Малахіт: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Молібденіт: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Монацит: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Нафтові піски: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Неодим: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()", "type": "patchouli:text" }, { @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Редстоун: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)Рубін: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)Самородна Золото: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)Самородна Мідь: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Самородна Срібла: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Сапфір: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Свинець: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Сильвін: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)Сірка: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Слюда: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Смарагд: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Соапостон: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Содаліт: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Спесартін: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", + "text": "$(li)Редстоун: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)Рубін: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)Самородна Золото: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)5%$(/l)$()$(li)Самородна Мідь: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Самородна Срібла: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)Сапфір: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Свинець: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Сильвін: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)Сірка: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Слюда: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Смарагд: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Соапостон: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Содаліт: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Спесартін: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", "type": "patchouli:text" }, { @@ -49,7 +49,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Халькоцит: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Хроміт: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)Цеоліт: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Червоний гранат: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)Шеєліт: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)Шелдонітн: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()", + "text": "$(li)Халькоцит: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Хроміт: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)5%$(/l)$()$(li)Цеоліт: $(l:tfg_ores/earth_vein_index#surface_copper)22%$(/l)$()$(li)Червоний гранат: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)Шеєліт: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)Шелдонітн: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/earth_vein_index.json index 95d366a41..fabdfae99 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 @@ -1376,7 +1376,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/170 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 12$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/210 чанків$(br)$(thing)Щільність$(): 40%$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 40$(br)$(thing)Висота$(): 12$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Габро, Граніт, Дацит, Діорит, Ріоліт", "title": "Золото, Лімоніт та Гематит", "type": "patchouli:text", "anchor": "normal_gold" @@ -1669,7 +1669,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/190 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Розмір$(): 36$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 1/230 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 140$(br)$(thing)Розмір$(): 36$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Кіаніт, Слюда та Боксити", "type": "patchouli:text", "anchor": "normal_mica" @@ -1967,7 +1967,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 63%$(br)$(thing)Розплавляється в$(): Чавун$(br)$(thing)Формула$(): Fe₃O₄", + "text": "$(thing)Відсоток$(): 60%$(br)$(thing)Розплавляється в$(): Чавун$(br)$(thing)Формула$(): Fe₃O₄", "type": "patchouli:multiblock" }, { @@ -1987,7 +1987,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 22%$(br)$(thing)Джерело$(): Залізо, Ванадію$(br)$(thing)Формула$(): (Fe₃O₄)V", + "text": "$(thing)Відсоток$(): 30%$(br)$(thing)Джерело$(): Залізо, Ванадію$(br)$(thing)Формула$(): (Fe₃O₄)V", "type": "patchouli:multiblock" }, { @@ -2007,7 +2007,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 9%$(br)$(thing)Розплавляється в$(): Золото$(br)$(thing)Формула$(): Au", + "text": "$(thing)Відсоток$(): 5%$(br)$(thing)Розплавляється в$(): Золото$(br)$(thing)Формула$(): Au", "type": "patchouli:multiblock" }, { @@ -2027,7 +2027,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 4%$(br)$(thing)Джерело$(): Хрому$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібні гумові рукавички)Подразник (контакт із шкірою)$(/t)$()", + "text": "$(thing)Відсоток$(): 5%$(br)$(thing)Джерело$(): Хрому$(br)$(thing)Формула$(): FeCr₂O₄$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібні гумові рукавички)Подразник (контакт із шкірою)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -3721,7 +3721,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 1/200 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 217$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", + "text": "$(thing)Рідкість$(): 1/250 чанків$(br)$(thing)Щільність$(): 25%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 217$(br)$(thing)Розмір$(): 50$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", "title": "Халькопірит та Реальгар", "type": "patchouli:text", "anchor": "surface_copper" @@ -3763,7 +3763,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 16%$(br)$(thing)Джерело$(): Алюмінію, Кисню$(br)$(thing)Формула$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", + "text": "$(thing)Відсоток$(): 22%$(br)$(thing)Джерело$(): Алюмінію, Кисню$(br)$(thing)Формула$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", "type": "patchouli:multiblock" }, { @@ -3786,31 +3786,6 @@ "text": "$(thing)Відсоток$(): 16%$(br)$(thing)Джерело$(): Миш'яку$(br)$(thing)Формула$(): As₄S₄$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібна захисна маска)Арсенікоз (інгаляція)$(/t)$()", "type": "patchouli:multiblock" }, - { - "Type": "patchouli:multiblock", - "name": "Каситерит", - "multiblock": { - "mapping": { - "0": "#forge:ores/cassiterite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Відсоток$(): 5%$(br)$(thing)Розплавляється в$(): Олово$(br)$(thing)Формула$(): SnO₂", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, { "Type": "patchouli:text", "text": "$(thing)Рідкість$(): 1/225 чанків$(br)$(thing)Щільність$(): 30%$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець, Мармур", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_ore_index.json index e6fceb082..b187d8fd9 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/earth_ore_index.json @@ -14,17 +14,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)云母: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)原生金: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)9%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)原生银: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)塔基安矿: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)天然碱: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)孔雀石: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)方钍石: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)方钠石: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)明矾石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()", + "text": "$(li)云母: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)原生金: $(l:tfg_ores/earth_vein_index#deep_gold)75%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)原生银: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)10%$(/l)$()$(li)塔基安矿: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)天然碱: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)孔雀石: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)岩盐: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)方钍石: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)方钠石: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)明矾石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)朱砂: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)橄榄石: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)沸石: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)油砂: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)滑石: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)漂白土: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)烧绿石: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)煤炭: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)独居石: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)玄武岩矿砂: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)白钨矿: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()", + "text": "$(li)晶质铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)朱砂: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)橄榄石: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)沸石: $(l:tfg_ores/earth_vein_index#surface_copper)22%$(/l)$()$(li)油砂: $(l:tfg_ores/earth_vein_index#desert_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_oilsands)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/earth_vein_index#normal_lubricant)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_olivine)15%$(/l)$()$(li)滑石: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)漂白土: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)烧绿石: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)煤炭: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)独居石: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)玄武岩矿砂: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)皂石: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)石棉: $(l:tfg_ores/earth_vein_index#normal_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_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)石墨: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)硅藻土: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)硝石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)10%$(/l)$()$(li)硫: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)硼砂: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()$(li)磁铁矿: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()", + "text": "$(li)白钨矿: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)皂石: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)石棉: $(l:tfg_ores/earth_vein_index#normal_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)60%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()", "type": "patchouli:text" }, { @@ -34,17 +34,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)蓝金石: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)蓝黄玉: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)蛋白石: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)软锰矿: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)辉钼矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)辉铜矿: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)重晶石: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)针铁矿: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)钒磁铁矿: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)钕矿: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()", + "text": "$(li)蓝金石: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)蓝黄玉: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)蛋白石: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)软锰矿: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)辉钼矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)辉铜矿: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)重晶石: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)针铁矿: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)钒磁铁矿: $(l:tfg_ores/earth_vein_index#normal_magnetite)30%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)钕矿: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)钙铝榴石: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)钴矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)钻石: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)钼钨钙矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)钼铅矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)钾石盐: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)铂矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)铍矿: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)铝土矿: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()", + "text": "$(li)钙铝榴石: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)钴矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)钻石: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)钼钨钙矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)钼铅矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)钾石盐: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)铂矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)铍矿: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)铝土矿: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)5%$(/l)$()", "type": "patchouli:text" }, { "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)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)$()", + "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)$()$(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 60a264324..3f4a8d1a3 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 @@ -547,7 +547,7 @@ }, { "Type": "patchouli:multiblock", - "name": "石鹽", + "name": "岩盐", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -1377,7 +1377,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 63%$(br)$(thing)熔化$(): 铸铁$(br)$(thing)化学式$(): Fe₃O₄", + "text": "$(thing)百分比$(): 60%$(br)$(thing)熔化$(): 铸铁$(br)$(thing)化学式$(): Fe₃O₄", "type": "patchouli:multiblock" }, { @@ -1397,7 +1397,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 22%$(br)$(thing)来源$(): 铁, 钒$(br)$(thing)化学式$(): (Fe₃O₄)V", + "text": "$(thing)百分比$(): 30%$(br)$(thing)来源$(): 铁, 钒$(br)$(thing)化学式$(): (Fe₃O₄)V", "type": "patchouli:multiblock" }, { @@ -1417,7 +1417,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 9%$(br)$(thing)熔化$(): 金$(br)$(thing)化学式$(): Au", + "text": "$(thing)百分比$(): 5%$(br)$(thing)熔化$(): 金$(br)$(thing)化学式$(): Au", "type": "patchouli:multiblock" }, { @@ -1437,7 +1437,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 4%$(br)$(thing)来源$(): 铬$(br)$(thing)化学式$(): FeCr₂O₄$(br)$(thing)危害$(): $(c)$(t:需要橡胶手套)刺激性 (皮肤接触)$(/t)$()", + "text": "$(thing)百分比$(): 5%$(br)$(thing)来源$(): 铬$(br)$(thing)化学式$(): FeCr₂O₄$(br)$(thing)危害$(): $(c)$(t:需要橡胶手套)刺激性 (皮肤接触)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1924,7 +1924,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/190 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 210$(br)$(thing)尺寸$(): 36$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/230 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 140$(br)$(thing)尺寸$(): 36$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", "title": "蓝晶石, 云母, 铝土矿", "type": "patchouli:text", "anchor": "normal_mica" @@ -2675,7 +2675,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/170 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 12$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 1/210 区块$(br)$(thing)密度$(): 40%$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 40$(br)$(thing)高度$(): 12$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 花岗岩, 英安岩, 辉长岩, 闪长岩", "title": "金矿, 褐铁矿, 赤铁矿", "type": "patchouli:text", "anchor": "normal_gold" @@ -3219,7 +3219,7 @@ }, { "Type": "patchouli:multiblock", - "name": "石鹽", + "name": "岩盐", "multiblock": { "mapping": { "0": "#forge:ores/salt" @@ -3828,7 +3828,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 1/200 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 217$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", + "text": "$(thing)稀有度$(): 1/250 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 217$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", "title": "黄铜矿, 雄黄", "type": "patchouli:text", "anchor": "surface_copper" @@ -3870,7 +3870,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 16%$(br)$(thing)来源$(): 铝, 氧$(br)$(thing)化学式$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", + "text": "$(thing)百分比$(): 22%$(br)$(thing)来源$(): 铝, 氧$(br)$(thing)化学式$(): NaCa₄Si₂₇Al₉(H₂O)₂₈O₇₂", "type": "patchouli:multiblock" }, { @@ -3893,31 +3893,6 @@ "text": "$(thing)百分比$(): 16%$(br)$(thing)来源$(): 砷$(br)$(thing)化学式$(): As₄S₄$(br)$(thing)危害$(): $(c)$(t:需要面罩)砷中毒 (吸入)$(/t)$()", "type": "patchouli:multiblock" }, - { - "Type": "patchouli:multiblock", - "name": "锡石矿", - "multiblock": { - "mapping": { - "0": "#forge:ores/cassiterite" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)百分比$(): 5%$(br)$(thing)熔化$(): 锡$(br)$(thing)化学式$(): SnO₂", - "type": "patchouli:multiblock" - }, - { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" - }, { "Type": "patchouli:text", "text": "$(thing)稀有度$(): 1/140 区块$(br)$(thing)密度$(): 25%$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 60 — 210$(br)$(thing)尺寸$(): 50$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json index e3ee6b195..9138a48f9 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json @@ -14,12 +14,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)原生金: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)原生银: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)天然碱: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)方解石: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)方钍石: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)方钠石: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)滑石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()", + "text": "$(li)原生金: $(l:tfg_ores/mars_vein_index#mars_gold)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)原生银: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)天然碱: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)岩盐: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)方解石: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)方钍石: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)方钠石: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)烧绿石: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)煤炭: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)独居石: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)白钨矿: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)皂石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)石棉: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)石膏: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)石英岩: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)石鹽: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)石墨: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)硝石: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)硫: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()", + "text": "$(li)滑石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)烧绿石: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)煤炭: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)独居石: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)白钨矿: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)皂石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)石棉: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)石膏: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)石英岩: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)石墨: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)硝石: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)硫: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json index ce31b402a..07be30ced 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_vein_index.json @@ -650,7 +650,7 @@ }, { "Type": "patchouli:multiblock", - "name": "石鹽", + "name": "岩盐", "multiblock": { "mapping": { "0": "#forge:ores/salt" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json index be35c9263..a1291436e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)石鹽: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)硫: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)钾石盐: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)锂云母: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)锂辉石: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)闪锌矿: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()$(li)黄铁矿: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()", + "text": "$(li)岩盐: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)硫: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)钾石盐: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)锂云母: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)锂辉石: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)闪锌矿: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()$(li)黄铁矿: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json index eb801f189..5d66d4611 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json @@ -26,7 +26,7 @@ }, { "Type": "patchouli:multiblock", - "name": "石鹽", + "name": "岩盐", "multiblock": { "mapping": { "0": "#forge:ores/salt" diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_gold.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_gold.json index 220a19c23..e207a55fb 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_gold.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_gold.json @@ -4,7 +4,7 @@ "config": { "height": 12, "size": 40, - "rarity": 170, + "rarity": 210, "density": 0.4, "min_y": -32, "max_y": 60, diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_magnetite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_magnetite.json index 49289d94d..1da1cfadb 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_magnetite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_magnetite.json @@ -16,7 +16,7 @@ "with": [ { "block": "gtceu:shale_magnetite_ore", - "weight": 70 + "weight": 60 }, { "block": "gtceu:raw_magnetite_block", @@ -24,11 +24,11 @@ }, { "block": "gtceu:shale_vanadium_magnetite_ore", - "weight": 25 + "weight": 30 }, { "block": "gtceu:shale_gold_ore", - "weight": 10 + "weight": 5 }, { "block": "gtceu:shale_chromite_ore", @@ -43,7 +43,7 @@ "with": [ { "block": "gtceu:claystone_magnetite_ore", - "weight": 70 + "weight": 60 }, { "block": "gtceu:raw_magnetite_block", @@ -51,11 +51,11 @@ }, { "block": "gtceu:claystone_vanadium_magnetite_ore", - "weight": 25 + "weight": 30 }, { "block": "gtceu:claystone_gold_ore", - "weight": 10 + "weight": 5 }, { "block": "gtceu:claystone_chromite_ore", @@ -70,7 +70,7 @@ "with": [ { "block": "gtceu:limestone_magnetite_ore", - "weight": 70 + "weight": 60 }, { "block": "gtceu:raw_magnetite_block", @@ -78,11 +78,11 @@ }, { "block": "gtceu:limestone_vanadium_magnetite_ore", - "weight": 25 + "weight": 30 }, { "block": "gtceu:limestone_gold_ore", - "weight": 10 + "weight": 5 }, { "block": "gtceu:limestone_chromite_ore", @@ -97,7 +97,7 @@ "with": [ { "block": "gtceu:conglomerate_magnetite_ore", - "weight": 70 + "weight": 60 }, { "block": "gtceu:raw_magnetite_block", @@ -105,11 +105,11 @@ }, { "block": "gtceu:conglomerate_vanadium_magnetite_ore", - "weight": 25 + "weight": 30 }, { "block": "gtceu:conglomerate_gold_ore", - "weight": 10 + "weight": 5 }, { "block": "gtceu:conglomerate_chromite_ore", @@ -124,7 +124,7 @@ "with": [ { "block": "gtceu:dolomite_magnetite_ore", - "weight": 70 + "weight": 60 }, { "block": "gtceu:raw_magnetite_block", @@ -132,11 +132,11 @@ }, { "block": "gtceu:dolomite_vanadium_magnetite_ore", - "weight": 25 + "weight": 30 }, { "block": "gtceu:dolomite_gold_ore", - "weight": 10 + "weight": 5 }, { "block": "gtceu:dolomite_chromite_ore", @@ -151,7 +151,7 @@ "with": [ { "block": "gtceu:chert_magnetite_ore", - "weight": 70 + "weight": 60 }, { "block": "gtceu:raw_magnetite_block", @@ -159,11 +159,11 @@ }, { "block": "gtceu:chert_vanadium_magnetite_ore", - "weight": 25 + "weight": 30 }, { "block": "gtceu:chert_gold_ore", - "weight": 10 + "weight": 5 }, { "block": "gtceu:chert_chromite_ore", @@ -178,7 +178,7 @@ "with": [ { "block": "gtceu:chalk_magnetite_ore", - "weight": 70 + "weight": 60 }, { "block": "gtceu:raw_magnetite_block", @@ -186,11 +186,11 @@ }, { "block": "gtceu:chalk_vanadium_magnetite_ore", - "weight": 25 + "weight": 30 }, { "block": "gtceu:chalk_gold_ore", - "weight": 10 + "weight": 5 }, { "block": "gtceu:chalk_chromite_ore", @@ -207,15 +207,15 @@ "blocks": [ { "block": "tfc:ore/small_magnetite", - "weight": 70 + "weight": 60 }, { "block": "gtceu:vanadium_magnetite_indicator", - "weight": 25 + "weight": 30 }, { "block": "tfc:ore/small_native_gold", - "weight": 10 + "weight": 5 }, { "block": "firmalife:ore/small_chromite", diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_mica.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_mica.json index 43d612cd9..cce651a4e 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_mica.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_mica.json @@ -3,10 +3,10 @@ "type": "tfc:cluster_vein", "config": { "size": 36, - "rarity": 190, + "rarity": 230, "density": 0.25, - "min_y": 0, - "max_y": 210, + "min_y": -32, + "max_y": 140, "random_name": "normal_mica", "blocks": [ { 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 e67409d5c..fb599e7e6 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 @@ -3,7 +3,7 @@ "type": "tfc:cluster_vein", "config": { "size": 50, - "rarity": 200, + "rarity": 250, "density": 0.25, "min_y": 20, "max_y": 217, @@ -20,11 +20,7 @@ }, { "block": "gtceu:rhyolite_zeolite_ore", - "weight": 15 - }, - { - "block": "gtceu:rhyolite_cassiterite_ore", - "weight": 5 + "weight": 20 }, { "block": "gtceu:rhyolite_realgar_ore", @@ -44,11 +40,7 @@ }, { "block": "gtceu:basalt_zeolite_ore", - "weight": 15 - }, - { - "block": "gtceu:basalt_cassiterite_ore", - "weight": 5 + "weight": 20 }, { "block": "gtceu:basalt_realgar_ore", @@ -67,11 +59,7 @@ }, { "block": "gtceu:andesite_zeolite_ore", - "weight": 15 - }, - { - "block": "gtceu:andesite_cassiterite_ore", - "weight": 5 + "weight": 20 }, { "block": "gtceu:andesite_realgar_ore", @@ -90,11 +78,7 @@ }, { "block": "gtceu:dacite_zeolite_ore", - "weight": 15 - }, - { - "block": "gtceu:dacite_cassiterite_ore", - "weight": 5 + "weight": 20 }, { "block": "gtceu:dacite_realgar_ore", @@ -115,11 +99,7 @@ }, { "block": "gtceu:zeolite_indicator", - "weight": 15 - }, - { - "block": "tfc:ore/small_cassiterite", - "weight": 5 + "weight": 20 }, { "block": "gtceu:realgar_bud_indicator", From 7a16dab43ceb04fe0b0ae9f921dd88c9fd279640 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 16 Feb 2026 12:50:45 +0000 Subject: [PATCH 463/474] change shadow steel casing back to black steel --- kubejs/server_scripts/create/recipes.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index d53d90ceb..6bbf3c85f 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -691,11 +691,11 @@ const registerCreateRecipes = (event) => { .addMaterialInfo(true) // Shadow steel casing - event.recipes.createItemApplication(['create:shadow_steel_casing'], ['#forge:stripped_logs', '#forge:plates/lead']) + event.recipes.createItemApplication(['create:shadow_steel_casing'], ['#forge:stripped_logs', '#forge:plates/black_steel']) .id('tfg:create/item_application/shadow_steel_casing') event.recipes.gtceu.assembler('tfg:create/shadow_steel_casing') - .itemInputs('#forge:stripped_logs', '#forge:plates/lead') + .itemInputs('#forge:stripped_logs', '#forge:plates/black_steel') .circuit(11) .itemOutputs('create:shadow_steel_casing') .duration(50) @@ -1013,7 +1013,7 @@ const registerCreateRecipes = (event) => { ' CE' ], { A: '#forge:cogwheels', - B: 'gtceu:ulv_machine_casing', + B: 'create:shadow_steel_casing', C: 'create:brass_hand', D: '#forge:tools/wrenches', E: '#forge:tools/screwdrivers', @@ -1021,7 +1021,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/deployer') event.recipes.gtceu.assembler('create:deployer') - .itemInputs('#forge:cogwheels', 'gtceu:ulv_machine_casing', 'create:brass_hand', 'create:electron_tube') + .itemInputs('#forge:cogwheels', 'create:shadow_steel_casing', 'create:brass_hand', 'create:electron_tube') .itemOutputs('create:deployer') .duration(50) .EUt(GTValues.VA[GTValues.ULV]) From c763ba544c833205238fa8104aa14639f77031d6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 16 Feb 2026 13:03:03 +0000 Subject: [PATCH 464/474] langs --- kubejs/assets/create/lang/de_de.json | 2 +- kubejs/assets/create/lang/en_us.json | 2 +- kubejs/assets/create/lang/es_es.json | 2 +- kubejs/assets/create/lang/uk_ua.json | 2 +- kubejs/assets/create/lang/zh_cn.json | 2 +- kubejs/assets/create/lang/zh_tw.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/kubejs/assets/create/lang/de_de.json b/kubejs/assets/create/lang/de_de.json index 5028177ba..cd5f63caa 100644 --- a/kubejs/assets/create/lang/de_de.json +++ b/kubejs/assets/create/lang/de_de.json @@ -1,7 +1,7 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.create.netherite_backtank": "Blaustahl-Rückentank", - "block.create.shadow_casing": "Schwarzstahlgehäuse", + "block.create.shadow_steel_casing": "Schwarzstahlgehäuse", "block.create.refined_radiance_casing": "Leuchtendes Gehäuse", "block.create.industrial_iron_block": "Industriestahlblock", "block.create.weathered_iron_block": "Verwitterter Stahlblock", diff --git a/kubejs/assets/create/lang/en_us.json b/kubejs/assets/create/lang/en_us.json index 7df80e91e..338289696 100644 --- a/kubejs/assets/create/lang/en_us.json +++ b/kubejs/assets/create/lang/en_us.json @@ -1,7 +1,7 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.create.netherite_backtank": "Blue Steel Backtank", - "block.create.shadow_casing": "Black Steel Casing", + "block.create.shadow_steel_casing": "Black Steel Casing", "block.create.refined_radiance_casing": "Glowing Casing", "block.create.industrial_iron_block": "Industrial Steel Block", "block.create.weathered_iron_block": "Weathered Steel Block", diff --git a/kubejs/assets/create/lang/es_es.json b/kubejs/assets/create/lang/es_es.json index 51b1c77dd..27470f416 100644 --- a/kubejs/assets/create/lang/es_es.json +++ b/kubejs/assets/create/lang/es_es.json @@ -1,7 +1,7 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.create.netherite_backtank": "Tanque trasero de acero azul", - "block.create.shadow_casing": "Carcasa de acero negro", + "block.create.shadow_steel_casing": "Carcasa de acero negro", "block.create.refined_radiance_casing": "Carcasa brillante", "block.create.industrial_iron_block": "Bloque de acero industrial", "block.create.weathered_iron_block": "Bloque de acero degradado", diff --git a/kubejs/assets/create/lang/uk_ua.json b/kubejs/assets/create/lang/uk_ua.json index 20667f213..e260bd29e 100644 --- a/kubejs/assets/create/lang/uk_ua.json +++ b/kubejs/assets/create/lang/uk_ua.json @@ -1,7 +1,7 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.create.netherite_backtank": "Рюкзак із синьої сталі", - "block.create.shadow_casing": "Обшивка з чорної сталі", + "block.create.shadow_steel_casing": "Обшивка з чорної сталі", "block.create.refined_radiance_casing": "Світна обшивка", "block.create.industrial_iron_block": "Промисловий Сталевий Блок", "block.create.weathered_iron_block": "Блок Вивітреної Сталі", diff --git a/kubejs/assets/create/lang/zh_cn.json b/kubejs/assets/create/lang/zh_cn.json index 20c4259ec..077be8359 100644 --- a/kubejs/assets/create/lang/zh_cn.json +++ b/kubejs/assets/create/lang/zh_cn.json @@ -1,7 +1,7 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.create.netherite_backtank": "蓝钢背罐", - "block.create.shadow_casing": "黑钢机壳", + "block.create.shadow_steel_casing": "黑钢机壳", "block.create.refined_radiance_casing": "荧光机壳", "block.create.industrial_iron_block": "工业钢块", "block.create.weathered_iron_block": "风化钢块", diff --git a/kubejs/assets/create/lang/zh_tw.json b/kubejs/assets/create/lang/zh_tw.json index 9f7f2d25c..0cc1dca59 100644 --- a/kubejs/assets/create/lang/zh_tw.json +++ b/kubejs/assets/create/lang/zh_tw.json @@ -1,7 +1,7 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.create.netherite_backtank": "藍鋼背罐", - "block.create.shadow_casing": "黑鋼機殼", + "block.create.shadow_steel_casing": "黑鋼機殼", "block.create.refined_radiance_casing": "精煉光輝機殼", "block.create.industrial_iron_block": "工業鋼方塊", "block.create.weathered_iron_block": "風化鋼方塊", From 65d87f1c1cf90520e5dc7427af56eff30f2000d3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 16 Feb 2026 13:46:27 +0000 Subject: [PATCH 465/474] move some enum strings over to actual enum references to better support turkish --- .../server_scripts/tfg/food/data.planters.js | 20 ++--- kubejs/startup_scripts/gtceu/recipe_types.js | 75 ++++++++++--------- .../tfg/mars/materials.mars.js | 5 +- kubejs/startup_scripts/tfg/materials.js | 6 +- .../tfg/moon/materials.moon.js | 3 +- .../tfg/space_general/materials.rockets.js | 39 +++++----- kubejs/startup_scripts/tfg/worldgen/fauna.js | 28 +++---- 7 files changed, 93 insertions(+), 83 deletions(-) diff --git a/kubejs/server_scripts/tfg/food/data.planters.js b/kubejs/server_scripts/tfg/food/data.planters.js index e694e6ca7..caac37e0b 100644 --- a/kubejs/server_scripts/tfg/food/data.planters.js +++ b/kubejs/server_scripts/tfg/food/data.planters.js @@ -3,6 +3,8 @@ /** @param {Internal.TFCDataEventJS} event */ function registerTFGFLPlanters(event) { + const $FarmlandBlockEntity = Java.loadClass("net.dries007.tfc.common.blockentities.FarmlandBlockEntity") + event.firmalifePlantable( "tfg:sunflower_seeds", "large", @@ -11,7 +13,7 @@ function registerTFGFLPlanters(event) { 0.15, "tfg:sunflower_seeds", "tfg:sunflower_product", - "nitrogen", + $FarmlandBlockEntity.NutrientType.NITROGEN, [ "tfg:block/crop/sunflower_greenhouse_0", "tfg:block/crop/sunflower_greenhouse_1", @@ -29,7 +31,7 @@ function registerTFGFLPlanters(event) { 0.15, "tfg:rapeseed_seeds", "tfg:rapeseed_product", - "phosphorous", + $FarmlandBlockEntity.NutrientType.PHOSPHOROUS, [ "tfg:block/crop/rapeseed_greenhouse_0", "tfg:block/crop/rapeseed_greenhouse_1", @@ -47,7 +49,7 @@ function registerTFGFLPlanters(event) { 0.2, "tfg:flax_seeds", "tfg:flax_product", - "nitrogen", + $FarmlandBlockEntity.NutrientType.NITROGEN, [ "tfg:block/crop/flax_age_0", "tfg:block/crop/flax_age_1", @@ -65,7 +67,7 @@ function registerTFGFLPlanters(event) { 0.15, "betterend:amber_root_seeds", "betterend:amber_root_product", - "phosphorous", + $FarmlandBlockEntity.NutrientType.PHOSPHOROUS, [ "betterend:block/amber_root_0", "betterend:block/amber_root_1", @@ -83,7 +85,7 @@ function registerTFGFLPlanters(event) { 0.15, "betterend:blossom_berry_seeds", "betterend:blossom_berry_product", - "potassium", + $FarmlandBlockEntity.NutrientType.POTASSIUM, [ "betterend:block/blossom_berry_seed_0", "betterend:block/blossom_berry_seed_1", @@ -101,7 +103,7 @@ function registerTFGFLPlanters(event) { 0.15, "betterend:bolux_mushroom_seeds", "betterend:bolux_mushroom_product", - "phosphorous", + $FarmlandBlockEntity.NutrientType.PHOSPHOROUS, [ "betterend:block/bolux_mushroom_greenhouse_0", "betterend:block/bolux_mushroom_greenhouse_1", @@ -119,7 +121,7 @@ function registerTFGFLPlanters(event) { 0.15, "betterend:chorus_mushroom_seeds", "betterend:chorus_mushroom_product", - "phosphorous", + $FarmlandBlockEntity.NutrientType.PHOSPHOROUS, [ "betterend:block/chorus_mushroom_0", "betterend:block/chorus_mushroom_1", @@ -137,7 +139,7 @@ function registerTFGFLPlanters(event) { 0.15, "betterend:cave_pumpkin_plant_seeds", "betterend:cave_pumpkin", - "phosphorous", + $FarmlandBlockEntity.NutrientType.PHOSPHOROUS, [ "betterend:block/cave_pumpkin_greenhouse_0", "betterend:block/cave_pumpkin_greenhouse_1", @@ -155,7 +157,7 @@ function registerTFGFLPlanters(event) { 0.15, "betterend:shadow_berry_seeds", "betterend:shadow_berry_product", - "potassium", + $FarmlandBlockEntity.NutrientType.POTASSIUM, [ "betterend:block/shadow_berry_greenhouse_0", "betterend:block/shadow_berry_greenhouse_1", diff --git a/kubejs/startup_scripts/gtceu/recipe_types.js b/kubejs/startup_scripts/gtceu/recipe_types.js index 849baf9e7..4186cccdc 100644 --- a/kubejs/startup_scripts/gtceu/recipe_types.js +++ b/kubejs/startup_scripts/gtceu/recipe_types.js @@ -1,73 +1,74 @@ const registerGTCEuRecipeTypes = (event) => { + const $EnergyIO = Java.loadClass("com.gregtechceu.gtceu.api.capability.recipe.IO") event.create('large_solar_panel') .category('generator') - .setEUIO('out') + .setEUIO($EnergyIO.OUT) .setMaxIOSize(2, 0, 2, 1) .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.COOLING) event.create('large_solar_panel_tier2') .category('generator') - .setEUIO('out') + .setEUIO($EnergyIO.OUT) .setMaxIOSize(2, 0, 2, 1) .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.COOLING) event.create('large_solar_panel_tier3') .category('generator') - .setEUIO('out') + .setEUIO($EnergyIO.OUT) .setMaxIOSize(2, 0, 2, 1) .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.COOLING) -/* - event.create('nuclear_fuel_factory') - .category('nuclear_fuel_factory') - .setEUIO('in') - .setMaxIOSize(6, 1, 1, 1) - .setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1) - .setProgressBar(GuiTextures.PROGRESS_BAR_LATHE, FillDirection.LEFT_TO_RIGHT) - .setSound(GTSoundEntries.CUT) -*/ + /* + event.create('nuclear_fuel_factory') + .category('nuclear_fuel_factory') + .setEUIO($EnergyIO.IN) + .setMaxIOSize(6, 1, 1, 1) + .setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1) + .setProgressBar(GuiTextures.PROGRESS_BAR_LATHE, FillDirection.LEFT_TO_RIGHT) + .setSound(GTSoundEntries.CUT) + */ event.create('heat_exchanger') .category('heat_exchanger') - .setEUIO('in') + .setEUIO($EnergyIO.IN) .setMaxIOSize(1, 0, 3, 3) .setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1) .setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.TURBINE) -/* Just keeping it in case we got mod issues - event.create('fission_reactor') - .category('fission_reactor') - .setEUIO('in') - .setMaxIOSize(1, 0, 1, 2) - .setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1) - .setProgressBar(GuiTextures.PROGRESS_BAR_FUSION, FillDirection.LEFT_TO_RIGHT) - .setSound(GTSoundEntries.ARC) -*/ + /* Just keeping it in case we got mod issues + event.create('fission_reactor') + .category('fission_reactor') + .setEUIO($EnergyIO.IN) + .setMaxIOSize(1, 0, 1, 2) + .setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1) + .setProgressBar(GuiTextures.PROGRESS_BAR_FUSION, FillDirection.LEFT_TO_RIGHT) + .setSound(GTSoundEntries.ARC) + */ event.create('ostrum_harvester') - .category('ostrum_harvester') - .setEUIO('in') - .setMaxIOSize(0, 1, 1, 0) + .category('ostrum_harvester') + .setEUIO($EnergyIO.IN) + .setMaxIOSize(0, 1, 1, 0) .setSlotOverlay(false, false, GuiTextures.EXTRACTOR_OVERLAY) - .setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT) - .setSound(GTSoundEntries.TURBINE) + .setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT) + .setSound(GTSoundEntries.TURBINE) event.create('moon_dust_harvester') - .category('moon_dust_harvester') - .setEUIO('in') - .setMaxIOSize(1, 1, 0, 0) + .category('moon_dust_harvester') + .setEUIO($EnergyIO.IN) + .setMaxIOSize(1, 1, 0, 0) .setSlotOverlay(false, false, GuiTextures.DUST_OVERLAY) - .setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT) - .setSound(GTSoundEntries.TURBINE) + .setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT) + .setSound(GTSoundEntries.TURBINE) event.create('coal_liquefaction_tower') - .category('coal_liquefaction_tower') - .setEUIO('in') - .setMaxIOSize(2, 0, 3, 3) + .category('coal_liquefaction_tower') + .setEUIO($EnergyIO.IN) + .setMaxIOSize(2, 0, 3, 3) .setSlotOverlay(false, false, GuiTextures.HEATING_OVERLAY_1) - .setProgressBar(GuiTextures.PROGRESS_BAR_ARC_FURNACE, FillDirection.LEFT_TO_RIGHT) - .setSound(GTSoundEntries.COMBUSTION) + .setProgressBar(GuiTextures.PROGRESS_BAR_ARC_FURNACE, FillDirection.LEFT_TO_RIGHT) + .setSound(GTSoundEntries.COMBUSTION) } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/mars/materials.mars.js b/kubejs/startup_scripts/tfg/mars/materials.mars.js index fb53dba15..dc5a98a6b 100644 --- a/kubejs/startup_scripts/tfg/mars/materials.mars.js +++ b/kubejs/startup_scripts/tfg/mars/materials.mars.js @@ -1,6 +1,7 @@ "use strict"; function registerTFGMarsMaterials(event) { + const $BlastProperty = Java.loadClass("com.gregtechceu.gtceu.api.data.chemical.material.properties.BlastProperty") event.create('liquid_carbon_dioxide') .liquid(100) //Not realistic but I want it to be cryogenic @@ -89,7 +90,7 @@ function registerTFGMarsMaterials(event) { .iconSet(GTMaterialIconSet.getByName('cereal_box')) .ingot() .liquid() - .blastTemp(3700, 'mid', GTValues.VA[GTValues.EV]) + .blastTemp(3700, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.EV]) .flags( GTMaterialFlags.DISABLE_DECOMPOSITION, GTMaterialFlags.FORCE_GENERATE_BLOCK, @@ -103,7 +104,7 @@ function registerTFGMarsMaterials(event) { .ingot() .liquid() .components('2x ostrum', 'iodine') - .blastTemp(3700, 'mid', GTValues.VA[GTValues.IV], (20*120)) + .blastTemp(3700, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.IV], (20*120)) .iconSet(GTMaterialIconSet.getByName('cereal_box')) .flags(GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_FOIL) .color(0xc696f2) diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index 158fb7185..44285ba28 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -3,6 +3,8 @@ const registerTFGMaterials = (event) => { + const $BlastProperty = Java.loadClass("com.gregtechceu.gtceu.api.data.chemical.material.properties.BlastProperty") + //#region placeholder materials event.create('unknown') .color('0xFFFFFF') @@ -149,7 +151,7 @@ const registerTFGMaterials = (event) => { .iconSet(GTMaterialIconSet.getByName('tfc_cassiterite')) .ingot() .liquid() - .blastTemp(3700, 'mid', GTValues.VA[GTValues.IV], (20*120)) + .blastTemp(3700, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.IV], (20*120)) .rotorStats(250, 90, 2 ,620) .flags( GTMaterialFlags.DISABLE_DECOMPOSITION, @@ -237,7 +239,7 @@ const registerTFGMaterials = (event) => { .iconSet('dull') .color(0x42705D) .components('4x boron', '1x carbon') - .blastTemp(3041, "mid", GTValues.VA[GTValues.HV], 1500) + .blastTemp(3041, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.HV], 1500) .flags(GTMaterialFlags.GENERATE_PLATE) // #endregion diff --git a/kubejs/startup_scripts/tfg/moon/materials.moon.js b/kubejs/startup_scripts/tfg/moon/materials.moon.js index 24722152d..366be5cc7 100644 --- a/kubejs/startup_scripts/tfg/moon/materials.moon.js +++ b/kubejs/startup_scripts/tfg/moon/materials.moon.js @@ -1,6 +1,7 @@ "use strict"; function registerTFGMoonMaterials(event) { + const $BlastProperty = Java.loadClass("com.gregtechceu.gtceu.api.data.chemical.material.properties.BlastProperty") // Solar Panel Chemicals @@ -85,7 +86,7 @@ function registerTFGMoonMaterials(event) { .addOreByproducts('olivine', 'rutile', 'rutile') .ingot() .liquid() - .blastTemp(2800, 'mid', GTValues.VA[GTValues.HV]) + .blastTemp(2800, $BlastProperty.GasTier.MID, GTValues.VA[GTValues.HV]) .flags( GTMaterialFlags.FORCE_GENERATE_BLOCK, GTMaterialFlags.GENERATE_PLATE, diff --git a/kubejs/startup_scripts/tfg/space_general/materials.rockets.js b/kubejs/startup_scripts/tfg/space_general/materials.rockets.js index dbbccfcd6..0b1fb255e 100644 --- a/kubejs/startup_scripts/tfg/space_general/materials.rockets.js +++ b/kubejs/startup_scripts/tfg/space_general/materials.rockets.js @@ -1,6 +1,7 @@ "use strict"; function registerTFGRocketMaterials(event) { + const $BlastProperty = Java.loadClass("com.gregtechceu.gtceu.api.data.chemical.material.properties.BlastProperty") // Space Rocket Materials @@ -10,7 +11,7 @@ function registerTFGRocketMaterials(event) { .color(0x333e47) .iconSet('metallic') .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR) - .blastTemp(1760, 'low', 256, 900) + .blastTemp(1760, $BlastProperty.GasTier.MID, 256, 900) event.create('rocket_alloy_t2') .ingot() @@ -18,20 +19,20 @@ function registerTFGRocketMaterials(event) { .color(0x3c253d) .iconSet('metallic') .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.DISABLE_ALLOY_BLAST) - .blastTemp(3200, 'mid', 1024, 1100) + .blastTemp(3200, $BlastProperty.GasTier.MID, 1024, 1100) .liquid() - -/* event.create('rocket_alloy_t3') - .ingot() - .components('8x titanium', '9x tungsten_steel', '2x tantalum', '2x radon') - .color(0x6c678b) - //.secondaryColor(0xa59fc6) - .liquid() - .removeHazard() - .iconSet('metallic') - .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR) - .blastTemp(4200, 'high', 4096, 1300) - */ + + /* event.create('rocket_alloy_t3') + .ingot() + .components('8x titanium', '9x tungsten_steel', '2x tantalum', '2x radon') + .color(0x6c678b) + //.secondaryColor(0xa59fc6) + .liquid() + .removeHazard() + .iconSet('metallic') + .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR) + .blastTemp(4200, $BlastProperty.GasTier.MID, 4096, 1300) + */ // Insulation event.create('vitrified_asbestos') @@ -89,7 +90,7 @@ function registerTFGRocketMaterials(event) { .color(0xCCE3E3) .secondaryColor(0xCCE3E3) //#endregion - + //#region polyurethane event.create('tfg:aniline') .liquid() @@ -103,20 +104,20 @@ function registerTFGRocketMaterials(event) { event.create('tfg:methyl_phenylcarbamate') .liquid() .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) - .components('8x carbon','9x hydrogen','1x nitrogen', '2x oxygen') + .components('8x carbon', '9x hydrogen', '1x nitrogen', '2x oxygen') .color(0xB4EDB4) event.create('tfg:methylene_diphenyl_dicarbamate') .liquid() .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) - .components('17x carbon','18x hydrogen','2x nitrogen', '4x oxygen') + .components('17x carbon', '18x hydrogen', '2x nitrogen', '4x oxygen') .color(0x69C2C1) event.create('tfg:methylene_diphenyl_diisocyanate') .dust() .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) - .components('13x carbon','10x hydrogen','2x nitrogen', '2x oxygen') + .components('13x carbon', '10x hydrogen', '2x nitrogen', '2x oxygen') .color(0xFFFFBA) //#endregion - + //#region aerogel event.create('tfg:tmos') .liquid() diff --git a/kubejs/startup_scripts/tfg/worldgen/fauna.js b/kubejs/startup_scripts/tfg/worldgen/fauna.js index 98a64bcf4..3864ef44c 100644 --- a/kubejs/startup_scripts/tfg/worldgen/fauna.js +++ b/kubejs/startup_scripts/tfg/worldgen/fauna.js @@ -2,18 +2,20 @@ "use strict"; TFCEvents.registerFaunas(event => { - event.replace("tfg:glacian_ram", "on_ground", "ocean_floor"); - event.replace("tfg:sniffer", "on_ground", "ocean_floor"); - event.replace("tfg:wraptor", "on_ground", "ocean_floor"); - event.replace("species:goober", "on_ground", "ocean_floor"); - event.replace("species:springling", "on_ground", "ocean_floor"); - event.replace("wan_ancient_beasts:walker", "on_ground", "ocean_floor"); - event.replace("wan_ancient_beasts:eater", "on_ground", "ocean_floor"); - event.replace("wan_ancient_beasts:crusher", "on_ground", "ocean_floor"); - event.replace("wan_ancient_beasts:snatcher", "on_ground", "ocean_floor"); - event.replace("wan_ancient_beasts:charger", "on_ground", "ocean_floor"); - event.replace("wan_ancient_beasts:raider", "on_ground", "ocean_floor"); + const $SpawnPlacements = Java.loadClass("net.minecraft.world.entity.SpawnPlacements") - event.replace("wan_ancient_beasts:soarer", "no_restrictions", "world_surface"); - event.replace("wan_ancient_beasts:glider", "no_restrictions", "world_surface"); + event.replace("tfg:glacian_ram", $SpawnPlacements.Type.ON_GROUND, "ocean_floor"); + event.replace("tfg:sniffer", $SpawnPlacements.Type.ON_GROUND, "ocean_floor"); + event.replace("tfg:wraptor", $SpawnPlacements.Type.ON_GROUND, "ocean_floor"); + event.replace("species:goober", $SpawnPlacements.Type.ON_GROUND, "ocean_floor"); + event.replace("species:springling", $SpawnPlacements.Type.ON_GROUND, "ocean_floor"); + event.replace("wan_ancient_beasts:walker", $SpawnPlacements.Type.ON_GROUND, "ocean_floor"); + event.replace("wan_ancient_beasts:eater", $SpawnPlacements.Type.ON_GROUND, "ocean_floor"); + event.replace("wan_ancient_beasts:crusher", $SpawnPlacements.Type.ON_GROUND, "ocean_floor"); + event.replace("wan_ancient_beasts:snatcher", $SpawnPlacements.Type.ON_GROUND, "ocean_floor"); + event.replace("wan_ancient_beasts:charger", $SpawnPlacements.Type.ON_GROUND, "ocean_floor"); + event.replace("wan_ancient_beasts:raider", $SpawnPlacements.Type.ON_GROUND, "ocean_floor"); + + event.replace("wan_ancient_beasts:soarer", $SpawnPlacements.Type.NO_RESTRICTIONS, "world_surface"); + event.replace("wan_ancient_beasts:glider", $SpawnPlacements.Type.NO_RESTRICTIONS, "world_surface"); }) \ No newline at end of file From 3ad50719a2c407ab9ca21e7acdcc7fc49456c7e6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 16 Feb 2026 13:48:59 +0000 Subject: [PATCH 466/474] fix deployer recycling --- CHANGELOG.md | 4 +++- kubejs/server_scripts/create/recipes.js | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9cb1c86b7..e718866a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - Blaze burners no longer work outside of Earth @Mqrius @thederpysockdude123 - Drinkable alcohols can now be drank even when your hydration is full @Ujhik - The Strength effect is now exclusive to wines, but all wines also now have an additional effect! @Pyritie +- Made deployers cheaper @Pyritie ### Bug fixes - Fixed the blur effect after being downed not going away - Fixed arrow duplication (#2089) @Ujhik @@ -19,7 +20,8 @@ - Fixed not being able to make aluminium double plates with LV machines (#3030) @Pyritie - Fixed not being able to recycle unfired firmalife oven parts @Pyritie - Fixed not being able to fire scraping knife molds (#3038) @Pyritie -- Fixed some tree types not contributing to ambient bird noises +- Fixed some tree types not contributing to ambient bird noises @Pyritie +- Fixed startup issues when the system language is set to Turkish @Pyritie - Fixed a bunch of quests @Pyritie @Eilandor ### Translation updates - Russian @Nixieeunrare diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 6bbf3c85f..7725a7f3e 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -1026,7 +1026,7 @@ const registerCreateRecipes = (event) => { .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - TFGHelpers.registerMaterialInfo('create:deployer', [GTMaterials.Brass, 12/9, GTMaterials.WroughtIron, 8]); + TFGHelpers.registerMaterialInfo('create:deployer', [GTMaterials.Brass, 12/9, GTMaterials.BlackSteel, 1, GTMaterials.Wood, 1]); // Соединятор вагонеток event.shapeless('create:minecart_coupling', [ From 4ccfd98ac7f10b002f0149460ef3c89e57eb18f3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 16 Feb 2026 13:50:29 +0000 Subject: [PATCH 467/474] greate moment --- kubejs/server_scripts/greate/recipes.removes.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index a55dbed2e..f4cc4974e 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -80,6 +80,9 @@ function removeGreateRecipes(event) { event.remove({ id: 'greate:mixing/brass_ingot' }) + event.remove({ id: 'greate:shaped/copper_diving_helmet' }) + event.remove({ id: 'greate:shaped/copper_backtank' }) + event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_phosphorus_boule' }) event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_phosphorus_boule_water' }) event.remove({ id: 'greate:cutting/integration/gtceu/cutter/cut_phosphorus_boule_distilled_water' }) From 3a0c1049365b5f592d746fb0ec827141c46ddc17 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 16 Feb 2026 14:16:24 +0000 Subject: [PATCH 468/474] swap spout recipe from rubber foils to plates --- kubejs/server_scripts/create/recipes.js | 5 +++-- kubejs/server_scripts/gregtech/recipes.removes.js | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 7725a7f3e..32997c063 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -313,16 +313,17 @@ const registerCreateRecipes = (event) => { // Жидкостный наполнитель event.shaped('create:spout', [ 'CBD', + ' A ', ' A ' ], { - A: '#forge:foils/rubber', + A: '#forge:plates/rubber', B: 'create:fluid_tank', C: '#forge:tools/wrenches', D: '#forge:tools/screwdrivers' }).id('tfg:create/shaped/spout') event.recipes.gtceu.assembler('create:spout') - .itemInputs('create:fluid_tank', '#forge:foils/rubber') + .itemInputs('create:fluid_tank', '2x #forge:plates/rubber') .itemOutputs('create:spout') .duration(50) .circuit(2) diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index c218a3c6e..2a9653250 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -768,6 +768,7 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:wiremill/string_from_polycaprolactam' }) event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_granite_red' }) + event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_echo_shard' }) event.remove({ id: 'gtceu:chemical_bath/black_steel_cool_down' }) event.remove({ id: 'gtceu:chemical_bath/black_steel_cool_down_distilled_water' }) From fb3d72d170f3bdceaf4836889eabbb07344e3fee Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 16 Feb 2026 15:20:31 +0000 Subject: [PATCH 469/474] pakku updates + rearrange so curseforge is always first --- pakku-lock.json | 4010 +++++++++++++++++++++++------------------------ 1 file changed, 2005 insertions(+), 2005 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 21e9e2c1b..4c1f8fa4f 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -302,31 +302,6 @@ "modrinth": "3ufwT9JF" }, "files": [ - { - "type": "modrinth", - "file_name": "ad_astra-forge-1.20.1-1.15.20.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/3ufwT9JF/versions/Qf7QFXk2/ad_astra-forge-1.20.1-1.15.20.jar", - "id": "Qf7QFXk2", - "parent_id": "3ufwT9JF", - "hashes": { - "sha512": "c7337add217258cea0cb7d9f9136b5a7c8a17600bc2cc9c722321af838690b6c285628dcaebfccedb3e1274683591ef7a45a3514094e5a3bcd8fe1c1f25626bf", - "sha1": "537ac3e358a97efd7b03648a9bfd7b11f1ae7ff7" - }, - "required_dependencies": [ - "G1hIVOrD", - "2u6LRnMa", - "M1953qlQ" - ], - "size": 7508861, - "date_published": "2025-03-04T01:59:42.652052Z" - }, { "type": "curseforge", "file_name": "ad_astra-forge-1.20.1-1.15.20.jar", @@ -351,6 +326,31 @@ ], "size": 7508861, "date_published": "2025-03-04T01:59:36.293Z" + }, + { + "type": "modrinth", + "file_name": "ad_astra-forge-1.20.1-1.15.20.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/3ufwT9JF/versions/Qf7QFXk2/ad_astra-forge-1.20.1-1.15.20.jar", + "id": "Qf7QFXk2", + "parent_id": "3ufwT9JF", + "hashes": { + "sha512": "c7337add217258cea0cb7d9f9136b5a7c8a17600bc2cc9c722321af838690b6c285628dcaebfccedb3e1274683591ef7a45a3514094e5a3bcd8fe1c1f25626bf", + "sha1": "537ac3e358a97efd7b03648a9bfd7b11f1ae7ff7" + }, + "required_dependencies": [ + "G1hIVOrD", + "2u6LRnMa", + "M1953qlQ" + ], + "size": 7508861, + "date_published": "2025-03-04T01:59:42.652052Z" } ] }, @@ -438,28 +438,6 @@ "modrinth": "L5xaBiBb" }, "files": [ - { - "type": "modrinth", - "file_name": "adaptive_performance_tweaks_core_1.20.1-11.5.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/L5xaBiBb/versions/W5qP6P9L/adaptive_performance_tweaks_core_1.20.1-11.5.0.jar", - "id": "W5qP6P9L", - "parent_id": "L5xaBiBb", - "hashes": { - "sha512": "331f03dd3c35404ec1f8e0dc99bd3b8ba0f019d4165462033e2924ca4e23ffa966161ddee239b43466f876163dbe194a69f3a404b24cf4045c14edff80b7bde8", - "sha1": "5bde863758963b34de37f7c20d58856106328990" - }, - "required_dependencies": [], - "size": 110646, - "date_published": "2025-08-28T21:50:31.543050Z" - }, { "type": "curseforge", "file_name": "adaptive_performance_tweaks_core_1.20.1-11.5.0.jar", @@ -481,6 +459,28 @@ "required_dependencies": [], "size": 110646, "date_published": "2025-08-28T21:51:06.840Z" + }, + { + "type": "modrinth", + "file_name": "adaptive_performance_tweaks_core_1.20.1-11.5.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/L5xaBiBb/versions/W5qP6P9L/adaptive_performance_tweaks_core_1.20.1-11.5.0.jar", + "id": "W5qP6P9L", + "parent_id": "L5xaBiBb", + "hashes": { + "sha512": "331f03dd3c35404ec1f8e0dc99bd3b8ba0f019d4165462033e2924ca4e23ffa966161ddee239b43466f876163dbe194a69f3a404b24cf4045c14edff80b7bde8", + "sha1": "5bde863758963b34de37f7c20d58856106328990" + }, + "required_dependencies": [], + "size": 110646, + "date_published": "2025-08-28T21:50:31.543050Z" } ] }, @@ -504,30 +504,6 @@ "modrinth": "Rd89yO7d" }, "files": [ - { - "type": "modrinth", - "file_name": "adaptive_performance_tweaks_gamerules_1.20.1-11.5.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/Rd89yO7d/versions/bVOTOwjF/adaptive_performance_tweaks_gamerules_1.20.1-11.5.0.jar", - "id": "bVOTOwjF", - "parent_id": "Rd89yO7d", - "hashes": { - "sha512": "2d5d72233bf64077765010651289d660bbbe2f841ba79c0c55390c2e5b6859c58a3efec7e57221690a9a33c2b932c8988c63e3c90975a06da40a11e27301129c", - "sha1": "676918dbc92e61bbccb7057ed1f60b653cef9788" - }, - "required_dependencies": [ - "L5xaBiBb" - ], - "size": 64939, - "date_published": "2025-08-28T21:50:36.242341Z" - }, { "type": "curseforge", "file_name": "adaptive_performance_tweaks_gamerules_1.20.1-11.5.0.jar", @@ -551,6 +527,30 @@ ], "size": 64939, "date_published": "2025-08-28T21:51:09.583Z" + }, + { + "type": "modrinth", + "file_name": "adaptive_performance_tweaks_gamerules_1.20.1-11.5.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/Rd89yO7d/versions/bVOTOwjF/adaptive_performance_tweaks_gamerules_1.20.1-11.5.0.jar", + "id": "bVOTOwjF", + "parent_id": "Rd89yO7d", + "hashes": { + "sha512": "2d5d72233bf64077765010651289d660bbbe2f841ba79c0c55390c2e5b6859c58a3efec7e57221690a9a33c2b932c8988c63e3c90975a06da40a11e27301129c", + "sha1": "676918dbc92e61bbccb7057ed1f60b653cef9788" + }, + "required_dependencies": [ + "L5xaBiBb" + ], + "size": 64939, + "date_published": "2025-08-28T21:50:36.242341Z" } ] }, @@ -574,30 +574,6 @@ "modrinth": "z3TjJLQ0" }, "files": [ - { - "type": "modrinth", - "file_name": "adaptive_performance_tweaks_items_1.20.1-11.5.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/z3TjJLQ0/versions/EkO6vEVt/adaptive_performance_tweaks_items_1.20.1-11.5.0.jar", - "id": "EkO6vEVt", - "parent_id": "z3TjJLQ0", - "hashes": { - "sha512": "633e8077a9b4f568b9747c9b7cf1ac8d37ce39cd4516b2debfff6491508a43236a0f8a3ba7e2a4a882d5f2158ac8c6ea6b669dcf036bb5de6f4bf32da8e4f7dc", - "sha1": "773f2a13db5f7900ff760a567678a4021fafc7bb" - }, - "required_dependencies": [ - "L5xaBiBb" - ], - "size": 72693, - "date_published": "2025-08-28T21:50:41.299543Z" - }, { "type": "curseforge", "file_name": "adaptive_performance_tweaks_items_1.20.1-11.5.0.jar", @@ -621,6 +597,30 @@ ], "size": 72694, "date_published": "2025-08-28T21:51:11.257Z" + }, + { + "type": "modrinth", + "file_name": "adaptive_performance_tweaks_items_1.20.1-11.5.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/z3TjJLQ0/versions/EkO6vEVt/adaptive_performance_tweaks_items_1.20.1-11.5.0.jar", + "id": "EkO6vEVt", + "parent_id": "z3TjJLQ0", + "hashes": { + "sha512": "633e8077a9b4f568b9747c9b7cf1ac8d37ce39cd4516b2debfff6491508a43236a0f8a3ba7e2a4a882d5f2158ac8c6ea6b669dcf036bb5de6f4bf32da8e4f7dc", + "sha1": "773f2a13db5f7900ff760a567678a4021fafc7bb" + }, + "required_dependencies": [ + "L5xaBiBb" + ], + "size": 72693, + "date_published": "2025-08-28T21:50:41.299543Z" } ] }, @@ -644,30 +644,6 @@ "modrinth": "jr5nzfKv" }, "files": [ - { - "type": "modrinth", - "file_name": "adaptive_performance_tweaks_player_1.20.1-11.5.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/jr5nzfKv/versions/xq3WmGui/adaptive_performance_tweaks_player_1.20.1-11.5.0.jar", - "id": "xq3WmGui", - "parent_id": "jr5nzfKv", - "hashes": { - "sha512": "cf06eab3cfac5d10fe927adf36b328309e07866aa57b598f27a71295d915ca8459614835b3bf0791327f1501f6cbae0d28b0d15fd25893a8a2ddcd24a154b9d4", - "sha1": "5bcad2d5e2366a91115dfaa39ce60a2dbb6fd9d7" - }, - "required_dependencies": [ - "L5xaBiBb" - ], - "size": 66273, - "date_published": "2025-08-28T21:50:46.161072Z" - }, { "type": "curseforge", "file_name": "adaptive_performance_tweaks_player_1.20.1-11.5.0.jar", @@ -691,6 +667,30 @@ ], "size": 66273, "date_published": "2025-08-28T21:51:14.027Z" + }, + { + "type": "modrinth", + "file_name": "adaptive_performance_tweaks_player_1.20.1-11.5.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/jr5nzfKv/versions/xq3WmGui/adaptive_performance_tweaks_player_1.20.1-11.5.0.jar", + "id": "xq3WmGui", + "parent_id": "jr5nzfKv", + "hashes": { + "sha512": "cf06eab3cfac5d10fe927adf36b328309e07866aa57b598f27a71295d915ca8459614835b3bf0791327f1501f6cbae0d28b0d15fd25893a8a2ddcd24a154b9d4", + "sha1": "5bcad2d5e2366a91115dfaa39ce60a2dbb6fd9d7" + }, + "required_dependencies": [ + "L5xaBiBb" + ], + "size": 66273, + "date_published": "2025-08-28T21:50:46.161072Z" } ] }, @@ -775,30 +775,6 @@ "modrinth": "SOw6jD6x" }, "files": [ - { - "type": "modrinth", - "file_name": "AdvancedPeripherals-1.20.1-0.7.46r.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/SOw6jD6x/versions/h2HTYvNe/AdvancedPeripherals-1.20.1-0.7.46r.jar", - "id": "h2HTYvNe", - "parent_id": "SOw6jD6x", - "hashes": { - "sha512": "20c30adc9e90d3ab0f0dd5c7cc8236d6f075b7254a646c2fe68613974550514a8c866fd853c346f61214c8d9a811578c70f80b7d2498f32f0673afcfe29f2e32", - "sha1": "4a498b6afd73f43ae3a9bb7591208fe026b36e2c" - }, - "required_dependencies": [ - "gu7yAYhd" - ], - "size": 889945, - "date_published": "2025-10-08T16:02:50.633119Z" - }, { "type": "curseforge", "file_name": "AdvancedPeripherals-1.20.1-0.7.46r.jar", @@ -822,6 +798,30 @@ ], "size": 889946, "date_published": "2025-10-08T16:03:20.547Z" + }, + { + "type": "modrinth", + "file_name": "AdvancedPeripherals-1.20.1-0.7.46r.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/SOw6jD6x/versions/h2HTYvNe/AdvancedPeripherals-1.20.1-0.7.46r.jar", + "id": "h2HTYvNe", + "parent_id": "SOw6jD6x", + "hashes": { + "sha512": "20c30adc9e90d3ab0f0dd5c7cc8236d6f075b7254a646c2fe68613974550514a8c866fd853c346f61214c8d9a811578c70f80b7d2498f32f0673afcfe29f2e32", + "sha1": "4a498b6afd73f43ae3a9bb7591208fe026b36e2c" + }, + "required_dependencies": [ + "gu7yAYhd" + ], + "size": 889945, + "date_published": "2025-10-08T16:02:50.633119Z" } ] }, @@ -989,30 +989,6 @@ "modrinth": "fM515JnW" }, "files": [ - { - "type": "modrinth", - "file_name": "AmbientSounds_FORGE_v6.3.4_mc1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/fM515JnW/versions/viZ543s0/AmbientSounds_FORGE_v6.3.4_mc1.20.1.jar", - "id": "viZ543s0", - "parent_id": "fM515JnW", - "hashes": { - "sha512": "ae49643430fd3d8b2efd295db912c79eb557b470c99cfa0d3cb38fa27cf5fa42b7db20bd85c877469db3bae000c11329e94adf44da60438c36c95a296e1bc49b", - "sha1": "e84e7053c4c3a73c7f608c9da516bb5d393aab60" - }, - "required_dependencies": [ - "OsZiaDHq" - ], - "size": 53428834, - "date_published": "2026-01-30T11:52:35.658838Z" - }, { "type": "curseforge", "file_name": "AmbientSounds_FORGE_v6.3.4_mc1.20.1.jar", @@ -1036,6 +1012,30 @@ ], "size": 53428834, "date_published": "2026-01-30T11:52:13.223Z" + }, + { + "type": "modrinth", + "file_name": "AmbientSounds_FORGE_v6.3.4_mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/fM515JnW/versions/viZ543s0/AmbientSounds_FORGE_v6.3.4_mc1.20.1.jar", + "id": "viZ543s0", + "parent_id": "fM515JnW", + "hashes": { + "sha512": "ae49643430fd3d8b2efd295db912c79eb557b470c99cfa0d3cb38fa27cf5fa42b7db20bd85c877469db3bae000c11329e94adf44da60438c36c95a296e1bc49b", + "sha1": "e84e7053c4c3a73c7f608c9da516bb5d393aab60" + }, + "required_dependencies": [ + "OsZiaDHq" + ], + "size": 53428834, + "date_published": "2026-01-30T11:52:35.658838Z" } ] }, @@ -1062,32 +1062,6 @@ "modrinth": "pNabrMMw" }, "files": [ - { - "type": "modrinth", - "file_name": "ae2wtlib-15.3.3-forge.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/pNabrMMw/versions/z8QXeyI0/ae2wtlib-15.3.3-forge.jar", - "id": "z8QXeyI0", - "parent_id": "pNabrMMw", - "hashes": { - "sha512": "f036f278e6d1360147b04f2090829154e75e456f3b2c0af7571b537bf0fd13e97f29211f7a044f9437a171a1c525195737860895118eab70b2b4af54485367d4", - "sha1": "1a546af04844677542b6914191783c7de15364fc" - }, - "required_dependencies": [ - "9s6osm5g", - "XxWD5pD3", - "lhGA9TYQ", - "vvuO3ImH" - ], - "size": 229518, - "date_published": "2025-11-23T00:02:50.212750Z" - }, { "type": "curseforge", "file_name": "ae2wtlib-15.3.3-forge.jar", @@ -1113,6 +1087,32 @@ ], "size": 229518, "date_published": "2025-11-23T00:02:48.137Z" + }, + { + "type": "modrinth", + "file_name": "ae2wtlib-15.3.3-forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/pNabrMMw/versions/z8QXeyI0/ae2wtlib-15.3.3-forge.jar", + "id": "z8QXeyI0", + "parent_id": "pNabrMMw", + "hashes": { + "sha512": "f036f278e6d1360147b04f2090829154e75e456f3b2c0af7571b537bf0fd13e97f29211f7a044f9437a171a1c525195737860895118eab70b2b4af54485367d4", + "sha1": "1a546af04844677542b6914191783c7de15364fc" + }, + "required_dependencies": [ + "9s6osm5g", + "XxWD5pD3", + "lhGA9TYQ", + "vvuO3ImH" + ], + "size": 229518, + "date_published": "2025-11-23T00:02:50.212750Z" } ] }, @@ -1136,29 +1136,6 @@ "modrinth": "9q4wtMjp" }, "files": [ - { - "type": "modrinth", - "file_name": "afc-1.0.20-1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/9q4wtMjp/versions/pn3lpkuA/afc-1.0.20-1.20.1.jar", - "id": "pn3lpkuA", - "parent_id": "9q4wtMjp", - "hashes": { - "sha512": "1cde189f8f66a6cb23a97280dd5ffcadb1626b57d4332dd9d138b87766975a5296ee61b36da19fde99c93a5cc69abc0612291b601937bef0c3516ab32e10a300", - "sha1": "0a06e8bc356c10941324657d74bf2dd2a082c892" - }, - "required_dependencies": [ - "JaCEZUhg" - ], - "size": 5138158, - "date_published": "2025-11-08T21:56:38.003314Z" - }, { "type": "curseforge", "file_name": "afc-1.0.20-1.20.1.jar", @@ -1182,6 +1159,29 @@ ], "size": 5138158, "date_published": "2025-11-08T21:55:56.050Z" + }, + { + "type": "modrinth", + "file_name": "afc-1.0.20-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/9q4wtMjp/versions/pn3lpkuA/afc-1.0.20-1.20.1.jar", + "id": "pn3lpkuA", + "parent_id": "9q4wtMjp", + "hashes": { + "sha512": "1cde189f8f66a6cb23a97280dd5ffcadb1626b57d4332dd9d138b87766975a5296ee61b36da19fde99c93a5cc69abc0612291b601937bef0c3516ab32e10a300", + "sha1": "0a06e8bc356c10941324657d74bf2dd2a082c892" + }, + "required_dependencies": [ + "JaCEZUhg" + ], + "size": 5138158, + "date_published": "2025-11-08T21:56:38.003314Z" } ] }, @@ -1465,27 +1465,6 @@ "modrinth": "OfKzpbRU" }, "files": [ - { - "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" - }, { "type": "curseforge", "file_name": "baguettelib-1.20.1-Forge-1.1.6.jar", @@ -1506,6 +1485,27 @@ "required_dependencies": [], "size": 31898, "date_published": "2026-01-29T08:20:07.737Z" + }, + { + "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" } ] }, @@ -1665,30 +1665,6 @@ "modrinth": "6VieRZiz" }, "files": [ - { - "type": "modrinth", - "file_name": "beneath-1.20.1-1.0.6.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/6VieRZiz/versions/vJG1yevl/beneath-1.20.1-1.0.6.jar", - "id": "vJG1yevl", - "parent_id": "6VieRZiz", - "hashes": { - "sha512": "a609b95ec50aa9be9260beef01bc5cd8915de1c65abc8c6b7ae65dbb70ee5c0c643d20bbafac2772e95977660843b6c4b920161b62845ae1d96e7801dedc97ca", - "sha1": "fc9208fa33d9f6868ab123dc0a73049fe3805201" - }, - "required_dependencies": [ - "JaCEZUhg" - ], - "size": 1519342, - "date_published": "2025-12-31T15:16:00.623753Z" - }, { "type": "curseforge", "file_name": "beneath-1.20.1-1.0.6.jar", @@ -1712,6 +1688,30 @@ ], "size": 1519342, "date_published": "2025-12-31T15:15:58.277Z" + }, + { + "type": "modrinth", + "file_name": "beneath-1.20.1-1.0.6.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/6VieRZiz/versions/vJG1yevl/beneath-1.20.1-1.0.6.jar", + "id": "vJG1yevl", + "parent_id": "6VieRZiz", + "hashes": { + "sha512": "a609b95ec50aa9be9260beef01bc5cd8915de1c65abc8c6b7ae65dbb70ee5c0c643d20bbafac2772e95977660843b6c4b920161b62845ae1d96e7801dedc97ca", + "sha1": "fc9208fa33d9f6868ab123dc0a73049fe3805201" + }, + "required_dependencies": [ + "JaCEZUhg" + ], + "size": 1519342, + "date_published": "2025-12-31T15:16:00.623753Z" } ] }, @@ -2328,27 +2328,6 @@ "modrinth": "YWGP4Y1d" }, "files": [ - { - "type": "modrinth", - "file_name": "chalk-1.20.1-1.6.7.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/YWGP4Y1d/versions/egCIyHFr/chalk-1.20.1-1.6.7.jar", - "id": "egCIyHFr", - "parent_id": "YWGP4Y1d", - "hashes": { - "sha512": "c983555fb6e26f1c70a8d24a5b80e369ec6884d413ff228ce4f0a03b46777f281e667df97badc3092cdbdfe7bae3c735a52c3dfd7d8312e065192e093d04343a", - "sha1": "42f34947910ca428497fac0bf2566a45959a51a5" - }, - "required_dependencies": [], - "size": 322379, - "date_published": "2025-12-23T19:45:52.435072Z" - }, { "type": "curseforge", "file_name": "chalk-1.20.1-1.6.7.jar", @@ -2369,6 +2348,27 @@ "required_dependencies": [], "size": 322379, "date_published": "2025-12-23T19:44:45.250Z" + }, + { + "type": "modrinth", + "file_name": "chalk-1.20.1-1.6.7.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/YWGP4Y1d/versions/egCIyHFr/chalk-1.20.1-1.6.7.jar", + "id": "egCIyHFr", + "parent_id": "YWGP4Y1d", + "hashes": { + "sha512": "c983555fb6e26f1c70a8d24a5b80e369ec6884d413ff228ce4f0a03b46777f281e667df97badc3092cdbdfe7bae3c735a52c3dfd7d8312e065192e093d04343a", + "sha1": "42f34947910ca428497fac0bf2566a45959a51a5" + }, + "required_dependencies": [], + "size": 322379, + "date_published": "2025-12-23T19:45:52.435072Z" } ] }, @@ -2389,28 +2389,6 @@ "modrinth": "Wb5oqrBJ" }, "files": [ - { - "type": "modrinth", - "file_name": "chat_heads-0.15.0-forge-1.20.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/Wb5oqrBJ/versions/Sx6LvCU5/chat_heads-0.15.0-forge-1.20.jar", - "id": "Sx6LvCU5", - "parent_id": "Wb5oqrBJ", - "hashes": { - "sha512": "28b65bbe29799f8f2ffbefd29292bc2f56c7695515e34ee1d9c854be0f07fb727c8541aab65cfde3ec7662ecfc7fea6fa28bc897c293dac477f36d3595a8f275", - "sha1": "52a21207af65259adfa840e26042c28058f6513f" - }, - "required_dependencies": [], - "size": 722765, - "date_published": "2026-02-07T22:28:55.850710Z" - }, { "type": "curseforge", "file_name": "chat_heads-0.15.0-forge-1.20.jar", @@ -2432,6 +2410,28 @@ "required_dependencies": [], "size": 722765, "date_published": "2026-02-07T22:29:26.510Z" + }, + { + "type": "modrinth", + "file_name": "chat_heads-0.15.0-forge-1.20.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/Wb5oqrBJ/versions/Sx6LvCU5/chat_heads-0.15.0-forge-1.20.jar", + "id": "Sx6LvCU5", + "parent_id": "Wb5oqrBJ", + "hashes": { + "sha512": "28b65bbe29799f8f2ffbefd29292bc2f56c7695515e34ee1d9c854be0f07fb727c8541aab65cfde3ec7662ecfc7fea6fa28bc897c293dac477f36d3595a8f275", + "sha1": "52a21207af65259adfa840e26042c28058f6513f" + }, + "required_dependencies": [], + "size": 722765, + "date_published": "2026-02-07T22:28:55.850710Z" } ] }, @@ -2758,28 +2758,6 @@ "modrinth": "2ygdYUcf" }, "files": [ - { - "type": "modrinth", - "file_name": "Waves-1.20.1-1.6a.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/2ygdYUcf/versions/W02aROo3/Waves-1.20.1-1.6a.jar", - "id": "W02aROo3", - "parent_id": "2ygdYUcf", - "hashes": { - "sha512": "2aabdc5e6269bcc8d4d3f45525d77a24e3a79aa48582a0de92754f672147002d1df1c410e4aed89d1244771c47671d1c46317625bde9df1c150b5f59937c47e9", - "sha1": "cd2242b9102cebbdb117591be1b7c0b3465e3122" - }, - "required_dependencies": [], - "size": 1337728, - "date_published": "2025-09-29T19:03:24.210194Z" - }, { "type": "curseforge", "file_name": "Waves-1.20.1-1.6.1.jar", @@ -2801,6 +2779,28 @@ "required_dependencies": [], "size": 1337928, "date_published": "2025-11-10T23:43:44.807Z" + }, + { + "type": "modrinth", + "file_name": "Waves-1.20.1-1.6a.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/2ygdYUcf/versions/W02aROo3/Waves-1.20.1-1.6a.jar", + "id": "W02aROo3", + "parent_id": "2ygdYUcf", + "hashes": { + "sha512": "2aabdc5e6269bcc8d4d3f45525d77a24e3a79aa48582a0de92754f672147002d1df1c410e4aed89d1244771c47671d1c46317625bde9df1c150b5f59937c47e9", + "sha1": "cd2242b9102cebbdb117591be1b7c0b3465e3122" + }, + "required_dependencies": [], + "size": 1337728, + "date_published": "2025-09-29T19:03:24.210194Z" } ] }, @@ -2824,29 +2824,6 @@ "modrinth": "BzHgFoGz" }, "files": [ - { - "type": "modrinth", - "file_name": "colorwheel-forge-1.2.1+mc1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/BzHgFoGz/versions/UGEPiYlo/colorwheel-forge-1.2.1+mc1.20.1.jar", - "id": "UGEPiYlo", - "parent_id": "BzHgFoGz", - "hashes": { - "sha512": "e123bf3abd64f95dcea4b8cc0681389e497bbd925d6d9729dedcea8daf439ce366ea6aeaae0735ae1bd2654a706a36b682d2aa8244e8ad39b70dc45ed78111be", - "sha1": "791578afecd261f0d03669db993b35d14badc1a9" - }, - "required_dependencies": [ - "GchcoXML" - ], - "size": 375232, - "date_published": "2026-01-19T20:10:00.768744Z" - }, { "type": "curseforge", "file_name": "colorwheel-forge-1.2.1+mc1.20.1.jar", @@ -2869,6 +2846,29 @@ ], "size": 375232, "date_published": "2026-01-19T20:09:58.163Z" + }, + { + "type": "modrinth", + "file_name": "colorwheel-forge-1.2.1+mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/BzHgFoGz/versions/UGEPiYlo/colorwheel-forge-1.2.1+mc1.20.1.jar", + "id": "UGEPiYlo", + "parent_id": "BzHgFoGz", + "hashes": { + "sha512": "e123bf3abd64f95dcea4b8cc0681389e497bbd925d6d9729dedcea8daf439ce366ea6aeaae0735ae1bd2654a706a36b682d2aa8244e8ad39b70dc45ed78111be", + "sha1": "791578afecd261f0d03669db993b35d14badc1a9" + }, + "required_dependencies": [ + "GchcoXML" + ], + "size": 375232, + "date_published": "2026-01-19T20:10:00.768744Z" } ] }, @@ -2889,27 +2889,6 @@ "modrinth": "KPsw5jDu" }, "files": [ - { - "type": "modrinth", - "file_name": "colorwheel_patcher-forge-1.0.4+mc1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/KPsw5jDu/versions/1JZBSXYs/colorwheel_patcher-forge-1.0.4+mc1.20.1.jar", - "id": "1JZBSXYs", - "parent_id": "KPsw5jDu", - "hashes": { - "sha512": "d9979e73e4086e0ebd4143b4b639a30a077607d3462e35477f4c4ece433995542c6434f18f42dfc5c894151c833e5fa488bde4caea4aff843f970bafeade2afb", - "sha1": "a8ae8241362d7de40fd8909f942c3b1362779bd6" - }, - "required_dependencies": [], - "size": 207040, - "date_published": "2025-12-30T19:53:19.416175Z" - }, { "type": "curseforge", "file_name": "colorwheel_patcher-forge-1.0.4+mc1.20.1.jar", @@ -2930,6 +2909,27 @@ "required_dependencies": [], "size": 207040, "date_published": "2025-12-30T19:53:17.543Z" + }, + { + "type": "modrinth", + "file_name": "colorwheel_patcher-forge-1.0.4+mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/KPsw5jDu/versions/1JZBSXYs/colorwheel_patcher-forge-1.0.4+mc1.20.1.jar", + "id": "1JZBSXYs", + "parent_id": "KPsw5jDu", + "hashes": { + "sha512": "d9979e73e4086e0ebd4143b4b639a30a077607d3462e35477f4c4ece433995542c6434f18f42dfc5c894151c833e5fa488bde4caea4aff843f970bafeade2afb", + "sha1": "a8ae8241362d7de40fd8909f942c3b1362779bd6" + }, + "required_dependencies": [], + "size": 207040, + "date_published": "2025-12-30T19:53:19.416175Z" } ] }, @@ -3218,27 +3218,6 @@ "modrinth": "WrpuIfhw" }, "files": [ - { - "type": "modrinth", - "file_name": "corpse-forge-1.20.1-1.0.23.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/WrpuIfhw/versions/7fc0hJN6/corpse-forge-1.20.1-1.0.23.jar", - "id": "7fc0hJN6", - "parent_id": "WrpuIfhw", - "hashes": { - "sha512": "c9ddf7d243aac2cbf88fc2fd7e71ce4470354765d602dadf0fa68105a0561cb14b482c60d9e04084845bcf2237442d913888dcfb45b392bc700b0f3470517c96", - "sha1": "78a776f057588a84a86c57dbe376b9b26f69f2c4" - }, - "required_dependencies": [], - "size": 245643, - "date_published": "2025-09-21T09:09:35.879376Z" - }, { "type": "curseforge", "file_name": "corpse-forge-1.20.1-1.0.23.jar", @@ -3259,6 +3238,27 @@ "required_dependencies": [], "size": 245644, "date_published": "2025-09-21T09:06:56.603Z" + }, + { + "type": "modrinth", + "file_name": "corpse-forge-1.20.1-1.0.23.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/WrpuIfhw/versions/7fc0hJN6/corpse-forge-1.20.1-1.0.23.jar", + "id": "7fc0hJN6", + "parent_id": "WrpuIfhw", + "hashes": { + "sha512": "c9ddf7d243aac2cbf88fc2fd7e71ce4470354765d602dadf0fa68105a0561cb14b482c60d9e04084845bcf2237442d913888dcfb45b392bc700b0f3470517c96", + "sha1": "78a776f057588a84a86c57dbe376b9b26f69f2c4" + }, + "required_dependencies": [], + "size": 245643, + "date_published": "2025-09-21T09:09:35.879376Z" } ] }, @@ -3284,29 +3284,6 @@ "modrinth": "pJGcKPh1" }, "files": [ - { - "type": "modrinth", - "file_name": "corpsecurioscompat-1.20.1-Forge-3.1.3.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/pJGcKPh1/versions/zgt34xjo/corpsecurioscompat-1.20.1-Forge-3.1.3.jar", - "id": "zgt34xjo", - "parent_id": "pJGcKPh1", - "hashes": { - "sha512": "1775a3c1c42e886ac2a0ce18ebc3d88a192f68c7474ad4114287e762c90ecaeda4bd49129026824da614efc7af3d0af2dda9fcd35f231a3d02aa0981f018103d", - "sha1": "3b36538ca8c6cc16982788c8e058cb726357a90c" - }, - "required_dependencies": [ - "OfKzpbRU" - ], - "size": 23655, - "date_published": "2025-11-18T11:12:27.896456Z" - }, { "type": "curseforge", "file_name": "corpsecurioscompat-1.20.1-Forge-3.1.3.jar", @@ -3329,6 +3306,29 @@ ], "size": 23655, "date_published": "2025-10-09T20:23:18.440Z" + }, + { + "type": "modrinth", + "file_name": "corpsecurioscompat-1.20.1-Forge-3.1.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/pJGcKPh1/versions/zgt34xjo/corpsecurioscompat-1.20.1-Forge-3.1.3.jar", + "id": "zgt34xjo", + "parent_id": "pJGcKPh1", + "hashes": { + "sha512": "1775a3c1c42e886ac2a0ce18ebc3d88a192f68c7474ad4114287e762c90ecaeda4bd49129026824da614efc7af3d0af2dda9fcd35f231a3d02aa0981f018103d", + "sha1": "3b36538ca8c6cc16982788c8e058cb726357a90c" + }, + "required_dependencies": [ + "OfKzpbRU" + ], + "size": 23655, + "date_published": "2025-11-18T11:12:27.896456Z" } ] }, @@ -3385,30 +3385,6 @@ "modrinth": "DMu0oBKf" }, "files": [ - { - "type": "modrinth", - "file_name": "craftingtweaks-forge-1.20.1-18.2.8.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/DMu0oBKf/versions/pHj8hyWv/craftingtweaks-forge-1.20.1-18.2.8.jar", - "id": "pHj8hyWv", - "parent_id": "DMu0oBKf", - "hashes": { - "sha512": "5294ffe1906cd987e6067a3f9bffad43ecce88bf7398fa41e83c2c9c29d135baf78a41fd90215adfa5ce9de113f6d96eb863da31947226308951910d30c5891f", - "sha1": "14105e247ccff9a7674fd8c85ce8c77e7f318846" - }, - "required_dependencies": [ - "MBAkmtvl" - ], - "size": 231043, - "date_published": "2026-01-13T13:10:45.682500Z" - }, { "type": "curseforge", "file_name": "craftingtweaks-forge-1.20.1-18.2.8.jar", @@ -3432,6 +3408,30 @@ ], "size": 231043, "date_published": "2026-01-13T13:11:06.543Z" + }, + { + "type": "modrinth", + "file_name": "craftingtweaks-forge-1.20.1-18.2.8.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/DMu0oBKf/versions/pHj8hyWv/craftingtweaks-forge-1.20.1-18.2.8.jar", + "id": "pHj8hyWv", + "parent_id": "DMu0oBKf", + "hashes": { + "sha512": "5294ffe1906cd987e6067a3f9bffad43ecce88bf7398fa41e83c2c9c29d135baf78a41fd90215adfa5ce9de113f6d96eb863da31947226308951910d30c5891f", + "sha1": "14105e247ccff9a7674fd8c85ce8c77e7f318846" + }, + "required_dependencies": [ + "MBAkmtvl" + ], + "size": 231043, + "date_published": "2026-01-13T13:10:45.682500Z" } ] }, @@ -3605,28 +3605,6 @@ "modrinth": "LNytGWDc" }, "files": [ - { - "type": "modrinth", - "file_name": "create-1.20.1-6.0.8.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/LNytGWDc/versions/8amzvn9x/create-1.20.1-6.0.8.jar", - "id": "8amzvn9x", - "parent_id": "LNytGWDc", - "hashes": { - "sha512": "5b51f5d31437d9bfbf221b67459abd87260d284874e1e23b7ed1d522b23a48059a3b1d2c1c541428da35dc6be15561b4f3c7f36aac6df3a0e8db6a278f6b0316", - "sha1": "b13d912b9247a38d66d11598c121442585a1c1e9" - }, - "required_dependencies": [], - "size": 19170905, - "date_published": "2025-11-02T16:10:25.364809Z" - }, { "type": "curseforge", "file_name": "create-1.20.1-6.0.8.jar", @@ -3648,6 +3626,28 @@ "required_dependencies": [], "size": 19170905, "date_published": "2025-11-02T16:10:24.043Z" + }, + { + "type": "modrinth", + "file_name": "create-1.20.1-6.0.8.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/LNytGWDc/versions/8amzvn9x/create-1.20.1-6.0.8.jar", + "id": "8amzvn9x", + "parent_id": "LNytGWDc", + "hashes": { + "sha512": "5b51f5d31437d9bfbf221b67459abd87260d284874e1e23b7ed1d522b23a48059a3b1d2c1c541428da35dc6be15561b4f3c7f36aac6df3a0e8db6a278f6b0316", + "sha1": "b13d912b9247a38d66d11598c121442585a1c1e9" + }, + "required_dependencies": [], + "size": 19170905, + "date_published": "2025-11-02T16:10:25.364809Z" } ] }, @@ -3671,29 +3671,6 @@ "modrinth": "kU1G12Nn" }, "files": [ - { - "type": "modrinth", - "file_name": "createaddition-1.20.1-1.3.3.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/kU1G12Nn/versions/9LgyB6Yb/createaddition-1.20.1-1.3.3.jar", - "id": "9LgyB6Yb", - "parent_id": "kU1G12Nn", - "hashes": { - "sha512": "a34f5c3b0226069d2882a3e23ba0e364a78bc5d26983b0cecea8d998718f454d3238ab7c5b4b3ef1749b6f2b26a4e427839c7c32468558fa7a8edb0edc727d10", - "sha1": "c7d464c451fdc2979bc29a67d7eec2a30858af12" - }, - "required_dependencies": [ - "LNytGWDc" - ], - "size": 1577313, - "date_published": "2025-11-10T23:46:17.426080Z" - }, { "type": "curseforge", "file_name": "createaddition-1.20.1-1.3.3.jar", @@ -3716,6 +3693,29 @@ ], "size": 1577313, "date_published": "2025-11-10T23:45:16.187Z" + }, + { + "type": "modrinth", + "file_name": "createaddition-1.20.1-1.3.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/kU1G12Nn/versions/9LgyB6Yb/createaddition-1.20.1-1.3.3.jar", + "id": "9LgyB6Yb", + "parent_id": "kU1G12Nn", + "hashes": { + "sha512": "a34f5c3b0226069d2882a3e23ba0e364a78bc5d26983b0cecea8d998718f454d3238ab7c5b4b3ef1749b6f2b26a4e427839c7c32468558fa7a8edb0edc727d10", + "sha1": "c7d464c451fdc2979bc29a67d7eec2a30858af12" + }, + "required_dependencies": [ + "LNytGWDc" + ], + "size": 1577313, + "date_published": "2025-11-10T23:46:17.426080Z" } ] }, @@ -3799,27 +3799,6 @@ "modrinth": "QMGO17gm" }, "files": [ - { - "type": "modrinth", - "file_name": "create_factory_logistics-1.20.1-1.4.7.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "beta", - "url": "https://cdn.modrinth.com/data/QMGO17gm/versions/cFuYsO3r/create_factory_logistics-1.20.1-1.4.7.jar", - "id": "cFuYsO3r", - "parent_id": "QMGO17gm", - "hashes": { - "sha512": "e00e615ee75f5b65e3aea3d513008ac6e09728df48a77c83acd1a776c1d8f3a0a09c3d20db87fe1b340a1a1ff6ef1a49b5d048a71eb73c602cfc263c2bfeb95c", - "sha1": "bf67707d1645197f27cd9a4abea13159fa0fef1e" - }, - "required_dependencies": [], - "size": 1112673, - "date_published": "2025-10-28T13:44:02.906156Z" - }, { "type": "curseforge", "file_name": "create_factory_logistics-1.20.1-1.4.7.jar", @@ -3840,6 +3819,27 @@ "required_dependencies": [], "size": 1112673, "date_published": "2025-10-28T13:44:03.360Z" + }, + { + "type": "modrinth", + "file_name": "create_factory_logistics-1.20.1-1.4.7.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/QMGO17gm/versions/cFuYsO3r/create_factory_logistics-1.20.1-1.4.7.jar", + "id": "cFuYsO3r", + "parent_id": "QMGO17gm", + "hashes": { + "sha512": "e00e615ee75f5b65e3aea3d513008ac6e09728df48a77c83acd1a776c1d8f3a0a09c3d20db87fe1b340a1a1ff6ef1a49b5d048a71eb73c602cfc263c2bfeb95c", + "sha1": "bf67707d1645197f27cd9a4abea13159fa0fef1e" + }, + "required_dependencies": [], + "size": 1112673, + "date_published": "2025-10-28T13:44:02.906156Z" } ] }, @@ -3860,6 +3860,27 @@ "modrinth": "9Qm19XSM" }, "files": [ + { + "type": "curseforge", + "file_name": "createhorsepower-1.20.1-1.1.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7259/899/createhorsepower-1.20.1-1.1.0.jar", + "id": "7259899", + "parent_id": "1121632", + "hashes": { + "sha1": "b4a5802ec8e5c1eef4fe69b9ca973eb7fe02ace9", + "md5": "4d2d9e1f33a934e7c60f734b9d848dc3" + }, + "required_dependencies": [], + "size": 259693, + "date_published": "2025-11-25T04:44:48.007Z" + }, { "type": "modrinth", "file_name": "createhorsepower-1.20.1-1.1.0.jar", @@ -3883,27 +3904,6 @@ ], "size": 259693, "date_published": "2025-11-25T04:46:17.404117Z" - }, - { - "type": "curseforge", - "file_name": "createhorsepower-1.20.1-1.1.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7259/899/createhorsepower-1.20.1-1.1.0.jar", - "id": "7259899", - "parent_id": "1121632", - "hashes": { - "sha1": "b4a5802ec8e5c1eef4fe69b9ca973eb7fe02ace9", - "md5": "4d2d9e1f33a934e7c60f734b9d848dc3" - }, - "required_dependencies": [], - "size": 259693, - "date_published": "2025-11-25T04:44:48.007Z" } ] }, @@ -3966,30 +3966,6 @@ "modrinth": "Vg5TIO6d" }, "files": [ - { - "type": "modrinth", - "file_name": "create_connected-1.1.13-mc1.20.1-all.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/Vg5TIO6d/versions/cd0NZDvE/create_connected-1.1.13-mc1.20.1-all.jar", - "id": "cd0NZDvE", - "parent_id": "Vg5TIO6d", - "hashes": { - "sha512": "942b9f05b5033ef5f920dad95a8871c04907084388f11dbe48f2d853ec237d47f1b037252b33e4d3f9efc680b680651c65cd48d4a2ca79c7b6328ae27ba3317f", - "sha1": "14ecb2facb6eaa99635f03a46346d91a331b7768" - }, - "required_dependencies": [ - "LNytGWDc" - ], - "size": 6566935, - "date_published": "2026-02-08T11:57:40.268747Z" - }, { "type": "curseforge", "file_name": "create_connected-1.1.13-mc1.20.1-all.jar", @@ -4013,6 +3989,30 @@ ], "size": 6566936, "date_published": "2026-02-08T11:58:20.660Z" + }, + { + "type": "modrinth", + "file_name": "create_connected-1.1.13-mc1.20.1-all.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/Vg5TIO6d/versions/cd0NZDvE/create_connected-1.1.13-mc1.20.1-all.jar", + "id": "cd0NZDvE", + "parent_id": "Vg5TIO6d", + "hashes": { + "sha512": "942b9f05b5033ef5f920dad95a8871c04907084388f11dbe48f2d853ec237d47f1b037252b33e4d3f9efc680b680651c65cd48d4a2ca79c7b6328ae27ba3317f", + "sha1": "14ecb2facb6eaa99635f03a46346d91a331b7768" + }, + "required_dependencies": [ + "LNytGWDc" + ], + "size": 6566935, + "date_published": "2026-02-08T11:57:40.268747Z" } ] }, @@ -4036,6 +4036,30 @@ "modrinth": "ATDdrG1y" }, "files": [ + { + "type": "curseforge", + "file_name": "create_hypertube-0.4.0-FORGE.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "beta", + "url": "https://edge.forgecdn.net/files/7599/486/create_hypertube-0.4.0-FORGE.jar", + "id": "7599486", + "parent_id": "1281336", + "hashes": { + "sha1": "49712554e365e4412fa6362f0394e919fe7eb261", + "md5": "7faf6ee6833eae1994c4c051454e2bac" + }, + "required_dependencies": [ + "328085" + ], + "size": 421417, + "date_published": "2026-02-09T13:56:36.967Z" + }, { "type": "modrinth", "file_name": "create_hypertube-0.4.0-FORGE.jar", @@ -4064,30 +4088,6 @@ ], "size": 421417, "date_published": "2026-02-09T13:59:01.301871Z" - }, - { - "type": "curseforge", - "file_name": "create_hypertube-0.4.0-FORGE.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7599/486/create_hypertube-0.4.0-FORGE.jar", - "id": "7599486", - "parent_id": "1281336", - "hashes": { - "sha1": "49712554e365e4412fa6362f0394e919fe7eb261", - "md5": "7faf6ee6833eae1994c4c051454e2bac" - }, - "required_dependencies": [ - "328085" - ], - "size": 421417, - "date_published": "2026-02-09T13:56:36.967Z" } ] }, @@ -4176,30 +4176,6 @@ "modrinth": "ZzjhlDgM" }, "files": [ - { - "type": "modrinth", - "file_name": "Steam_Rails-1.6.15-beta+forge-mc1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "beta", - "url": "https://cdn.modrinth.com/data/ZzjhlDgM/versions/syDuEEZD/Steam_Rails-1.6.15-beta+forge-mc1.20.1.jar", - "id": "syDuEEZD", - "parent_id": "ZzjhlDgM", - "hashes": { - "sha512": "8c9986c0422b73627446e67c2d19fc521d067cee3fb55707a1fedeead4b1ec93e62ce5889a7af314f6cfb528f07365993f6864f8eed07aa38538c2f4e4e8a405", - "sha1": "924c3efb2187138b85a0d5285dbb65b371c4f7e9" - }, - "required_dependencies": [ - "LNytGWDc" - ], - "size": 10000104, - "date_published": "2026-01-10T22:37:24.545119Z" - }, { "type": "curseforge", "file_name": "Steam_Rails-1.6.15-beta+forge-mc1.20.1.jar", @@ -4223,6 +4199,30 @@ ], "size": 10000104, "date_published": "2026-01-10T22:37:20.943Z" + }, + { + "type": "modrinth", + "file_name": "Steam_Rails-1.6.15-beta+forge-mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/ZzjhlDgM/versions/syDuEEZD/Steam_Rails-1.6.15-beta+forge-mc1.20.1.jar", + "id": "syDuEEZD", + "parent_id": "ZzjhlDgM", + "hashes": { + "sha512": "8c9986c0422b73627446e67c2d19fc521d067cee3fb55707a1fedeead4b1ec93e62ce5889a7af314f6cfb528f07365993f6864f8eed07aa38538c2f4e4e8a405", + "sha1": "924c3efb2187138b85a0d5285dbb65b371c4f7e9" + }, + "required_dependencies": [ + "LNytGWDc" + ], + "size": 10000104, + "date_published": "2026-01-10T22:37:24.545119Z" } ] }, @@ -4306,27 +4306,6 @@ "modrinth": "Rw1NrDzF" }, "files": [ - { - "type": "modrinth", - "file_name": "Cucumber-1.20.1-7.0.16.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/Rw1NrDzF/versions/xnLznSfT/Cucumber-1.20.1-7.0.16.jar", - "id": "xnLznSfT", - "parent_id": "Rw1NrDzF", - "hashes": { - "sha512": "4b68f300df40e2243a76b80c6a8dff2ed6af01a33e058f1f0e79690ffebea35b020d323fe478c4e41516330c7650cb9b1b713d132ed0de63f96e4787da43a7f5", - "sha1": "88a9ec30e4acb5c80a3ae060ad70b79e945293c6" - }, - "required_dependencies": [], - "size": 271462, - "date_published": "2025-11-03T02:24:06.959179Z" - }, { "type": "curseforge", "file_name": "Cucumber-1.20.1-7.0.16.jar", @@ -4347,6 +4326,27 @@ "required_dependencies": [], "size": 271462, "date_published": "2025-11-03T02:24:05.553Z" + }, + { + "type": "modrinth", + "file_name": "Cucumber-1.20.1-7.0.16.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/Rw1NrDzF/versions/xnLznSfT/Cucumber-1.20.1-7.0.16.jar", + "id": "xnLznSfT", + "parent_id": "Rw1NrDzF", + "hashes": { + "sha512": "4b68f300df40e2243a76b80c6a8dff2ed6af01a33e058f1f0e79690ffebea35b020d323fe478c4e41516330c7650cb9b1b713d132ed0de63f96e4787da43a7f5", + "sha1": "88a9ec30e4acb5c80a3ae060ad70b79e945293c6" + }, + "required_dependencies": [], + "size": 271462, + "date_published": "2025-11-03T02:24:06.959179Z" } ] }, @@ -4435,7 +4435,7 @@ "files": [ { "type": "curseforge", - "file_name": "deafission-1.20.1-0.15.4.jar", + "file_name": "deafission-1.20.1-0.16.0.jar", "mc_versions": [ "1.20.1" ], @@ -4443,19 +4443,19 @@ "forge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7305/261/deafission-1.20.1-0.15.4.jar", - "id": "7305261", + "url": "https://edge.forgecdn.net/files/7633/771/deafission-1.20.1-0.16.0.jar", + "id": "7633771", "parent_id": "1354541", "hashes": { - "sha1": "5b814421715f3f15606a4b2ecc23816432c6911c", - "md5": "64b8f3da2f95649bbef00af310fdc102" + "sha1": "80083ceeeeedd6c591ce63ee5c2c4891e431fe4a", + "md5": "0f50f0a64b56c45881c3259f846b9c37" }, "required_dependencies": [ "890405", "238086" ], - "size": 415411, - "date_published": "2025-12-07T18:28:09.053Z" + "size": 420190, + "date_published": "2026-02-16T14:01:28.700Z" } ] }, @@ -4513,30 +4513,6 @@ "modrinth": "WEg59z5b" }, "files": [ - { - "type": "modrinth", - "file_name": "defaultoptions-forge-1.20.1-18.0.4.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/WEg59z5b/versions/t5i53ltA/defaultoptions-forge-1.20.1-18.0.4.jar", - "id": "t5i53ltA", - "parent_id": "WEg59z5b", - "hashes": { - "sha512": "01e9bc32c967a9ccce0504d0b88245e8a3b27cea1e29ed4740a06064179387e28f36dbd2e95401eb38854984361e06b8d58cca3f0d4ba88d660b2d0013845bc9", - "sha1": "37ef64d3ae7fda292c882ee949a0280bf6c7f033" - }, - "required_dependencies": [ - "MBAkmtvl" - ], - "size": 94684, - "date_published": "2025-09-07T12:29:20.644337Z" - }, { "type": "curseforge", "file_name": "defaultoptions-forge-1.20.1-18.0.4.jar", @@ -4560,6 +4536,30 @@ ], "size": 94684, "date_published": "2025-09-07T12:29:22.480Z" + }, + { + "type": "modrinth", + "file_name": "defaultoptions-forge-1.20.1-18.0.4.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/WEg59z5b/versions/t5i53ltA/defaultoptions-forge-1.20.1-18.0.4.jar", + "id": "t5i53ltA", + "parent_id": "WEg59z5b", + "hashes": { + "sha512": "01e9bc32c967a9ccce0504d0b88245e8a3b27cea1e29ed4740a06064179387e28f36dbd2e95401eb38854984361e06b8d58cca3f0d4ba88d660b2d0013845bc9", + "sha1": "37ef64d3ae7fda292c882ee949a0280bf6c7f033" + }, + "required_dependencies": [ + "MBAkmtvl" + ], + "size": 94684, + "date_published": "2025-09-07T12:29:20.644337Z" } ] }, @@ -4727,32 +4727,6 @@ "modrinth": "8Aatj9Zy" }, "files": [ - { - "type": "modrinth", - "file_name": "diggerhelmet-1.20.1-1.0.0.26.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "beta", - "url": "https://cdn.modrinth.com/data/8Aatj9Zy/versions/uLRIdt0F/diggerhelmet-1.20.1-1.0.0.26.jar", - "id": "uLRIdt0F", - "parent_id": "8Aatj9Zy", - "hashes": { - "sha512": "2c2c33ebad2afccd62a69f8630fe96032cd7b434d787a28328d2d5b0927a2268c5a9e09b3a7bf34eb32c3bfcd2f0644c1ee2f3128ce2bf9075c5f8285ae151d4", - "sha1": "3fe3d9911069db3c0d816bdbbed01193ba880087" - }, - "required_dependencies": [ - "vvuO3ImH", - "8BmcQJ2H", - "JaCEZUhg" - ], - "size": 233928, - "date_published": "2025-12-06T11:48:53.965962Z" - }, { "type": "curseforge", "file_name": "diggerhelmet-1.20.1-1.0.0.26.jar", @@ -4778,6 +4752,32 @@ ], "size": 233928, "date_published": "2025-12-03T15:49:31.887Z" + }, + { + "type": "modrinth", + "file_name": "diggerhelmet-1.20.1-1.0.0.26.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/8Aatj9Zy/versions/uLRIdt0F/diggerhelmet-1.20.1-1.0.0.26.jar", + "id": "uLRIdt0F", + "parent_id": "8Aatj9Zy", + "hashes": { + "sha512": "2c2c33ebad2afccd62a69f8630fe96032cd7b434d787a28328d2d5b0927a2268c5a9e09b3a7bf34eb32c3bfcd2f0644c1ee2f3128ce2bf9075c5f8285ae151d4", + "sha1": "3fe3d9911069db3c0d816bdbbed01193ba880087" + }, + "required_dependencies": [ + "vvuO3ImH", + "8BmcQJ2H", + "JaCEZUhg" + ], + "size": 233928, + "date_published": "2025-12-06T11:48:53.965962Z" } ] }, @@ -4903,30 +4903,6 @@ "modrinth": "v3CYg2V9" }, "files": [ - { - "type": "modrinth", - "file_name": "drippyloadingscreen_forge_3.1.0_MC_1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/v3CYg2V9/versions/68GEZSYA/drippyloadingscreen_forge_3.1.0_MC_1.20.1.jar", - "id": "68GEZSYA", - "parent_id": "v3CYg2V9", - "hashes": { - "sha512": "a40bc04b995c5ff5ec5ab6e999925296c613213de0db301b5171d7379672b28050d961556d6e5d41396d5493bdcd20a74fbeefe40b29bf61d74a465f6c71d13d", - "sha1": "5c5e9dd39881b9b65dba7d7124690c51430a3ff1" - }, - "required_dependencies": [ - "Wq5SjeWM", - "J81TRJWm" - ], - "size": 285003, - "date_published": "2025-11-22T07:39:16.928909Z" - }, { "type": "curseforge", "file_name": "drippyloadingscreen_forge_3.1.0_MC_1.20.1.jar", @@ -4950,6 +4926,30 @@ ], "size": 285003, "date_published": "2025-11-22T07:39:11.367Z" + }, + { + "type": "modrinth", + "file_name": "drippyloadingscreen_forge_3.1.0_MC_1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/v3CYg2V9/versions/68GEZSYA/drippyloadingscreen_forge_3.1.0_MC_1.20.1.jar", + "id": "68GEZSYA", + "parent_id": "v3CYg2V9", + "hashes": { + "sha512": "a40bc04b995c5ff5ec5ab6e999925296c613213de0db301b5171d7379672b28050d961556d6e5d41396d5493bdcd20a74fbeefe40b29bf61d74a465f6c71d13d", + "sha1": "5c5e9dd39881b9b65dba7d7124690c51430a3ff1" + }, + "required_dependencies": [ + "Wq5SjeWM", + "J81TRJWm" + ], + "size": 285003, + "date_published": "2025-11-22T07:39:16.928909Z" } ] }, @@ -5238,27 +5238,6 @@ }, "redistributable": false, "files": [ - { - "type": "modrinth", - "file_name": "entityculling-forge-1.9.5-mc1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/NNAgCjsB/versions/ZqOeqW60/entityculling-forge-1.9.5-mc1.20.1.jar", - "id": "ZqOeqW60", - "parent_id": "NNAgCjsB", - "hashes": { - "sha512": "f102a06dbe5f77d2b5737da4ed9484cdd6ab604a0e068245520247016b28c2936cef743038a2c7f3756ed0d07d140d6f21d0d1c47dea396e75e4a25165428a02", - "sha1": "524be2ed63e9f131a17393ead67cd3fddc97ca2b" - }, - "required_dependencies": [], - "size": 1569588, - "date_published": "2025-12-30T15:26:02.452876Z" - }, { "type": "curseforge", "file_name": "entityculling-forge-1.9.5-mc1.20.1.jar", @@ -5279,6 +5258,27 @@ "required_dependencies": [], "size": 1569588, "date_published": "2025-12-30T15:25:59.370Z" + }, + { + "type": "modrinth", + "file_name": "entityculling-forge-1.9.5-mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/NNAgCjsB/versions/ZqOeqW60/entityculling-forge-1.9.5-mc1.20.1.jar", + "id": "ZqOeqW60", + "parent_id": "NNAgCjsB", + "hashes": { + "sha512": "f102a06dbe5f77d2b5737da4ed9484cdd6ab604a0e068245520247016b28c2936cef743038a2c7f3756ed0d07d140d6f21d0d1c47dea396e75e4a25165428a02", + "sha1": "524be2ed63e9f131a17393ead67cd3fddc97ca2b" + }, + "required_dependencies": [], + "size": 1569588, + "date_published": "2025-12-30T15:26:02.452876Z" } ] }, @@ -5366,29 +5366,6 @@ "modrinth": "eiktJyw1" }, "files": [ - { - "type": "modrinth", - "file_name": "everycomp-1.20-2.9.17-forge.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/eiktJyw1/versions/VfyRmElC/everycomp-1.20-2.9.17-forge.jar", - "id": "VfyRmElC", - "parent_id": "eiktJyw1", - "hashes": { - "sha512": "b56c5258a8a34178205574fc262a35c7a5d31299954f3a90d3fb876433cc000b2a89ff9ffecfdb5bd5eb68524ae582a7c4807ca9297b6438fc4861a6b11f036a", - "sha1": "f916b0f9871722d56adea057111b70e4c0529866" - }, - "required_dependencies": [ - "twkfQtEc" - ], - "size": 2834698, - "date_published": "2026-02-09T04:43:50.932298Z" - }, { "type": "curseforge", "file_name": "everycomp-1.20-2.9.17-forge.jar", @@ -5411,6 +5388,29 @@ ], "size": 2834698, "date_published": "2026-02-09T04:43:30.063Z" + }, + { + "type": "modrinth", + "file_name": "everycomp-1.20-2.9.17-forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/eiktJyw1/versions/VfyRmElC/everycomp-1.20-2.9.17-forge.jar", + "id": "VfyRmElC", + "parent_id": "eiktJyw1", + "hashes": { + "sha512": "b56c5258a8a34178205574fc262a35c7a5d31299954f3a90d3fb876433cc000b2a89ff9ffecfdb5bd5eb68524ae582a7c4807ca9297b6438fc4861a6b11f036a", + "sha1": "f916b0f9871722d56adea057111b70e4c0529866" + }, + "required_dependencies": [ + "twkfQtEc" + ], + "size": 2834698, + "date_published": "2026-02-09T04:43:50.932298Z" } ] }, @@ -5431,27 +5431,6 @@ "modrinth": "hB899VmG" }, "files": [ - { - "type": "modrinth", - "file_name": "exposure-forge-1.20.1-1.9.13.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "beta", - "url": "https://cdn.modrinth.com/data/hB899VmG/versions/nUDv4ZTR/exposure-forge-1.20.1-1.9.13.jar", - "id": "nUDv4ZTR", - "parent_id": "hB899VmG", - "hashes": { - "sha512": "cb45c695be8c67ad371e0d4a691a38367a3a03e9ce9d8d3e47dbd1f47dac3c08e49deb21053a8925e66d45d891fc50c58d7c59ff6f9992279456d8f00979543d", - "sha1": "2c1b71dffa45e8ef2008a4341a00fae55c331c20" - }, - "required_dependencies": [], - "size": 2235602, - "date_published": "2026-02-05T16:57:34.793777Z" - }, { "type": "curseforge", "file_name": "exposure-forge-1.20.1-1.9.13.jar", @@ -5472,6 +5451,27 @@ "required_dependencies": [], "size": 2235602, "date_published": "2026-02-05T16:57:33.440Z" + }, + { + "type": "modrinth", + "file_name": "exposure-forge-1.20.1-1.9.13.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/hB899VmG/versions/nUDv4ZTR/exposure-forge-1.20.1-1.9.13.jar", + "id": "nUDv4ZTR", + "parent_id": "hB899VmG", + "hashes": { + "sha512": "cb45c695be8c67ad371e0d4a691a38367a3a03e9ce9d8d3e47dbd1f47dac3c08e49deb21053a8925e66d45d891fc50c58d7c59ff6f9992279456d8f00979543d", + "sha1": "2c1b71dffa45e8ef2008a4341a00fae55c331c20" + }, + "required_dependencies": [], + "size": 2235602, + "date_published": "2026-02-05T16:57:34.793777Z" } ] }, @@ -5500,7 +5500,7 @@ "files": [ { "type": "curseforge", - "file_name": "ExtendedAE-1.20-1.4.11-forge.jar", + "file_name": "ExtendedAE-1.20-1.4.12-forge.jar", "mc_versions": [ "1.20.1" ], @@ -5509,20 +5509,20 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7594/207/ExtendedAE-1.20-1.4.11-forge.jar", - "id": "7594207", + "url": "https://edge.forgecdn.net/files/7624/84/ExtendedAE-1.20-1.4.12-forge.jar", + "id": "7624084", "parent_id": "892005", "hashes": { - "sha1": "d37b8af49def8516123e0b03206a2a23ae0fdb0e", - "md5": "2e82205530234759a37116df822d4651" + "sha1": "ab835abdb8a69920f972e00ae3382c78fab22340", + "md5": "b719232b939ddd5b2bfee8dbc1b78e12" }, "required_dependencies": [ - "1173950", "957920", - "223794" + "223794", + "1173950" ], - "size": 2810056, - "date_published": "2026-02-08T13:28:12.420Z" + "size": 2809695, + "date_published": "2026-02-14T15:03:16.577Z" } ] }, @@ -5544,27 +5544,6 @@ }, "export": false, "files": [ - { - "type": "modrinth", - "file_name": "ExtremeSoundMuffler-3.51-forge-1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/5IIKsxiL/versions/drxm9tKI/ExtremeSoundMuffler-3.51-forge-1.20.1.jar", - "id": "drxm9tKI", - "parent_id": "5IIKsxiL", - "hashes": { - "sha512": "144a21b27d6ae4ea31c165c8bd7936df6cdf2822d8c20e727218ecedac3d2c685eeded405cd7e2a10ccaae090f435e86721aca566b35f81463f2c47edc0dcee9", - "sha1": "025499c74e1e9305fa931b44c3832f43b1925ec7" - }, - "required_dependencies": [], - "size": 270331, - "date_published": "2026-01-16T18:46:57.602582Z" - }, { "type": "curseforge", "file_name": "ExtremeSoundMuffler-3.51-forge-1.20.1.jar", @@ -5585,6 +5564,27 @@ "required_dependencies": [], "size": 270331, "date_published": "2026-01-16T18:46:55.740Z" + }, + { + "type": "modrinth", + "file_name": "ExtremeSoundMuffler-3.51-forge-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/5IIKsxiL/versions/drxm9tKI/ExtremeSoundMuffler-3.51-forge-1.20.1.jar", + "id": "drxm9tKI", + "parent_id": "5IIKsxiL", + "hashes": { + "sha512": "144a21b27d6ae4ea31c165c8bd7936df6cdf2822d8c20e727218ecedac3d2c685eeded405cd7e2a10ccaae090f435e86721aca566b35f81463f2c47edc0dcee9", + "sha1": "025499c74e1e9305fa931b44c3832f43b1925ec7" + }, + "required_dependencies": [], + "size": 270331, + "date_published": "2026-01-16T18:46:57.602582Z" } ] }, @@ -6118,30 +6118,6 @@ "modrinth": "Wq5SjeWM" }, "files": [ - { - "type": "modrinth", - "file_name": "fancymenu_forge_3.8.1_MC_1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/Wq5SjeWM/versions/MywA2BxT/fancymenu_forge_3.8.1_MC_1.20.1.jar", - "id": "MywA2BxT", - "parent_id": "Wq5SjeWM", - "hashes": { - "sha512": "71aca039cd5eb81f7a169df32473465e6bbd13f88b703de68475298f5dbf76bc85787ecd6b786a049cb7e6bf2426dac254424abd15c1900d9d520276f7d63ad9", - "sha1": "1fef1d8ab0dc2dec116bc6d6cb6f789fd33b23b0" - }, - "required_dependencies": [ - "J81TRJWm", - "CVT4pFB2" - ], - "size": 4472193, - "date_published": "2025-11-24T08:24:19.760480Z" - }, { "type": "curseforge", "file_name": "fancymenu_forge_3.8.1_MC_1.20.1.jar", @@ -6165,6 +6141,30 @@ ], "size": 4472193, "date_published": "2025-11-24T08:24:12.380Z" + }, + { + "type": "modrinth", + "file_name": "fancymenu_forge_3.8.1_MC_1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/Wq5SjeWM/versions/MywA2BxT/fancymenu_forge_3.8.1_MC_1.20.1.jar", + "id": "MywA2BxT", + "parent_id": "Wq5SjeWM", + "hashes": { + "sha512": "71aca039cd5eb81f7a169df32473465e6bbd13f88b703de68475298f5dbf76bc85787ecd6b786a049cb7e6bf2426dac254424abd15c1900d9d520276f7d63ad9", + "sha1": "1fef1d8ab0dc2dec116bc6d6cb6f789fd33b23b0" + }, + "required_dependencies": [ + "J81TRJWm", + "CVT4pFB2" + ], + "size": 4472193, + "date_published": "2025-11-24T08:24:19.760480Z" } ] }, @@ -6185,31 +6185,6 @@ "modrinth": "9mtu0sUO" }, "files": [ - { - "type": "modrinth", - "file_name": "fast-ip-ping-v1.0.8-mc1.20.4-forge.jar", - "mc_versions": [ - "1.20", - "1.20.1", - "1.20.2", - "1.20.3", - "1.20.4" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/9mtu0sUO/versions/1Psj7GtQ/fast-ip-ping-v1.0.8-mc1.20.4-forge.jar", - "id": "1Psj7GtQ", - "parent_id": "9mtu0sUO", - "hashes": { - "sha512": "4c016afaf112b8664529a419f1188d2a4211d41a8a4fe1420d6b679eb134d5c1085e53e06f83ec7a0686c8faf5f59c2c3c0d7c321ed868f075731d7681cfb313", - "sha1": "ceeeae222c51ae100e5126c4a5a7a05f4f3f4712" - }, - "required_dependencies": [], - "size": 10331, - "date_published": "2025-12-10T19:52:27.401005Z" - }, { "type": "curseforge", "file_name": "fast-ip-ping-v1.0.8-mc1.20.4-forge.jar", @@ -6234,6 +6209,31 @@ "required_dependencies": [], "size": 10331, "date_published": "2025-12-10T19:52:26.030Z" + }, + { + "type": "modrinth", + "file_name": "fast-ip-ping-v1.0.8-mc1.20.4-forge.jar", + "mc_versions": [ + "1.20", + "1.20.1", + "1.20.2", + "1.20.3", + "1.20.4" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/9mtu0sUO/versions/1Psj7GtQ/fast-ip-ping-v1.0.8-mc1.20.4-forge.jar", + "id": "1Psj7GtQ", + "parent_id": "9mtu0sUO", + "hashes": { + "sha512": "4c016afaf112b8664529a419f1188d2a4211d41a8a4fe1420d6b679eb134d5c1085e53e06f83ec7a0686c8faf5f59c2c3c0d7c321ed868f075731d7681cfb313", + "sha1": "ceeeae222c51ae100e5126c4a5a7a05f4f3f4712" + }, + "required_dependencies": [], + "size": 10331, + "date_published": "2025-12-10T19:52:27.401005Z" } ] }, @@ -6541,30 +6541,6 @@ "modrinth": "5bKeBHw2" }, "files": [ - { - "type": "modrinth", - "file_name": "Firmalife-1.20.1-2.1.27.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/5bKeBHw2/versions/lQF2K7o9/Firmalife-1.20.1-2.1.27.jar", - "id": "lQF2K7o9", - "parent_id": "5bKeBHw2", - "hashes": { - "sha512": "3f5d468fab6534a059f197415774939e81e3b1cff9ee55ab5af417abbb32c61536f72f7bbab29f707e4eef43e64df947127fb0dd8af065636e0db762ab96e4bd", - "sha1": "94075d059dcfc562db2c5199bbe2020b6dcc44d5" - }, - "required_dependencies": [ - "JaCEZUhg" - ], - "size": 4669762, - "date_published": "2026-02-10T01:36:44.244256Z" - }, { "type": "curseforge", "file_name": "Firmalife-1.20.1-2.1.27.jar", @@ -6588,6 +6564,30 @@ ], "size": 4669762, "date_published": "2026-02-10T01:36:33.253Z" + }, + { + "type": "modrinth", + "file_name": "Firmalife-1.20.1-2.1.27.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/5bKeBHw2/versions/lQF2K7o9/Firmalife-1.20.1-2.1.27.jar", + "id": "lQF2K7o9", + "parent_id": "5bKeBHw2", + "hashes": { + "sha512": "3f5d468fab6534a059f197415774939e81e3b1cff9ee55ab5af417abbb32c61536f72f7bbab29f707e4eef43e64df947127fb0dd8af065636e0db762ab96e4bd", + "sha1": "94075d059dcfc562db2c5199bbe2020b6dcc44d5" + }, + "required_dependencies": [ + "JaCEZUhg" + ], + "size": 4669762, + "date_published": "2026-02-10T01:36:44.244256Z" } ] }, @@ -6672,28 +6672,6 @@ "modrinth": "wbgfS34j" }, "files": [ - { - "type": "modrinth", - "file_name": "FramedBlocks-9.4.3.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/wbgfS34j/versions/lSiHA1qU/FramedBlocks-9.4.3.jar", - "id": "lSiHA1qU", - "parent_id": "wbgfS34j", - "hashes": { - "sha512": "19a098bbf9ee7ee39f6b785bbce5f87b9dca58a491fa16eba2f38cfa106f37ee90c1ce56686a50adef8f5d3086e3c22a6127ed02bdf3f80d57297c8f7c1b49fc", - "sha1": "740c0feaab75455f32df7e137389f77c83fb490c" - }, - "required_dependencies": [], - "size": 4251314, - "date_published": "2025-12-28T01:00:09.136616Z" - }, { "type": "curseforge", "file_name": "FramedBlocks-9.4.3.jar", @@ -6715,6 +6693,28 @@ "required_dependencies": [], "size": 4251314, "date_published": "2025-12-28T00:58:18.240Z" + }, + { + "type": "modrinth", + "file_name": "FramedBlocks-9.4.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/wbgfS34j/versions/lSiHA1qU/FramedBlocks-9.4.3.jar", + "id": "lSiHA1qU", + "parent_id": "wbgfS34j", + "hashes": { + "sha512": "19a098bbf9ee7ee39f6b785bbce5f87b9dca58a491fa16eba2f38cfa106f37ee90c1ce56686a50adef8f5d3086e3c22a6127ed02bdf3f80d57297c8f7c1b49fc", + "sha1": "740c0feaab75455f32df7e137389f77c83fb490c" + }, + "required_dependencies": [], + "size": 4251314, + "date_published": "2025-12-28T01:00:09.136616Z" } ] }, @@ -6812,30 +6812,6 @@ "modrinth": "hYykXjDp" }, "files": [ - { - "type": "modrinth", - "file_name": "fzzy_config-0.7.6+1.20.1+forge.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/hYykXjDp/versions/7MmXhjWs/fzzy_config-0.7.6+1.20.1+forge.jar", - "id": "7MmXhjWs", - "parent_id": "hYykXjDp", - "hashes": { - "sha512": "dff242c555006ddab4ffca5ca005b4186cfec3e9f5a9409dc15e91bf1e4eadb33508e458709d0b154b372e214ceb6d8cd343f1e718eb426db4570a292b0e4b0c", - "sha1": "2e9ca1c5f028c251e1bc18b9ebaa06d401c8e624" - }, - "required_dependencies": [ - "ordsPcFz" - ], - "size": 2374667, - "date_published": "2026-02-03T01:48:46.478341Z" - }, { "type": "curseforge", "file_name": "fzzy_config-0.7.6+1.20.1+forge.jar", @@ -6859,6 +6835,30 @@ ], "size": 2374667, "date_published": "2026-02-03T01:48:37.523Z" + }, + { + "type": "modrinth", + "file_name": "fzzy_config-0.7.6+1.20.1+forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/hYykXjDp/versions/7MmXhjWs/fzzy_config-0.7.6+1.20.1+forge.jar", + "id": "7MmXhjWs", + "parent_id": "hYykXjDp", + "hashes": { + "sha512": "dff242c555006ddab4ffca5ca005b4186cfec3e9f5a9409dc15e91bf1e4eadb33508e458709d0b154b372e214ceb6d8cd343f1e718eb426db4570a292b0e4b0c", + "sha1": "2e9ca1c5f028c251e1bc18b9ebaa06d401c8e624" + }, + "required_dependencies": [ + "ordsPcFz" + ], + "size": 2374667, + "date_published": "2026-02-03T01:48:46.478341Z" } ] }, @@ -6946,27 +6946,6 @@ "modrinth": "8BmcQJ2H" }, "files": [ - { - "type": "modrinth", - "file_name": "geckolib-forge-1.20.1-4.8.3.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/8BmcQJ2H/versions/HVdLnQMI/geckolib-forge-1.20.1-4.8.3.jar", - "id": "HVdLnQMI", - "parent_id": "8BmcQJ2H", - "hashes": { - "sha512": "938f1f703fa77a2e05aad4afa1052260521badee006d29529d0ed4e2d3fbaae47c9ffbc95b5c4982c3386e7e7d6592c9c79df31597cc8238db41fc0b1e431db6", - "sha1": "fead1d1645e16cfa02f39113481ead355230f8fd" - }, - "required_dependencies": [], - "size": 1039047, - "date_published": "2026-01-31T01:40:17.094003Z" - }, { "type": "curseforge", "file_name": "geckolib-forge-1.20.1-4.8.3.jar", @@ -6987,6 +6966,27 @@ "required_dependencies": [], "size": 1039046, "date_published": "2026-01-31T01:40:51.330Z" + }, + { + "type": "modrinth", + "file_name": "geckolib-forge-1.20.1-4.8.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/8BmcQJ2H/versions/HVdLnQMI/geckolib-forge-1.20.1-4.8.3.jar", + "id": "HVdLnQMI", + "parent_id": "8BmcQJ2H", + "hashes": { + "sha512": "938f1f703fa77a2e05aad4afa1052260521badee006d29529d0ed4e2d3fbaae47c9ffbc95b5c4982c3386e7e7d6592c9c79df31597cc8238db41fc0b1e431db6", + "sha1": "fead1d1645e16cfa02f39113481ead355230f8fd" + }, + "required_dependencies": [], + "size": 1039047, + "date_published": "2026-01-31T01:40:17.094003Z" } ] }, @@ -7147,8 +7147,8 @@ }, "files": [ { - "type": "modrinth", - "file_name": "greate-0.0.66.jar", + "type": "curseforge", + "file_name": "greate-0.0.68.jar", "mc_versions": [ "1.20.1" ], @@ -7157,44 +7157,44 @@ "neoforge" ], "release_type": "alpha", - "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/PKMB9cOR/greate-0.0.66.jar", - "id": "PKMB9cOR", + "url": "https://edge.forgecdn.net/files/7607/166/greate-0.0.68.jar", + "id": "7607166", + "parent_id": "901996", + "hashes": { + "sha1": "3c8440369aa81b8c2685664550475858ab2c3e7c", + "md5": "2378c7a2d49ae74c3afdb96ca8665b39" + }, + "required_dependencies": [ + "890405", + "328085" + ], + "size": 1304985, + "date_published": "2026-02-11T03:22:02.990Z" + }, + { + "type": "modrinth", + "file_name": "greate-0.0.68.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "alpha", + "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/DvMN1dCJ/greate-0.0.68.jar", + "id": "DvMN1dCJ", "parent_id": "8wDcQuht", "hashes": { - "sha512": "664e7ef0bd1a75739159dd2da6e8acb1085071c50f057eb8e8edd9b6e3c71c738364c328f98cfa00841a55411fa27980c53befea3a9867d1245bc7818f326560", - "sha1": "34cc291020c237e39e0f04939cc78ccf2a9ab862" + "sha512": "6e748b2fbf5da824a8c2e492df024d2b9d6319edc99f6e3fc8c8baabd18bc87cc93a62883e4d19bccfd14a298f5cb633c1b04e5f51a574ceee216665c5013f12", + "sha1": "3c8440369aa81b8c2685664550475858ab2c3e7c" }, "required_dependencies": [ "7tG215v7", "LNytGWDc" ], - "size": 1302534, - "date_published": "2026-02-06T02:33:01.791850Z" - }, - { - "type": "curseforge", - "file_name": "greate-0.0.66.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "alpha", - "url": "https://edge.forgecdn.net/files/7582/520/greate-0.0.66.jar", - "id": "7582520", - "parent_id": "901996", - "hashes": { - "sha1": "34cc291020c237e39e0f04939cc78ccf2a9ab862", - "md5": "5a4ed301d6d3ab28f32be01489390cc7" - }, - "required_dependencies": [ - "328085", - "890405" - ], - "size": 1302534, - "date_published": "2026-02-06T02:32:59.240Z" + "size": 1304985, + "date_published": "2026-02-11T03:22:05.282217Z" } ] }, @@ -7215,30 +7215,9 @@ "modrinth": "7tG215v7" }, "files": [ - { - "type": "modrinth", - "file_name": "gtceu-1.20.1-7.4.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "beta", - "url": "https://cdn.modrinth.com/data/7tG215v7/versions/pJ2sF7rk/gtceu-1.20.1-7.4.1.jar", - "id": "pJ2sF7rk", - "parent_id": "7tG215v7", - "hashes": { - "sha512": "558246262657eaf0a50e141157fec63c5264c81da54d292ddc8e6a0681e8711cdcf13293420fe64982f7d56e5876da8043309299c69afa3eab743e957b3b7a51", - "sha1": "50ae5df1cc5213aa429a976b6393e0bd4e22238e" - }, - "required_dependencies": [], - "size": 18064288, - "date_published": "2026-01-06T09:56:51.537718Z" - }, { "type": "curseforge", - "file_name": "gtceu-1.20.1-7.4.1.jar", + "file_name": "gtceu-1.20.1-7.5.2.jar", "mc_versions": [ "1.20.1" ], @@ -7246,16 +7225,37 @@ "forge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7424/649/gtceu-1.20.1-7.4.1.jar", - "id": "7424649", + "url": "https://edge.forgecdn.net/files/7625/262/gtceu-1.20.1-7.5.2.jar", + "id": "7625262", "parent_id": "890405", "hashes": { - "sha1": "50ae5df1cc5213aa429a976b6393e0bd4e22238e", - "md5": "3542378274c484966f416415f9a7ec6b" + "sha1": "31af78af75d3d2a84582c204c083d225d4df9fcb", + "md5": "d8be9f68e1ebc752dd1f8117e61b4a1e" }, "required_dependencies": [], - "size": 18064288, - "date_published": "2026-01-06T09:56:46.180Z" + "size": 18204198, + "date_published": "2026-02-14T20:16:40.440Z" + }, + { + "type": "modrinth", + "file_name": "gtceu-1.20.1-7.5.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/7tG215v7/versions/JwHbHFCN/gtceu-1.20.1-7.5.2.jar", + "id": "JwHbHFCN", + "parent_id": "7tG215v7", + "hashes": { + "sha512": "8fcb53bdb4d1eee12f8f1f74c4de8041fec69bad902efd66fd6325e7ab1298ab01fc9a28da3e575b044da65c3b31adcfc65f0573b0ef6e8fe512a1b078195409", + "sha1": "31af78af75d3d2a84582c204c083d225d4df9fcb" + }, + "required_dependencies": [], + "size": 18204198, + "date_published": "2026-02-14T20:16:50.733016Z" } ] }, @@ -7317,6 +7317,24 @@ "modrinth": "fUawEtti" }, "files": [ + { + "type": "curseforge", + "file_name": "[ver_0.22]_GT_Revival 32x_1.19.2-1.20.1-1.21.zip", + "mc_versions": [ + "1.20.1" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7397/183/[ver_0.22]_GT_Revival 32x_1.19.2-1.20.1-1.21.zip", + "id": "7397183", + "parent_id": "964322", + "hashes": { + "sha1": "56e46338a29a64c3218191e3418f21d731b5a17e", + "md5": "914085c283ce8b0fb10cdfaf063cb2c8" + }, + "required_dependencies": [], + "size": 8884123, + "date_published": "2025-12-30T17:57:31.660Z" + }, { "type": "modrinth", "file_name": "[ver_0.22]_GT_Revival 32x_1.19.2-1.20.1-1.21.zip", @@ -7341,24 +7359,6 @@ "required_dependencies": [], "size": 8884123, "date_published": "2026-01-05T16:23:46.810793Z" - }, - { - "type": "curseforge", - "file_name": "[ver_0.22]_GT_Revival 32x_1.19.2-1.20.1-1.21.zip", - "mc_versions": [ - "1.20.1" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7397/183/[ver_0.22]_GT_Revival 32x_1.19.2-1.20.1-1.21.zip", - "id": "7397183", - "parent_id": "964322", - "hashes": { - "sha1": "56e46338a29a64c3218191e3418f21d731b5a17e", - "md5": "914085c283ce8b0fb10cdfaf063cb2c8" - }, - "required_dependencies": [], - "size": 8884123, - "date_published": "2025-12-30T17:57:31.660Z" } ] }, @@ -7379,27 +7379,6 @@ "modrinth": "Ck4E7v7R" }, "files": [ - { - "type": "modrinth", - "file_name": "guideme-20.1.14.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/Ck4E7v7R/versions/9YGnKYDF/guideme-20.1.14.jar", - "id": "9YGnKYDF", - "parent_id": "Ck4E7v7R", - "hashes": { - "sha512": "15311cb0607205d2da3eb369499b8523bd0d8fa41e30c87c0b0e5756df5ea2123389262e6883f66e6c7b1d43d68e20cdfec73b31c202df8fbb99fa80d4fe7b1d", - "sha1": "57d883148f04989128505a1bd8919629440f714f" - }, - "required_dependencies": [], - "size": 9413204, - "date_published": "2025-10-19T22:32:07.928990Z" - }, { "type": "curseforge", "file_name": "guideme-20.1.14.jar", @@ -7420,6 +7399,27 @@ "required_dependencies": [], "size": 9413204, "date_published": "2025-10-19T22:32:04.637Z" + }, + { + "type": "modrinth", + "file_name": "guideme-20.1.14.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/Ck4E7v7R/versions/9YGnKYDF/guideme-20.1.14.jar", + "id": "9YGnKYDF", + "parent_id": "Ck4E7v7R", + "hashes": { + "sha512": "15311cb0607205d2da3eb369499b8523bd0d8fa41e30c87c0b0e5756df5ea2123389262e6883f66e6c7b1d43d68e20cdfec73b31c202df8fbb99fa80d4fe7b1d", + "sha1": "57d883148f04989128505a1bd8919629440f714f" + }, + "required_dependencies": [], + "size": 9413204, + "date_published": "2025-10-19T22:32:07.928990Z" } ] }, @@ -7637,6 +7637,24 @@ "modrinth": "vqrI97xw" }, "files": [ + { + "type": "curseforge", + "file_name": "[1.20.1_ver_0.19]_ILAORE's_TFC_32x.zip", + "mc_versions": [ + "1.20.1" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7026/33/[1.20.1_ver_0.19]_ILAORE's_TFC_32x.zip", + "id": "7026033", + "parent_id": "952112", + "hashes": { + "sha1": "72c7941c05b5c16fef512f8adcd2abed70c96951", + "md5": "b60646246aad6a5f070439448a846b4e" + }, + "required_dependencies": [], + "size": 39418388, + "date_published": "2025-09-23T16:12:46.653Z" + }, { "type": "modrinth", "file_name": "[1.20.1_ver_0.19]_ILAORE's_TFC_32x.zip", @@ -7658,24 +7676,6 @@ "required_dependencies": [], "size": 39418388, "date_published": "2025-09-23T16:12:15.884510Z" - }, - { - "type": "curseforge", - "file_name": "[1.20.1_ver_0.19]_ILAORE's_TFC_32x.zip", - "mc_versions": [ - "1.20.1" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7026/33/[1.20.1_ver_0.19]_ILAORE's_TFC_32x.zip", - "id": "7026033", - "parent_id": "952112", - "hashes": { - "sha1": "72c7941c05b5c16fef512f8adcd2abed70c96951", - "md5": "b60646246aad6a5f070439448a846b4e" - }, - "required_dependencies": [], - "size": 39418388, - "date_published": "2025-09-23T16:12:46.653Z" } ] }, @@ -7696,31 +7696,6 @@ "modrinth": "5ZwdcRci" }, "files": [ - { - "type": "modrinth", - "file_name": "ImmediatelyFast-Forge-1.5.4+1.20.4.jar", - "mc_versions": [ - "1.20", - "1.20.1", - "1.20.2", - "1.20.3", - "1.20.4" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/5ZwdcRci/versions/OomXW3xp/ImmediatelyFast-Forge-1.5.4+1.20.4.jar", - "id": "OomXW3xp", - "parent_id": "5ZwdcRci", - "hashes": { - "sha512": "b4a30951b41367cbf6567e38d7ddada4a381b430e2bd2d2b01e195d1a8c434e9811af61b28962c1152bf5c669f3ede2551694df4e1b500b35cdf78178aa9e9f0", - "sha1": "e2e60485a0c3efa72f1948c952b095150e3ba4fc" - }, - "required_dependencies": [], - "size": 538992, - "date_published": "2026-01-27T21:06:43.866649Z" - }, { "type": "curseforge", "file_name": "ImmediatelyFast-Forge-1.5.4+1.20.4.jar", @@ -7745,6 +7720,31 @@ "required_dependencies": [], "size": 538992, "date_published": "2026-01-27T21:06:43.760Z" + }, + { + "type": "modrinth", + "file_name": "ImmediatelyFast-Forge-1.5.4+1.20.4.jar", + "mc_versions": [ + "1.20", + "1.20.1", + "1.20.2", + "1.20.3", + "1.20.4" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/5ZwdcRci/versions/OomXW3xp/ImmediatelyFast-Forge-1.5.4+1.20.4.jar", + "id": "OomXW3xp", + "parent_id": "5ZwdcRci", + "hashes": { + "sha512": "b4a30951b41367cbf6567e38d7ddada4a381b430e2bd2d2b01e195d1a8c434e9811af61b28962c1152bf5c669f3ede2551694df4e1b500b35cdf78178aa9e9f0", + "sha1": "e2e60485a0c3efa72f1948c952b095150e3ba4fc" + }, + "required_dependencies": [], + "size": 538992, + "date_published": "2026-01-27T21:06:43.866649Z" } ] }, @@ -7765,27 +7765,6 @@ "modrinth": "x3HZvrj6" }, "files": [ - { - "type": "modrinth", - "file_name": "immersive_aircraft-1.4.0+1.20.1-forge.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/x3HZvrj6/versions/jPZ0GRsN/immersive_aircraft-1.4.0+1.20.1-forge.jar", - "id": "jPZ0GRsN", - "parent_id": "x3HZvrj6", - "hashes": { - "sha512": "c89ce2ec78ced38c71b0bb022db0a3218556b5479e148a3f751c40456a79fb18799a3f1233e3be03bc18754d5fe1db2dd16f2bd826396a4c777e4e1acaa9fe76", - "sha1": "64e6c792c5208005ee6b099e8fb7d2738873737d" - }, - "required_dependencies": [], - "size": 2428368, - "date_published": "2025-09-07T14:19:11.649750Z" - }, { "type": "curseforge", "file_name": "immersive_aircraft-1.4.0+1.20.1-forge.jar", @@ -7806,6 +7785,27 @@ "required_dependencies": [], "size": 2428368, "date_published": "2025-09-07T14:19:09.407Z" + }, + { + "type": "modrinth", + "file_name": "immersive_aircraft-1.4.0+1.20.1-forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/x3HZvrj6/versions/jPZ0GRsN/immersive_aircraft-1.4.0+1.20.1-forge.jar", + "id": "jPZ0GRsN", + "parent_id": "x3HZvrj6", + "hashes": { + "sha512": "c89ce2ec78ced38c71b0bb022db0a3218556b5479e148a3f751c40456a79fb18799a3f1233e3be03bc18754d5fe1db2dd16f2bd826396a4c777e4e1acaa9fe76", + "sha1": "64e6c792c5208005ee6b099e8fb7d2738873737d" + }, + "required_dependencies": [], + "size": 2428368, + "date_published": "2025-09-07T14:19:11.649750Z" } ] }, @@ -7826,27 +7826,6 @@ "modrinth": "vNZgQmjg" }, "files": [ - { - "type": "modrinth", - "file_name": "immersive_optimization-forge-1.20.1-0.1.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/vNZgQmjg/versions/IbAHAwYb/immersive_optimization-forge-1.20.1-0.1.0.jar", - "id": "IbAHAwYb", - "parent_id": "vNZgQmjg", - "hashes": { - "sha512": "38f833638b29c098005e18068fb5f3957462dea496176d446b400c37bf4fb19343dd250993cd458465bfe29c0b1f27afbb5bc3a7245b972fed82ea8e70a0c8c8", - "sha1": "58a2e199bf7992edb6ac765e7694be96cb53efde" - }, - "required_dependencies": [], - "size": 51912, - "date_published": "2025-09-06T16:49:09.502037Z" - }, { "type": "curseforge", "file_name": "immersive_optimization-forge-1.20.1-0.1.0.jar", @@ -7867,6 +7846,27 @@ "required_dependencies": [], "size": 51912, "date_published": "2025-09-06T16:49:08.220Z" + }, + { + "type": "modrinth", + "file_name": "immersive_optimization-forge-1.20.1-0.1.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/vNZgQmjg/versions/IbAHAwYb/immersive_optimization-forge-1.20.1-0.1.0.jar", + "id": "IbAHAwYb", + "parent_id": "vNZgQmjg", + "hashes": { + "sha512": "38f833638b29c098005e18068fb5f3957462dea496176d446b400c37bf4fb19343dd250993cd458465bfe29c0b1f27afbb5bc3a7245b972fed82ea8e70a0c8c8", + "sha1": "58a2e199bf7992edb6ac765e7694be96cb53efde" + }, + "required_dependencies": [], + "size": 51912, + "date_published": "2025-09-06T16:49:09.502037Z" } ] }, @@ -7887,6 +7887,24 @@ "modrinth": "dOV2wnYX" }, "files": [ + { + "type": "curseforge", + "file_name": "[1.20.1_ver_0.05.1]_Improved_AE_2_32x.zip", + "mc_versions": [ + "1.20.1" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7590/860/[1.20.1_ver_0.05.1]_Improved_AE_2_32x.zip", + "id": "7590860", + "parent_id": "891816", + "hashes": { + "sha1": "a88aca7ec618bfb8ce4f2ab596c5c2c9c6e41193", + "md5": "eba81a21ae31f7b50f5b6aef0d905496" + }, + "required_dependencies": [], + "size": 2703847, + "date_published": "2026-02-07T20:56:33.880Z" + }, { "type": "modrinth", "file_name": "[1.20.1_ver_0.05.1]_Improved_AE_2_32x.zip", @@ -7908,24 +7926,6 @@ "required_dependencies": [], "size": 2703847, "date_published": "2026-02-07T20:56:27.938640Z" - }, - { - "type": "curseforge", - "file_name": "[1.20.1_ver_0.05.1]_Improved_AE_2_32x.zip", - "mc_versions": [ - "1.20.1" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7590/860/[1.20.1_ver_0.05.1]_Improved_AE_2_32x.zip", - "id": "7590860", - "parent_id": "891816", - "hashes": { - "sha1": "a88aca7ec618bfb8ce4f2ab596c5c2c9c6e41193", - "md5": "eba81a21ae31f7b50f5b6aef0d905496" - }, - "required_dependencies": [], - "size": 2703847, - "date_published": "2026-02-07T20:56:33.880Z" } ] }, @@ -7946,6 +7946,24 @@ "modrinth": "ZyLGK5YD" }, "files": [ + { + "type": "curseforge", + "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/7383/828/[1.20.1_ver_0.06.1]_Improved_Create_32x.zip", + "id": "7383828", + "parent_id": "973588", + "hashes": { + "sha1": "bbb13393f052cee815db4a9908e5d30696f604dc", + "md5": "17eeab5d55dc08e2d01658f85d0cd8f9" + }, + "required_dependencies": [], + "size": 12615396, + "date_published": "2025-12-27T08:19:03.583Z" + }, { "type": "modrinth", "file_name": "[1.20.1_ver_0.06.1]_Improved_Create_32x.zip", @@ -7967,24 +7985,6 @@ "required_dependencies": [], "size": 12615396, "date_published": "2025-12-27T08:18:58.690542Z" - }, - { - "type": "curseforge", - "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/7383/828/[1.20.1_ver_0.06.1]_Improved_Create_32x.zip", - "id": "7383828", - "parent_id": "973588", - "hashes": { - "sha1": "bbb13393f052cee815db4a9908e5d30696f604dc", - "md5": "17eeab5d55dc08e2d01658f85d0cd8f9" - }, - "required_dependencies": [], - "size": 12615396, - "date_published": "2025-12-27T08:19:03.583Z" } ] }, @@ -8312,29 +8312,6 @@ "modrinth": "nvQzSEkH" }, "files": [ - { - "type": "modrinth", - "file_name": "Jade-1.20.1-Forge-11.13.2.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/nvQzSEkH/versions/LecuGude/Jade-1.20.1-Forge-11.13.2.jar", - "id": "LecuGude", - "parent_id": "nvQzSEkH", - "hashes": { - "sha512": "612c7535d28ae0cb336f31b790770b3dcb5173d496fb74eabcb28d06e3b88e72733128060cefc4ae4147cce528a8e8c09688a36d8f9e11dbf77e93d89b743560", - "sha1": "1997e5fe2db3a0575ca79bfe4720019f01fd2b8c" - }, - "required_dependencies": [], - "size": 552486, - "date_published": "2025-08-06T14:20:00.809085Z" - }, { "type": "curseforge", "file_name": "Jade-1.20.1-Forge-11.13.2.jar", @@ -8357,6 +8334,29 @@ "required_dependencies": [], "size": 552486, "date_published": "2025-08-06T14:19:52.700Z" + }, + { + "type": "modrinth", + "file_name": "Jade-1.20.1-Forge-11.13.2.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/nvQzSEkH/versions/LecuGude/Jade-1.20.1-Forge-11.13.2.jar", + "id": "LecuGude", + "parent_id": "nvQzSEkH", + "hashes": { + "sha512": "612c7535d28ae0cb336f31b790770b3dcb5173d496fb74eabcb28d06e3b88e72733128060cefc4ae4147cce528a8e8c09688a36d8f9e11dbf77e93d89b743560", + "sha1": "1997e5fe2db3a0575ca79bfe4720019f01fd2b8c" + }, + "required_dependencies": [], + "size": 552486, + "date_published": "2025-08-06T14:20:00.809085Z" } ] }, @@ -8440,6 +8440,32 @@ "modrinth": "ordsPcFz" }, "files": [ + { + "type": "curseforge", + "file_name": "kotlinforforge-4.12.0-all.jar", + "mc_versions": [ + "1.20.2", + "1.20.1", + "1.20", + "1.20.4", + "1.20.3" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7291/67/kotlinforforge-4.12.0-all.jar", + "id": "7291067", + "parent_id": "351264", + "hashes": { + "sha1": "962fdb760409d6d71cbf079235f1ca94e3863a22", + "md5": "d6a40dede74edbe646b34a1bafd53b4d" + }, + "required_dependencies": [], + "size": 7442998, + "date_published": "2025-12-03T19:47:08.457Z" + }, { "type": "modrinth", "file_name": "kotlinforforge-4.12.0-all.jar", @@ -8467,32 +8493,6 @@ "required_dependencies": [], "size": 7442998, "date_published": "2025-12-03T19:48:01.561702Z" - }, - { - "type": "curseforge", - "file_name": "kotlinforforge-4.12.0-all.jar", - "mc_versions": [ - "1.20.2", - "1.20.1", - "1.20", - "1.20.4", - "1.20.3" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7291/67/kotlinforforge-4.12.0-all.jar", - "id": "7291067", - "parent_id": "351264", - "hashes": { - "sha1": "962fdb760409d6d71cbf079235f1ca94e3863a22", - "md5": "d6a40dede74edbe646b34a1bafd53b4d" - }, - "required_dependencies": [], - "size": 7442998, - "date_published": "2025-12-03T19:47:08.457Z" } ] }, @@ -8717,31 +8717,6 @@ "modrinth": "mhtClB2S" }, "files": [ - { - "type": "modrinth", - "file_name": "kubejs_tfc-1.20.1-1.3.3.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/mhtClB2S/versions/XeAvj4GH/kubejs_tfc-1.20.1-1.3.3.jar", - "id": "XeAvj4GH", - "parent_id": "mhtClB2S", - "hashes": { - "sha512": "8d9a61fa3eb441ff8b098e4f5ed87b49bc3ce5568750d8ab27846ef49862892a8f4cb085994e7c30f6d3c56fce59b7fa7c7f40b951f048c89f05f85df3d8a68b", - "sha1": "5561aa3db97bf01d0b02e09164276bba9b8f7fd8" - }, - "required_dependencies": [ - "umyGl7zF", - "JaCEZUhg" - ], - "size": 973038, - "date_published": "2025-09-14T16:00:02.370745Z" - }, { "type": "curseforge", "file_name": "kubejs_tfc-1.20.1-1.3.3.jar", @@ -8766,6 +8741,31 @@ ], "size": 973038, "date_published": "2025-09-14T15:59:47.140Z" + }, + { + "type": "modrinth", + "file_name": "kubejs_tfc-1.20.1-1.3.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/mhtClB2S/versions/XeAvj4GH/kubejs_tfc-1.20.1-1.3.3.jar", + "id": "XeAvj4GH", + "parent_id": "mhtClB2S", + "hashes": { + "sha512": "8d9a61fa3eb441ff8b098e4f5ed87b49bc3ce5568750d8ab27846ef49862892a8f4cb085994e7c30f6d3c56fce59b7fa7c7f40b951f048c89f05f85df3d8a68b", + "sha1": "5561aa3db97bf01d0b02e09164276bba9b8f7fd8" + }, + "required_dependencies": [ + "umyGl7zF", + "JaCEZUhg" + ], + "size": 973038, + "date_published": "2025-09-14T16:00:02.370745Z" } ] }, @@ -8988,27 +8988,6 @@ "curseforge": "616457" }, "files": [ - { - "type": "modrinth", - "file_name": "lodestone-1.20.1-1.6.4.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/bN3xUWdo/versions/dRIycWqx/lodestone-1.20.1-1.6.4.1.jar", - "id": "dRIycWqx", - "parent_id": "bN3xUWdo", - "hashes": { - "sha512": "fec5107deb73c06c4b1756349cb874e0933c4181fd20e8528e46a24e35ccb048898c8607830deea3242d7303784a9c3a03f3fadd40d13fb6dc27a34a77f5cc85", - "sha1": "e6346060ae70cbf103b231d8a1536bcd044c84a8" - }, - "required_dependencies": [], - "size": 670934, - "date_published": "2025-02-20T16:05:31.211605Z" - }, { "type": "curseforge", "file_name": "lodestone-1.20.1-1.6.4.1.jar", @@ -9030,6 +9009,27 @@ "required_dependencies": [], "size": 670934, "date_published": "2025-02-20T15:59:37.757Z" + }, + { + "type": "modrinth", + "file_name": "lodestone-1.20.1-1.6.4.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/bN3xUWdo/versions/dRIycWqx/lodestone-1.20.1-1.6.4.1.jar", + "id": "dRIycWqx", + "parent_id": "bN3xUWdo", + "hashes": { + "sha512": "fec5107deb73c06c4b1756349cb874e0933c4181fd20e8528e46a24e35ccb048898c8607830deea3242d7303784a9c3a03f3fadd40d13fb6dc27a34a77f5cc85", + "sha1": "e6346060ae70cbf103b231d8a1536bcd044c84a8" + }, + "required_dependencies": [], + "size": 670934, + "date_published": "2025-02-20T16:05:31.211605Z" } ] }, @@ -9050,28 +9050,6 @@ "modrinth": "fJFETWDN" }, "files": [ - { - "type": "modrinth", - "file_name": "lootjs-forge-1.20.1-2.13.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/fJFETWDN/versions/wltVDhRB/lootjs-forge-1.20.1-2.13.1.jar", - "id": "wltVDhRB", - "parent_id": "fJFETWDN", - "hashes": { - "sha512": "c03a07caf451a272f8027a47bb951db73f19bb24d603b61f0328a1769568a98f3912ec6b7bf39218062add102cb8fa7b29ae4ca73731cfa2db09eaac8fcf1033", - "sha1": "804deb0bd34d69cad873170642b9d7e47fa0d6ad" - }, - "required_dependencies": [], - "size": 242267, - "date_published": "2026-01-30T16:31:51.682167Z" - }, { "type": "curseforge", "file_name": "lootjs-forge-1.20.1-2.13.1.jar", @@ -9093,6 +9071,28 @@ "required_dependencies": [], "size": 242267, "date_published": "2026-01-30T16:31:51.313Z" + }, + { + "type": "modrinth", + "file_name": "lootjs-forge-1.20.1-2.13.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/fJFETWDN/versions/wltVDhRB/lootjs-forge-1.20.1-2.13.1.jar", + "id": "wltVDhRB", + "parent_id": "fJFETWDN", + "hashes": { + "sha512": "c03a07caf451a272f8027a47bb951db73f19bb24d603b61f0328a1769568a98f3912ec6b7bf39218062add102cb8fa7b29ae4ca73731cfa2db09eaac8fcf1033", + "sha1": "804deb0bd34d69cad873170642b9d7e47fa0d6ad" + }, + "required_dependencies": [], + "size": 242267, + "date_published": "2026-01-30T16:31:51.682167Z" } ] }, @@ -9113,28 +9113,6 @@ "modrinth": "EltpO5cN" }, "files": [ - { - "type": "modrinth", - "file_name": "lootr-forge-1.20-0.7.35.94.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/EltpO5cN/versions/mWTXC1ZX/lootr-forge-1.20-0.7.35.94.jar", - "id": "mWTXC1ZX", - "parent_id": "EltpO5cN", - "hashes": { - "sha512": "a04c6371376bfdac2b10cbb2bb9af7ded10ac26faaeb252b59aab2f02c2b2064c2c4ab665fb6ea218243e89d6f237d878c6951638bb948edead2c0a604dd023a", - "sha1": "1ec77a7df8adbf3290a296bf25b8f99f37a60020" - }, - "required_dependencies": [], - "size": 463485, - "date_published": "2025-11-26T03:16:17.725541Z" - }, { "type": "curseforge", "file_name": "lootr-forge-1.20-0.7.35.94.jar", @@ -9156,6 +9134,28 @@ "required_dependencies": [], "size": 463485, "date_published": "2025-11-26T03:14:51.900Z" + }, + { + "type": "modrinth", + "file_name": "lootr-forge-1.20-0.7.35.94.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/EltpO5cN/versions/mWTXC1ZX/lootr-forge-1.20-0.7.35.94.jar", + "id": "mWTXC1ZX", + "parent_id": "EltpO5cN", + "hashes": { + "sha512": "a04c6371376bfdac2b10cbb2bb9af7ded10ac26faaeb252b59aab2f02c2b2064c2c4ab665fb6ea218243e89d6f237d878c6951638bb948edead2c0a604dd023a", + "sha1": "1ec77a7df8adbf3290a296bf25b8f99f37a60020" + }, + "required_dependencies": [], + "size": 463485, + "date_published": "2025-11-26T03:16:17.725541Z" } ] }, @@ -9176,30 +9176,6 @@ "modrinth": "E6BFl96N" }, "files": [ - { - "type": "curseforge", - "file_name": "merequester-forge-1.20.1-1.1.5.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/5689/932/merequester-forge-1.20.1-1.1.5.jar", - "id": "5689932", - "parent_id": "688367", - "hashes": { - "sha1": "24e6611df470afd957eafd16c43890b7214e3da9", - "md5": "c5d4241640b6ed5755915003fda4d2af" - }, - "required_dependencies": [ - "223794" - ], - "size": 171854, - "date_published": "2024-09-03T16:16:01.980Z" - }, { "type": "modrinth", "file_name": "merequester-forge-1.20.1-1.1.5.jar", @@ -9223,6 +9199,30 @@ ], "size": 171854, "date_published": "2024-09-03T16:15:59.923303Z" + }, + { + "type": "curseforge", + "file_name": "merequester-forge-1.20.1-1.1.5.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5689/932/merequester-forge-1.20.1-1.1.5.jar", + "id": "5689932", + "parent_id": "688367", + "hashes": { + "sha1": "24e6611df470afd957eafd16c43890b7214e3da9", + "md5": "c5d4241640b6ed5755915003fda4d2af" + }, + "required_dependencies": [ + "223794" + ], + "size": 171854, + "date_published": "2024-09-03T16:16:01.980Z" } ] }, @@ -9508,27 +9508,6 @@ "modrinth": "nmDcB62a" }, "files": [ - { - "type": "modrinth", - "file_name": "modernfix-forge-5.26.2+mc1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/Uvlhuprw/modernfix-forge-5.26.2+mc1.20.1.jar", - "id": "Uvlhuprw", - "parent_id": "nmDcB62a", - "hashes": { - "sha512": "46e6fb85c3097d3dedca0409fda83d58b3724a0905a5f5417b8bfaa2cb8bce388e6d42c762ee615413a9bc2692fa4b302d7e2405fe6fd7ad82c9def6a5da9028", - "sha1": "0adfc122e9f632d8847688c4c3ed20a1af182afa" - }, - "required_dependencies": [], - "size": 826829, - "date_published": "2026-01-24T01:51:58.806460Z" - }, { "type": "curseforge", "file_name": "modernfix-forge-5.26.2+mc1.20.1.jar", @@ -9549,6 +9528,27 @@ "required_dependencies": [], "size": 826829, "date_published": "2026-01-24T01:51:57.657Z" + }, + { + "type": "modrinth", + "file_name": "modernfix-forge-5.26.2+mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/Uvlhuprw/modernfix-forge-5.26.2+mc1.20.1.jar", + "id": "Uvlhuprw", + "parent_id": "nmDcB62a", + "hashes": { + "sha512": "46e6fb85c3097d3dedca0409fda83d58b3724a0905a5f5417b8bfaa2cb8bce388e6d42c762ee615413a9bc2692fa4b302d7e2405fe6fd7ad82c9def6a5da9028", + "sha1": "0adfc122e9f632d8847688c4c3ed20a1af182afa" + }, + "required_dependencies": [], + "size": 826829, + "date_published": "2026-01-24T01:51:58.806460Z" } ] }, @@ -9569,27 +9569,6 @@ "modrinth": "efD07SBK" }, "files": [ - { - "type": "modrinth", - "file_name": "ags_modernmarkings-0.4.4-1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/efD07SBK/versions/XA2b4xp4/ags_modernmarkings-0.4.4-1.20.1.jar", - "id": "XA2b4xp4", - "parent_id": "efD07SBK", - "hashes": { - "sha512": "7200a2a67cabbc5c0e53f2ac1dda96a43ed29f6bc9b88794145043214e06074adf9834843a36653f4c937d6d45ef4fdc26c077cc2b14c5e7b323c5e4c97cab3c", - "sha1": "8102920535de97d06c4c7b05a39f44dd237a13f3" - }, - "required_dependencies": [], - "size": 307489, - "date_published": "2025-12-17T07:47:43.944466Z" - }, { "type": "curseforge", "file_name": "ags_modernmarkings-0.4.4-1.20.1.jar", @@ -9610,6 +9589,27 @@ "required_dependencies": [], "size": 307489, "date_published": "2025-12-16T10:02:13.160Z" + }, + { + "type": "modrinth", + "file_name": "ags_modernmarkings-0.4.4-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/efD07SBK/versions/XA2b4xp4/ags_modernmarkings-0.4.4-1.20.1.jar", + "id": "XA2b4xp4", + "parent_id": "efD07SBK", + "hashes": { + "sha512": "7200a2a67cabbc5c0e53f2ac1dda96a43ed29f6bc9b88794145043214e06074adf9834843a36653f4c937d6d45ef4fdc26c077cc2b14c5e7b323c5e4c97cab3c", + "sha1": "8102920535de97d06c4c7b05a39f44dd237a13f3" + }, + "required_dependencies": [], + "size": 307489, + "date_published": "2025-12-17T07:47:43.944466Z" } ] }, @@ -9630,28 +9630,6 @@ "modrinth": "twkfQtEc" }, "files": [ - { - "type": "modrinth", - "file_name": "moonlight-1.20-2.16.27-forge.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/lrpPgviq/moonlight-1.20-2.16.27-forge.jar", - "id": "lrpPgviq", - "parent_id": "twkfQtEc", - "hashes": { - "sha512": "30b9a16c4643bbbf643304e14d524f72f7aa2343317ba40e136b88a433d2110dc727b7747003126dc9a220e18b5da69585b24c8b3135844ddeef07e5d6006afa", - "sha1": "0a1b384ec20d63e94c56123b53e264dc2afe5b17" - }, - "required_dependencies": [], - "size": 1392973, - "date_published": "2026-01-28T16:55:17.211884Z" - }, { "type": "curseforge", "file_name": "moonlight-1.20-2.16.27-forge.jar", @@ -9673,6 +9651,28 @@ "required_dependencies": [], "size": 1392973, "date_published": "2026-01-28T16:55:09.907Z" + }, + { + "type": "modrinth", + "file_name": "moonlight-1.20-2.16.27-forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/lrpPgviq/moonlight-1.20-2.16.27-forge.jar", + "id": "lrpPgviq", + "parent_id": "twkfQtEc", + "hashes": { + "sha512": "30b9a16c4643bbbf643304e14d524f72f7aa2343317ba40e136b88a433d2110dc727b7747003126dc9a220e18b5da69585b24c8b3135844ddeef07e5d6006afa", + "sha1": "0a1b384ec20d63e94c56123b53e264dc2afe5b17" + }, + "required_dependencies": [], + "size": 1392973, + "date_published": "2026-01-28T16:55:17.211884Z" } ] }, @@ -10123,27 +10123,6 @@ "modrinth": "MPCX6s5C" }, "files": [ - { - "type": "modrinth", - "file_name": "notenoughanimations-forge-1.11.2-mc1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/MPCX6s5C/versions/5SeKXwLU/notenoughanimations-forge-1.11.2-mc1.20.1.jar", - "id": "5SeKXwLU", - "parent_id": "MPCX6s5C", - "hashes": { - "sha512": "594ce4db615446ee20e9938dcb1770c75f2073d82474ff515bebb08fcd1451eac1cd98add2f0a0ddf4b7e35e78525973ae6ed8538a705f5606ce5379173d0718", - "sha1": "fe7898d27c15b76552a69b972abec0728be9ea8a" - }, - "required_dependencies": [], - "size": 1935532, - "date_published": "2026-02-01T17:18:01.484134Z" - }, { "type": "curseforge", "file_name": "notenoughanimations-forge-1.11.2-mc1.20.1.jar", @@ -10164,6 +10143,27 @@ "required_dependencies": [], "size": 1935532, "date_published": "2026-02-01T17:17:59.670Z" + }, + { + "type": "modrinth", + "file_name": "notenoughanimations-forge-1.11.2-mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/MPCX6s5C/versions/5SeKXwLU/notenoughanimations-forge-1.11.2-mc1.20.1.jar", + "id": "5SeKXwLU", + "parent_id": "MPCX6s5C", + "hashes": { + "sha512": "594ce4db615446ee20e9938dcb1770c75f2073d82474ff515bebb08fcd1451eac1cd98add2f0a0ddf4b7e35e78525973ae6ed8538a705f5606ce5379173d0718", + "sha1": "fe7898d27c15b76552a69b972abec0728be9ea8a" + }, + "required_dependencies": [], + "size": 1935532, + "date_published": "2026-02-01T17:18:01.484134Z" } ] }, @@ -10383,6 +10383,34 @@ "modrinth": "c7m1mi73" }, "files": [ + { + "type": "curseforge", + "file_name": "packetfixer-3.3.1-1.18-1.20.4-merged.jar", + "mc_versions": [ + "1.20.2", + "1.20.1", + "1.20", + "1.20.4", + "1.20.3" + ], + "loaders": [ + "fabric", + "forge", + "neoforge", + "quilt" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7221/527/packetfixer-3.3.1-1.18-1.20.4-merged.jar", + "id": "7221527", + "parent_id": "689467", + "hashes": { + "sha1": "0bef29023c8cadb2934d78a8b0066b49d4460974", + "md5": "da8492dc74813d847ba128c23253c376" + }, + "required_dependencies": [], + "size": 188673, + "date_published": "2025-11-14T17:30:18.777Z" + }, { "type": "modrinth", "file_name": "packetfixer-3.3.1-1.18-1.20.4-merged.jar", @@ -10418,34 +10446,6 @@ "required_dependencies": [], "size": 188673, "date_published": "2025-11-14T17:34:13.517155Z" - }, - { - "type": "curseforge", - "file_name": "packetfixer-3.3.1-1.18-1.20.4-merged.jar", - "mc_versions": [ - "1.20.2", - "1.20.1", - "1.20", - "1.20.4", - "1.20.3" - ], - "loaders": [ - "fabric", - "forge", - "neoforge", - "quilt" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7221/527/packetfixer-3.3.1-1.18-1.20.4-merged.jar", - "id": "7221527", - "parent_id": "689467", - "hashes": { - "sha1": "0bef29023c8cadb2934d78a8b0066b49d4460974", - "md5": "da8492dc74813d847ba128c23253c376" - }, - "required_dependencies": [], - "size": 188673, - "date_published": "2025-11-14T17:30:18.777Z" } ] }, @@ -10624,31 +10624,6 @@ "modrinth": "RSeLon5O" }, "files": [ - { - "type": "modrinth", - "file_name": "particle_core-0.3.3+1.20.1+forge.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/RSeLon5O/versions/cFafZfyr/particle_core-0.3.3+1.20.1+forge.jar", - "id": "cFafZfyr", - "parent_id": "RSeLon5O", - "hashes": { - "sha512": "46694c2525b1e14b20ec6043ce9f7e7b92b9fe3a7d55c995951ec54d7acecf1c1a8a674d829efb42e6d1d9c7b0a29fd0edc834a876fb5a85ad90f35b932748ff", - "sha1": "1da5744853d17979033d5ee3cd4251b8340ea7be" - }, - "required_dependencies": [ - "hYykXjDp", - "ordsPcFz" - ], - "size": 773448, - "date_published": "2026-02-05T19:47:58.826248Z" - }, { "type": "curseforge", "file_name": "particle_core-0.3.3+1.20.1+forge.jar", @@ -10673,6 +10648,31 @@ ], "size": 773448, "date_published": "2026-02-05T19:47:53.227Z" + }, + { + "type": "modrinth", + "file_name": "particle_core-0.3.3+1.20.1+forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/RSeLon5O/versions/cFafZfyr/particle_core-0.3.3+1.20.1+forge.jar", + "id": "cFafZfyr", + "parent_id": "RSeLon5O", + "hashes": { + "sha512": "46694c2525b1e14b20ec6043ce9f7e7b92b9fe3a7d55c995951ec54d7acecf1c1a8a674d829efb42e6d1d9c7b0a29fd0edc834a876fb5a85ad90f35b932748ff", + "sha1": "1da5744853d17979033d5ee3cd4251b8340ea7be" + }, + "required_dependencies": [ + "hYykXjDp", + "ordsPcFz" + ], + "size": 773448, + "date_published": "2026-02-05T19:47:58.826248Z" } ] }, @@ -11055,27 +11055,6 @@ "modrinth": "GfUwaZEm" }, "files": [ - { - "type": "modrinth", - "file_name": "primitive_creatures_2.7forge1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/GfUwaZEm/versions/y7oCH4pT/primitive_creatures_2.7forge1.20.1.jar", - "id": "y7oCH4pT", - "parent_id": "GfUwaZEm", - "hashes": { - "sha512": "09ed9ac29baa8ccd0449d953747458254b2f17baa0a2526a9ed55f8199225d6ebd642813d53dc938c3b18b2cbb5dd112912cd02ea709d71c4da23ca83b5bbb59", - "sha1": "f2fb38516941ac4193282af35bc2182ca98b17f5" - }, - "required_dependencies": [], - "size": 526919, - "date_published": "2025-12-02T21:13:23.239833Z" - }, { "type": "curseforge", "file_name": "primitive_creatures_2.7forge1.20.1.jar", @@ -11098,6 +11077,27 @@ ], "size": 526919, "date_published": "2025-12-02T22:23:27.723Z" + }, + { + "type": "modrinth", + "file_name": "primitive_creatures_2.7forge1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/GfUwaZEm/versions/y7oCH4pT/primitive_creatures_2.7forge1.20.1.jar", + "id": "y7oCH4pT", + "parent_id": "GfUwaZEm", + "hashes": { + "sha512": "09ed9ac29baa8ccd0449d953747458254b2f17baa0a2526a9ed55f8199225d6ebd642813d53dc938c3b18b2cbb5dd112912cd02ea709d71c4da23ca83b5bbb59", + "sha1": "f2fb38516941ac4193282af35bc2182ca98b17f5" + }, + "required_dependencies": [], + "size": 526919, + "date_published": "2025-12-02T21:13:23.239833Z" } ] }, @@ -11162,27 +11162,6 @@ "modrinth": "QAGBst4M" }, "files": [ - { - "type": "modrinth", - "file_name": "PuzzlesLib-v8.1.33-1.20.1-Forge.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/QAGBst4M/versions/mIyVGf3d/PuzzlesLib-v8.1.33-1.20.1-Forge.jar", - "id": "mIyVGf3d", - "parent_id": "QAGBst4M", - "hashes": { - "sha512": "4e0a6243f70a7f99bb631940bfeca49f31b13ec34f338d994fe129f0445e738ffd925e5c440f4e6bf822f9013bb8c2156de6dfcd62741d85c3ca3e8221d86a19", - "sha1": "285b7c7616971338ccbe0022c9ea0f8ad3036aaf" - }, - "required_dependencies": [], - "size": 1342987, - "date_published": "2025-08-23T12:27:37.945208Z" - }, { "type": "curseforge", "file_name": "PuzzlesLib-v8.1.33-1.20.1-Forge.jar", @@ -11203,6 +11182,27 @@ "required_dependencies": [], "size": 1342987, "date_published": "2025-08-23T12:27:32.200Z" + }, + { + "type": "modrinth", + "file_name": "PuzzlesLib-v8.1.33-1.20.1-Forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/QAGBst4M/versions/mIyVGf3d/PuzzlesLib-v8.1.33-1.20.1-Forge.jar", + "id": "mIyVGf3d", + "parent_id": "QAGBst4M", + "hashes": { + "sha512": "4e0a6243f70a7f99bb631940bfeca49f31b13ec34f338d994fe129f0445e738ffd925e5c440f4e6bf822f9013bb8c2156de6dfcd62741d85c3ca3e8221d86a19", + "sha1": "285b7c7616971338ccbe0022c9ea0f8ad3036aaf" + }, + "required_dependencies": [], + "size": 1342987, + "date_published": "2025-08-23T12:27:37.945208Z" } ] }, @@ -11447,6 +11447,31 @@ "modrinth": "ca9X1Phr" }, "files": [ + { + "type": "curseforge", + "file_name": "rnr-0.2.2-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7339/318/rnr-0.2.2-1.20.1.jar", + "id": "7339318", + "parent_id": "1048212", + "hashes": { + "sha1": "ab28d720eb0094bd40c37726199831f4f60b4299", + "md5": "82c946ea6261a82d60290f93d91a12cd" + }, + "required_dependencies": [ + "302973", + "306770" + ], + "size": 3568839, + "date_published": "2025-12-16T05:14:29.893Z" + }, { "type": "modrinth", "file_name": "rnr-0.2.2-1.20.1.jar", @@ -11472,31 +11497,6 @@ ], "size": 3568839, "date_published": "2025-12-16T05:13:25.666668Z" - }, - { - "type": "curseforge", - "file_name": "rnr-0.2.2-1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7339/318/rnr-0.2.2-1.20.1.jar", - "id": "7339318", - "parent_id": "1048212", - "hashes": { - "sha1": "ab28d720eb0094bd40c37726199831f4f60b4299", - "md5": "82c946ea6261a82d60290f93d91a12cd" - }, - "required_dependencies": [ - "302973", - "306770" - ], - "size": 3568839, - "date_published": "2025-12-16T05:14:29.893Z" } ] }, @@ -11710,31 +11710,9 @@ "modrinth": "kepjj2sy" }, "files": [ - { - "type": "modrinth", - "file_name": "ShoulderSurfing-Forge-1.20.1-4.18.2.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/kepjj2sy/versions/ALTXWFUW/ShoulderSurfing-Forge-1.20.1-4.18.2.jar", - "id": "ALTXWFUW", - "parent_id": "kepjj2sy", - "hashes": { - "sha512": "e7da5a1532c9be6caff9f308e665ee2a4d0cd5b7969ec735ffead9d1efd5f85f19221b296f6a9f34283bb5945fff8fde33495f0429e10ff6afdb1a305bdee034", - "sha1": "2385592f8a4101edd6627ce2a75811368e5d6abd" - }, - "required_dependencies": [], - "size": 264836, - "date_published": "2026-01-11T15:50:27.470620Z" - }, { "type": "curseforge", - "file_name": "ShoulderSurfing-Forge-1.20.1-4.18.2.jar", + "file_name": "ShoulderSurfing-Forge-1.20.1-4.19.0.jar", "mc_versions": [ "1.20.1", "1.20" @@ -11743,16 +11721,38 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7446/740/ShoulderSurfing-Forge-1.20.1-4.18.2.jar", - "id": "7446740", + "url": "https://edge.forgecdn.net/files/7623/873/ShoulderSurfing-Forge-1.20.1-4.19.0.jar", + "id": "7623873", "parent_id": "243190", "hashes": { - "sha1": "2385592f8a4101edd6627ce2a75811368e5d6abd", - "md5": "4a94ae2bddb6efc105e09d1fc18dbb52" + "sha1": "dd1b9d0a7e9fe560473d325d06247fb85ffa6b26", + "md5": "faff8be7671de467259b42bedc60e0db" }, "required_dependencies": [], - "size": 264836, - "date_published": "2026-01-11T15:50:30.713Z" + "size": 265978, + "date_published": "2026-02-14T14:08:18.973Z" + }, + { + "type": "modrinth", + "file_name": "ShoulderSurfing-Forge-1.20.1-4.19.0.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/kepjj2sy/versions/D24T88Sx/ShoulderSurfing-Forge-1.20.1-4.19.0.jar", + "id": "D24T88Sx", + "parent_id": "kepjj2sy", + "hashes": { + "sha512": "0478097a9f30e82b42d8e312f3bf4880370ad5ff91eab67552eb52d9120b11941a54853ae76b3f89a32467a0bb1489add4ab2d844acd82758f0eeff5887e73ac", + "sha1": "dd1b9d0a7e9fe560473d325d06247fb85ffa6b26" + }, + "required_dependencies": [], + "size": 265978, + "date_published": "2026-02-14T14:08:44.249209Z" } ] }, @@ -11972,31 +11972,6 @@ "curseforge": "558905" }, "files": [ - { - "type": "modrinth", - "file_name": "sodiumextras-forge-1.0.7-1.20.1.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/vqqx0QiE/versions/VNFB2Vgv/sodiumextras-forge-1.0.7-1.20.1.jar", - "id": "VNFB2Vgv", - "parent_id": "vqqx0QiE", - "hashes": { - "sha512": "47f298943079eb6b8f5222cbb093fec0c29c86a6f68e8000545059d64ff5c4cbf76fa774565a0d4d89d1fb0a278b62292f7619fb818e4fdfd9f01a637e7fcbfb", - "sha1": "7603f44bc4750774fbbdc07a3153c391650fcf3d" - }, - "required_dependencies": [ - "sk9rgfiA", - "Es5v4eyq" - ], - "size": 438540, - "date_published": "2025-01-01T04:39:15.567585Z" - }, { "type": "curseforge", "file_name": "sodiumextras-forge-1.0.7-1.20.1.jar", @@ -12021,6 +11996,31 @@ ], "size": 438540, "date_published": "2025-01-01T04:39:13.763Z" + }, + { + "type": "modrinth", + "file_name": "sodiumextras-forge-1.0.7-1.20.1.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/vqqx0QiE/versions/VNFB2Vgv/sodiumextras-forge-1.0.7-1.20.1.jar", + "id": "VNFB2Vgv", + "parent_id": "vqqx0QiE", + "hashes": { + "sha512": "47f298943079eb6b8f5222cbb093fec0c29c86a6f68e8000545059d64ff5c4cbf76fa774565a0d4d89d1fb0a278b62292f7619fb818e4fdfd9f01a637e7fcbfb", + "sha1": "7603f44bc4750774fbbdc07a3153c391650fcf3d" + }, + "required_dependencies": [ + "sk9rgfiA", + "Es5v4eyq" + ], + "size": 438540, + "date_published": "2025-01-01T04:39:15.567585Z" } ] }, @@ -12250,7 +12250,7 @@ "files": [ { "type": "curseforge", - "file_name": "sophisticatedcore-1.20.1-1.3.3.1482.jar", + "file_name": "sophisticatedcore-1.20.1-1.3.4.1491.jar", "mc_versions": [ "1.20.1" ], @@ -12259,20 +12259,20 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7606/268/sophisticatedcore-1.20.1-1.3.3.1482.jar", - "id": "7606268", + "url": "https://edge.forgecdn.net/files/7630/585/sophisticatedcore-1.20.1-1.3.4.1491.jar", + "id": "7630585", "parent_id": "618298", "hashes": { - "sha1": "c907a909351a870d75b3105cd4ec6c8f77b0f259", - "md5": "530785fca963155074190a5e62bd5eba" + "sha1": "1df991d1850e3acf9a330e95ba0b48ce4890c629", + "md5": "b1417985755b643879d6f5b90d72f965" }, "required_dependencies": [], - "size": 1418354, - "date_published": "2026-02-10T22:49:26.660Z" + "size": 1418596, + "date_published": "2026-02-15T20:33:46.907Z" }, { "type": "modrinth", - "file_name": "sophisticatedcore-1.20.1-1.3.3.1482.jar", + "file_name": "sophisticatedcore-1.20.1-1.3.4.1491.jar", "mc_versions": [ "1.20.1" ], @@ -12281,16 +12281,16 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/nmoqTijg/versions/cVOCSbHK/sophisticatedcore-1.20.1-1.3.3.1482.jar", - "id": "cVOCSbHK", + "url": "https://cdn.modrinth.com/data/nmoqTijg/versions/G7Uo3qMM/sophisticatedcore-1.20.1-1.3.4.1491.jar", + "id": "G7Uo3qMM", "parent_id": "nmoqTijg", "hashes": { - "sha512": "7262d8acb2441c9654fccf6594e085ff4ae8e605c9fb2db087c55ad2a1debb00cc5b9c5b1f80053f6024c7da3dfabed16c5228423b7d730d83c018c904204aa8", - "sha1": "fc741821d5f18c61d6d54363d59e42e89942496d" + "sha512": "6142269e6fe192abfe15ca4e3eeb24def692671f3d97dfa0154efbcbb94bdb7c2a55b39eb4710074b7df7d8fda091be39e3b8a5065bbaed2766e98109461619f", + "sha1": "d9f31213cbe1ff3c627b743a6615825240f5cf46" }, "required_dependencies": [], - "size": 1418354, - "date_published": "2026-02-10T22:50:14.650218Z" + "size": 1418596, + "date_published": "2026-02-15T20:34:38.777911Z" } ] }, @@ -12575,28 +12575,6 @@ "modrinth": "K7eNiRnX" }, "files": [ - { - "type": "modrinth", - "file_name": "tfcambiental-1.20.1-3.4.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/K7eNiRnX/versions/dSotPtx8/tfcambiental-1.20.1-3.4.0.jar", - "id": "dSotPtx8", - "parent_id": "K7eNiRnX", - "hashes": { - "sha512": "1ac37c9c4777a596a2418ff31254e59e8421793329235a6f596271d0f634858d4ba11f2e062d8e6f3dd87388b9ce7c197f4eea438eed1a0afad7f51805c22c7a", - "sha1": "4f506dcf9acd95c274225b6ea3dd7dd5cac996ab" - }, - "required_dependencies": [], - "size": 646197, - "date_published": "2025-11-30T08:26:10.111188Z" - }, { "type": "curseforge", "file_name": "tfcambiental-1.20.1-3.4.0.jar", @@ -12618,6 +12596,28 @@ "required_dependencies": [], "size": 646197, "date_published": "2025-11-30T08:24:10.973Z" + }, + { + "type": "modrinth", + "file_name": "tfcambiental-1.20.1-3.4.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/K7eNiRnX/versions/dSotPtx8/tfcambiental-1.20.1-3.4.0.jar", + "id": "dSotPtx8", + "parent_id": "K7eNiRnX", + "hashes": { + "sha512": "1ac37c9c4777a596a2418ff31254e59e8421793329235a6f596271d0f634858d4ba11f2e062d8e6f3dd87388b9ce7c197f4eea438eed1a0afad7f51805c22c7a", + "sha1": "4f506dcf9acd95c274225b6ea3dd7dd5cac996ab" + }, + "required_dependencies": [], + "size": 646197, + "date_published": "2025-11-30T08:26:10.111188Z" } ] }, @@ -12735,29 +12735,6 @@ "modrinth": "tr715LZ4" }, "files": [ - { - "type": "modrinth", - "file_name": "TFCBetterBlastFurnace-1.20.1-1.0.2.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/tr715LZ4/versions/vdRmPxPV/TFCBetterBlastFurnace-1.20.1-1.0.2.jar", - "id": "vdRmPxPV", - "parent_id": "tr715LZ4", - "hashes": { - "sha512": "636086142963badbda90a3e4bd573790c9a0d32ee4b63c7b5245692a4672c057d48e575ea2a5bb7f82da662c75d7748585e7e818c1540faeef021350adf2fba3", - "sha1": "e40bc10f114bce20b9c003a7d42a97834d5a1bcc" - }, - "required_dependencies": [ - "JaCEZUhg" - ], - "size": 22983, - "date_published": "2025-12-30T22:54:19.887776Z" - }, { "type": "curseforge", "file_name": "TFCBetterBlastFurnace-1.20.1-1.0.2.jar", @@ -12780,6 +12757,29 @@ ], "size": 22983, "date_published": "2025-12-30T22:54:18.363Z" + }, + { + "type": "modrinth", + "file_name": "TFCBetterBlastFurnace-1.20.1-1.0.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/tr715LZ4/versions/vdRmPxPV/TFCBetterBlastFurnace-1.20.1-1.0.2.jar", + "id": "vdRmPxPV", + "parent_id": "tr715LZ4", + "hashes": { + "sha512": "636086142963badbda90a3e4bd573790c9a0d32ee4b63c7b5245692a4672c057d48e575ea2a5bb7f82da662c75d7748585e7e818c1540faeef021350adf2fba3", + "sha1": "e40bc10f114bce20b9c003a7d42a97834d5a1bcc" + }, + "required_dependencies": [ + "JaCEZUhg" + ], + "size": 22983, + "date_published": "2025-12-30T22:54:19.887776Z" } ] }, @@ -12803,6 +12803,27 @@ "modrinth": "ZELi9Nbx" }, "files": [ + { + "type": "curseforge", + "file_name": "tfccanes-2.1.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6928/196/tfccanes-2.1.2.jar", + "id": "6928196", + "parent_id": "920202", + "hashes": { + "sha1": "0c362ed60edfe797f020cc253cade2c732551522", + "md5": "3cd70d77bf235b7b3312e3379aa965f3" + }, + "required_dependencies": [], + "size": 42647, + "date_published": "2025-08-25T20:55:34.207Z" + }, { "type": "modrinth", "file_name": "tfccanes-2.1.2.jar", @@ -12825,27 +12846,6 @@ ], "size": 42647, "date_published": "2025-08-26T19:45:32.726512Z" - }, - { - "type": "curseforge", - "file_name": "tfccanes-2.1.2.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6928/196/tfccanes-2.1.2.jar", - "id": "6928196", - "parent_id": "920202", - "hashes": { - "sha1": "0c362ed60edfe797f020cc253cade2c732551522", - "md5": "3cd70d77bf235b7b3312e3379aa965f3" - }, - "required_dependencies": [], - "size": 42647, - "date_published": "2025-08-25T20:55:34.207Z" } ] }, @@ -12983,27 +12983,6 @@ "modrinth": "ERme2o65" }, "files": [ - { - "type": "modrinth", - "file_name": "tfc_gourmet-1.4.3.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/ERme2o65/versions/1ns5Lyk4/tfc_gourmet-1.4.3.jar", - "id": "1ns5Lyk4", - "parent_id": "ERme2o65", - "hashes": { - "sha512": "7fef1e460dfb20478d959efad82093de0c538aa16b8b6294dcd057f06da82dc6ad90c6e1c5adfa275f600de8c04868e952f46b856b36d61402383bdfacac61ec", - "sha1": "103326499c4a574c87474a5af52f97d7a730071f" - }, - "required_dependencies": [], - "size": 398088, - "date_published": "2026-02-02T19:04:40.071653Z" - }, { "type": "curseforge", "file_name": "tfc_gourmet-1.4.2.jar", @@ -13027,6 +13006,27 @@ ], "size": 521700, "date_published": "2026-02-02T03:07:46.393Z" + }, + { + "type": "modrinth", + "file_name": "tfc_gourmet-1.4.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/ERme2o65/versions/1ns5Lyk4/tfc_gourmet-1.4.3.jar", + "id": "1ns5Lyk4", + "parent_id": "ERme2o65", + "hashes": { + "sha512": "7fef1e460dfb20478d959efad82093de0c538aa16b8b6294dcd057f06da82dc6ad90c6e1c5adfa275f600de8c04868e952f46b856b36d61402383bdfacac61ec", + "sha1": "103326499c4a574c87474a5af52f97d7a730071f" + }, + "required_dependencies": [], + "size": 398088, + "date_published": "2026-02-02T19:04:40.071653Z" } ] }, @@ -13190,28 +13190,6 @@ "modrinth": "GJoZTKwF" }, "files": [ - { - "type": "modrinth", - "file_name": "tfclunchbox-1.20.1-1.0.0.28.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "beta", - "url": "https://cdn.modrinth.com/data/GJoZTKwF/versions/nMEFAzzN/tfclunchbox-1.20.1-1.0.0.28.jar", - "id": "nMEFAzzN", - "parent_id": "GJoZTKwF", - "hashes": { - "sha512": "5608516810bcf8c681bb07b30b4e221303ddcc5a5207f81d4979f6b3423e9c5de6d8dd9ef0d0cc3bba7cdb6391175d09050cfcbc4d53256437c7ce74d2dc70ea", - "sha1": "7894fbb87bc561b7c186ec9f3997118b953659d0" - }, - "required_dependencies": [], - "size": 132712, - "date_published": "2026-01-20T16:24:43.553352Z" - }, { "type": "curseforge", "file_name": "tfclunchbox-1.20.1-1.0.0.29.jar", @@ -13234,6 +13212,28 @@ ], "size": 133088, "date_published": "2026-02-10T07:34:13.660Z" + }, + { + "type": "modrinth", + "file_name": "tfclunchbox-1.20.1-1.0.0.28.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/GJoZTKwF/versions/nMEFAzzN/tfclunchbox-1.20.1-1.0.0.28.jar", + "id": "nMEFAzzN", + "parent_id": "GJoZTKwF", + "hashes": { + "sha512": "5608516810bcf8c681bb07b30b4e221303ddcc5a5207f81d4979f6b3423e9c5de6d8dd9ef0d0cc3bba7cdb6391175d09050cfcbc4d53256437c7ce74d2dc70ea", + "sha1": "7894fbb87bc561b7c186ec9f3997118b953659d0" + }, + "required_dependencies": [], + "size": 132712, + "date_published": "2026-01-20T16:24:43.553352Z" } ] }, @@ -13396,6 +13396,30 @@ "modrinth": "RL8eBaUL" }, "files": [ + { + "type": "curseforge", + "file_name": "tfc_support_indicator-1.0.6+mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7446/184/tfc_support_indicator-1.0.6+mc1.20.1.jar", + "id": "7446184", + "parent_id": "1195624", + "hashes": { + "sha1": "b1b4be876060fec0660842abe99279d0c93d5ebc", + "md5": "9b5b1379ac2c48a2a0c14c49242ea0a7" + }, + "required_dependencies": [ + "302973", + "324717" + ], + "size": 8082, + "date_published": "2026-01-11T13:17:17.127Z" + }, { "type": "modrinth", "file_name": "tfc_support_indicator-1.0.6+mc1.20.1.jar", @@ -13424,30 +13448,6 @@ ], "size": 8082, "date_published": "2026-01-11T13:15:07.342346Z" - }, - { - "type": "curseforge", - "file_name": "tfc_support_indicator-1.0.6+mc1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7446/184/tfc_support_indicator-1.0.6+mc1.20.1.jar", - "id": "7446184", - "parent_id": "1195624", - "hashes": { - "sha1": "b1b4be876060fec0660842abe99279d0c93d5ebc", - "md5": "9b5b1379ac2c48a2a0c14c49242ea0a7" - }, - "required_dependencies": [ - "302973", - "324717" - ], - "size": 8082, - "date_published": "2026-01-11T13:17:17.127Z" } ] }, @@ -13683,27 +13683,6 @@ "modrinth": "ONgsGaM9" }, "files": [ - { - "type": "modrinth", - "file_name": "waterflasks-3.0.10.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/ONgsGaM9/versions/ohy689Kk/waterflasks-3.0.10.jar", - "id": "ohy689Kk", - "parent_id": "ONgsGaM9", - "hashes": { - "sha512": "1e2447225b72ac4d638599a9d39b8abbf87942274c6afd5366c2b2aa70f46261181d089bd502f643049ce3f66cc8c2d45329e775ed99a7cc5e2c55ed6f918f15", - "sha1": "d9e9fc125bd401601693de6d694bea43c3bf956e" - }, - "required_dependencies": [], - "size": 953754, - "date_published": "2025-10-02T05:08:54.053613Z" - }, { "type": "curseforge", "file_name": "waterflasks-3.0.10.jar", @@ -13727,6 +13706,27 @@ ], "size": 953754, "date_published": "2025-10-02T05:07:45Z" + }, + { + "type": "modrinth", + "file_name": "waterflasks-3.0.10.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/ONgsGaM9/versions/ohy689Kk/waterflasks-3.0.10.jar", + "id": "ohy689Kk", + "parent_id": "ONgsGaM9", + "hashes": { + "sha512": "1e2447225b72ac4d638599a9d39b8abbf87942274c6afd5366c2b2aa70f46261181d089bd502f643049ce3f66cc8c2d45329e775ed99a7cc5e2c55ed6f918f15", + "sha1": "d9e9fc125bd401601693de6d694bea43c3bf956e" + }, + "required_dependencies": [], + "size": 953754, + "date_published": "2025-10-02T05:08:54.053613Z" } ] }, @@ -13854,30 +13854,6 @@ "modrinth": "yp9Ot3YC" }, "files": [ - { - "type": "modrinth", - "file_name": "tfcgenviewer-1.20.1-1.5.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/yp9Ot3YC/versions/2hMb8aJ5/tfcgenviewer-1.20.1-1.5.1.jar", - "id": "2hMb8aJ5", - "parent_id": "yp9Ot3YC", - "hashes": { - "sha512": "e38f04f1f7faca5633489b35224dfd7363e677e35794516dfa44d7d608508443aba59604fcfbb0d1abbf87a9c096639754df7d6f923a9ae135320e4c54d235f9", - "sha1": "208e780e3f9fc4cbee1de4222d72408162b44a63" - }, - "required_dependencies": [ - "JaCEZUhg" - ], - "size": 392578, - "date_published": "2025-10-04T23:28:33.780282Z" - }, { "type": "curseforge", "file_name": "tfcgenviewer-1.20.1-1.5.1.jar", @@ -13901,6 +13877,30 @@ ], "size": 392578, "date_published": "2025-10-04T23:28:39.597Z" + }, + { + "type": "modrinth", + "file_name": "tfcgenviewer-1.20.1-1.5.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/yp9Ot3YC/versions/2hMb8aJ5/tfcgenviewer-1.20.1-1.5.1.jar", + "id": "2hMb8aJ5", + "parent_id": "yp9Ot3YC", + "hashes": { + "sha512": "e38f04f1f7faca5633489b35224dfd7363e677e35794516dfa44d7d608508443aba59604fcfbb0d1abbf87a9c096639754df7d6f923a9ae135320e4c54d235f9", + "sha1": "208e780e3f9fc4cbee1de4222d72408162b44a63" + }, + "required_dependencies": [ + "JaCEZUhg" + ], + "size": 392578, + "date_published": "2025-10-04T23:28:33.780282Z" } ] }, @@ -14011,32 +14011,6 @@ "modrinth": "H8peNuJG" }, "files": [ - { - "type": "modrinth", - "file_name": "tacz-tweaks-2.13.0-all.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/H8peNuJG/versions/2ElSdr6d/tacz-tweaks-2.13.0-all.jar", - "id": "2ElSdr6d", - "parent_id": "H8peNuJG", - "hashes": { - "sha512": "135248ead8c07f16d28253ae7ff9a7c1574f768921c9fbfa26bc05c4adb2ce1990be7a0e09897209dc758ef5eb2c302368a983fbe07af8168340971741c2d88a", - "sha1": "1b2d7873fd3e2150f339d0d36e588196a50061d1" - }, - "required_dependencies": [ - "ordsPcFz", - "SzzJttH8", - "1eAoo2KR" - ], - "size": 1921024, - "date_published": "2026-02-03T11:33:11.132699Z" - }, { "type": "curseforge", "file_name": "tacz-tweaks-2.13.0-all.jar", @@ -14062,6 +14036,32 @@ ], "size": 1921024, "date_published": "2026-02-03T11:33:11.103Z" + }, + { + "type": "modrinth", + "file_name": "tacz-tweaks-2.13.0-all.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/H8peNuJG/versions/2ElSdr6d/tacz-tweaks-2.13.0-all.jar", + "id": "2ElSdr6d", + "parent_id": "H8peNuJG", + "hashes": { + "sha512": "135248ead8c07f16d28253ae7ff9a7c1574f768921c9fbfa26bc05c4adb2ce1990be7a0e09897209dc758ef5eb2c302368a983fbe07af8168340971741c2d88a", + "sha1": "1b2d7873fd3e2150f339d0d36e588196a50061d1" + }, + "required_dependencies": [ + "ordsPcFz", + "SzzJttH8", + "1eAoo2KR" + ], + "size": 1921024, + "date_published": "2026-02-03T11:33:11.132699Z" } ] }, @@ -14082,30 +14082,6 @@ "modrinth": "JaCEZUhg" }, "files": [ - { - "type": "modrinth", - "file_name": "TerraFirmaCraft-Forge-1.20.1-3.2.20.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/JaCEZUhg/versions/pH3a8Xt2/TerraFirmaCraft-Forge-1.20.1-3.2.20.jar", - "id": "pH3a8Xt2", - "parent_id": "JaCEZUhg", - "hashes": { - "sha512": "6b6b866478c625f746d8caae7eec82cbb817bf53b818b16bc460f3109015a7611a16072b2af607aecba3d3dca3f3d3022dd067a8318fd3359c049326cf19c930", - "sha1": "ea725f5bed9662aa22d4ec089a009bd52fb82275" - }, - "required_dependencies": [ - "nU0bVIaL" - ], - "size": 47421142, - "date_published": "2026-01-10T16:47:00.563746Z" - }, { "type": "curseforge", "file_name": "TerraFirmaCraft-Forge-1.20.1-3.2.20.jar", @@ -14129,6 +14105,30 @@ ], "size": 47421142, "date_published": "2026-01-10T16:46:53.290Z" + }, + { + "type": "modrinth", + "file_name": "TerraFirmaCraft-Forge-1.20.1-3.2.20.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/JaCEZUhg/versions/pH3a8Xt2/TerraFirmaCraft-Forge-1.20.1-3.2.20.jar", + "id": "pH3a8Xt2", + "parent_id": "JaCEZUhg", + "hashes": { + "sha512": "6b6b866478c625f746d8caae7eec82cbb817bf53b818b16bc460f3109015a7611a16072b2af607aecba3d3dca3f3d3022dd067a8318fd3359c049326cf19c930", + "sha1": "ea725f5bed9662aa22d4ec089a009bd52fb82275" + }, + "required_dependencies": [ + "nU0bVIaL" + ], + "size": 47421142, + "date_published": "2026-01-10T16:47:00.563746Z" } ] }, @@ -14153,31 +14153,6 @@ "modrinth": "lNttW2Xl" }, "files": [ - { - "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.21.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/IoQCnHY3/TerraFirmaGreg-Core-Modern-0.8.21.jar", - "id": "IoQCnHY3", - "parent_id": "lNttW2Xl", - "hashes": { - "sha512": "43af8080268115c1ee3bc36967d1f08cd1babc0f23f4d5bff1bfa3e9635169bf336da999ef185fc609fdd5a05b9e8a1d119699234780be6a4c64923f845b8db9", - "sha1": "aa5ce192eee7a877264b036c5ffd2da71bce2807" - }, - "required_dependencies": [ - "7tG215v7", - "JaCEZUhg" - ], - "size": 9631809, - "date_published": "2026-02-09T20:45:23.561477Z" - }, { "type": "curseforge", "file_name": "TerraFirmaGreg-Core-Modern-0.8.21.jar", @@ -14202,6 +14177,31 @@ ], "size": 9631809, "date_published": "2026-02-09T20:45:16.347Z" + }, + { + "type": "modrinth", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.21.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/IoQCnHY3/TerraFirmaGreg-Core-Modern-0.8.21.jar", + "id": "IoQCnHY3", + "parent_id": "lNttW2Xl", + "hashes": { + "sha512": "43af8080268115c1ee3bc36967d1f08cd1babc0f23f4d5bff1bfa3e9635169bf336da999ef185fc609fdd5a05b9e8a1d119699234780be6a4c64923f845b8db9", + "sha1": "aa5ce192eee7a877264b036c5ffd2da71bce2807" + }, + "required_dependencies": [ + "7tG215v7", + "JaCEZUhg" + ], + "size": 9631809, + "date_published": "2026-02-09T20:45:23.561477Z" } ] }, @@ -14222,6 +14222,24 @@ "modrinth": "cFPyBbB1" }, "files": [ + { + "type": "curseforge", + "file_name": "TerraFirmaGreg-Shaders-Unbound-2.0.4.zip", + "mc_versions": [ + "1.20.1" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7071/331/TerraFirmaGreg-Shaders-Unbound-2.0.4.zip", + "id": "7071331", + "parent_id": "954161", + "hashes": { + "sha1": "ddc9642fef583442c3334823a7b15a613c5926b4", + "md5": "be4f6aa6031677e8bcef10588d9ef0a1" + }, + "required_dependencies": [], + "size": 615212, + "date_published": "2025-10-05T20:06:41.043Z" + }, { "type": "modrinth", "file_name": "TerraFirmaGreg-Shaders-Unbound-2.0.4.zip", @@ -14244,24 +14262,6 @@ "required_dependencies": [], "size": 615212, "date_published": "2025-10-05T20:06:42.540324Z" - }, - { - "type": "curseforge", - "file_name": "TerraFirmaGreg-Shaders-Unbound-2.0.4.zip", - "mc_versions": [ - "1.20.1" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7071/331/TerraFirmaGreg-Shaders-Unbound-2.0.4.zip", - "id": "7071331", - "parent_id": "954161", - "hashes": { - "sha1": "ddc9642fef583442c3334823a7b15a613c5926b4", - "md5": "be4f6aa6031677e8bcef10588d9ef0a1" - }, - "required_dependencies": [], - "size": 615212, - "date_published": "2025-10-05T20:06:41.043Z" } ] }, @@ -14464,29 +14464,6 @@ "modrinth": "yFypjcfd" }, "files": [ - { - "type": "modrinth", - "file_name": "toomanyrecipeviewers-0.7.1+mc.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/yFypjcfd/versions/OtMd1Eg9/toomanyrecipeviewers-0.7.1+mc.20.1.jar", - "id": "OtMd1Eg9", - "parent_id": "yFypjcfd", - "hashes": { - "sha512": "a4e7f351f25e5dddc0e61b5afa91222ebd2f878e0a8803bf20cf5373cca3be20136a40d001cfa7fcc076b10555cd0c9aba8e8ad32d11a5be06e9b331db28b7dc", - "sha1": "29bec57f882d3a4bab4a2dc4c46e19cadcd32c67" - }, - "required_dependencies": [ - "fRiHVvU7" - ], - "size": 1667055, - "date_published": "2026-01-03T00:51:46.557524Z" - }, { "type": "curseforge", "file_name": "toomanyrecipeviewers-0.7.1+mc.20.1.jar", @@ -14509,6 +14486,29 @@ ], "size": 1667055, "date_published": "2026-01-03T00:51:42.943Z" + }, + { + "type": "modrinth", + "file_name": "toomanyrecipeviewers-0.7.1+mc.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/yFypjcfd/versions/OtMd1Eg9/toomanyrecipeviewers-0.7.1+mc.20.1.jar", + "id": "OtMd1Eg9", + "parent_id": "yFypjcfd", + "hashes": { + "sha512": "a4e7f351f25e5dddc0e61b5afa91222ebd2f878e0a8803bf20cf5373cca3be20136a40d001cfa7fcc076b10555cd0c9aba8e8ad32d11a5be06e9b331db28b7dc", + "sha1": "29bec57f882d3a4bab4a2dc4c46e19cadcd32c67" + }, + "required_dependencies": [ + "fRiHVvU7" + ], + "size": 1667055, + "date_published": "2026-01-03T00:51:46.557524Z" } ] }, @@ -14886,30 +14886,6 @@ "modrinth": "nWC3kyL3" }, "files": [ - { - "type": "modrinth", - "file_name": "wab-1.20.1-1.4.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/nWC3kyL3/versions/OhVjiSa4/wab-1.20.1-1.4.1.jar", - "id": "OhVjiSa4", - "parent_id": "nWC3kyL3", - "hashes": { - "sha512": "419bfbad4ca78e35f16b34ced2dafa2f6e7af51850875e21756523b5b2a04afb9cc5308d11e74c9cda5e48411c59d3d5b4d29df07a63fb2abc796552df3d31a9", - "sha1": "6a9465b15671d7f1ea2f7b3ed44c881065b945f6" - }, - "required_dependencies": [ - "8BmcQJ2H" - ], - "size": 10167907, - "date_published": "2026-01-30T21:19:29.785723Z" - }, { "type": "curseforge", "file_name": "wab-1.20.1-1.4.1.jar", @@ -14933,6 +14909,30 @@ ], "size": 10167907, "date_published": "2026-01-30T21:16:13.643Z" + }, + { + "type": "modrinth", + "file_name": "wab-1.20.1-1.4.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/nWC3kyL3/versions/OhVjiSa4/wab-1.20.1-1.4.1.jar", + "id": "OhVjiSa4", + "parent_id": "nWC3kyL3", + "hashes": { + "sha512": "419bfbad4ca78e35f16b34ced2dafa2f6e7af51850875e21756523b5b2a04afb9cc5308d11e74c9cda5e48411c59d3d5b4d29df07a63fb2abc796552df3d31a9", + "sha1": "6a9465b15671d7f1ea2f7b3ed44c881065b945f6" + }, + "required_dependencies": [ + "8BmcQJ2H" + ], + "size": 10167907, + "date_published": "2026-01-30T21:19:29.785723Z" } ] }, @@ -14953,28 +14953,6 @@ "modrinth": "1bokaNcj" }, "files": [ - { - "type": "modrinth", - "file_name": "Xaeros_Minimap_25.2.10_Forge_1.20.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/1bokaNcj/versions/VfhlV9am/Xaeros_Minimap_25.2.10_Forge_1.20.jar", - "id": "VfhlV9am", - "parent_id": "1bokaNcj", - "hashes": { - "sha512": "936d2608d74c9a4d702efce51e0197f19f947997af768cb558f4cc5323ea4c5f12ee11b519df4071bdbc8c2aca8caa1baa18f702ef32c24bc4ea78fdbac483b2", - "sha1": "1f23df114da3a8603dbe4781c07e8acf20f6d1ce" - }, - "required_dependencies": [], - "size": 1723029, - "date_published": "2025-07-17T09:12:11.932921Z" - }, { "type": "curseforge", "file_name": "Xaeros_Minimap_25.2.10_Forge_1.20.jar", @@ -14996,6 +14974,28 @@ "required_dependencies": [], "size": 1723029, "date_published": "2025-07-17T08:16:50.807Z" + }, + { + "type": "modrinth", + "file_name": "Xaeros_Minimap_25.2.10_Forge_1.20.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/1bokaNcj/versions/VfhlV9am/Xaeros_Minimap_25.2.10_Forge_1.20.jar", + "id": "VfhlV9am", + "parent_id": "1bokaNcj", + "hashes": { + "sha512": "936d2608d74c9a4d702efce51e0197f19f947997af768cb558f4cc5323ea4c5f12ee11b519df4071bdbc8c2aca8caa1baa18f702ef32c24bc4ea78fdbac483b2", + "sha1": "1f23df114da3a8603dbe4781c07e8acf20f6d1ce" + }, + "required_dependencies": [], + "size": 1723029, + "date_published": "2025-07-17T09:12:11.932921Z" } ] }, @@ -15016,28 +15016,6 @@ "modrinth": "NcUtCpym" }, "files": [ - { - "type": "modrinth", - "file_name": "XaerosWorldMap_1.39.12_Forge_1.20.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/NcUtCpym/versions/ATTRzxT3/XaerosWorldMap_1.39.12_Forge_1.20.jar", - "id": "ATTRzxT3", - "parent_id": "NcUtCpym", - "hashes": { - "sha512": "06d68367ec0a3eed9c13a6c02ce4a93d9375c6b32cb8c3e77a7c62f3e3ea6bfadbfae70d0e5f115e2b353d4b186e6cf80bcc73df5b13362d5d18f25fb2a9d6d1", - "sha1": "3c4005a400ba8270738bbe4c573526749ecf2f8f" - }, - "required_dependencies": [], - "size": 960799, - "date_published": "2025-07-17T08:55:30.592486Z" - }, { "type": "curseforge", "file_name": "XaerosWorldMap_1.39.12_Forge_1.20.jar", @@ -15059,6 +15037,28 @@ "required_dependencies": [], "size": 960799, "date_published": "2025-07-17T08:39:43.103Z" + }, + { + "type": "modrinth", + "file_name": "XaerosWorldMap_1.39.12_Forge_1.20.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/NcUtCpym/versions/ATTRzxT3/XaerosWorldMap_1.39.12_Forge_1.20.jar", + "id": "ATTRzxT3", + "parent_id": "NcUtCpym", + "hashes": { + "sha512": "06d68367ec0a3eed9c13a6c02ce4a93d9375c6b32cb8c3e77a7c62f3e3ea6bfadbfae70d0e5f115e2b353d4b186e6cf80bcc73df5b13362d5d18f25fb2a9d6d1", + "sha1": "3c4005a400ba8270738bbe4c573526749ecf2f8f" + }, + "required_dependencies": [], + "size": 960799, + "date_published": "2025-07-17T08:55:30.592486Z" } ] }, @@ -15285,33 +15285,9 @@ }, "redistributable": false, "files": [ - { - "type": "modrinth", - "file_name": "applied_ammo_box-1.0.2.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/VQOi9K8E/versions/gWlHJiok/applied_ammo_box-1.0.2.jar", - "id": "gWlHJiok", - "parent_id": "VQOi9K8E", - "hashes": { - "sha512": "68a4737236cd9860b5ed90705ad600403fe9e994f8c6f287a9cb533b2e53cb778506890b3d94a14531dd8b33434f0449af886518041cac6e38a57d6c8e1a5c7f", - "sha1": "ab97dbd5bef9a488be8dea88672028963d3c0104" - }, - "required_dependencies": [ - "SzzJttH8", - "XxWD5pD3" - ], - "size": 70291, - "date_published": "2026-01-16T05:09:51.040036Z" - }, { "type": "curseforge", - "file_name": "applied_ammo_box-1.0.2.jar", + "file_name": "applied_ammo_box-1.1.0.jar", "mc_versions": [ "1.20.1" ], @@ -15319,19 +15295,43 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7466/970/applied_ammo_box-1.0.2.jar", - "id": "7466970", + "url": "https://edge.forgecdn.net/files/7627/854/applied_ammo_box-1.1.0.jar", + "id": "7627854", "parent_id": "1338332", "hashes": { - "sha1": "ab97dbd5bef9a488be8dea88672028963d3c0104", - "md5": "c40bdf7f68011830dbf06bd5929e4cfb" + "sha1": "87fb70406a9522c14aeec9e1a467952f82d38e29", + "md5": "fd9c9473119f8b2a51a9a1a8564f80ca" }, "required_dependencies": [ "1028108", "223794" ], - "size": 70291, - "date_published": "2026-01-16T05:02:54.280Z" + "size": 70095, + "date_published": "2026-02-15T10:25:01.203Z" + }, + { + "type": "modrinth", + "file_name": "applied_ammo_box-1.1.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/VQOi9K8E/versions/mT46Q85D/applied_ammo_box-1.1.0.jar", + "id": "mT46Q85D", + "parent_id": "VQOi9K8E", + "hashes": { + "sha512": "4ecc50d55d3abd950eacf048294371bd4f61a817efa423f49bc77427ba4dc460779a07f1010553a91c00ad2e8310c46835ff0ae2e03d9b153e68e3b6ddbac705", + "sha1": "87fb70406a9522c14aeec9e1a467952f82d38e29" + }, + "required_dependencies": [ + "SzzJttH8", + "XxWD5pD3" + ], + "size": 70095, + "date_published": "2026-02-15T10:25:57.540076Z" } ] }, @@ -15352,6 +15352,27 @@ "modrinth": "SzzJttH8" }, "files": [ + { + "type": "curseforge", + "file_name": "tacz-1.20.1-1.1.7-hotfix.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7401/617/tacz-1.20.1-1.1.7-hotfix.jar", + "id": "7401617", + "parent_id": "1028108", + "hashes": { + "sha1": "7d4f578a42c9b880744ea6058a495847aac9e4c3", + "md5": "e91391b09e25ec5994c28593117f5908" + }, + "required_dependencies": [], + "size": 52425650, + "date_published": "2025-12-31T19:00:25.193Z" + }, { "type": "modrinth", "file_name": "tacz-1.20.1-1.1.7-hotfix.jar", @@ -15373,27 +15394,6 @@ "required_dependencies": [], "size": 52425650, "date_published": "2026-01-01T09:15:14.812661Z" - }, - { - "type": "curseforge", - "file_name": "tacz-1.20.1-1.1.7-hotfix.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7401/617/tacz-1.20.1-1.1.7-hotfix.jar", - "id": "7401617", - "parent_id": "1028108", - "hashes": { - "sha1": "7d4f578a42c9b880744ea6058a495847aac9e4c3", - "md5": "e91391b09e25ec5994c28593117f5908" - }, - "required_dependencies": [], - "size": 52425650, - "date_published": "2025-12-31T19:00:25.193Z" } ] }, From 5589332726c973734e2c0160e65dacb77d3f1518 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 16 Feb 2026 17:23:04 +0000 Subject: [PATCH 470/474] quest stuff, fix for gt 7.5.2 --- .../quests/chapters/questsstoneage.snbt | 38 +++++++++++++++---- .../quests/chapters/queststfc_tips.snbt | 9 +++++ .../quests/chapters/tips__tools.snbt | 13 ++++++- .../gtceu/material_modification.js | 1 + 4 files changed, 51 insertions(+), 10 deletions(-) diff --git a/config/ftbquests/quests/chapters/questsstoneage.snbt b/config/ftbquests/quests/chapters/questsstoneage.snbt index 8945bdddc..339a05078 100644 --- a/config/ftbquests/quests/chapters/questsstoneage.snbt +++ b/config/ftbquests/quests/chapters/questsstoneage.snbt @@ -32,14 +32,36 @@ } ] order_index: 0 - quest_links: [{ - id: "409385C6F6640BEA" - linked_quest: "427814F6E9386772" - shape: "gear" - size: 4.0d - x: 4.0d - y: 0.0d - }] + quest_links: [ + { + id: "409385C6F6640BEA" + linked_quest: "427814F6E9386772" + shape: "gear" + size: 4.0d + x: 4.0d + y: 0.0d + } + { + id: "66FB69B8381F5A01" + linked_quest: "67F40A90844EC0FC" + x: 8.0d + y: 2.0d + } + { + id: "78C8274E7CA78B12" + linked_quest: "509C064AA92FD78F" + shape: "heart" + x: 1.0d + y: 16.0d + } + { + id: "5E38676D9AD5336C" + linked_quest: "21C58B2541BFA2EE" + shape: "heart" + x: -1.5d + y: 16.0d + } + ] quests: [ { dependencies: ["427814F6E9386772"] diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index 01852da68..0690970a7 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -262,6 +262,7 @@ guide_page: "tfc:field_guide tfc:firmalife/beekeeping" icon: "firmalife:beeswax" id: "1071B804483BB882" + shape: "circle" subtitle: "{quests.tfg_tips.beekeeping.subtitle}" tasks: [{ id: "07A6195AEE51DAB7" @@ -627,6 +628,7 @@ guide_page: "tfc:field_guide tfc:mechanics/decay" icon: "minecraft:clock" id: "4047EE998BC4CD03" + shape: "circle" subtitle: "{quests.tfg_tips.preservation.subtitle}" tasks: [{ id: "29CDDE027CC8B84A" @@ -1239,6 +1241,7 @@ guide_page: "tfc:field_guide tfc:firmalife/greenhouse" icon: "firmalife:large_planter" id: "07FBA022050DA24A" + shape: "circle" subtitle: "{quests.tfg_tips.greenhouse.subtitle}" tasks: [{ id: "63D7E5FDBE2B66D5" @@ -1588,6 +1591,7 @@ } } id: "28333A7852497C4D" + shape: "circle" subtitle: "{quests.tfg_tips.status_effects.subtitle}" tasks: [{ id: "1F96808948B568A2" @@ -1757,7 +1761,9 @@ { dependencies: ["4AA0EBFBA5D8788C"] description: ["{quests.tfg_tips.beneath_prep.desc}"] + icon: "create:clipboard" id: "4A8910950F638BB5" + shape: "circle" subtitle: "{quests.tfg_tips.beneath_prep.subtitle}" tasks: [{ id: "2E029DE0398319F2" @@ -1859,6 +1865,7 @@ } } id: "098739E441CF565D" + shape: "circle" subtitle: "{quests.tfg_tips.beneath_clothes.subtitle}" tasks: [{ id: "70EF47E8FD504806" @@ -1887,7 +1894,9 @@ { dependencies: ["70DA01DFDAE54224"] description: ["{quests.tfg_tips.fuck_go_back.desc}"] + icon: "minecraft:ladder" id: "4FD6D93811DADCE4" + shape: "circle" subtitle: "{quests.tfg_tips.fuck_go_back.subtitle}" tasks: [{ id: "6D482B9189A97E0F" diff --git a/config/ftbquests/quests/chapters/tips__tools.snbt b/config/ftbquests/quests/chapters/tips__tools.snbt index 5f6ce1a06..ad66df862 100644 --- a/config/ftbquests/quests/chapters/tips__tools.snbt +++ b/config/ftbquests/quests/chapters/tips__tools.snbt @@ -2502,10 +2502,14 @@ y: 1.0d } { - dependencies: ["7FA5B6354A49C396"] + dependencies: [ + "7FA5B6354A49C396" + "560B17BFBE8D477D" + ] description: ["{quests.tfg_tips.first_sacks.desc}"] guide_page: "tfc:field_guide tfc:sns/leather_sack" id: "509C064AA92FD78F" + optional: true subtitle: "{quests.tfg_tips.first_sacks.subtitle}" tasks: [ { @@ -2581,6 +2585,7 @@ description: ["{quests.tfg_tips.special_sacks.desc}"] guide_page: "tfc:field_guide tfc:sns/ore_sack" id: "21C58B2541BFA2EE" + optional: true shape: "heart" subtitle: "{quests.tfg_tips.special_sacks.subtitle}" tasks: [ @@ -2643,10 +2648,14 @@ y: 5.0d } { - dependencies: ["7FA5B6354A49C396"] + dependencies: [ + "7FA5B6354A49C396" + "015E7A116CCD3191" + ] description: ["{quests.tfg_tips.straw_basket.desc}"] guide_page: "tfc:field_guide tfc:sns/straw_basket" id: "67F40A90844EC0FC" + optional: true subtitle: "{quests.tfg_tips.straw_basket.subtitle}" tasks: [{ id: "542549225517097C" diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 4efcece0b..8ad3e3213 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -355,6 +355,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.BlackSteel.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(6.5, 4.5, 1228, 3, metalTooling).build()); // Cast iron tools don't make sense but gregtech shits itself if they're missing, // so I'm just giving them terrible terrible stats + GTMaterials.Iron.getProperties().removeProperty(PropertyKey.TOOL) GTMaterials.Iron.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(2.5, 1.0, 20, 2, [GTToolType.PICKAXE]).build()); // Hide netherite too GTMaterials.Netherite.getProperty(PropertyKey.TOOL).removeTypes(metalTooling); From 057ce3103c537c4a77a6fb121b5b60ba6d0ac0b6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 16 Feb 2026 17:52:30 +0000 Subject: [PATCH 471/474] quests, remove new netherite tools --- CHANGELOG.md | 3 ++- config/ftbquests/quests/chapters/ore_processing.snbt | 4 ++-- kubejs/startup_scripts/gtceu/material_modification.js | 8 ++++++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e718866a2..df320dd82 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,11 +2,12 @@ ## Unreleased ### Changes +- GregTech updated to 7.5.2, see [its changelog](https://github.com/GregTechCEu/GregTech-Modern/releases/tag/v7.5.0-1.20.1) for more details +- Blaze burners no longer work outside of Earth @Mqrius @thederpysockdude123 - High Tier saws can Silk Harvest Ice (#3019) @Nebby1999 - Colored small vessels now have new textures backported from 1.21 TFC - The alloy smelter kaolin clay to powder recipe now uses a mold instead of a circuit (since steam machines don't have circuits) @Pyritie - Added more of Create's decorative stone blocks to the Domum whitelist -- Blaze burners no longer work outside of Earth @Mqrius @thederpysockdude123 - Drinkable alcohols can now be drank even when your hydration is full @Ujhik - The Strength effect is now exclusive to wines, but all wines also now have an additional effect! @Pyritie - Made deployers cheaper @Pyritie diff --git a/config/ftbquests/quests/chapters/ore_processing.snbt b/config/ftbquests/quests/chapters/ore_processing.snbt index 70381e51e..a26285505 100644 --- a/config/ftbquests/quests/chapters/ore_processing.snbt +++ b/config/ftbquests/quests/chapters/ore_processing.snbt @@ -1330,12 +1330,12 @@ id: "12C0BC3514FCEF96" subtitle: "{quests.ore_proc.gem_slurry.subtitle}" tasks: [{ - id: "57587D74BD9DA754" + id: "730EA57B64DE54C0" item: { Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "or(item(gtceu:crushed_ruby_ore)item(gtceu:crushed_sapphire_ore)item(gtceu:crushed_green_sapphire_ore))" + "ftbfiltersystem:filter": "or(item(gtceu:crushed_ruby_ore)item(gtceu:crushed_sapphire_ore)item(gtceu:crushed_green_sapphire_ore)item(gtceu:purified_ruby_ore)item(gtceu:purified_sapphire_ore)item(gtceu:purified_green_sapphire_ore))" } } title: "{quests.ore_proc.gem_slurry.task}" diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 8ad3e3213..705bf42c7 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -79,7 +79,11 @@ const registerGTCEuMaterialModification = (event) => { GTToolType.DRILL_IV, GTToolType.SCREWDRIVER, GTToolType.SCREWDRIVER_LV, + GTToolType.SCREWDRIVER_HV, + GTToolType.SCREWDRIVER_IV, GTToolType.CHAINSAW_LV, + GTToolType.CHAINSAW_HV, + GTToolType.CHAINSAW_IV, GTToolType.WRENCH, GTToolType.WRENCH_LV, GTToolType.WRENCH_HV, @@ -355,10 +359,10 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.BlackSteel.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(6.5, 4.5, 1228, 3, metalTooling).build()); // Cast iron tools don't make sense but gregtech shits itself if they're missing, // so I'm just giving them terrible terrible stats - GTMaterials.Iron.getProperties().removeProperty(PropertyKey.TOOL) + GTMaterials.Iron.getProperties().removeProperty(PropertyKey.TOOL); GTMaterials.Iron.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(2.5, 1.0, 20, 2, [GTToolType.PICKAXE]).build()); // Hide netherite too - GTMaterials.Netherite.getProperty(PropertyKey.TOOL).removeTypes(metalTooling); + GTMaterials.Netherite.getProperties().removeProperty(PropertyKey.TOOL); for (let material of GTCEuAPI.materialManager.getRegisteredMaterials()) { let toolProperty = material.getProperty(PropertyKey.TOOL); From 4fedc0c4efc8fb004b51a751e6e50be670eed1b7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 16 Feb 2026 18:08:33 +0000 Subject: [PATCH 472/474] revert spout change? --- kubejs/server_scripts/create/recipes.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 32997c063..7d822ceb1 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -316,14 +316,14 @@ const registerCreateRecipes = (event) => { ' A ', ' A ' ], { - A: '#forge:plates/rubber', + A: '#forge:foils/rubber', B: 'create:fluid_tank', C: '#forge:tools/wrenches', D: '#forge:tools/screwdrivers' }).id('tfg:create/shaped/spout') event.recipes.gtceu.assembler('create:spout') - .itemInputs('create:fluid_tank', '2x #forge:plates/rubber') + .itemInputs('create:fluid_tank', '2x #forge:foils/rubber') .itemOutputs('create:spout') .duration(50) .circuit(2) From 44987f1c22d2ae2448591c3348f7950a640de86a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 16 Feb 2026 18:36:05 +0000 Subject: [PATCH 473/474] 0.11.22 --- CHANGELOG.md | 5 + kubejs/assets/extendedae/lang/de_de.json | 187 +++++++++++++++++++++++ kubejs/assets/tfg/lang/en_us.json | 1 + pakku-lock.json | 46 +++--- 4 files changed, 216 insertions(+), 23 deletions(-) create mode 100644 kubejs/assets/extendedae/lang/de_de.json diff --git a/CHANGELOG.md b/CHANGELOG.md index df320dd82..22bf1cf5c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ ## Unreleased ### Changes +### Bug fixes +### Translation updates + +## [0.11.22] - 16-02-2026 +### Changes - GregTech updated to 7.5.2, see [its changelog](https://github.com/GregTechCEu/GregTech-Modern/releases/tag/v7.5.0-1.20.1) for more details - Blaze burners no longer work outside of Earth @Mqrius @thederpysockdude123 - High Tier saws can Silk Harvest Ice (#3019) @Nebby1999 diff --git a/kubejs/assets/extendedae/lang/de_de.json b/kubejs/assets/extendedae/lang/de_de.json new file mode 100644 index 000000000..a125ea50d --- /dev/null +++ b/kubejs/assets/extendedae/lang/de_de.json @@ -0,0 +1,187 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "itemGroup.epp": "Extended AE2", + "block.expatternprovider.ex_pattern_provider": "ME Erweiterter Vorlagenanbieter", + "block.expatternprovider.ex_interface": "ME Erweiterte Oberfläche", + "block.expatternprovider.wireless_connect": "ME Drahtloser Konnektor", + "block.expatternprovider.wireless_hub": "ME Drahtloser Knotenpunkt", + "block.expatternprovider.ingredient_buffer": "ME Zutatenzwischenspeicher", + "block.expatternprovider.ex_drive": "ME Erweitertes Laufwerk", + "block.expatternprovider.ex_molecular_assembler": "Erweiterter Molekularer Assembler", + "block.expatternprovider.ex_inscriber": "Erweiterter Gravierer", + "block.expatternprovider.ex_charger": "Erweitertes Ladegerät", + "block.expatternprovider.caner": "ME Caner", + "block.expatternprovider.ex_io_port": "ME Erweiteter IO-Anschluss", + "block.expatternprovider.fishbig": "Fishbig", + "block.expatternprovider.crystal_fixer": "Kristall Fixierbad", + "block.expatternprovider.ex_emc_interface": "ME Erweiterte Transmutationsoberfläche", + "block.expatternprovider.oversize_interface": "ME Übergroße Oberfläche", + "block.expatternprovider.assembler_matrix_frame": "Assembler Matrixrahmen", + "block.expatternprovider.assembler_matrix_wall": "Assembler Matrixwand", + "block.expatternprovider.assembler_matrix_glass": "Assembler Matrixglas", + "block.expatternprovider.assembler_matrix_pattern": "Assembler Matrix Vorlagenkern", + "block.expatternprovider.assembler_matrix_crafter": "Assembler Matrix Herstellungskern", + "block.expatternprovider.assembler_matrix_speed": "Assembler Matrix Geschwindigkeitskern", + "block.expatternprovider.circuit_cutter": "Schaltkreisschneider", + "block.expatternprovider.silicon_block": "Silikonblock", + "item.expatternprovider.ex_pattern_provider_part": "ME Erweiteter VorlagenanbieterE", + "item.expatternprovider.ex_interface_part": "ME Erweiterte Oberfläche", + "item.expatternprovider.pattern_provider_upgrade": "Vorlagenanbieter Verbesserung", + "item.expatternprovider.interface_upgrade": "Oberflächen Verbesserung", + "item.expatternprovider.io_bus_upgrade": "Einfuhr-/Ausfuhrbus Verbesserung", + "item.expatternprovider.infinity_cell_name": "ME Unendlichkeits %s Zelle", + "item.expatternprovider.infinity_cell": "ME Unendlichkeitszelle", + "item.expatternprovider.ex_export_bus_part": "ME Erweiteter Ausfuhrbus", + "item.expatternprovider.ex_import_bus_part": "ME Erweiteter Einfuhrbus", + "item.expatternprovider.ex_pattern_access_part": "ME Erweitertes Vorlagen Zugangsterminal", + "item.expatternprovider.pattern_terminal_upgrade": "Vorlagen Zugangsterminal Verbesserung", + "item.expatternprovider.me_packing_tape": "ME Verpackungsklebeband", + "item.expatternprovider.package": "Verpacktes Gerät", + "item.expatternprovider.wireless_tool": "ME Drahtlose Einrichtungskit", + "item.expatternprovider.drive_upgrade": "Laufwerk Verbesserung", + "item.expatternprovider.pattern_modifier": "Vorlagenmodifikator", + "item.expatternprovider.tag_storage_bus": "ME Tag Lagerbus", + "item.expatternprovider.tag_export_bus": "ME Tag Aufuhrbus", + "item.expatternprovider.threshold_level_emitter": "ME Schwellenwert Emitter", + "item.expatternprovider.mod_storage_bus": "ME Mod Lagerbus", + "item.expatternprovider.mod_export_bus": "ME Mod Ausfuhrbus", + "item.expatternprovider.active_formation_plane": "ME Aktive Formungsfläche", + "item.expatternprovider.precise_export_bus": "ME Präziser Ausfuhrbus", + "item.expatternprovider.wireless_ex_pat": "Drahtloses Erweiterte Vorlage Zugriffsterminal", + "item.expatternprovider.precise_storage_bus": "ME Präziser Lagerbus", + "item.expatternprovider.threshold_export_bus": "ME Schwellenwert Ausfuhrbus", + "item.expatternprovider.oversize_interface_part": "ME Übergroße Oberfläche", + "item.expatternprovider.ex_emc_interface_part": "ME Erweiterte Transmutationsoberfläche", + "item.expatternprovider.emc_interface_upgrade": "Transmutationsoberfläche Verbesserung", + "item.expatternprovider.ex_emc_export_bus_part": "ME Erweiterte Transmutation Ausfuhrus", + "item.expatternprovider.ex_emc_import_bus_part": "ME Erweiterte Transmutation Einfuhrbus", + "item.expatternprovider.emc_io_bus_upgrade": "Transmutation Einfuhr-/Ausfuhrbus Verbesserung", + "infinity.tooltip": "Es ist eine Unendlichkeitsquelle.", + "packaged_device.error.tooltip": "Ungültig", + "packaged_device.tooltip": "Gerät: %s", + "wireless.use.tooltip.01": "Klicke zum binden", + "wireless.use.tooltip.02": "Klicke auf ein anderes zum verbinden", + "wireless.tooltip": "Verbunden zu Konnektor bei X: %s, Y: %s, Z: %s", + "pattern.tooltip": "Drücke [%s] um die Vorlage einzusehen", + "gui.expatternprovider.ex_pattern_provider": "ME Erweiterter Vorlagenanbieter", + "gui.expatternprovider.ex_interface": "ME Erweiterte Oberfläche", + "gui.expatternprovider.ex_interface.config": "Konfig Seite %s", + "gui.expatternprovider.ex_interface.next": "Nächste Seite", + "gui.expatternprovider.ex_interface.pre": "Vorherige Seite", + "gui.expatternprovider.ex_export_bus_part": "ME Erweiteter Ausfuhrbus", + "gui.expatternprovider.ex_import_bus_part": "ME Erweiteter Einfuhrbus", + "gui.expatternprovider.ex_pattern_access_terminal": "ME Erweiterter Vorlagen Zugriffsterminal", + "gui.expatternprovider.ex_pattern_access_terminal.tooltip.01": "Suche nach Ausgabe oder Vorlagenanbieter Name.", + "gui.expatternprovider.ex_pattern_access_terminal.tooltip.02": "Suche nach Eingabe oder Vorlagenanbieter Name.", + "gui.expatternprovider.ex_pattern_access_terminal.tooltip.03": "Hebe den Vorlagenanbieter in der Welt hervor.", + "gui.expatternprovider.wireless_connect": "ME Drahtloser Konnektor", + "gui.expatternprovider.ingredient_buffer": "ME Zutatenzwischenspeicher", + "gui.expatternprovider.ex_drive": "ME Erweitertes Laufwerk", + "gui.expatternprovider.ex_molecular_assembler": "Erweiterter Molekularer Assembler", + "gui.expatternprovider.ex_molecular_assembler.next": "Nächste Herstellungsaufgabe", + "gui.expatternprovider.ex_molecular_assembler.pre": "Vorherige Herstellungsaufgabe", + "gui.expatternprovider.ex_molecular_assembler.number": "Herstellungsaufgabe %s", + "gui.expatternprovider.ex_inscriber": "Erweiterter Gravierer", + "gui.expatternprovider.ex_inscriber.next": "Nächste Gravierungsaufgabe", + "gui.expatternprovider.ex_inscriber.pre": "Vorherige Gravierungsaufgabe", + "gui.expatternprovider.ex_inscriber.number": "Gravierungsaufgabe %s", + "gui.expatternprovider.ex_inscriber.unstackable": "Stapel zu 1", + "gui.expatternprovider.ex_inscriber.stackable": "Stapel zu 64", + "gui.expatternprovider.pattern_modifier": "Vorlagenmodifikator (%s)", + "gui.expatternprovider.pattern_modifier.multiply": "Multiplizier-Modus", + "gui.expatternprovider.pattern_modifier.clone": "Klonen-Modus", + "gui.expatternprovider.pattern_modifier.target": "Ziele Auf Ausgewählte Vorlagen", + "gui.expatternprovider.pattern_modifier.blank": "Leere Vorlagen", + "gui.expatternprovider.pattern_modifier.change": "Modus Ändern", + "gui.expatternprovider.pattern_modifier.clear": "Leeren", + "gui.expatternprovider.pattern_modifier.replace": "Ersetzungs-Modus", + "gui.expatternprovider.pattern_modifier.replace_button": "Ersetzen", + "gui.expatternprovider.pattern_modifier.clone.desc": "Klone ausgewählte Vorlage", + "gui.expatternprovider.pattern_modifier.multi.desc": "Multipliziere die Eingabe- und Ausgabemenge um %s", + "gui.expatternprovider.pattern_modifier.div.desc": "Teile die Eingabe- und Ausgabemenge um %s", + "gui.expatternprovider.pattern_modifier.clear.desc": "Leere alle Vorlageninhalte und verwandle sie in Leere Vorlagen", + "gui.expatternprovider.precise_storage_bus.default": "Standart", + "gui.expatternprovider.precise_storage_bus.greater_equal": "Zeige Größer oder Gleich", + "gui.expatternprovider.precise_storage_bus.greater": "Zeige Größer", + "gui.expatternprovider.precise_storage_bus.equal": "Zeige Gleich", + "gui.expatternprovider.precise_storage_bus.less": "Zeige Kleiner", + "gui.expatternprovider.precise_storage_bus.less_equal": "Zeige Kleiner oder Gleich", + "gui.expatternprovider.tag_storage_bus": "Tag Lagerbus", + "gui.expatternprovider.tag_storage_bus.tooltip": "Füge Tag hier ein", + "gui.expatternprovider.tag_storage_bus.whitelist": "Whitelist Filter", + "gui.expatternprovider.tag_storage_bus.blacklist": "Blacklist Filter", + "gui.expatternprovider.tag_storage_bus.desc.01": "& = UND | = ODER", + "gui.expatternprovider.tag_storage_bus.desc.02": "^ = XODER", + "gui.expatternprovider.tag_storage_bus.desc.03": "() für Priorität * für Jokerzeichen", + "gui.expatternprovider.tag_export_bus": "ME Tag Ausfuhrbus", + "gui.expatternprovider.threshold_level_emitter": "ME Schwellenwert Emitter", + "gui.expatternprovider.threshold_level_emitter.upper": "Oberer Schwellenwert", + "gui.expatternprovider.threshold_level_emitter.lower": "Unterer Schwellenwert", + "gui.expatternprovider.renamer": "Umbenennen", + "gui.expatternprovider.renamer.desc": "Eigener Name", + "gui.expatternprovider.renamer.input": "Füge Name hier ein", + "gui.expatternprovider.mod_storage_bus": "ME Mod Lagerbus", + "gui.expatternprovider.mod_storage_bus.tooltip": "Füge Mod Name/Id hier ein", + "gui.expatternprovider.mod_export_bus": "ME Mod Ausfuhrbus", + "gui.expatternprovider.active_formation_plane": "ME Aktive Formungsfläche", + "gui.expatternprovider.oversize_interface": "ME Übergroße Oberfläche", + "gui.pattern_view.craft.substitute": "Substitut: %s", + "gui.pattern_view.craft.fluid_substitute": "Flüssigkeit Substitut: %s", + "gui.wireless_connect.status.unconnected": "Unverbunden", + "gui.wireless_connect.status.unconnected.desc": "Dieser Drahtlose Konnektor wurde nicht zu einem Konnektor verbunden.", + "gui.wireless_connect.status.working": "Funktioniert", + "gui.wireless_connect.status.working.desc": "Alles läuft super.", + "gui.wireless_connect.status.remote_error": "Entfernter Error", + "gui.wireless_connect.status.remote_error.desc": "Der verbundene Konnektor fehlt oder funktioniert nicht.", + "gui.wireless_connect.status.no_power": "Keine Energie", + "gui.wireless_connect.status.no_power.desc": "Dieser Drahtlose Konnektor braucht mehr Energie.", + "gui.wireless_connect.status": "Status: %s", + "gui.wireless_connect.power": "Energieverbrauch: %s AE/t", + "gui.wireless_connect.channel": "Kanal: %s/%s", + "gui.wireless_connect.remote": "Position X: %s, Y: %s, Z: %s", + "gui.wireless_connect.highlight.tooltip": "Hebe den Drahtlosen Konnektor in dieser Welt hervor.", + "gui.expatternprovider.caner": "ME Caner", + "gui.expatternprovider.caner.fill": "Füllen-Modus", + "gui.expatternprovider.caner.empty": "Leeren-Modus", + "gui.expatternprovider.precise_export_bus": "ME Präziser Ausfuhrbus", + "gui.expatternprovider.precise_export_bus.set_amount": "Benutze den mittleren Maus-Klick um die Anzahl festzulegen", + "gui.expatternprovider.ex_io_port": "ME Erweiterter IO-Anschluss", + "gui.expatternprovider.precise_storage_bus": "ME Präziser Lagerbus", + "gui.expatternprovider.threshold_export_bus": "ME Schwellenwert Ausfuhrbus", + "gui.expatternprovider.threshold_export_bus.greater": "Funktioniert wenn über dem Schwellenwert", + "gui.expatternprovider.threshold_export_bus.lower": "Funktioniert wenn unter dem Schwellenwert", + "gui.expatternprovider.ex_emc_interface": "ME Erweiterte Transmutationsoberfläche", + "gui.expatternprovider.ex_emc_export_bus_part": "ME Erweiterter Transmutationsausfuhrbus", + "gui.expatternprovider.ex_emc_import_bus_part": "ME Erweiterter Transmutationseinfuhrbus", + "gui.expatternprovider.assembler_matrix": "Assembler Matrix", + "gui.expatternprovider.assembler_matrix.tooltip": "Suche Vorlage", + "gui.expatternprovider.assembler_matrix.pattern": "Nimmt nur Herstellungsvorlagen an", + "gui.expatternprovider.assembler_matrix.threads": "Läuft Aufgaben: %s", + "gui.expatternprovider.assembler_matrix.cancel": "Stoppt alle Herstellungsaufgaben und gibt Zutaten zurück", + "gui.expatternprovider.circuit_cutter": "Schaltkreisschneider", + "gui.expatternprovider.tank_empty": "Leer", + "gui.expatternprovider.tank_amount": "%s mb / %s mb", + "gui.expatternprovider.wireless_hub": "ME Drahtloser Knotenpunkt", + "gui.wireless_hub.disconnect.tooltip": "Verbindung Trennen", + "gui.wireless_hub.empty_port.tooltip": "Verfügbarer Port", + "chat.ex_pattern_access_terminal.pos": "Der Vorlagenanbieter wird nun hervorgehoben bei: %s, Dim: %s (%s Blöcke entfernt)", + "chat.wireless_connect.out_of_range": "Die Drahtlose Knoten ist zu weit entfernt", + "chat.wireless_connect.self_reference": "Kann nicht zu sich selber verbunden werden", + "chat.wireless_connect.cross_dimension": "Der Drahtlose Konnektor muss in der gleichen Dimension sein", + "chat.wireless_connect.missing": "Der Drahtlose Konnektor fehlt", + "chat.wireless_connect.out_of_port": "Der Drahtlose Konnektor hat keine verfügbaren Ports", + "chat.wireless_connect.clear": "Die Einstellung ist geleert", + "chat.wireless_connect": "Verbunden zu X: %s, Y: %s, Z: %s", + "chat.wireless_bind": "Gebunden zu X: %s, Y: %s, Z: %s", + "chat.wireless.highlight": "Der Drahtlose Konnektor wird nun hervorgehoben bei: %s, Dim: %s (%s Blöcke entfernt)", + "chat.pattern_view.error": "Diese Vorlage wird nicht von ExtendedAE unterstützt, bitte melde es auf Github: %s", + "group.ex_io_bus_part": "ME Erweiterter Einfuhr-/Ausfuhrbus", + "group.ex_emc_io_bus_part": "ME Erweiterter Transmutationseinfuhr-/Ausfuhrbus", + "jade.wireless_connector.color": "Farbe: %s", + "jade.wireless_connector.used": "Verwendeter Kanal: %s", + "jade.crystal_chamber.progress": "Fortschritt: %s", + "config.jade.plugin_expatternprovider.jade_chamber": "ME Kristall Fixierbad", + "config.jade.plugin_expatternprovider.jade_wireless": "ME Drahtloser Konnektor Farbe", + "key.epp.viewpattern": "Siehe Vorlage", + "key.epp.category": "Extended AE" +} \ 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 9dc5e8440..135f46a5f 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1073,6 +1073,7 @@ "item.tfg.semiheavy_ammoniacal_water_bucket": "Semiheavy Ammoniacal Water Bucket", "item.tfg.harvest_basket": "Harvest Basket", "item.tfg.aluminium_harvest_basket": "Aluminium Harvest Basket", + "item.tfg.wood.lumber.bamboo": "Bamboo Lumber", "item.tfg.wood.lumber.aeronos": "Aeronos Lumber", "item.tfg.wood.lumber.strophar": "Strophar Lumber", "item.tfg.wood.lumber.glacian": "Glacian Lumber", diff --git a/pakku-lock.json b/pakku-lock.json index 4c1f8fa4f..038013c52 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -1488,7 +1488,7 @@ }, { "type": "modrinth", - "file_name": "baguettelib-1.20.1-Forge-1.1.5.jar", + "file_name": "baguettelib-1.20.1-Forge-1.1.6.jar", "mc_versions": [ "1.20.1" ], @@ -1496,16 +1496,16 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/OfKzpbRU/versions/lFRf3UUH/baguettelib-1.20.1-Forge-1.1.5.jar", - "id": "lFRf3UUH", + "url": "https://cdn.modrinth.com/data/OfKzpbRU/versions/vLbvKK04/baguettelib-1.20.1-Forge-1.1.6.jar", + "id": "vLbvKK04", "parent_id": "OfKzpbRU", "hashes": { - "sha512": "e5de5fea569e3ef00230b7f1638885424c00d7f3b9ac471682ceb667ee0f22776c05bce0b25c592a350e787861077e67ebcc067d4104f4b993d886aa4f31a6ed", - "sha1": "7aaab6216e7fc72e1606b1e35f1f56a18f01153f" + "sha512": "ef0b00bfee28289e709ddc8f13eae5be0e67d95908b55e4ba2445e7282d1eb97a88ee36a3a92e3c3f15787424ae8f53bf0fab371282157195679f6349f73da31", + "sha1": "8d3c9551bbed4c2f2e8cb2b9a10d31bad4edb52d" }, "required_dependencies": [], - "size": 31868, - "date_published": "2025-12-19T20:09:42.978615Z" + "size": 31898, + "date_published": "2026-02-12T14:03:37.429532Z" } ] }, @@ -14155,7 +14155,7 @@ "files": [ { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.21.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.22.jar", "mc_versions": [ "1.20.1" ], @@ -14164,23 +14164,23 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7601/125/TerraFirmaGreg-Core-Modern-0.8.21.jar", - "id": "7601125", + "url": "https://edge.forgecdn.net/files/7634/760/TerraFirmaGreg-Core-Modern-0.8.22.jar", + "id": "7634760", "parent_id": "513402", "hashes": { - "sha1": "aa5ce192eee7a877264b036c5ffd2da71bce2807", - "md5": "4ef9491380e2916b6c2008876aba2192" + "sha1": "64c1b73e7b957476a86a2e157f5ce0864ecb451d", + "md5": "c11e3d99365dc676cea56f395035a48b" }, "required_dependencies": [ "890405", "302973" ], - "size": 9631809, - "date_published": "2026-02-09T20:45:16.347Z" + "size": 9645381, + "date_published": "2026-02-16T17:49:27.007Z" }, { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.21.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.22.jar", "mc_versions": [ "1.20.1" ], @@ -14189,19 +14189,19 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/IoQCnHY3/TerraFirmaGreg-Core-Modern-0.8.21.jar", - "id": "IoQCnHY3", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/hU4wEdlf/TerraFirmaGreg-Core-Modern-0.8.22.jar", + "id": "hU4wEdlf", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "43af8080268115c1ee3bc36967d1f08cd1babc0f23f4d5bff1bfa3e9635169bf336da999ef185fc609fdd5a05b9e8a1d119699234780be6a4c64923f845b8db9", - "sha1": "aa5ce192eee7a877264b036c5ffd2da71bce2807" + "sha512": "f0f9f1523bce17e61c27d14803b8bbd75637d1c8752eeb22cd8b39ab111a3b36776df4691bcc684ebac3409f0b4c07432e790f04de1d900d2c9b90018129a969", + "sha1": "64c1b73e7b957476a86a2e157f5ce0864ecb451d" }, "required_dependencies": [ - "7tG215v7", - "JaCEZUhg" + "JaCEZUhg", + "7tG215v7" ], - "size": 9631809, - "date_published": "2026-02-09T20:45:23.561477Z" + "size": 9645381, + "date_published": "2026-02-16T17:49:32.292058Z" } ] }, From 2dead03f4391b7cd08d8bbfb2910337b2a1aff8e Mon Sep 17 00:00:00 2001 From: Mqrius Date: Tue, 17 Feb 2026 07:53:01 +0100 Subject: [PATCH 474/474] Workaround for server overrides sometimes not applying to serverpack exports. (#3088) * Add CI step to check if server-overrides were applied. * Delete dead config. * Revert "Add CI step to check if server-overrides were applied." This reverts commit eb4301716a96e135a342fa5c6722ec3972f69347. * Explicitly include clientside configs clientside only. Implicitly includes serverside config as normal --- pakku.json | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/pakku.json b/pakku.json index faf8a0638..456c1aa0b 100644 --- a/pakku.json +++ b/pakku.json @@ -10,22 +10,19 @@ "kubejs", "tacz", "!kubejs/probe/**", - "!kubejs/assets/**" + "!kubejs/assets/**", + "!defaultconfigs/tfc-server.toml", + "!config/ftbbackups2.json", + "!defaultconfigs/ftbranks/ranks.snbt" ], "server_overrides": [ - "forge-auto-install.txt", - "generate_auto_installation_file.bat", - "minecraft_server.jar", - "server.properties", - "server_starter.conf", - "server-icon.png", - "start_server.bat", - "README.md" - ], "client_overrides": [ "resourcepacks", - "kubejs/assets/**" + "kubejs/assets/**", + "defaultconfigs/tfc-server.toml", + "config/ftbbackups2.json", + "defaultconfigs/ftbranks/ranks.snbt" ], "projects": { "ambient-environment": {
  • {ZdVcPYBo?l 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

    ftLN?2?bE- zq3#n09bp7(iGs@vX!7a@@52F2_JD6o0tYO(v<7c~0u2IAPX?vd=6>j6oc?0a2?gL| z7eEJ~f}9LGt^hLSytyBASYCBKXjB?}ayQl}N68{!`@tO)P#+&O*bB0>8L~eYbapf- z<>5AKH^@`a_Q7O!w0>znXjmLtm_YAA0J#;a9Mn_;HTA$2G=s`SP%o|-{nm}@<&d5% z=mJXk*a2uK%xsjy;AYRRu5Jgb1h<&LtEIpjx)Fmf$Tj?QvG&>RpuK0atNUkzHY$Nm zqhJq4?4|?VOWqGU@)mUKAL`)mWHHdeW}uN;@VWf$(BpqVB_?Q4uD>6)zaLb!EJq)q z1MPDG5BU0)CdK;8=SyEbE&XI2udfQKnJHbJzrP&RrU!K>z@QIGELgv48B7WG;#-7DA?ZLzZeqk$m4G) zo&_D114q~dNy8vg=&7*x7|S_PoW5w?k&y&rrs0Hmz}>Qo`MEN~8GQWAa!`$v4H>V%o_;__;ey7RkhYG4 zk}T-3-RYneef{;IyDKMyR|!DsRY;e<8C;-(_HR!|?pq_Dwz z(5NYBne1ZF4j9n=LEu#ipjsbNLN~XwgTfzVEBF}hYETUcZlr)4Lg34Hz$0m(K4(9B zGw8@-NT~!JSqGIK&FyU9v<&WyfsT2a3^^hkDu>*(r0^K}^!ea@DX0tRHiM6kfsEio znq1&B`9Vn(bovRTkOD89ZU!HT1giOhwMu2hj*$#qwAnHA9&~%lGeag7`Sr-N*a)+CTL8y9&~XvxOain zOllTwpA8xs0u?>5o;x^WK}sr+r(q_5tJwB-_W7_=Ct)qC$?V`^C+O)8(3RtmQWUJe zAJjIVk9=5JfBWRc;Fb|6k3t$yu<lPGC;3SE%q!Oto0!o;mm;<>Jv#mgRT??-EPs0y2l>0q6g*V zlf{rx3+T}!1diC8e^?Y0nV^lm-~pWWcF>?Pc!7OCcnNTSKWJew@+v{lVnonP5hxXb zW??{Mhv3ivZD9uWUqFYeH-nDWL@GBhhT|tA-_Hqcf`CTf`rFIf=Y#tvpiTj3;ukd8 z0U85`mI|P?^q@omie%9EC8(7KNUD-#+oB`P>TcOba)Y=EN12}uK zD7Xd%Ro-ZQZjkdqfik&&HhXq8s8<0len86xKuz9iPzeTVN`g`|XaEsWXSai*7!(4q z2}Do;K-N}+jvN3tEWwjtll$wz^Tx;xhRL9<&EQA_Ukwj326>GJQiy|UPmoJMIXN4? zGXxY5;834j-@h6(9*Ar>XnzKxpOcK3)&iZa4j!d}bgq!I)cktUcE|xwNd5vj5EMZ0 zR0?X&p{(7RE>^vIHpp&JR{^?u3%Yj|v2wrX;0Y(FeW1xNP;n1R z{a`ymu>x@bD0IMyAJkEu4sLjXR$YTCPEg|!e0VqN?*HxJ0Y|V2pcTcS;s%^wK$Q-- zvTAP!ulxelo1nf-GdP2R(==!&GNd^Q+ByW@mtQ{}ln9Xz3_y<`P!R;FZjp-`&?Z0V zE;-P3Kh5oI#fZ3A4r!i(n@O-9I%u2CA`b`Jf^U zR;YotJ7FHGzZi5{Y&&RPtR1`_0vx%Z0dx=s=S$SV0i+TWv~6fPP-y^P5CF<8phgZz0>-Wf9Ynp|xf zfr4Q&y#L=m8I+a5g(OG~Kd5X0EeZvdHIQS#K*8ESzdw8ObjZ0PpuQI2TQ(pU z%7VIi$g?k?006fX!SysacYtyWr~v?Kn1Ut@pofBiyao#R_SK+MqCvF;NS$GJf4lY@E9x!BEXAYL5>3L$^q4zpe7$^vItZ%gIcup;HUr{ z3;`~lK}(?PL8Awtz7yzFXF^N$!Pn=p&jyWFg9as`r4u`-CTy=~LmDre4cW4UIVsB zL8>^A29OqmOLS=G89HDA?j$2;nErOra?mz<(Bg%D$VQlU(2=0vx*Oc?09V}opwkDk zr!NN|7TZ3*AH7cqO4^{QX|eM5>~>IL2P*3pgSA596qM}2>3ucmfR*L*VaF)3gXWdy zgU8T8iyGM4!GoSiXWp-_M>)0}T+>5O8ZAc|1_ZToK-b_cZqIK9wHQH{#ZPVq4}bTA zx~J9cv-_vFgI2AA@?t$`cL6(SiUzb$Z#H{4Vw??a!V%Pd2c0j_4jR2d3{iqQ>ENCn zG=YF-d_Y+Z9B}>1L91>+8;!x39n{7~N&&F82WkTVGJ*!_>On}5)u5Tk=6=wrWT4Uk zgh7Q0Bv2RkPu>o)4_vOcPX{MO(EZ3b`Vq6i69>!N`&WY$fCfVQXNw}8yaZ~{ffj-H zi8fHWPD65(v{ggw%} zTj<0(C_R?9v*phQHTglc5%_RG(3UFD%I3|7ML{EdldBQs)nZT|c5-|FdeFx9`H*=s zXkWG*)LZC>x9E{<2aO|v#ytDMlak3uy%p#|ZV-ubG0+hWpng$(GaIN}fS%>FxVapZ zj=^ac?t4fZ8kB}W9XL?M0cyQMQvoPoz@rl2BsU*iT(pB~LU8{FCA}i02h7et*O9S+*i2Ff9z{yxMC&`w532>|Mu zwdc3DHVb|1EehW-_QT2b#|X zMH^(r1Ss}FqqaEPlA!Vw6hok+sS))UiZ>yd57eM#fgFC{o@iWL$P~>I|Qd$62y3O#J z?fLzXo5!HJAC#!UC1Cqvv}08uYbU`u7&N*9D(n`6Tsj?g?g3~J6`VvtEi$A61?_6r z>HWo!c1bhXmD7>00i9kf3QbGw%R%GQpgaz$9Ux2R&`xQrPY2z14C!isLkm*WgBC}D zG81UsW`8~CPy_JnCAc8~GH)`t$ZZCn2nHEC1XU%l<{na!hB`zKntMVSum`nzKr>(% zg0OVl-X9NICjiP&2n;G&!9fkm&=6;W3K({<{h+`{#yAv%My)|RtUyV-AG87qv|Sa{ z80hcs2knOhjhlliZO}Ls@`dT>JuQ?LENBiI+&}|$l0oSR6qTUPFX-Y;_(Lj>us1!RycK!QD@A#DE5%Fn23JN*z!*u!9a&0;f8Zk)g?;*+S418)(N4 zsDuRv9DEncd{Ac@Jm?0g330WY*Fy%&(FO}3P0Qwb@U(0@3#iBf)m7kzBzUfB^7MAl zy$0Z%4{NJH5-unxC8eR!O3)Te{uip`G|%Sdoy^64ARj0V(><@YVR5;>7vE-?s9^QJ#hL1hblbl zg7knoneDSdt!tI=~u046s+g1k?o}ji9m=ECzEbXv74Z^*}WtXt@>0 z3S?)YwWL8OGxUS%JaC+Vk_E^v(0~nOB@o=HpuM)B1`RkMLF(F@!I!t>w}bYRfqKuN z%!ax<6Wpt+XG2OYXz|z&Sz89`ctHwVa4Q8A%AgSfP>6$U0+%45B-CFI8j}PKk$_q+ zpdKFBv0!!JZ~}FLK)n%I9)r-}y?5Y36118Mk*$ee4h_oF(8E)}4uix1I0b{MNp{d6 zGT7;$vL8C^i$sAU6yy=`U40?bfWxxX1a z+66i&9=R5r4{3NHg)rpa14#Zy8%WKEZ#4z&fQGmioJ*U_m(Q<8@5h2h^^npyB%h-# zi0v1H9(e|u$;Y~?0F)C!NekrT>CK>4CU}k+bT}8NG>4A{fv40#`&K~VRNW66ZU9e9 zg0?Pz);5BAI-qJ8>}pV2Xa@xn_#k7PBa8EkMa#h@Z2$b`{>7ly5PLIt_!!iOgD(C> zt}16Yi`Flmj(k@KBrqXo+(1hTXj2m8R8Y$nv{wLJ(1Y`NJ@^z0P^JVIp`gqI+NS|J znh(@j&+lK|4myYx<+3euSCN8`O#m${2anA`t|$f{q7V;Sw2D|?3Oei)bbu?Uu>mgf zKv4l+R|M{&_Jht*f~*|`l~Uls1hj{7GHAjEq!g6kK|Vq{2^Oh2I2n|kK-mM7B_Jaa zkZKS#HwfvLffh6&j0}bzi0tl4D!3TSQ1VAk^aMl71i-XR~2c>-Q z9dw{v4_c`ND*3=A4ro9M)Q?AAaRE7|2Q&x?au&pL*j`{z*#N40!T05Y8%)UYk5u1) zE)H4`imPbUN*{E03^e6T?*~nefi@J^&jzJTP^+gM+!h0!w~!9GZ5EupKpukl5|m;< zUTba#jfAXkPY2!D25P8)QZ%UL4NBhZ{r&SnbD{l{!DB!Di17`uS3%84aEb$kFgVqL zM>G3D6D2saA*cflz5osslc234>%luC!EOd815g(cG-*8_<^Ck35J4-sLGcb5*(nBj z59EGu+=1c>QjdZ{AJpprmFCmugZmz!&M7E?wKumfM~rL2hMoGsO~2Xg)u3fY;FQM> zI?KMi9lYufR;eMi`%$VgP`YXdpM(M)um?E?GH?tkZ^4#==Ec~Nw`YLtX$N1-0p42z zNw=U7tq19x3>r-WH3>myqk>i;f!YyJEhr5~P(d^qbmJQ&G(jPWywD$a7-Fp01eb`Q z@*dpS1qEP#e?F*o0FRx42E33)%Zk}SC)hzUe?MpoG^lk0Zb*SD#`bFPdT>~%AvprN z>>BH_RgmRDu#Ow3Cwy(1&T<+^N{o1AcMHzvH)IugLXH8+m7I5)nDDtHhH!v5(TOp>Z_YUH_~TA zT4dn#3|mV9PEL@hDPImNl|T~)pfm=VIRa${(8@W`xF(MB1uZvCNA5R6+S0H#1867& z+z$k`6i}O2iXt; zas)K12TBT{q7;-Z)BE>>3wzKU1=w|<&;TWo>Fgk7U?+i`1F3o;NB2gqpmGpY5`!Dbum(CbfFHE3N5DCK}X4vHvH(;h;D=JP;jy|wp)##}&-2bCV6{sL%!5OTsr%CIP9 z?qtwl8)7&JGD{0DJwRJkK`Zo757b;QRt-)Vp#B7?+(6neGaWp921-egnh&&;9F*Wd zdv-zY2Za+jN`1N$M@5rDe>N!YKp6%!d<&vMmj-}aNgywQ+yv4!xqUKdoi@lV zpl%3A3htQ6pgWmCGN6zHhX*Kz33d->SBrwq_yCy>F{;0RI(Vlmc&pRu_H4wY^77@= z!Rzdh&WSIh1gD?l)#cNxLEBtF7YR&mub({~yjlQO;Y|nc<%aG*fsSfHd59@Uv?6gf zbQ?E#b7?>5rdLqP19eQntv68np&c|bSzQbo#D^q8(4Gp=aR{L1C^Y<`LZIMY47!yV zRN8^6L2xM!T678O7JwE-fjkciXmE=mzZkx#5n4lM!)H%GnGSUPO8;z7?*THz4vJb( zbqL-n1S*DM0-yL0KDg{mcCJ{@MBci|2#dEX}A362Qlt zLQ7K6WqF`ZAf!I(hg4ChMQ}N2stNtJOh{G$rBP6Q1Zr+WmH~nG{(?jx)hTGf9w=dh z0u8kGrXO^NCaBN>A6x*A;&wK0mlBkKLB4HgLz*lCEh?yQo?M+g8`Nk5HQGSQ2o(FE z!F5PZ0hP%hXMpH~65#cF^H5^|R|ix37Q>*(nDv#01S!L9WG~ zjv5KeA&nX6P!@7u3pIA;gU&z&J0Id*P)IHZjU$120gy%%gal=wX3$BKpsojMNdq2~ z1FiM~Eg=L&czb(3s7DA|!2>RjKxq_IWq`*eAbUqZu?AjyxEwmh1X_>)2{F(RAHuY7 zP~Q;JRRQ^_xt$HEs8}rqYIA@p3s4CR#$dmISLuS{6Kp-GWS-m)z9SRl67XtWP-AQI za!`{2QRsp47zl$kK@9`dav-;Y4%h(|-Y5-Xq>_1ly(nnBx19w+g1Srf<)Gns=<-WY z41}9+en4X}plAV&DuDVOAY1!E z2ONVkIVkgk3tjN4UQpS@4oYXB^b9VH`oV<{sQ(0NsDZSCk~63#0u?5pmL^iAhF)PH zujZ(4M>=s3+HCSmJb zeKoQ>klLz~+eMQ>>xRH9dqDXWbo3EuX(?#Z2(;S*lwm-*3^c$B>6C+-hy9?Ny%(2* zx6ZY%2JiR;P2W!jrxe8gJuUR5HYzQzNrIgl@d}k%x)G<2Rjs82ZJiw>7cfJGU%-I_SusmgMN!a^Sg*}1`UdV zQZw{m1W+9hihocM0*Z9hVi9s{E~wH0$%CT+)VKqcIiQ*q9C#oC;s|1913(kh)4@CP zL6sq>MGje))Zbq}c{+495Ok1vbvtNe2E48bDTgAJR9;y$JK=Y8`SOedi4$d{Oaag2rXwWhbP=W%L zZPUSN1#xb}YREd@cE}hRbOjh{F$1o%Kt5~lpA5Rr7(5CBp2h;5V*n~g+CjJAf?5}# zCNij`122xN2K8ztx6iHyHL5`A3Zi*7@>x1)xftxyW;X230F4-eHu+C)Z!QL<6Hw*> z7095a6=3gyLjrVMHmF4fS{VT+7EQ{AZP>eRF?1cy&3bwuY|ZgU(BWQx2#C0Ocdl6fG#ffVx=VaO&@e7H6OZ9iWaS zsGJ9%F#!oNQ0RaZf=;2TZwKwATHcP{oxmGXpv;Ut&Q^o>2UUZ1PoP(l;2;AP82yV^ zgU+Dr2lc{GIz^B(MnFrU+S}O>Nfy-H10`k13P9)rzG~2oHQ*QlMFaa}&}}ZD>&QTU z17#Pm|0c87L!0)H7y_jl@cb}1+Ms=in=ya5>m>UV;MM?hu6kYn5X zCl`aSk%JbhAm@OFy+AWbpf!=r?Te@P*UxV+2X}5KgHM%#G@_BZ0!VR+mTN&ZYdNSz zG#S+5hu43Q20b_sz(EL(HPBjl&~i9XH4kzIIK6=a7wlMYYE^KM zfz}`)&HW?R0zp?&Li--z0u-^#091B@%Lq`^fQD#5$qYO#1&dJ7fDY(-W@u*vx+4xW z^#f|#L3{wpZlIwhoCWLbYSH}l@V(`jODe%Og3JPKkOU`L)UlxKeo(mwY8!%91ogLr z*3E%Bmi3^eDqsxicY}ij6hfdA4MAHSi$S9|^`Oyuc2HsfEpe}J2k&Zy1sPJ228t>0 zU@3U<7idfyIt2?dv7ddjSUKph6;KTV>M%|QRdeN_JKm8uMWLM+xmpaorV-qj0jG6P z7k_d;sKp6#4=Cor5f2&@1w}ZhDhGuED84}<+z%NiLs}UH>iFPY8Pz-=a^MTZ7Es3x zx(W*W5bkEk8PSl$Q7i_j)TV>(+5?>+gmp_YsH*{<6#^A7pl}4|B2d=>e1#?CLUWMU zK;p&ypji>ndF3EK!f|{1Y)}tjdOx_^(T{vg4_f|#E{}&e5JG}0I#443GTH%IR4}`} zx_&ljUk7;QBFePahcmUJH3KHY+eOfoEugBd7->uaZFfg= zd;9wS_R0CnK`Z{|&+f<8`9x}&A(b7A!J}m0WBZW{UC_S4b{to%)Hw7tXgkp$X%*Bj0hffJ ztPe_Mpa=(TpavDV{h)(#-WLlnT_G1l_#^I*b^SRKRrysH}ruNej*h z;KkGs73|)%$gKYU^`OJAKw~%HN#kOW#bAla&FlNK``7n_k`H3?cY3>M{p{vu@Teci3ERXG0xy#MV}7-weGTw!Iv5Z&mYTa90qV)cV;$ zkpm6@(8zXwd-HTq*$ruzfCCv4Mj%z-m}>`(mVmcj_9O3a1QpkyY93Tifz$V7(ETCs z3br40ZWOW}gB>)?FdKB=63V@7P<8<=CtQAQt;_AEl~)q!-MQFnoZ*5B6G_fLkLEd@Fz7345b%NjPn0lJtFlt|k_OAo-O zr-Rc!ILCo9F=#n3Xml1-uY=pRpgDDrEZ6|hfELJ^AOWxn5ThM*_y}k+2V^cdb|I}7 zl*T-$C;*i^cox8c29iNDnV?2Ve|vvDcyj@?)&nI=P@x0q`GHb?JE&z+&JGGeP%mP6 zb$g8V!g6f~fc2%1?yIR`Y<28zq=&?*i*#tQ0)w1d|Jf+7e~yntF2 z(01G8YDhy1RP0TMw9cUo9&n+~jub3t6(YDm1cmbUe)Ory>Gj~VL_nbg2_R6PAG9|I zl&Qhx2gK!I1)#hFI^Yt#&2}(_1c}U3!@-2u9+Jb<3=LaazpnXDU-w(WN3uGXu zB7xih32MrM9RV7%=x>J%S)eh4nBN_ zy%=-~<#cfQ3hEhcKP=kZ+z&cx3F1dk+5`<8g4V)70su6^0Fnb$5g@Nadmo^9=w(Nw zgUU?sv>7NbfIAGJUTQl0-XqAYEw~(-4(^WEqwMcQ3LVgbYVdq8D1bqp0XZ48793Fk zgC~N)r)IUcPhO2W5dtcZK!tZRo=b;k_vg=E4(j@X=7=V@w?h_$gX{veHBe`xNw^w&TQ zd9W#cxO{nen7e0F^`xGn)5tqa;b13mW#)ZPaTse{4@)>dLqN8HCu`{{@8;NB~5GW|yFTn_Uk%xC2zYg4_ztFp#PUbX^(fC@)Z|n~$eUhTJrs4L)Wc zk_KTtP*C`QatEk$(?5AOG^v5w!JuNZ9qBA5M47!Aa&%`gq?ra?umibv2f5)3YD?ld z>Irm4EqLWMZ0sLYl7WY}!A;_7aPM|KXi^I_mIzut3*I9R3JGxZLdpVg+)wUr#?$r% z#VE9+uo`?rIw+h$w`s?tv^7BGYjZo>^vU3Bp!1;vagb?3NFNZ~2SYw>6={ZXcD*QK z%`1{P=+gAb{jg(L!7EI_IchOzPaY&qf}$QY{S1z0&}1FheITN}AGD1UlwKeuDOd%F zSr1umgWSex2enyNgPPaiMhi$OsH_6#9dJ{OG58Q+&?1Ru@Rco#L4D2qcF6h0NWC!7`pn7o&E=DkiudN}lR?uY5GR06^9je? z&I9iMfO_Sicn9Uu>7aE}kcKpkn=;1i&=37X~_$0d$%Qs0;-U`+>LfgEJS% zWJuZo75n|{)3d?dG0-_o&FzrmVnO*9G|U8Qoq}3bm+hcq8nPpwRLgmfiHLlBNgH9g?835|@fwaw@4mmLdWqkp- z@dr-tpxHOra58ul7bH3#lr=yNZE%ODxxb%%KBRdIN?_3Gy4lFrqLLdZ^Fe#gLAf22 z5hk<4_E|xAlf|mDA=MQqhr-)|;O-p7`)C0WFaWLKu5oT zmS#cB0`*&_PX}Er1}DS8l@qwI12q~agGXOxLnfS{R66J=Pw<%npmPPLgFFc`8g%k` zGRm3_=pqkrvl4cXH+Zvte{=uz`g+i|14yj~IlB_%SWw)7c1VMkN5G2p$)NEA_;4a< zToZLw)a+((#e*38$J{j!Kji~d(1YCr$#u)~`